kilo版openstack如何实现云主机动态热迁移

67次阅读
没有评论

共计 3044 个字符,预计需要花费 8 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 kilo 版 openstack 如何实现云主机动态热迁移,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、背景

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.

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

 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 如何实现云主机动态热迁移”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3044字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)