StoreFront

管理通过应用商店提供的资源

使用管理 Delivery Controller 屏幕可添加、修改和删除 Citrix Virtual Apps and Desktops、Citrix Desktops as a Service 和 Citrix Secure Private Access 提供的资源馈送。

查看资源源

  1. 在 Citrix StoreFront 管理控制台中,在左侧窗格中选择应用商店节点。
  2. 在结果窗格中选择一个应用商店
  3. 操作窗格中,单击管理 Delivery Controller

使用 PowerShell SDK 查看资源源

PowerShell SDK 中,使用 Get-STFStoreFarm 命令列出所有资源源或者特定的资源源。

添加资源源

为 Citrix Virtual Apps and Desktops 添加资源源

  1. 管理 Delivery Controller 屏幕中,单击添加

  2. 输入可帮助您识别源的显示名称

  3. 选择类型Citrix Virtual Apps and Desktops

  4. 服务器下,单击添加,然后输入 Delivery Controller 的名称。对每个 Delivery Controller 重复此操作。Citrix 建议您至少有两台服务器用于负载平衡或故障转移。

  5. Citrix 建议您选择服务器已实现负载平衡选项。这会导致 StoreFront 在每次启动时从列表中随机选择服务器,从而在所有 Delivery Controller 或连接器之间分发负载。如果未选择此选项,服务器列表将按优先级顺序视为故障转移列表。在这种情况下,全部启动都发生在列表中的第一个活动的 Delivery Controller 或连接器上。如果该服务器脱机,全部启动将使用列表中的第二个服务器进行,依此类推。

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

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

    注意:

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

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

  8. 确定

    “添加 Delivery Controller”窗口的屏幕截图

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

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

为 Citrix Desktops as a Service 添加资源源

  1. 管理 Delivery Controller 屏幕中,单击添加
  2. 输入可帮助您识别源的显示名称
  3. 选择类型Citrix Virtual Apps and Desktops
  4. 服务器下,单击添加,然后输入 Cloud Connector 的名称。对每台服务器或连接器重复此操作。Citrix 建议您至少有两个连接器以实现冗余。如果您有多个资源位置,Citrix 建议您从所有资源位置添加 Cloud Connector,以便在出现故障时 StoreFront 能够使用本地主机缓存在适当的位置启动 VDA。
  5. 如果您有来自多个位置的连接器,Citrix 建议您将 StoreFront 服务器的延迟最低的连接器放置到列表顶部,并清除服务器已实现负载平衡选项。由于连接器仅将信息代理到 DaaS Delivery Controller,因此使用负载平衡的好处有限。
  6. Transport type(传输类型)列表中,选择 StoreFront 用于与服务器进行通信的连接类型。

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

    注意:

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

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

  8. 确定

    “添加 Delivery Controller”窗口的屏幕截图

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

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

为 XenApp 6.5 添加资源源

Citrix 不支持 XenApp 6.5。自 StoreFront 2308 起,无法再使用管理控制台添加 XenApp 6.5 资源源。但是,您可以继续使用 PowerShell。

为 Citrix Secure Private Access 添加资源馈送

如果为您的 StoreFront 服务器配置了 Citrix Secure Private Access,则您可以添加 Citrix Secure Private Access 资源馈送。

  1. 在 StoreFront 上导航到应用商店 > Delivery Controller
  2. 单击添加
  3. 添加 Delivery Controller 窗口中,提供显示名称来标识该馈送。
  4. 选择 Citrix Secure Private Access 作为类型
  5. 输入 Citrix Secure Private Access 服务器名称。
  6. 传输类型下拉列表中,选择可用于与服务器通信的连接的类型。

    • HTTP: 通过未加密的连接发送数据

    注意:

    如果您选择 HTTP,则必须自行安排安全方案来保护 StoreFront 与服务器之间连接的安全。

    • HTTPS:通过使用安全套接字层 (SSL) 或传输层安全性 (TLS) 的安全 HTTP 连接发送数据。
  7. 指定用于连接服务器的端口。HTTP 的默认端口为 80,HTTPS 的默认端口为 443。
  8. 单击 确定

使用 PowerShell SDK 创建资源源

要添加资源源,请使用命令 Add-STFStoreFarm

  • 对于 Citrix Virtual Apps and Desktops 或 Citrix 桌面即服务,请将 FarmType 设置为 XenDesktop
  • 对于 XenApp 6.5,请将 FarmType 设置为 XenApp
  • 对于 Citrix Secure Private Access,请将 FarmType 设置为 SPA

修改资源源

