前言
因为一些原因,需要将OpenStack转换成vmware的vmdk虚拟磁盘。网上的答案都是使用qemu-img工具进行转化,但是其实直接转换并不能直接使用,因此寻找多篇文章后总结此办法。
准备
1.首先查看虚机机列表,并将迁移的实例关机,并确认实例确实关机
#查看实例列表并找到对应ID
nova list
nova stop 952bfab4-79d4-44af-9466-77e97765a3b4
2.进入虚拟磁盘目录并查看磁盘格式
cd /var/lib/nova/instances/952bfab4-79d4-44af-9466-77e97765a3b4
cat disk.info

3.现在用qemu-img命令将镜像转成vmdk格式
qemu-img convert -f qcow2 disk -O vmdk 20.48.vmdk
4.接下来通过scp、xshell或者其他工具,将20.48.vmdk文件上传到ESXi的存储中,这个时候的vmdk还不能直接使用,还需要转成磁盘管理工具vmkfstools,将qemu-img转换的vmdk文件再转成ESXi所能识别的vmdk。
5.我们需要通过shell连接ESXi,然后进入到datastore1存储中,进行转换。如果你没有开启ssh功能,在web管理系统中的:主机->管理->服务中SSH设置为开机就可以,使用命令进入到之前上传的vmdk文件所在的存储位置
#ESXi的存储中20.28.vmdk的所在目录,各位需要根据自己的实际情况进行修改。
cd /vmfs/volumes/datastore1/
6.然后使用下面这条命令,将vmdk转成ESXi可以识别的vmdk。
# -i 代表源文件 -d代表目标类型
vmkfstools -i 20.28.vmdk -d thin out-20.28.vmdk
7.转换成功后,会发现生成了两个文件: out-20.28.vmdk和out-20.28.vmdk-flat.vmdk
8.最后创建新的虚拟机,并把硬盘指向 out-20.28.vmdk文件就可以了,硬盘格式选择IDE,可解决开机报错。
二次转换出的两个文件(out-20.28.vmdk和out-20.28.vmdk-flat.vmdk)其中out-20.28.vmdk为描述文件,out-20.28.vmdk-flat.vmdk为虚拟磁盘文件,均可以改名
编辑 vmdk 文件,确保 # Extent description "out-20.28.vmdk-flat.vmdk" 为原有磁盘名称

总结:
有两个地方需要注意:第一个就是第6个步骤的二次转换操作;另一个就是创建虚拟机需要添加现有硬盘。
本文摘自:
https://www.cnblogs.com/bighammerdata/p/14178657.html
https://blog.youkuaiyun.com/F1004145107/article/details/105906246/
本文详细介绍了如何将OpenStack的虚拟机镜像转换为VMware的vmdk格式,并能在ESXi环境中正常使用。首先,需要停止单元并查看磁盘格式,然后使用qemu-img转换,接着将转换后的文件上传到ESXi并利用vmkfstools进行二次转换。最后创建新虚拟机并指向转换后的硬盘文件。注意在创建虚拟机时选择IDE硬盘格式以避免报错。
2599

被折叠的 条评论
为什么被折叠?



