Le principal avantage des machines virtuelles est la flexibilité nécessaire pour allouer des ressources supplémentaires aux machines virtuelles lorsque vous en avez besoin. Si vous manquez d'espace libre sur un disque dur virtuel, vous pouvez l'étendre rapidement et facilement. Cet article décrit comment redimensionner un disque de machine virtuelle dans VMware ESXi, puis étendre la partition dans le système d'exploitation invité Windows ou Ubuntu sans arrêter ni redémarrer la machine virtuelle.
Contenu:
- Augmenter la taille du disque VM (VMDK) dans VMware
- Étendre une partition dans une machine virtuelle Windows
- Comment étendre la partition dans une machine virtuelle Linux ?
Lorsqu'il s'agit d'augmenter la taille du disque dur d'une machine virtuelle VMware, certaines limites doivent être prises en compte :
- Vous ne pouvez pas augmenter le disque si la VM possède des instantanés. Tous les instantanés doivent être supprimés ;
- Seuls les disques connectés via un contrôleur virtuel SCSI ou NVMe peuvent être étendus en ligne (si le disque virtuel est connecté via un contrôleur IDE, la machine virtuelle doit d'abord être arrêtée) ;
- L'option d'extension n'est pas prise en charge pour les machines virtuelles Linked Clone (sur Vmware Horizont) ;
- Si vous voyez un avertissement dans le panneau de la VM indiquant «
Virtual Machine disks consolidation is needed', vous devez consolider les disques de la VM ; - L'extension en ligne des disques de la machine virtuelle (sans arrêter la VM) n'est possible que si les VMware Tools sont installés dans le système d'exploitation invité. Si VMTools n'est pas installé, une erreur se produit après la modification de la taille du disque virtuel :
Operation failed Task name Reconfigure virtual machine The attempted operation cannot be performed in the current state (Powered on).

Le processus d'augmentation de la taille du disque d'une machine virtuelle se déroule en deux étapes :
- Tout d'abord, vous devez augmenter la taille du fichier VMDK dans les paramètres de la VM sur vCenter/ESXi ;
- Étendez ensuite la partition de disque dans le système d'exploitation invité (nous examinerons séparément comment étendre le disque dur sous Windows et Linux).
Par exemple, vous disposez d'une machine virtuelle avec un seul fichier de disque dur virtuel (vmdk) de 40 Go et vous envisagez d'augmenter la taille de ce disque virtuel à 50 Go.
- Connectez-vous à votre serveur vCenter ou à un hôte ESXi autonome à l'aide de vSphere Web Client ;
- Recherchez la machine virtuelle et ouvrez ses paramètres (Actes->Modifier les paramètres);


- Recherchez le disque virtuel que vous souhaitez étendre. Dans cet exemple, la VM n'a qu'un seulDisque dur 1avec une taille de 40 Go. Spécifiez la nouvelle taille du disque dans ce champ et enregistrez les paramètres. Notez que la taille maximale du disque disponible pour ce type de banque de données (VMFS, NFS, vSAN) est spécifiée dans le champ Taille maximale ;


Assurez-vous que votre banque de données VMFS dispose de suffisamment d'espace libre. Si nécessaire, vous pouvez augmenter la taille de la banque de données VMFS dans VMWare ESXi/vCenter.
Vous pouvez également utiliser les applets de commande du module VMware PowerCLI pour augmenter la taille du disque VMDK de la machine virtuelle. Installez le module PowerCLI sur votre ordinateur Windows ou Linux :Install-Module -Name VMware.PowerCLI
Connectez-vous à votre serveur vCenter ou à votre hôte ESXi :
Connect-VIServer hostname
Exécutez la commande suivante pour développer le disque virtuel :
Get-HardDisk VMTest1 | where {$_.Name -eq "hard disk 1"} | Set-HardDisk -CapacityGB 50 -ResizeGuestPartition -Confirm:$false


Ensuite, vous pouvez utiliser leInvoquer-VMScriptapplet de commande pour étendre une partition dans le système d'exploitation invité :
Invoke-VMScript -VM VMTest1 -ScriptText "echo select vol c > c:diskpart.txt && echo extend >> c:diskpart.txt && diskpart.exe /s c:diskpart.txt" -GuestUser $guestUser -GuestPassword $guestPass -ScriptType BAT
Plus tôt, nous avons montré un exemple d'utilisation d'Invoke-VMScript pour installer automatiquement les mises à jour Windows dans les modèles VMware VM.
N'oubliez pas de mettre fin à la session de gestion PowerShell une fois que vous avez terminé :
Disconnect-VIserver -Confirm:$false
Maintenant que vous avez augmenté la taille du disque virtuel dans la console VMware, vous devez étendre la partition dans le système d'exploitation invité
Étendre une partition dans une machine virtuelle Windows
Vous devez démarrer la console de gestion des disques (Gestion de l'ordinateur-> Stockage-> Gestion des disques) et exécutez leRéanalyser le disquecommande pour le système d’exploitation Windows invité pour voir l’espace supplémentaire.


Ensuite, sélectionnez la partition que vous souhaitez étendre et cliquez surÉtendre le volume.

Spécifiez combien de Mo d'espace non alloué vous souhaitez ajouter à la partition Windows sélectionnée (dans le champSélectionnez la quantité d'espace en Mo).


Cliquez maintenant sur Suivant -> Terminer et vérifiez si votre lecteur C a été étendu avec succès.

Lors de l'extension d'une partition système (lecteur C:), vous constaterez peut-être qu'elle est suivie d'une partition de l'environnement de récupération Windows au lieu d'un espace non alloué. Dans ce cas, l'option Étendre le volume ne sera pas disponible dans le Gestionnaire de disques (grisée).

Dans ce cas, vous ne pourrez pas étendre votre lecteur C: à moins de supprimer ou de déplacer la partition de récupération à la fin du lecteur. Nous avons décrit cette procédure dans l'article L'option Étendre le volume est grisée sous Windows.
Windows XP et Windows Server 2003 ne prennent pas en charge l'extension en ligne du volume système C:. Vous pouvez utiliser DellPartie Extoutil pour étendre la partition système sans redémarrer.
Pour étendre la partition système sous Windows 2003/XP, copiez l'outil sur le système d'exploitation invité et exécutez-le avec les paramètres suivants :
extpart.exe c: 1020
, oùc :est le nom du volume que vous souhaitez étendre, et1020est la taille (en Mo) de laquelle vous souhaitez étendre le disque.


Vous pouvez également étendre la partition de disque de la VM hors ligne d'autres manières :
- Démarrez votre machine virtuelle à partir de n'importe quel LiveCD (par exemple, GParted) et augmentez la partition ;
- Connectez un fichier VMDK virtuel à une autre VM et étendez la partition sur cette machine ;
- Utilisez l'outil VMware vCenter Converter pour reconfigurer la taille du volume.
Comment étendre la partition dans une machine virtuelle Linux ?
Voyons maintenant comment étendre la partition de disque si un système d'exploitation invité de la famille Linux est installé sur votre machine virtuelle.
La première chose à faire est de s'assurer que Linux voit la nouvelle taille du disque. Pour lancer une nouvelle analyse, exécutez la commande :
$ echo 1>/sys/class/block/sdd/device/rescan
Utilisez l'outil cfdisk pour afficher l'espace disque dur virtuel disponible :
$ sudo cfdisk
Cet exemple montre que le lecteur /dev/sda dispose de 2 Go d'espace libre. Sélectionnez la partition que vous souhaitez étendre (qui est /dev/sda3 dans cet exemple) et choisissezRedimensionnerdans le menu du bas.


Puis cliquezÉcrirepour appliquer les modifications à la partition.


Dans mon cas, je dois étendre la partition dans une machine virtuelle Ubuntu 22.04 LTS. Par défaut, cette version d'Ubuntu est installée sur le volume LVM :
$ sudo lsblk


Avant de pouvoir étendre un volume LVM, vous devez augmenter le volume physique (PV) :
$ sudo pvresize /dev/sda3
Une fois cela fait, vous pouvez étendre le volume logique (nous utiliserons tout l'espace libre disponible) :
En savoir plus:Mot de passe Windows oublié de la machine virtuelle exécutée dans VMware Player
$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv


L'étape suivante consiste à étendre le système de fichiers :
$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Vérifiez l'espace disque libre sous Linux :
$ df -h


Si vous n'avez pas de volumes LVM, vous pouvez utiliser l'outil parted pour étendre les partitions sous Linux :
$ sudo parted
Vérifions la quantité d'espace non alloué dont vous disposez sur le disque :
print free
Comme vous pouvez le voir, Espace libre = 2149 Mo


Pour étendre la partition /dev/sda3, exécutez :
resizepart 3
Spécifiez une nouvelle taille de partition (dans cet exemple, nous devons spécifier laFintaille à partir del'Espace Librebloc):
Fin? [21,5 Go] ?23.6G


Sortez ensuite du parted :
quit
Il ne reste plus qu'à développer un système de fichiers ext4/3/2.
$ sudo resize2fs /dev/sda3
Cet article décrit comment augmenter la taille d'un disque dur virtuel dans un environnement VMware vSphere avec un système d'exploitation invité Windows et Linux. Dans un article séparé, nous avons expliqué comment réduire (réduire) la taille d'un disque dur virtuel sur VMware.














