在 谷歌云平台 (GCP) 上使用 机器创建服务™ (MCS) 创建 Linux 虚拟投递代理
要在 GCP 上使用 MCS 创建 Linux VDA,请完成以下步骤:
步骤 3:在 Citrix Studio 中创建到 GCP 的主机连接
步骤 1:在 谷歌云平台 上创建 Linux 虚拟机
步骤 1a:在 Google Cloud 控制台中,导航到 计算引擎 > 虚拟机实例。
步骤 1b:在“VM 实例”页面上,单击 CREATE INSTANCE 以创建 VM 实例。

步骤 1c:进行以下配置,并保持其他配置为默认值:
- 输入 VM 实例的名称。
- 选择用于托管 VM 的区域和可用区。
- (可选) 为您的 VM 添加 GPU。有关更多信息,请参阅本文后面的 步骤 4c。
-
在 启动磁盘 部分,为您的 VM 选择操作系统和磁盘大小。例如:

-
导航到 高级选项 > 网络 并将 主机名 字段设置为 FQDN。

步骤 1d: 单击 创建 以创建 VM 实例。
步骤 1e: 创建 VM 后,返回到 Compute Engine 控制面板,在列表中找到您的 VM 实例,然后单击 SSH 按钮连接到您的 VM。

步骤 1f: 通过基于 Web 的 SSH 客户端将 Linux VDA 软件包上传到您的 VM。

步骤 1g: 防止使用 SSH 访问 VM 失败。
VM 在重启后可能无法访问。要解决此问题,请在首次登录 VM 时设置 root 密码,并确保您可以以 root 身份登录 VM。然后,在重启 VM 后在控制台中运行以下命令:
nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->

步骤 2:创建 GCP 服务帐户
本节将指导您创建 GCP 服务帐户,包括创建服务帐户密钥并向服务帐户授予所需的角色。
注意:
要创建 GCP 服务帐号,请确保您已获得 服务帐号管理员 (roles/iam.serviceAccountAdmin) IAM 角色。
步骤 2a: 在 Google Cloud 控制台中,导航到 IAM 和管理 > 服务帐号,然后单击“创建服务帐号”选项卡。

步骤 2b: 在“服务帐号详细信息”步骤中,在字段中输入值,然后单击“创建并继续”。

步骤 2c: 跳过可选步骤,然后单击底部的“完成”。

步骤 2d: 再次导航到 IAM 和管理 > 服务帐号,然后单击“服务帐号”选项卡。找到新创建的服务帐号,导航到“密钥”选项卡,然后单击“添加密钥 > 创建新密钥 > JSON > 创建”。


注意:
下载密钥文件后,您无法再次下载它。
步骤 2e: 在 Google Cloud 控制台中,导航到 IAM 和管理 > IAM,然后单击“添加”。在“新成员”字段中搜索并选择新创建的服务帐号,然后为该服务帐号选择一个角色,以授予其对资源的访问权限。通过单击“添加其他角色”继续授予角色,以确保您将以下所有角色授予新创建的服务帐号。
- 计算管理员
- 存储管理员
- 云构建编辑器
- 服务帐号用户
- 云数据存储用户
- 计算实例管理员 (测试版)
- 所有者
例如:

步骤 3:在 Citrix Studio 中创建到 GCP 的主机连接
根据 Google Cloud Platform 虚拟化环境 设置您的 GCP 环境,然后完成以下步骤以创建到 GCP 的主机连接。
-
对于本地 Delivery Controller,请在本地 Citrix Studio 中选择配置 > 托管 > 添加连接和资源以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud™ 上基于 Web 的 Studio 控制台中选择管理 > 托管 > 添加连接和资源以创建主机连接。
-
在添加连接和资源向导中,选择 Google Cloud Platform 作为连接类型。
例如,在 Citrix Cloud 上的网页版 Studio 控制台中:

