La configuration du CPU virtuel
Sommaire
I. Présentation
Comment fonctionnent les processeurs virtuels avec Hyper-V ? Comment faut-il effectuer la configuration sur une machine virtuelle ? C'est ce que nous allons voir dans ce chapitre.
Chaque machine virtuelle Hyper-V dispose de ses propres ressources virtuelles : CPU, RAM, stockage, etc... Et, il est important de savoir effectuer la configuration de ces éléments qui auront un impact sur les performances et les capacités de chaque VM.
II. Qu'est-ce qu'un processeur virtuel ?
Un processeur virtuel, que l'on appelle aussi "vCPU", n'est pas un processeur physique. Il s'agit d'une unité de traitement utilisée par une machine virtuelle sur un hyperviseur : le processeur virtuel est une représentation d'un processeur physique à une machine virtuelle.
Il est à noter que les vCPUs ne sont pas une correspondance directe "1:1" avec les cœurs du processeur physique de la machine. L'hyperviseur peut diviser un seul cœur de processeur physique en plusieurs vCPUs. La quantité de processeurs virtuels à allouer à une VM dépend des capacités du matériel physique, mais aussi des besoins de la charge de travail exécutée dans la VM, ainsi que de la charge globale de l'hyperviseur.
Chaque hyperviseur a sa propre manière de gérer les processeurs virtuels et leur attribution aux machines virtuelles.
III. L'attribution des processeurs virtuels dans Hyper-V
Avec Hyper-V, ce ne sont pas des cœurs de processeurs qui sont directement attribués aux machines virtuelles, mais des threads, c'est-à-dire un ou plusieurs processeurs logiques. Si un processeur dispose de 4 threads, une seule machine virtuelle ne pourra pas avoir plus de 4 processeurs virtuels. Si nous attribuons 5 ou 6 threads à cette VM, Hyper-V refusera qu'elle démarre.
Sachez que le nombre total de vCPU de toutes les machines virtuelles de l'hyperviseur peut dépasser le nombre de cœurs physiques et de threads de l'hôte.
Il n'y a pas d'affectation 1 pour 1, et il n'y a pas non plus de réservations. Heureusement, car cela n'aurait aucun sens : le temps d'occupation du CPU est un élément important à considérer et Windows (donc Hyper-V) intègre un planificateur pour répartir les threads sur les cœurs du processeur.
Un seul et même cœur du processeur physique peut "gérer" un ensemble de vCPU, mais ceci va dépendre de la charge de vos machines virtuelles, et de vos exigences en termes de latence. Aucun ratio exact n'existe à ce sujet (4:1, 8:1, 12:1), on peut apporter différentes réponses, et bien souvent la RAM de l'hyperviseur sature avant le CPU. Néanmoins, 4 processeurs virtuels pour chaque cœur de CPU physique me semblent être le strict minimum que l'on puisse espérer (estimation à la baisse, disons).
IV. Configurer le CPU d'une VM Hyper-V
Tout d'abord, sachez que pour configurer le nombre de processeurs virtuels d'une VM Hyper-V, celle-ci doit être arrêtée totalement. Ensuite, pour accéder à cette configuration, nous devons aller dans les paramètres de la VM puis dans la section "Processeur". Il suffit d'indiquer la valeur de son choix pour l'option "Nombre de processeurs virtuels".
Lorsqu'une VM est créée, elle hérite d'un seul vCPU. Personnellement, pour une machine virtuelle Windows, je vous recommande de commencer avec 2 vCPU pour chaque VM. Pour des serveurs contrôleur de domaine Active Directory, des serveurs DHCP, des serveurs d'impression, ou encore certains serveurs applicatifs, vous verrez que ce sera suffisant.
Nous pouvons également remarquer d'autres options pour jouer sur le contrôle des ressources : réserve de l'ordinateur virtuel, limite de l'ordinateur virtuel, etc... Personnellement, je n'ai jamais eu besoin de venir ajuster cette configuration par défaut. Hyper-V fait son travail de façon efficace, alors, laissons-le faire : modifier ce type de paramètre peut parfois avoir un effet néfaste.
Une fois la modification effectuée, validez. Vous pouvez démarrer de nouveau la VM.
Le système d'exploitation de la VM fait bien mention de la présence de 2 processeurs virtuels.
V. Conclusion
Maintenant que vous en savez plus sur les CPU virtuels avec Hyper-V, vous allez pouvoir passer à la suite : l'utilisation de la mémoire vive dynamique.