使用机器创建服务™ (MCS) 创建 Linux VDA
您可以使用 MCS 创建已加入域和未加入域的 VDA。如果您想在 Citrix DaaS 中创建未加入域的 Linux VDA,还可以参考专门文章 使用 MCS 创建未加入域的 Linux VDA。
重要提示:
从 2212 版本开始,以下是重要更改:
- /etc/xdl/mcs/mcs.conf 文件中或轻松安装 GUI 上的 AD_INTEGRATION 变量不再具有默认值。您必须根据需要设置一个值。有关详细信息,请参阅本文中的 步骤 3i:配置 MCS 变量 部分。
- /etc/xdl/mcs/mcs.conf 中 UPDATE_MACHINE_PW 条目的有效值不再是 enabled 或 disabled,而是 Y 或 N。有关详细信息,请参阅本文中的 自动执行计算机帐户密码更新 部分。
支持的发行版
| 温绑定 | SSSD(系统安全服务守护进程) | 森特里菲 | PBIS 身份服务 | |
|---|---|---|---|---|
| 迪比安 12.12 | 是 | 是 | 否 | 是 |
| 红帽企业版Linux 10/9.7/9.6/9.4 | 是 | 是 | 是 | 否 |
| 红帽企业版 8.10 | 是 | 是 | 是 | 是 |
| 洛基 林纳克斯 操作系统 10/9.7/9.6/9.4 | 是 | 是 | 是 | 否 |
| 洛基 林纳克斯 操作系统 8.10 | 是 | 是 | 是 | 否 |
| 苏斯 15.7 | 是 | 是 | 否 | 是 |
| 乌班图 24.04 版本 | 是 | 是 | 否 | 是 |
| 乌班图 22.04 版本 | 是 | 是 | 否 | 是 |
要使用通过 SSSD 连接到域的当前正在运行的 RHEL 8.x/9.x/10 或 Rocky Linux 8.x/9.x/10 VDA 作为 MCS 的模板 VM,请确保:
VDA 是手动安装的,而不是使用简易安装。简易安装对 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 使用 Adcli,并且 MCS 不支持 SSSD 和 Adcli 的组合。
-
Citrix® 对以下 Centrify 版本在相关的 Linux 发行版上进行初始功能验证:
林纳克斯发行版 Centrify 软件的版本号 RHEL 7/8 5.8.0 苏塞 5.7.1 迪比安、乌班图 5.6.1 使用其他版本的 Centrify 可能会导致错误。请勿使用 Centrify 将模板计算机加入域。
-
如果您正在使用 PBIS 或 Centrify 将 MCS 创建的计算机加入 Windows 域,请完成以下任务:
-
在模板计算机上,在
/etc/xdl/mcs/mcs.conf文件中配置 PBIS 或 Centrify 软件包下载路径,或直接安装 PBIS 或 Centrify 软件包。 -
在运行
/opt/Citrix/VDA/sbin/deploymcs.sh之前,创建一个组织单位 (OU),该组织单位 (OU) 对其所有下属的 MCS 创建的计算机具有写入和密码重置权限。 -
在
/opt/Citrix/VDA/sbin/deploymcs.sh运行完成后重新启动 MCS 创建的计算机之前,根据您的部署,在您的 Delivery Controller 或 Citrix Cloud Connector 上运行klist -li 0x3e4 purge。
-
-
要使用当前正在运行的 RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x VDA(该 VDA 使用 SSSD 连接到域并作为 MCS 的模板 VM),请确保:
- VDA 是手动安装的,而不是通过轻松安装方式安装的。轻松安装方式对 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x 使用 Adcli,而 MCS 不支持 SSSD 和 Adcli 的组合。
- Samba 服务器已配置为使用 SSSD 进行 AD 身份验证。有关详细信息,请参阅 https://access.redhat.com/solutions/3802321 处的 Red Hat 文章。
支持的管理程序
- AWS
- XenServer(以前称为思杰虚拟机监控程序™)
- GCP
- 微软 阿祖尔
- 能腾 AHV
- 威睿 vSphere 虚拟化平台
如果尝试在不支持的管理程序上准备主映像,可能会出现意外结果。
使用 MCS 创建 Linux 虚拟机
注意事项
-
从 2203 版本开始,您可以在 微软 Azure、亚马逊云服务 和 谷歌云平台 上托管 Linux VDA,用于 思杰虚拟应用和桌面™ 以及 思杰 DaaS(以前称为 思杰虚拟应用和桌面 服务)。要将这些公有云主机连接添加到您的 思杰虚拟应用和桌面 部署中,您需要 思杰通用混合多云 (HMC) 许可证。
-
裸机服务器不支持与 MCS 结合使用来创建虚拟机。
(仅限 能腾)步骤 1:安装并注册 能腾 AHV 插件
从 Nutanix 获取 Nutanix AHV 插件包。在您的 Citrix 虚拟应用和桌面 环境中安装并注册该插件。有关详细信息,请参阅 Nutanix 支持门户 上提供的 Nutanix Acropolis MCS 插件安装指南。
步骤 1a:安装并注册用于本地部署交付控制器的 Nutanix AHV 插件
安装 Citrix 虚拟应用和桌面™ 后,请在您的交付控制器上选择并安装 XD MCS AHV Plugin。

步骤 1b:安装并注册用于云交付控制器的 Nutanix AHV 插件
选择并安装适用于 Citrix Cloud™ 连接器的 CWA MCS AHV Plugin。在所有已向 Citrix Cloud 租户注册的 Citrix Cloud 连接器上安装该插件。即使 Citrix Cloud 连接器服务于没有 AHV 的资源位置,也必须注册它们。
步骤 1c:安装插件后完成以下步骤
- 验证是否已在
C:\Program Files\Common Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0中创建 Nutanix Acropolis 文件夹。 - 运行
"C:\Program Files\Common Files\Citrix\HCLPlugins\RegisterPlugins.exe" -PluginsRoot "C:\Program Files\Common Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0"命令。 -
在您的本地交付控制器上重新启动 Citrix 主机、Citrix Broker 和 Citrix 机器创建服务,或者在 Citrix 云连接器上重新启动 Citrix RemoteHCLServer 服务。
提示:
建议您在安装或更新 Nutanix AHV 插件时,停止然后重新启动 Citrix 主机、Citrix 代理和机器创建服务。
步骤 2:创建主机连接
This section gives examples on how to create a host connection to Azure, AWS, XenServer® (formerly Citrix Hypervisor), GCP, Nutanix AHV, and VMware vSphere.
注意:
对于本地 Delivery Controller,请在本地 Citrix Studio 中选择配置 > 托管 > 添加连接和资源以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择管理 > 托管 > 添加连接和资源以创建主机连接。
有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档中的创建和管理连接和资源 和 Citrix DaaS 文档中的创建和管理连接。
在 思杰 Studio 中创建到 Azure 的主机连接
-
对于本地交付控制器,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云交付控制器,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。
-
在添加连接和资源向导中,选择 Microsoft Azure 作为连接类型。
-
选择微软 Azure 作为连接类型。
-
该向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 Next,直到到达 Summary 页面。有关详细信息,请参阅 使用 MCS 创建非域加入的 Linux VDA 文章中的步骤 2:创建主机连接。
在 Citrix Studio 中创建到 AWS 的主机连接
-
对于本地 Delivery Controller,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。
-
在“添加连接和资源”向导中,选择 Amazon EC2 作为连接类型。
例如,在本地 思杰 Studio 中:

-
键入您的 AWS 帐户的 API 密钥和秘密密钥,并键入您的连接名称。

API 密钥是您的访问密钥 ID,秘密密钥是您的秘密访问密钥。它们被视为访问密钥对。如果您丢失了秘密访问密钥,可以删除该访问密钥并创建另一个。要创建访问密钥,请执行以下操作:
- 登录到 AWS 服务。
- 导航到身份和访问管理 (IAM) 控制台。 1 在左侧导航窗格中,选择 用户。
- 选择目标用户并向下滚动以选择 安全凭证 选项卡。
- 向下滚动并单击 创建访问密钥。将出现一个新窗口。
- 单击 下载 .csv 文件 并将访问密钥保存到安全位置。
-
向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 下一步,直到到达 摘要 页面。
在 思杰工作室 中创建到 Xen 服务器 的主机连接
-
对于本地 Delivery Controller,在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controller,在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。
-
在 添加连接和资源 向导中,在 连接类型 字段中选择 XenServer(以前称为 Citrix Hypervisor)。
-
键入连接地址(XenServer URL)和凭据。
-
输入连接名称。
在 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 页面。有关详细信息,请参阅 使用 MCS 创建非域加入的 Linux VDA 文章中的“步骤 2:创建主机连接”。
Create a host connection to Nutanix in Citrix Studio
-
对于本地 Delivery Controller,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。
-
在 Add Connection and Resources 向导中,在 Connection 页面上选择 Nutanix AHV 作为连接类型,然后指定管理程序地址、凭据和连接名称。在 Network 页面上,为该单元选择一个网络。
例如,在本地 思杰 Studio 中:

