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. 按“确定”。

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

  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. 按“确定”。

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

  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 Secure Private Access 站点

如果您的 StoreFront 服务器已配置为 Citrix Secure Private Access,则可以添加 Citrix Secure Private Access 站点。

  1. 在 StoreFront 上导航到“存储”>“交付控制器”。
  2. 单击“添加”。
  3. 在“添加交付控制器”窗口中,提供一个“显示名称”以识别该订阅源。
  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 Desktops as a Service,请将 FarmType 设置为 XenDesktop
  • 对于 Citrix Secure Private Access,请将 FarmType 设置为 SPA

修改站点

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

警告:

如果重命名站点,则:

  • 该站点将从任何 Optimal HDX 路由配置中删除。您必须将该站点重新添加到 Optimal HDX 路由配置中。
  • 该站点的任何用户收藏夹 Favorites 都将消失(除非您正在使用多站点聚合)。这是因为收藏夹记录按名称引用站点。收藏夹记录不会被删除,因此如果您将站点重命名回其原始名称,则收藏夹会重新出现。要解决此问题,如果您使用的是 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. 在“管理交付控制器”屏幕中,在“用户映射和多站点聚合配置”下,单击“配置”。仅当配置了两个或更多站点时,此选项才可用。

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

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

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

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

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

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

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

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

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

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

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

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

  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 部署包含多个区域,则无法将启动请求定向到该部署中的特定区域。

管理站点和交付控制器