-
导入您的 GCP 帐户的服务帐号密钥并键入连接名称。
-
向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 Next,直到到达 Summary 页面。有关详细信息,请参阅文章 Step 2: Create a host connection 中的 Create non-domain-joined Linux VDAs using MCS。
步骤 4:准备 Linux VDA 主映像
步骤 4a:(适用于 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x)配置以太网连接。
在 GCP 上托管的 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x 上安装 Linux VDA 后,以太网连接可能会丢失,并且在 VM 重启后 Linux VDA 可能无法访问。要解决此问题,请在首次登录 VM 时设置 root 密码,并确保您可以以 root 身份登录 VM。然后,在重启 VM 后,在控制台中运行以下命令:
nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->

步骤 4b: 在模板 VM 上安装 Linux VDA 软件包。
在模板 VM 上,执行以下操作以安装 Linux VDA 软件包:
-
安装 .NET。
除了 .NET Runtime 之外,您必须在安装或升级 Linux VDA 之前,在所有受支持的 Linux 发行版上安装 .ASP.NET Core Runtime 版本 8。
如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装。否则,请从 Microsoft 软件包源安装 .NET。有关详细信息,请参阅 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-managers。
-
请安装适用于 Linux VDA 的软件包:
sudo yum –y localinstall <PATH>/<Linux VDA RPM> <!--NeedCopy--> -
启用 EPEL 存储库:
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm <!--NeedCopy-->
步骤 4c: 在 GCP 上的模板 VM 中添加图形处理单元 (GPU)(可选)。
-
在 Google Cloud 控制台中,向模板 VM 添加一个或多个 GPU。有关在 GCP 上添加和删除 GPU 的信息,请参阅 https://cloud.google.com/compute/docs/gpus/add-remove-gpus。

