备份QCOW2 KVM来宾


13

我找不到有关备份qcow2 kvm guest虚拟机的任何好信息。我对guest虚拟机的运行状态并不真正感兴趣,仅对文件系统感兴趣。这个问题建议使用,savevm但是会在适当的位置创建快照。我想远程备份文件系统。

有没有比以下更好的方法:

  1. 暂停virt_machine#暂停虚拟机
  2. rsync --sparse /home/vm/image.qcow2 /tmp/image.dec_14_2010.qcow2# 将映像复制到同一驱动器上
  3. 简历virt_machine
  4. rsync --sparse /tmp/image.dec_14_2010.qcow2 ssh:// backup @ backupmachine:/ vmbackups

这有两个缺点。首先,复制巨大的图像文件需要(相对)较长的时间。其次,我必须始终确保有足够的空间来备份计算机。这是不理想的。还有其他更好的方法来管理KVM备份吗?

谢谢。

Answers:


7

我建议qemu-nbd的快照功能:

qemu-nbd --snapshot --connect=/dev/nbd0 image.qcow2

然后挂载/ dev / nbd0p1(分区1),rsync,卸载并最终断开连接:

qemu-nbd-断开连接/ dev / nbd0


5

与此相关的图片很脏(您的暂停可能会有所帮助,但仍然可能无法完全保持一致):

在包含qcow2稀疏文件的LVM文件系统上做快照(同样假设您有LVM快照的空间)

挂载LVM快照。

使用sshfs挂载遥控器。

使用稀疏复制(cp --sparse = always src dest)复制到sshfs挂载点

复制时间较少,但是如果图像大部分已满,则仍将花费全部时间。

从VM内备份数据可能是一个更好的主意(更少的空间/时间)。将单个虚拟机视为要备份/还原的常规主机-即仅获取所需内容,并保留一组存根虚拟机,而无需数据即可快速备份和运行。


有趣,谢谢。为了简单起见,我在文件系统上没有LVM。我希望复制整个映像,因为这样可以使我随时准备进行备用故障转移,以防机器在任何时候出现故障。
2010

1
没问题。LVM可以使您不必暂停VM并允许对其继续运行进行快照。
ax25 2010年

3

就个人而言,我在此问题上度过了非常困难的时光,并且发现,即使静默下来,来宾备份也常常不可靠。请记住-如果您不定期尝试还原这些备份,那么您真的不知道它们是否有效。

经过大量的实验,我完全研究了映像备份,并采用了可能用于裸机服务器的传统网络备份解决方案。就我而言,我们选择了BackupPC,它虽然很旧,但是非常可靠。在每台服务器上,我为正在使用的特定应用程序配置了备份解决方案。例如,用于MySQL的sqldump,用于Joomla的插件等。

它是一个PIA,但速度更快且非常可靠。


谢谢@hdave。我感觉这种方法让我迷失了VM的主要优势之一,即遏制。要还原,我必须手动重新安装所有内容并进行配置。并不是我想采取的方法。但是,无论如何,谢谢,这是一种有效的技术。
2012年

100%同意这是一种皇家痛苦。如果您真心实意,让我们都知道您是如何做到的!
hdave 2012年

@EightyEight:我强烈建议使用Chef或Puppet之类的配置管理软件。如果您要设置相同的第二台服务器(物理的或虚拟的,无关紧要),它会更加灵活,也不会麻烦。Chef具有几乎所有虚拟机管理程序的插件,可以帮助您配置和配置主机。这样,您可以受益于使用更少的备份空间(与特定数据集相比,整个VM更大),并且在新环境中的部署时间更快。此外,CM类似于代码中的基础结构文档。
拉斐尔·布加杰夫斯基

2

无论在何处执行快照-LVM或qcow2,在获取快照之前,都必须先将其停顿。否则,您将丢失数据和损坏的图像。


不会比拉电源线要多吗?

1
没有更多,当然也没有更多:)
dyasny 2012年

再多考虑一下,停顿该域不会添加任何内容-快照是“崩溃一致的”两种方式,仅此而已,没错,对吗?

errr,定义“崩溃一致”。来宾OS可能有一些传输到V磁盘的运行中数据,如果您拔下插头,这些数据将丢失。从理论上讲,该数据在实时上载后可能会写入快照,但是有充分的理由说明所有virt平台中的实时快照都包括来宾代理中的停顿/解冻。此外,如果数据没有丢失,它仍将保留在快照中,而不是基本映像中,这将破坏PIT的目的
dyasny 2012年

“崩溃一致”仅表示“与崩溃时所期望的一致”,即依赖于日志等,并且由于缺乏及时的fsync而接受一些数据丢失。据我了解,“在所有virt平台中的实时快照都包含在来宾代理中进行停顿/解冻是有充分的理由的,这有充分的理由与获取LVM快照的原因完全相同 -您知道不同吗?在停顿之前,KVM似乎不会像LVM快照那样进行fsync吗?当然,如果您不使用LVM进行快照,则不要停顿是很愚蠢的-但这是不同的,而不是您所说的。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.