在CentOS 7上安装OpenNebula KVM节点
欢迎使用我们的有关在CentOS 7上安装OpenNebula KVM节点的指南。我们的上一篇文章介绍了在CentOS 7上安装OpenNebula前端的完整步骤。在继续之前,我们应该具有可用的OpenNebula前端服务器,因为本指南将集中于添加KVM。由OpenNebula前端服务器管理的管理程序。
KVM(基于内核的虚拟机)是OpenNebulasOpen Cloud Architecture的管理程序。 KVM是用于Linux的完整虚拟化系统。它提供了完整的虚拟化,其中每个虚拟机都与自己的虚拟化硬件进行交互。
CentOS 7上的OpenNebula KVM节点安装-要求
主机将需要具有Intel VTorAMDs AMD-Vfeatures的CPU,以支持虚拟化。 KVM准备使用KVMguide将澄清我们对硬件是否支持KVM的任何疑问。
OpenNebula KVM节点安装准备
在安装软件包和启动所需的服务之前,需要确保已做好几件事。
禁用SELinux:
OpenNebula在SELinux强制模式下不能很好地工作。让我们禁用它。
setenforce 0 sed -i 's/(^SELINUX=).*/SELINUX=disabled/' /etc/selinux/config cat /etc/selinux/config
添加OpenNebula和epel存储库
运行以下命令以在CentOS 7上添加epel和OpenNebula存储库。
$sudo su # yum -y install epel-release # cat << EOT > /etc/yum.repos.d/opennebula.repo [opennebula] name=opennebula baseurl=https://downloads.opennebula.org/repo/5.4/CentOS/7/x86_64 enabled=1 gpgkey=https://downloads.opennebula.org/repo/repo.key gpgcheck=1 EOT
安装时,请检查OpenNebula的最新版本。撰写本文时,最新版本为5.4.
做系统更新:
$sudo makecache fast $sudo yum -y update $sudo systemctl reboot
.安装软件
执行以下命令以安装节点软件包并重新启动libvirt以使用OpenNebula提供的配置文件:
# yum install opennebula-node-kvm # rpm -qi opennebula-node-kvm Name : opennebula-node-kvm Version : 5.4.6 Release : 1 Architecture: x86_64 Install Date: Thu 08 Mar 2016 09:00:21 AM EST Group : System Size : 327 License : Apache Signature : RSA/SHA1, Tue 23 Jan 2016 01:17:21 PM EST, Key ID 592f7f0585e16ebf Source RPM : opennebula-5.4.6-1.src.rpm Build Date : Tue 23 Jan 2016 01:17:05 PM EST Build Host : centos7-centos7-5.4.6-fc9cb760-9194fbe0.build Relocations : (not relocatable) Packager : OpenNebula Team <theitroad@localhost> URL : http://opennebula.org Summary : Configures an OpenNebula node providing kvm Description : Configures an OpenNebula node providing kvm.
我们应该将这些行放在/etc/libvirt/libvirtd.conf下,以便oneadmin与KVM一起正常工作。
unix_sock_group = "oneadmin" unix_sock_rw_perms = "0777"
进行更改时,请始终重新启动libvirtd。
# systemctl restart libvirtd
配置无密码SSH
OpenNebula前端使用SSH连接到虚拟机监控程序主机。我们必须将所有计算机上的用户oneadmin的公钥分发到所有计算机上的文件/var/lib/one/.ssh/authorized_keys中。生成并填充authorized_keys。我们需要创建一个known_hosts文件并将其同步到节点。要创建known_hosts文件,我们必须在前端中以用户oneadmin的身份执行以下命令,并将所有节点名称和前端名称作为参数:
# su - oneadmin $ ssh-keyscan <frontend> <node1> <node2> ... >> /var/lib/one/.ssh/known_hosts
现在我们需要将目录/var/lib/one/.ssh复制到所有节点。我们可以在所有节点上重置oneadmin用户的密码。
# passwd oneadmin
然后在前端节点上运行
$ scp -rp /var/lib/one/.ssh <node1>:/var/lib/one/ $scp -rp /var/lib/one/.ssh <node2>:/var/lib/one/
从前端测试ssh,不应提示我们输入密码
$ssh <node1> $ssh <frontend>
配置主机网络
OpenNebula前端守护程序需要网络连接来访问主机,以管理和监视主机以及传输镜像文件。强烈建议使用专用网络进行管理。
OpenNebula支持四种不同的联网模式:桥接。虚拟机直接连接到虚拟机管理程序中的现有网桥。可以将该模式配置为使用安全组和网络隔离。虚拟网络是通过802.1Q VLAN标记VXLAN实现的。虚拟网络使用依赖于UDP封装和IP多播的VXLAN协议来实现VLAN。打开vSwitch。与VLAN模式类似,但使用的是openvswitch而不是Linux网桥。
链接上提供了每个文件的文档。我的设置使用桥接网络。我在计算主机上有三个桥接器,用于存储,专用网络和公共数据。
有关存储配置,请访问Open Cloud Storage
将主机添加到OpenNebula
最后一步是向OpenNebula添加主机。该节点已在OpenNebula前端上注册,以便OpenNebula可以在其上启动VM。可以在CLI或者Sunstone图形用户界面中完成此步骤。只需遵循一种方法,而不要同时遵循两种方法,因为它们可以实现相同的效果。
通过Sunstone添加主机
打开Sunstone>基础结构->主机。单击+按钮。为类型字段选择KVM。
在主机名字段中填写节点的fqdn或者IP地址。
返回主机部分,并确认其处于ON状态。
如果主机转向err状态而不是on检查。/var/log/one/oned.log SSH可能是问题所在!
通过CLI添加主机
要将节点添加到云,请在前端以" oneadmin"身份运行此命令:
$onehost create <node01> -i kvm -v kvm $onehost list ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT 1 localhost default 0 - - init # After some time - around 2 minutes $onehost list ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT 0 192.168.70.82 default 0 0/1600 (0%) 0K/94.2G (0%) on