Trunque o espaço empy a partir de uma imagem dd bruta

1

Eu tenho uma imagem de disco bruta que usei usando dd de uma instância do Ubuntu. O tamanho total do disco é 300 GB , mas apenas 5,5 GB usado.

Existe uma maneira de redimensionar a imagem dd bruta para 20 GB , mantendo todos os 5,5 GB de dados e apenas truncar blocos vazios?

    
por Justin 18.08.2015 / 04:15

3 respostas

2

Use apenas virt-sparsify .

Em seu uso normal, ele grava um arquivo temporário e, em seguida, reescreve o original, com furos.

Se você tiver pouco espaço em disco, ele poderá até reduzir o arquivo in-loco, sem escrever uma cópia temporária, com a opção -i , embora isso possa não liberar todo o espaço possível.

    
por 18.08.2015 / 04:46
1

Nas versões razoavelmente recentes de dd , você pode usar conv=sparse para criar o arquivo de imagem como escasso desde o início.

Uma coisa a notar é que só porque um bloco de disco é "não usado", não significa que ele está realmente cheio de zeros, se o bloco foi ocupado por um arquivo que já foi excluído. Existe uma ferramenta chamada zerofree que pode pegar um sistema de arquivos (desmontado) e preencher todos os blocos não utilizados com zeros, o que faz com que a dispersão subseqüente funcione melhor.

    
por 18.08.2015 / 05:02
0

Se você tornar um arquivo esparso, os metadados do arquivo ainda serão de 300 GB, mas o espaço real usado será mais próximo de 5.5. Tal como com o GNU cp --sparse = always

Veja também: Como Converter uma imagem de disco do Linux em um arquivo esparso?

Se você quiser reduzir também o tamanho lógico dos arquivos, será necessário reduzir o sistema de arquivos, o LVM e o que mais você tiver, dependendo do tamanho do disco.

Pode ser mais simples montar a imagem grande, criar uma nova imagem do tamanho desejado e copiar arquivos para ela.

    
por 18.08.2015 / 04:56