Linux Virtual Delivery Agent

Autoactualización de Linux VDA a través de Azure

Esta función ayuda a actualizar automáticamente el software de Linux VDA, inmediatamente o a una hora programada. Resulta útil al crear agentes Linux VDA en Citrix DaaS Standard para Azure (antes denominado Citrix Virtual Apps and Desktops Standard para Azure). No necesita privilegios de administrador de las máquinas virtuales en Azure. Para obtener más información, consulte Crear agentes VDA de Linux en Citrix DaaS Standard para Azure.

Configuración

Para utilizar esta función, siga estos pasos:

Paso 1: Cargue la información de actualización y nuevos paquetes VDA en el contenedor de Azure

Paso 1a: Cree un contenedor en su cuenta de almacenamiento de Azure y establezca el nivel de acceso al contenedor en Blob (Anonymous read access for blobs only).

Nota:

Los clientes mantienen y administran exclusivamente los contenedores y blobs de Azure. Citrix no se hace responsable de ningún problema de seguridad asociado a estos. Para garantizar la seguridad de los datos y la rentabilidad, establezca el nivel de acceso al contenedor en Private (no anonymous access) después de cada actualización automática.

Paso 1b: Incorpore la información de actualización del VDA a un archivo JSON denominado UpdateInfo.json. Para ver un ejemplo del formato de archivo, consulte el siguiente bloque:

{
 "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-->

Donde, “Version” indica la nueva versión del VDA y “Distributions” es una matriz de objetos de actualización. Cada objeto contiene tres elementos:

  • “TargetOS”: Debe ser “RHEL7_9” (para RHEL 7, CentOS 7 y Amazon Linux 2), “RHEL8_3”, “UBUNTU18_04” o “UBUNTU20_04”. ctxmonitorservice No reconoce ninguna otra distribución.
  • “PackageName”: Nombre completo del paquete VDA de la versión especificada.
  • “PackageHash”: Valor SHA-256 que se calcula mediante el comando shasum -a 256 <pkgname>.

Paso 1c: Cargue el archivo JSON y la nueva versión de paquetes Linux VDA en su contenedor de Azure.

Paso 2: Habilite la función de autoactualización en la imagen maestra o en cada VDA

De forma predeterminada, la autoactualización está inhabilitada. Si crea agentes Linux VDA en Citrix DaaS Standard para Azure, la habilitación de funciones debe realizarse en la imagen maestra. De lo contrario, habilite la función en cada VDA de destino directamente.

Para habilitar la autoactualización, ejecute comandos similares a los siguientes para modificar la clave de registro en 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-->

En la tabla siguiente, se describen los parámetros de Registro.

Parámetro de Registro Descripción
fEnabled Este parámetro es obligatorio. De forma predeterminada, el valor es 0, lo que significa que la autoactualización está inhabilitada. Puede establecerlo en 1 para habilitar la actualización automática.
URL Este parámetro es obligatorio. Establece la URL del contenedor de Azure para obtener la información de actualización y los nuevos paquetes de VDA.
ScheduledTime Este parámetro es obligatorio. Puede establecerlo en Immediately o NextStart. Immediately significa ejecutar la actualización inmediatamente después de descargar los paquetes del VDA. Esta opción es adecuada cuando la velocidad de descarga es alta y la actualización es urgente. Al mismo tiempo, puede afectar negativamente a la experiencia de usuario si hay sesiones en directo al descargar el paquete. NextStart significa ejecutar la actualización tras el siguiente inicio de ctxmonitorservice. Esta opción es adecuada cuando la velocidad de descarga no es alta y la actualización no es urgente.
CaCertificate Este parámetro es opcional. Establece la ruta completa de un certificado PEM para verificar la URL del contenedor de Azure. Para los blobs de Azure, puede ser el certificado de portal.azure.com que se obtiene del explorador web y luego se convierte a PEM. Por motivos de seguridad, le recomendamos agregar este parámetro de Registro, aunque solo se admite en Ubuntu. En RHEL, falla la vinculación de algunas bibliotecas NSS para el comando curl. Asegúrese de establecer los privilegios mínimos del certificado.

Cuando ctxmonitorservice se reinicia, consulta primero Url para obtener el archivo UpdateInfo.json y recupera la versión de actualización del archivo JSON. A continuación, ctxmonitorservice compara la versión de actualización con la versión actual. Si la versión actual es anterior, el servicio descarga la nueva versión del paquete VDA de Azure y la guarda localmente. Después de eso, ejecuta una actualización según la configuración de ScheduledTime. En el caso de una implementación local, puede reiniciar ctxmonitorservice directamente para desencadenar la actualización. Sin embargo, en Citrix DaaS Standard para Azure, donde no tiene privilegios de administrador para las máquinas virtuales, solo se puede reiniciar ctxmonitorservice después de reiniciar la máquina VDA. Si falla una actualización, el VDA revierte a la versión existente.

Nota:

  • Los parámetros de Registro configurados en la imagen maestra no se pueden modificar.
  • Si todas las máquinas virtuales de un entorno descargan un paquete al mismo tiempo, la red local se puede congestionar.
  • Si tanto la actualización como la reversión fallan, se pierden los datos del usuario.
  • Si una actualización falla pero la reversión se realiza correctamente, los usuarios de la misma red pueden tener versiones de Linux VDA diferentes. Esta no es una situación ideal.
  • Una actualización normalmente tarda varios minutos en completarse. No hay ningún indicador de estado en Citrix Studio.
Autoactualización de Linux VDA a través de Azure