Citrix Virtual Apps and Desktops Service

Cache d’hôte local

Le cache d’hôte local permet de poursuivre les opérations de négociation de connexion dans un déploiement du service Citrix Virtual Apps and Desktops lorsqu’un Cloud Connector ne peut pas communiquer avec Citrix Cloud. Le cache d’hôte local est activé lorsque la connexion réseau est perdue pendant 60 secondes.

Grâce au cache d’hôte local, les utilisateurs qui sont connectés lorsqu’une panne se produit peuvent continuer à travailler sans interruption. Les délais des nouvelles connexions et des reconnexions sont réduits.

Important :

Un StoreFront local doit être déployé par le client sur chaque emplacement de ressources. Le cache de l’hôte local fonctionne uniquement dans les emplacements de ressources contenant un StoreFront local. Vérifiez que l’emplacement de ressources contient un StoreFront local qui pointe vers tous les Cloud Connector dans cet emplacement de ressources.

Contenu des données

Le cache d’hôte local inclut les informations suivantes, qui constituent un sous-ensemble des informations de la base de données principale :

  • Identités des utilisateurs et des groupes auxquels sont attribués des droits sur les ressources publiées à partir du site.
  • Identités des utilisateurs qui utilisent actuellement ou ont récemment utilisé des ressources publiées à partir du site.
  • Identités des machines VDA (y compris les machines Remote PC Access) configurées sur le site.
  • Identités (noms et adresses IP) des machines de l’application Citrix Workspace utilisées activement pour se connecter aux ressources publiées.

Il contient également des informations sur les connexions actuellement actives qui ont été établies alors que la base de données principale était indisponible :

  • Résultats de toute analyse de point de terminaison de machine client réalisée par l’application Citrix Workspace.
  • Identités des machines d’infrastructure (telles que les serveurs Citrix Gateway et StoreFront) impliquées dans le site.
  • Dates, heures et types d’activités récentes des utilisateurs.

Fonctionnement

En mode de fonctionnement normal

Image de fonctionnement normal

  • Le broker principal (Citrix Remote Broker Provider Service) sur un Cloud Connector accepte des requêtes de connexion provenant de StoreFront. Le broker principal communique avec Citrix Cloud pour connecter les utilisateurs aux VDA qui sont enregistrés auprès du Cloud Connector.
  • Citrix Config Synchronizer Service (CSS) interroge le broker dans Citrix Cloud environ toutes les minutes pour savoir si des modifications ont été apportées à la configuration. Ces modifications peuvent avoir été initiées par un administrateur (telles que la modification d’une propriété de groupe de mise à disposition) ou être des actions du système (telles que les attributions de machine).
  • Si la configuration a été modifiée depuis la dernière vérification, le service CSS synchronise les informations (copie) sur un broker secondaire sur le Cloud Connector (le broker secondaire est aussi appelé Citrix High Availability Service ou HA broker, comme illustré précédemment).

    Toutes les données de configuration sont copiées, et pas seulement les éléments qui ont été modifiés depuis la dernière vérification. Le CSS importe les données de configuration dans une base de données Microsoft SQL Server Express LocalDB sur le Cloud Connector. Cette base de données est appelée base de données du cache d’hôte local. Le service CSS s’assure que les informations de la base de données du cache d’hôte local du broker secondaire correspondent aux informations de la base de données du site dans Citrix Cloud. La base de données du cache d’hôte local est recréée chaque fois que la synchronisation se produit.

Microsoft SQL Server Express LocalDB (utilisé par la base de données du cache d’hôte local) est installé automatiquement lorsque vous installez un Cloud Connector. La base de données du cache d’hôte local ne peut pas être partagée sur des Cloud Connector. Vous n’avez pas besoin de sauvegarder la base de données du cache d’hôte local. Elle est recréée chaque fois qu’une modification de la configuration est détectée.

  • Si aucune modification n’a été apportée depuis la dernière vérification, les données de configuration ne sont pas copiées.

Durant une panne

Image d'interruption

Lorsqu’une panne commence :

  • Le broker secondaire démarre l’écoute et traite les demandes de connexion.
  • Lorsque la panne commence, le broker secondaire ne dispose pas des données d’enregistrement de VDA, mais dès qu’un VDA communique avec lui, un processus d’enregistrement est déclenché. Au cours de ce processus, le broker secondaire obtient également des informations de session sur ce VDA.
  • Bien que le broker secondaire gère les connexions, le broker principal continue à surveiller la connexion à Citrix Cloud. Lorsque la connexion est rétablie, le broker principal demande au broker secondaire d’arrêter l’écoute des informations de connexion, et le broker principal reprend les opérations de négociation de connexion. La prochaine fois qu’un VDA communique avec le broker principal, un processus d’enregistrement est déclenché. Le broker secondaire supprime les enregistrements de VDA restants de la panne précédente. Le service CSS reprend la synchronisation des informations lorsqu’il détecte des modifications de la configuration dans Citrix Cloud.

