Pour migrer des machines virtuelles avec vMotion, la machine virtuelle doit répondre à un certain nombre d'exigences en matière de réseau, de disque, de CPU, d'USB et d'autres périphériques.

Les conditions et limitations suivantes de machine virtuelle s'appliquent lorsque vous utilisez vSphere vMotion :

  • Les familles d'adresse de gestion de réseau IP source et destination doivent correspondre. Vous ne pouvez pas migrer une machine virtuelle d'un hôte enregistré dans vCenter Server avec une adresse IPv4 vers un hôte enregistré avec une adresse IPv6.
  • L'utilisation d'adaptateurs réseau 1 GbE pour le réseau vSphere vMotion peut provoquer l'échec de la migration, si vous migrez des machines virtuelles avec des profils vGPU volumineux. Utilisez des adaptateurs réseau de 10 GbE pour le réseau vSphere vMotion.
  • Si les compteurs de performance de processeur virtuel sont activés, vous pouvez uniquement migrer les machines virtuelles vers des hôtes ayant des compteurs de performance de processeur compatibles.
  • Vous pouvez migrer les machines virtuelles dont les graphiques 3D sont activés. Si le moteur de rendu 3D est défini sur Automatique, les machines virtuelles utilisent le moteur de rendu graphique qui se trouve sur l'hôte de destination. Le moteur de rendu peut être le CPU de l'hôte ou une carte graphique GPU. Pour migrer des machines virtuelles dont le moteur de rendu 3D est défini sur Matériel, l'hôte de destination doit disposer d'une unité GPU.
  • À partir de vSphere 6.7 Update 1 et versions ultérieures, vSphere vMotion prend en charge les machines virtuelles avec un processeur graphique virtuel (vGPU).
  • vSphere DRS prend en charge le placement initial des machines virtuelles vGPU exécutant vSphere 6.7 Update 1 ou version ultérieure sans prise en charge de l'équilibrage de charge.
  • Vous pouvez migrer des machines virtuelles avec des périphériques USB connectés à un périphérique USB physique sur l'hôte. Vous devez activer les périphériques pour vSphere vMotion.
  • Vous ne pouvez pas employer la migration avec vSphere vMotion pour migrer une machine virtuelle qui utilise un périphérique virtuel reposant sur un périphérique inaccessible sur l'hôte de destination. Par exemple, vous ne pouvez pas faire migrer une machine virtuelle avec un lecteur de CD soutenu par le lecteur de CD physique sur l'hôte source. Débranchez ces périphériques avant de migrer la machine virtuelle.
  • Vous ne pouvez pas employer la migration avec vSphere vMotion pour migrer une machine virtuelle qui utilise un périphérique virtuel reposant sur un périphérique sur l'ordinateur client. Débranchez ces périphériques avant de migrer la machine virtuelle.

Utilisation de vSphere vMotion pour migrer des machines virtuelles vGPU

Vous pouvez utiliser vMotion pour effectuer une migration en direct de machines virtuelles dotées de vGPU NVIDIA sans entraîner de perte de données.

Pour activer vMotion pour les machines virtuelles vGPU, vous devez définir le paramètre avancé vgpu.hotmigrate.enabled sur true. Pour plus d'informations sur la configuration des paramètres avancés de vCenter Server, reportez-vous à la section Configurer les paramètres avancés dans la documentation Configuration de vCenter Server.

Dans vSphere 6.7 Update 1 et vSphere 6.7 Update 2, lorsque vous migrez des machines virtuelles vGPU avec vMotion et que le temps de latence vMotion dépasse 100 secondes, le processus de migration peut échouer pour les profils vGPU avec une taille de tampon de trame de 24 Go ou plus. Pour éviter le délai d'expiration de l'opération vMotion, procédez à la mise à niveau vers vSphere 6.7 Update 3 ou version ultérieure.

Pendant le temps de latence, vous ne pouvez pas accéder à la machine virtuelle, au poste de travail ou à l'application. Une fois la migration terminée, l'accès à la machine virtuelle reprend et toutes les applications continuent à leur état précédent. Pour plus d'informations sur la taille de tampon de trame dans les profils vGPU, consultez la documentation Processeur graphique virtuel NVIDIA.

