我使用rsync备份虚拟机的qcow2磁盘。但是,我希望能够获得增量备份,这样我就不必每次都复制整个磁盘。现在我使用rsync -hav --progress / source / target,即使第二次磁盘已经被复制了,执行时间也总是一样的,而且执行时间应该少得多。
通过一些额外的研究,我发现了位图的存在:
https://wiki.qemu.org/Features/IncrementalBackup
https://qemu.readthedocs.io/en/latest/interop/bitmaps.html#overview
这将使执行qcow2磁盘的增量备份成为可能,但是我不知道正确的过程,而且这个主题对我来说还不完全清楚。有谁能帮我更好地了解这个问题吗?
发布于 2021-11-10 08:36:40
我知道这很晚了,但对其他人来说是有用的。
rsync是减少网络传输的宝贵工具,但它不会减少具有默认设置的更改文件所需的磁盘带宽,因为它首先复制整个文件,然后应用所需的更改,最后将临时文件重命名为原始名称。
您可以尝试使用--inplace来避免中间副本,但请注意,对于非常大的文件,rsync并不特别有效。
如果它不是正确的工具,您可以尝试一些东西,比如bdsync或blocksync。
更好的是,如果您的文件系统支持它(请阅读:如果您使用的是btrfs或zfs),您可以使用send/recv进行真正的差异备份。
发布于 2023-02-24 14:04:39
这里有一个实用工具,它利用了您提到的位图功能,它支持增量备份和差异备份,并保存虚拟机配置和相关文件。它还附带了恢复虚拟机的还原实用程序和将备份映射到覆盖映像以进行单个文件恢复的实用工具。但是,它期望您使用libvirt管理虚拟机:
https://github.com/abbbi/virtnbdbackup
对于独立的qemu流程也有一种解决方案,它使用qemu管理协议直接连接到qemu进程,从而允许使用脏位图进行增量备份:
https://github.com/abbbi/qmpbackup
注意:这两个实用程序都是我编写的。
再见,
https://serverfault.com/questions/1070294
复制相似问题