qemu-img 使用说明

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>.
posted @ 2025-01-29 21:34  小吉猫  阅读(970)  评论(0)    收藏  举报