将虚拟机备份到磁带驱动器

将虚拟机备份到磁带驱动器

我自己有一台这种高级磁带驱动器,HP LTO2,带 200/400 GB 磁带盒。st 驱动程序报告如下:

scsi 1:0:0:0: Sequential-Access HP       Ultrium 2-SCSI   T65D  

我可以使用 tar 轻松存储和检索文件,

tar cf /dev/st0 somedirectory  

tar xf /dev/st0  

工作完美无缺。

但是,我真正想要备份的是 LVM LV。它们包含具有不同分区布局的整个虚拟机,因此使用 mount 和 tar 不是一个选择。

我试过用类似的东西

dd if=/dev/VG/LV bs=64k of=/dev/st0  

来实现这一点,但这种方法似乎存在各种问题。

首先,我希望能够在单个磁带上存储多个 LV。现在我想我可以尝试连接磁带上的数据,但我认为这在具有许多不同大小的 LV 的自动化场景中效果不佳。其次,我希望存储一个小的 XML 文件以及包含有关 LV 中包含的 VM 的一些信息的原始数据。

我可以将所有内容转储到一个目录中,然后将其打包起来——但这并不是很理想,因为我必须留出大量的临时空间。

有没有更简单的方法来实现这一点?

第三,通过谷歌搜索,似乎在写入磁带时使用 mbuffer 之类的东西是明智之举,以防止维基百科所说的“擦鞋”磁带。但是,我无法使用 mbuffer 做任何有用的事情。mbuffer 手册页建议这样做来写入磁带设备:

mbuffer -t -m 10M -p 80 -f -o $TAPE  

所以我尝试了这个:

dd if=/dev/VG/LV | mbuffer -t -m 10M -p 80 -f -d 64k -o /dev/st0  

请注意添加的“-d 64k”表示磁带的 64k 块大小。

但是,从以这种方式写入的磁带上读回数据似乎从未产生任何有用的结果 - dd 已经运行了很长时间,并且只能从磁带中传输 361M 的数据。

这里有什么问题?

相关内容