OpenStack Havana上手动迁移虚拟机

因为每个compute node都是使用的本地硬盘作为虚拟机磁盘镜像的存储而非Shared Storage,所以live migration不可能。

尝试使用nova migrate,能成功,但有时也失败;而且如果nova migrate能执行成功,虚拟机新的位置是从新schedule出来的,不能指定。

这里介绍手动迁移虚拟机的方法:

1. 使用nova stop 将虚拟机停掉;通过nova show查看虚拟机实例的名字,类似instance-000003e9,使用'virsh list --all‘确认虚拟机已经停止。

2. 在/var/lib/nova/instances下找到对应的虚拟的的目录,目录名就是虚拟机的id,将该目录拷贝到目的主机下的/var/lib/nova/instances,确保权限一致

rsync -Pa /var/lib/nova/instances/96a06f54-cd8a-40f8-8530-9b53cb04b450 compute-112:/var/lib/nova/instances

3. 在mysql中将虚拟机的host,node更新为新的物理主机名字

mysql > update instances set host='compute-112', node='compute-112.local' where uuid='96a06f54-cd8a-40f8-8530-9b53cb04b450';

4. 在新的物理主机上重启nova-compute 服务(不确定是否需要)启动新的虚拟机 nova start 96a06f54-cd8a-40f8-8530-9b53cb04b450

一切正常后删掉原来主机上的虚拟机目录

done.

 

 

posted @ 2014-06-09 14:43  laocius  阅读(375)  评论(0编辑  收藏  举报