IntelliCache

Remarque :

Cette fonctionnalité n’est prise en charge que lors de l’utilisation de Citrix Hypervisor avec Citrix Virtual Desktops.

Intellicache n’est pas pris en charge pour les machines virtuelles utilisant un GFS2 SR.

L’utilisation de Citrix Hypervisor avec IntelliCache rend les déploiements d’infrastructure de bureau virtuel hébergés plus rentables en vous permettant d’utiliser une combinaison de stockage partagé et de stockage local. Il est particulièrement avantageux lorsque de nombreuses machines virtuelles (VM) partagent toutes une image de système d’exploitation commune. La charge sur la baie de stockage est réduite et les performances sont améliorées. En outre, le trafic réseau à destination et en provenance du stockage partagé est réduit à mesure que le stockage local met en cache l’image principale à partir du stockage partagé.

IntelliCache fonctionne en mettant en cache les données d’un VDI parent de machines virtuelles dans le stockage local sur l’hôte de la machine virtuelle. Ce cache local est ensuite rempli au fur et à mesure que les données sont lues à partir du VDI parent. Lorsque de nombreuses machines virtuelles partagent un VDI parent commun, une machine virtuelle peut utiliser les données lues dans le cache à partir d’une autre machine virtuelle. Un accès supplémentaire à l’image principale sur le stockage partagé n’est pas nécessaire.

Une SR locale à provisionnement fin est requise pour IntelliCache. Le provisionnement fin est un moyen d’optimiser l’utilisation du stockage disponible. Cette approche vous permet d’utiliser davantage le stockage local au lieu du stockage partagé. Il repose sur l’allocation à la demande de blocs de données. Dans d’autres approches, tous les blocs sont alloués à l’avance.

Important :

Le provisionnement fin modifie le type de stockage local par défaut de l’hôte de LVM à EXT3. Le provisioning léger doit être activé pour que la mise en cache locale de Citrix Virtual Desktops fonctionne correctement.

Le provisionnement fin permet à l’administrateur de présenter plus d’espace de stockage aux machines virtuelles se connectant au référentiel de stockage (SR) que ce qui est disponible sur le SR. Il n’y a aucune garantie d’espace et l’allocation d’un LUN ne revendique aucun bloc de données tant que la machine virtuelle n’a pas écrit les données.

Avertissement :

Les SR à provisionnement fin peuvent manquer d’espace physique, car les machines virtuelles peuvent croître pour consommer la capacité du disque à la demande. Les machines virtuelles IntelliCache gèrent cette condition en revenant automatiquement au stockage partagé lorsque le cache SR local est plein. Ne mélangez pas les machines virtuelles traditionnelles et les machines virtuelles IntelliCache sur le même SR, car les machines virtuelles IntelliCache peuvent croître rapidement.

Déploiement IntelliCache

IntelliCache doit être activé pendant l’installation de l’hôte ou être activé manuellement sur un hôte en cours d’exécution à l’aide de l’interface de ligne de commande.

Nous vous recommandons d’utiliser un périphérique de stockage local hautes performances pour garantir le transfert de données le plus rapide possible. Par exemple, utilisez un disque SSD ou une baie RAID haute performance. Tenez compte à la fois du débit de données et de la capacité de stockage lors du dimensionnement des disques locaux. Le type de stockage partagé, utilisé pour héberger l’image de disque virtuel (VDI) source, doit être basé sur NFS ou EXT.

Activer lors de l’installation de l’hôte

Pour activer IntelliCache pendant l’installation de l’hôte, sur l’écran Stockage de la machine virtuelle , sélectionnez Activer le provisioning léger. Cette option sélectionne le SR local de l’hôte à utiliser pour la mise en cache locale des VDI VM.

Panneau de stockage de machine virtuelle dans les écrans d'installation.

Convertir un hôte existant pour utiliser le provisionnement léger

Pour supprimer un SR local basé sur LVM existant et le remplacer par un SR basé sur EXT3 à provisionnement fin, entrez les commandes suivantes.

Avertissement :

Ces commandes suppriment votre SR locale existante et les machines virtuelles de la SR sont définitivement supprimées.

    localsr=`xe sr-list type=lvm host=hostname params=uuid --minimal`
        echo localsr=$localsr
        pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
        echo pbd=$pbd
        xe pbd-unplug uuid=$pbd
        xe pbd-destroy uuid=$pbd
        xe sr-forget uuid=$localsr
        sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
        rm -f /etc/firstboot.d/state/10-prepare-storage
        rm -f /etc/firstboot.d/state/15-set-default-storage
        service firstboot start
        xe sr-list type=ext

Pour activer la mise en cache locale, entrez les commandes suivantes :

    xe host-disable host=hostname
        localsr=`xe sr-list type=ext host=hostname params=uuid --minimal`
        xe host-enable-local-storage-caching host=hostname sr-uuid=$localsr
        xe host-enable host=hostname

