在运行时,我需要一种健壮的方法来获取qcow2文件的KVM的备份。在搜索了很长一段时间之后,我发现我们可以使用rsync进行实时备份。我对rsync使用了以下命令:
rsync -avh /vms/base.qcow2 /backup/backup.qcow2它正常工作。但是,如果在修改VPS时由于编写和删除操作(比如安装新软件或更新)而进行备份,恐怕会损坏备份qcow2映像。
因此,从live的快照中获取备份似乎更有趣。
我使用了以下命令来获取运行VPS的备份:
1.创建快照:
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow22.将快照转换为原始图像格式(.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命令这里和这里的很好的文档。但是他们没有提到在原始图像中转换实时VPS的快照。
哪种方法更适合于实时VPS备份?在原始图像中转换快照安全吗?
如果我能获得关于快照和基本文件在某些条件下的行为的详细文档,这将非常有帮助。
也许我们也可以将基本的qcow2映像转换为原始备份文件,而不是转换快照。因此,命令流将是:
我试过这个,它在5GB的小型VPS上工作得很好。但是,当VPS大小很大时,是否存在错误或VPS损坏的可能性?
提前谢谢..。
发布于 2018-11-08 18:38:14
还有另一种方法,即在备份期间创建临时快照,然后将它们提交回。
# Create a temporary backup snapshot which records changes during backup
virsh snapshot-create-as vm backup-tmp --disk-only --atomic --quiesce --no-metadata --diskspec sda,file=/tmp/sda_temp.qcow2
# Now the main image is frozen and the changes are going into /tmp/sda_temp.qcow2
# Do your backup here
...
# Now we commit back data from temp snapshot into the main image
virsh blockcommit vm sda --active --pivot
# Remove the temporary snapshot file
rm /tmp/sda_temp.qcow2有关更多信息,请参见:https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
https://serverfault.com/questions/714921
复制相似问题