使用 Machine Creation Services (MCS) 创建 Linux VM
使用 MCS 创建 Linux VM 涉及以下常规步骤:
- 在您选择的模板 VM 上准备主映像,该模板 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 | |
---|---|---|---|---|
CentOS 7.9 | 是 | 是 | 是 | 是 |
CentOS 7.8 | 是 | 是 | 是 | 是 |
Debian 10.9 | 是 | 是 | 否 | 是 |
RHEL 8.4 | 是 | 否 | 是 | 是 |
RHEL 8.3 | 是 | 否 | 是 | 是 |
RHEL 8.2 | 是 | 否 | 是 | 是 |
RHEL 8.1 | 是 | 否 | 是 | 是 |
RHEL 7.9 | 是 | 是 | 是 | 是 |
RHEL 7.8 | 是 | 是 | 是 | 是 |
SUSE 15.3 | 是 | 是 | 否 | 是 |
SUSE 15.2 | 是 | 是 | 否 | 是 |
SUSE 12.5 | 是 | 是 | 否 | 是 |
Ubuntu 20.04 | 是 | 是 | 否 | 是 |
Ubuntu 18.04 | 是 | 是 | 否 | 是 |
Ubuntu 16.04 | 是 | 是 | 否 | 是 |
注意:
如果您使用 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 数。
-
运行以下命令装载名为 guest-tools.iso 的 Citrix VM Tools。
sudo mount /dev/cdrom /mnt <!--NeedCopy-->
-
根据您的 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:
sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm <!--NeedCopy-->
-
在 XenCenter 中的常规选项卡上检查模板 VM 的虚拟化状态。如果正确安装了 Citrix VM Tools,则虚拟化状态为已优化:
步骤 1b:(仅限 Ubuntu 16.04)安装 OpenJDK 11
在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:
- 从 https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
- 运行
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
命令以解压下载的软件包。 - (可选)运行
mv jdk-11.0.2/ <target directory>
命令以将 OpenJDK 保存在目标目录中。 - 运行
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000
命令以设置 Java Runtime。 - 运行
java -version
命令以验证 Java 的版本。
步骤 1c:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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、RHEL 7 和 CentOS 7 上安装 EPEL 存储库,以便稍后运行 deploymcs.sh 会安装 EPEL 库中提供的 ntfs-3g 软件包。
步骤 1f:在 SUSE 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 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 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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:创建主映像
- 运行
/opt/Citrix/VDA/sbin/deploymcs.sh
。 -
(如果使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。)在模板 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。
- 在 Citrix Hypervisor 上,关闭模板 VM。创建并命名主映像的快照。
步骤 2:创建计算机目录
在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。根据需要执行其他配置任务。有关详细信息,请参阅使用 Studio 创建计算机目录。
步骤 3:创建交付组
交付组是从一个或多个计算机目录中选择的计算机的集合。它指定哪些用户可以使用这些计算机,以及可供这些用户使用的应用程序和桌面。有关详细信息,请参阅创建交付组。
使用 MCS 在 Azure 上创建 Linux VM
步骤 1:在 Citrix Studio 中创建与 Azure 的托管连接
-
在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 Azure 的连接。
-
选择连接类型 Microsoft Azure。
-
键入您的 Azure 帐户的订阅 ID,然后键入您的连接名称。
将在托管窗格中显示一个新连接。
步骤 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:
- 从 https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
- 运行
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
命令以解压下载的软件包。 - (可选)运行
mv jdk-11.0.2/ <target directory>
命令以将 OpenJDK 保存在目标目录中。 - 运行
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000
命令以设置 Java Runtime。 - 运行
java -version
命令以验证 Java 的版本。
步骤 2c:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 ntfs-3g:
./configure make make install <!--NeedCopy-->
步骤 2f:设置运行时环境
在运行 deploymcs.sh
之前,请执行以下操作:
-
更改
/etc/xdl/mcs/mcs.conf
中的变量。mcs.conf
配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置dns
和AD_INTEGRATION
:注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’
-
Use_Existing_Configurations_Of_Current_VDA
:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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:创建主映像
- 运行
/opt/Citrix/VDA/sbin/deploymcs.sh
。 -
(如果使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。)在模板 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。
-
在模板 VM 上安装应用程序后,从 Azure 门户关闭模板 VM。确保模板 VM 的电源状态为 Stopped (deallocated)(已停止(已取消分配))。记住此处的资源组名称。在 Azure 上查找您的主映像时需要该名称。
步骤 3:创建计算机目录
在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,从模板 VM 所属的资源组中选择主映像,并查找模板 VM 的 VHD。
根据需要执行其他配置任务。有关详细信息,请参阅使用 Studio 创建计算机目录。
步骤 4:创建交付组
交付组是从一个或多个计算机目录中选择的计算机的集合。它指定哪些用户可以使用这些计算机,以及可供这些用户使用的应用程序和桌面。有关详细信息,请参阅创建交付组。
使用 MCS 在 VMware vSphere 上创建 Linux VM
步骤 1:在 Citrix Studio 中创建与 VMware 的托管连接
-
在 vSphere 环境中安装 vCenter Server。有关详细信息,请参阅 VMware vSphere。
-
在 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 VMware vSphere 的连接。
-
选择 VMware vSphere 作为连接类型。
-
键入 VMware 帐户的连接地址 (vCenter Server URL)、您的用户名和密码以及连接名称。
将在托管窗格中显示一个新连接。
步骤 2:准备主映像
主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:
步骤 2a:(仅限 Ubuntu 16.04)安装 OpenJDK 11
在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:
- 从 https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
- 运行
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
命令以解压下载的软件包。 - (可选)运行
mv jdk-11.0.2/ <target directory>
命令以将 OpenJDK 保存在目标目录中。 - 运行
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000
命令以设置 Java Runtime。 - 运行
java -version
命令以验证 Java 的版本。
步骤 2b:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 ntfs-3g:
./configure make make install <!--NeedCopy-->
步骤 2e:设置运行时环境
在运行 deploymcs.sh
之前,请执行以下操作:
-
更改
/etc/xdl/mcs/mcs.conf
中的变量。mcs.conf
配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置dns
和AD_INTEGRATION
:注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’
-
Use_Existing_Configurations_Of_Current_VDA
:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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:创建主映像
- 运行
/opt/Citrix/VDA/sbin/deploymcs.sh
。 -
(如果使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。)在模板 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。
- 在模板 VM 上安装应用程序后,从 VMware 门户关闭模板 VM。创建模板 VM 的快照。
步骤 3:创建计算机目录
在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请从快照列表中选择主映像。
根据需要执行其他配置任务。有关详细信息,请参阅使用 Studio 创建计算机目录。
步骤 4:创建交付组
交付组是从一个或多个计算机目录中选择的计算机的集合。它指定哪些用户可以使用这些计算机,以及可供这些用户使用的应用程序和桌面。有关详细信息,请参阅创建交付组。
在 AWS 上使用 MCS 创建 Linux VM
步骤 1:在 Citrix Studio 中创建与 AWS 的托管连接
-
在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 AWS 的连接。
-
选择 Amazon EC2 作为连接类型。
-
键入 AWS 帐户的 API 密钥和密钥,然后键入您的连接名称。
API 密钥是您的访问密钥 ID,密钥是您的秘密访问密钥。这些密钥被视为访问密钥对。如果您丢失了秘密访问密钥,则可以删除该访问密钥并创建另一个访问密钥。要创建访问密钥,请执行以下操作:
- 登录 AWS 服务。
- 导航到身份和访问管理 (IAM) 控制台。
- 在左侧导航窗格中,选择用户。
- 选择目标用户并向下滚动以选择安全凭据选项卡。
- 向下滚动并单击创建访问密钥。此时将显示一个新窗口。
- 单击下载 .csv 文件并将访问密钥保存到一个安全的位置。
将在托管窗格中显示一个新连接。
步骤 2:准备主映像
主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:
步骤 2a:配置 cloud-init
-
要确保在重新启动或停止 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-->
-
要使用 SSH 远程访问 AWS 上 MCS 创建的 VM,请启用密码身份验证,因为这些 VM 没有附加的密钥名称。根据需要执行以下操作。
-
编辑
cloud-init
配置文件 /etc/cloud/cloud.cfg。确保 ssh_pwauth: true 行存在。删除或注释 set-password 行和以下行(如果存在)。users: - default <!--NeedCopy-->
- 如果您计划使用通过
cloud-init
创建的默认用户ec2-user
或ubuntu
,则可以使用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:
- 从 https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
- 运行
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
命令以解压下载的软件包。 - (可选)运行
mv jdk-11.0.2/ <target directory>
命令以将 OpenJDK 保存在目标目录中。 - 运行
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000
命令以设置 Java Runtime。 - 运行
java -version
命令以验证 Java 的版本。
步骤 2c:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 ntfs-3g:
./configure make make install <!--NeedCopy-->
步骤 2f:设置运行时环境
在运行 deploymcs.sh
之前,请执行以下操作:
-
更改
/etc/xdl/mcs/mcs.conf
中的变量。mcs.conf
配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置dns
和AD_INTEGRATION
:注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’
-
Use_Existing_Configurations_Of_Current_VDA
:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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:创建主映像
- 运行
/opt/Citrix/VDA/sbin/deploymcs.sh
。 -
(如果使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。)在模板 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。
-
在模板 VM 上安装应用程序后,从 AWS EC2 门户关闭模板 VM。确保模板 VM 的电源状态为已停止。
-
右键单击模板 VM,然后选择映像 > 创建映像。键入信息并根据需要进行设置。单击创建映像。
步骤 3:创建计算机目录
在 Citrix Studio 中,创建计算机目录并指定要在目录中创建的 VM 数量。创建计算机目录时,请选择您的计算机模板(之前创建的主映像),然后选择一个或多个安全组。
根据需要执行其他配置任务。有关详细信息,请参阅使用 Studio 创建计算机目录。
步骤 4:创建交付组
交付组是从一个或多个计算机目录中选择的计算机的集合。它指定哪些用户可以使用这些计算机,以及可供这些用户使用的应用程序和桌面。有关详细信息,请参阅创建交付组。
在 GCP 上使用 MCS 创建 Linux VM
步骤 1: 设置 GCP 环境
有关详细信息,请参阅 Google 云端平台虚拟化环境。
步骤 2:在 Citrix Studio 中创建与 GCP 的托管连接
-
在 Citrix Cloud 上的 Citrix Studio 中,选择配置 > 托管 > 添加连接和资源以创建与 GCP 的连接。
-
选择 Google Cloud Platform(Google 云端平台)作为连接类型 。
-
导入 GCP 帐户的服务帐号密钥并键入连接名称。
将在托管窗格中显示一个新连接。
步骤 3:准备主映像
主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请执行以下操作:
步骤 3a:(仅限 Ubuntu 16.04)安装 OpenJDK 11
在 Ubuntu 16.04 上,通过完成以下步骤安装 OpenJDK 11:
- 从 https://jdk.java.net/archive/ 下载最新的 OpenJDK 11。
- 运行
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gz
命令以解压下载的软件包。 - (可选)运行
mv jdk-11.0.2/ <target directory>
命令以将 OpenJDK 保存在目标目录中。 - 运行
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000
命令以设置 Java Runtime。 - 运行
java -version
命令以验证 Java 的版本。
步骤 3b:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 ntfs-3g:
./configure make make install <!--NeedCopy-->
步骤 3e:设置运行时环境
在运行 deploymcs.sh
之前,请执行以下操作:
-
更改
/etc/xdl/mcs/mcs.conf
中的变量。mcs.conf
配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置dns
和AD_INTEGRATION
:注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’
-
Use_Existing_Configurations_Of_Current_VDA
:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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:创建主映像
- 运行
/opt/Citrix/VDA/sbin/deploymcs.sh
。 -
(如果使用当前正在运行的 VDA 作为模板 VM,请跳过此步骤。)在模板 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。
- 在模板 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 插件 。
步骤 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 的托管连接
- 对于本地 Delivery Controller,请在本地 Citrix Studio 中选择配置 > 托管 > 添加连接和资源。对于云 Delivery Controller,请在 Citrix Cloud 上的基于 Web 的 Studio 控制台中选择管理 > 托管 > 添加连接和资源,以创建与 Nutanix 虚拟机管理程序的连接。
-
在添加连接和资源向导中的连接页面上选择 Nutanix 作为连接类型,然后指定虚拟机管理程序地址、凭据以及连接名称。在网络页面上,选择用于托管单元的网络。
例如,在本地 Citrix Studio 中:
例如,在 Citrix Cloud 上的基于 Web 的 Studio 控制台中:
- 在网络页面上,选择用于托管单元的网络。
步骤 3:在模板 VM 上准备主映像
主映像包含操作系统、非虚拟化应用程序、VDA 和其他软件。要准备主映像,请完成以下步骤:
步骤 3a:在模板 VM 上安装 Linux VDA 软件包
注意:
要使用当前运行的 VDA 作为模板 VM,请跳过此步骤。
在模板 VM 上安装 Linux VDA 软件包之前,请安装 .NET Runtime 6.0。
根据您的 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:
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 上手动安装 ntfs-3g
在 SUSE 平台上,所有存储库都不提供 ntfs-3g。下载源代码,编译并手动安装 ntfs-3g:
-
安装 GNU Compiler Collection (GCC) 编译器系统并将软件包设置为:
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
下载 ntfs-3g 软件包。
-
解压缩 ntfs-3g 软件包:
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->
-
输入 ntfs-3g 软件包的路径:
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
安装 ntfs-3g:
./configure make make install <!--NeedCopy-->
步骤 3d:设置运行时环境
在运行 deploymcs.sh
之前,请执行以下操作:
-
更改
/etc/xdl/mcs/mcs.conf
中的变量。mcs.conf
配置文件提供用于设置 MCS 和 Linux VDA 的变量。下面是一些变量,其中必须设置dns
和AD_INTEGRATION
:注意: 如果为一个变量设置多个值,请将这些值放置在单引号内并用空格分隔。例如,LDAP_LIST=’aaa.lab:389 bbb.lab:389.’
-
Use_Existing_Configurations_Of_Current_VDA
:确定是否使用当前正在运行的 VDA 的现有配置。如果设置为 Y,MCS 创建的计算机上的配置文件将与当前正在运行的 VDA 上的等效文件相同。但是,您仍然必须配置dns
和AD_INTEGRATION
变量。默认值为 N,这意味着主映像上的配置模板负责确定 MCS 创建的计算机上的配置文件。 -
dns
:设置每个 DNS 服务器的 IP 地址。您最多可以设置四个 DNS 服务器。 -
NTP_SERVER
:设置 NTP 服务器的 IP 地址。除非另行说明,否则该地址是您的域控制器的 IP 地址。 -
WORKGROUP
:设置工作组名称,如果已在 AD 中配置,则为 NetBIOS 名称(区分大小写)。否则,工作组名称默认为域名。 -
AD_INTEGRATION
:设置 Winbind、SSSD、PBIS 或 Centrify。有关 MSC 支持的 Linux 发行版和域加入方法的列表,请参阅本文中的支持的发行版。 -
CENTRIFY_DOWNLOAD_PATH
:设置下载 Centrify 软件包的路径。只有将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
有关
mcs.conf
的示例,请参见下面的屏幕截图。 -
-
在模板计算机上,将命令行添加到
/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,请执行以下操作:
-
在将 Linux VDA 更新到当前版本之前,请确保已安装 .NET Runtime 6.0。
-
在模板计算机上更新 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:
sudo rpm -U XenDesktopVDA-<version>.sle12_x.x86_64.rpm <!--NeedCopy-->
对于 Ubuntu 16.04:
sudo dpkg -i xendesktopvda_20.12.0.20-1.ubuntu16.04_amd64.deb <!--NeedCopy-->
对于 Ubuntu 18.04:
sudo dpkg -i xendesktopvda_20.12.0.20-1.ubuntu18.04_amd64.deb <!--NeedCopy-->
对于 Ubuntu 20.04:
sudo dpkg -i xendesktopvda_20.12.0.20-1.ubuntu20.04_amd64.deb <!--NeedCopy-->
-
编辑
/etc/xdl/mcs/mcs.conf
和/etc/xdl/mcs/mcs_local_setting.reg
。 -
生成新快照。
-
在 Citrix Studio 中,选择用于更新计算机目录的新快照。在每台计算机重新启动之前,等待一段时间。请勿手动重新启动计算机。
自动更新计算机帐户密码
默认情况下,计算机帐户密码在创建计算机目录后30 天过期。要防止密码过期以及自动更新计算机帐户密码,请执行以下操作:
-
在运行 /opt/Citrix/VDA/sbin/deploymcs.sh 之前,将以下条目添加到 /etc/xdl/mcs/mcs.conf 中。
UPDATE_MACHINE_PW="enabled"
-
运行 /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 8、CentOS 8 | 是 | 否 | 否 | 是 |
RHEL 7、CentOS 7 | 是 | 是 | 否 | 是 |
Ubuntu 20.04 | 是 | 否 | 否 | 否 |
Ubuntu 18.04 | 是 | 否 | 否 | 否 |
Ubuntu 16.04 | 是 | 否 | 否 | 否 |
Debian 10.9 | 是 | 否 | 否 | 否 |
SUSE 15.3 | 是 | 否 | 否 | 否 |
SUSE 15.2 | 是 | 否 | 否 | 否 |
SUSE 12.5 | 是 | 否 | 否 | 否 |
在模板 VM 上准备主映像时启用 FAS
-
导入根 CA 证书。
sudo cp root.pem /etc/pki/CA/certs/ <!--NeedCopy-->
-
运行 ctxfascfg.sh。有关详细信息,请参阅运行 ctxfascfg.sh。
-
在
/etc/xdl/mcs/mcs.conf
中设置变量。注意:
必须在
/etc/xdl/mcs/mcs.conf
中设置所有必需的变量,因为这些变量是在 VM 启动时调用的。- 将
Use_Existing_Configurations_Of_Current_VDA
的值设置为 Y。 - 将
FAS_LIST
变量设置为您的 FAS 服务器地址或者由分号分隔并由双引号引起的多个 FAS 服务器地址,例如FAS_LIST="<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>"
。 - 根据需要设置其他变量,例如
VDI_MODE
。
- 将
-
运行脚本
/opt/Citrix/VDA/sbin/deploymcs.sh
。
在 MCS 创建的 VM 上启用 FAS
如果未如上文所述在模板计算机上启用 FAS,则可以在每个 MCS 创建的 VM 上启用 FAS。
要在 MCS 创建的 VM 上启用 FAS,请执行以下操作:
-
在 /etc/xdl/mcs/mcs.conf 中设置变量。
注意:
必须在
/etc/xdl/mcs/mcs.conf
中设置所有必需的变量,因为这些变量是在 VM 启动时调用的。- 将
Use_Existing_Configurations_Of_Current_VDA
的值设置为 Y。 - 将
FAS_LIST
变量设置为 FAS 服务器地址。 - 根据需要设置其他变量,例如
VDI_MODE
。
- 将
-
导入根 CA 证书。
sudo cp root.pem /etc/pki/CA/certs/ <!--NeedCopy-->
-
运行脚本
/opt/Citrix/VDA/sbin/ctxfascfg.sh
。有关详细信息,请参阅运行 ctxfascfg.sh。