В това ръководство подробно са описани стъпките, които трябва да се изпълнят за подготовка на отдалечен достъп до виртуални работни настолни системи с помощта на технологията, предлагана от компания 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.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.

В XenCenter, след натискане на името на добавения хипервизор, ще е достъпен раздел «Console». В менюто изберете «Remote Service Configuration» и активирайте удостоверяване по SSH — «Enable/Disable Remote Shell».
Nvidia драйвер
Ще дам воля на емоциите и ще кажа, че през всичките тези години работа с vGPU не успях да вляза на сайта от първия опит. Ако удостоверяването не работи, препоръчвам Internet Explorer.
Ще изтеглим zip с vGPU, а също така и GPUMode Change Utility:
NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip
NVIDIA-gpumodeswitch-2020-01.zip

Следим версиите. В името на изтегления архив е указана версията на съответните 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 
Монтиране на хранилище
Настройте обща директория с помощта на 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».

Изберете необходимите параметри:
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. Ссылка для скачивания е наличен след авторизация на сайта .
$ 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 с сайта . По-добре е да отидете по линка с Internet Explorer.

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

Изберете необходимите параметри:
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. Отбелязваме отметката «Автоматично рестартиране».

Конфигурация на Active Directory
След рестартиране на ВМ, кликваме на «Повиши този сървър до ниво контролер на домейн» и добавяме ново дърво domain.ru.
Конфигурация на DHCP сървър
В горния панел на мениджъра на сървъри Нажмите върху удивителния знак, за да запазите промените при инсталирането на DHCP сървъра.
Преминаваме към настройките на DHCP сървъра.

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

Създаваме нова зона за директно взиране — primary zone, за всички DNS сървъри в домейна domain.ru. Нищо друго не променяме.
Създаваме нова зона за обратно взиране, избирате аналогични параметри.
В свойствата на DNS сървера, в таба «Допълнително», поставяме отметка на «Деактивирай рекурсия».
Създаване на тестов потребител
Преминаваме към «Център за администриране на Active Directory»

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

Изберете създадена потребител и в вертикалното меню отдясно изберете „Нулиране на паролата“. Оставете отметката „Изисквай смяна на паролата при следващо влизане в системата“.
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 с сайта . По-добре е да отидете по линка с Internet Explorer.

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

Изберете необходимите параметри:
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. Връзка за сваляне е наличен след авторизация на сайта .

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

В моя случай е достатъчно да изберем за инсталиране следните компоненти:
Delivery Controller
Studio
License Server
StoreFront
Не променяме нищо друго и натискаме „Инсталирай“. Възможно е да се изисква перезареждане, след което инсталацията ще продължи.
След като инсталацията завърши, ще стартира Citrix Studio — среда за управление на всичко свързано с Citrix.

Настройка на Citrix Site
Избираме първия раздел от трите — Настройка на сайта. При настройката посочваме Име на сайта — domain.
В раздела „Връзка“ посочваме данни за свързване на хипервизора с GPU:
Адрес на връзката —
Потребителско име — 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 ще изглежда приблизително така.

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

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

Инсталирането на компонентите 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 : 20000Nvidia licence manager
Ще изтеглим лицензионния мениджър на NVIDIA за Windows през личния кабинет на сайта. . По-добре е да влизате през Internet Explorer.

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

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

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

Активните сесии, използващи vGPU, могат да бъдат видяни в раздела „Лицензирани клиенти“.
Дистанционен достъп до каталога на Citrix машини
Как да инсталирам Citrix Receiver?
Как да се свържа с виртуален работен плот?
На работния компютър ще отворим браузър, в моя случай Chrome, и ще отидем на адреса на уеб интерфейса Citrix StoreWeb
http://192.168.1.111/Citrix/StoreWebАко Citrix Receiver все още не е инсталиран, ще щракнем 'Открий Receiver'

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

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

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

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

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

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

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