Citrix Hypervisor

Mise en cache de lecture de stockage

Important :

La mise à jour cumulative 1 de Citrix Hypervisor 8.2 prend fin le 25 juin 2025. Planifiez votre mise à niveau vers XenServer 8 dès maintenant pour assurer une transition en douceur et un support continu. Pour plus d’informations, consultez Mise à niveau.

Si vous utilisez vos fichiers de licence Citrix Virtual Apps and Desktops pour obtenir une licence pour vos hôtes Citrix Hypervisor 8.2 Cumulative Update 1, ces fichiers de licence ne sont pas compatibles avec XenServer 8. Avant la mise à niveau, vous devez acquérir les fichiers de licence socket XenServer Premium Edition à utiliser avec XenServer 8. Ces fichiers de licence de socket sont disponibles en tant que droits des abonnements Citrix pour le cloud privé, Citrix Universal Hybrid Multi-Cloud, Citrix Universal MSP et Citrix Platform License pour l’exécution de vos charges de travail Citrix. Les clients Citrix qui n’ont pas encore migré vers ces nouveaux abonnements peuvent demander à participer à une promotion gratuite pour 10 000 licences de sockets XenServer Premium Edition. Pour plus d’informations, consultez XenServer.

Si vous n’obtenez pas de licence compatible pour XenServer 8 avant la mise à niveau, lorsque vous mettez à niveau vos hôtes, ils reviennent à l’édition d’essai de 90 jours. L’édition d’essai offre les mêmes fonctionnalités que l’édition Premium, avec quelques limitations. Pour plus d’informations, consultez Présentation des licences XenServer 8.

La mise en cache de lecture améliore les performances du disque d’une machine virtuelle car, après la lecture initiale à partir d’un disque externe, les données sont mises en cache dans la mémoire libre de l’hôte. Il améliore les performances dans les situations où de nombreuses machines virtuelles sont clonées à partir d’une seule machine virtuelle de base, car il réduit considérablement le nombre de blocs lus à partir du disque. Par exemple, dans l’environnement Citrix Virtual Desktops, les environnements Machine Creation Services (MCS).

L’amélioration des performances peut être constatée chaque fois que les données sont lues plus d’une fois à partir du disque, car elles sont mises en cache en mémoire. Ce changement est particulièrement visible dans la dégradation du service qui se produit lors de situations d’E/S lourdes. Par exemple, dans les situations suivantes :

  • Lorsqu’un nombre important d’utilisateurs finaux démarrent dans un laps de temps très court (tempête de démarrage)
  • Lorsqu’un nombre important de machines virtuelles sont programmées pour exécuter des analyses de logiciels malveillants en même temps (tempêtes antivirus).

La mise en cache en lecture est activée par défaut lorsque vous disposez du type de licence approprié.

Remarque :

La mise en cache de lecture de stockage est disponible pour les clients Citrix Hypervisor Premium Edition.

La mise en cache de lecture du stockage est également disponible pour les clients qui accèdent à Citrix Hypervisor via leur droit Citrix Virtual Apps and Desktops ou Citrix DaaS.

Activer et désactiver la mise en cache en lecture

Pour les SR basés sur des fichiers, tels que les types SR NFS, EXT3/EXT4, SMB et GFS2, la mise en cache en lecture est activée par défaut. La mise en cache en lecture est désactivée pour tous les autres SR.

Pour désactiver la mise en cache de lecture pour un SR spécifique à l’aide de l’interface de ligne de commande xe, exécutez la commande suivante :

  xe sr-param-set uuid=sr-uuid other-config:o_direct=true
<!--NeedCopy-->

Pour désactiver la mise en cache en lecture pour un SR spécifique à l’aide de XenCenter, accédez à la section Propriétés pour le SR. Dans le Mise en cache de lecture , vous pouvez choisir d’activer ou de désactiver la mise en cache de lecture.

Pour plus d’informations, consultez Modification des propriétés SR.

Limites

  • La mise en cache en lecture n’est disponible que pour les SR NFS, EXT3/EXT4, SMB et GFS2. Il n’est pas disponible pour les autres types de SR.

  • La mise en cache en lecture s’applique uniquement aux VDI en lecture seule et aux parents VDI. Ces VDI existent lorsque les machines virtuelles sont créées à partir d’un « clone rapide » ou d’instantanés de disque. Les améliorations les plus importantes en matière de performances peuvent être observées lorsque de nombreuses machines virtuelles sont clonées à partir d’une seule image « dorée ».

  • L’amélioration des performances dépend de la quantité de mémoire disponible dans le domaine de contrôle de l’hôte (dom0). L’augmentation de la quantité de mémoire dom0 permet d’allouer plus de mémoire au cache de lecture. Pour plus d’informations sur la configuration de la mémoire dom0, consultez CTX220763.

  • Lorsque la mise en cache de lecture de la mémoire est activée, une erreur de cache entraîne la sérialisation des E/S. Cela peut parfois être plus coûteux que de désactiver la mise en cache en lecture, car lorsque la mise en cache en lecture est désactivée, les E/S peuvent être parallélisées. Pour réduire l’impact des échecs de cache, augmentez la quantité de mémoire dom0 disponible ou désactivez la mise en cache en lecture pour le SR.

