Crear VDA unidos a un dominio mediante Easy Install
Importante:
Para instalaciones nuevas, le recomendamos que consulte este artículo para una instalación rápida. En este artículo, se describe cómo instalar y configurar Linux VDA con Easy Install. Easy Install ahorra tiempo y trabajo y es menos propenso a errores que la instalación manual. Así, le ayuda a configurar un entorno de ejecución de Linux VDA mediante la instalación de los paquetes necesarios y la personalización automática de los archivos de configuración.
Para crear agentes VDA no unidos a ningún dominio, puede usar tanto Machine Creation Services (MCS) como Easy Install. Para obtener más información, consulte Crear Linux VDA no unidos a ningún dominio mediante MCS yCrear un agente Linux VDA no unido a ningún dominio mediante Easy Install (Tech Preview).
Para obtener información sobre las funciones disponibles para los VDA que no están unidos a ningún dominio, vaya a VDA no unidos a ningún dominio.
Paso 1: Prepare la información de configuración y la máquina Linux
Recopile la siguiente información de configuración necesaria para Easy Install:
- Nombre de host: El nombre de host de la máquina en la que se instalará Linux VDA
- Dirección IP del servidor de nombres de dominio.
- Dirección IP o cadena de nombre del servidor NTP.
- Nombre de dominio: El nombre NetBIOS del dominio.
- Nombre de territorio: El nombre del territorio Kerberos.
- Nombre de dominio completo (FQDN) del dominio.
- Método de integración de Active Directory (AD): Actualmente, Easy Install es compatible con Winbind, SSSD, Centrify, PBIS y Quest. Easy Install es compatible con Quest solo para RHEL y Rocky Linux.
- Nombre de usuario: El nombre del usuario que une la máquina al dominio.
- Contraseña: La contraseña del usuario que une la máquina al dominio.
- OU: La unidad organizativa. Opcional.
Importante:
- Para instalar Linux VDA, compruebe que los repositorios se agregan correctamente en la máquina Linux.
- Para iniciar una sesión, compruebe que se instalan los entornos de escritorio y el sistema X Window están instalados.
- Por motivos de seguridad, Easy Install no guarda la contraseña de unión al dominio. Cada vez que ejecute el script de Easy Install (ctxinstall.sh) en modo interactivo, debe introducir la contraseña de unión al dominio manualmente. En el modo silencioso, debe establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña. Le recomendamos no usar la cuenta de administrador para unirse a dominios. En su lugar, delegue los permisos de unión a dominios a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delegue el control en el controlador de dominio mediante el Asistente para la delegación de control.
Paso 2: Prepare el hipervisor
Se necesitan algunos cambios cuando se ejecuta Linux VDA como una máquina virtual en un hipervisor admitido. Haga estos cambios en función de la plataforma de hipervisor que se use. No se requieren cambios si se está ejecutando la máquina Linux sin sistema operativo.
Corregir la sincronización horaria en XenServer (anteriormente, Citrix Hypervisor)
Si está habilitada la funcionalidad de sincronización horaria de XenServer, se darán problemas en las máquinas virtuales Linux paravirtualizadas tanto en NTP como en XenServer. Ambos intentan gestionar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, compruebe que el reloj del sistema de cada invitado de Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host. No se requieren cambios en el modo HVM.
Si se ejecuta un kernel Linux paravirtualizado con XenServer VM Tools instalado, puede comprobar si la función de sincronización horaria de XenServer está presente y habilitarla en la máquina virtual de Linux:
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Este comando devuelve 0 o 1:
- 0. La funcionalidad de sincronización horaria está habilitada, por lo que se debe inhabilitar.
- 1. La funcionalidad de sincronización horaria está inhabilitada, por lo que no es necesaria ninguna otra acción.
Si el archivo /proc/sys/xen/independent_wallclock no está presente, no es necesario que siga estos pasos.
Si se habilita, inhabilite la función de sincronización horaria con un 1 en el archivo:
sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Para que este cambio sea permanente y persista después de reiniciar la máquina, modifique el archivo /etc/sysctl.conf y agregue la línea:
xen.independent_wallclock = 1
Para comprobar los cambios, reinicie el sistema:
su -
cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->
Este comando devuelve el valor 1.
Corregir la sincronización horaria en Microsoft Hyper-V
Las máquinas virtuales Linux que tienen instalados los servicios de integración de Hyper-V para Linux pueden aplicar la funcionalidad de sincronización horaria de Hyper-V para usar la hora del sistema operativo del host. Para que el reloj del sistema no se desincronice, esta funcionalidad se debe habilitar junto con los servicios NTP.
Desde el sistema operativo de administración:
- Abra la consola del Administrador de Hyper-V.
- Para ver la configuración de una máquina virtual Linux, seleccione Integration Services.
- Compruebe que Time synchronization está seleccionado.
Nota:
Este método difiere de VMware y XenServer (antes, Citrix Hypervisor), donde se inhabilita la sincronización horaria del host para evitar conflictos con NTP. La sincronización horaria de Hyper-V puede coexistir y complementarse con la sincronización horaria de NTP.
Corregir la sincronización horaria en ESX y ESXi
Cuando la función de sincronización horaria de VMware está habilitada en cada VM de Linux paravirtualizada, hay problemas con el protocolo NTP y el hipervisor. Ambos intentan sincronizar el reloj del sistema. Para evitar la desincronización del reloj respecto a los demás servidores, el reloj del sistema de cada invitado Linux debe sincronizarse con NTP. Por eso, es necesario inhabilitar la sincronización horaria del host.
Si ejecuta un kernel Linux paravirtualizado con VMware Tools instalado:
- Abra vSphere Client.
- Modifique la configuración de la máquina virtual Linux.
- En el cuadro de diálogo Propiedades de la máquina virtual, abra la ficha Opciones.
- Seleccione VMware Tools.
- En el cuadro Advanced, desmarque la casilla Synchronize guest time with host.
Paso 3: Instale .NET
Antes de instalar Linux VDA, instale .NET correspondiente a su distribución de Linux:
- Instale .NET Runtime 8.0 en todas las distribuciones de Linux compatibles, excepto RHEL 7.9 y Amazon Linux 2.
- Para RHEL 7.9 y Amazon Linux 2, siga realizando la instalación de .NET Runtime 6.0.
Si su distribución de Linux contiene la versión de .NET que necesita, instálela desde el feed integrado. De otro modo, instale .NET desde la sección de paquetes de Microsoft. Para obtener más información, consulte https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers.
Después de instalar .NET, ejecute el comando which dotnet para encontrar su ruta de runtime.
En función del resultado del comando, establezca la ruta binaria de .NET Runtime. Por ejemplo, si el resultado del comando es /aa/bb/dotnet, use /aa/bb como ruta binaria de .NET.
Paso 4: Descargue el paquete de Linux VDA
- Vaya a la página de descargas de Citrix Virtual Apps and Desktops.
- Expanda la versión adecuada de Citrix Virtual Apps and Desktops.
-
Expanda Componentes para buscar Linux VDA. Por ejemplo:
-
Haga clic en el enlace de Linux VDA para acceder a las descargas de Linux VDA.
-
Descargue el paquete de Linux VDA que coincida con su distribución de Linux.
-
Descargue la clave pública GPG que puede usar para verificar la integridad del paquete de Linux VDA. Por ejemplo:
Para comprobar la integridad del paquete de Linux VDA mediante la clave pública:
-
Para un paquete RPM, ejecute estos comandos para importar la clave pública a la base de datos RPM y comprobar la integridad del paquete:
rpmkeys --import <path to the public key> rpm --checksig --verbose <path to the Linux VDA package> <!--NeedCopy-->
-
Para un paquete DEB, ejecute estos comandos para importar la clave pública a la base de datos DEB y comprobar la integridad del paquete:
sudo apt-get install dpkg-sig gpg --import <path to the public key> dpkg-sig --verify <path to the Linux VDA package> <!--NeedCopy-->
-
Paso 5: Instale el paquete de Linux VDA
Para configurar el entorno para Linux VDA, ejecute los siguientes comandos.
Para las distribuciones de Amazon Linux 2, CentOS, RHEL y Rocky Linux:
Nota:
En el caso de RHEL y CentOS, debe instalar el repositorio EPEL para poder instalar Linux VDA correctamente. Para obtener información sobre cómo instalar EPEL, consulte las instrucciones en https://docs.fedoraproject.org/en-US/epel/.
Antes de instalar el Linux VDA en RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, actualice el paquete libsepol a la versión 3.4 o posterior.
sudo yum -y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Nota:
Tras instalar Linux VDA en RHEL 8.x/9.x y Rocky Linux 8.x/9.x alojados en GCP, es posible que se pierda la conexión Ethernet y que no se pueda acceder a Linux VDA después de reiniciar la máquina virtual. Para solucionar este problema, establezca una contraseña raíz al iniciar sesión en la máquina virtual por primera vez y asegúrese de que puede iniciar sesión en la máquina virtual como raíz. A continuación, ejecute estos comandos en la consola tras reiniciar la máquina virtual:
nmcli dev connect eth0 systemctl restart NetworkManager <!--NeedCopy-->
Para distribuciones Ubuntu/Debian:
sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->
Nota:
Para instalar las dependencias necesarias para una distribución Debian 11, agregue la línea
deb http://deb.debian.org/debian/ bullseye main
al archivo /etc/apt/sources.list.Para Ubuntu 20.04 en GCP, inhabilite RDNS. Para ello, agregue la línea rdns = false en [libdefaults] en /etc/krb5.conf.
Para las distribuciones SUSE:
-
Para SUSE 15.5 en AWS, Azure y GCP, asegúrese de que:
- Está utilizando libstdc++6 versión 12 o posterior.
- El parámetro Default_WM de /etc/sysconfig/windowmanager está configurado en “gnome”.
-
Ejecute el siguiente comando para instalar Linux VDA:
zypper -i install <PATH>/<Linux VDA RPM> <!--NeedCopy-->
Paso 6: Instale controladores NVIDIA GRID
Para habilitar HDX 3D Pro, debe instalar los controladores NVIDIA GRID en el hipervisor y en las máquinas VDA.
Para instalar y configurar el administrador de GPU virtual de NVIDIA GRID (el controlador de hosts) en los hipervisores específicos, consulte estas guías:
Para instalar y configurar los controladores de VM invitada de NVIDIA GRID, siga estos pasos generales:
- Asegúrese de que la máquina virtual invitada esté apagada.
- En el panel de control del hipervisor, asigne una GPU a la VM.
- Inicie la VM.
- Instale el controlador de VM invitada en la VM.
Paso 7: Especifique una base de datos que se utilizará
Puede cambiar entre SQLite y PostgreSQL después de instalar el paquete de Linux VDA. Para ello, siga estos pasos:
Nota:
- Se recomienda usar SQLite solo para el modo VDI y PostgreSQL para un modelo de entrega de escritorios compartidos alojados.
- Para Easy Install y MCS, puede especificar el uso de SQLite o PostgreSQL sin tener que instalarlos manualmente. A menos que se especifique lo contrario mediante /etc/xdl/db.conf, Linux VDA usa PostgreSQL de forma predeterminada.
- También puede usar /etc/xdl/db.conf para configurar el número de puerto de PostgreSQL.
- Modifique /etc/xdl/db.conf para especificar la base de datos que se utilizará.
- Ejecute sudo /opt/Citrix/VDA/sbin/ctxinstall.sh o /opt/Citrix/VDA/bin/easyinstall.
Paso 8: Ejecute Easy Install para configurar el entorno y el VDA para completar la instalación
Después de instalar el paquete de Linux VDA, configure el entorno de ejecución mediante el script ctxinstall.sh o la GUI.
Nota:
Antes de configurar el entorno en tiempo de ejecución, asegúrese de que la configuración regional en_US.UTF-8 esté instalada en su sistema operativo. Si la configuración regional no está disponible en su sistema operativo, ejecute el comando sudo locale-gen en_US.UTF-8. Para Debian, quite la marca de comentario de la línea # en_US.UTF-8 UTF-8 para modificar el archivo /etc/locale.gen y, a continuación, ejecute el comando sudo locale-gen.
ctxinstall.sh
ctxinstall.sh es el script de Easy Install para realizar una preconfiguración y configurar las variables de entorno en ejecución del VDA.
-
Solo el usuario Raíz puede ejecutar este script.
- Easy Install usa /opt/Citrix/VDA/sbin/ctxinstall.conf como archivo de configuración para definir, guardar y sincronizar los valores de todas las variables de entorno. Le recomendamos que lea la plantilla (ctxinstall.conf.tmpl) detenidamente y, a continuación, personalice su propio ctxinstall.conf. Cuando cree el archivo de configuración por primera vez, utilice una de estas formas:
- Copie el archivo de plantilla /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl y guárdelo como /opt/Citrix/VDA/sbin/ctxinstall.conf.
- Ejecute ctxinstall.sh. Cada vez que ejecuta ctxinstall.sh, lo que haya introducido se guarda en /opt/Citrix/VDA/sbin/ctxinstall.conf.
-
Easy Install permite el funcionamiento modular. Los módulos incluyen comprobación previa, instalación, configuración del dominio, configuración y verificación.
- Los detalles de depuración de este script se encuentran en /var/log/xdl/ctxinstall.log.
Para obtener más información, utilice el comando de ayuda ctxinstall.sh -h.
Nota:
- Con base en el principio del mínimo privilegio, asegúrese de que solo el usuario raíz pueda leer opt/Citrix/VDA/sbin/ctxinstall.conf, ya que es posible que la contraseña de unión al dominio esté definida en el archivo.
- Al desinstalar Linux VDA, se quitan los archivos que se encuentran en /opt/Citrix/VDA. Le recomendamos que haga una copia de reserva de /opt/Citrix/VDA/sbin/ctxinstall.conf antes de desinstalar el VDA.
Puede ejecutar ctxinstall.sh en modo interactivo o silencioso. Antes de ejecutar el script, defina estas variables de entorno:
-
CTX_XDL_NON_DOMAIN_JOINED=’y|n’: indica si se debe unir la máquina a un dominio. El valor predeterminado es ‘n’. Para escenarios unidos a un dominio, configúralo en ‘n’.
-
CTX_XDL_AD_INTEGRATION=’winbind|sssd|centrify|pbis|quest’: Linux VDA requiere parámetros de configuración Kerberos para autenticarse en los Delivery Controllers. La configuración de Kerberos se determina a partir de la herramienta de integración de Active Directory instalada y configurada en el sistema.
-
CTX_XDL_DDC_LIST=’<list-ddc-fqdns>’: Linux VDA necesita una lista de nombres de dominio completo de Delivery Controllers, separados por espacios, para registrarse en un Delivery Controller. Se debe especificar al menos un nombre FQDN o CNAME.
-
CTX_XDL_VDI_MODE=’y|n’: Indica si configurar la máquina a partir de un modelo de entrega de escritorios dedicados (VDI) o un modelo de entrega de escritorios compartidos alojados. Para entornos HDX 3D Pro, establézcalo en ‘y’.
-
CTX_XDL_HDX_3D_PRO =’y|n’: Linux VDA es compatible con HDX 3D Pro, un conjunto de tecnologías para la aceleración de la GPU que se diseñó para optimizar la virtualización de aplicaciones con gráficos sofisticados. Si se selecciona HDX 3D Pro, el VDA se configura para el modo de escritorios VDI (sesión única); (es decir, CTX_XDL_VDI_MODE=‘y’).
-
CTX_XDL_START_SERVICE=’y|n’: Determina si los servicios de Linux VDA se inician cuando se completa la configuración.
-
CTX_XDL_REGISTER_SERVICE=’y|n’: Los servicios de Linux Virtual Desktop se inician después del arranque de la máquina.
-
CTX_XDL_ADD_FIREWALL_RULES=’y|n’: Los servicios de Linux VDA requieren que se permitan las conexiones de red entrantes a través del firewall del sistema. Puede abrir automáticamente los puertos necesarios (de forma predeterminada, los puertos 80 y 1494) en el firewall del sistema de Linux Virtual Desktop.
-
CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘: Especifica el entorno de escritorio GNOME, GNOME Classic, KDE, MATE o Xfce que se va a utilizar en las sesiones. Si lo establece en “<none>“, se usa el escritorio predeterminado configurado en el VDA.
-
CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime: La ruta de instalación de .NET para garantizar compatibilidad con el nuevo servicio de agente intermediario (ctxvda). La ruta predeterminada es “/usr/bin”.
-
CTX_XDL_VDA_PORT=port-number: Linux VDA se comunica con los Delivery Controllers a través de un puerto TCP/IP.
-
CTX_XDL_SITE_NAME=<dns-name>: Linux VDA detecta los servidores LDAP mediante DNS. Para limitar los resultados de búsqueda de DNS a un sitio local, especifique un nombre de sitio DNS. Si no es necesario, establézcalo en ‘<none>‘.
-
CTX_XDL_LDAP_LIST=’<list-ldap-servers>’: Linux VDA consulta a DNS para detectar servidores LDAP. Sin embargo, si el DNS no puede proporcionar registros del servicio LDAP, se puede suministrar una lista de nombres FQDN de LDAP, separados por espacios, con los puertos de LDAP. Por ejemplo, ad1.miempresa.com:389 ad2.miempresa.com:3268 ad3.miempresa.com:3268. Para habilitar consultas LDAP más rápidas en bosques de Active Directory, habilite Catálogo global en un controlador de dominio y especifique 3268 como número de puerto LDAP correspondiente. Esta variable está establecida en ‘<none>‘ de forma predeterminada.
-
CTX_XDL_SEARCH_BASE=search-base-set: Linux VDA consulta a LDAP a partir de una base de búsqueda establecida en la raíz del dominio de Active Directory (por ejemplo, DC=miempresa,DC=com). Para mejorar el rendimiento de la búsqueda, puede especificar otra base de búsqueda (por ejemplo, OU=VDI,DC=miempresa,DC=com). Si no es necesario, establézcalo en ‘<none>‘.
-
CTX_XDL_SUPPORT_DDC_AS_CNAME=’y|n’: Linux VDA permite especificar un nombre de Delivery Controller mediante un registro CNAME de DNS.
-
CTX_EASYINSTALL_DNS=’<ip-address-of-dns>’: La dirección IP de DNS.
-
CTX_EASYINSTALL_HOSTNAME=host-name: El nombre de host del servidor Linux VDA.
-
CTX_EASYINSTALL_NTPS=address-of-ntps: La dirección IP o cadena de nombre del servidor NTP.
-
CTX_EASYINSTALL_REALM=realm-name: El nombre del territorio Kerberos.
-
CTX_EASYINSTALL_FQDN=ad-fqdn-name
-
CTX_EASYINSTALL_USERNAME=domain-username: El nombre del usuario que une la máquina al dominio.
-
CTX_EASYINSTALL_PASSWORD=password: La contraseña del usuario que une la máquina al dominio.
Nota:
Le recomendamos no usar la cuenta de administrador para unirse a dominios. En su lugar, delegue los permisos de unión a dominios a un usuario de Active Directory que no sea la cuenta de administrador. Para ello, delegue el control en el controlador de dominio mediante el Asistente para la delegación de control.
Estas cuatro variables son opcionales. Aunque no estén configuradas, ctxinstall.sh no se interrumpirá en el modo silencioso y no se le pedirá al usuario que introduzca datos en modo interactivo. Solo puede configurarlas al exportar sus valores o al modificar/Citrix/VDA/sbin/ctxinstall.conf.
-
CTX_EASYINSTALL_NETBIOS_DOMAIN=netbios-domain-name: El nombre de dominio NetBIOS suele ser el primer componente del nombre de dominio DNS separado por un punto (.). De lo contrario, personalice un nombre de dominio NetBIOS diferente. Esta variable es opcional.
- CTX_EASYINSTALL_OU=ou-value: Los valores de unidad organizativa varían con los diferentes métodos de integración de AD. Para ver un ejemplo de los valores de unidad organizativa, consulte la tabla de la sección Consideraciones de este artículo. Esta variable es opcional.
- CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=centrify-local-path: Easy Install ayuda a descargar el paquete de Centrify de Internet. Sin embargo, si Centrify ya está instalado, puede obtener el paquete de Centrify de un directorio local definido por esta variable. Esta variable es opcional.
- CTX_EASYINSTALL_PBIS_LOCAL_PATH= pbis-local-path: Easy Install ayuda a descargar el paquete de PBIS de Internet. Sin embargo, si PBIS ya está instalado, puede obtener el paquete de PBIS de un directorio local definido por esta variable. Esta variable es opcional.
Consideraciones
-
El nombre de dominio NetBIOS suele ser el primer componente del nombre de dominio DNS separado por un punto (.). Para personalizar un nombre de dominio NetBIOS diferente en su entorno, defina la variable de entorno CTX_EASYINSTALL_NETBIOS_DOMAIN en /opt/Citrix/VDA/sbin/ctxinstall.conf.
-
Para unir su VDA a una unidad organizativa específica, haga lo siguiente:
-
Asegúrese de que la unidad organizativa específica existe en el controlador de dominio.
La siguiente captura de pantalla le sirve de ejemplo de unidad organizativa:
-
Defina la variable de entorno CTX_EASYINSTALL_OU en /opt/Citrix/VDA/sbin/ctxinstall.conf.
Los valores de unidad organizativa varían con los diferentes métodos de AD. Esta tabla refleja los nombres de unidades organizativos de ejemplo de la captura de pantalla anterior. Puede usar los nombres que quiera para las unidades organizativas de su organización.
SO Winbind SSSD Centrify PBIS Amazon Linux 2 "Linux/amazon"
"Linux/amazon"
"XD.LOCAL/Linux/amazon"
"Linux/amazon"
Debian "Linux/debian"
"Linux/debian"
"XD.LOCAL/Linux/debian"
"Linux/debian"
RHEL 9.3/9.2/9.0, Rocky Linux 9.3/9.2/9.0 "OU=redhat,OU=Linux"
"OU=redhat,OU=Linux"
N/D N/D RHEL 8.x "OU=redhat,OU=Linux"
"OU=redhat,OU=Linux"
"XD.LOCAL/Linux/redhat"
"Linux/redhat"
Rocky Linux 8.x "OU=redhat,OU=Linux"
"OU=redhat,OU=Linux"
N/D N/D RHEL 7 "Linux/redhat"
"Linux/redhat"
"XD.LOCAL/Linux/redhat"
"Linux/redhat"
SUSE "Linux/suse"
"Linux/suse"
"XD.LOCAL/Linux/suse"
"Linux/suse"
Ubuntu "Linux/ubuntu"
"Linux/ubuntu"
"XD.LOCAL/Linux/ubuntu"
"Linux/ubuntu"
-
-
Centrify no admite la configuración de DNS únicamente de IPv6. Se requiere al menos un servidor DNS que use IPv4 en /etc/resolv.conf para que adclient encuentre correctamente los servicios de AD.
Registro:
ADSITE : Check that this machine's subnet is in a site known by AD : Failed : This machine's subnet is not known by AD. : We guess you should be in the site Site1. <!--NeedCopy-->
Este problema es exclusivo de Centrify y su configuración. Para resolver este problema, haga lo siguiente:
a. Abra Herramientas administrativas en el controlador del dominio.
b. Seleccione Sitios y servicios de Active Directory.
c. Agregue una dirección de subred adecuada para Subredes. -
Easy Install admite IPv6 puro a partir de Linux VDA 7.16. Se aplican las siguientes condiciones previas y limitaciones:
- Debe configurar el repositorio de Linux para que la máquina pueda descargar los paquetes requeridos en redes de IPv6 puro.
- Centrify no se admite en redes únicamente de IPv6.
Nota:
Si la red es solo de IPv6 y todas las entradas tienen el formato adecuado de IPv6, el VDA se registra en el Delivery Controller a través de IPv6. Si la red tiene una combinación híbrida de IPv4 e IPv6, el tipo de la primera dirección IP de DNS determina si se usa IPv4 o IPv6 para el registro.
-
Puede especificar un entorno de escritorio para usarlo en las sesiones mediante la variable CTX_XDL_DESKTOP_ENVIRONMENT, tal como se describió anteriormente. También puede cambiar entre entornos de escritorio ejecutando comandos o utilizando la bandeja del sistema. Para obtener más información, consulte Comandos para cambiar de escritorio y Bandeja del sistema.
-
Si elige Centrify como el método para unirse a un dominio, el script ctxinstall.sh requiere el paquete de Centrify. Formas en que ctxinstall.sh puede obtener el paquete de Centrify:
-
Easy Install ayuda a descargar el paquete de Centrify desde Internet automáticamente. Las direcciones URL especificadas para cada distribución son:
Amazon Linux 2/RHEL: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-rhel6-x86_64.tgz
Ubuntu/Debian: wget https://downloads.centrify.com/products/server-suite/2022/component-update-1/delinea-server-suite-2022-deb9-x86_64.tgz
-
Obtenga el paquete de Centrify de un directorio local si Centrify ya está instalado. Para designar el directorio del paquete de Centrify, configure CTX_EASYINSTALL_CENTRIFY_LOCAL_PATH=/home/mydir en /opt/Citrix/VDA/sbin/ctxinstall.conf. Por ejemplo:
ls -ls /home/mydir 9548 -r-xr-xr-x. 1 root root 9776688 May 13 2016 adcheck-rhel4-x86_64 4140 -r--r--r--. 1 root root 4236714 Apr 21 2016 centrifyda-3.3.1-rhel4-x86_64.rpm 33492 -r--r--r--. 1 root root 34292673 May 13 2016 centrifydc-5.3.1-rhel4-x86_64.rpm 4 -rw-rw-r--. 1 root root 1168 Dec 1 2015 centrifydc-install.cfg 756 -r--r--r--. 1 root root 770991 May 13 2016 centrifydc-ldapproxy-5.3.1-rhel4-x86_64.rpm 268 -r--r--r--. 1 root root 271296 May 13 2016 centrifydc-nis-5.3.1-rhel4-x86_64.rpm 1888 -r--r--r--. 1 root root 1930084 Apr 12 2016 centrifydc-openssh-7.2p2-5.3.1-rhel4-x86_64.rpm 124 -rw-rw-r--. 1 root root 124543 Apr 19 2016 centrify-suite.cfg 0 lrwxrwxrwx. 1 root root 10 Jul 9 2012 install-express.sh -> install.sh 332 -r-xr-xr--. 1 root root 338292 Apr 10 2016 install.sh 12 -r--r--r--. 1 root root 11166 Apr 9 2015 release-notes-agent-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 3732 Aug 24 2015 release-notes-da-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 2749 Apr 7 2015 release-notes-nis-rhel4-x86_64.txt 12 -r--r--r--. 1 root root 9133 Mar 21 2016 release-notes-openssh-rhel4-x86_64.txt <!--NeedCopy-->
-
-
Si elige PBIS como el método para unirse a un dominio, el script ctxinstall.sh requiere el paquete de PBIS. Formas en que ctxinstall.sh puede obtener el paquete de PBIS:
-
Easy Install ayuda a descargar el paquete de PBIS desde Internet automáticamente. Por ejemplo, estas son las direcciones URL especificadas para cada distribución:
Amazon Linux 2, CentOS 7, RHEL 8, RHEL 7, SUSE 15.5: wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh
Debian, Ubuntu: wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.deb.sh
-
Obtenga una versión específica del paquete PBIS desde Internet. Para hacerlo, cambie las líneas “pbisDownloadRelease” y “pbisDownloadExpectedSHA256” del archivo /opt/Citrix/VDA/sbin/ctxinstall.sh.
La siguiente captura de pantalla le sirve de ejemplo:
-
Obtenga el paquete de PBIS de un directorio local si PBIS ya está instalado. Para designar el directorio del paquete de PBIS, defina la variable de entorno CTX_EASYINSTALL_PBIS_LOCAL_PATH en /opt/Citrix/VDA/sbin/ctxinstall.conf.
-
Modo interactivo
Para ejecutar el script ctxinstall.sh en el modo interactivo, ejecute el comando sudo /opt/Citrix/VDA/sbin/ctxinstall.sh sin la opción -S. Escriba el valor de la variable correspondiente en cada línea de la interfaz de línea de comandos. Si una variable ya está configurada, ctxinstall.sh solicita una confirmación en caso de que quiera cambiarla.
Modo silencioso
En el modo silencioso, debe configurar las variables anteriores mediante /opt/Citrix/VDA/sbin/ctxinstall.conf o el comando export. Después de eso, ejecute ctxinstall.sh -S (tenga en cuenta que la letra S aquí está en mayúscula). Si no se han configurado todas las variables necesarias o algún valor no es válido, ctxinstall.sh interrumpe la ejecución, a menos que haya valores predeterminados.
El valor exportado de cada variable supedita el valor de /Citrix/VDA/sbin/ctxinstall.conf a menos que no esté configurado. Todos los valores actualizados se guardan en /Citrix/VDA/sbin/ctxinstall.conf, excepto la contraseña de unión al dominio. Por lo tanto, en el modo silencioso, debe establecer la contraseña de unión al dominio en /Citrix/VDA/sbin/ctxinstall.conf o exportar la contraseña.
export CTX_XDL_NON_DOMAIN_JOINED='n'
export CTX_XDL_AD_INTEGRATION=winbind|centrify|sssd|pbis|quest
export CTX_XDL_DDC_LIST='<list-ddc-fqdns>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT=gnome|gnome-classic|kde|mate|xfce|'<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
export CTX_XDL_SITE_NAME='<dns-site-name>'|'<none>'
export CTX_XDL_LDAP_LIST='<list-ldap-servers>'|'<none>'
export CTX_XDL_SEARCH_BASE='<search-base-set>'|'<none>'
export CTX_XDL_SUPPORT_DDC_AS_CNAME='y|n'
export CTX_EASYINSTALL_DNS='<ip-address-of-dns>'
export CTX_EASYINSTALL_HOSTNAME='<host-name>'
export CTX_EASYINSTALL_NTPS='<address-of-ntps>'
export CTX_EASYINSTALL_REALM='<realm-name>'
export CTX_EASYINSTALL_FQDN='<ad-fqdn-name>'
export CTX_EASYINSTALL_USERNAME='<domain-user-name>'
export CTX_EASYINSTALL_PASSWORD='<password>'
export CTX_EASYINSTALL_NETBIOS_DOMAIN='<netbios-domain>'
export CTX_EASYINSTALL_OU='<organization-unit>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->
Cuando ejecute el comando sudo, escriba la opción -E para pasar las variables de entorno existentes al nuevo shell que se crea. Se recomienda crear un archivo de script shell a partir de los comandos anteriores con #!/bin/bash en la primera línea.
También puede especificar todas las variables mediante un solo comando.
Para configurar las variables de entorno en ejecución del VDA (las que comienzan por CTX_XDL_), puede ejecutar ctxinstall.sh -s (tenga en cuenta que la letra s aparece aquí en minúscula).
Interfaz gráfica (GUI)
Puede usar Easy Install a través de una GUI. Ejecute el comando /opt/Citrix/VDA/bin/easyinstall en el entorno de escritorio del VDA y, a continuación, siga las instrucciones de la GUI de Easy Install.
La GUI de Easy Install le guía a través de estas operaciones:
- Comprobar el entorno del sistema
- Instalar dependencias
- Unir el VDA a un dominio específico
- Configurar el entorno de ejecución
Sugerencia:
Haga clic en Save para guardar los parámetros de las variables en un archivo local en la ruta que especifique. Haga clic en Load para cargar los parámetros de las variables desde el archivo que especifique. Para obtener información sobre la configuración de variables de MCS, consulte el Paso 3: Prepare una imagen maestra.
Paso 9: Ejecute XDPing
Ejecute sudo /opt/Citrix/VDA/bin/xdping
para comprobar la presencia de problemas de configuración comunes en un entorno Linux VDA. Para obtener más información, consulte XDPing.
Paso 10: Ejecute Linux VDA
Iniciar Linux VDA:
Para iniciar los servicios de Linux VDA:
sudo systemctl start ctxhdx.service
sudo systemctl start ctxvda.service
<!--NeedCopy-->
Detener Linux VDA:
Para detener los servicios de Linux VDA:
sudo systemctl stop ctxvda.service
sudo systemctl stop ctxhdx.service
<!--NeedCopy-->
Nota:
Antes de detener los servicios ctxvda y ctxhdx, ejecute el comando systemctl stop ctxmonitord para detener el demonio del servicio de supervisión. De lo contrario, el demonio del servicio de supervisión reinicia los servicios que ha detenido.
Reiniciar Linux VDA:
Para reiniciar los servicios de Linux VDA:
sudo systemctl stop ctxvda.service
sudo systemctl restart ctxhdx.service
sudo systemctl start ctxvda.service
<!--NeedCopy-->
Comprobar el estado de Linux VDA:
Para comprobar el estado de ejecución de los servicios de Linux VDA:
sudo systemctl status ctxvda.service
sudo systemctl status ctxhdx.service
<!--NeedCopy-->
Paso 11: Cree catálogos de máquinas
El proceso de creación de catálogos de máquinas y de incorporación de máquinas Linux es similar al proceso habitual de VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear catálogos de máquinas y Administrar catálogos de máquinas.
Existen restricciones que diferencian el proceso de creación de catálogos de máquinas con VDA para Windows del mismo proceso con VDA para Linux:
- Para el sistema operativo, seleccione:
- La opción SO multisesión para un modelo de entrega de escritorios compartidos alojados.
- La opción SO de sesión única para un modelo de entrega de escritorios VDI dedicados.
- No mezcle máquinas con agentes VDA para Windows y Linux en el mismo catálogo.
Nota:
Las primeras versiones de Citrix Studio no admitían el concepto de “SO Linux”. Sin embargo, seleccionar la opción SO de servidor Windows o SO de servidor implica un modelo equivalente de entrega de escritorios compartidos alojados. Seleccionar la opción SO de escritorio Windows o SO de escritorio implica un modelo de entrega de un usuario por máquina.
Sugerencia:
Si quita una máquina y luego la vuelve a unir al dominio de Active Directory, esa máquina se debe quitar y volver a agregar al catálogo de máquinas.
Paso 12: Cree grupos de entrega
El proceso de creación de un grupo de entrega y de incorporación de catálogos de máquinas con agentes VDA para Linux es muy similar al proceso de máquinas con agentes VDA para Windows. Para ver una descripción detallada sobre cómo completar estas tareas, consulte Crear grupos de entrega.
Se aplican las siguientes restricciones para crear grupos de entrega que contengan catálogos de máquinas con Linux VDA:
- Los grupos y usuarios de AD que seleccione deben estar correctamente configurados para poder iniciar sesión en las máquinas con VDA para Linux.
- No permita que usuarios no autenticados (anónimos) inicien sesión.
- No mezcle el grupo de entrega con catálogos de máquinas que contienen máquinas Windows.
Importante:
Se admite la publicación de aplicaciones con Linux VDA 1.4 y versiones posteriores. Linux VDA no admite la entrega de escritorios ni aplicaciones a la misma máquina.
Para obtener información sobre cómo crear catálogos de máquinas y grupos de entrega, consulte Citrix Virtual Apps and Desktops 7 2402 LTSR.
Paso 13: Actualice la versión de Linux VDA (optativo)
Linux VDA admite las actualizaciones desde la versión más reciente. Por ejemplo, puede actualizar Linux VDA de la versión 2308 a 2311 y de 1912 LTSR a 2203 LTSR.
Para RHEL 7 y CentOS 7:
sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
<!--NeedCopy-->
Para RHEL 8 y Rocky Linux 8:
sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
<!--NeedCopy-->
Para RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0:
Nota:
Antes de actualizar el Linux VDA en RHEL 9.3/9.2/9.0 y Rocky Linux 9.3/9.2/9.0, actualice el paquete libsepol a la versión 3.4 o posterior.
sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
<!--NeedCopy-->
Para SUSE:
sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
<!--NeedCopy-->
Para Ubuntu 20.04:
sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy-->
Para Ubuntu 22.04:
sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
<!--NeedCopy-->
Solución de problemas
Use la información de esta sección para solucionar los problemas que puedan surgir en el uso de la función Easy Install.
Falla el proceso de unirse a un dominio mediante SSSD
Puede producirse un error al intentar unirse a un dominio, con un resultado parecido al siguiente (verifique los registros para la impresión en pantalla):
Step 6: join Domain!Enter ctxadmin's password:Failed to join domain: failed to lookup DC info for domain 'CITRIXLAB.LOCAL' over rpc: The network name cannot be found
/var/log/xdl/vda.log:
2016-11-04 02:11:52.317 [INFO ] - The Citrix Desktop Service successfully obtained the following list of 1 delivery controller(s) with which to register: 'CTXDDC.citrixlab.local (10.158.139.214)'.
2016-11-04 02:11:52.362 [ERROR] - RegistrationManager.AttemptRegistrationWithSingleDdc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar. Error: General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))
2016-11-04 02:11:52.362 [ERROR] - The Citrix Desktop Service cannot connect to the delivery controller 'http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar' (IP Address '10.158.139.214')
Check the following:- The system clock is in sync between this machine and the delivery controller.
- The Active Directory provider (e.g. winbind daemon) service is running and correctly configured.
- Kerberos is correctly configured on this machine.
If the problem persists, please refer to Citrix Knowledge Base article CTX117248 for further information.
Error Details:
Exception 'General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))' of type 'class javax.xml.ws.soap.SOAPFaultException'.
2016-11-04 02:11:52.362 [INFO ] - RegistrationManager.AttemptRegistrationWithSingleDdc: The current time for this VDA is Fri Nov 04 02:11:52 EDT 2016.
Ensure that the system clock is in sync between this machine and the delivery controller.
Verify the NTP daemon is running on this machine and is correctly configured.
2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false
2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes.
<!--NeedCopy-->
/var/log/messages:
Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database
Para solucionar este problema:
- Ejecute el comando
rm -f /etc/krb5.keytab
. - Ejecute el comando
net ads leave $REALM -U $domain-administrator
. - Elimine el catálogo de máquinas y el grupo de entrega en el Delivery Controller.
- Ejecute /opt/Citrix/VDA/sbin/ctxinstall.sh.
- Cree el catálogo de máquinas y el grupo de entrega en el Delivery Controller.
Las sesiones de escritorio en Ubuntu muestran una pantalla gris
Este problema ocurre cuando se inicia una sesión, que luego se bloquea en un escritorio vacío. Además, la consola de la máquina también muestra una pantalla en gris cuando usted inicia sesión con una cuenta de usuario local.
Para solucionar este problema:
- Ejecute el comando
sudo apt-get update
. - Ejecute el comando
sudo apt-get install unity lightdm
. - Agregue la siguiente línea a
/etc/lightdm/lightdm.conf
:
greeter-show-manual-login=true
No se pueden iniciar sesiones de escritorio en Ubuntu porque falta el directorio home
/var/log/xdl/hdx.log:
2016-11-02 13:21:19.015 <P22492:S1> citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2)
2016-11-02 13:21:19.017 <P22227> citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin.
2016-11-02 13:21:19.023 <P22492:S1> citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.
2016-11-02 13:21:59.217 <P22449:S1> citrix-ctxgfx: main: Exiting normally.
<!--NeedCopy-->
Sugerencia:
La causa raíz de este problema es que el directorio home no se crea para el administrador de dominio.
Para solucionar este problema:
-
En una línea de comandos, escriba pam-auth-update.
-
En el cuadro de diálogo resultante, compruebe si Create home directory on login está seleccionado.
La sesión no se inicia o finaliza rápidamente con el error dbus
/var/log/messages (para RHEL o CentOS):
Oct 27 04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin.
Oct 27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0
Oct 27 04:17:18 CentOS7 gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)#012aborting...
Oct 27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)
Oct 27 04:17:18 CentOS7 gnome-session: aborting...
Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]: Exiting normally.
Oct 27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin.
<!--NeedCopy-->
O bien, para distribuciones de Ubuntu, use los registros de /var/log/syslog:
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] pid.c: Stale PID file, overwriting.
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). Aborting.
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [ [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]
Nov 3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon already running.Nov 3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: Exiting normally
<!--NeedCopy-->
Algunos grupos o módulos no tienen efecto hasta que se reinicia la máquina. Cuando aparecen mensajes de error de dbus en los registros, se recomienda reiniciar el sistema e intentarlo de nuevo.
SELinux impide que SSHD acceda al directorio particular (home)
El usuario puede lanzar una sesión, pero no puede iniciar sesión.
/var/log/xdl/ctxinstall.log:
Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81
Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.
***** Plugin catchall_boolean (89.3 confidence) suggests ******************
If you want to allow polyinstantiation to enabled
Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.
You can read 'None' man page for more details.
Do
setsebool -P polyinstantiation_enabled 1
***** Plugin catchall (11.6 confidence) suggests **************************
If you believe that sshd should be allowed setattr access on the root directory by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep sshd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
<!--NeedCopy-->
Para solucionar este problema:
-
Inhabilite SELinux cambiando lo siguiente en /etc/selinux/config
SELINUX=disabled
-
Reinicie el VDA.
En este artículo
- Paso 1: Prepare la información de configuración y la máquina Linux
- Paso 2: Prepare el hipervisor
- Paso 3: Instale .NET
- Paso 4: Descargue el paquete de Linux VDA
- Paso 5: Instale el paquete de Linux VDA
- Paso 6: Instale controladores NVIDIA GRID
- Paso 7: Especifique una base de datos que se utilizará
- Paso 8: Ejecute Easy Install para configurar el entorno y el VDA para completar la instalación
- Paso 9: Ejecute XDPing
- Paso 10: Ejecute Linux VDA
- Paso 11: Cree catálogos de máquinas
- Paso 12: Cree grupos de entrega
- Paso 13: Actualice la versión de Linux VDA (optativo)
-
Solución de problemas
- Falla el proceso de unirse a un dominio mediante SSSD
- Las sesiones de escritorio en Ubuntu muestran una pantalla gris
- No se pueden iniciar sesiones de escritorio en Ubuntu porque falta el directorio home
- La sesión no se inicia o finaliza rápidamente con el error dbus
- SELinux impide que SSHD acceda al directorio particular (home)