StoreFront

管理站点和交付控制器

使用管理交付控制器屏幕可添加、修改和删除由 Citrix Virtual Apps and Desktops、Citrix Desktops as a Service 和 Citrix Secure Private Access 提供的站点。

查看站点

  1. 在 Citrix StoreFront 管理控制台中,在左侧窗格中选择存储节点。
  2. 在结果窗格中选择一个存储。
  3. 操作窗格中,单击管理交付控制器

使用 PowerShell SDK 查看站点

借助 PowerShell SDK,使用命令 Get-STFStoreFarm 可列出所有站点或特定站点。

添加站点

添加 Citrix Virtual Apps and Desktops™ 的站点

  1. 管理交付控制器屏幕中,单击添加

  2. 输入一个显示名称,以帮助您识别该源。

  3. 类型选择为 Citrix Virtual Apps and Desktops

  4. 在每个 DDC 的服务器下,单击添加并输入 DDC(或相应的负载均衡器)的地址。

    • 如果您在 DDC 前面放置了负载均衡器,则输入负载均衡器的地址。如果您不使用负载均衡器,则单独列出每个 DDC。

    • 至少包含 2 个 DDC 以实现冗余。

    • 如果您的服务器使用 HTTPS(推荐),请确保您在服务器列表中指定的名称与这些服务器证书上的名称完全匹配(包括大小写)。

  5. Citrix 建议您选择选项服务器已负载均衡。这会使 StoreFront 在每次启动时从列表中随机选择一个服务器,从而在所有交付控制器或连接器之间分配负载。如果未选择此选项,则服务器列表将按优先级顺序视为故障转移列表。在这种情况下,100% 的启动将发生在列表中的第一个活动交付控制器或连接器上。如果该服务器脱机,则 100% 的启动将使用列表中的第二个服务器,依此类推。

  6. 传输类型列表中,选择 StoreFront 用于与服务器通信的连接类型。

    • 要通过未加密连接发送数据,请选择 HTTP。如果选择此选项,则必须自行安排以保护 StoreFront 与服务器之间的连接。
    • 要通过加密连接发送数据(推荐),请选择 HTTPS。如果为 Citrix Virtual Apps and Desktops 服务器选择此选项,请确保 Citrix XML Service 设置为与 Microsoft Internet Information Services (IIS) 共享其端口,并且 IIS 配置为支持 HTTPS。

    注意:

    如果您使用 HTTPS 保护 StoreFront 与服务器之间的连接,请确保您在服务器列表中指定的名称与这些服务器证书上的名称完全匹配(包括大小写)。

  7. 指定 StoreFront 用于连接到服务器的端口。HTTP 连接的默认端口为 80,HTTPS 连接的默认端口为 443。指定的端口必须是 Citrix XML Service 使用的端口。

  8. OK

    添加交付控制器窗口的屏幕截图

  9. 如果您已配置 安全密钥(推荐),则必须使用 PowerShell 添加密钥。例如:

    $store = Get-STFStoreService -VirtualPath [Path to store]
    $farm = Get-STFStoreFarm -StoreService $store -FarmName [Site name]
    Set-STFStoreFarm -Farm $farm -XMLValidationEnabled $true -XMLValidationSecret [Security key]
    <!--NeedCopy-->
    

添加 Citrix Desktops as a Service 的站点

  1. 管理交付控制器屏幕中,单击添加
  2. 输入一个显示名称,以帮助您识别该源。
  3. 类型选择为 Citrix Virtual Apps and Desktops
  4. 在每个 Cloud Connector 的服务器下,单击添加并输入 Cloud Connector(或相应的负载均衡器)的名称。

    • 如果您在 Cloud Connector 或 DDC 前面放置了负载均衡器,则输入负载均衡器的名称。如果您不使用负载均衡器,则单独列出每个 DDC 或 Cloud Connector。

    • 如果您有多个资源位置,Citrix 建议您添加包含 VDA 的所有资源位置的 Cloud Connector,以便在发生中断时 StoreFront 可以使用本地主机缓存 (Local Host Cache) 在适当的位置启动 VDA。

    • 如果您正在使用负载均衡器,那么为每个资源位置使用单独的负载均衡器非常重要。如果负载均衡器位于多个资源位置的服务器前面,这在正常操作中无关紧要。但是,在本地主机缓存 (Local Host Cache) 模式下,它将阻止 StoreFront 将启动请求定向到正确的资源位置,从而导致启动失败。

    • 如果您的服务器使用 HTTPS(推荐),请确保您在服务器列表中指定的名称与这些服务器证书上的名称完全匹配(包括大小写)。

  5. 如果您有来自多个位置的连接器,Citrix 建议您将与 StoreFront 服务器延迟最低的连接器放在列表顶部,并清除选项服务器已负载均衡。由于连接器仅将信息代理到 DaaS 交付控制器,因此使用负载均衡的好处有限。
  6. 传输类型列表中,选择 StoreFront 用于与服务器通信的连接类型。

    • 要通过未加密连接发送数据,请选择 HTTP。如果选择此选项,则必须自行安排以保护 StoreFront 与云连接器之间的连接。
    • 要通过加密连接发送数据(推荐),请选择 HTTPS。如果选择此选项,则必须确保云连接器已配置为 HTTPS。

    注意:

    如果您使用 HTTPS 保护 StoreFront 与服务器之间的连接,请确保您在服务器列表中指定的名称与这些服务器证书上的名称完全匹配(包括大小写)。

  7. 指定 StoreFront 用于连接到服务器的端口。HTTP 连接的默认端口为 80,HTTPS 连接的默认端口为 443。

  8. OK

    添加交付控制器窗口的屏幕截图

  9. 如果您已配置 安全密钥(推荐),则必须使用 PowerShell 添加密钥。例如:

    $store = Get-STFStoreService -VirtualPath [Path to store]
    $farm = Get-STFStoreFarm -StoreService $store -FarmName [Site name]
    Set-STFStoreFarm -Farm $farm -XMLValidationEnabled $true -XMLValidationSecret [Security key]
    <!--NeedCopy-->
    

添加 XenApp 6.5 的站点

  1. 输入一个显示名称,以帮助您识别该源。
  2. 类型选择为 Citrix Secure Private Access
  3. 输入 Citrix Secure Private Access 服务器名称。
  4. 传输类型列表中,选择 StoreFront 用于与服务器通信的连接类型。
    • 要通过未加密连接发送数据,请选择 HTTP。如果选择此选项,则必须自行安排以保护 StoreFront 与服务器之间的连接。
    • 要通过使用安全套接字层 (SSL) 或传输层安全 (TLS) 的安全 HTTP 连接发送数据,请选择 HTTPS
    • 要通过安全连接将数据发送到 Citrix Virtual Apps 服务器,并使用 SSL Relay 执行主机身份验证和数据加密,请选择 SSL Relay。您还必须输入 SSL Relay 端口。
  5. 指定 StoreFront 用于连接到服务器的端口。HTTP 或 SSL Relay 连接的默认端口为 80,HTTPS 连接的默认端口为 443。
  6. OK

添加交付控制器窗口的屏幕截图

使用 PowerShell SDK 创建站点

要添加站点,请使用命令 Add-STFStoreFarm

  • 对于 Citrix Virtual Apps and Desktops 或 Citrix Desktops as a Service,将 FarmType 设置为 XenDesktop
  • 对于 XenApp 6.5,将 FarmType 设置为 XenApp

修改站点

管理交付控制器屏幕中,选择一个站点,然后单击编辑

警告:

如果重命名站点,则:

  • 该站点将从任何最佳 HDX 路由配置中删除。您必须将该站点重新添加到您的最佳 HDX 路由配置中。
  • 该站点的任何用户收藏夹收藏夹都将消失(除非您正在使用多站点聚合)。这是因为收藏夹记录按名称引用站点。收藏夹记录不会被删除,因此如果您将站点重命名回其原始名称,则收藏夹会重新出现。要解决此问题,如果您使用的是 SQL Server 数据库,则可以更新数据库中的记录。否则,您可以导出收藏夹,更正名称并重新导入。有关详细信息,请参阅管理订阅数据

使用 PowerShell SDK 修改站点

要使用 PowerShell 修改站点,请使用命令 Set-STFStoreFarm

删除站点

管理交付控制器屏幕中,选择一个站点,然后单击删除

使用 PowerShell SDK 删除站点

要使用 PowerShell 删除站点,请使用命令 Remove-STFStoreFarm

运行状况检查和服务器绕过行为

为了在某些提供资源的服务器变得不可用时提高性能,StoreFront 会暂时绕过无法响应的服务器。当服务器被绕过时,StoreFront 会忽略该服务器,并且不使用它来访问资源。这可以避免尝试连接到不可用服务器时造成的延迟。

使用以下参数指定绕过行为的持续时间:

  • 后台运行状况检查轮询周期 - 指定 StoreFront 检查每个服务器可用性的频率。默认值为 1 分钟。要配置此项,请参阅后台运行状况检查轮询周期
  • 绕过持续时间 - 启用后台运行状况检查时,此值应至少设置为轮询周期,但除此之外,该值没有影响。如果禁用后台运行状况检查(不建议),则服务器将被绕过,直到持续时间到期。默认值为 60 分钟。
  • 所有失败的绕过持续时间 - 仅在禁用后台运行状况检查时使用(不建议)。指定 StoreFront 使用的缩短持续时间(以分钟为单位),而不是绕过持续时间,如果特定交付控制器的所有服务器都被绕过。默认值为 0 分钟,这意味着 StoreFront 不会绕过任何服务器。

更改绕过参数

通常无需修改这些设置。

  1. 在 Citrix StoreFront 管理控制台中,在左侧窗格中选择应用商店节点。
  2. 在结果窗格中选择一个应用商店。
  3. 操作窗格中,单击管理交付控制器
  4. 选择一个控制器,单击编辑,然后在编辑交付控制器屏幕上单击设置
  5. 在“高级设置”下单击设置
  6. 在“配置高级设置”对话框中:
    1. 所有失败的绕过持续时间行中,单击第二列并输入一个时间(以分钟为单位),在此时间内,交付控制器在所有服务器无法响应后被视为脱机。
    2. 绕过持续时间行中,单击第二列并输入一个时间(以分钟为单位),在此时间内,单个服务器在无法响应后被视为脱机。

将用户映射到站点

默认情况下,访问应用商店的用户会看到为该应用商店配置的所有站点中可用的所有资源的聚合。要为不同的用户提供不同的资源,您可以配置单独的应用商店甚至单独的 StoreFront 部署。或者,您可以根据用户在 Microsoft Active Directory 组中的成员身份来提供对特定部署的访问。这使您可以通过单个应用商店为不同的用户组配置不同的体验。

例如,您可以将所有用户的常用资源分组到一个部署中,并将财务部门的财务应用程序分组到另一个部署中。在此类配置中,如果用户不是财务用户组的成员,则在访问应用商店时只能看到常用资源。财务用户组的成员将同时看到常用资源和财务应用程序。

或者,您可以为高级用户创建一个部署,该部署提供与您的其他部署相同的资源,但具有更快、更强大的硬件。这使您能够为业务关键型用户(例如您的执行团队)提供增强的体验。所有用户在登录到应用商店时都会看到相同的桌面和应用程序,但执行用户组的成员将优先连接到高级用户部署提供的资源。

注意:

这会筛选整个站点。此外,在站点内,应用程序可以通过 Citrix Virtual Apps and Desktops Studio 配置中的用户组进行筛选。

要为特定用户组配置特定站点:

  1. 管理交付控制器屏幕中,在用户映射和多站点聚合配置下,单击配置。此选项仅在配置了两个或更多站点时可用。

    这将打开配置用户映射和多站点聚合屏幕。

    Screenshot of Configure User Mapping and Multi-site Aggregation screen

  2. 单击将用户映射到控制器。这将打开创建用户映射屏幕以创建您的第一个映射。您以后可以创建更多映射。

    Screenshot of Create user mapping screen User Groups tab

  3. 选择所有人或选择特定用户组并添加一个或多个组。

    Screenshot of Create User Mapping screen User Groups tab with group selected

  4. 单击下一步。这将带您进入控制器选项卡。

    Screenshot of Create User Mapping screen User Groups tab

  5. 单击添加并添加一个或多个控制器。

    Screenshot of Create User Mapping screen User Groups tab with controller chosen

  6. 单击创建

    Screenshot of Create User Mapping screen User Groups tab with controller chosen

  7. 根据需要单击添加… 以创建更多映射。

使用 PowerShell SDK 将用户映射到资源

您可以使用 PowerShell SDK 将用户映射到资源

  1. 对于每个站点,创建一个 EquivalentFarmset。所有站点都必须是 farmset 的一部分,否则它们将对任何用户不可用。使用以下参数调用 New-STFEquivalentFarmset

    • Name - EquivalentFarmSet 的唯一名称
    • PrimaryFarms - 非聚合站点(场)的名称。
  2. 对于需要访问不同站点集的用户集,在这些用户与每个 EquivalentFarmSet 之间创建映射。要创建 UserFarmMapping,请使用以下参数调用 Add-STFUserFarmMapping

    • StoreService - 要添加 UserFarmMapping 的应用商店服务。
    • Name - 映射的唯一名称。
    • GroupMembers - 包含作为映射一部分的用户组的名称和 SID 的哈希表。名称仅用于显示;SID 定义组。要添加所有用户,请在哈希表中创建一个条目,其名称为 Everyone,值为 Everyone
    • EquivalentFarmSet - 在上一步中创建的 EquivalentFarmSet。

    您必须确保每个站点(场)都包含在至少一个 UserFarmMapping 中,否则任何用户都无法访问该资源。

多站点聚合

默认情况下,StoreFront 会枚举为应用商店提供桌面和应用程序的所有部署,并将所有这些资源视为独立的。这意味着如果同一资源可从多个部署中获得,用户会看到每个资源的图标,如果资源具有相同的名称,这可能会令人困惑。当您设置高可用性多站点配置时,您可以将提供相同桌面或应用程序的 Citrix Virtual Apps and Desktops 部署分组,以便为用户聚合相同的资源。分组的部署不需要完全相同,但资源必须在每个服务器上具有相同的名称和路径才能进行聚合。

通过多站点聚合,当桌面或应用程序可从为特定应用商店配置的多个 Citrix Virtual Apps and Desktops 部署中获得时,StoreFront 会聚合该资源的所有实例,并向用户呈现单个图标。当用户启动聚合资源时,StoreFront 会确定最适合该用户的资源实例,同时考虑:

  • 服务器可用性。
  • 用户是否已拥有活动会话。
  • PrimarySecondary 关键字。
  • 用户的区域首选项
  • 您在配置中指定的交付源的顺序。

StoreFront 会动态监视未能响应请求的服务器,因为此类服务器可能过载或暂时不可用。用户将被定向到其他服务器上的资源实例,直到通信重新建立。在提供资源的服务器支持的情况下,StoreFront 会尝试重用现有会话以交付其他资源。如果用户在提供所请求资源的部署上已拥有活动会话,则 StoreFront 会在会话与该资源兼容的情况下重用该会话。最大限度地减少每个用户的会话数可缩短启动其他桌面或应用程序所需的时间,并可更有效地利用产品许可证。

您可以覆盖单个 Citrix Virtual Apps and Desktops 资源的指定部署顺序,以定义用户在访问特定桌面或应用程序时连接到的首选部署。例如,这使您能够指定用户优先连接到专门用于交付特定桌面或应用程序的部署,但将其他部署用于其他资源。为此,请将字符串 KEYWORDS:Primary 附加到首选部署上的桌面或应用程序的描述中,并将 KEYWORDS:Secondary 附加到其他部署上的资源中。在可能的情况下,无论您在配置中指定的部署顺序如何,用户都将连接到提供主要资源的部署。当首选部署不可用时,用户将连接到提供次要资源的部署。

