技术简报:Citrix Virtual Apps and Desktops 服务的本地主机缓存/高可用性模式

概述

Citrix Virtual Apps and Desktops (CVAD) 服务的上下文中的本地主机缓存 (LHC) 可以视为保险单。当 Citrix Cloud Connector 出于任何原因(中断、连接问题、互联网封锁等)无法与 Citrix 经纪服务(CVAD 服务的一部分,以后称为云经纪商)通信时,本保单就会发挥作用。资源位置和云代理之间的通信中断可能会导致最终用户的影响 — 本地主机缓存旨在减轻这种最终用户的影响。

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

Citrix Virtual Apps and Desktops -正常操作

图 1:CVAD 服务的概念表示,展示了与 HA 模式相关的组件

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 向 CVAD 服务提交 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 状态。

大型强子对撞机状态图

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

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

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

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

具有多个资源位置的 CVAD 服务实例

云代理旨在查看跨多个资源位置的整个部署。但是,在高可用性模式下,每个资源位置都将成为自己的独立容器,每个资源位置中选出的辅助代理将仅为该资源位置内的 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 模式

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

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

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

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

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

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

涉及 Citrix ADC 的架构

监视

Citrix ADC 设备提供内置显示器 CITRIX-XD-DDC 监视器,用于监控 Citrix Virtual Apps and Desktops Delivery Controller 服务器。在 Citrix Virtual Apps and Desktops 服务的上下文中,Cloud Connector 等同于 Delivery Controller 服务器。监视器以 XML 消息的形式向已配置的控制器/连接器服务器发送探测器。如果服务器使用场的标识响应探测器,则该探测被视为成功,服务器的状态将标记为 “启动”。如果响应没有成功代码或响应中没有服务器场的标识,则探测被视为故障,服务器的状态将标记为 “关闭”。

有关 CITRIX-XD-DDC 监视器的更多信息,请参阅 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 注销时,计算机将进入维护模式。此重置可防止将受污染的图像提供给其他用户。

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

对于在 VMware vSphere 和 Citrix Hypervisor 上运行的池桌面 VDA 工作负载,在高可用性模式下支持电源操作的新功能可作为早期预览版提供。此功能增加了即使站点在 HA 模式下运行时也能重置图像的功能。在此处阅读有关预览版产品的 更多信息

测试本地主机缓存

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

  • 如前面各节所述,每个连接器都独立执行站点配置的同步。同步的结果可在事件查看器中查看。有关 事件的详细信息,请参阅产品文档的 “事件日志” 部分
  • 可以模拟中断以在环境中测试本地主机缓存解决方案。有关如何 强制中断的 指导可在产品文档中找到。强制停机时,请特别注意将资源位置中的所有连接器设置为强制中断模式。