Linux Virtual Delivery Agent

Mise à jour automatique du VDA Linux via Azure

Cette fonctionnalité permet de mettre à jour automatiquement votre logiciel VDA Linux, immédiatement ou à une heure planifiée. Elle est utile lorsque vous créez des VDA Linux dans Citrix DaaS Standard pour Azure (anciennement Citrix Virtual Apps and Desktops Standard pour Azure). Vous n’avez pas besoin de privilèges d’administrateur pour les machines virtuelles dans Azure. Pour plus d’informations, consultez Créer des VDA Linux dans Citrix DaaS Standard pour Azure.

Configuration

Pour utiliser cette fonctionnalité, suivez les étapes suivantes :

Étape 1 : Charger les informations de mise à jour et les nouveaux packages VDA dans votre conteneur Azure

Étape 1a : Créez un conteneur sous votre compte de stockage Azure et définissez le niveau d’accès de votre conteneur sur Blob (Accès en lecture anonyme pour les objets blob uniquement).

Remarque :

Les conteneurs et objets blob Azure sont exclusivement détenus et gérés par les clients. Citrix® n’est pas responsable des problèmes de sécurité qui y sont liés. Pour garantir la sécurité des données et l’efficacité des coûts, définissez le niveau d’accès de votre conteneur sur Privé (aucun accès anonyme) après chaque mise à jour automatique.

Étape 1b : Intégrez vos informations de mise à jour VDA dans un fichier JSON nommé UpdateInfo.json. Pour un exemple du format de fichier, consultez le bloc suivant :

{
 "Version": "21.04.200.4",
"Distributions":[
{
"TargetOS": "RHEL7_9",
"PackageName": "",
"PackageHash": ""
},
{
"TargetOS": "UBUNTU18_04",
"PackageName": "xendesktopvda_21.04.200.4-1.ubuntu18.04_amd64.deb",
"PackageHash": "4148cc3f25d3717e3cbc19bd953b42c72bd38ee3fcd7f7034c2cd6f2b15b3c5a"
},
{
-  "TargetOS": "UBUNTU20_04",
-  "PackageName": "",
-  "PackageHash": ""
}
]
}
<!--NeedCopy-->

Où, « Version » indique la nouvelle version du VDA et « Distributions » est un tableau d’objets de mise à jour. Chaque objet contient trois éléments :

  • « TargetOS » : doit être « RHEL7_9 » (pour RHEL 7, CentOS 7 et Amazon Linux 2), « UBUNTU18_04 » ou « UBUNTU20_04 ». Le ctxmonitorservice ne reconnaît aucune autre distribution.
  • « PackageName » : Nom complet du package VDA de la version spécifiée.
  • « PackageHash » : Valeur SHA-256 que vous calculez à l’aide de la commande shasum -a 256 <pkgname>.

Étape 1c : Chargez le fichier JSON et la nouvelle version des packages VDA Linux dans votre conteneur Azure.

Étape 2 : Activer la fonctionnalité de mise à jour automatique sur l’image maître ou sur chaque VDA

Par défaut, la mise à jour automatique est désactivée. Si vous créez des VDA Linux dans Citrix DaaS Standard pour Azure, l’activation de la fonctionnalité doit être effectuée sur l’image maître. Sinon, activez la fonctionnalité directement sur chaque VDA cible.

Pour activer la mise à jour automatique, exécutez des commandes similaires à celles qui suivent pour modifier la clé de registre à l’emplacement HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\SelfUpdate.

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" --force

/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force
<!--NeedCopy-->

Le tableau suivant décrit les paramètres du registre.

Paramètre de registre Description
fEnabled Ce paramètre est requis. Par défaut, la valeur est 0, ce qui signifie que la mise à jour automatique est désactivée. Vous pouvez la définir sur 1 pour activer la mise à jour automatique.
Url Ce paramètre est requis. Il définit l’URL de votre conteneur Azure pour obtenir les informations de mise à jour et les nouveaux packages VDA.
ScheduledTime Ce paramètre est requis. Vous pouvez le définir sur Immediately ou NextStart. Immediately signifie exécuter une mise à jour immédiatement après le téléchargement des packages VDA. Cette option est appropriée lorsque la vitesse de téléchargement est élevée et que votre mise à jour est urgente. Mais elle peut perturber l’expérience utilisateur s’il y a des sessions actives pendant le téléchargement du package. NextStart signifie exécuter une mise à jour au prochain démarrage du ctxmonitorservice. Cette option est appropriée lorsque la vitesse de téléchargement n’est pas élevée et que votre mise à jour n’est pas urgente.
CaCertificate Ce paramètre est facultatif. Il définit le chemin complet d’un certificat PEM pour vérifier l’URL de votre conteneur Azure. Pour les objets blob Azure, il peut s’agir du certificat de portal.azure.com qui est récupéré depuis le navigateur puis converti en PEM. Pour des raisons de sécurité, nous vous recommandons d’ajouter ce paramètre de registre, mais il n’est pris en charge que sur Ubuntu. Sur RHEL, il manque la liaison de certaines bibliothèques NSS pour la commande curl. Assurez-vous de définir les privilèges les moins élevés pour le certificat.

Lorsque le ctxmonitorservice redémarre, il interroge d’abord Url pour obtenir le fichier UpdateInfo.json et récupère la version de mise à jour du fichier JSON. Ensuite, le ctxmonitorservice compare la version de mise à jour avec la version actuelle. Si la version actuelle est antérieure, le service télécharge la nouvelle version du package VDA depuis Azure et l’enregistre localement. Après cela, il exécute une mise à jour selon le paramètre ScheduledTime. Pour un déploiement sur site, vous pouvez redémarrer le ctxmonitorservice directement pour déclencher la mise à jour. Cependant, dans Citrix DaaS Standard pour Azure, où vous n’avez pas de privilèges d’administrateur pour les machines virtuelles, le ctxmonitorservice ne peut être redémarré qu’après le redémarrage de la machine VDA. Si une mise à jour échoue, votre VDA est restauré à la version existante.

Remarque :

  • Les paramètres de registre que vous avez configurés sur l’image maître ne peuvent pas être modifiés.
  • Si toutes les machines virtuelles d’un environnement téléchargent un package en même temps, le réseau local peut être saturé.
  • Les données utilisateur sont perdues si la mise à jour et la restauration échouent.
  • Si une mise à jour échoue mais que la restauration réussit, les utilisateurs sur le même réseau peuvent avoir des versions différentes du VDA Linux. Ce cas est sous-optimal.
  • Une mise à jour prend généralement plusieurs minutes. Il n’y a pas d’indicateur d’état dans Citrix Studio.
Mise à jour automatique du VDA Linux via Azure