Accès à distance aux machines virtuelles avec GPU à l'aide de Citrix

Ce guide détaille les étapes à suivre pour préparer l'accès à distance aux bureaux virtuels à l'aide de la technologie offerte par Citrix.

Il sera utile à ceux qui se sont récemment familiarisés avec la technologie de virtualisation de bureau, car il s'agit d'une collection de commandes utiles assemblées à partir de ~ 10 manuels, dont beaucoup sont disponibles sur les sites Citrix, Nvidia, Microsoft, après autorisation.

Cette implémentation contient les étapes de préparation de l'accès à distance aux machines virtuelles (VM) avec les accélérateurs graphiques Nvidia Tesla M60 et le système d'exploitation Centos 7.

Commençons donc.

Préparation d'un hyperviseur pour l'hébergement de machines virtuelles


Comment télécharger et installer XenServer 7.4?
Comment ajouter XenServer à Citrix XenCenter?
Comment télécharger et installer le pilote Nvidia?
Comment changer le mode Nvidia Tesla M60?
Comment monter le stockage?


XenServer 7.4


Le lien de téléchargement de XenServer 7.4 est disponible après autorisation sur le site Web de Citrix .



Installons XenServer.iso sur un serveur avec 4x NVIDIA Tesla M60 de manière régulière. Dans mon cas, l'iso est monté via IPMI. Pour les serveurs Dell, le BMC est géré via IDRAC. Les étapes d'installation sont presque identiques à l'installation de systèmes d'exploitation de type Linux.

Mon adresse GPU XenServer c est 192.168.1.100

Installez XenCenter.msi sur l'ordinateur local à partir duquel nous gérerons les hyperviseurs et les machines virtuelles. Ajoutez-y un serveur avec un GPU et XenServer en cliquant sur l'onglet «Serveur», puis sur «Ajouter». Saisissez le nom d'utilisateur et le mot de passe root spécifiés lors de l'installation de XenServer.



Dans XenCenter, après avoir cliqué sur le nom de l'hyperviseur ajouté, l'onglet Console sera disponible. Dans le menu, sélectionnez «Configuration du service distant» et activez l'autorisation SSH - «Activer / désactiver le shell distant».

Pilote Nvidia


Je vais laisser libre cours à mes émotions et dire que pendant tout le temps que j'ai travaillé avec vGPU, je n'ai jamais visité le site nvid.nvidia.com du premier coup. Si l'autorisation ne fonctionne pas, je recommande Internet Explorer.

Téléchargez zip depuis vGPU, ainsi que GPUMode Change Utility:

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



Nous suivons les versions. Le nom de l'archive téléchargée indique la version des pilotes NVIDIA appropriés qui pourront être installés sur des machines virtuelles à l'avenir. Dans mon cas, c'est 390,72.

Jetez des zip sur XenServer et décompressez.

Changer le mode GPU et installer le pilote 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



Monter le stockage


Configurez un répertoire partagé à l'aide de NFS sur n'importe quel ordinateur du réseau.

$ 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

Dans XenCenter, sélectionnez XenServer et sélectionnez «Nouveau SR» dans l'onglet «Stockage». Spécifiez le type de stockage - NFS ISO. Le chemin doit pointer vers le répertoire partagé NFS.

Image Citrix Master basée sur Centos 7


Comment créer une machine virtuelle avec Centos 7?

Comment préparer une machine virtuelle pour créer un répertoire?


L'image de Centos 7



À l'aide de XenCenter, nous allons créer une machine virtuelle avec un GPU. Dans l'onglet «VM», cliquez sur «New VM».



Nous sélectionnons les paramètres nécessaires:

modèle de VM - autre support d'installation
Nom - modèle d'
installation à partir de la bibliothèque ISO - Centos 7 ( téléchargement ), sélectionnez dans le stockage ISO NFS monté.
Nombre de processeurs virtuels - 4
Topologie - 1 socket avec 4 cœurs par socket
Mémoire -
Type de GPU 30 Go - GRID M60-4Q
Utilisez ce disque virtuel -
Réseau 80 Go

Après la création, la machine virtuelle apparaîtra dans la liste verticale à gauche. Cliquez dessus et allez dans l'onglet "Console". Nous attendrons que le programme d'installation de Centos 7 se charge et effectue les étapes nécessaires pour installer le système d'exploitation avec le shell GNOME.

Préparation d'image


Il m'a fallu beaucoup de temps pour préparer l'image avec Centos 7. Cela a abouti à un ensemble de scripts qui facilite la configuration initiale de Linux et vous permet de créer un catalogue de machines virtuelles à l'aide de Citrix Machine Creation Services (MCS).

Le serveur DHCP installé sur ws-ad a attribué l'adresse IP 192.168.1.129 à la nouvelle machine virtuelle.

Voici les paramètres de base.

$ 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

Dans XenCenter, dans l'onglet «Console», montez guest-tools.iso dans le lecteur DVD de la machine virtuelle et installez XenTools pour Linux.

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

Lors de la configuration de XenServer, nous avons utilisé l'archive NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip téléchargée à partir du site Web NVIDIA, qui, en plus du pilote NVIDIA pour XenServer, contient le pilote NVIDIA dont nous avons besoin pour les clients vGPU. Téléchargez et installez-le sur la machine virtuelle.

$ 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

Téléchargez le Linux Virtual Delivery Agent 1811 (VDA) pour Centos 7. Le lien de téléchargement pour Linux VDA est disponible après autorisation sur le site Web de 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

Dans Citrix Studio, créez le groupe Machine Catalog and Delivery. Avant cela, vous devez installer et configurer Windows Server.

Windows Server avec contrôleur de domaine


Comment télécharger et installer Windows Server 2016?
Comment installer les composants de Windows Server?
Comment configurer Active Directory, DHCP et DNS?


Serveur Windows 2016


Puisqu'une machine virtuelle (VM) avec Windows Server n'a pas besoin d'un GPU, nous utiliserons un serveur sans GPU comme hyperviseur. Par analogie avec la description ci-dessus, installez un autre XenServer pour héberger les machines virtuelles du système.

Après cela, créez une machine virtuelle pour Windows Server avec Active Directory.

Téléchargez Windows Server 2016 depuis le site Web de Microsoft . Il vaut mieux suivre le lien en utilisant Internet Explorer.



À l'aide de XenCenter, nous allons créer une machine virtuelle. Dans l'onglet «VM», cliquez sur «New VM».



Nous sélectionnons les paramètres nécessaires:

Modèle de machine virtuelle - Windows Server 2016 (64 bits)
Nom - ws-ad.domain.ru
Installer à partir de la bibliothèque ISO - WindowsServer2016.iso, sélectionnez dans le stockage ISO NFS monté.
Nombre de processeurs virtuels - 4
Topologie - 1 socket avec 4 cœurs par socket
Mémoire -
Type GPU 20 Go - aucun
Utiliser ce disque virtuel -
Réseau 100 Go

Après la création, la machine virtuelle apparaîtra dans la liste verticale à gauche. Cliquez dessus et allez dans l'onglet "Console". Attendez que le programme d'installation de Windows Server se charge et suivez les étapes nécessaires pour installer le système d'exploitation.

Installez dans XenTools VM. Faites un clic droit sur VM, puis "Installer Citrix VM Tools ...". Après cela, l'image dont vous avez besoin pour exécuter et installer XenTools sera montée. À la fin de l'installation, un redémarrage de la VM sera nécessaire.

Configurer la carte réseau:

adresse IP -
masque 192.168.1.110 -
passerelle 255.255.255.0 - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Si Windows Server n'est pas activé, activez-le. La clé peut être prise au même endroit où l'image a été téléchargée.

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

Configurez le nom de l'ordinateur. Dans mon cas, c'est ws-ad.

Installation des composants


Dans le gestionnaire de serveur, sélectionnez «Ajouter des rôles et des fonctionnalités». Notez l'installation du serveur DHCP, du serveur DNC et des services de domaine Active Directory. Cochez la case "Recharger automatiquement".



Configurer Active Directoy


Après avoir redémarré la machine virtuelle, cliquez sur "Élever ce serveur au niveau du contrôleur de domaine" et ajoutez une nouvelle forêt domain.ru.

Configuration du serveur DHCP


Dans le panneau supérieur du gestionnaire de serveurs, cliquez sur le point d'exclamation pour enregistrer les modifications lors de l'installation du serveur DHCP.

Passons aux paramètres du serveur DHCP.



Créez une nouvelle zone 192.168.1.120-130. Nous ne changeons pas le reste. Sélectionnez «Configurer les paramètres DHCP maintenant» et entrez l'adresse IP ws-ad (192.168.1.110) comme passerelle et DNS, qui sera spécifié dans les paramètres des adaptateurs réseau des machines virtuelles à partir du répertoire.

Configuration du serveur DNS


Passons aux paramètres du serveur DNS.



Créons une nouvelle zone de visualisation directe - zone principale, pour tous les serveurs DNS du domaine domain.ru. Ne changez rien d'autre.

Créez une nouvelle zone de recherche inversée en sélectionnant les mêmes options.

Dans les propriétés du serveur DNS, dans l'onglet "Avancé", cochez la case "Désactiver la récursivité".

Créer un utilisateur test


Allons au "Centre d'administration Active Directory"



Dans la section "Utilisateurs" à droite, cliquez sur "Créer". Saisissez un nom, par exemple test, puis cliquez sur OK ci-dessous.



Nous allons sélectionner l'utilisateur créé et sélectionner "Réinitialiser le mot de passe" dans le menu vertical à droite. Laissez la coche «Exiger un changement de mot de passe la prochaine fois que vous vous connecterez au système».

Windows Server avec Citrix Delivery Controller


Comment télécharger et installer Windows Server 2016?
Comment télécharger et installer Citrix Delivery Controller?
Comment installer et configurer Citrix License Manager?
Comment installer et configurer NVIDIA License Manager?


Serveur Windows 2016


Puisqu'une machine virtuelle (VM) avec Windows Server n'a pas besoin d'un GPU, nous utiliserons un serveur sans GPU comme hyperviseur.

Téléchargez Windows Server 2016 depuis le site Web de Microsoft . Il vaut mieux suivre le lien en utilisant Internet Explorer.



À l'aide de XenCenter, nous allons créer une machine virtuelle. Dans l'onglet «VM», cliquez sur «New VM».



Sélectionnez les paramètres nécessaires:

Modèle de machine virtuelle - Windows Server 2016 (64 bits)
Nom - ws-dc
Installer à partir de la bibliothèque ISO - WindowsServer2016.iso, sélectionnez dans le stockage ISO NFS monté.
Nombre de vCPU - 4
Topologie - 1 socket avec 4 cœurs par socket
Mémoire -
Type de GPU 20 Go - aucun
Utiliser ce disque virtuel -
Réseau 100 Go

Après la création, la machine virtuelle apparaîtra dans la liste verticale à gauche. Cliquez dessus et allez dans l'onglet "Console". Nous attendrons que le programme d'installation de Windows Server se charge et accomplisse les étapes nécessaires pour installer le système d'exploitation.

Installez dans XenTools VM. Faites un clic droit sur VM, puis "Installer Citrix VM Tools ...". Après cela, l'image dont vous avez besoin pour exécuter et installer XenTools sera montée. À la fin de l'installation, un redémarrage de la machine virtuelle est requis.

Configurez la carte réseau:

adresse IP -
masque 192.168.1.111 -
passerelle 255.255.255.0 - 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

Si Windows Server n'est pas activé, nous l'activerons. La clé peut être prise au même endroit où l'image a été téléchargée.

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

Configurez le nom de l'ordinateur. Dans mon cas, c'est ws-dc.

Ajoutez la machine virtuelle au domaine domen.ru, redémarrez et connectez-vous sous le compte d'administrateur de domaine DOMEN \ Administrator.

Contrôleur de distribution Citrix


Téléchargez Citrix Virtual Apps and Desktops 1811 sur ws-dc.domain.com. Le lien de téléchargement Citrix Virtual Apps and Desktops est disponible après la connexion au site Web Citrix .



Montez l'iso téléchargé et exécutez. Choisissez Citrix Virtual Apps and Desktops 7. Ensuite, cliquez sur "Commencer". Un redémarrage peut être nécessaire.



Dans mon cas, il suffit de sélectionner les composants suivants pour l'installation:

Delivery Controller
Studio
License Server
StoreFront

Ne changez rien d'autre et cliquez sur «Installer». Un redémarrage sera nécessaire plusieurs fois, après quoi l'installation se poursuivra.

Dès que l'installation est terminée, Citrix Studio, l'environnement de gestion de batterie de serveurs Citrix, démarre.



Configuration du site Citrix


Choisissez la première section des trois - Configuration du site. Lors de la définition, spécifiez le nom du site - domaine.

Dans la section «Connexion», nous spécifions les données de connexion de l'hyperviseur au GPU:

Adresse de connexion - 192.168.1.100
Nom d'utilisateur -
Mot de passe root - Votre mot de passe
Nom de connexion -

Gestion du magasin m60 - Utilisez le stockage local sur l'hyperviseur.

Nom de ces ressources - m60.

Sélectionnez les réseaux.

Sélectionnez un type et un groupe de GPU - GRID M60-4Q.

Optimisation des catalogues de machines Citrix


Lors de la configuration de la deuxième section - Catalogues de machines, sélectionnez OS à session unique (OS de bureau).

Image principale - nous sélectionnerons l'image de la machine virtuelle préparée et la version de Citrix Virtual Apps and Desktops - 1811.

Nous sélectionnerons le nombre de machines virtuelles dans le répertoire, par exemple 4.

Nous indiquerons le schéma par lequel les machines virtuelles seront nommées, dans mon cas, c'est le bureau ##. Dans ce cas, 4 VM avec les noms desktop01-04 seront créées.

Nom du catalogue de machines - m60.

Description du catalogue de machines - m60.

Après avoir créé le catalogue de machines avec quatre machines virtuelles, elles se trouvent dans la liste verticale de XenCenter à gauche.

Groupe de mise à disposition Citrix


La troisième section commence par sélectionner le nombre de machines virtuelles auxquelles l'accès doit être accordé. Je vais indiquer les quatre.

Dans la section "Ordinateurs de bureau", cliquez sur "Ajouter" pour ajouter le groupe de machines virtuelles auquel nous fournirons l'accès. Nom d'affichage - m60.

Nom du groupe de mise à disposition - m60.

Après avoir configuré les trois sections principales, la fenêtre principale de Citrix Studio ressemblera à ceci:



Gestionnaire de licences Citrix


Téléchargez le fichier de licence via votre compte personnel sur le site Web de Citrix .

Dans la liste verticale à gauche, sélectionnez Tous les outils de licence (hérités). Accédez à l'onglet "Activer et attribuer des licences". Sélectionnez les licences Citrix VDA et cliquez sur Continuer. Indiquez le nom de notre Delivery Controller - ws-dc.domain.ru et le nombre de licences - 4. Cliquez sur "Continuer". Téléchargez le fichier de licence généré pour ws-dc.domain.ru.



Dans la liste verticale de gauche de Citrix Studio, sélectionnez la section "Licence". Dans la liste verticale de droite, cliquez sur "License Management Console". Dans la fenêtre du navigateur qui s'ouvre, entrez les données pour l'autorisation de l'utilisateur de domaine DOMEN \ Administrateur.

Dans Citrix Licensing Manager, accédez à l'onglet «Installer la licence». Pour ajouter un fichier de licence, sélectionnez "Utiliser le fichier de licence téléchargé".



L'installation des composants Citrix implique l'utilisation de plusieurs machines virtuelles, un composant - une VM. Dans mon cas, tous les services système Citrix fonctionnent sur la même machine virtuelle. À cet égard, je note un bug, dont la correction a été particulièrement difficile pour moi.

Si après le redémarrage de ws-dc il y a des problèmes de nature différente, je vous recommande de vérifier d'abord les services en cours d'exécution. Voici une liste des services Citrix qui devraient démarrer automatiquement après un redémarrage de la machine virtuelle:

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

J'ai rencontré un problème qui se produit lors de l'installation de divers services Citrix sur une seule machine virtuelle. Après un redémarrage, tous les services ne démarrent pas. Un par un pour lancer toute la chaîne, c'était la paresse. La solution a été recherchée sur Google, je l'apporte ici - deux paramètres doivent être modifiés dans le registre:

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

Name : WaitToKillServiceTimeout
Value : 20000

Gestionnaire de licence Nvidia


Téléchargez NVIDIA License Manager pour Windows via votre compte personnel sur nvid.nvidia.com . Il vaut mieux passer par Internet Explorer.



Installez-le sur ws-dc. Pour ce faire, vous devez d'abord installer JAVA et ajouter la variable d'environnement JAVA_HOME. Après cela, vous pouvez exécuter setup.exe pour installer le gestionnaire de licences NVIDIA.



Créons un serveur, générons et téléchargeons le fichier de licence dans votre compte personnel sur le site nvid.nvidia.com . Transférons le fichier de licence pour ws-dc.



À l'aide d'un navigateur, nous nous connectons à l'interface Web du gestionnaire de licences NVIDIA, disponible sur localhost : 8080 / licserver et ajoutons un fichier de licence.



Les sessions actives utilisant vGPU peuvent être consultées dans la section Clients sous licence.

Accès à distance au catalogue de machines Citrix



Comment installer Citrix Receiver?
Comment se connecter à un bureau virtuel?


Sur l'ordinateur de travail, ouvrez un navigateur, dans mon cas c'est Chrome, et allez à l'adresse de l'interface web de Citrix StoreWeb

http://192.168.1.111/Citrix/StoreWeb

Si Citrix Recever n'est pas déjà installé, cliquez sur "Découvrir Receiver". Nous



lisons attentivement le contrat de licence, téléchargez et installez Citrix Receiver.



Après l'installation, revenez au navigateur et cliquez sur "Continuer".



Ensuite, une notification s'ouvre dans le navigateur Chrome, cliquez sur "Ouvrir l'application Citrix Receiver Launcher". , puis «Détecter à nouveau» ou «Déjà installé».



Pour la première connexion, nous utiliserons les données du test utilisateur test. Remplacez le mot de passe temporaire par un mot de passe permanent.



Après autorisation, allez dans l'onglet «Applications» et sélectionnez le



répertoire «M60» Téléchargez le fichier proposé avec l'extension .ica. Après avoir double-cliqué dessus, une fenêtre s'ouvre dans Desktop Veiwer avec le bureau Centos 7


All Articles