Linux Virtual Delivery Agent

使用轻松安装创建未加入域的 Linux VDA(预览版)

本文将引导您完成使用轻松安装在 Citrix DaaS 中创建未加入域的 Linux VDA。

重要提示:

步骤 1:创建计算机目录

创建一个不包含任何计算机的空计算机目录。例如,使用 Citrix Remote PowerShell SDK 并运行以下命令来创建一个名为 Your-catalog-name 并且支持单会话操作系统计算机的空计算机目录。

New-BrokerCatalog -AllocationType 'Static' -Description 'Your description' -MinimumFunctionalLevel 'L7_20' -Name 'Your-catalog-name' -SessionSupport 'SingleSession' -PersistUserChanges 'OnLocal' -ProvisioningType 'Manual' -MachinesArePhysical $true
<!--NeedCopy-->

记录创建的目录的 UUID。稍后创建注册令牌时需要该 UUID。

创建计算机目录和添加 Linux VDA 计算机的过程与传统的 Windows VDA 方法类似。有关如何完成这些任务的更加详细的说明,请参阅创建计算机目录管理计算机目录

创建包含 Linux VDA 计算机的计算机目录时会面临一些限制,使得该过程不同于为 Windows VDA 计算机创建计算机目录:

  • 对于操作系统,请选择:

    • 多会话操作系统选项(适用于托管共享桌面交付模型)。
    • 单会话操作系统选项(适用于 VDI 专用桌面交付模型)。
  • 请勿在同一个计算机目录中混合使用 Linux 和 Windows VDA 计算机。
  • 请勿在同一个计算机目录中混合加入了域和未加入域的计算机。
  • 只有加入了域的计算机支持 Remote PC Access 计算机目录,未加入域的计算机不支持该目录。

注意:

早期版本的 Citrix Studio 不支持“Linux 操作系统”的概念。但是,选择 Windows Server 操作系统服务器操作系统选项等同于使用托管共享桌面交付模型。选择 Windows 桌面操作系统桌面操作系统选项等同于使用每计算机一个用户交付模型。

步骤 2:创建 VDA 注册令牌

要使用轻松安装创建未加入域的 VDA,您需要一个令牌文件以将 VDA 注册到计算机目录中,并向 Citrix Cloud 控制平面对 VDA 进行身份验证。

要创建注册令牌,请向 URL 发送一条类似于以下内容的 HTTP POST 消息:[DdcServerAddress]/citrix/orchestration/api/techpreview/{customerid}/{siteid}/enrollments

POST https://[DdcServerAddress]/citrix/orchestration/api/techpreview/[customerid]/[siteid]/enrollments HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
Authorization: Bearer <bearer-token>

{
  "TokenName": "string",
  "IssuedToUser": "string",
  "ExpirationDate": "2023-10-13T08:00:25.796Z",
  "NotValidBeforeDate": "2023-10-13T08:00:25.796Z",
  "NumMachinesAllowed": number,
  "CatalogId": "string"
}
<!--NeedCopy-->

在 HTTP POST 消息中,将 CatalogId 设置为您之前创建的计算机目录的 UUID,并根据需要将 [DdcServerAddress] 设置为以下其中一项:

  • 商用 https://[customerid].xendesktop.net
  • 日本 https://[customerid].apps.citrixworkspacesapi.jp
  • 政府 https://[customerid].xendesktop.us

步骤 3:安装 .NET Runtime 6.0

在安装 Linux VDA 之前,请按照 https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers 上的说明安装 .NET Runtime 6.0。

安装 .NET Runtime 6.0 后,运行 which dotnet 命令查找您的运行时路径。

根据命令输出,设置 .NET Runtime 二进制文件路径。例如,如果命令输出为 /aa/bb/dotnet,请使用 /aa/bb 作为 .NET 二进制文件路径。

