qemu-img 常用命令

1、check [-f fmt] filename

#对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对“qcow2”、“qed”、“vdi”格式文件的检查

qemu-img check $imageName

qemu-img check rhel6u3.qcow2

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”效果相同。

qemu-img create -f qcow2 -o ? temp.qcow

qemu-img create -f qcow2 -b rhel6u3.img  rhel6u3.qcow2

qemu-img create -f qcow2 -o backing_file=rhel6u3.img  rhel6u3-1.qcow2

qemu-img create -f qcow2 -o backing_file=rhel6u3.img,size=20G  rhel6u3-2.qcow2

qemu-img create -f qcow2 ubuntu.qcow2 10G

3、convert [-c] [-f fmt] [-O output_fmt] [-o options] filename  output_filename

#将fmt格式的filename镜像文件根据options选项转换为格式为output_fmt的名为output_filename的镜像文件。它支持不同格式的镜像文件之间的转换,比如可以用VMware用的vmdk格式文件转换为qcow2文件,这对从其他虚拟化方案转移到KVM上的用户非常有用。一般来说,输入文件格式fmt由qemu-img工具自动检测到,而输出文件格式output_fmt根据自己需要来指定,默认会被转换为与raw文件格式(且默认使用稀疏文件的方式存储以节省存储空间)。

其中,“-c”参数是对输出的镜像文件进行压缩,不过只有qcow2和qcow格式的镜像文件才支持压缩,而且这种压缩是只读的,如果压缩的扇区被重写,则会被重写为未压缩的数据。同样可以使用“-o options”来指定各种选项,如:后端镜像、文件大小、是否加密等等。-p参数显示命令的执行进度

如果使用qcow2、qcow、cow等作为输出文件格式来转换raw格式的镜像文件(非稀疏文件格式),镜像转换还可以起到将镜像文件转化为更小的镜像,因为它可以将空的扇区删除使之在生成的输出文件中并不存在。

下面的命令行演示了两个转换:将VMware的vmdk格式镜像转换为KVM可以使用的qcow2镜像,将一个raw镜像文件转化为qcow2格式的镜像

qemu-img convert my-vmware.vmdk my-kvm.img

qemu-img convert -O qcow2 rhel6u3.img rhel6u3-a.img

qemu-img convert -c -O qcow2 /var/lib/nova/instances/3148a753-15c1-4f6a-a001-6c77fc7b73a4/disk image-test.qcow2 -p

qemu-img convert -f raw input.img -O qcow2 output.qcow2

4、info [-f fmt] filename

#展示filename镜像文件的信息。如果文件是使用稀疏文件的存储方式,也会显示出它的本来分配的大小以及实际已占用的磁盘空间大小。如果文件中存放有客户机快照,快照的信息也会被显示出来。

qemu-img info rhel6u3.img

qemu-img info rhel6u3-a.img

5、resize filename [+|-]size

#改变镜像文件的大小,使其不同于创建之时的大小。“+”和“-”分别表示增加和减少镜像文件的大小,而size也是支持K、M、G、T等单位的使用。缩小镜像的大小之前,需要在客户机中保证里面的文件系统有空余空间,否则会数据丢失,另外,qcow2格式文件不支持缩小镜像的操作。在增加了镜像文件大小后,也需启动客户机到里面去应用“fdisk”、“parted”等分区工具进行相应的操作才能真正让客户机使用到增加后的镜像空间。不过使用resize命令时需要小心(最好做好备份),如果失败的话,可能会导致镜像文件无法正常使用而造成数据丢失。

qemu-img resize rhel6u3-a.img +2G

qemu-img resize rhel6u3-b.img -1G

你可能感兴趣的:(qemu-img 常用命令)