XenApp和XenDesktop

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

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

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

  • 在一个Site内配置多个zone。

配置区域可以帮助远程区域中的用户连接到资源,而不必强制他们的连接穿越WAN的大部分区域。使用专区允许从单个Citrix Studio控制台、Citrix Director和Site数据库进行有效的Site管理。这节省了部署、人员配备、许可和在远程位置运行包含独立数据库的其他站点的成本。

区域对于各种规模的部署都有帮助。可以使用区域使应用程序和桌面距离最终用户更近,从而提高性能。为了冗余和弹性,一个zone可以在本地安装一个或多个controller,但这不是必需的。

站点中配置的控制器数量会影响某些操作的性能,如在站点中添加新的控制器。为了避免这种情况,我们建议您将XenApp或XenDesktop站点中的区域数量限制在50个以内。

注意:

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

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

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

区域类型

一个Site总是有一个主区域。它还可以有一个或多个卫星区域。卫星区域可用于灾难恢复、地理距离较远的数据中心、分支机构、云或云中的可用区域。

主要区域

主分区的默认名称为“primary”,包含SQL Server Site数据库(以及高可用性SQL服务器,如果使用的话)、Studio、Director、Citrix StoreFront、Citrix License Server和NetScaler Gateway。Site数据库应该始终位于主区域。

主区域还应该至少有两个controller以实现冗余,并且可以有一个或多个vda,这些vda的应用程序与数据库和基础设施紧密耦合。

卫星区

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

卫星区域,特别是大型区域,可能还包含一个管理程序,用于为该区域供应和/或存储机器。在配置卫星区域时,可以将管理程序或云服务连接关联到它。(确保使用该连接的任何机器目录都在同一区域。)

根据您独特的需求和环境,Site可以具有不同配置的卫星区域。下图展示了一个主要区域和卫星区域的示例。

区

  • Primary区域包含两个controller、Studio、Director、StoreFront、License Server和Site数据库(以及高可用性SQL Server部署)。主域还包括几个vda和一个NetScaler Gateway。

  • 卫星区1 -带控制器的VDAs

卫星区域1包含Controller、VDAs和StoreFront服务器。这个卫星区域的VDAs注册到本地控制器。本地Controller与主分区中的Site数据库和license服务器通信。

如果WAN出现故障,连接租赁特性允许卫星区域中的Controller继续代理到该区域中的VDAs的连接。在办公室中,即使连接办公室到公司网络的WAN链路出现故障,这种部署也很有效,因为工作人员使用本地StoreFront站点和本地Controller来访问他们的本地资源。

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

卫星区2包含两个controller、VDAs和一个StoreFront服务器。这是最有弹性的区域类型,提供保护,防止WAN和一个本地控制器同时发生故障。

VDAs寄存器和控制器故障转移在哪里

在包含主区域和卫星区域的站点中,VDAs至少为7.7版:

  • 主区域中的VDA向主区域中的Controller注册。主区域中的VDA永远不会尝试向卫星区域中的控制器注册。
  • 卫星区中的VDA,如果可能的话,使用本地控制器寄存器。(这被认为是首选控制器。)如果没有可用本地控制器(例如,由于本地控制器无法接受更多VDA注册或本地控制器失败),则VDA将尝试在主区域中注册一个控制器。在这种情况下,即使卫星区域中的控制器再次可用,VDA也在主区域中登记。卫星区域中的VDA将永远不会尝试在另一个卫星区域中注册控制器。
  • 当为Controller的VDA发现启用自动更新时,并且您在VDA安装期间指定了一个Controller地址列表,将从该列表中随机选择一个Controller进行初始注册(无论该Controller位于哪个区域)。在使用该VDA的机器重新启动后,VDA将开始倾向于向其本地区域中的Controller注册。
  • 如果卫星区域中的一个控制器发生故障,它将故障转移到另一个本地控制器(如果可能的话)。如果没有可用的本地控制器,它将故障转移到主区域的控制器。
  • 如果将Controller移进或移出一个区域,并且启用了自动更新,两个区域中的vda都会收到更新列表,其中指示哪些Controller是本地的,哪些位于主区域,以便它们知道可以向谁注册并接受连接。
  • 如果将“机器目录”移动到另一个区域,该目录中的vda将重新向移动目录所在区域的Controllers注册。(当您将目录移动到与当前区域连接较差的区域时(例如,通过高延迟或低带宽网络),请确保您也将任何关联的主机连接移动到同一区域。)
  • 主区域中的控制器保持所有区域的连接租赁数据。卫星区域的控制器将连接租赁数据保持自己的区域和主区域,但不是任何其他卫星区域的数据。

