Usando o dd para fazer backup do disco para o mesmo disco

3

Eu tentei usar dd para fazer backup do disco rígido do meu computador, mas encontrei alguns resultados bastante confusos. Eu vi em várias fontes (por exemplo: link , link ) que incluem algo do tipo:

dd if=/dev/sda of=~/backup.img

1) A menos que eu esteja muito confuso, isso vai tentar fazer o backup de todo o disco em um arquivo no disco, não é?

Eu tentei usar esse método, mas primeiro compactei a saída para economizar espaço. Para impedir que o arquivo compactado ocupasse um monte de espaço tentando copiar todos os dados livres, usei zerofree para gravar 0s em todo o espaço não utilizado do meu disco. Meu disco tem uma capacidade total de ~ 320GB, e cerca de 100GB são usados, deixando ~ 220GB livres.

Quando tentei usar o seguinte comando:

dd if=/dev/sda | gzip -c > ~/image.img.gz

O arquivo de backup atingiu um tamanho de ~ 160 GB antes de eu sair do backup (com a intenção de descobrir como fazer o backup em um disco externo, uma tarefa que já tive sucesso).

2) Por que o backup ocuparia tanto espaço? É porque dd vê o arquivo para o qual ele está escrevendo e depois tenta fazer o backup? Ou é possível que eu não tenha conseguido usar zerofree corretamente, e então há apenas um monte de lixo eletrônico sendo copiado, apesar dos meus esforços para impedir que isso aconteça?

    
por Ben Sandeen 01.10.2015 / 18:29

1 resposta

3

Você não pode duplicar com precisão um disco rígido enquanto ele está sendo modificado.

Unless I'm very confused, this will try backing up the entire disk to a file on the disk, won't it?

Sim, vai tentar. O comando dd lerá um bloco (da unidade), comprimirá o bloco, gravará o bloco (em um arquivo dessa unidade) e passará para o próximo bloco. A imagem terá os ponteiros do sistema de arquivos parcialmente escritos backup.img e parcialmente gravados nesse arquivo.

Observação: simplifiquei bastante o buffer de tubulação entre dd e gzip , pois os detalhes não são relevantes aqui.

Why would the backup take up so much space?

A causa provável é que ele está tentando copiar o arquivo backup.img parcialmente gravado. Outros fatores requerem conhecimento avançado das estruturas do sistema de arquivos para o sistema de arquivos que você está usando.

    
por 01.10.2015 / 19:58