Linux Virtual Delivery Agent

使用 机器创建服务™ (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 条目的有效值不再是 enableddisabled,而是 YN。有关详细信息,请参阅本文中的 自动执行计算机帐户密码更新 部分。

支持的发行版

  温拜德 系统安全服务守护进程 森特里菲 派比斯
德比安 12.12
迪比安 13
红帽企业版 Linux 10/9.7/9.6/9.4
RHEL 8.10
Rocky Linux 10/9.7/9.6/9.4
洛基 林纳克斯 8.10
苏斯 15.7
乌班图 24.04
乌班图 22.04

要使用当前正在运行的 RHEL 8.x/9.x/10 或 Rocky Linux 8.x/9.x/10 VDA 作为 MCS 的模板 VM,并且该 VDA 使用 SSSD 连接到域,请确保:

VDA 是手动安装的,而不是通过轻松安装。轻松安装对 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 使用 Adcli,而 MCS 不支持 SSSD 和 Adcli 的组合。

  • Citrix® 在相关 Linux 发行版上使用以下 Centrify 版本进行初始功能验证:

    Linux 系统发行版 Centrify version
    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),该组织单位对所有其下属的 MCS 创建的计算机具有写入和密码重置权限。

    • /opt/Citrix/VDA/sbin/deploymcs.sh 运行完成后,在您重启 MCS 创建的计算机之前,请根据您的部署在交付控制器或 Citrix 云连接器上运行 klist -li 0x3e4 purge

  • 要使用当前正在运行的 RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x 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
  • VMware vSphere

如果您尝试在不受支持的管理程序上准备主映像,可能会出现意外结果。

使用 MCS 创建 Linux 虚拟机

注意事项

  • 从 2203 版本开始,您可以在 微软 Azure、亚马逊云科技 和 谷歌云平台 上托管适用于 Citrix 虚拟应用和桌面™ 以及 Citrix DaaS(以前称为 Citrix 虚拟应用和桌面服务)的 Linux VDA。要将这些公有云主机连接添加到您的 Citrix 虚拟应用和桌面 部署中,您需要 Citrix 通用混合多云 (HMC) 许可证。

  • 不支持将裸机服务器与 MCS 结合使用来创建虚拟机。

(仅适用于 Nutanix)步骤 1:安装并注册 Nutanix AHV 插件

从 Nutanix 获取 Nutanix AHV 插件包。在您的 Citrix 虚拟应用和桌面 环境中安装并注册该插件。有关详细信息,请参阅 Nutanix 支持门户 上提供的 Nutanix Acropolis MCS 插件安装指南。

步骤 1a:安装并注册适用于本地交付控制器的 Nutanix AHV 插件

安装 Citrix 虚拟应用和桌面™ 后,在您的交付控制器上选择并安装 XD MCS AHV Plugin

适用于本地交付控制器的 Nutanix AHV 插件

步骤 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 代理和 Citrix 计算机创建服务,或者在 Citrix 云连接器上重新启动 Citrix RemoteHCLServer Service。

    提示:

    建议您在安装或更新 Nutanix AHV 插件时,停止然后重新启动 Citrix Host、Citrix Broker 和计算机创建服务。

步骤 2:创建主机连接

本节提供了有关如何创建主机连接的示例,这些连接可用于 Azure 云、亚马逊云、XenServer®(以前称为 Citrix Hypervisor)虚拟化平台、谷歌云、Nutanix AHV 虚拟化平台和 VMware vSphere 虚拟化平台。

注意:

对于本地 Delivery Controllers,请在本地 Citrix Studio 中选择配置 > 托管 > 添加连接和资源以创建主机连接。对于云 Delivery Controllers,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择管理 > 托管 > 添加连接和资源以创建主机连接。

有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档中的创建和管理连接和资源 和 Citrix DaaS 文档中的创建和管理连接

