迁移VMware的镜像到zstack主要使用到两款工具:
- vmware-vdiskmanager(VMware自带工具,精简磁盘)
- qemu-img(镜像转换格式)
1、精简磁盘
命令案例如下:
vmware-vdiskmanager -r D:\CentOS64\CentOS-64.vmdk -t 0 D:\CentOS64\CentOS-64-new.vmdk
vmware-vdiskmanager使用:
用法:vmware-vdiskmanager.exe选项<disk-name> | <mount-point>
脱机磁盘操作实用程序
操作,一次只能指定一个:
-c:创建磁盘。必须有其他创建选项
被指定。仅本地虚拟磁盘可以
创建。
-d:对指定的虚拟磁盘进行碎片整理。仅有的
本地虚拟磁盘可能已碎片整理。
-k:收缩指定的虚拟磁盘。仅本地
虚拟磁盘可能会缩小。
-n <源磁盘>:重命名指定的虚拟磁盘;需要
指定目标磁盘名称。仅本地虚拟
磁盘可能会重命名。
-p:准备由指定的已挂载的虚拟磁盘
缩小的安装点。
-r <源磁盘>:转换指定的磁盘;需要指定
目标磁盘类型。对于本地目标磁盘
必须指定磁盘类型。
-x <新容量>:将磁盘扩展到指定容量。仅有的
本地虚拟磁盘可能会扩展。
-R:检查稀疏虚拟磁盘的一致性并尝试
修复任何错误。
-e:检查磁盘链的一致性。
-D:使磁盘可删除。仅应在磁盘上使用
已从另一产品复制的文件。
-U:删除/取消链接单个磁盘链接。
其他选项:
-q:不记录消息
用于创建和转换的其他选项:
-a <适配器> :(仅与-c一起使用)适配器类型
(ide,buslogic,lsilogic)。将lsilogic传递给其他适配器
-s <大小>:虚拟磁盘的容量
-t <磁盘类型>:磁盘类型标识
磁盘类型:
0:单个可增长虚拟磁盘
1:可增长的虚拟磁盘拆分为多个文件
2:预分配的虚拟磁盘
3:将预分配的虚拟磁盘拆分为多个文件
4:预分配的ESX型虚拟磁盘
5:针对流进行了优化的压缩磁盘
6:精简配置的虚拟磁盘-ESX 3.x及更高版本
可以以扇区,KB,MB或GB来指定容量。
可接受范围:
ide / scsi适配器:[1MB,8192.0GB]
buslogic适配器:[1MB,2040.0GB]
例1:vmware-vdiskmanager.exe -c -s 850MB-助手-t 0 myIdeDisk.vmdk
例2:vmware-vdiskmanager.exe -d myDisk.vmdk
例3:vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
例4:vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
例5:vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
例6:vmware-vdiskmanager.exe -k myDisk.vmdk
例7:vmware-vdiskmanager.exe -p <挂载点>
(首先需要在<mount-point>挂载虚拟磁盘)
2、转换格式
命令案例如下:
qemu-img convert -f vmdk -O qcow2 CentOS-64-new.vmdk CentOS-64-new.qcow2
## -f 指定文件格式
## -o 需要转成的格式
检查上一步精简后的镜像是否存在问题,使用如下命令:
qemu-img info CentOS-64-new.vmdk
## 检查镜像完整性
3、导入
qcow2为安装好的系统打包成的镜像,qcow2镜像格式直接导入创建云主机就可以了,无需在进行系统安装。