Toujours dans mes articles sur la virtualisation (Hyper-V) et le stockage, nous allons continuer à percer les mystères de notre hyperviseur, cette fois-ci nous allons voir la mémoire dynamique au sein d'une VM.
On va voir le fonctionnement , et la configuration.
C'est partie :)
Gestion de la mémoire sur
Hyper-V :
Tout d’abord une définition, c’est
quoi la mémoire dynamique au sein d’une VM sur Hyper-V ?
C’est une allocation dynamique
de la mémoire à une VM, c’est à dire que la VM va consommer de la RAM selon ses
besoins jusqu’à un certain seuil. Il y’a donc une mémoire de
démarrage de la VM, ensuite il y’a deux valeurs minimal et maximal, la VM va
ajuster sa consommation de mémoire entre ces deux valeurs la fixées au départ.
Cela permet de gérer efficacement
la mémoire au sein d’un hyperviseur. Si on a plusieurs VMs avec la
configuration de RAM dynamique, ces VMs-là vont prendre que la RAM nécessaire
pour leur fonctionnement, le reste de la mémoire sera laissé à l’hyperviseur et
donc à d’autres VMs.
Pour info la mémoire dynamique
est disponible depuis la version 2008 R2 SP1.
Fonctionnement de la mémoire dynamique :
Rien de mieux qu’un exemple pour comprendre le fonctionnement de la mémoire dynamique, j’ai ici un serveur sur lequel j’ai
installé Hyper-V dessus.
Le serveur dispose de 6 Giga.
J’ai une VM qui consomme 2
Giga de RAM, avec une configuration minimal de 2 Go de RAM.
Au
fur à mesure, il y’a plus en plus de connexions sur la VM, donc elle a besoin
plus de mémoire pour pouvoir fonctionner correctement et rendre les services qu’elle
doit fournir aux utilisateurs, avec la mémoire dynamique, l’hyperviseur va lui
allouer de l’espace mémoire supplémentaire de manière dynamique et transparente
pour l’administrateur et utilisateur.
Cela
ce fait grâce au pilote DMVSC, ce
dernier va solliciter l’hyperviseur, et l’hyperviseur décide d’allouer de la
mémoire supplémentaire à la VM de manière automatique et à chaud surtout, c’est-à-dire
que nous ne sommes pas obligé de mettre hors tension la VM pour lui faire augmenter
la mémoire.
Ici
notre VM contient 3 G0 de RAM. è Après l’ajout d’un 1
Go de RAM:
Une
fois qu’il aura moins de connexions par exemple sur la VM, celle-ci aura besoin
de moins de mémoire, donc, il faut qu’elle libère la mémoire qu’elle a pris auparavant
pour que d’autres VM puissent en bénéficier.
Pour
cela, une technique ==> le ballooning, l’hyperviseur
va faire croire à la VM que la partie de la RAM qu’elle a eu auparavant n’est plus disponible donc la VM va abandonner
cette partie de la RAM.
Avec
cette technique, l’hyperviseur pourra allouer une autre VM. On a une vrai
gestion automatisée de la RAM entre les VMs et l’hyperviseur, d’où le nom de
mémoire dynamique.
Configuration de la mémoire dynamique :
Cliquez droit sur la VM et
allez dans les paramètres de la VM, ensuite allez dans l’onglet mémoire :
Nous avons plusieurs données,
je vais essayer d’expliquer au mieux.
Partie 1 :
C’est la quantité de RAM de la
VM au démarrage.
Partie 2 ==> Mémoire dynamique :
Vous avez donc deux champs :
-
RAM minimale è C’est le minimum de mémoire qui doit toujours être
disponible afin que la VM fonctionne correctement
-
RAM maximale è C’est la mémoire maximale que la VM peut prendre en cas
de besoin mémoire, elle ne pourra pas dépasser cette valeur.
Partie 3 ==> Mémoire tampon :
La mémoire tampon est là pour allouer aux VMs de la
mémoire de manière très rapide.
La configuration de cette
mémoire est en fonction de la VM et de sa consommation, si vous avez une VM qui
a des pics mémoires, c’est-à-dire une VM qui consomme durant un laps de temps
une grosse quantité de mémoire puis ensuite cède cette mémoire, vaut mieux
mettre une valeur importante au niveau de la mémoire tampon.
En revanche, si vous avez une
VM qui demande sans cesse de la mémoire supplémentaire, vaut mieux mettre une
valeur base au niveau de la mémoire tampon pour des raisons d’optimisation et de
performance.
Partie 4 ==> Pois de la mémoire :
Ici, on configure la priorité au sens allocation de
mémoire par l’hyperviseur, une VM qui aura une haute priorité sera priorisée
par rapport à une machine qui a une priorité faible.
Il est très intéressant de configurer
vos VMs en fonction de leur criticité afin d’avoir un environnement virtuel
stable et optimisé cotés mémoire.
@ bientôt Seyfallah Tagrerout