-
Quels sont les fichiers VMDK ?
-
Comment réduire une partition de disque dans le système d’exploitation invité ?
-
Préparation du disque: mise à zéro de l’espace libre
-
Méthode 1 : Réduire manuellement la taille d’un disque VMDK en modifiant le fichier descripteur VMDK
-
Méthode 2 : Réduire un disque VMDK à l’aide de l’automatisation PowerShell et PowerCLI
-
Méthode 3 : Réduire un disque VMDK à l’aide de l’outil vmware-vdiskmanager (Workstation/Fusion uniquement)
-
Méthode 4 : Réduire un disque VMDK à l’aide de VMware vCenter Converter Standalone
-
Sauvegarder les machines virtuelles VMware avec Vinchin
-
FAQ sur la réduction de la taille des fichiers VMDK
-
Conclusion
Les machines virtuelles (VM) constituent la base de la plupart des environnements informatiques modernes. Mais que se passe-t-il si votre disque virtuel (VMDK) devient trop volumineux? Contrairement aux disques physiques, il ne suffit pas de supprimer des fichiers à l’intérieur du système d’exploitation invité pour obtenir des économies de stockage au niveau de l’infrastructure. Réduire la taille d’un fichier VMDK est une opération délicate qui implique plusieurs étapes, tant à l’intérieur de la machine virtuelle que sur votre plateforme d’hyperviseur. Dans ce guide, vous apprendrez ce qu’est un fichier VMDK, comment réduire en toute sécurité les partitions au sein du système d’exploitation invité, comment préparer les disques à la réduction de taille en remplissant d’octets nuls l’espace libre, et comment diminuer effectivement la taille du fichier VMDK à l’aide de méthodes prises en charge — manuelles ou automatisées.
Quels sont les fichiers VMDK ?
Un fichier disque de machine virtuelle (VMDK) est le format développé par VMware pour les disques durs virtuels utilisés par ses produits, tels que ESXi ou Workstation. Vous pouvez l’imaginer comme un conteneur qui regroupe toutes les données, les partitions et les systèmes de fichiers d’une machine virtuelle — tout comme un disque physique stocke l’intégralité des données d’un serveur réel.
Chaque disque virtuel se compose d’au moins deux fichiers:
Le fichier descripteur (
vmname.vmdk) contient des métadonnées relatives à la géométrie (taille), au type d’approvisionnement (fin ou épais), aux relations parent-enfant (pour les instantanés), et plus encore.Le fichier plat (
vmname-flat.vmdk) stocke les blocs de données brutes, c’est-à-dire le contenu réel écrit par le système d’exploitation de la machine virtuelle.
Les disques à allocation dynamique utilisent une table de mappage interne appelée « table des grains » pour suivre les blocs contenant des données, par opposition à ceux qui sont vides ou remplis de zéros. Les disques à allocation statique réservent dès le départ la totalité de l’espace, quelle que soit leur utilisation réelle.
Lorsque vous supprimez des fichiers dans le système d’exploitation de votre machine virtuelle, même sur des disques minces, le magasin de données sous-jacent ne récupère pas immédiatement cet espace. En effet, seul le système d’exploitation invité sait quels blocs sont réellement inutilisés ; du point de vue de VMware, ces blocs peuvent encore contenir des données valides tant qu’ils n’ont pas été explicitement marqués comme tels.
Comment réduire une partition de disque dans le système d’exploitation invité ?
Avant de réduire un fichier VMDK lui-même, réduisez toujours d’abord les partitions au sein de votre système d’exploitation invité. Cela vous garantit de ne pas risquer de supprimer accidentellement des données actives lors du redimensionnement au niveau de la couche de stockage.
La réduction des partitions indique à votre système d’exploitation les zones du disque qui ne sont plus nécessaires, afin qu’elles puissent être supprimées en toute sécurité ultérieurement lors de la réduction du fichier VMDK.
Avant de commencer:
Assurez-vous d’avoir une sauvegarde complète.
Vérifiez l’alignement des partitions à l’aide d’outils tels que
fdisk -lsous Linux ouwmic partition get BlockSize, StartingOffsetsous Windows.Défragmentez les volumes si possible, en particulier sous Windows, afin de déplacer les fichiers immuables loin des extrémités des partitions.
Pour les partitions racine Linux ou les volumes très sollicités: planifiez une période d’indisponibilité afin de pouvoir démarrer à partir d’un support live si nécessaire.
Pour les invités Windows
Utilisez la Gestion des disques intégrée :
1. Connectez-vous à Windows.
2. Cliquez avec le bouton droit sur Ce PC ou Mon ordinateur, choisissez Gérer, puis sélectionnez Gestion des disques.
3. Cliquez avec le bouton droit sur votre partition cible, puis cliquez sur Réduire le volume.
4. Saisissez le montant souhaité de réduction — notez que le montant maximal disponible dépend de l’emplacement des fichiers immuables, tels que pagefile.sys.
5. Confirmez les modifications ; attendez la fin du processus.
Si « Réduire le volume » propose moins d’espace que prévu en raison de fichiers immuables :
Exécutez la commande
defrag /X /H C:dans l’invite de commandes en tant qu’administrateurEssayez de réduire à nouveau l’espace après la défragmentation
Pour les invités Linux
Linux propose plusieurs outils selon le type de système de fichiers:
1. Démarrez à partir du CD/ISO GParted Live si vous réduisez la partition racine ou des partitions montées.
2. Sélectionnez la partition cible; choisissez l’option Redimensionner/Déplacer.
3. Ajustez le curseur de taille ou saisissez directement une valeur; appliquez les modifications.
4. Pour les systèmes de fichiers ext : après avoir redimensionné la partition avec GParted ou parted, exécutez la commande resize2fs /dev/sdXN, où X est la lettre/le chiffre du périphérique
5. Redémarrez en mode normal une fois l’opération terminée
Pour XFS : le rétrécissement n’est pas pris en charge nativement — vous devez sauvegarder les données, recréer un système de fichiers plus petit, puis restaurer les données.
Une fois le redimensionnement réussi, vous verrez de l’espace non alloué à la fin du disque, ce qui est une condition préalable à la réduction ultérieure de la taille réelle du fichier VMDK.
Préparation du disque: mise à zéro de l’espace libre
La mise à zéro de l’espace libre est essentielle avant de compacter des disques alloués de façon dynamique ou d’utiliser certains outils de réduction: elle marque les blocs inutilisés afin que VMware puisse les identifier comme récupérables lors des opérations de clonage ou de compactage.
Pourquoi se donner cette peine? Lorsque vous supprimez des fichiers dans un système d’exploitation, ceux-ci sont uniquement marqués comme supprimés — ils ne sont pas réellement écrasés par des zéros —, si bien que les hyperviseurs ne peuvent pas distinguer les secteurs « libres » des secteurs « utilisés », sauf s’ils reçoivent explicitement cette information via des utilitaires de remplissage avec des zéros.
Zéroter l’espace libre sous Windows invité
Vous avez deux options principales:
1. Utilisez l’outil SDelete de Microsoft Sysinternals:
Télécharger SDelete.exe
Ouvrir l’invite de commandes en tant qu’administrateur
Exécuter:
  sdelete.exe -z C:
Cette commande écrit des zéros dans tous les secteurs libres du lecteur C:
2. Sur les versions plus récentes (Windows 8 et versions ultérieures):
Ouvrir PowerShell en tant qu’administrateur
Exécuter:
Optimize-Volume -DriveLetter C -ReTrim -Verbose
Cette commande émet des indications TRIM, mais ne réécrit pas les données avec des zéros : elle fonctionne le mieux avec des banques de données basées sur des SSD prenant en charge nativement les commandes UNMAP/TRIM.
Zéroter l’espace libre dans les machines invitées Linux
Pour les systèmes de fichiers basés sur ext:
1. Si hors ligne/démonté:
zerofree /dev/sdXN
2. Si le système est en ligne ou monté (non recommandé en production):
dd if=/dev/zero of=zero.fill bs=1M || true && sync && rm zero.fill
Cette commande crée un grand fichier temporaire rempli de zéros jusqu’à ce que le disque soit saturé, puis le supprime afin que seuls les secteurs inutilisés restent initialisés à zéro.
Assurez-vous toujours qu’il y a suffisamment d’espace de travail avant d’exécuter ces commandes!
Une fois que les partitions ont été réduites et que l’espace libre a été effacé dans le système d’exploitation de votre machine virtuelle, il est temps de réduire effectivement — ou de « rétrécir » — le fichier VMDK sous-jacent lui-même au niveau de l’infrastructure.
L’interface graphique utilisateur (GUI) de VMware vSphere Client permet d’augmenter, mais pas de réduire directement la taille des disques! Vous devez utiliser l’une des méthodes manuelles ou automatisées décrites ci-dessous:
Sauvegardez toujours votre machine virtuelle avant d’apporter des modifications à cette étape ! Une sauvegarde testée constitue une assurance essentielle contre les erreurs commises ici.
Méthode 1 : Réduire manuellement la taille d’un disque VMDK en modifiant le fichier descripteur VMDK
Cette méthode offre un contrôle maximal, mais comporte des risques importants — ne l’essayez que si vous êtes à l’aise avec l’accès direct à l’interpréteur de commandes ESXi !
Comprenez d’abord que chaque fichier descripteur contient une ligne RW indiquant le nombre total de secteurs de 512 octets alloués:
RW <sector_count> <type> "<flat_file>"
Étapes:
1. Éteignez complètement la machine virtuelle ; assurez-vous qu’aucune capture instantanée active n’existe!
2. Connectez-vous en SSH à l’hôte ESXi ; accédez au dossier du datastore concerné:
cd /vmfs/volumes/<datastore>/<VM_folder>
3. Sauvegardez les fichiers descripteur et plat.
cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk
4. Modifiez le descripteur à l’aide de vi/nano/etc. ; localisez la ligne « RW »:
vi vmname.vmdk # Rechercher la ligne « RW » vers le début du fichier # Calculer le nouveau nombre de secteurs = taille souhaitée en octets / 512 # Exemple pour 20 Go : 20 × 1024 × 1024 × 1024 / 512 = 41 943 040 secteurs # Remplacer l’ancienne valeur par la nouvelle, puis enregistrer les modifications
5–6. Pour récupérer physiquement la capacité inutilisée, cloner le disque à l’aide de vmkfstools — cette étape copie uniquement les blocs utilisés ou initialisés à zéro, si le disque source était approvisionné de façon dynamique:
vmkfstools -i vmname.vmdk -d thin vmname_new.vmdk
7. Enregistrer la machine virtuelle clonée via l’interface web de vCenter/ESXi (Enregistrer la machine virtuelle), en pointant vers le fichier de configuration .vmx mis à jour
8. Allumer la machine virtuelle et vérifier le bon fonctionnement ainsi que la taille du disque dans l’invité
Des modifications manuelles peuvent corrompre l’intégralité de la machine virtuelle si les calculs relatifs aux secteurs sont erronés ! Testez soigneusement en dehors de l’environnement de production avant toute utilisation.
Méthode 2 : Réduire un disque VMDK à l’aide de l’automatisation PowerShell et PowerCLI
PowerCLI offre une automatisation par script, particulièrement utile dans les environnements étendus où de nombreuses tâches similaires doivent être exécutées régulièrement.
Prérequis:
Installez la dernière version de PowerCLI
Assurez-vous que WinRM est activé et accessible entre la station de gestion et les machines invitées
Installer VMware Tools dans chaque machine invitée afin d’assurer une mise en pause correcte lors de la création de captures instantanées/de sauvegardes
Flux de travail typique :
1. Redimensionner la ou les partitions invitées via un script — par exemple, appeler à distance des applets de commande natives Windows:
Invoke-Command –ComputerName $VMName –ScriptBlock { Resize-Partition ... }2. Éteignez la machine virtuelle cible ; vérifiez qu’aucun instantané actif n’est conservé.
3. Le script se connecte via Connect-VIServer, sauvegarde les descripteurs, modifie les valeurs RW et déclenche la migration ou le clonage:
Set-HardDisk –HardDisk $disk –CapacityGB $newSize –Confirm:$false # Ou modifier manuellement le descripteur + exécuter Move-HardDisk, etc.
4. Séquence de réenregistrement / arrêt / démarrage gérée par programme
Ne stockez jamais les identifiants en clair; utilisez des objets SecureString chaque fois que cela est possible.
Des exemples complets de scripts sont nombreux en ligne — examinez toujours la sécurité du code avant d’exécuter des scripts tiers.
Méthode 3 : Réduire un disque VMDK à l’aide de l’outil vmware-vdiskmanager (Workstation/Fusion uniquement)
Si vous travaillez en dehors d’un contexte de centre de données — par exemple, des charges de travail de laboratoire, de test ou de développement exécutées sous Workstation/Fusion — utilisez l’utilitaire CLI fourni :
Remarque: Non disponible ni pris en charge sous les hôtes ESXi/vSphere !
Étapes:
1. Nettoyez les fichiers inutiles ou indésirables dans le compte invité ; videz la corbeille, etc.
2. Remplir d’octets nuls l’espace libre, comme indiqué dans la section précédente.
3. Éteindre la machine virtuelle cible.
4. Sur la machine hôte, exécutez:
vmware-vdiskmanager.exe -k "chemin_vers_vmdk.vmdk"
L’indicateur -k récupère les blocs entièrement nuls, réduisant ainsi l’empreinte globale de l’image.
Sur les hôtes Linux/Mac, il se peut qu’il n’existe pas d’option équivalente directe; envisagez plutôt la copie ou l’affinage.
Méthode 4 : Réduire un disque VMDK à l’aide de VMware vCenter Converter Standalone
Pour les administrateurs recherchant des flux de travail graphiques officiellement pris en charge, vCenter Converter Standalone reste la solution la plus sûre, notamment lors du déplacement de charges de travail en production.
Le convertisseur effectue des migrations virtuel-vers-virtuel (« V2V ») en créant une copie neuve dont la taille correspond exactement aux spécifications de l’utilisateur.
Points clés:
Nécessite suffisamment d’espace de stockage libre pour conserver temporairement les images source et cible simultanément.
La fonction « CBT » (suivi des blocs modifiés) doit être désactivée avant la conversion CBT
Des conflits réseau/IP peuvent survenir si le clonage est effectué sur le même sous-réseau/environnement sans modifier les adresses MAC ou les adresses IP après la migration.
Mode d’emploi:
1. Téléchargez et installez le convertisseur autonome sur la station de gestion.
2. Lancez l’application ; connectez les hôtes source et de destination en conséquence.
3. Sélectionnez la machine virtuelle source ; définissez l’emplacement de destination/le groupe de stockage.
4. Sous « Données à copier » > « Modifier » > « Sélectionner les volumes à copier », définissez de nouvelles tailles réduites pour chaque volume requis.
5. Démarrer la tâche de conversion; surveiller de près l’avancement et les journaux.
6. Une fois le démarrage de la nouvelle instance terminé, validez soigneusement l’intégrité de l’application et des données!
7. Supprimez ou retirez du service l’original une fois satisfait.
Sauvegarder les machines virtuelles VMware avec Vinchin
Avant d’effectuer toute opération à risque, comme la réduction de la taille des fichiers VMDK, disposer de sauvegardes fiables est essentiel — c’est précisément là que Vinchin se distingue comme une solution professionnelle conçue spécifiquement pour les environnements de virtualisation, notamment VMware en premier lieu, ainsi que Hyper-V, Proxmox VE, oVirt/RHV/OLVM, XCP-ng/XenServer, OpenStack, ZStack et plus de quinze autres plates-formes grand public.
Vinchin offre des fonctionnalités complètes de protection, notamment une sauvegarde incrémentale à vie pour une rétention à long terme efficace, sans sauvegardes complètes répétées; des technologies avancées de dé-duplication et de compression qui réduisent au minimum la consommation de stockage; des capacités transparentes de migration V2V interplateforme; des options de restauration fine, jusqu’aux fichiers ou dossiers individuels; ainsi que des stratégies planifiées, telles que des tâches de sauvegarde répétitives — le tout géré via une console web intuitive, conçue pour une utilisation simple, même à grande échelle.
Sauvegarder une machine virtuelle VMware ne prend que quatre étapes:
1. Sélectionnez votre ou vos machines virtuelles VMware cibles;

2. Choisissez un référentiel de stockage de sauvegarde adapté;

3. Configurer les paramètres de la stratégie de sauvegarde;

4. Envoyer la tâche.

Reconnu mondialement par des milliers de clients—avec des notes élevées sur les sites d’avis sectoriels—Vinchin vous propose un essai gratuit de 60 jours, entièrement fonctionnel, pour découvrir par vous-même sa puissance, sans aucun risque ! Cliquez ci-dessous pour télécharger dès maintenant le programme d’installation et déployer facilement des sauvegardes sécurisées dans tout votre environnement.
FAQ sur la réduction de la taille des fichiers VMDK
Q1 : Puis-je réduire la taille d’un fichier VMDK sans éteindre la machine virtuelle ?
Non — vous devez éteindre complètement la machine virtuelle avant d’entreprendre toute procédure de réduction afin d’éviter tout risque de corruption.
Q2 : Que se passe-t-il si je saute l’étape de réduction de la partition dans le système d’exploitation invité ?
Vous risquez une perte de données grave ou un système qui ne démarre plus, car des structures essentielles pourraient être tronquées de façon imprévue pendant les opérations de redimensionnement.
Q3 : Comment vérifier si mon fichier VMDK est approvisionné de manière dynamique ou statique ?
Dans le client vSphere, sélectionnez la machine virtuelle cible, cliquez sur MODIFIER LES PARAMÈTRES, développez DISQUE DUR, puis examinez le champ TYPE D’APPROVISIONNEMENT affiché.
Q4 : Puis-je réduire la taille des disques à provisionnement épais avec initialisation différée ?
Uniquement en les convertissant d’abord au format mince à l’aide d’outils de clonage tels que vmkfstools, puis en appliquant ensuite des méthodes standard de compactage.
Q5 : Pourquoi mon fichier VMDK réduit affiche-t-il encore sa taille d’origine dans le navigateur de banque de données ?
Vérifiez si la prise en charge de UNMAP/TRIM est assurée de bout en bout, depuis l’hyperviseur jusqu’au tableau de stockage, et déclenchez la récupération manuelle à l’aide de la commande « esxcli storage vmfs unmap », le cas échéant.
Conclusion
La réduction de la taille d’un fichier VMDK nécessite une planification rigoureuse : depuis la préparation des partitions au sein des machines virtuelles jusqu’aux étapes de réduction sécurisées effectuées en dehors de celles-ci, le tout en assurant à chaque étape une sauvegarde fiable ! Grâce à Vinchin, qui gère discrètement les tâches de protection, vous êtes désormais prêt à optimiser le stockage avec confiance, même dans des environnements d’entreprise complexes.
Partager sur :