Dans le cas peu probable où une panne démarre pendant une synchronisation, l’importation en cours est annulée et la dernière configuration connue est utilisée.

Le journal d’événements consigne les synchronisations et les pannes.

Aucun délai n’est imposé pour le fonctionnement en mode panne.

Vous pouvez également déclencher intentionnellement une panne. Consultez la section Forcer une interruption pour plus de détails sur la raison et la façon de le faire.

Emplacements de ressources avec plusieurs Cloud Connector

Parmi ses différentes tâches, le service CSS fournit régulièrement au broker secondaire des informations sur tous les Cloud Connector dans l’emplacement de ressources. Ces informations permettent à chaque broker secondaire de connaître tous les brokers secondaires homologues qui s’exécutent sur d’autres Cloud Connector dans l’emplacement des ressources.

Les brokers secondaires communiquent entre eux sur un canal distinct. Ces brokers utilisent une liste alphabétique des noms de domaine complet (FQDN) des machines qu’ils exécutent pour déterminer (sélectionner) le broker secondaire qui sera en charge des opérations de négociation dans la zone si une panne se produit. Durant la panne, tous les VDA se ré-enregistrent auprès du broker secondaire sélectionné. Les brokers secondaires non sélectionnés dans la zone rejettent activement les requêtes de connexion et d’enregistrement de VDA entrantes.

Si un broker secondaire sélectionné échoue lors d’une panne, un autre broker secondaire est sélectionné pour prendre le relais et les VDA s’enregistrent auprès du broker secondaire qui vient d’être sélectionné.

Durant une panne, si un Cloud Connector est redémarré :

  • Si ce Cloud Connector n’est pas le broker sélectionné, le redémarrage n’a aucun impact.
  • Si ce Cloud Connector est le broker sélectionné, un autre Cloud Connector est sélectionné, et par conséquent les VDA s’enregistrent. Une fois que le Cloud Connector redémarré est sous tension, il reprend automatiquement la négociation des connexions, et les VDA s’enregistrent à nouveau. Dans ce scénario, les performances peuvent être affectées lors des enregistrements.

Le journal d’événements contient des informations sur les sélections.

Fonctionnalités indisponibles durant une panne et autres différences

Aucun délai n’est imposé pour le fonctionnement en mode panne. Toutefois, si la défaillance est due à la perte de la connectivité à Citrix Cloud à partir de leur emplacement de ressources, Citrix recommande de restaurer la connectivité à partir de l’emplacement de ressources le plus rapidement possible.

Durant une panne :

  • Vous ne pouvez pas utiliser Studio ou exécuter des commandes PowerShell.
  • Les données de surveillance ne sont pas envoyées à Citrix Cloud pendant une panne. Par conséquent, les fonctions de surveillance (Director) n’affichent pas l’activité lors d’une défaillance.
  • Les informations d’identification de l’hyperviseur ne peuvent pas être obtenues depuis Host Service. Toutes les machines se trouvent dans un état d’alimentation inconnu et aucune opération d’alimentation ne peut être émise. Toutefois, les VM de l’hôte qui sont sous tension peuvent être utilisées pour les demandes de connexion.
  • Une machine attribuée peut uniquement être utilisée si l’attribution s’est produite lors d’un fonctionnement normal. De nouvelles attributions ne peuvent pas être effectuées lors d’une panne.
  • L’inscription et la configuration automatiques de machines Remote PC Access ne sont pas possibles. Toutefois, les machines qui ont été inscrites et configurées lors du fonctionnement normal peuvent être utilisées.
  • Les utilisateurs d’applications et de bureaux hébergés sur le serveur peuvent utiliser plus de sessions que leurs limites de session configurées, si les ressources se trouvent dans des zones différentes.
  • Les utilisateurs peuvent lancer des applications et bureaux uniquement à partir de VDA enregistrés dans la zone contenant le broker actuellement actif/sélectionné. Les lancements entre zones (depuis un broker dans une zone vers un VDA situé dans une autre zone) ne sont pas pris en charge durant une panne.
  • Si une panne de base de données de site se produit avant le début d’un redémarrage programmé pour les VDA d’un groupe de mise à disposition, les redémarrages commencent à la fin de la panne. Ce scénario peut donner des résultats inattendus. Pour de plus amples informations, consultez Redémarrages programmés retardés en raison d’une panne de base de données.

Exigences de StoreFront

Un StoreFront local doit être déployé par le client sur chaque emplacement de ressources. Le cache de l’hôte local fonctionne uniquement dans les emplacements de ressources contenant un StoreFront local. Il ne prend pas en charge Workspace.

