In deze gids worden de stappen beschreven die moeten worden genomen om toegang op afstand tot virtuele desktops mogelijk te maken met de technologie die door Citrix wordt aangeboden.
Het is nuttig voor degenen die onlangs hebben kennisgemaakt met desktopvirtualisatie, aangezien het een verzameling nuttige commando's bevat, samengebracht uit ongeveer 10 handleidingen, waarvan vele beschikbaar zijn op de websites van Citrix, Nvidia, Microsoft, na inloggen.
Deze implementatie omvat de stappen voor het voorbereiden van toegang op afstand tot virtuele machines (VM's) met Nvidia Tesla M60 grafische versnellers en het besturingssysteem CentOS 7.
Laten we beginnen.
Voorbereiding van de hypervisor voor het hosten van virtuele machines
Hoe download en installeer ik XenServer 7.4?
Hoe voeg ik XenServer toe aan Citrix XenCenter?
Hoe download en installeer ik de Nvidia-driver?
Hoe wijzig ik de modus van de Nvidia Tesla M60?
Hoe koppel ik de opslag?
XenServer 7.4
Downloadlink beschikbaar na inloggen op de website .

We zullen XenServer.iso op een server met 4x NVIDIA Tesla M60 op de gebruikelijke manier installeren. In mijn geval wordt de iso gemonteerd via IPMI. Voor Dell-servers wordt het beheer van de BMC-controller uitgevoerd via IDRAC. De installatiestappen komen vrijwel overeen met de installatie van Linux-achtige besturingssystemen.
Mijn adres XenServer met GPU is 192.168.1.100
We installeren XenCenter.msi op de lokale computer vanwaar we de hypervisors en virtuele machines zullen beheren. We voegen daar de server met GPU en XenServer toe door op het tabblad 'Server' te klikken, en vervolgens 'Toevoegen'. Voer de root-gebruikersnaam en het wachtwoord in die zijn opgegeven tijdens de installatie van XenServer.

In XenCenter, na te klikken op de naam van de toegevoegde hypervisor, is het tabblad 'Console' beschikbaar. Selecteer in het menu 'Remote Service Configuration' en schakel SSH-authenticatie in — 'Enable/Disable Remote Shell'.
Nvidia-driver
Ik laat mijn emoties de vrije loop en zeg dat ik tijdens mijn hele ervaring met vGPU nooit meteen op de site ben geweest bij de eerste poging. Als de autorisatie niet werkt, raad ik Internet Explorer aan.
Laten we de zip met vGPU en de GPUMode Change Utility downloaden:
NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip
NVIDIA-gpumodeswitch-2020-01.zip

Houd de versies in de gaten. In de naam van het gedownloade archief staat de versie van de geschikte NVIDIA-drivers die later op de virtuele machines kunnen worden geïnstalleerd. In mijn geval is dat 390.72.
We kopiëren de zip-bestanden naar XenServer en pakken ze uit.
We veranderen de GPU-modus en installeren de vGPU-driver.
$ 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 
Opslag monteren
Laten we een gedeelde map instellen met behulp van NFS op elke computer in het netwerk.
$ 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-serverKies in XenCenter XenServer en selecteer 'New SR' op het tabblad 'Storage'. Geef het type opslag op — NFS ISO. Het pad moet verwijzen naar de gedeelde NFS-map.
Citrix Master Image op basis van Centos 7
Hoe maak je een virtuele machine met Centos 7?
Hoe bereid je een virtuele machine voor op het aanmaken van een catalogus?
Centos 7-image
Laten we met XenCenter een virtuele machine met GPU maken. Klik op het tabblad 'VM' en kies 'New VM'.

Kies de benodigde parameters:
VM-sjabloon — Overige installatiemedium
Naam — sjabloon
Installeren vanuit de ISO-bibliotheek — Centos 7 (), kies uit het aangekoppelde NFS ISO-opslag.
Aantal vCPU's — 4
Topologie — 1 socket met 4 cores per socket
Geheugen — 30 Gb
GPU-type — GRID M60-4Q
Gebruik deze virtuele schijf — 80 Gb
Netwerk global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server server_name1 private_ip1:80 check server server_name2 private_ip2:80 check
Na het maken verschijnt de virtuele machine in de verticale lijst aan de linkerzijde. Klik erop en ga naar het tabblad 'Console'. Wacht tot de Centos 7-installateur is opgestart en volg de benodigde stappen om het besturingssysteem met de GNOME-shell te installeren.
Preparing the image
Het voorbereiden van het image met Centos 7 nam veel tijd in beslag. Uiteindelijk resulteerde dit in een reeks scripts die de initiële configuratie van Linux vergemakkelijken en het mogelijk maken om een catalogus van virtuele machines te maken met behulp van Citrix Machine Creation Services (MCS).
De DHCP-server, geïnstalleerd op ws-ad, heeft het nieuwe virtuele machine het IP-adres 192.168.1.129 toegewezen.
Hieronder geef ik de belangrijkste instellingen.
$ 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-reloadIn XenCenter, monteer de guest-tools.iso in de DVD-speler van de virtuele machine en voer de installatie van XenTools voor Linux uit.
$ mount /dev/cdrom /mnt
$ /mnt/Linux/install.sh
$ rebootBij het instellen van XenServer hebben we het archief NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip gebruikt, gedownload van de NVIDIA-website. Dit bevat, naast de NVIDIA-driver voor XenServer, ook de benodigde NVIDIA-driver voor vGPU-clients. We zullen deze downloaden en op de VM installeren.
$ 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
$ rebootLaten we de Linux Virtual Delivery Agent 1811 (VDA) voor CentOS 7 downloaden. Downloadlink: beschikbaar na inloggen op de website .
$ 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.confIn Citrix Studio maken we een Machine Catalog en Delivery group. Hiervoor moet Windows Server geïnstalleerd en geconfigureerd worden.
Windows Server met Domain Controller
Hoe download je en installeer je Windows Server 2016?
Hoe installeer je de componenten van Windows Server?
Hoe configureer je Active Directory, DHCP en DNS?
Windows Server 2016
Aangezien de virtuele machine (VM) met Windows Server geen GPU's nodig heeft, zullen we een server zonder GPU gebruiken als hypervisor. Op dezelfde manier als hierboven beschreven, installeren we nog een XenServer voor het hosten van systeem-Virtual Machines.
Vervolgens maken we een virtuele machine voor Windows Server met Active Directory.
Laten we Windows Server 2016 van de website downloaden. . Het is beter om de link te openen met Internet Explorer.

Met XenCenter maken we een virtuele machine. Op het tabblad 'VM' klikken we op 'Nieuwe VM'.

Kies de benodigde parameters:
VM-sjabloon — Windows Server 2016 (64-bit)
Naam — ws-ad.domain.ru
Installeer vanuit ISO-bibliotheek — WindowsServer2016.iso, kiezen uit de gemonteerde NFS ISO-opslag.
Aantal vCPU's — 4
Topologie — 1 socket met 4 cores per socket
Geheugen — 20 Gb
GPU-type — geen
Gebruik deze virtuele schijf — 100 Gb
Netwerk global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server server_name1 private_ip1:80 check server server_name2 private_ip2:80 check
Na het aanmaken verschijnt de virtuele machine in de verticale lijst aan de linkerkant. We klikken erop en gaan naar het tabblad 'Console'. We wachten totdat de Windows Server-installateur is geladen en voeren de benodigde stappen voor de installatie van het besturingssysteem uit.
We installeren XenTools in de VM. Klik met de rechtermuisknop op de VM en kies 'Installeer Citrix VM-tools...'. Daarna wordt een afbeelding gemonteerd die we moeten starten en XenTools moeten installeren. Na de installatie is een herstart van de VM vereist.
Laten we de netwerkadapter configureren:
IP-adres — 192.168.1.110
Subnetmasker — 255.255.255.0
Gateway — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4
Als Windows Server niet is geactiveerd, voeren we de activatie uit. De sleutel kan daar worden verkregen waar we de afbeelding hebben gedownload.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxxLaten we de computernamen configureren. In mijn geval is dit ws-ad.
Installatie van componenten
In de Server Manager kiezen we 'Rollen en componenten toevoegen'. We markeren voor installatie DHCP-server, DNS-server en Active Directory Domain Services. We vinken 'Automatisch opnieuw opstarten' aan.

Configuratie van Active Directory
Na het opnieuw opstarten van de VM klikken we op 'Deze server upgraden naar domeincontroller' en voegen we een nieuw bos toe: domain.ru.
Configuratie van DHCP-server
Op de bovenste balk van de Server Manager klikken we op het uitroepteken om wijzigingen op te slaan tijdens de installatie van de DHCP-server.
Laten we naar de instellingen van de DHCP-server gaan.

We creëren een nieuw bereik 192.168.1.120-130. We veranderen verder niets. We kiezen 'Configureren DHCP-instellingen nu' en voeren het IP-adres ws-ad (192.168.1.110) in als gateway en DNS die worden opgegeven in de netwerkadapterinstellingen van de virtuele machines uit de catalogus.
Configuratie van DNS-server
Laten we naar de instellingen van de DNS-server gaan.

We creëren een nieuwe zone voor directe weergave — primary zone, voor alle DNS-servers in het domein domain.ru. We veranderen verder niets.
We creëren een nieuwe zone voor omgekeerde weergave en kiezen dezelfde parameters.
In de eigenschappen van de DNS-server, op het tabblad 'Geavanceerd', vinken we 'Recursie uitschakelen' aan.
Creëren van een testgebruiker
Laten we naar het 'Active Directory-beheercentrum' gaan.

In het gedeelte 'Users' klikken we rechts op 'Aanmaken'. We voeren een naam in, bijvoorbeeld test, en klikken onderaan op 'OK'.

Select de aangemaakte gebruiker en kies in het verticale menu aan de rechterkant voor "Wachtwoord opnieuw instellen". Laat het vinkje "Wachtwoord wijzigen bij de volgende aanmelding" staan.
Windows Server met Citrix Delivery Controller
Hoe download je en installeer je Windows Server 2016?
Hoe download en installeer je Citrix Delivery Controller?
Hoe installeer en configureer je Citrix License Manager?
Hoe installeer en configureer je NVIDIA License Manager?
Windows Server 2016
Aangezien de virtuele machine (VM) met Windows Server geen GPU's nodig heeft, zullen we een server zonder GPU als hypervisor gebruiken.
Laten we Windows Server 2016 van de website downloaden. . Het is beter om de link te openen met Internet Explorer.

Met XenCenter maken we een virtuele machine. Op het tabblad 'VM' klikken we op 'Nieuwe VM'.

Kies de benodigde parameters:
VM-sjabloon — Windows Server 2016 (64-bit)
Naam — ws-dc
Installeer vanuit ISO-bibliotheek — WindowsServer2016.iso, kiezen uit de gemonteerde NFS ISO-opslag.
Aantal vCPU's — 4
Topologie — 1 socket met 4 cores per socket
Geheugen — 20 Gb
GPU-type — geen
Gebruik deze virtuele schijf — 100 Gb
Netwerk global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server server_name1 private_ip1:80 check server server_name2 private_ip2:80 check
Na de creatie verschijnt de virtuele machine in de verticale lijst links. Klik erop en ga naar het tabblad "Console". Wacht tot de installatiewizard van Windows Server is geladen en volg de nodige stappen voor de installatie van het besturingssysteem.
We installeren XenTools in de VM. Klik met de rechtermuisknop op de VM en kies 'Installeer Citrix VM-tools...'. Daarna wordt een afbeelding gemonteerd die we moeten starten en XenTools moeten installeren. Na de installatie is een herstart van de VM vereist.
Laten we de netwerkadapter configureren:
IP-adres — 192.168.1.111
Subnetmasker — 255.255.255.0
Gateway — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4
Als Windows Server niet is geactiveerd, voeren we de activatie uit. De sleutel kan daar worden verkregen waar we de afbeelding hebben gedownload.
[PowerShell]$ slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxxWe configureren de computernnaam. In mijn geval is dit ws-dc.
Voeg de VM toe aan het domein domen.ru, start opnieuw op en meld je aan met het domein gebruikersaccount DOMENAdministrator.
Citrix delivery controller
Download Citrix Virtual Apps and Desktops 1811 naar ws-dc.domain.ru. Downloadlink beschikbaar na inloggen op de website .

Monteer het gedownloade iso-bestand en start het. Kies "Citrix Virtual Apps and Desktops 7". Klik daarna op "Aan de slag". Een herstart kan nodig zijn.

In mijn geval is het voldoende om de volgende componenten voor installatie te selecteren:
Delivery Controller
Studio
License Server
StoreFront
Verander verder niets en klik op "Installeren". Het kan meerdere keren nodig zijn om opnieuw op te starten, waarna de installatie zal worden voortgezet.
Zodra de installatie is voltooid, wordt Citrix Studio gestart — de managementomgeving voor het hele Citrix-systeem.

Configuratie van Citrix Site
Kies het eerste gedeelte van de drie — Site-configuratie. Geef een Site naam op — domein.
In het gedeelte "Verbinding" geven we de gegevens voor de verbinding met de hypervisor met GPU op:
Verbindingsadres —
Gebruikersnaam — root
Wachtwoord — yourpassword
Verbindingsnaam — m60
Store management — Gebruik opslag lokaal voor de hypervisor.
Naam voor deze resources — m60.
Selecteer netwerken.
Selecteer een GPU-type en -groep — GRID M60-4Q.
Configuratie van Citrix Machine Catalogs
Bij het instellen van het tweede gedeelte — Machine Catalogs, kiezen we voor Single-session OS (Desktop OS).
Master Image — kies de voorbereide afbeelding van de virtuele machine en versie Citrix Virtual Apps and Desktops — 1811.
Kies het aantal virtuele machines in de catalogus, bijvoorbeeld 4.
Geef het schema op waarmee virtuele machines namen toegekend krijgen, in mijn geval is dit desktop##. In dat geval worden er 4 VM's aangemaakt met de namen desktop01-04.
Machine Catalog naam — m60.
Machine Catalog beschrijving — m60.
Na de creatie van de Machine Catalog met vier VM's, kunnen ze worden gevonden in de verticale lijst van XenCenter, aan de linkerkant.
Citrix Delivery Group
Het derde gedeelte begint met het kiezen van het aantal VM's waartoe toegang moet worden verleend. Ik zal alle vier aangeven.
In de sectie 'Desktops' klikken we op 'Toevoegen' om een groep VM's toe te voegen waartoe we toegang zullen verlenen. Weergeven naam - m60.
Leveringsgroep naam - m60.
Na het instellen van de drie belangrijkste secties zal het hoofdvenster van Citrix Studio er ongeveer zo uitzien.

Citrix licentiebeheerder
We downloaden het licentiebestand via het persoonlijke account op de website. .
In de verticale lijst aan de linkerzijde kiezen we voor Alle Licentietools (Legacy). We gaan naar het tabblad 'Licenties activeren en toewijzen'. We selecteren de Citrix VDA-licenties en klikken op 'Doorgaan'. We geven de naam van onze Delivery Controller op - ws-dc.domain.ru en het aantal licenties - 4. We klikken op 'Doorgaan'. We downloaden het gegenereerde licentiebestand naar ws-dc.domain.ru.

In de linker verticale lijst van Citrix Studio selecteren we de sectie 'Licenties'. In de rechter verticale lijst klikken we op 'Licentiebeheersconsole'. In het geopende browservenster vullen we de inloggegevens voor de domeingebruiker DOMENAdministrator in.
In Citrix Licensing Manager gaan we naar het tabblad 'Licentie installeren'. Om het licentiebestand toe te voegen, moet 'Gebruik gedownload licentiebestand' worden geselecteerd.

De installatie van Citrix-componenten vereist het gebruik van meerdere virtuele machines, één component - één VM. In mijn geval functioneren alle systeemservices van Citrix binnen één VM. Daarom wil ik een bug benoemen die moeilijk te verhelpen was.
Als er na het herstarten van ws-dc problemen van verschillende aard optreden, raad ik aan eerst de actieve services te controleren. Hier is een lijst van Citrix-services die automatisch moeten opstarten na het herstarten van de VM:
SQL Server (SQLEXPRESS)
Citrix Configuratieservice
Citrix Gedelegeerde Beheerdienst
Citrix Analytics
Citrix Broker Service
Citrix Configuratie Logging Service
Citrix AD Identiteitsservice
Citrix Host Service
Citrix App Bibliotheek
Citrix Machine Creatie Service
Citrix Monitor Service
Citrix Storefront Service
Citrix Trust Service
Citrix Omgevings Testservice
Citrix Orkestratieservice
FlexNet Licentieserver -nvidiaIk had een probleem dat optrad bij het installeren van verschillende Citrix-services op één VM. Na het herstarten starten niet alle services op. Het was te veel werk om de hele keten een voor een op te starten. De oplossing was moeilijk te vinden via Google, daarom geef ik deze hier - je moet twee registerparameters wijzigen:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Naam : ServicesPipeTimeout
Waarde : 240000
Naam : WaitToKillServiceTimeout
Waarde : 20000Nvidia licentiebeheerder
We downloaden de NVIDIA licentiebeheerder voor Windows via het persoonlijke account op de website. . Het is beter om via Internet Explorer in te loggen.

We will install it on ws-dc. First, we will need to install and add the JAVA_HOME environment variable. After that, you can run setup.exe to install the NVIDIA License Manager.

We will create a server, generate and download the license file in your personal account on the website . Transfer the license file to ws-dc.

Using a browser, log in to the web interface of the NVIDIA License Manager available at :8080/licserver and add the license file.

Active sessions using vGPU can be viewed in the 'Licensed Clients' section.
Remote access to Citrix machine catalog
How to install Citrix Receiver?
How to connect to a virtual desktop?
On the working computer, open the browser, in my case it's Chrome, and go to the URL of the Citrix StoreWeb web interface
http://192.168.1.111/Citrix/StoreWebIf Citrix Receiver is not installed yet, click 'Detect Receiver'

Carefully read the license agreement, download and install Citrix Receiver

After installation, return to the browser and click 'Continue'

Then, in Chrome, a notification will appear; click 'Open Citrix Receiver Launcher', and then 'Detect Again' or 'Already Installed'

On the first connection, use the test user data test. Change the temporary password to a permanent one.

After logging in, go to the 'Applications' tab and select the 'M60' catalog

Download the suggested file with the .ica extension. After double-clicking it, a window will open in Desktop Viewer with the Centos 7 desktop

Bron: habr.com
