Acceso remoto a máquinas virtuales con GPU con Citrix

Esta guía detalla los pasos que debe seguir para prepararse para el acceso remoto a escritorios virtuales utilizando la tecnología que ofrece Citrix.

Será útil para aquellos que recientemente se hayan familiarizado con la tecnología de virtualización de escritorio, ya que es una colección de comandos útiles reunidos a partir de ~ 10 manuales, muchos de los cuales están disponibles en los sitios de Citrix, Nvidia, Microsoft, después de la autorización.

Esta implementación contiene los pasos para preparar el acceso remoto a máquinas virtuales (VM) con aceleradores gráficos Nvidia Tesla M60 y el sistema operativo Centos 7.

Vamos a empezar.

Preparación de un hipervisor para alojar máquinas virtuales.


¿Cómo descargar e instalar XenServer 7.4?
¿Cómo agregar XenServer a Citrix XenCenter?
¿Cómo descargar e instalar el controlador Nvidia?
¿Cómo cambiar el modo Nvidia Tesla M60?
¿Cómo montar el almacenamiento?


XenServer 7.4


El enlace de descarga de XenServer 7.4 está disponible después de la autorización en el sitio web de Citrix .



Instalemos XenServer.iso en un servidor con 4x NVIDIA Tesla M60 de forma regular. En mi caso, iso se monta a través de IPMI. Para los servidores Dell, el BMC se administra a través de IDRAC. Los pasos de instalación son casi idénticos a la instalación de sistemas operativos similares a Linux.

Mi dirección de GPU XenServer c es 192.168.1.100

Instalar XenCenter.msi en la computadora local desde la cual administraremos hipervisores y máquinas virtuales. Agregue un servidor con una GPU y XenServer haciendo clic en la pestaña "Servidor", luego "Agregar". Ingrese la raíz de nombre de usuario y contraseña especificada durante la instalación de XenServer.



En XenCenter, después de hacer clic en el nombre del hipervisor agregado, la pestaña Consola estará disponible. En el menú, seleccione "Configuración de servicio remoto" y active la autorización SSH - "Activar / Desactivar Shell remoto".

Conductor de Nvidia


Daré rienda suelta a las emociones y diré que durante todo el tiempo que trabajé con vGPU nunca he visitado el sitio nvid.nvidia.com en el primer intento. Si la autorización no funciona, entonces recomiendo Internet Explorer.

Descargue zip desde vGPU, así como GPUMode Change Utility:

NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip
NVIDIA-gpumodeswitch-2020-01.zip



Seguimos las versiones. El nombre del archivo descargado muestra la versión de los controladores NVIDIA adecuados que se pueden instalar en máquinas virtuales en el futuro. En mi caso, es 390.72.

Lanza zip-s en XenServer y desempaqueta.

Cambie el modo GPU e instale el controlador vGPU

$ cd NVIDIA-gpumodeswitch-2020-01
$ gpumodeswitch --listgpumodes
$ gpumodeswitch --gpumode graphics
$ cd ../NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81
$ yum install NVIDIA-vGPU-xenserver-7.4-390.72.x86_64.rpm
$ reboot



Montaje de almacenamiento


Configure un directorio compartido usando NFS en cualquier computadora en la red.

$ yum install epel-release
$ yum install nfs-utils libnfs-utils
$ systemctl enable rpcbind
$ systemctl enable nfs-server
$ systemctl enable nfs-lock
$ systemctl enable nfs-idmap
$ systemctl start rpcbind
$ systemctl start nfs-server
$ systemctl start nfs-lock
$ systemctl start nfs-idmap
$ firewall-cmd --permanent --zone=public --add-service=nfs
$ firewall-cmd --permanent --zone=public --add-service=mountd
$ firewall-cmd --permanent --zone=public --add-service=rpc-bind
$ firewall-cmd --reload
$ mkdir -p /nfs/store1
$ chmod -R 777 /nfs/store1
$ touch /nfs/store1/forcheck
$ cat /etc/exports
  ...
  /nfs/store1 192.168.1.0/24(rw,async,crossmnt,no_root_squash,no_all_squash,no_subtree_check)
$ systemctl restart nfs-server

En XenCenter, seleccione XenServer y seleccione "Nuevo SR" en la pestaña "Almacenamiento". Especifique el tipo de almacenamiento: NFS ISO. La ruta debe apuntar al directorio compartido NFS.

Imagen maestra de Citrix basada en Centos 7


¿Cómo crear una máquina virtual con Centos 7?

¿Cómo preparar una máquina virtual para crear un directorio?


