将虚拟机备份到磁带机

我有自己的一个奇特的磁带驱动器,惠普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 

要实现这一点,但似乎有与这种方法相关的各种问题。

首先,我希望能够在一盘磁带上存储超过1个LV。 现在我想我可以试图连接磁带上的数据,但是我觉得在一个有各种不同尺寸的不同LV的自动化场景中,这样做是不行的。 其次,我想存储一个小的XML文件以及包含关于LV中包含的虚拟机的一些信息的原始数据。

我可以将所有东西都转储到一个目录中,并且将其解决 – 不是很理想,我不得不放置大量的scratch空间。

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

第三,从网上search来看,在写入磁带时使用类似mbuffer的东西似乎是明智的,以防止维基百科称之为磁带“擦鞋”。 但是,我不能用mbuffer做任何有用的事情。 mbuffer手册页build议写入磁带设备:

 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的数据。

这里有什么问题?