Linux Virtual Delivery Agent

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

可以使用 MCS 创建加入了域和未加入域的 VDA。如果您想在 Citrix DaaS 中创建未加入域的 Linux VDA,还可以参考专门的文章使用 MCS 创建未加入域的 Linux VDA

重要:

下面是自 2212 版起所做的重要更改:

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

支持的发行版

  Winbind SSSD Centrify PBIS
Debian 11.9
RHEL 9.4/9.3/9.2/9.0
RHEL 8.10/8.9/8.8/8.6
Rocky Linux 9.4/9.3/9.2/9.0
Rocky Linux 8.10/8.9/8.8/8.6
RHEL 7.9、CentOS 7.9
SUSE 15.5
Ubuntu 22.04、Ubuntu 20.04
  • Citrix 使用以下 Centrify 版本在相关 Linux 发行版上进行初始功能验证:

    Linux 发行版 Centrify 版本
    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

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

    • VDA 是手动安装的,而不是通过轻松安装来安装的。轻松安装使用适用于 RHEL 8.x/9.x 和 Rocky Linux 8.x/9.x 的 Adcli,而 MCS 不支持 SSSD 和 Adcli 的组合。
    • 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 上为 Citrix Virtual Apps and Desktops 以及 Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)托管 Linux VDA。要将这些公有云主机连接添加到您的 Citrix Virtual Apps and Desktops 部署中,您需要 Citrix Universal 混合多云 (HMC, Citrix Universal Hybrid Multi-Cloud) 许可证。

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

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

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

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

安装 Citrix Virtual Apps and Desktops 后,选择并在 Delivery Controller 上安装 XD MCS AHV 插件

用于本地 Delivery Controller 的 Nutanix AHV 插件

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

选择并安装适用于 Citrix Cloud Connector 的 CWA MCS AHV 插件。在向 Citrix Cloud 租户注册的所有 Citrix Cloud Connector 上安装插件。即使 Citrix Cloud Connector 在没有 AHV 的情况下提供资源位置,也必须注册 Citrix Cloud Connector。

步骤 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 Service、Citrix Broker Service 和 Citrix Machine Creation Service,或者在 Citrix Cloud Connector 上重新启动 Citrix RemoteHCLServer Service。

    提示:

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

步骤 2:创建主机连接

本部分内容举例说明了如何创建与 Azure、AWS、XenServer(以前称为 Citrix Hypervisor)、GCP、Nutanix AHV 和 VMware vSphere 的主机连接。

注意:

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

有关详细信息,请参阅 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 控制台中选择管理 > 托管 > 添加连接和资源以创建主机连接。

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

    例如,在本地 Citrix Studio 中:

    选择 Amazon EC2

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

    访问密钥对

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

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

在 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 云端平台虚拟化环境设置您的 GCP 环境,然后完成以下步骤以创建与 GCP 的主机连接。

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

  2. 添加连接和资源向导中,选择 Google 云端平台作为连接类型。

    例如,在 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-->
    
  5. 在 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 上安装 .NET 和 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,而 MCS 不支持 SSSD 和 Adcli 的组合。

  • Samba 服务器配置为使用 SSSD 进行 AD 身份验证。有关详细信息,请参阅 Red Hat 文章,网址为 https://access.redhat.com/solutions/3802321

在安装 Linux VDA 软件包之前,请在模板 VM 上安装 .NET 并注意以下事项:

  • 在除 RHEL 7.9 和 Amazon Linux 2 之外的所有受支持的 Linux 发行版中安装 .NET Runtime 8.0。

  • 对于 RHEL 7.9 和 Amazon Linux 2,请继续安装 .NET Runtime 6.0。

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

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

对于 RHEL/CentOS/Rocky Linux:

注意:

在 RHEL 9.4/9.3/9.2/9.0 和 Rocky Linux 9.4/9.3/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-->

(仅限 RHEL 7)步骤 3e:启用存储库以安装 tdb-tools 软件包

对于 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:(仅限 RHEL 和 CentOS)安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8、RHEL 7 和 CentOS 7 上安装 EPEL 存储库。有关如何安装 EPEL 的信息,请参阅 https://docs.fedoraproject.org/en-US/epel/ 上提供的说明。

步骤 3g:(仅适用于 SUSE)手动安装 ntfs-3g

在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:

  1. 安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:

    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 之间切换。为此,请完成以下步骤:

注意:

  • 我们建议您仅将 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

步骤 3i:配置 MCS 变量

配置 MCS 变量有两种方法:

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

    轻松安装 GUI

    提示:

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

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

  • 适用于未加入域的场景

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

    DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
    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 上的等效文件相同。但是,您仍然必须配置 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:设置 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 VDA 配置变量:

      DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
      DESKTOP_ENVIRONMENT=gnome | mate
      SUPPORT_DDC_AS_CNAME=Y | N
      VDA_PORT=port-number
      REGISTER_SERVICE=Y | N
      ADD_FIREWALL_RULES=Y | N
      HDX_3D_PRO=Y | N
      VDI_MODE=Y | N
      SITE_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 | N
      TELEMETRY_SOCKET_PORT=port-number
      TELEMETRY_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:创建主映像

  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 的电源状态为 Stopped (deallocated)(已停止(已取消分配))。记住此处的资源组名称。在 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 上配置以太网连接

在 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 独有的 Container(容器)页面上,选择您之前为模板 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 Connector 中注册并显示为未注册。当您在 Azure 上托管 VM 并使用 Samba Winbind 加入 AD 域时,就会出现此问题。要解决此问题,请完成以下步骤:

  1. 转至 ADSI 编辑控制台,选择未注册的 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$ <加密类型属性的十进制值,例如 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。

    • 在除 RHEL 7.9 和 Amazon Linux 2 之外的所有受支持的 Linux 发行版中安装 .NET Runtime 8.0。
    • 对于 RHEL 7.9 和 Amazon Linux 2,请继续安装 .NET Runtime 6.0。

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

  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.3/9.2/9.0 和 Rocky Linux 9.3/9.2/9.0:

    注意:

    在 RHEL 9.4/9.3/9.2/9.0 和 Rocky Linux 9.4/9.3/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 创建的虚拟机上启用 FAS:

  Winbind SSSD Centrify PBIS
RHEL 9.4/9.3/9.2/9.0
RHEL 8.x
Rocky Linux 9.4/9.3/9.2/9.0
Rocky Linux 8.x
RHEL 7、CentOS 7
Ubuntu 22.04、Ubuntu 20.04
Debian 11.9
SUSE 15.5

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

  1. 导入根 CA 证书。

    sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  2. 运行轻松安装脚本 (ctxinstall.sh),并确保模板 VM 已正确加入域。

  3. 运行 ctxfascfg.sh

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

    注意:

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

    1. Use_AD_Configuration_Files_Of_Current_VDA 的值设置为 Y。

    2. 根据需要设置其他变量,例如 VDI_MODE

  5. 将以下命令行添加到 /etc/xdl/mcs/mcs_local_setting.reg 文件中,用于设置 FAS 服务器地址:

    sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    <!--NeedCopy-->
    
  6. 运行脚本 /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. 根据需要设置其他变量,例如 VDI_MODE
  2. 将以下命令行添加到 /etc/xdl/mcs/mcs_local_setting.reg 文件中,用于设置 FAS 服务器地址:

    sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    <!--NeedCopy-->
    
  3. 导入根 CA 证书。

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