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.125 ]

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

TimeShift - Restaure seu Linux com eficiência

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

Bacula Server 7.0.3 com PostgreSQL no Debian

Clonando e Salvando Todos os Linux de um Disco Rígido para um HD Portátil Usando Gparted

Instalando FreeNAS 8.3.0 e criando Storage iSCSI

  
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