步骤 4:下载 Linux VDA 软件包

  1. 转至 Citrix Virtual Apps and Desktops 下载页面
  2. 展开适当版本的 Citrix Virtual Apps and Desktops。
  3. 展开组件以查找 Linux VDA。例如:

    Citrix Virtual Apps and Desktops 的组件

  4. 单击 Linux VDA 链接可访问 Linux VDA 下载内容。

    Linux VDA 下载内容

  5. 下载与您的 Linux 发行版匹配的 Linux VDA 软件包。

  6. 下载可用于验证 Linux VDA 软件包完整性的 GPG 公钥。例如:

    GPG 公钥

    要使用公钥验证 Linux VDA 软件包的完整性,请执行以下操作:

    • 对于 RPM 软件包,请运行以下命令以将公钥导入到 RPM 数据库中以及检查软件包的完整性:

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • 对于 DEB 软件包,请运行以下命令以将公钥导入到 DEB 数据库中以及检查软件包的完整性:

       sudo apt-get install dpkg-sig
       gpg --import <path to the public key>
       dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

步骤 5:安装 Linux VDA 软件包

要为 Linux VDA 设置环境,请运行以下命令。

对于 Amazon Linux 2、CentOS、RHEL 和 Rocky Linux 发行版:

注意:

  • 对于 RHEL 和 CentOS,请先安装 EPEL 存储库,然后才能成功安装 Linux VDA。有关如何安装 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-->

注意:

在 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
service NetworkManager restart
<!--NeedCopy-->

对于 Ubuntu/Debian 发行版:

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

注意:

  • 要为 Debian 11 发行版安装必要的依赖项,请将 deb http://deb.debian.org/debian/ bullseye main 行添加到 /etc/apt/sources.list 文件。

  • 对于 GCP 上的 Ubuntu 20.04,请禁用 RDNS。为此,请在 /etc/krb5.conf 的 [libdefaults] 下添加 rdns = false 行。

对于 SUSE 发行版:

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

    • 您使用的是 libstdc++6 版本 12 或更高版本。
    • /etc/sysconfig/windowmanager 中的 Default_WM 参数设置为 “gnome”
  2. 请运行以下命令来安装 Linux VDA:

    zypper -i install <PATH>/<Linux VDA RPM>
    <!--NeedCopy-->
    

步骤 6:安装 NVIDIA GRID 驱动程序

启用 HDX 3D Pro 要求您在虚拟机管理程序和 VDA 计算机上安装 NVIDIA GRID 驱动程序。

要在特定虚拟机管理程序上安装和配置 NVIDIA GRID 虚拟 GPU 管理器(主机驱动程序),请参阅以下指南:

要安装和配置 NVIDIA GRID 来宾 VM 驱动程序,请执行下面的常规步骤:

  1. 确保来宾 VM 已关闭。
  2. 在虚拟机管理程序控制面板中,为 VM 分配一个 GPU。
  3. 启动 VM。
  4. 在 VM 上安装来宾 VM 驱动程序。

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

安装 Linux VDA 软件包后,可以通过编辑 /etc/xdl/db.conf 来指定要使用的 SQLite 或 PostgreSQL。

为此,请在运行 sudo /opt/Citrix/VDA/sbin/ctxinstall.sh/opt/Citrix/VDA/bin/easyinstall 之前编辑 /etc/xdl/db.conf

注意:

  • 我们建议您仅对 VDI 模式使用 SQLite。
  • 对于轻松安装和 MCS,您可以指定使用 SQLite 或 PostgreSQL,而不必手动安装。除非通过 /etc/xdl/db.conf 另行指定,否则 Linux VDA 默认使用 PostgreSQL。
  • 也可以使用 /etc/xdl/db.conf 配置 PostgreSQL 的端口号。

步骤 8:运行轻松安装来配置环境和 VDA 以完成安装

安装 Linux VDA 软件包后,使用 ctxinstall.sh 脚本来配置运行环境。

注意:

在设置运行时环境之前,请确保已在您的操作系统中安装了 en_US.UTF-8 区域设置。如果该区域设置在您的操作系统中不可用,请运行 sudo locale-gen en_US.UTF-8 命令。对于 Debian,通过取消注释 # en_US.UTF-8 UTF-8 行来编辑 /etc/locale.gen 文件,然后运行 sudo locale-gen 命令。

ctxinstall.sh

ctxinstall.sh 为轻松安装脚本,用于进行一些预配置和设置 VDA 运行环境变量。

  • 只有 root 用户可以运行此脚本。

  • 轻松安装使用 /opt/Citrix/VDA/sbin/ctxinstall.conf 作为其配置文件来设置、保存和同步使用的所有环境变量的值。我们建议您仔细阅读模板 (ctxinstall.conf.tmpl),然后自定义自己的 ctxinstall.conf。首次创建配置文件时,请使用以下任一方法:
    • 通过复制 /opt/Citrix/VDA/sbin/ctxinstall.conf.tmpl 模板文件并将其另存为 /opt/Citrix/VDA/sbin/ctxinstall.conf。
    • 通过运行 ctxinstall.sh。每次运行 ctxinstall.sh 时,您的输入都会保存在 /opt/Citrix/VDA/sbin/ctxinstall.conf 中。
  • 轻松安装功能支持模块化运行。模块包括预检查、安装、域配置、设置和验证。

  • 可以在 /var/log/xdl/ctxinstall.log 中找到此脚本的调试详细信息。

有关详细信息,请使用帮助命令 ctxinstall.sh -h

注意:

  • 遵循最小权限原则,确保只有 root 用户才能读取 /opt/Citrix/VDA/sbin/ctxinstall.conf,因为文件中可能会设置域加入密码。
  • 卸载 Linux VDA 会删除 /opt/Citrix/VDA 下的文件。我们建议您在卸载 VDA 之前备份 /opt/Citrix/VDA/sbin/ctxinstall.conf

可以在交互模式或无提示模式下运行 ctxinstall.sh。在运行该脚本之前,请设置以下环境变量:

  • **CTX_XDL_NON_DOMAIN_JOINED=’y|n’** - 是否将计算机加入到 域。默认值为 ‘n’。对于未加入域的场景,请将其设置为“y”。

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<path-to-token-file-on-vda-machine>’ - 要使用轻松安装创建未加入域的 VDA,您需要一个令牌文件以将 VDA 注册到 Delivery Controller 的计算机目录中。将令牌保存在适当路径下具有最低权限的文件中。

  • CTX_XDL_VDI_MODE=’y|n’ - 将计算机配置为专用桌面交付模型 (VDI) 还是托管共享桌面交付模型。对于 HDX 3D Pro 环境,将该值设置为 ‘y’。
  • CTX_XDL_HDX_3D_PRO=’y|n’ - Linux VDA 支持 HDX 3D Pro,这是一组 GPU 加速技术,旨在优化富图形应用程序的虚拟化水平。如果选择了 HDX 3D Pro,则要为 VDI 桌面(单会话)模式配置 VDA(即 CTX_XDL_VDI_MODE=’y’)。

  • CTX_XDL_START_SERVICE=’y|n’ - 确定是否在完成配置后启动 Linux VDA 服务。

  • CTX_XDL_REGISTER_SERVICE=’y|n’ - 在启动计算机后启动 Linux Virtual Desktop 服务。

  • CTX_XDL_ADD_FIREWALL_RULES=’y|n’ - Linux VDA 服务要求允许传入网络连接通过系统防火墙。您可以在系统防火墙中自动为 Linux Virtual Desktop 打开所需端口(默认端口 80 和 1494)。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate – 指定要在会话中使用的 GNOME 、GNOME Classic 或 MATE 桌面环境。如果不指定变量,则使用在 VDA 上配置的默认桌面。

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>’ - 安装 .NET Runtime 6.0 以支持新的 Broker 代理服务 (ctxvda) 的路径。默认路径为 ‘/usr/bin’。

  • CTX_XDL_VDA_PORT=’<port-number>’ - Linux VDA 将通过 TCP/IP 端口与 Delivery Controller 通信。