Disponibilité des ressources

Pour garantir la disponibilité des ressources (applications et bureaux) lors d’une panne, vous pouvez procéder de deux manières :

  • Publiez les ressources dans chaque emplacement de ressources de votre déploiement.
  • Publiez les ressources vers au moins un emplacement de ressources. Ensuite, utilisez la procédure suivante pour activer la fonctionnalité de contrôle avancé d’intégrité dans chaque magasin StoreFront.

    1. Mettez à niveau l’installation de StoreFront dans chaque emplacement de ressources vers la version minimale 1912 CU1. Pour obtenir des conseils, consultez la documentation StoreFront.
    2. Pour chaque magasin StoreFront, activez l’option de contrôle avancé de l’intégrité. Dans le fichier web.config du magasin, sous farmsets, ajoutez advancedHealthCheck="on".

      Par exemple :

      Contrôle avancé d'intégrité StoreFront

    3. Après avoir mis à jour le fichier, redémarrez manuellement IIS. Répétez la mise à jour du fichier web.config et le redémarrage IIS pour d’autres magasins.

Prise en charge des applications et des bureaux

Le cache d’hôte local fonctionne uniquement avec un StoreFront déployé par le client. Il ne prend pas en charge Workspace.

Le cache d’hôte local prend en charge les applications et les bureaux hébergés sur le serveur, et les bureaux statiques (attribués).

Le cache hôte local prend en charge les VDA de bureau dans les groupes de mise à disposition groupés, comme suit.

  • Par défaut, les VDA de bureau avec alimentation gérée dans des groupes de mise à disposition regroupés (créés par MCS ou Citrix Provisioning) dont la propriété ShutdownDesktopsAfterUse est activée sont placés en mode de maintenance lorsqu’une défaillance se produit. Vous pouvez modifier ce comportement par défaut pour autoriser ces bureaux à être utilisés lors d’une panne.

    Toutefois, vous ne pouvez pas compter sur la gestion de l’alimentation durant la panne. (La gestion de l’alimentation reprend une fois que les opérations normales reprennent.) En outre, ces bureaux peuvent contenir des données de l’utilisateur précédent, car ils n’ont pas été redémarrés.

  • Pour modifier le comportement par défaut, vous devez l’activer au niveau du site et pour chaque groupe de mise à disposition affecté. Contactez l’assistance pour l’activer au niveau du site (cette commande ne peut pas être exécutée à l’aide du SDK Remote PowerShell).

    Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true

    Pour chaque groupe de mise à disposition affecté, exécutez la commande PowerShell suivante.

    Set-BrokerDesktopGroup -Name "name" -ReuseMachinesWithoutShutdownInOutage $true

    L’activation de cette fonctionnalité dans le site et les groupes de mise à disposition n’affecte pas le fonctionnement de la propriété ShutdownDesktopsAfterUse configurée en fonctionnement normal.

Différences par rapport aux versions XenApp 6.x

Bien que cette implémentation du cache d’hôte local porte le même nom que la fonctionnalité de cache d’hôte local dans XenApp 6.x et les versions antérieures de XenApp, ce cache d’hôte local est totalement différent d’un point de vue technique. Cette implémentation présente des améliorations significatives, est plus solide, est plus résistante à la corruption des données et nécessite moins de maintenance.

Gérer le cache d’hôte local

Le cache d’hôte local est toujours activé dans un déploiement du service Citrix Virtual Apps and Desktops. Vous n’avez rien d’autre à faire pour le configurer ou le gérer.

Comme indiqué précédemment, la base de données LocalDB Microsoft SQL Server Express est installée automatiquement lorsque vous installez un Cloud Connector dans un emplacement de ressources. N’essayez pas de la désactiver ou de la supprimer. Citrix met à jour le Cloud Connector régulièrement. Si vous désactivez ou supprimez le logiciel LocalDB Microsoft SQL Server Express manuellement, la prochaine mise à jour du Cloud Connector le remplace.

Vérifier que le cache d’hôte local fonctionne

Pour vérifier que le cache d’hôte local est configuré et fonctionne correctement :

  • Vérifiez que l’emplacement de ressources contient un StoreFront local qui pointe vers tous les Cloud Connector dans cet emplacement de ressources.
  • Assurez-vous que les importations de synchronisation se déroulent correctement. Vérifiez le journaux d’événements.
  • Assurez-vous que la base de données Cache hôte local a été créée sur chaque Cloud Connector. Cela confirme que le High Availability Service peut prendre le relais, si nécessaire.
    • Sur le serveur Cloud Connector, accédez à c:\Windows\ServiceProfiles\NetworkService.
    • Vérifiez que HaDatabaseName.mdf et HaDatabaseName_log.ldf sont créés.
  • Forcer une interruption sur tous les Cloud Connector dans l’emplacement de ressources. Après avoir vérifié que le cache d’hôte local fonctionne, n’oubliez pas de remettre tous les Cloud Connector en mode normal. Cela peut prendre environ 15 minutes.

