OpenStack中范例的在线迁移
OpenStack中实例的在线迁移参考文档:http://www.sebastien-han.fr/blog/2012/07/12/openstack-block-migra
OpenStack中实例的在线迁移
参考文档:
http://www.sebastien-han.fr/blog/2012/07/12/openstack-block-migration/
http://docs.openstack.org/trunk/openstack-compute/admin/content/configuring-live-migrations.html
sed -i 's/vncserver_listen.*/vncserver_listen=0.0.0.0/' /etc/nova/nova.confsed -i -e 's/#listen_tls/listen_tls/' -e 's/#listen_tcp = 1/listen_tcp = 1\nauth_tcp = "none"/' /etc/libvirt/libvirtd.confsed -i 's/#LIBVIRTD_ARGS/LIBVIRTD_ARGS/' /etc/sysconfig/libvirtdservice libvirtd restart注意事项修改vncserver_listen后创建的实例才能迁移 在我的实验中,哪怕我手动修改实例的libvirt.xml文件,将vnc的监听ip改为0.0.0.0并重启nova-compute且让实例也重启仍然失败了。迁移过程中我看到在目的计算节点上已经创建了实例的相关文件,但是很快又被删除了,没有任何报错,实例仍然在源计算节点运行,状态从migrating恢复为active。如果实例有挂载volume一定要先卸载再迁移 这点更重要,我对挂载有volume的实例进行迁移,结果一直处于mirating状态,所挂载的卷也处于migrating状态,通过Virual Machine Manager观察实例在源计算节点和目的计算节点的状态都为paused。我尝试重启两个节点的nova-compute服务,并配置让实例跟随重启。结果源节点报Domain not found错,且在Virual Machine Manager观察到实例被删除,但实例文件还在,服务也因报错启动失败。目的节点实例启动成功,且能识别挂载的卷,但是文件中缺少libvirt.xml文件,且不受OpenStack管理了,通过客户端查询实例信息,显示的信息为实例仍在源节点上,状态为正在迁移。尝试手动修改数据库使状态一致没有成功。实例迁移过程会有短暂的无法联通情况 迁移过程我用ping命令测试,在迁移快完成的时候丢失了5个包,多次测试一样。 会在目的节点_base文件夹下创建额外的镜像文件 尽管我的目的节点_base下已经有了创建该实例所需要的镜像文件,但仍然会创建新的镜像文件,新文件文件名只是多加了个"_11",大小一样,如果直接使用已有的镜像不创建新就好了,当然如果已经有这个带后缀"_11"的文件存在就不会再创建了。
北方工业大学 | 云计算研究中心 | 姜永