Un Aperçu Complet des Problèmes de Performance des Machines Virtuelles VMware

Raisons de Améliorer Les Performances

Examinons les principales raisons de procéder à des diagnostics et d’améliorer les performances des machines virtuelles :

  • La performance des machines virtuelles est plus lente que celle d’une machine virtuelle identique sur un autre hôte.
  • Les applications s’exécutent plus lentement qu’elles ne le devraient. Mais lorsque vous migrez une machine virtuelle vers un autre hôte, les performances des applications sont normales.
  • Les applications mettent beaucoup de temps à se lancer.
  • Les applications en cours d’exécution ne répondent pas.
  • L’utilisation du processeur, de la mémoire ou du disque est de 100 %.

Processeur et Mémoire

Des ressources matérielles insuffisantes sont parmi les raisons les plus courantes de la lenteur des performances des machines virtuelles. Si vous ne fournissez pas suffisamment de ressources de processeur à une machine virtuelle, le logiciel à l’intérieur de la machine virtuelle peut s’exécuter lentement avec des retards. Pour résoudre ce problème, affectez à une machine virtuelle l’utilisation de plus de cœurs de processeur ou ajoutez plus de processeurs virtuels. En outre, envisagez de mettre à niveau le matériel de votre machine hôte si vous disposez d’un processeur ancien avec un faible nombre de cœurs, de cache et de faible fréquence.

Lorsque vous définissez la quantité de RAM pour une machine virtuelle, assurez-vous que cette quantité de RAM est suffisante pour la VM. En même temps, il doit y avoir suffisamment de RAM pour une machine hôte. Si vous ne fournissez pas suffisamment de mémoire pour une VM, le système d’exploitation invité utilise intensivement un fichier d’échange, et les performances globales de la VM sont lentes. Si vous fournissez une grande quantité de mémoire pour une VM et ne laissez pas suffisamment de mémoire pour le système d’exploitation hôte, alors le système d’exploitation hôte utilise un fichier d’échange. Cela entraîne la dégradation des performances du système d’exploitation et des applications. De plus, les performances de la VM se dégradent également dans ce cas. N’attribuez pas trop de mémoire à une VM et, en même temps, laissez-en un peu pour l’hôte. Fournissez toujours à l’hôte suffisamment de mémoire.

Considérons un exemple. Votre machine hôte dispose de 8 Go de mémoire et exécute ESXi 7.0 ou Windows 10 avec VMware Workstation. Une machine virtuelle Windows Server 2019 s’exécute sur cette machine hôte. Si vous affectez 4 Go de mémoire à une machine virtuelle Windows Server 2019, 4 Go de mémoire restent pour le système d’exploitation hôte. Cela est suffisant pour le fonctionnement approprié des deux systèmes d’exploitation hôte et invité (sans exécution d’applications supplémentaires qui consomment des ressources). Le rapport est de 1:2 (4 Go/8 Go), et 1/2-1=-0,5 est la valeur actuelle de MEM overcommit moyenne. Si vous affectez 2 Go de mémoire à une machine virtuelle exécutant Windows Server 2019, dans ce cas, les performances de la machine virtuelle seraient lentes. Si vous affectez 6 Go de mémoire à une machine virtuelle Windows Server 2019, la quantité de mémoire de la machine hôte n’est pas suffisante, et, par conséquent, les machines physiques et virtuelles sont lentes.

Si vous exécutez des applications lourdes telles que des bases de données sur des machines virtuelles, ajustez la configuration de la machine virtuelle et ajoutez plus de ressources CPU et mémoire en conséquence.

Le sur-engagement de la mémoire est une situation où l’allocation totale des ressources dépasse la capacité. Si vous avez un hôte avec 8 Go de RAM et que vous exécutez cinq VM configurées pour utiliser 2 Go de RAM chacune, toutes les VM et la machine hôte peuvent montrer une faible performance car la mémoire est sur-engagée (si toutes les VM utilisent intensivement la mémoire). Si certaines VM sont en cours d’exécution mais qu’elles sont légèrement chargées, la mémoire est principalement utilisée par les VM qui sont fortement chargées car ESXi améliore l’utilisation de la mémoire. Le sur-engagement de la mémoire a du sens dans les environnements de test.

De plus, vérifiez le ballon de mémoire et la configuration de cette fonctionnalité pour récupérer la mémoire inutilisée des VM pour une utilisation efficace de la mémoire physique. Parfois, cette fonctionnalité peut affecter les performances des VM lorsque la VM doit utiliser un disque pour un échange.

Le sur-engagement du processeur. VMware fournit des techniques pour une utilisation rationnelle des ressources, vous permettant de provisionner plus de processeurs virtuels pour les VM que de cœurs de CPU physiques sur l’hôte. Le paramètre de sur-engagement du CPU est le ratio du nombre de processeurs virtuels attribués aux VM au nombre de cœurs de CPU physiques sur l’hôte. Si la valeur est de 3:1, il ne devrait y avoir aucune raison de s’inquiéter. Si la valeur est de 5:1, les performances des VM se dégradent. Si la valeur de sur-engagement du CPU est de 6:1 ou plus, les performances des VM sont lentes et cela peut causer de nombreux problèmes.

Comment résoudre les problèmes de CPU et de mémoire?

Considérez la mise à niveau du matériel et l’ajout de plus de RAM à la machine physique sur laquelle vous exécutez des machines virtuelles. Essayez d’avoir suffisamment de mémoire pour empêcher les systèmes d’exploitation hôte et invités d’utiliser des fichiers d’échange. Évitez le sur-engagement de la mémoire.

Parfois, les fonctionnalités de gestion de l’alimentation du CPU peuvent entraîner une faible performance des VM. Essayez de les désactiver.

Vérifiez les ressources CPU et mémoire disponibles sur l’hôte.

Sur ESXi, exécutez cette commande dans la ligne de commande pour vérifier si votre serveur est surchargé :

esxtop

Vérifiez le paramètre de charge moyenne.

1,0 – signifie que le CPU est pleinement utilisé

0,5 – signifie que le CPU est à moitié utilisé (50%)

2,0 – signifie que le CPU est deux fois surchargé, et vous devez prendre des mesures

Appuyez sur ces touches pour changer la vue : c – métriques du CPU (affichées par défaut), m – mémoire, n – réseau, d – disque. Appuyez sur espace pour mettre à jour les valeurs affichées (les valeurs sont mises à jour automatiquement toutes les 5 secondes). Appuyez sur h pour obtenir de l’aide et q pour quitter.

Vérifiez le paramètre surallocation de MEM moyenne pour examiner l’utilisation de la mémoire sur ESXi. La valeur de surallocation de MEM moyenne est la suivante : le rapport entre la mémoire demandée et la mémoire disponible moins 1. La valeur recommandée de ce paramètre est de 0 ou moins.

Si vous utilisez VMware Workstation installé sur Linux ou Windows pour exécuter des machines virtuelles, utilisez les outils de surveillance système standard disponibles sur votre système d’exploitation.

Vérifiez l’utilisation du processeur/mémoire sur le système d’exploitation invité. Certaines applications peuvent ne pas fonctionner correctement et consommer toutes les ressources du processeur (cœur du processeur). Vérifiez les processus en cours d’exécution et trouvez celui qui charge le processeur. Vérifiez la température des processeurs physiques sur l’hôte car une température trop élevée (plus de 80 °C) provoque des problèmes de performance et constitue un risque pour un processeur (un processeur peut être endommagé).

Mettez à niveau le matériel – installez un processeur plus puissant ou davantage de processeurs sur l’hôte. Vérifiez la configuration des machines virtuelles. Si le nombre de processeurs virtuels pour les machines virtuelles est supérieur à ce qui est nécessaire, réduisez le nombre de processeurs virtuels pour libérer des ressources pour l’hôte.

Dans VMware vSphere, vous pouvez utiliser un cluster DRS (Distributed Resource Scheduler) pour migrer les machines virtuelles d’un hôte ESXi surchargé vers un hôte ESXi disposant de ressources matérielles disponibles.

Problèmes de disque

Une faible performance d’un système de stockage entraîne une faible performance des machines virtuelles qui stockent des disques virtuels sur ce système de stockage. La latence de stockage est critique pour la performance des machines virtuelles. Essayez d’utiliser des disques SSD (Solid State Drive) pour stocker les machines virtuelles. Si vous ne pouvez pas utiliser de disques SSD, utilisez des disques HDD (Hard Disk Drive) avec 7200 RPM ou 10000 RPM. Les disques durs avec 5400 RPM offrent une performance supplémentaire faible. L’utilisation de disques avec une interface SAS est préférée.

