Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Backup multivolume em um DELL PowerVault 124T

Colaboração: Altemir Braz Dantas Junior

Data de Publicação: 03 de fevereiro de 2011

  1. Instalando os pacotes necessários. Como uso Debian:

      # apt-get install mt-st mtx
    

  2. Verificando se o linux reconheceu o driver:
      # dmesg | grep scsi
      
      [ 1.343286] scsi0 : sata_via
      [ 1.354041] scsi1 : sata_via
      [ 1.748725] scsi 0:0:0:0: Direct-Access ATA ST32000542AS CC34 PQ: 0 ANSI: 5
      [ 2.132693] scsi 1:0:0:0: Direct-Access ATA ST32000542AS CC34 PQ: 0 ANSI: 5
      [ 2.352554] scsi2 : ioc0: LSI53C1020A A1, FwRev=01032700h, Ports=1, MaxQ=255, IRQ=24
      [ 4.507518] scsi 2:0:6:0: Sequential-Access IBM ULTRIUM-TD3 93G6 PQ: 0 ANSI: 3
      [ 4.507588] scsi 2:0:6:0: Information Units disabled by blacklist
      [ 4.507649] scsi target2:0:6: Beginning Domain Validation
      [ 4.549424] scsi target2:0:6: Ending Domain Validation
      [ 4.549555] scsi target2:0:6: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 127)
      [ 4.556469] scsi 2:0:6:1: Medium Changer DELL PV-124T 0075 PQ: 0 ANSI: 2
      [ 59.901052] ch 2:0:6:1: Attached scsi changer ch0
      [ 59.901625] st 2:0:6:0: Attached scsi tape st0
      [ 60.058964] sd 0:0:0:0: Attached scsi generic sg0 type 0
      [ 60.059805] sd 1:0:0:0: Attached scsi generic sg1 type 0
      [ 60.060737] st 2:0:6:0: Attached scsi generic sg2 type 1
      [ 60.062052] ch 2:0:6:1: Attached scsi generic sg3 type 8
    
    No meu caso listei o drive no device /dev/st0:
      [ 4.507518] scsi 2:0:6:0: Sequential-Access IBM ULTRIUM-TD3 93G6 PQ: 0 ANSI: 3
      [ 59.901625] st 2:0:6:0: Attached scsi tape st0
    
    e o listei o changer no device /dev/sg3
      [ 4.556469] scsi 2:0:6:1: Medium Changer DELL PV-124T 0075 PQ: 0 ANSI: 2
      [ 60.062052] ch 2:0:6:1: Attached scsi generic sg3 type 8
    
  3. Caso nao encontre nada levante os modulos st mptbase mptscsih e verifique de novo no dmesg
      # modprobe st
      # modprobe mptbase
      # modprobe mptscsih
    
  4. Criei um link do sg3 para changer pois o comando mtx por padrao procura nele # ln /dev/sg3 /dev/changer

Agora alguns comandos para seu conhecimento

mtx: control SCSI media changer devices

  # mtx status
  
  Storage Changer /dev/changer:1 Drives, 8 Slots ( 0 Import/Export )
  Data Transfer Element 0:Empty
  Storage Element 1:Full :VolumeTag=000011L3
  Storage Element 2:Full :VolumeTag=000012L3
  Storage Element 3:Full :VolumeTag=000013L3
  Storage Element 4:Full :VolumeTag=000014L3
  Storage Element 5:Full :VolumeTag=000015L3
  Storage Element 6:Full :VolumeTag=000016L3
  Storage Element 7:Full :VolumeTag=000017L3
  Storage Element 8:Empty

Acima mostra que nao existe nenhuma fita no drive aonde vamos gravar o backup e tem 8 Slot no meu caso no Left Magazine com 7 fitas na espera

  becape:~# mtx load 1 0

Faz com que a fita que esta no "Storage Element 1" vai para o drive "Data Transfer Element 0" ficando assim

  becape:~# mtx status
  Storage Changer /dev/changer:1 Drives, 8 Slots ( 0 Import/Export )
  Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = 000011L3
  Storage Element 1:Empty
  Storage Element 2:Full :VolumeTag=000012L3
  Storage Element 3:Full :VolumeTag=000013L3
  Storage Element 4:Full :VolumeTag=000014L3
  Storage Element 5:Full :VolumeTag=000015L3
  Storage Element 6:Full :VolumeTag=000016L3
  Storage Element 7:Full :VolumeTag=000017L3
  Storage Element 8:Empty

