增量备份虚拟机

我们目前运行一堆物理机器。 对于备份,我们一直在使用dirvish,它本质上是rsync的一个包装,并且逐步完成它们。 我们正在推动一台新机器投入生产,这将运行一大堆虚拟机。 理想情况下,我想备份虚拟机映像,而不是从虚拟机本身进行文件级备份。 有没有办法做到这一点增量,因为每个图像将是一个巨大的文件,这将需要一个新的备份,随时随地的变化? 其他人如何在这里做虚拟机备份,把它们当作物理机器呢?

如果有关系,我们正在使用Xen来实现虚拟化

谢谢

    您可以通过对rsync备份脚本进行一些小的更改来继续执行当前的操作。

    rsync可以在虚拟机内运行,并通过ssh备份到远程主机,就像物理机一样。 例如,我备份/ etc,/ usr / local /,/ home,/ var和其他几个目录从我所有的机器备份服务器上的/ var / backups / hosts / $ HOSTNAME备份服务器与rsync到另一台机器,也到磁带)。 数据库服务器还运行在rsync之前将其dbs转储到文本的脚本。

    要恢复,只需创build一个新的虚拟机(可以轻松地获得几个可以克隆的各种大小的最小安装映像),然后将备份的文件重新同步。

    顺便说一句,我通常不打扰备份/ bin,/ sbin,/ usr,因为我几乎在所有机器上运行debian。 它会浪费太多的磁盘空间,浪费时间来备份我的本地debian镜像中打包的程序。 而是我用dpkg –get-selections“*”> $ hostname.sel备份已安装软件包的列表,并用cat $ hostname.sel | dpkg –set-selections; apt-get dselect-upgrade

    这是我目前如何克隆物理机器…我正在转换几台机器到虚拟(在KVM下运行)的过程,到目前为止还没有find任何理由为什么我不得不作出微小的更改这个程序。

    其中一个,我会改变使用rdiff备份,而不是rsync,所以我可以在线版本化备份。

    最后,您还可以尝试searchhttp://libvirt.org/网站或者search“+ libvirt + rsync”。 有人可能会想出一个有效的方法来直接对虚拟机映像进行rsyncing。

    我不确定是否可以轻松地进行增量备份,因为机器的状态会发生变化,所以您可能会冒险捕获瞬态(即已损坏)状态的数据。 我这样做的唯一方法是closures虚拟机进行复制。

    我想你会需要一些特殊的软件,以某种forms使用快照来获取副本。

    或者,您可以查看使用DRDB在两个系统之间实时复制文件系统,以便托pipeVM映像的文件系统将自动复制到故障转移系统。

    我无法帮助Xen特定的虚拟机映像,但我使用rsync备份了我的VMware映像。 复制之前,您必须暂停或closures图像。 使用LVM快照可以改为使用,但我发现您需要有一个巨大的快照分区来保存更改。

    我使用以下rsync命令备份到安装在cifs上的远程服务器:

    rsync -irvtuh --inplace --delete --timeout=120 --whole-file --stats "${DIR}" /mnt/backup 

    增量副本不值得CPU来计算差异,但我发现一些虚拟机的图像不会改变 – 只有大部分:(