Lorsque vous créez des machines virtuelles sous VMware ESXi dans un environnement de production, il est important que celles-ci soient correctement configurées et adaptées aux besoins réels de celle-ci.
Dans cet article, vous trouverez donc une série de conseils à suivre pour tailler au mieux vos machines virtuelles par rapport à l'utilisation qui en sera faite.
Lorsque vous créez une machine virtuelle, VMware ESXi ajoute par défaut toute une série de périphériques virtuels.
Néanmoins, il fort probable que vous n'en utiliserez pas certains, tels qu'un lecteur disquette, une carte son, un port parallèle, un port série, ...
Il est donc préférable d'éviter d'utiliser les périphériques inutiles (dans votre cas) pour éviter potentiellement un problème lors de la migration de cette machine virtuelle via vSphere vMotion vers un autre hôte VMware ESXi.
Attention : l'utilisation d'un périphérique physique de votre hôte via le DirectPath I/O (PCI passthrough) depuis une machine virtuelle empêchera celle-ci d'être migrée vers un autre hôte VMware ESXi.
Il est donc important de prendre en compte cette restriction dans le cas où vous auriez plusieurs hôtes VMware ESXi.
Lorsque vous créez une nouvelle machine virtuelle sous VMware ESXi, l'assistant choisit automatiquement un matériel compatible avec le système d'exploitation que vous souhaitez installer.
Néanmoins, si vous mettez à jour une machine virtuelle existante ou si vous avez des besoins spécifiques pour une machine virtuelle, vous aurez peut-être besoin de modifier le matériel virtuel utilisé par celle-ci.
Pour la carte réseau virtuelle d'une machine virtuelle, vous avez le choix entre divers modèles de cartes réseaux : E1000E, E1000, VMXNET, ...
En fonction du vos besoins, vous souhaiterez peut-être utilisé un autre modèle de carte réseau virtuelle que celui choisi par défaut par VMware ESXi.
Par exemple :
Source : Choosing a network adapter for your virtual machine (1001805).
Néanmoins, tous les modèles de cartes réseau virtuelles ne sont pas supportés par tous les systèmes d'exploitation ou pas sans l'installation des VMware Tools.
Pour vérifier la compatibilité d'une carte réseau virtuelle avec un système d'exploitation invité, accédez au "VMware Compatibility Guide".
Sur la page qui s'affiche, sélectionnez :
Ensuite, cliquez sur : Update and View Results.
Comme vous pouvez le voir dans cet exemple, VMware nous indique que la carte réseau virtuelle VMXNET 3 est supportée par Windows 10 sous VMware ESXi 6.7.
Lorsque vous créez une machine virtuelle, le contrôleur de stockage adapté est choisi automatiquement en fonction du système d'exploitation invité que vous souhaitez utiliser.
Néanmoins, il existe divers contrôleurs de stockage sous VMware ESXi, dont différents modèles de contrôleurs SCSI, un contrôleur SATA, un contrôleur IDE, ...
Le principal but étant d'utiliser un contrôleur de stockage nativement supporté par le système d'exploitation invité et ainsi vous permettre d'installer le système d'exploitation facilement sans devoir charger manuellement un pilote adapté.
Néanmoins, en fonction de l'application virtualisée ou de vos besoins, il peut aussi être intéressant de changer ce contrôleur de stockage pour utiliser, par exemple, le contrôleur SCSI paravirtuel de VMware.
En effet, ce contrôleur permet d'obtenir de meilleures performances au niveau du stockage que les autres contrôleurs de stockage proposés.
Néanmoins, celui-ci est rarement supporté par défaut (excepté VMware ESXi qui le supporte par défaut) et nécessite donc l'installation du pilote fourni par VMware.
Pour utiliser un contrôleur SCSI paravirtuel avec Windows en tant que système d'exploitation invité, référez-vous à notre tutoriel : VMware ESXi 6.7 - Utiliser un contrôleur SCSI paravirtuel (PVSCSI).
Pour vérifier la compatibilité entre le contrôleur de stockage souhaité et le système d'exploitation invité que vous souhaitez virtualiser, accédez au "VMware Compatibility Guide".
Sur la page qui s'affiche, sélectionnez :
Ensuite, cliquez sur : Update and View Results.
Comme vous pouvez le voir ici, le contrôleur SCSI paravirtuel de VMware est supporté par Windows 10 sous VMware ESXi 6.7.
Pour bénéficier des meilleures performances possibles et avoir accès aux toutes dernières fonctionnalités offertes par votre version de VMware ESXi (vSphere), il est important que vous utilisiez le matériel virtuel (vHardware) le plus récent possible.
Autrement dit, la même version que celle de votre hôte VMware ESXi.
En effet, plus vous utilisez une version récente du matériel virtuel, plus vous aurez accès à des fonctionnalités et plus les limites baisseront.
Attention : si vous possédez différentes versions de VMware ESXi dans votre infrastructure VMware, assurez-vous d'utiliser un matériel virtuel compatible avec ceux-ci pour pouvoir potentiellement migrer ces machines virtuelles dans le futur vers ces anciennes versions de VMware ESXi.
Ou mettez à jour vos anciens serveurs si la nouvelle version de VMware ESXi est supportée officiellement par VMware pour votre matériel physique.
Pour mettre à niveau le matériel virtuel de vos machines virtuelles, référez-vous à notre tutoriel : VMware ESXi 6.7 - Mettre à niveau le matériel virtuel d'une VM.
Lorsque vous créez une machine virtuelle, il est important de connaitre ce dont vous avez réellement besoin et de savoir un minimum comment fonctionne l'application virtualisée.
En effet, lorsque vous virtualisez une application professionnelle (tels que : Microsoft SQL Server, Microsoft Exchange, ...), il y a certains pré-requis à respecter.
Qu'il s'agisse d'une quantité de mémoire vive, d'un nombre de coeurs de processeurs ou l'utilisation d'un contrôleur de stockage spécifique.
Si vous n'allouez pas suffisamment de mémoire vive ou de coeurs de processeurs, il est possible que l'application professionnelle souhaitée ne s'installe pas, ne fonctionne pas, ne puisse pas fonctionner correctement ou devenir instable.
Par exemple : si vos machines virtuelles font partie d'un cluster MSCS (Cluster de basculement sous Windows Server), vous ne pourrez pas utiliser le contrôleur SCSI paravirtuel de VMware.
A l'inverse, il est inutile, voire contre-indiqué d'allouer vCPUs (coeurs de processeur virtuels) à une machine virtuelle si l'application virtualisée n'est pas en mesure d'utiliser simultanément ces coeurs.
De plus, allouer trop de vCPUs à une machine virtuelle peut compliquer la tache du Scheduler CPU de VMware ESXi.
Ce qui signifie que votre machine virtuelle pourrait être plus lente que si vous lui aviez alloué moins de coeurs.
Plusieurs fichiers PDF sont disponibles sur le site officiel de VMware pour la virtualisation d'applications professionnelles connues :
Comme nous venons de le sous-entendre dans le point précédent, vous devez allouer uniquement les ressources nécessaires.
Ou plus précisément, vous devez éviter d'allouer trop de mémoire vive et/ou de vCPUs pour éviter de pénaliser cette machine virtuelle et/ou les autres machines virtuelles tournant sur le même hôte VMware ESXi.
Pour comment, si vous allouez trop de mémoire vive à une machine virtuelle par rapport à ce qu'elle consomme en moyenne dans la réalité, vous risquez de pénaliser les autres machines virtuelles.
En effet, en fonction des ressources physiques de votre hôte et/ou la grandeur de votre infrastructure virtuelle, il se peut que vos autres machines virtuelles commencent à manquer de mémoire vive à cause de l'allocation excessive de mémoire vive de cette machine virtuelle.
Pour récupérer de la mémoire vive, VMware ESXi devra utiliser certains mécanismes (tels que le TPS, le ballooning, ...). Ce qui aurait pu être évité en allouant uniquement la mémoire vive réellement nécessaire pour le bon fonctionnement de votre machine virtuelle et de l'application virtualisée.
Ensuite, si vous allouez trop de vCPUs à une machine virtuelle alors que celle-ci n'en utilise qu'un ou que la charge CPU de celle-ci est très faible, vous risquez de pénaliser cette machine virtuelle et/ou les autres machines virtuelles présentes sur votre hôte VMware ESXi.
En effet, plus vous allouez de vCPUs à une machine virtuelle, plus vous risquez de compliquer la tâche du Scheduler de VMware ESXi.
Ce qui signifie que vos machines virtuelles auront moins de cycle CPU et risquent donc d'être moins performantes que si vous lui aviez alloué moins de vCPUs.
Pour économiser beaucoup de mémoire dans la mémoire vive physique de l'hôte, il est préférable d'utiliser des machines virtuelles qui sont similaires : même système d'exploitation invité, mêmes applications virtualisées, ...
En effet, parmi les mécanismes de gestion de la mémoire de VMware ESXi, vous trouverez le partage de pages transparent (Transparent Page Sharing / TPS).
Pour résumé, cette fonctionnalité permet aux machines virtuelles de partager les pages mémoires qui sont identiques entre-elles.
Ce qui signifie que si vous lancez 10 machines virtuelles avec un système d'exploitation invité identique dans chacune d'entre-elles, celui-ci ne sera chargé qu'une seule fois dans la mémoire vive de l'hôte (pour simplifier).
Grâce aux différentes couches réseau (groupes de ports, commutateurs virtuels, ...) disponibles sous VMware ESXi, vos machines virtuelles sont en mesure de communiquer en interne ou avec l'extérieur.
Bien entendu, si vos machines virtuelles communiquant entre elles se trouvent sur le même hôte VMware ESXi, leur trafic réseau restera à l'intérieur de votre hôte VMware ESXi.
Ce qui signifie que la vitesse de transfert via ce réseau virtuel sera beaucoup plus élevée que si vos machines virtuelles se trouvaient sur des hôtes VMware ESXi différent. Auquel cas le trafic réseau aurait transité via votre réseau physique et les différents switchs et/ou routeurs intermédiaires qui se trouveraient potentiellement entre la machine virtuelle source et celle de destination.
Lorsque vous virtualisez un serveur de base de données (tel que "Microsoft SQL Server" par exemple) et une application professionnelle reposant sur une base de données SQL Server, il peut donc être intéressant de placer les machines virtuelles hébergeant ces applications virtualisées sur une même hôte VMware ESXi pour que celles-ci puissent communiquer en interne via le réseau virtuel de votre hôte VMware ESXi plutôt que via votre réseau physique.
Ainsi, l'accès à votre base de données SQL sera beaucoup plus rapide.
Notez que pour le trafic réseau reste en interne, les machines virtuelles concernées devront se trouver sur le même hôte VMware ESXi et être connectées sur le même groupe de ports.
Pour finir, nous vous proposons de consulter le PDF "VM Right-Sizing Best Practice Guide" de VMware.
VMware 17/2/2023
VMware 2/6/2023
VMware 19/10/2022
VMware 7/4/2023
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire