PROJET AUTOBLOG


KevinVuilleumier

Archivé

source: KevinVuilleumier

⇐ retour index

Compacter les disques virtuels VMDK - par Kevin M. Vuilleumier le 06/06/2012 @ 21:29

mercredi 6 juin 2012 à 21:29
Dans cet article, je vais vous expliquer comment compacter les disques virtuels de VMWare (les fameux fichiers .VMDK) en neuf étapes ! En effet, bien que la taille de ces fichiers soit dynamique, ce n'est valable que dans un sens : ils grossissent, mais ne se réduisent hélas jamais ! Au bout de quelques temps, l'espace disque utilisé par les disques virtuels est non négligeable et peut atteindre des dizaines de gigaoctets, tant bien même que vous libérez de l'espace disque dans ceux-ci et qu'il ne "pèsent" pourtant pas réellement autant dans l'OS virtualisé. Une véritable plaie lorsqu'on en possède plusieurs qui sont très utilisés frown

L'astuce ci-dessous vous permet de récupérer potentiellement plusieurs gigaoctets sur votre disque dur (réel), les seules contraintes sont d'avoir un peu de temps libre pour effectuer les opérations et que la VM fonctionne impérativement sur Windows XP ou ultérieur ! Cette marche à suivre est pratique pour retrouver de la place sans trop de difficultés et pour sauvegarder les VM par la suite, par exemple. Par mesure de précaution, si vous avez des données importantes à l'intérieur de celles-ci, n'hésitez pas à faire une copie de secours, au cas où...
  1. Faites le ménage dans la machine virtuelle : supprimez les points de restauration inutiles, les fichiers temporaires, désinstallez les programmes inutilisés, nettoyez le registre, etc.
  2. Défragmentez entièrement celle-ci ! N'hésitez pas à passer plusieurs passages pour vous assurer que les fragments sont les plus contigus possibles.
  3. Téléchargez le programme SDELETE à cette adresse, puis placez-le dans C:/Windows/System32 (toujours dans la VM).
  4. Exécutez la commande suivante dans la console : sdelete -z et acceptez le contrat de licence.
  5. Évitez d'utiliser le système pendant que l'opération est en cours. N'ayez pas peur pour les données présentes, car elles ne risquent rien : la commande sert à mettre à zéro tous les secteurs libres présents sur le disque virtuel, ce qui est nécessaire pour la suite de la manoeuvre. Remarquez que le commutateur -z est justement conçu dans le but d'optimiser les disques virtuels !
  6. Arrêtez entièrement la VM (pas en pause ou en veille, mais belle et bien totalement arrêtée) !
  7. Relancez VMWare (mais à vide, cette fois), sélectionnez la machine virtuelle appropriée dans la liste et cliquez sur "Edit virtual machine settings".
  8. Sélectionnez le disque dur (ou le disque précédemment traité s'il y en a plusieurs), cliquez sur "Utilities", puis sur l'option "Compact" et attendez... Cela peut être long.
  9. Une fois l'opération terminée, quittez le menu de paramétrage... et voilà !
Le gain est très variable et dépend de nombreux paramètres : espace libre effectif de la machine virtuelle, taux d'utilisation, fragmentation, etc. Ceci dit, il peut être impressionnant dans bien des cas : à titre d'exemple, en utilisant cette méthode, je suis passé d'un disque virtuel de près de 22 Go à seulement 9 Go après traitement !

La magie réside dans l'utilisation du programme SDELETE : en mettant tout l'espace libre du disque virtuel à zéro, on prépare le fichier VMDK pour être correctement compacté ensuite depuis VMWare, car celui-ci est incapable de repérer lui-même après-coup quels sont les secteurs effectivement inutilisés. Testé et approuvé !

MAJ:

Astuces complémentaires que j'applique à titre personnel afin d'obtenir une taille de machine virtuelle la plus basse possible (que je n'appliquerais pas forcément toutes dans le cas d'une machine réelle, car la stabilité peut en prendre un coup) :