Delivery Controller

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 注册 VDA

(在早期 XenApp 和 XenDesktop 7.x 版本的文档中,有关 VDA 注册的信息包括在本文中。这些信息已增多,现在位于上面链接的文章中。)

添加、删除或移动 Controller

要添加、移动或删除 Controller,必须具有数据库一文中列出的服务器角色和数据库角色权限。

注意:

在 SQL 群集或 SQL 镜像安装中,不支持在节点上安装控制器。

如果您的部署使用数据库镜像:

  • 在添加、删除或移动 Controller 之前,请确保主体数据库和镜像数据库均处于运行状态。另外,如果您通过 SQL Server Management Studio 使用脚本,请在执行脚本之前启用 SQLCMD 模式。
  • 要在添加、删除或移动 Controller 后验证镜像,请运行 PowerShell get-configdbconnection cmdlet,以确保已在连接字符串中将故障转移合作伙伴设置为镜像。

在添加、删除或移动 Controller 后:

  • 如果已启用自动更新,VDA 将在 90 分钟内接收已更新的 Controller 列表。
  • 如果未启用自动更新,请确保更新了所有 VDA 的 Controller 策略设置或 ListOfDDCs 注册表项。将 Controller 移至其他站点后,更新两个站点上的策略设置或注册表项。

添加 Controller

可以在创建站点时或创建站点后添加 Controller。无法将安装了此软件的早期版本的 Controller 添加到使用此版本创建的站点中。

  1. 在使用受支持操作系统的服务器上运行安装程序。安装 Delivery Controller 组件和所需的任何其他核心组件。完成安装向导。
  2. 如果尚未创建站点,请启动 Studio;系统会提示您创建一个站点。在站点创建向导的“数据库”页面上,单击“选择”按钮,然后添加已安装其他 Controller 的服务器的地址。重要: 如果计划生成将初始化数据库的脚本,请在生成脚本前添加 Controller。
  3. 如果已经创建站点,请将 Studio 指向已安装其他 Controller 的服务器。单击扩展部署并输入站点地址。

删除 Controller

从站点删除 Controller 时,不会卸载 Citrix 软件或任何其他组件;会从数据库中删除 Controller,这样它将再也无法用于代理连接和执行其他任务。如果删除 Controller,您可以稍后将其添回到同一个站点中或添加到其他站点中。一个站点至少需要一个 Controller,因此无法删除 Studio 中列出的最后一个 Controller。

从站点中删除 Controller 时,不会删除登录数据库服务器时使用的 Controller 登录信息。这样可以避免删除同一计算机上由其他产品的服务所使用的登录信息的可能性。如果不再需要,则必须手动删除登录信息;需要具有 securityadmin 服务器角色权限才能删除登录信息。

重要:

请先将 Controller 从站点中删除,然后再将其从 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. 在要移动的 Controller 上,打开 Studio,出现相应提示时重置服务,然后选择加入现有站点,并输入新站点的地址。

将 VDA 移至另一个站点

如果 VDA 是使用 Provisioning Services 置备的或者 VDA 是现有映像,您可以在升级时或者将在测试站点中创建的 VDA 映像移至生产站点时将 VDA 移至另一个站点(从站点 1 移至站点 2)。无法将使用 Machine Creation Services (MCS) 置备的 VDA 从一个站点移至另一个站点,因为 MCS 不支持更改 ListOfDDCs(一项 VDA 检查)以在 Controller 中注册;使用 MCS 置备的 VDA 始终检查与在其中创建了该 VDA 的站点关联的 ListOfDDCs。

可以通过以下两种方式将 VDA 移至另一个站点:使用安装程序或 Citrix 策略。

安装程序:运行安装程序并添加 Controller,在站点 2 中为控制器指定 FQDN(DNS 项)。重要:仅当未使用 Controller 策略设置时,才在安装程序中指定 Controller。

组策略编辑器:以下是在站点之间移动多个 VDA 的示例。

  1. 在站点 1 中创建包含以下设置的策略,然后过滤此策略至交付组级别,以在站点间发起分阶段的 VDA 迁移。
    Controller - 包含站点 2 中一个或多个 Controller 的 FQDN(DNS 条目)。 启用控制器动更新 - 已设置为禁用。
  2. 在新策略创建 90 分钟内,交付组中的每个 VDA 都将收到警告。VDA 将忽略其收到的控制器列表(因为自动更新已禁用);它会选择在策略(其列出了站点 2 中的控制器)中指定的一个控制器。
  3. 当 VDA 在站点 2 的控制器中成功注册后,它将接收站点 2 的 ListOfDDCs 和策略信息,默认情况下,自动更新功能已启用。由于 VDA 在站点 1 中注册的控制器不在站点 2 控制器所发送的列表上,因此,VDA 将从站点 2 列表中选择控制器并重新注册。从此时开始,VDA 会从站点 2 中自动更新信息。