Mode de compatibilité du processeur dynamique dans Azure Stack HCI

S’applique à : Azure Stack HCI, versions 23H2 et 22H2

Notes

La méthode recommandée pour créer et gérer des machines virtuelles sur Azure Stack HCI 23H2 consiste à utiliser le plan de contrôle Azure Arc. Utilisez le mécanisme décrit ci-dessous pour gérer vos machines virtuelles uniquement si vous avez besoin de fonctionnalités qui ne sont pas disponibles dans les machines virtuelles Azure Arc.

Le mode de compatibilité du processeur dynamique dans Azure Stack HCI a été mis à jour pour tirer parti des nouvelles fonctionnalités du processeur dans un environnement en cluster. Le fonctionnement de la compatibilité du processeur est fondé sur la détermination des fonctionnalités du processeur prises en charge pour chaque nœud individuel du cluster et sur le calcul du dénominateur commun à tous les processeurs. Les machines virtuelles (VM) sont configurées de manière à utiliser le nombre maximal de fonctionnalités disponibles sur tous les serveurs du cluster. Cela permet d’améliorer les performances par rapport à la version précédente de la compatibilité du processeur qui possède par défaut un ensemble minimal et fixe de fonctionnalités du processeur.

Pour plus d’informations sur le mode de compatibilité du processeur dans Windows Server, consultez Mode de compatibilité du processeur dans Hyper-V.

À quel moment utiliser le mode de compatibilité du processeur

Le mode de compatibilité du processeur vous permet de déplacer une machine virtuelle dynamique (migration dynamique) ou de déplacer une machine virtuelle qui est enregistrée entre des nœuds possédant des ensembles de capabilités de processus différents. Toutefois, même lorsque la compatibilité du processeur est activée, vous ne pouvez pas déplacer de machines virtuelles entre des hôtes ayant des fabricants de processeurs différents. Par exemple, vous ne pouvez pas déplacer des machines virtuelles en cours d’exécution ou des machines virtuelles d’état enregistré à partir d’un ordinateur hôte avec processeurs Intel vers un ordinateur hôte avec processeurs AMD. Si vous devez déplacer une machine virtuelle de cette manière, arrêtez tout d’abord la machine virtuelle, puis redémarrez-la sur le nouvel hôte.

Important

Seules les machines virtuelles Hyper-V dotées de la dernière version de la configuration (10.0) peuvent profiter de la configuration dynamique. Les machines virtuelles de versions antérieures ne bénéficient pas de la configuration dynamique et continuent d’utiliser des fonctionnalités de processeur fixes provenant de la version précédente.

Nous vous recommandons d’activer le mode de compatibilité du processeur pour les machines virtuelles s’exécutant sur Azure Stack HCI. Cela fournit le niveau le plus élevé de fonctionnalités. Ainsi, lorsqu’il est temps de migrer vers un nouveau matériel, le déplacement des machines virtuelles ne nécessite pas de temps d’arrêt.

Notes

Vous ne devez pas utiliser le mode de compatibilité du processeur si vous prévoyez d’arrêter et de redémarrer les machines virtuelles. Chaque fois qu’une machine virtuelle est redémarrée, le système d’exploitation invité énumère les compatibilités du processeur disponibles sur le nouvel ordinateur hôte.

Pourquoi le mode de compatibilité du processeur est-il nécessaire

Les fabricants de processeur introduisent souvent des optimisations et des fonctionnalités dans leurs processeurs. Ces fonctionnalités améliorent souvent les performances ou la sécurité en utilisant du matériel spécialisé pour une tâche particulière. Par exemple, de nombreuses applications multimédias utilisent des fonctionnalités de processeur afin d’accélérer les calculs de vecteur. Ces fonctionnalités sont rarement requises pour l’exécution des applications, elles améliorent simplement les performances.

L’ensemble des fonctionnalités disponibles sur un processeur varie en fonction de sa marque, de son modèle et de son âge. Les systèmes d’exploitation et les logiciels d’application énumèrent généralement l’ensemble des fonctionnalités du processeur du système défini lors de son premier lancement. Le logiciel ne s’attend pas à ce que les fonctionnalités du processeur soient modifiées au cours de sa durée de vie et, bien sûr, cela ne peut jamais se produire lors de l’exécution sur un ordinateur physique, car les fonctionnalités du processeur sont statiques, sauf si le processeur est mis à niveau.

