技术简报:Citrix 桌面即服务 (DaaS) 的本地主机缓存/高可用性模式

概述

在 Citrix 桌面即服务 (DaaS) 的背景下,本地主机缓存 (LHC) 可以被视为保险单。无论出于何种原因(中断、连接问题、Internet 中断等),Citrix Cloud Connectors 无法与 Citrix 代理服务(Citrix DaaS 的一部分,此后称为云代理)进行通信时,该保险单就会生效。资源位置和云代理之间的通信中断可能会导致最终用户的影响 — 本地主机缓存旨在减轻这种最终用户的影响。

本地主机缓存是几种服务和组件的组合,这些服务和组件结合在一起,承担代理职责,直到重新建立到云代理的连接。

Citrix Virtual Apps and Desktops -正常操作

图 1:Citrix DaaS 的概念表示展示了与 HA 模式相关的组件

Citrix DaaS 本地主机缓存要求

以下清单概述了停机模式下本地主机缓存 (LHC) 所需的组件、设置和配置。该清单提供了一些需要考虑的规模和沟通注意事项。该清单侧重于单一资源位置部署,但应将相同的步骤应用于所有 Citrix DaaS 资源位置。

Cloud Connector

  • Cloud Connector 资源: 每个云连接器至少有 4 个 vCPU 和 6GB 内存。
  • 选定的连接器: 用于代理注册和会话的选定Cloud Connector 将是同一资源位置中按字母顺序排列的第一个 Cloud Connector 名称(主机名)。如果第一个连接器不可用,则按字母顺序排列的第二个Cloud Connector 将成为用于代理注册和会话的选定Cloud Connector。
  • 中断模式: 在中断模式下,管理员将能够运行指向选定Cloud Connector 本地主机的有限范围的 Broker 模块 PowerShell Remote SDK 命令。这将允许管理员在资源处于中断模式时确定该资源位置的注册状态和会话代理。
  • 事件日志: 管理员应确认 Cloud Connector 中的 Citrix 高可用性服务和 Citrix 配置同步服务未记录任何错误或警告事件。 - 验证事件 503 和 504(Config Sync 开始和结束)是否在定期间隔内处理;这可以通过将计算机置于维护模式来完成,这将在 1 分钟内触发配置同步。

Citrix NetScaler Gateway

  • 在网关配置中配置 Secure Ticket Authority (STA) 服务器时,建议将所有在中断模式下充当代理的云连接器添加到网关的 STA 配置中。
  • 网关配置列表中的 STA 服务器也应在 STA 服务器的 Citrix StoreFront Gateway 配置中配置;在组件之间配置 STA 服务器时,两个列表应相同。
  • 如果有多个租户,则需要在 Citrix Gateway 和 Citrix StoreFront 中仅配置来自一个租户的云连接器

负载平衡器

Citrix ADC 设备提供内置监视器 CITRIX -XD-DDC 显示器,用于监视 Citrix Virtual Apps 和Desktop Delivery Controller 服务器。在 Citrix DaaS 的环境中,Cloud Connector 等同于 Delivery Controller 服务器。监视器以 XML 消息的形式向已配置的控制器/连接器服务器发送探测器。如果服务器使用服务器场的标识响应探测,则认为探测成功并将服务器的状态标记为 UP。如果响应没有成功代码或响应中不存在服务器群的身份,则将探测视为失败并将服务器的状态标记为 DOWN。

  • 使用负载平衡器用于 XML 服务(Citrix StoreFront Delivery Controller)时,建议配置 CITRIX-XD-DDC 监视器,而不是默认的 TCP-SYN 监视器;这将允许负载平衡器在中断模式生效时将所有其他未选定的云连接器标记为关闭。

有关 CITRIX-XD-DDC 监视器的更多信息,请参阅 Citrix ADC 文档

Citrix StoreFront

  • 所有 StoreFront 服务器(独立服务器或集群)都应配置 为具有区域可用性的高级运行状况检查设置; 这将允许在单个交付组下配置的不同区域中的多个目录即使在中断模式事件中也能转到正确的区域资源位置。
  • 网关配置列表中的 STA 服务器也应在 STA 服务器的 Citrix StoreFront Gateway 配置中配置;在组件之间配置 STA 服务器时,两个列表应相同。
  • 如果存在多个租户,则需要在 Citrix Gateway 和 Citrix StoreFront 中仅配置来自一个租户的云连接器。

