backup corporativo
TRANSCRIPT
Backup Corporativo Soluções baseadas em software livre
Thiago Nóbrega
Sumário
● Introdução– Definição– Motivação
● Fundamentação Teórica– Conceitos básicos– Por onde começar
● Soluções– Ferramentas
Introdução
Definição Formal
“Backup é uma copia de um conjunto de dados em um determinado ponto no tempo.”
- Chapa , David A.
Por que fazer backup?
● Falhas de hardware● Desastres Naturais / Não Naturais● Contrato (SLA)● Obrigação legal
Por que fazer backup?
● Erro humano
Fundamentação Teórica
Pontos importantes
Café é derrubado no servidor
● Tempo de recuperação ● Ponto de recuperação
Tempo de recuperaçãoPonto de recuperação
06h12h18h24h 2h50h15m
Tipos de backups
● Full
FULL
INC
INC
Mar 1 Mar 2 Mar 3
● Diferencial
● Incremental
FULL
DIF
Mar 1
Mar 2
Mar 3DIF
DIF Mar 4
Tipos de backup
Volume de dados Recuperação Execução
Full ✩ ✩✩✩✩✩ ✩Incremental ✩✩✩✩✩ ✩✩ ✩✩✩✩✩Diferencial ✩✩✩✩ ✩✩✩ ✩✩✩
*Execução não leva em conta o processamento apenas a transferência do arquivo.
Meios de mover os dados
● Arquivos● Blocos
MITO
RAID NÃO É BACKUP
Por onde começar ?
● Importância do sistema para a empresa
● A velocidade que o sistema deve ser restaurado
●E os pontos de recuperação do sistema
●Quais sistemas dependem deste
●O impacto financeiro
●SLA do sistema
Bussines Impact analysis ( BIA )
Variáveis importantes
● Volume de dados– Freqüência– Retenção do backup– Taxa de crescimento
● Backup Externo ( off-site )– Quantas cópias?– Quanto tempo?
● Segurança
Estimando espaço ( Full Backup )
D = volume de dados inicialTr = Tempo de retenção dos dadosFf = Freqüência do backup full
F=D⋅Tr /Ff
O backup do servidor cvs ( na maquina linguado ) com um volume máximo de dados de 100MB feito uma vez por semana , e que os dados tem que ser guardados por 28 dias.
servidor serviço volume de dados freqüência retençãolinguado CVS 100MB 7 dias 28 dias
F=100⋅28 /7
F=400MB
Estimando espaço ( Full Backup )
Volume total de dados ao longo do tempo
Estimando espaço (Incremental)
Para o mesmo serviço anterior vamos fazer o backup incremental diferencial diário com retenção de 14 dias e taxa de crescimento de 10% ao dia.
D = volume de dados inicialp = Taxa de dados alteradosTr = Tempo de retenção dos dadosFf = Freqüência do backup fullIr = Retenção do backup incremental
Di=pD∗Ir 1−1 /Ff
Di=0,1∗D∗14 1−1 /7 Di=0,1∗D∗14 0,857142857Di=1,2D
Estimando espaço (Incremental)
Volume total de dados ao longo do tempo
Estimando espaço ( Diferencial )
D = volume de dados inicialp = Taxa de dados alteradosFf = Freqüência do backup fullIr = Retenção do backup diferencialIf = Freqüência do backup diferencialDiff = tamanho backup diferencial
Diff =Ir /Ff p⋅D⋅∑n=1
Ff−1
nDiff =7/7 0,1⋅D⋅∑
n=1
6
nDiff=1⋅0,1⋅D⋅21
Diff =2,1D
Estimando espaço (Diferencial)
Volume total de dados ao longo do tempo
Próximos Passos● Identificar redes envolvidas
– Banda– Performance
● Definir hardware de backup– Fita– Disco – NAS– Data center
● Documentar● Testar ...
Teste
● Testar antes de precisar realmente– Os dados estão realmente sendo
salvos?– Faça um restore numa máquina teste
Problemas
● Custo● Espaço
– Espaço utilizado por usuário– Políticas de utilização– Alternativas custo/benefício
● Desempenho
Os 5 Passos
Passo 1
Passo 2
Passo 2: Analisar o BIA
Passo 1: Elaborar o BIA
Passo 3
Passo 4
Passo 5
Passo 3: Elaborar rotinas de recuperação
Passo 4: Implementar / Atualizar
Passo 5: Testar
Soluções
Ferramentas
● tar● dd● rsync● losetup / geom ( criptografia )● bacula
Ferramentas - dd
dd stands for clear copy● Copia blocos
Ferramentas - dd
● Backup Full da partição#dd if=/dev/hda5 of=/backup/hd5.iso
● Backup Full compactado#dd if=/dev/hda5 | gzip > /backup/hd5.iso.gz
● Back Full do hda da server_1 para a maquina local
#ssh server_1 dd if=/dev/hda | dd of=/backup/hda_server1.iso
#dd if=/dev/hda4 | ssh server_1 dd of=/backup/hd5.iso
Ferramentas - tar
● Stands for tape archive● "do only one thing" (archive), "but
do it well"● Usado geralmente com:
– ssh– gzip || bzip2
Ferramentas - tar
● tar + bzip#tar jcv etc.tar.bz /etc
● tar + ssh#tar cv - /dirToBackup | ssh storage1 'cat > /backup/b1.tar'
● tar + gzip + ssh#tar zcv - /dirToBackup | ssh storage1 'cat >/backup/b1.tar.gz'
Ferramentas - rsync
● Feito para economia de banda e eficiência
● Estratégia– Dividir em chunks de tamanho t– Checksums dos chunks (32 e 128
bits)– Comparação desses checksums– A cópia é feita de acordo com essa
comparação
Ferramentas - rsync
● Backup full#rsync -progtvl /home/ /backup/
#rsync -progtvl -e ssh /home/ storage:/backup
● Backup Incremental#rsync -progtvl –compare-dest = last_backup/ workspace/ inc_backup
● Guardar arquivos apagados● Fazer sys links para o incremental
Criptografar partição
● BSD– GEOM
● Linux– losetup ( cryptoloop )
ex :Montar
#losetup -e AES /dev/loop0 /dev/hda6
#mkfs.ext2 /dev/loop0
#mount -t ext2 /dev/loop0 /mnt/hda6
Desmontar
#umount /mnt/hda6
#losetup -d /dev/loop0
Ferramentas - Bacula
● Ferramenta de backup distribuído– Bacula-Director– Bacula Storage Service– Bacula File Service ( win / unix )
● Catalog– MySQL, PostgreSQL ou SQLite– Permite achar e restaurar
rapidamente arquivos
Ferramentas - Bacula
Ferramentas - Bacula
● Vangatens– Interface modo texto muito boa– Base de dados SQL bem fácil de ser
entendida ( Online viewing )– Altal escalabilidade
● Desvantagen– Ainda não achei ...
Dúvidas?
Obrigado
Thiago Nóbrega
– thiagonobrega at gmail .com– http://thiagonobrega.googlepages.com/
– http://pb.homeunix.org
Obrigado Moises Rodrigues por ter ajudado na elaboração desta palestra