У дадзеным кіраўніцтве падрабязна апісаны крокі, якія неабходна выканаць пры падрыхтоўцы выдаленага доступу да віртуальных працоўных сталоў з дапамогай тэхналогіі, якую прапануе кампанія Citrix.
Яно будзе карысна тым, хто нядаўна пазнаёміўся з тэхналогіяй віртуалізацыі працоўных сталоў, бо з'яўляецца складанкай карысных каманд, сабраных з ~10 мануалаў, шматлікія з якіх даступныя на сайтах Citrix, Nvidia, Microsoft, пасля аўтарызацыі.
Дадзеная рэалізацыя ўтрымоўвае этапы падрыхтоўкі выдаленага доступу да віртуальных машын (ВМ) з графічнымі паскаральнікамі 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 c 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 я ні разу не зайшоў на сайт
Спампуем zip c 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
Mount storage
Наладзім агульную дырэкторыю з дапамогай 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
Name - template
Install from ISO library - Centos 7 (
Number of vCPUs - 4
Topology - 1 socket with 4 cores per socket
Memory - 30 Gb
GPU type - GRID M60-4Q
Use this virtual disk – 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 для кліентаў. Спампуем і ўсталюем яго на ВМ.
$ 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 сервер 2016
Так як віртуальнай машыне (ВМ) з Windows Server не патрэбныя GPU, мы будзем выкарыстоўваць у якасці гіпервізара сервер без GPU. Па аналогіі з апісаннем вышэй, усталюем яшчэ адзін XenServer для хостынгу сістэмных віртуальных машын.
Пасля гэтага створым віртуальную машыну для Windows Server з Active Directory.
Спампуем Windows Server 2016 з сайта
З дапамогай XenCenter створым віртуальную машыну. Ва ўкладцы "VM" націснем "New VM".
Выбіраемы неабходныя параметры:
VM template - Windows Server 2016 (64-bit)
Name - ws-ad.domain.ru
Install from ISO library - WindowsServer2016.iso, выбіраемы з прымантаванага сховішчы NFS ISO.
Number of vCPUs - 4
Topology - 1 socket with 4 cores per socket
Memory - 20 Gb
GPU type - none
Use this virtual disk – 100 Gb
сетка
Пасля стварэння, віртуальная машына з'явіцца ў вертыкальным спісе злева. Націснем на яе і пяройдзем ва ўкладку "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-сервер, DNC-сервер і Даменныя службы Active Directory. Адзначым галачку "Перазагрузіць аўтаматычна".
Настройка Active Directoy
Пасля перазагрузкі ВМ, ціснем "Узняць гэты сервер да ўзроўню кантролера дамена" і дадамо новы лес 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 сервер 2016
Так як віртуальнай машыне (ВМ) з Windows Server не патрэбныя GPU, мы будзем выкарыстоўваць у якасці гіпервізара сервер без GPU.
Спампуем Windows Server 2016 з сайта
З дапамогай XenCenter створым віртуальную машыну. Ва ўкладцы "VM" націснем "New VM".
Выбіраемы неабходныя параметры:
VM template - Windows Server 2016 (64-bit)
Name - ws-dc
Install from ISO library - WindowsServer2016.iso, выбіраемы з прымантаванага сховішчы NFS ISO.
Number of vCPUs - 4
Topology - 1 socket with 4 cores per socket
Memory - 20 Gb
GPU type - none
Use this virtual disk – 100 Gb
сетка
Пасля стварэння, віртуальная машына з'явіцца ў вертыкальным спісе злева. Націснем на яе і пяройдзем ва ўкладку "Console". Дачакаемся загрузкі ўсталёўніка 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". Далей націснем "Get started". Магчыма, спатрэбіцца перазагрузка.
У маім выпадку дастаткова абраць для ўсталёўкі наступныя кампаненты:
Delivery Controller
студыя
Сервер ліцэнзіі
StoreFront
Больш нічога не змяняем і ціснем "Усталяваць". Не аднаразова спатрэбіцца перазагрузка, пасля чаго ўстаноўка будзе працягнута.
Як толькі ўстаноўка будзе завершана запусціцца Citrix Studio - асяроддзе кіравання ўсёй гаспадаркай Citrix.
Настройка Citrix Site
Выберам першы раздзел з трох - Site setup. Пры наладзе пакажам Site Name - domain.
У падзеле «Connection» пакажам дадзеныя для падлучэння гіпервізара з GPU:
Connection address -
User name - root
Password - yourpassword
Connection Name - m60
Store management - Use storage local to the hypervisor.
Name for these resources - m60.
Select networks.
Select a 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 name - m60.
Machine Catalog description - 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 Controllera – 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 на адну ВМ. Пасля перазагрузкі стартуюцца не ўсе сервісы. Па адным запускаць увесь ланцужок было лянота. Рашэнне цяжка гуглілася, таму прыводжу яго тут - варта памяняць у рэестры два параметры:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Name : ServicesPipeTimeout
Value :240000
Name : WaitToKillServiceTimeout
Value : 20000
Nvidia licencie manager
Спампуем менеджэр ліцэнзій NVIDIA для Windows, праз асабісты кабінет на сайце
Усталюем яго на ws-dc. Для гэтага спачатку спатрэбіцца ўсталяваць
Створым сервер, які згенеруецца і спампаваны файл ліцэнзіі ў асабістым кабінеце на сайце
Выкарыстоўваючы браўзэр, аўтарызуемся ў вэб-інтэрфейсе мэнэджара ліцэнзій NVIDIA, даступным па адрасе
Актыўныя сесіі, якія выкарыстоўваюць vGPU, можна паглядзець у раздзеле "Licensed Clients".
Выдалены доступ да Citrix machine catalog
Як усталяваць Citrix Receiver?
Як падключыцца да віртуальнага працоўнага стала?
На працоўным кампутары адкрыем браўзэр, у маім выпадку гэта Chrome, і пяройдзем па адрасе вэб інтэрфейсу Citrix StoreWeb
http://192.168.1.111/Citrix/StoreWeb
Калі Citrix Recever яшчэ не ўсталяваны, то націснем "Выявіць Receiver"
Уважліва прачытаем ліцэнзійную дамову, загрузім і ўсталюем Citrix Receiver
Пасля ўстаноўкі, вернемся ў браўзэр і націснем "Працягнуць"
Далей, у браўзэры Chrome адкрываецца апавяшчэнне, націсніце "Адкрыць прыкладанне Citrix Receiver Launcher", а затым "Знайсьці зноў" ці "Ужо ўсталявана".
Пры першым падключэнні скарыстаемся дадзенымі тэставага карыстальніка test. Зменім часовы пароль на пастаянны.
Пасля аўтарызацыі пяройдзем на ўкладку "Дадаткі" і выберам каталог "M60"
Спампуем прапанаваны файл з пашырэннем .ica. Пасля падвойнага націску па ім, адкрыецца акно ў Desktop Veiwer з працоўным сталом Centos 7
Крыніца: habr.com