Utilisation du cache d’hôte local pour des mises à niveau de base de données sans interruption de service

La fonctionnalité Local Host Cache (LHC) permet de poursuivre les opérations de courtage de connexions sur un site Citrix Virtual Apps and Desktops en cas de panne.
La procédure suivante montre comment le LHC peut être utilisé pour effectuer une mise à niveau du site sans interruption de service lorsqu’il n’existe aucune zone secondaire.

Avant de continuer, il est recommandé de consulter la fonctionnalité Local Host Cache, ses exigences et ses limites : https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html

Il existe également un guide de Tech Zone sur le dimensionnement et la mise à l’échelle du cache d’hôte local, qui peut être consulté ici : https://docs.citrix.com/en-us/tech-zone/design/design-decisions/local-host-cache-sizing-scaling.html

Avertissement :effectuez ces étapes dans un environnement de test avant de les implémenter dans un environnement de production en direct afin de vous assurer que vous êtes familiarisé avec le processus et que vous êtes prêt à faire face à tout problème ou question spécifique à l’environnement qui pourrait survenir. Il est également recommandé d’utiliser la dernière mise à jour cumulative (CU) LTSR disponible, car plusieurs correctifs liés au LHC peuvent être bénéfiques pour votre environnement.

Vue d’ensemble

  1. Configurez l’environnement pour cette procédure.
  2. Déterminez le broker principal.
  3. Forcer une panne pour déclencher la fonctionnalité de cache d’hôte local.
  4. Autoriser les VDA à se réinscrire auprès des brokers secondaires élus.
  5. Effectuez la mise à niveau du produit sur un broker secondaire non sélectionné.
  6. Effectuez la mise à niveau obligatoire du site, y compris la mise à niveau de la base
  7. Effectuez des mises à niveau de produits sur tous les brokers secondaires non sélectionnés restants.
  8. Quittez le mode panne et le mode cache d’hôte local.
  9. Autorisez les VDA à se réenregistrer auprès des Delivery Controllers récemment mis à niveau.
  10. Effectuez la mise à niveau du produit sur le dernier Delivery Controller restant (broker secondaire précédemment élu).
  11. Rétablir la configuration par défaut de l’environnement.

Procédure

  1. Vérifiez si le cache d’hôte local est activé à l’aide de la cmdlet PowerShell suivante.

    Get-BrokerSite

    Recherchez LocalHostCacheEnabled : True

    Obtenir la commande BrokerSite

    Si la valeur est fausse, activez le cache d’hôte local.

    Set-BrokerSite -LocalHostCacheEnabled $true -ConnectionLeasingEnabled $false

    Cette applet de commande désactive également la fonctionnalité de location de connexion. N’activez pas le cache d’hôte local et la location de connexion en même temps.

  2. Par défaut, les VDA de bureau avec alimentation gérée dans des groupes de mise à disposition regroupés dont la propriété ShutdownDesktopsAfterUse est activée sont placés en mode maintenance lorsqu’une panne se produit. Pour modifier le comportement par défaut, vous devez l’activer au niveau du site et pour chaque groupe de mise à disposition affecté. Exécutez les applets de commande PowerShell suivants.

    Set-BrokerSite -ReuseMachinesWithoutShutdownInOutageAllowed $true

    Set-BrokerDesktopGroup -Name "<Delivery Group Name>"- ReuseMachinesWithoutShutdownInOutage $true

  3. Si le service Broker a été configuré pour utiliser des ports VDA, StoreFront ou StoreFront TLS personnalisés, effectuez les opérations suivantes pour vous assurer que le service haute disponibilité (HA) est également configuré avec les ports personnalisés corrects.
    • Vérifiez les paramètres actuels du port Broker Service sur chaque Broker en exécutant la commande suivante : %programfiles%\Citrix\Broker\Service\BrokerService.exe -show Image du service Broker

    • Vérifiez les paramètres de port de service HA actuels sur chaque Broker en exécutant la commande suivante : %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -show Image du service HA

    • Si les ports VDA, StoreFront ou StoreFront TLS répertoriés pour le service HA ne correspondent pas au Broker Service, utilisez les commutateurs de ligne de commande appropriés répertoriés pour définir les paramètres des ports du service HA de manière à ce qu’ils correspondent en conséquence :

    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -VdaPort <port>
    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontPort <port>
    %programfiles%\Citrix\Broker\Service\HighAvailabilityService.exe -StoreFrontTlsPort <port>
    <!--NeedCopy-->
    

    Port VDA du service HA

    Remarque :

    Il est prévu que le port du SDK soit différent entre le Broker Service et le HA Service.

    Lorsque vous modifiez le port StoreFront du Broker Service, le port StoreFront du service HA est mis à jour pour correspondre automatiquement. Toutefois, le service recevant la mise à jour automatique devra tout de même être redémarré manuellement pour pouvoir utiliser le nouveau port.

  4. Lors d’une panne, le broker secondaire sélectionné gère toutes les connexions. Lorsque la panne commence, le broker secondaire ne dispose d’aucune donnée d’enregistrement VDA actuelle, mais lorsqu’un VDA communique avec lui, un processus de réenregistrement est déclenché. Au cours de ce processus, le broker secondaire obtient également des informations de session sur ce VDA. Pour accélérer le réenregistrement des VDA de l’intervalle par défaut de 5 minutes à un intervalle d’une minute, ce paramètre doit être appliqué à tous les Controller du site.

    New-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 60000

  5. Pour surveiller les réenregistrements de VDA, lancez Citrix Studio et cliquez sur le nœud Configuration > Controllers et affichez le nombre de VDA enregistrés auprès des brokers principaux. Laissez Citrix Studio ouvert pour voir le nombre de VDA tomber à zéro au fur et à mesure que les VDA s’enregistrent à nouveau auprès du broker secondaire élu pendant la panne. Notez que vous ne pouvez pas utiliser Citrix Studio pour afficher le nombre de VDA enregistrés auprès du broker secondaire.

  6. Pour forcer la panne et passer en mode LHC, modifiez le registre de chaque Delivery Controller.

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

  7. Pour déterminer si la panne a été déclenchée et que chaque broker principal est entré en mode LHC, accédez au nœud Application des journaux d’événements sur chaque contrôleur et recherchez l’événement suivant à partir du service de haute disponibilité Citrix.

    3502 : Le service de haute disponibilité Citrix est devenu actif et broker les demandes des utilisateurs pour les sessions jusqu’à ce que le problème détecté avec l’activité de courtage normale soit résolu.

    Image de l'événement 3502

  8. Vérifiez que tous les VDA se sont réenregistrés auprès du broker secondaire élu en actualisant le nœud Controllers dans Citrix Studio. Tous les VDA se sont probablement réenregistrés lorsque les brokers principaux n’affichent aucun VDA enregistré.

  9. Les brokers secondaires utilisent la liste alphabétique des noms de domaine complets des machines sur lesquelles ils s’exécutent pour déterminer (sélectionner) quel broker secondaire sera chargé des opérations de courtage dans la zone en cas de panne. Pour confirmer quel broker secondaire a été choisi, recherchez l’événement suivant à partir du service de haute disponibilité Citrix dans les journaux d’application d’événements Windows.

    3504 : Le « nom de domaine complet du contrôleur élu » du service Citrix High Availability est devenu l’instance élue par ses pairs (liste des noms de domaine complets du contrôleur homologue).

    Image de l'événement 3504

  10. Choisissez l’un des contrôleurs homologues non sélectionnés et effectuez la mise à niveau du produit sur le contrôleur non sélectionné.

  11. À partir du Controller récemment mis à niveau, lancez Citrix Studio et effectuez la mise à niveau obligatoire du site, y compris la mise à niveau de la base de données.

    Image de mise à niveau du site

  12. Procédez à des mises à niveau du produit sur les contrôleurs homologues non sélectionnés restants. Veillez à ne pas perturber le contrôleur élu qui gère toujours toutes les nouvelles connexions actives dans l’environnement.

  13. Une fois que tous les contrôleurs non sélectionnés auront été mis à niveau, il est temps de sortir le site de la panne et de sortir du mode LHC. Pour supprimer le déclencheur de panne forcée, modifiez le registre de chaque Controller. La clé peut également être supprimée si vous le souhaitez.

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

  14. Pour vérifier si le site est hors mode interruption, sur chaque Controller, recherchez les événements suivants provenant du Citrix Broker Service dans le journal des événements de l’application.

    3004 : Le Citrix Broker Service s’est correctement connecté à la base de données XenDesktop.

    Image de l'événement 3004

    3500 : Le Citrix Broker Service a détecté que le problème de communication avec la base de données a été résolu et reprendra ses activités de courtage normales en utilisant la configuration de la base de données principale du site.

    Image de l'événement 3500

  15. Actualisez le nœud Controllers depuis Citrix Studio pour voir les VDA se réenregistrer auprès des Controllers mis à niveau. Vérifiez que tous les VDA ont été réenregistrés avec succès.

  16. Effectuez la mise à niveau du produit sur le dernier contrôleur restant qui a servi de broker secondaire élu pendant la panne.

  17. (Cette étape est facultative.) Redéfinissez l’intervalle d’enregistrement du VDA sur la valeur par défaut de 5 minutes en modifiant le registre sur chaque Controller (la clé peut également être supprimée si vous le souhaitez).

    Set-ItemProperty -Path HKLM:\SOFTWARE\Citrix\DesktopServer -Name HeartbeatPeriodMs -PropertyType DWORD -Value 300000

  18. (Cette étape est facultative.) Utilisez les applets de commande suivantes si vous souhaitez revenir au comportement par défaut des groupes de mise à disposition gérés avec alimentation.

    Set-BrokerSite  -ReuseMachinesWithoutShutdownInOutageAllowed $false
    Set-BrokerDesktopGroup -Name "<Delievery Group Name>" -ReuseMachinesWithoutShutdownInOutage $false
    <!--NeedCopy-->
    

La mise à niveau sans interruption à l’aide du cache d’hôte local devrait maintenant être terminée.

Utilisation du cache d’hôte local pour des mises à niveau de base de données sans interruption de service