vike681 发表于 2015-4-13 07:43:30

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.
  
  
页: [1]
查看完整版本: OpenStack Havana上手动迁移虚拟机