У меня есть один из этих модных ленточных накопителей, HP LTO2 с картриджами 200/400 ГБ. Драйвер 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. Они содержат целые виртуальные машины с различным макетом разделов, поэтому использование монтирования и tar не является вариантом.
Я пробовал использовать что-то вроде
dd if=/dev/VG/LV bs=64k of=/dev/st0
чтобы достичь этого, но, похоже, с этим подходом связаны различные проблемы.
Во-первых, я хотел бы иметь возможность хранить более 1 LV на одной ленте. Теперь я думаю, я мог бы попытаться объединить данные на ленте, но я думаю, что это не очень хорошо сработает в автоматизированном сценарии с множеством различных LV разного размера. Во-вторых, я хотел бы сохранить небольшой XML-файл вместе с необработанными данными, которые содержат некоторую информацию о виртуальной машине, содержащейся в LV.
Я мог выгрузить все в каталог и архивировать его - не очень желательно, мне пришлось бы выделить огромное количество рабочего места.
Есть ли более простой способ добиться этого?
В-третьих, из-за поиска в Google кажется, что было бы разумно использовать что-то вроде 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 уже давно работает и смогла передать с ленты только 361 мегабайт данных.
Что здесь не так?