17.3. 使用 qemu-img
qemu-img
命令行工具是 Xen 和 KVM 用来格式化各种文件系统的。可使用 qemu-img
格式化虚拟客户端映像、附加存储设备以及网络存储。qemu-img
选项及用法如下。
格式化并创建新映像或者设备
创建新磁盘映像文件名为 size,格式为 format。
# qemu-img create [-6] [-e] [-b base_image] [-f format] filename [size]
If base_image is specified, then the image will record only the differences from base_image. No size needs to be specified in this case. base_image will never be modified unless you use the “commit” monitor command.
将现有映像转换成另一种格式
转换选项是将可识别格式转换为另一个映像格式。
命令格式:
# qemu-img convert [-c] [-e] [-f format] filename [-O output_format] output_filename
convert the disk image filename to disk image output_filename using format output_format. it can be optionally encrypted (“-e” option) or compressed (“-c” option).
only the format “qcow” supports encryption or compression. the compression is read-only. it means that if a compressed sector is rewritten, then it is rewritten as uncompressed data.
加密法是使用非常安全的 128 位密钥的 AES 格式。使用长密码(16 个字符以上)获得最大程度的保护。
当使用可增大的映像格式,比如 qcow
或 cow
时,映像转换可帮助您获得较小的映像。在目的映像中可检测并压缩空白字段。
获得映像信息
info
参数显示磁盘映像信息。info
选项的格式如下:
# qemu-img info [-f format] filename
给出磁盘映像文件名信息。使用它可获得在磁盘中保留空间大小,它可能与显示的大小有所不同。如果在磁盘映像中保存有 vm 快照,则此时也会显示。
支持格式
映像格式通常是自动获取的。支持以下格式:
raw
Raw 磁盘映像格式(默认)。这个格式的优点是可以简单、容易地导出到其它模拟器中。如果您的文件系统支持中断(例如在 Linux 中的 ext2 或者 ext3 以及 Windows 中的 NTFS),那么只有写入的字段会占用空间。使用 qemu-img info
了解 Unix/Linux 中映像或者 ls -ls
使用的实际大小。
qcow2
QEMU 映像格式,最万能的格式。使用它可获得较小映像(如果您的系统不支持中断,例如在 Windows 中,它会很有用)、额外的 AES 加密法、zlib 压缩以及对多 VM 快照的支持。
qcow
旧的 QEMU 映像格式。只用于与旧版本兼容。
cow
写入映像格式的用户模式 Linux 副本。包含 cow
格式的目的只是为了与前面的版本兼容。它无法在 Windows 中使用。
vmdk
VMware 3 和 4 兼容映像格式。
cloop
Linux 压缩回送映像,只有在重复使用直接压缩的 CD-ROM 映像时有用,比如在 Knoppix CD-ROM 中。