Comportement de démarrage de la machine virtuelle

Il existe deux options pour le comportement d’une machine virtuelle VDI lorsque la machine virtuelle est démarrée :

  1. Mode Bureau partagé

    Lors du démarrage de la machine virtuelle, le VDI est rétabli à l’état dans lequel il se trouvait au démarrage précédent. Toutes les modifications pendant l’exécution de la machine virtuelle sont perdues lors du prochain démarrage de la machine virtuelle.

    Sélectionnez cette option si vous prévoyez de fournir des postes de travail standardisés auxquels les utilisateurs ne peuvent pas effectuer de modifications permanentes.

  2. Mode Bureau privé

    Au démarrage de la machine virtuelle, le VDI est dans l’état dans lequel il a été laissé lors du dernier arrêt.

    Sélectionnez cette option si vous prévoyez d’autoriser les utilisateurs à apporter des modifications permanentes à leurs postes de travail.

Paramètres de comportement de mise en cache de la machine virtuelle

L’indicateur VDIallow-caching dicte le comportement de mise en cache :

Mode Bureau partagé

Pour les postes de travail partagés, l’option on-boot est reset et l’indicateur allow-caching est true. Les nouvelles données de machine virtuelle sont écrites uniquement dans le stockage local. Il n’y a pas d’écriture dans le stockage partagé. Cette approche signifie que la charge sur le stockage partagé est réduite. Cependant, la machine virtuelle ne peut pas être migrée entre les hôtes.

Mode Bureau privé

Pour les postes de travail privés, l’option au démarrage est définie sur persist et l’indicateur de mise en cache autorisée est défini sur true. Les nouvelles données de machine virtuelle sont écrites dans le stockage local et partagé. Les lectures de données mises en cache ne nécessitent pas de trafic d’E/S vers le stockage partagé, de sorte que la charge sur le stockage partagé est réduite. La migration de la machine virtuelle vers un autre hôte est autorisée et le cache local sur le nouvel hôte est renseigné au fur et à mesure que les données sont lues.

Détails de l’implémentation et dépannage

Q : IntelliCache est-il compatible avec la migration en direct et la haute disponibilité ?

R : Vous pouvez utiliser la migration en direct et la haute disponibilité avec IntelliCache lorsque les bureaux virtuels sont en mode privé, c’est-à-dire lorsqueon-boot=persist

Avertissement :

Une machine virtuelle ne peut pas être migrée si l’un de ses VDI a des indicateurs de comportement de mise en cache définis sur on-boot=reset et allow-caching=true. Les tentatives de migration pour les machines virtuelles possédant ces propriétés échouent.

Q : Où vit le cache local sur le disque local ?

R : Le cache se trouve dans un référentiel de stockage (SR). Chaque hôte a un paramètre de configuration (appelé local-cache-sr) indiquant quel SR (local) doit être utilisé pour les fichiers de cache. Typiquement, ce SR est un SR de type EXT. Lorsque vous exécutez des machines virtuelles avec IntelliCache, vous voyez des fichiers dans le SR avec des noms uuid.vhdcache. Ce fichier est le fichier de cache du VDI avec l’UUID donné. Ces fichiers ne sont pas affichés dans XenCenter — la seule façon de les voir est de se connecter à dom0 et de lister le contenu de /var/run/sr-mount/sr-uuid

Q : Comment spécifier une SR particulière pour une utilisation en tant que cache ?

R : Le champ objet hôte local-cache-sr fait référence à une SR locale. Vous pouvez afficher sa valeur en exécutant la commande suivante :

xe sr-list params=local-cache-sr,uuid,name-label

Ce champ est défini soit :

  • Après l’installation de l’hôte, si vous avez choisi l’option « Activer le provisionnement léger » dans le programme d’installation de l’hôte, ou

  • En exécutant xe host-enable-local-storage-caching host=host sr-uuid=sr. La commande exige que l’hôte spécifié soit désactivé. Arrêtez les machines virtuelles lorsque vous utilisez cette commande.

La première option utilise le type EXT SR local et est créée lors de l’installation de l’hôte. La deuxième option utilise le SR spécifié sur la ligne de commande.

Avertissement :

Ces étapes ne sont nécessaires que pour les utilisateurs qui ont configuré plusieurs SR locales.

Q : Quand le cache local est-il supprimé ?

R : Un fichier cache VDI n’est supprimé que lorsque le VDI lui-même est supprimé. Le cache est réinitialisé lorsqu’un VDI est attaché à une machine virtuelle (par exemple au démarrage de la machine virtuelle). Si l’hôte est hors connexion lorsque vous supprimez le VDI, la synchronisation SR qui s’exécute au démarrage collecte le fichier de cache.

Remarque :

Le fichier cache n’est pas supprimé de l’hôte lorsqu’une machine virtuelle migre vers un autre hôte ou est arrêtée.