Si vous utilisez VMware Workstation, vous pouvez stocker des machines virtuelles sur des disques SATA externes (eSata) ou USB 3.0 en tenant compte des recommandations ci-dessus. Ne débranchez pas un disque externe tant que vous n’avez pas éteint une machine virtuelle.

Dans les environnements de production, utilisez des disques non extensibles ou préalloués. Les disques épais provisionnés de manière anticipée sont plus rapides pour les premières opérations d’écriture.

Si vous utilisez un HDD pour stocker des machines virtuelles, effectuez la défragmentation de ce disque dur physique ou de cet ensemble de disques, et effectuez la défragmentation d’un disque virtuel dans les paramètres de la machine virtuelle. Utilisez des partitions pour réduire la fragmentation du disque. Installez un système d’exploitation sur une partition, stockez les fichiers utilisés par les applications (par exemple, une base de données) sur une autre partition.

Vérifiez si le micrologiciel d’un HBA (Host Bus Adapter) est à jour. Mettez à jour le micrologiciel de votre HBA sur un serveur.

Vérifiez la santé du disque. Effectuez des diagnostics du disque et du système de fichiers. Si le disque est corrompu, remplacez-le immédiatement.

Vérifiez les cordons d’interface (SAS, SATA).

Le chiffrement du disque réduit les performances en raison des surcharges. Déplacez les fichiers de la machine virtuelle vers un stockage non chiffré si le chiffrement n’est pas essentiel pour la machine virtuelle, ou désactivez le chiffrement du disque.

Utilisez des contrôleurs RAID indépendants (matériels) qui offrent des performances et une fiabilité supérieures.

Assurez-vous qu’il y a de l’espace libre sur un disque à l’intérieur d’une machine virtuelle. Un espace disque insuffisant entraîne une dégradation des performances car un système d’exploitation et des applications ne peuvent pas écrire de fichiers temporaires.

Vous pouvez migrer votre machine virtuelle vers un autre disque ou un autre ensemble de disques qui ne sont pas surchargés. Dans VMware vSphere, envisagez d’utiliser DRS et Storage DRS. Réduisez le nombre de machines virtuelles en cours d’exécution sur le même LUN ou datastore.

Instantanés

Les instantanés de disque virtuel réduisent les performances du disque virtuel. Chaque instantané produit un fichier VMDK delta supplémentaire d’un disque virtuel. Le mécanisme de copie sur écriture est utilisé. Chaque fichier VMDK delta contient les différences de données (journal des modifications) par rapport à un fichier VMDK parent, et une machine virtuelle lit toutes ces données lorsqu’elle interagit avec un disque VM. En conséquence, les données sont lues à partir de plusieurs fichiers de disque virtuel sur le même disque physique, ce qui réduit les performances de la VM. Pour la même raison, n’utilisez pas de fichiers VMDK fractionnés pour les VM dans VMware Workstation (cette option est créée pour les anciens systèmes de fichiers qui ne prennent pas en charge les fichiers de plus de 4 Go). La surcharge du disque augmente à mesure que le nombre d’instantanés augmente. Les instantanés sont généralement utilisés à des fins temporaires (par exemple, lorsque vous copiez des données lors d’une tâche de sauvegarde ou installez ou testez une application à l’intérieur d’une VM). Supprimez ou validez les instantanés dès que possible.

Dans VMware Workstation, vous devez arrêter une VM, fermer VMware Workstation et exécuter une commande dans laquelle vous définissez le chemin vers le fichier VMDK principal existant et le chemin vers un nouveau fichier de disque virtuel :

“C:\Program Files (x86)\nom d’utilisateur\VMware Workstation\vmware-vdiskmanager.exe” -r

“D:\VMs\dossier-VM\nom-VM.vmdk” -t 0 “D:\VMs\dossier-VM\NouveauDisque.vmdk”

Ensuite, reconfigurez la VM pour utiliser un nouveau disque virtuel ou créez une nouvelle VM et configurez-la pour utiliser le nouveau disque virtuel consolidé.

Sur ESXi, exécutez cette commande pour supprimer les instantanés :

vmware-cmd chemin_vers_fichier_vmx removesnapshots

ou

vim-cmd vmsvc/snapshot.removeall ID_VM

Vous pouvez afficher l’ID_VM avec cette commande :

vim-cmd vmsvc/getallvms

Fusionnez les fichiers VMDK divisés s’ils sont utilisés. Faites-le sur la machine Windows sur laquelle VMware Workstation est installé avec la commande :

« C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe » -r splitdisk.vmdk -t 0 mergeddisk.vmdk

Stockez les données sensibles à la performance sur un disque plus rapide.

Outils VMware

Assurez-vous que les outils VMware sont installés sur le système d’exploitation invité. Les outils VMware sont un ensemble de pilotes et d’utilitaires utilisés pour améliorer les performances et l’expérience utilisateur des machines virtuelles. Les performances graphiques sont améliorées après l’installation des outils VMware. La souris est synchronisée et fonctionne sans lag. Avec les outils VMware, vous pouvez utiliser une machine virtuelle en mode plein écran avec des performances supérieures. Vérifiez si les outils VMware sont installés.

Sous Windows, cliquez sur l’icône des outils VMware dans la barre d’état près de l’horloge, ou allez dans C:\Program Files\VMware\VMware Tools\ (c’est un répertoire par défaut) et exécutez la commande :

VMwareToolboxCmd.exe -v

Sous Linux, exécutez la commande dans la console :

vmware-toolbox-cmd -v

Vérifiez la version des outils VMware sur les machines virtuelles en lisant les journaux de VM dans la ligne de commande ESXi :

grep boîte à outils /vmfs/volumes/datastore/nom_du_vm/vmware.log

ou

grep build- /vmfs/volumes/datastore/nom_du_vm/vmware.log

Dans le client VMware vSphere, vérifiez si les outils VMware sont installés sur le système d’exploitation invité s’exécutant sur la VM. Les informations sur les outils VMware sont affichées dans l’onglet Résumé pour une VM (le statut et la version).

Problèmes de réseau

Si votre hôte ESXi est connecté à un stockage tel que SAN (Storage Area Network) ou NAS (Network Attached Storage), assurez-vous que la vitesse du réseau est suffisante et que le réseau n’est pas surchargé.

Vous devriez utiliser des réseaux de gestion ESXi séparés, un réseau vMotion, et un réseau de stockage dans vSphere pour des performances élevées.

Configurez le teaming de NIC (agrégation de liens) sur les hôtes ESXi qui utilisent des commutateurs virtuels.

Si votre bande passante réseau existante n’est pas suffisante pour répondre aux exigences, envisagez une mise à niveau du réseau. Par exemple, configurez des adaptateurs réseau 5-Gbit ou 10-Gbit, des commutateurs et des routeurs au lieu des équipements 1-Gbit existants.

Antivirus

Assurez-vous que le logiciel antivirus sur l’hôte ne scanne pas les fichiers de disque virtuel, car cela peut dégrader les performances de la machine virtuelle. Vous pouvez exclure les fichiers VMDK des répertoires de la machine virtuelle de la numérisation antivirus.

Vérifiez l’état de santé du système d’exploitation fonctionnant sur l’hôte et le système d’exploitation invité. Assurez-vous qu’il n’y a pas de virus, de logiciels malveillants ou de rançongiciels.

Envisagez d’utiliser des solutions antivirus spéciales qui fonctionnent avec VMware vShield sur les hôtes ESXi au lieu d’installer un logiciel antivirus sur chaque système d’exploitation invité des machines virtuelles. Cette approche vous permet d’obtenir de meilleures performances et est rationnelle pour de grands environnements virtuels. Si vous utilisez vShield, configurez correctement ce logiciel car une configuration incorrecte peut dégrader les performances de la machine virtuelle.

Problèmes liés à Hyper-V

Si vous utilisez VMware Workstation 15.5 ou une version plus récente qui prend en charge l’exécution de machines virtuelles VMware lorsque la fonction Hyper-V est installée sur un hôte Windows, les performances de la machine virtuelle VMware peuvent être plus lentes. Lorsque la fonction Hyper-V est installée, Hyper-V utilise directement les fonctionnalités de virtualisation du processeur telles qu’Intel VT-x ou AMD-V, qui ne sont pas disponibles pour VMware Workstation avec Virtual Machine Monitor (VMM) qui doit fonctionner en mode privilégié. Le VMM de VMware Workstation fonctionne en mode utilisateur ou en mode ULM (au lieu du mode privilégié) pour des raisons de compatibilité, car VMM ne peut pas accéder aux fonctionnalités de virtualisation du processeur lorsqu’elles sont utilisées par Hyper-V. Dans ce cas, VMM utilise les API WHP de Microsoft qui agissent comme une couche supplémentaire entre VMM et le processeur, ce qui réduit les performances des machines virtuelles VMware.

Désinstallez Hyper-V et les fonctionnalités associées telles que la sécurité basée sur la virtualisation à partir d’une machine Windows hôte. Après cela, le VMM de VMware Workstation fonctionne en mode privilégié et travaille directement avec les fonctionnalités de virtualisation du processeur avec des performances élevées. Cette solution aidera à résoudre les problèmes de performances lentes des machines virtuelles VMware.

Surveillance des performances de la machine virtuelle

La surveillance des performances des machines virtuelles (VM) est une méthode largement utilisée pour détecter les surcharges et les problèmes de performances associés. La surveillance des performances des VM vous aide à identifier la cause des problèmes. N’oubliez pas de surveiller les performances des VM au niveau de l’hôte mais pas à l’intérieur du système d’exploitation invité. Un système d’exploitation invité n’est pas conscient des fonctionnalités de virtualisation, telles que l’allocation dynamique des ressources, et peut afficher des données incorrectes. VMware fournit des compteurs au niveau de l’hôte. Ces compteurs fournissent des informations correctes et sont utilisés pour la surveillance des performances des VM. Sachant comment les informations de performances sont collectées à l’intérieur des VM, VMware a développé des bibliothèques de compteurs spécifiques aux machines virtuelles qui vous permettent de voir des informations correctes sur les performances des VM en utilisant l’outil Perfmon dans les systèmes invités Windows. Les VMware Tools doivent être installés sur un système d’exploitation invité pour la surveillance des performances des VM.

Pour vérifier les ressources matérielles consommées dans VMware vSphere Client, sélectionnez une machine virtuelle, ouvrez l’onglet Monitoring, puis sélectionnez Performance > Aperçu ou Performance > Avancé pour consulter les graphiques et autres informations. Sur la page Aperçu, vous pouvez voir l’utilisation du CPU, de la mémoire, du réseau et du stockage (espace libre, espace utilisé et performances d’E/S) en temps réel et pour la journée précédente, la semaine, le mois, l’année ou un intervalle personnalisé. Sélectionnez ces options dans les deux menus déroulants de cette page (Période et Affichage).

Cliquez sur Utilisation dans l’onglet Surveillance pour voir des informations supplémentaires sur l’utilisation du CPU de la machine virtuelle, de la mémoire

De même, vous pouvez sélectionner un hôte ESXi ou un cluster dans le client vSphere et surveiller les ressources utilisées et disponibles en temps réel et pour la période sélectionnée.

Conclusion

Cet article de blog a expliqué les principaux points qui nécessitent votre attention lorsqu’il est question de problèmes de performance des machines virtuelles et les recommandations qui aident à améliorer les performances des machines virtuelles. Vous devez disposer d’un matériel offrant des performances suffisantes, éviter la surallocation de mémoire et configurer correctement le logiciel. Utilisez la surveillance des performances des machines virtuelles pour détecter la cause des performances lentes des machines virtuelles.

Les dommages au disque sont le problème le plus dangereux qui cause des performances lentes des machines virtuelles, car en plus de la mauvaise performance des machines virtuelles, vous pouvez également perdre des données. Pour éviter la perte de données, effectuez régulièrement une sauvegarde des données VMware. Utilisez NAKIVO Backup & Replication pour la sauvegarde des données VMware – la solution de protection des données universelle qui prend en charge VMware vSphere 7.0 et propose de nombreuses fonctionnalités utiles pour améliorer la vitesse et la fiabilité de la sauvegarde.

Source:
https://www.nakivo.com/blog/a-full-overview-of-vmware-virtual-machine-performance-problems/