Copiando e restaurando o disco inteiro no Linux com dd

shape
shape
shape
shape
shape
shape
shape
shape

Todas as distribuições do Linux incluem um programa que nos dá a possibilidade de fazer cópias fidedignas de todo o disco ou partição, assim como também restaurar. Este é o comando “dd”.

Copiando o disco A para o disco B:

dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

Neste exemplo, estamos copiando todo o disco “/dev/sda” para o disco “/dev/sdb”.

bs=64K” é o tamanho do bloco. Quanto maior o tamanho do bloco, mais rápido será a transferência, porém se houver um erro qualquer, todo o bloco será comprometido. O tamanho de 64K é o suficiente para nos dar uma boa velocidade de transferência e ao mesmo tempo diminuir a propagação de um erro, caso exista.

conv=sync,noerror” ignora os erros e preenche com zeros em caso de algum erro.

Copiando o disco de um servidor remoto para o PC local:

ssh [email protected] "dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c " | dd of=/root/backup.img.gz

Neste exemplo, todo o disco do servidor remoto “/dev/sda” é copiado para o computador local e compactado com gzip.

Restaurando um arquivo de imagem com dd:

No exemplo anterior, copiamos o disco para o arquivo de imagem em “/root/backup.img.gz”. Para restaurar este arquivo de imagem no disco com dd executamos:

gunzip -c /root/backup.img.gz | dd of=/dev/sdb

OBS: Note que neste exemplo estamos assumindo que o sistema possui dois discos e está instalado em outra partição, diferente de /dev/sdb. Caso você sobrescreva o mesmo disco em que o seu sistema esteja instalado e em execução, o sistema ficará comprometido. O correto seria fazer o boot com uma Live Media contendo o backup, e então restaurar o disco.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *