设计决策:设计店面和多站点聚合

StoreFront的核心功能是能够从多个Citrix虚拟应用程序和桌面(CVAD)站点聚合和消除重复的“通用”应用程序和桌面资源。这种功能通常称为多站点聚合。基于匹配来识别重复的应用程序和桌面应用显示名称而且应用类别属性。这个功能在3.5版的控制台中已经可用,以前只是配置文件编辑。多站点聚合的目的是允许Citrix管理员构建冗余的CVAD站点(出于可伸缩性或故障域的原因),同时向用户显示单个应用程序或桌面图标,而不是每个站点的副本(如果没有此功能将会显示)。然后,StoreFront控制应用程序和桌面启动如何分布在支持该资源的多个站点上。

本文回顾了如何在企业环境中实现这些设置,以及如何与其他相关设置(如应用程序关键字和订阅)集成,以进一步控制如何路由用户会话和呈现资源。

概述

多站点设置的配置是通过StoreFront控制台中“管理交付控制器”向导完成的,其中详细介绍了各种配置在产品文档中.如果为存储区配置了多个站点,则配置“用户映射和多站点聚合配置”下的按钮将启用,如下图所示。

配置选项

选中后,系统将提示管理员配置用户映射和资源聚合,如下所示。“将用户映射到控制器”链接提示管理员配置要应用这些设置的用户组。“聚合资源”链接是指定实际多站点聚合设置的地方。

用户映射和资源聚合

在至少定义了一个用户组以应用设置之前,不能配置多站点聚合。如果要将一组聚合设置应用于连接到Store的所有用户,则可以使用内置的“Everyone”组。配置了这些设置之后,如果用户不是此处指定的某个组的成员,则不会为该用户枚举应用程序或桌面。接下来的两节将详细介绍可用的配置,从“聚合资源”选项开始。

聚合的选项

在聚合资源部分,管理员将看到枚举的所有站点,并提示其选择具有重叠资源的站点并进行聚合,如下所示。

聚合资源设置

对于聚合的站点,还有两个配置控制如何在这些站点上枚举资源和启动会话。这些设置适用于所有标记为聚合的站点:

  • 控制器发布相同的资源:此设置控制枚举。如果两个站点被标记为“相同”,StoreFront将农场放置在相同的“等效农场集”中,这意味着枚举请求在站点之间实现负载平衡(轮询),因为假定资源集是等效的,从而节省枚举时间。如果两个site没有被标记为“相同”,那么StoreFront将向所有站点发送一个XML枚举请求,并从结果资源集中删除重复的公共应用程序和桌面。
  • 跨控制器负载均衡资源:该设置控制会话启动。不管这些站点是否“相同”,启动请求要么在站点之间负载均衡,要么按故障转移顺序分布。会话共享优先于负载均衡决策。因此,如果用户已经在Site B中有一个会话并启动了另一个应用程序或桌面,该会话也将在Site B中启动(假设该应用程序或桌面在站点B中可用)。

一些不能通过GUI很好地处理的用例是负载平衡和故障转移的组合,或者相同站点和不相同站点的组合。例如,如果有两个生产站点需要负载均衡,而一个灾备站点只有在两个生产站点都宕机时才能使用,则GUI无法使用,web无法使用。配置文件必须手动修改(请参阅Citrix文档此文件的正确格式)。

设计外卖

总结一下前面的部分:

  • 当站点通过StoreFront聚合时,只使用一组“相同”站点中的一个来枚举应用程序和桌面
  • 会话启动可以是负载均衡的,也可以是跨聚合站点的故障转移

用户场映射

“将用户映射到控制器”设置通常被称为“用户场映射”,因为它们用于控制允许给定用户组对哪些站点进行枚举,无论这些站点是否聚合。该功能有两个主要用例:

  1. 限制枚举:即使没有多站点聚合,将StoreFront中的一组用户分配给站点的一个子集也意味着StoreFront只在该组中的用户进行身份验证时才向这些站点发送XML枚举请求。在全局部署中,这种情况可能会对枚举时间产生重大影响,因为它会阻止StoreFront试图与给定用户不需要访问的站点通信。例如,这些设置可用于将美国用户映射到总部位于美国的CVAD站点,这样当这些用户登录时,StoreFront无法到达其他分散在全球的站点。
  2. 分配聚合设置:如果配置了多站点聚合,则需要将不同的配置分配给不同的用户组,例如不同的故障转移配置或不同的站点组合。

“将用户映射到控制器”首先提示管理员指定用户组,然后提示管理员指定用户组分配给的站点(尽管对话框显示为“控制器”,但它是为商店定义的站点)。有一列表示所选站点以前是否已配置为聚合,如下所示。此外,如果将聚合的站点配置为故障转移(“跨控制器的负载平衡资源”被清除),则可以通过右边的箭头指定站点的顺序。

用户映射设置

一个用户可以是多个用户组映射的一部分。当StoreFront读取配置的用户组列表时,它在找到匹配的用户后不会停止处理。处理所有配置的组,并根据这些组返回所有枚举的site。对于Citrix管理员来说,这种场景是可以预期的,他们通常可以访问所有应用程序和桌面,并且是多个用户组的成员,能够测试和重现报告的用户问题。这仅仅意味着管理员(或属于多个组的其他用户)可能体验到与某个组中的用户不同的启动行为,因为他们应用了多个配置。在配置方面,唯一需要考虑的是两个用户组是否可以访问同一组具有不同聚合设置的site。在单个用户的上下文中,Site只能属于一个聚合组,否则将显示错误。这可以通过将两个用户组映射之间的聚合组命名为相同来解决,这在默认情况下是通过GUI完成的,但如果web。配置文件正在手动修改为前面引用的更高级的配置集。

设计外卖

总结一下前面的部分:

  • 将用户组分配给site(即使没有配置聚合)可用于帮助限制枚举流量,从而减少完成此过程的时间
  • 聚合站点的故障转移顺序在用户组分配向导中指定
  • 当配置多个用户组映射,其中包含一些相同的聚合site,且用户属于多个组时,聚合组的名称必须相同

应用程序的关键字

控制资源显示和启动的另一种方法是在应用程序描述字段中使用关键字。在Store设置中,可以根据文档所述的自定义关键字筛选显示第CTX223451条.还有一些特殊的、预定义的关键字具有独特的功能。其中两个是“主要”和“次要”,它们影响跨多个站点的会话启动。当发布同一个应用程序的两个实例时,指定了关键字“primary”的实例总是优先于指定了关键字“secondary”的实例。此设置将覆盖前几节中介绍的任何站点聚合设置,这意味着这些设置经常一起使用。

例如,对于两个CVAD站点站点A和站点B,几乎所有应用程序都需要从站点A启动(基于后端应用程序体系结构)并故障转移到站点B,但是有几个应用程序主要托管在站点B之外。将按照故障转移顺序为所有用户配置多站点聚合,首先列出站点A。主要托管在Site B之外的例外应用程序将在Site B中配置关键字primary,在Site A中配置secondary。

设计外卖

总结一下前面的部分:

“主”和“次”关键字可用于进一步控制应用程序在多个站点上启动,并将优先于站点聚合设置

订阅

StoreFront中的订阅是允许用户“收藏”应用程序的方式,并将其存储在每个StoreFront服务器的本地数据库中,并在服务器组中自动复制。默认情况下,订阅记录以以下格式存储< SiteName >。< DisplayName >.这是因为StoreFront将在默认情况下枚举所有CVAD站点的资源并单独显示它们。如果恰好在不同的站点上以相同的名称发布了两个资源,则分别跟踪对它们的订阅。因此,我们需要某种Site标记来区分这些订阅。

这与站点聚合不同,站点之间相同的资源不会单独显示和跟踪,而是聚合在相同的订阅快捷方式后面。Site标记不再有意义,因为单个订阅记录必须涵盖来自多个站点的相同资源。因此,在配置“站点聚合”时,聚合资源的订阅记录以该格式保存< AggregationGroup >。< DisplayPath > \ < DisplayName >

这意味着,如果在站点之前单独可用(启用了订阅)之后配置了StoreFront多站点聚合,则由于订阅记录格式的更改,对新聚合资源的任何用户订阅都将消失。以前的订阅记录不再有效,因为应用程序不再绑定到Site,而是绑定到聚合组。解决这个问题的方法是通过PowerShell导出订阅数据库,用适当的格式替换将被聚合的资源的所有记录,并在配置Site聚合之后重新导入订阅数据库。否则,用户必须重新订阅他们的应用程序。

设计外卖

总结前面的部分:

  • 多站点聚合将更改订阅数据库中用户订阅的格式,如果聚合是在上线后实现的,则必须考虑这一点

参考文献

产品文档:店面多站点设置

StoreFront关键词使用

设计决策:设计店面和多站点聚合