Linux Virtual Delivery Agent

使用 Machine Creation Services™ (MCS) 创建 Linux VDA

您可以使用 MCS 创建已加入域和未加入域的 VDA。

重要提示:

以下是 2212 版本开始的重要更改:

  • /etc/xdl/mcs/mcs.conf 文件中或 easy install GUI 上的 AD_INTEGRATION 变量不再具有默认值。您必须根据需要设置一个值。有关详细信息,请参阅本文中的步骤 3h:配置 MCS 变量部分。
  • /etc/xdl/mcs/mcs.conf 中 UPDATE_MACHINE_PW 条目的有效值不再是 enableddisabled,而是 YN。有关详细信息,请参阅本文中的自动更新计算机帐户密码部分。

支持的发行版

  Winbind SSSD Centrify PBIS
Debian 11.7/11.3 Yes Yes No Yes
RHEL 9.2/9.0 Yes Yes No No
RHEL 8.8/8.6 Yes Yes Yes Yes
Rocky Linux 9.2/9.0 Yes Yes No No
Rocky Linux 8.8/8.6 Yes Yes No No
RHEL 7.9, CentOS 7.9 Yes Yes Yes Yes
SUSE 15.5 Yes Yes No Yes
Ubuntu 22.04, Ubuntu 20.04 Yes Yes No Yes

注意:

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

  • VDA 是手动安装的,而不是使用 easy install 安装的。Easy install 对 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
  • 支持的管理程序

  • AWS
  • XenServer (以前称为 Citrix Hypervisor™)
  • GCP
  • Microsoft Azure
  • Nutanix AHV
  • VMware vSphere

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

使用 MCS 创建 Linux VM

  • 注意事项

    • 从 2203 版本开始,您可以在 Microsoft Azure、AWS 和 GCP 上托管 Linux VDA,用于 Citrix Virtual Apps and Desktops™ 以及 Citrix DaaS (以前称为 Citrix Virtual Apps and Desktops service)。要将这些公共云主机连接添加到您的 Citrix Virtual Apps and Desktops 部署中,您需要 Citrix Universal Hybrid Multi-Cloud (HMC) 许可证。

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

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

    Linux distribution Centrify version
    RHEL 7/8 5.8.0
    SUSE 5.7.1
  • Debian, Ubuntu 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 创建的计算机之前,根据您的部署,在您的 Delivery Controller 或 Citrix Cloud Connector 上运行 klist -li 0x3e4 purge

  • (仅限 Nutanix) 步骤 1:安装并注册 Nutanix AHV 插件

  • 从 Nutanix 获取 Nutanix AHV 插件包。在您的 Citrix Virtual Apps and Desktops 环境中安装并注册该插件。有关详细信息,请参阅 Nutanix 支持门户上提供的 Nutanix Acropolis MCS 插件安装指南。

  • 步骤 1a:为本地 Delivery Controller 安装并注册 Nutanix AHV 插件

安装 Citrix Virtual Apps™ and Desktops 后,在您的 Delivery Controller 上选择并安装 XD MCS AHV Plugin

Nutanix AHV plug-in for on-premises Delivery Controllers

步骤 1b:为云 Delivery Controller 安装并注册 Nutanix AHV 插件

为 Citrix Cloud™ Connectors 选择并安装 CWA MCS AHV Plugin。在所有已向 Citrix Cloud 租户注册的 Citrix Cloud Connectors 上安装该插件。即使 Citrix Cloud Connectors 服务于没有 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"
  • 在您的本地 Delivery Controller 上重新启动 Citrix Host、Citrix Broker 和 Citrix Machine Creation Services,或者在 Citrix Cloud Connectors 上重新启动 Citrix RemoteHCLServer Service。

    提示:

    我们建议您在安装或更新 Nutanix AHV 插件时停止并重新启动 Citrix Host、Citrix Broker 和 Machine Creation Services。

步骤 2:创建主机连接

