Como reduzir o tamanho da VM?

5

Eu tenho uma VM Virtualbox, com um .vdi que está recebendo 49GB na máquina host.

Eu posso ter usado tanto espaço dentro da VM uma vez, mas agora estou realmente usando apenas 6GB.

Eu tentei este comando para o virtualbox:

vboxmanage modifyhd /path/to/disk.vdi --compact

Começou a funcionar 0% .. 10% ..... 100%. Mas nada realmente aconteceu, o .vdi ainda era 49gb.

Então eu corro 'df -h' na VM e descobri isso:

root@mypc# df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/mypc-root       2.0T   38G  1.9T   2% /
udev                        1.3G  4.0K  1.3G   1% /dev
tmpfs                       502M  784K  501M   1% /run
none                        5.0M     0  5.0M   0% /run/lock
none                        1.3G  160K  1.3G   1% /run/shm
/dev/sda1                   228M   31M  185M  15% /boot
/home/someuser/.Private     2.0T   38G  1.9T   2% /home/someuser

Eu não sei por que ele está usando 38GB.

Limpei o lixo, mas não ajudou.

Alguma idéia do que mais eu posso fazer?

A VM tem o Ubuntu 12, com LVM criptografado e home (esse é o diretório .Private). O host tem o Windows 7.

UPDATE

Eu consegui liberar espaço para / dev / sda1, mas não para / dev / mapper / mypc-root. Zerofree inicia e nunca termina, embora eu possa dizer que o disco parou de escrever porque ele pára de fazer barulho depois de um minuto.

Aqui está a saída para 'df -ih'

root@mypc:/home/someuser# df -ih
Filesystem                 Inodes IUsed IFree IUse% Mounted on
/dev/mapper/mypc-root        128M  208K  128M    1% /
udev                         311K   495  310K    1% /dev
tmpfs                        314K   428  314K    1% /run
none                         314K     4  314K    1% /run/lock
none                         314K     7  314K    1% /run/shm
/dev/sda1                    122K   230  122K    1% /boot
/home/someuser/.Private      128M  208K  128M    1% /home/someuser
    
por HappyDeveloper 26.05.2012 / 19:53

3 respostas

8

Do manual :

For this operation to be effective, it is required that free space in the guest system first be zeroed out using a suitable software tool. For Windows guests, you can use the sdelete tool provided by Microsoft. Execute sdelete -c in the guest to zero the free disk space before compressing the virtual disk image. For Linux, use the zerofree utility which supports ext2/ext3 filesystems.

    
por 26.05.2012 / 20:03
1

Com relação à resposta original que tinha essa solução :

Na VM:

  1. dd if=/dev/zero of=test.file
  2. sync
  3. rm test.file

Na máquina host:

  1. VBoxManage modifyhd --compact your_image_path.vdi

Esta é a única solução que tentei que funciona. O zerofree e sfill (de secure-delete ) não funcionam na minha máquina virtual Debian (host Windows 10).

    
por 23.01.2018 / 18:41
0

Eu acho que o núcleo do seu problema é que o seu sistema de arquivos raiz ( / ) tem 2 TB de tamanho. Com um sistema de arquivos tão grande, o overhead relativamente pequeno (inodes e outros) ainda é muito grande (> 32GB, no seu caso).

Se você quiser reduzir seu disco virtual, precisará reduzir o seu sistema de arquivos raiz primeiro.

    
por 26.05.2012 / 20:08