我在许多
Linux服务器上运行了许多Xen虚拟机.这些VM将其磁盘映像存储在Linux LVM卷中,设备名称与/ dev / xenVG / SERVER001OS等等相同.我想定期备份这些磁盘映像,这样我就可以在需要时恢复虚拟机(LVM设备已经在两个物理机器之间镜像了DRBD,我只是在这里特别偏执).
我该怎么做?显然,第一步是对LVM设备进行快照,但是如何以最有效的方式将数据传输到备份服务器?我可以简单地复制整个设备,类似于:
dd if=/dev/xenVG/SERVER001OS | ssh administrator@backupserver "dd of=/mnt/largeDisk/SERVER001OS.img"
……但这需要很多带宽.是否有类似rsync的工具用于同步远程服务器之间的整个磁盘块的内容?就像是:
rsync /dev/xenVG/SERVER001OS backupServer:/mnt/largeDisk/SERVER001OS.img
如果我正确理解rsync的手册页,上面的命令实际上不会工作(是吗?),但它显示了我的目标.我理解–devices rsync选项是复制设备本身,而不是那些设备的内容.在将VM映像与远程服务器同步之前制作VM映像的本地副本不是一种选择,因为没有磁盘空间.
是否有一个方便的实用程序可以在块设备和远程服务器上的备份文件之间进行同步?如果必须,我可以写一个,但现有的解决方案会更好.我错过了为我这样做的rsync选项吗?
解决方法
标准rsync缺少此功能,但rsync-patches tarball(copy-devices.diff)中有一个补丁,可以从
http://rsync.samba.org/ftp/rsync/下载 在应用和重新编译之后,您可以使用–copy-devices选项rsync设备.