Linux Virtual Delivery Agent

Mise à jour automatique de Linux VDA via Azure

Cette fonctionnalité permet de mettre à jour automatiquement votre logiciel Linux VDA, immédiatement ou à une heure planifiée. Cela est particulièrement 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 sur les machines virtuelles dans Azure. Pour plus d’informations, consultez Créer des Linux VDA dans Citrix DaaS Standard pour Azure.

Configuration

Pour utiliser cette fonctionnalité, procédez comme suit :

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

Étape 1a : créer un conteneur sous votre compte de stockage Azure et définir le niveau d’accès à votre conteneur sur Blob (Accès en lecture anonyme pour les objets blobs uniquement)

Remarque :

Les conteneurs et objets blobs Azure sont exclusivement détenus et gérés par les clients. Citrix n’est pas responsable des problèmes de sécurité liés à ces derniers. Pour garantir la sécurité des données et la rentabilité, définissez le niveau d’accès à votre conteneur sur Privé (Pas d’accès anonyme) après chaque mise à jour automatique.

Étape 1b : incorporer les informations de mise à jour de votre VDA dans un fichier JSON nommé UpdateInfo.json Pour obtenir un exemple de format de fichier, consultez le bloc suivant :

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

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), RHEL8_3, UBUNTU18_04 ou UBUNTU20_04. Le service 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 : charger le fichier JSON et la nouvelle version des packages Linux VDA sur votre conteneur Azure

Étape 2 : activer la fonction de mise à jour automatique sur l’image principale 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 des fonctionnalités doit être effectuée sur l’image principale. Sinon, activez directement la fonctionnalité sur chaque VDA cible.

Pour activer la mise à jour automatique, exécutez des commandes similaires aux suivantes pour modifier la clé de registre sur 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 de 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 définir ce paramètre 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 Immediate ou NextStart. Immediately signifie l’exécution immédiate d’une mise à jour 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. Toutefois, cela peut également perturber l’expérience utilisateur si des sessions actives sont en cours lorsque vous téléchargez le package. NextStart signifie l’exécution d’une mise à jour au prochain démarrage de 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 blobs Azure, il peut s’agir du certificat de portal.azure.com récupéré depuis le navigateur, puis converti au format PEM. Pour des raisons de sécurité, nous vous recommandons d’ajouter ce paramètre de registre. Cependant, il n’est pris en charge que sur Ubuntu. Sur RHEL, il ne lie pas certaines bibliothèques NSS pour la commande curl. Assurez-vous de définir les principes du moindre privilège sur le certificat.

Au redémarrage de ctxmonitorservice, le service interroge d’abord Url pour obtenir le fichier UpdateInfo.json et récupère la version de mise à jour à partir du fichier JSON. Ensuite, 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 en fonction du paramètre ScheduledTime. Pour un déploiement local, vous pouvez redémarrer ctxmonitorservice directement pour déclencher la mise à jour. Toutefois, dans Citrix DaaS Standard pour Azure, où vous ne disposez pas de privilèges d’administrateur sur les machines virtuelles, 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 principale 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 encombré.
  • Les données utilisateur sont perdues en cas d’échec d’une mise à jour et d’une restauration.
  • Si une mise à jour échoue mais que la restauration réussit, les utilisateurs du même réseau peuvent avoir des versions différentes de Linux VDA. Ce cas n’est pas 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 de Linux VDA via Azure