Citrix DaaS

  • 池化交付组: 出于安全原因,池化交付组在 HA 模式下不可用。如果您对安全权衡感到满意,则可以重写和配置此设置,这样它们就不会在中断模式事件期间自动关闭。由于在停机模式下不支持 power-on-for-launch,因此即使在会话注销之后,也应打开计算机。

    • 可以将其配置为代理站点和交付组设置的一部分。
    • 将 Broker 站点“ReuseMachinesWithoutShutdownInOutageAllowed”配置为 True。
    • 将交付组“ReuseMachinesWithoutShutdownInOutage”配置为 True。
    • 要为所有新的交付组启用该设置,可以将 Broker 站点设置“DefaultReuseMachinesWithoutShutdownInOutage”设置为 True。
    • 这些配置应在中断模式事件或测试开始之前执行,以允许将配置传播到 Cloud Connector
  • 对于 静态交付组,在中断模式事件期间仅支持分配的桌面;中断模式事件期间不支持为新用户自动分配桌面。 -交付组标签限制: 会话启动不支持使用标签指定资源位置的标签限制。配置了此类标记限制并启用了 StoreFront 应用商店的高级运行状况检查选项后,会话可能会间歇性无法启动。

测试本地主机缓存

本地主机缓存旨在无需任何用户干预-它是完全自主的。但是,您可以验证所有 Cloud Connector 都已正确同步并准备接管。建议执行以下步骤:

Cloud Connector 组件

Citrix Cloud Connector 中有几个组件是本地主机缓存操作所必需的。

  • 配置同步器服务: 配置同步器服务 (CSS) 定期与云代理进行检查(每 60 秒),以查看是否进行了任何配置更改。更改可以是管理员启动的(例如更改交付组属性)或系统操作(例如计算机分配)。检测到更改后,CSS 会将更改从云代理同步到连接器计算机。
  • LocalDB: CSS 将配置数据导入Microsoft SQL Server Express LocalDB 数据库。将为每个同步操作创建一个新的数据库实例。同步成功完成后,最新的数据库实例将替换之前的数据库实例。
  • 高可用性服务 :高可用性服务(HA Service)是一种专门的代理服务,在中断期间提供运行时代理功能。医管局服务也被称为二级经纪商。
  • 远程经纪商提供商: 远程经纪商提供商执行几项重要功能
    • 它充当 Citrix Virtual Delivery Agent (VDA) 和云代理之间的通信中继的代理
    • 它充当代理中继本地 StoreFront 或本地 ADC 与各种 Citrix Cloud 服务之间的通信
    • 它决定何时在 HA 模式和正常操作之间切换资源位置

Citrix Virtual Apps and Desktops -正常操作

图 2:在 HA 模式中发挥作用的连接器组件和服务

适当调整 Cloud Connector 计算机的大小是确保在高可用性模式下为服务提供适当资源的重要步骤。查看 比例和大小注意事项 文章以了解更多信息。

高可用性模式

Citrix Cloud Connector 能够自动进入或退出 HA 模式,无需管理员干预。HA 模式可以由以下任何一种方式触发:

  • StoreFront 枚举或启动请求失败
  • 未能中继 VDA 和云经纪商之间的通信
  • 启动期间未能代表本地 ADC 向 Citrix DaaS 提交Secure Ticket Authority (STA) 请求

在 HA 模式下,HA 服务接管了几个重要的代理功能,它枚举资源、中介会话启动以及接受 VDA 注册。此外,HA 服务还充当 STA 提供商。在具有多个 Cloud Connectors 的资源位置中,HA 服务在 选举过程中相互通信。此选举过程决定了在触发 HA 模式时接管 HA 服务的哪个实例。

Citrix Virtual Apps and Desktops -高可用性模式

图 3:在 HA 模式下运行的资源位置

进入/退出高可用性模式

过渡到高可用性模式的决定取决于枚举和启动流经给定 Cloud Connector 实例的流量。只有在 StoreFront 中配置为 Delivery Controller 的连接器计算机才支持 HA 模式检测和转换。这种优化对于防止不必要的 VDA 注册是必要的。

在进入和退出 HA 模式的整个周期中有几种状态。在“正常工作”状态下 ,所有组件都运行良好,所有代理交易都由云中介处理。CSS 正在积极将配置从云代理复制到连接器计算机。

