Hyper-V: Allocation dynamique de RAM

Bonjour, aujourd’hui je vais vous expliquer comment fonctionne l’allocation dynamique de la mémoire sur l’hyperviseur Hyper V3 et Hyper V2 SP1. Celle-ci est apparue sous Windows Server 2008 R2 avec l’arrivée du service pack 1,  mais elle n’a que peu été médiatisé, car Microsoft a préféré attendre Windows Server 2012 pour en faire une nouveauté.

Qu’est-ce que l’allocation dynamique de RAM ?

Pour faire simple et comme vous avez sûrement pu le lire un peu partout, cela permet d’allouer à une machine virtuelle de la mémoire RAM en fonction de ses besoins  jusqu’à une certaine limite.

Concrètement comment cela fonctionne ?

Le fonctionnement est très simple, l’augmentation de la mémoire sur la machine virtuelle fonctionne à la façon de l’ajout à chaud de disque dur ou de RAM, ce qui permet une augmentation de la mémoire qui est ainsi facilement détectée par le système.

Prenons un serveur Hyper V avec une seule VM:

La machine virtuelle augmente sa RAM, et le pilote (DMVSC) dans Windows le fait savoir à l’hyperviseur. Celui-ci décide de lui allouer de la mémoire supplémentaire à la façon d’un ajout à chaud de RAM sur un serveur.
Nous voici maintenant avec une VM disposant 3, 5 Go de RAM.
Celle-ci ne nécessite plus d’autant de mémoire suite à une fermeture d’application va maintenant réduire son utilisation, comme vous devrez le savoir, si on retire de la RAM sur un système vous vous retrouvez avec un blue screen.
Donc comment fait-il pour réduire la mémoire de la RAM ?
La solution que Microsoft a trouvée est simple, il fait croire au système invité qu’une partie de sa RAM est indisponible, ceci dans le but pouvoir la réallouer à une autre VM.
Cette technique est appelée ballooning.
Maintenant parlons de la configuration.

Architecture

Du point de vue de l’architecture, un pilote au sein du système d’exploitation (DMVSC) effectue les demandes d’augmentation de mémoire, celui-ci est lié à un process worker au travers du vmbus.
Note: DMVSC Dynamic memory VSC
Plus d’informations :Architecture Hyper V

Configuration mémoire dynamique

La configuration de la mémoire dynamique nécessite 4 paramètres:
  • La mémoire de démarrage (ou mémoire minimum) correspond à la mémoire minimum pour démarrer l’OS.
  • La mémoire maximum la limite de l’allocation que nous souhaitons alloué à la VM.
  • La mémoire buffer alloue de façon courte et temporaire de la mémoire.
  • Le poids de la mémoire permet de définir la priorité sur l’allocation de mémoire en fonction de la vm.
Exemple: un serveur de base de données virtuel aura la priorité sur un poste utilisateur virtuel.
Cet article est terminé, si Hyper-V vous intéresse vous pouvez toujours me suivre sur  Facebook, Google+ ou Twitter.

Sur le même thème:
Architecture Hyper V
Hyper V fractionnement NUMA

2 thoughts on “Hyper-V: Allocation dynamique de RAM

Laisser un commentaire

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