IntelliCache
Utilisation de Citrix Hypervisor avec IntelliCache rend les déploiements d’infrastructure de bureau virtuel hébergé plus rentables en vous permettant d’utiliser une combinaison de stockage partagé et de stockage local. Cela est particulièrement avantageux lorsque de nombreuses machines virtuelles (VM) partagent toutes une image de système d’exploitation commune (l’image principale). 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, car le stockage local met en cache l’image principale du stockage partagé.
IntelliCache fonctionne en mettant en cache les données d’une machine virtuelle dans le stockage local sur l’hôte de la machine virtuelle. Ces données locales mises en cache incluent :
- Une copie en cache de l’image principale (VDI parent d’une machine virtuelle). Ce fichier est provisionné de manière dynamique et est en lecture seule. Il est rempli au fur et à mesure que les données sont lues à partir de l’image principale VDI sur le stockage partagé. Lorsque de nombreuses machines virtuelles partagent une image principale VDI commune, une machine virtuelle peut utiliser les données lues dans le cache à partir d’une autre machine virtuelle. Aucun accès supplémentaire à l’image principale sur le stockage partagé n’est requis.
- Une copie en cache du disque delta par VDI. Les modifications peuvent être écrites sur ce disque delta local. Pour les machines virtuelles non persistantes, les données du disque delta mis en cache local sont supprimées au démarrage de la machine virtuelle. Pour les machines virtuelles persistantes, les données du disque delta mis en cache local sont réécrites sur le disque delta du stockage partagé au démarrage de la machine virtuelle.
Prérequis
La fonctionnalité IntelliCache a les exigences suivantes :
-
Licence Premium Edition: IntelliCache est uniquement pris en charge lors de l’utilisation de Citrix Hypervisor Premium Edition avec Citrix Virtual Desktops.
-
Stockage: Pour utiliser IntelliCache, vous avez besoin à la fois d’un SR local pour les données mises en cache et d’un SR partagé pour l’image de disque virtuel source (VDI). Utilisez ces SR uniquement pour les machines virtuelles IntelliCache. Ne mélangez pas les machines virtuelles traditionnelles et les machines virtuelles IntelliCache sur le même SR.
-
Stockage partagé: Le type de stockage partagé, utilisé pour héberger le VDI source, doit être NFS.
-
Stockage local: 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 matrice RAID hautes performances. Tenez compte à la fois du débit de données et de la capacité de stockage lors du dimensionnement des disques locaux.
Un SR local EXT3/EXT4 à provisionnement fin est requis pour IntelliCache. Le provisionnement léger doit être activé pour que la mise en cache locale de Citrix Virtual Desktops fonctionne correctement. Vous pouvez activer le provisionnement dynamique lors de l’installation de Citrix Hypervisor ou ultérieurement, sur la ligne de commande. Le provisionnement léger modifie le type de stockage local par défaut de l’hôte de LVM à EXT4. Pour plus d’informations, voir Déploiement d’IntelliCache.
Le provisionnement dynamique 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. Le provisionnement léger permet à l’administrateur de présenter plus d’espace de stockage aux machines virtuelles se connectant au référentiel de stockage (SR) que celui disponible sur le SR. Il n’y a aucune garantie d’espace et l’allocation d’un LUN ne réclame aucun bloc de données tant que la machine virtuelle n’a pas écrit les données.
Les SR à provisionnement fin peuvent manquer d’espace physique, car les machines virtuelles qu’ils contiennent peuvent croître pour consommer de la capacité de 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 des machines virtuelles traditionnelles et des machines virtuelles IntelliCache sur le même SR, car la taille des machines virtuelles IntelliCache peut augmenter rapidement.
-
Déploiement d’IntelliCache
Pour utiliser la fonctionnalité Intellicache, vous devez l’activer à la fois sur Citrix Hypervisor et sur Citrix Virtual Apps and Desktops.
Sur Citrix Hypervisor
Pour utiliser IntelliCache, le provisionnement dynamique du SR local doit être activé lors de l’installation de l’hôte ou activé manuellement sur un hôte en cours d’exécution à l’aide de l’interface de ligne de commande. Le provisionnement dynamique modifie le type de stockage local par défaut de l’hôte de LVM à EXT4.
Activer sur l’installation de l’hôte
Pour activer le provisionnement léger pendant l’installation de l’hôte, sur l’écran Stockage de la machine virtuelle , sélectionnez Activer le provisionnement léger. Cette option sélectionne le SR local de l’hôte à utiliser pour la mise en cache locale des VDI de machine virtuelle.
Convertir un hôte existant pour utiliser le provisionnement dynamique
Pour supprimer un SR local LVM existant et le remplacer par un SR EXT3/EXT4 à provisionnement dynamique, entrez les commandes suivantes.
Avertissement :
Ces commandes suppriment votre SR local existant, et les machines virtuelles sur le 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 /var/lib/misc/ran-storage-init
systemctl restart storage-init.service
xe sr-list type=ext
<!--NeedCopy-->
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
<!--NeedCopy-->
Sur les applications et bureaux virtuels Citrix
Lors de la connexion de Citrix Virtual Apps and Desktops à Citrix Hypervisor dans Citrix Studio, sélectionnez l’utilisation d’IntelliCache. Si le provisionnement léger du SR local a été activé dans Citrix Hypervisor, Citrix Studio affiche l’option Utiliser IntelliCache pour réduire la charge sur le périphérique de stockage partagé lors de la création de la connexion à Citrix Hypervisor.
Pour plus d’informations, consultez la documentation produit Citrix Virtual Apps and Desktops.
Comportement de la machine virtuelle avec IntelliCache
L’indicateur VDI au démarrage
dicte le comportement d’une VDI de machine virtuelle lorsque celle-ci est démarrée et l’indicateur VDI allow-caching
dicte le comportement de mise en cache.
Les valeurs à utiliser pour ces paramètres dépendent du type de machine virtuelle que vous créez et de son utilisation prévue :
-
Pour les machines partagées ou allouées de manière aléatoire :
- Réglez l’icône
au démarrage
pourréinitialisation
. - Réglez l’icône
allow-caching
pourvrai
Par exemple :
xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true <!--NeedCopy-->
Au démarrage de la machine virtuelle, le VDI est rétabli dans l’état dans lequel il se trouvait lors du 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. Les nouvelles données de machine virtuelle sont écrites uniquement sur le stockage local. Il n’y a pas d’écriture sur le stockage partagé. Cette approche permet de réduire la charge sur le stockage partagé. Toutefois, la machine virtuelle ne peut pas être migrée entre les hôtes.
Sélectionnez cette option si vous prévoyez de fournir des postes de travail standardisés auxquels les utilisateurs ne peuvent pas apporter de modifications permanentes.
- Réglez l’icône
-
Pour les machines statiques ou dédiées :
- Réglez l’icône
au démarrage
pourpersister
. - Réglez l’icône
allow-caching
pourvrai
Par exemple :
xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true <!--NeedCopy-->
Au démarrage de la machine virtuelle, le VDI est dans l’état dans lequel il a été laissé lors du dernier arrêt. Les nouvelles données de machine virtuelle sont écrites à la fois sur 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é, ce qui réduit la charge sur le stockage partagé. La migration de la machine virtuelle vers un autre hôte est autorisée et le cache local du nouvel hôte est renseigné lors de la lecture des données.
Sélectionnez cette option si vous prévoyez d’autoriser les utilisateurs à apporter des modifications permanentes à leur bureau.
- Réglez l’icône
Remarque :
Pour les machines virtuelles dont les VDI se trouvent sur un SR GFS2, le comportement de la machine virtuelle au démarrage est différent de celui des machines virtuelles avec des VDI sur d’autres types de SR. Pour les VDI sur un SR GFS2, l’option au démarrage est appliquée à l’arrêt de la machine virtuelle, et non au démarrage de la machine virtuelle.
Détails de l’implémentation et dépannage
Q : IntelliCache est-il compatible avec la migration en direct et la haute disponibilité ?
A : Vous pouvez utiliser la migration en direct et la haute disponibilité avec IntelliCache lorsque les bureaux virtuels sont en mode privé, c’est-à-dire lorsque on-boot=persist
.
Avertissement :
Une machine virtuelle ne peut pas être migrée si l’une de ses VDI a des indicateurs de comportement de mise en cache définis sur
on-boot=réinitialiser
etallow-caching=vrai
. Les tentatives de migration pour les machines virtuelles avec ces propriétés échouent.
Q: Où se trouve le cache local sur le disque local ?
Un: Le cache se trouve dans un référentiel de stockage (SR). Chaque hôte dispose d’un paramètre de configuration (appelé local-cache-sr) indiquant quel SR (local) doit être utilisé pour les fichiers de cache. En règle générale, ce SR est un SR de type EXT3/EXT4. Lorsque vous exécutez des machines virtuelles avec IntelliCache, vous voyez des fichiers à l’intérieur du SR avec des noms uuid.vhdcache
. Ce fichier est le fichier de cache pour le 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 puis-je spécifier une SR particulière à utiliser comme cache ?
Un: Le champ de l’objet hôte cache-local-sr
fait référence à un SR local. Vous pouvez afficher sa valeur en exécutant la commande suivante :
xe sr-list params=local-cache-sr,uuid,name-label
<!--NeedCopy-->
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 courant
xe host-enable-local-storage-caching host=host sr-uuid=sr
. La commande nécessite 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 SR local de type EXT3/EXT4 et est créée lors de l’installation de l’hôte. La deuxième option utilise le SR de type EXT3/EXT4 spécifié sur la ligne de commande.
Avertissement :
Ces étapes ne sont nécessaires que pour les utilisateurs qui ont configuré plus d’un SR local.
Q: Quand le cache local est-il supprimé ?
A: Le cache local comprend deux types d’informations :
- Un cache partagé pour le disque d’image principal. Ce fichier de cache partagé reflète le VDI en lecture seule du stockage partagé et n’est pas supprimé ou réinitialisé lorsque des actions sont effectuées sur des VDI individuels.
-
Un cache de disque delta par VDI pour chaque VDI. Pour une machine virtuelle non persistante, le cache de disque delta est réinitialisé lorsqu’un VDI est connecté à une machine virtuelle (par exemple, au démarrage de la machine virtuelle). Ce fichier cache n’est supprimé que lorsque le VDI lui-même est supprimé. Si l’hôte est hors ligne lorsque vous supprimez le VDI, la synchronisation SR qui s’exécute sur la mémoire de démarrage collecte le fichier cache.
Remarque :
Le fichier de cache de disque delta n’est pas supprimé de l’hôte lorsqu’une machine virtuelle migre vers un autre hôte ou est arrêtée.