使用磁盘映像文件从dom0备份Xen Guest

我有一个Xen服务器dom0与许多客人安装,并正在努力find一个简单的方法来pipe理从dom0方面的备份

  • 访客脚本:当然,我可以在每个访客上运行备份脚本,但如果可能的话,希望从pipe理angular度避免这种情况。 理想情况下,我也希望能够自己备份磁盘映像,这些映像和configuration一起可以直接恢复到另一个Xen dom0(如果需要的话),以及某些目录的文件备份。
  • / var / lib / libvirt / images的rsync:我已经尝试了/ var / lib / libvirt / images /中的图像文件的一个简单的rsyncclosures,但有一个问题 – 磁盘映像试图复制全部可用的大小(它们可以增长到的大小)。 所以这意味着每个图像都试图以250Gb而不是实际的2.5Gb左右(例如ls -l所示的大小,而不是du所示的大小)来复制。

网上有很多解决scheme和脚本,但是这些都看起来很老,似乎是基于LVM设备的磁盘,因此可以在/ dev / virtual / NAME-disk中find,因此可以将它们复制,然后挂载,然后进行备份使用rsync。 这似乎不是我的系统configuration。

如果可能的话,我会看到一些潜在的解决scheme(正如我刚才提到的,我希望备份一个映像文件,并对虚拟机上的某些目录进行文件级备份,或许也是这些的组合)。

  1. 收缩图像文件:我可以复制图像文件,然后缩小到它的实际使用的空间? 我可以rsync这个并删除临时文件。
  2. 以实际大小复制:以某种方式复制图像文件的实际大小,然后如果需要在另一个dom0上重新创build大小属性?
  3. 挂载映像文件:以某种方式直接挂载映像文件? 我发现有一些方法可以将它转换为LVM映像,但不知道这是否是唯一的方法(我对使用映像文件来正常运行域来宾)感到满意。

在此先感谢,希望已经够清楚了。

对我来说,备份磁盘映像在这里更有意义。 从备份脚本的angular度来看,VDI是基于文件还是基于LVM并不重要,只要更改path,就可以用相同的方式对它们进行备份。 然而,转到LVM可能会给你带来严重的性能提升,特别是如果你使用原始(不是基于VHD的)VDI。

为了避免每次都传输整个稀疏文件,进一步修改脚本以通过打包器传输数据( gzip是一个很好的解决scheme)。 这样,即使读取完整大小的VDI文件,也会给您一个紧凑的输出。 这可能很难用rsync实现,所以使用其他方法将数据传输到备份位置(即使用shellredirect的ssh )。

为了减less停机时间,对于LVM SR(不确定是否包含映像文件),您还可以增强脚本,以便在备份之前对VM进行快照。 然后,它可以从快照存储中进行备份,因此它将提供一致的数据,而不会阻止VM启动。 拍摄快照通常需要几秒钟。 快照VDI也可以安装在dom0上来备份单个文件,唯一的问题是使用VHD格式(再次, 使用LVM和原始VDI )。