XenApp and XenDesktop

区域

跨越由 WAN 连接的广泛分散位置的部署可能会面临网络延迟和可靠性方面的挑战。有两种选项可以缓解这些挑战:

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

此选项建议用于大型企业部署。多个站点是单独管理的,每个站点都需要自己的 SQL Server 站点数据库。每个站点都是一个独立的 XenApp® 部署。

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

配置区域可以帮助远程区域的用户连接到资源,而无需强制其连接遍历 WAN 的大部分。使用区域可以从单个 Citrix Studio 控制台、Citrix Director 和站点数据库有效地管理站点。这节省了在远程位置部署、配备人员、许可和运营包含单独数据库的额外站点的成本。

区域对所有规模的部署都很有帮助。您可以使用区域使应用程序和桌面更接近最终用户,从而提高性能。一个区域可以有一个或多个本地安装的控制器,以实现冗余和弹性,但这并非必需。

站点中配置的控制器数量可能会影响某些操作的性能,例如向站点本身添加新控制器。为避免这种情况,我们建议您将 XenApp 或 XenDesktop® 站点中的区域数量限制为不超过 50 个。

注意:

当您的区域网络延迟超过 250 毫秒 RTT 时,我们建议您部署多个站点而不是区域。

在本文中,“本地”一词指正在讨论的区域。例如,“VDA 向本地控制器注册”表示 VDA 向 VDA 所在区域中的控制器注册。

此版本中的区域与 XenApp 6.5 及更早版本中的区域相似,但并不完全相同。例如,在此区域实现中,没有数据收集器。站点中的所有控制器都与主区域中的一个站点数据库通信。此外,此版本中的故障转移和首选区域的工作方式也不同。

区域类型

一个站点始终有一个主区域。它还可以选择有一个或多个卫星区域。卫星区域可用于灾难恢复、地理上分散的数据中心、分支机构、云或云中的可用性区域。

主区域

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

主区域还应至少有两个控制器以实现冗余,并且可能带有一个或多个 VDA,这些 VDA 的应用程序与数据库和基础结构紧密耦合。

卫星区域

卫星区域包含一个或多个 VDA、控制器、StoreFront 服务器和 NetScaler® Gateway 服务器。在正常操作下,卫星区域中的控制器直接与主区域中的数据库通信。

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

一个站点可以拥有多种不同配置的卫星区域,这取决于您的独特需求和环境。下图展示了主区域和卫星区域的示例。

区域

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

  • 卫星区域 1 - 带控制器的 VDA

卫星区域 1 包含一个控制器、VDA 和一个 StoreFront 服务器。此卫星区域中的 VDA 向本地控制器注册。本地控制器与主区域中的站点数据库和许可证服务器通信。

如果 WAN 发生故障,连接租用功能允许卫星区域中的控制器继续代理与该区域中 VDA 的连接。即使连接办公室与公司网络的 WAN 链接发生故障,这种部署在员工使用本地 StoreFront 站点和本地控制器访问其本地资源的办公室中仍然有效。

  • 卫星区域 2 - 带冗余控制器的 VDA

卫星区域 2 包含两个控制器、VDA 和一个 StoreFront 服务器。这是最具弹性的区域类型,可防止 WAN 和其中一个本地控制器同时发生故障。

