Mais um post preparatório para o Bacula :D


Pergunta simples: Como faço backup em fita no Linux?
Quando alguém faz uma pergunta, duas coisas vem na minha mente:


  • Ela não tem nenhuma ferramenta profissional configurada
    • Eu não quero configurar porra nenhuma, eu só quero gravar! ONLY THIS!!!
  • Ela quer fazer isso o mais breve possível
    • Comandos! Preciso de comandos!!!


Então... Depois de você identificar seu dispositivo de fita(caso tenha dúvidas, consulte o post anterior (http://rauhmaru.blogspot.com/2011/06/convencao-de-nome-de-tape-drives-no.html), é hora de "meter mão" :D


Nesse post será mostrado como configurar o seu autochanger.

O marco zero é fazer o hardware funcionar. Para fazer funcionar, você tem de conhecer.





O'RLY?
YA! RLY!
NO WAI!
YA! WAI!
I SEE!

OH! RLY?












Autochangers

Dell PowerVault 124T


Se você possui um autochanger (um dispositivo capaz de mover as fitas (sim, as fitas! Ele possui uma biblioteca para armazenamento de fitas dentro do próprio equipamento), você precisará primeiramente fazer o dispositivo de movimentação de fitas funcionar. O método fácil de fazer a identificação desse dispositivo é usando o comando lsscsi.
Vamos a um exemplo. O meu autochanger é um Dell PowerVault 124T. O output a seguir é do comando lsscsi:


[0:2:0:0]    disk    DELL     PERC H700        2.10  /dev/sda 
[1:0:0:0]    cd/dvd  TEAC     DVD-ROM DV-28SW  R.2A  /dev/sr0 
[3:0:0:0]    tape    IBM      ULTRIUM-HH3      93G7  /dev/st0 
[3:0:0:1]    mediumx DELL     PV-124T          0080  /dev/sch0
[6:0:0:0]    disk    Hitachi  HDS721010CLA332        /dev/sdb 



A linha verde mostra um disco rígido SATA;
A linha azul mostra um drive de DVD;
A linha laranja mostra o drive de fita, tipo auto rewind;
A linha vermelha é o nosso alvo. É o library. O dispositivo é o /dev/sch0.
A linha roxa é um disco SATA, externo

O Bacula tem como pré-requisito a configuração do comando mtx. Caso você não o configure, eis o erro que você tomará na cara assim que invocar o mtx:

belldandy:~ # mtx status

mtx: Request Sense: Long Report=yes
mtx: Request Sense: Valid Residual=no
mtx: Request Sense: Error Code=70 (Current)
mtx: Request Sense: Sense Key=Illegal Request
mtx: Request Sense: FileMark=no
mtx: Request Sense: EOM=no
mtx: Request Sense: ILI=no
mtx: Request Sense: Additional Sense Code = 49
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=no
mtx: Request Sense: SKSV=no
Mode sense (0x1A) for Page 0x1D failed
mtx: Request Sense: Long Report=yes
mtx: Request Sense: Valid Residual=no
mtx: Request Sense: Error Code=70 (Current)
mtx: Request Sense: Sense Key=Hardware Error
mtx: Request Sense: FileMark=no
mtx: Request Sense: EOM=no
mtx: Request Sense: ILI=no
mtx: Request Sense: Additional Sense Code = 44
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=no
mtx: Request Sense: SKSV=no
READ ELEMENT STATUS Command Failed 

Se esse é o seu output, zivudel manel :D Configure sua porra pra facilitar sua vida. O mtx requer que o seu dispositivo do changer esteja apontando para o dispositivo virtual /dev/changer. Esse procedimento é simples de se fazer, você precisa apenas usar o comando ln para criar o link do (no meu caso) /dev/sch0 para o /dev/changer:
ln -s /dev/sch0 /dev/changer
Após isso, vejamos a saída do mesmo comando:

Belldandy:~ # mtx status
  Storage Changer /dev/changer:1 Drives, 8 Slots ( 0 Import/Export )
Data Transfer Element 0:Full (Storage Element 6 Loaded):VolumeTag = 000011L3                        
      Storage Element 1:Full :VolumeTag=000010L3                        
      Storage Element 2:Full :VolumeTag=000002L3                        
      Storage Element 3:Full :VolumeTag=000003L3                        
      Storage Element 4:Full :VolumeTag=000004L3                        
      Storage Element 5:Full :VolumeTag=000005L3                        
      Storage Element 6:Empty
      Storage Element 7:Empty
      Storage Element 8:Full :VolumeTag=000001L3

O PV-124T possui 1 driver e 8 slots, com possibilidade de expansão. Nesse exemplo, temos uma fita no seu drive (slot 0) e 6 nos outros slots. Os slots 6 e 7 estão vazios (Douh!).


Após essa configuração e teste, vejamos agora como ficou o lsscsi. Vamos mostrar o output full, com o comando lsscsi -g:



[0:2:0:0]    disk    DELL     PERC H700        2.10  /dev/sda   /dev/sg1
[1:0:0:0]    cd/dvd  TEAC     DVD-ROM DV-28SW  R.2A  /dev/sr0   /dev/sg2
[3:0:0:0]    tape    IBM      ULTRIUM-HH3      93G7  /dev/st0   /dev/sg3
[3:0:0:1]    mediumx DELL     PV-124T          0080  /dev/sch0  /dev/changer
[6:0:0:0]    disk    Hitachi  HDS721010CLA332        /dev/sdb   /dev/sg0

A partir daqui, você já poderá configurar seu Bacula tranquilamente ou até mesmo fazer backups manualmente, que é o tema do nosso próximo post.

ps: Na verdade, esse post seria demonstrando como fazer o backup na mão, utilizando o tar e o mt, mas depois lembrei que em hardwares autochangers precisam estar configurados corretamente. Se eles não estiverem, nem um passo é dado. É uma merda! :P

Até :D