dd para fazer backup e restaurar um sistema completo

2

Eu uso um notebook com o Mint Linux e, por alguns dias, usarei o Windows. Então, eu gostaria de "salvar" meu sistema operacional e depois colocá-lo novamente na mesma unidade.

Está usando criptografia de disco completo (aquela que vem por padrão na instalação do Mint).

Iniciando um CD ao vivo com o Linux e criando uma cópia com algo como:

dd if=/dev/sda of=/media/externalhd/mint.img

[Aqui eu formato e adiciono janelas] e depois que eu termino, inicializo com um live CD novamente e faço:

dd if=/media/externalhd/mint.img of=/dev/sda

Deve funcionar, certo?

    
por Daniel Oliveira 22.09.2016 / 19:28

2 respostas

1

Os seus comandos estão bem e, como foi salientado, isto também salvará todo o espaço vazio no seu disco. No entanto, se você escolher a opção de limpeza segura quando você instalou o sistema, o espaço vazio da unidade estará cheio de ruído aleatório, então a compactação da saída lhe renderá muito pouco.

Você deve usar um tamanho de bloco maior para a cópia e evitar poluir o cache de buffer do sistema para tornar as leituras brutas mais rápidas.

  • As opções dd iflag = direct ou oflag = leitura direta ou diretamente do dispositivo ignorando a camada de cache do Linux.
  • A opção dd bs (tamanho do bloco) informa ao dd quantos dados ler ou gravar de uma vez, os discos modernos funcionam muito mais rápido com grandes blocos de dados.

A compactação é intensiva da CPU e o gzip usa apenas um único núcleo, o que significa que esse provavelmente será o fator limitante da velocidade da cópia. Usar o pigz, que usa todos os núcleos da CPU, irá torná-lo mais rápido, mas ainda assim poderá estar ligado à CPU.

Como um parque de bolinhas com um CPU moderno, eu usaria a compactação se o espaço de armazenamento fosse um problema ou se você estivesse conectado por algo mais lento que o USB2. As redes USB3, SATA ou 100Mbit + quase certamente serão mais rápidas que o gzip, por isso não ganharão velocidade, mas poderão economizar espaço.

Os comandos que eu usaria no caso de conexão lenta ao armazenamento (ou seja, 10Mbit ethernet ou USB1 / 2) ou falta de espaço são:

dd if=/dev/sda bs=1M iflag=direct | pigz -c > /media/external/image.sda.gz

Se você tiver uma conexão rápida com armazenamento e o espaço usado não for um problema, usarei o seguinte comando:

dd if=/dev/sda of=/media/external/image.sda.raw oflag=direct iflag=direct bs=1M
    
por 22.09.2016 / 20:49
0

Funciona, mas não é o melhor caminho. A imagem será muito grande devido aos zeros nos dados brutos. Se você quiser evitar esse comportamento, pode fazer algo assim:

  dd if=/dev/sda | gzip > /media/externalhd/backup.img.gz

O Gzip sabe que os zeros não precisam ser considerados na imagem, mas apenas contados, então a imagem será menor, especialmente se você tiver algum espaço livre no disco, mais isso com a compressão gzip, então é melhor .

    
por 22.09.2016 / 20:14

Tags