La imagen de Centos 7



Con XenCenter, crearemos una máquina virtual con una GPU. En la pestaña "VM", haga clic en "Nueva VM".



Seleccionamos los parámetros necesarios:

plantilla VM - Otros medios de instalación
Nombre - plantilla
Instalar desde la biblioteca ISO - Centos 7 ( descarga ), seleccione del almacenamiento ISO NFS montado.
Número de vCPU - 4
Topología - 1 socket con 4 núcleos por socket
Memoria -
Tipo de GPU de 30 Gb - GRID M60-4Q
Use este disco virtual -
Red de 80 Gb

Después de la creación, la máquina virtual aparecerá en la lista vertical a la izquierda. Haga clic en él y vaya a la pestaña "Consola". Esperaremos a que se cargue el instalador de Centos 7 y completaremos los pasos necesarios para instalar el sistema operativo con el shell GNOME.

Preparación de la imagen


Me llevó mucho tiempo preparar la imagen con Centos 7. Esto dio como resultado un conjunto de scripts que facilita la configuración inicial de Linux y le permite crear un catálogo de máquinas virtuales utilizando Citrix Machine Creation Services (MCS).

El servidor DHCP instalado en ws-ad asignó la dirección IP 192.168.1.129 a la nueva máquina virtual.

Los siguientes son los ajustes básicos.

$ hostnamectl set-hostname template
$ yum install -y epel-release
$ yum install -y lsb mc gcc
$ firewall-cmd --permanent --zone=dmz --remove-service=ssh
$ firewall-cmd --permanent --zone=external --remove-service=ssh
$ firewall-cmd --permanent --zone=home --remove-service=ssh
$ firewall-cmd --permanent --zone=home --remove-service=mdns
$ firewall-cmd --permanent --zone=home --remove-service=samba-client
$ firewall-cmd --permanent --zone=home --remove-service=dhcpv6-client
$ firewall-cmd --permanent --zone=internal --remove-service=dhcpv6-client
$ firewall-cmd --permanent --zone=internal --remove-service=samba-client
$ firewall-cmd --permanent --zone=internal --remove-service=mdns
$ firewall-cmd --permanent --zone=internal --remove-service=ssh
$ firewall-cmd --permanent --zone=public --remove-service=ssh
$ firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client
$ firewall-cmd --permanent --zone=work --remove-service=dhcpv6-client
$ firewall-cmd --permanent --zone=work --remove-service=ssh
$ firewall-cmd --permanent --zone=public --add-service=ssh
$ firewall-cmd --complete-reload

En XenCenter, en la pestaña "Consola", monte guest-tools.iso en la unidad de DVD de la máquina virtual e instale XenTools para Linux.

$ mount /dev/cdrom /mnt
$ /mnt/Linux/install.sh
$ reboot

Al configurar XenServer, utilizamos el archivo NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip descargado del sitio web de NVIDIA, que, además del controlador NVIDIA para XenServer, contiene el controlador NVIDIA que necesitamos para los clientes vGPU. Descargue e instálelo en la VM.

$ cat /etc/default/grub
  GRUB_TIMEOUT=5
  GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  GRUB_DEFAULT=saved
  GRUB_DISABLE_SUBMENU=true
  GRUB_TERMINAL_OUTPUT="console"
  GRUB_CMDLINE_LINUX="rhgb quiet modprobe.blacklist=nouveau"
  GRUB_DISABLE_RECOVERY="true"
$ grub2-mkconfig -o /boot/grub2/grub.cfg
$ wget http://vault.centos.org/7.6.1810/os/x86_64/Packages/kernel-devel-3.10.0-957.el7.x86_64.rpm
$ yum install kernel-devel-3.10.0-957.el7.x86_64.rpm
$ reboot
$ init 3
$ NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81/NVIDIA-Linux-x86_64-390.75-grid.run
$ cat /etc/nvidia/gridd.conf
  ServerAddress=192.168.1.111
  ServerPort=7070
  FeatureType=1
$ reboot

Descargue Linux Virtual Delivery Agent 1811 (VDA) para Centos 7. El enlace de descarga para Linux VDA está disponible después de la autorización en el sitio web de Citrix .

$ yum install -y LinuxVDA-1811.el7_x.rpm
$ cat /var/xdl/mcs/mcs.conf
  #!/bin/bash
  dns1=192.168.1.110
  NTP_SERVER=some.ntp.ru
  AD_INTEGRATION=winbind
  SUPPORT_DDC_AS_CNAME=N
  VDA_PORT=80
  REGISTER_SERVICE=Y
  ADD_FIREWALL_RULES=Y
  HDX_3D_PRO=Y
  VDI_MODE=Y
  SITE_NAME=domain.ru
  LDAP_LIST=ws-ad.domain.ru
  SEARCH_BASE=DC=domain,DC=ru
  START_SERVICE=Y