如果主区域所有控制器故障:

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

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

  • 卫星区域中的VDA将接受来自控制器的本地区域和主区域的请求。(最低版本7.7的VDAs可以接受来自其他卫星区域的Controller请求。)
  • 卫星区域中的VDA将随机向主区域或本地区域中的控制器注册。(最低版本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的数据库。

通过为用户或应用程序配置home zone,可以将用户或应用程序与zone关联。然后,Delivery Controller中的代理使用这些关联来帮助选择启动会话的区域(如果资源可用的话)。你:

  • 通过将用户加入zone,为用户配置home zone。
  • 通过编辑应用程序属性来配置应用程序的主区域。

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

虽然可以配置用户和应用程序的区域首选项,但是代理只选择一个首选区域进行启动。选择首选区域的默认优先级顺序是应用程序home >用户home >用户位置。(您可以限制序列,如下一节所述。)当用户启动应用程序时:

  • 如果该应用程序具有已配置的区域关联(应用程序主界面),那么首选区域就是该应用程序的主界面区域。
  • 如果应用程序没有配置的区域关联,但用户有配置的区域关联(用户home),则首选区域是该用户的home区域。
  • 如果应用程序和用户都没有配置的区域关联,那么首选区域是用户运行Citrix Receiver实例的区域(用户位置)。如果没有定义该zone,则使用随机VDA和zone选择。优先分区内的所有vdc均采用负载均衡。如果没有首选zone,则对“下发组”下的所有vda进行负载均衡。

剪裁区域偏好

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

  • 强制用户家庭区使用:在交付组中,您可以指定应该在用户的主区域(如果用户有主区域)中启动会话,如果主区域中的资源不可用,则不会将故障转移到另一个区域。当您需要避免在区域之间复制大型概要文件或数据文件的风险时,此限制很有帮助。换句话说,您宁愿拒绝会话启动,也不愿在不同的区域启动会话。
  • 强制应用程序home zone使用:类似地,当您为应用程序配置主区域时,您可以指示应用程序应该只在该区域中启动,如果应用程序的主区域中的资源不可用,则不会将故障转移到其他区域。
  • 没有应用程序home zone,忽略配置的用户home zone:如果未指定应用程序的归属区域,则还可以指示启动该应用程序时不应考虑任何已配置的用户区域。例如,您可能更愿意使用用户位置区域首选项,用户更愿意在靠近安装的VDA上运行特定应用程序,即使某些用户可能有不同的归属区,即使某些用户也可以使用用户位置区域优先级,它们在其使用(Citrix Receiver正在运行)。

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

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

如果启动应用程序或桌面的用户已经有一个适合于正在启动的资源的会话(例如,可以为应用程序使用会话共享,或已经运行正在启动的资源的会话),但是该会话在VDA上运行,而不是在用户/应用程序的首选区域,那么系统可能会创建一个新的会话。这可以满足在正确的区域启动(如果它有可用容量),然后根据用户的会话需求重新连接到不太喜欢的区域中的会话。

为防止无法再达到的孤儿会话,即使它们处于非首选区域,允许重新连接到现有的断开连接。

满足启动的会话的可取性顺序为:

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

其他区域优先考虑事项

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

如果用户配置的主区域不是通过组成员关系获得的,则将该区域用作区域首选项。通过组成员关系获得的任何区域关联都被忽略。

如果用户仅通过组成员关系获得多个不同的区域关联,则代理在区域之间随机选择。一旦代理做出此选择,该区域将用于后续会话启动,直到用户的组成员关系发生更改。

  • 用户位置区域优先级需要通过设备连接的Citrix NetScaler Gateway检测终端设备上的Citrix Receiver。必须配置NetScaler将IP地址范围与特定的区域相关联,发现的区域标识必须通过StoreFront传递给Controller。

有关zone首选项的详细信息,请参见区域偏好内部

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

  • 您可以将以下项目放入一个区域:控制器、机器目录、主机连接、用户和应用程序。如果Machine Catalog使用主机连接,则目录和连接应该位于同一区域,以便它们之间的连接是低延迟和高带宽的。
  • 当您将项目放置在卫星区域时,它将影响Site与它们以及与它们相关的其他对象交互的方式。
    • 当Controller计算机被放置到附属区域时,假定这些计算机与同一附属区域中的管理程序和VDA计算机具有良好的(本地)连接。然后,该附属区域中的控制器优先于主区域中的控制器来处理这些管理程序和VDA机器。
    • 当一个管理程序连接被放置到一个附属区域时,假定通过该管理程序连接管理的所有管理程序也位于该附属区域。当与hypervisor连接通信时,该卫星区域中的控制器优先于主区域中的控制器。
    • 当将机器编目放入附属区域时,假定该目录中的所有VDA机器都位于附属区域。在Controller列表自动更新机制在每个VDA第一次注册后激活后,当尝试向站点注册时,本地控制器优先于主区域中的控制器。
    • NetScaler网关实例也可以与zone相关联。这是作为StoreFront Optimal HDX Routing配置的一部分完成的,而不是作为XenApp或XenDesktop Site配置的一部分完成的。当NetScaler Gateway与一个区域相关联时,当使用到该区域中的VDA机器的HDX连接时,首选使用NetScaler Gateway。
  • 当创建生产站点并随后创建第一个机器目录和交付组时,所有项目都位于主区域—在完成初始设置之前,不能创建附属区域。(如果你创建一个空Site,主区域最初将只包含一个Controller;您可以在创建机器编录和交付组之前或之后创建附属区域。)
  • 当您创建包含一个或多个项目的第一个附属区域时,站点中的所有其他项目仍将位于主区域。
  • 默认情况下主区域名为“primary”;你可以改名字。尽管Studio显示表明哪个区域是主要区域,但最佳实践是为主要区域使用一个易于识别的名称。您可以重新分配主区域(即使另一个区域成为主区域),但是它应该始终包含Site数据库和任何高可用性服务器。
  • Site数据库应该始终位于主区域。
  • 创建区域后,您可以稍后将项目从一个区域移动到另一个区域。请注意,这种灵活性允许您潜在地分离在接近情况下工作得最好的项—例如,将Machine Catalog移动到与在目录中创建机器的连接(主机)不同的区域,这可能会影响性能。所以,在区域间移动物品之前,要考虑潜在的意外影响。将目录和它使用的主机连接保存在相同的区域,或者连接良好的区域(例如,通过低延迟和高带宽网络)。
  • 为了获得最佳性能,只在主区域安装Studio和Director。如果希望在附属区域中有另一个Studio实例(例如,如果在主区域不可访问时使用包含Controllers的附属区域作为故障转移),则将Studio作为本地发布的应用程序运行。您还可以从卫星区域访问Director,因为它是一个web应用程序。
  • 理想情况下,卫星区域中的NetScaler网关应该用于从其他区域或外部位置进入该区域的用户连接,尽管您可以将其用于区域内的连接。
  • 记住:要使用区域首选项特性,您必须使用最小的StoreFront 3.7和NetScaler Gateway 11.0-65.x。

连接质量的限制

卫星区域中的Controllers直接与Site数据库执行SQL交互。这对卫星区和包含Site数据库的主要区之间的连接的质量造成了一些限制。具体的限制与部署在卫星区域的vda和用户会话的数量有关。因此,与拥有大量VDAs和会话的卫星区域相比,只有少量VDAs和会话的卫星区域与数据库的连接质量较差。

有关更多信息,请参见延迟和SQL阻塞查询改进

延迟对经纪性能的影响

虽然区域允许用户在更高延迟链接上,但是提供了存在本地代理,额外延迟不可避免地影响最终用户体验。对于用户所做的大多数工作,他们会遇到卫星区域和站点数据库之间的控制器之间的圆形旅行引起的缓慢。

对于启动应用程序,会话经纪流程识别适合vdas以发送会话启动请求的额外延迟发生额外的延迟。

创建和管理区域

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

如果您使用发放服务:此版本提供的Provisioning Services控制台不支持区域,因此Citrix建议使用Studio创建希望放置在附属区域的Machine Catalogs。使用Studio向导创建目录,并指定正确的附属区域。然后,使用Provisioning Services控制台来供应该目录中的计算机。(如果您使用Provisioning Services向导创建目录,那么它将被放置在主区域,稍后您将需要使用Studio将其移动到附属区域。)

创建一个带

  1. 选择配置>区域在Studio导航窗格中。
  2. 选择创建区域在“动作”窗格中。
  3. 输入zone的名称和描述(可选)。名称在站点内必须是唯一的。
  4. 选择要放在新区域中的项目。您可以筛选或搜索可以从中选择的项目列表。你也可以创建一个空的区域;简单地不选择任何项目。
  5. 点击保存

作为此方法的替代方法,您可以在Studio中选择一个或多个项目,然后进行选择创建区域在“动作”窗格中。

更改区域名称或描述

  1. 选择配置>区域在Studio导航窗格中。
  2. 在中间窗格中选择一个区域,然后选择编辑区域在“动作”窗格中。
  3. 修改zone名称和/或描述。如果您更改了主区域的名称,请确保该区域仍然很容易识别为主区域。
  4. 点击好吧申请

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

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

确认消息列出您选择的项目并询问您是否确定要移动所有这些项目。

记住:当机器目录使用到管理程序或云服务的主机连接时,目录和连接应该位于同一区域。否则会影响性能。如果你移动一个,另一个也要移动。

删除区域

删除zone时,zone必须为空。主分区不能被删除。

  1. 选择配置>区域在Studio导航窗格中。
  2. 在中间窗格中选择一个区域。
  3. 选择删除区域从Actions窗格中。如果该区域不是空的(它包含项目),则要求您选择将这些项目移动到的区域。
  4. 确认删除。

为用户添加home zone

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

  1. 选择配置>区域,然后在中间窗格中选择一个区域。
  2. 选择添加用户到资源分区在“动作”窗格中。
  3. 添加用户到资源分区对话框中,单击添加然后选择要添加到该区域的用户和用户组。如果你指定了已经拥有home区域的用户,一条消息提供了两种选择:是的=只添加你指定的没有home zone的用户;没有=返回到用户选择对话框。
  4. 点击好吧

对于配置了home zone的用户,你可以要求会话只从他们的home zone启动:

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

由该交付组中的用户启动的所有会话都必须从该用户的主区域中的机器启动。如果交付组中的用户没有配置主区域,则此设置无效。

移除用户的主区域

这个过程也称为从zone中删除用户。

  1. 选择配置>区域,然后在中间窗格中选择一个区域。
  2. 选择删除用户在“动作”窗格中。
  3. 添加用户到资源分区对话框中,单击删除然后选择要从专区删除的用户和组。注意,此操作仅从该区域删除用户;这些用户仍然属于交付组和应用程序组。
  4. 当提示时确认删除。

管理应用程序的主区域

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

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

应用程序的属性/设置页面:

  • 如果你想要应用程序有一个home zone:
    • 选择使用选定的区域来决定单选按钮,然后从下拉菜单中选择区域。
    • 如果您希望应用程序仅从所选区域启动(而不是从任何其他区域),请选中区域选择下的复选框。
  • 如果你不希望应用程序有home zone:
    • 选择没有配置home zone单选按钮。
    • 如果您不希望经纪人在启动此应用程序时考虑任何已配置的用户区域,请在单选按钮下选择复选框。在这种情况下,应用程序或用户家庭区域都不会用于确定启动此应用程序的位置。

其他包括指定区域的操作

添加主机连接或创建机器目录(在站点创建期间)时,如果您已经创建了至少一个卫星区域,则可以指定分配项目的区域。

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

如果“站点”不包含附属区域,则假定为主要区域,区域选择框也不会出现。