Отдалечен достъп до ВМ с GPU чрез Citrix

В това ръководство подробно са описани стъпките, които трябва да се изпълнят за подготовка на отдалечен достъп до виртуални работни настолни системи с помощта на технологията, предлагана от компания Citrix.

То ще бъде полезно за онези, които току-що са се запознали с технологията за виртуализация на работни настолни системи, тъй като представлява сборник с полезни команди, събрани от около 10 ръководства, много от които са достъпни на сайтовете на Citrix, Nvidia, Microsoft, след авторизация.

Тази реализация съдържа етапи за подготовка на отдалечен достъп до виртуални машини (VM) с графични ускорители Nvidia Tesla M60 и операционна система Centos 7.

И така, да започнем.

Подготовка на хипервизора за хостинг на виртуални машини

Как да изтеглим и инсталираме XenServer 7.4?
Как да добавим XenServer в Citrix XenCenter?
Как да изтеглим и инсталирам Nvidia драйвер?
Как да променим режима на Nvidia Tesla M60?
Как да монтираме хранилище?

XenServer 7.4

Линк за изтегляне XenServer 7.4 е наличен след авторизация на сайта Citrix.

Отдалечен достъп до ВМ с GPU чрез Citrix

Ще инсталираме XenServer.iso на сървър с 4x NVIDIA Tesla M60 по стандартния начин. В моя случай iso се монтира чрез IPMI. За сървъри Dell управлението на контролера BMC се извършва чрез IDRAC. Етапите на инсталация практически съвпадат с инсталирането на Linux подобни операционни системи.

Моят адрес на XenServer с GPU е 192.168.1.100

Ще инсталираме XenCenter.msi на локалния компютър, от който ще управляваме хипервизорите и виртуалните машини. Ще добавим там сървъра с GPU и XenServer, като натиснем върху раздела «Server», след това «Add». Въведем логин и парола root, предоставени по време на инсталирането на XenServer.

Отдалечен достъп до ВМ с GPU чрез Citrix

В XenCenter, след натискане на името на добавения хипервизор, ще е достъпен раздел «Console». В менюто изберете «Remote Service Configuration» и активирайте удостоверяване по SSH — «Enable/Disable Remote Shell».

Nvidia драйвер

Ще дам воля на емоциите и ще кажа, че през всичките тези години работа с vGPU не успях да вляза на сайта nvid.nvidia.com от първия опит. Ако удостоверяването не работи, препоръчвам Internet Explorer.

Ще изтеглим zip с vGPU, а също така и GPUMode Change Utility:

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

Отдалечен достъп до ВМ с GPU чрез Citrix

Следим версиите. В името на изтегления архив е указана версията на съответните NVIDIA драйвери, които може по-късно да инсталираме на виртуалните машини. В моя случай това е 390.72.

Копираме zip файловете на XenServer и ги разархивираме.

Ще променим режима на GPU и ще инсталираме драйвера 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

Отдалечен достъп до ВМ с GPU чрез Citrix

Монтиране на хранилище

Настройте обща директория с помощта на NFS на всяко устройство в мрежата.

$ 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

В XenCenter изберете XenServer и на вкладката «Storage» изберете «New SR». Укажете типа на хранилището – NFS ISO. Пътят трябва да сочи към общата директория NFS.

Citrix Master Image на базата на Centos 7

Как да създадете виртуална машина с Centos 7?

Как да подготвите виртуалната машина за създаване на каталог?

Образ на Centos 7

С помощта на XenCenter ще създадем виртуална машина с GPU. На вкладката «VM» натиснете «New VM».

Отдалечен достъп до ВМ с GPU чрез Citrix

Изберете необходимите параметри:

VM template – Other install media
Име – template
Инсталирайте от ISO библиотеката – Centos 7 (изтегли), изберете от монтираното хранилище NFS ISO.
Брой vCPUs – 4
Топология – 1 сокет с 4 ядра на сокет
Памет – 30 Gb
Тип GPU – GRID M60-4Q
Използвайте този виртуален диск – 80 Gb
Мрежа

След създаването, виртуалната машина ще се появи в вертикалния списък отляво. Натиснете я и преминете на вкладката «Console». Изчакайте зареждането на инсталационера на Centos 7 и изпълнете необходимите стъпки за инсталиране на ОС с интерфейса GNOME.

Подготовка на образа

Подготовката на образа с Centos 7 ми отне много време. В последствие получих набор от скриптове, които улесняват първоначалната настройка на Linux и ще позволят създаването на каталог на виртуални машини с помощта на Citrix Machine Creation Services (MCS).

DHCP сървърът, инсталиран на ws-ad, присвои на новата виртуална машина IP адрес 192.168.1.129.

Следващото, което ще предоставя, са основните настройки.

$ 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

В XenCenter на вкладке «Console» монтируем guest-tools.iso в DVD-привод виртуальной машины и выполняем установку XenTools для Linux.

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

При настройке XenServer мы использовали архив NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip, загруженный с сайта NVIDIA, в котором, помимо драйвера NVIDIA для XenServer, находится необходимый нам драйвер NVIDIA для клиентов vGPU. Скачиваем и устанавливаем его на ВМ.

$ 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

Скачиваем Linux Virtual Delivery Agent 1811 (VDA) для Centos 7. Ссылка для скачивания Linux VDA е наличен след авторизация на сайта 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

В Citrix Studio создаем Machine Catalog и Delivery group. Перед этим необходимо установить и настроить Windows Server.

Windows Server с Domain Controller

Как скачать и установить Windows Server 2016?
Как установить компоненты Windows Server?
Как настроить Active Directory, DHCP и DNS?

Windows server 2016

Поскольку виртуальной машине (ВМ) с Windows Server не нужны GPU, мы будем использовать в качестве гипервизора сервер без GPU. По аналогии с описанием выше, установим еще один XenServer для хостинга системных виртуальных машин.

После этого создаем виртуальную машину для Windows Server с Active Directory.

Скачиваем Windows Server 2016 с сайта Microsoft. По-добре е да отидете по линка с Internet Explorer.

Отдалечен достъп до ВМ с GPU чрез Citrix

С XenCenter ще създадем виртуална машина. В таба «VM» кликнете на «New VM».

Отдалечен достъп до ВМ с GPU чрез Citrix

Изберете необходимите параметри:

VM шаблон — Windows Server 2016 (64-бит)
Име — ws-ad.domain.ru
Инсталиране от ISO библиотека — WindowsServer2016.iso, избираме от монтираното хранилище NFS ISO.
Брой vCPUs – 4
Топология – 1 сокет с 4 ядра на сокет
Памет — 20 Гб
Тип GPU — никакъв
Използвайте този виртуален диск — 100 Гб
Мрежа

След създаването, виртуалната машина ще се появи в вертикалния списък отляво. Ще кликнем на нея и ще преминем в таба «Console». Ще изчакаме да се зареди установчика на Windows Server и ще изпълним необходимите стъпки за инсталиране на ОС.

Ще инсталираме XenTools в ВМ. С десен бутон върху ВМ, след това «Install Citrix VM Tools…». След това ще бъде монтиран образ, който трябва да стартирате и инсталирате XenTools. След края на инсталацията ще е необходимо перезареждане на ВМ.

Ще конфигурираме мрежовия адаптер:

IP адрес — 192.168.1.110
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4

Ако Windows Server не е активиран, ще извършим активация. Ключът можете да вземете от същото място, откъдето изтеглихте образа.

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

Ще конфигурираме името на компютъра. В моя случай това е ws-ad.

Инсталиране на компоненти

В мениджъра на сървъри ще изберем «Добавяне на роли и компоненти». Отбелязваме за инсталация DHCP сървър, DNS сървър и Домейн услуги Active Directory. Отбелязваме отметката «Автоматично рестартиране».

