Linux Virtual Delivery Agent

使用 MCS 创建非域加入的 Linux VDA

本文将指导您使用机器创建服务 (MCS) 方法,在 Citrix DaaS 或 Citrix Virtual Apps and Desktops™ 2411 及更高版本中创建带有计算机目录的非域加入的 Linux VDA。

重要提示:

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

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

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

在您成功地安装了 Citrix Virtual Apps™ 和 Desktops 之后,您需要手动地在您的交付控制器上选择并安装 XD MCS AHV 插件

适用于本地交付控制器的 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 服务。

    提示:

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

步骤 2: 创建主机连接

主机是您的资源位置中正在使用的管理程序或云服务。此步骤允许您指定 DaaS 用于与主机上的 VM 通信的信息。详细信息包括资源位置、主机类型、访问凭据、要使用的存储方法以及主机上的 VM 可以使用的网络。

重要:

您的资源位置中的主机资源(存储和网络)必须在创建连接之前可用。

  1. 登录思杰云。
  2. 在左上角菜单中,选择 我的服务 > DaaS
  3. 管理 > 完整配置,在左侧窗格中选择 托管
  4. 在操作栏中选择 添加连接和资源
  5. 向导将引导您完成以下页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 下一步,直到到达 摘要 页面。

步骤 2a: 连接

添加连接图像

连接 页面上:

  • 要创建连接,请选择 创建新连接。要基于与现有连接相同的主机配置创建连接,请选择 使用现有连接,然后选择相关连接。
  • 区域名称 字段中选择一个区域。这些选项是您配置的所有资源位置。
  • 连接类型 字段中选择一个管理程序或云服务。这些选项是已在其区域中正确安装了插件的管理程序和云服务。 或者,您可以使用 PowerShell 命令 Get-HypHypervisorPlugin -ZoneUid 获取所选区域可用的管理程序插件列表。
  • 输入连接名称。此名称将显示在“管理”显示中。
  • 选择用于创建虚拟机的工具:机器创建服务 或 思杰预配。

连接页面上的信息因您正在使用的主机(连接类型)而异。例如,使用 Azure Resource Manager 时,您可以使用现有服务主体或创建一个新的服务主体。

步骤 2b:存储管理

添加连接管理图像

有关存储管理类型和方法的信息,请参阅主机存储

如果您正在配置与 Hyper-V 或 VMware 主机的连接,请浏览并选择群集名称。其他连接类型不要求提供群集名称。

选择存储管理方法:管理程序共享的存储或管理程序本地存储。

  • 如果您选择管理程序共享的存储,请指明是否要将临时数据保留在可用的本地存储上。(您可以在使用此连接的计算机目录中指定非默认的临时存储大小。)例外:使用群集共享卷 (CSV) 时,Microsoft System Center Virtual Machine Manager 不允许在本地存储上创建临时数据缓存磁盘。尝试在“管理”控制台中配置该存储管理设置将失败。

如果您在 Citrix Hypervisor 池中使用共享存储,请指明是否要使用 IntelliCache 来减少共享存储设备上的负载。请参阅Citrix Hypervisor 虚拟化环境

步骤 2c:存储选择

存储选择图像

有关存储选择的详细信息,请参阅主机存储

为每个可用数据类型选择至少一个主机存储设备。您在上一页上选择的存储管理方法会影响此页面上可供选择的数据类型。在继续向导的下一页之前,您必须为每个受支持的数据类型选择至少一个存储设备。

如果您选择了管理程序共享的存储并启用了“优化可用本地存储上的临时数据”,则“存储选择”页面的下半部分包含更多配置选项。您可以选择要用于临时数据的本地存储设备(在同一管理程序池中)。

当前选定的存储设备数量会显示(在图中,“已选择 1 个存储设备”)。当您将鼠标悬停在该条目上时,会显示选定的设备名称(除非未配置任何设备)。

  1. 选择 选择 以更改要使用的存储设备。
  2. 选择存储 对话框中,选中或清除存储设备复选框,然后选择 确定

步骤 2d:区域

(仅适用于某些主机类型。)区域选择指示将部署 VM 的位置。理想情况下,选择一个靠近用户访问其应用程序的区域。

步骤 2e:网络

输入资源的名称。此名称将显示在 管理 控制台中,用于标识与连接关联的存储和网络组合。 选择 VM 使用的一个或多个网络。

某些连接类型(例如 Azure Resource Manager)还会列出 VM 使用的子网。选择一个或多个子网。

步骤 2f:摘要

检查您的选择;如果您想进行更改,请返回到之前的向导页面。完成检查后,选择 完成

请记住:如果您在本地存储临时数据,则在创建包含使用此连接的计算机的目录时,可以为临时数据存储配置非默认值。

注意:

具有完全访问权限的管理员不显示范围。有关详细信息,请参阅 管理员、角色和范围

有关详细信息,请参阅 创建和管理连接

步骤 3:准备主映像

提示:

您可以使用单个映像来创建已加入域和未加入域的 VDA。

(For XenServer (formerly Citrix Hypervisor™) only) Step 3a: Install 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 虚拟机工具文件。

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

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

  4. 在 GCP 上安装 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 上托管的 Linux VDA 后,VM 重新启动后,以太网连接可能会丢失,并且 Linux VDA 可能无法访问。要解决此问题,请在重新启动 VM 之前运行以下命令:

    nmcli dev connect eth0
    systemctl restart NetworkManager
    <!--NeedCopy-->
    
  5. 运行以下命令以安装 xe-guest-utilities 软件包(根据您的 Linux 发行版)。

    For RHEL/CentOS/Rocky Linux/SUSE:

    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-->
    
  6. 在 XenCenter 的“常规”选项卡中检查模板 VM 的虚拟化状态。如果 XenServer® VM Tools 已正确安装,虚拟化状态将显示为“已优化”。

