区域

如果部署横跨分布广泛且通过 WAN 进行连接的位置,则会面临网络延迟和可靠性带来的挑战。可以通过两种方案来缓解这些挑战:

  • 部署多个站点,每个站点都有自己的 SQL Server 站点数据库。

    建议对大型企业部署使用此方案。分别管理多个站点,每个站点需要有各自的 SQL Server 站点数据库。每个站点是一个独立的 Citrix Virtual Apps 部署。

  • 在单个站点内配置多个区域。

    配置区域可帮助远程地理区域的用户连接到资源,而不需要强制其连接遍历大部分 WAN。使用区域可实现从单个 Citrix Studio 控制台、Citrix Director 和站点数据库有效地管理站点。这样可以节约部署、配备人员、许可和操作包含远程位置中的多个数据库的额外站点的成本。

    区域在各种大小的部署中会非常有用。可以使用区域来保持应用程序和桌面对最终用户触手可用,从而提高性能。一个区域可以包含一个或多个安装在本地的 Controller 以实现冗余并具有恢复能力,但并非必须安装一个或多个 Controller。

    站点中配置的 Controller 数会影响某些操作(例如,向站点自身添加新 Controller)的性能。为了避免此问题,建议将您的 Citrix Virtual Apps 或 Citrix Virtual Desktops 站点中的区域数限制在 50 以内。

    区域的网络延迟超过 250 毫秒 RTT 时,我们建议您部署多个站点来代替区域。

在本文中,术语“本地”是指正在讨论的区域。例如,“VDA 注册到本地 Controller 中”是指 VDA 注册到 VDA 所在的区域中的 Controller。

本版本中的区域非常相似,但与 XenApp 6.5 及更早版本中的区域不同。例如,在此区域的实现中,不包含数据收集器。站点中的所有 Controller 都与主要区域中的一个站点数据库进行通信。此外,在本版本中,故障转移和首选区域的工作方式不同。

区域类型

一个站点始终有一个主要区域。一个站点也可以有一个或多个卫星区域。可以为灾难恢复、地理位置相隔很远的数据中心、分支机构、云或云中的可用区域使用卫星区域。

主要区域:

主要区域的默认名称为“主要”,该区域中包含 SQL Server 站点数据库(和高可用性 SQL Server,如果使用)、Studio、Director、Citrix StoreFront、Citrix 许可证服务器和 Citrix Gateway。站点数据库应始终位于主要区域中。

主要区域还应至少包含两个 Controller 以实现冗余,并且可能包含一个或多个安装了与数据库和基础结构紧密配对的应用程序的 VDA。

卫星区域:

一个卫星区域包含一个或多个 VDA、Controller、StoreFront 服务器和 Citrix Gateway 服务器。在正常情况下,卫星区域中的 Controller 直接与主要区域中的数据库进行通信。

卫星区域(特别是大型卫星区域)可能还包含虚拟机管理程序,用于预配和/或存储该区域的计算机。配置卫星区域时,可以将虚拟机管理程序或云服务连接与其关联。(请确保使用该连接的所有计算机目录都位于相同的区域。)

站点可以包含不同配置的卫星区域,具体取决于您的独特需求和环境。下图显示了一个主要区域以及卫星区域的示例。

主要区域和卫星区域图

在该图中:

  • 主要区域: 包含两个 Controller、Studio、Director、StoreFront、许可证服务器和站点数据库(以及高可用性 SQL Server 部署)。主要区域还包含多个 VDA 和一个 Citrix Gateway。

  • 卫星区域 1:包含 Controller 的 VDA: 卫星区域 1 包含一个 Controller、多个 VDA 和一个 StoreFront 服务器。此卫星区域中的 VDA 注册到本地 Controller 中。本地 Controller 与主要区域中的站点数据库和许可证服务器进行通信。

    如果 WAN 出现故障,本地主机缓存功能将允许该卫星区域中的 Controller 继续中转与该区域中的 VDA 的连接。如果办公室里的工作人员使用本地 StoreFront 站点和本地 Controller 访问其本地资源,则此类部署会非常有效,即使将其办公室连接到企业网络的 WAN 链路出现故障也是如此。

  • 卫星区域 2:包含冗余 Controller 的 VDA: 卫星区域 2 包含两个 Controller、多个 VDA 和一个 StoreFront 服务器。这是复原能力最强的区域类型,能够在 WAN 和其中一个本地 Controller 同时出现故障时提供保护。

VDA 注册的位置以及 Controller 故障转移的位置

在包含主要区域和卫星区域的站点中,VDA 的最低版本为 7.7:

  • 主要区域中的 VDA 注册到主要区域中的 Controller。主要区域中的 VDA 永不尝试注册到卫星站点中的 Controller。
  • 卫星区域中的 VDA 注册到本地 Controller 中(如有可能)。(这称为首选 Controller)。如果本地 Controller 都不可用(例如,由于本地 Controller 无法接受更多 VDA 注册,或者本地 Controller 出现故障),VDA 将尝试注册到主要区域中的 Controller。在这种情况下,VDA 保持注册到主要区域中,即使卫星区域中的 Controller 再次可用也是如此。一个卫星区域中的 VDA 永不尝试注册到另一个卫星站点中的 Controller。
  • 如果为 Controller 的 VDA 发现启用了自动更新,并且在 VDA 安装期间指定了一个 Controller 地址列表,则会从该列表中随机选择一个 Controller 以完成初始注册(无论 Controller 驻留在哪个区域)。重新启动包含该 VDA 的计算机后,该 VDA 将启动,以便首先选择注册到其本地区域中的 Controller。
  • 如果卫星区域中的 Controller 出现故障,则会故障转移到另一个本地 Controller(如有可能)。如果所有本地 Controller 都不可用,则会故障转移到主要区域中的 Controller。
  • 如果您将 Controller 移入或移出某个区域,并且启用了自动更新,则这两个区域中的 VDA 会收到更新后的列表,指出哪些属于本地 Controller,哪些位于主要区域中,这样可以确定其能够注册到哪个 Controller 以及接受来自哪个 Controller 的连接。
  • 如果将某个计算机目录移动到另一个区域,该目录中的 VDA 将重新注册到移动了该目录的区域中的 Controller。(将某个目录移动到另一个区域时,请确保此区域以及包含关联主机连接的区域的连接状况良好。如果带宽有限或者存在高延迟现象,请将主机连接移动到包含关联计算机目录的相同区域。)

如果主要区域中的所有 Controller 都出现故障:

  • Studio 无法连接到站点。
  • 无法与主要区域中的 VDA 建立连接。
  • 站点性能将大幅下降,直至主要区域中的 Controller 可用。

对于包含版本 7.7 之前的 VDA 的站点:

  • 卫星区域中的 VDA 将接受来自其本地区域和主要区域中的 Controller 的请求。(最低版本为 7.7 的 VDA 可以接受来自其他卫星区域的 Controller 请求。)
  • 卫星区域中的 VDA 将随机注册到主要区域或本地区域中的 Controller。(最低版本为 7.7 的 VDA 首先选择本地区域。)

区域首选项

要使用区域首选项功能,您必须至少使用 StoreFront 3.7 和 Citrix Gateway 11.0-65.x。

在多个区域的站点中,区域首选项功能为管理员提供更多的灵活性来控制哪些 VDA 可用于启动一款应用程序或桌面。

区域首选项的工作方式

有三种形式的区域首选项。您可能更喜欢使用特定区域中的 VDA,基于:

  • 应用程序数据的存储位置。这称为应用程序的主区域。
  • 用户的主区域数据的位置,例如配置文件或主区域共享。这称为用户的主区域。
  • 用户的当前位置(Citrix Workspace 应用程序正在运行的位置)。这称为用户位置。

下图显示了多区域配置示例。

多区域配置示例

