首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行KVM qcow2 VPS的备份

运行KVM qcow2 VPS的备份
EN

Server Fault用户
提问于 2015-08-18 07:57:06
回答 1查看 18.8K关注 0票数 11

在运行时,我需要一种健壮的方法来获取qcow2文件的KVM的备份。在搜索了很长一段时间之后,我发现我们可以使用rsync进行实时备份。我对rsync使用了以下命令:

代码语言:javascript
复制
rsync -avh /vms/base.qcow2 /backup/backup.qcow2

它正常工作。但是,如果在修改VPS时由于编写和删除操作(比如安装新软件或更新)而进行备份,恐怕会损坏备份qcow2映像。

因此,从live的快照中获取备份似乎更有趣。

我使用了以下命令来获取运行VPS的备份:

1.创建快照:

代码语言:javascript
复制
qemu-img create -f qcow2 -b base.qcow2 snapshot.qcow2

2.将快照转换为原始图像格式(.img):

代码语言:javascript
复制
qemu-img convert -O raw snapshot.qcow2 /backup/backup.img

恢复VPS:

3.转换qcow2图像中的原始图像:

代码语言:javascript
复制
qemu-img convert -O qcow2 /backup/backup.img base.qcow2

然后我们可以通过virsh create base.xml命令启动VPS。

尽管这种方法也能很好地工作,但我仍然不确定这是否是运行VPS的备份的适当方法。我找到了关于qemu命令这里这里的很好的文档。但是他们没有提到在原始图像中转换实时VPS的快照。

哪种方法更适合于实时VPS备份?在原始图像中转换快照安全吗?

如果我能获得关于快照和基本文件在某些条件下的行为的详细文档,这将非常有帮助。

也许我们也可以将基本的qcow2映像转换为原始备份文件,而不是转换快照。因此,命令流将是:

  1. 创建快照

  1. 将基本qcow2转换为备份原始映像

  1. 将快照更改为基本映像

  1. 删除快照

我试过这个,它在5GB的小型VPS上工作得很好。但是,当VPS大小很大时,是否存在错误或VPS损坏的可能性?

提前谢谢..。

EN

回答 1

Server Fault用户

发布于 2018-11-08 18:38:14

还有另一种方法,即在备份期间创建临时快照,然后将它们提交回。

代码语言:javascript
复制
# 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

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/714921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档