使用 Citrix 遠端存取 GPU VM

本指南詳細介紹了使用 Citrix 提供的技術配置對虛擬桌面的遠端存取所需執行的步驟。

它對於最近熟悉桌面虛擬化技術的人來說非常有用,因為它是從大約 10 份手冊編譯而來的有用命令的集合,其中許多在授權後可以在 Citrix、Nvidia、Microsoft 網站上找到。

此實作包含準備使用 Nvidia Tesla M60 圖形加速器和 Centos 7 作業系統遠端存取虛擬機器 (VM) 的階段。

那麼,讓我們開始吧。

準備用於託管虛擬機器的虛擬機器管理程序

如何下載並安裝XenServer 7.4?
如何將XenServer加入到Citrix XenCenter?
如何下載並安裝Nvidia驅動程式?
如何更改 Nvidia Tesla M60 模式?
如何掛載儲存?

希恩服務器7.4

下載鏈接 希恩服務器7.4 登入網站後即可使用 思傑.

使用 Citrix 遠端存取 GPU VM

讓我們以標準方式在具有 4 個 NVIDIA Tesla M60 的伺服器上安裝 XenServer.iso。 就我而言,iso 是透過 IPMI 掛載的。 對於 Dell 伺服器,BMC 透過 IDRAC 進行管理。 安裝步驟與安裝類Linux作業系統幾乎相同。

我的 GPU XenServer 位址是 192.168.1.100

讓我們在本機上安裝 XenCenter.msi,我們將在其中管理虛擬機器管理程式和虛擬機器。 讓我們透過點擊「伺服器」選項卡,然後按一下「新增」來新增具有 GPU 和 XenServer 的伺服器。 輸入安裝XenServer時指定的root使用者名稱和密碼。

使用 Citrix 遠端存取 GPU VM

在XenCenter中,按一下新增的虛擬機器管理程式的名稱後,「控制台」標籤將可用。 在選單中,選擇“遠端服務配置”並透過 SSH 啟用授權 - “啟用/停用遠端 Shell”。

Nvidia的驅動程序

我會發洩一下我的情緒,並說在我使用 vGPU 的所有時間裡,我從未訪問過該網站 nvidia.com 第一次嘗試。 如果授權不起作用,我推薦 Internet Explorer。

從 vGPU 下載 zip 以及 GPUMode Change Utility:

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

使用 Citrix 遠端存取 GPU VM

我們遵循版本。 下載的存檔的名稱表示適當的 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

使用 Citrix 遠端存取 GPU VM

安裝儲存

讓我們在網路上的任何電腦上使用 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 主映像

如何使用Centos 7建立虛擬機器?

如何準備虛擬機器來建立目錄?

Centos 7 鏡像

我們將使用 XenCenter 建立一個具有 GPU 的虛擬機器。 在「虛擬機器」標籤中,按一下「新虛擬機器」。

使用 Citrix 遠端存取 GPU 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 1811 的 Linux Virtual Delivery Agent 7 (VDA)。下載鏈接 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 元件?
如何設定活動目錄、DHCP 和 DNS?

Windows服務器上2016

由於 Windows Server 虛擬機器 (VM) 不需要 GPU,因此我們將使用沒有 GPU 的伺服器作為虛擬機器管理程式。 類別推上面的描述,我們將安裝另一台XenServer來託管系統虛擬機器。

之後,我們將為具有 Active Directory 的 Windows Server 建立虛擬機器。

從網站下載 Windows Server 2016 Microsoft微軟。 最好使用 Internet Explorer 存取該連結。

使用 Citrix 遠端存取 GPU VM

讓我們使用 XenCenter 建立虛擬機器。 在「虛擬機器」標籤中,按一下「新虛擬機器」。

使用 Citrix 遠端存取 GPU 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 安裝程式下載並完成安裝作業系統所需的步驟。

讓我們在 VM 中安裝 XenTools。 右鍵點選 VM,然後「安裝 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 網域服務。 選取“自動重新啟動”複選框。

使用 Citrix 遠端存取 GPU VM

設定活動目錄

重新啟動虛擬機器後,按一下「將此伺服器提升至網域控制站層級」並新增新的domain.ru 林。

設定 DHCP 伺服器

在伺服器管理員的頂部面板上,按一下感嘆號以儲存安裝 DHCP 伺服器時的變更。

讓我們繼續進行 DHCP 伺服器設定。

使用 Citrix 遠端存取 GPU VM

讓我們建立一個新區域192.168.1.120-130。 其餘的我們不改變。 選擇「立即設定 DHCP 設定」並輸入 ws-ad IP 位址 (192.168.1.110) 作為閘道和 DNS,這將在目錄中的虛擬機器網路介面卡的設定中指定。

設定 DNS 伺服器

讓我們繼續進行 DNS 伺服器設定。

使用 Citrix 遠端存取 GPU VM

讓我們為domain.ru 網域中的所有DNS 伺服器建立一個新的正向查找區域 - 主區域。 我們不改變任何其他東西。

讓我們透過選擇類似的選項來建立一個新的反向查找區域。

在 DNS 伺服器屬性的「進階」標籤中,選取「停用遞歸」複選框。

建立測試用戶

我們去“Active Directory管理中心”

使用 Citrix 遠端存取 GPU VM

在右側的“用戶”部分中,按一下“建立”。 輸入名稱,例如 test,然後按一下底部的「確定」。

使用 Citrix 遠端存取 GPU VM

選擇已建立的用戶,然後在右側垂直選單中選擇「重設密碼」。 保留「下次登入時需要變更密碼」複選框。

帶有 Citrix Delivery Controller 的 Windows Server

如何下載並安裝Windows Server 2016?
如何下載並安裝 Citrix Delivery Controller?
如何安裝和設定 Citrix License Manager?
如何安裝和設定 NVIDIA License Manager?

Windows服務器上2016

由於 Windows Server 虛擬機器 (VM) 不需要 GPU,因此我們將使用沒有 GPU 的伺服器作為虛擬機器管理程式。

從網站下載 Windows Server 2016 Microsoft微軟。 最好使用 Internet Explorer 存取該連結。

使用 Citrix 遠端存取 GPU VM

讓我們使用 XenCenter 建立虛擬機器。 在「虛擬機器」標籤中,按一下「新虛擬機器」。

使用 Citrix 遠端存取 GPU VM

選擇必要的參數:

VM 範本 - Windows Server 2016(64 位元)
名稱 - ws-dc
從 ISO 庫安裝 - WindowsServer2016.iso,從掛載的 NFS ISO 儲存中選擇。
vCPU 數量 - 4
拓樸 - 1 個插槽,每個插槽 4 芯
記憶體 - 20 GB
GPU 類型 - 無
使用此虛擬磁碟 - 100 Gb
網絡

建立後,虛擬機器將出現在左側的垂直清單中。 點擊它並轉到“控制台”選項卡。 讓我們等待 Windows Server 安裝程式載入並完成安裝作業系統所需的步驟。

讓我們在 VM 中安裝 XenTools。 右鍵點選 VM,然後「安裝 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 交付控制器

從 ws-dc.domain.ru 下載 Citrix Virtual Apps and Desktops 1811。 下載連結 Citrix虛擬應用程序和桌面 登入網站後即可使用 思傑.

使用 Citrix 遠端存取 GPU VM

讓我們掛載下載的 iso 並運行它。 選擇“Citrix Virtual Apps and Desktops 7”。 接下來,點擊“開始”。 可能需要重新啟動。

使用 Citrix 遠端存取 GPU VM

就我而言,選擇以下組件進行安裝就足夠了:

交付控制器
工作室
許可證服務器
店面

我們不更改任何其他內容,然後按一下「安裝」。 將需要多次重新啟動,之後安裝將繼續。

安裝完成後,Citrix Studio 將啟動,這是整個 Citrix 業務的管理環境。

使用 Citrix 遠端存取 GPU VM

設定 Citrix 站點

讓我們選擇三個部分中的第一部分 - 網站設定。 設定時,我們將指定網站名稱 - 網域。

在「連線」部分中,我們指示用於連接虛擬機器管理程式與 GPU 的資料:

連接地址- 192.168.1.100
使用者名稱 - root
密碼 - 你的密碼
連接名稱 - m60

儲存管理-使用虛擬機器管理程式本地的儲存。

這些資源的名稱 - m60。

選擇網路。

選擇 GPU 類型和群組 - GRID M60-4Q。

設定 Citrix 電腦目錄

設定第二部分 - 電腦目錄時,選擇單會話作業系統(桌面作業系統)。

主映像 - 選擇已準備好的虛擬機器映像以及 Citrix Virtual Apps and Desktops - 1811 的版本。

我們選擇目錄中虛擬機器的數量,例如 4。

我們將指示為虛擬機器指派名稱的方案,在我的例子中是桌面##。 在本例中,將建立 4 個虛擬機,名稱為desktop01-04。

機器目錄名稱 - m60。

機器目錄描述 - m60。

