Linux Virtual Delivery Agent 2109

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

要使用 MCS 创建 Linux VM,请在您的虚拟机管理程序中准备主映像。此过程会导致在模板 VM 上安装 VDA、在 Citrix Studio 中创建计算机目录、创建交付组以及执行某些配置任务。

注意:

如果您尝试在 Citrix Hypervisor、Microsoft Azure、VMware vSphere、AWS、GCP 或 Nutanix AHV 以外的其他虚拟机管理程序上准备主映像,可能会出现意外结果。

自 Citrix Virtual Apps and Desktops 7 2003 起,Microsoft Azure、AWS 和 GCP 不受支持。但是,您可以继续使用 Citrix Virtual Apps and Desktops 服务中的主机。

支持的发行版

  Winbind SSSD Centrify PBIS
RHEL 8.4
CentOS 8 (2105)
RHEL 8.3
CentOS 8.3
RHEL 8.2
CentOS 8.2
RHEL 8.1
CentOS 8.1
RHEL 7.9
CentOS 7.9
RHEL 7.8
CentOS 7.8
Ubuntu 20.04
Ubuntu 18.04
Ubuntu 16.04
Debian 10.9
SUSE 12.5

注意:

如果您使用 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

使用 MCS 在 Citrix Hypervisor 上创建 Linux VM

步骤 1:准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:

步骤 1a:安装 Citrix VM Tools

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

  • 彻底关闭、重新启动或挂起 VM。
  • 在 XenCenter 中查看 VM 性能数据。
  • 迁移正在运行的 VM(通过 XenMotion)。
  • 创建快照或带有内存(检查点)的快照,以及还原到快照。
  • 在正在运行的 Linux VM 上调整 vCPU 数。
  1. 运行以下命令装载名为 guest-tools.iso 的 Citrix VM Tools。

    sudo mount /dev/cdrom /mnt
    <!--NeedCopy-->
    
  2. 根据您的 Linux 发行版,运行以下命令安装 xe-guest-utilities 软件包。

    对于 RHEL/CentOS:

    sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm
    <!--NeedCopy-->
    

    对于 Ubuntu/Debian:

    sudo dpkg -i /mnt/Linux/xe-guest-utilities_{package-version}_all.deb
    <!--NeedCopy-->
    

    对于 SUSE 12:

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

    状态为正在优化的虚拟化

步骤 1b:(仅限 Ubuntu 16.04)安装 OpenJDK 11

在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:

  1. https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
  2. 运行 tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz 命令以解压下载的软件包。
  3. (可选)运行 mv jdk-11.0.2/ <target directory> 命令以将 OpenJDK 保存在目标目录中。
  4. 运行 update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000 命令以设置 Java Runtime。
  5. 运行 java -version 命令以验证 Java 的版本。

步骤 1c:在模板 VM 上安装 Linux VDA 软件包

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 1d:启用存储库以安装 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-->

步骤 1e:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 1f:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 1g:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。以下是您可以根据需要设置的变量:

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 1h:创建主映像

  1. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh
  2. (可选)在模板 VM 上,更新配置模板以自定义创建的所有 VM 上的相关 /etc/krb5.conf/etc/samba/smb.conf/etc/sssd/sssd.conf 文件。

    对于 Winbind 用户,请更新 /etc/xdl/mcs/winbind_krb5.conf.tmpl/etc/xdl/mcs/winbind_smb.conf.tmpl 模板。

    对于 SSSD 用户,请更新 /etc/xdl/mcs/sssd.conf.tmpl/etc/xdl/mcs/sssd_krb5.conf.tmpl/etc/xdl/mcs/sssd_smb.conf.tmpl 模板。

    对于 Centrify 用户,请更新 /etc/xdl/mcs/centrify_krb5.conf.tmpl/etc/xdl/mcs/centrify_smb.conf.tmpl 模板。

    注意:

    请保留模板文件中使用的现有格式并使用变量,例如 $WORKGROUP、$REALM、$realm、${new_hostname} 和 $AD_FQDN。

  3. 在 Citrix Hypervisor 上,关闭模板 VM。创建并命名主映像的快照。

步骤 2:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。根据需要执行其他配置任务。有关详细信息,请参阅使用 Studio 创建计算机目录

步骤 3:创建交付组

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

使用 MCS 在 Azure 上创建 Linux VM

步骤 1:在 Citrix Studio 中创建与 Azure 的托管连接

  1. 在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 Azure 的连接。

    创建与 Azure 的连接

  2. 选择连接类型 Microsoft Azure。

    选择 Azure 连接类型

  3. 键入您的 Azure 帐户的订阅 ID,然后键入您的连接名称。

    键入 Azure 订阅 ID

    将在托管窗格中显示一个新连接。

    新 Azure 连接

步骤 2:在模板 VM 上准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:

步骤 2a:为 Ubuntu 18.04 配置 cloud-init

要确保在重新启动或停止 VM 时 VDA 主机名仍然存在,请运行以下命令。

 echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
<!--NeedCopy-->

确保在 /etc/cloud/cloud.cfg 文件中的 system_info 部分下存在以下行:

system_info:
   network:
       renderers: ['netplan', 'eni', 'sysconfig']
<!--NeedCopy-->

步骤 2b:(仅限 Ubuntu 16.04)安装 OpenJDK 11

在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:

  1. https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
  2. 运行 tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz 命令以解压下载的软件包。
  3. (可选)运行 mv jdk-11.0.2/ <target directory> 命令以将 OpenJDK 保存在目标目录中。
  4. 运行 update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000 命令以设置 Java Runtime。
  5. 运行 java -version 命令以验证 Java 的版本。

步骤 2c:在模板 VM 上安装 Linux VDA 软件包

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 2d:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 2e:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 2f:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置 dnsAD_INTEGRATION

    注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 2g:创建主映像

  1. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh
  2. (可选)在模板 VM 上,更新配置模板以自定义创建的所有 VM 上的相关 /etc/krb5.conf/etc/samba/smb.conf/etc/sssd/sssd.conf 文件。

    对于 Winbind 用户,请更新 /etc/xdl/mcs/winbind_krb5.conf.tmpl/etc/xdl/mcs/winbind_smb.conf.tmpl 模板。

    对于 SSSD 用户,请更新 /etc/xdl/mcs/sssd.conf.tmpl/etc/xdl/mcs/sssd_krb5.conf.tmpl/etc/xdl/mcs/sssd_smb.conf.tmpl 模板。

    对于 Centrify 用户,请更新 /etc/xdl/mcs/centrify_krb5.conf.tmpl/etc/xdl/mcs/centrify_smb.conf.tmpl 模板。

    注意: 请保留模板文件中使用的现有格式并使用变量,例如 $WORKGROUP、$REALM、$realm、${new_hostname} 和 $AD_FQDN。

  3. 在模板 VM 上安装应用程序后,从 Azure 门户关闭模板 VM。确保模板 VM 的电源状态为 Stopped (deallocated)(已停止(已取消分配))。记住此处的资源组名称。在 Azure 上查找您的主映像时需要该名称。

    模板 VM 的已停止电源状态示意图

步骤 3:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,从模板 VM 所属的资源组中选择主映像,并查找模板 VM 的 VHD。

查找模板 VM 的 VHD 示意图

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

步骤 4:创建交付组

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

使用 MCS 在 VMware vSphere 上创建 Linux VM

步骤 1:在 Citrix Studio 中创建与 VMware 的托管连接

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

  2. 在 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 VMware vSphere 的连接。

    创建与 Azure 的连接示意图

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

    选择 VMware Sphere 示意图

  4. 键入 VMware 帐户的连接地址 (vCenter Server URL)、您的用户名和密码以及连接名称。

    VMware 连接名称示意图

    将在托管窗格中显示一个新连接。

    新的 Sphere 连接示意图

步骤 2:准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:

步骤 2a:(仅限 Ubuntu 16.04)安装 OpenJDK 11

在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:

  1. https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
  2. 运行 tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz 命令以解压下载的软件包。
  3. (可选)运行 mv jdk-11.0.2/ <target directory> 命令以将 OpenJDK 保存在目标目录中。
  4. 运行 update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000 命令以设置 Java Runtime。
  5. 运行 java -version 命令以验证 Java 的版本。

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

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 2c:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 2d:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 2e:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置 dnsAD_INTEGRATION

    注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 2f:创建主映像

  1. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh
  2. (可选)在模板 VM 上,更新配置模板以自定义创建的所有 VM 上的相关 /etc/krb5.conf、/etc/samba/smb.conf 和 /etc/sssd/sssd.conf 文件。

    对于 Winbind 用户,请更新 /etc/xdl/mcs/winbind_krb5.conf.tmpl/etc/xdl/mcs/winbind_smb.conf.tmpl 模板。

    对于 SSSD 用户,请更新 /etc/xdl/mcs/sssd.conf.tmpl/etc/xdl/mcs/sssd_krb5.conf.tmpl/etc/xdl/mcs/sssd_smb.conf.tmpl 模板。

    对于 Centrify 用户,请更新 /etc/xdl/mcs/centrify_krb5.conf.tmpl/etc/xdl/mcs/centrify_smb.conf.tmpl 模板。

    注意: 请保留模板文件中使用的现有格式并使用变量,例如 $WORKGROUP、$REALM、$realm、${new_hostname} 和 $AD_FQDN。

  3. 在模板 VM 上安装应用程序后,从 VMware 门户关闭模板 VM。创建模板 VM 的快照。

步骤 3:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请从快照列表中选择主映像。

选择主映像示意图

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

步骤 4:创建交付组

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

在 AWS 上使用 MCS 创建 Linux VM

步骤 1:在 Citrix Studio 中创建与 AWS 的托管连接

  1. 在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 AWS 的连接。

    创建与 AWS 的连接示意图

  2. 选择 Amazon EC2 作为连接类型。

    选择 Amazon EC2 示意图

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

    访问密钥对的示意图

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

    1. 登录 AWS 服务。
    2. 导航到身份和访问管理 (IAM) 控制台。
    3. 在左侧导航窗格中,选择用户
    4. 选择目标用户并向下滚动以选择安全凭据选项卡。
    5. 向下滚动并单击创建访问密钥。此时将显示一个新窗口。
    6. 单击下载 .csv 文件并将访问密钥保存到一个安全的位置。

    将在托管窗格中显示一个新连接。

    新 AWS 连接的示意图

步骤 2:准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:

步骤 2a:配置 cloud-init

  1. 要确保在重新启动或停止 EC2 实例时 VDA 主机名仍然存在,请运行以下命令以保留 VDA 主机名。

     echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
    <!--NeedCopy-->
    

    对于 Ubuntu 18.04,请确保在 /etc/cloud/cloud.cfg 文件中的 system_info 部分下存在以下行:

    system_info:
        network:
            renderers: ['netplan', 'eni', 'sysconfig']
    <!--NeedCopy-->
    
  2. 要使用 SSH 远程访问 AWS 上 MCS 创建的 VM,请启用密码身份验证,因为这些 VM 没有附加的密钥名称。根据需要执行以下操作。

    • 编辑 cloud-init 配置文件 /etc/cloud/cloud.cfg。确保 ssh_pwauth: true 行存在。删除或注释 set-password 行和以下行(如果存在)。

       users:
       - default
       <!--NeedCopy-->
      
    • 如果您计划使用通过 cloud-init 创建的默认用户 ec2-userubuntu,则可以使用 passwd 命令更改用户密码。请记住新密码,以便以后用于登录 MCS 创建的 VM。
    • 编辑 /etc/ssh/sshd_config 文件以确保存在以下行:

       PasswordAuthentication yes
       <!--NeedCopy-->
      

      保存该文件并运行 sudo service sshd restart 命令。

步骤 2b:(仅限 Ubuntu 16.04)安装 OpenJDK 11

在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:

  1. https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
  2. 运行 tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz 命令以解压下载的软件包。
  3. (可选)运行 mv jdk-11.0.2/ <target directory> 命令以将 OpenJDK 保存在目标目录中。
  4. 运行 update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000 命令以设置 Java Runtime。
  5. 运行 java -version 命令以验证 Java 的版本。

