As versões recentes do libvirt / kvm suportam a opção discard
vdisc (somente para o tipo SCSI vdisk). Com esta opção ativada, você pode emitir fstrim /
no painel de arquivos convidado e os blocos não utilizados serão imediatamente descartados pela imagem de host vm, compactando / reduzindo-a através de perfuração.
Veja aqui (seção de drivers, procure por 'descarte') e aqui para mais informações.
Se você não puder usar o método de aparar / descartar, poderá continuar usando seu método de zeragem atual ( dd
de /dev/zero
), com uma diferença: emita dois dd
passes , cada um com pouco mais de metade do espaço livre em disco, espaçado por um comando fsync; rm BIG.txt
. Isso deve ser suficiente para recuperar quase todo o espaço livre, sem preencher tudo de uma vez.