Para retornar a fita do drive para o Storage numero 1 uso o unload 1 0

  # mtx unload 1 0

voce pode sempre verificar com o mtx status. entao para colocar a fita 7 no drive vc executaria

  mtx load 7 0

e para voltar no mesmo lugar

  mtx unload 7 0

Voce pode tmb tranferir a fita de um lugar do Storage Element para outro. ex tranferir do 7 para o 8

  mtx transfer 7 8

Voce pode tmb inverter a posicao das fitas com o invert

  mtx invert 4 3

Existe tambem o mtx next que tira a fita do drive e coloca a proxima fita no drive usando a sequencia do Storage

para mais informacoes

  # man mtx

mt: control magnetic tape drive operation

os mais importantes

  # mt -f /dev/st0 rewind (rebobinar a fita)
  # mt -f /dev/st0 erase (formatar a fita)
  # mt -f /dev/st0 eject (ejetar a fita)

para mais informacoes

  # man mt

tar: The GNU version of the tar archiving utility

  # tar -c -v -M -L 417333248 --new-volume-script=/etc/scripts/script-multi.sh -f /dev/st0 /diretorio-a-ser-becapeado
-c cria
-v verbose
-M opcao multivolume
-L tamanho que sera gravado para pedir outra fita N*1024
--new-volume-script=/etc/scripts/script-multi.sh na hora que ele acabar de gravar aquela quantidade estipulada no -L e faltar arquivo para gravar ele chama o script
-f o arquivo aonde vai gravar

para listar os arquivos com multivolume

  # tar -t -v -M -f /dev/st0

para recuperar um arquivo

  # tar -x -v -M -f /dev/st0 arquivo_a_ser_recuperado

Com essas informacoes criei um script em shell para fazer o backup

criei o diretorio scripts e criei um arquivo fita.txt para saber qual fita eu irei comecar a gravar

  becape:~# mkdir /etc/scripts
  becape:~# echo 1 > /etc/scripts/fita.txt
  becape:~# cd /etc/scripts

Agora os scripts

  1. crie o script do backup_fita.sh com o conteudo abaixo
      #!/bin/bash
      
      #diretorio que vai ser gravado na fita
      DIRETORIO_BASE=/backup
      DEV_CHANGER=/dev/sg3
      DEV_DRIVE=/dev/st0
      #CAPACIDADE DA FITA N*1024 bytes
      TAM_FITA="417333248"
      FITA=$(cat /etc/scripts/fita.txt);
      PROX=$(($FITA+1))
      
      if [ ! -c /dev/changer ];then
      ln $DEV_CHANGER /dev/changer
      fi
      
      #coloca a fita 1 no drive
      mtx load $FITA 0
      
      #Guardo num arquivo texto qual sera a proxima fita
      echo $PROX > /etc/scripts/fita.txt
      
      ### Apaga o Disco - caso tenha que apagar a fita descomente a linha abaixo
      #mt -f $DEV_DRIVE erase
      
      # cria o tar com multivolume (-M) com o tamanho $TAM_FITA (-L)
      # caso o backup seja maior que o tamanho definido ele chama o script /etc/scripts/script-multi.sh
      # aonde sera retirado a fita do drive e colocando outra (--new-volume-script=/etc/scripts/script-multi.sh )
      tar -c -v -M -L $TAM_FITA --new-volume-script=/etc/scripts/script-multi.sh -f $DEV_DRIVE $DIRETORIO_BASE
    
    Após salvar, altere suas flags de permissão para torná-lo executável:

      becape:~# chmod 700 /etc/scripts/backup_fita.sh
    

  2. Criar o script que vai colocar a proxima fita disponivel para gravacao script-multi.sh
      #!/bin/bash
      
      FITA=$(cat /etc/scripts/fita.txt);
      PROX=$(($FITA+1))
      ANT=$(($FITA-1))
      
      
      echo $PROX > /etc/scripts/fita.txt
      
      #no meu caso tenho 7 fitas por isso se tiver gravando ainda e for para 8 fita ferrou rsrsr
      if [ $FITA -eq 8 ]; then
      echo "mtx unload $ANT 0"
      mtx unload $ANT 0
      echo "FERROU, NAO TEM MAIS FITA DISPONIVEL"
      exit;
      else
      echo "mtx unload $ANT 0"
      mtx unload $ANT 0
      echo "mtx load $FITA 0"
      mtx load $FITA 0
      fi
    

Veja a relação completa dos artigos de Altemir Braz Dantas Junior

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.92/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 2.9 /5 (1079 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental