使用 MCS 创建非域加入的 Linux VDA
本文将指导您使用 Machine Creation Services (MCS) 方法,在 Citrix DaaS 或 Citrix Virtual Apps and Desktops™ 2411 及更高版本中,通过计算机目录创建非域加入的 Linux VDA。
重要:
对于 Citrix DaaS™ 客户:
您可以在公有云或本地数据中心部署非域加入的 VDA。非域加入的 VDA 由 Citrix DaaS 中的控制平面管理。
要创建非域加入的 VDA,使用 Citrix Gateway 服务的客户必须确保已启用 Rendezvous V2。仅当您计划在本地虚拟机管理程序上预配计算机或希望在 Workspace 中使用 Active Directory 作为身份提供程序时,才需要 Cloud Connector。
对于 CVAD 客户:
通过遵循以下说明在 DDC 中启用 WebSocket 功能:
打开 PowerShell 并运行以下命令,然后重新启动 DDC: New-ItemProperty
"`HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force`在主映像上放置并更新 CA 证书。请参阅添加自签名 CA 证书。
要创建非域加入的 VDA,您可以使用 MCS 和简易安装。有关详细信息,请参阅使用 MCS 创建非域加入的 Linux VDA 和使用简易安装创建非域加入的 Linux VDA。
MCS 不支持裸机服务器。
非域加入的 Linux VDA 提供以下功能:
(仅限 Nutanix)步骤 1:安装并注册 Nutanix AHV 插件
从 Nutanix 获取 Nutanix AHV 插件包。在您的 Citrix Virtual Apps and Desktops 环境中安装并注册该插件。有关详细信息,请参阅 Nutanix 支持门户上提供的 Nutanix Acropolis MCS 插件安装指南。
-
步骤 1a:为本地 Delivery Controller 安装并注册 Nutanix AHV 插件
- 安装 Citrix Virtual Apps™ and Desktops 后,在您的 Delivery Controller 上选择并安装 XD MCS AHV Plugin。

步骤 1b:为云 Delivery Controller 安装并注册 Nutanix AHV 插件
为 Citrix Cloud™ Connector 选择并安装 CWA MCS AHV Plugin。在所有已向 Citrix Cloud 租户注册的 Citrix Cloud Connector 上安装该插件。即使 Citrix Cloud Connector 服务于没有 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"。 -
在您的本地 Delivery Controller 上重新启动 Citrix Host、Citrix Broker 和 Citrix Machine Creation Services™,或在 Citrix Cloud Connector 上重新启动 Citrix RemoteHCLServer Service。
提示:
建议您在安装或更新 Nutanix AHV 插件时停止并重新启动 Citrix Host、Citrix Broker 和 Machine Creation Services。
-
步骤 2:创建主机连接
主机是您的资源位置中正在使用的虚拟机管理程序或云服务。此步骤允许您指定 DaaS 用于与主机上的 VM 进行通信的信息。详细信息包括资源位置、主机类型、访问凭据、要使用的存储方法以及主机上的 VM 可以使用的网络。
-
重要:
在创建连接之前,您的资源位置中的主机资源(存储和网络)必须可用。
- 登录到 Citrix Cloud。
- 在左上角菜单中,选择 My Services > DaaS。
- 从 Manage > Full Configuration 中,在左侧窗格中选择 Hosting。
-
- 在操作栏中选择 Add Connections and Resources。
- 向导将引导您完成以下页面。特定页面内容取决于所选的连接类型。完成每个页面后,选择 Next,直到到达 Summary 页面。
步骤 2a:连接

在 Connection 页面上:
- 要创建连接,请选择 Create a new Connection。要基于现有连接的相同主机配置创建连接,请选择 Use an existing Connection,然后选择相关连接。
- 在 Zone name 字段中选择一个区域。这些选项是您配置的所有资源位置。
- 在 Connection type 字段中选择一个虚拟机管理程序或云服务。这些选项是已在其区域中正确安装插件的虚拟机管理程序和云服务。
或者,您可以使用 PowerShell 命令
Get-HypHypervisorPlugin -ZoneUid来获取所选区域中可用的虚拟机管理程序插件列表。 - 输入连接名称。此名称将显示在 Manage 显示屏中。
- 选择用于创建虚拟机的工具:Machine Creation Services 或 Citrix Provisioning。
Connection 页面上的信息因您使用的主机(连接类型)而异。例如,在使用 Azure Resource Manager 时,您可以使用现有服务主体或创建一个服务主体。
步骤 2b:存储管理

有关存储管理类型和方法的信息,请参阅主机存储。
如果您正在配置与 Hyper-V 或 VMware 主机的连接,请浏览并选择一个群集名称。其他连接类型不请求群集名称。
选择存储管理方法:虚拟机管理程序共享的存储或虚拟机管理程序本地存储。
-
如果您选择虚拟机管理程序共享的存储,请指明是否要将临时数据保留在可用的本地存储上。(您可以在使用此连接的计算机目录中指定非默认的临时存储大小。)例外:使用群集共享卷 (CSV) 时,Microsoft System Center Virtual Machine Manager 不允许在本地存储上创建临时数据缓存磁盘。尝试在 Manage 控制台中配置该存储管理设置将失败。
-
如果您在 Citrix Hypervisor 池中使用共享存储,请指明是否要使用 IntelliCache 来减轻共享存储设备的负载。请参阅Citrix Hypervisor 虚拟化环境。
-
步骤 2c: 存储选择

有关存储选择的更多信息,请参阅主机存储。
为每种可用数据类型至少选择一个主机存储设备。您在上一页选择的存储管理方法会影响此页面上可供选择的数据类型。您必须为每种支持的数据类型至少选择一个存储设备,然后才能继续向导中的下一页。
如果您选择了由虚拟机管理程序共享的存储并启用了优化可用本地存储上的临时数据,则存储选择页面的下半部分会包含更多配置选项。您可以选择要用于临时数据的本地存储设备(在同一虚拟机管理程序池中)。
当前选定的存储设备数量已显示(在图中,“已选定 1 个存储设备”)。将鼠标悬停在该条目上时,将显示选定的设备名称(除非未配置任何设备)。
- 选择“选择”以更改要使用的存储设备。
- 在“选择存储”对话框中,选中或清除存储设备复选框,然后选择“确定”。
步骤 2d:区域
(仅适用于某些主机类型。)区域选择指示虚拟机将部署到何处。理想情况下,选择一个靠近用户访问其应用程序的区域。
步骤 2e:网络
输入资源的名称。此名称将显示在“管理”控制台中,用于标识与连接关联的存储和网络组合。 选择虚拟机使用的一个或多个网络。
某些连接类型(例如 Azure Resource Manager)还会列出虚拟机使用的子网。选择一个或多个子网。
查看您的选择;如果要进行更改,请返回到之前的向导页面。完成查看后,选择“完成”。
请记住:如果将临时数据存储在本地,则在创建包含使用此连接的计算机的目录时,可以为临时数据存储配置非默认值。
注意:
具有完全访问权限的管理员不显示范围。有关详细信息,请参阅管理员、角色和范围。
有关详细信息,请参阅创建和管理连接。
步骤 3:准备主映像
提示:
您可以使用单个映像来创建已加入域和未加入域的 VDA。
(仅限 XenServer(以前称为 Citrix Hypervisor™))步骤 3a:安装 XenServer VM Tools
在模板虚拟机上安装 XenServer VM Tools,以便每个虚拟机都可以使用 xe CLI 或 XenCenter。除非安装了工具,否则虚拟机性能可能会很慢。如果没有这些工具,您将无法执行以下任何操作:
- 正常关闭、重新启动或暂停虚拟机。
- 在 XenCenter 中查看虚拟机性能数据。
- 迁移正在运行的虚拟机(通过
XenMotion)。 - 创建快照或带内存的快照(检查点),并还原到快照。
- 调整正在运行的 Linux 虚拟机上的 vCPU 数量。
-
根据正在使用的管理程序版本,从 XenServer 下载页面或 Citrix Hypervisor 下载页面下载适用于 Linux 的 XenServer VM Tools 文件。
-
将
LinuxGuestTools-xxx.tar.gz文件复制到您的 Linux 虚拟机或 Linux 虚拟机可以访问的共享驱动器。 -
提取 tar 文件的内容:
tar -xzf LinuxGuestTools-xxx.tar.gz -
在 GCP 上托管的 RHEL 8.x/9.x/10 和 Rocky Linux 8.x/9.x/10 上安装 Linux VDA 后,重新启动虚拟机后,以太网连接可能会丢失,并且 Linux VDA 可能无法访问。要解决此问题,请在重新启动虚拟机之前运行以下命令:
nmcli dev connect eth0 systemctl restart NetworkManager <!--NeedCopy--> -
根据您的 Linux 发行版运行以下命令以安装
xe-guest-utilities软件包。对于 RHEL/CentOS/Rocky Linux/SUSE:
sudo rpm -i <extract-directory>/xe-guest-utilities_{package-version}_x86.64.rpm <!--NeedCopy-->对于 Ubuntu/Debian:
sudo dpkg -i <extract-directory>/xe-guest-utilities_{package-version}_amd64.deb <!--NeedCopy--> -
在 XenCenter 的“常规”选项卡上检查模板虚拟机的虚拟化状态。如果 XenServer® VM Tools 已正确安装,则虚拟化状态将显示为“已优化”。
步骤 3b:在模板虚拟机上安装 .NET 和 Linux VDA 软件包
注意:
要使用当前正在运行的 VDA 作为模板虚拟机,请跳过此步骤。
在安装 Linux VDA 软件包之前,请在模板虚拟机上安装 .NET 并注意以下事项:
- 除了 .NET Runtime 之外,您必须在所有受支持的 Linux 发行版上安装 .ASP.NET Core Runtime,然后才能安装或升级 Linux VDA。Amazon Linux 2 需要版本 6。其他发行版需要版本 8。
- 如果您的 Linux 发行版包含所需的 .NET 版本,请从内置源安装。否则,请从 Microsoft 软件包源安装 .NET。有关详细信息,请参阅 <https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers>。
安装 .NET 后,根据您的 Linux 发行版运行以下命令以安装 Linux VDA:
适用于 RHEL/CentOS/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 后,以太网连接可能会丢失,并且在虚拟机重新启动后,Linux VDA 可能无法访问。要解决此问题,请在重新启动虚拟机之前运行以下命令:
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/en-US/epel/ 上的说明。
步骤 3d:(仅适用于 SUSE)手动安装 ntfs-3g
在 SUSE 平台上,没有存储库提供 ntfs-3g。手动下载、编译和安装 ntfs-3g:
-
安装 GNU 编译器集合 (GCC) 编译器系统和 make 软件包:
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:(仅适用于 Ubuntu)编辑 /etc/network/interfaces 文件
将 source /etc/network/interfaces.d/* 行添加到 /etc/network/interfaces 文件中。
提示:
/etc/network/interfaces文件可能在您的 Ubuntu 计算机上不可用。如果该文件不存在,您需要首先安装 net-tools 和 ifupdown 软件包。
步骤 3f:(仅适用于 Ubuntu)指向 /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。如果您需要自定义版本的 PostgreSQL,而不是您的 Linux 发行版提供的版本,则必须手动安装指定版本,编辑
/etc/xdl/db.conf以反映新版本,并在运行轻松安装脚本 (ctxinstall.sh) 或 MCS 脚本 (deploymcs.sh) 之前启动 PostgreSQL 服务。- 您还可以使用 /etc/xdl/db.conf 来配置 PostgreSQL 的端口号。
-
运行
/opt/Citrix/VDA/sbin/ctxcleanup.sh。如果是全新安装,请省略此步骤。 -
在运行
deploymcs.sh之前编辑/etc/xdl/db.conf。以下是 db.conf 文件的示例:# database configuration file for Linux VDA ## database choice # possible choices are: # SQLite # PostgreSQL # default choice is PostgreSQL DbType="PostgreSQL" ## 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-->要使用自定义版本的 PostgreSQL,请将 DbCustomizePostgreSQL 设置为 true。
步骤 3h:配置 MCS 变量
有两种方法可以配置 MCS 变量:
- 编辑
/etc/xdl/mcs/mcs.conf文件。 -
使用简易安装 GUI。要在 Linux VDA 的桌面环境中打开简易安装 GUI,请运行
/opt/Citrix/VDA/bin/easyinstall命令。
提示:
单击保存可将变量设置保存到您指定路径下的本地文件。单击加载可从您指定的文件加载变量设置。
以下是您可以为非域加入场景配置的 MCS 变量。您可以使用默认变量值,也可以根据需要自定义变量(可选):
DOTNET_RUNTIME_PATH=dotnet-runtime 的安装路径
DESKTOP_ENVIRONMENT=gnome | mate
REGISTER_SERVICE=Y | N
ADD_FIREWALL_RULES=Y | N
VDI_MODE=Y | N
START_SERVICE=Y | N
(可选)步骤 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:创建主映像
-
如果您通过编辑
/etc/xdl/mcs/mcs.conf配置 MCS 变量,请运行/opt/Citrix/VDA/sbin/deploymcs.sh。如果您通过 GUI 配置 MCS 变量,请单击部署。在 GUI 上单击部署后,您在 GUI 上设置的变量将覆盖您在/etc/xdl/mcs/mcs.conf文件中设置的变量。 -
根据您使用的公有云创建并命名主映像的快照。
-
(对于 XenServer(以前称为 Citrix Hypervisor)、GCP 和 VMware vSphere) 在模板 VM 上安装应用程序并关闭模板 VM。创建并命名主映像的快照。
-
(对于 Azure) 在模板 VM 上安装应用程序,然后从 Azure 门户关闭模板 VM。确保模板 VM 的电源状态显示为已停止(已解除分配)。请记住此处的资源组名称。您需要该名称才能在 Azure 上找到您的主映像。

-
(对于 AWS) 在模板 VM 上安装应用程序,然后从 AWS EC2 门户关闭模板 VM。确保模板 VM 的实例状态显示为已停止。右键单击模板 VM,然后选择映像 > 创建映像。根据需要键入信息并进行设置。单击创建映像。

-
(对于 Nutanix) 在 Nutanix AHV 上,关闭模板 VM。创建并命名主映像的快照。
注意:
您必须在 Acropolis 快照名称前加上
XD_前缀,才能在 Citrix Virtual Apps and Desktops 中使用。必要时,使用 Acropolis 控制台重命名快照。重命名快照后,重新启动创建目录向导以获取刷新后的列表。
-
步骤 4a:在 DaaS 中创建计算机目录
- 登录 Citrix Cloud。
- 在左上角菜单中,选择我的服务 > DaaS。
- 从管理 > 完整配置中,选择计算机目录。
-
向导将指导您创建计算机目录。
在 Nutanix 独有的容器页面上,选择您之前为模板 VM 指定的容器。
在主映像页面上,选择映像快照。
在虚拟机页面上,检查虚拟 CPU 的数量和每个 vCPU 的核心数。选择 MCS 作为计算机部署方法,并选择非域加入作为要在目录中创建的计算机的身份。
根据需要执行其他配置任务。有关详细信息,请参阅创建计算机目录。
注意:
如果您的 Delivery Controller™ 上的计算机目录创建过程耗时过长,请转至 Nutanix Prism 并手动启动前缀为准备的计算机。此方法有助于继续创建过程。
步骤 4b:在 CVAD 中创建计算机目录
您可以通过 Web Studio 或 PowerShell 在 CVAD 中创建非域加入计算机目录,有关详细信息,请参阅非域加入计算机身份。
步骤 5:创建交付组
交付组是从一个或多个计算机目录中选择的计算机集合。它指定哪些用户可以使用这些计算机,以及这些用户可用的应用程序和桌面。有关详细信息,请参阅在 DaaS 中创建交付组或在 CVAD 中创建交付组。