Distinguer une virtual machine utile d’une virtual machine inutile

Comment distinguer une virtual machine utile d’une virtual machine inutile ?

Dans quel but ? Parce qu’avec le temps, le nombre de machines virtuelles au sein d’une infrastructure ne cesse de croître. Le déploiement de machines virtuelles est rapide et facile, une infrastructure peut très vite atteindre plusieurs centaines voire milliers de machines virtuelles. Si lors de la création d’une machine virtuelle nous savons pour quel projet elle existe et pour combien de temps, plusieurs mois après, nous pouvons très vite l’oublier. Laissant cette dernière fonctionner parmi des centaines de virtual machines déjà existantes… A ce moment très précis, nous ne savons plus si elle est encore utilisée et dans le doute nous la conservons !

Alors, «comment distinguer une virtual machine inutile d’une virtual machine utile»? A cette question, plusieurs niveaux de réponses :

  • Contacter le responsable de la virtual machine et lui demander si cette virtual machine est encore utilisée ?
  • Avoir noté la date de « fin de vie » (fin de projet) de la virtual machine
  • Analyser finement l’activité de la virtual machine afin de connaître son comportement

Les deux derniers premiers points risquent de ne pas fournir de réponses convaincantes, surtout si vous n’avez pas pris l’habitude de stocker ces informations. Le dernier point est le plus pertinent, mais sans outil adapté, il est impossible d’analyser une par une chaque machine virtuelle !

DC Scope® permet de centraliser les informations pour chaque virtual machine (notamment en mentionnant le responsable de la machine virtuelle et sa date de fin de vie) et analyse l’activité de chacune d’entre elle.

Chaque machine virtuelle est catégorisée selon son activité :

  • Idle : Si sur une période de temps donné, 100% des valeurs de consommations processeur et mémoire sont inférieurs à Y%. Le taux d’activité (Y) étant directement tributaire de la capacité processeur et mémoire du serveur sur lequel les machines virtuelles sont hébergées.
  • Lazy : Si sur une période de temps donné, une ressource R (processeur ou mémoire) a des pics de consommations supérieurs à 30% pendant moins de 10% du temps et est considérée comme ’idle’ le reste du temps.
  • Undersized : Si sur une période de temps donné, 100% des valeurs de consommations processeur et mémoire sont supérieurs à 70%.
  • Busy : la définition d’une machine virtuelle ’busy’ est identique à celle d’une machine virtuelle ’un- dersized’, si ce n’est que le taux d’activité est supérieur à 90%.
  • Oversized : Si sur une période de temps donné, 100% des valeurs de consommations processeur et mémoire sont inférieurs à 30%.
  • Ghost (off) : Si à la fin de la période d’analyse, la machine virtuelle est éteinte.

Ici, nous nous intéressons aux comportement ‘Idle’ et ‘Ghost’. En effet, sont catégorisées ‘Ghost’, les virtual machine éteintes, donc inutilisées et ‘Idle’ les virtual machine qui ont très peu d’activité, donc à priori très peu sollicitées.

Focalisez-vous dans un premier temps sur les ‘Ghost’ ! Bien entendu, toutes les ‘Ghost’ ne sont peut être pas inutiles (je pense notamment aux templates) mais certaines le sont peut être réellement… A quoi sert une virtual machine qui n’a pas été allumée depuis des mois ? De plus, si cette virtual machine a une date de fin de vie « dépassée, » raison de plus de la supprimer !

Ensuite, analysez les machines virtuelles dites ‘Idle’. Afin d’obtenir une détection plus robuste, DC Scope® comporte une notion de bruit. En effet, dans les définitions précédentes, la détection des machines virtuelles est stricte. 100% de points doivent être en dessous ou au dessus d’un certain seuil, en fonction du comportement. Mais, une machine virtuelle dispose toujours d’une activité (pics d’activité) même si cette dernière n’est plus utilisée. Cette activité résulte de l’activité du système d’exploitation (vérification, installation des mises à jour) ou de l’activité temporaire d’une application (recherche anti-virus par exemple). Ainsi, pour ne pas passer à coté de machines virtuellement potentiellement inutiles, DC Scope® effectue ces analyses selon quatre seuils : 100%, 99.99%, 99.9% et 99%. Commencez alors votre analyse de machines virtuelles en commençant par celles qui sont ‘Idle’ sur le seuil d’activité le plus bas (2%) et sur la période de temps la plus élevée (100%). Comme les ‘Ghost’, certaines ‘Idle’ sont surement utilisées, mais la probabilité qu’elles soient inutilisées reste élevée.

Vous avez détecté des machines virtuelles probablement inutiles, mais vous avez peur de les supprimer ? Commencez donc par les éteindre. Si au bout de quelques temps, personne ne réagit, elles sont potentiellement inutiles et peuvent donc être supprimées.

La suppression des virtual machine inutiles est non négligeable puisqu’elle permet :

  • De réduire des taux d’allocation vCPU / RAM sur les ESX
  • Des gains en stockage (taille de la virtual machine + swap + logs)
  • Une meilleur visibilité́ de votre infrastructure

Désormais, vous avez toutes les cartes en main pour détecter vos virtual machine inutiles !

Rappel :

  • Prenez l’habitude de notifier le responsable et une date de fin de vie à chaque création de virtual machine.
  • Analysez les Ghost, en priorité celles éteintes depuis très longtemps.
  • Analysez les Idle, privilégiez celles sur le seuil d’activité le plus bas et la période de temps la plus élevée.

A vous de jouer !

Frédéric DUMONT
Ingénieur recherche et développement