四节点和三节点多节点高可用性
了解四节点和三节点多节点高可用性解决方案。
Junos OS 中的四节点多节点高可用性功能可提供强大的服务中断保护。现有 MNHA 基础架构支持冗余,由两个防火墙一对配合使用。四节点 MNHA 通过支持跨域的两对 MNHA 设备之间的额外冗余,增强冗余和故障切换能力。也就是说,如果一对设备出现故障或离线,另一对设备将自动接管故障对提供的服务。这两对设备可以位于不同的地方,例如单独的数据中心,即使一个位置出现问题,也能确保服务能够正常运行。
四节点 MNHA 功能:
- SRG0 支持:四节点 MNHA 支持 SRG0,适用于没有控制平面状态的服务,例如防火墙和 NAT。控制平面状态是指管理和控制网络作所需的信息。
- SRG1+ 限制:四节点 MNHA 当前不支持 SRG1+ 服务,这涉及控制平面状态,如 IPsec VPN。
- 运行模式:四节点 MNHA 仅支持 MNHA 的路由模式。它将不支持交换模式、混合模式或云模式,这些是用于处理网络流量和冗余的不同作配置。
-
路由限制:四节点 MNHA 基础架构不支持同一域内或跨两个域的非对称路由。因此,外部路由器必须始终如一地将相同双向流的数据包发送到同一节点。
四节点 MNGA 的优势:
-
提供增强的服务连续性。它允许跨节点实现服务无缝故障切换,确保防火墙和 NAT 等关键网络功能在不影响控制平面状态的情况下提供不间断的正常运行时间。
-
支持跨地理上分布的数据中心实现高可用性,从而提供抵御本地中断的能力。
部署方案
四节点 MNHA 设置涉及四个相同的 SRX 系列防火墙,每个防火墙都具有相同的硬件配置。这些设备分为两个 MNHA 域,每个域包含两个防火墙。
在拓扑中:
- 域 1 由两个防火墙组成:node1.1(域 1 节点 1)和 node1.2(域 1 节点 2)。
- 域 2 由两个防火墙组成:node2.1(域 2 节点 1)和 node2.2(域 2 节点 2)。
在每个域内,两个节点通过机箱间链路 (ICL) 进行通信,这是一种可实现快速高效通信的直接连接。在两个域中,节点通过域间链路 (IDL) 进行通信。ICL 和 IDL 都是逻辑链路,可在专用接口或带内流量接口上运行。ICL 和 IDL 都可以路由并使用 IPsec 加密。
IDL 是第三层可路由链路,支持不同域中的节点之间的通信。每个 IDL 都配置在节点的接口上,并且是专用路由实例的一部分。此设置可确保只有跨域的 MNHA 节点之间的内部通信数据包才能遍历这些链路,从而保持安全性和完整性。
所有四个节点都连接到外部第三层路由器,用于处理来自公共网络和专用网络的流量。此设置使防火墙能够有效地管理网络流量。
要设置四节点 MNHA,我们建议首先通过 ICL 连接两个节点,在每个域内建立 MNHA 对。然后,通过 IDL 连接这些对(来自不同域)以完成完整的 MNHA 结构。
四节点多节点高可用性的工作原理
四节点 MNHA 架构分为两个域,每个域由两个节点组成。此设置可在两个级别实现冗余:域内和域间。
-
域内冗余:
- 每个域都有两个相互备份的对等节点。如果域中的一个节点发生故障或无法服务,另一个节点将接管其责任。
- 域内的节点可以两种模式运行:
- 主动备份模式:一个节点处于活动状态,处理所有任务,而另一个节点处于备用状态,准备在活动节点发生故障时接管。
- 主动-主动模式:两个节点都在主动处理任务,分担负载,并提供即时故障切换能力。
-
跨域冗余:
- 一个域中的节点由另一个域中的节点进行备份。如果一个域中的所有节点都出现故障,则另一个域中的节点将接管服务。
- 这种冗余还支持主动备份和主动-主动模式,类似于域内冗余。
-
通信和同步:
- ICL: 这是同一域内两个节点之间的通信链路。它允许他们同步他们的状态,并让彼此更新他们的状态。
- IDL: 这种新引入的链路促进了跨不同域的节点之间的通信,使它们能够同步状态并共享状态信息。
-
状态同步:
- 每个节点通过 ICL 将其状态与同一域中的对等节点同步。
- 该节点还通过 IDL 与其他域中的一个节点同步状态。
- 当节点通过 IDL 从另一个域接收状态信息时,它会通过 ICL 将此信息中继到同一域中的对等节点。
示例:在拓扑中显示的设置中,包括四个标记为节点 1.1、节点 1.2、节点 2.1 和节点 2.2 的节点。
- 节点 1.1 通过本地域内的 ICL 将其状态与节点 1.2 同步。
- 节点 1.1 还通过 IDL 与远程域中的节点 2.1 同步。
- 节点 2.1 在收到此状态后,通过 ICL 将其转发到同一域中的节点 2.2。
四节点 MKHA 中的冷同步
状态冷同步是互连节点网络中使用的一种机制,用于确保所有节点都有最新且一致的状态副本。当所有节点启动时,节点会同步其域内的状态,然后继续跨域同步。如果一个节点重新启动,它将先将其状态与同一域中的相邻节点同步,然后继续与远程域中的节点同步,以确保其具有所有必要的状态。
MNHA 设置中的冷同步过程涉及以下序列:
冷同步启动:
在以下情况下,当节点需要从其相邻节点创建或更新其状态副本时,将启动冷同步:
- 一个节点启动并连接到其他节点。
- 在暂时断开连接(ICL 抖动)后,节点会与同一域中的对等节点重新连接。
- 在暂时断开连接(IDL 翻动)后,节点与远程域中的对等节点重新连接。
冷同步过程:
- 节点由域 ID 和节点 ID 标识。ID 较低的节点将通过向 ID 较高的节点请求状态来启动冷同步。
- 状态包括活动状态和从远程域接收的任何状态。
- 同一域内:节点根据节点 ID 通过 ICL 相互交换状态。ID 较低的节点首先请求状态。
- 跨不同域:在同一域内完成冷同步后,节点开始通过 IDL 跨域同步。
该过程可确保所有节点最终具有一组完整且一致的状态。
四节点 MNHA 设置中的软件升级
使用以下步骤升级四节点 MNGA 中的软件
- 确保您的多节点高可用性设置运行正常、正常运行,并且机箱间链路 (ICL) 已开启。此步骤需要确保同一域中的另一个节点已准备好接管正在升级的节点的责任。
断开域间链路 (IDL) 的连接,将节点与网络的其余部分隔离开来,从而防止升级期间出现任何潜在的中断。
- 在域 1 的备份节点(节点 1.2)上启动软件升级流程,然后使用
set chassis high-availability software-upgrade语句提交配置。 - 确认其他设备(节点 1.1)处于活动状态并且运行正常。
- 在节点 1.2 上安装 Junos OS 软件,然后执行重新启动以应用更新。
- 安装成功后,使用 or
request vmhost reboot命令(取决于您的平台)重新request system reboot启动设备。 - 重新启动后,使用
检查节点是否运行正确的软件版本。show versioncommand. - 检查设备上多节点高可用性的状态。
- 移除
software-upgrade节点 1.2 上的语句并提交配置。此步骤使系统能够返回其正常运行模式。 - 重新建立域间链路,以便将升级后的节点重新集成到网络中。
- 对同一域中的下一个节点(节点 1.1)重复上述步骤,确保每个节点都按顺序升级,以保持网络稳定。
- 在当前域中完成升级后,转到另一个域(域 2)并按照相同的过程作,以确保整个网络的升级过程一致且有序。
许可和拓扑注意事项
四节点 MNHA 设置需要特定的四节点 MNHA 功能许可证。如果许可证丢失,则在提交期间和系统日志中会出现以下警告:
License needed for the feature 4-node MNHA.
许可证对于每个 SRX 系列都是唯一的,不能在多节点高可用性设置中的节点之间共享。还要确保在所有四个防火墙上对 Layrer 7 功能(例如 AppID、IDP、内容安全性)使用相同的许可证。如果所有四个 SRX 系列防火墙都没有相同的许可证集,则系统尚未做好部署准备。
四节点 MNHA 配置要求
在多节点高可用性 (MNHA) 网络设置中,确保会话在多个节点上保持一致,对于维护无缝网络运维和故障切换功能至关重要。以前,MNHA 配置中的所有节点都必须对于给定会话使用相同的入口和出口接口名称、区域名称和策略名称。满足这一要求可能具有挑战性,尤其是在四节点 MNHA 配置中,因为它需要对所有节点进行细致的配置管理。
四节点 MNHA 放宽了其中一些限制。具体而言,无需入口接口和出口接口在 MNHA 域中的所有节点上使用相同的名称。此更改意味着,以前不同节点上的同一会话必须使用具有相同名称的接口(例如,所有节点上的 ge-0/0/0),而新配置允许这些接口在每个节点上使用不同的名称。
示例:节点 1.1 上的会话具有入口接口 ge-0/0/0 和出口接口 ge-0/0/1,当节点 2.1 上的同一会话处于活动状态时,入口接口 ge-0/0/2 和出口接口 ge-0/0/3。但是,ge-0/0/0 和 ge-0/0/2 应该在同一区域中,同样地,ge-0/0/1 和 ge-0/0/3 必须在同一区域中。
您必须满足以下要求,以确保安全可靠的会话处理
区域一致性:用于不同节点上的同一会话的接口必须属于同一区域(如上一节所述)。
策略一致性:应用于这些区域的策略必须在所有节点上保持一致。此设置可确保安全性和路由行为保持不变,即使物理接口不同也是如此。
路由实例/VRF 一致性:同样,VR 名称必须在节点之间保持不变,以确保一致的路由行为。
配置概述
以下配置片段概述了设置四节点 MNHA 系统所需的高级步骤
- 本地域和节点 ID 配置:
设置本地域 ID 和大小:
user@host# set chassis high-availability local-domain-id <domain-id> domain-size <size>
domain-id:本地域的唯一标识符(1 或 2)。size:域中的节点数(1 或 2)。对于四节点 MNHA,域大小为 2。
设置本地节点 ID:
user@host# set chassis high-availability local-id <local-node-id>
local-node-id:其域(1 到 10)内本地节点的唯一标识符。
- 机箱间链路 (ICL) 配置:
此配置用于将本地节点连接到同一域中的对等节点。
设置本地节点 IP:
[edit] user@host# set chassis high-availability local-id local-ip <ip-address>
对等节点配置:
[edit] user@host# set chassis high-availability peer-id <peer-node-id> peer-ip <ip-address> user@host# set chassis high-availability peer-id <peer-node-id> interface <logical-interface-name> user@host# set chassis high-availability peer-id <peer-node-id> liveness-detection minimum-interval <interval-in-ms> user@host# set chassis high-availability peer-id <peer-node-id> liveness-detection multiplier <multiplier-value> user@host# set chassis high-availability peer-id <peer-node-id> vpn-profile IPSEC_VPN_ICL
- 域间链路 (IDL) 配置:此配置用于连接不同域的节点。
user@host# set chassis high-availability peer-domain-id <domain-id> domain-size <size> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> local-ip <ip-address> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> peer-ip <ip-address> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> interface <logical-interface-name> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> liveness-detection minimum-interval <interval-in-ms> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> liveness-detection multiplier <multiplier-value> user@host# set chassis high-availability peer-domain-id <domain-id> peer-id <peer-node-id> vpn-profile profile-name
- 服务冗余组 (SRG0) 配置:
设置同一域中的对等节点( (1 到 10):
user@host# set chassis high-availability services-redundancy-group 0 peer-id 2
在其他域中设置对等节点:
user@host# set chassis high-availability services-redundancy-group 0 peer-domain-id <domain-id> peer-id <peer-node-id>
注意:确保满足以下条件:- 每个域 ID 必须是唯一的,并且 ID 只能是 1 或 2。
- 节点 ID 在同一域中是唯一的。
- MNHA 基础架构仅当配置了 时
peer-domain-id才支持 SRG0 的四节点配置。如果没有它,安装程序将支持 2 节点配置。 - 配置本地域 ID、本地节点 ID、对等域 ID、对等节点 ID 和域大小后,请重新启动设备。
使用 和
show chassis high-availability peer-info等show chassis high-availability information命令验证您的配置是否按预期工作。
域间链路 (IDL) 加密
带有域间链路 (IDL) 的四节点多节点高可用性 (MNHA) 可将高可用性扩展到跨数据中心域,从而增强高可用性。IDL 促进了跨不同域的节点之间的通信,允许节点同步状态并共享状态信息。
IDL 是一种逻辑 IP 链路,使用网络中可路由的 IP 地址建立。
跨域的节点使用 IDL 在它们之间同步控制平面和数据平面状态。IDL 通信可能通过共享或不受信任的网络进行,通过 IDL 发送的数据包可能会遍历并不总是可信的路径。因此,您必须使用 IPsec 标准对流量进行加密,从而保护遍历 IDL 的数据包。
IPsec 通过为 IDL 建立加密隧道来保护流量。应用高可用性链路加密时,高可用性流量仅通过安全加密隧道在跨域的节点之间流动。如果没有高可用性链路加密,节点之间的通信可能不安全。
IDL 支持 IKEv2 和自定义多 SA 实施,可通过 IPsec VPN 跨域安全交换加密数据。该系统支持强大的 AES-GCM-256 加密以及 PSK 和 PKI 身份验证,确保安全的域间通信。
配置概述
要加密 ICL 的高可用性链路,请执行以下作:
- 使用以下命令在 SRX 系列防火墙上安装 Junos IKE 软件包:
user@host> request system software add optional://junos-ike.tgz
- 为 高可用性流量配置 VPN 配置文件,并将该配置文件应用于两个节点。SRX 系列防火墙之间协商的 IPsec 隧道使用 IKEv2 协议。
user@host# set chassis high-availability peer-domain-id domain-id peer-id peer-node-id vpn-profile
- 确保已在 IPsec VPN 配置中包含语句 ha-link-encryption。示例:
user@host# set security ipsec vpn vpn-name ha-link-encryption.
- 使用命令验证
user@host> show security ipsec statistics ha-link-encryption详细信息以显示隧道类型(ICL 或 IDL)。
建议对 IDL 进行以下设置:
- 使用不太可能饱和的端口和网络。
- 不要使用专用高可用性端口(控制和结构端口,如果 SRX 系列防火墙上可用)。
- 您可以使用 SRX 系列防火墙上的收入以太网端口来建立 IDL 连接。确保将收入接口中的中转流量与高可用性 (高可用性) 流量分开。
三节点多节点高可用性
三节点 MNHA 设置涉及三个相同的 SRX 系列防火墙,均具有相同的硬件配置。这些设备分为两个 MNHA 域,一个域包含两个防火墙,另一个域包含一个防火墙。
在三节点 MNHA 设置中,节点 1.1 和节点 1.2 属于域 1,而节点 2.1 属于域 2。对于四节点 MNHA 配置,每个节点都配有一个集群间链路 (ICL) 和一个域间链路 (IDL)。在三节点 MNHA 配置中,域 1 中的两个节点各有一个 ICL 和一个 IDL,而域 2 中的节点有两个 IDL,没有 ICL。
状态同步:
- 在域 1 中,节点 1.1 通过 ICL 将其状态与其对等节点(节点 1.2)同步。
- 节点 1.1 还通过 IDL 与其他域中的节点 2.1 同步状态。
- 节点 2.1 通过 IDL 将状态同步到节点 01.1 和 Nnode 1.2 。
- 当节点通过 IDL 从另一个域接收状态信息时,它不会通过 ICL 将此信息中继到同一域内的对等节点。这种方法可防止域内不必要的数据传输重复。
如果发生单个 IDL 故障,特别是当节点 1.1 和节点 2.1 之间的直接链路出现故障时,将采用路由来保持连接。节点 1.1 仍然可以通过 Nnode 1.2 使用预定义的路由与节点 2.1 进行通信。此路由可确保节点 1.1 和节点 2.1 之间的 IDL 保持运行,无需将数据包从 IDL 转发到 ICL 对等方,无论是热同步还是冷同步过程。
三节点 MNHA 的配置概述
在三节点 MNHA(多节点高可用性)设置中,设备分为两个域:一个域托管两个防火墙,另一个域托管一个防火墙。下面的配置代码段演示了如何使用单个节点为域配置 MNHA,重点关注本地和对等节点设置。请注意,单节点域不需要机箱间链路 (ICL) 配置。另一个域(具有两个节点的域)的配置与四节点 MNHA 域的配置类似。
- 配置本地 ID、本地域 ID 和域大小。
[edit] user@host# set chassis high-availability local-id <local-node-id> user@host# set chassis high-availability local-id local-ip <local-ip> user@host# set chassis high-availability local-domain-id <domain-id> user@host# set chassis high-availability local-domain-id domain-size 1
域大小 1 表示在三节点 MNGA 中仅包含一个节点的域。
- 配置对等节点。
[edit] user@host# set chassis high-availability peer-domain-id 1 domain-size 2
- 为对等节点 1 配置 IDL。
[edit] user@host# set chassis high-availability peer-domain-id 1 peer-id 1 local-ip <local-ip-address> user@host# set chassis high-availability peer-domain-id 1 peer-id 1 peer-ip <peer-ip-address> user@host# set chassis high-availability peer-domain-id 1 peer-id 1 interface <interface> user@host# set chassis high-availability peer-domain-id 1 peer-id 1 vpn-profile <profile-name> user@host# set chassis high-availability peer-domain-id 1 peer-id 1 liveness-detection minimum-interval <interval-in-ms> user@host# set chassis high-availability peer-domain-id 1 peer-id 1 liveness-detection multiplier <multiplier-value>
- 为对等节点 2 配置 IDL。
[edit] user@host# set chassis high-availability peer-domain-id 1 peer-id 2 local-ip <local-ip-address> user@host# set chassis high-availability peer-domain-id 1 peer-id 2 peer-ip <peer-ip-address> user@host# set chassis high-availability peer-domain-id 1 peer-id 2 interface <interface> user@host# set chassis high-availability peer-domain-id 1 peer-id 2 vpn-profile <profile-name> user@host# set chassis high-availability peer-domain-id 1 peer-id 2 liveness-detection minimum-interval <interval-in-ms> user@host# set chassis high-availability peer-domain-id 1 peer-id 2 liveness-detection multiplier <multiplier-value>
- 配置服务冗余组。
[edit] user@host# set chassis high-availability services-redundancy-group 0 peer-domain-id 1 peer-id 1 user@host# set chassis high-availability services-redundancy-group 0 peer-domain-id 1 peer-id 2
使用 和 show chassis high-availability peer-info 等show chassis high-availability information命令验证您的配置是否按预期工作。