在 Citrix Studio 中创建与威睿的主机连接
-
Install vCenter Server in the vSphere environment. For more information, see VMware vSphere.
-
对于本地交付控制器,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云交付控制器,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。
-
选择 VMware vSphere 平台作为连接类型。
例如,在本地 Citrix Studio 管理控制台中:

-
键入您的 VMware 帐户的连接地址(vCenter Server URL)、凭据和连接名称。

步骤 3:准备主映像
(For XenServer only) Step 3a: Install XenServer VM Tools
在模板 VM 上安装 XenServer VM Tools,以便每个 VM 都可以使用 xe CLI 或 XenCenter。除非安装这些工具,否则 VM 性能可能会很慢。如果没有这些工具,您将无法执行以下任何操作:
- 正常关闭、重新启动或暂停 VM。
- 在 XenCenter 中查看 VM 性能数据。
- 迁移正在运行的 VM(通过
XenMotion)。 - 创建快照或带内存的快照(检查点),并还原到快照。
- 调整正在运行的 Linux VM 上的 vCPU 数量。
-
根据所使用的管理程序版本,从 XenServer 下载页面 或 Citrix Hypervisor 下载页面 下载适用于 Linux 的 XenServer 虚拟机工具文件。
-
将
LinuxGuestTools-xxx.tar.gz文件复制到您的 Linux VM 或复制到 Linux VM 可以访问的共享驱动器。 -
提取 tar 文件的内容:
tar -xzf LinuxGuestTools-xxx.tar.gz -
运行以下命令以安装
xe-guest-utilities软件包,具体取决于您的 Linux 发行版。For RHEL/CentOS/Rocky Linux/SUSE:
sudo rpm -i <extract-directory>/xe-guest-utilities_{package-version}_x86.64.rpm <!--NeedCopy-->For Ubuntu/Debian:
sudo dpkg -i <extract-directory>/xe-guest-utilities_{package-version}_amd64.deb <!--NeedCopy--> -
在 XenCenter 的“General”选项卡上检查模板 VM 的虚拟化状态。如果 XenServer VM Tools 已正确安装,则虚拟化状态将显示为“Optimized”。
步骤 3b:验证亚马逊云科技、Azure 和谷歌云上的 SUSE 15.6 配置
对于亚马逊云科技、Azure 和谷歌云上的 SUSE 15.6,请确保:
- 您正在使用版本 12 或更高版本的 libstdc++6。
- The Default_WM parameter in /etc/sysconfig/windowmanager is set to “gnome”.
步骤 3c: 禁用谷歌云平台上的 Ubuntu 20.04 的反向 DNS
在模板虚拟机上,在 /etc/krb5.conf 中的 [libdefaults] 下添加 rdns = false 行。
步骤 3d:在模板 VM 上安装 .NET
要使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。要使用通过 SSSD 连接到域的当前正在运行的 RHEL 8.x/9.x/10 或 Rocky Linux 8.x/9.x/10 VDA 作为模板 VM,请确保:
-
VDA 是手动安装的,而不是通过轻松安装。轻松安装对 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 使用 Adcli,而 SSSD 和 Adcli 的组合不受 MCS 支持。
-
Samba 服务器配置为使用 SSSD 进行 AD 身份验证。有关详细信息,请参阅 Red Hat 文章 如何在 RHEL 中使用 SSSD 和 Winbind 配置 Samba 服务器。
注意:
要使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。要使用通过 SSSD 连接到域的当前正在运行的 RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x VDA 作为模板 VM,请确保:
VDA 是手动安装的,而不是通过轻松安装。轻松安装对 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x 使用 Adcli,而 SSSD 和 Adcli 的组合不受 MCS 支持。
Samba 服务器配置为使用 SSSD 进行 AD 身份验证。有关详细信息,请参阅 Red Hat 文章 https://access.redhat.com/solutions/3802321。
在安装 Linux VDA 软件包之前,请在模板 VM 上安装 .NET 并注意以下事项:
-
除了 .NET Runtime,您还必须在所有受支持的 Linux 发行版上安装 .ASP.NET Core Runtime,然后才能安装或升级 Linux VDA。Amazon Linux 2 需要版本 6。其他发行版需要版本 8。
-
如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装。否则,请从 Microsoft 软件包源安装 .NET。有关详细信息,请参阅 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-managers。
步骤 3e:在模板 VM 上安装 Linux VDA 软件包
安装 .NET 后,根据您的 Linux 发行版运行以下命令以安装 Linux VDA:
对于 RHEL/CentOS/Rocky Linux 操作系统,请按照以下说明进行操作:
注意:
在 RHEL 9.x 和 Rocky Linux 9.x 上安装 Linux VDA 之前,请将 libsepol 软件包更新到版本 3.4 或更高版本。
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
针对 Ubuntu/Debian 操作系统版本:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
针对 SUSE 操作系统:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
步骤 3f:(仅限 RHEL)安装可提供 ntfs-3g 的 EPEL 存储库
在 RHEL 8 上安装 EPEL 存储库。有关如何安装 EPEL 的信息,请参阅 https://docs.fedoraproject.org/zh-cn/epel/ 中的说明。
步骤 3g:(仅限 SUSE)手动安装 ntfs-3g
在 SUSE 平台上,没有存储库提供 ntfs-3g。请手动下载源代码、编译并安装 ntfs-3g:
-
安装 GNU 编译器集合 (GCC) 编译器系统和 make 软件包:
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
安装 ntfs-3g 软件包:
./configure make make install <!--NeedCopy-->
步骤 3h:指定要使用的数据库
安装 Linux VDA 软件包后,您可以在 SQLite 和 PostgreSQL 之间切换。为此,请完成以下步骤:
注意:
- 建议您仅在 VDI 模式下使用 SQLite,并在托管共享桌面交付模型中使用 PostgreSQL。
- 对于轻松安装和 MCS,您可以指定要使用的 SQLite 或 PostgreSQL,而无需手动安装它们。除非通过 /etc/xdl/db.conf 另行指定,否则 Linux VDA 默认使用 PostgreSQL。如果您需要自定义版本的 PostgreSQL,而不是 Linux 发行版提供的版本,则必须手动安装指定版本,编辑
/etc/xdl/db.conf以反映新版本,并在运行轻松安装脚本 (ctxinstall.sh) 或 MCS 脚本 (deploymcs.sh) 之前启动 PostgreSQL 服务。- 您还可以使用文件 /etc/xdl/db.conf 来配置 PostgreSQL 的端口号。
-
运行
/opt/Citrix/VDA/sbin/ctxcleanup.sh。如果是全新安装,请省略此步骤。 -
在运行
deploymcs.sh之前编辑/etc/xdl/db.conf。以下是 db.conf 文件的示例:# database configuration file for Linux VDA ## database choice # possible choices are: # SQLite # PostgreSQL # default choice is PostgreSQL DbType="PostgreSQL" ## database port # specify database port for the database. # if not specified, default port will be used: # SQLite: N/A # PostgreSQL: 5432 DbPort=5432 ## PostgreSQL customized # only the following value means true, otherwise false: # true # yes # y # YES # Y # default is false DbCustomizePostgreSQL=false ## PostgreSQL service name # specify the service name of PostgreSQL for Linux VDA # default is "postgresql" DbPostgreSQLServiceName="postgresql" <!--NeedCopy-->如果您需要使用一个自定义版本的 PostgreSQL 数据库,那么请务必将 DbCustomizePostgreSQL 这个参数的值设置为 true。
步骤 3i:配置 MCS 变量
配置 MCS 变量有两种方法:
- 编辑
/etc/xdl/mcs/mcs.conf文件。 -
使用简易安装 GUI。要打开简易安装 GUI,请在 Linux VDA 的桌面环境中运行
/opt/Citrix/VDA/bin/easyinstall命令。
提示:
单击保存可将变量设置保存到您指定路径下的本地文件。单击加载可从您指定的文件加载变量设置。
以下是您可以为非域加入和域加入方案配置的 MCS 变量:
-
对于非域加入方案
您可以使用默认变量值或根据需要自定义变量(可选):
DOTNET_RUNTIME_PATH=.NET 运行时安装路径DESKTOP_ENVIRONMENT=gnome | mateREGISTER_SERVICE=是 | 否ADD_FIREWALL_RULES=是 | 否VDI_MODE=是 | 否START_SERVICE=是 | 否 -
对于域加入方案
-
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:设置 SSSD、Winbind、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的矩阵,请参阅本文中的支持的发行版。 -
TRUSTED_DOMAINS: 对于多域环境,请指定一个以空格分隔的受信任域列表(例如,“mycompany1.com mycompany2.com”)。这会更新 /etc/krb5.conf 中的受信任域,并且如果未指定 LDAP_LIST,则会启用这些域中 LDAP 服务器的自动发现。此变量是可选的。
注意
SSSD 仅支持单个活动目录林中的受信任域。
-
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=path-to-install-dotnet-runtimeDESKTOP_ENVIRONMENT=gnome | mateSUPPORT_DDC_AS_CNAME=Y | NVDA_PORT=port-numberREGISTER_SERVICE=Y | NADD_FIREWALL_RULES=Y | NHDX_3D_PRO=Y | NVDI_MODE=Y | NSITE_NAME=dns-site-name | ‘<none>’LDAP_LIST=’list-ldap-servers’ | ‘<none>’SEARCH_BASE=search-base-set | ‘<none>’FAS_LIST=’list-fas-servers’ | ‘<none>’START_SERVICE=Y | NTELEMETRY_SOCKET_PORT=port-numberTELEMETRY_PORT=port-number
-
(可选)步骤 3j:为 MCS 写入或更新注册表值
在模板计算机上,根据需要将命令行添加到 /etc/xdl/mcs/mcs_local_setting.reg 文件中,以写入或更新注册表值。此操作可防止每次 MCS 预配的计算机重新启动时数据和设置丢失。
/etc/xdl/mcs/mcs_local_setting.reg 文件中的每一行都是用于设置或更新注册表值的命令。
例如,您可以将以下命令行添加到 /etc/xdl/mcs/mcs_local_setting.reg 文件中,以分别写入或更新注册表值:
create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --force
<!--NeedCopy-->
update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
<!--NeedCopy-->
注意
要修改 MCS 的设置,您可以编辑 /etc/xdl/ad_join 和 /etc/xdl/mcs/ 下的文件,但禁止编辑 /var/xdl/mcs 下的任何文件。
步骤 3k: 创建主映像
- (仅适用于 SSSD + RHEL 8.x/9.x/10 或 Rocky Linux 8.x/9.x/10) 运行
update-crypto-policies --set DEFAULT:AD-SUPPORT命令,然后重新启动模板 VM。 -
如果通过编辑
/etc/xdl/mcs/mcs.conf配置 MCS 变量,请运行/opt/Citrix/VDA/sbin/deploymcs.sh。如果通过 GUI 配置 MCS 变量,请单击部署。在 GUI 上单击部署后,您在 GUI 上设置的变量将覆盖您在/etc/xdl/mcs/mcs.conf文件中设置的变量。 -
(如果您正在使用当前正在运行的 VDA 作为模板 VM,或者它是一个未加入域的场景,请跳过此步骤。) 在模板 VM 上,更新配置模板以自定义所有已创建 VM 上的相关
/etc/krb5.conf、/etc/samba/smb.conf和/etc/sssd/sssd.conf文件。对于 Winbind 用户,更新
/etc/xdl/ad_join/winbind_krb5.conf.tmpl和/etc/xdl/ad_join/winbind_smb.conf.tmpl模板。对于 SSSD 用户,更新
/etc/xdl/ad_join/sssd.conf.tmpl、/etc/xdl/ad_join/sssd_krb5.conf.tmpl和/etc/xdl/ad_join/sssd_smb.conf.tmpl模板。对于 Centrify 用户,更新
/etc/xdl/ad_join/centrify_krb5.conf.tmpl和/etc/xdl/ad_join/centrify_smb.conf.tmpl模板。注意:
Keep the existing format used in the template files and use variables such as $WORKGROUP, $REALM, $realm, ${new_hostname}, and $AD_FQDN.
-
根据您使用的公有云,创建并命名主映像的快照。
-
(对于 XenServer、GCP 和 VMware vSphere) 在模板 VM 上安装应用程序并关闭模板 VM。创建并命名主映像的快照。
-
(对于 Azure) 在模板 VM 上安装应用程序,然后从 Azure 门户关闭模板 VM。确保模板 VM 的电源状态为已停止(已解除分配)。请记住此处的资源组名称。您需要该名称才能在 Azure 上找到您的主映像。

