Comment réduire un disque virtuel VirtualBox surdimensionné. Comment réduire la taille du disque virtuel (vmdk) d'une machine virtuelle Vmware ? Réduire la taille du disque VMware

Lorsque vous travaillez avec Hyper-v, il peut être nécessaire de redimensionner les disques durs des machines virtuelles. Malheureusement, les outils standard de Windows 2008 R2 ne vous permettent pas de réduire la taille d'un disque dur - il suffit d'agrandir le disque ou de le convertir de dynamique en fixe (et vice versa).

Utilitaire de redimensionnement VHD

Cet utilitaire vous permet à la fois d'augmenter et de diminuer la taille de votre disque dur, tant statique que dynamique. Malheureusement, le site officiel du programme a cessé d'exister. Cependant, vous pouvez télécharger l'utilitaire sur Internet ou chez nous.

Powershell sur Windows 2012

Dans les versions antérieures d’Hyper-V, il n’existait aucune fonctionnalité permettant de réduire l’espace disque virtuel. À partir de Windows Server 2012, la possibilité standard de découper les disques virtuels est apparue, mais elle n'est toujours pas très simple à utiliser. Le fait est que pour réduire la taille d’un VHD, il doit y avoir de l’espace libre non alloué à l’intérieur. Sinon, l'option Réduire n'est pas disponible dans l'interface graphique et PowerShell générera une erreur lors de la tentative de réduction du disque à l'aide de Resize-VHD.

À titre d'exemple, prenons la machine virtuelle SRV01 avec un disque virtuel de 40 Go et réduisons-la à 30 Go. Pour cela, on place d'abord la VM dans une variable et on affiche les propriétés de son disque virtuel :

$vm = Get-VM -Nom SRV01
Get-VHD -VMId $vm.VMId

Dans les propriétés VHD, nous nous intéressons à des paramètres tels que :

  1. FileSize est la taille actuelle du fichier VHD. Affiche la quantité réelle d'espace disque occupée par le disque virtuel.
  2. Taille — la taille actuelle du disque virtuel. Dans le cas d'un VHD dynamique, il indique la taille maximale à laquelle il peut atteindre.
  3. MinimumSize - la taille minimale du disque virtuel ou la taille minimale possible à laquelle le VHD peut être coupé.

Comme vous pouvez le voir sur l'exemple, nous avons un VHD à expansion dynamique d'une taille de 40 Go, dont un peu plus de 20 Go sont actuellement occupés. Il y a de l'espace libre, mais les tailles actuelle et minimale sont presque les mêmes, donc réduire le disque ne fonctionnera pas.

Pour les manipulations ultérieures, la VM doit être éteinte, nous vérifions donc son état et, si nécessaire, la désactivons :

$vm.État $vm | Arrêter-VM-Forcer

Ensuite, nous montons le VHD sur le système parent et affichons les propriétés du disque résultant :

Monter-VHD -Path $vm.HardDrives.Path -Passthru | Obtenir le disque

Nous prenons le numéro de disque obtenu et affichons toutes les partitions qu'il contient :

Obtenir-Partition-DisqueNuméro 3

Si le disque contient soudainement plusieurs petites partitions incompréhensibles, vous ne devez pas y toucher. Ils contiennent des informations importantes dont le système a besoin pour démarrer et récupérer. Nous avons besoin d'une partition comportant une lettre de lecteur. Réduisons-le à 30 Go et vérifions ce qui s'est passé :

Redimensionner la partition -DriveLetter E -Taille 30 Go
Get-Partition -DriveLetter E

Démontons le VHD du système parent :

Démonter-VHD -Chemin $vm.HardDrives.Path

Et réduisez-le à la valeur minimale possible :

Resize-VHD -Path $vm.HardDrives.Path -ToMinimumSize

Comme vous pouvez le constater, tout s'est bien passé, le disque virtuel a été réduit à 30 Go. Il ne reste plus qu'à démarrer la VM.

Quelle que soit la taille du stockage, tôt ou tard, il manque d’espace.

Je travaille avec Varya depuis assez longtemps et j'ai développé pour moi la règle suivante : nous créons une machine virtuelle de la taille minimale, puis nous aurons toujours le temps d'étendre les disques. Réduire les disques par la suite sera beaucoup plus difficile.

Mais un jour vient le moment où il faut le faire.

Et vous pouvez le faire de plusieurs manières :

1) Exécuter Rétrécir ou Compact. Pour VMware ESXi, vous pouvez faire Rétrécir via l'interface Vmware Tools installée sur la VM. Ou via l'interface des outils d'administration vSphere. Pour VMware Workstation, vous pouvez faire Compact dans les propriétés de la VM dans les propriétés du disque.

Cela pourrait ne pas fonctionner.

2) Réduisez la taille du disque en le clonant :

— ajoutez un autre disque de la taille requise (plus petite) à la VM pour laquelle nous souhaitons réduire le disque.

— démarrez la VM à partir du disque de démarrage de programmes de clonage de disque tiers (Acronis True Image ou Ghost32 (Symantec Norton Ghost) ou similaire).

— cloner le contenu d'un grand disque sur un petit.

- supprimer un gros disque de la VM

3) Réduisez la taille du disque en convertissant les machines virtuelles à l'aide de VMware vCenter Converter. Lors de la conversion, vous pouvez spécifier que la taille du disque résultant est plus petite que celle d'origine.

Contrairement à la procédure d'extension du disque d'une machine virtuelle VMWare, qui peut être effectuée directement à la volée, la procédure de réduction de la taille d'un fichier vmdk sur l'hyperviseur VMWare ESXi est une tâche plus complexe, et il est en principe impossible de effectuez-le directement via l'interface graphique de vSphere Client - spécifier simplement une taille plus petite ne fonctionnera pas.

Note

Notez que la dernière version de l'hyperviseur Microsoft dispose d'une technologie permettant de modifier dynamiquement (à la fois l'expansion et la compression) des disques virtuels appelée Hyper-V Online VHDX Resize.

Cette instruction n'est pas une solution officiellement prise en charge pour compresser les disques vmdk, mais l'auteur de l'article l'a utilisée plus d'une fois dans un environnement de production. ESXi 5.1 a été utilisé lors de la rédaction de cet article.

Avant d'effectuer la procédure de réduction de la taille d'un disque virtuel sur VMWare ESXi, vous devez :

    Supprimez tous les instantanés de la machine virtuelle, sinon vous risquez d'endommager le disque virtuel

    Créez une sauvegarde complète de la machine virtuelle ou faites simplement une copie du fichier vmdk rétractable à l'aide des commandes :

cp vmname.vmdk sauvegarde_vmname.vmdk cp vmname-flat.vmdk sauvegarde_vmname-flat.vmdk

La procédure de réduction de la taille d'un disque virtuel comprend deux étapes :

    Réduire une partition dans un système d'exploitation invité

    Réduire la taille d'un fichier VMDK de machine virtuelle VMware

Réduire une partition dans un système d'exploitation invité

Tout d'abord, vous devez réduire la taille de la partition de disque à l'intérieur du système d'exploitation invité. Cela peut être fait à partir de Disk Management Manager (opération Shrink Volume, prise en charge depuis Windows Vista) ou à l'aide d'utilitaires tiers (par exemple, Acronis Disk Director). Si vous ne le faites pas, vous risquez de vous retrouver avec un système de fichiers défectueux après avoir réduit le disque virtuel.

Disons que nous souhaitons réduire la taille du disque de 19,5 Go. Cela signifie que la taille du volume doit être réduite de 19 968 Mo (19,5 Go x 1 024). Il s'agit de la valeur qui doit être saisie dans le champ de l'assistant Réduire le volume. Après avoir réduit la taille de la partition, il y aura une certaine quantité d'espace non alloué sur notre disque (dans notre exemple 19,5 Go)

Réduire la taille d'un fichier VMDK de machine virtuelle VMware

Passons à la deuxième opération - je modifie directement la taille du fichier VMDK sur le système de fichiers VMWare VMFS.

    Arrêtez la machine virtuelle dont vous souhaitez réduire la taille du disque virtuel

    Connectez-vous via SSH à la console de l'hyperviseur ESXi sur lequel la VM est enregistrée

    Accédez au répertoire où est stocké le fichier vmdk de la VM (le chemin se trouve dans les propriétés du disque virtuel dans le client graphique vSphere) :

cd /vmfs/volumes/datastore/nom-VM

4. Affichez le contenu du fichier de configuration avec l'extension *.vmdk à l'aide de la commande cat :

cat nom-VM.vmdk

La taille du disque vmdk est spécifiée dans la section de description #Extent (après les symboles RW). Dans ce cas, le numéro indiqué est le 83886080 (40 Go * 1024 * 1024 * 1024 / 512)

5. Nous souhaitons réduire la taille du disque vmdk de 40 à 20 Go. Cela signifie que dans la section Description de l'étendue, vous devez spécifier la valeur : 41943040 (20 Go * 1024 * 1024 * 1024/512). Définissez la nouvelle taille du disque virtuel à l'aide d'un éditeur de texte (vi ou nano).

6. Il ne reste plus qu'à cloner ou migrer (Storage VMotion) la machine virtuelle vers un autre stockage (datastore). Après avoir déplacé les fichiers de la machine virtuelle, ses propriétés afficheront la nouvelle taille du disque virtuel.

S'il n'y a pas de vCenter ou s'il n'y a qu'un seul stockage VMFS, ces opérations ne sont pas disponibles. Dans ce cas, vous pouvez cloner le disque vmdk avec la commande :

vmkfstools -i vmname.vmdk vmname-new-size.vmdk

Supprimez le disque d'origine et clonez à nouveau le disque vmdk, en lui redonnant son ancien nom :

rm nom_mv-flat.vmdk

vmkfstools -i nom_vm-nouvelle-taille.vmdk nom_vm.vmdk

7. Il ne reste plus qu'à lancer le système d'exploitation invité et à s'assurer que la zone non allouée a disparu.

Conseil. Si vous avez utilisé l'utilitaire vmkfstools à l'étape précédente, vous devrez peut-être reconnecter le disque virtuel dans les paramètres de la VM, car sa nouvelle taille peut ne pas s'afficher correctement.

Nous avons donc examiné l'une des options permettant d'effectuer l'opération de réduction de la taille des disques virtuels vmdk sur VMWare ESXi. Si vous devez réduire la taille d'un disque léger VMWare en utilisant de l'espace inutilisé, nous vous recommandons d'utiliser ces instructions.

Important. Cette instruction n'est pas une solution officiellement prise en charge pour compresser les disques vmdk, mais l'auteur de l'article l'a utilisée plus d'une fois dans un environnement de production. ESXi 5.1 a été utilisé lors de la rédaction de cet article.

Avant d'effectuer la procédure de réduction de la taille d'un disque virtuel sur VMWare ESXi, vous devez :

  • Supprimez tous les instantanés de la machine virtuelle, sinon vous risquez d'endommager le disque virtuel
  • Créez un fichier vmdk complet ou faites simplement une copie du fichier vmdk réduit à l'aide des commandes : cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

La procédure de réduction de la taille d'un disque virtuel comprend deux étapes :

Réduire une partition dans un système d'exploitation invité

Tout d'abord, vous devez réduire la taille de la partition de disque à l'intérieur du système d'exploitation invité. Cela peut être fait à partir de Disk Management Manager (une opération prise en charge à partir de Windows Vista) ou à l'aide d'utilitaires tiers (par exemple, Acronis Disk Director). Si vous ne le faites pas, vous risquez de vous retrouver avec un système de fichiers défectueux après avoir réduit le disque virtuel.

Disons que nous souhaitons réduire la taille du disque de 19,5 Go. Cela signifie que la taille du volume doit être réduite de 19 968 Mo (19,5 Go x 1 024). Il s'agit de la valeur qui doit être saisie dans le champ de l'assistant Réduire le volume. Après avoir réduit la taille de la partition, il y aura une certaine quantité d'espace non alloué sur notre disque (dans notre exemple 19,5 Go)

Réduire la taille d'un fichier VMDK de machine virtuelle VMware

Passons à la deuxième opération - je modifie directement la taille du fichier VMDK sur le système de fichiers VMWare VMFS.

  1. Arrêtez la machine virtuelle dont vous souhaitez réduire la taille du disque virtuel
  2. Connectez-vous via SSH à la console de l'hyperviseur ESXi sur lequel la VM est enregistrée
  3. Accédez au répertoire où est stocké le fichier VM vmdk (le chemin se trouve dans les propriétés du disque virtuel dans le client graphique vSphere) : cd /vmfs/volumes/datastore/VM-name

  4. Examinons le contenu du fichier de configuration avec l'extension *.vmdk à l'aide de la commande cat : cat VM-name.vmdk

    La taille du disque vmdk est définie dans la section #Description de l'étendue(après les symboles RW). Dans ce cas, le numéro indiqué est 83886080 (40 Go *1024*1024*1024 / 512)

  5. Nous souhaitons réduire la taille du disque vmdk de 40 à 20 Go. Cela signifie que dans la section Description de l'étendue, vous devez spécifier la valeur : 41943040 (20 Go*1024*1024*1024/512). Définissez la nouvelle taille du disque virtuel à l'aide d'un éditeur de texte (vi ou nano).
  6. Il ne reste plus qu'à cloner ou migrer (Storage VMotion) la machine virtuelle vers un autre stockage (datastore). Après avoir déplacé les fichiers de la machine virtuelle, ses propriétés afficheront la nouvelle taille du disque virtuel.

    Conseil. S'il n'y a pas de vCenter ou s'il n'y a qu'un seul stockage VMFS, ces opérations ne sont pas disponibles. Dans ce cas, vous pouvez cloner le disque vmdk avec la commande :

    Vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    Supprimez le disque d'origine et clonez à nouveau le disque vmdk, en lui redonnant son ancien nom :

    Rm vmname.vmdk rm vmname-flat.vmdk vmkfstools -i vmname-new-size.vmdk vmname.vmdk

  7. Il ne reste plus qu'à lancer l'OS invité et à s'assurer que la zone non allouée a disparu.

    Conseil. Si vous avez utilisé l'utilitaire vmkfstools à l'étape précédente, vous devrez peut-être reconnecter le disque virtuel dans les paramètres de la VM, car sa nouvelle taille peut ne pas s'afficher correctement.

Nous avons donc examiné l'une des options permettant d'effectuer l'opération de réduction de la taille des disques virtuels vmdk sur VMWare ESXi. Si vous devez réduire la taille d'un disque léger VMWare en utilisant de l'espace inutilisé, nous vous recommandons d'utiliser les instructions.

Note. Les schémas suivants sont souvent utilisés comme méthodes alternatives courantes pour compresser les disques virtuels vmdk :

  • Réduire la taille d'un disque virtuel en convertissant une machine virtuelle à l'aide de VMware vCenter Converter (lors de la conversion, la taille du disque résultant est spécifiée pour être plus petite que l'original)
  • Clonage du contenu d'un disque virtuel à l'aide d'un logiciel tiers (par exemple, Acronis True Image ou Symantec Ghost32). L'opération est effectuée en ajoutant un nouveau disque plus petit à la machine virtuelle et en y clonant le contenu du disque plus grand. Après quoi le gros disque est retiré.

Réduire la taille d'un disque virtuel via la conversion à l'aide de VMware vCenter Converter Standalone

Une autre façon de réduire la taille des disques virtuels dans une VM sur VMWare à l'aide de l'interface graphique consiste à utiliser un convertisseur gratuit - .

Défaut:

  • La méthode n'est pas rapide
  • pas besoin d'ouvrir dans la console vCenter ou ESXi de l'hôte
  • une copie exacte de la VM est créée
  • la source ne sera pas interrompue s'il y a une erreur dans l'attribution des paramètres à la tâche de conversion

Vous trouverez ci-dessous des instructions étape par étape

Note.La machine virtuelle que nous allons convertir (redimensionner les disques, etc.) doit être désactivé.

Il est éteint.
Autrement dit, avant la conversion, sur la machine virtuelle source, vous devez exécuter : Fermer ou Éteindre, mais non Suspendre.

Spécifiez l'adresse de l'hôte ESXi.

Sélectionnez la VM source.

Spécifiez les paramètres de la nouvelle VM.

Passez en mode édition du disque (Données à copier -> Modifier)

Sélectionnez le mode de copie : Sélectionnez les volumes à copier

Spécifiez la taille de disque souhaitée dans la nouvelle VM. Comme vous pouvez le constater, le disque invité utilise 48 Go et la taille du disque lui-même est de 150. Nous allons la réduire à 60 Go.



Nous commençons le processus de conversion, éteignons la VM d'origine, allumons la nouvelle. Nous vérifions que la taille du disque a diminué, après quoi la VM d'origine peut être supprimée.

13.03.2014

Important. Cette instruction n'est pas une solution officiellement prise en charge pour compresser les disques vmdk, mais l'auteur de l'article l'a utilisée plus d'une fois dans un environnement de production. ESXi 5.1 a été utilisé lors de la rédaction de cet article.

Avant d'effectuer la procédure de réduction de la taille d'un disque virtuel sur VMWare ESXi, vous devez :


  • Supprimez tous les instantanés de la machine virtuelle, sinon vous risquez d'endommager le disque virtuel

  • Créez une sauvegarde complète de la machine virtuelle ou faites simplement une copie du fichier vmdk rétractable à l'aide des commandes :
    cp nom_vm.vmdk sauvegarde_nom_vm.vmdk

    Cp vmname-flat.vmdk sauvegarde_vmname-flat.vmdk


La procédure de réduction de la taille d'un disque virtuel comprend deux étapes :




Réduire une partition dans un système d'exploitation invité

Tout d'abord, vous devez réduire la taille de la partition de disque à l'intérieur du système d'exploitation invité. Cela peut être fait à partir de Disk Management Manager (opération Shrink Volume, prise en charge depuis Windows Vista) ou à l'aide d'utilitaires tiers (par exemple, Acronis Disk Director). Si vous ne le faites pas, vous risquez de vous retrouver avec un système de fichiers défectueux après avoir réduit le disque virtuel.

Disons que nous souhaitons réduire la taille du disque de 19,5 Go. Cela signifie que la taille du volume doit être réduite de 19 968 Mo (19,5 Go x 1 024). Il s'agit de la valeur qui doit être saisie dans le champ de l'assistant Réduire le volume. Après avoir réduit la taille de la partition, il y aura une certaine quantité d'espace non alloué sur notre disque (dans notre exemple 19,5 Go)

Réduire la taille d'un fichier VMDK de machine virtuelle VMware

Passons à la deuxième opération : modifier directement la taille du fichier VMDK sur le système de fichiers VMWare VMFS.


  1. Arrêtez la machine virtuelle dont vous souhaitez réduire la taille du disque virtuel

  2. Connectez-vous via SSH à la console de l'hyperviseur ESXi sur lequel la VM est enregistrée

  3. Accédez au répertoire où est stocké le fichier vmdk de la VM (le chemin se trouve dans les propriétés du disque virtuel dans le client graphique vSphere) :
    cd /vmfs/volumes/datastore/nom-VM

  4. Examinons le contenu du fichier de configuration avec l'extension *.vmdk à l'aide de la commande cat :
    cat nom-VM.vmdk

    La taille du disque vmdk est définie dans la section #Description de l'étendue(après les symboles RW). Dans ce cas, le numéro indiqué est le 83886080 (40 Go * 1024 * 1024 * 1024 / 512)


  5. Nous souhaitons réduire la taille du disque vmdk de 40 à 20 Go. Cela signifie que dans la section Description de l'étendue, vous devez spécifier la valeur : 41943040 (20 Go * 1024 * 1024 * 1024/512). Définissez la nouvelle taille du disque virtuel à l'aide d'un éditeur de texte (vi ou nano).

  6. Il ne reste plus qu'à cloner ou migrer (Storage VMotion) la machine virtuelle vers un autre stockage (datastore). Après avoir déplacé les fichiers de la machine virtuelle, ses propriétés afficheront la nouvelle taille du disque virtuel.

    Conseil . S'il n'y a pas de vCenter ou s'il n'y a qu'un seul stockage VMFS, ces opérations ne sont pas disponibles. Dans ce cas, vous pouvez cloner le disque vmdk avec la commande :


    vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    Supprimez le disque d'origine et clonez à nouveau le disque vmdk, en lui redonnant son ancien nom :


    rm nomvm.vmdk

    Rm vmname-flat.vmdk

    Vmkfstools -i nom_vm-nouvelle-taille.vmdk nom_vm.vmdk


  7. Il ne reste plus qu'à lancer l'OS invité et à s'assurer que la zone non allouée a disparu.

    Conseil . Si vous avez utilisé l'utilitaire vmkfstools à l'étape précédente, vous devrez peut-être reconnecter le disque virtuel dans les paramètres de la VM, car sa nouvelle taille peut ne pas s'afficher correctement.


Nous avons donc examiné l'une des options permettant d'effectuer l'opération de réduction de la taille des disques virtuels vmdk sur VMWare ESXi. Si vous devez réduire la taille d'un disque léger VMWare en utilisant de l'espace inutilisé, nous vous recommandons d'utiliser ces instructions.

Note: Les schémas suivants sont souvent utilisés comme méthodes alternatives courantes pour compresser les disques virtuels vmdk :


  • Réduire la taille d'un disque virtuel en convertissant une machine virtuelle à l'aide de VMware vCenter Converter (lors de la conversion, la taille du disque résultant est spécifiée pour être plus petite que l'original)

  • Clonage du contenu d'un disque virtuel à l'aide d'un logiciel tiers (par exemple, Acronis True Image ou Symantec Ghost32). L'opération est effectuée en ajoutant un nouveau disque plus petit à la machine virtuelle et en y clonant le contenu du disque plus grand. Après quoi le gros disque est retiré.

Réduire la taille d'un disque virtuel via la conversion à l'aide de VMware vCenter Converter Standalone

Une autre façon de réduire la taille des disques virtuels dans une machine virtuelle sur VMWare à l'aide de l'interface graphique consiste à utiliser un convertisseur gratuit - VMware vCenter Converter Standalone.

Défaut:


  • La méthode n'est pas rapide


  • pas besoin d'ouvrir dans la console vCenter ou ESXi de l'hôte

  • une copie exacte de la VM est créée

  • la source ne sera pas interrompue s'il y a une erreur dans l'attribution des paramètres à la tâche de conversion

Vous trouverez ci-dessous des instructions étape par étape

Remarque : La machine virtuelle que nous allons convertir (redimensionner les disques, etc.) doit être éteinte.

Il est éteint.
Autrement dit, avant la conversion, sur la machine virtuelle source, vous devez effectuer : Arrêter ou Éteindre , et non Suspendre.

Spécifiez l'adresse de l'hôte ESXi.


Sélectionnez la VM source.


Spécifiez les paramètres de la nouvelle VM.


Passez en mode édition du disque (Données à copier -> Modifier)


Sélectionnez le mode de copie : Sélectionnez les volumes à copier


Spécifiez la taille de disque souhaitée dans la nouvelle VM. Comme vous pouvez le constater, le disque invité utilise 48 Go et la taille du disque lui-même est de 150. Nous allons la réduire à 60 Go.


Nous commençons le processus de conversion, éteignons la VM d'origine, allumons la nouvelle. Nous vérifions que la taille du disque a diminué, après quoi la VM d'origine peut être supprimée.