本部分提供了如何创建到 Azure、AWS、XenServer® (以前称为 Citrix Hypervisor)、GCP、Nutanix AHV 和 VMware vSphere 的主机连接的示例。

注意:

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

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

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

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

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

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

  4. 向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择下一步,直到到达摘要页面。有关详细信息,请参阅使用 MCS 创建非域加入的 Linux VDA一文中的步骤 2:创建主机连接

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

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

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

    选择 Amazon EC2

  2. 键入您的 AWS 帐户的 API 密钥和秘密密钥,然后键入您的连接名称。

    访问密钥对

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

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

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

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

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

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

  4. 输入连接名称。

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

根据Google Cloud Platform 虚拟化环境设置您的 GCP 环境,然后完成以下步骤以创建到 GCP 的主机连接。

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

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

    例如,在 Citrix Cloud 上基于 Web 的 Studio 控制台中:

    添加连接图像

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

  4. 向导将引导您完成各个页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择下一步,直到到达摘要页面。有关详细信息,请参阅使用 MCS 创建非域加入的 Linux VDA一文中的步骤 2:创建主机连接

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

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

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

    例如,在本地 Citrix Studio 中:

    在本地 Citrix Studio 中创建到 Nutanix 的主机连接

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

  1. 在 vSphere 环境中安装 vCenter Server。有关详细信息,请参阅 VMware vSphere

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

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

    例如,在本地 Citrix Studio 中:

    选择 VMware vSphere

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

    VMware 连接名称

步骤 3:准备主映像

(仅限 XenServer)步骤 3a:安装 XenServer VM Tools

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

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

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

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

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

    对于 RHEL/CentOS/Rocky Linux/SUSE:

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

    对于 Ubuntu/Debian:

    sudo dpkg -i <extract-directory>/xe-guest-utilities_{package-version}_amd64.deb
    <!--NeedCopy-->
    

    对于 SUSE:

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

步骤 3b:验证 AWS、Azure 和 GCP 上的 SUSE 15.5 配置

-  对于 AWS、Azure 和 GCP 上的 SUSE 15.5,请确保:

-  您使用的是 **libstdc++6** 版本 12 或更高版本。
-  **/etc/sysconfig/windowmanager** 中的 **Default_WM** 参数设置为 **"gnome"**。

步骤 3c:在 GCP 上禁用 Ubuntu 20.04 的 RDNS

在模板 VM 上,在 /etc/krb5.conf 中的 [libdefaults] 下添加 rdns = false 行。

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

注意:

-  要使用当前正在运行的 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>。

-  在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。

根据您的 Linux 发行版,运行以下命令为 Linux VDA 设置环境:

对于 RHEL/CentOS/Rocky:

注意:

-  对于 RHEL 和 CentOS,请先安装 EPEL 存储库,然后才能成功安装 Linux VDA 并运行 `deploymcs.sh`。有关如何安装 EPEL 的信息,请参阅 <https://docs.fedoraproject.org/en-US/epel/> 上的说明。

-  在 RHEL 9.2/9.0 和 Rocky Linux 9.2/9.0 上安装 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-->
-  #### 步骤 3e:启用存储库以安装 **tdb-tools** 软件包(仅限 RHEL 7)

对于 RHEL 7 服务器:

subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->

对于 RHEL 7 工作站:

subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->