VDA 注册位置和控制器故障转移位置

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

  • 主区域中的 VDA 向主区域中的 Controller 注册。主区域中的 VDA 绝不会尝试向卫星区域中的 Controller 注册。
  • 卫星区域中的 VDA 会尽可能向本地 Controller 注册。(这被视为首选 Controller。)如果没有可用的本地 Controller(例如,因为本地 Controller 无法接受更多 VDA 注册或本地 Controller 已发生故障),VDA 将尝试向主区域中的 Controller 注册。在这种情况下,即使卫星区域中的 Controller 再次可用,VDA 仍会保持在主区域中注册。卫星区域中的 VDA 绝不会尝试向另一个卫星区域中的 Controller 注册。
  • 如果为 Controller 的 VDA 发现启用了自动更新,并且您在 VDA 安装期间指定了 Controller 地址列表,则会从该列表中随机选择一个 Controller 进行初始注册(无论 Controller 位于哪个区域)。在该 VDA 所在的计算机重新启动后,VDA 将开始优先向其本地区域中的 Controller 注册。
  • 如果卫星区域中的 Controller 发生故障,它会尽可能故障转移到另一个本地 Controller。如果没有可用的本地 Controller,它会故障转移到主区域中的 Controller。
  • 如果您将 Controller 移入或移出某个区域,并且启用了自动更新,则两个区域中的 VDA 都会收到更新的列表,指示哪些 Controller 是本地的,哪些在主区域中,以便它们知道可以向谁注册以及接受来自谁的连接。
  • 如果您将计算机目录移动到另一个区域,则该目录中的 VDA 将重新向您移动目录到的区域中的 Controller 注册。(当您将目录移动到与当前区域连接不佳的区域(例如,通过高延迟或低带宽网络)时,请确保也将任何关联的主机连接移动到同一区域。)
  • 主区域中的 Controller 保留所有区域的连接租用数据。卫星区域中的 Controller 保留其自身区域和主区域的连接租用数据,但不保留任何其他卫星区域的数据。

如果主区域中的所有 Controller 发生故障:

  • Studio 无法连接到站点。
  • 无法连接到主区域中的 VDA。
  • 站点性能将逐渐下降,直到主区域中的 Controller 可用。

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

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

区域首选项

重要:

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

在多区域站点中,区域首选项功能为管理员提供了更大的灵活性,以控制使用哪个 VDA 启动应用程序或桌面。

区域首选项的工作原理

区域首选项有三种形式。您可能倾向于在特定区域中使用 VDA,具体取决于:

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

下图展示了一个多区域配置的示例。

区域首选项

在此示例中,VDA 分布在三个卫星区域中,但它们都位于同一个交付组中。因此,代理可以选择使用哪个 VDA 来处理用户启动请求。此示例表明用户可以在多个位置运行其 Citrix Receiver 端点:用户 A 正在卫星区域 1 中使用带有 Citrix Receiver 的设备;用户 B 正在卫星区域 2 中使用设备。用户文档可以存储在多个位置:用户 A 和 B 使用基于卫星区域 1 的共享;用户 C 使用来自卫星区域 C 的共享。此外,其中一个已发布的应用程序使用位于卫星区域 1 中的数据库。

通过为用户或应用程序配置主区域,可以将用户或应用程序与区域关联起来。然后,Delivery Controller™ 中的代理使用这些关联来帮助选择在资源可用时启动会话的区域。您可以:

  • 通过将用户添加到区域来配置用户的主区域。
  • 通过编辑应用程序属性来配置应用程序的主区域。

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

尽管可以为用户和应用程序配置区域首选项,但代理仅为一次启动选择一个首选区域。选择首选区域的默认优先级顺序是应用程序主区域 > 用户主区域 > 用户位置。(您可以限制此顺序,如下一节所述。)当用户启动应用程序时:

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

调整区域首选项

当您为用户或应用程序配置(或删除)主区域时,您还可以进一步限制区域首选项的使用方式(或不使用方式)。

  • 强制使用用户主区域: 在交付组中,您可以指定会话应在用户的主区域中启动(如果用户有主区域),如果主区域中没有可用资源,则不会故障转移到其他区域。当您需要避免在区域之间复制大型配置文件或数据文件的风险时,此限制很有帮助。换句话说,您宁愿拒绝会话启动,也不愿在不同区域中启动会话。
  • 强制使用应用程序主区域: 同样,当您为应用程序配置主区域时,您可以指示该应用程序只能在该区域中启动,如果应用程序主区域中没有可用资源,则不会故障转移到其他区域。
  • 无应用程序主区域,并忽略已配置的用户主区域: 如果您未为应用程序指定主区域,您还可以指示在启动该应用程序时,不应考虑任何已配置的用户区域。例如,您可能更希望用户在使用其正在使用的计算机(运行 Citrix Receiver 的计算机)附近 VDA 上运行特定应用程序,使用用户位置区域首选项,即使某些用户可能具有不同的主区域。

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

当用户启动应用程序或桌面时,代理更倾向于使用首选区域,而不是使用现有会话。

如果启动应用程序或桌面的用户已经有一个适合所启动资源的会话(例如,可以用于应用程序的会话共享,或已经运行所启动资源的会话),但该会话正在用户/应用程序首选区域之外的区域中的 VDA 上运行,则系统可能会创建一个新会话。这满足了在正确区域中启动(如果它有可用容量)的要求,优先于重新连接到用户会话要求中不太首选区域的会话。

为防止无法再访问的孤立会话,即使现有断开连接的会话位于非首选区域,也允许重新连接到这些会话。

为了满足启动请求,会话的优选顺序是:

  1. 重新连接到首选区域中的现有会话。
  2. 重新连接到首选区域以外的区域中现有的已断开连接的会话。
  3. 在首选区域中启动新会话。
  4. 重新连接到首选区域以外的区域中现有的已连接会话。
  5. 在首选区域以外的区域中启动新会话。

其他区域首选项注意事项

  • 如果您为用户组(例如安全组)配置了主区域,则该组的用户(通过直接或间接成员身份)将与指定区域关联。但是,用户可以是多个安全组的成员,因此可以通过其他组成员身份配置不同的主区域。在这种情况下,确定该用户的主区域可能会不明确。

如果用户配置了并非通过组成员身份获取的主区域,则该区域将用于区域首选项。通过组成员身份获取的任何区域关联都将被忽略。

如果用户仅通过组成员身份获取了多个不同的区域关联,则代理会随机选择其中一个区域。一旦代理做出此选择,该区域将用于后续会话启动,直到用户的组成员身份发生变化。

  • 用户位置区域首选项要求 Citrix NetScaler Gateway 通过其连接的端点设备检测 Citrix Receiver。必须将 NetScaler 配置为将 IP 地址范围与特定区域关联,并且必须通过 StoreFront 将发现的区域身份传递给 Controller。

有关区域首选项的更多信息,请参阅 区域首选项内部机制

