Comment puis-je réduire un disque VDI à croissance dynamique de VirtualBox?

32

Mes disques virtuels (VDI) à croissance dynamique provenant de diverses installations Ubuntu dans Virtual Box sont en fait en train de "croître" effectivement.

La suppression de fichiers dans la machine virtuelle ne libère pas l’espace que mon fichier VDI a pris sur l’espace disque dur de l’hôte.

Comment puis-je réduire ces fichiers pour redonner à l’hôte l’espace disque disponible?

    
posée Takkat 07.04.2014 - 19:45
la source

2 réponses

31

Un fichier de disque dur virtuel Virtual Box à croissance dynamique est capable de croître à la demande de la machine virtuelle jusqu'à la taille maximale définie lors de la configuration de ce fichier. Il ne libère cependant pas l'espace des fichiers que nous avons supprimés dans l'OS invité.

Si le disque a trop évolué, nous pouvons le compacter à nouveau, à condition que l’espace inutilisé soit rempli de zéros et que le lecteur soit au format VDI.

Pour un système de fichiers ext2 à ext4, cela peut être fait à partir de l'invité Ubuntu avec l'utilitaire de ligne de commande zerofree * .

zerofree /dev/sdxX

Cela nécessite que le lecteur ne soit pas utilisé et soit démonté . Par conséquent, il se peut que nous devions le lier temporairement à une autre machine virtuelle créée à cette fin, ou démarrer un environnement Ubuntu en direct sur cette machine virtuelle.

Remplacez /dev/sdxX par la partition au format ext2, ext3 ou ext4

.

Sur plusieurs partitions, nous devons répéter zerofree pour chaque partition. Gardez à l'esprit qu'en remplissant de zéros, le fichier virtuel augmentera temporairement à sa taille maximale.

Une fois que l’espace de disque inutilisé est rempli de zéros, nous réduisons le disque avec

VBoxManage modifyhd <name>.vdi --compact

Cela va considérablement diminuer la taille du fichier VDI.

* Dans un invité Windows, nous pouvons remplacer l'espace inutilisé par l'utilitaire sdelete .

    
réponse donnée Takkat 07.04.2014 - 19:45
la source
1

Voici quelques moyens d’annuler l’espace disque disponible (ce qui peut prendre le plus de temps). Ensuite, vous devrez toujours exécuter VBoxManage modifyhd <disk> --compact pour compacter le fichier disque réel.

Cette commande peut mettre à zéro le disque alors qu'il est démonté:
apt-get install zerofree
zerofree -v /dev/sdxN

Voici un exemple de la façon dont dd peut imprimer périodiquement les résultats:
dd if=/dev/zero of=temp-file-on-disk bs=20M

# run this to get the process ID of the dd command
pgrep -l '^dd$'
# then put the process ID on the command line to "kill -USR1"
# this will tell dd to print the current status (in another terminal)
kill -USR1 $(pgrep -l '^dd$' | awk '{print }')

Voici un programme semblable à dd qui imprimera automatiquement les résultats périodiquement:
apt-get install dcfldd
dcfldd if=/dev/zero of=temp-file-on-disk bs=20M
    
réponse donnée chronospoon 09.01.2015 - 19:46
la source

Lire d'autres questions sur les étiquettes