步骤 3b: 在模板 VM 上安装 .NET 和 Linux VDA 软件包

注意:

要使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。

在安装 Linux VDA 软件包之前,请根据系统要求安装 .NET。

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

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

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 之前运行以下命令:

nmcli dev connect eth0
systemctl restart NetworkManager
<!--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-->

步骤 3c: (仅限 RHEL)安装可提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8 上安装 EPEL 存储库。有关如何安装 EPEL 的信息,请参阅 https://docs.fedoraproject.org/zh-cn/epel/ 处的说明。

步骤 3d: (仅限 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-->
    

Step 3e: (For Ubuntu only) Edit the /etc/network/interfaces file

source /etc/network/interfaces.d/* 行添加到 /etc/network/interfaces 文件中。

提示:

/etc/network/interfaces 文件可能在您的 Ubuntu 计算机上不可用。如果该文件不存在,您需要先安装 net-toolsifupdown 软件包。

Step 3f: (For Ubuntu only) Point /etc/resolv.conf

/etc/resolv.conf 指向 /run/systemd/resolve/resolv.conf,而不是指向 /run/systemd/resolve/stub-resolv.conf

unlink /etc/resolv.conf

ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
<!--NeedCopy-->

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

安装 Linux VDA 软件包后,您可以在 SQLite、PostgreSQL 和内置注册表服务之间切换。为此,请完成以下步骤:

注意:

  • 我们建议您仅在 VDI 模式下使用 SQLite,并在托管共享桌面交付模型中使用 PostgreSQL 或内置注册表服务。
  • 为了便于安装和 MCS,您可以指定使用 SQLite、PostgreSQL 或内置注册表服务,而无需手动安装它们。除非通过 /etc/xdl/db.conf 另行指定,否则 Linux VDA 默认使用内置注册表服务。如果您需要自定义版本的 PostgreSQL 而不是 Linux 发行版提供的版本,则必须手动安装指定版本,编辑 /etc/xdl/db.conf 以反映新版本,并在运行轻松安装脚本 (ctxinstall.sh) 或 MCS 脚本 (deploymcs.sh) 之前启动 PostgreSQL 服务。
  • 您还可以使用 /etc/xdl/db.conf 配置 PostgreSQL 数据库的端口号。
  • To use build-in registry service on RHEL9, RHEL10 and Rocky9, the CodeReady Builder repository is required to enable: RHEL9: subscription-manager repos –enable codeready-builder-for-rhel-9-$(arch)-rpms RHEL10: subscription-manager repos –enable codeready-builder-for-rhel-10-$(arch)-rpms Rocky9: dnf config-manager –enable crb
  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
    #     ctxregd - use the built-in registry service # default choice is ctxregd
    
    DbType="ctxregd"
    
    
    ## 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.

步骤 3h:配置 MCS 变量

配置 MCS 变量有两种方法:

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

    轻松安装 GUI

    注意:

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

    提示:

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

以下是您可以为非域加入方案配置的 MCS 变量。您可以使用默认变量值,也可以根据需要自定义变量(可选):

DOTNET_RUNTIME_PATH=dotnet 运行时安装路径 DESKTOP_ENVIRONMENT=gnome | mate REGISTER_SERVICE=是 | 否 ADD_FIREWALL_RULES=是 | 否 VDI_MODE=是 | 否 START_SERVICE=是 | 否

(可选)步骤 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-->

步骤 3j:创建主映像

  1. 如果您通过编辑 /etc/xdl/mcs/mcs.conf 配置 MCS 变量,请运行 /opt/Citrix/VDA/sbin/deploymcs.sh。如果您通过 GUI 配置 MCS 变量,请单击部署。在 GUI 上单击部署后,您在 GUI 上设置的变量将覆盖您在 /etc/xdl/mcs/mcs.conf 文件中设置的变量。

  2. 创建并命名主映像的快照,具体取决于您使用的公有云。

    • (对于 XenServer(以前称为 Citrix Hypervisor)、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 控制台重命名快照。重命名快照后,重新启动创建目录向导以获取刷新后的列表。

步骤 4a:在 DaaS 中创建计算机目录

  1. 登录到 思杰云
  2. 在左上角菜单中,选择 我的服务 > DaaS
  3. 管理 > 完整配置 中,选择 计算机目录
  4. 向导将指导您创建计算机目录。

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

    主映像页面上,选择映像快照。

    虚拟机页面上,检查虚拟 CPU 的数量和每个 vCPU 的核心数量。选择 MCS 作为计算机部署方法,并选择未加入域作为要在目录中创建的计算机的身份。

    根据需要执行其他配置任务。有关详细信息,请参阅 创建计算机目录

注意:

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

步骤 4b:在 CVAD 中创建计算机目录

您可以通过 Web Studio 或 PowerShell 在 CVAD 中创建非域加入计算机目录,有关更多详细信息,请参阅非域加入计算机身份

步骤 5:创建交付组

交付组是选自一个或多个计算机目录的计算机集合。它指定哪些用户可以使用这些计算机,以及这些用户可用的应用程序和桌面。有关详细信息,请参阅在 DaaS 中创建交付组在 CVAD 中创建交付组