Acesso remoto a VMs com GPU usando Citrix

Este guia detalha as etapas que você deve executar para se preparar para o acesso remoto a áreas de trabalho virtuais usando a tecnologia oferecida pela Citrix.

Será útil para aqueles que se familiarizaram recentemente com a tecnologia de virtualização de desktop, pois é uma coleção de comandos úteis montados em ~ 10 manuais, muitos dos quais estão disponíveis nos sites Citrix, Nvidia, Microsoft, após autorização.

Esta implementação contém as etapas para preparar o acesso remoto a máquinas virtuais (VMs) com os aceleradores gráficos Nvidia Tesla M60 e o sistema operacional Centos 7.

Então, vamos começar.

Preparando um Hipervisor para Hospedar Máquinas Virtuais


Como baixar e instalar o XenServer 7.4?
Como adicionar o XenServer ao Citrix XenCenter?
Como baixar e instalar o driver Nvidia?
Como mudar o modo Nvidia Tesla M60?
Como montar o armazenamento?


XenServer 7.4


O link para download do XenServer 7.4 está disponível após autorização no site da Citrix .



Vamos instalar o XenServer.iso em um servidor com 4x NVIDIA Tesla M60 de maneira regular. No meu caso, o iso é montado via IPMI. Para servidores Dell, o BMC é gerenciado através do IDRAC. As etapas de instalação são quase idênticas à instalação de sistemas operacionais semelhantes ao Linux.

O endereço da minha GPU do XenServer c é 192.168.1.100

Instale o XenCenter.msi no computador local a partir do qual gerenciaremos hipervisores e máquinas virtuais. Adicione um servidor com uma GPU e um XenServer clicando na guia "Servidor" e depois em "Adicionar". Digite o nome de usuário e a senha raiz especificados durante a instalação do XenServer.



No XenCenter, depois de clicar no nome do hipervisor adicionado, a guia Console estará disponível. No menu, selecione “Configuração de serviço remoto” e ative a autorização SSH - “Ativar / desativar o shell remoto”.

Driver Nvidia


Darei liberdade às emoções e direi que durante todo o tempo em que trabalhei com vGPU, nunca visitei o site nvid.nvidia.com na primeira tentativa. Se a autorização não funcionar, recomendo o Internet Explorer.

Faça o download do zip do vGPU, bem como do utilitário GPUMode Change:

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



Seguimos as versões. O nome do arquivo baixado mostra a versão dos drivers NVIDIA adequados que podem ser instalados em máquinas virtuais no futuro. No meu caso, é 390,72.

Jogue zip-s no XenServer e descompacte.

Mude o modo GPU e instale o driver 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



Montar armazenamento


Configure um diretório compartilhado usando o NFS em qualquer computador na rede.

$ 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

No XenCenter, selecione XenServer e selecione "New SR" na guia "Storage". Especifique o tipo de armazenamento - NFS ISO. O caminho deve apontar para o diretório compartilhado do NFS.

Imagem mestre Citrix baseada em Centos 7


Como criar uma máquina virtual com o Centos 7?

Como preparar uma máquina virtual para criar um diretório?


A imagem do Centos 7



Usando o XenCenter, criaremos uma máquina virtual com uma GPU. Na guia "VM", clique em "Nova VM".



Selecionamos os parâmetros necessários:

Modelo da VM - Outras mídias de instalação
Nome - Modelo
Instalação da biblioteca ISO - Centos 7 ( download ), selecione no armazenamento ISO NFS montado.
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória -
Tipo de GPU de 30 Gb - GRID M60-4Q
Use este disco virtual -
Rede de 80 Gb

Após a criação, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a aba "Console". Vamos aguardar o instalador do Centos 7 carregar e concluir as etapas necessárias para instalar o SO com o shell GNOME.

Preparação da imagem


Levei muito tempo para preparar a imagem com o Centos 7. Isso resultou em um conjunto de scripts que facilitam a configuração inicial do Linux e permitem criar um catálogo de máquinas virtuais usando o Citrix Machine Creation Services (MCS).

O servidor DHCP instalado no ws-ad atribuiu o endereço IP 192.168.1.129 à nova máquina virtual.

A seguir estão as configurações básicas.

$ 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

No XenCenter, na guia "Console", monte guest-tools.iso na unidade de DVD da máquina virtual e instale o XenTools for Linux.

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

Ao configurar o XenServer, usamos o arquivo NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip baixado do site da NVIDIA, que, além do driver da NVIDIA para o XenServer, contém o driver da NVIDIA necessário para os clientes vGPU. Faça o download e instale-o na 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

Faça o download do Linux Virtual Delivery Agent 1811 (VDA) para Centos 7. O link de download do Linux VDA está disponível após autorização no site da 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

No Citrix Studio, crie o grupo Machine Catalog and Delivery. Antes disso, você deve instalar e configurar o Windows Server.

Windows Server com controlador de domínio


Como baixar e instalar o Windows Server 2016?
Como instalar componentes do Windows Server?
Como configurar o Active Directory, DHCP e DNS?


Servidor Windows 2016


Como uma máquina virtual (VM) com Windows Server não precisa de uma GPU, usaremos um servidor sem uma GPU como um hypervisor. Por analogia com a descrição acima, instale outro XenServer para hospedar máquinas virtuais do sistema.

Depois disso, crie uma máquina virtual para Windows Server com Active Directory.

Baixe o Windows Server 2016 no site da Microsoft . É melhor seguir o link usando o Internet Explorer.



Usando o XenCenter, criaremos uma máquina virtual. Na guia "VM", clique em "Nova VM".



Selecionamos os parâmetros necessários:

Modelo da VM - Windows Server 2016 (64 bits)
Nome - ws-ad.domain.ru
Instale da biblioteca ISO - WindowsServer2016.iso, selecione no armazenamento ISO NFS montado.
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória -
Tipo de GPU de 20 Gb - nenhum
Use este disco virtual -
Rede de 100 Gb

Após a criação, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a aba "Console". Aguarde o instalador do Windows Server carregar e conclua as etapas necessárias para instalar o sistema operacional.

Instale na VM do XenTools. Clique com o botão direito do mouse em VM e, em seguida, em "Instalar Citrix VM Tools ...". Depois disso, a imagem que você precisa para executar e instalar o XenTools será montada. No final da instalação, será necessária uma reinicialização da VM.

Configure o adaptador de rede:

Endereço IP - 192.168.1.110
Máscara - 255.255.255.0
Gateway - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Se o Windows Server não estiver ativado, ative. A chave pode ser tirada no mesmo local em que a imagem foi baixada.

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

Configure o nome do computador. No meu caso, isso é ws-ad.

Instalação de componentes


No gerenciador do servidor, selecione "Adicionar funções e recursos". Observe a instalação do servidor DHCP, servidor DNC e serviços de domínio do Active Directory. Marque a caixa "Recarregar automaticamente".



Configurar Diretório Ativo


Após reiniciar a VM, clique em "Elevar este servidor ao nível do controlador de domínio" e adicione uma nova floresta domain.ru.

Configuração do servidor DHCP


No painel superior do gerenciador do servidor, clique no ponto de exclamação para salvar as alterações ao instalar o servidor DHCP.

Vamos seguir para as configurações do servidor DHCP.



Crie uma nova área 192.168.1.120-130. Nós não mudamos o resto. Selecione “Definir configurações do DHCP agora” e insira o endereço IP ws-ad (192.168.1.110) como gateway e DNS, que será especificado nas configurações dos adaptadores de rede das máquinas virtuais no diretório

Configuração do servidor DNS


Vamos seguir para as configurações do servidor DNS.



Vamos criar uma nova zona de visualização direta - zona primária, para todos os servidores DNS no domínio domain.ru. Não mude mais nada.

Crie uma nova zona de pesquisa inversa selecionando as mesmas opções.

Nas propriedades do servidor DNS, na guia "Avançado", marque a caixa de seleção "Desativar recursão".

Crie um usuário de teste


Vamos para o "Centro Administrativo do Active Directory"



Na seção "Usuários" à direita, clique em "Criar". Digite um nome, por exemplo, teste e clique em OK abaixo.



Vamos selecionar o usuário criado e selecionar "Redefinir senha" no menu vertical à direita. Deixe a marca de seleção "Exigir alteração de senha na próxima vez que fizer logon no sistema".

Windows Server com Citrix Delivery Controller


Como baixar e instalar o Windows Server 2016?
Como baixar e instalar o Citrix Delivery Controller?
Como instalar e configurar o Citrix License Manager?
Como instalar e configurar o NVIDIA License Manager?


Servidor Windows 2016


Como uma máquina virtual (VM) com Windows Server não precisa de uma GPU, usaremos um servidor sem uma GPU como um hypervisor.

Baixe o Windows Server 2016 no site da Microsoft . É melhor seguir o link usando o Internet Explorer.



Usando o XenCenter, criaremos uma máquina virtual. Na guia "VM", clique em "Nova VM".



Selecione os parâmetros necessários:

Modelo da VM -
Nome do Windows Server 2016 (64 bits) - ws-dc
Instale a partir da biblioteca ISO - WindowsServer2016.iso, selecione no armazenamento ISO NFS montado.
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória -
Tipo de GPU de 20 Gb - nenhum
Use este disco virtual -
Rede de 100 Gb

Após a criação, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a aba "Console". Vamos aguardar o instalador do Windows Server carregar e concluir as etapas necessárias para instalar o sistema operacional.

Instale na VM do XenTools. Clique com o botão direito do mouse em VM e, em seguida, em "Instalar Citrix VM Tools ...". Depois disso, a imagem que você precisa para executar e instalar o XenTools será montada. No final da instalação, será necessária uma reinicialização da VM.

Configure o adaptador de rede:

Endereço IP - 192.168.1.111
Máscara - 255.255.255.0
Gateway - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Se o Windows Server não estiver ativado, nós o ativaremos. A chave pode ser tirada no mesmo local em que a imagem foi baixada.

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

Configure o nome do computador. No meu caso, isso é ws-dc.

Adicione a VM ao domínio domen.ru, reinicie e faça login na conta de administrador do domínio DOMEN \ Administrator.

Controlador de entrega Citrix


Faça o download do Citrix Virtual Apps and Desktops 1811 em ws-dc.domain.com. O link de download do Citrix Virtual Apps and Desktops está disponível após o login no site da Citrix .



Monte o iso baixado e execute. Escolha Citrix Virtual Apps and Desktops 7. Em seguida, clique em "Introdução". Uma reinicialização pode ser necessária.



No meu caso, basta selecionar os seguintes componentes para instalação:

Delivery Controller
Studio
License Server
StoreFront

Não altere mais nada e clique em "Instalar". Uma reinicialização será necessária mais de uma vez, após o que a instalação continuará.

Assim que a instalação estiver concluída, o Citrix Studio, o ambiente de gerenciamento de fazenda Citrix, será iniciado.



Configuração do site Citrix


Escolha a primeira seção da configuração de três sites. Ao definir, especifique o Nome do Site - domínio.

Na seção “Conexão”, especificamos os dados para conectar o hipervisor à GPU:

Endereço da conexão - 192.168.1.100
Nome do usuário - raiz
Senha - sua senha Senha
Nome da conexão - m60

Gerenciamento de armazenamento - Use armazenamento local para o hipervisor.

Nome para esses recursos - m60.

Selecione redes.

Selecione um tipo e grupo de GPU - GRID M60-4Q.

Ajustando catálogos de máquinas Citrix


Ao configurar a segunda seção - Catálogos de máquinas, selecione SO de sessão única (SO de área de trabalho).

Imagem mestra - selecionaremos a imagem preparada da máquina virtual e a versão do Citrix Virtual Apps and Desktops - 1811. Selecionaremos o

número de máquinas virtuais no diretório, por exemplo 4.

Indicaremos o esquema pelo qual as máquinas virtuais serão nomeadas; no meu caso, essa é a área de trabalho ##. Nesse caso, serão criadas 4 VMs com os nomes desktop01-04.

Nome do catálogo de máquinas - m60.

Descrição do catálogo de máquinas - m60.

Após criar o Catálogo de Máquinas com quatro VMs, elas podem ser encontradas na lista vertical do XenCenter, à esquerda.

Citrix Delivery Group


A terceira seção começa selecionando o número de VMs às quais o acesso deve ser concedido. Vou indicar todos os quatro.

Na seção "Áreas de trabalho", clique em "Adicionar" para adicionar o grupo de VMs ao qual forneceremos acesso. Nome de exibição - m60.

Nome do grupo de entrega - m60.

Após configurar as três seções principais, a janela principal do Citrix Studio será semelhante a esta



Gerenciador de licenças Citrix


Faça o download do arquivo de licença através da sua conta pessoal no site da Citrix .

Na lista vertical à esquerda, selecione Todas as ferramentas de licenciamento (herdadas). Vá para a aba "Ativar e alocar licenças". Selecione licenças Citrix VDA e clique em Continuar. Especifique o nome do nosso Delivery Controllera - ws-dc.domain.ru e o número de licenças - 4. Clique em "Continuar". Faça o download do arquivo de licença gerado para ws-dc.domain.ru.



Na lista vertical esquerda do Citrix Studio, selecione a seção "Licenciamento". Na lista vertical direita, clique em "Console de Gerenciamento de Licenças". Na janela do navegador que é aberta, insira os dados para autorização do usuário do domínio DOMEN \ Administrator.

No Citrix Licensing Manager, vá para a guia "Instalar licença". Para adicionar um arquivo de licença, selecione "Usar arquivo de licença baixado".



A instalação dos componentes Citrix envolve o uso de várias máquinas virtuais, um componente - uma VM. No meu caso, todos os serviços do sistema Citrix operam na mesma VM. A esse respeito, noto um bug, cuja correção foi especialmente difícil para mim.

Se após a reinicialização do ws-dc houver problemas de natureza diferente, recomendamos que você verifique primeiro os serviços em execução. Aqui está uma lista de serviços Citrix que devem iniciar automaticamente após a reinicialização da 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

Encontrei um problema que ocorre ao instalar vários serviços Citrix em uma única VM. Após uma reinicialização, nem todos os serviços são iniciados. Um por um para lançar toda a cadeia foi preguiça. A solução foi pesquisada no Google, então eu a trago para cá - dois parâmetros devem ser alterados no registro:

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

Name : WaitToKillServiceTimeout
Value : 20000

Gerenciador de licenças Nvidia


Faça o download do NVIDIA License Manager para Windows através da sua conta pessoal em nvid.nvidia.com . É melhor passar pelo Internet Explorer.



Instale-o no ws-dc. Para fazer isso, primeiro você precisa instalar o JAVA e incluir a variável de ambiente JAVA_HOME. Depois disso, você pode executar o setup.exe para instalar o NVIDIA License Manager.



Vamos criar um servidor, gerar e baixar o arquivo de licença em sua conta pessoal no site nvid.nvidia.com . Vamos transferir o arquivo de licença para ws-dc.



Usando um navegador, efetuamos login na interface da web do gerenciador de licenças da NVIDIA, disponível em localhost : 8080 / licserver e adicionamos um arquivo de licença.



As sessões ativas usando vGPU podem ser visualizadas na seção Clientes Licenciados.

Acesso remoto ao catálogo de máquinas Citrix



Como instalar o Citrix Receiver?
Como se conectar a uma área de trabalho virtual?


No computador de trabalho, abra um navegador, no meu caso, é o Chrome e vá para o endereço da interface da web do Citrix StoreWeb

http://192.168.1.111/Citrix/StoreWeb

Se o Citrix Recever ainda não estiver instalado, clique em "Discover Receiver".



Lemos cuidadosamente o contrato de licença, baixamos e instalamos o Citrix Receiver.



Após a instalação, volte ao navegador e clique em "Continue". Em



seguida, uma notificação é aberta no navegador Chrome, clique em "Abrir aplicativo Citrix Receiver Launcher" e, em seguida, "Detectar novamente" ou "Já instalado".



Para a primeira conexão, usaremos os dados do teste do usuário de teste. Mude a senha temporária para uma permanente.



Após a autorização, vá para a guia "Aplicativos" e selecione o



diretório "M60" Faça o download do arquivo proposto com a extensão .ica. Após clicar duas vezes nele, uma janela é aberta no Desktop Veiwer com o Centos 7


All Articles