Ressources VMware vSphere: Explication de HotAdd/HotPlug

Dans un environnement VMware vSphere, les ressources provisionnées peuvent ne pas être suffisantes pour le niveau de performance requis lorsque vous exécutez une application puissante sur une machine virtuelle. Dans ce cas, la solution optimale est d’ajouter davantage de ressources processeur et mémoire à la machine virtuelle.

Lorsque des applications critiques s’exécutent sur la machine virtuelle, vous ne pouvez pas vous permettre d’arrêter la machine virtuelle et de subir une période d’arrêt. Pour ce scénario, la fonction Hot Add de VMware vSphere est pratique. Grâce à la flexibilité offerte par la virtualisation de VMware, vous pouvez ajouter des processeurs et de la mémoire RAM virtuels à une machine virtuelle en cours d’exécution. Nous expliquerons ici comment activer le Hot Add de VMware, les cas d’utilisation, la configuration et les limitations de cette fonctionnalité.

Qu’est-ce que le Hot Add de VMware ?

Le Hot Add de VMware est une fonctionnalité qui vous permet d’ajouter des périphériques virtuels à une machine virtuelle tandis que la VM est en cours d’exécution. Par défaut, vous pouvez ajouter des périphériques virtuels tels qu’un disque dur virtuel (pas IDE), des adaptateurs réseau et des périphériques USB pendant que la VM est alimentée. Le Hot Add de VMware permet d’ajouter un processeur central virtuel (CPU) et de la mémoire vive (RAM) à la volée. Avec le Hot Add de VMware activé, il n’est pas nécessaire d’arrêter une VM pour ajouter des périphériques virtuels.

Hot Add VMware vs Hot Plug

Vous pouvez remarquer que la fonction Hot Add CPU est parfois appelée Hot Plug CPU. La même logique s’applique à l’ajout de mémoire et au hot plug de mémoire. Ces deux termes désignent la même chose et sont interchangeables.

Remarque : Ne confondez pas la mémoire dynamique VMware et l’ajout de mémoire à chaud VMware car ces fonctionnalités sont différentes. La mémoire dynamique VMware est une technique de gestion efficace de la mémoire VMware pour les machines virtuelles. Ce nom n’est pas officiel pour cette fonctionnalité, mais les utilisateurs la mentionnent comme l’équivalent avancé de la mémoire dynamique de Hyper-V. Les techniques de gestion de la mémoire VMware comprennent le partage transparent de pages, le gonflage de mémoire, la compression de mémoire et le swapping de mémoire.

Exigences et limitations

Il existe des exigences et des limitations pour l’ajout de vCPUs VMware (processeurs virtuels) et de mémoire aux VM en cours d’exécution :

  • Le système d’exploitation (OS) invité doit prendre en charge l’ajout de périphériques à chaud.
  • La compatibilité matérielle de la machine virtuelle (version matérielle virtuelle) est de 7 ou supérieure.
  • VMware Tools doivent être installés sur l’OS invité.
  • La tolérance de panne ne doit pas être activée pour la VM.
  • La machine virtuelle doit être arrêtée pour activer la fonction d’ajout à chaud.
  • A VMware vSphere Advanced, Enterprise, or Enterprise Plus license must be used. VMware vSphere Enterprise Plus supports both CPU hot add and memory hot add. Refer to the VMware licensing guide to check available functionality for other editions and guest OSs.

Tenez compte des limitations de licence du système d’exploitation invité et des applications installées sur la VM avant d’ajouter des vCPUs. Vous devrez peut-être acheter des licences supplémentaires pour exécuter le logiciel sur un nombre plus élevé de processeurs.

Les systèmes d’exploitation invités qui prennent en charge le Hot Add sont Windows Server 2003 et ultérieur, ainsi que Linux utilisant le noyau 3.8 et supérieur. Les principales éditions de Windows Server prennent en charge à la fois l’ajout à chaud de CPU et de mémoire. Certaines éditions inférieures de Windows Server prennent en charge uniquement l’ajout à chaud de mémoire.

Système d’exploitation invité Licence/Édition Ajout de mémoire à chaud Éjection de CPU à chaud
Windows Server 2003 32 bits/64 bits Standard, Entreprise Oui Non
Windows Server 2008 32 bits Standard, Entreprise, Datacenter Oui Non
Windows Server 2008 64 bits Standard, Entreprise Oui Non
Windows Server 2008 64 bits Datacenter Oui Oui
Windows Server 2008 R2 Standard, Entreprise 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

Avantages et inconvénients de l’ajout à chaud VMware

VMware Hot Add est une fonctionnalité utile dans de nombreux cas. Notez cependant qu’il y a des inconvénients à utiliser cette fonctionnalité lorsque l’ajout à chaud n’est pas vraiment nécessaire. VMware Hot Add est désactivé par défaut pour différentes raisons. Découvrons pourquoi.

VMware vCPU Hot Add et vNUMA

Lorsque vous activez VMware Hot Add, vNUMA est automatiquement désactivé pour la VM. Par défaut, vNUMA est activé pour toutes les VM qui ont 8 vCPUs ou plus pour améliorer les performances. Prenons un peu plus en détail le concept de NUMA et vNUMA.

Qu’est-ce que NUMA ?

NUMA (accès mémoire non uniforme) est l’architecture pour les systèmes multiprocesseurs qui permet aux CPU de partager la mémoire localement. Le temps d’accès à la mémoire par un CPU dépend de l’emplacement de la mémoire sur la carte mère. Chaque processeur a une priorité pour utiliser « sa propre » mémoire locale plutôt que d’utiliser la mémoire installée dans les emplacements près d’un autre processeur. En d’autres termes, NUMA est une méthode qui détermine comment un processeur interagit avec les modules mémoire d’un autre processeur. Les systèmes NUMA sont des plateformes avec plus d’un bus système où chaque processeur peut accéder à toute la mémoire sur la carte mère. Un processeur avec de la mémoire installée dans des emplacements près de ce processeur est appelé un nœud NUMA.

Si NUMA est désactivé ou, par exemple, si vous avez deux processeurs et que la mémoire est installée dans les emplacements de l’un de ces processeurs seulement, vous pouvez constater une dégradation des performances et d’autres problèmes matériels. Si vous n’avez pas suffisamment de modules mémoire pour remplir tous les emplacements sur une carte mère avec deux processeurs, essayez de répartir les modules mémoire à travers les emplacements de mémoire du premier et du deuxième processeur.

NUMA aide les processus système s’exécutant dans un système d’exploitation conscient de NUMA à être distribués de manière rationnelle. Il 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 vNUMA?

NUMA virtuel (vNUMA) est une méthode d’optimisation dans VMware vSphere. Il garantit que les grandes VM fonctionnent de manière optimale en tenant compte de la topologie NUMA et en évitant les goulots d’étranglement de la bande passante mémoire. Une topologie NUMA physique est exposée à un système d’exploitation invité avec vNUMA. En conséquence, la topologie NUMA virtuelle est basée sur la topologie NUMA du matériel physique sous-jacent utilisé par l’hôte ESXi. Les CPU virtuels de la VM peuvent planifier l’accès à la mémoire située sur les mêmes nœuds NUMA.

Le vNUMA est disponible pour les machines virtuelles utilisant du matériel virtuel 8 ou supérieur. 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 de CPU est calculé automatiquement. Si le nombre de vCPUs utilisés par une VM est supérieur au nombre de cœurs sur chaque nœud NUMA, alors une topologie vNUMA est modifiée et optimisée pour être utilisée par un système d’exploitation invité. Le système d’exploitation invité peut utiliser plusieurs nœuds NUMA dans ce cas. Cette VM est appelée une machine virtuelle large ou grande.

Que se passe-t-il lorsque le vNUMA est désactivé?

Lorsque Hot Add est activé et que vNUMA est désactivé, une machine virtuelle n’est pas consciente des nœuds NUMA sous-jacents sur l’hôte ESXi et augmente l’accès à la mémoire sur des nœuds NUMA distants. La planification du 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 dégradation des performances est perceptible pour les machines virtuelles larges avec une augmentation des threads par une application. Par exemple, si vous activez Hot Add sur une machine virtuelle dont le système d’exploitation invité utilise deux nœuds NUMA, ce système d’exploitation invité ne peut détecter qu’un seul nœud NUMA par la suite, car la topologie vNUMA optimisée n’est pas créée.

