Ressources VMware vSphere : explication de HotAdd/HotPlug
Dans un environnement VMware vSphere, les ressources allouées peuvent s’avérer insuffisantes pour atteindre le niveau de performances requis lorsqu’une application gourmande en ressources s’exécute sur une machine virtuelle. Dans ce cas, la solution optimale consiste à ajouter davantage de ressources processeur et de mémoire à la machine virtuelle.
Lorsque des applications critiques s’exécutent sur la machine virtuelle, il n’est pas envisageable de l’arrêter et de subir un temps d’arrêt. Dans ce scénario, la fonctionnalité « Hot Add » de VMware vSphere s’avère très utile. Grâce à la flexibilité offerte par la virtualisation VMware, vous pouvez ajouter du matériel virtuel (processeurs et mémoire RAM) à une machine virtuelle en cours d’exécution. Nous allons ici expliquer comment activer la fonctionnalité « VMware Hot Add», ainsi que ses cas d’utilisation, sa configuration et ses limitations.
Qu’est-ce que la fonctionnalité « VMware Hot Add » ? «
VMware Hot Add » est une fonctionnalité qui vous permet d’ajouter des périphériques virtuels à une machine virtuelle pendant que celle-ci est en cours d’exécution. Par défaut, vous pouvez ajouter des périphériques virtuels tels qu’un disque dur virtuel (et non « IDE»), des cartes réseau et des périphériques USB alors que la machine virtuelle est sous tension. « VMware Hot Add » permet d’ajouter un processeur virtuel (central processing unit) et de la mémoire vive (random access memory) à la volée. Lorsque VMware Hot Add est activé, il n’est pas nécessaire d’éteindre une machine virtuelle pour y ajouter des périphériques virtuels.
VMware Hot Add vs Hot Plug
Vous remarquerez que la fonctionnalité CPU Hot Add est parfois appelée CPU hot plug. La même logique s’applique à la mémoire hot add et à la mémoire hot plug. Ces deux termes désignent la même chose et sont interchangeables.
Remarque : Ne confondez pas la mémoire dynamique VMware et la mémoire VMware hot add , car ces fonctionnalités sont différentes. La mémoire dynamique VMware est une technique permettant une gestion efficace de la mémoire VMware pour les machines virtuelles. Ce nom n’est pas officiel pour cette fonctionnalité, mais les utilisateurs la désignent comme l’équivalent avancé de la mémoire dynamique d’Hyper-V. Les techniques de gestion de la mémoire VMware comprennent le partage transparent de pages, le « memory ballooning », la compression de la mémoire et le swap de mémoire.
Conditions à remplir et limitations
L’ajout de vCPU (processeurs virtuels) et de mémoire VMware à des VMs en cours d’exécution est soumis à certaines conditions à remplir et limitations :
- Le système d’exploitation invité (OS) doit prendre en charge l’ajout à chaud de périphériques.
- La compatibilité matérielle de la machine virtuelle (version du matériel virtuel) doit être de 7 ou supérieure.
- {15} doit être installé sur le système d’exploitation invité.
Fault Tolerancene doit pas être activé pour la machine virtuelle.- La machine virtuelle doit être éteinte pour activer la
Hot Addfonctionnalité. - Une licence
VMware vSphere Advanced,EnterpriseouEnterprise Plusdoit être utilisée. VMware vSphereEnterprise Plusprend en charge à la foisCPU hot addet la mémoirehot add. Reportez-vous au Guide de l’octroi de licences VMware pour vérifier les fonctionnalités disponibles pour les autres éditions et systèmes d’exploitation invités.
Tenez compte de la restrictions d’octroi de licences du système d’exploitation invité et des applications installées sur la machine virtuelle avant d’ajouter des vCPU. Vous devrez peut-être acheter des licences supplémentaires pour exécuter le logiciel sur un plus grand nombre de processeurs.
Les systèmes d’exploitation invités prenant en charge Hot Add sont Windows Server 2003 et versions ultérieures, ainsi que Linux utilisant kernel 3.8 et versions ultérieures. Les éditions haut de gamme Windows Server prennent en charge à la fois le processeur et la mémoire hot add. Certaines éditions d’entrée de gamme Windows Server ne prennent en charge que la mémoire hot add.
| Système d’exploitation invité | Licence/Édition | Ajout à chaud de mémoire | CPU hotplug |
| Windows Server 2003 32 bits/64 bits | Standard, Enterprise |
Oui | Non |
| Windows Server 2008 32 bits | Standard, Enterprise, Datacenter |
Oui | Non |
| Windows Server 2008 64 bits | Standard, Enterprise |
Oui | Non |
| Windows Server 2008 64 | Datacenter |
Oui | Oui |
| Windows Server 2008 R2 | Standard, Enterprise |
Oui | Non |
| Windows Server 2008 R2 | Datacenter |
Oui | Oui |
| Windows Server 2012 | Standard, Datacenter |
Oui | Oui |
| Windows Server 2012 R2 | Standard, Datacenter |
Oui | Oui |
| Windows Server 2016 | Standard, Datacenter |
Oui | Oui |
| Windows Server 2019 | Standard, Datacenter |
Oui | Oui |
VMware Hot Add Avantages et inconvénients
VMware Hot Add est une fonctionnalité utile dans de nombreux cas. Notez toutefois que l’utilisation de cette fonctionnalité présente des inconvénients lorsque l’ajout à chaud n’est pas vraiment nécessaire. VMware Hot Add est désactivé par défaut pour différentes raisons. Voyons pourquoi.
VMware vCPU Hot Add et vNUMA
Lorsque vous activez VMware Hot Add, vNUMA est automatiquement désactivé pour la machine virtuelle. Par défaut, vNUMA est activé pour toutes les VMs disposant d’au moins 8 vCPU afin d’améliorer les performances. Examinons de plus près les concepts de NUMA et vNUMA.
Qu’est-ce que NUMA?
NUMA (non-uniform memory access) est l’architecture des systèmes multiprocesseurs qui permet aux processeurs de partager la mémoire localement. Le temps d’accès à la mémoire par un processeur dépend de l’emplacement de la mémoire sur la carte mère. Chaque processeur a pour priorité d’utiliser « sa propre » mémoire locale plutôt que la mémoire installée dans les emplacements situés à proximité d’un autre processeur. En d’autres termes, NUMA est une méthode qui détermine la manière dont un processeur interagit avec les modules de mémoire d’un autre processeur. Les systèmes NUMA sont des plates-formes dotées de plusieurs bus système, sur lesquelles chaque processeur peut accéder à l’ensemble de la mémoire présente sur la carte mère. Un processeur dont la mémoire est installée dans des emplacements situés à proximité de ce processeur est appelé NUMA node. 
Si la fonctionnalité « NUMA » est désactivée ou si, par exemple, vous disposez de deux processeurs et que la mémoire n’est installée que dans les emplacements de l’un d’entre eux, vous risquez de constater une baisse des performances et d’autres problèmes matériels. Si vous ne disposez pas de suffisamment de modules de mémoire pour occuper tous les emplacements d’une carte mère équipée de deux processeurs, essayez de répartir les modules de mémoire entre les emplacements du premier et du deuxième processeur. La fonctionnalité «
NUMA » permet une répartition rationnelle des processus système s’exécutant dans un système d’exploitation prenant en charge la technologie « NUMA». Elle permet à chaque processus d’accéder aux zones de mémoire les plus proches des processeurs utilisés par ces processus.
Qu’est-ce que le vNUMA?
Virtual NUMA (vNUMA) est une méthode d’optimisation dans VMware vSphere. Elle garantit des performances optimales aux VMs volumineuses en tenant compte de la NUMA topologie et en évitant les goulots d’étranglement au niveau de la bande passante mémoire. Une topologie physique NUMA est exposée à un système d’exploitation invité via vNUMA. Par conséquent, la topologie virtuelle NUMA repose sur la topologie NUMA du matériel physique sous-jacent utilisé par l’hôte ESXi. Les processeurs virtuels de la machine virtuelle peuvent planifier l’accès à la mémoire située sur les mêmes NUMA nœuds. La fonctionnalité «
vNUMA » est disponible pour les machines virtuelles utilisant le matériel virtuel 8 ou une version supérieure. Lorsque vous créez une machine virtuelle, vous pouvez sélectionner le nombre de processeurs et le nombre de cœurs de processeur. Le nombre de sockets d’UC est calculé automatiquement. Si le nombre de vCPU utilisés par une machine virtuelle est supérieur au nombre de cœurs sur chaque NUMA nœud, alors la vNUMA topologie est modifiée et optimisée pour l’utilisation par un système d’exploitation invité. Dans ce cas, le système d’exploitation invité peut utiliser plusieurs NUMA nœuds. Cette machine virtuelle est appelée « machine virtuelle large » ou « grande machine virtuelle ».
Que se passe-t-il lorsque vNUMA est désactivé ?
Lorsque Hot Add est activé et que vNUMA est désactivé, une machine virtuelle n’a pas connaissance des NUMA nœuds sous-jacents sur l’hôte ESXi et augmente ses accès à la mémoire sur les NUMA nœuds distants. La planification CPU/mémoire d’un système d’exploitation invité n’est pas optimale. En conséquence, les performances de la machine virtuelle se dégradent. La baisse de performances est perceptible pour les VMs de grande taille lorsque le nombre de threads d’une application augmente. Par exemple, si vous activez Hot Add sur une VM dont le système d’exploitation invité utilisait deux nœuds NUMA , ce système d’exploitation invité ne pourra plus détecter qu’un seul nœud NUMA après cela, car la topologie optimisée vNUMA n’est pas créée.
N’activez VMware Hot Add que si vous prévoyez d’utiliser cette fonctionnalité pendant le fonctionnement de la VM. Sinon, il est préférable de désactiver le Hot Add pour les VMs qui s’étendent sur plusieurs nœuds NUMA . Si vous n’êtes pas certain d’avoir besoin d’ajouter à chaud des ressources processeurs et de mémoire, vous pouvez provisionner davantage de ressources processeurs et de mémoire pour la VM dès le départ.
VMware Hot Add Limitations
Le retrait à chaud n’est pas possible
Lorsque la fonctionnalité Hot Add/hot plug est activée, il est impossible de retirer à chaud des ressources CPU et mémoire. Après avoir ajouté à chaud des vCPU et de la mémoire à une machine virtuelle, les applications consomment ces ressources supplémentaires. C’est pourquoi les applications ne prennent pas en charge les options telles que le retrait de la mémoire et de la capacité CPU déjà utilisées. Pour cette raison, la seule façon possible de réduire les ressources processeur et mémoire d’une machine virtuelle consiste à l’arrêter et à modifier les paramètres de la machine virtuelle hors tension.
Limites d’évolutivité de la mémoire
La quantité maximale de mémoire pouvant être ajoutée à chaud correspond à 16 fois la quantité initiale de mémoire allouée à la machine virtuelle. Par exemple, si une machine virtuelle dispose de 4 Go de RAM, cette quantité peut être augmentée jusqu’à 64 Go.
Il existe également une limitation pour les VMs dotées de 3 Go de RAM (exactement 3 072 Mo) ou moins. Vous risquez d’obtenir une erreur ou le système d’exploitation invité (Linux 64 bits et Windows 32 bits) peut ne pas détecter la mémoire ajoutée. La solution consiste à arrêter la VM, puis à augmenter la quantité de mémoire à plus de 3 072 Mo. Vous pouvez ensuite démarrer la machine virtuelle et utiliser la mémoire VMware Hot Add.
Comment configurer VMware Hot Add
Il existe plusieurs méthodes pour activer VMware vCPUs Hot Add et la mémoire VMware Hot Add. Vous pouvez utiliser l’interface utilisateur graphique ou l’interface en ligne de commande.
Activation de Hot Add dans vCenter
Pour activer l’option VMware Hot Add à l’aide de vCenter, connectez-vous à VMware vSphere Client et procédez comme suit :
- Accédez à
Hosts and Clusters. - Sélectionnez la machine virtuelle souhaitée dans le volet de navigation. La machine virtuelle doit être éteinte.
- Cliquez sur l’icône Modifier les paramètres . Vous pouvez également cliquer avec le bouton droit sur le VM-Name et, dans le menu qui s’affiche, sélectionner
Edit Settings.
Procédez comme suit pour activer CPU hot add:
- Dans la fenêtre
Edit Settings, développez les paramètres du processeur. - Dans la ligne
CPU Hot Plug, cochez la caseEnable CPU Hot Add.
Procédez comme suit pour activer la mémoire hot add:
- Dans la fenêtre
Edit Settings, développez les paramètres de mémoire. - Dans la ligne
Memory Hot Plug, cochez la caseEnable.
- Cliquez sur
OKpour enregistrer les paramètres de la machine virtuelle et fermer la fenêtre.
Vous pouvez désormais démarrer la machine virtuelle et hot add allouer des vCPU et de la mémoire VMware à la machine virtuelle.
Activer VMware Hot Add dans PowerCLI
VMware PowerCLI est un puissant outil en ligne de commande pour la gestion de VMware vSphere. Voyons comment activer VMware Hot Add dans PowerCLI.
- Connectez-vous à votre vCenter ou à votre hôte ESXi par la commande suivante, en saisissant l’adresse IP appropriée (192.168.101.205 dans cet exemple) ou le nom d’hôte :
Connect-VIServer 192.168.101.205 - Saisissez vos identifiants de connexion lorsque vous y êtes invité.
- Affichez la liste des VMs présentes sur l’hôte ESXi auquel vous vous êtes connecté.
Get-VM - Assurez-vous que la machine virtuelle pour laquelle vous souhaitez activer
Hot Add est hors tension. - Exécutez ces commandes pour activer l’ajout à chaud de mémoire et l’ajout à chaud de processeurs pour la machine virtuelle sélectionnée.
$VM = Get-VM Windows-VM
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.memoryHotAddEnabled = $true
$spec.cpuHotAddEnabled = $true
Où :$VM.ExtensionData.ReconfigVM_Task($spec)
Windows-VMest le nom de la machine virtuelle concernée
$spec.memoryHotAddEnabled = $trueest la commande permettant d’activer la mémoirehot add
$spec.cpuHotAddEnabled = $trueest la commande permettant d’activerCPU hot add - Vérifiez sur quelles machines virtuelles les fonctionnalités d’ajout à chaud de processeurs et de mémoire sont activées :
Get-VM | Get-View | Select Name, `
@{N="CpuHotAddEnabled";E={$_.Config.CpuHotAddEnabled}}, `
@{N="CpuHotRemoveEnabled";E={$_.Config.CpuHotRemoveEnabled}}, `
@{N="MemoryHotAddEnabled";E={$_.Config.MemoryHotAddEnabled}}
Activation de Hot Add dans un fichier de configuration de machine virtuelle
Une autre méthode pour activer VMware Hot Add consiste à utiliser l’ESXi interface en ligne de commande et à modifier le fichier de configuration VMX de la machine virtuelle. Ouvrez le shell ESXi ou connectez-vous à l’hôte ESXi via SSH. Exécutez ensuite les commandes suivantes dans la ligne de commande pour activer Hot Add:
- Accédez au répertoire de la machine virtuelle :
cd /vmfs/volumes/datastore10a/Windows-VM/
- Assurez-vous que la machine virtuelle est éteinte.
- Ouvrez le fichier de configuration VMX de la machine virtuelle dans un éditeur de texte :
vi Windows-VM.vmx - Ajoutez cette ligne au fichier de configuration pour activer
vCPU Hot Add:
vcpu.hotadd = "TRUE" - Ajoutez cette ligne au fichier de configuration pour activer la mémoire
Hot Add:
mem.hotadd = "TRUE" - Enregistrez le fichier de configuration
VMXet quittez l’éditeur de texte.
Vous pouvez désactiver les fonctionnalités de connexion à chaud dans une machine virtuelle pour des périphériques tels que les cartes réseau, les contrôleurs de disque, etc. (qui sont activés par défaut).
devices.hotplug = “false”
Ce paramètre n’affecte pas CPU hotplug ni la configuration VMware de l’ajout à chaud de mémoire pour la machine virtuelle.
Modification de la configuration VMX dans VMware vSphere Client
Vous pouvez également modifier la configuration VMX dans VMware vSphere Client:
- Sélectionnez la machine virtuelle souhaitée dans
VMware vSphere Client. - Arrêtez la machine virtuelle si celle-ci est en cours d’exécution.
- Cliquez sur
Edit Settings. - Sélectionnez l’onglet
VM Optionsdans la fenêtreVM Settings. - Cliquez sur
Advancedpour développer les options, puis cliquez surEdit Configuration.
- Cliquez sur
Add Configuration Paramsdans la fenêtreConfiguration Parameters. - Dans la section
Add New Configuration Params, saisissez les valeurs permettant d’activer respectivement la mémoireVMware Hot Addet les vCPU VMware.
Nom :mem.hotaddValeur :TRUE
Nom :vcpu.hotaddValeur :TRUE

- Cliquez sur
OKpour enregistrer les paramètres et fermer la fenêtre.
Conclusion
N’activez VMware Hot Add que si vous prévoyez d’utiliser cette fonctionnalité pour ajouter des processeurs virtuels et de la mémoire à une machine virtuelle en cours d’exécution. Si vous activez VMware Hot Add sans utiliser cette fonctionnalité, les performances des VMs volumineuses peuvent se dégrader, car la topologie comportant plusieurs nœuds NUMA ne sera pas utilisée. Utilisez la surveillance des VMs VMware pour surveiller les performances et l’utilisation des ressources des VMs dans VMware vSphere. Cette approche vous aide à déterminer si une VM nécessite l’activation de la fonctionnalité Hot Add.
