Partager via


Mode de compatibilité du processeur dynamique

S’applique à : Azure Local, version 22H2

Le mode de compatibilité du processeur dynamique est mis à jour pour tirer parti des nouvelles fonctionnalités du processeur dans un environnement 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.

À 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 enregistrée entre les nœuds avec différents ensembles de fonctionnalités de processus. 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 façon, arrêtez 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 avec des versions antérieures ne bénéficient pas de la configuration dynamique et n’continueront pas à utiliser les fonctionnalités de processeur fixe 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 Local. Cela fournit le niveau de fonctionnalités le plus élevé et, quand 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.

Remarque

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 que les applications s’exécutent ; ils augmentent 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 la capacité du processeur du système lorsqu’ils sont lancés pour la première fois. Le logiciel ne s’attend pas à ce que les fonctionnalités de processeur disponibles changent pendant leur durée de vie, ce qui ne se produit jamais 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 détecte et démarre à l’aide d’une fonctionnalité de processeur particulière, puis que la machine virtuelle est déplacée vers un nouvel hôte de virtualisation sans cette fonctionnalité, le logiciel échouera probablement. 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 de « préversion » chaque fois qu’une migration dynamique de machine virtuelle ou une opération d’enregistrement/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 ensembles d’instructions de processeur étaient masqués, ce qui signifie que le système d’exploitation invité et le logiciel d’application ne pouvaient pas utiliser les améliorations apportées au jeu d’instructions de processeur pour aider les applications et les machines virtuelles à rester performantes.

Pour surmonter cette limitation, le mode de compatibilité du processeur fournit désormais des fonctionnalités dynamiques améliorées sur les processeurs capables de traduction d’adresses de deuxième 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.

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 commun 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.

Utiliser le mode de compatibilité du processeur

Il existe des concepts importants à comprendre lors de l’utilisation du mode de compatibilité du processeur dans Hyper-V :

  • Les machines virtuelles en cours d’exécution ne peuvent être migrées qu’entre des hôtes de virtualisation qui utilisent des processeurs du même fabricant.

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

  • Le mode de compatibilité du processeur n’est pas nécessaire pour les déplacements de machine virtuelle qui impliquent un arrêt et un redémarrage de la machine virtuelle.

  • Chaque fois qu’une machine virtuelle est redémarrée, le système d’exploitation invité énumère les fonctionnalités du processeur disponibles sur le nouvel ordinateur hôte.

Remarque

Dans Windows Server, Microsoft recommande d’activer le mode de compatibilité du processeur uniquement avant les scénarios de migration de machine virtuelle, puis de le désactiver une fois la migration terminée.

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, il est possible de migrer en direct 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 machine virtuelle sont transférées vers le cluster de destination. Ce scénario ne nécessite pas que le mode de compatibilité du processeur soit activé ; toutefois, le fait de le laisser activé 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 machine virtuelle sont transférées vers le cluster de destination. Dans ce scénario, si la machine virtuelle est redémarrée, elle reçoit 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. Ce paramètre affecte la machine virtuelle aux fonctionnalités minimales du processeur proposées sur le serveur. Une fois la compatibilité déplacée vers Compatible sur 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.

Ramifications de l’utilisation du mode de compatibilité du processeur

Il est difficile de quantifier les effets globaux des performances du mode de compatibilité du processeur. La perte de performances dépend principalement de la charge de travail en cours d’exécution sur la machine virtuelle. Certaines charges de travail peuvent ne pas être affectées, tandis que d’autres présentent une différence notable. Les logiciels qui reposent fortement sur des optimisations matérielles (telles que le chiffrement, la compression ou des calculs à virgule flottante intensive) sont impactés le plus.

Les applications qui chiffrent ou déchiffrent une grande quantité de données bénéficient de cette fonctionnalité de processeur, de sorte que la désactivation en activant le mode de compatibilité du processeur affecte les performances de ces opérations spécifiques.

Si vous êtes préoccupé par l’impact sur les performances du mode de compatibilité du processeur, il est préférable de comparer les performances de la charge de travail de machine virtuelle avec le mode de compatibilité du processeur activé et avec celui-ci désactivé.

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

Cette section explique comment configurer une machine virtuelle pour utiliser le mode de compatibilité du processeur. 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.

Capture d’écran de la case à cocher pour activer la compatibilité du processeur.

  1. 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 d’activer cette fonctionnalité pour toutes les machines virtuelles s’exécutant sur des clusters Azure Local 21H2. Si elle est désactivée, la machine virtuelle doit être redémarrée pour passer à un hôte avec un niveau différent d’instructions de processeur prises en charge, communes à différentes générations de processeurs.

    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.

    Remarque

    Comme le mode de compatibilité du processeur dynamique, Compatible sur le cluster est exclusif à Azure Local 21H2 et n’est pas pris en charge pour d’autres systèmes d’exploitation.

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

Cette section explique comment configurer une machine virtuelle pour utiliser le mode de compatibilité du processeur à l’aide du gestionnaire Hyper-V 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 avec le gestionnaire Hyper-V

Pour activer le mode de compatibilité du processeur pour une machine virtuelle à l’aide du Gestionnaire Hyper-V :

  1. Arrêtez la machine virtuelle.

  2. Sélectionnez Démarrer, pointez sur Outils d’administration, puis sélectionnez Gestionnaire Hyper-V.

  3. Sélectionnez le serveur exécutant Hyper-V et la machine virtuelle souhaitée.

  4. Si la machine virtuelle est en cours d’exécution, vous devez l’arrêter pour activer le paramètre de mode de compatibilité du processeur.

  5. Dans le volet Action, sélectionnez Paramètres, puis sélectionnez Processeur.

  6. Développez Processeur, puis sélectionnez Compatibilité.

  7. Sélectionnez Migrer vers un ordinateur physique avec un autre processeur, puis sélectionnez OK.

  8. Redémarrez la machine virtuelle.

Désactiver le mode de compatibilité du processeur avec le gestionnaire Hyper-V

Pour désactiver le mode de compatibilité du processeur pour une machine virtuelle à l’aide du Gestionnaire Hyper-V :

  1. Arrêtez la machine virtuelle.

  2. Sélectionnez Démarrer, pointez sur Outils d’administration, puis sélectionnez Gestionnaire Hyper-V.

  3. Sélectionnez le serveur exécutant Hyper-V et la machine virtuelle souhaitée.

  4. Si la machine virtuelle est en cours d’exécution, vous devez l’arrêter pour désactiver le paramètre de mode de compatibilité du processeur.

  5. Dans le volet Action, sélectionnez Paramètres, puis sélectionnez Processeur.

  6. Développez Processeur, puis sélectionnez Compatibilité.

  7. Désactivez la case Migrer vers un ordinateur physique avec une case à cocher de processeur différente, puis sélectionnez OK.

  8. 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

Désactiver le mode de compatibilité du processeur avec PowerShell

Pour désactiver le mode de compatibilité du processeur pour une machine virtuelle à l’aide de PowerShell, arrêtez la machine virtuelle et exécutez la cmdlet Set-VMProcessor, en définissant CompatibilityForMigrationEnabled sur $false :

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

Ensuite, redémarrez la machine virtuelle.