目录
前言
本文章主要介绍juniper MX系列路由器设备的GRES(Graceful routing enging switchover)高可用性(High Availability)特性。
一、Juniper MX系列路由器GRES特性介绍
GRES(Graceful routing enging switchover)是junos其他HA特性的基础。这个特性仅支持拥有双RE引擎的平台。Graceful(平滑)的含义是指在切换RE的主备状态时,不会强制重启设备或平台的PFE。如果没有使用GRES,设备切换后新RE会重启PFE平面的一些组成部分来保证PFE的稳定状态。而PFE的重启过程会中断设备的数据平面,从而导致在引擎切换过程中的数据转发中断。
二、Juniper MX系列路由器GRES特性原理和配置
1. GRES原理初识
GRES主要用于具有双引擎的设备切换,但是仅他自己是不能实现设备重启过程中保持无中断的状态,需要借助于NSR或者GR等相关技术。
GRES的主要功能是通过inter-process calls(IPC)同步主备RE之间的内核状态。当master RE的内核状态发生改变时(如:接口状态改变或者路由拥有一个新的下一跳),首先将该状态同步给backup RE;然后在同步给设备的其他部分(如:PFE)。
为了防止进行手动频繁切换时,状态同步未完成,GRES会有一个hold timer;默认240s(4min)。而对于设备自动发生的切换时,不会有这个限制。
2. GRES同步和切换过程
(1) 同步:
在默认情形下,设备在启动后slot 0的RE会成为主RE。可以在[set chassis redundancy]层级进行修改。
当Backup RE启动时,他会启动内核同步进程ksyncd。该进程会向master RE注册成为邻居,同时使用IPC消息中携带routing table socket(rtsock)消息请求master RE的内核状态。当backup RE的内核状态与master RE的内核状态一致时同步完成。同步完成后,后续master RE的状态改变会首先同步给BU RE,然后在传给设备的其他组成部件。
GRES同步的过程如下所示:
1)master RE启动。
2)其他路由器进程启动,如:rpd,chassisd。
3)PFE启动,同时连接到RE。
4)系统的状态更新。
5)backup RE启动。
6)系统查看是否开启了GRES。
7)内核同步进程(ksyncd)将master RE状态同步给backup RE。
8)所有内核状态同步完成后,转发表更新。
(2) 切换:
造成设备RE发生切换的原因有很多,常见的有以下几个方面:
1)当backup RE 的chassisd进程监控到丢失了master RE的keepalive消息2s时;如:内核崩溃或者master RE硬件故障时。
2)master引擎重启。
3)当chassisd进程监控到机箱的FPGA(当前设备没有master RE)状态。
4)设备硬件故障或者系统软件故障。
5)手动切换了引擎。
GRES切换的过程如下所示:
1)丢失保持时间或者其他原因导致chassisd将引擎切换到backup RE。
2)PFE重新连接到新的master RE。
3)routing platform进程不是GRES的部分,并且只运行在master RE,例如RPD;如果没有启用NSR,将会重启。
4)从切换点开始的任何运行中的内核状态信息都会被重放,并且系统状态再次保持一致。报文转发和FIB状态不发生改变,流量继续保持切换前的状态。
5)当启用了GR协议扩展时,会从邻居的helper routers收集和存储路由信息。
3. GRES配置
Juniper-MX@RE0#set chassis redundancy graceful-switchover
Juniper-MX@RE0#set system commit synchronize
当开启了GRES之后,系统会默认会将keepalive-timer设置为2s,该默认时间也是GRES保持计时器的最小时间间隔。
配置GRES的切换条件:
1)当磁盘出现问题时切换
Juniper-MX@RE0#set chassis redundancy failover on-disk-failure
2)当进程丢失时发生切换
Juniper-MX@RE0#set system processes routing failover other-routing-engine
3)当丢失了keepalive消息时发生切换
Juniper-MX@RE0#set chassis redundancy failover on-loss-of-keepalives
需要注意的是在开启了GRES后修改GRE的保持定时器时和切换条件时,会产生告警;建议先关闭GRES特性。再修改响应的计时器和切换条件。
4. GRES状态查看命令
以下命令都需要在backup RE上进行查看:
1)在master RE上查看同步状态
Juniper-MX@RE0>show database-replication summary
Juniper-MX@RE0>show database-replication statistics
2)查看backup RE上ksyncd进程
Juniper-MX@RE1>show system processes | match ksyncd
3)查看backup RE上GRES是否准备好
Juniper-MX@RE1>show system switchover
参考文献
本文章参考书目:
Juniper MX Series, 2nd Edition
by Douglas Richard Hanks, Harry Reynolds, David Roy
Released September 2016
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781491932728