La Virtualisation une menace quand les mauvaises pratiques sont tenaces !!!

Introduction
Avant la virtualisation, existaient les serveurs physiques. Ces serveurs physiques étaient destinés à héberger des services (Applications, BDD etc…) et nous anticipions les besoins en terme de ressources (CPU, RAM, réseau, stockage etc…) afin de pouvoir répondre à toutes éventualités de montée en charge du service sans avoir à éteindre le serveur pour rajouter de la ressource quelle quelle soit.

Nous sommes aujourd’hui et depuis plusieurs années maintenant, à l’ère de la virtualisation et les comportements n’ont guère changé ce qui est un vrai problème quand on virtualise les services ou plus précisément quand on virtualise les serveurs portant ces services.

La gestion des ressources dans un environnement virtuel:
Il faut rappeler que les ressources disponibles en environnement virtuel sont très agiles et plus précisément l’ajout de ressources à chaud (Machine Virtuelle allumée) est possible mais la réduction de certaines ressources (CPU, RAM etc…) passe par une extinction de la dite machine virtuelle ce qui est problématique en environnement de production.

Faisons une liste des mauvaises pratiques lors de la création d’une machine virtuelle

  • Configurer les vCPU avec une valeur supérieur à 1
    Pour information Microsoft Windows 2012R2 ne nécessite qu’un seul processeur avec 1140Mhz
  • Configurer la mémoire vive avec une valeur supérieur au minimum requis par le système d’exploitation
    Pour information Microsoft Windows 2012R2 ne nécessite que 512 Mo de mémoire vive
  • Laisser une multitude de contrôleurs et de ports inutilisés par la machine virtuelle (USB3, LPT, COM, etc…)

Une autre mauvaise pratique lié à l’hyperthreading

  • Croire qu’en activant l’hyperthreading, vous aurez le double de ressources CPU, ce qui est faux car cette variable permet seulement de faire croire au système que le processeur 8 cœurs physiques présent dans le serveur à finalement le double donc 16 cœurs logiques mais cela ne double pas pour autant votre capacité de calcul CPU. Il faut considérer que l’hyperthreading permet un gain de 1.2 soit 1.2 x 8 coeurs physiques = 9.6 coeurs logiques. De ce résultat vous pouvez appliquer votre ratio (processeurs configurés sur les machines virtuelles) vCPU/Coeurs logiques.

Avec les pratiques évoquées ci dessus vous n’êtes pas à l’abri d’investir dans une infrastructure virtuelle prévue pour une centaine de machines virtuelle pour au final en avoir que 70 qui puissent s’exécuter sans problème de performances.

Voyons maintenant les bonnes pratiques

  • Hyperthreading correspond à 1.2 x le nombre de cœurs physiques dans le serveur et à ce chiffre nous appliquons un coefficient multiplicateur  de 4, 6 ou 8 si on est dans un environnement de production, de développement ou de VDI pour nous donner la valeur de vCPU disponibles pour nos machines virtuelles s’exécutant sur le serveur.
    Exemple: un serveur Bi-processeurs 8 cœurs physiques = 16 cœurs physiques ,activation de HT > 1.2 x 16 cœurs physiques = 19.2 cœurs logiques, application du coefficient (Production) 19.2 cœurs logiques x 4 = 76.8 vCPU disponibles sur ce serveur.
  • Créer vos machines virtuelles et modèle avec le minimum requis par le système d’exploitation en terme de vCPU et de RAM.
  • Lorsque vous déployez des services sur les machines virtuelles, il faut bien entendu rajouter les ressources minimales nécessaires au service.
  • Activer l’ajout à chaud CPU et RAM pour les systèmes d’exploitation prenant en charge cette fonctionnalité.
  • Vous avez la possibilité de réserver les ressources minimales requises par le système et les services pour empêcher que d’autres machines virtuelles partagent ces ressources.
  • Vous pouvez également configurer une limite pour empêcher une machine virtuelle de consommer à tort et à travers mais cela est a double tranchant si vous avez sous estimé les besoins du système d’exploitation et des services s’exécutant.
  • Supprimer l’ensemble des périphériques inutiles à la machine virtuelle.
  • Auditer avec une solution de supervision (VMware vRealize Operation) les demandes de ressources des machines virtuelles afin de consommer correctement les ressources donc sans gaspillage (Meilleur ROI).

Conclusion
Vous en conviendrez qu’il est inutile d’acheter et d’installer un lecteur de disquette sur un ordinateur portable aujourd’hui si vous en avez pas l’utilité alors il en est de même pour les machines virtuelles. Nous sommes capable aujourd’hui d’ajuster à la hausse les ressources des machines virtuelles sans avoir à les redémarrer (contrairement à une réduction) donc il est inutile de penser que comme vous provisionnez une machine virtuelle sous Microsoft Windows 2012R2, il vous faudra la configurer avec 2 vCPU et 4 GB de RAM.

Alexandre Bettens
Architecte Datacenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *