一、准备工作
准备一台物理机或者虚拟机:Ubuntu16.0.4
已经更新了aliyun的source
cpu支持虚拟化
关闭防火墙
二、安装步骤
2.1:下载opennebula repo源
wget -q -O- http://downloads.opennebula.org/repo/Debian/repo.key | apt-key add -
2.2:将下载的opennebula repo源存放到apt的source清单中
echo "deb http://downloads.opennebula.org/repo/5.2/Ubuntu/16.04 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
2.3:更新系统
apt-get update
2.4:开始安装OpenNebula Node
sudo apt-get install opennebula-node
执行安装命令后,需要输入y表示同意给Node节点这些使用空间,然后安装继续
稍等片刻,基于网络可能会有少许的等待,等待出现下面的完成界面则说明OpenNebula Node节点安装成功
安装完成以后,就可以启动Node的节点服务了,Ubuntu中使用如下的命令
sudo service libvirt-bin restart
其他的系统可能会有所不同,这里给出官方文档的一些定义如下,如CenOS/RHEL
如果是Debian/Ubuntu则是下面的情况
三、在OpenNebula Front-end注册Node节点
截止目前,OpenNebula的Front-end和Node都已经安装成功了,我们知道Front-end里面集成了SunStone的服务,而且它有自己的管理界面,下面我们就来操作如何通过OpenNebula的图形化服务把Node节点添加进去
3.1:准备工作:打通Front-end和Node节点之间的SSH免密服务
这一点是必须的,官网也给出了解释
操作步骤如下:
(1):修改所有Front-end和Node节点主机的hosts,修改如下
(2):登录Front-end 主机,切换到oneadmin用户(su - oneadmin)执行ssh-keyscan命令搜集所有host主机的公钥
语法: ssh-keyscan <frontend> <node1> <node2> <node3> ... >> /var/lib/one/.ssh/known_hosts
我的环境的话就是下面的命令:
ssh-keyscan KingServer3 KingServer4 >> /var/lib/one/.ssh/known_hosts
如下图所示,则表示成功获取到了命令行中所有主机的秘钥信息
查看/var/lib/one/.ssh 下已经生成了存放所有主机公钥的known_hosts文件
(3)接着把Front-end主机的.ssh文件夹copy到所有的node主机,这个操作官方文档也是有的,如下图所示
具体在KingServer操作如下:
root@KingServer3:/var/lib/one/.ssh# scp -rp /var/lib/one/.ssh KingServer4:/var/lib/one/
如果有多台node节点的机器比如 KingServer5也是 OpenNebula的一个Node几点则需要再次执行一次上面的命令到KingServer5
(5)最终实现切换到oneadmin用户下,所有主机之间可以免密SSH登录,如下图所示,中间的过程不需要密码
3.2:在OpenNebula Front-end把所有的Node节点添加进去
(1):添加集群
登录管理界面-集群-添加一个KingCluster集群(此步骤可省略-为了区分业务逻辑建议创建)
(2):添加Node节点
进入左侧菜单 点击主机+号进行添加主机(这里一定要填入主机的hostname,因为是靠主机名进行SSH通信的)
继续上面的操作把所有的Node节点都加进去,添加完成后如下图所示,添加主机后的几十秒主机的状态会发生变化,如果为启用(on)状态则说明添加正常
如果主机的状态显示为错误(err),官方也给出了说明,可以查看的日志如下图所示
If the host turns to err state instead of on, check the /var/log/one/oned.log. Chances are it’s a problem with the SSH!
四、总结
1:所有的Front-end和Node节点都必须安装KVM,似乎OpenNebula Node节点以及包含了KVM了,Server端即Front-end端如果即作为服务节点也要作为客户端节点那么必须在Front端同时安装server和node即是:在服务节点就是Front-end这里也要执行sudo apt-get install opennebula-node
2:也可以通过命令行来执行相关命令,需要在Front-end主机上,如下图
如图,我的OpenNebula中主机的列表是:
截止到这里,成功安装OpenNebula Node 和把Node注册到OpenNebula Front-end中已经完成了