建立包含四個虛擬機器的電腦目錄後,可以在左側的 XenCenter 垂直清單中找到它們。

Citrix 交付組

第三部分首先選擇要提供存取的虛擬機器數量。 我將列出所有四個。

在「桌面」部分中,按一下「新增」以新增我們將提供存取權限的一組虛擬機器。 顯示名稱 - m60。

交付組名稱 - m60。

設定三個主要部分後,Citrix Studio 主視窗將如下所示

使用 Citrix 遠端存取 GPU VM

Citrix 授權管理器

透過網站上的個人帳戶下載許可證文件 思傑.

在左側的垂直清單中,選擇所有授權工具(舊版)。 讓我們轉到“啟動和分配許可證”選項卡。 選擇 Citrix VDA 授權並按一下「繼續」。 讓我們指定 Delivery Controller 的名稱 - ws-dc.domain.ru 和授權數量 - 4. 按一下「繼續」。 將產生的授權檔案下載到 ws-dc.domain.ru。

使用 Citrix 遠端存取 GPU VM

在 Citrix Studio 的左側垂直清單中,選擇「授權」部分。 在右側垂直清單中,按一下「許可證管理控制台」。 在開啟的瀏覽器視窗中,輸入網域使用者 DOMENAdministrator 的授權資料。

在 Citrix Licensing Manager 中,前往「安裝授權」標籤。 若要新增許可證文件,請選擇「使用下載的許可證文件」。

使用 Citrix 遠端存取 GPU VM

安裝 Citrix 元件涉及使用多個虛擬機,每個虛擬機一個元件。 就我而言,所有 Citrix 系統服務都在一台虛擬機器中運作。 在這方面,我將指出一個錯誤,該錯誤的糾正對我來說特別困難。

如果重新啟動 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

我遇到了在一台虛擬機器上安裝不同 Citrix 服務時出現的問題。 重新啟動後,並非所有服務都會啟動。 我懶得一一展開整個鏈條。 Google很難找到解決方案,所以我在這裡介紹它 - 你需要更改註冊表中的兩個參數:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
Name : ServicesPipeTimeout
Value :240000

Name : WaitToKillServiceTimeout
Value : 20000

Nvidia 許可證管理器

透過您在網站上的個人帳戶下載適用於 Windows 的 NVIDIA 許可證管理器 nvidia.com。 最好透過 Internet Explorer 登入。

使用 Citrix 遠端存取 GPU VM

讓我們將其安裝在 ws-dc 上。 為此,您首先需要安裝 JAVA 並加入JAVA_HOME環境變數。 然後,您可以執行 setup.exe 來安裝 NVIDIA License Manager。

使用 Citrix 遠端存取 GPU VM

讓我們建立一個伺服器,在網站上的個人帳戶中產生並下載許可證文件 nvidia.com。 讓我們將許可證文件傳輸到 ws-dc。

使用 Citrix 遠端存取 GPU VM

使用瀏覽器登入 NVIDIA 許可證管理員 Web 介面,網址為 本地:8080/licserver 並新增許可證文件。

使用 Citrix 遠端存取 GPU VM

可以在「許可客戶端」部分查看使用 vGPU 的活動會話。

遠端存取 Citrix 電腦目錄

如何安裝 Citrix 接收器?
如何連接虛擬桌面?

在工作電腦上,開啟瀏覽器(在我的例子中是 Chrome),然後前往 Citrix StoreWeb Web 介面的位址

http://192.168.1.111/Citrix/StoreWeb

如果尚未安裝 Citrix Receiver,請按一下“偵測 Receiver”

使用 Citrix 遠端存取 GPU VM

仔細閱讀授權協議,下載並安裝Citrix Receiver

使用 Citrix 遠端存取 GPU VM

安裝完成後,返回瀏覽器,點擊“繼續”

使用 Citrix 遠端存取 GPU VM

接下來,Chrome 瀏覽器中將開啟一條通知,按一下“開啟 Citrix Receiver Launcher”,然後按一下“再次偵測”或“已安裝”

使用 Citrix 遠端存取 GPU VM

第一次連線時,我們將使用測試使用者test的資料。 讓我們將臨時密碼更改為永久密碼。

使用 Citrix 遠端存取 GPU VM

授權後,進入“應用程式”選項卡,選擇“M60”目錄

使用 Citrix 遠端存取 GPU VM

讓我們下載建議的副檔名為 .ica 的檔案。 雙擊後,將在 Desktop Veiwer 中開啟一個帶有 Centos 7 桌面的窗口

使用 Citrix 遠端存取 GPU VM

來源: www.habr.com

添加評論