Linux Virtual Delivery Agent

Linux VDA-Selfupdate über Azure

Mit diesem Feature wird die Linux VDA-Software automatisch sofort oder zu einem geplanten Zeitpunkt aktualisiert. Dies ist dann von Vorteil, wenn Sie Linux VDAs in Citrix DaaS Standard für Azure (früher Citrix Virtual Apps and Desktops Standard für Azure) erstellen. Sie benötigen keine Administratorprivilegien für die VMs in Azure. Weitere Informationen finden Sie unter Erstellen von Linux VDAs in Citrix DaaS Standard für Azure.

Konfiguration

Führen Sie die folgenden Schritte aus, um die Funktion zu nutzen:

Schritt 1: Hochladen von Updateinformationen und neuen VDA-Paketen in den Azure-Container

Schritt 1a: Erstellen Sie einen Container für Ihr Azure-Speicherkonto und legen Sie die Container-Zugriffsebene auf Blob (anonymer Lesezugriff nur für Blobs).

Hinweis:

Azure-Container und Blobs werden ausschließlich von Kunden gepflegt und verwaltet. Citrix haftet nicht für deren Sicherheit. Um Datensicherheit und Kosteneffizienz zu gewährleisten, legen Sie die Container-Zugriffsebene nach jedem Selbstupdate auf Privat (kein anonymer Zugriff) fest.

Schritt 1b: Geben Sie die VDA-Updateinformationen in eine JSON-Datei mit dem Namen “UpdateInfo.json” ein. Beispiel:

{
 "Version": "21.04.200.4",
"Distributions":[
{
"TargetOS": "RHEL7_9",
"PackageName": "",
"PackageHash": ""
},
{
"TargetOS": "UBUNTU20_04",
"PackageName": "",
"PackageHash": ""
}
]
}
<!--NeedCopy-->

Version gibt die neue VDA-Version an und Distributions ein Array von Updateobjekten. Jedes Objekt enthält drei Elemente:

  • TargetOS: muss “RHEL7_9” (für RHEL 7, CentOS 7 und Amazon Linux 2) oder “UBUNTU20_04” sein. ctxmonitord erkennt keine anderen Distributionen.
  • PackageName: Vollständiger Name des VDAs -Pakets der angegebenen Version.
  • PackageHash: mit dem Befehl shasum -a 256 <pkgname> berechneter SHA-256-Wert.

Schritt 1c: Laden Sie die JSON-Datei und die neue Version der Linux VDA-Pakete in Ihren Azure-Container hoch.

Schritt 2: Aktivieren des Selfupdate-Features für das Masterimage oder auf jedem VDA

Standardmäßig ist Selfupdate deaktiviert. Wenn Sie Linux VDAs in Citrix DaaS Standard für Azure erstellen, muss die Feature-Aktivierung für das Masterimage durchgeführt werden. Aktivieren Sie andernfalls das Feature direkt für jeden Ziel-VDA.

Zum Aktivieren des Selbstupdates führen Sie einen Befehl nach dem folgenden Muster zum Bearbeiten des Registrierungsschlüssels unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\SelfUpdate aus.

/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-->

In der folgenden Tabelle werden die Registrierungseinstellungen beschrieben.

Registrierungseinstellung Beschreibung
fEnabled Diese Einstellung ist erforderlich. Standardmäßig ist der Wert 0 und das Selbstupdate damit deaktiviert. Sie können den Wert auf 1 setzen, um das Selbstupdate zu aktivieren.
URL Diese Einstellung ist erforderlich. Sie legt die URL des Azure-Containers zum Abrufen von Updateinformationen und neuen VDA-Paketen fest.
ScheduledTime Diese Einstellung ist erforderlich. Sie können sie auf Immediately oder NextStart festlegen. Immediately bedeutet, dass ein Update sofort nach dem Herunterladen von VDA-Paketen ausgeführt wird. Diese Option eignet sich für hohe Download-Geschwindigkeiten und dringliche Updates. Sie kann jedoch Benutzer stören, wenn beim Herunterladen von Paketen Sitzungen laufen. NextStart bedeutet, dass ein Update beim nächsten Start von ctxmonitord ausgeführt wird. Diese Option eignet sich für niedrige Download-Geschwindigkeiten und nicht dringliche Updates.
CaCertificate Diese Einstellung ist optional. Sie legt den vollständigen Pfad eines PEM-Zertifikats zur Prüfung der URL des Azure-Containers fest. Bei Azure-Blobs kann dies das Zertifikat von portal.azure.com sein, das aus dem Browser abgerufen und dann in PEM konvertiert wird. Aus Sicherheitsgründen empfehlen wir, diese Registrierungseinstellung hinzuzufügen. Sie wird jedoch nur unter Ubuntu unterstützt. Unter RHEL fehlt die Verknüpfung von NSS-Bibliotheken für den Befehl curl. Legen Sie auf jeden Fall die minimalen Privilegien für das Zertifikat fest.

Wenn ctxmonitord neu gestartet wird, ruft es zuerst über Url die Datei UpdateInfo.json und aus dieser dann die Updateversion ab. ctxmonitord vergleicht dann die Updateversion mit der aktuellen Version. Ist die aktuelle Version älter, lädt der Dienst die neue Version des VDAs -Pakets von Azure herunter und speichert sie lokal. Danach führt er ein Update gemäß der Einstellung ScheduledTime aus. In On-Premises-Bereitstellungen können Sie ctxmonitord neu starten, um ein Update auszulösen. In Citrix DaaS Standard für Azure haben Sie hingegen keine Administratorprivilegien für VMs und ctxmonitord kann erst nach dem Neustart der VDA-Maschine neu gestartet werden. Wenn ein Update fehlschlägt, wird der VDA auf die bestehende Version zurückgesetzt.

Hinweis:

  • Die für das Masterimage konfigurierten Registrierungseinstellungen können nicht geändert werden.
  • Wenn alle VMs in einer Umgebung gleichzeitig ein Paket herunterladen, kann dies zur Überlastung des lokalen Netzwerks führen.
  • Benutzerdaten gehen verloren, wenn sowohl ein Update als auch das Rollback fehlschlagen.
  • Wenn ein Update fehlschlägt, das Rollback jedoch gelingt, haben Benutzer im selben Netzwerk möglicherweise verschiedene Linux VDA-Versionen. Das ist nicht optimal.
  • Updates erfordern in der Regel mehrere Minuten. In Citrix Studio gibt es keine Statusanzeige.
Linux VDA-Selfupdate über Azure