qemu-img
qemu-img 是QEMU的磁盘管理工具,在完成对QEMU源码编译之后就会默认编译好qemu-img这个二进制文件。
基本用法
qemu-img [standard options] command [commamd options]
-
check [-f fmt] filename
磁盘文件一致性检查。查找镜像文件中的错误。目前仅支持对qcow2,qed,vid文件格式。
-
create [-f fmt] [-o options] filename [size]
创建一个格式为fmt,大小为size,文件名为filename的镜像文件。
根据文件格式fmt的不同,可以添加一个或多个选项来附加对该文件的各种功能设置。
可以使用 -o ? 来查询某种格式文件支持哪些选项。
如果-o选项中使用了backing_file 这个选项来指定其后端镜像文件。那么这个创建的镜像文件仅记录与后端镜像文件的差异部分。后端镜像文件不会被修改,除非在qemu monitor中使用commit命令或者使用qemu-img commit 手动去提交这些改动。在这种情况下size不是必须。其值默认与后端镜像文件一致。
-
commit [-f fmt] filename
-
convert [-c] [-f fmt] [-O output_fmt] [-o options] filename [filename2 [...] ] output_name
文件格式转换
-c 表示对输出镜像文件进行压缩。输出镜像文件格式得支持压缩。并且为只读数据,如果被重写,则更改为不压缩数据。
例子
qemu-img convert -O raw a.vmdk b.raw -
info [-f fmt] filename
显示镜像文件的信息。
-
resize filename [+|-] size
缩小镜像的大小之前,需要在客户机中保证其中的文件系统有空余空间,否则数据会丢失.
另外,qcow2格式文件不支持缩小镜像的操作。在增加了镜像文件大小后,也需启动客户机在其中应用“fdisk”“parted”等分区工具进行相应的操作,才能真正让客户机使用到增加后的镜像空间.
使用resize命令时需要小心(做好备份),如果失败,可能会导致镜像文件无法正常使用,而造成数据丢失.
-
rebase [-f fmt] [-t cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
改变镜像文件的后端镜像文件,只有qcow2和qed格式支持rebase命令。使用“-bbacking_file”中指定的文件作为后端镜像,后端镜像也被转化为“-Fbacking_fmt”中指定的后端镜像格式。
这个命令可以工作于两种模式之下,一种是安全模式(Safe Mode),这是默认的模式,qemu-img会根据比较原来的后端镜像与现在的后端镜像的不同进行合理的处理;另一种是非安全模式(Unsafe Mode),是通过“-u”参数来指定的,这种模式主要用于将后端镜像重命名或移动位置后对前端镜像文件的修复处理,由用户去保证后端镜像的一致性。
-
dd [--image-opts] [-U] [-f FMT] [-O OUTPUT_FMT] [bs=BLOCK_SIZE] [count=BLOCKS] [skip=BLOCKS] if=INPUT of=OUTPUT
dd将输入文件复制到输出文件,将其从FMT格式转换为输出FMT格式。
-
snapshot[-l|-a snapshot|-c snapshot|-d snapshot]filename
“-l”选项表示查询并列出镜像文件中的所有快照,“-a snapshot”表示让镜像文件使用某个快照,“-c snapshot”表示创建一个快照,“-d”表示删除一个快照。

浙公网安备 33010602011771号