注意事项

  • 还可以通过完成以下步骤来更改目标会话用户的桌面环境:

    1. 在 VDA 上的 $HOME/<username> 目录下创建一个 .xsession.Xclients 文件。如果您使用的是 Amazon Linux 2,请创建 .Xclients 文件。如果您正在使用其他发行版,请创建一个 .xsession 文件。
    2. 编辑 .xsession.Xclients 文件以根据发行版指定桌面环境。

      • 对于 MATE 桌面

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • 适用于 GNOME Classic 桌面

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
         <!--NeedCopy-->
        
      • 对于 GNOME 桌面

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
         <!--NeedCopy-->
        
    3. 与目标会话用户共享 700 文件权限。

    自版本 2209 起,会话用户可以自定义其桌面环境。必须提前在 VDA 上安装可切换的桌面环境,才能启用此功能。有关详细信息,请参阅按会话用户划分的自定义桌面环境

交互式模式

要在交互模式下运行 ctxinstall.sh 脚本,请使用不带 -S 选项的 sudo /opt/Citrix/VDA/sbin/ctxinstall.sh 命令。在命令行界面的每个提示符处键入相关的变量值。如果已经设置了变量,ctxinstall.sh 会要求您确认,以防您想要对其进行更改。

无提示模式

在无提示模式下,必须使用 /opt/Citrix/VDA/sbin/ctxinstall.conf 或导出命令设置前面的变量。之后,请运行 ctxinstall.sh -S (请注意,此处字母 S大写字母)。如果未设置所有必需变量或者某些值无效,则除非有默认值,否则 ctxinstall.sh 将中止执行。

如果对其进行设置,每个变量的导出值将覆盖 /Citrix/VDA/sbin/ctxinstall.conf 中的值。更新后的所有值都保存在 /Citrix/VDA/sbin/ctxinstall.conf 中。

export CTX_XDL_NON_DOMAIN_JOINED='y'
export CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE='<token-file-path>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

运行 sudo 命令时,键入 -E 选项以将现有环境变量传递给其创建的新 shell。我们建议您使用前面的命令并加上 #!/bin/bash 作为第一行来创建 shell 脚本文件。

或者,您可以使用单个命令指定所有变量。

要设置 VDA 运行环境变量(以 CTX_XDL_ 开头的变量),您可以运行 ctxinstall.sh -s (请注意,此处字母 s小写字母)。

步骤 9:运行 XDPing

请运行 sudo /opt/Citrix/VDA/bin/xdping 以检查 Linux VDA 环境存在的常见配置问题。有关详细信息,请参阅 XDPing

步骤 10:运行 Linux VDA

启动 Linux VDA:

启动 Linux VDA 服务:

sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

停止 Linux VDA:

要停止 Linux VDA 服务,请执行以下操作:

sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
<!--NeedCopy-->

注意:

在停止 ctxvdactxhdx 服务之前,请运行 service ctxmonitorservice stop 命令以停止监视服务守护程序。否则,监视服务守护程序将重新启动您停止的服务。

重新启动 Linux VDA:

重新启动 Linux VDA 服务:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

检查 Linux VDA 的状态:

要检查 Linux VDA 服务的运行状态,请执行以下操作:

sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service
<!--NeedCopy-->

步骤 11:创建交付组

创建交付组和添加包含 Linux VDA 计算机的计算机目录的过程与 Windows VDA 计算机几乎相同。有关如何完成这些任务的更加详细的说明,请参阅创建交付组

创建含有 Linux VDA 计算机目录的交付组时会面临以下限制:

  • 确保所选 AD 用户和组已正确配置,能够登录到 Linux VDA 计算机。
  • 请勿允许未经身份验证的(匿名)用户登录。
  • 请勿在交付组中混入含有 Windows 计算机的计算机目录。

重要提示:

Linux VDA 1.4 及更高版本支持发布应用程序。但是,Linux VDA 不支持将桌面和应用程序交付给相同的计算机。

有关如何创建计算机目录和交付组的信息,请参阅 Citrix Virtual Apps and Desktops 7 2311