交付控制器

Last published : Nov 13, 2026
Delivery Controller 是服务器端组件,负责管理用户访问、代理和优化连接。Controller 还提供用于创建桌面和服务器映像的 Machine Creation Services™。
一个站点必须至少有一个 Controller。安装初始 Controller 后,您可以在创建站点时或之后添加更多 Controller。在一个站点中拥有多个 Controller 有两个主要好处。
  • 冗余: 最佳做法是,在生产站点中,始终在不同的物理服务器上至少部署两个 Controller。如果一个 Controller 出现故障,其他 Controller 可以管理连接并管理站点。
  • 可扩展性: 随着站点活动的增长,Controller 上的 CPU 利用率和数据库活动也会随之增长。额外的 Controller 使您能够处理更多用户以及更多应用程序和桌面请求,并可以提高整体响应能力。
每个 Controller 都直接与站点数据库通信。在具有多个区域的站点中,每个区域中的 Controller 都与主区域中的站点数据库通信。
重要提示:
站点配置完成后,请勿更改 Controller 的计算机名称或域成员身份。

VDA 如何向 Controller 注册

VDA 必须先向站点中的 Delivery Controller 注册(建立通信),然后才能使用。有关 VDA 注册的信息,请参阅VDA 向 Controller 注册。

添加、删除或移动 Controller

要添加、删除或移动 Controller,您必须拥有 数据库 一文中列出的服务器角色和数据库角色权限。
不支持在 SQL 群集或 SQL 镜像安装中的节点上安装 Controller。
将 Delivery Controller™ 添加到站点时,请务必将该计算机的登录凭据添加到用于高可用性的任何副本 SQL Server。
如果您的部署使用数据库镜像:
  • 在添加、删除或移动 Controller 之前,请确保主体数据库和镜像数据库均正在运行。此外,如果您将脚本与 SQL Server Management Studio 结合使用,请在运行脚本之前启用 SQLCMD 模式。
  • 要在添加、删除或移动 Controller 后验证镜像,请运行 PowerShell Get-configdbconnection cmdlet。该 cmdlet 可确保在连接字符串中已将故障转移伙伴设置为镜像。
添加、删除或移动控制器后:
  • 如果启用了自动更新,VDA 将在 90 分钟内收到更新的控制器列表。
  • 如果未启用自动更新,请确保为所有 VDA 更新了控制器策略设置或 ListOfDDCs 注册表项。将控制器移动到另一个站点后,请在这两个站点上更新策略设置或注册表项。

添加控制器

您可以在创建站点时以及之后添加控制器。您不能将使用此软件的早期版本安装的控制器添加到使用此版本创建的站点。
  1. 在包含受支持操作系统的服务器上运行安装程序。安装 Delivery Controller 组件以及您想要的任何其他核心组件。完成安装向导。
  2. 如果您尚未创建站点,请启动 Studio。系统将提示您创建站点。在站点创建向导的“数据库”页面上,单击“选择”按钮,然后添加安装了附加 Controller 的服务器地址。
    如果您计划生成初始化数据库的脚本,请在生成脚本之前添加控制器。
  3. 如果您已创建站点,请将 Studio 指向安装了附加 Controller 的服务器。单击“扩展您的部署”并输入站点地址。

删除控制器

从站点中删除 Controller 不会卸载 Citrix® 软件或任何其他组件。此操作会从数据库中删除 Controller,使其无法再用于代理连接和执行其他任务。如果您删除 Controller,以后可以将其添加回同一站点或另一个站点。一个站点至少需要一个 Controller,因此您无法删除 Studio 中列出的最后一个 Controller。
从站点中删除控制器时,不会删除控制器登录到数据库服务器的凭据。这可以避免意外删除同一计算机上其他产品服务使用的登录凭据。如果不再需要,必须手动删除登录凭据。删除登录凭据需要 securityadmin 服务器角色权限。
删除控制器后:
  • 使用自动更新的 VDA 会重新注册到其他可用的控制器。仅当启用了自动更新机制并且 VDA 可以访问其他控制器(在与已删除控制器相同的辅助区域中,或在本地部署的主区域中)时,才会发生此重新注册。
  • 更新 Citrix StoreFront 中的控制器信息。有关详细信息,请参阅管理控制器。
  • 在 Citrix StoreFront 中,更新通过 Citrix Gateway 进行远程访问的安全票证颁发机构 (STA) URL。有关详细信息,请参阅管理安全票证颁发机构。
  • 在 Citrix Gateway 中,更新任何虚拟服务器 STA URL。有关详细信息,请参阅Citrix Gateway。
重要提示:
在从站点中删除控制器之前,请勿从 Active Directory 中删除该控制器。
  1. 确保 Controller 已开机,以便 Studio 在不到一小时内加载。Studio 加载您要删除的 Controller 后,请在系统提示时关闭 Controller。
  2. 在 Studio 导航窗格中选择“配置 \> Controller”,然后选择要删除的 Controller。
  3. 在“操作”窗格中选择“删除 Controller”。如果您没有正确的数据库角色和权限,系统会提供生成脚本的选项,该脚本允许您的数据库管理员为您删除 Controller。
  4. 您必须从数据库服务器中删除 Controller 的计算机帐户。删除之前,请检查其他服务是否正在使用该帐户。
使用 Studio 删除 Controller 后,流向该 Controller 的流量可能会在短时间内持续存在,以确保当前任务的正确完成。如果您想在短时间内强制删除 Controller,Citrix 建议您关闭安装它的服务器,或从 Active Directory 中删除该服务器。然后,重新启动站点上的其他 Controller,以确保不再与已删除的 Controller 进行通信。

将 Controller 移动到其他区域

如果您的站点包含多个区域,您可以将 Controller 移动到不同的区域。有关此移动如何影响 VDA 注册和其他操作的信息,请参阅《区域》文章。
  1. 在 Studio 导航窗格中选择“配置 \> Controller”,然后选择要移动的 Controller。
  2. 在“操作”窗格中选择“移动”。
  3. 指定要将 Controller 移动到的区域。

将 Controller 移动到另一个站点

您无法将 Controller 移动到使用此软件的早期版本创建的站点。
  1. 在 Controller 所在的站点(旧站点)上,在 Studio 导航窗格中选择“配置 \> Controller”。然后选择要移动的 Controller。
  2. 在“操作”窗格中选择“删除 Controller”。如果您没有正确的数据库权限,可以生成一个脚本,允许具有这些权限的人员(例如数据库管理员)删除 Controller。一个站点至少需要一个 Controller,因此您无法删除 Studio 中列出的最后一个 Controller。
  3. 在您要移动的控制器上,打开 Studio,在出现提示时重置服务,选择 加入现有站点,然后输入新站点的地址。

将 VDA 移动到其他站点

如果 VDA 是使用 Citrix Provisioning™ 预配的或是一个现有映像,则可以在升级时或将测试站点中创建的 VDA 映像移动到生产站点时,将 VDA 移动到另一个站点(从站点 1 到站点 2)。使用 Machine Creation Services (MCS) 预配的 VDA 无法从一个站点移动到另一个站点。MCS 不支持更改 VDA 检查以向 Controller 注册的 ListOfDDCs。使用 MCS 预配的 VDA 始终检查与其创建所在站点关联的 ListOfDDCs。
有两种方法可以将 VDA 移动到另一个站点:使用安装程序或 Citrix 策略。

安装程序

运行安装程序并添加控制器,指定站点 2 中某个控制器的 FQDN(DNS 条目)。
仅当未使用“控制器”策略设置时,才在安装程序中指定控制器。

组策略编辑器

以下示例在站点之间移动多个 VDA。
  1. 在站点 1 中创建包含以下设置的策略,然后将策略筛选到交付组级别,以启动站点之间的分阶段 VDA 迁移。
    • 控制器:包含站点 2 中一个或多个控制器的 FQDN(DNS 条目)。
    • 启用控制器自动更新:设置为已禁用。
  2. 交付组中的每个 VDA 都会在新策略发布后 90 分钟内收到警报。VDA 会忽略其收到的控制器列表(因为自动更新已禁用);它会选择策略中指定的控制器之一,该策略列出了站点 2 中的控制器。
  3. 当 VDA 成功向站点 2 中的控制器注册时,它会收到站点 2 的 ListOfDDCs 和策略信息,这些信息默认启用了自动更新。VDA 在站点 1 中注册的控制器不在站点 2 中的控制器发送的列表中。因此,VDA 会重新注册,从站点 2 列表中的控制器中进行选择。从那时起,VDA 会自动使用来自站点 2 的信息进行更新。