Această întreagă ghid oferă pașii necesari pentru a pregăti accesul de la distanță la desktop-uri virtuale utilizând tehnologia oferită de Citrix.
Va fi util pentru cei care sunt noi în tehnologia virtualizării desktopurilor, deoarece este o colecție de comenzi utile adunate din ~10 manuale, dintre care multe sunt disponibile pe site-urile Citrix, Nvidia, Microsoft, după autentificare.
Această implementare conține etapele pregătirii accesului de la distanță la mașinile virtuale (VM) cu accelatoare grafice Nvidia Tesla M60 și sistem de operare Centos 7.
Așadar, să începem.
Pregătirea hypervisor-ului pentru gazduirea mașinilor virtuale
Cum să descărcați și să instalați XenServer 7.4?
Cum să adăugați XenServer în Citrix XenCenter?
Cum să descărcați și să instalați driverul Nvidia?
Cum să schimbați modul Nvidia Tesla M60?
Cum să montați stocarea?
XenServer 7.4
Sugerați, ce să citiți. Partea 1 disponibil, după autentificare pe site .

Vom efectua instalarea XenServer.iso pe un server cu 4x NVIDIA Tesla M60 prin metoda standard. În cazul meu, iso se montează prin IPMI. Pentru serverele Dell, gestionarea controller-ului BMC se face prin IDRAC. Etapele instalării sunt aproape identice cu instalarea Linux a sistemelor de operare similare.
Adresa mea XenServer cu GPU este 192.168.1.100
Vom instala XenCenter.msi pe computerul local, de pe care vom gestiona hypervisor-urile și mașinile virtuale. Vom adăuga serverul cu GPU și XenServer, făcând clic pe tab-ul «Server», apoi «Add». Vom introduce numele de utilizator și parola root specificate la instalarea XenServer.

În XenCenter, după ce am dat clic pe numele hypervisor-ului adăugat, va fi disponibil tab-ul «Console». În meniu, vom selecta «Remote Service Configuration» și vom activa autentificarea prin SSH — «Enable/Disable Remote Shell».
Driver Nvidia
Îmi voi da frâu liber emoțiilor și voi spune că, de-a lungul timpului petrecut cu vGPU, nu am reușit niciodată să accesez site-ul din prima încercare. Dacă autentificarea nu funcționează, vă recomand Internet Explorer.
Vom descărca zip-ul cu vGPU, precum și utilitarul GPUMode Change:
NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip
NVIDIA-gpumodeswitch-2020-01.zip

Atent la versiunile recente. În denumirea arhivei descărcate este specificată versiunea driverelor NVIDIA compatibile, care pot fi ulterior instalate pe mașinile virtuale. În cazul meu, este vorba de 390.72.
Transferăm zip-urile pe XenServer și le dezarhivăm.
Vom schimba modul GPU și vom instala 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 
Montați stocarea
Vom configura un directoriu partajat prin 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, selectăm XenServer și în tab-ul „Storage” alegem „New SR”. Vom specifica tipul de stocare — NFS ISO. Calea trebuie să indice spre directorul partajat NFS.
Imaginea Master Citrix bazată pe Centos 7
Cum să creezi o mașină virtuală cu Centos 7?
Cum să pregătești o mașină virtuală pentru a crea un director?
Imagine Centos 7
Utilizând XenCenter, vom crea o mașină virtuală cu GPU. În tab-ul „VM” vom apăsa pe „New VM”.

Selectăm parametrii necesari:
VM template — Other install media
Name — template
Instalare din biblioteca ISO — Centos 7 (), alegem din stocarea montată NFS ISO.
Numărul de vCPUs — 4
Arhitectură — 1 soclu cu 4 nuclee pe soclu
Memorie — 30 Gb
Tip GPU — GRID M60-4Q
Utilizează acest disc virtual — 80 Gb
Rețea
După crearea sa, mașina virtuală va apărea în lista verticală din stânga. Vom da clic pe ea și vom merge la tab-ul „Console”. Vom aștepta să se încarce instalatorul Centos 7 și vom urma pașii necesari pentru instalarea sistemului de operare cu interfața GNOME.
Pregătirea imaginii
Pregătirea imaginii cu Centos 7 mi-a luat mult timp. Ulterior, am obținut un set de scripturi care facilitează configurarea inițială a Linux-ului și care va permite crearea de directoare pentru mașinile virtuale prin intermediul serviciilor de creare a mașinilor Citrix (MCS).
Serverul DHCP, instalat pe ws-ad, a atribuit noii mașini virtuale adresa IP 192.168.1.129.
În continuare voi prezenta setările principale.
$ 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 tab-ul „Console”, vom monta guest-tools.iso în unitatea DVD a mașinii virtuale și vom executa instalarea XenTools pentru Linux.
$ mount /dev/cdrom /mnt
$ /mnt/Linux/install.sh
$ rebootLa configurarea XenServer, am folosit arhiva NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip, descărcată de pe site-ul NVIDIA, care conține, pe lângă driver-ul NVIDIA pentru XenServer, și driver-ul necesar pentru clienții vGPU. Vom descărca și instala acest driver 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
$ rebootVom descărca Linux Virtual Delivery Agent 1811 (VDA) pentru Centos 7. Linkul pentru descărcare disponibil, după autentificare pe site .
$ 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.ro
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 Machine Catalog și un Delivery group. Înainte de aceasta, este necesar să instalăm și să configurăm Windows Server.
Windows Server cu Domain Controller
Cum să descărcați și să instalați Windows Server 2016?
Cum să instalați componentele Windows Server?
Cum să configurați Active Directory, DHCP și DNS?
Windows Server 2016
Așa cum mașinii virtuale (VM) cu Windows Server nu îi sunt necesare GPU-uri, vom utiliza un server fără GPU ca hipervizor. După descrierea de mai sus, vom instala un alt XenServer pentru găzduirea sistemelor virtuale.
După aceasta, vom crea o mașină virtuală pentru Windows Server cu Active Directory.
Vom descărca Windows Server 2016 de pe site . Este mai bine să accesați linkul cu Internet Explorer.

Folosind XenCenter, vom crea o mașină virtuală. În tab-ul „VM”, vom face clic pe „New VM”.

Selectăm parametrii necesari:
VM template — Windows Server 2016 (64-bit)
Name — ws-ad.domain.ru
Install from ISO library — WindowsServer2016.iso, alegem din stocarea NFS ISO montată.
Numărul de vCPUs — 4
Arhitectură — 1 soclu cu 4 nuclee pe soclu
Memory — 20 Gb
GPU type — none
Use this virtual disk — 100 Gb
Rețea
După crearea acesteia, mașina virtuală va apărea în lista verticală din stânga. Vom face clic pe ea și vom trece la tab-ul „Console”. Așteptăm să se încarce instalatorul Windows Server și vom urma pașii necesari pentru instalarea sistemului de operare.
Vom instala XenTools în VM. Facem clic dreapta pe VM, apoi „Instalare Citrix VM Tools…”. După aceasta, va fi montat un imagine, care trebuie să fie pornită pentru a instala XenTools. La finalizarea instalării, va fi necesară restartarea VM.
Vom configura adaptorul de rețea:
Adresa IP — 192.168.1.110
Masca — 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, vom efectua activarea. Cheia o putem lua de acolo de unde am descărcat imaginea.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxxVom configura numele computerului. În cazul meu, acesta este ws-ad.
Instalarea componentelor
În Managerul Serverului, vom selecta „Adăugare roluri și componente”. Vom bifa pentru instalare server DHCP, server DNC și Servicii Active Directory. Vom bifa căsuța „Reporniți automat”.

Configurarea Active Directory
După repornirea VM, facem clic pe „Promovează acest server la nivel de controler de domeniu” și vom adăuga o nouă pădure domain.ro.
Configurarea serverului DHCP
În partea de sus a Managerului Serverului, vom face clic pe semnul de exclamare pentru a salva modificările la instalarea serverului DHCP.
Vom trece la setările serverului DHCP.

Vom crea o nouă zonă 192.168.1.120-130. Nu vom modifica altceva. Vom alege „Configurează parametrii DHCP acum” și vom introduce adresa IP ws-ad (192.168.1.110) ca gateway și DNS, care vor fi specificate în setările adaptorilor de rețea ale mașinilor virtuale din catalog.
Configurarea serverului DNS
Vom trece la setările serverului DNS.

Vom crea o nouă zonă de vizualizare directă — zona primară, pentru toate serverele DNS în domeniul domain.ro. Nu vom modifica nimic altceva.
Vom crea o nouă zonă de vizualizare inversă, alegând parametrii similari.
În proprietățile serverului DNS, la fila „Avansat”, vom bifa căsuța „Dezactivare recursivă”.
Crearea unui utilizator de test
Vom trece la „Centru de administrare Active Directory”

În secțiunea „Utilizatori” din dreapta, vom face clic pe „Crează”. Vom introduce un nume, de exemplu test, și mai jos vom face clic pe „OK”.

Vom selecta utilizatorul creat și în meniul vertical din dreapta vom alege „Resetează parola”. Vom lăsa bifată căsuța „Cere schimbarea parolei la următoarea autentificare”.
Windows Server cu Citrix Delivery Controller
Cum să descărcați și să instalați Windows Server 2016?
Cum să descărcăm și să instalăm Citrix Delivery Controller?
Cum să instalăm și să configurăm Citrix License Manager?
Cum să instalăm și să configurăm NVIDIA License Manager?
Windows Server 2016
Deoarece mașinii virtuale (VM) cu Windows Server nu îi sunt necesari GPU-uri, vom folosi un server fără GPU ca hipervizor.
Vom descărca Windows Server 2016 de pe site . Este mai bine să accesați linkul cu Internet Explorer.

Folosind XenCenter, vom crea o mașină virtuală. În tab-ul „VM”, vom face clic pe „New VM”.

Selectăm parametrii necesari:
VM template — Windows Server 2016 (64-bit)
Nume — ws-dc
Install from ISO library — WindowsServer2016.iso, alegem din stocarea NFS ISO montată.
Numărul de vCPUs — 4
Arhitectură — 1 soclu cu 4 nuclee pe soclu
Memory — 20 Gb
GPU type — none
Use this virtual disk — 100 Gb
Rețea
După crearea sa, mașina virtuală va apărea în lista verticală din stânga. Vom face clic pe aceasta și vom trece la tab-ul „Consolă”. Vom aștepta să se încarce instalatorul Windows Server și vom urma pașii necesari pentru instalarea sistemului de operare.
Vom instala XenTools în VM. Facem clic dreapta pe VM, apoi „Instalare Citrix VM Tools…”. După aceasta, va fi montat un imagine, care trebuie să fie pornită pentru a instala XenTools. La finalizarea instalării, va fi necesară restartarea VM.
Vom configura adaptorul de rețea:
Adresa IP — 192.168.1.111
Masca — 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, vom efectua activarea. Cheia o putem lua de acolo de unde am descărcat imaginea.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxxSă configurăm numele computerului. În cazul meu, acesta este ws-dc.
Vom adăuga VM în domeniul domeniu.ro, vom reporni și ne vom autentifica cu contul de administrator de domeniu DOMENAdministrator.
Citrix delivery controller
Vom descărca Citrix Virtual Apps and Desktops 1811 pe ws-dc.domain.ro. Link pentru descărcare disponibil, după autentificare pe site .

Vom monta iso-ul descărcat și vom rula. Vom alege „Citrix Virtual Apps and Desktops 7”. Apoi, vom face clic pe „Începeți”. Este posibil să fie necesară o repornire.

În cazul meu, este suficient să alegem pentru instalare următoarele componente:
Delivery Controller
Studio
License Server
StoreFront
Nu modificăm nimic altceva și apăsăm „Instalare”. Este posibil să fie necesară repornirea de mai multe ori, după care instalarea va continua.
Când instalarea va fi finalizată, va porni Citrix Studio — mediu de gestionare a tuturor resurselor Citrix.

Configurarea Citrix Site
Vom alege prima secțiune din cele trei — Configurarea site-ului. La configurare, vom specifica Numele site-ului — domeniu.
În secțiunea „Conexiune” vom furniza datele pentru conectarea la hypervizor cu GPU:
Adresa de conexiune —
Nume utilizator — root
Parolă — yourpassword
Numele conexiunii — m60
Gestionarea magazinului — Folosiți stocare locală pentru hypervizor.
Numele acestor resurse — m60.
Selectați rețele.
Selectați un tip și grup de GPU — GRID M60-4Q.
Configurarea Catálogo de Mașini Citrix
La configurarea celei de-a doua secțiuni — Catálogo de Mașini, vom alege OS de sesiune unică (Desktop OS).
Imagine Master — vom alege imaginea pregătită a mașinii virtuale și versiunea Citrix Virtual Apps and Desktops — 1811.
Vom alege numărul de mașini virtuale din catalog, de exemplu, 4.
Vom specifica schema conform căreia mașinile virtuale vor primi nume, în cazul meu, acesta este desktop##. În acest caz, vor fi create 4 VM cu numele desktop01-04.
Numele Catálogo de Mașini — m60.
Descrierea Catálogo de Mașini — m60.
După crearea Catálogo de Mașini cu patru VM, acestea vor putea fi găsite în lista verticală din XenCenter, în stânga.
Citrix Delivery Group
Cea de-a treia secțiune începe cu alegerea numărului de VM la care se va oferi acces. Voi specifica toate cele patru.
În secțiunea „Desktopuri” vom face clic pe „Adaugă” pentru a adăuga grupul de VM la care vom oferi acces. Numele de afișare — m60.
Numele grupului de livrare — m60.
După configurarea celor trei secțiuni principale, fereastra principală Citrix Studio va arăta aproximativ astfel

Citrix license manager
Vom descărca fișierul de licență prin intermediul contului personal de pe site .
În lista verticală din stânga, selectăm All Licensing Tools (Legacy). Trecem la tab-ul „Activate and Allocate Licenses”. Alegem licențele Citrix VDA și apăsăm „Continue”. Vom indica numele Delivery Controller-ului nostru — ws-dc.domain.ro și numărul de licențe — 4. Apăsăm „Continue”. Descărcăm fișierul de licență generat pe ws-dc.domain.ro.

În lista verticală din stânga a Citrix Studio, selectăm secțiunea „Licensing”. În lista verticală din dreapta, apăsăm „License Management Console”. În fereastra deschisă a browserului, introducem datele de autentificare ale utilizatorului de domeniu DOMENAdministrator.
În Citrix Licensing Manager, mergem la tab-ul „Install License”. Pentru a adăuga un fișier de licență, trebuie să alegem „Use downloaded license file.”

Instalarea componentelor Citrix implică utilizarea mai multor mașini virtuale, un component — o VM. În cazul meu, toate serviciile sistemului Citrix funcționează în cadrul unei singure VM. Din această cauză, menționez o eroare, corectarea căreia mi-a consumat mult timp.
Dacă după repornirea ws-dc apar probleme diverse, recomand să verifici mai întâi serviciile active. Iată lista serviciilor Citrix care ar trebui să pornească automat după repornirea VM-ului:
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 -nvidiaAm întâmpinat o problemă care apare la instalarea diverselor servicii Citrix pe o singură VM. După repornire, nu toate serviciile pornesc. Era prea multă muncă să pornesc fiecare componentă individual. Soluția a fost greu de găsit pe Google, așa că o prezint aici — trebuie să schimbi două parametri în registry:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Nume: ServicesPipeTimeout
Valoare: 240000
Nume: WaitToKillServiceTimeout
Valoare: 20000Nvidia licence manager
Vom descărca managerul de licențe NVIDIA pentru Windows din contul personal de pe site. . Cel mai bine este să intri prin Internet Explorer.

Îl vom instala pe ws-dc. Pentru aceasta, mai întâi va trebui să instalăm și să adăugăm variabila de mediu JAVA_HOME. După aceasta, putem rula setup.exe pentru a instala NVIDIA License Manager.

Vom crea un server, vom genera și descărca fișierul de licență din contul personal de pe site. . Vom transfera fișierul de licență pe ws-dc.

Folosind un browser, ne autentificăm în interfața web a managerului de licențe NVIDIA, disponibil la adresa :8080/licserver și adăugăm fișierul de licență.

Sesiunile active care utilizează vGPU pot fi vizualizate în secțiunea „Clienți licențiați”.
Acces la distanță la catalogul de mașini Citrix
Cum să instalezi Citrix Receiver?
Cum să te conectezi la desktopul virtual?
Pe computerul de lucru, deschidem browserul, în cazul meu acesta este Chrome, și mergem la adresa interfeței web Citrix StoreWeb.
http://192.168.1.111/Citrix/StoreWebDacă Citrix Receiver nu este instalat, vom face clic pe „Descoperă Receiver”

Citim cu atenție acordul de licență, descărcăm și instalăm Citrix Receiver.

După instalare, ne întoarcem în browser și facem clic pe „Continuare”

Apoi, în browserul Chrome, apare o notificare, faceți clic pe „Deschideți aplicația Citrix Receiver Launcher”, apoi pe „Descoperă din nou” sau „Deja instalat”

În prima conectare, vom folosi datele utilizatorului de test test. Vom schimba parola temporară cu una permanentă.

După autorizare, mergem la tab-ul „Aplicații” și alegem catalogul „M60”

Descarcăm fișierul propus cu extensia .ica. După un dublu clic pe acesta, se va deschide o fereastră în Desktop Viewer cu desktopul Centos 7.

Sursa: habr.com
