-
Notifications
You must be signed in to change notification settings - Fork 35
qemu-img support #49
Copy link
Copy link
Closed
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
一、QEMU镜像创建与格式转换
1、创建RAW格式块磁盘镜像
qemu-img create -f raw rootfs.img 6G
Formatting 'rootfs.img', fmt=raw size=6442450944
2、格式化磁盘镜像
mkfs.ext4 rootfs.img
mke2fs 1.46.5 (30-Dec-2021)
丢弃设备块: 完成
创建含有 1572864 个块(每块 4k)和 393216 个 inode 的文件系统
文件系统 UUID:2878cb67-8b35-484c-8cb5-75682ad4f370
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736
正在分配组表: 完成
正在写入 inode表: 完成
创建日志(16384 个块): 完成
写入超级块和文件系统账户统计信息: 已完成
3、查看RAW格式磁盘镜像信息
qemu-img info rootfs.img
image: rootfs.img
file format: raw
virtual size: 6 GiB (6442450944 bytes)
disk size: 67.2 MiB
4、查看RAW格式磁盘镜像大小
ls -alh rootfs.img
-rw-r--r-- 1 root root 6.0G rootfs.img
5、将RAW格式磁盘镜像转换为qcow2稀疏格式最小镜像(带优化参数)
qemu-img convert -p -f raw -O qcow2 \
-o lazy_refcounts=on \
-o extended_l2=on \
rootfs.img rootfs.qcow2
5-1、优化现有的qcow2镜像
qemu-img convert -f qcow2 -O qcow2 \
-o lazy_refcounts=on \
-o extended_l2=on \
rootfs.qcow2 opt_rootfs.qcow2
6、查看qcow2格式磁盘镜像大小
ls -alh rootfs.qcow2
-rw-r--r-- 1 root root 4.7M rootfs.qcow2
7、查看qcow2格式磁盘镜像大小
qemu-img info rootfs.qcow2
image: rootfs.qcow2
file format: qcow2
virtual size: 6 GiB (6442450944 bytes)
disk size: 3.87 MiB
cluster_size: 65536
Format specific information:
compat: 1.1
compression type: zlib
lazy refcounts: true
refcount bits: 16
corrupt: false
extended l2: true
8、将qcow2格式磁盘镜像转换为预分配格式(最高性能)
qemu-img convert -f qcow2 -O qcow2 \
-o preallocation=full \
-o lazy_refcounts=on \
-o extended_l2=on \
rootfs.qcow2 pre_rootfs.qcow2
9、查看qcow2格式预分配磁盘镜像信息
qemu-img info pre_rootfs.qcow2
image: pre_rootfs.qcow2
file format: qcow2
virtual size: 6 GiB (6442450944 bytes)
disk size: 6 GiB
cluster_size: 65536
Format specific information:
compat: 1.1
compression type: zlib
lazy refcounts: true
refcount bits: 16
corrupt: false
extended l2: true
10、查看qcow2格式预分配磁盘镜像大小
ls -alh pre_rootfs.qcow2
-rw-r--r-- 1 root root 6.1G pre_rootfs.qcow2
11、清理qcow2格式预分配磁盘镜像,并调整为qcow2稀疏格式最小镜像
qemu-img convert -f qcow2 -O qcow2 \
-o lazy_refcounts=on \
-o extended_l2=on \
pre_rootfs.qcow2 unpre_rootfs.qcow2
12、查看清理后的未预分配qcow2格式磁盘镜像的信息
qemu-img info unpre_rootfs.qcow2
image: unpre_rootfs.qcow2
file format: qcow2
virtual size: 6 GiB (6442450944 bytes)
disk size: 3.87 MiB
cluster_size: 65536
Format specific information:
compat: 1.1
compression type: zlib
lazy refcounts: true
refcount bits: 16
corrupt: false
extended l2: true
13、查看清理后的未预分配qcow2格式磁盘镜像大小
ls -alh unpre_rootfs.qcow2
-rw-r--r-- 1 root root 4.7M unpre_rootfs.qcow2
二、QEMU镜像的快照和管理
1、创建快照
这里示例创建了4个快照
注意:
- (1)快照名称可以重复;
- (2)因兼容性问题有时候不支持通过
ID删除快照; - (3)所以创建快照时建议检查当前镜像已有的
快照名称,避免重名!
qemu-img snapshot -c snapshot_name1(快照名称) /path/rootfs.qcow2
qemu-img snapshot -c snapshot_name2 /path/rootfs.qcow2
qemu-img snapshot -c snapshot_name3 /path/rootfs.qcow2
qemu-img snapshot -c snapshot_name4 /path/rootfs.qcow2
2、查看快照
qemu-img snapshot -l /path/rootfs.qcow2
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK ICOUNT
1 snapshot_name1 0 B 2025-12-04 21:57:30 00:00:00.000 0
2 snapshot_name2 0 B 2025-12-04 21:57:34 00:00:00.000 0
3 snapshot_name3 0 B 2025-12-04 21:57:36 00:00:00.000 0
4 snapshot_name4 0 B 2025-12-04 22:02:26 00:00:00.000 0
3、还原快照
qemu-img snapshot -a snapshot_name2 /path/rootfs.qcow2
4、删除指定快照
qemu-img snapshot -d snapshot_name4 /path/rootfs.qcow2
5、说明
预分配格式的qcow2也支持同样的快照命令,RAW/raw格式磁盘镜像不支持快照。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation