Comment réduire la taille du disque VMware


15

Mon disque VMware d'image Ubuntu a atteint une taille de fichier physique de 5 Go. Il s'agit d'un disque à croissance dynamique avec une capacité maximale de 8 Go. J'ai nettoyé des trucs à l'intérieur de la distribution Linux et maintenant à l'intérieur, il occupe 3 Go. De toute évidence, la taille du fichier physique ne s'est pas rétrécie automatiquement. Existe-t-il un moyen (si possible gratuit) de réduire ce disque à ~ 3 Go?

J'en ai besoin pour adapter l'image sur le DVD.

Réponses:


21

Il y a trois étapes:

  1. Défragmentation (pas besoin de démonter / remonter quoi que ce soit)

    sudo e4defrag /

    Ignorez les erreurs. Certains fichiers comme les liens symboliques et les fichiers de périphérique ne peuvent pas être défragmentés.

  2. Remplissez zéro tout l'espace inutilisé afin que VMware sache qu'il est en effet inutilisé:

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  3. Exécutez l'opération de réduction:

    sudo vmware-toolbox-cmd disk shrinkonly


C'est la bonne réponse pour VMWare Workstation. Merci mec, ça m'a beaucoup aidé!
Clonkex

Correct. Fonctionne bien sur VMWare Workstation 14, Centos 7 Guest
odiszapc

1
soyez prudent si vous exécutez cela avec des volumes externes montés tels que S3 - la commande de remplissage zéro essaiera de créer un fichier de 256 To dans votre compartiment S3 ...
paj

A travaillé pour moi pour l'hôte Windows 10 et l'invité Ubuntu 16. Au début, je pensais que l'étape 3 devait être exécutée sur l'hôte, mais je me trompais. Après toutes les étapes, j'exécute
Alex Che

1
+1, mais je pense que l'utilisation de zerofree pour l'étape 2 serait beaucoup plus rapide et beaucoup plus propre: manpages.ubuntu.com/manpages/xenial/man8/zerofree.8.html
Étienne

15

J'ai trouvé la solution - vous devez compacter votre disque dur:

Machine virtuelle - Paramètres - Général - Nettoyer la machine virtuelle


Sensationnel. Enfin, j'ai trouvé cette réponse. Mais ... pourquoi le compactage du disque virtuel ne récupère pas réellement l'espace libre?
Wizard79

8
Vous devez le faire à partir du SE Ubuntu invité (en supposant que VMware Tools soit installé): "vmware-toolbox-cmd disk shrink /" qui devrait faire le travail.
DH4

Cela ne s'applique pas à ESXi. Pour cela, voir ma réponse ci-dessous.
Collin Chaffin

3

Ouvrez VMware Toolbox dans l'invité (en tant que root) et réduisez le disque. (Documentation)


Si vous ne disposez pas de VMware Tools, vous pouvez réduire le disque manuellement en deux étapes. Tout d'abord, videz l'espace libre sur le disque virtuel à l'aide d'un outil comme zéro sans zéro . Zerofree est disponible dans Ubuntu , mais comme il nécessite que le système de fichiers du système d'exploitation invité soit monté en lecture seule, vous pouvez l'exécuter à partir d'un CD live. Parted Magic comprendrait sans zéro.

Après avoir mis à zéro l'espace libre, ouvrez les paramètres de la machine virtuelle et compactez le disque virtuel.


3
L'interface utilisateur de vmware toolbox n'est plus, mais vous pouvez toujours utiliser: "vmware-toolbox-cmd disk shrink /" qui devrait faire le travail.
DH4

3

Utilisation

sudo vmware-toolbox-cmd disk shrinkonly

à partir de l'invite de commande de votre invité Ubuntu.

(Testé sur Ubuntu 14.04 LTS guest + Windows 10 Host + VMWare Workstation 12.1.1)


1

Redimensionnement du disque dur VMWare :

L'extension du disque dur virtuel dynamique dans VMWare est facile et ne nécessite plus l'outil de ligne de commande vmware-vdiskmanager.exesitué par défaut dans C:\Program Files\VMware\VMware Workstation\.

Pour redimensionner, utilisez la commande suivante (ouvrez une invite de commande en appuyant sur WIN + R et entrez cmd): " C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x NEWSIZE "diskname.vmdk"

Procédure :

Les étapes suivantes sont les suivantes:

  • Téléchargez ici
  • Installer
  • Ouvert
  • Choisissez la partition, cliquez sur Redimensionner / Déplacer, faites glisser la poignée sur toute sa largeur
  • Cliquez sur Appliquer
  • Accepter de redémarrer
  • Au démarrage, n'appuyez sur aucune touche
  • Laissez le module de démarrage effectuer sa tâche
  • Vérifiez que la taille de votre partition système Windows a augmenté.

Pour un aperçu visuel des étapes et des informations supplémentaires, voir ici .


0

Ces étapes ont parfaitement fonctionné pour moi:

1) Remplissez l'espace inutilisé

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill

2) Rétrécir le disque avec la boîte à outils vmware

sudo vmware-toolbox-cmd disk shrink /

Testé sur Ubuntu 16.04, VMware Workstation 12.1.0 Player, Windows 7 Host


0

La réduction des disques est possible sur ESXi.

  1. Recherchez le gros fichier et supprimez-les.

    find / -type f -size + 50M

  2. Défragmentation (pas besoin de démonter / remonter quoi que ce soit). Ignorez les erreurs. Certains fichiers comme les liens symboliques et les fichiers de périphérique ne peuvent pas être défragmentés.

    sudo e4defrag /

  3. Remplissez zéro tout l'espace inutilisé afin que VMware sache qu'il est en effet inutilisé:

    dd if = / dev / zero of = wipefile bs = 1M; synchronisation; rm wipefile

  4. Exécutez l'opération de réduction: si 4 échoue, passez à 5.

    sudo vmware-toolbox-cmd disque rétractable

  5. Redémarrez le système Linux avec l'option try et éditez la table de partition avec gparted. Réduisez le système de fichiers racine et supprimez et déplacez la partition de swap près de la partition racine.

  6. SSH vers ESXi et exécutez cette commande:

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. Nous devons modifier le fichier * .vmdk. Après les lettres RW, définit la taille du disque virtuel VMware (VMDK)

    * 40 Go = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. Migrez-le vers un autre magasin de données pour refléter la nouvelle taille.


(1) La question n'est pas de savoir comment réduire l'utilisation du système de fichiers; il dit que le PO l'a déjà fait. Votre findcommande n'est donc pas vraiment pertinente. (2) Que fait vmkfstools -K? (3) Modifier manuellement un fichier? Vraiment? (4) Je ne comprends pas vos instructions concernant les modifications que l'utilisateur doit apporter au fichier. (5) Que dites-vous de la migration vers une autre banque de données? (0) La plupart de vos propos ont déjà été traités. ……………………………………………………… Veuillez ne pas répondre dans les commentaires; modifiez  votre réponse pour la rendre plus claire et plus complète.
Scott

Eh bien, je suis un gars de VMware (je pense que quiconque essaie tout cela devrait l'être également), non seulement cette réponse est la seule qui s'applique même à ESXi (car ESXi ne prend pas en charge les clients linux rétractables via vmtools), mais finalement rendu parfait sens pour moi. Cela dit, l'étape 7 n'est pas seulement inutile, elle est tout simplement incorrecte. Étant donné que la réduction ne modifie pas la taille réelle du VOLUME, vous vous arrêtez simplement après l'étape 6. L'étape 8 (migration du stockage) n'est utilisée que lorsque vous souhaitez réduire un disque SANS exécuter vmkfstools qui s'en occupe de force, c'est pourquoi cette solution nécessite également une étape Invité 5a-SHUT DOWN.
Collin Chaffin

Voir ma réponse ci-dessus. La cmd basée sur vmtools répertoriée à l'étape 5 est également juste incorrecte car elle n'a jamais été prise en charge (ou même fonctionne) sur AUCUN scénario basé sur l'hôte ESXi.
Collin Chaffin

0

Amincissement (rétrécissement) des disques VMDK sur les invités ESXi / vSphere Linux

Remarque: «Rétrécissement» est souvent utilisé de manière interchangeable pour désigner le processus de réduction de la taille d'un fichier disque de type fin. VMware utilise le terme «rétrécir» pour faire référence à la réduction de la taille sous-jacente du disque disponible pour l'invité et à «l'amincissement» comme le processus le plus utilisé pour recapturer l'espace inutilisé sans modifier la taille disponible sous-jacente.

Étant donné qu'ESXi ne prend pas en charge la réduction basée sur vmtools sur les invités Linux, les étapes suivantes doivent être suivies. Voir le lien de référence ci-dessous pour plus d'informations.

  1. (si possible) Arrêtez toutes les applications et tous les services gourmands en disque car les étapes suivantes remplissent momentanément le volume cible

  2. Défragmentez le (s) volume (s) sur le VMDK cible et ignorez toutes les erreurs en tant que liens symboliques / fichiers de périphérique / etc. ne peut pas être défragmenté.

    # USE sudo IF NECESSARY IN YOUR CONFIG!
    e4defrag /
    # or e4defrag /mnt/MOUNTVOLUME
  1. Remplissez à zéro tout l'espace inutilisé:
    dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
  1. Arrêter et éteindre l'invité

  2. Connectez-vous à l'hôte ESXi et exécutez ces commandes:

    # Check current vmdk allocation
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Shrink it
    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Check again to verify shrinkage
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk
  1. Mettez l'invité sous tension

La source

https://kb.vmware.com/s/article/1002019

La suppression de fichiers dans la plupart des systèmes de fichiers ne les supprimera pas complètement; les tables de fichiers seront simplement modifiées. L'utilisation d'utilitaires de suppression de fichiers sécurisés gratuits est utile, comme Eraser ou SDelete pour mettre à zéro l'espace pour «mettre à zéro» l'espace libre sur le volume, effaçant efficacement l'espace libre des données. C'est alors que le disque peut être correctement aminci. Vous pouvez ensuite utiliser la commande vmkfstools -K (ESXi / ESX 4.1 et versions ultérieures) pour terminer la récupération de bloc ou utiliser Storage vMotion pour migrer la machine virtuelle vers une banque de données avec une taille de bloc VMFS différente.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.