步骤 3f:(在 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-->
    

步骤 3g:指定要使用的数据库

安装 Linux VDA 软件包后,您可以在 SQLite 和 PostgreSQL 之间切换。为此,请完成以下步骤:

注意:

-  我们建议您仅将 SQLite 用于 VDI 模式,并将 PostgreSQL 用于托管共享桌面交付模型。
-  为了便于安装和 MCS,您可以指定要使用的 SQLite 或 PostgreSQL,而无需手动安装它们。除非通过 **/etc/xdl/db.conf** 另行指定,否则 Linux VDA 默认使用 PostgreSQL。
  • 您还可以使用 /etc/xdl/db.conf 配置 PostgreSQL 的端口号。
  1. 运行 /opt/Citrix/VDA/sbin/ctxcleanup.sh。如果是全新安装,请省略此步骤。

  2. 在运行 deploymcs.sh 之前编辑 /etc/xdl/db.conf

步骤 3h:配置 MCS 变量

有两种方法可以配置 MCS 变量:

  • 编辑 /etc/xdl/mcs/mcs.conf 文件。
    • 使用易于安装的 GUI。要打开易于安装的 GUI,请在 Linux VDA 的桌面环境中运行 /opt/Citrix/VDA/bin/easyinstall 命令。

    易于安装的 GUI

    提示:

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

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

-  **对于非域加入方案**

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

`DOTNET_RUNTIME_PATH`=**dotnet 运行时安装路径 \\**
`DESKTOP_ENVIRONMENT`= \*\*gnome | mate \\*\*
`REGISTER_SERVICE`=\*\*Y | N\*\*
`ADD_FIREWALL_RULES`=\*\*Y | N\*\*
`VDI_MODE`=\*\*Y | N\*\*
`START_SERVICE`=\*\*Y | N\*\*

-  **对于已加入域的场景**

-  `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 发行版和域加入方法的矩阵,请参阅本文中的[支持的发行版](#supported-distributions)。

-  `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`:启用或禁用自动更新计算机帐户密码。有关详细信息,请参阅[自动更新计算机帐户密码](#automate-machine-account-password-updates)。

-  Linux VDA 配置变量:

    `DOTNET_RUNTIME_PATH`=**dotnet 运行时安装路径 \\**
    `DESKTOP_ENVIRONMENT`= \*\*gnome | mate \\*\*
    `SUPPORT_DDC_AS_CNAME`=\*\*Y | N\*\*
    `VDA_PORT`=**端口号**
    `REGISTER_SERVICE`=\*\*Y | N\*\*
    `ADD_FIREWALL_RULES`=\*\*Y | N\*\*
    `HDX_3D_PRO`=\*\*Y | N\*\*
    `VDI_MODE`=\*\*Y | N\*\*
    `SITE_NAME`=\*\*dns-站点名称 | '<none\>'\*\*
    `LDAP_LIST`=\*\*'ldap-服务器列表' | '<none\>'\*\*
    `SEARCH_BASE`=\*\*搜索-基本设置 | '<none\>'\*\*
    `FAS_LIST`=\*\*'fas-服务器列表' | '<none\>'\*\*
    `START_SERVICE`=\*\*Y | N\*\*
    `TELEMETRY_SOCKET_PORT`=**端口号**
    `TELEMETRY_PORT`=**端口号**

步骤 3i:为 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 下的任何文件。

步骤 3j:创建主映像

  1. (仅适用于 SSSD + RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x)运行 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 上找到您的主映像。

      Stopped power status of template VM

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

      Creating an EBS image

    • (对于 Nutanix) 在 Nutanix AHV 上,关闭模板 VM。创建并命名主映像的快照。

      注意:

      您必须在 Acropolis 快照名称前加上 XD_ 前缀,才能在 Citrix Virtual Apps and Desktops 中使用。必要时,使用 Acropolis 控制台重命名快照。重命名快照后,重新启动创建目录向导以获取刷新后的列表。

(适用于 GCP)步骤 3k:在 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-->

步骤 4:创建计算机目录

在 Citrix Studio 或 Web Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请选择主映像并考虑以下事项:

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

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

    桌面体验

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

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

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

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

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

有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档和 Citrix DaaS 文档中的计算机目录创建。

注意:

对于 Nutanix 环境,如果 Delivery Controller™ 上的计算机目录创建过程花费了大量时间,请转至 Nutanix Prism 并手动启动以 Preparation 为前缀的计算机。此方法有助于继续创建过程。

步骤 5:创建交付组

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

有关详细信息,请参阅 Citrix Virtual Apps and Desktops 文档和 Citrix DaaS 文档中的交付组创建。

注意:

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

  1. 转到 ADSI Edit 控制台,选择一个未注册的 VM,然后编辑其计算机帐户的 msDS-SupportedEncryptionTypes 属性。
  2. 重新启动 VM 上的 ctxjproxyctxvda 服务。如果 VM 的状态变为已注册,请继续执行步骤 3 到 5。
  3. 打开模板 VM 上的 /var/xdl/mcs/ad_join.sh 文件。
  4. /var/xdl/mcs/ad_join.sh 文件中的以下行之后添加一行 net ads enctypes set $NEW_HOSTNAME$ <Decimal value of encryption type attribute, for example, 28> -U $NEW_HOSTNAME$ -P password

    if [ "$AD_INTEGRATION" == "winbind" ]; then
                    join_domain_samba
                    restart_service winbind /usr/bin/systemctl
    <!--NeedCopy-->
    
  5. 拍摄新快照并使用新模板创建 VM。

使用 MCS 升级 Linux VDA

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

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

  2. 在模板计算机上升级 Linux VDA:

    注意:

    您还可以使用 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-->
    

    适用于 RHEL 7 和 CentOS 7:

    sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
    <!--NeedCopy-->
    

    适用于 RHEL 8.x 和 Rocky Linux 8.x:

    sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
    <!--NeedCopy-->
    

    适用于 RHEL 9.2/9.0 和 Rocky Linux 9.2/9.0:

    注意:

    在 RHEL 9.2/9.0 和 Rocky Linux 9.2/9.0 上升级 Linux VDA 之前,请将 libsepol 软件包更新到 3.4 或更高版本。

    sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
    <!--NeedCopy-->
    

    适用于 SUSE:

    sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
    <!--NeedCopy-->
    

    适用于 Ubuntu 20.04:

    sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
    <!--NeedCopy-->
    

    对于 Ubuntu 22.04:

    sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
    <!--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 或域控制器上安排缓存清理任务。

在 MCS 创建的 VM 上启用 FAS

您可以在运行以下发行版的 MCS 创建的 VM 上启用 FAS:

  Winbind SSSD Centrify PBIS
RHEL 9.2/9.0
RHEL 8.x
Rocky Linux 9.2/9.0
Rocky Linux 8.x
RHEL 7, CentOS 7
Ubuntu 22.04, Ubuntu 20.04
Debian 11.7/11.3
SUSE 15.5

在模板 VM 上准备主映像时启用 FAS

  1. 导入根 CA 证书。

    sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  2. 运行 ctxfascfg.sh

  3. /etc/xdl/mcs/mcs.conf 中设置变量。

    注意:

    /etc/xdl/mcs/mcs.conf 中设置所有必需的变量,因为这些变量在 VM 启动时会被调用。

    1. Use_AD_Configuration_Files_Of_Current_VDA 的值设置为 Y。
    2. FAS_LIST 变量设置为您的 FAS 服务器地址或多个 FAS 服务器地址。使用分号分隔多个地址,并用单引号将地址括起来,例如 FAS_LIST='<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>'
    3. 根据需要设置其他变量,例如 VDI_MODE
  4. 运行脚本 /opt/Citrix/VDA/sbin/deploymcs.sh

在 MCS 创建的 VM 上启用 FAS

如果未按前述在模板计算机上启用 FAS,则可以在每个 MCS 创建的 VM 上启用 FAS。

要在 MCS 创建的 VM 上启用 FAS,请执行以下操作:

  1. 在 /etc/xdl/mcs/mcs.conf 中设置变量。

    注意:

    /etc/xdl/mcs/mcs.conf 中设置所有必需的变量,因为这些变量在 VM 启动时会被调用。

    1. Use_AD_Configuration_Files_Of_Current_VDA 的值设置为 Y。
    2. FAS_LIST 变量设置为您的 FAS 服务器地址。
    3. 根据需要设置其他变量,例如 VDI_MODE
  2. 导入根 CA 证书。

    sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  3. 运行 /opt/Citrix/VDA/sbin/ctxfascfg.sh 脚本。