Este guia detalha as etapas necessárias ao preparar 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 coletados de ~ 10 manuais, muitos dos quais estão disponíveis nos sites da 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 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 alterar o modo Nvidia Tesla M60?
Como montar o armazenamento?
XenServer 7.4
Link para download
Vamos instalar o XenServer.iso em um servidor com 4x NVIDIA Tesla M60 da maneira normal. No meu caso, o iso é montado via IPMI. Para servidores Dell, o BMC é gerenciado por meio do IDRAC. As etapas de instalação são quase as mesmas da instalação de sistemas operacionais semelhantes ao Linux.
Meu endereço para XenServer com GPU é 192.168.1.100
Instale o XenCenter.msi no computador local a partir do qual gerenciaremos hipervisores e máquinas virtuais. Vamos adicionar um servidor com GPU e XenServer clicando na aba "Server" e depois em "Add". Digite o nome de usuário e a senha root, especificados durante a instalação do XenServer.
No XenCenter, após clicar no nome do hypervisor adicionado, a aba "Console" estará disponível. No menu, selecione "Remote Service Configuration" e ative a autorização SSH - "Enable / Disable Remote Shell".
Driver nvidia
Vou dar vazão às minhas emoções e dizer que durante todo o tempo que trabalho com vGPU, nunca visitei o site
Baixe o zip do vGPU, bem como o GPUMode Change Utility:
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 indica a versão dos drivers NVIDIA apropriados que podem ser instalados em máquinas virtuais no futuro. No meu caso é 390.72.
Transfira os zips para o XenServer e descompacte.
Altere 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 NFS em qualquer computador da 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 na aba "Storage", selecione "New SR". Especifique o tipo de armazenamento - NFS ISO. O caminho deve apontar para um diretório compartilhado NFS.
Citrix Master Image 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?
imagem do Centos 7
Usando o XenCenter, criaremos uma máquina virtual com uma GPU. Na guia "VM", clique em "Nova VM".
Selecione as opções necessárias:
Modelo de VM - Outras mídias de instalação
modelo de nome
Instalar da biblioteca ISO - Centos 7 (
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória - 30 GB
Tipo de GPU - GRID M60-4Q
Use este disco virtual - 80 Gb
Network
Depois de criada, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a guia "Console". Vamos aguardar o carregamento do instalador do Centos 7 e seguir os passos necessários para instalar o SO com o shell GNOME.
Preparando a Imagem
Preparar a imagem com o Centos 7 me levou muito tempo. Posteriormente, foi obtido 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 à nova máquina virtual um endereço IP de 192.168.1.129.
Abaixo 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 no drive 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 NVIDIA para XenServer, contém o driver NVIDIA necessário para clientes vGPU . Baixe 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. Link para download
$ 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
Vamos criar um catálogo de máquinas e um grupo de entrega no Citrix Studio. Antes de fazer isso, 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 os componentes do Windows Server?
Como configurar o Active Directory, DHCP e DNS?
2016 servidor Windows
Como uma máquina virtual (VM) do Windows Server não precisa de uma GPU, usaremos um servidor sem GPU como hipervisor. Por analogia com a descrição acima, vamos instalar outro XenServer para hospedar as máquinas virtuais do sistema.
Depois disso, criaremos uma máquina virtual para Windows Server com Active Directory.
Baixe o Windows Server 2016 do site
Vamos criar uma máquina virtual usando o XenCenter. Na guia "VM", clique em "Nova VM".
Selecione as opções necessárias:
Modelo de VM - Windows Server 2016 (64 bits)
Nome - ws-ad.domain.ru
Instale a partir da biblioteca ISO - WindowsServer2016.iso, selecione no armazenamento NFS ISO montado.
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória - 20 GB
Tipo de GPU - nenhum
Use este disco virtual - 100 Gb
Network
Depois de criada, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a guia "Console". Vamos aguardar o carregamento do instalador do Windows Server e executar as etapas necessárias para instalar o sistema operacional.
Instale o XenTools na VM. Clique com o botão direito do mouse na VM e, em seguida, em "Instalar Citrix VM Tools ...". Depois disso, a imagem será montada, o que você precisa para executar e instalar o XenTools. No final da instalação, você precisará reiniciar a VM.
Vamos configurar 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, nós o ativaremos. A chave pode ser obtida no mesmo local de onde a imagem foi baixada.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Vamos definir o nome do computador. No meu caso é ws-ad.
Instalando componentes
No Gerenciador do servidor, selecione "Adicionar funções e recursos". Observe o servidor DHCP, o servidor DNC e os serviços de domínio do Active Directory a serem instalados. Marque a caixa de seleção "Reiniciar automaticamente".
Configurando o Active Directory
Depois de reiniciar a VM, clique em "Elevar este servidor ao nível de um controlador de domínio" e adicione uma nova floresta domain.ru.
Configurando um servidor DHCP
No painel superior do Server Manager, clique no ponto de exclamação para salvar as alterações ao instalar o servidor DHCP.
Vamos passar para as configurações do servidor DHCP.
Vamos criar uma nova área 192.168.1.120-130. Não mudamos o resto. Selecione "Definir configurações de DHCP agora" e insira o endereço IP ws-ad (192.168.1.110) como gateway e DNS, que serão especificados nas configurações dos adaptadores de rede das máquinas virtuais do catálogo.
Configurando um servidor DNS
Vamos passar para as configurações do servidor DNS.
Vamos criar uma nova zona de pesquisa direta - zona primária, para todos os servidores DNS no domínio domain.ru. Não mudamos mais nada.
Vamos criar uma nova zona de pesquisa inversa selecionando opções semelhantes.
Nas propriedades do servidor DNS, na guia "Avançado", marque a caixa de seleção "Desativar recursão".
Criar um usuário de teste
Vamos para o "Active Directory Administration Center"
Na seção "Usuários" à direita, clique em "Criar". Digite um nome, por exemplo teste, e clique em "OK" na parte inferior.
Selecione o usuário criado e selecione "Redefinir senha" no menu vertical à direita. Deixe a caixa de seleção "Exigir alteração de senha no próximo login".
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?
2016 servidor Windows
Como uma máquina virtual (VM) do Windows Server não precisa de uma GPU, usaremos um servidor sem GPU como hipervisor.
Baixe o Windows Server 2016 do site
Vamos criar uma máquina virtual usando o XenCenter. Na guia "VM", clique em "Nova VM".
Selecione as opções necessárias:
Modelo de VM - Windows Server 2016 (64 bits)
Nome-ws-dc
Instale a partir da biblioteca ISO - WindowsServer2016.iso, selecione no armazenamento NFS ISO montado.
Número de vCPUs - 4
Topologia - 1 soquete com 4 núcleos por soquete
Memória - 20 GB
Tipo de GPU - nenhum
Use este disco virtual - 100 Gb
Network
Depois de criada, a máquina virtual aparecerá na lista vertical à esquerda. Clique nele e vá para a guia "Console". Vamos aguardar o carregamento do instalador do Windows Server e executar as etapas necessárias para instalar o sistema operacional.
Instale o XenTools na VM. Clique com o botão direito do mouse na VM e, em seguida, em "Instalar Citrix VM Tools ...". Depois disso, a imagem será montada, o que você precisa para executar e instalar o XenTools. No final da instalação, você precisará reiniciar a VM.
Vamos configurar 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 obtida no mesmo local de onde a imagem foi baixada.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Vamos definir o nome do computador. No meu caso é ws-dc.
Vamos adicionar uma VM ao domínio domen.ru, reiniciar e fazer login na conta de administrador do domínio DOMENAdministrator.
Controlador de entrega Citrix
Baixe Citrix Virtual Apps and Desktops 1811 em ws-dc.domain.ru. Link para Download
Monte a iso baixada e execute. Selecione "Citrix Virtual Apps and Desktops 7". Em seguida, clique em "Começar". Uma reinicialização pode ser necessária.
No meu caso, basta selecionar os seguintes componentes para instalação:
Controlador de entrega
Studio
Servidor de Licença
Loja
Não alteramos mais nada e clicamos em "Instalar". Uma reinicialização será necessária mais de uma vez, após a qual a instalação continuará.
Quando a instalação estiver concluída, o Citrix Studio, o Citrix Enterprise Management Environment, será iniciado.
Configurando o Citrix Site
Vamos selecionar a primeira seção das três - Configuração do site. Ao configurar, especifique o Nome do site - domínio.
Na seção "Conexão", especifique os dados para conectar um hipervisor com uma GPU:
endereço de conexão -
Nome de usuário - raiz
Senha -suasenha
Nome da conexão - m60
Gerenciamento de armazenamento - Use o armazenamento local para o hypervisor.
O nome desses recursos é m60.
selecione as redes.
Selecione um tipo e grupo de GPU - GRID M60-4Q.
Configurando 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 desktop).
Master Image - selecione a imagem preparada da máquina virtual e a versão do Citrix Virtual Apps and Desktops - 1811.
Selecione o número de máquinas virtuais no diretório, por exemplo, 4.
Especifique o esquema pelo qual as máquinas virtuais serão nomeadas, no meu caso é desktop##. Nesse caso, serão criadas 4 VMs denominadas desktop01-04.
Nome do catálogo da máquina - m60.
Descrição do Catálogo da Máquina - m60.
Depois de criar um catálogo de máquinas com quatro VMs, elas podem ser encontradas na lista vertical do XenCenter à esquerda.
Grupo de Entrega Citrix
A terceira seção começa escolhendo o número de VMs para conceder acesso. Vou listar todos os quatro.
Na seção "Desktops", clique em "Adicionar" para adicionar um grupo de VMs ao qual forneceremos acesso. Nome de exibição - m60.
Nome do grupo de entrega - m60.
Depois de configurar as três seções principais, a janela principal do Citrix Studio ficará mais ou menos assim
gerenciador de licença Citrix
Baixe o arquivo de licença através de sua conta pessoal no site
Na lista vertical à esquerda, selecione Todas as ferramentas de licenciamento (herdadas). Vamos para a guia "Ativar e alocar licenças". Selecione licenças Citrix VDA e clique em Continuar. Vamos especificar o nome do nosso controlador de entrega - ws-dc.domain.ru e o número de licenças - 4. Clique em "Continuar". Baixe o 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 "License Management Console". Na janela do navegador que se abre, insira os dados para autorização do usuário do domínio DOMENAdministrator.
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 de componentes Citrix envolve o uso de várias máquinas virtuais, um componente por VM. No meu caso, todos os serviços do sistema Citrix operam na mesma VM. A esse respeito, observarei 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, recomendo 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 diferentes serviços Citrix na mesma VM. Após a reinicialização, nem todos os serviços são iniciados. Foi com preguiça de lançar toda a cadeia uma a uma. A solução foi difícil de pesquisar no Google, então trago aqui - você deve alterar dois parâmetros no registro:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Name : ServicesPipeTimeout
Value :240000
Name : WaitToKillServiceTimeout
Value : 20000
Gerenciador de licenças Nvidia
Baixe o gerenciador de licenças NVIDIA para Windows através de sua conta pessoal no site
Vamos instalá-lo no ws-dc. Para fazer isso, primeiro você precisa instalar
Vamos criar um servidor, gerar e baixar um arquivo de licença em sua conta pessoal no site
Usando um navegador, faça login na interface da Web do gerenciador de licenças da NVIDIA, disponível em
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 faço para conectar a uma área de trabalho virtual?
Em um computador em funcionamento, abra um navegador, no meu caso é o Chrome, e vá para o endereço da interface da web Citrix StoreWeb
http://192.168.1.111/Citrix/StoreWeb
Se o Citrix Receiver ainda não estiver instalado, clique em "Detect Receiver"
Leia o contrato de licença com atenção, baixe e instale o Citrix Receiver
Após a instalação, volte ao navegador e clique em "Continuar"
Em seguida, uma notificação é aberta no navegador Chrome, clique em "Abrir Citrix Receiver Launcher" e depois em "Detectar novamente" ou "Já instalado"
Ao conectar pela primeira vez, usaremos os dados do teste do usuário de teste. Altere a senha temporária para permanente.
Após a autorização, vá para a guia "Aplicativos" e selecione o diretório "M60"
Baixe o arquivo proposto com a extensão .ica. Após clicar duas vezes nele, uma janela será aberta no Desktop Veiwer com a área de trabalho do Centos 7
Fonte: habr.com