步骤 2c:在模板 VM 上安装 Linux VDA 软件包

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 2d:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 2e:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 2f:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置 dnsAD_INTEGRATION

    注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 2g:创建主映像

  1. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh
  2. (可选)在模板 VM 上,更新配置模板以自定义创建的所有 VM 上的相关 /etc/krb5.conf/etc/samba/smb.conf/etc/sssd/sssd.conf 文件。

    对于 Winbind 用户,请更新 /etc/xdl/mcs/winbind_krb5.conf.tmpl/etc/xdl/mcs/winbind_smb.conf.tmpl 模板。

    对于 SSSD 用户,请更新 /etc/xdl/mcs/sssd.conf.tmpl/etc/xdl/mcs/sssd_krb5.conf.tmpl/etc/xdl/mcs/sssd_smb.conf.tmpl 模板。

    对于 Centrify 用户,请更新 /etc/xdl/mcs/centrify_krb5.conf.tmpl/etc/xdl/mcs/centrify_smb.conf.tmpl 模板。

    注意: 请保留模板文件中使用的现有格式并使用变量,例如 $WORKGROUP、$REALM、$realm、${new_hostname} 和 $AD_FQDN。

  3. 在模板 VM 上安装应用程序后,从 AWS EC2 门户关闭模板 VM。确保模板 VM 的电源状态为已停止

  4. 右键单击模板 VM,然后选择映像 > 创建映像。键入信息并根据需要进行设置。单击创建映像

    创建 EBS 映像的示意图

步骤 3:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请选择您的计算机模板(之前创建的主映像),然后选择一个或多个安全组。

创建计算机目录的示意图

选择安全组的示意图

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

步骤 4:创建交付组

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

在 GCP 上使用 MCS 创建 Linux VM

步骤 1: 设置 GCP 环境

有关详细信息,请参阅 Google 云端平台虚拟化环境

步骤 2:在 Citrix Studio 中创建与 GCP 的托管连接

  1. 在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 GCP 的连接。

    创建与 GCP 的连接示意图

  2. 选择 Google Cloud Platform(Google 云端平台)作为连接类型 。

    选择 Amazon EC2 示意图

  3. 导入 GCP 帐户的服务帐号密钥并键入连接名称。

    访问密钥对的示意图

    将在托管窗格中显示一个新连接。

    新 GCP 连接示意图

步骤 3:准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:

步骤 3a:(仅限 Ubuntu 16.04)安装 OpenJDK 11

在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:

  1. https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
  2. 运行 tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz 命令以解压下载的软件包。
  3. (可选)运行 mv jdk-11.0.2/ <target directory> 命令以将 OpenJDK 保存在目标目录中。
  4. 运行 update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000 命令以设置 Java Runtime。
  5. 运行 java -version 命令以验证 Java 的版本。

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

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 3c:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 3d:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 3e:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置 dnsAD_INTEGRATION

    注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 3f:创建主映像

  1. 运行 /opt/Citrix/VDA/sbin/deploymcs.sh
  2. (可选)在模板 VM 上,更新配置模板以自定义创建的所有 VM 上的相关 /etc/krb5.conf/etc/samba/smb.conf/etc/sssd/sssd.conf 文件。

    对于 Winbind 用户,请更新 /etc/xdl/mcs/winbind_krb5.conf.tmpl/etc/xdl/mcs/winbind_smb.conf.tmpl 模板。

    对于 SSSD 用户,请更新 /etc/xdl/mcs/sssd.conf.tmpl/etc/xdl/mcs/sssd_krb5.conf.tmpl/etc/xdl/mcs/sssd_smb.conf.tmpl 模板。

    对于 Centrify 用户,请更新 /etc/xdl/mcs/centrify_krb5.conf.tmpl/etc/xdl/mcs/centrify_smb.conf.tmpl 模板。

    注意:

    请保留模板文件中使用的现有格式并使用变量,例如 $WORKGROUP、$REALM、$realm、${new_hostname} 和 $AD_FQDN。

  3. 在模板 VM 上安装应用程序后,从 VMware 门户关闭模板 VM。创建模板 VM 的快照。

步骤 4:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请从快照列表中选择主映像。

选择主映像示意图

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

步骤 5:创建交付组

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

使用 MCS 在 Nutanix AHV 上创建 Linux VM

步骤 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 Virtual Apps and Desktops 后,选择并安装适用于 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:在 Citrix Studio 中创建与 Nutanix 的托管连接

  1. 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择配置 > 托管 > 添加连接和资源。对于云 Delivery Controller,请在 Citrix Cloud 上的基于 Web 的 Studio 控制台中选择管理 > 托管 > 添加连接和资源,以创建与 Nutanix 虚拟机管理程序的连接。
  2. 添加连接和资源向导中的连接页面上选择 Nutanix 作为连接类型,然后指定虚拟机管理程序地址、凭据以及连接名称。在网络页面上,选择用于托管单元的网络。

    例如,在本地 Citrix Studio 中:

    在本地 Citrix Studio 中创建与 Nutanix 的托管连接

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

    在 Citrix Cloud 上的基于 Web 的 Studio 控制台中创建与 Nutanix 的托管连接

  3. 网络页面上,选择用于托管单元的网络。

步骤 3:在模板 VM 上准备主映像

主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请完成以下步骤:

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

注意:

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

在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Core Runtime 3.1。有关详细信息,请参阅安装概述

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

对于 RHEL/CentOS:

sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

对于 Ubuntu/Debian:

sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
<!--NeedCopy-->

对于 SUSE 12:

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

步骤 3b:安装可以提供 ntfs-3g 的 EPEL 存储库

在 RHEL 8/CentOS 8、RHEL 7/CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。

步骤 3c:在 SUSE 12 上手动安装 ntfs-3g

在 SUSE 12 平台上,所有存储库都不提供 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-->
    

步骤 3d:设置运行时环境

在运行 deploymcs.sh 之前,请执行以下操作:

  • 更改 /etc/xdl/mcs/mcs.conf 中的变量。mcs.conf 配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置 dnsAD_INTEGRATION

    注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置 dnsAD_INTEGRATION 变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。

    • dns:设置 DNS IP 地址。

    • AD_INTEGRATION:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版

    • CENTRIFY_DOWNLOAD_PATH:设置下载 Centrify 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:设置下载 Centrify Samba 软件包的路径。只有将 AD_INTEGRATION 变量设置为 Centrify 时,该值才会生效。

    • WORKGROUP:如果在 AD 中配置了工作组,请设置工作组名称(区分大小写)。

  • 在模板计算机上,将命令行添加到 /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-->
    

步骤 3e:在 Nutanix AHV 上,关闭模板 VM。创建并命名主映像的快照

注意:

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

步骤 4:创建计算机目录

在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。在 Nutanix 独有的 Container(容器)页面上,选择您之前为模板 VM 指定的容器。在主映像页面上,选择映像快照。在虚拟机页面上,检查虚拟 CPU 的数量以及每个 vCPU 的核心数。

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

注意:

如果 Delivery Controller 上的计算机目录创建过程需要大量时间,请转至 Nutanix Prism 并手动打开前缀为 Preparation 的计算机的电源。这种方法有助于继续执行创建过程。

步骤 5:创建交付组

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

使用 MCS 更新您的 Linux VDA

要使用 MCS 更新您的 Linux VDA,请执行以下操作:

  1. 在将 Linux VDA 更新到当前版本之前,请确保已安装 .NET Core Runtime 3.1。

  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 和 CentOS 8:

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

    对于 SUSE 12:

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

    对于 Ubuntu 16.04:

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

    对于 Ubuntu 18.04:

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

    对于 Ubuntu 20.04:

    sudo dpkg -i xendesktopvda_<version>.ubuntu20.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="enabled"

  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
RHEL 8、CentOS 8
RHEL 7、CentOS 7
Ubuntu 20.04
Ubuntu 18.04
Ubuntu 16.04
Debian 10.9
SUSE 12.5

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

  1. 导入根 CA 证书。

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

  3. /etc/xdl/mcs/mcs.conf 中设置变量。
    1. Use_Existing_Configurations_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 中设置变量。

    1. Use_Existing_Configurations_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

注意:

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