如果某些组件无法报告正常运行,连接器将转换为“待定 HA”状态。处于这种状态时,将启动全面的运行状况检查以确定下一个操作方案。连接器与资源位置中的其他连接器进行交互,以确定其运行状况。从“待定 HA”移至“初始 HA”的决定取决于给定资源位置中所有连接器的运行状况。如果运行状况检查成功,连接器将转换回“正常工作”状态。或者,如果运行状况检查继续失败,连接器将转换为初始 HA 状态。

LHC 状态图

图 4:进入/现有HA 模式的连接器状态

初始 HA 状态期间,连接器上的高可用性服务接管代理职责。在云代理中注册的当前资源位置中的所有 VDA 都将在连接器上的 HA Service/辅助代理注册。在初始 HA 结束时,将启动运行状况检查。如果所有运行状况检查都成功,则状态将转换为“等待恢复”,否则状态将转换为扩展 HA。

运行状况检查在 延长的 HA 周期内继续进行,当所有运行状况检查成功时,状态将转换为“等待恢复” 连接器保持“扩展 HA”状态没有最长持续时间。

待恢复 是一个等待期,在此期间,所有组件都运行良好,然后再将代理交还给云代理。如果在等待恢复期间任何运行状况检查失败,则状态将转换回扩展 HA。如果所有运行状况检查在整个等待恢复期间都成功完成,则状态将转换为“正常工作”。在此过渡过程中,HA 模式已退出,在辅助 Broker 注册的资源位置中的所有 VDA 现在都会重新向云代理注册。

具有多个资源位置的 Citrix DaaS 实例

云代理旨在查看跨多个资源位置的整个部署。但是,在高可用性模式下,每个资源位置都将成为自己的独立容器,每个资源位置中选出的辅助代理将仅为该资源位置内的 VDA 管理中介事务。此设计是确保 StoreFront 被配置为包含 VDA 工作负载的所有资源位置的所有 Cloud Connector 的关键原因。然后,StoreFront 可以在多个资源位置分发启动请求并有效地平衡用户负载。

VDA 注册

中断开始时,当选的辅助 Broker(请阅读 资源位置中的多个连接器 部分以了解有关选举过程的更多信息)没有当前的 VDA 注册数据,但是当 VDA 与其通信时,会触发注册过程。在此过程中,当选的二级经纪商还会获取该 VDA 的当前会话信息。VDA 至少每 5 分钟与经纪人沟通一次。根据最后一次心跳完成的时间,VDA 最多可能需要 5 分钟才能实现从云代理到选定的二级经纪商的变化并触发与选定的二级经纪商的注册。

当选出的辅助代理处理连接时,远程代理提供商将监视与 Citrix Cloud 的连接。连接恢复后,远程代理提供商会指示选出的辅助代理停止监听连接信息,然后继续将中介操作传递给云代理。VDA 下次与远程经纪商提供商通信时,将触发另一个注册过程。当选的辅助经纪商将从之前的中断中删除任何剩余的 VDA 注册。了解 Citrix Cloud 中是否发生配置变更时,CSS 将继续同步信息。

资源位置中的多个连接器

Citrix 建议在每个资源位置/区域中至少使用 2 个连接器。在每个区域中,都有一个不断运行的选举流程,以确保 HA Services 知道在出现中断时哪台连接器计算机将接管代理责任。无论是在正常操作期间还是在 HA 模式下运行时,这种选举总会发生。

CSS 定期向辅助经纪商提供有关资源位置中所有 Cloud Connector 的信息。有了这些信息,每个连接器都知道资源位置中运行的所有对等连接器。辅助 Broker 在单独的通道中相互通信。这些服务使用按字母顺序排列的正在运行的计算机的 FQDN 名称列表来确定出现中断时区域中选择的辅助代理。在 HA 模式下,当选的二级经纪商接管中介职责,而区域中的其他二级经纪商则会主动拒绝传入的连接和 VDA 注册请求。