在 思杰 Studio 中创建到 微软 Azure 的主机连接

  1. 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择“配置 > 托管 > 添加连接和资源”以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上的基于 Web 的 Studio 控制台中选择“管理 > 托管 > 添加连接和资源”以创建主机连接。

  2. 在“添加连接和资源”向导中,选择 Microsoft Azure 作为连接类型。

  3. 选择 微软 Azure 作为连接类型。

  4. 该向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择“下一步”,直到到达“摘要”页面。有关详细信息,请参阅 (/zh-cn/linux-virtual-delivery-agent/current-release/installation-overview/create-non-domain-joined-linux-vdas-using-mcs#step-2-create-a-host-connection) 文章中的“步骤 2:创建主机连接”。

在 Citrix Studio 中创建到 AWS 的主机连接

  1. 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择“配置 > 托管 > 添加连接和资源”以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上的基于 Web 的 Studio 控制台中选择“管理 > 托管 > 添加连接和资源”以创建主机连接。

  2. 在“添加连接和资源”向导中,选择“Amazon EC2”作为连接类型。要创建到 Amazon WorkSpaces Core 托管实例的连接,请参阅 (/zh-cn/citrix-daas/install-configure/connections/connection-amazon-wsc)。

    此处以 Amazon EC2 连接为例进行说明,在本地 Citrix Studio 中操作如下:

    选择 亚马逊 EC2(/zh-cn/linux-virtual-delivery-agent/2210/media/choose-amazon-ec2.png)

  3. 输入您的 AWS 账户的 API 密钥和秘密密钥,然后输入您的连接名称。

    访问密钥对(/zh-cn/linux-virtual-delivery-agent/2210/media/access-key-pair.png)

    API 密钥是您的访问密钥 ID,秘密密钥是您的秘密访问密钥。它们被视为访问密钥对。如果您丢失了秘密访问密钥,可以删除该访问密钥并创建另一个。要创建访问密钥,请执行以下操作:

    1. 登录 AWS 服务。
    2. 导航到身份和访问管理 (IAM) 控制台。 1 在左侧导航窗格中,选择 用户
    3. 选择目标用户并向下滚动以选择 安全凭证 选项卡。
    4. 向下滚动并单击 创建访问密钥。将出现一个新窗口。
    5. 单击 下载 .csv 文件 并将访问密钥保存到安全位置。
  4. 向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 下一步,直到到达 摘要 页面。

在 Citrix Studio 管理控制台中创建到 XenServer 虚拟化平台的主机连接

  1. 对于本地 Delivery Controllers,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controllers,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。

  2. 添加连接和资源 向导中,在 连接类型 字段中选择 XenServer(以前称为 Citrix Hypervisor)。

  3. 输入连接地址(XenServer URL)和凭据。

  4. 输入连接名称。

在 Citrix Studio 中创建到 GCP 的主机连接

请按照 Google Cloud Platform virtualization environments 中详细说明的步骤来设置您的谷歌云平台环境,然后执行以下操作,以成功创建到谷歌云平台的主机连接。

  1. 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。

  2. 添加连接和资源 向导中,选择 Google Cloud Platform 作为连接类型。

    例如,在思杰云上的基于 Web 的管理控制台中:

    添加连接图像

  3. 导入您的 GCP 帐户的服务帐户密钥并键入您的连接名称。

  4. 该向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 Next,直到到达 Summary 页面。有关详细信息,请参阅 Create non-domain-joined Linux VDAs using MCS 文章中的步骤 2:创建主机连接

在思杰管理控制台中创建到 Nutanix 的主机连接

  1. 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云 Delivery Controller,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。

  2. Add Connection and Resources 向导中,在 Connection 页面上选择 Nutanix AHV 作为连接类型,然后指定管理程序地址、凭据和连接名称。在 Network 页面上,为该单元选择一个网络。

    例如,在本地 Citrix Studio 中进行以下操作:

    在本地 Citrix Studio 控制台中创建到 Nutanix 平台的主机连接

在 Citrix Studio 中,建立一个连接到 VMware 的主机连接

  1. 在 vSphere 环境中安装 vCenter 服务器。有关详细信息,请参阅 威睿 vSphere

  2. 对于本地交付控制器,请在本地 Citrix Studio 中选择 配置 > 托管 > 添加连接和资源 以创建主机连接。对于云交付控制器,请在 Citrix Cloud 上基于 Web 的 Studio 控制台中选择 管理 > 托管 > 添加连接和资源 以创建主机连接。

  3. 请选择 VMware vSphere 作为连接类型。

    例如,在本地部署的 Citrix Studio 中:

    选择 威睿 vSphere 虚拟化平台

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

    威睿 连接名称

步骤 3:准备主映像

(仅限 XenServer)步骤 3a:安装适用于 XenServer 的虚拟机工具

在每个 VM 的模板 VM 上安装 XenServer VM Tools,以使用 xe CLI 或 XenCenter。除非安装这些工具,否则 VM 性能可能会很慢。如果没有这些工具,您将无法执行以下任何操作:

  • 正常关机、重新启动或暂停 VM。
  • 在 XenCenter 中查看 VM 性能数据。
  • 迁移正在运行的 VM(通过 XenMotion)。
  • 创建快照或带内存的快照(检查点),并还原到快照。
  • 调整正在运行的 Linux VM 上的 vCPU 数量。
  1. 根据所使用的管理程序版本,从 XenServer 下载页面Citrix Hypervisor 下载页面 下载适用于 Linux 的 XenServer 虚拟机工具文件。

  2. LinuxGuestTools-xxx.tar.gz 文件复制到您的 Linux VM 或 Linux VM 可以访问的共享驱动器。

  3. 提取 tar 文件的内容:tar -xzf LinuxGuestTools-xxx.tar.gz

  4. 运行以下命令,根据您的 Linux 发行版安装 xe-guest-utilities 软件包。

    对于 红帽企业版 Linux/社区企业操作系统/洛基 Linux/SUSE Linux:

    sudo rpm -i <extract-directory>/xe-guest-utilities_{package-version}_x86.64.rpm
    <!--NeedCopy-->
    

    对于 乌班图/德比安:

    sudo dpkg -i <extract-directory>/xe-guest-utilities_{package-version}_amd64.deb
    <!--NeedCopy-->
    
  5. 在 XenCenter 的常规选项卡中检查模板 VM 的虚拟化状态。如果 XenServer VM Tools 已正确安装,则虚拟化状态将显示为已优化

步骤 3b:对 AWS、Azure 和 GCP 上的 SUSE 15.6 操作系统进行配置验证

对于在 AWS、Azure 和 GCP 环境中部署的 SUSE 15.6,请确保以下配置:

  • 您使用的是 libstdc++6 版本 12 或更高版本。
  • The Default_WM parameter in /etc/sysconfig/windowmanager is set to “gnome”.

Step 3c: Disable RDNS for Ubuntu 20.04 on GCP

在模板 VM 上,请在 /etc/krb5.conf 文件中,于 [libdefaults] 部分下添加 rdns = false 这一行。

步骤 3d:在模板 VM 上安装 .NET

注意:

要使用当前正在运行的 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 身份验证。有关详细信息,请参阅 https://access.redhat.com/solutions/3802321 处的 Red Hat 文章。

在安装 Linux VDA 软件包之前,请根据系统要求安装 .NET (/zh-cn/linux-virtual-delivery-agent/current-release/system-requirements.html#net-requirements)

步骤 3e:在模板 VM 上安装 Linux VDA 软件包

安装 .NET 后,根据您的 Linux 发行版运行以下命令以安装 Linux VDA:

For 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-->

For 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:

  1. 安装 GNU 编译器集合 (GCC) 编译器系统和 make 软件包:

    sudo zypper install gcc
    sudo zypper install make
    <!--NeedCopy-->
    
  2. 下载 ntfs-3g 软件包。

  3. 解压缩 ntfs-3g 软件包:

    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
    <!--NeedCopy-->
    
  4. 输入 ntfs-3g 软件包的路径:

    sudo cd ntfs-3g_ntfsprogs-<package version>
    <!--NeedCopy-->
    
  5. 安装 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 数据库的端口号。
  1. 运行 /opt/Citrix/VDA/sbin/ctxcleanup.sh。如果是全新安装,请省略此步骤。

  2. 在运行 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-->
    

    To use a custom version of PostgreSQL, set DbCustomizePostgreSQL to true.

步骤 3i:配置 MCS 变量

配置 MCS 变量有两种方法:

  • 编辑 /etc/xdl/mcs/mcs.conf 文件。
  • 使用简易安装图形用户界面。要打开简易安装图形用户界面,请在您的 Linux VDA 的桌面环境中运行 /opt/Citrix/VDA/sbin/linux-vda-installer 命令。

    注意:

    用户还可以单击“高级配置(可选)”按钮以展开详细配置选项。

    简易安装 GUI

    提示:

    单击“保存”将变量设置保存到您指定的路径下的本地文件。单击“加载”从您指定的文件加载变量设置。

以下是您可以为非域加入和域加入场景配置的 MCS 变量:

  • 对于非域加入场景

    您可以使用默认变量值或根据需要自定义变量(可选):

    DOTNET_RUNTIME_PATH=dotnet 运行时安装路径 DESKTOP_ENVIRONMENT=gnome | mate REGISTER_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 上的等效文件相同。但是,您仍然必须配置 dnsAD_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”)。如果未指定 LDAP_LIST,此操作将更新 /etc/krb5.conf 中的受信任域,并启用这些域中 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=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=端口号

(可选) 步骤 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:创建主映像

  1. (仅适用于 SSSD + RHEL 8.x/9.x/10 或 Rocky Linux 8.x/9.x/10) 运行 update-crypto-policies --set DEFAULT:AD-SUPPORT 命令,然后重新启动模板 VM。
  2. 如果您通过编辑 /etc/xdl/mcs/mcs.conf 配置 MCS 变量,请运行 /opt/Citrix/VDA/sbin/deploymcs.sh。如果您通过使用 GUI 配置 MCS 变量,请单击部署。在 GUI 上单击部署后,您在 GUI 上设置的变量将覆盖您在 /etc/xdl/mcs/mcs.conf 文件中设置的变量。

  3. (如果您正在使用当前运行的 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 模板。

    注意:

    保持模板文件中使用的现有格式,并使用诸如 $WORKGROUP、 $REALM、 $realm、 ${new_hostname} 和 $AD_FQDN 之类的变量。

  4. 根据您使用的公有云创建并命名主映像的快照。

    • (对于 XenServer、GCP 和 VMware vSphere) 在模板 VM 上安装应用程序并关闭模板 VM。创建并命名主映像的快照。

    • (对于 Azure) 在模板 VM 上安装应用程序,然后从 Azure 门户关闭模板 VM。确保模板 VM 的电源状态为已停止(已解除分配)。请记住此处的资源组名称。您需要该名称才能在 Azure 上找到您的主映像。

      模板 VM 的已停止电源状态

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

      创建 EBS 映像

    • (对于 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 中,创建准备好的映像,并使用这些准备好的映像通过以下方式创建 MCS 计算机目录:

  • Web 工作室
  • PowerShell commands

目前,您可以在 Azure 和 VMware 虚拟化环境中创建准备好的映像计算机目录。

有关详细信息,请参阅创建准备好的映像计算机目录

此处以 Web Studio 为例,要创建映像定义和初始映像版本,请执行以下操作:

  1. 在 Studio 中,转到映像节点,然后单击创建映像定义。在简介页面上单击下一步

  2. 在“映像定义”页面上,指定映像定义的“操作系统类型”和“会话类型”。

  3. 在“映像”页面上,选择“资源”(仅列出适用于所设置连接的资源)以及用作创建映像版本模板的主映像。您可以选中“使用计算机配置文件”复选框并选择一个计算机配置文件。

    注意:

    在选择映像之前,请验证主映像是否已安装 VDA 2311 或更高版本,并且 VDA 上已安装 MCSIO 驱动程序。

  4. 在“计算机规范”页面上,选择计算机大小。如果您选择计算机配置文件,则可以看到从计算机配置文件派生的虚拟 CPU 计数,并且该计数不可更改。如果您不选择计算机配置文件,则只能看到从主映像派生的内存大小。

  5. 在“网卡”页面上,为准备映像选择或添加网卡。对于每个网卡,选择一个关联的虚拟网络。如果您不选择计算机配置文件,则默认选择与主映像关联的网卡。如果您选择计算机配置文件,则网卡是从计算机配置文件派生的,并且计数不可更改。

  6. 在“版本描述”页面上,输入所创建的初始映像版本的描述。

  7. 在“摘要”页面上,检查映像定义和所创建的初始映像版本的详细信息。输入映像定义的名称和描述。单击“完成”。

创建映像版本

映像版本能够实现对特定映像的各种迭代或更新的管理。此功能使您能够针对不同的应用场景维护映像的多个版本。

要从初始映像版本创建映像版本,请执行以下操作:

  1. 转到“映像”节点,选择映像版本或映像定义,然后单击“创建映像版本”。

  2. 在“映像”页面上,您可以更改同一托管连接中的托管单元,并重新选择该映像版本的主映像和计算机配置文件。

  3. 如果您希望映像版本的配置与初始配置的映像版本不同,则在“创建映像版本”对话框的“计算机规范”和“网卡”页面上配置设置。

  4. 添加映像版本的描述。单击“完成”。

步骤 5:创建计算机目录

在 Citrix Studio 或 Web Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请选择步骤 4 中准备好的映像(更推荐)/主映像,并考虑以下事项:

  • 在 Nutanix 独有的容器页面上,选择您之前为模板 VM 指定的容器。

  • 当您创建包含单会话操作系统计算机的目录时,将显示桌面体验页面,您可以在其中确定用户每次登录时发生的情况。

    桌面体验

    桌面体验页面上,选择以下选项之一:

    • 用户每次登录时都连接到新的(随机)桌面。
    • 用户每次登录时都连接到相同的(静态)桌面。

    如果您选择第一个选项,用户对桌面所做的更改将被丢弃(非持久性)。

    如果您选择第二个选项并使用 MCS 预配计算机,则可以配置如何处理用户对桌面所做的更改:

    • 将用户对桌面所做的更改保存到本地磁盘(持久性)。
    • 用户注销时丢弃用户更改并清除虚拟桌面(非持久性)。如果您正在使用用户个性化层,请选择此选项。
  • 更新包含持久性计算机的 MCS 目录的主映像时,添加到目录中的任何新计算机都将使用更新后的映像。现有计算机将继续使用原始主映像。

有关计算机目录创建的更多信息,请参阅 Citrix 虚拟应用和桌面 文档和 Citrix 桌面即服务 文档。

注意:

对于 Nutanix 环境,如果您的 Delivery Controller™ 上的计算机目录创建过程耗时过长,请转到 Nutanix Prism 并手动启动前缀为 Preparation 的计算机。此方法有助于继续创建过程。

步骤 6:创建交付组

交付组是计算机的集合,这些计算机选自一个或多个计算机目录。它指定哪些用户可以使用这些计算机,以及这些用户可用的应用程序和桌面。

有关交付组创建的更多信息,请参阅 Citrix 虚拟应用和桌面 文档和 Citrix 桌面即服务 文档。

注意:

您使用 MCS 创建的 VM 可能无法向 Citrix Cloud Connectors 注册,并显示为 Unregistered。当您在 Azure 上托管 VM 并使用 Samba Winbind 加入 AD 域时,会出现此问题。要解决此问题,请完成以下步骤:

  1. 转到 ADSI 编辑控制台,选择一个未注册的 VM,并编辑其计算机帐户的 msDS-SupportedEncryptionTypes 属性。
  2. 在 VM 上重新启动 ctxjproxyctxvda 服务。如果 VM 的状态变为 Registered,请继续执行步骤 3 到 5。
  3. 请在模板虚拟机上打开 /var/xdl/mcs/ad_join.sh 文件。
  4. 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-->
    
  5. 拍摄新快照并使用新模板创建 VM。

Use MCS to upgrade your Linux VDA

要使用 MCS 升级 Linux VDA,请执行以下操作:

  1. 在将 Linux VDA 升级到当前版本之前,请确保已安装 .NET。

    • Install .NET Runtime 8.0 on all supported Linux distributions except Amazon Linux 2.
    • 对于 亚马逊 Linux 2,请继续安装 .NET 运行时 6.0。

    如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装。否则,请从 Microsoft 软件包源安装 .NET。有关详细信息,请参阅 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-managers

  2. 在模板计算机上升级 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 将包管理器 rpmdpkg 委托给处理升级期间的配置文件。下面介绍了 rpm 和 dpkg 如何与配置文件更改进行交互:

      • rpm:默认情况下保留本地版本,并将软件包中的新版本保存为带有 .rpmnew 扩展名的文件。

      • dpkg:以交互方式提示您如何继续。要在保留本地配置文件并将新软件包版本保存为 .dpkg-new.dpkg-dist 的同时静默升级 Linux VDA,请使用以下命令:

         dpkg --force-confold -i package.deb  # Always keep your version, then save new package's version as *.dpkg-new or *.dpkg-dist
         <!--NeedCopy-->
        

    对于 红帽企业版 Linux 和 洛基 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-->
    

    适用于 Ubuntu/Debian 操作系统发行版:

    sudo dpkg -i <PATH>/<Linux VDA deb>
    
    sudo apt-get install -f
    <!--NeedCopy-->
    
  3. 编辑 /etc/xdl/mcs/mcs.conf/etc/xdl/mcs/mcs_local_setting.reg

  4. 创建新快照。

  5. 在 Citrix Studio 中,选择新的快照以更新您的计算机目录。等待每台计算机重新启动。请勿手动重新启动计算机。

自动更新计算机帐户密码

默认情况下,计算机帐户密码在计算机目录创建 30 天后过期。为防止密码过期并自动更新计算机帐户密码,请执行以下操作:

  1. 请务必确保在执行 /opt/Citrix/VDA/sbin/deploymcs.sh 脚本之前,将以下所示的配置条目内容添加至 /etc/xdl/mcs/mcs.conf 配置文件中。

    UPDATE_MACHINE_PW="Y"

  2. 在运行 /opt/Citrix/VDA/sbin/deploymcs.sh 脚本之后,请打开 /etc/cron.d/mcs_update_password_cronjob 配置文件,以便设置密码更新的具体时间和频率。默认情况下,系统会在每周日凌晨 2:30 自动更新计算机账户的密码。

每次计算机帐户密码更新后,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 或域控制器上安排缓存清理任务。