Conseils et outils pour la surveillance de Microsoft Hyper-V
Parmi les principaux avantages de la virtualisation matérielle, on peut citer l’isolation logique et l’utilisation rationnelle des ressources. Lorsque vous utilisez Microsoft Hyper-V, il est important de surveiller l’utilisation des ressources matérielles par les VMs et les serveurs Hyper-V physiques. Une allocation insuffisante ou excessive de ressources à une VM peut entraîner une dégradation de ses performances ou affecter celles d’autres VMs, voire l’ensemble de l’environnement. Cet article de blog présente des conseils de surveillance Hyper-V ainsi que les outils de surveillance natifs d’Hyper-V mis gratuitement à votre disposition.
Pourquoi la surveillance des performances Hyper-V est-elle nécessaire ?
La surveillance des ressources Hyper-V vous permet de détecter les goulets d’étranglement et de gérer les ressources afin d’optimiser les performances. En surveillant les performances Hyper-V, vous pouvez afficher des statistiques sur les ressources qui vous aideront à prendre des décisions concernant, par exemple : l’allocation de ressources supplémentaires sur l’hôte Hyper-V actuel, la reconfiguration d’un logiciel sur une machine virtuelle ou la migration d’une machine virtuelle vers un autre hôte Hyper-V. Notez que le protocole SNMP (Simple Network Management Protocol) n’est plus recommandé pour la surveillance des hôtes Hyper-V.
Si vous constatez de faibles performances sur une machine virtuelle, posez-vous les questions suivantes pour cerner les causes possibles :
- Les ressources allouées à une machine virtuelle s’exécutant sur un hôte Hyper-V sont-elles suffisantes ?
- Y a-t-il suffisamment de ressources matérielles libres sur un hôte Hyper-V ?
- Les problèmes de performances concernent-ils une seule machine virtuelle ou plusieurs ?
Heureusement, Hyper-V dispose d’outils natifs gratuits permettant de réaliser la surveillance des performances et de la consommation de ressources depuis l’interface graphique de Hyper-V Manager. Si vous souhaitez automatiser la migration des machines virtuelles entre les hôtes Hyper-V pour répartition de charge, des fonctionnalités de base permettent de le faire au sein d’un cluster. Gardez à l’esprit que si vous utilisez un cluster Hyper-V, vous aurez besoin de SCVMM (System Center Virtual Machine Manager), une solution payante, pour migrer automatiquement les VMs afin d’optimiser l’utilisation des ressources des serveurs Hyper-V et d’assurer l’équilibrage de charge. La surveillance de la réplication Hyper-V peut également être effectuée dans SCVMM.
N’utilisez pas le Gestionnaire des tâches Windows pour surveiller les ressources à l’intérieur des VMs
Ouvrir Task Manager est une méthode rapide et simple pour afficher les performances et l’utilisation des ressources sur les machines physiques fonctionnant sous Windows. Cependant, n’utilisez pas le Gestionnaire des tâches Windows pour surveiller les performances à l’intérieur d’une VM. Le Gestionnaire des tâches Windows n’affiche pas l’utilisation réelle du processeur et de la mémoire par une VM. En effet, le Task Manager n’identifie pas les machines comme étant virtuelles et ne peut pas savoir comment les ressources sont allouées à une machine virtuelle. Utilisez Task Manager pour surveiller les processus, services et applications en cours d’exécution, mais pas pour surveiller les performances au sein des VMs.
Utilisez le Moniteur de performances sur un hôte Hyper-V
Utilisez Performance Monitor (perfmon) sur un hôte Hyper-V et les compteurs appropriés pour surveiller l’utilisation du processeur, de la mémoire, de l’interface, du disque physique et d’autres composants matériels. L’utilitaire perfmon est largement utilisé pour le dépannage des performances sur les systèmes Windows.
Exécutez perfmon dans la boîte de dialogue run ou recherchez Performance Monitor dans la fenêtre Computer Management , ajoutez les compteurs nécessaires et effectuez la surveillance des statistiques dans l’interface utilisateur graphique (GUI). Les informations collectées peuvent être affichées sous forme de tableaux, de graphiques et de diagrammes.
Il peut également être utile d’ouvrir Resource Monitor sur un hôte Hyper-V (resmon.exe).
Utilisation des compteurs pour Hyper-V
Le Moniteur de performances peut fournir des informations erronées pour les VMs s’exécutant sur un hôte Hyper-V, car les compteurs standard (normaux) ne sont pas adaptés à la surveillance des VMs. Imaginons qu’un ordinateur physique exécutant Hyper-V dispose d’un processeur à quatre cœurs et que deux VMs résident sur l’hôte Hyper-V. Quatre processeurs virtuels sont alloués à la première machine virtuelle. Une application qui sollicite quatre processeurs virtuels à 100 % s’exécute sur la première machine virtuelle et consomme toutes les ressources processeur de l’hôte Hyper-V physique.
Dans le même temps, vous démarrez la deuxième machine virtuelle sur cet hôte Hyper-V, qui présente la même configuration de périphériques virtuels, et vous y exécutez la même application. Au sein des deux VMs, vous constatez que les processeurs de chaque VM sont chargés à 100 %. Cependant, les applications sur chaque VM travaillent à 50 % de leur vitesse par rapport au premier cas où une seule VM était en cours d’exécution (si la mémoire dynamique est activée). Les informations relatives à la mémoire s’affichent de manière similaire. Task Manager ou Performance Monitor au sein des VMs). Les informations relatives à la mémoire s’affichent de manière similaire si la mémoire dynamique est activée.
Utilisez les compteurs spécifiques à Hyper-V dans le Moniteur de performances sur un hôte Hyper-V pour surveiller les ressources de cet hôte Hyper-V. Les compteurs Hyper-V affichent les informations les plus précises pour la surveillance des performances d’Hyper-V.
Performances du processeur
Utilisez ce compteur pour surveiller les performances du processeur physique sur un hôte Hyper-V :
Hyper-V Hypervisor Logical Processor% Total Run Time
Le compteur permettant de surveiller les performances des processeurs virtuels d’une machine virtuelle :
Hyper-V Hypervisor Virtual Processor% Guest Run Time
- Les performances sont optimales lorsque le compteur affiche une valeur inférieure ou égale à 75 % pour une machine virtuelle en cours d’exécution.
- Une valeur comprise entre 75 et 85 % constitue un avertissement.
- Si la valeur est supérieure à 85 %, il est recommandé d’en rechercher la raison.
Le compteur permettant de surveiller l’utilisation du processeur virtuel racine :
Hyper-V Hypervisor Root Virtual Processor(*)% Total Run Time
Utilisation de la mémoire
Il existe plusieurs compteurs permettant de surveiller Hyper-V et de vérifier la quantité de RAM utilisée.
Le MemoryAvailable Mbytes sur un hôte Hyper-V sert à surveiller l’utilisation de la mémoire.
- Plus de 10 % de RAM libre – État normal
- Moins de 10 % de RAM libre – Avertissement
- Moins de 100 Mo de RAM libre – État critique
Utilisez le compteur MemoryCommitted Bytes pour vérifier la quantité de mémoire utilisée par les VMs afin de déterminer la quantité de mémoire à allouer à chacune d’entre elles. Utilisez le compteur Hyper-V Dynamic Memory BalancerAverage Pressure pour surveiller la mémoire dynamique.
- Moins de 80 % – État normal
- Plus de 80 % – Avertissement
- 100 % – État critique
Latence du disque
Utilisez les compteurs LogicalDisk(*)Average Disk SecRead or Write pour surveiller la latence du disque, qui est importante pour les performances globales des VMs s’exécutant sur Hyper-V.
- < 10 ms (0,010 s) – OK
- > 15 ms (0,015 s) – Avertissement
- > 25 ms (0,025 s) – Critique
Mise en réseau
Utilisez le compteur Network Interface (*)OutputQueue Length pour surveiller l’utilisation de la mise en réseau ; il mesure en effet le nombre de paquets réseau dans la file d’attente des paquets sortants.
- Moins de 1 en moyenne – État normal
- Plus de 1 en moyenne – Avertissement
- Plus de 2 en moyenne – État critique
Pensez également à utiliser ces compteurs :
Network Interface (network adapter name)Bytes/sec
Hyper-V Virtual Network Adapter (virtual machine name )Bytes/sec
Fournir suffisamment de mémoire aux VMs
Chaque machine nécessite suffisamment de mémoire pour fonctionner correctement, sinon les performances sont dégradées, le fichier swap est utilisé de manière intensive (s’il est configuré) et le disque est surchargé. De plus, les fichiers swap fonctionnent plus lentement que la mémoire vive (RAM). Si un système d’exploitation et une application consomment environ 12 Go de mémoire physique, installez 16 Go de RAM dans un ordinateur. Adoptez la même approche pour l’allocation de mémoire des machines virtuelles. Par exemple, si un logiciel s’exécutant sur une machine virtuelle consomme 6 Go de RAM, allouez 8 Go de RAM à cette machine virtuelle. Prévoyez au moins 20 % de mémoire supplémentaire pour garantir un fonctionnement optimal. Il est recommandé de prévoir de la mémoire supplémentaire à titre de marge de sécurité.
Utilisez l’Observateur d’événements pour la surveillance des journaux
Utilisez Event Viewer pour la surveillance des journaux sur les hôtes Hyper-V et les VMs invitées, ce qui est utile pour le dépannage. La consultation et l’analyse des journaux, tels que les événements système et les événements d’application, peuvent aider à identifier les problèmes et à trouver une solution appropriée pour les résoudre. Event Viewer affiche les journaux d’erreurs liés aux applications et travaille au niveau du système d’exploitation. Pour ouvrir Event Viewer, vous devez d’abord ouvrir Computer Management .
Les journaux Hyper-V se trouvent à l’emplacement suivant :
Event viewer > Applications and services logs > Microsoft > Windows
Voici les catégories de journaux Hyper-V disponibles dans l’Observateur d’événements :
- Hyper-V-Compute
- Hyper-V-Config
- Hyper-V-Guest-Drivers
- Hyper-V Hypervisor
- Hyper-V-StorageVSP
- Hyper-V-VID
- Hyper-V-VMMS
- Hyper-V-VmSwitch
- Hyper-V-Worker
Dans Computer Management , vous pouvez gérer les services Windows. Il est recommandé de surveiller les services Hyper-V suivants :
- Hyper-V Image Management Service (vhdsvc)
- Hyper-V Virtual Machine Management (vmms)
- Hyper-V Networking Management Service (nvspwmi)
Surveiller les ressources dans PowerShell
Vous pouvez surveiller les ressources des hôtes Hyper-V et des machines virtuelles dans PowerShell. Cela s’avère particulièrement utile avec un système d’exploitation Windows sans interface graphique. Utilisez des cmdlets spécifiques pour surveiller les performances dans PowerShell. Affichez les journaux opérationnels d’Hyper-V via le Journal des événements Windows :
Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *
Cette commande interagit avec les objets de compteurs de performances sur un hôte Hyper-V ou une machine virtuelle invitée et vous permet d’obtenir des données directement à partir de machines distantes ou locales par l’intermédiaire des fonctionnalités de surveillance de Windows :
Get-Counter
Récupérez la liste des compteurs et triez les résultats affichés :
Get-Counter -ListSet * |
Sort-Object -Property CounterSetName |
Format-Table CounterSetName, CounterSetType -AutoSize
Surveillance des performances des disques fonctionnant sur plusieurs machines :
$DiskReads = "LogicalDisk(C:)Disk Reads/sec"
$DiskReads | Get-Counter -ComputerName Server01, Server02 -MaxSamples 10
Vous pouvez créer des scripts personnalisés pour la surveillance des performances d’Hyper-V dans PowerShell.
Conclusion
La surveillance Hyper-V vous aide à déterminer si les problèmes de performances des VMs sont liés aux hôtes Hyper-V ou aux VMs invitées. La surveillance des performances Hyper-V vous permet d’optimiser l’utilisation des ressources matérielles sur un hôte Hyper-V. Certains outils, tels que le Gestionnaire des tâches Windows, utilisés pour surveiller les hôtes physiques, ne sont pas adaptés à la surveillance des performances des VMs s’exécutant sur Hyper-V. Le Moniteur de performances inclut des compteurs spécifiques à Hyper-V, conçus pour surveiller les ressources des hôtes Hyper-V et des VMs. Vous pouvez utiliser le Gestionnaire Hyper-V, l’Observateur d’événements et le Moniteur de ressources si vous utilisez l’interface graphique, et des commandes spéciales dans PowerShell si vous utilisez l’interface de ligne de commande.
Si les fonctionnalités des outils natifs ne vous suffisent pas, essayez d’utiliser d’autres logiciels de surveillance Hyper-V. La surveillance peut vous aider à optimiser les performances d’Hyper-V, mais elle ne peut pas vous protéger contre la perte de données en cas de sinistre. Envisagez d’utiliser un logiciel de sauvegarde Hyper-V fiable pour protéger vos données. Téléchargez l’édition gratuite de NAKIVO pour bénéficier d’une prise en charge multiplateforme, d’une récupération après attaque par ransomware et bien plus encore.




