quarta-feira, 22 de dezembro de 2010

Evitando a perda de dados - Backup via rede com DD e Netcat


Caro leitor, vou mostrar nesse pequeno tutorial uma forma simples e rapidada de fazer backup (clone ou imagem em arquivo) de um hd onde rode um sistema linux. O diferencial desse tutorial é que o backup é feito pela rede...
Vale lembrar que o backup é um topico importante no que se diz respeito a segurança da informação, e a empresa sempre deve ter uma politica bem definida com relação a isso.
Dentre as vantagens que o backup traz consigo é a certeza de que os dados estarão disponiveis e seguros em outras midias (de preferencia externa e longe do local onde a base de dados esta instala) para poderem ser restauradas caso ocorra qualquer avaria na base de dados principal, seja ela proveniente de erros de hardware ou software.

Com base nessas premissas, demosntrarei em um passo a passo como configurar um backup de forma segura e confiavel por meio de rede (LAN).

=> PRIMEIRO PASSO (CONFIGURAÇÃO NA MAQUINA DE DESTINO)
Verificar se o netcat esta instalado em sua estação ou servidor. Caso nao esteja instalado, use o apt para instala-lo:

apt-get install nc

Outra coisa importante é escolher uma porta para configurar o nosso backup la no computador de destino... no link http://www.gamboas.com.br/Scripts/portas.asp tem uma lista com as portas TCP e UDP que podem ser usadas, no nosso caso tem que ser TCP no protocolo...

Configurando o netcat para escutar na porta 15 - # nc -l -p | dd of = /dev/sda (levando em consideração que o disco rígido é sda ao inves de hda):

# nc -l -p 15 | dd of=/dev/sda
=> SEGUNDO PASSO (CONFIGURAÇÃO NA MAQUINA DE ORIGEM)
Enviando o conteúdo do disco para o PC de destino - "# dd if = /dev/sda | nc "

# dd if=/dev/sda | nc 192.168.0.253:15

=> TERCEIRO PASSO
Na maquina de Origem, abriremos um novo shell, no caso do Debian basta apertar ALT+ (->) ou ALT + F2. Nessa nova sessão que abrimos, vamos gerar os dados TCP na placa de rede, aqui na minha rede é a eth1:

tcpdump -tnli eth1 port 15

Uma outra opção, é criar apenas uma "imagem" do hd, que podemos restaurar sempre que necessário através do arquivo gerado no processo, mudando apenas o caminho:

# nc -l -p 15 | dd of=backupsda.img

Vale lembrar que como no caso do uso do dd localmente, (clone de um hd para outro na mesma maquina) a regra sobre o tamanho do hd destino ser do mesmo tamanho ou maior que a origem continua vigorando, uma vez que o dd copia bit a bit, na mesma sequência e posicionamento no disco.

Ta aí a dica, espero ter ajudado... em complemento a dica, cabe ao administrador de redes e sistemas definir a frequência em que esse backup será realizado, podendo ser automatizado por rotinas de shell script, que pode vir a ser o tema de um futuro post, dependendo do retorno dos leitores.

Referencial teórico:
http://www.forum-invaders.com.br/vb/showthread.php/12164-Netcat
http://www.howtoforge.com/ghosting-the-machine
http://www.gamboas.com.br/Scripts/portas.asp
http://www.vivaolinux.com.br/topico/Iniciantes-no-Linux/Comando-dd

Nenhum comentário:

Postar um comentário