Acces de la distanță la VM GPU folosind Citrix

Acest ghid detaliază pașii pe care trebuie să îi urmați pentru a furniza acces de la distanță la desktop-uri virtuale folosind tehnologia oferită de Citrix.

Va fi util pentru cei care s-au familiarizat recent cu tehnologia de virtualizare desktop, deoarece este o colecție de comenzi utile compilate din ~10 manuale, dintre care multe sunt disponibile pe site-urile Citrix, Nvidia, Microsoft, după autorizare.

Această implementare conține etapele pregătirii accesului de la distanță la mașinile virtuale (VM) cu acceleratoare grafice Nvidia Tesla M60 și sistemul de operare Centos 7.

Deci, să începem.

Pregătirea unui hypervisor pentru găzduirea mașinilor virtuale

Cum se descarcă și se instalează XenServer 7.4?
Cum se adaugă XenServer la Citrix XenCenter?
Cum se descarcă și se instalează driverul Nvidia?
Cum se schimbă modul Nvidia Tesla M60?
Cum se montează depozitul?

XenServer 7.4

Descărcați linkul XenServer 7.4 disponibil după autentificarea pe site Citrix.

Acces de la distanță la VM GPU folosind Citrix

Să instalăm XenServer.iso pe un server cu 4x NVIDIA Tesla M60 în mod standard. În cazul meu, iso-ul este montat prin IPMI. Pentru serverele Dell, BMC este gestionat prin IDRAC. Pașii de instalare sunt aproape aceiași cu instalarea sistemelor de operare asemănătoare Linux.

Adresa mea XenServer cu GPU este 192.168.1.100

Să instalăm XenCenter.msi pe computerul local de pe care vom gestiona hipervizorii și mașinile virtuale. Să adăugăm acolo un server cu un GPU și XenServer făcând clic pe fila „Server”, apoi pe „Adăugați”. Introduceți numele de utilizator root și parola specificate la instalarea XenServer.

Acces de la distanță la VM GPU folosind Citrix

În XenCenter, după ce faceți clic pe numele hypervisorului adăugat, fila „Consola” va fi disponibilă. În meniu, selectați „Configurare serviciu de la distanță” și activați autorizarea prin SSH - „Activare/Dezactivare Shell la distanță”.

Sofer Nvidia

Îmi voi da afară emoțiile și voi spune că în tot timpul când am lucrat cu vGPU, nu am vizitat niciodată site-ul nvid.nvidia.com la prima încercare. Dacă autorizarea nu funcționează, recomand Internet Explorer.

Descărcați zip de pe vGPU, precum și GPUMode Change Utility:

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

Acces de la distanță la VM GPU folosind Citrix

Urmărim versiunile. Numele arhivei descărcate indică versiunea driverelor NVIDIA adecvate, care pot fi instalate ulterior pe mașinile virtuale. În cazul meu este 390.72.

Transferăm fermoarele pe XenServer și le despachetăm.

Să schimbăm modul GPU și să instalăm driverul 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

Acces de la distanță la VM GPU folosind Citrix

Montare depozitare

Să creăm un director partajat folosind NFS pe orice computer din rețea.

$ 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

În XenCenter, selectați XenServer și în fila „Stocare”, selectați „New SR”. Să specificăm tipul de stocare - NFS ISO. Calea trebuie să indice directorul partajat NFS.

Citrix Master Image bazată pe Centos 7

Cum se creează o mașină virtuală cu Centos 7?

Cum pregătesc o mașină virtuală pentru a crea un director?

Imagine Centos 7

Folosind XenCenter vom crea o mașină virtuală cu un GPU. În fila „VM”, faceți clic pe „New VM”.

Acces de la distanță la VM GPU folosind Citrix

Selectați parametrii necesari:

Șablon VM - Alte medii de instalare
Nume - șablon
Instalați din biblioteca ISO - Centos 7 (descărca), selectați din stocarea ISO NFS montată.
Numărul de vCPU - 4
Topologie - 1 soclu cu 4 nuclee per soclu
Memorie - 30 Gb
Tip GPU - GRID M60-4Q
Utilizați acest disc virtual - 80 Gb
Reţea

Odată creată, mașina virtuală va apărea în lista verticală din stânga. Faceți clic pe el și accesați fila „Consolă”. Să așteptăm ca programul de instalare Centos 7 să se încarce și să urmăm pașii necesari pentru a instala sistemul de operare cu shell-ul GNOME.

Pregătirea imaginii

Pregătirea imaginii cu Centos 7 mi-a luat mult timp. Rezultatul este un set de scripturi care facilitează configurarea inițială a Linux și vă permite să creați un director de mașini virtuale folosind Citrix Machine Creation Services (MCS).

Serverul DHCP instalat pe ws-ad a atribuit adresa IP 192.168.1.129 noii mașini virtuale.

Mai jos sunt setările de bază.

$ 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

În XenCenter, în fila „Consolă”, montați guest-tools.iso pe unitatea DVD a mașinii virtuale și instalați XenTools pentru Linux.

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

La configurarea XenServer, am folosit arhiva NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip, descărcată de pe site-ul web NVIDIA, care, pe lângă driverul NVIDIA pentru XenServer, conține driverul NVIDIA de care avem nevoie pentru vGPU clientii. Să îl descarcăm și să îl instalăm pe 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

Descărcați Linux Virtual Delivery Agent 1811 (VDA) pentru Centos 7. Link de descărcare Linux VDA disponibil după autentificarea pe site 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

În Citrix Studio vom crea un catalog de mașini și un grup de livrare. Înainte de aceasta, trebuie să instalați și să configurați Windows Server.

Windows Server cu controler de domeniu

Cum se descarcă și se instalează Windows Server 2016?
Cum instalez componentele Windows Server?
Cum se configurează Active Directory, DHCP și DNS?

Windows Server 2016

Deoarece o mașină virtuală Windows Server (VM) nu necesită GPU-uri, vom folosi un server fără GPU ca hypervisor. Prin analogie cu descrierea de mai sus, vom instala un alt XenServer pentru găzduirea mașinilor virtuale ale sistemului.

După aceasta, vom crea o mașină virtuală pentru Windows Server cu Active Directory.

Descărcați Windows Server 2016 de pe site Microsoft. Este mai bine să urmați linkul folosind Internet Explorer.

Acces de la distanță la VM GPU folosind Citrix

Să creăm o mașină virtuală folosind XenCenter. În fila „VM”, faceți clic pe „New VM”.

Acces de la distanță la VM GPU folosind Citrix

Selectați parametrii necesari:

Șablon VM - Windows Server 2016 (64 de biți)
Nume - ws-ad.domain.ru
Instalați din biblioteca ISO - WindowsServer2016.iso, selectați din stocarea ISO NFS montată.
Numărul de vCPU - 4
Topologie - 1 soclu cu 4 nuclee per soclu
Memorie - 20 Gb
Tip GPU - niciunul
Utilizați acest disc virtual - 100 Gb
Reţea

Odată creată, mașina virtuală va apărea în lista verticală din stânga. Faceți clic pe el și accesați fila „Consolă”. Să așteptăm ca programul de instalare Windows Server să descarce și să finalizeze pașii necesari pentru a instala sistemul de operare.

Să instalăm XenTools în VM. Faceți clic dreapta pe VM, apoi „Instalare Citrix VM Tools...”. După aceasta, imaginea va fi montată, care trebuie lansată și instalat XenTools. Odată ce instalarea este finalizată, VM-ul va trebui să fie repornit.

Să configuram adaptorul de rețea:

Adresă IP - 192.168.1.110
Mască - 255.255.255.0
Gateway - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Dacă Windows Server nu este activat, atunci îl vom activa. Cheia poate fi luată din același loc de unde ați descărcat imaginea.

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

Să setăm numele computerului. În cazul meu este ws-ad.

Instalarea componentelor

În Server Manager, selectați „Adăugați roluri și funcții”. Selectați serverul DHCP, serverul DNC și Active Directory Domain Services pentru instalare. Bifați caseta de selectare „Reporniți automat”.

Acces de la distanță la VM GPU folosind Citrix

Configurarea Active Directory

După repornirea VM, faceți clic pe „Ridicați acest server la nivelul unui controler de domeniu” și adăugați o nouă pădure domain.ru.

Configurarea unui server DHCP

În panoul de sus al Server Manager, faceți clic pe semnul exclamării pentru a salva modificările la instalarea serverului DHCP.

Să trecem la setările serverului DHCP.

Acces de la distanță la VM GPU folosind Citrix

Să creăm o zonă nouă 192.168.1.120-130. Restul nu le schimbam. Selectați „Configurați setările DHCP acum” și introduceți adresa IP ws-ad (192.168.1.110) ca gateway și DNS, care vor fi specificate în setările adaptoarelor de rețea ale mașinilor virtuale din catalog.

Configurarea unui server DNS

Să trecem la setările serverului DNS.

Acces de la distanță la VM GPU folosind Citrix

Să creăm o nouă zonă de căutare înainte - zonă primară, pentru toate serverele DNS din domeniul domain.ru. Nu schimbam nimic altceva.

Să creăm o nouă zonă de căutare inversă selectând opțiuni similare.

În proprietățile serverului DNS, în fila „Avansat”, bifați caseta de selectare „Dezactivați recursiunea”.

Crearea unui utilizator de testare

Să mergem la „Centrul de administrare Active Directory”

Acces de la distanță la VM GPU folosind Citrix

În secțiunea „Utilizatori” din dreapta, faceți clic pe „Creați”. Introduceți un nume, de exemplu test, și faceți clic pe „OK” în partea de jos.

Acces de la distanță la VM GPU folosind Citrix

Selectați utilizatorul creat și selectați „Resetare parolă” în meniul vertical din dreapta. Lăsați caseta de selectare „Solicitați modificarea parolei data viitoare când vă conectați”.

Windows Server cu Citrix Delivery Controller

Cum se descarcă și se instalează Windows Server 2016?
Cum să descărcați și să instalați Citrix Delivery Controller?
Cum se instalează și se configurează Citrix License Manager?
Cum se instalează și se configurează NVIDIA License Manager?

Windows Server 2016

Deoarece o mașină virtuală Windows Server (VM) nu necesită GPU-uri, vom folosi un server fără GPU ca hypervisor.

Descărcați Windows Server 2016 de pe site Microsoft. Este mai bine să urmați linkul folosind Internet Explorer.

Acces de la distanță la VM GPU folosind Citrix

Să creăm o mașină virtuală folosind XenCenter. În fila „VM”, faceți clic pe „New VM”.

Acces de la distanță la VM GPU folosind Citrix

Selectați parametrii necesari:

Șablon VM - Windows Server 2016 (64 de biți)
Nume - ws-dc
Instalați din biblioteca ISO - WindowsServer2016.iso, selectați din stocarea ISO NFS montată.
Numărul de vCPU - 4
Topologie - 1 soclu cu 4 nuclee per soclu
Memorie - 20 Gb
Tip GPU - niciunul
Utilizați acest disc virtual - 100 Gb
Reţea

Odată creată, mașina virtuală va apărea în lista verticală din stânga. Faceți clic pe el și accesați fila „Consolă”. Să așteptăm ca programul de instalare Windows Server să se încarce și să finalizeze pașii necesari pentru a instala sistemul de operare.

Să instalăm XenTools în VM. Faceți clic dreapta pe VM, apoi „Instalare Citrix VM Tools...”. După aceasta, imaginea va fi montată, care trebuie lansată și instalat XenTools. Odată ce instalarea este finalizată, VM-ul va trebui să fie repornit.

Să configuram adaptorul de rețea:

Adresă IP - 192.168.1.111
Mască - 255.255.255.0
Gateway - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Dacă Windows Server nu este activat, atunci îl vom activa. Cheia poate fi luată din același loc de unde ați descărcat imaginea.

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

Să setăm numele computerului. În cazul meu este ws-dc.

Să adăugăm VM-ul la domeniul domen.ru, să repornim și să ne conectăm sub contul de administrator al domeniului DOMENAdministrator.

Controller de livrare Citrix

Descărcați Citrix Virtual Apps and Desktops 1811 de pe ws-dc.domain.ru. Link de descărcare Aplicații și desktop-uri virtuale Citrix disponibil după autentificarea pe site Citrix.

Acces de la distanță la VM GPU folosind Citrix

Să montem iso-ul descărcat și să-l rulăm. Selectați „Citrix Virtual Apps and Desktops 7”. Apoi, faceți clic pe „Începeți”. Poate fi necesară o repornire.

Acces de la distanță la VM GPU folosind Citrix

În cazul meu, este suficient să selectați următoarele componente pentru instalare:

Controlor de livrare
Studio
Server de licență
Store Front

Nu modificăm nimic altceva și facem clic pe „Instalare”. O repornire va fi necesară de mai multe ori, după care instalarea va continua.

Odată ce instalarea este finalizată, Citrix Studio va lansa, mediul de management pentru întreaga afacere Citrix.

Acces de la distanță la VM GPU folosind Citrix

Configurarea site-ului Citrix

Să selectăm prima secțiune din cele trei - Configurarea site-ului. La configurare, vom specifica Numele site-ului - domeniu.

În secțiunea „Conexiune” indicăm datele pentru conectarea hypervisorului cu GPU:

Adresa de conectare - 192.168.1.100
Nume utilizator - root
Parola - parola dvs
Nume conexiune - m60

Gestionare magazin — Utilizați stocarea locală pentru hypervisor.

Numele acestor resurse—m60.

Selectați rețele.

Selectați un tip și un grup de GPU — GRID M60-4Q.

Configurarea cataloagelor de mașini Citrix

Când configurați a doua secțiune - Cataloage de mașini, selectați OS cu o singură sesiune (OS pentru desktop).

Imagine principală - selectați imaginea pregătită a mașinii virtuale și versiunea Citrix Virtual Apps and Desktops - 1811.

Să selectăm numărul de mașini virtuale din director, de exemplu 4.

Vom indica schema prin care numele vor fi atribuite mașinilor virtuale, în cazul meu este desktop##. În acest caz, vor fi create 4 VM cu numele desktop01-04.

Nume catalog de mașini - m60.

Descrierea catalogului mașinii - m60.

După crearea unui Catalog de mașini cu patru VM, acestea pot fi găsite în lista verticală XenCenter din stânga.

Grupul de livrare Citrix

A treia secțiune începe cu selectarea numărului de VM la care să ofere acces. Le voi enumera pe toate patru.

În secțiunea „Desktop-uri”, faceți clic pe „Adăugați” pentru a adăuga un grup de VM-uri la care vom oferi acces. Nume afișat - m60.

Numele grupului de livrare - m60.

După configurarea celor trei secțiuni principale, fereastra principală Citrix Studio va arăta cam așa

Acces de la distanță la VM GPU folosind Citrix

Manager de licență Citrix

Descărcați fișierul de licență prin contul personal de pe site Citrix.

În lista verticală din stânga, selectați Toate instrumentele de licențiere (moștenire). Să mergem la fila „Activați și alocați licențe”. Selectați licențe Citrix VDA și faceți clic pe „Continuare”. Să indicăm numele Delivery Controller - ws-dc.domain.ru și numărul de licențe - 4. Faceți clic pe „Continuare”. Descărcați fișierul de licență generat pe ws-dc.domain.ru.

Acces de la distanță la VM GPU folosind Citrix

În lista verticală din stânga a Citrix Studio, selectați secțiunea „Licențiere”. În lista verticală din dreapta, faceți clic pe „Consola de gestionare a licențelor”. În fereastra browserului care se deschide, introduceți datele pentru autorizarea utilizatorului domeniului DOMENAdministrator.

În Citrix Licensing Manager, accesați fila „Instalare licență”. Pentru a adăuga un fișier de licență, selectați „Utilizați fișierul de licență descărcat”.

Acces de la distanță la VM GPU folosind Citrix

Instalarea componentelor Citrix implică utilizarea mai multor mașini virtuale, câte o componentă per VM. În cazul meu, toate serviciile de sistem Citrix funcționează într-un singur VM. În acest sens, voi observa un bug, a cărui corectare a fost deosebit de dificilă pentru mine.

Dacă după repornirea ws-dc apar probleme de diferite tipuri, atunci vă recomand să verificați mai întâi serviciile care rulează. Iată o listă de servicii Citrix care ar trebui să pornească automat după o repornire a 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

Am întâmpinat o problemă care apare la instalarea diferitelor servicii Citrix pe un VM. După o repornire, nu pornesc toate serviciile. Mi-a fost prea lene să încep tot lanțul unul câte unul. Soluția a fost dificilă pentru Google, așa că o prezint aici - trebuie să modificați doi parametri în registru:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Name : ServicesPipeTimeout
Value :240000

Name : WaitToKillServiceTimeout
Value : 20000

Manager de licență Nvidia

Descărcați managerul de licențe NVIDIA pentru Windows prin contul personal de pe site nvid.nvidia.com. Este mai bine să vă conectați prin Internet Explorer.

Acces de la distanță la VM GPU folosind Citrix

Să-l instalăm pe ws-dc. Pentru a face acest lucru, mai întâi va trebui să instalați JAVA și adăugați variabila de mediu JAVA_HOME. Apoi puteți rula setup.exe pentru a instala NVIDIA License Manager.

Acces de la distanță la VM GPU folosind Citrix

Să creăm un server, să generăm și să descarcăm un fișier de licență în contul personal de pe site nvid.nvidia.com. Să transferăm fișierul de licență în ws-dc.

Acces de la distanță la VM GPU folosind Citrix

Folosind un browser, conectați-vă la interfața web a managerului de licențe NVIDIA, disponibilă la localhost:8080/licserver și adăugați fișierul de licență.

Acces de la distanță la VM GPU folosind Citrix

Sesiunile active care utilizează vGPU pot fi vizualizate în secțiunea „Clienți licențiați”.

Acces de la distanță la catalogul de mașini Citrix

Cum se instalează Citrix Receiver?
Cum mă conectez la un desktop virtual?

Pe un computer de serviciu, deschideți un browser, în cazul meu este Chrome și accesați adresa interfeței web Citrix StoreWeb

http://192.168.1.111/Citrix/StoreWeb

Dacă Citrix Receiver nu este încă instalat, faceți clic pe „Detectați Receiver”

Acces de la distanță la VM GPU folosind Citrix

Citiți cu atenție acordul de licență, descărcați și instalați Citrix Receiver

Acces de la distanță la VM GPU folosind Citrix

După instalare, reveniți la browser și faceți clic pe „Continuare”

Acces de la distanță la VM GPU folosind Citrix

Apoi, se deschide o notificare în browserul Chrome, faceți clic pe „Deschideți Citrix Receiver Launcher” și apoi „Detectați din nou” sau „Deja instalat”

Acces de la distanță la VM GPU folosind Citrix

Când ne conectăm pentru prima dată, vom folosi datele testului utilizatorului de testare. Să schimbăm parola temporară cu una permanentă.

Acces de la distanță la VM GPU folosind Citrix

După autorizare, accesați fila „Aplicații” și selectați directorul „M60”.

Acces de la distanță la VM GPU folosind Citrix

Să descarcăm fișierul propus cu extensia .ica. După dublu clic pe el, se va deschide o fereastră în Desktop Veiwer cu desktopul Centos 7

Acces de la distanță la VM GPU folosind Citrix

Sursa: www.habr.com

Adauga un comentariu