OpenStack之虚机热迁移
OpenStack之虚机热迁移最近要搞虚机的热迁移,所以也就看了看虚机迁移部分的内容。我的系统是CentOS6.5,此处为基于NFS共享平台的虚机迁移。有关NFS共享服务器的搭建可以看这里。
Yak shaving
1.设置nfs共享存储(/var/lib/nova/instances)
2. 在各个计算节点设置权限
1 chmod 777 /var/lib/nova/instances
3. 修改各个节点的nova.conf(/etc/nova/nova.conf)
1 vncserver_proxyclient_address=127.0.0.1
2 vncserver_listen=0.0.0.0
4. 修改所有计算节点libvirt
4.1修改/etc/libvirt/libvirtd.conf文件:
1 listen_tls = 0
2 listen_tcp = 1
3 tcp_port = "16509"
4 listen_addr = "0.0.0.0"#将此四行的注释去掉
5 auth_tcp = "none"#新增
4.2修改/etc/libvirt/qemu.conf文件:
1 vnc_listen = “0.0.0.0″
2 user = "root"
3 group = "root" #去掉此三行的注释
4.3修改/etc/sysconfig/libvirtd文件,用来启用tcp的端口
1 LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
2 LIBVIRTD_ARGS="--listen"#同样,去掉注释
然后重启libvirtd
1 service libvirtd restart
最后测试一下libvirt,用virsh测试是否连通
1 virsh -c qemu+tcp://服务器IP/system#请在服务器IP处填写你的服务器IP
无错误提示的话即可进行迁移工作,若有错,可能是防火墙的问题。简单粗暴的做法是
1 service iptables stop
也可以将libvirt的端口开放来解决一般的问题
1 # netstat -tulnp | grep libvirt
2 tcp 0 0 0.0.0.0:16509 0.0.0.0:* LISTEN 31704/libvirtd
用上面的命令来查看端口号:
我的端口号是16509.然后执行下面的命令来开放端口:
1 iptables -I INPUT -p tcp --dport 16509 -j ACCEPT
2 service iptables save
虚机迁移
1 root@node1:~# nova list 查看实例
2
3 root@node1:~# nova show 11fd9622-a948-4cdb-94d0-d8f2558cf179 查看需要迁移的实例
4
5 root@node1:~# nova-manage service list 查看可用的计算节点
6
7 root@node1:~# nova-manage service describe_resource node2 查看目标节点资源
8
9 root@node1:~#nova live-migration 11fd9622-a948-4cdb-94d0-d8f2558cf179 node2 迁移成功,没有输出。
多次迁移造成compute报错,且无法在compute上起虚机解决方法:
修改/etc/selinux/config文件:
将 SELINUX = enforcing 改为 SELINUX = disabled然后重启即可
参考资料:http://docs.openstack.org/admin-guide-cloud/content/section_configuring-compute-migrations.html
-------修改于2014-11-3
PS:本博客欢迎转发,但请注明博客地址及作者~
博客地址:http://www.iyunv.com/voidy/
页:
[1]