小编给大家分享一下kilo版openstack如何实现云主机动态热迁移,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比丹江口网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式丹江口网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖丹江口地区。费用合理售后完善,10余年实体公司更值得信赖。
一、背景
kilo版本的openstack,后台存储使用的ceph
修改配置前
以admin的身份登录dashboard,进行实例热迁移的操作,迁移test1实例
虽然显示正在迁移,但是过了一小会发现机器还是属于bdc216,并没有迁移成功。
二、修改配置
test1的id为:
2907c778-3e30-4012-ab2c-ab43dcca1ea0
进入216机器找到test1的配置文件目录:
# cd /var/lib/nova/instances/ [root@bdc216 instances]# ls 0a287498-27a9-4755-ac70-afb4d6c0151b 2907c778-3e30-4012-ab2c-ab43dcca1ea0 _base compute_nodes locks
以实例id作为目录,进入改目录
# cd 2907c778-3e30-4012-ab2c-ab43dcca1ea0/ # ls console.log libvirt.xml
里面放了该实例的配置文件,其实就是kvm的xml配置文件
2.1 迁移条件
OpenStack 调用底层的 libvirt 来完成动态迁移。虚拟机的迁移,其实就是数据的转移。libvirt 提供了隧道化的数据传输(libvirt tunnelled transport)方式来完成数据转移。
检查两台计算节点
216和218之间的传输通道是否连通
在216上执行:
# virsh -c qemu+tcp://bdc218/system error: failed to connect to the hypervisor error: unable to connect to server at 'bdc218:16509': Connection refused
发现并不连通。
修改libvirt的配置文件
# vi /etc/sysconfig/libvirtd 放开注释 LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf LIBVIRTD_ARGS="--listen"
修改/etc/libvirt/libvirtd.conf
# vi /etc/libvirt/libvirtd.conf listen_tls = 0 listen_tcp = 1 tcp_port = "16509" listen_addr = "0.0.0.0" auth_tcp = "none"
如果开了防火墙,还得打开端口16509
重启服务:
# systemctl restart libvirtd # systemctl status libvirtd ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2016-07-29 11:52:49 CST; 5s ago Docs: man:libvirtd(8) http://libvirt.org Main PID: 24396 (libvirtd) CGroup: /system.slice/libvirtd.service └─24396 /usr/sbin/libvirtd --listen Jul 29 11:52:49 bdc218 systemd[1]: Starting Virtualization daemon... Jul 29 11:52:49 bdc218 systemd[1]: Started Virtualization daemon.
切换至216机器上再次连接
[root@bdc216 instances]# virsh -c qemu+tcp://bdc218/system Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh #
连接成功。
再次进行实例热迁移
再次查看,发现主机已经显示为bdc218了
2.2 进一步测试
添加两台云主机test3、test4
查看当前页面情况
现在216上只有一台云主机,检查
[root@bdc216 ~]# cd /var/lib/nova/instances/ [root@bdc216 instances]# ls 0a287498-27a9-4755-ac70-afb4d6c0151b _base compute_nodes locks [root@bdc216 instances]# virsh list Id Name State ---------------------------------------------------- 2 instance-00000002 running
检查218:
[root@bdc218 instances]# ls 1d27d243-4ad0-499e-8963-ccbf6096361c 7d070fdf-ec6f-4ae6-9de1-856739492b21 compute_nodes locks [root@bdc218 instances]# virsh list Id Name State ---------------------------------------------------- 10 instance-0000000a running 11 instance-00000009 running
dashboard页面点击把218上的两台虚拟机都迁移到216上,迁移结束后查看
218上:instances目录和kvm中都没有了
[root@bdc218 instances]# ls compute_nodes locks [root@bdc218 instances]# virsh list Id Name State ----------------------------------------------------
216上:发现218上的instances目录下配置文件以及kvm里的虚拟机都迁移过来了
[root@bdc216 instances]# ls 0a287498-27a9-4755-ac70-afb4d6c0151b 1d27d243-4ad0-499e-8963-ccbf6096361c 7d070fdf-ec6f-4ae6-9de1-856739492b21 _base compute_nodes locks [root@bdc216 instances]# virsh list Id Name State ---------------------------------------------------- 2 instance-00000002 running 9 instance-0000000a running 10 instance-00000009 running
最后页面检查
以上是“kilo版openstack如何实现云主机动态热迁移”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
本文标题:kilo版openstack如何实现云主机动态热迁移
文章URL:http://scgulin.cn/article/gcssjj.html