openstack在线迁移需要做的配置并整理成脚本以及在线迁移过程系统自动修改的内容总结

参考文章http://blog.csdn.net/zoushidexing/article/details/7814181

 

一、迁移条件准备:

1、各节点采用共享存储,确定各节点状态良好,创建虚拟机状态正常
2、各节点主机名写入hosts文件,可以用主机名相互ping通
3、关闭各节点防火墙:>  service ufw stop
二、修改配置:
1、修改/etc/nova/nova.conf

vncserver_proxyclient_address=127.0.0.1

vncserver_listen=0.0.0.0

2、修改libvirt配置:

(1)修改/etc/libvirt/libvirtd.conf

         修改前 : #listen_tls = 0

         修改后 : listen_tls = 0

          修改前 : #listen_tcp = 1   

          修改后 : listen_tcp = 1

          添加: auth_tcp="none"

(2)修改/etc/init/libvirt-bin.conf       

       修改前:env libvirtd_opts="-d "

修改后 :  env libvirtd_opts="-d -l"

(3)修改/etc/default/libvirt-bin

       修改前:libvirtd_opts=" -d"

        修改后:libvirtd_opts=" -d -l"

(4)修改/etc/libvirt/qemu.conf

       去掉下三行注释:

            vnc_listen = “0.0.0.0″

            user = “root”

            group = “root”

三、重启服务:

1、重启libvirt服务:

      service libvirt-bin restart

2、重启nova-compute服务:

service nova-compute restart       

四、迁移命令

nova-manage service describe_resource computeNodeName 查看节点资源情况

nova live-migration instanceUUID computeNodeName 将虚拟机迁移到目的节点

这个命令需要在虚拟机的原节点之心

五、迁移结果

1、迁移成功:执行完命令后终端没有任何输出,

在迁移的原节点查看日志:

2012-12-03 15:23:50 INFO nova.compute.manager [-] post_live_migration() is started..
2012-12-03 15:23:51 INFO nova.compute.manager [-] [instance: 7cd92fad-353a-4087-8692-6142d2bd45f7] No floating_ip found
2012-12-03 15:23:54 INFO nova.compute.manager [-] [instance: 7cd92fad-353a-4087-8692-6142d2bd45f7] Migrating instance to ubuntuPC finished successfully.

在迁移的目的节点日志中可以看到迁移信息:Post operation of migraton started表明迁移成功。

2、迁移失败情况:

(1)执行完命令,终端报错:ERROR: Live migration of instance 7a90a250-7457-49be-8dfc-8482b6c2cadb to host compute-135 failed (HTTP 400)

(2)ERROR: n/a (HTTP 400)

没有在实例的原节点执行迁移命令。

以上配置文件写成脚本

liv-migration.sh

内容如下:


sed -i '/vncserver_proxyclient_address/d' /etc/nova/nova.conf
sed -i '/vncserver_listen/d' /etc/nova/nova.conf


sed -i '$a\vncserver_proxyclient_address=127.0.0.1' /etc/nova/nova.conf
sed -i '$a\vncserver_listen=0.0.0.0' /etc/nova/nova.conf


sed -i 's/#listen_tls = 0/listen_tls = 0/g' /etc/libvirt/libvirtd.conf

sed -i 's/#listen_tcp = 1/listen_tcp = 1/g' /etc/libvirt/libvirtd.conf

sed -i '$a\auth_tcp="none"' /etc/libvirt/libvirtd.conf

sed -i 's/env libvirtd_opts="-d "/env libvirtd_opts="-d -l"/g'  /etc/init/libvirt-bin.conf

sed -i 's/libvirtd_opts=" -d"/libvirtd_opts=" -d -l"/g'  /etc/default/libvirt-bin

sed -i 's/#vnc_listen = “0.0.0.0″/vnc_listen = “0.0.0.0″/g' /etc/libvirt/qemu.conf


sed -i 's/#user = "root"/user = "root"/g' /etc/libvirt/qemu.conf

sed -i 's/#group = "root"/group = "root"/g' /etc/libvirt/qemu.conf

service libvirt-bin restart
service nova-compute restart

迁移过程修改的地方

1.数据库nova,表instances,只修改了host字段,没有修改launched_on字段没有修改,还是原节点的hostname。

2.文件拷贝:

/etc/libvirt/qemu/instance-00000017.xml(有没有共享存储这个文件都拷贝)

3。拷贝目录

/var/lib/nova/instances/instance-00000017  没有共享存储的话,拷贝这个目录。

有共享存储,而且两个节点没有同时挂在到一个存储的时候也拷贝。

如果两个节点的/var/lib/nova/instances挂在到同一个存储卷,这个文件不用拷贝。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值