-
(对于 AWS) 在模板 VM 上安装应用程序,然后从 AWS EC2 门户关闭模板 VM。确保模板 VM 的实例状态为已停止。右键单击模板 VM,然后选择映像 > 创建映像。根据需要键入信息并进行设置。单击创建映像。

-
(适用于 Nutanix) 在 Nutanix AHV 上,关闭模板 VM。创建并命名主映像的快照。
注意:
您必须在 Acropolis 快照名称前加上
XD_,才能在 Citrix Virtual Apps and Desktops 中使用。必要时,使用 Acropolis 控制台重命名快照。重命名快照后,重新启动创建目录向导以获取刷新后的列表。
-
(适用于 GCP) 步骤 3l:在 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x/10 上配置以太网连接
在 GCP 上托管的 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 上安装 Linux VDA 后,以太网连接可能会丢失,并且在 VM 重启后 Linux VDA 可能无法访问。要解决此问题,请在首次登录 VM 时设置 root 密码,并确保您可以以 root 身份登录 VM。然后,在重启 VM 后在控制台中运行以下命令:
nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->
步骤 4:创建计算机目录
在 Citrix Studio 或 Web Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请选择您的主映像并考虑以下事项:
-
在 Nutanix 特有的容器页面上,选择您之前为模板 VM 指定的容器。
-
当您创建包含单会话操作系统计算机的目录时,将显示桌面体验页面,您可以在其中确定用户每次登录时发生的情况。

