Citrix Virtual Apps and Desktops

区域

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

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

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

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

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

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

    The number of Controllers configured in the site can affect the performance of some operations, such as adding new Controllers to the site itself. To avoid this, we recommend that you limit the number of zones in your Citrix Virtual Apps or Citrix Virtual Desktops™ site to no more than 50.

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

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

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

区域类型

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

主区域:

The primary zone has the default name “Primary”. This zone contains the SQL Server site database (and high availability SQL servers, if used), Studio, Director, Citrix StoreFront™, Citrix License Server, and Citrix Gateway. Always keep the site database in the primary zone.

主区域应至少有两个控制器以实现冗余。主区域可以包含与数据库和基础设施紧密耦合的应用程序的 VDA。

卫星区域:

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

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

一个站点可以根据您独特的业务需求和环境,拥有不同配置的卫星区域。下图展示了一个主区域以及多个卫星区域的示例。

主区域和卫星区域的图示

在插图中:

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

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

    如果 WAN 发生故障,本地主机缓存功能允许卫星区域中的控制器继续为该区域中的 VDA 代理连接。这种部署在工作人员使用本地 StoreFront 站点和本地控制器访问其本地资源的办公室中可能很有效。

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

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

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

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

如果主区域中的所有控制器都发生故障:

  • Studio 无法连接到站点。
  • 无法连接到主区域中的 VDA。
  • 站点性能会下降,直到主区域中的控制器可用为止。

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

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

区域首选项

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

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

区域首选项的工作原理

区域首选项有三种形式。您可能希望根据以下因素在特定区域中使用 VDA:

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

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

多区域配置示例

在此示例中,VDA 分布在三个卫星区域中,但它们都位于同一个交付组中。因此,代理可能会选择使用哪个 VDA 来处理用户启动请求。此示例表明用户可以在多个位置运行其 Citrix Workspace 应用程序端点:

  • 用户 A 正在卫星区域 1 中使用装有 Citrix Workspace 应用程序的设备。
  • 用户 B 正在卫星区域 2 中使用设备。
  • 用户的文档可以存储在不同的位置。

    • 用户 A 和 B 使用基于卫星区域 1 的共享。
    • 用户 C 使用来自卫星区域 C 的共享。
    • 其中一个已发布的应用程序使用位于卫星区域 1 的数据库。

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

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

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

尽管可以为用户和应用程序配置区域首选项,但代理仅为一次启动选择一个首选区域。选择首选区域的默认优先级顺序是应用程序主区域 > 用户主区域 > 用户位置。您可以限制此顺序;请参阅自定义区域首选项。当用户启动应用程序时:

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

自定义区域首选项

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

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

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

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

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

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

会话满足启动的理想顺序如下所示:

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

其他区域首选项注意事项

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

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

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

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

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

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

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

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

    • 当控制器放置在卫星区域时,假定这些计算机与同一区域中的管理程序和 VDA 具有良好的(本地)连接。然后,在处理这些管理程序和 VDA 计算机时,优先使用该卫星区域中的控制器,而不是主区域中的控制器。
    • 当管理程序连接放置在卫星区域时,假定通过该管理程序连接管理的所有管理程序也驻留在该卫星区域中。然后,在与该管理程序连接通信时,优先使用该卫星区域中的控制器,而不是主区域中的控制器。
    • 当计算机目录放置在卫星区域时,假定该目录中的所有 VDA 计算机都在卫星区域中。在每个 VDA 首次注册后,控制器列表自动更新机制激活后,当尝试向站点注册时,优先使用本地控制器,而不是主区域中的控制器。
    • Citrix Gateway 实例也可以与区域关联。这是作为 StoreFront Optimal HDX™ 路由配置的一部分完成的,而不是像此处描述的其他元素那样作为站点配置的一部分完成的。当 Citrix Gateway 与某个区域关联时,当使用到该区域中 VDA 计算机的 HDX 连接时,优先使用该 Citrix Gateway。
  • 当您创建生产站点,然后创建第一个目录和交付组时,所有项目都位于主区域中 – 在完成初始设置之前,您无法创建卫星区域。(如果您创建空站点,主区域最初将只包含一个控制器。您可以在创建目录和交付组之前或之后创建卫星区域。)

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

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

  • 始终将站点数据库保留在主区域中。

  • 创建区域后,您可以稍后将项目从一个区域移动到另一个区域。这种灵活性使您能够将最适合近距离工作的项目分开。例如,将目录移动到与创建目录中计算机的连接(主机)不同的区域可能会影响性能。在区域之间移动项目之前,请考虑潜在的意外影响。将目录及其使用的主机连接保留在同一区域中,或保留在连接良好(例如,通过低延迟和高带宽网络)的区域中。

  • 为获得最佳性能,请仅在主区域中安装 Studio 和 Director。如果您希望在卫星区域中拥有另一个 Studio 实例(例如,包含控制器的卫星区域,以便在主区域无法访问时用作故障转移),请将 Studio 作为本地发布的应用程序运行。您也可以从卫星区域访问 Director,因为它是一个 Web 应用程序。

  • 理想情况下,卫星区域中的 Citrix Gateway 用于从其他区域或外部位置进入该区域的用户连接,尽管您也可以将其用于区域内的连接。

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

连接质量的局限性

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

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

延迟对代理性能所造成的影响

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

对于启动应用程序,会话代理过程在识别要发送会话启动请求的合适 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. 当系统提示时,请确认移除操作。

管理应用程序的“主区域”

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

应用程序的主区域在应用程序的属性中指定。您可以在将应用程序添加到组时或之后配置应用程序属性。

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

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

其他涉及指定区域的操作

创建至少一个卫星区域后,您可以在添加主机连接或创建目录时指定区域。

通常,主区域是默认区域。使用 Machine Creation Services™ 创建目录时,为主机连接配置的区域会自动选择。

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

区域