作为 StoreFront 站点配置的一部分,您可以指定这些资源所在的区域。如果用户通过 GSLB 访问 StoreFront,您可以配置 GSLB 以插入区域首选项标头。然后,StoreFront 会尝试启动托管在首选部署上的应用程序,然后再联系其他部署。

在检查其他因素后,StoreFront 会使用配置中指定的顺序来确定用户连接到的部署。如果用户可以使用多个等效部署,您可以指定用户连接到第一个可用部署,或者随机连接到列表中的任何部署。将用户连接到第一个可用部署可最大限度地减少当前用户数量所使用的部署数量。随机连接用户可在所有可用部署之间提供更均匀的用户分布。

  1. “管理交付控制器”屏幕上,在“用户映射和多站点聚合配置”下,单击“配置”。此选项仅在配置了两个或更多站点时可用。

    配置用户映射和多站点聚合的屏幕截图

  2. 单击“聚合资源”。这将显示“聚合资源”屏幕。

    聚合资源屏幕的屏幕截图,未聚合任何站点

  3. 选择具有相同资源的站点,然后单击“聚合”

    聚合资源屏幕的屏幕截图,聚合了两个站点

  4. 根据需要选择“聚合控制器设置”选项:

    • 控制器发布相同的资源 - 选中此项后,StoreFront 仅从聚合集中的一个控制器枚举资源。如果未选中,StoreFront 将从聚合集中的所有控制器枚举资源(以累积用户的整个可用资源集)。选择此选项可在枚举资源时提高性能,但除非您确定所有聚合源的资源列表都相同,否则我们不建议使用此选项。

    • 跨控制器负载平衡资源 - 选中此项后,启动将在可用控制器之间均匀分布。如果未选中,启动将定向到用户映射对话框屏幕中指定的第一个控制器,如果启动失败,则故障转移到后续控制器。

  5. 单击“确定”返回到“配置用户映射和多站点聚合”屏幕。“聚合资源”现在已选中。

    创建用户映射屏幕“用户组”选项卡的屏幕截图,其中已选择控制器

  6. 聚合资源后,默认情况下,没有用户可以访问这些资源,因此您必须添加用户映射。单击“将用户映射到控制器”。这将打开“创建用户映射”屏幕。

    创建用户映射屏幕“用户组”选项卡的屏幕截图

  7. 选择“所有人”或选择“特定用户组”并添加一个或多个组。例如,您可能希望选择一个代表特定位置用户的组。

  8. 添加聚合站点。您必须添加所有聚合站点,任何未包含的站点都将变为“未聚合”。您还可以包含未聚合的资源。

  9. 如果您未选中“跨控制器负载平衡资源”,则可以选择 StoreFront 启动资源的首选顺序。

    创建用户映射屏幕“控制器”选项卡的屏幕截图

  10. “创建”返回到“配置用户映射和多站点聚合”

    创建用户映射屏幕“用户组”选项卡的屏幕截图,其中已配置用户和控制器

  11. 根据需要添加更多映射。确保每个站点都映射到一个用户组,否则任何人都无法使用这些资源。

  12. 单击“确定”

使用 PowerShell SDK 进行高级配置

您可以使用 StoreFront 管理控制台配置许多常见的多站点和高可用性操作。您还可以使用 PowerShell SDK 配置 StoreFront,它提供以下额外功能:

  • 能够为聚合指定多个部署分组。
    • 管理控制台仅允许单个部署分组,这对于大多数情况来说已足够。
    • 对于具有许多部署且资源集不相交的存储,多个分组可能会提高性能。
  • 能够为聚合部署指定复杂的首选顺序。管理控制台允许聚合部署进行负载平衡或用作单一故障转移列表。使用 PowerShell,您可以拥有多个进行负载平衡并在不同组之间故障转移的源组。

警告:

使用 PowerShell 配置高级多站点选项后,无法再使用管理控制台修改这些选项。

  1. 确定您希望使用的聚合组。在聚合组中,具有相同显示名称的应用程序将聚合到一个图标中。每个聚合组都需要一个名称。使用管理控制台,您只能创建一个聚合组。通过 PowerShell,您可以定义多个聚合组。

  2. 对于每个聚合组,创建一个或多个 EquivalentFarmset,列出您希望聚合的站点(在 SDK 中称为场)。如果聚合组中的不同站点将分配给不同的用户,则您必须为每组用户创建一个单独的 EquivalentFarmSet,但共享相同的 AggregationGroupName。要创建 EquivalentFarmSet,请使用以下参数调用 New-STFEquivalentFarmset

    • Name - EquivalentFarmset 的唯一名称。
    • AggregationGroupName - EquivalentFarmset 所属的聚合组的名称。
    • LoadBalanceMode - LoadBalancedFailover
    • PrimaryFarms - 您希望聚合的场。如果 LoadBalanceModeFailover,请确保按所需顺序列出场。如果一个聚合组有多个 EquivalentFarmSet,则此顺序将与 UserFarmMapping 中定义的 IndexNumber 结合使用,以评估要使用哪个站点启动资源。
    • BackupFarms - 在主场均不可用时使用的场列表。此功能已弃用。请改为添加具有更高 IndexNumber 的其他 EquivalentFarmSet。
  3. 对于不属于聚合组的每个站点,创建一个不指定 AggregationGroupName 的 EquivalentFarmset。所有站点都必须是场集的一部分。使用以下参数调用 New-STFEquivalentFarmset

    • Name - EquivalentFarmSet 的唯一名称
    • PrimaryFarms - 未聚合场的名称。
  4. 对于需要访问不同站点集的每组用户,在这些用户与每个 EquivalentFarmSet 之间创建映射。要创建 UserFarmMapping,请使用以下参数调用 Add-STFUserFarmMapping

    • StoreService - 要添加 UserFarmMapping 的存储服务。
    • Name - 映射的唯一名称。
    • GroupMembers - 一个哈希表,包含作为映射一部分的用户组的名称和 SID。名称仅用于显示;SID 定义组。要添加所有用户,请在哈希表中创建一个名称为 Everyone 且值为 Everyone 的条目。
    • EquivalentFarmSet - 在上一步中创建的 EquivalentFarmSet。
    • IndexNumber - 设置评估站点的顺序。这设置了使用哪个站点启动资源的首选顺序。

    您必须确保每个站点(场)都包含在至少一个 UserFarmMapping 中,否则任何用户都无法访问该资源。

区域首选项

如果您在不同区域有多个 CVAD 部署,您可以配置 NetScaler ADC 以通知 StoreFront 用户首选的 CVAD 部署。有关详细信息,请参阅 Global Server Load Balancing (GSLB) Powered Zone Preference

您必须手动配置 StoreFront,以告知它哪个 CVAD 部署包含哪些区域:

  1. 在 Citrix StoreFront 管理控制台中,在左侧窗格中选择“存储”节点。
  2. 在结果窗格中选择一个存储。
  3. “操作”窗格中,单击“管理交付控制器”
  4. 选择一个控制器,单击“编辑”,然后在“编辑交付控制器”屏幕上单击“设置”
  5. 在“高级设置”下,单击“设置”
  6. 在“配置高级设置”对话框中,在“区域”行上,单击第二列。
  7. 单击“添加…”,输入区域名称,然后按“确定”。对部署中的每个区域重复此操作。
  8. 在“配置高级设置”对话框中,单击“确定”

区域配置的屏幕截图

当用户启动聚合资源时,StoreFront 会遍历 X-Citrix-ZonePreference 标头中的区域列表,并查找配置了该区域名称的站点。如果匹配,它会将启动请求发送到该 CVAD 部署。如果没有匹配,它会尝试其他部署。

如果 CVAD 部署包含多个区域,则无法将启动请求定向到该部署中的特定区域。

管理站点和交付控制器