在桌面体验页面上,选择以下选项之一:
- 用户每次登录时都连接到新的(随机)桌面。
- 用户每次登录时都连接到相同的(静态)桌面。
如果您选择第一个选项,用户对桌面所做的更改将被丢弃(非持久性)。
如果您选择第二个选项并使用 MCS 预配计算机,则可以配置如何处理用户对桌面所做的更改:
- 将用户更改保存到本地磁盘上的桌面(持久性)。
- 用户注销时丢弃用户更改并清除虚拟桌面(非持久性)。如果您正在使用用户个性化层,请选择此选项。
-
更新包含持久性计算机的 MCS 目录的主映像时,添加到目录的任何新计算机都将使用更新后的映像。现有计算机将继续使用原始主映像。
有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档以及 Citrix DaaS 文档中有关计算机目录创建的内容。
注意:
对于 Nutanix 环境,如果您的 Delivery Controller™ 上的计算机目录创建过程耗时过长,请转到 Nutanix Prism 并手动启动前缀为 Preparation 的计算机。此方法有助于继续创建过程。
步骤 5:创建交付组
交付组是选自一个或多个计算机目录的计算机集合。它指定哪些用户可以使用这些计算机,以及哪些应用程序和桌面可供这些用户使用。
For more information, see delivery group creation in the Citrix Virtual Apps and Desktops documentation and the Citrix DaaS documentation.
注意:
您使用 MCS 创建的 VM 可能无法向 Citrix Cloud Connectors 注册并显示为 Unregistered。当您在 Azure 上托管 VM 并使用 Samba Winbind 加入 AD 域时,会出现此问题。要解决此问题,请完成以下步骤:
- 转到 ADSI Edit 控制台,选择一个未注册的 VM,然后编辑其计算机帐户的 msDS-SupportedEncryptionTypes 属性。
- 重新启动 VM 上的 ctxjproxy 和 ctxvda 服务。如果 VM 的状态变为 Registered,请继续执行步骤 3 到 5。
- Open the /var/xdl/mcs/ad_join.sh file on the template VM.
Add a line of net ads enctypes set $NEW_HOSTNAME$ <Decimal value of encryption type attribute, for example, 28> -U $NEW_HOSTNAME$ -P password after the following lines inside the /var/xdl/mcs/ad_join.sh file:
if [ "$AD_INTEGRATION" == "winbind" ]; then join_domain_samba restart_service winbind /usr/bin/systemctl <!--NeedCopy-->- 拍摄新快照并使用新模板创建 VM。
使用 MCS 升级您的 Linux 虚拟投递代理
要使用 MCS 升级 Linux VDA,请执行以下操作:
-
确保在将 Linux VDA 升级到当前版本之前已安装 .NET。
- Install .NET Runtime 8.0 on all supported Linux distributions except Amazon Linux 2.
- For Amazon Linux 2, continue to install .NET Runtime 6.0.
如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装。否则,请从 Microsoft 软件包源安装 .NET。有关详细信息,请参阅 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-managers。
-
在模板计算机上升级 Linux VDA:
注意:
-
您还可以使用 通过 Azure 进行 Linux VDA 自我更新 功能来安排自动软件更新。要实现此目标,请将命令行添加到模板计算机上的 etc/xdl/mcs/mcs_local_setting.reg 文件中。例如,您可以添加以下命令行:
create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" --force create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" –force create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force <!--NeedCopy--> -
从 2407 版本开始,Linux VDA 委托软件包管理器 rpm 或 dpkg 在升级期间处理配置文件。以下介绍了 rpm 和 dpkg 如何与配置文件的更改进行交互:
-
rpm:默认情况下保留本地版本,并将软件包中的新版本保存为 .rpmnew 扩展名。
-
dpkg:以交互方式提示您选择如何继续。要静默升级 Linux VDA,同时保留本地配置文件并将新软件包版本保存为 .dpkg-new 或 .dpkg-dist,请使用以下命令:
dpkg --force-confold -i package.deb # Always keep your version, then save new package's version as *.dpkg-new or *.dpkg-dist <!--NeedCopy-->
-
适用于 RHEL 和 Rocky Linux 操作系统发行版:
sudo yum -y localinstall <PATH>/<Linux VDA RPM> <!--NeedCopy-->注意:
在 RHEL 9.x 和 Rocky Linux 9.x 操作系统上进行 Linux VDA 升级操作之前,请将 libsepol 软件包更新到版本 3.4 或更高版本。
对于 SUSE 发行版:
sudo zypper -i install <PATH>/<Linux VDA RPM> <!--NeedCopy-->对于 乌班图/德比安 发行版:
sudo dpkg -i <PATH>/<Linux VDA deb> sudo apt-get install -f <!--NeedCopy--> -
-
编辑
/etc/xdl/mcs/mcs.conf和/etc/xdl/mcs/mcs_local_setting.reg。 -
拍摄新快照。
-
在 Citrix Studio 中,选择新快照以更新您的计算机目录。在每台计算机重新启动之前等待。请勿手动重新启动计算机。
自动更新计算机帐户密码
默认情况下,计算机帐户密码在计算机目录创建 30 天后过期。为防止密码过期并自动更新计算机帐户密码,请执行以下操作:
-
Add the following entry to /etc/xdl/mcs/mcs.conf before running /opt/Citrix/VDA/sbin/deploymcs.sh.
UPDATE_MACHINE_PW="Y" -
After running /opt/Citrix/VDA/sbin/deploymcs.sh, open /etc/cron.d/mcs_update_password_cronjob to set the update time and frequency. The default setting updates machine account passwords weekly at 2:30AM, Sunday.
每次计算机帐户密码更新后,Delivery Controller 上的票证缓存都会失效,并且 /var/log/xdl/jproxy.log 中可能会出现以下错误:
[ERROR] - AgentKerberosServiceAction.Run: GSSException occurred. Error: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
要消除此错误,请定期清除票证缓存。您可以在所有 Delivery Controller 或域控制器上安排缓存清理任务。