我想要一种健壮的方法来在运行时备份qcow2文件的KVM VPS。搜索很长时间后,我发现我们可以使用rsync进行实时备份。我对rsync使用了以下命令:
rsync -avh /vms/base.qcow2 /backup/backup.qcow2
它工作正常。但是,如果由于写入和删除操作(例如,安装新软件或更新)而更改VPS时进行备份,恐怕它可能会损坏备份qcow2映像。
因此,从实时VPS快照进行备份似乎是更有趣的选择。
我使用以下命令来备份正在运行的VPS:
1.创建快照:
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2
2.以原始图像格式(.img)转换快照:
qemu-img convert -O raw snapshot.qcow2 /backup/backup.img
恢复VPS:
3.在qcow2图像中转换原始图像:
qemu-img convert -O qcow2 /backup/backup.img base.qcow2
然后我们可以通过virsh create base.xml
命令启动VPS 。
即使此方法也可以完美运行,我仍然不确定这是否是备份运行VPS的正确方法。我在这里和这里找到关于qemu-img命令的不错的文档。但是他们没有提及有关在原始图像中转换实时VPS快照的任何内容。
哪种方法更适合实时VPS备份?在原始图像中转换快照是否安全?
如果我能获得有关快照和基本文件在特定条件下的行为的详细文档,这将非常有帮助。
也许我们也可以将基本的qcow2映像转换为原始备份文件,而不是转换快照。因此命令流将为:
1.创建快照
2.将基本qcow2转换为备份原始映像
3.将快照更改提交到基本映像
4.删除快照
我尝试了一下,在5GB的小型VPS上效果很好。但是,当VPS很大时,是否有可能发生错误或VPS损坏?
提前致谢...