Отдалечен достъп до ВМ с GPU чрез Citrix

Конфигурация на Active Directory

След рестартиране на ВМ, кликваме на «Повиши този сървър до ниво контролер на домейн» и добавяме ново дърво domain.ru.

Конфигурация на DHCP сървър

В горния панел на мениджъра на сървъри Нажмите върху удивителния знак, за да запазите промените при инсталирането на DHCP сървъра.

Преминаваме към настройките на DHCP сървъра.

Отдалечен достъп до ВМ с GPU чрез Citrix

Създаваме нова област 192.168.1.120-130. Останалото не променяме. Избираме «Настройте параметрите на DHCP сега» и въвеждаме IP адрес ws-ad (192.168.1.110) като шлюз и DNS, които ще се указват в настройките на мрежовите адаптери на виртуалните машини от каталога.

Конфигурация на DNS сървър

Преминаваме към настройките на DNS сървера.

Отдалечен достъп до ВМ с GPU чрез Citrix

Създаваме нова зона за директно взиране — primary zone, за всички DNS сървъри в домейна domain.ru. Нищо друго не променяме.

Създаваме нова зона за обратно взиране, избирате аналогични параметри.

В свойствата на DNS сървера, в таба «Допълнително», поставяме отметка на «Деактивирай рекурсия».

Създаване на тестов потребител

Преминаваме към «Център за администриране на Active Directory»

Отдалечен достъп до ВМ с GPU чрез Citrix

В секцията «Users» вдясно ще натиснем «Създай». Въвеждаме име, например test, и в долната част натискаме «ОК».

Отдалечен достъп до ВМ с GPU чрез Citrix

Изберете създадена потребител и в вертикалното меню отдясно изберете „Нулиране на паролата“. Оставете отметката „Изисквай смяна на паролата при следващо влизане в системата“.

Windows Server с Citrix Delivery Controller

Как скачать и установить Windows Server 2016?
Как да изтеглим и инсталираме Citrix Delivery Controller?
Как да инсталираме и настроим Citrix License Manager?
Как да инсталираме и настроим NVIDIA License Manager?

Windows server 2016

Тъй като на виртуалната машина (ВМ) с Windows Server не са необходими GPU, ще използваме сървър без GPU като хипервизор.

Скачиваем Windows Server 2016 с сайта Microsoft. По-добре е да отидете по линка с Internet Explorer.

Отдалечен достъп до ВМ с GPU чрез Citrix

С XenCenter ще създадем виртуална машина. В таба «VM» кликнете на «New VM».

Отдалечен достъп до ВМ с GPU чрез Citrix

Изберете необходимите параметри:

VM шаблон — Windows Server 2016 (64-бит)
Name — ws-dc
Инсталиране от ISO библиотека — WindowsServer2016.iso, избираме от монтираното хранилище NFS ISO.
Брой vCPUs – 4
Топология – 1 сокет с 4 ядра на сокет
Памет — 20 Гб
Тип GPU — никакъв
Използвайте този виртуален диск — 100 Гб
Мрежа

След създаването, виртуалната машина ще се появи в вертикалния списък отляво. Ще я натиснем и ще преминем на раздела „Конзола“. Ще изчакаме да се зареди инсталаторът на Windows Server и ще изпълним необходимите стъпки за инсталиране на ОС.

Ще инсталираме XenTools в ВМ. С десен бутон върху ВМ, след това «Install Citrix VM Tools…». След това ще бъде монтиран образ, който трябва да стартирате и инсталирате XenTools. След края на инсталацията ще е необходимо перезареждане на ВМ.

Ще конфигурираме мрежовия адаптер:

IP адрес — 192.168.1.111
Маска — 255.255.255.0
Шлюз — 192.168.1.1
DNS1 — 8.8.8.8
DNS2 — 8.8.4.4

Ако Windows Server не е активиран, ще извършим активация. Ключът можете да вземете от същото място, откъдето изтеглихте образа.

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

Настройваме името на компютъра. В моя случай това е ws-dc.

Добавяме ВМ в домейн domen.ru, перезареждаме и се удостоверяваме с домейн акаунта на администратора DOMENAdministrator.

Citrix delivery controller

Сваляме Citrix Virtual Apps and Desktops 1811 на ws-dc.domain.ru. Връзка за сваляне Citrix Virtual Apps and Desktops е наличен след авторизация на сайта Citrix.

Отдалечен достъп до ВМ с GPU чрез Citrix

Монтираме изтегления iso и го стартираме. Избираме „Citrix Virtual Apps and Desktops 7“. След това натискаме „Започнете“. Може да се наложи перезареждане.

Отдалечен достъп до ВМ с GPU чрез Citrix

В моя случай е достатъчно да изберем за инсталиране следните компоненти:

Delivery Controller
Studio
License Server
StoreFront

Не променяме нищо друго и натискаме „Инсталирай“. Възможно е да се изисква перезареждане, след което инсталацията ще продължи.

След като инсталацията завърши, ще стартира Citrix Studio — среда за управление на всичко свързано с Citrix.

Отдалечен достъп до ВМ с GPU чрез Citrix

Настройка на Citrix Site

Избираме първия раздел от трите — Настройка на сайта. При настройката посочваме Име на сайта — domain.

В раздела „Връзка“ посочваме данни за свързване на хипервизора с GPU:

Адрес на връзката — 192.168.1.100
Потребителско име — root
Парола — yourpassword
Име на връзката — m60

Управление на хранилища — Използвайте локално хранилище за хипервизора.

Име на тези ресурси — m60.

Изберете мрежи.

Изберете тип и група GPU — GRID M60-4Q.

Настройка на Citrix Machine Catalogs

При настройката на втория раздел — Machine Catalogs, избираме Single-session OS (Desktop OS).

Master Image — избираме подготвения образ на виртуалната машина и версията на Citrix Virtual Apps and Desktops — 1811.

Избираме броя на виртуалните машини в каталога, например 4.

Посочваме схема, по която виртуалните машини ще получават имена, в моя случай това е desktop##. В този случай ще бъдат създадени 4 ВМ с имена desktop01-04.

Име на Machine Catalog — m60.

Описание на Machine Catalog — m60.

След създаването на Machine Catalog с четирите ВМ, те могат да бъдат намерени в вертикалния списък на XenCenter, отляво.

Citrix Delivery Group

Третият раздел започва с избора на броя на ВМ, на които трябва да предоставим достъп. Ще посоча всички четири.

В секция «Desktops» натискаме «Add», за да добавим група ВМ, на които ще предоставим достъп. Display name — m60.

Delivery group name — m60.

След настройката на трите основни раздела, главният прозорец Citrix Studio ще изглежда приблизително така.

Отдалечен достъп до ВМ с GPU чрез Citrix

Citrix license manager

Ще изтеглим файла с лицензията през личния кабинет на сайта. Citrix.

В вертикалния списък отляво избираме All Licensing Tools (Legacy). Преминаваме на таба «Activate and Allocate Licenses». Избираме лицензи Citrix VDA и натискаме «Continue». Указваме името на нашия Delivery Controller — ws-dc.domain.ru и броя на лицензите — 4. Натискаме «Continue». Изтеглете генерирания файл с лицензия на ws-dc.domain.ru.

Отдалечен достъп до ВМ с GPU чрез Citrix

В левия вертикален списък на Citrix Studio избираме раздел «Licensing». В десния вертикален списък натискаме «License Management Console». В отваралия се прозорец на браузъра въвеждаме данните за удостоверяване на домейн потребителя DOMENAdministrator.

В Citrix Licensing Manager преминаваме на таба «Install License». За да добавите файла с лицензията, трябва да изберете «Use downloaded license file».

Отдалечен достъп до ВМ с GPU чрез Citrix

Инсталирането на компонентите Citrix предполага използването на няколко виртуални машини, един компонент — една ВМ. В моя случай, всичките системни услуги на Citrix функционират в рамките на една ВМ. Поради това отбелязвам един бъг, коригирането на който ми се отдаде особено трудно.

Ако след перезареждане на ws-dc възникнат проблеми от различен характер, препоръчвам първо да проверите стартираните услуги. Давам списък на услугите на Citrix, които трябва да се стартират автоматично след рестартиране на ВМ:

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

Срещнах проблем, който възниква при инсталирането на различни услуги на Citrix на една ВМ. След перезареждане не стартират всички услуги. Лично не ми се занимаваше с по едно стартиране на цялата верига. Решението трудно се намери в Google, затова го давам тук — трябва да промените два параметъра в регистъра:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Name : ServicesPipeTimeout
Value : 240000

Name : WaitToKillServiceTimeout
Value : 20000

Nvidia licence manager

Ще изтеглим лицензионния мениджър на NVIDIA за Windows през личния кабинет на сайта. nvid.nvidia.com. По-добре е да влизате през Internet Explorer.

Отдалечен достъп до ВМ с GPU чрез Citrix

Ще го инсталираме на ws-dc. За това първо е необходимо да инсталираме JAVA и да добавим променлива за среда JAVA_HOME. След това можем да стартираме setup.exe за инсталиране на NVIDIA License Manager.

Отдалечен достъп до ВМ с GPU чрез Citrix

Ще създадем сървър, ще генерираме и свалим файл с лиценз от потребителския си акаунт на сайта nvid.nvidia.com. Ще прехвърлим файла с лиценз на ws-dc.

Отдалечен достъп до ВМ с GPU чрез Citrix

С помощта на браузър ще се авторизираме в уеб-интерфейса на NVIDIA License Manager, достъпен по адрес localhost:8080/licserver и ще добавим файла с лиценз.

Отдалечен достъп до ВМ с GPU чрез Citrix

Активните сесии, използващи vGPU, могат да бъдат видяни в раздела „Лицензирани клиенти“.

Дистанционен достъп до каталога на Citrix машини

Как да инсталирам Citrix Receiver?
Как да се свържа с виртуален работен плот?

На работния компютър ще отворим браузър, в моя случай Chrome, и ще отидем на адреса на уеб интерфейса Citrix StoreWeb

http://192.168.1.111/Citrix/StoreWeb

Ако Citrix Receiver все още не е инсталиран, ще щракнем 'Открий Receiver'

Отдалечен достъп до ВМ с GPU чрез Citrix

Внимателно ще прочетем лицензионното споразумение, ще изтеглим и инсталираме Citrix Receiver

Отдалечен достъп до ВМ с GPU чрез Citrix

След инсталацията, ще се върнем в браузъра и ще щракнем 'Продължи'

Отдалечен достъп до ВМ с GPU чрез Citrix

След това, в браузера Chrome ще се появи известие, натиснете 'Отвори приложението Citrix Receiver Launcher', след това 'Открий отново' или 'Вече е инсталирано'

Отдалечен достъп до ВМ с GPU чрез Citrix

При първото свързване ще използваме данните на тестовия потребител test. Ще сменим временното парола с постоянна.

Отдалечен достъп до ВМ с GPU чрез Citrix

След авторизацията ще преминем на табa 'Приложения' и ще изберем каталога 'M60'

Отдалечен достъп до ВМ с GPU чрез Citrix

Ще изтеглим предлагания файл с разширение .ica. След двойно щракване върху него ще се отвори прозорец в Desktop Viewer с работния плот Centos 7.

Отдалечен достъп до ВМ с GPU чрез Citrix

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster