Backup em fita DAT com multivolume (LTO3)

Backup em fita Dat com multivolume (LTO3) usando mt, mtx e tar num DELL PowerVault 124T.

[ Hits: 36.138 ]

Por: Joca (Altemir Braz Dantas Junior) em 10/02/2011


Scripts em shell para backup



Criei o diretório "scripts" e um arquivo fita.txt para saber qual fita irei começar a gravar.

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


Agora os scripts.

1. Crie o script backup_fita.sh com o conteúdo 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

Depois de salvar deixe ele como executável:

# chmod 700 /etc/scripts/backup_fita.sh

2. Criar o script que vai colocar a próxima fita disponível para gravação, 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 "FODEU 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

[]s
Joca

Página anterior    

Páginas do artigo
   1. Instalação
   2. Scripts em shell para backup
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Backup de máquinas virtuais no ESXi 5.0 com script ghettoVCB

Backup e restore para iniciantes

Implantando um Servidor de Backup com Bacula - Debian Squeeze

Bacula 7.4.3 - Instalação e configuração

Recovery de um desastre total | utilizadores Bacula "backup"

  
Comentários
[1] Comentário enviado por removido em 10/02/2011 - 21:29h

Muito bom. Parabéns. Já tive que fazer muito isso, queria ter encontrado estas informações antes. Valeu.



Abraço.

[2] Comentário enviado por paulorvojr em 11/02/2011 - 02:07h

Excelente! prefiro muito mais efetuar backup em fitas dat, lto e no braço, em scripts, nada de programinhas de backup modo gráfico sux.

muito boa a ajuda, ainda mais pra quem usa servers dell

mas, precisa mesmo de # apt-get install mt-st mtx?, ao implementar o server isso ja foi sanado, mas nada de mau fara o comando msm.

abraços

[3] Comentário enviado por removido em 11/02/2011 - 17:18h

Show!!! Parabéns!!!

[4] Comentário enviado por jocajuni em 14/02/2011 - 11:26h

Obrigado a todos,

entao respondendo ao Paulo, vc só vai necessitar rodar "apt-get install mt-st mtx" caso nao tenha eles instalados.

[]s
Altemir Braz Dantas Junior (Jocajuni)

[5] Comentário enviado por DanielVieceli755 em 14/02/2011 - 13:06h

Muito Bom.

Abraço

[6] Comentário enviado por kbcasagrande em 14/02/2011 - 19:59h

muito interessante...
mostra que não precisamos de ferramentas proprietarias com as da norton e HP

[7] Comentário enviado por marcelloconti em 01/07/2011 - 14:27h

Muito bom. Parabéns pelo artigo.

[8] Comentário enviado por lucaslst em 21/10/2011 - 08:59h

Testei todos os scripts e funcionou...mas fiquei com uma duvida. Caso eu rode para fazer backup de duas coisas diferentes, ao final do backup do segundo, ele sobrescreve o do primeiro. o que eu faco??

[9] Comentário enviado por jocajuni em 21/10/2011 - 10:35h

Caros Lucas, eu não sei se entendi direito.

Oque eu entendi foi vc rodou o backup multivolume blz ai sobrou espaco
e vc queria acrecentar mais coisas nesta outra fita ai vc quer saber se rodar o backup novamente sobreescreve?

Se for fazer novamente via script vc teria que comentar a linha de formatar a fita
#mt -f $DEV_DRIVE erase

e alterar a opção do tar -c para tar -t
tar -c -v -M -L $TAM_FITA --new-volume-script=/etc/scripts/script-multi.sh -f $DEV_DRIVE $DIRETORIO_BASE
ficaria
tar -t -v -M -L $TAM_FITA --new-volume-script=/etc/scripts/script-multi.sh -f $DEV_DRIVE $DIRETORIO_BASE


Se for soh para adicionar umas coisinhas que faltaram que nao tera que usar outra fita vc pode fazer manualmente
tar -t -v -f /dev/st0 /caminho_do_que_vc_vai_adicionar


[]s
Altemir Braz Dantas Junior (jocajuni)
http://acessa.me/@joca">http://acessa.me/@joca
http://acessa.me - crie seu atendimento online gratuito


[10] Comentário enviado por melorymonie em 06/09/2012 - 08:00h

Bom dia, esse comandos funcionam quando se trata de um robô de fitas?
No meu caso são fita LTO5.
Tentei usar esses comandos mas o resultado foi diferente.

#ls -ltr /dev/sg*
crw-rw---- 2 root tape 21, 3 Sep 6 05:17 /dev/sg3

Pelo ls acima, acredito que ele tenha reconhecido a tape. No Dmesg ele me informa também o modelo:

[ 6.533499] QLogic Fibre Channel HBA Driver: 8.03.01-k6
[ 6.533500] QLogic QLE2562 - PCI-Express Dual Channel 8Gb Fibre Channel HBA
[ 6.533501] ISP2532: PCIe (5.0GT/s x4) @ 0000:04:00.1 hdma+, host#=4, fw=4.04.00 (80)
[ 6.754790] scsi 1:0:0:0: Sequential-Access IBM ULT3580-HH5 B6W1 PQ: 0 ANSI: 6


# 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 = 20
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: Field in Error = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=yes
mtx: Request Sense: SKSV=yes
mtx: Request Sense: Field Pointer = 00 00
READ ELEMENT STATUS Command Failed

#mt -f /dev/sg3 rewind
/dev/sg3: Operation not permitted

Alguma sugestão?
Obrigada.