注意事项、要求和最佳实践

  • 您可以将以下各项放置在区域中:控制器、计算机目录、主机连接、用户和应用程序。如果计算机目录使用主机连接,则目录和连接都应位于同一区域中,以便它们之间的连接具有低延迟和高带宽。
  • 当您将项目放置在卫星区域中时,它会影响站点与这些项目以及与它们相关的其他对象的交互方式。
    • 当 Controller 计算机放置在卫星区域中时,假定这些计算机与同一卫星区域中的管理程序和 VDA 计算机具有良好的(本地)连接。然后,该卫星区域中的 Controller 将优先于主区域中的 Controller 来处理这些管理程序和 VDA 计算机。
    • 当管理程序连接放置在卫星区域中时,假定通过该管理程序连接管理的所有管理程序也驻留在该卫星区域中。然后,该卫星区域中的 Controller 将优先于主区域中的 Controller 来与该管理程序连接进行通信。
    • 当计算机目录放置在卫星区域中时,假定该目录中的所有 VDA 计算机都位于该卫星区域中。在每个 VDA 首次注册后,当控制器列表自动更新机制激活后,尝试向站点注册时,将优先使用本地控制器,而不是主区域中的控制器。
    • NetScaler Gateway 实例也可以与区域关联。这作为 StoreFront Optimal HDX™ 路由配置的一部分完成,而不是像此处描述的其他元素那样,作为 XenApp 或 XenDesktop 站点配置的一部分完成。当 NetScaler Gateway 与某个区域关联时,在对该区域中的 VDA 计算机使用 HDX 连接时,将优先使用该 NetScaler Gateway。
  • 创建生产站点,然后创建第一个计算机目录和交付组时,所有项目都位于主区域中 – 在完成初始设置之前,无法创建卫星区域。(如果创建空站点,主区域最初将只包含一个控制器;可以在创建计算机目录和交付组之前或之后创建卫星区域。)
  • 创建包含一个或多个项目的第一个卫星区域时,站点中的所有其他项目都保留在主区域中。
  • 主区域默认命名为“Primary”;可以更改该名称。尽管 Studio 显示屏会指示哪个区域是主区域,但最佳做法是为主区域使用易于识别的名称。可以重新分配主区域(即,将另一个区域设为主区域),但它应始终包含站点数据库和任何高可用性服务器。
  • 站点数据库应始终位于主区域中。
  • 创建区域后,可以稍后将项目从一个区域移动到另一个区域。请注意,这种灵活性可能会导致您分离那些在近距离内运行效果最佳的项目 – 例如,将计算机目录移动到与创建目录中计算机的连接(主机)不同的区域,可能会影响性能。因此,在区域之间移动项目之前,请考虑潜在的意外影响。将目录及其使用的主机连接保留在同一区域中,或保留在连接良好的区域中(例如,通过低延迟和高带宽网络)。
  • 为获得最佳性能,请仅在主区域中安装 Studio 和 Director。如果要在卫星区域中安装另一个 Studio 实例(例如,如果包含控制器的卫星区域在主区域无法访问时用作故障转移),请将 Studio 作为本地发布的应用程序运行。也可以从卫星区域访问 Director,因为它是一个 Web 应用程序。
  • 理想情况下,卫星区域中的 NetScaler Gateway 应主要用于从其他区域或外部位置进入该区域的用户连接,尽管也可以将其用于区域内的连接。
  • 请记住: 要使用区域首选项功能,您必须至少使用 StoreFront 3.7 和 NetScaler Gateway 11.0-65.x。

连接质量的局限性

卫星区域中的控制器直接与站点数据库执行 SQL 交互。这对卫星区域与包含站点数据库的主区域之间的链接质量施加了一些限制。具体限制与部署在卫星区域中的 VDA 数量以及这些 VDA 上的用户会话数量有关。因此,只有少量 VDA 和会话的卫星区域可以比具有大量 VDA 和会话的卫星区域使用质量较差的数据库连接。

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

延迟对会话代理性能的影响

尽管区域允许用户位于高延迟链接上(前提是有本地代理),但额外的延迟不可避免地会影响最终用户体验。对于用户执行的大多数工作,他们会遇到由卫星区域中的控制器与站点数据库之间的往返通信导致的缓慢。

启动应用程序时,会话代理过程在识别要发送会话启动请求的合适 VDA 时会发生额外的延迟。

创建和管理区域

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

如果您使用 Provisioning Services: 此版本提供的 Provisioning Services 控制台不了解区域,因此 Citrix 建议使用 Studio 创建要放置在卫星区域中的计算机目录。使用 Studio 向导创建目录,并指定正确的卫星区域。然后,使用 Provisioning Services 控制台在该目录中预配计算机。(如果您使用 Provisioning Services 向导创建目录,它将被放置在主区域中,您以后需要使用 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 中选择应用程序并编辑其属性来配置应用程序属性。

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

  • 如果您希望应用程序具有主区域:
    • 选择使用选定区域决定单选按钮,然后从下拉列表中选择区域。
    • 如果您希望应用程序仅从选定区域启动(而不是从任何其他区域启动),请选中区域选择下方的复选框。
  • 如果您不希望应用程序具有主区域:
    • 选择不配置主区域单选按钮。
    • 如果您不希望代理在启动此应用程序时考虑任何已配置的用户区域,请选中单选按钮下方的复选框。在这种情况下,应用程序或用户主区域都不会用于确定此应用程序的启动位置。

其他包含指定区域的操作

当您添加主机连接或创建计算机目录(站点创建期间除外)时,如果您已创建至少一个卫星区域,则可以指定将分配该项目的区域。

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

如果站点不包含卫星区域,则假定为主区域,并且不会显示区域选择框。