从vmware vmdk 格式向 KVM qcow2 格式转换

   

vmdk 文件到 qcow2 格式转换命令:

 [root@localhost migration]# qemu-img info SLES11SP1-single.vmdk 
 image: SLES11SP1-single.vmdk 
 file format: vmdk 
 virtual size: 20G (21474836480 bytes) 
 disk size: 3.9G 

 [root@localhost migration]# qemu-img convert -f vmdk \
 -O qcow2 SLES11SP1-single.vmdk SLES11SP1-single.img 

 [root@localhost migration]# qemu-img info SLES11SP1-single.img 
 image: SLES11SP1-single.img 
 file format: qcow2 
 virtual size: 20G (21474836480 bytes) 
 disk size: 3.9G 
 cluster_size: 65536


qemu-img工具的命令行基本用法如下:

qemu-img command [command options]

它支持的命令分为如下几种:

(1)check [-f fmt] filename

对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对“qcow2”、“qed”、“vdi”格式文件的检查。其中,qcow2是QEMU 0.8.3版本引入的镜像文件格式,也是目前使用最广泛的格式。qed(QEMU enhanced disk)是从QEMU 0.14版开始加入的增强磁盘文件格式,为了避免qcow2格式的一些缺点,也为了提高性能,不过目前还不够成熟。而vdi(Virtual Disk Image)是Oracle的VirtualBox虚拟机中的存储格式。参数-f fmt是指定文件的格式,如果不指定格式qemu-img会自动检测,filename是磁盘镜像文件的名称(包括路径)。

如下命令行演示了qemu-img的check命令的使用方法。

[root@jay-linux kvm_demo]# qemu-img check rhel6u3.qcow2

No errors were found on the image.

(2)create [-f fmt] [-o options] filename [size]

创建一个格式为fmt大小为size文件名为filename的镜像文件。根据文件格式fmt的不同,还可以添加一个或多个选项(options)来附加对该文件的各种功能设置,可以使用“-o ?”来查询某种格式文件支持那些选项,在“-o”选项中各个选项用逗号来分隔。

如果“-o”选项中使用了backing_file这个选项来指定其后端镜像文件,那么这个创建的镜像文件仅记录与后端镜像文件的差异部分。后端镜像文件不会被修改,除非在QEMU monitor中使用“commit”命令或者使用“qemu-img commit”命令去手动提交这些改动。这种情况下,size参数不是必须需的,其值默认为后端镜像文件的大小。另外,直接使用“-b backfile”参数也与“-o backing_file=backfile”效果相同。

size选项用于指定镜像文件的大小,其默认单位是字节(bytes),也可以支持k(或K)、M、G、T来分别表示KB、MB、GB、TB大小。另外,镜像文件的大小(size)也并非必须写在命令的最后,它也可以被写在“-o”选项中作为其中一个选项。

对create命令的演示如下所示,其中包括查询qcow2格式支持的选项、创建有backing_file的qcow2格式的镜像文件、创建没有backing_file的10GB大小的qcow2格式的镜像文件。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页