Journaux d’événements

Les journaux d’événements consignent les synchronisations et les pannes. Dans les journaux de l’observateur d’événements, le mode panne est appelé mode HA.

Service de synchronisation de la configuration

Pendant une opération normale, les événements suivants peuvent se produire lorsque le CSS importe les données de configuration dans la base de données Cache hôte local à l’aide du broker Cache hôte local.

  • 503 : Citrix Config Sync Service a reçu une configuration mise à jour. Cet événement se produit chaque fois qu’une configuration mise à jour est reçue depuis Citrix Cloud. Il indique le début du processus de synchronisation.
  • 504 : Citrix Config Sync Service a importé une configuration mise à jour. L’importation de la configuration s’est terminée avec succès.
  • 505 : Échec d’une importation par Citrix Config Sync Service. L’importation de la configuration n’a pas réussi. Si une configuration précédente réussie est disponible, elle est utilisée en cas de panne. Cependant, elle sera obsolète à partir de la configuration actuelle. Si aucune configuration précédente n’est disponible, le service ne peut pas participer à l’intermédiation de session pendant une panne. Dans ce cas, consultez la section Dépannage et contactez le support Citrix.
  • 507 : Citrix Config Sync Service a abandonné une importation car le système est en mode d’arrêt et le broker Cache d’hôte local est utilisé pour la négociation de connexions. Le service a reçu une nouvelle configuration, mais l’importation a été abandonnée en raison d’une panne. Il s’agit du comportement attendu.

Service de haute disponibilité

Ce service est également connu sous le nom de broker Cache d’hôte local.

  • 3502 : une panne s’est produite et le broker Cache d’hôte local effectue des opérations de broker.
  • 3503 : une panne a été résolue et le fonctionnement normal est rétabli.
  • 3504 : indique le broker Cache d’hôte local qui a été sélectionné, ainsi que les autres brokers Cache d’hôte local impliqués dans la sélection.

Forcer une interruption

Vous pouvez souhaiter délibérément forcer une interruption.

  • Si votre réseau s’interrompt et reprend de manière répétée. Forcer une panne jusqu’à la résolution des problèmes réseau empêche le basculement en continu entre les modes de fonctionnement normal et de panne (et les fréquentes rafales d’enregistrements de VDA qui en résultent).
  • Pour tester un plan de récupération d’urgence.
  • Pour vous assurer que le cache d’hôte local fonctionne correctement.

Pour forcer une interruption, modifiez le registre de chaque serveur Cloud Connector. Dans HKLM\Software\Citrix\DesktopServer\LHC, créez et définissez OutageModeForced comme REG_DWORD sur 1. Ce réglage demande au broker Cache d’hôte local d’entrer en mode d’interruption, quel que soit l’état de la connexion à Citrix Cloud. Si vous définissez la valeur sur 0, le broker Cache d’hôte local sort du mode d’interruption.

Pour vérifier les événements, surveillez le fichier journal Current_HighAvailabilityService dans C:\ProgramData\Citrix\WorkspaceCloud\Logs\Plugins\HighAvailabilityService.

Dépannage

Plusieurs outils de dépannage sont disponibles lorsque l’importation d’une synchronisation dans la base de données Cache d’hôte local échoue et qu’un événement 505 est signalé.

Traçage CDF : contient les options des modules ConfigSyncServer et BrokerLHC. Ces options, ainsi que d’autres modules de broker, peuvent identifier le problème.

Rapport : si l’importation d’une synchronisation échoue, vous pouvez générer un rapport. Ce rapport s’arrête à l’objet qui a causé l’erreur. Cette fonctionnalité de rapport affecte la vitesse de synchronisation, Citrix vous recommande donc de la désactiver lorsqu’elle n’est pas utilisée.

Pour activer et générer un rapport de traçage CSS, entrez la commande suivante :

New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -PropertyType DWORD -Value 1

Le rapport HTML est publié sur C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\CitrixBrokerConfigSyncReport.html.

Une fois le rapport généré, entrez la commande suivante pour désactiver la fonctionnalité de rapport :

Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer\LHC -Name EnableCssTraceMode -Value 0

Plus d’informations

Voir Considérations sur le dimensionnement et la scalabilité du cache d’hôte local pour plus d’informations sur les aspects suivants :

  • Méthodes d’essai et résultats
  • Considérations sur la taille de la RAM
  • Considérations sur la configuration des sockets et des cœurs d’UC
  • Considérations sur le stockage