Skip to content
U UOpsLab
infra-devops tutoriels Debian Linux VMware

Compacter un VMDK Debian avec VMware Virtual Disk Manager

Préparer une VM Debian puis compacter son disque VMDK avec vmware-vdiskmanager pour réduire la place occupée avant archivage.

R

Raynal.T

4 min de lecture
Compactage d'un disque VMDK Debian avec VMware Virtual Disk Manager

Une VM Debian utilisée pour des tests peut finir avec un VMDK bien plus lourd que les données qu’elle contient réellement.

Même après avoir supprimé des fichiers dans Debian, l’espace libéré reste souvent présent dans le disque virtuel. Pour une VM que l’on souhaite archiver, quelques commandes permettent de récupérer cette place avec VMware Virtual Disk Manager.

Nettoyer Debian

On supprime les paquets inutiles, les caches et les anciens journaux.

Libérer les blocs

On remplit temporairement l’espace libre avec des zéros pour le rendre récupérable.

Compacter le VMDK

VMware retire les blocs inutilisés du fichier avant son archivage.

Avant de commencer

Cette méthode convient surtout à un VMDK extensible stocké localement avec VMware Workstation.

Si VMware Workstation est installé sur votre PC, vmware-vdiskmanager.exe est normalement déjà disponible. Sinon, Broadcom propose également le VMware Virtual Disk Development Kit (VDDK), qui regroupe des bibliothèques et utilitaires pour manipuler les disques virtuels VMware.

Avant toute manipulation :

  • ➡️ sauvegardez la VM
  • ➡️ supprimez ou consolidez ses snapshots
  • ➡️ vérifiez que l’hôte dispose de suffisamment d’espace libre
  • ➡️ arrêtez les services importants dans Debian

1. Nettoyer Debian

Dans la VM, on commence par retirer ce qui ne mérite pas d’être archivé :

sudo apt clean
sudo apt autoremove --purge
sudo journalctl --vacuum-time=7d

On peut ensuite vérifier l’espace réellement utilisé :

df -h /

2. Remplir l’espace libre avec des zéros

Pour que VMware distingue les blocs devenus inutiles, on crée temporairement un gros fichier rempli de zéros :

sudo dd if=/dev/zero of=/zero.fill bs=1M status=progress || true
sudo rm -f /zero.fill
sync

La commande dd se termine normalement avec une erreur indiquant que le disque est plein. C’est attendu : le fichier est supprimé juste après.

3. Arrêter complètement la VM

Une fois le nettoyage terminé :

sudo shutdown -h now

Dans VMware Workstation, vérifiez que la VM est bien éteinte, pas suspendue.

4. Compacter le VMDK

Sur l’hôte Windows, ouvrez PowerShell. Si vous ne connaissez pas l’emplacement de l’utilitaire, recherchez-le dans les dossiers principaux :

Get-ChildItem "C:\Program Files","C:\Program Files (x86)","C:\Tools" -Recurse -Filter vmware-vdiskmanager.exe -ErrorAction SilentlyContinue

Avec VMware Workstation, il se trouve généralement ici :

C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe

Option A : compacter le VMDK directement

La méthode la plus rapide consiste à compacter le disque existant avec l’option -k :

& "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "D:\VM\Debian\Debian.vmdk"

Pour un disque découpé en plusieurs fichiers, ciblez le fichier descripteur principal Debian.vmdk, pas les fichiers -s001.vmdk, -s002.vmdk, etc.

Option B : créer un nouveau VMDK compact

Pour conserver le disque source intact, l’option -r permet de le convertir vers un nouveau VMDK extensible monolithique avec -t 0 :

& "C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -r "D:\VM\Debian\Debian.vmdk" -t 0 "E:\VM\Debian-compact\Debian.vmdk"

Une fois l’opération terminée, comparez la taille du dossier de la VM avant et après compactage.

Le résultat

Le gain dépend de l’historique de la VM. Une machine qui a téléchargé puis supprimé beaucoup de données peut perdre plusieurs gigaoctets, tandis qu’une VM déjà compacte changera peu.

La capacité virtuelle reste identique, mais le VMDK occupe moins de place sur l’hôte : exactement ce qu’il faut avant de copier ou compresser une VM d’archive.

Cet article vous a-t-il été utile ?

Votre retour aide à mieux choisir les prochains sujets.

0 retour

Retour aux articles
Share:

Suivre UOpsLab

Nouveaux articles, retours terrain et notes de lab.