如何将连续原始备份映像合并到带有快照的单个 qcow2 映像中?

如何将连续原始备份映像合并到带有快照的单个 qcow2 映像中?

长期以来,我从嵌入式系统收集了许多原始磁盘映像克隆,每个约 2 GB:

root141221.dd 2048901120
root150221.dd 2048901120
root160408.dd 2048901120
root170821.dd 2048901120

由于运行之间几乎没有变化,我认为将其转换为单个qcow2带有快照的图像。

第一步很简单:

$ qemu-img convert -p -O qcow2 root141221.dd root.qcow2
$ qemu-img snapshot -c root141221 root.qcow2
$ qemu-img info root.qcow2
image: root.qcow2
file format: qcow2
virtual size: 1.91 GiB (2048901120 bytes)
disk size: 1.89 GiB
cluster_size: 65536
Snapshot list:
ID        TAG               VM SIZE                DATE     VM CLOCK     ICOUNT
1         root141221            0 B 2023-10-04 01:25:52 00:00:00.000          0
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

怎么办?如何将第二个映像写入第一个 qcow2 映像,以便它能够识别共享部分并仅存储修改?

我尝试过qemu-img dd …,但这覆盖了整个图像。我还认为有一种方法可以做到这一点qemu-img rebase …,但如果我没有记错的话,它将创建一个新文件,尽管是一个只有区别的小文件。我想要它在一个文件中。

我必须使用一些循环安装技巧吗?我实际上不能图像,因为数据并不是真正可识别的文件系统,但也许我可以将其设置为块设备?

相关内容