如果在中断期间某个选定的辅助代理出现故障,则将选择另一个辅助代理来接管,并且 VDA 将在新选定的辅助代理中重新注册。在 HA 模式下,如果连接器重新启动:

  • 如果该连接器不是当选的辅助代理,则重启不会产生任何影响。
  • 如果该连接器是当选的辅助代理,则会选择不同的 Cloud Connector,从而使 VDA 向新选出的辅助代理注册。重新启动的 Cloud Connector 开启后,将自动接管代理,这会导致 VDA 重新注册。在这种情况下,在注册期间,性能会受影响。

事件日志提供有关选择的信息。有关关联事件的更多信息,请查看产品文档中的 事件日志 文章。

有多个资源位置的本地主机缓存

资源位置中连接器之间的负载平衡

默认情况下,内部部署 StoreFront 每 60 秒向其应用商店中配置的所有 Cloud Connector 发送一条心跳消息。对应用程序枚举和启动请求进行负载平衡,仅考虑运行状况良好的 Cloud Connector(成功响应心跳)。向 Cloud Connector 发出的同一个心跳请求也会激活连接器以参与上述部分中描述的 HA 模式算法。为确保所有资源位置都能在 HA 模式下执行,务必确保本地 StoreFront 在 StoreFront 配置中将所有 Cloud Connector 标识为 Delivery Controller,这一点至关重要。当站点进入 HA 模式时,如果没有适当的 StoreFront 配置,可能会导致容量损失。

Citrix Virtual Apps and Desktops -正常操作

图 5:部署多个资源位置,其中一个 RL 由于缺少配置而无法准备好高可用性

用于发布相同应用程序/桌面的资源位置的 HA 模式

其中一个 Citrix DaaS 部署模型包括多个资源位置,所有这些位置都在资源位置发布相同的应用程序和桌面。例如,包含来自单个多会话映像或池 VDI 桌面的应用程序的部署可以在所有资源位置统一部署。

当此类部署在高可用性模式下运行时,用户可能会被定向到各种已配置资源位置中的任何 VDA。在这种情况下,StoreFront 会在不同资源位置对所有已配置的 Cloud Connector 的请求进行负载

用于发布不同应用程序/桌面的资源位置的 HA

Citrix DaaS 部署还可能有某些应用程序仅在特定的资源位置子集中可用。例如,日本操作系统桌面可能只在日本运行的 VDA 上可用。另一个示例是静态/分配的桌面,这些桌面是用户特定的,并在分配后绑定到特定资源位置。

当此类部署在高可用性模式下运行时,应用程序或桌面启动请求需要将应用程序或桌面启动请求路由到应用程序和桌面所在的特定资源位置的相应 Cloud Connector,因为在高可用性模式下不可用跨区域代理。StoreFront 1912 LTSR 累积更新 1 或更高版本提供的 AdvancedHealthCheck 功能,如下段所述的部署。

StoreFront 在任何区域枚举来自 Cloud Connector 的应用程序和桌面。枚举信息现在包含资源(应用程序或桌面)与应用程序/桌面所在的资源位置之间的映射。此映射用于将用户启动请求定向到特定资源位置。请查看 产品文档 中列出的配置步骤,以使 StoreFront 能够使用此功能。

涉及 Citrix ADC 的架构

用于资源位置的 Citrix ADC 发布不同应用程序/桌面

对于涉及 Citrix ADC 和资源位置发布不同应用程序和桌面的体系结构,需要执行以下配置。

  • 将每个资源位置的 Cloud Connector 聚合到 ADC 负载平衡器中的唯一 VIP。
  • 此处所述启用 StoreFront 高级运行状况检查功能。
  • 将每个区域/资源位置映射到 ADC 虚拟 IP (VIP)
  • 将所有 ADC VIP 作为交付控制器添加到 StoreFront。
  • 将 ADC 负载平衡器设置为通过 CITRIX-XD-DDC 监视器监视每个资源位置的 Cloud Connector。

Citrix Virtual Apps and Desktops -正常操作

图 6:使用多个资源位置和 Citrix ADC 进行部署

池桌面 VDA 工作负载注意事项

当用户注销池桌面 VDA 时,VDA 的映像将被重置以删除 VDA 上的任何用户特定数据。当站点在 HA 模式下运行时,重置操作不可用。因此,当用户从池桌面 VDA 注销时,计算机将进入维护模式。此重置可防止将受污染的图像提供给其他用户。

根据实施的安全需求,可以通过应用站点范围和每个交付组的更新来修改此行为。有关如何覆盖默认行为的更多信息, 请参阅产品文档