sábado, 7 de março de 2015

Clonando discos e partições com o comando DD enviando a imagem via rede com SSH com barra de progresso




Olá !  Estou aqui para postar mais uma dica rápida.  Esta semana acabei precisando criar uma imagem 
do disco rígido  de um servidor porém  não seria  muito viável  paralisar   o equipamento e também não dispunha  de muito espaço para a imagem.

Analisando com cuidado eu tinha três necessidades principais. 


1ª Gerar a imagem com o equipamento trabalhando "a quente !"


2ª Criar uma imagem que ocupasse pouco espaço. 


3ª Enviar a imagem  pela rede de forma simples de preferencia via SSH. 

Então depois de analisar a situação  cheguei a  seguinte conclusão "Vou usar o comando DD  estou salvo !!!"  Mas ai eu lembrei,  e o espaço ? ai eu pensei   será que dá para compactar a imagem ? pesquisei um pouco e descobri da sim eba !!! Então resolvi  fazer teste em outro equipamento  para ver se daria certo ?

Tudo correu muito bem com  os comandos abaixo: 
 criar a imagem

dd if=/dev/sda | gzip -9f | ssh root@192.168.2.7 'dd of=/mnt/imagem.iso'


Restaurar imagem 

dd if=imagem.iso | zcat | ssh root@192.168.2.12 'dd of=/dev/sdb'


Tudo funcionou bem, gerou uma imagem 20 vezes menor que o meu HD até ai tudo beleza.
Porém, tive um pequeno problema durante o processo. O comando não deu nenhuma saída de quanto tinha copiado. No caso de um HD enorme com uma rede saturada isso gera uma certa expectativa então achei que seria interessante criar uma barra de progresso para poder monitorar o processo então resolvi 
usar o  comando pv para  monitorar a quantidade de dados copiados.  

para criar imagem com barra de progresso usamos o comando abaixo:


dd if=/dev/sda | pv | gzip -9f | ssh root@192.168.2.7 'dd of=/mnt/imagem.iso'


Para restaurar imagem com barra de progresso

dd if=imagem.iso | pv | zcat | ssh root@192.168.2.12 'dd of=/dev/sdb'



Bom gente espero que seja l essa dica seja tão útil para vocês quanto foi para mim até a próxima !!!