Eu tenho uma dessas unidades de fita sofisticadas, a HP LTO2 com cartuchos de 200/400 GB. O driver st reporta assim:
scsi 1:0:0:0: Sequential-Access HP Ultrium 2-SCSI T65D
Eu posso armazenar e recuperar arquivos como um encanto usando tar, ambos
tar cf /dev/st0 somedirectory
e
tar xf /dev/st0
trabalhe sem falhas.
No entanto, o que eu realmente gostaria de fazer é o LVM LVM. Eles contêm máquinas virtuais inteiras com layouts de partição variados, portanto, usar mount e tar não é uma opção.
Eu tentei usar algo como
dd if=/dev/VG/LV bs=64k of=/dev/st0
para conseguir isso, mas parece haver vários problemas associados a essa abordagem.
Primeiramente, gostaria de poder armazenar mais de 1 LV em uma única fita. Agora eu acho que poderia procurar concatenar os dados na fita, mas acho que isso não funcionaria muito bem em um cenário automatizado com muitos LVs diferentes de vários tamanhos. Em segundo lugar, gostaria de armazenar um pequeno arquivo XML junto com os dados brutos que contêm algumas informações sobre a VM contida no LV.
Eu poderia despejar tudo em um diretório e distribuí-lo - não muito desejável, eu teria que separar grandes quantidades de espaço de rascunho.
Existe uma maneira mais fácil de conseguir isso?
Em terceiro lugar, de googling em volta parece que seria sensato usar algo como mbuffer ao gravar na fita, para evitar o que a wikipedia chama de "engraxar" a fita. No entanto, não consigo nada útil com o mbuffer. A página man do mbuffer sugere isso para gravar em um dispositivo de fita:mbuffer -t -m 10M -p 80 -f -o $TAPE
Então eu tentei isso:
dd if=/dev/VG/LV | mbuffer -t -m 10M -p 80 -f -d 64k -o /dev/st0
Observe o "-d 64k" adicionado para explicar o tamanho do bloco de 64k da fita.
No entanto, a leitura de dados de uma fita gravada dessa maneira nunca parece produzir resultados úteis - o dd já está sendo executado há tempos e conseguiu transferir apenas 361M de dados da fita.
O que há de errado aqui?