项目背景:某政府单位采用原生的openstack小规模上线私有云业务,后因原生的openstack直接应用于生产环境导致的异常问题较多,体验很差,相关功能也不完善。且管理人员对openstack认识不足,运维技术有限,决定采用我公司成熟稳定的商业化openstack云平台。但是原有一部分业务已经上线,所以要将这部分主机迁移到新的云平台上来。我司为该政府单位采用存储方式为分布式存储,基于ceph深度开发,所以要将原来的虚拟机文件导入到ceph池里。在新平台搭建完成后,创建对应规格的虚拟机VM-A,然后关机。迁移步骤如下:

1、.~/keystonerc_admin

2、nova list --all

3、在老平台上找出虚拟机对应的磁盘

    nova show 7726fac9-xxxx-xxxx-xxxx-xxxxxxxxxxx

4、在新平台上找到要替换的磁盘文件

    rbd list --pool openstack-pool

5、由于原来的虚拟机文件是qcow2格式的,需要转换成raw格式的再上传

   qemu-img convert -p -f qcow2  -O raw win7.qcow2 disk.raw

6、将原来的虚拟机磁盘 disk.raw 拷贝到根目录下,然后导入到openstack-pool

      rbd import ./disk.raw --pool openstack-pool

7、rbd list --pool openstack-pool

8、将新平台中VM-A的磁盘删除

rbd rm volume-eaed6f76-73cf-xxxx-xxxx-xxxxxxxxxx --pool openstack-pool

9、将导入进来disk.raw 改为删除的原文件名

rbd mv openstacl-pool/disk.raw openstack-pool/volume-eaed6f76-73cf-xxxx-xxxx-xxxxxxxxxx

结束重启虚拟机,正常启动!


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