将qcow2格式的虚拟机文件导入到ceph池里
将qcow2格式的虚拟机文件导入到ceph池里
项目背景:某政府单位采用原生的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
结束重启虚拟机,正常启动!