eric
作者eric·2015-05-15 17:49
系统运维工程师·某金融单位

OpenStack之虚机热迁移

字数 1874阅读 2067评论 0赞 0

问题导读

1、如何设置NFS共享存储?

2、多次迁移造成compute报错,怎么解决?

3、迁移VM,需要哪些步骤?

最近要搞虚机的热迁移,所以也就看了看虚机迁移部分的内容。我的系统是CentOS6.5,此处为基于NFS共享平台的虚机迁移。有关NFS共享服务器的搭建可以看这里

Yak shaving

.设置nfs共享存储(/var/lib/nova/instances)

. 在各个计算节点设置权限 

  1. chmod 777 /var/lib/nova/instances

复制代码

. 修改各个节点的nova.conf(/etc/nova/nova.conf)

  1.  vncserver_proxyclient_address=127.0.0.1
  2.   vncserver_listen=0.0.0.0

复制代码

. 修改所有计算节点libvirt

.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"  #新增

复制代码

.2修改/etc/libvirt/qemu.conf文件:

  1. vnc_listen = “0.0.0.0″
  2. user = "root"
  3. group = "root" #去掉此三行的注释

复制代码

.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. [root@agent ~]# 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. root@node1:~# nova show 11fd9622-a948-4cdb-94d0-d8f2558cf179 查看需要迁移的实例

  3. root@node1:~# nova-manage service list 查看可用的计算节点

  4. root@node1:~# nova-manage service describe_resource node2 查看目标节点资源

  5. root@node1:~#nova live-migration 11fd9622-a948-4cdb-94d0-d8f2558cf179 node2 迁移成功,没有输出。

复制代码

  多次迁移造成compute报错,且无法在compute上起虚机解决方法:

  修改/etc/selinux/config文件:

  将 SELINUX = enforcing 改为 SELINUX = disabled然后重启即可       

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广