qemu-img 支持的文件格式
qcow2:QEMU Copy-On-Write v2,支持快照和压缩。
优点:
支持快照:可以轻松创建和管理快照,适用于测试和开发环境。
压缩:支持zlib压缩,可以减少磁盘占用空间。
增量备份:只存储更改的数据,节省空间。
支持稀疏文件:只在需要时分配磁盘空间,初始时占用较少空间。
支持加密:支持AES加密
缺点:
性能:由于压缩和快照功能,读写性能可能较 raw 格式稍低。推荐生产环境使用。
raw:原始格式,没有任何附加信息,直接表示磁盘数据。
优点:性能好
缺点:空间占用大,不支持快照,不推荐生成环境使用
vmdk:VMware虚拟机磁盘格式。
vhdx:Hyper-V虚拟硬盘格式,支持大于2TB的虚拟磁盘。
vpc:Microsoft Virtual PC格式。
qcow:较旧的QEMU Copy-On-Write格式。
vdi:Oracle VirtualBox的虚拟磁盘格式。
rbd:Ceph RADOS块设备格式。
nbd:网络块设备格式。
qemu-img 使用说明
qemu-img version 5.0.0 (qemu-kvm-5.0.0-19.zy_2.0_3.cp3.2.ctl2)
Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
usage: qemu-img [standard options] command [command options]
QEMU disk image utility
'-h', '--help' display this help and exit
'-V', '--version' output version information and exit
'-T', '--trace' [[enable=]<pattern>][,events=<file>][,file=<file>]
specify tracing options
Command syntax:
amend [--object objectdef] [--image-opts] [-p] [-q] [-f fmt] [-t cache] -o options filename
bench [-c count] [-d depth] [-f fmt] [--flush-interval=flush_interval] [-i aio] [-n] [--no-drain] [-o offset] [--pattern=pattern] [-q] [-s buffer_size] [-S step_size] [-t cache] [-w] [-U] filename
check [--object objectdef] [--image-opts] [-q] [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] [-U] filename
commit [--object objectdef] [--image-opts] [-q] [-f fmt] [-t cache] [-b base] [-d] [-p] filename
compare [--object objectdef] [--image-opts] [-f fmt] [-F fmt] [-T src_cache] [-p] [-q] [-s] [-U] filename1 filename2
convert [--object objectdef] [--image-opts] [--target-image-opts] [--target-is-zero] [-U] [-C] [-c] [-p] [-q] [-n] [-f fmt] [-t cache] [-T src_cache] [-O output_fmt] [-B backing_file] [-o options] [-l snapshot_param] [-S sparse_size] [-m num_coroutines] [-W] [--salvage] filename [filename2 [...]] output_filename
create [--object objectdef] [-q] [-f fmt] [-b backing_file] [-F backing_fmt] [-u] [-o options] filename [size]
dd [--image-opts] [-U] [-f fmt] [-O output_fmt] [bs=block_size] [count=blocks] [skip=blocks] if=input of=output
info [--object objectdef] [--image-opts] [-f fmt] [--output=ofmt] [--backing-chain] [-U] filename
map [--object objectdef] [--image-opts] [-f fmt] [--output=ofmt] [-U] filename
measure [--output=ofmt] [-O output_fmt] [-o options] [--size N | [--object objectdef] [--image-opts] [-f fmt] [-l snapshot_param] filename]
snapshot [--object objectdef] [--image-opts] [-U] [-q] [-l | -a snapshot | -c snapshot | -d snapshot] filename
rebase [--object objectdef] [--image-opts] [-U] [-q] [-f fmt] [-t cache] [-T src_cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
resize [--object objectdef] [--image-opts] [-f fmt] [--preallocation=prealloc] [-q] [--shrink] filename [+ | -]size
命令参数:
filename 是磁盘映像文件名
objectdef 是 QEMU 用户可创建的对象定义。有关对象属性的描述,请参阅 qemu(1) 手册页。最常见的对象类型是 secret,用于提供密码和/或加密密钥。
fmt 是磁盘映像格式。大多数情况下会自动猜测。
cache 是用于写入输出磁盘映像的缓存模式,有效选项包括:none、writeback(除了转换外的默认值)、writethrough、directsync 和 unsafe(转换的默认值)。
src_cache 是用于读取输入磁盘映像的缓存模式,有效选项与 cache 选项相同。
size 是磁盘映像的大小(以字节为单位)。可选后缀包括:k 或 K(1024)、M(1024k)、G(1024M)、T(1024G)、P(1024T)和 E(1024P)。b 被忽略。
output_filename 是目标磁盘映像文件名。
output_fmt 是目标格式。
options 是按格式特定选项的逗号分隔列表,格式为 name=value。使用 -o ? 获取所用格式的选项概览。
snapshot_param 是用于内部快照的参数,格式为 snapshot.id=[ID],snapshot.name=[NAME],或 [ID_OR_NAME]。
-c 表示目标映像必须是压缩的(仅限 qcow 格式)。
-u 允许不安全的基础链。对于重定基,假设旧的和新的基础文件完全匹配。在这种情况下,图像不需要在重定基之前打开工作基础文件(有助于重命名基础文件)。对于图像创建,允许在未尝试打开基础文件的情况下创建。
-h(带或不带命令)显示此帮助并列出支持的格式。
-p 显示命令的进度(仅某些命令)。
-q 使用静默模式 - 不打印任何输出(除错误外)。
-S 表示在转换过程中必须有连续的零字节数(默认值为 4k)。如果字节数为 0,则源将不扫描未分配或零扇区,并且目标图像将始终完全分配。
--output 指定输出格式(人类可读或 JSON)。
-n 跳过目标卷的创建(如在运行 qemu-img 之前已创建卷时有用)。
check 子命令参数:
'-r' 尝试修复检查过程中发现的任何不一致。'-r leaks'只修复集群泄漏,而'-r all'修复所有类型的错误,但选择错误的修复或隐藏已经发生的损坏的风险更高。
convert子命令参数:
-m 参数指定在转换过程中并行工作的协程数量(默认值为8)。
-W 参数允许按非顺序方式写入目标文件,而不是顺序写入。
snapshot子命令的参数:
'snapshot':要创建、应用或删除的快照的名称。
'-a':应用一个快照(将磁盘还原到保存的状态)。
'-c':创建一个快照。
'-d':删除一个快照。
'-l':列出给定镜像中的所有快照。
compare子命令的参数:
'-f':第一个imgage格式。
'-F':第二个image格式。
'-s':在严格模式下运行 - 在image大小或扇区分配不同的情况下失败。
dd子命令的参数:
'bs=BYTES':一次读取和写入最多BYTES字节(默认:512)。
count=N:只复制N个输入块。
'if=FILE':从FILE读取。
'of=FILE':写入到FILE。
'skip=N':在输入开始时跳过N个bs大小的块。
支持的格式包括: blkdebug blklogwrites blkreplay blkverify compress copy-on-read file ftp ftps host_cdrom host_device http https iscsi iser luks nbd null-aio null-co nvme qcow2 quorum raw rbd ssh throttle vhdx vmdk vpc
See <https://qemu.org/contribute/report-a-bug> for how to report bugs.
More information on the QEMU project at <https://qemu.org>.