Instalar Citrix VDA en Servidor Linux
Citrix siempre ha estado muy unida a Microsoft desde sus orígenes, y hasta hace pocas versiones, no era posible trabajar con servidores linux. Pero así como demostramos hace unos días que es posible instalar la consola de Ubuntu en nuestro Windows 10, Citrix nos ha proporcionado un agente VDA para sistemas linux.
Es más, sólo disponíamos los tar.gz, y ahora mismo disponemos de ellos y adicionalmente podemos elegir el tipo de paquete a instalar, porque ya están compilados tanto los RPM (para derivados de RedHat como Centos o Suse) y DEB (para derivados de Debian como Ubuntu)
Una gran alegría para los bolsillos de la gente, porque seguro que alguna licencia de Microsoft puedes ahorrar…y que, en mi opinión, el poder de una herramienta está en esa diversidad de gestión. Ya que citrix, sólo con Microsoft durante estos años, ha podido no encajar a todo el mundo. Ahora se abre otro mercado…
Espero que os parezca tan interesante como a mí.
Instalar Citrix VDA en Centos 7
Nos ponemos manos a la obra, así que descargamos los ficheros desde la página de Citrix. El primer servidor VDA que vamos a montar es un Centos 7, que lo haremos desde una máquina virtual en VMware. Damos por sentado que la tenéis instalada en vuestros sistemas.
De primeras sacamos datos de nuestro dominio por powershell que guardaremos como “oro en paño”:
1 |
Get-ADDomain cloudconsulting.es |
Preparamos el acceso a nuestro servidor y tendremos que copiar los ficheros descargados:
Comentar que yo he preparado mi centos con Gnome e integrado en directorio activo (esto puede dar problemas y habrá que borrarlo de Directorio Activo), que ahora en las nuevas versiones de Centos 7 es muy fácil:
Así que copiamos los ficheros por filezilla, por ejemplo:
Os dejo una tabla de compatibilidad:
También revisamos localmente que el hostname de la máquina corresponde:
1 |
hostname -f |
1 2 3 4 5 |
vi /etc/hosts 192.168.2.45 xenvdacent01.cloudconsulting.es xenvdacent01 systemctl restart systemd-hostnamed |
Añadimos el servidor de tiempos de vuestra infraestructura:
1 |
vi /etc/ntp.conf |
Añadimos
1 |
server servidordetiempos.dominio iburst |
Posteriormente reiniciamos el servicio:
1 2 |
[root@XENVDACENT01 ~]# /sbin/service ntpd restart Redirecting to /bin/systemctl restart ntpd.service |
Realizamos comprobaciones de respuestas-resolución de controlador y servidor de tiempos:
La VDA de linux tiene dependencia de Openjdk, así que se lo instalamos:
1 2 3 |
yum install java-1.7.0-openjdk export JAVA_HOME=/usr/lib/jvm/java |
Y comprobamos que se instala correctamente, sacando la versión:
1 |
java –version |
También necesita postgresql:
1 |
yum -y install postgresql-server postgresql-jdbc |
Arrancamos el servicio:
1 |
/sbin/service postgresql initdb |
Y lo preparamos para que arranque:
1 2 3 4 |
/sbin/chkconfig postgresql on /sbin/service postgresql start |
1 |
psql --version |
Si tenéis problemas volver a revisar las configuraciones y aseguraros que SELINUX está mínimo en modo permisivo.
Y con esto ya hemos preparado la máquina para realizar la instalación del RPM. A mí, por ejemplo, me ha dado unos errores de dependencias que he tenido que instalar:
1 2 3 |
rpm -ivh XenDesktopVDA-7.17.0.420-1.el7_x.x86_64.rpm yum -y install motif ImageMagick foomatic-filters |
Una vez instaladas las dependencias ya no hay errores:
Lanzamos el comando para completar la instalación:
1 |
/opt/Citrix/VDA/sbin/ctxinstall.sh |
Os dejo todo el proceso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
[root@xenvdacent01 ~]# rpm -ivh XenDesktopVDA-7.17.0.420-1.el7_x.x86_64.rpm Preparando... ################################# [100%] Actualizando / instalando... 1:XenDesktopVDA-7.17.0.420-1.el7_x ################################# [100%] Instalación completada. Ejecute uno de estos dos comandos para instalar XDL y poder usarlo: 1. Ejecute "/opt/Citrix/VDA/sbin/ctxinstall.sh" para configurar todo el entorno de ejecución desde el principio, y luego completar la instalación. 2. Ejecute "/opt/Citrix/VDA/sbin/ctxsetup.sh" para completar la instalación. [root@xenvdacent01 ~]# /opt/Citrix/VDA/sbin/ctxinstall.sh ctxinstall.sh configura el entorno de ejecución de Linux VDA, que incluye la instalación automática de los paquetes y los cambios necesarios en los archivos de configuración. [Warning]Este shell se congelará unos momentos para instalar los paquetes. Puede supervisar el progreso de la ejecución usando el comando 'tail -f /var/log/ctxinstall.log' en otro shell. ****La comprobación del sistema comienza ahora. Paso 1: La plataforma es Linux de 64 bits [Pass]. Paso 2: La versión de CentOS(7.5) no recibe respaldo [Not Pass]. Paso 3: La cantidad de repositorios disponibles es 3 [Pass]. Paso 4: Comprobar el entorno de escritorio [Pass]. Paso 5: Comprobar variables de entorno [Pass]. ****La comprobación del sistema se ha completado con Warning. ****La instalación de paquetes comienza ahora. Paso 1: Instalar paquetes comunes. (1/16) Instalando el paquete postgresql-server. (2/16) Instalando el paquete postgresql-jdbc. (3/16) Instalando el paquete redhat-lsb-core. (4/16) Instalando el paquete foomatic. (5/16) Instalando el paquete nautilus. (6/16) Instalando el paquete nautilus-open-terminal. No se instaló el paquete nautilus-open-terminal. (7/16) Instalando el paquete totem-nautilus. (8/16) Instalando el paquete authconfig-gtk. (9/16) Instalando el paquete pulseaudio. (10/16) Instalando el paquete pulseaudio-module-x11. (11/16) Instalando el paquete pulseaudio-gdm-hooks. (12/16) Instalando el paquete pulseaudio-module-bluetooth. (13/16) Instalando el paquete alsa-plugins-pulseaudio. (14/16) Instalando el paquete pciutils. (15/16) Instalando el paquete openssh. (16/16) Instalando el paquete openssh-clients. Paso 2: Instalar paquetes especiales para esta versión. (1/3) Instalando el paquete chrony. (2/3) Instalando el paquete firewalld. (3/3) Instalando el paquete foomatic-filters. Paso 3: Actualizar paquetes. (1/1) Actualizando el paquete java-1.8.0-openjdk. Paso 4: Inicializar la base de datos. Paso 5: Establecer la variable JAVA_HOME. Paso 6: Iniciar base de datos PostgreSQL. ****La instalación de paquetes se ha completado con Error. ****La configuración del sistema comienza ahora. Paso 1: Obtener respuestas del usuario. ¿Necesita configurar DNS? y|n [n] n ¿Quiere cambiar el nombre de host del Linux VDA actual (xenvdacent01)? y|n [n] Introduzca la dirección IP del servidor NTP:192.168.2.10 Introduzca el nombre de dominio: cloudconsulting Introduzca el dominio Realm del controlador de dominio: cloudconsulting.es Introduzca el nombre completo (FQDN) del controlador de dominio: cloudad01.cloudconsulting.es Seleccione el método de integración con Active Directory que quiere usar: 1: Winbind 2: SSSD 3: Centrify Seleccione una de las opciones anteriores (1-3)[1] Introduzca el usuario de dominio: runzue Estas son sus respuestas: Nombre de host de Linux VDA: xenvdacent01 Servidor NTP: 192.168.2.10 Dominio: cloudconsulting.es Domino Realm: cloudconsulting.es Nombre completo (FQDN) del controlador de dominio: cloudad01.cloudconsulting.es Método de integración de AD: winbind Usuario de dominio: runzue ¿Son correctas todas las respuestas? y|n [y] Los siguientes parámetros se usan en ctxsetup.sh. Comprobando CTX_XDL_SUPPORT_DDC_AS_CNAME... Valor no definido. Virtual Delivery Agent permite especificar un nombre de Delivery Controller usando un registro CNAME de DNS. ¿Quiere habilitar el respaldo para registros CNAME de DNS? (y/n) [n]: Comprobando CTX_XDL_DDC_LIST... Valor no definido. Virtual Delivery Agent requiere una lista de nombres de dominio completo (FQDN) de Delivery Controllers, separados por comas, para usarlos durante el registro con Delivery Controller. Suministre el nombre FQDN de, al menos, un Delivery Controller: xendesktop01.cloudconsulting.es Comprobando CTX_XDL_VDA_PORT... Valor no definido. Virtual Delivery Agent se comunica con los Delivery Controllers usando el puerto 80 de TCP/IP de manera predeterminada. Suministre el puerto TCP/IP que el servicio Virtual Delivery Agent (ctxvda) debe usar para comunicarse con un Delivery Controller [80]: Comprobando CTX_XDL_REGISTER_SERVICE... Valor no definido. Los servicios de Linux VDA pueden iniciarse durante el arranque. ¿Quiere registrar estos servicios para que se inicien durante el arranque? (y/n) [y]: Comprobando CTX_XDL_ADD_FIREWALL_RULES... Valor no definido. Los servicios de Linux VDA requieren que se permita el paso de las conexiones de red entrantes a través del firewall del sistema. ¿Quiere abrir automáticamente los puertos necesarios (predeterminados: 80, 1494, 2598 y 6001~6099) en el firewall del sistema para Linux VDA? (y/n) [y]: Comprobando CTX_XDL_HDX_3D_PRO... Valor no definido. Linux VDA respalda el uso de HDX 3D Pro, un conjunto de tecnologías de aceleración de gráficos diseñadas para optimizar la virtualización de aplicaciones que hacen un uso intensivo de gráficos. Para usar HDX 3D Pro es necesario tener instalada una tarjeta gráfica NVIDIA Grid compatible. Si se selecciona HDX 3D Pro, Virtual Delivery Agent se configurará para el modo de escritorio VDI (de sesión única). ¿Quiere habilitar HDX 3D Pro? (y/n) [n]: y Comprobando CTX_XDL_SITE_NAME... Valor no definido. Virtual Delivery Agent detecta los servidores LDAP usando DNS, mediante consultas de registros de servicios LDAP. Para limitar los resultados de la búsqueda DNS a un sitio local, especifique el nombre de un sitio DNS. Si es necesario, especifique un nombre de sitio DNS local. [<none>]: Comprobando CTX_XDL_LDAP_LIST... Valor no definido. De manera predeterminada, Virtual Delivery Agent hace una consulta DNS para detectar servidores LDAP, pero si DNS no puede suministrar registros de servicios LDAP, usted puede suministrar una lista de nombres de dominio completos (FQDN) de servidores LDAP, separados por comas, con el puerto de LDAP (por ej.: ad1.miEmpresa.com:389). Si es necesario, introduzca el nombre FQDN:puerto de, al menos, un servidor LDAP. [<none>]: Comprobando CTX_XDL_SEARCH_BASE... Valor no definido. De manera predeterminada, Virtual Delivery Agent hace consultas en LDAP usando una base de búsqueda definida con la raíz del dominio de Active Directory (por ej.: DC=mycompany,DC=com). No obstante, para mejorar el rendimiento de las búsquedas, se puede especificar otra base de búsqueda (por ej.: OU=VDI,DC=mycompany,DC=com). Si es necesario, suministre una base de búsqueda de LDAP. [<none>]: Comprobando CTX_XDL_START_SERVICE... Valor no definido. Los servicios de Linux VDA pueden iniciarse una vez completada la configuración. ¿Quiere iniciar estos servicios después de completar la configuración? (y/n) [y]: Estas son sus respuestas: Habilitar registros CNAME DNS: n Nombre completo (FQDN) del Delivery Controller: xendesktop01.cloudconsulting.es El puerto que utiliza el servicio ctxvda para comunicarse con Delivery Controller: 80 Registrar los servicios de Linux VDA para que se inicien al arrancar: y Abrir automáticamente los puertos de firewall requeridos (puertos predeterminados: 80 y 1494): y Habilitar HDX 3D Pro: y Habilitar modo de escritorio VDA (sesión única): y Especificar un nombre de sitio DNS local: <none> Nombre completo (FQDN):puerto del servidor LDAP: <none> Suministrar una base de búsquedas LDAP: <none> Iniciar los servicios de Linux VDA una vez completada la configuración: y ¿Son correctas todas las respuestas? y|n [y] Paso 2: Configurar el nombre de host. Paso 3: Configurar NTP. Paso 4: Configurar integración con AD. (1/5) Instalando el paquete samba-winbind. (2/5) Instalando el paquete samba-winbind-clients. (3/5) Instalando el paquete krb5-workstation. (4/5) Instalando el paquete authconfig. (5/5) Instalando el paquete oddjob-mkhomedir. Paso 5: Unirse al dominio. Enter runzue's password: Using short domain name -- CLOUDCONSULTING Joined 'XENVDACENT01' to dns domain 'cloudconsulting.es' Se unió correctamente al dominio. ****La configuración del sistema se ha completado. ****La verificación del sistema comienza ahora. Paso 1: Verificar la pertenencia al dominio. xenvdacent01 se unió correctamente al dominio. Paso 2: Verificar el estado de los procesos más importantes. Comprobando el estado del proceso messagebus El proceso messagebus está ejecutándose. Comprobando el estado del proceso oddjobd El proceso oddjobd está ejecutándose. Paso 3: Llamar a /opt/Citrix/VDA/sbin/ctxsetup.sh para realizar configuración avanzada. Este es el script de configuración de Citrix Linux VDA. Este script lo guiará durante la configuración de los servicios de sistema de Linux VDA. Puede volver a ejecutarlo siempre que quiera cuando necesite reconfigurar el sistema. Recopilando información... Comprobando CTX_XDL_SUPPORT_DDC_AS_CNAME... CTX_XDL_SUPPORT_DDC_AS_CNAME = 'n' Comprobando CTX_XDL_DDC_LIST... CTX_XDL_DDC_LIST = 'xendesktop01.cloudconsulting.es' Comprobando CTX_XDL_VDA_PORT... CTX_XDL_VDA_PORT = '80' Comprobando CTX_XDL_REGISTER_SERVICE... CTX_XDL_REGISTER_SERVICE = 'y' Comprobando CTX_XDL_ADD_FIREWALL_RULES... CTX_XDL_ADD_FIREWALL_RULES = 'y' Comprobando CTX_XDL_AD_INTEGRATION... CTX_XDL_AD_INTEGRATION = '1' Comprobando CTX_XDL_HDX_3D_PRO... CTX_XDL_HDX_3D_PRO = 'y' Comprobando CTX_XDL_SITE_NAME... CTX_XDL_SITE_NAME = '<none>' Comprobando CTX_XDL_LDAP_LIST... CTX_XDL_LDAP_LIST = '<none>' Comprobando CTX_XDL_SEARCH_BASE... CTX_XDL_SEARCH_BASE = '<none>' Comprobando CTX_XDL_START_SERVICE... CTX_XDL_START_SERVICE = 'y' Configurando Citrix Linux VDA... Configuración completada. Paso 4: Verificar el estado de los procesos de Linux VDA. Comprobando el estado del proceso ctxhdx El proceso ctxhdx está ejecutándose. Comprobando el estado del proceso ctxvda El proceso ctxvda está ejecutándose. ****La verificación del sistema se ha completado. Para completar la instalación, tendrá que hacer lo siguiente: 1. Configurar 'Catálogos de máquinas' y 'Grupos de entrega' en Citrix Studio para este servidor. 2. Reiniciar el servidor. ctxinstall.sh ha finalizado con Error. Consulte /var/log/ctxinstall.log para ver los detalles. |
Nos aseguramos que nuestro servidor existe tanto en directorio activo y en el DNS:
Hay algo curioso que pasa al dar de alta el servidor, genera una tarjeta virtual que también da de alta en DNS:
Ahora terminamos el proceso, creando un Grupo de Entrega y un Delivery Controller para nuestro servidor linux. El grupo de entrega tiene que ser de máquinas linux iguales. Esto recuerdo que ya no pasa con los Windows en Citrix XenDesktop 7, ya que una de las ventajas sobre las versiones anteriores, es que puedes mezclar W2016 con W2012, por ejemplo:
Tiene que ser PVS ya que MCS no está soportado. Aunque elegimos Another service or technology:
Pulsamos Next:
Añadimos la máquina:
Añadimos también usuario:
Y le damos nombre:
Para el Delivery Group, podéis publicar aplicaciones y escritorios ya desde la versión 1.4 de la VDA. Pero aún no está soportado todo en la misma máquina. En esto toca esperar.
Pulsamos Next:
Elegimos Desktop:
Restringimos los usuarios.Pulsamos Next:
Añadimos regla:
Y le damos nombre:
Y con esto ya tenemos publicado y operativo nuestro escritorio VDI:
Os dejo algunos comandos para manejar la VDA en Citrix
Start the Linux VDA
- sudo /sbin/service ctxhdx start
- sudo /sbin/service ctxvda start
Stop the Linux VDA
- sudo /sbin/service ctxvda stop
- sudo /sbin/service ctxhdx stop
Restart the Linux VDA
- sudo /sbin/service ctxvda stop
- sudo /sbin/service ctxhdx restart
- sudo /sbin/service ctxvda start
Check the Linux VDA status
- sudo /sbin/service ctxvda status
- sudo /sbin/service ctxhdx status
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?