备份 qcow2 kvm 来宾

Eig*_*ght 13 virtualization backup virtual-machines kvm-virtualization

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

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

  1. suspend 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 备份?

谢谢。

phh*_*hhe 7

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

qemu-nbd --snapshot --connect=/dev/nbd0 image.qcow2
Run Code Online (Sandbox Code Playgroud)

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

qemu-nbd --disconnect /dev/nbd0


小智 5

带有这个的脏图像(您的暂停可能会有所帮助,但仍然可能不完全一致):

在包含 qcow2 稀疏文件的 LVM 文件系统上做一个快照(再次假设你有 LVM 快照的空间)

挂载 LVM 快照。

使用 sshfs 挂载遥控器。

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

复制时间较少,但如果图像大部分已满,仍将占用全部时间。

从 VM 内备份数据可能是一个更好的主意(更少的空间/时间)。将单个虚拟机视为要备份/恢复的常规主机 - 即只获取您需要的内容并保留一组没有数据的存根虚拟机以快速备份和运行。