增量备份IMG文件 – Linux

我一直在找LINUX的解决scheme来获得.img文件(KVM)的过去两周的增量备份,我尝试了几乎所有可以从谷歌search(Rdiffbackup,Attic,Rsync,Rsnapshot,Bacula ,槟榔备份等,你的名字!),但仍然无法find一个解决scheme。

基本上我想让代理在虚拟机的硬件节点上运行,并检测图像是否发生了变化,并能够读取img文件内的内容,并只将新的部分复制到备份的原始img文件在第一次运行,并有一个主备份机器所有的备份进入它。 我不需要任何Web界面(不一定),它必须在LINUX下。

将不胜感激任何build议或帮助。

谢谢

我build议使用LVM(可选配精简configuration)以及lvmsync ,但是我有偏见,写了lvmsync这个确切的情况。

如果不适合,可以使用新版qemu中的qemu增量备份支持 (如@HBruijn的评论中所述),如果您不介意运行stream血的代码。 不幸的是,qcow2图像格式不允许实现您想要的同步过程所需的那种“实时时间点快照”function。 VMDK格式的,我写了vmdksync来处理,但我不知道是否qemu的VMDK支持是适当的进步来处理它(我写它来迁移VMWare服务器,我从来没有testing过它与QEMU) 。

有几种可能性。

  1. rsync的。 它可以做你期望的事情,但是为了做到这一点,它必须读取两端的整个文件,计算校验和并传输更改。 如果您没有远程使用rsync(例如networking文件系统),则需要禁用整个文件传输。 ( --no-whole-file

  2. 由@womblebuild议的LVM快照+ lvmsync

  3. 支持快照和增量备份的文件系统(如btrfs(仍不推荐用于生产)或ZFS)。

  4. DRBD – 作为在线“RAID1”使用。 不能用作存档 – 如果主服务器上有任何东西被删除,它也会立即在从服务器上丢失。 但是在硬件故障的情况下你有最新的数据。 (可能的破解是只在特定的时间启用同步,但我不build议这样做)请记住,大多数文件系统不能安装在两端。

  5. 2/3和4(DRBD + LVM快照,或DRBD + ZFS)的组合 – 为您提供两全其美的解决scheme。 跨机器在线“RAID”,并在备份服务器上备份备份设备以保存归档。