Les temps de latence de machine virtuelle attendus (la durée pendant laquelle la machine virtuelle est inaccessible aux utilisateurs pendant l'opération vMotion) et ceux estimés dans les cas les plus défavorables sont répertoriés dans le tableau suivant. Ces temps de latence attendus ont été testés sur un réseau 10 Gbits avec des processeurs graphiques (GPU) NVIDIA Tesla V100 PCIe 32 Go :

Tableau 1. Temps de latence attendus pour vMotion de VM vGPU
Tampon de trame vGPU utilisé (Go) Temps de latence de VM (s)
1 2
2 4
4 6
8 12
16 22
32 39
Tableau 2. Temps de latence estimés dans les cas les plus défavorables (s)
Mémoire vGPU 4 Go de mémoire de VM 8 Go de mémoire de VM 16 Go de mémoire de VM 32 Go de mémoire de VM
1 Go 5 6 8 12
2 Go 7 9 11 15
4 Go 13 14 16 21
8 Go 24 25 28 32
16 Go 47 48 50 54
32 Go 91 92 95 99
Note : Lorsque vous prenez en compte les temps de latence prévus et estimés dans les cas les plus défavorables, gardez à l'esprit les points suivants :
  • Le profil vGPU configuré représente une limite supérieure pour le tampon de trame vGPU utilisé. Dans de nombreux cas d'utilisation, la quantité de mémoire tampon vGPU utilisée par la machine virtuelle à un moment précis est inférieure à la mémoire vGPU attribuée dans le profil.
  • Les temps de latence prévus et estimés dans les cas les plus défavorables ne sont valides que lors de la migration d'une seule machine virtuelle. Si vous migrez simultanément plusieurs machines virtuelles, c'est-à-dire pour un processus de correction manuelle vSphere, les temps de latence auront des effets défavorables.
  • Les estimations ci-dessus reposent sur un CPU, une mémoire, une PCIe et une capacité réseau suffisants pour atteindre un débit de migration de 10 Gbits/s.

DRS prend en charge le placement initial des machines virtuelles vGPU exécutant vSphere 6.7 Update 1 et versions ultérieures sans prise en charge de l'équilibrage de charge.

VMware vSphere vMotion est uniquement pris en charge avec et entre les modèles de périphériques GPU NVIDIA et les versions de pilote d'hôte NVIDIA GRID compatibles, tels que définis et pris en charge par NVIDIA. Pour plus d'informations sur la compatibilité, reportez-vous au Guide de l'utilisateur de processeur graphique virtuel NVIDIA.

Pour vérifier la compatibilité entre les pilotes d'hôte vGPU NVIDIA, vSphere et Horizon, reportez-vous à la Matrice de compatibilité VMware.

Définition d'une limite de temps de latence pour vos machines virtuelles vGPU

Découvrez comment définir une limite de temps de latence par machine virtuelle lorsque vous migrez des machines virtuelles dotées de vGPU NVIDIA avec vSphere vMotion. La définition d'une limite de temps de latence peut empêcher vCenter Server de mettre sous tension la machine virtuelle ou de la migrer vers un hôte et un réseau dont le temps de latence maximal estimé dépasse cette limite.

Le temps de latence d'une machine virtuelle est le moment où la machine virtuelle est inaccessible aux utilisateurs au cours d'une opération vMotion. À partir de vSphere 8.0 Update 2, vous pouvez définir une limite de temps de latence vMotion pour les machines virtuelles vGPU.

La limite que vous définissez doit être supérieure au temps de latence maximal estimé pour la configuration actuelle du périphérique. Si plusieurs périphériques PCI sont utilisés, la limite de temps de latence que vous définissez doit être supérieure à la somme des contributions de tous les périphériques PCI. La définition d'une limite de temps de latence inférieure à la durée de latence maximale estimée peut empêcher la mise sous tension de la machine virtuelle.

Note : Les estimations du temps de latence maximal sont uniquement disponibles pour les types de vGPU de série C et Q.

Le temps de latence maximal est calculé en fonction de la bande passante de l'hôte sur lequel la machine virtuelle s'exécute actuellement. Les calculs peuvent changer au moment de la migration si la bande passante de l'hôte de destination est inférieure. Par exemple, si une machine virtuelle s'exécute sur un hôte avec une carte réseau vMotion de 25 Gbits/s, mais que l'hôte de destination dispose d'une carte réseau vMotion de 10 Gbits/s, au moment de la migration, le calcul du temps de latence maximal est basé sur la carte réseau vMotion de 10 Gbits/s.

Conditions préalables

  • Vérifiez que l'instance de vCenter Server est de version 8.0 Update 2.
  • Vérifiez que les hôtes ESXi source et de destination sont de version 8.0 Update 2.
  • Vérifiez que les machines virtuelles vCLS (vSphere Cluster Services) sont dans un état sain. Pour plus d'informations sur vCLS, reportez-vous à la section vSphere Cluster Services.
  • Vérifiez que le réseau vMotion est configuré via le workflow de démarrage rapide. Pour plus d'informations sur la configuration des options de mise en réseau pour le trafic vMotion, reportez-vous à la section Configuration de votre cluster vSphere à l'aide du workflow de démarrage rapide.
  • Vérifiez que vMotion est activé pour les machines virtuelles vGPU. La paramètre avancé vgpu.hotmigrate.enabled doit être défini sur true. Pour plus d'informations sur la configuration des paramètres avancés de vCenter Server, reportez-vous à la section Configurer les paramètres avancés dans la documentation Configuration de vCenter Server.

Procédure

  1. Dans vSphere Client, accédez à une machine virtuelle vGPU.
  2. Cliquez avec le bouton droit sur la machine virtuelle et sélectionnez Modifier les paramètres.
    La boîte de dialogue Modifier les paramètres s'affiche.
  3. Cliquez sur l'onglet Options VM et développez Avancé.
    La boîte de dialogue Modifier les paramètres est développée avec les paramètres avancés de la machine virtuelle.
  4. Dans le champ d'entrée Limite de temps de latence vMotion, entrez la limite de temps de latence en secondes.
    Paramètres avancés développés avec le champ d'entrée Temps de latence vMotion mis en surbrillance.
    Si vous définissez une limite de temps de latence inférieure à la durée de latence maximale estimée pour la configuration du périphérique PCI, un message d'avertissement s'affiche. Un message d'avertissement s'affiche également dans l'onglet Matériel virtuel.
  5. Cliquez sur OK.

Emplacement du fichier d'échange des machines virtuelles et compatibilité de vSphere vMotion

L'emplacement du fichier d'échange de machine virtuelle affecte la compatibilité de vMotion de différentes manières selon la version de l'ESXi qui s'exécute sur l'hôte de la machine virtuelle.

Vous pouvez configurer ESXi ou 6.7, ou des hôtes ultérieurs pour stocker des fichiers d'échange de machine virtuelle avec le fichier de configuration de la machine virtuelle, ou sur une banque de données de fichier d'échange local spécifiée pour cet hôte.

L'emplacement du fichier d'échange de machine virtuelle affecte la compatibilité vMotion comme suit :

  • Pour les migrations entre les hôtes exécutant ESXi 6.7 et ultérieures, vMotion et les migrations de machines virtuelles hors tension ou suspendues sont autorisés.
  • Pendant une migration avec vMotion, si l'emplacement du fichier d'échange spécifié sur l'hôte de destination diffère de l'emplacement du fichier d'échange spécifié sur l'hôte source, le fichier d'échange est copié au nouvel emplacement. Cette activité peut avoir comme conséquence des migrations plus lentes avec vMotion. Si l'hôte de destination ne peut pas accéder à l'emplacement spécifié de fichier d'échange, il stocke le fichier d'échange avec le fichier de configuration de la machine virtuelle.

Consultez la documentation Gestion des ressources vSphere pour plus d'informations sur la configuration des politiques de fichier d'échange.

Notifications vSphere vMotion pour les applications sensibles à la latence

À partir de vSphere 8.0, vous pouvez notifier une application en cours d'exécution dans le système d'exploitation invité d'une machine virtuelle lorsqu'un événement vSphere vMotion démarre et se termine. Ce mécanisme de notification permet aux applications sensibles à la latence de préparer ou de retarder une opération vSphere vMotion.

En cas d'applications sensibles à la latence, telles que les applications VoIP et les applications à haute fréquence, vSphere vMotion et vSphere DRS sont généralement désactivés. vSphere 8.0 introduit un mécanisme qui permet de notifier une application qu'une instance de vSphere vMotion est sur le point de se produire afin que l'application prenne les mesures nécessaires pour se préparer. vSphere vMotion s'interrompt après la génération de l'événement de démarrage et attend que l'application reconnaisse la notification de démarrage avant de continuer.

Note :

L'activation du mécanisme de notification pour les opérations vSphere vMotion peut entraîner une augmentation du temps global de vSphere vMotion.

Configuration d'une machine virtuelle pour les notifications vSphere vMotion

Par défaut, le mécanisme de notification est désactivé. Pour activer le mécanisme de notification sur une machine virtuelle, celle-ci doit être de version matérielle 20, et vous devez configurer les options de configuration de machine virtuelle avancées suivantes.

Vous pouvez utiliser l'API des services vSphere Web pour permettre l'envoi de notifications aux applications exécutées à l'intérieur de la machine virtuelle et pour spécifier la période maximale en secondes qu'une application doit préparer pour l'opération vMotion.

  • Pour activer l'envoi de notifications aux applications exécutées au sein de la machine virtuelle, définissez la propriété de machine virtuelle vmx.vmOpNotificationToApp.enabled sur true

  • Pour spécifier la durée maximale en secondes pendant laquelle une application doit préparer l'opération vMotion, utilisez la propriété de machine virtuelle vmx.vmOpNotificationToApp.timeout. Lorsqu'une opération vSphere vMotion génère un événement de démarrage, l'opération vMotion s'interrompt et attend la confirmation de l'application pour continuer. vSphere vMotion attend pendant le délai d'expiration de notification que vous spécifiez.

    Cette propriété est facultative et n'est pas définie par défaut. Vous pouvez l'utiliser pour configurer un délai d'expiration plus restrictif pour une machine virtuelle spécifique. Si elle n'est pas définie, la configuration des notifications de l'hôte est utilisée.

Pour plus d'informations, reportez-vous aux propriétés de l'objet de données de machine virtuelle dans la documentation API des services Web vSphere. Pour plus d'informations sur l'utilisation de vSphere Web Services SDK, consultez le guide de programmation de vSphere Web Services SDK.

Configuration d'un hôte pour les notifications vSphere vMotion

Vous pouvez utiliser le paramètre de configuration d'hôte avancé VmOpNotificationToApp.Timeout pour spécifier un délai d'expiration de notification qui s'applique à toutes les machines virtuelles sur un hôte. Utilisez les API ConfigManager pour définir une valeur pour cette propriété de configuration. Le délai d'expiration de notification par défaut est 0. Dans ce cas, des notifications d’application sont générées, mais les opérations de vSphere vMotion ne sont pas retardées.

Si vous définissez un délai d'expiration de notification sur un hôte et une machine virtuelle exécutée sur l'hôte en même temps, la valeur la plus petite est utilisée.

Pour plus d'informations sur l'utilisation de vSphere Web Services SDK, consultez le guide de programmation de vSphere Web Services SDK.

Enregistrement d'une application pour les notifications vSphere vMotion

Pour permettre à une application de recevoir des notifications pour les événements vSphere vMotion, VMware Tools doit être installé sur la machine virtuelle hébergeant l'application. Pour plus d'informations sur l'installation et la configuration de VMware Tools, reportez-vous à la documentation de VMware Tools.

Pour vSphere 8.0 vous ne pouvez enregistrer qu'une seule application par machine virtuelle. Une application qui souhaite recevoir des notifications vSphere vMotion peut utiliser les appels RPC invités suivants et rechercher régulièrement les nouveaux événements vMotion, par exemple toutes les 1 ou 2 secondes, à l'aide de l'appel RPC invité vm-operation-notification.check-for-event.

Pour plus d'informations sur l'utilisation des appels RPC invités, reportez-vous au Guide de programmation du SDK invité VMware.

Commande

Description

vm-operation-notification.register

Enregistre une application pour commencer à recevoir des notifications pour les événements vSphere vMotion.

vm-operation-notification.unregister

Annule l'enregistrement d'une application qui ne reçoit donc plus de notifications pour les événements vSphere vMotion.

vm-operation-notification.list

Récupère des informations sur l'application enregistrée exécutée sur une machine virtuelle sur l'hôte.

vm-operation-notification.check-for-event

Récupère des informations sur l'événement vSphere vMotion enregistré au moment de l'appel.

vm-operation-notification.ack-event

Reconnaît un événement de démarrage vSphere vMotion.