-
在模板虚拟机上安装相应的 GPU 驱动程序。有关详细信息,请参阅 https://cloud.google.com/compute/docs/gpus/install-drivers-gpu。
所需的 NVIDIA 驱动程序版本:
在 Compute Engine 上运行的 NVIDIA 图形处理器必须使用以下 NVIDIA 驱动程序版本:
- 对于 L4 图形处理器:
- Linux:525.60.13 或更高版本
- 对于 A100 图形处理器:
- Linux:450.80.02 或更高版本
- 对于 T4、P4、P100 和 V100 图形处理器:
- Linux:410.79 或更高版本
- 对于 K80 GPU(生命周期结束):
- Linux:410.79 - 最新的 R470 版本
对于 K80 GPU,NVIDIA 已宣布 R470 驱动程序 分支是获得调试支持的最终驱动程序版本。要查看此更新,请参阅 NVIDIA 软件支持矩阵。
安装脚本:
您可以使用以下脚本自动执行安装过程:
https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py <!--NeedCopy-->支持的操作系统:
安装脚本已在以下 Linux 发行版上进行测试:
- 德比安 11
- 红帽企业版 Linux 8
- 洛基操作系统 8
- 乌班图操作系统 20/22 版本
如果您在其他 Linux 发行版上使用此脚本,安装将失败。对于 Linux VM,此脚本仅安装 NVIDIA 驱动程序。
-
下载安装脚本文件。
curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py <!--NeedCopy--> -
授予脚本完全访问权限。
chmod 777 install_gpu_driver.py <!--NeedCopy--> -
运行安装脚本。
python3 install_gpu_driver.py <!--NeedCopy--> -
在 gdm3 中禁用 Wayland 显示服务器。
- 在以下位置之一找到您的发行版的 Wayland 配置文件:
- /etc/gdm3/custom.conf (此文件适用于乌班图操作系统)
- /etc/gdm/custom.conf (CentOS, RHEL, Rocky Linux)
- 使用 sudo/root 权限打开文件。
- 通过删除行首的 # 来取消注释 WaylandEnable=false。
- 重启虚拟机。
- 在以下位置之一找到您的发行版的 Wayland 配置文件:
-
如果您安装了 NVIDIA 510 或更高版本的驱动程序,请禁用 GSP 固件。
如果 GSP 固件已启用,请通过将 NVIDIA 模块参数 NVreg_EnableGpuFirmware 设置为 0 来禁用它。
通过将以下条目添加到 /etc/modprobe.d/nvidia.conf 文件来设置此参数:
-
options nvidia NVreg_EnableGpuFirmware=0
-
如果 /etc/modprobe.d/nvidia.conf 文件不存在,则需要手动创建该文件。
完成此步骤时,请记住以下几点:
-
使用 sudo 运行命令以创建和更新配置文件。
-
要重启虚拟机,您可以在 Linux 终端中使用 sudo reboot,或者停止并启动虚拟机。
-
- 对于 L4 图形处理器:
步骤 4d: 配置 MCS 变量。
通过编辑 /etc/xdl/mcs/mcs.conf 文件来配置 MCS 变量。以下是您可以为非域加入和域加入场景配置的 MCS 变量:
-
对于非域加入场景
您可以使用默认变量值或根据需要自定义变量(可选):
DOTNET_RUNTIME_PATH=*dotnet 运行时安装路径 *DESKTOP_ENVIRONMENT= **gnome | mate **REGISTER_SERVICE=**是 | 否**ADD_FIREWALL_RULES=**是 | 否**VDI_MODE=**是 | 否**START_SERVICE=**是 | 否**非域加入场景的 MCS 变量(/zh-cn/linux-virtual-delivery-agent/2511/media/mcs-variables-for-non-domain-joined-scenarios.png)
-
对于已加入域的场景
-
Use_AD_Configuration_Files_Of_Current_VDA: 确定是否使用当前运行的 VDA 的现有 AD 相关配置文件(/etc/krb5.conf、/etc/sssd.conf 和 /etc/samba/smb.conf)。如果设置为 Y,则 MCS 创建的计算机上的配置文件与当前运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns和AD_INTEGRATION变量。默认值为 N,这意味着主映像上的配置模板决定了 MCS 创建的计算机上的配置文件。要将当前运行的 VDA 用作模板 VM,请将值设置为 Y。否则,将其设置为 N。 -
dns: 设置每个 DNS 服务器的 IP 地址。最多可以设置四个 DNS 服务器。 -
NTP_SERVER: 设置 NTP 服务器的 IP 地址。除非另有说明,否则它是您的域控制器的 IP 地址。 -
WORKGROUP: 将工作组名称设置为您在 AD 中配置的 NetBIOS 名称(区分大小写)。否则,MCS 会将紧跟在计算机主机名之后的域名部分用作工作组名称。例如,如果计算机帐户是 user1.lvda.citrix.com,MCS 会将 lvda 用作工作组名称,而 citrix 才是正确的选择。请确保正确设置工作组名称。 -
AD_INTEGRATION: 设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的矩阵,请参阅 支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH: 设置下载 Server Suite Free(以前称为 Centrify Express)软件包的路径。此值仅在您将AD_INTEGRATION变量设置为 Centrify 时生效。 -
CENTRIFY_SAMBA_DOWNLOAD_PATH: 设置下载 Centrify Samba 软件包的路径。此值仅在您将AD_INTEGRATION变量设置为 Centrify 时生效。 -
PBIS_DOWNLOAD_PATH: 设置下载 PBIS 软件包的路径。此值仅在您将AD_INTEGRATION变量设置为 PBIS 时生效。 -
UPDATE_MACHINE_PW: 启用或禁用自动更新计算机帐户密码。有关详细信息,请参阅 自动更新计算机帐户密码。 -
Linux 虚拟桌面代理 配置变量:
DOTNET_RUNTIME_PATH=dotnet 运行时安装路径 **DESKTOP_ENVIRONMENT= **gnome | mate **SUPPORT_DDC_AS_CNAME=**是 | 否**VDA_PORT=端口号**REGISTER_SERVICE=**是 | 否**ADD_FIREWALL_RULES=**是 | 否**HDX_3D_PRO=**是 | 否**VDI_MODE=**是 | 否**SITE_NAME=**DNS 站点名称 | ‘<none>’**LDAP_LIST=**‘LDAP 服务器列表’ | ‘<none>’**SEARCH_BASE=**搜索基集 | ‘<none>’**FAS_LIST=**‘FAS 服务器列表’ | ‘<none>’**START_SERVICE=**是 | 否**TELEMETRY_SOCKET_PORT=端口号TELEMETRY_PORT=端口号
-
步骤 4e:创建主映像
-
(仅适用于 SSSD + RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x)运行
update-crypto-policies --set DEFAULT:AD-SUPPORT命令,然后重新启动模板 VM。 -
运行
/opt/Citrix/VDA/sbin/deploymcs.sh。对于非域加入场景,以下错误是正常的,不会阻止您继续操作。

