Distinguer une VM utile d’une VM inutile

Distinguer une VM utile d’une VM inutile

Dans cet article, nous vous proposons de répondre à la problématique suivante :
“Comment distinguer une VM utile d’une VM 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 VMs 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 VM inutile d’une VM utile»? A cette question, plusieurs niveaux de réponses :

  • Contacter le responsable de la VM et lui demander si cette VM est encore utilisée ?
  • Avoir noté la date de « fin de vie » (fin de projet) de la VM
  • Analyser finement l’activité de la VM 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 VM (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 VM éteintes, donc inutilisées et ‘Idle’ les VM 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 VM qui n’a pas été allumée depuis des mois ? De plus, si cette VM 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 VM 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 VM + swap + logs)
  • Une meilleur visibilité́ de votre infrastructure

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

Rappel :

  • Prenez l’habitude de notifier le responsable et une date de fin de vie à chaque création de VM.
  • 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

No comments

You must be logged in to post a comment.