高可用性概述
NorthStar 控制器上的高可用性 (HA) 是一种主动/备用解决方案。这意味着一次只有一个活动节点,群集中的所有其他节点都用作备用节点。群集中的所有节点必须位于同一子网中,HA 才能支持虚拟 IP (VIP)。在主动节点上,所有进程都在运行。在备用节点上,保持连接所需的那些进程正在运行,但 NorthStar 进程处于停止状态。如果主动节点遇到与硬件或软件相关的连接故障,NorthStar HA_agent进程将从备用节点中选择一个新的主动节点。在五分钟内完成故障转移。选择新活动节点的因素之一是候选节点的用户配置优先级。
所有进程都在新的主动节点上启动,节点根据用户配置(通过 net_setup.py)配置虚拟 IP 地址。虚拟 IP 可用于面向客户端的接口以及 PCEP 会话。
在使用 NorthStar 控制器 HA 的整个过程中,请注意,您必须将对 northstar.cfg 所做的任何更改复制到所有群集节点,以便整个群集的配置统一。另一方面,cMGD 配置更改会自动跨群集节点复制。
故障场景
NorthStar 控制器 HA 可保护网络免受以下故障情况的影响:
硬件故障(服务器断电、服务器面向网络的接口或面向网络的以太网电缆故障)
操作系统故障(服务器操作系统重新启动、服务器操作系统无响应)
软件故障(活动服务器上运行的任何进程无法在本地恢复时出现故障)
故障切换和 NorthStar 控制器用户界面
如果在 NorthStar 控制器 Java Planner 客户端中工作时发生故障转移,则客户端将断开连接,您必须使用面向客户端的接口虚拟 IP 地址重新启动 NorthStar 控制器。
如果服务器只有一个接口,或者您只想使用一个接口,则面向网络的接口也是面向客户端的接口。
Web UI 在故障转移时也会失去连接,需要您重新登录。
支持多个面向网络的接口
高可用性 (HA) 部署最多支持五个面向网络的接口,其中一个指定为群集通信 (Zookeeper) 接口。net_setup.py 实用程序允许在主机配置(主机接口 1 到 5)和 JunosVM 配置(JunosVM 接口 1 到 5)中配置受监控的接口。在 HA 设置中,net_setup.py 允许配置 HA 群集中每个节点上的所有接口。
ha_agent使用 ICMP 数据包 (ping) 将探测发送到远程集群端点(包括 Zookeeper 接口),以监控接口的连接。如果在超时期限内未收到数据包,则会宣布无法访问邻接方。该ha_agent会根据任何接口状态更改更新 Zookeeper,并将该信息传播到整个集群。您可以在 HA 设置脚本中配置集群的间隔和超时值。默认值分别为 10 秒和 30 秒。
此外,HA 设置实用程序中还有一个选项,用于配置是否允许每个接口进行切换。
对于嵌套虚拟机配置,您可能需要修改 supervisord-junos.sh 以支持 junosVM 的其他接口。
LSP 差异报告
在 HA 切换期间,PCS 服务器执行 LSP 协调。对帐将生成 LSP 差异报告,该报告标识 PCS 服务器发现的可能需要重新预配的 LSP。
报告中仅包含 PCC 发起和 PCC 委派的 LSP。
通过导航到 Applications > Reports来访问报表。 图 1 显示了可用报告的列表,包括 LSP 差异报告。

群集配置
HA 的 NorthStar 实施要求群集具有法定人数或多数投票者。这是为了防止节点因故障而分区时的“裂脑”。在五节点群集中,HA 可以容忍两个节点故障,因为其余三个节点仍然可以形成简单多数。群集中的最小节点数为三个。
NorthStar 控制器设置实用程序中有一个用于配置 HA 群集的选项。首先,配置独立服务器;然后配置群集。
有关群集安装/配置的分步说明,请参阅 NorthStar 控制器入门指南中的配置 NorthStar 群集以实现高可用性。
外部防火墙必须允许的端口
在 NorthStar 使用的端口中,有一个端口必须由外部防火墙允许,以便 NorthStar 控制器服务器进行通信。有关外部防火墙必须允许的 NorthStar 控制器使用的端口列表,请参阅 NorthStar 控制器入门指南中的 NorthStar 控制器系统要求。用途描述中包含单词cluster的端口专门与 HA 配置相关。