XenServer

Utilisation de la mémoire

Deux composants contribuent à l’empreinte mémoire de l’hôte XenServer®. Premièrement, la mémoire consommée par l’hyperviseur Xen lui-même. Deuxièmement, la mémoire consommée par le domaine de contrôle de l’hôte. Également connu sous le nom de « Domain0 » ou « dom0 », le domaine de contrôle est une VM Linux sécurisée et privilégiée qui exécute la pile d’outils de gestion XenServer (XAPI). En plus de fournir des fonctions de gestion XenServer, le domaine de contrôle exécute également la pile de pilotes qui permet aux VM créées par l’utilisateur d’accéder aux périphériques physiques.

Mémoire du domaine de contrôle

La quantité de mémoire allouée au domaine de contrôle est ajustée automatiquement et est basée sur la quantité de mémoire physique de l’hôte physique. Par défaut, XenServer alloue 1 Gio plus 5 % de la mémoire physique totale au domaine de contrôle, jusqu’à un maximum initial de 8 Gio.

Remarque :

La quantité signalée dans la section XenServer de XenCenter® inclut la mémoire utilisée par le domaine de contrôle (dom0), l’hyperviseur Xen lui-même et le noyau de crash. Par conséquent, la quantité de mémoire signalée dans XenCenter peut dépasser ces valeurs. La quantité de mémoire utilisée par l’hyperviseur est plus importante pour les hôtes utilisant plus de mémoire.

Modifier la quantité de mémoire allouée au domaine de contrôle

Vous pouvez modifier la quantité de mémoire allouée à dom0 en utilisant XenCenter ou la ligne de commande. Si vous augmentez la quantité de mémoire allouée au domaine de contrôle au-delà de la quantité allouée par défaut, cette action entraîne une réduction de la mémoire disponible pour les VM.

Vous pourriez avoir besoin d’augmenter la quantité de mémoire attribuée au domaine de contrôle d’un hôte XenServer dans les cas suivants :

  • Vous exécutez de nombreuses VM sur l’hôte
  • Vous utilisez PVS-Accelerator
  • Vous utilisez la mise en cache en lecture

Important :

Si vous utilisez un SR GFS2 et que l’un de ces cas s’applique également à votre environnement, vous devez augmenter la quantité de mémoire du domaine de contrôle. Une mémoire de domaine de contrôle insuffisante peut entraîner une instabilité du réseau, ce qui peut causer des problèmes pour les pools en cluster avec des SR GFS2.

La quantité de mémoire à allouer au domaine de contrôle dépend de votre environnement et des exigences de vos VM.

Vous pouvez surveiller les métriques suivantes pour déterminer si la quantité de mémoire du domaine de contrôle est appropriée pour votre environnement et quels effets les modifications que vous apportez ont :

  • Activité d’échange (swap) : Si le domaine de contrôle utilise le swap, augmentez la mémoire du domaine de contrôle.
  • Mode Tapdisk : Vous pouvez surveiller si vos tapdisks sont en mode de mémoire faible à partir de l’onglet Performances de XenCenter pour l’hôte. Sélectionnez Actions > Nouveau graphique et choisissez le graphique Tapdisks en mode de mémoire faible. Si un tapdisk est en mode de mémoire faible, augmentez la mémoire du domaine de contrôle.
  • Pression du cache de pages : Utilisez la commande top pour surveiller la métrique buff/cache. Si ce nombre devient trop faible, vous pourriez vouloir augmenter la mémoire du domaine de contrôle.

Modification de la mémoire dom0 à l’aide de XenCenter

Pour plus d’informations sur la modification de la mémoire dom0 à l’aide de XenCenter, consultez Modification de la mémoire du domaine de contrôle dans la documentation XenCenter.

Remarque :

Vous ne pouvez pas utiliser XenCenter pour réduire la mémoire dom0 en dessous de la valeur initialement définie lors de l’installation de XenServer. Pour effectuer cette modification, vous devez utiliser la ligne de commande.

Modification de la mémoire dom0 à l’aide de la ligne de commande

Remarque :

Sur les hôtes avec moins de mémoire (moins de 16 GiB), vous pourriez vouloir réduire la mémoire allouée au domaine de contrôle en dessous de la valeur par défaut de l’installation. Vous pouvez utiliser la ligne de commande pour effectuer cette modification. Cependant, nous vous recommandons de ne pas réduire la mémoire dom0 en dessous de 1 GiB et d’effectuer cette opération sous la supervision de l’équipe de support.

  1. Sur l’hôte XenServer, ouvrez un shell local et connectez-vous en tant que root.

  2. Tapez ce qui suit :

    xe host-list uuid=host_uuid params=control-domain-uuid
    xe vm-memory-set uuid=<control domain uuid> memory=<nn>M
    <!--NeedCopy-->
    

    <nn> représente la quantité de mémoire, en MiB, à allouer à dom0.

  3. Redémarrez l’hôte XenServer à l’aide de XenCenter ou de la commande reboot sur la console XenServer.

    Lorsque l’hôte redémarre, sur la console XenServer, exécutez la commande free pour vérifier les nouveaux paramètres de mémoire.

Quelle quantité de mémoire est disponible pour les machines virtuelles ?

Pour savoir quelle quantité de mémoire hôte est disponible pour être attribuée aux machines virtuelles, trouvez la valeur de la mémoire libre de l’hôte en exécutant memory-free. Ensuite, tapez la commande vm-compute-maximum-memory pour obtenir la quantité réelle de mémoire libre pouvant être allouée à la machine virtuelle. Par exemple :

xe host-list uuid=host_uuid params=memory-free
xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value
<!--NeedCopy-->
Utilisation de la mémoire