$ /opt/Citrix/VDA/sbin/deploymcs.sh
$ echo "exclude=kernel* xorg*" >> /etc/yum.conf

En Citrix Studio, cree el catálogo de máquinas y el grupo de entrega. Antes de esto, debe instalar y configurar Windows Server.

Servidor Windows con controlador de dominio


¿Cómo descargar e instalar Windows Server 2016?
¿Cómo instalar componentes de Windows Server?
¿Cómo configurar Active Directory, DHCP y DNS?


Windows server 2016


Como una máquina virtual (VM) con Windows Server no necesita una GPU, utilizaremos un servidor sin GPU como hipervisor. Por analogía con la descripción anterior, instale otro XenServer para alojar máquinas virtuales del sistema.

Después de eso, cree una máquina virtual para Windows Server con Active Directory.

Descargue Windows Server 2016 del sitio web de Microsoft . Es mejor seguir el enlace con Internet Explorer.



Usando XenCenter, crearemos una máquina virtual. En la pestaña "VM", haga clic en "Nueva VM".



Seleccionamos los parámetros necesarios:

plantilla VM -
Nombre de Windows Server 2016 (64 bits) - ws-ad.domain.ru
Instalar desde la biblioteca ISO - WindowsServer2016.iso, seleccionar del almacenamiento ISO NFS montado.
Número de vCPU: 4
Topología: 1 zócalo con 4 núcleos por zócalo
Memoria:
tipo GPU de 20 Gb : ninguno
Utilice este disco virtual:
red de 100 Gb

Después de la creación, la máquina virtual aparecerá en la lista vertical a la izquierda. Haga clic en él y vaya a la pestaña "Consola". Espere a que se cargue el instalador de Windows Server y complete los pasos necesarios para instalar el sistema operativo.

Instalar en XenTools VM. Haga clic con el botón derecho en VM, luego "Instalar Citrix VM Tools ...". Después de eso, se montará la imagen que necesita para ejecutar e instalar XenTools. Al final de la instalación, será necesario reiniciar la VM.

Configure el adaptador de red:

dirección IP - 192.168.1.110
Máscara - 255.255.255.0
Puerta de enlace - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Si Windows Server no está activado, actívelo. La clave se puede tomar en el mismo lugar donde se descargó la imagen.

[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Configura el nombre de la computadora. En mi caso, esto es ws-ad.

Instalación de componentes


En el administrador del servidor, seleccione "Agregar roles y características". Tenga en cuenta la instalación del servidor DHCP, el servidor DNC y los Servicios de dominio de Active Directory. Marque la casilla "Recargar automáticamente".



Configurar Active Directoy


Después de reiniciar la VM, haga clic en "Elevar este servidor al nivel del controlador de dominio" y agregue un nuevo bosque domain.ru.

Configuración del servidor DHCP


En el panel superior del administrador del servidor, haga clic en el signo de exclamación para guardar los cambios al instalar el servidor DHCP.

Pasemos a la configuración del servidor DHCP.



Crear una nueva área 192.168.1.120-130. No cambiamos el resto. Seleccione "Configurar la configuración de DHCP ahora" e ingrese la dirección IP ws-ad (192.168.1.110) como puerta de enlace y DNS, que se especificarán en la configuración de los adaptadores de red de las máquinas virtuales desde el directorio.

Configuración del servidor DNS


Pasemos a la configuración del servidor DNS.



Creemos una nueva zona de visualización directa: zona primaria, para todos los servidores DNS en el dominio domain.ru. No cambies nada más.

Cree una nueva zona de búsqueda inversa seleccionando las mismas opciones.

En las propiedades del servidor DNS, en la pestaña "Avanzado", marque la casilla de verificación "Desactivar recursividad".

Crear un usuario de prueba


Vayamos al "Centro administrativo de Active Directory"



En la sección "Usuarios" a la derecha, haga clic en "Crear". Ingrese un nombre, por ejemplo prueba, y haga clic en Aceptar a continuación.



Seleccionaremos el usuario creado y seleccionaremos "Restablecer contraseña" en el menú vertical a la derecha. Deje la marca de verificación "Requerir cambio de contraseña la próxima vez que inicie sesión en el sistema".

Servidor de Windows con Citrix Delivery Controller


¿Cómo descargar e instalar Windows Server 2016?
¿Cómo descargar e instalar Citrix Delivery Controller?
¿Cómo instalar y configurar Citrix License Manager?
¿Cómo instalar y configurar NVIDIA License Manager?


Windows server 2016


Como una máquina virtual (VM) con Windows Server no necesita una GPU, utilizaremos un servidor sin GPU como hipervisor.

Descargue Windows Server 2016 del sitio web de Microsoft . Es mejor seguir el enlace con Internet Explorer.



Usando XenCenter, crearemos una máquina virtual. En la pestaña "VM", haga clic en "Nueva VM".



Seleccione los parámetros necesarios:

plantilla VM - Windows Server 2016 (64 bits)
Nombre - ws-dc
Instalar desde la biblioteca ISO - WindowsServer2016.iso, seleccione del almacenamiento ISO NFS montado.
Número de vCPU - 4
Topología - 1 socket con 4 núcleos por socket
Memoria -
Tipo de GPU de 20 Gb - ninguno
Use este disco virtual -
Red de 100 Gb

Después de la creación, la máquina virtual aparecerá en la lista vertical a la izquierda. Haga clic en él y vaya a la pestaña "Consola". Esperaremos a que se cargue el instalador de Windows Server y completaremos los pasos necesarios para instalar el sistema operativo.

Instalar en XenTools VM. Haga clic con el botón derecho en VM, luego "Instalar Citrix VM Tools ...". Después de eso, se montará la imagen que necesita para ejecutar e instalar XenTools. Al final de la instalación, será necesario reiniciar la VM.

Configure el adaptador de red:

dirección IP - 192.168.1.111
Máscara - 255.255.255.0
Puerta de enlace - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Si Windows Server no está activado, lo activaremos. La clave se puede tomar en el mismo lugar donde se descargó la imagen.

[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Configura el nombre de la computadora. En mi caso, esto es ws-dc.

Agregue la máquina virtual al dominio domen.ru, reinicie e inicie sesión en la cuenta de administrador de dominio DOMEN \ Administrador.

Controlador de entrega Citrix


Descargue Citrix Virtual Apps and Desktops 1811 en ws-dc.domain.com. El enlace de descarga de Citrix Virtual Apps and Desktops está disponible después de iniciar sesión en el sitio web de Citrix .



Montar la iso descargada y ejecutar. Elija Citrix Virtual Apps and Desktops 7. Luego, haga clic en "Comenzar". Puede ser necesario reiniciar.



En mi caso, es suficiente seleccionar los siguientes componentes para la instalación:

Delivery Controller
Studio
License Server
StoreFront

No cambie nada más y haga clic en "Instalar". Será necesario reiniciar más de una vez, después de lo cual la instalación continuará.

Tan pronto como se complete la instalación, se iniciará Citrix Studio, el entorno de administración de granjas de Citrix.



Configuración del sitio de Citrix


Elija la primera sección de los tres: configuración del sitio. Al configurar, especifique el Nombre del sitio - dominio.

En la sección "Conexión", especificamos los datos para conectar el hipervisor con la GPU:

Dirección de conexión - 192.168.1.100
Nombre de usuario -
Contraseña raíz - su contraseña
Nombre de conexión - Administración de la

tienda m60 - Use el almacenamiento local para el hipervisor.

Nombre de estos recursos: m60.

Seleccionar redes.

Seleccione un tipo y grupo de GPU: GRID M60-4Q.

Ajuste de catálogos de máquinas Citrix


Al configurar la segunda sección - Catálogos de máquinas, seleccione SO de sesión única (SO de escritorio).

Imagen maestra: seleccionaremos la imagen de la máquina virtual preparada y la versión de Citrix Virtual Apps and Desktops - 1811. Seleccionaremos el

número de máquinas virtuales en el directorio, por ejemplo 4.

Indicaremos el esquema por el cual se nombrarán las máquinas virtuales, en mi caso este es el escritorio ##. En este caso, se crearán 4 máquinas virtuales con los nombres desktop01-04.

Nombre del catálogo de la máquina: m60.

Descripción del catálogo de máquinas - m60.

Después de crear el Catálogo de máquinas con cuatro máquinas virtuales, se pueden encontrar en la lista vertical de XenCenter a la izquierda.

Citrix Delivery Group


La tercera sección comienza seleccionando el número de máquinas virtuales a las que se debe otorgar acceso. Voy a indicar los cuatro.

En la sección "Escritorios", haga clic en "Agregar" para agregar el grupo de VM al que proporcionaremos acceso. Nombre para mostrar: m60.

Nombre del grupo de entrega: m60.

Después de configurar las tres secciones principales, la ventana principal de Citrix Studio se verá así



Administrador de licencias de Citrix


Descargue el archivo de licencia a través de su cuenta personal en el sitio web de Citrix .

En la lista vertical de la izquierda, seleccione Todas las herramientas de licencia (Legacy). Vaya a la pestaña "Activar y asignar licencias". Seleccione las licencias de Citrix VDA y haga clic en Continuar. Especifique el nombre de nuestro Delivery Controllera - ws-dc.domain.ru y el número de licencias - 4. Haga clic en "Continuar". Descargue el archivo de licencia generado para ws-dc.domain.ru.



En la lista vertical izquierda de Citrix Studio, seleccione la sección "Licencias". En la lista vertical derecha, haga clic en "License Management Console". En la ventana del navegador que se abre, ingrese los datos para la autorización del usuario de dominio DOMEN \ Administrador.

En Citrix Licensing Manager, vaya a la pestaña "Instalar licencia". Para agregar un archivo de licencia, seleccione "Usar archivo de licencia descargado".



La instalación de componentes Citrix implica el uso de varias máquinas virtuales, un componente, una VM. En mi caso, todos los servicios del sistema Citrix operan dentro de la misma VM. En este sentido, noto un error, cuya corrección fue especialmente difícil para mí.

Si después de reiniciar ws-dc hay problemas de diferente naturaleza, le recomiendo que primero verifique los servicios en ejecución. Aquí hay una lista de los servicios de Citrix que deberían iniciarse automáticamente después de un reinicio de VM:

SQL Server (SQLEXPRESS)
Citrix Configuration Service
Citrix Delegated Administration Service
Citrix Analytics
Citrix Broker Service
Citrix Configuration Logging Service
Citrix AD Identity Service
Citrix Host Service
Citrix App Library
Citrix Machine Creation Service
Citrix Monitor Service
Citrix Storefront Service
Citrix Trust Service
Citrix Environment Test Service
Citrix Orchestration Service
FlexNet License Server -nvidia

Encontré un problema que ocurre al instalar varios servicios de Citrix en una sola VM. Después de reiniciar, no se inician todos los servicios. Uno por uno para lanzar toda la cadena fue la pereza. La solución se buscó en Google, así que la traigo aquí: se deben cambiar dos parámetros en el registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Name : ServicesPipeTimeout
Value :240000

Name : WaitToKillServiceTimeout
Value : 20000

Administrador de licencias de nvidia


Descargue NVIDIA License Manager para Windows a través de su cuenta personal en nvid.nvidia.com . Es mejor pasar por Internet Explorer.



Instálelo en ws-dc. Para hacer esto, primero debe instalar JAVA y agregar la variable de entorno JAVA_HOME. Después de eso, puede ejecutar setup.exe para instalar NVIDIA License Manager. Creemos



un servidor, generemos y descarguemos el archivo de licencia en su cuenta personal en el sitio nvid.nvidia.com . Transfieramos el archivo de licencia para ws-dc.



Con un navegador, iniciamos sesión en la interfaz web del administrador de licencias de NVIDIA, disponible en localhost : 8080 / licserver y agregamos un archivo de licencia.



Las sesiones activas que usan vGPU se pueden ver en la sección Clientes con licencia.

Acceso remoto al catálogo de máquinas Citrix



¿Cómo instalar Citrix Receiver?
¿Cómo conectarse a un escritorio virtual?


En la computadora que funciona, abra un navegador, en mi caso es Chrome, y vaya a la dirección de la interfaz web de Citrix StoreWeb

http://192.168.1.111/Citrix/StoreWeb

Si Citrix Recever aún no está instalado, haga clic en "Descubrir Receiver".



Leemos atentamente el acuerdo de licencia, descargamos e instalamos Citrix Receiver.



Después de la instalación, vuelva al navegador y haga clic en "Continuar".



A continuación, se abre una notificación en el navegador Chrome, haga clic en "Abrir la aplicación Citrix Receiver Launcher" y luego "Detectar de nuevo" o "Ya instalado".



Para la primera conexión, utilizaremos los datos de la prueba de prueba del usuario. Cambie la contraseña temporal a una permanente.



Después de la autorización, vaya a la pestaña "Aplicaciones" y seleccione el



directorio "M60". Descargue el archivo propuesto con la extensión .ica. Después de hacer doble clic en él, se abre una ventana en Desktop Veiwer con el escritorio Centos 7


All Articles