Activez VMware Hot Add uniquement si vous prévoyez d’utiliser cette fonctionnalité pendant le fonctionnement de la machine virtuelle. Sinon, il est préférable de désactiver Hot Add pour les machines virtuelles qui couvrent plus d’un nœud NUMA. Si vous n’êtes pas sûr d’avoir besoin d’ajouter à chaud des ressources CPU et mémoire, vous pouvez provisionner davantage de ressources CPU et mémoire pour la machine virtuelle dès le départ.

Limitations de VMware Hot Add

La suppression à chaud n’est pas possible

Lorsque la fonctionnalité Hot Add/Hot Plug est activée, il est impossible de supprimer à 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 ajoutées. C’est pourquoi les applications ne prennent pas en charge les options telles que retirer 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 CPU et mémoire pour une machine virtuelle est d’éteindre la machine virtuelle et de modifier les paramètres de la machine virtuelle hors tension.

Limitations de la scalabilité de la mémoire

La quantité maximale de mémoire pouvant être ajoutée à chaud est x16 la quantité initiale de mémoire provisionnée pour la machine virtuelle. Par exemple, si une machine virtuelle dispose de 4 Go de RAM, cette quantité peut être augmentée jusqu’à 64 Go.

Vous avez également une limitation sur les VM ayant 3 Go de RAM (exactement 3072 Mo) ou moins. Vous pourriez rencontrer une erreur ou un système d’exploitation invité (Linux 64 bits et Windows 32 bits) ne peut pas déterminer la mémoire ajoutée. La solution consiste à arrêter la VM, augmenter la quantité de mémoire à plus de 3072 Mo. Ensuite, vous pouvez démarrer la VM et utiliser VMware Memory Hot Add.

Comment configurer VMware Hot Add

Il existe plusieurs méthodes pour activer VMware vCPUs Hot Add et VMware Memory Hot Add. Vous pouvez utiliser l’interface utilisateur graphique ou l’interface utilisateur en ligne de commande.

Activation de Hot Add dans vCenter

Pour activer l’option VMware Hot Add en utilisant vCenter, connectez-vous au client VMware vSphere et effectuez les étapes suivantes :

  1. Accédez à Hôtes et clusters.
  2. Sélectionnez la machine virtuelle nécessaire dans le volet de navigation. La VM doit être éteinte.
  3. Cliquez sur l’icône Modifier les paramètres. En alternative, vous pouvez cliquer avec le bouton droit sur le nom de la VM et, dans le menu qui s’ouvre, sélectionner Modifier les paramètres.

Pour activer l’ajout à chaud de CPU, procédez comme suit :

  1. Dans la fenêtre Modifier les paramètres, développez les paramètres de CPU.
  2. Dans la ligne Plug Hot CPU, sélectionnez la case à cocher Activer l’ajout à chaud de CPU.

Pour activer l’ajout à chaud de mémoire, procédez comme suit :

  1. Dans la fenêtre Modifier les paramètres, développez les paramètres de mémoire.
  2. Dans la ligne Memory Hot Plug, sélectionnez la case à cocher Activer.
  3. Cliquez sur OK pour enregistrer les paramètres de la machine virtuelle et fermer la fenêtre.

Maintenant, vous pouvez démarrer la machine virtuelle et ajouter à chaud des vCPUs et de la mémoire VMware à la machine virtuelle.

Activation de Hot Add VMware dans PowerCLI