管理 Delivery Controller 屏幕中,选择一个资源源并单击添加

使用 PowerShell SDK 修改资源源

要使用 PowerShell 修改资源源,请使用命令 Set-STFStoreFarm

删除资源源

管理 Delivery Controller 屏幕中,选择一个资源源并单击删除

使用 PowerShell SDK 删除资源源

要使用 PowerShell 删除资源源,请使用命令 Remove-STFStoreFarm

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

为了提高某些资源提供服务器不可用时的性能,StoreFront 会临时跳过无法响应的服务器。跳过某个服务器时,StoreFront 将忽略该服务器,不使用它来访问资源。这避免了因为尝试连接到不可用的服务器而出现延迟。

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

  • 后台运行状况检查轮询周期 - 指定 StoreFront 检查每台服务器是否可用的频率。默认值为 1 分钟。要对此进行配置,请参阅后台运行状况检查轮询周期
  • 跳过持续时间 - 当启用了后台运行状况检查时,应至少将其设置为轮询周期,但超过该值也没有额外影响。如果禁用后台运行状况检查(不推荐),则在持续时间到期之前将跳过服务器。默认为 60 分钟。
  • 全部失败时的跳过持续时间 - 仅当禁用后台运行状况检查(不推荐)时使用。指定当某个特定 Delivery Controller 的所有服务器都被跳过时,StoreFront 用来代替跳过持续时间的缩短的持续时间(以分钟为单位)。默认为 0 分钟,这意味着 StoreFront 不会跳过任何服务器。

更改跳过参数

通常情况下,无需修改这些设置。

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

将用户映射到资源源

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

例如,可以将所有用户的公用资源汇集在一个部署中,而将“财务”部门的财务应用程序汇集在另一个部署中。在这种配置下,如果用户不是“财务”用户组的成员,那么该用户在访问应用商店时将只会看到公用资源。而“财务”用户组的成员将同时看到公用资源和财务应用程序。

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

注意:

这会筛选整个资源源。此外,在资源源中,可以在 Citrix Virtual Apps and Desktops Studio 配置中按用户组筛选应用程序。

要为特定用户组配置特定的资源源,请执行以下操作:

  1. 管理 Delivery Controller 屏幕中,在用户映射和多站点聚合配置下,单击配置。只有在配置了两个或更多资源源时此选项才可用。

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

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

  2. 单击 Map users to controllers(将用户映射到 Controller)。这将打开创建用户映射屏幕以创建您的第一个映射。稍后您将能够创建更多映射。

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

  3. 选择所有人,或者选择特定用户组,然后添加一个或多个组。

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

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

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

  5. 单击添加,然后再添加一个或多个 Controller。

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

  6. 单击创建

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

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

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

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

  1. 对于每个资源源,请创建一个 EquivalentFarmset。所有资源源都必须是场集的一部分,否则任何用户都无法使用这些资源源。请调用带以下参数的 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. 管理 Delivery Controller 屏幕中,在用户映射和多站点聚合配置下,单击配置。只有在配置了两个或更多资源源时此选项才可用。

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

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

    没有聚合任何资源源的“聚合资源”屏幕的屏幕截图

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

    聚合了两个资源源的“聚合资源”屏幕的屏幕截图

  4. 根据需要选择聚合 Controller 设置选项:

    • Controller 发布相同的资源 - 选中时,StoreFront 将枚举仅来自聚合组中的其中一个 Controller 的资源。如果未选中,StoreFront 将枚举聚合集中的所有 Controller 中的资源(以聚合用户的可用资源的完整集)。选择此选项能够在枚举资源时提高性能,但我们不建议选中,除非您确认所有聚合源中的资源列表都相同。

    • 在 Controller 之间对资源进行负载平衡 - 选中时,将在可用 Controller 之间平均分发启动。如果未选中,启动将被定向到在用户映射对话框屏幕中指定的第一个 Controller,如果启动失败,则故障转移到后续 Controller。

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

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

  6. 聚合了资源时,默认情况下,任何用户都无法访问这些资源,因此您必须添加用户映射。单击 Map users to controllers(将用户映射到 Controller)。这将打开创建用户映射屏幕。

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

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

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

  9. 如果您没有勾选在 Controller 之间对资源进行负载平衡,则可以选择 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 - 场集所属的聚合组的名称。
    • 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 部署。有关详细信息,请参阅全局服务器负载平衡 (GSLB) 提供支持的资源域首选项

您必须手动配置 StoreFront 来告诉它哪个 CVAD 部署包含哪些资源域:

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

资源域配置的屏幕截图

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

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

管理通过应用商店提供的资源