在此示例中,VDA 分布在三个卫星区域中,但都处在同一个交付组中。因此,Broker 可以选择针对用户启动请求使用哪个 VDA。此示例指出用户可以在多个位置运行其 Citrix Workspace 应用程序端点:用户 A 正在卫星区域 1 中使用具有 Citrix Workspace 应用程序的设备;用户 B 正在卫星区域 2 中使用某个设备。用户的文档可以存储在多个位置:用户 A 和 B 使用卫星区域 1 中的共享;用户 C 使用卫星区域 C 中的共享。此外,其中一个已发布的应用程序使用位于卫星区域 1 中的数据库。

您可以通过为用户或应用程序配置一个主区域的方法将其与某个区域关联。然后,Delivery Controller 中的 Broker 会使用这些关联来帮助选择将会在其中启动会话的区域(如果资源可用)。可以执行以下操作:

  • 通过向某个区域添加用户的方法来为用户配置主区域。
  • 通过编辑应用程序属性来为某个应用程序配置主区域。

一名用户或一个应用程序一次只能有一个主区域。(在由于用户组成员身份而出现多个区域成员身份时,可能会出现用户的例外;请参阅“其他注意事项”部分。但是,即使在这种情况下,Broker 只能使用一个主区域。)

尽管可以配置用户和应用程序的区域首选项,Broker 一次启动只能选择一个首选的区域。选择首选区域的默认优先次序为应用程序主区域 > 用户主区域 > 用户位置。您可以限制顺序;请参阅定制区域首选项。用户启动应用程序时:

  • 如果该应用程序具有一个已配置的区域关联(一个应用程序主区域),那么首选的区域就是该应用程序的主区域。
  • 如果该应用程序不具有配置的区域关联,但用户具有配置的区域关联(用户主区域),则首选的区域为该用户的主区域。
  • 如果应用程序和用户都没有配置的区域关联,则首选区域为用户正运行 Citrix Workspace 应用程序实例的区域(用户位置)。如果该区域未定义,则使用随机的 VDA 和区域选择。负载平衡适用于首先区域中的所有 VDA。如果没有首选区域,负载平衡适用于交付组中所有 VDA。

定制区域首选项

配置(或删除)某个用户或应用程序的主区域时,也可以进一步限制如何使用(或不使用)区域首选项。

  • 强制用户主区域使用:在一个交付组中,可以指定应在用户的主区域(如果该用户具有一个主区域)中启动一个会话,且在主区域中资源不可用的情况下不会故障转移至另一个区域。在您需要避免在多个区域间复制大型配置文件或数据文件而带来的风险时,这一限制会很有用。换而言之,您宁可拒绝一次会话启动,也不愿在不同的区域中启动会话。
  • 强制应用程序主区域使用:同样,配置某个应用程序的主区域时,可以指示仅应在该区域启动应用程序,且在应用程序的主区域中资源不可用时不会故障转移到另一个区域。
  • 无应用程序主区域,且忽略配置的用户主区域:如果不指定某个应用程序的主区域,还可以指示在启动该应用程序时不应该考虑任何配置的用户区域。例如,您可能希望用户在一个靠近他们使用的计算机(Citrix Workspace 应用程序的运行位置)的 VDA 上运行一个特定应用程序,使用用户位置区域首选项,即使某些用户可能拥有不同的主区域也是如此。

首选区域如何影响会话使用

用户启动一个应用程序或桌面时,Broker 希望使用首选的区域,而不是使用现有的会话。

如果启动应用程序或桌面的用户已经具有一个适合被启动资源的会话(例如,可以使用某个应用程序的会话共享,或一个已经在运行被启动资源的会话),但该会话正在不同于该用户/应用程序首选区域的区域中的 VDA 上运行,那么系统可能会创建新的会话。这满足了在正确的区域中启动的需求(如果具有可用的容量),而无需重新连接到该用户会话要求的较不理想区域中的会话。

要防止出现无法访问的孤立会话,允许对现有的断开连接的会话进行重新连接,即便它们处在非首选的区域中也是如此。

可满足一次启动的会话的理想顺序为:

  1. 重新连接到首选区域中的现有会话。
  2. 重新连接到不同于首选区域的区域中已断开连接的现有会话。
  3. 在首选区域中启动新的会话。
  4. 重新连接到不同于首选区域的区域中的现有已连接会话。
  5. 在不同于首选区域的区域中启用一个新的会话。

其他区域首选项注意事项

  • 如果您配置一个用户组(例如安全组)的主区域,该组的用户(通过直接或间接成员身份)关联到指定的区域。但是,用户可以是多个安全组的成员,因此可能具有通过其他组成员身份配置的不同主区域。在这种情况下,可能无法清晰确定该用户的主区域。

如果用户具有一个不通过组成员身份获得的已配置主区域,该区域将用于区域首选项。任何通过组成员身份获得的区域关联将被忽略。

如果该用户具有多个仅通过组成员身份获得的不同区域关联,则 Broker 会在这些区域中进行随机选择。Broker 完成选择之后,该区域将用于后续的会话启动,直到用户的组成员身份变更为止。

  • 用户位置区域首选项要求由用来连接设备的 Citrix Gateway 来检测端点设备上的 Citrix Workspace 应用程序。必须对 Citix Gateway 进行配置,以将 IP 地址范围与特定区域关联,同时必须通过 StoreFront 将已发现的区域标识传递到 Controller。

有关区域首选项的详细信息,请参阅 Zone preference internals(区域首选项内部)。

注意事项、要求和最佳做法

  • 您可以将以下项目放置在一个区域中:Controller、计算机目录、主机连接、用户和应用程序。如果计算机目录使用主机连接,则该目录和连接都应位于相同的区域中。(但是,如果低延迟、高带宽连接可用,则可以位于不同的区域中。)

  • 如果将多个项目放置在一个卫星区域中,会影响站点与这些项目以及与跟它们相关的其他对象的交互方式。

    • 多个 Controller 计算机放置一个卫星区域中时,假定这些计算机与同一卫星区域中的虚拟机管理程序和 VDA 计算机的(本地)连接情况很好。那么,在处理这些虚拟机管理程序和 VDA 计算机时,优先使用该卫星区域中的 Controller,而不是主要区域中的 Controller。
    • 某个虚拟机管理程序连接放置在一个卫星区域中时,假定通过该虚拟机管理程序连接管理的所有虚拟机管理程序也都位于该卫星区域中。那么,通过该虚拟机管理程序连接进行通信时,优先使用该卫星区域中的 Controller,而不是主要区域中的 Controller。
    • 某个计算机目录放置在一个卫星区域中时,假定该目录中的所有 VDA 计算机都位于该卫星区域中。首次注册了各个 VDA 后,并且激活了 Controller 列表自动更新机制后,尝试向站点注册时,优先使用本地 Controller,而不是主要区域中的 Controller。
    • Citrix Gateway 实例也可以与区域关联。对于此处所述的其他元素,这是在 StoreFront 最佳 HDX 路由配置中完成的,而不是在站点配置中完成的。某个 Citrix Gateway 与某个区域关联后,使用与该区域中的 VDA 计算机的 HDX 连接时,优先使用该 Citrix Gateway。
  • 创建生产站点,然后创建第一个计算机目录和交付组时,所有项目都位于主要区域中;完成该初始设置之后才能创建卫星区域。(如果您创建一个空站点,主要区域最初将仅包含 Controller。您可以在创建计算机目录和交付组之前或之后创建卫星区域。)

  • 创建第一个包含一个或多个项目的卫星区域时,站点中的所有其他项目将保留在主要区域中。

  • 主要区域的默认名称为“主要”;可以更改该名称。尽管 Studio 显示内容指示哪个区域是主要区域,但是,最佳做法是为主要区域使用易于识别的名称。可以重新分配主要区域(即,将另一个区域设为主要区域),但应始终包含站点数据库和高可用性服务器。

  • 站点数据库应始终位于主要区域中。

  • 创建区域后,稍后可以将项目从一个区域移动到另一个区域。请注意,这种灵活性可能会允许您分隔大体匹配的最适合的项目;例如,将某个计算机目录移动到与创建该目录中的计算机的连接不同的区域可能会影响性能。因此,在区域之间移动项目之前,请考虑预料之外的潜在影响。请保持目录与其使用的主机连接位于相同的区域中,或者位于连接信号良好的区域中(例如,通过低延迟、高带宽网络建立连接)。

  • 要实现最佳性能,请仅在主要区域中安装 Studio 和 Director。如果希望另一个 Studio 实例位于卫星区域中(例如,如果正在将包含多个 Controller 的某个卫星区域用于在主要区域不可访问时进行故障转移),请运行 Studio 作为本地发布的应用程序。也可以从卫星区域访问 Director,因为 Director 属于 Web 应用程序。

  • 理想情况下,应对从其他区域或外部位置传入到该区域的用户连接使用卫星区域中的 Citrix Gateway,即使您能够对该区域内部的连接使用 Citrix Gateway 也是如此。

  • 谨记:要使用区域首选项功能,您必须至少使用 StoreFront 3.7 和 Citrix Gateway 11.0-65.x。

  • 有关更多技术详细信息和性能注意事项,请参阅区域深度探讨

连接质量限制

卫星区域中的 Controller 直接执行与站点数据库的 SQL 交互。这对卫星区域与包含站点数据库的主要区域之间的链接的质量造成了一些限制。具体限制与该卫星区域中部署的 VDA 数和那些 VDA 上的用户会话数相关。因此,与具有大量 VDA 和会话数的卫星区域相比,只有少量 VDA 和会话数的卫星区域在与数据库的连接质量较差时也可以正常运行。

有关详细信息,请参阅延迟和 SQL 阻塞查询改进功能

延迟对中转性能的影响

尽管区域允许用户使用延迟较高的链接,假定有一个本地 Broker,额外的延迟不可避免地会影响最终用户体验。对于用户执行的大多数操作,他们体验到的慢速是由卫星区域中的 Controller 与站点数据库之间的往返造成的。

对于启动应用程序,会话中转过程识别合适的 VDA 来向其发送会话启动请求时,会发生额外的延迟。

创建和管理区域

完全权限管理员可以执行所有区域创建和管理任务。但是,还可以创建允许您创建、编辑或删除区域的自定义角色。在区域之间移动项目不需要区域相关权限(区域读取权限除外);但是,必须对要移动的区域具有编辑权限。例如,要将计算机目录从一个区域移动到另一个区域,必须对该计算机目录具有编辑权限。有关详细信息,请参阅“委派管理”一文。

如果使用 Citrix Provisioning: 此版本中提供的 Citrix Provisioning 控制台无法识别区域,因此,Citrix 建议您使用 Studio 创建要放置在卫星区域中的计算机目录。可以使用 Studio 向导创建目录,并指定恰当的卫星区域。因此,可以使用 Citrix Provisioning 控制台在该目录中预配计算机。(如果使用 Citrix Provisioning 向导创建目录,则会将该目录放置在主要区域中,并且您以后需要使用 Studio 将其移动到卫星区域中。)

创建区域

  1. 在 Studio 导航窗格中选择配置 > 区域
  2. 在“操作”窗格中选择创建区域
  3. 输入该区域的名称和说明(可选)。该名称在站点中必须唯一。
  4. 选择要放置在新区域中的项目。可以过滤或搜索要从中选择项目的列表。也可以创建空区域;不需要选择任何项目。
  5. 单击保存

作为此方法的备选方法,可以在 Studio 中选择一个或多个项目,然后在“操作”窗格中选择创建区域

更改区域名称或说明

  1. 在 Studio 导航窗格中选择配置 > 区域
  2. 在中间窗格中选择一个区域,然后在“操作”窗格中选择编辑区域
  3. 更改区域名称和/或说明。如果要更改主要区域的名称,请确保该区域仍可轻松识别为主要区域。
  4. 单击确定应用

