Linux Virtual Delivery Agent

使用 Machine Creation Services (MCS) 在 Google 云端平台 (GCP) 上创建 Linux VDA

要使用 MCS 在 GCP 上创建 Linux VDA,请完成以下步骤:

步骤 1:在 GCP 上创建 Linux 虚拟机 (VM)

步骤 2:创建 GCP 服务帐户

步骤 3:在 Citrix Studio 中创建与 GCP 的主机连接

步骤 4:准备 Linux VDA 主映像

步骤 5:创建计算机目录

步骤 6:创建交付组

步骤 1:在 GCP 上创建 Linux VM

步骤 1a: 在 Google Cloud 控制台中,导航到 Compute Engine > VM instances(VM 实例)

步骤 1b: 在“VM instances”(VM 实例)页面上,单击 CREATE INSTANCE(创建实例)以创建 VM 实例。

“创建实例”选项卡

步骤 1c: 进行以下配置并将其他配置保留为默认配置:

  • 输入您的 VM 实例的名称。
  • 选择一个区域和资源域来托管您的 VM。
  • (可选)向您的 VM 中添加 GPU。有关详细信息,请参阅本文中的步骤 4c
  • Boot disk(引导磁盘)部分中,选择您的 VM 的操作系统和磁盘大小。例如:

    引导磁盘

  • 导航到高级选项 > 网络连接,然后将主机名字段设置为 FQDN。

    设置主机名字段

步骤 1d: 单击创建创建 VM 实例。

步骤 1e: 创建 VM 后,返回到 Compute Engine 控制板,在列表中找到您的 VM 实例,然后单击“SSH”按钮连接到您的 VM。

单击“SSH”按钮连接到 GCP 上的 VM

步骤 1f: 通过基于 Web 的 SSH 客户端将 Linux VDA 软件包上载到您的 VM。

在 GCP 上将 Linux VDA 软件包上载到您的 VM

步骤 1g: 防止无法使用 SSH 访问 VM。

重新启动后可能无法访问 VM。要解决此问题,请在首次登录 VM 时设置 root 用户密码,并确保您能够以 root 用户身份登录 VM。然后,在重新启动 VM 后,在控制台中运行以下命令:

nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->

连接到串行控制台

步骤 2:创建 GCP 服务帐户

本部分内容将指导您完成创建 GCP 服务帐户的过程,包括创建服务帐户密钥和向服务帐户授予所需的角色。

注意:

要创建 GCP 服务帐户,请确保您被授予了服务帐户管理员 (roles/iam.serviceAccountAdmin) IAM 角色。

步骤 2a: 在 Google Cloud 控制台中,导航到 IAM & admin(IAM 和管理员)> Service Accounts(服务帐户),然后单击 Create Service Account(创建服务帐户)选项卡。

“Create Service Account”(创建服务帐户)选项卡

步骤 2b:Service account details(服务帐户详细信息)步骤中,在字段中输入值,然后单击 Create and continue(创建并继续)。

服务帐户详细信息

步骤 2c: 跳过可选步骤,然后单击底部的完成

创建 GCP 服务帐户已完成

步骤 2d:再次导航到 IAM & admin(IAM 和管理员)> Service Accounts(服务帐户),然后单击 Service accounts(服务帐户)选项卡。找到新创建的服务帐户,导航到 Keys(密钥)选项卡,然后单击 Add key(添加密钥)> Create new key(创建新密钥)> JSON > Create(创建)

添加 GCP 服务帐户密钥

下载密钥文件

注意:

下载密钥文件后,无法再次下载。

步骤 2e: 在 Google Cloud 控制台中,导航到 IAM & Admin(IAM 和管理员)> IAM,然后单击 Add(添加)。在 New members(新成员)字段中搜索并选择新创建的服务帐户,然后为该服务帐户选择一个角色以授予其访问您的资源的权限。通过单击 Add another role(添加其他角色)继续授予角色,以确保将以下所有角色授予新创建的服务帐户。

  • 计算管理员
  • 存储管理员
  • Cloud Build 编辑者
  • 服务帐户用户
  • 云数据存储用户
  • 计算实例管理员 (Beta)
  • 所有者

例如:

向 GCP 服务帐户授予角色

步骤 3:在 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:创建主机连接

步骤 4:准备 Linux VDA 主映像

步骤 4a: (适用于 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-->

连接到串行控制台

步骤 4b: 在模板 VM 上安装 Linux VDA 软件包。

在模板 VM 上,执行以下操作来安装 Linux VDA 软件包:

  1. 安装 .NET。

    除 .NET Runtime 之外,在安装或升级 Linux VDA 之前,还必须在所有受支持的 Linux 发行版中安装 .ASP.NET Core Runtime。Amazon Linux 2 需要版本 6。其他发行版需要版本 8。

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

  2. 安装 Linux VDA 软件包:

    sudo yum –y localinstall <PATH>/<Linux VDA RPM>
    <!--NeedCopy-->
    
  3. 启用 EPEL 存储库:

    sudo rpm -ivh  https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    <!--NeedCopy-->
    

步骤 4c: 向 GCP 上的模板 VM 中添加图形处理器 (GPU)(可选)。

  1. 在 Google Cloud 控制台中,向模板 VM 中添加一个或多个 GPU。有关在 GCP 上添加和删除 GPU 的信息,请参阅 https://cloud.google.com/compute/docs/gpus/add-remove-gpus

    向 GCP 上的 VM 中添加一个或多个 GPU

  2. 在模板 VM 上安装相应的 GPU 驱动程序。有关详细信息,请参阅 https://cloud.google.com/compute/docs/gpus/install-drivers-gpu

    所需的 NVIDIA 驱动程序版本:

    在 Compute Engine 上运行的 NVIDIA GPU 必须使用以下 NVIDIA 驱动程序版本:

    • 对于 L4 GPU:
      • Linux:525.60.13 或更高版本
    • 对于 A100 GPU:
      • Linux:450.80.02 或更高版本
    • 对于 T4、P4、P100 和 V100 GPU:
      • Linux:410.79 或更高版本
    • 对于 K80 GPU(生命周期已结束):
      • Linux:410.79 - 最新的 R470 版本

    对于 K80 GPU,NVIDIA 宣布 R470 驱动程序分支是获得调试支持的最终驱动程序版本。要查看此更新,请参阅 NVIDIA Software Support Matrix(NVIDIA 软件支持列表)。

    安装脚本:

    可以使用以下脚本来自动执行安装过程:

    https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
    <!--NeedCopy-->
    

    支持的操作系统:

    安装脚本已在以下 Linux 发行版上进行了测试:

    • Debian 11
    • Red Hat Enterprise Linux (RHEL) 8
    • Rocky Linux 8
    • Ubuntu 20/22

    如果您在其他 Linux 发行版上使用此脚本,安装将失败。对于 Linux VM,此脚本仅安装 NVIDIA 驱动程序。

    1. 下载安装脚本。

      curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
      <!--NeedCopy-->
      
    2. 授予对脚本的完全访问权限。

      chmod 777 install_gpu_driver.py
      <!--NeedCopy-->
      
    3. 运行安装脚本。

      python3 install_gpu_driver.py
      <!--NeedCopy-->
      
    4. 在 gdm3 中禁用 Wayland。

      • 在以下位置之一找到您的发行版的 Wayland 配置文件:
        • /etc/gdm3/custom.conf (Ubuntu)
        • /etc/gdm/custom.conf(CentOS、RHEL、Rocky Linux)
      • 使用 sudo/root 权限打开文件。
      • 通过删除该行开头的 # 取消注释 WaylandEnable=false
      • 重新启动 VM。
    5. 如果您安装了 NVIDIA 510 或更高版本的驱动程序,请禁用 GSP 固件。

      如果启用了 GSP 固件,请通过将 NVIDIA 模块参数 NVreg_EnableGpuFirmware 设置为 0 来将其禁用。

      请通过在 /etc/modprobe.d/nvidia.conf 文件中添加以下条目来设置此参数:

      • options nvidia NVreg_EnableGpuFirmware=0

      • 如果 /etc/modprobe.d/nvidia.conf 文件不存在,则请创建。

      完成此步骤时,请记住以下几点:

      • 使用 sudo 运行命令来创建和更新配置文件。

      • 要重新启动 VM,您可以在 Linux 终端中使用 sudo reboot,也可以停止并启动 VM。

步骤 4d: 配置 MCS 变量。

通过编辑 /etc/xdl/mcs/mcs.conf 文件来配置 MCS 变量。下面是您可以为未加入域和已加入域的场景配置的 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

    适用于未加入域的场景的 MCS 变量

  • 适用于已加入域的场景

    • 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

步骤 4e: 创建主映像

  1. (仅适用于 SSSD + RHEL 8.x/9.x 或 Rocky Linux 8.x/9.x)运行 update-crypto-policies --set DEFAULT:AD-SUPPORT 命令,然后重新启动模板 VM。

  2. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh

    对于未加入域的场景,以下错误是正常的,不会阻止您继续操作。

    适用于未加入域的场景的 MCS 部署

  3. 在模板 VM 上安装应用程序并关闭模板 VM。创建并命名主映像的快照。

步骤 5:创建计算机目录

  1. 登录到 Citrix Cloud。在左上角的菜单中,选择我的服务 > DaaS
  2. 管理 > 完整配置中,选择左窗格中的计算机目录
  3. 然后在操作栏中选择创建计算机目录
  4. 计算机类型页面上,选择多会话操作系统单会话操作系统,然后选择下一步

    计算机类型

  5. 计算机管理页面上,选择进行电源管理的计算机Citrix Machine Creation Services 选项,然后选择下一步。如果有多种资源,请从菜单中选择一种资源。

    计算机管理

  6. 主映像页面上,选择之前创建的主映像。

    选择主映像

    已选择主映像

  7. 计算机标识页面上,如果主映像未加入任何域,请选择未加入域;如果您将主映像加入某个域,请选择 Active Directory 帐户。

    对于未加入域的场景:

    计算机身份类型

    对于已加入域的场景:

    选择一个 Active Directory 帐户选项

    • 如果选择创建新的 Active Directory 帐户,请选择一个域,然后输入表示在 Active Directory 中创建的已预配的 VM 计算机帐户的命名方案的字符序列。帐户命名方案可以包含 1-64 个字符,不能包含空格,也不能包含非 ASCII 字符或特殊字符。
    • 如果选择使用现有的 Active Directory 帐户,请选择浏览以导航到所选计算机的现有 Active Directory 计算机帐户。
    • 域凭据页面上,选择输入凭据,键入用户名和密码,选择保存,然后选择下一步。键入的凭据必须具有执行 Active Directory 帐户操作的权限。
  8. 在其他页面上配置其他设置。有关详细信息,请参阅创建 Google 云端平台目录
  9. 摘要页面上,确认信息,指定目录的名称,然后选择完成

    计算机目录设置摘要

完成计算机目录创建可能需要很长时间。完成后,系统将列出目录。可以验证计算机是否在 Google Cloud 控制台中的目标节点组上创建。

步骤 6:创建交付组

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

有关详细信息,请参阅 Citrix DaaS 文档中的“交付组创建”。

  1. 登录到 Citrix Cloud。在左上角的菜单中,选择我的服务 > DaaS
  2. 管理 > 完整配置中,选择左窗格中的交付组
  3. 在操作栏中选择创建交付组。交付组创建向导将打开。

    您看到的向导页面可能会有所差别,具体取决于您所做的选择。

  4. 计算机页面上,选择一个计算机目录并选择要从该目录中使用的计算机数。

    创建交付组

  5. 在其他页面上配置其他设置。有关详细信息,请参阅创建交付组

  6. 摘要页面上,输入交付组的名称。您也可以(选择性)输入说明,该说明显示在 Citrix Workspace 应用程序和完整配置管理界面中。例如:

    输入交付组的名称:

    命名交付组

    完整配置管理界面中的交付组列表:

    “完整配置”管理界面中的交付组列表

    Citrix Workspace 应用程序中已交付的计算机

    Citrix Workspace 应用程序中已交付的计算机

使用 Machine Creation Services (MCS) 在 Google 云端平台 (GCP) 上创建 Linux VDA