-
在模板虚拟机上安装应用程序并关闭模板虚拟机。创建并命名主映像的快照。
步骤 5:创建计算机目录
- 登录到 Citrix Cloud。在左上角菜单中,选择 我的服务 > DaaS。
- 在管理 > 完整配置中,从左侧窗格中选择计算机目录。
- 在操作栏中选择创建计算机目录。
-
在计算机类型页面上,选择多会话操作系统或单会话操作系统,然后选择下一步。

-
在计算机管理页面上,选择已进行电源管理的计算机和 Citrix Machine Creation Services 选项,然后选择下一步。如果有多个资源,请从菜单中选择一个。

-
在主映像页面上,选择之前创建的主映像。


-
在计算机身份页面上,如果主映像未加入任何域,请选择未加入域;如果已将主映像加入域,请选择一个 Active Directory 帐户。
对于非域加入场景:

对于域加入场景:

- 如果选择创建新的 Active Directory 帐户,请选择一个域,然后输入表示在 Active Directory 中创建的预配 VM 计算机帐户的命名方案的字符序列。帐户命名方案可以包含 1–64 个字符,不能包含空格、非 ASCII 字符或特殊字符。
- 如果选择使用现有 Active Directory 帐户,请选择浏览以导航到所选计算机的现有 Active Directory 计算机帐户。
- 在域凭据页面上,选择输入凭据,键入用户名和密码,选择保存,然后选择下一步。您键入的凭据必须具有执行 Active Directory 帐户操作的权限。
- 在其他页面上配置其他设置。有关详细信息,请参阅创建 Google Cloud Platform 目录。
-
在摘要页面上,确认信息,为目录指定名称,然后选择完成。

计算机目录创建可能需要很长时间才能完成。完成后,将列出该目录。您可以在 Google Cloud 控制台中验证计算机是否已在目标节点组上创建。
步骤 6:创建交付组
交付组是从一个或多个计算机目录中选择的计算机集合。它指定哪些用户可以使用这些计算机,以及这些用户可用的应用程序和桌面。
有关详细信息,请参阅 Citrix DaaS 文档中的交付组创建。
- 登录 Citrix Cloud。在左上角菜单中,选择我的服务 > DaaS。
- 从 管理 > 完整配置 中,选择左侧窗格中的 交付组。
-
在操作栏中选择 创建交付组。交付组创建向导随即打开。
您看到的向导页面可能有所不同,具体取决于您所做的选择。
-
在 计算机 页面上,选择一个计算机目录,然后选择要从该目录使用的计算机数量。

-
在其他页面上配置其他设置。有关详细信息,请参阅 创建交付组。
-
在 摘要 页面上,输入交付组的名称。您还可以(可选)输入说明,该说明将显示在 Citrix Workspace™ 应用程序和 完整配置 管理界面中。例如:
输入交付组的名称:

完整配置 管理界面中的交付组列表:

Citrix Workspace 应用程序中的已交付计算机