将项目从一个区域移动到另一个区域

  1. 在 Studio 导航窗格中选择配置 > 区域
  2. 在中间窗格中选择一个区域,然后选择一个或多个项目。
  3. 将项目拖动到目标区域,或者在“操作”窗格中选择移动项目,然后指定要将项目移动到的区域。

此时将显示一条列出所选项目的确认消息,并询问您是否确实要移动全部项目。

谨记:如果计算机目录使用连接到虚拟机管理程序或云服务的主机连接,则该目录和连接都应位于相同的区域中。否则,性能可能会受到影响。如果移动一个项目,请同时移动另一个。

删除区域

区域必须不包含任何内容才能将其删除。不能删除主要区域。

  1. 在 Studio 导航窗格中选择配置 > 区域
  2. 在中间窗格中选择一个区域。
  3. 在“操作”窗格中选择删除区域。如果该区域不为空(包含项目),系统会要求您选择要移动这些项目的区域。
  4. 确认删除。

添加用户的主区域

配置用户的主区域也称为将用户添加到区域

  1. 在 Studio 导航窗格中选择配置 > 区域,然后在中间窗格中选择一个区域。
  2. 在“操作”窗格中选择将用户添加到区域
  3. 将用户添加到区域对话框中,单击添加,然后选择要添加到该区域的用户和用户组。如果您指定已经具有主区域的用户,则会显示一条消息,提供两个选择: = 仅添加您指定的没有主区域的用户; = 返回用户选择对话框。
  4. 单击确定

对于具有已配置主区域的用户,您可能需要仅从他们的主区域启动会话:

  1. 创建或编辑交付组。
  2. 用户页面上,选中如果已配置,则会话必须在用户的主区域中启动复选框。

由该交付组中用户启动的所有会话必须在用户的主区域中从计算机启动。如果交付组中的用户不具有已配置的主区域,此设置无效。

删除用户的主区域

此步骤也称为从区域中删除用户。

  1. 在 Studio 导航窗格中选择配置 > 区域,然后在中间窗格中选择一个区域。
  2. 在“操作”窗格中选择从区域中删除用户
  3. 将用户添加到区域对话框中,单击删除,然后选择要从该区域中删除的用户和用户组。请注意,此操作仅从该区域中删除用户;这些用户仍保留在他们所属的交付组和应用程序组。
  4. 系统提示时确认删除。

管理应用程序的主区域

配置应用程序的主区域也称为将应用程序添加到区域。默认情况下,在多区域环境中,应用程序不具有主区域。

应用程序的主区域在该应用程序的属性中指定。您可以在将应用程序添加到组时配置应用程序属性,也可以稍后配置,方法是通过选择 Studio 中的应用程序并编辑其属性。

在应用程序的属性/设置的区域页面上:

  • 如果您想要该应用程序具有一个主区域:
    • 选择使用选定的区域来决定单选按钮,然后从下拉菜单中选择该区域。
    • 如果您希望该应用程序仅从选定的区域(不从任何其他区域)中启动,请选中该区域选择下方的复选框。
  • 如果您不希望该应用程序具有一个主区域:
    • 选择请勿配置主区域单选按钮。
    • 如果您不希望 Broker 在启动该应用程序时考虑任何配置的用户区域,请选中该单选按钮下方的复选框。在此情况下,不会使用应用程序或用户主区域来确定从何处启动该应用程序。

包括指定区域在内的其他操作

添加主机连接,或者创建计算机目录(站点创建过程中除外)时,可以指定要将项目分配到的区域,前提是您已至少创建一个卫星区域。

在大多数情况下,主要区域为默认区域。使用 Machine Creation Services 创建计算机目录时,将自动选择为主机连接配置的区域。

如果站点中不包含任何卫星区域,则会假定主要区域,并且区域选择对话框不显示。