VMware PowerCLI est l’outil de ligne de commande puissant pour la gestion de VMware vSphere. Voyons comment activer Hot Add VMware dans PowerCLI.

  1. Connectez-vous à votre vCenter ou à l’hôte ESXi en utilisant la commande suivante et en entrant l’adresse IP appropriée (192.168.101.205 dans cet exemple) ou le nom d’hôte :

    Connect-VIServer 192.168.101.205

  2. Entrez les informations d’identification lorsque vous y êtes invité.
  3. Listez les machines virtuelles sur l’hôte ESXi auquel vous êtes connecté.

    Get-VM

  4. Assurez-vous que la machine virtuelle pour laquelle vous souhaitez activer Hot Add est éteinte.
  5. Exécutez ces commandes pour activer l’ajout à chaud de mémoire et l’ajout à chaud de CPU pour la machine virtuelle sélectionnée.

    $VM = Get-VM Windows-VM
    $spec = New-Object VMware.Vim.VirtualMachineConfigSpec
    $spec.memoryHotAddEnabled = $true
    $spec.cpuHotAddEnabled = $true
    $VM.ExtensionData.ReconfigVM_Task($spec)
     
    Où :
    Windows-VM
    est le nom de la machine virtuelle nécessaire
    $spec.memoryHotAddEnabled = $true est la commande pour activer l’ajout à chaud de mémoire
    $spec.cpuHotAddEnabled = $true est la commande pour activer l’ajout à chaud de CPU

  6. Vérifiez sur quelles VMs les fonctionnalités d’ajout à chaud et de retrait à chaud du CPU et de la 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 du Hot Add dans un fichier de configuration de VM

Une autre méthode pour activer l’ajout à chaud de VMware consiste à utiliser l’interface en ligne de commande ESXi et à éditer le fichier de configuration VMX de la machine virtuelle. Ouvrez la console ESXi ou connectez-vous à l’hôte ESXi via SSH. Ensuite, exécutez les commandes suivantes dans la ligne de commande pour activer l’ajout à chaud :

  1. Allez dans le répertoire VM :
    cd /vmfs/volumes/datastore10a/Windows-VM/
  2. Veuillez vous assurer que la VM est éteinte.
  3. Ouvrez le fichier de configuration VMX de la machine virtuelle dans un éditeur de texte :
    vi Windows-VM.vmx
  4. Ajoutez cette ligne au fichier de configuration pour activer l’ajout à chaud de vCPU :
    vcpu.hotadd = “TRUE”
  5. Ajoutez cette ligne au fichier de configuration pour activer l’ajout à chaud de la mémoire :
    mem.hotadd = “TRUE”
  6. Enregistrez le fichier de configuration VMX et quittez l’éditeur de texte.

Vous pouvez désactiver les capacités d’insertion à chaud dans une VM pour des périphériques tels que les adaptateurs réseau, les contrôleurs de disque, etc. (qui sont activés par défaut).

devices.hotplug = “false”

Cette configuration n’affecte pas la configuration de l’insertion à chaud du CPU et de la mémoire VMware pour la VM.

Édition du fichier VMX de configuration dans le Client VMware vSphere

Vous pouvez également éditer la configuration VMX dans le Client VMware vSphere :

  1. Sélectionnez la VM nécessaire dans VMware vSphere Client.
  2. Éteignez la VM si elle est en cours d’exécution.
  3. Cliquez sur Edit Settings.
  4. Sélectionnez l’onglet Options VM dans la fenêtre des Paramètres VM.
  5. Cliquez sur Avancé pour développer les options et cliquez sur Modifier la configuration.
  6. Cliquez sur Ajouter des paramètres de configuration dans la fenêtre des Paramètres de configuration.
  7. Dans la section Ajouter de nouveaux paramètres de configuration, saisissez les valeurs pour activer l’ajout de mémoire VMware Hot Add et les vCPUs VMware en conséquence.
     
    Nom : mem.hotadd       Valeur : TRUE
    Nom : vcpu.hotadd        Valeur : TRUE
  8. Appuyez sur OK pour enregistrer les paramètres et fermer la fenêtre.

Conclusion

Activer VMware Hot Add uniquement lorsque vous prévoyez d’utiliser cette fonctionnalité pour ajouter des processeurs virtuels et de la mémoire à une VM en cours d’exécution. Si vous activez VMware Hot Add mais que vous n’utilisez pas cette fonctionnalité, les performances peuvent se dégrader pour les grandes VM, car la topologie avec plusieurs nœuds NUMA ne sera pas utilisée. Utilisez la surveillance des VM VMware pour surveiller les performances des VM et l’utilisation des ressources dans vSphere. Cette approche vous aide à identifier si une VM doit activer la fonction Hot Add.

Source:
https://www.nakivo.com/blog/vmware-vsphere-resources-hotadd-hotplug-explained/