形成过程
集群形成
网关之间的集群形成由每个配置组内的集群配置决定。当启用自动集群模式时,编排器会为每个集群节点协调集群名称和配置:
- 自动组 – 在同一配置组内的活动网关之间协调集群。
- 自动站点 – 在同一配置组和站点内,主动网关之间协调一个集群。
当启用手动集群模式时,管理员定义集群名称和集群成员。管理员配置启动主动网关之间的集群形成。
握手过程
集群形成的第一步涉及一个握手过程,在该过程中,所有潜在集群成员之间通过管理VLAN在网关系统IP地址之间交换消息。握手过程使用PAPI hello消息在节点之间交换,以验证所有集群成员之间的可达性。与集群相关的信息通过这些hello消息交换,包括平台类型、MAC地址、系统IP地址和版本。在所有成员交换hello消息后,它们在完全网状配置中相互建立IKEv2 IPsec隧道。
接下来是集群成员在集群形成前的握手过程中参与hello消息交换的示意图:
握手过程 / Hello消息
AOS 10 的一个增强功能是多版本集群支持。在 PAPI hello 消息中共享的版本信息不再强制执行。这允许集群成员在集群升级和迁移期间短暂运行不同的 AOS 10 版本。* |
集群领导者选举
对于每个集群,将会选择一个网关作为集群领导者。根据网关的角色,集群领导者承担多项职责,包括:
- 活跃和备用 VLAN 指定的网关(VDG)分配
- 活动设备和备用设备指定网关(DDG)分配
- 活动和备用用户指定的网关(UDG)分配
- 备用交换机指定的网关(S-SDG)分配
集群选举在初始握手之后进行,作为 VLAN 探测和心跳过程的并行线程。
WLAN 网关
集群领导由交换“hello”消息交换的结果选出,该消息包含每个平台的信息、优先级和 MAC 地址。领导选举过程依次考虑以下因素:
- 最大的平台
- 配置优先级
3. 最高 MAC 地址
对于同质集群,具有最高配置优先级或 MAC 地址的网关将被选举为集群领导者。对于异质集群,具有最高配置优先级或 MAC 地址的最大网关将被选举为集群领导者。当具有相同优先级的容量相等的节点被评估时,MAC 地址将作为决胜因素。
以下图示展示了一个四节点 7240XM 异质集群的集群领导者选举。在此示例中,DC-GW2 拥有最高的 MAC 地址,并被选举为集群领导者。所有其他节点成为成员:
WLAN 集群领导者选举
分支 HA 网关
当在两个分支网关上配置分支 HA 时,领导者可以通过自动选举或由管理员手动选择。当手动选择首选领导者时,不会进行自动选举,所选节点成为领导者。
当未配置首选领导者时,领导者选举过程将考虑以下内容(按顺序):
- 活跃的 WAN 上行链路数量(上行链路追踪)
- 最大平台
- 最高 MAC 地址
大多数分支网关部署将实现一对相同系列和型号的网关,形成同质集群。当禁用上行链路跟踪时,具有最高 MAC 地址的分支网关将被选为集群领导者。在评估具有相同优先级的容量相等节点时,MAC 地址将作为决胜条件。
当启用上行链路跟踪时,将评估活动 WAN 上行链路的数量,具有最多活动 WAN 上行链路的网关将被选为集群领导者。非活动、虚拟和备份 WAN 上行链路不予考虑。
VLAN 探测
配置组中的网关共享相同的 VLAN 配置和端口分配。管理 VLAN 和用户 VLAN 在集群中的网关之间是共用的,因此必须由各自的核心/汇聚层交换机在网关之间扩展。某个或多个网关上缺失或孤立的 VLAN 可能导致客户端黑洞。
VLAN 探测由集群中的网关用来检测每个集群节点上的孤立或缺失的 VLAN。每个集群节点会向其他集群节点通过 VLAN 发送单播 EtherType 0x88b5 帧。对于由四个节点组成的集群,每个节点可能会对每个 VLAN 向三个对等节点发送 VLAN 探测。为了防止不必要或重复的探测,每个网关会跟踪对每个 VLAN 向每个集群对等节点的探测请求和响应。如果一个网关对来自对等节点的某个 VLAN 的探测做出响应,则该网关会将该 VLAN 标记为成功,并跳过对该对等节点的该 VLAN 的探测。
每个节点上存在并收到响应且被标记为成功的 VLAN,以及未收到响应的 VLAN 被标记为失败,并在 Central 中显示为失败。在 10.6 之前,网关会探测包括 VLAN 1 在内的配置 VLAN。由于没有配置排除明确的 VLAN,VLAN 1 通常会在 Central 中显示为失败。
在 10.6 及以上版本中,VLAN 探测已被增强为更智能的方式,仅对分配了客户端的 VLAN 进行探测。虽然管理 VLAN 始终会被探测(因为它对于集群建立是必需的),但只有具有活动隧道客户端的用户 VLAN 才会被探测。没有隧道客户端的 VLAN 不再自动探测,从而防止未使用的 VLAN 被显示为失败。只有未扩展的用户 VLAN 会被显示。
探测失败的 VLAN 会在 Central 的集群详细视图中列出。如下所示,VLAN 100 和 101 未被扩展到集群中的某个网关节点,并且都被列为该节点的失败。请注意,在此示例中,网关运行的是 10.5 版本,因此 VLAN 1 也被列为每个节点的失败:
集群轮询失败的 VLAN
设计上,VLAN 1 存在于所有网关上,且无法被移除。根据行业最佳实践,VLAN 1 不用于部署,因此不会在网关之间扩展。因此,预期 VLAN 1 的探测将失败并被排除。在 10.6 及以上版本中,只有具有活动客户端的管理 VLAN 和用户 VLAN 会被探测,从而防止 VLAN 1 被列为失败。
心跳
集群节点会在与集群对等节点的定期间隔内交换 PAPI 心跳消息,平行于领导者选举和 VLAN 探测消息。这些心跳消息是双向的,作为检测集群节点故障的主要机制。每个请求和响应都会计算往返延迟(RTD)。心跳在集群领导者用以确定每个集群节点角色和检测节点故障的过程中起着关键作用。
故障检测和故障转移时间由集群的心跳阈值配置决定。端口通道的建议检测时间为 2000ms,而单一上行链路的默认值为 900ms。故障检测基于在配置的心跳阈值内未收到响应,阈值可在 500ms 至 2000ms 之间配置。
连接性与验证
网关集群仪表板显示由 Central 配置和管理的集群列表。可以在 Central 中通过选择 Devices > Gateways > Clusters,然后选择特定的集群名称来访问。此视图可以通过全局上下文过滤器或选择特定配置组或站点进行访问。
集群的摘要视图提供重要的集群信息,如领导版本、容量和可能发生的节点故障数。下图展示了一个两节点 7220 集群的示例摘要。请注意,摘要视图为每个节点提供了随时间变化的客户端容量的颜色编码,这对于判断正常和高峰时段的客户端分布非常有用。在此示例中,过去 3 小时内每个节点的客户端容量都低于 40%:
集群摘要与容量
网关视图提供集群节点列表、运行状态、每节点容量、型号和角色信息。下图演示了上述生产集群的状态视图。此视图显示每个集群节点均处于 UP 状态,SJQAOS10-GW11 被选为集群领导者。还提供了每个节点当前的活跃和备用客户端会话数。客户端根据集群发布的桶映射在可用节点之间分布:
集群网关状态
网关视图还提供每个对等节点的额外心跳和 VLAN 探测信息。你可以使用下拉菜单查看每个集群成员的对等节点详细信息。以下示例显示了 SJQAOS10-GW11 的对等节点详细信息。在此示例中,对等网关具有成员角色且已连接。请注意,所有 VLAN(包括 VLAN 1)已在网关之间正确扩展,因此没有 VLAN 探测失败:
集群对等节点状态
最后修改时间:2024 年 2 月 28 日(614bf13)