Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Hyper-V Les contrôles des ressources CPU de l'hôte introduits dans Windows Server 2016 ou version ultérieure permettent aux administrateurs Hyper-V de mieux gérer et d'allouer les ressources CPU du serveur hôte entre la partition « racine », ou partition de gestion, et les machines virtuelles invitées. À l’aide de ces contrôles, les administrateurs peuvent dédier un sous-ensemble des processeurs d’un système hôte à la partition racine. Cela peut séparer le travail effectué dans un hôte Hyper-V des charges de travail exécutées dans des machines virtuelles invitées en les exécutant sur des sous-ensembles distincts des processeurs système.
Pour plus d’informations sur le matériel des hôtes Hyper-V, consultez Windows 10 Hyper-V Configuration système requise.
Background
Avant de définir des contrôles pour Hyper-V ressources du processeur hôte, il est utile de passer en revue les principes de base de l’architecture Hyper-V. Vous trouverez un résumé général dans la section ArchitectureHyper-V . Il s’agit de concepts importants pour cet article :
Hyper-V crée et gère des partitions de machine virtuelle, sur lesquelles les ressources de calcul sont allouées et partagées, sous le contrôle de l’hyperviseur. Les partitions fournissent des limites d’isolation fortes entre toutes les machines virtuelles invitées et entre les machines virtuelles invitées et la partition racine.
La partition racine est elle-même une partition de machine virtuelle, bien qu’elle ait des propriétés uniques et des privilèges beaucoup plus élevés que les machines virtuelles invitées. La partition racine fournit les services de gestion qui contrôlent toutes les machines virtuelles invitées, assure la prise en charge des appareils virtuels pour les invités et gère toutes les E/S d’appareil pour les machines virtuelles invitées. Microsoft recommande vivement de ne pas exécuter de charges de travail d’application dans une partition hôte.
Chaque processeur virtuel (VP) de la partition racine est mappé 1:1 à un processeur logique sous-jacent (LP). Un VP hôte s’exécute toujours sur le même LP sous-jacent : il n’existe aucune migration des processeurs virtuels de la partition racine.
Par défaut, les processeurs logiques sur lesquels les processeurs virtuels hôtes s’exécutent peuvent également exécuter des processeurs virtuels invités.
Un VP invité peut être planifié par l’hyperviseur pour s’exécuter sur n’importe quel processeur logique disponible. Bien que le planificateur d’hyperviseur prenne soin de prendre en compte la localité temporelle du cache, la topologie NUMA et de nombreux autres facteurs lors de la planification d’un VP invité, en fin de compte, le VP peut être planifié sur n’importe quel fournisseur de services hôte.
La racine minimale ou configuration « minroot »
Les versions antérieures de Hyper-V avaient une limite architecturale maximale de 64 VPs par partition. Ceci s’appliquait à la fois à la partition racine et aux partitions d’invité. Comme les systèmes avec plus de 64 processeurs logiques sont apparus sur des serveurs haut de gamme, Hyper-V a également évolué ses limites d’échelle d’hôte pour prendre en charge ces systèmes plus volumineux, à un moment donné prenant en charge un hôte avec jusqu’à 320 LPS. Toutefois, la rupture de la limite de 64 VP par partition à ce moment-là a présenté plusieurs défis et introduit des complexités qui ont rendu le support de plus de 64 VP par partition prohibitif. Pour résoudre ce problème, Hyper-V a limité le nombre de VPs donnés à la partition racine à 64, même si l’ordinateur sous-jacent avait beaucoup plus de processeurs logiques disponibles. L'hyperviseur continuerait à utiliser toutes les LPs disponibles pour l'exécution des VPs invités, mais limiterait artificiellement la partition racine à 64. Cette configuration est devenue connue sous le nom de configuration « racine minimale » ou « minroot ». Les tests de performances ont confirmé que, même sur des systèmes à grande échelle avec plus de 64 processeurs logiques (LPs), la racine n'avait pas besoin de plus de 64 processeurs virtuels racines pour fournir un soutien suffisant à un grand nombre de machines virtuelles invitées et de processeurs virtuels invités – en fait, souvent beaucoup moins que 64 processeurs virtuels racines étaient suffisants, bien sûr selon le nombre et la taille des machines virtuelles invitées, les charges de travail spécifiques en cours d'exécution, etc.
Ce concept « minroot » continue d’être utilisé aujourd’hui. En fait, même si Windows Server 2016 Hyper-V a augmenté sa limite maximale de prise en charge architecturale pour les LPs hôtes à 512, la partition racine sera toujours limitée à un maximum de 320 LPs.
Utilisation de Minroot pour limiter et isoler les ressources de calcul de l’hôte
Avec le seuil par défaut élevé de 320 adresses IP dans Windows Server 2016 Hyper-V, la configuration minroot ne sera utilisée que sur les systèmes serveurs les plus volumineux. Toutefois, cette fonctionnalité peut être configurée sur un seuil beaucoup plus faible par l’administrateur hôte Hyper-V, et ainsi exploitée pour limiter considérablement la quantité de ressources du processeur hôte disponibles pour la partition racine. Le nombre spécifique de LPS racines à utiliser doit bien sûr être choisi avec soin pour prendre en charge les demandes maximales des machines virtuelles et des charges de travail allouées à l’hôte. Toutefois, des valeurs raisonnables pour le nombre de LPS hôtes peuvent être déterminées par le biais d’une évaluation et d’une surveillance minutieuses des charges de travail de production, et validées dans des environnements hors production avant le déploiement à grande échelle.
Activation et configuration de Minroot
La configuration minroot est contrôlée par le biais d'entrées BCD de l'hyperviseur. Pour activer minroot, à partir d’une invite cmd avec des privilèges d’administrateur :
bcdedit /set hypervisorrootproc n
Où n est le nombre de processeurs virtuels racines.
Le système doit être redémarré et le nouveau nombre de processeurs racines persiste pendant toute la durée de vie du démarrage du système d’exploitation. La configuration minroot ne peut pas être modifiée dynamiquement au moment de l’exécution.
S'il existe plusieurs nœuds NUMA, chaque nœud recevra n/NumaNodeCount processeurs.
Notez qu’avec plusieurs nœuds NUMA, vous devez veiller à ce que la topologie de la machine virtuelle soit telle qu’il y a suffisamment de processeurs logiques libres (c’est-à-dire des processeurs logiques sans processeurs virtuels racines) sur chaque nœud NUMA pour exécuter les processeurs virtuels du nœud NUMA de la machine virtuelle correspondante.
Vérification de la configuration Minroot
Vous pouvez vérifier la configuration minroot de l’hôte à l’aide du Gestionnaire de tâches, comme indiqué ci-dessous.
Lorsque Minroot est actif, le Gestionnaire des tâches affiche le nombre de processeurs logiques actuellement alloués à l’hôte, en plus du nombre total de processeurs logiques dans le système.