[11] Comentário enviado por jocajuni em 06/09/2012 - 10:55h

Execute esse comando e cole o resultado aqui

# lsscsi

caso nao tenha instale - Debian ou Distros baseadas nele

# apt-get install lsscsi


[]s
Joca

[12] Comentário enviado por melorymonie em 12/09/2012 - 19:06h

Ele reconhece corretamente a minha Tape.
Só para acrescentar, a tape está ligada a um servidor debian através de um cabo de fibra óptica.

lsscsi
[0:0:32:0] enclosu DP BACKPLANE 1.09 -
[0:2:0:0] disk DELL PERC 6/i 1.22 /dev/sda
[0:2:1:0] disk DELL PERC 6/i 1.22 /dev/sdb
[1:0:0:0] tape IBM ULT3580-HH5 B6W1 /dev/st0
[2:0:0:0] cd/dvd HL-DT-ST DVD+-RW GH70N A101 /dev/sr0

sudo tapeinfo -f /dev/st0
cannot open SCSI device '/dev/st0' - No medium found

$sudo mt -f /dev/st0 rewind
/dev/st0: No medium found

[13] Comentário enviado por newtec em 17/01/2014 - 08:49h


NÃO É NECESSÁRIO APAGAR A FITA ?

[14] Comentário enviado por celsoralima em 11/08/2015 - 11:02h


Olá, implementei um sistema de backup utilizando uma unidade de fita externa LTO 5 ULTRIUM 3000, ela é acompanha por uma placa SAS de controle. rodei o comando de busca dos dispositivos e ele me retornou o seguinte:
[ 6.612817] sd 0:0:0:1: Attached scsi generic sg2 type 0
[ 6.648377] scsi1 : hpsa
[ 6.651958] scsi 1:3:0:0: RAID HP P212 5.06 PQ: 0 ANSI: 5
[ 6.653725] scsi 1:2:0:0: Sequential-Access HP Ultrium 5-SCSI Z64D PQ: 0 ANSI: 6
[ 6.656088] scsi 1:3:0:0: Attached scsi generic sg3 type 12
[ 6.656270] scsi 1:2:0:0: Attached scsi generic sg4 type 1
[ 7.139588] st 1:2:0:0: Attached scsi tape st0
[ 7.173526] scsi2 : ahci
[ 7.174108] scsi3 : ahci
[ 7.174688] scsi4 : ahci
[ 7.175122] scsi5 : ahci
[ 7.175327] scsi6 : ahci
[ 7.175566] scsi7 : ahci
[ 8.869684] scsi 6:0:0:0: CD-ROM TEAC DV-W28S-VS G.V0 PQ: 0 ANSI: 5
[ 8.903590] sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
[ 8.933421] sr 6:0:0:0: Attached scsi CD-ROM sr0
[ 8.933656] sr 6:0:0:0: Attached scsi generic sg5 type 5
[ 3480.528405] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 3480.528409] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 3480.528441] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 3600.532119] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 3600.532123] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 3600.532152] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 3720.536057] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 3720.536061] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 3720.536092] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 3840.539964] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 3840.539969] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 3840.540002] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 3960.543720] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 3960.543724] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 3960.543756] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 4080.547601] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 4080.547605] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 4080.547634] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 4200.551482] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 4200.551487] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 4200.551518] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 4320.555385] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 4320.555389] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 4320.555421] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 4440.559085] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 4440.559090] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 4440.559122] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[ 4560.563031] [<ffffffff81504037>] ? scsi_dispatch_cmd+0xb7/0x290
[ 4560.563035] [<ffffffff8150c998>] ? scsi_request_fn+0x48/0x580
[ 4560.563067] [<ffffffffc02b3481>] st_do_scsi.constprop.20+0x291/0x370 [st]
[94579.762714] scsi8 : usb-storage 2-1:1.0
[94580.764196] scsi 8:0:0:0: Direct-Access Seagate Portable SF06 PQ: 0 ANSI: 4
[94580.764789] sd 8:0:0:0: Attached scsi generic sg6 type 0

Ao que entendi o que me interessa são essas linhas

[ 6.653725] scsi 1:2:0:0: Sequential-Access HP Ultrium 5-SCSI Z64D PQ: 0 ANSI: 6
[ 6.656270] scsi 1:2:0:0: Attached scsi generic sg4 type 1
[ 7.139588] st 1:2:0:0: Attached scsi tape st0

Mas no tutorial foi mencionado que foi "listado" (que comando ou onde devemos listar essas linhas para que o aplicativo entenda o que estamos tentando modular), duas combinações de linhas, uma para o dispositivo ser montado no "dev" st0 como "tape" e outra combinação para ser o "charger" que identifica em que canal a placa scsi está reconhecendo a unidade LTO (no meu caso é a sg4). O que não estou entendo é como eu devo fazer isso. E a outra linha que é mencionada para combinar com o charger eu não consegui identificar. Podem me ajudar?

[15] Comentário enviado por jocajuni em 11/08/2015 - 11:53h

Oi Celso o changer soh vai ter se vc tem se seu dispositivo aceita mais de 1 fita na unidade.
pelo que vi o seu soh aceita uma fita por vez.

Entao voce so ira usar os comandos mt e tar

[]s
Joca

[16] Comentário enviado por celsoralima em 19/08/2015 - 12:21h

ok Joca obrigado, vou adaptar seu tutorial à minha rotina e quando tiver algum resultado retorno com um comentário adicional.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts