使用Citrix通过GPU远程访问VM

本指南详细介绍了准备使用Citrix提供的技术对虚拟桌面进行远程访问时必须执行的步骤。

对于最近熟悉桌面虚拟化技术的用户来说,它将很有用,因为它是由约10份手册汇编而成的有用命令的集合,经授权,这些手册中的许多可在Citrix,Nvidia,Microsoft网站上找到。

此实现包含使用Nvidia Tesla M60图形加速器和Centos 7操作系统准备对虚拟机(VM)进行远程访问的步骤。

所以,让我们开始吧。

准备用于托管虚拟机的管理程序


如何下载和安装XenServer 7.4?
如何将XenServer添加到Citrix XenCenter?
如何下载并安装Nvidia驱动程序?
如何更改Nvidia Tesla M60模式?
如何挂载存储?


XenServer 7.4


Citrix网站上授权后即可 使用XenServer 7.4下载链接 让我们以常规方式将XenServer.iso安装在配备4倍NVIDIA Tesla M60的服务器上。就我而言,iso是通过IPMI安装的。对于Dell服务器,BMC是通过IDRAC管理的。安装步骤几乎与安装类似Linux的操作系统相同。 我的XenServer c GPU地址为192.168.1.100 。在要管理虚拟机管理程序和虚拟机的本地计算机上安装XenCenter.msi。单击“服务器”选项卡,然后单击“添加”,在其中添加具有GPU和XenServer的服务器。输入在XenServer安装期间指定的用户名和密码root。











在XenCenter中,单击添加的虚拟机监控程序的名称后,“控制台”选项卡将可用。在菜单中,选择“远程服务配置”并启用SSH授权-“启用/禁用远程Shell”。

Nvidia驱动程序


我会控制住情绪,并说在使用vGPU的所有时间里,我从未第一次访问过nvid.nvidia.com网站如果授权不起作用,则建议使用Internet Explorer。

从vGPU下载zip以及GPUMode更改实用工具:

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



我们遵循这些版本。下载的档案的名称显示了将来可以在虚拟机上安装的合适NVIDIA驱动程序的版本。就我而言,是390.72。

将zip-s放在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,然后在“存储”选项卡上选择“新SR”。指定存储类型-NFS ISO。该路径必须指向NFS共享目录。

基于Centos 7的Citrix Master Image


如何使用Centos 7创建虚拟机?

如何准备虚拟机创建目录?


Centos 7的图像



使用XenCenter,我们将创建带有GPU的虚拟机。在“ VM”选项卡中,单击“ New VM”。



我们选择必要的参数:

VM模板-其他安装媒体
名称-模板
从ISO库安装-Centos 7(下载),从已安装的NFS ISO存储中选择。
vCPU数量-4个
拓扑-1个插槽,每个插槽具有4个内核
内存-30 Gb
GPU类型-GRID M60-4Q
使用此虚拟磁盘-80 Gb
网络

创建后,虚拟机将出现在左侧的垂直列表中。单击它,然后转到“控制台”选项卡。我们将等待Centos 7安装程序加载并完成必要的步骤,以使用GNOME shell安装操作系统。

影像准备


我花了很多时间用Centos 7准备图像。这产生了一组脚本,这些脚本有助于Linux的初始设置,并允许您使用Citrix Machine Creation Services(MCS)创建虚拟机目录。

安装在ws-ad上的DHCP服务器将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的“控制台”选项卡中,将guest-tools.iso挂载到虚拟机的DVD驱动器中,然后安装XenTools for Linux。

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

设置XenServer时,我们使用了从NVIDIA网站下载的NVIDIA-GRID-XenServer-7.4-390.72-390.75-391.81.zip存档,该存档除了包含XenServer的NVIDIA驱动程序之外,还包含vGPU客户端所需的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

下载适用于Centos 7的Linux Virtual Delivery Agent 1811(VDA)。在Citrix网站上获得授权后,即可使用Linux VDA的下载链接

$ 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中,创建计算机目录和交付组。在此之前,您必须安装和配置Windows Server。

Windows Server与域控制器


如何下载和安装Windows Server 2016?
如何安装Windows Server组件?
如何配置Active Directory,DHCP和DNS?


Windows Server 2016


由于具有Windows Server的虚拟机(VM)不需要GPU,因此我们将使用没有GPU的服务器作为系统管理程序。与上面的描述类似,安装另一个XenServer来托管系统虚拟机。

之后,为具有Active Directory的Windows Server创建虚拟机。

Microsoft网站下载Windows Server 2016 。最好使用Internet Explorer跟踪链接。



使用XenCenter,我们将创建一个虚拟机。在“ VM”选项卡中,单击“ New VM”。



我们选择必要的参数:

VM模板-Windows Server 2016(64位)
名称-ws-ad.domain.ru
从ISO库-WindowsServer2016.iso 安装,从已安装的NFS ISO存储中选择。
vCPU数量-4
拓扑-1个插槽,每个插槽4个内核
内存-20 Gb
GPU类型-无
使用此虚拟磁盘-100 Gb
网络

创建后,虚拟机将出现在左侧的垂直列表中。单击它,然后转到“控制台”选项卡。等待Windows Server安装程序加载并完成安装操作系统所需的步骤。

在XenTools VM中安装。右键单击VM,然后单击“安装Citrix VM Tools ...”。之后,将挂载您需要运行和安装XenTools的映像。在安装结束时,将需要重新启动VM。

配置网络适配器:

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域服务的安装。选中“自动重新加载”框。



配置活动Directoy


重新引导VM后,单击“将此服务器提升到域控制器级别”,然后添加新的domain.ru林。

DHCP服务器设置


在服务器管理器的顶部面板上,单击感叹号以保存安装DHCP服务器时的更改。

让我们继续进行DHCP服务器设置。



创建一个新区域192.168.1.120-130。我们不会改变其余的。选择“立即配置DHCP设置”,然后输入ws-ad IP地址(192.168.1.110)作为网关和DNS,这将从目录中的虚拟机网络适配器的设置中指定。

DNS服务器设置


让我们继续进行DNS服务器设置。



让我们为domain.ru域中的所有DNS服务器创建一个直接查看的新区域-主区域。请勿更改其他任何内容。

通过选择相同的选项来创建新的反向查找区域。

在DNS服务器的属性中的“高级”选项卡中,选中“禁用递归”复选框。

创建一个测试用户


让我们转到“ Active Directory管理中心”,



在右侧的“用户”部分中,单击“创建”。输入名称(例如测试),然后单击下面的“确定”。



我们将选择创建的用户,然后在右侧的垂直菜单中选择“重置密码”。保留选中标记“下次登录系统时要求更改密码”。

Windows Server和Citrix Delivery Controller


如何下载和安装Windows Server 2016?
如何下载和安装Citrix Delivery Controller?
如何安装和配置Citrix License Manager?
如何安装和配置NVIDIA License Manager?


Windows Server 2016


由于具有Windows Server的虚拟机(VM)不需要GPU,因此我们将使用没有GPU的服务器作为系统管理程序。

Microsoft网站下载Windows Server 2016 。最好使用Internet Explorer跟踪链接。



使用XenCenter,我们将创建一个虚拟机。在“ VM”选项卡中,单击“ New VM”。



我们选择必要的参数:

VM模板-Windows Server 2016(64位)
名称-ws-dc
从ISO库安装-WindowsServer2016.iso ,从安装的NFS ISO存储中选择。
vCPU数量-4个
拓扑-1个插槽,每个插槽具有4个内核
内存-20 Gb
GPU类型-无-
使用此虚拟磁盘-100 Gb
网络

创建后,虚拟机将出现在左侧的垂直列表中。单击它,然后转到“控制台”选项卡。我们将等待Windows Server安装程序加载并完成安装操作系统的必要步骤。

在XenTools VM中安装。右键单击VM,然后单击“安装Citrix VM Tools ...”。之后,将挂载您需要运行和安装XenTools的映像。安装结束时,需要重新启动VM。

配置网络适配器:

IP地址- 192.168.1.111
面膜- 255.255.255.0
网关- 192.168.1.1
DNS1 - 8.8.8.8
DNS2 - 8.8.4.4

如果Windows服务器没有被激活,我们会激活它。可以在下载图像的同一位置获取密钥。

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

设置计算机名称。就我而言,这是ws-dc。

将虚拟机添加到域domen.ru,重新启动并以域管理员帐户DOMEN \ Administrator登录。

Citrix交付控制器


在ws-dc.domain.com上下载Citrix Virtual Apps and Desktops 1811。登录Citrix网站后,即可使用Citrix Virtual Apps and Desktops下载链接 挂载下载的iso并运行。选择Citrix Virtual Apps and Desktops 7。接下来,点击“开始使用”。可能需要重新启动。 就我而言,选择以下组件进行安装就足够了: Delivery Controller Studio 许可证服务器 StoreFront 不要更改其他任何内容,然后单击“安装”。需要多次重启,然后才能继续安装。 安装完成后,将立即启动Citrix Studio(Citrix服务器场管理环境)。




















Citrix网站设置


选择三个部分的第一部分-站点设置。设置时,指定站点名称-域。

在“连接”部分中,我们指定用于连接虚拟机监控程序和GPU的数据:

连接地址-192.168.1.100
用户名- 超级用户
密码-yourpassword
连接名称-m60

商店管理-使用虚拟机监控程序本地存储。

这些资源的名称-m60。

选择网络。

选择一个GPU类型和组-GRID M60-4Q。

调整Citrix计算机目录


设置第二部分-机器目录时,选择单会话OS(Desktop OS)。

主映像-选择准备好的虚拟机映像以及Citrix Virtual Apps and Desktops的版本-1811。

选择目录中的虚拟机数量,例如4。

让我们指出命名虚拟机的方案,在我的情况下为桌面##。在这种情况下,将创建4个名称为desktop01-04的VM。

机器目录名称-m60。

机器目录说明-m60。

在创建具有四个VM的计算机目录后,可以在左侧的XenCenter垂直列表中找到它们。

思杰交付集团


第三部分从选择应授予访问权限的VM数量开始。我将指出全部四个。

在“桌面”部分中,单击“添加”以添加我们将提供访问权限的VM组。显示名称-m60。

交货组名称-m60。

设置了三个主要部分之后,Citrix Studio的主窗口将如下所示:



Citrix许可证管理器


通过您的个人帐户在Citrix网站上下载许可证文件

在左侧的垂直列表中,选择“所有许可工具(旧版)”。转到选项卡“激活和分配许可证”。选择Citrix VDA许可证,然后单击继续。指定我们的Delivery Controllera的名称-ws-dc.domain.ru和许可证数量-4.单击“继续”。将生成的许可证文件下载到ws-dc.domain.ru。



在Citrix Studio的左垂直列表中,选择“许可”部分。在右侧垂直列表中,单击“许可证管理控制台”。在打开的浏览器窗口中,输入域用户DOMEN \ Administrator的授权数据。

在Citrix Licensing Manager中,转到“安装许可证”选项卡。要添加许可证文件,请选择“使用下载的许可证文件”。



Citrix组件的安装涉及使用多个虚拟机,一个组件-一个虚拟机。就我而言,所有Citrix系统服务都在同一VM中运行。在这方面,我注意到一个错误,对于我而言,更正该错误特别困难。

如果在重新启动ws-dc之后存在其他性质的问题,那么我建议您首先检查正在运行的服务。以下是在VM重新引导后应自动启动的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

我在单个VM上安装各种Citrix服务时遇到了一个问题。重新启动后,并非所有服务都会启动。懒惰一个接一个地启动了整个链条。该解决方案经过艰苦的谷歌搜索,因此将其引入此处-应在注册表中更改两个参数:

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

Name : WaitToKillServiceTimeout
Value : 20000

Nvidia许可证管理器


通过您在nvid.nvidia.com上的个人帐户下载Windows版NVIDIA许可证管理器。最好使用Internet Explorer。



将其安装在ws-dc上。为此,您首先需要安装JAVA并添加环境变量JAVA_HOME。之后,您可以运行setup.exe来安装NVIDIA License Manager。



让我们创建一个服务器,在nvid.nvidia.com站点上的个人帐户中生成并下载许可证文件。让我们传输ws-dc的许可证文件。



使用浏览器,我们登录NVIDIA许可证管理器Web界面(可在localhost:8080 / licserver上找到)并添加许可证文件。



可以在“许可的客户端”部分中查看使用vGPU的活动会话。

远程访问Citrix计算机目录



如何安装Citrix Receiver?
如何连接到虚拟桌面?


在运行正常的计算机上,打开浏览器(在我的情况下为Chrome),然后转到Citrix StoreWeb的网络界面地址

http://192.168.1.111/Citrix/StoreWeb

如果尚未安装Citrix Recever,则单击“发现Receiver”。我们会



仔细阅读许可协议,下载并安装Citrix Receiver。



安装后,返回浏览器并单击“继续”。



接下来,在Chrome浏览器中打开一个通知,单击“打开Citrix Receiver Launcher应用程序”。 ,然后单击“再次检测”或“已安装”。



对于第一个连接,我们将使用测试用户测试的数据。将临时密码更改为永久密码。



授权后,转到“应用程序”选项卡并选择“ M60”



目录下载扩展名为.ica的建议文件。双击它之后,在带有Centos 7桌面的Desktop Veiwer中打开一个窗口


All Articles