Comparaison avec IntelliCache

IntelliCache et la mise en cache de lecture basée sur la mémoire sont à certains égards complémentaires. IntelliCache met non seulement en cache sur un niveau différent, mais aussi les écritures en plus des lectures. IntelliCache met en cache les lectures du réseau sur un disque local. La mise en cache des lectures en mémoire met en cache les lectures du réseau ou du disque dans la mémoire de l’hôte. L’avantage de la mise en cache de lecture en mémoire est que la mémoire est toujours d’un ordre de grandeur plus rapide qu’un disque à semi-conducteurs (SSD). Les performances en cas de tempêtes de démarrage et d’autres situations d’E/S lourdes s’améliorent.

La mise en cache en lecture et IntelliCache peuvent être activés simultanément. Dans ce cas, IntelliCache met en cache les lectures du réseau sur un disque local. Les lectures de ce disque local sont mises en cache en mémoire avec mise en cache de lecture.

Définir la taille du cache de lecture

Les performances du cache de lecture peuvent être optimisées en accordant plus de mémoire au domaine de contrôle de Citrix Hypervisor (dom0).

Important :

Définissez la taille du cache de lecture sur TOUS les hôtes du pool individuellement pour l’optimisation. Toute modification ultérieure de la taille du cache de lecture doit également être définie sur tous les hôtes du pool.

Sur le serveur Citrix Hypervisor, ouvrez un shell local et connectez-vous en tant qu’utilisateur root.

Pour définir la taille du cache de lecture, exécutez la commande suivante :

  /opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=nnM,max:nnM
<!--NeedCopy-->

Définissez les valeurs initiale et maximale sur la même valeur. Par exemple, pour définir la mémoire dom0 à 20 480 Mio :

  /opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=20480M,max:20480M
<!--NeedCopy-->

Important :

Redémarrez tous les hôtes après avoir modifié la taille du cache de lecture.

Comment afficher l’allocation actuelle de mémoire dom0 ?

Pour afficher les paramètres de mémoire dom0 actuels, entrez :

  free -m
<!--NeedCopy-->

La sortie de gratuit -m Affiche les paramètres de mémoire dom0 actuels. La valeur peut être inférieure aux prévisions en raison de divers frais généraux. L’exemple de tableau ci-dessous montre la sortie d’un hôte avec dom0 défini sur 2,6 Gio

  |                     | Total  | Used | Free  | Shared | Buffer/cache | Available |
  |---------------------|--------|------|-------|--------|--------------|-----------|
  | Mem:                | 2450   | 339  | 1556  | 9      | 554          | 2019      |
  | Swap:               | 1023   | 0    | 1023  |        |              |           |
<!--NeedCopy-->

Quelle plage de valeurs peut-on utiliser ?

Comme le domaine de contrôle de l’hyperviseur Citrix (dom0) est de 64 bits, des valeurs élevées peuvent être utilisées, par exemple 32768 Mio. Cependant, nous vous recommandons de ne pas réduire la mémoire dom0 en dessous de 1 Gio.

Notes d’affichage XenCenter

La mémoire entière de l’hôte peut être considérée comme comprenant l’hyperviseur Xen, dom0, les machines virtuelles et la mémoire libre. Même si la mémoire dom0 et VM est généralement d’une taille fixe, l’hyperviseur Xen utilise une quantité variable de mémoire. La quantité de mémoire utilisée dépend de divers facteurs. Ces facteurs incluent le nombre de machines virtuelles en cours d’exécution sur l’hôte à tout moment et la façon dont ces machines virtuelles sont configurées. Il n’est pas possible de limiter la quantité de mémoire utilisée par Xen. Limiter la quantité de mémoire peut entraîner une pénurie de mémoire de Xen et empêcher le démarrage de nouvelles machines virtuelles, même lorsque l’hôte dispose de mémoire libre.

Pour afficher la mémoire allouée à un hôte, dans XenCenter, sélectionnez l’hôte, puis cliquez sur l’icône Mémoire onglet.

Le champ Hyperviseur Citrix affiche l’icône somme de la mémoire allouée à dom0 et Mémoire Xen. Par conséquent, la quantité de mémoire affichée peut être supérieure à celle spécifiée par l’administrateur. La taille de la mémoire peut varier lors du démarrage et de l’arrêt des machines virtuelles, même lorsque l’administrateur a défini une taille fixe pour dom0.

Mise en cache de lecture de stockage