Por que o clone do disco usando o dd ocupa mais espaço do que o tamanho real dos dados?

1

Estou tentando clonar um disco usando o comando dd . Meu tamanho de disco de entrada é 1Tb, que é apenas 10% preenchido. Meu tamanho de disco de saída é de 300 Gb, que é mais do que eu esperava clonar.

Mas depois da clonagem, pude ver esta mensagem: %código%.

Isto é um pouco estranho como 10% do 1Tb preencheram 300Gb de espaço. Alguém pode me explicar isso, por que isso aconteceu? Meus dados foram corrompidos?

    
por ikis 21.04.2016 / 21:49

3 respostas

4

Se o seu dispositivo de entrada ( if= ) tiver 1TB, o nosso arquivo de saída ( of= ) também será 1TB.

dd é uma ferramenta de nível muito baixo que simplesmente copia TODOS os bytes do fluxo de entrada para o fluxo de saída, independentemente de quais são os dados ou se estão alocados. Isso inclui até setores vazios ( 0x00 ) e aqueles com lixo neles. Não se preocupa com as estruturas de dados de alto nível que representam "arquivos", "diretórios", etc.

Se o seu objetivo é obter um clone bye-by-bye exato do disco de 1TB, você precisará enviar os dados por meio de um algoritmo de compactação como bzip2 para ajustá-lo em um disco menor.

Se o seu objetivo é apenas fazer backup de seus dados, o dd não é a ferramenta adequada para isso. Você vai querer usar tar ou alguma outra ferramenta de arquivamento.

    
por 21.04.2016 / 23:00
1

dd copia o disco subjacente diretamente, não o sistema de arquivos. Não sabe sobre blocos alocados ou espaço não utilizado.

Se você deseja capturar apenas o sistema de arquivos, e é um sistema de arquivos Linux EXTx que não está montado, sugiro encolher até o tamanho mínimo (deve ser desmontado e fsck'd primeiro) usando

resize2fs -M /dev/sd??

Em seguida, copie a partição em que o sistema de arquivos está no disco de backup.

Para restaurar o tronco do ripest de volta ao seu tamanho original (recupere o espaço livre), execute

resize2fs /dev/Ed??

Melhor ainda, use uma ferramenta de arquivo compatível com o sistema de arquivos, como tar.

    
por 21.04.2016 / 21:58
0

This is a bit weird how 10% of 1Tb filled 300Gb space.

Não. 100% de 1TB ocupou 300 GB de espaço e queria mais.

Pense nisso como um caderno com 100 páginas e notas nas primeiras 10 páginas. Se você colocar o notebook em uma copiadora estilo Xerox e copiar todo o livro, você terá 100 novas páginas. Mesmo que a maioria esteja em branco.

Usar dd é uma cópia RAW. Não copia dados em uso. Para isso, você precisaria de algo que entenda a diferença entre páginas preenchidas e páginas com apenas linhas vazias.

Can anyone explain me this thing, why this happened? Did my data get corrupt?

Não, você acabou de dar um comando para fazer algo diferente do que você queria.

    
por 23.04.2016 / 12:42