Hyper-v : performances et optimisation – les VM
Nous allons découvrir comment optimiser les machines virtuelles (VM) dans un environnement Hyper-V.
Nous allons notamment étudier les choix stratégiques sur le matériel virtuel qu’il convient d’effectuer lors du paramétrage des VM, notamment sur le choix du système de stockage des machines virtuelles.
Une attention particulière sera portée sur le choix des périphériques réseaux.
1) Choix des systèmes d’exploitation enfants pour les VM.
Assurez vous de virtualiser un OS officiellement « virtualisable » dans Hyper-V. En voici la liste complète et exhaustive sur le site de Microsoft : Systèmes d’exploitation invités pris en charge sur un ordinateur virtuel Hyper-V.
2) Installez les services d’intégration.
L’installation des services d’intégration doit être effectuée dès que possible pour tirer le meilleur partie des performances d’Hyper-V.
En plus d’installer des pilotes optimisés pour la virtualisation, les services d’intégration offrent un certain nombre de fonctionnalités de communications sécurisées entre les VM et l’OS parent :
- Synchronisation de l’horloge
- Échange d’informations systèmes (version d’OS etc…)
- Pilotage de l’arrêt du système (Shutdown)
- HeartBeat (ou pulsation = détection de fonctionnement)
- Shadow Copy (snapshots)
Sans services d’intégration, l’interaction graphique et les performances sont très médiocres.
A noter que les services d’intégrations sont pré-installés sur une VM Windows 2008 Server.
> Le stockage / les disques
Hyper-V propose deux types de stockage pour les VM :
- Disque dur virtuel (Virtual Hard Disk = VHD) : celui ci est basé sur un fichier stocké sur un volume de l’OS parent (par exemple). Le disque peut avoir une taille dynamique, sa taille s’ajuste alors en fonction des besoins ou statique, l’espace disque est réservé à l’avance et est fixe . La configuration en mode statique offre les meilleures performances et à en outre l’avantage de diminuer la fragmentation.
- Disques à accès direct : permet un accès direct à un espace de stockage de la machine réelle. Attention, dans ce cas le disque choisis doit être hors ligne sur l’OS parent.
Les meilleurs performances seront obtenues avec un disque à accès direct (idéalement un LUN sur un SAN).
Néanmoins, ceci entraine quelques limitations :
- Pas de snapshots possibles.
- Mise en cluster plus compliquée.
- Pas de possibilité d’exportation de la VM (qui devient alors liée à un périphérique réel).
Une alternative intéressante est alors de placer les VHD sur un SAN. On exploite alors tous les avantages du VHD (snapshot, … ) et, du fait de la haute performance du SAN, les temps d’accès sont très proche d’un système d’accès direct.
Conclusion : placer un disque VHD de taille statique sur un SAN.
Autres astuces liées au stockage :
- S’ils ne sont pas vierges, défragmentez les disques physiques qui vont recevoir les fichiers VHD.
- Ne faites pas d’extension de VHD si vous avez des snapshots (fichiers AVHD) qui n’ont pas été fusionnés avec le VHD principal… Sinon il sera impossible de les fusionner après l’extension.
> CPU virtuel (vCPU)
Concernant la CPU, il convient systématiquent de sur-dimensionner le nombre de CPU virtuel, puis à le diminuer ultérieurement si la VM à peu d’activité (exemple : un contrôleur de domaine).
Afin d’optimiser l’usage global de la CPU du serveur physique, les VM qui consomment peu de ressources CPU (serveur de fichiers par exemple) ne devraient posséder qu’un seul vCPU.
Hyper-V limite le nombre de vCPU à quatre par VM. Attention tous les OS ne peuvent pas gérer ce nombre maximum de vCPU ! (nombre de vCPu en fonction de l’OS)
Hyper-V permet de gérer le contrôle des ressources CPU : cela fournit un moyen de contrôler la manière dont Hyper-V alloue des ressources CPU à des ordinateurs virtuels :
- Réserve de l’ordinateur virtuel : spécifie le pourcentage des ressources processeur disponibles qui est réservé pour l’ordinateur virtuel. Ce paramètre garantit que le pourcentage spécifié sera disponible pour l’ordinateur virtuel. Ce paramètre peut aussi affecter le nombre d’ordinateurs virtuels qui seront exécutés en même temps.
- Limite de l’ordinateur virtuel : spécifie le pourcentage maximal des ressources processeur disponibles qui peut être utilisé par l’ordinateur virtuel. Ce paramètre s’applique indépendamment du fait que d’autres ordinateurs virtuels sont en cours d’exécution ou non.
- Poids relatif : spécifie comment Hyper-V alloue des ressources à cet ordinateur virtuel lorsque plusieurs ordinateurs virtuels s’exécutent et sont en concurrence pour accéder à des ressources.
Pour info, vous pouvez utiliser WMI pour forcer une machine virtuelle sur un noeud particulier.
> Les cartes réseaux virtuelles
Hyper-V permet d’assigner à une VM différents types de cartes réseaux. La question est : quel périphérique réseau pour quel usage ?
- Carte réseau synthétisée ou « Carte réseau » : elles ne sont pas basées sur un périphérique réel, leurs usages améliorent les performances.
- Les cartes réseaux émulées ou « Carte réseau héritée » : elles permettent la compatibilité avec les anciens OS (Windows 2000 / DOS,…). C’est donc ce type de carte qui sera utilisées par exemple pour booter en PXE. Attention : il n’existe pas de drivers 64 bits pour les périphériques émulés.
Conclusion : assurez-vous que vos VM utilisent la « Carte réseau » et non pas la « Carte réseau héritée« . Cette dernière crée en effet une charge supplémentaire sur la CPU.
> Autres astuces pour diminuer la charge sur les VM :
- Supprimer les lecteurs CD / DVD ainsi que les images ISO montées dans les VM si ceux ci ne sont pas utilisés.
- Désactiver tous les écrans de veille (sur l’OS parent et les OS enfants).
- Désactiver les défragmentations planifiées.
- Désactiver les services d’arrière plan peu utiles comme SuperFetch et Windows Search.
>> Suite du dossier : Quelques exemples
Plan du dossier Hyper-v : performances et optimisation :
- Administration / Méthodologie et best practices
- Optimisation et tunning
- Haute disponibilité et cluster





Laisser votre reponse !