Citrix Virtual Apps and Desktops

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

添加、删除或移动 Controller

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

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

将 Delivery Controller 添加到站点时,请务必将该计算机的登录凭据添加到用于实现高可用性的任何副本 SQL Server 中。

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

  • 在添加、删除或移动 Controller 之前,请确保主体数据库和镜像数据库均处于运行状态。另外,如果您通过 SQL Server Management Studio 使用脚本,请在运行脚本之前启用 SQLCMD 模式。
  • 要在添加、删除或移动 Controller 后验证镜像,请运行 PowerShell Get-configdbconnection cmdlet。该 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 后:

  • 使用自动更新的 VDA 会向其他可用的 Controller 重新注册。仅当启用了自动更新机制并且 VDA 可以访问其他 Controller(与已删除的 Controller 位于同一辅助区域中,或者在本地部署的主要区域中)时,才会发生此重新注册操作。
  • 更新 Citrix StoreFront 中的 Controller 信息。有关详细信息,请参阅管理 Controller
  • 在 Citrix StoreFront 中,更新 Secure Ticket Authority (STA) URL,以便通过 Citrix Gateway 进行远程访问。有关详细信息,请参阅管理 Secure Ticket Authority
  • 在 Citrix Gateway 中,更新任何虚拟服务器 STA URL。有关详细信息,请参阅 Citrix Gateway

重要:

请先将 Controller 从站点中删除,然后再将其从 Active Directory 中删除。

  1. 确保打开 Controller 的电源,以使 Studio 能够在一小时内加载。Studio 加载要移除的控制器后,请确保控制器上的所有服务都在运行,并且控制器已关闭电源。
  2. 在 Studio 导航窗格中选择配置 > Controller,然后选择要删除的 Controller。
  3. 在“操作”窗格中单击删除 Controller。如果没有正确的数据库角色和权限,可以选择生成一个脚本,数据库管理员可以通过该脚本为您删除 Controller。

    Studio 会在移除控制器之前执行预检查。如果控制器已关闭且未处于以下服务状态,则可以安全地将其移除:

    • 未知
    • 待处理的故障
    • 较旧的版本
    • 较新的版本
    • 正在更改版本
    • 缺少强制性功能

    如果控制器未关闭电源且处于上述任何一种服务状态,Studio 会提示您关闭控制器的电源。

  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 是使用 Citrix Provisioning 预配的或者 VDA 是现有映像,您可以在升级时或者将在测试站点中创建的 VDA 映像移至生产站点时将 VDA 移至另一个站点(从站点 1 移至站点 2)。无法将使用 Machine Creation Services (MCS) 预配的 VDA 从一个站点移动到另一个站点。MCS 不支持将 VDA 检查的 ListOfDDC 更改为向 Controller 注册。使用 MCS 预配的 VDA 始终检查与创建这些 VDA 时的站点关联的 ListOfDDC。

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

安装程序

运行安装程序并添加 Controller,指定站点 2 中某个控制器的 FQDN(DNS 条目)。

仅当未使用 Controller 策略设置时,才在安装程序中指定 Controller。

组策略编辑器

以下是在站点之间移动多个 VDA 的示例。

  1. 在站点 1 中创建包含以下设置的策略,然后过滤此策略至交付组级别,以在站点间发起分阶段的 VDA 迁移。

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

有关如何使用组策略编辑器的信息,请参阅 Citrix 策略文档。

Delivery Controller