Toutefois, les fonctionnalités de mobilité des machines virtuelles permettent de migrer une machine virtuelle en cours d’exécution vers un nouvel hôte de virtualisation. Si le logiciel de la machine virtuelle a détecté et a commencé à utiliser une fonctionnalité de processeur particulière, et que la machine virtuelle est déplacée vers un nouvel hôte de virtualisation qui ne dispose pas de cette fonctionnalité, le logiciel risque d’échouer. Cela peut entraîner un incident au niveau de l’application ou de la machine virtuelle.

Pour éviter les défaillances, Hyper-V effectue des vérifications préliminaires chaque fois qu’une opération de migration dynamique de machine virtuelle ou d’enregistrement/de restauration est lancée. Ces vérifications comparent l’ensemble des fonctionnalités du processeur disponibles pour la machine virtuelle sur l’hôte source par rapport à l’ensemble des fonctionnalités disponibles sur l’ordinateur hôte cible. Si ces ensembles de fonctionnalités ne correspondent pas, l’opération de migration ou de restauration est annulée.

Nouveautés du mode de compatibilité du processeur

Auparavant, tous les nouveaux jeux d’instructions du processeur étaient masqués, ce qui signifie que le système d’exploitation invité et le logiciel d’application ne pouvaient pas tirer parti des nouvelles améliorations du jeu d’instructions du processeur pour aider les applications et les machines virtuelles à rester performantes.

Pour surmonter cette limitation, le mode de compatibilité du processeur a été mis à jour pour fournir des fonctionnalités améliorées et dynamiques sur les processeurs compatibles avec la traduction d’adresse de second niveau (SLAT). Cette nouvelle fonctionnalité calcule le dénominateur commun des fonctionnalités de processeur prises en charge par les nœuds du cluster et met à jour le mode de compatibilité du processeur existant sur une machine virtuelle pour utiliser ce jeu de fonctionnalités calculées dynamiquement à la place de l’ancien ensemble de fonctionnalités codées en dur.

Dans les environnements Azure Stack HCI, le nouveau mode de compatibilité du processeur garantit que l’ensemble des fonctionnalités du processeur disponibles pour les machines virtuelles sur les hôtes de virtualisation correspondent en présentant un ensemble de fonctionnalités communes sur tous les serveurs du cluster. Chaque machine virtuelle reçoit le nombre maximal de jeux d’instructions du processeur qui sont présents sur tous les serveurs du cluster. Ce processus s’effectue automatiquement et est toujours activé et répliqué sur le cluster. Il n’y a donc pas de commande permettant d’activer ou de désactiver le processus.

Migration de machines virtuelles en cours d’exécution entre des clusters

En supposant que tous les serveurs de chaque cluster exécutent le même matériel, ce qui est une exigence pour Azure Stack HCI, il est possible de migrer dynamiquement des machines virtuelles en cours d’exécution entre des clusters. Il existe trois scénarios courants.

  • Migration dynamique d’une machine virtuelle à partir d’un cluster avec de nouveaux processeurs vers un cluster équipé des mêmes processeurs. Les fonctionnalités de la machine virtuelle sont transférées vers le cluster de destination. Ce scénario ne nécessite pas l’activation du mode de compatibilité du processeur. Toutefois, la désactivation de celui-ci n’entraîne aucun problème.

  • Migration dynamique d’une machine virtuelle à partir d’un cluster possédant de nouveaux processeurs vers un cluster possédant des processeurs encore plus récents. Les fonctionnalités de la machine virtuelle sont transférées vers le cluster de destination. Dans ce scénario, si la machine virtuelle est redémarrée, elle recevra la dernière fonctionnalité calculée du cluster de destination.

  • Migration dynamique d’une machine virtuelle à partir d’un cluster possédant de nouveaux processeurs vers un cluster possédant d’anciens processeurs. Vous devez définir le processeur VM pour utiliser le MinimumFeatureSet pour le paramètre CompatibilityForMigrationMode dans PowerShell, ou sélectionner Compatible avec les autres hôtes qui ont le même fabricant de processeur dans Windows Admin Center sous Machines virtuelles > Paramètres > Processeurs. Cela affectera la machine virtuelle aux fonctionnalités minimales du processeur proposées sur le serveur. Une fois que la compatibilité est définie sur Compatible dans le cluster (Recommandé) et que la machine virtuelle est redémarrée, elle reçoit la dernière fonctionnalité calculée du cluster de destination.

Configurer une machine virtuelle de manière à utiliser le mode de compatibilité du processeur

Cette section explique la procédure de configuration d’une machine virtuelle de manière à utiliser le mode de compatibilité du processeur à l’aide de Windows Admin Center ou de PowerShell. Il est possible d’exécuter des machines virtuelles avec et sans le mode de compatibilité dans le même cluster.

Important

Vous devez arrêter la machine virtuelle avant de pouvoir activer ou désactiver le mode de compatibilité du processeur.

Activer le mode de compatibilité du processeur à l’aide de Windows Admin Center

Pour activer le mode de compatibilité du processeur à l’aide de Windows Admin Center :

  1. Connectez-vous à votre cluster, puis, dans le volet Outils, sélectionnez Machines virtuelles.

  2. Sous Inventaire, sélectionnez la machine virtuelle sur laquelle vous souhaitez activer le mode de compatibilité du processeur, développez le menu Alimentation, puis sélectionnez Arrêter.

  3. Sélectionnez Paramètres, Processeurs, puis cochez la case Compatibilité du processeur.

    Cocher la case pour activer la compatibilité du processeur

  4. Pour définir les fonctionnalités de processeur de la machine virtuelle sur le niveau maximal pris en charge par tous les serveurs d’un cluster, sélectionnez Compatible dans le cluster (Recommandé). Cela optimise les performances de la machine virtuelle tout en gardant la possibilité de déplacer la machine virtuelle en cours d’exécution vers d’autres serveurs du cluster. Nous vous recommandons de l’activer pour toutes les machines virtuelles s’exécutant sur des clusters Azure Stack HCI 21H2. Si cette option est désactivée, la machine virtuelle doit être redémarrée pour migrer vers un hôte avec un niveau différent d’instructions de processeur prises en charge, commun aux différentes générations de processeur.

    Sinon, pour définir les fonctionnalités de processeur de la machine virtuelle sur le minimum afin de pouvoir déplacer la machine virtuelle en cours d’exécution sur d’autres hôtes Hyper-V à l’extérieur du cluster (à condition qu’ils aient le même fabricant de processeur), sélectionnez Compatible avec les autres hôtes qui ont le même fabricant de processeur.

    Notes

    À l’instar du mode de compatibilité de processeur dynamique, Compatible dans le cluster s’applique seulement à Azure Stack HCI 21H2 et n’est pas pris en charge pour les autres systèmes d’exploitation.

  5. Sélectionnez Enregistrer les paramètres du processeur et redémarrez la machine virtuelle.

Activer le mode de compatibilité du processeur avec PowerShell

Pour activer le mode de compatibilité du processeur, exécutez la cmdlet suivante :

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true 

Nous vous recommandons de définir les fonctionnalités processeur de la machine virtuelle sur le niveau maximal pris en charge par tous les serveurs du cluster. Cela optimise les performances de la machine virtuelle tout en gardant la possibilité de déplacer la machine virtuelle en cours d’exécution vers d’autres serveurs du cluster.

Pour permettre à la machine virtuelle d’utiliser les fonctionnalités courantes du nœud de cluster, exécutez la cmdlet suivante :

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet

Vous pouvez également définir les fonctionnalités processeur de la machine virtuelle sur le niveau minimal pour être sûr de pouvoir déplacer la machine virtuelle en cours d’exécution vers d’autres hôtes Hyper-V en dehors du cluster s’ils ont le même fabricant de processeur.

Pour permettre à la machine virtuelle d’utiliser les fonctionnalités minimales par défaut afin d’effectuer une migration entre les clusters, exécutez la cmdlet suivante :

get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet

Étapes suivantes

Pour plus d'informations, consultez également :