配置路由引擎冗余
请按照以下步骤和示例配置路由引擎冗余。
要完成以下部分中的任务,必须定义 re0 和 re1 配置组。有关配置组的更多信息,请参阅 Junos OS CLI 用户指南。
修改默认路由引擎 主要角色
对于具有两个路由引擎的路由器,您可以配置哪个路由引擎为主引擎,哪个为备份引擎。默认情况下,插槽 0 中的路由引擎是主 (re0),插槽 1 中的是备份 (re1)。
在具有两个路由引擎的系统中,不能同时将两个路由引擎配置为主引擎。此配置会导致提交检查失败。
要修改默认配置,请在[edit chassis redundancy]
层次结构级别包含语routing-engine
句:
[edit chassis redundancy] routing-engine slot-number (master | backup | disabled);
slot-number 可以是 0 或 1。要将 路由引擎 配置为主,请指定 master 选项。要将其配置为备份,请指定 备份 选项。要禁用路由引擎,请指定 禁用 选项。
要在主路由引擎和备份路由引擎之间切换,请参阅 手动切换路由引擎主角色。
配置到备份路由引擎的自动故障转移
以下部分介绍当主路由引擎发生某些故障时,如何配置到备份路由引擎的自动故障转移。
数据包转发不会中断
对于具有两个路由引擎的路由器,您可以配置平滑路由引擎切换 (GRES)。配置平滑切换后,套接字将无缝重新连接,不会中断数据包转发。有关如何配置平滑路由引擎切换的信息,请参阅 配置平滑路由引擎切换。
检测到主路由引擎上的硬盘错误时
配置备份路由引擎后,如果它检测到主路由引擎的硬盘错误,您可以指示它自动担任主要角色。要启用此功能,请在[edit chassis redundancy failover]
层次结构级别包含on-disk-failure
语句。
[edit chassis redundancy failover] on-disk-failure;
on-disk-failure
运行 Junos Evolved 的 PTX 平台不支持层次结构级别的语句[edit chassis redundancy]
。当检测到磁盘故障时,这些平台默认为切换。
检测到虚拟机与 RE 之间的 LCMD 连接断开时
设置以下配置,当 VM 和 RE 之间的 LCMD 连接断开时,将导致自动 RE 切换。要启用此功能,请在[edit chassis redundancy failover]
层次结构级别包含on-loss-of-vm-host-connection
语句。
[edit chassis redundancy failover] on-loss-of-vm-host-connection;
如果主 LCMD 进程崩溃,如果备份 RE LCMD 连接稳定,系统将在一分钟后切换。在以下情况下,系统将不会切换:如果备份 RE LCMD 连接不稳定或当前主角色刚刚获得主角色。当主角色刚刚获得主要角色时,仅在 4 分钟后才会发生切换。
检测到主路由引擎的激活信号丢失时
配置备份路由引擎后,如果检测到主路由引擎的激活信号丢失,您可以指示它自动担任主要角色。
要在接收到 keepalive 丢失信号时启用故障转移,请在[edit chassis redundancy failover]
层次结构级别包含以下on-loss-of-keepalives
语句:
[edit chassis redundancy failover] on-loss-of-keepalives;
on-loss-of-keepalives
运行 Junos Evolved 的 PTX 平台不支持层次结构中的[edit chassis redundancy]
语句。当未检测到激活消息时,这些平台默认为切换。
如果未配置平滑路由引擎切换,则默认情况下,故障切换会在 300 秒(5 分钟)后发生。您可以配置更短或更长的时间间隔。
当主路由引擎手动重新启动或停止时,激活时间段将重置为 360 秒。
要更改激活时间段,请在[edit chassis redundancy]
层次结构级别包含语keepalive-time
句:
[edit chassis redundancy] keepalive-time seconds;
激活时间的范围为 2 到 10,000 秒。
如果将备份路由引擎配置为检测主路由引擎中的激活信号丢失,则事件的顺序如下示例:
-
手动配置 25 秒的 激活时间 。
-
数据包转发引擎与主路由引擎的连接丢失且激活计时器过期后,数据包转发将中断。
-
激活丢失 25 秒后,将记录一条消息,并且备份路由引擎会尝试担任主要角色。当备份路由引擎处于活动状态时,将生成告警,并且显示屏将随路由引擎的当前状态进行更新。
-
备份路由引擎担任主要角色后,它将继续发挥主要角色。
配置平滑路由引擎切换时,激活信号将自动启用,并且故障切换时间设置为 2 秒(在 M20 路由器上为 4 秒)。您无法手动重置激活时间。
当您停止或重新启动主路由引擎时,Junos OS 会将激活时间重置为 360 秒,并且备份路由引擎在 360 秒激活时间段到期之前不会接管主要角色。
如果以前的主路由引擎在故障切换到备份路由引擎后恢复服务,则该将成为备份路由引擎。要将主状态还原为之前的主路由引擎,可以使用 request chassis routing-engine master switch operational mode 命令。
如果在任何时候其中一个路由引擎不存在,则无论冗余的配置方式如何,其余路由引擎都会自动成为主引擎。
在主路由引擎上检测到 em0 接口故障时
配置备份路由引擎后,如果主路由引擎上的 em0 接口出现故障,则指示其自动担任主要角色。要启用此功能,请在[edit chassis redundancy failover]
层次结构级别包含on-re-to-fpc-stale
语句。
[edit chassis redundancy failover] on-re-to-fpc-stale;
当软件进程失败时
要配置在软件进程失败时自动切换到备份路由引擎,请在[edit system processes process-name]
层次结构级别包含以下failover other-routing-engine
语句:
[edit system processes process-name] failover other-routing-engine;
process-name 是有效的进程名称之一。如果为某个进程配置了此语句,并且该进程在 30 秒内失败四次,则路由器将从其他路由引擎重新启动。层次结构级别上提供 [edit system processes]
的另一个语句是 failover alternate-media。有关备用介质选项的信息,请参阅 路由设备的 Junos OS 管理库。
手动切换 路由引擎 主要角色
要手动切换路由引擎主要角色,请使用以下命令之一:
-
在备份路由引擎上,发出
request chassis routing-engine master acquire
命令,请求备份路由引擎扮演主要角色。 -
在主路由引擎上,使用
request chassis routing-engine master release
命令请求备份路由引擎扮演主要角色。 -
在任一路由引擎上,通过发出
request chassis routing-engine master switch
命令切换主要角色。
验证路由引擎冗余状态
在 /var/log/mastership 中为冗余日志记录提供了一个单独的日志文件。要查看日志,请使用命令file show /var/log/mastership
。表 1 列出了主要角色日志事件代码和说明。
事件代码 |
描述 |
---|---|
E_NULL = 0 |
该事件为 null 事件。 |
E_CFG_M |
路由引擎配置为主引擎。 |
E_CFG_B |
路由引擎配置为备份。 |
E_CFG_D |
路由引擎配置为禁用。 |
E_MAXTRY |
已超过获取或释放主要角色的最大尝试次数。 |
E_REQ_C |
已发送声明主角色请求。 |
E_ACK_C |
已收到声明主要角色确认。 |
E_NAK_C |
未确认声明主要角色请求。 |
E_REQ_Y |
请求确认主要角色。 |
E_ACK_Y |
确认主要角色。 |
E_NAK_Y |
未确认主要角色。 |
E_REQ_G |
发布主角色请求由路由引擎发送。 |
E_ACK_G |
路由引擎确认释放主要角色。 |
E_CMD_A |
命令 请求机箱路由引擎主获取 是从备份路由引擎发出的。 |
E_CMD_F |
命令 请求机箱路由引擎主获取力 是从备份路由引擎发出的。 |
E_CMD_R |
命令 请求机箱路由引擎主版本 是从主路由引擎发出的。 |
E_CMD_S |
命令请求 机箱路由引擎主交换机 是从路由路由引擎发出的。 |
E_NO_ORE |
未检测到其他路由引擎。 |
E_TMOUT |
请求超时。 |
E_NO_IPC |
路由引擎连接丢失。 |
E_ORE_M |
其他路由引擎状态已更改为主。 |
E_ORE_B |
其他路由引擎状态已更改为备份。 |
E_ORE_D |
其他路由引擎状态已更改为已禁用。 |
检查整体 CPU 和内存使用情况
目的
您可以显示有关在路由器上运行并具有控制终端的软件进程的详尽系统进程信息。此命令等同于 UNIX top 命令。但是,UNIX top 命令显示实时内存使用情况,内存值不断变化,而 show system processes extensive 命令提供给定时刻内存使用情况的快照。
行动
要检查总体 CPU 和内存使用情况,请输入以下 Junos OS 命令行界面 (CLI) 命令:
user@host> show system processes extensive
示例输出
user@R1> show system processes extensive
last pid: 5251; load averages: 0.00, 0.00, 0.00 up 4+20:22:16 10:44:41 58 processes: 1 running, 57 sleeping Mem: 57M Active, 54M Inact, 17M Wired, 184K Cache, 35M Buf, 118M Free Swap: 512M Total, 512M Free PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 4480 root 2 0 3728K 1908K select 231:17 2.34% 2.34% chassisd 4500 root 2 0 1896K 952K select 0:36 0.00% 0.00% fud 4505 root 2 0 1380K 736K select 0:35 0.00% 0.00% irsd 4481 root 2 0 1864K 872K select 0:32 0.00% 0.00% alarmd 4488 root 2 0 8464K 4600K kqread 0:28 0.00% 0.00% rpd 4501 root 2 -15 1560K 968K select 0:21 0.00% 0.00% ppmd 4510 root 2 0 1372K 812K select 0:13 0.00% 0.00% bfdd 5 root 18 0 0K 0K syncer 0:09 0.00% 0.00% syncer 4485 root 2 0 3056K 1776K select 0:07 0.00% 0.00% snmpd 4499 root 2 0 3688K 1676K select 0:05 0.00% 0.00% kmd 4486 root 2 0 3760K 1748K select 0:05 0.00% 0.00% mib2d 4493 root 2 0 1872K 928K select 0:03 0.00% 0.00% pfed 4507 root 2 0 1984K 1052K select 0:02 0.00% 0.00% fsad 4518 root 2 0 3780K 2400K select 0:02 0.00% 0.00% dcd 8 root -18 0 0K 0K psleep 0:02 0.00% 0.00% vmuncachedaemo 4 root -18 0 0K 0K psleep 0:02 0.00% 0.00% bufdaemon 4690 root 2 0 0K 0K peer_s 0:01 0.00% 0.00% peer proxy 4504 root 2 0 1836K 968K select 0:01 0.00% 0.00% dfwd 4477 root 2 0 992K 320K select 0:01 0.00% 0.00% watchdog 4354 root 2 0 1116K 604K select 0:01 0.00% 0.00% syslogd 4492 root 10 0 1004K 400K nanslp 0:01 0.00% 0.00% tnp.sntpd 4446 root 10 0 1108K 616K nanslp 0:01 0.00% 0.00% cron 4484 root 2 0 15716K 7468K select 0:01 0.00% 0.00% mgd 4494 root 2 15 2936K 2036K select 0:01 0.00% 0.00% sampled 5245 remote 2 0 8340K 3472K select 0:01 0.00% 0.00% cli 2 root -18 0 0K 0K psleep 0:00 0.00% 0.00% pagedaemon 4512 root 2 0 2840K 1400K select 0:00 0.00% 0.00% l2tpd 1 root 10 0 852K 580K wait 0:00 0.00% 0.00% init 5244 root 2 0 1376K 784K select 0:00 0.00% 0.00% telnetd 4509 root 10 0 1060K 528K nanslp 0:00 0.00% 0.00% eccd 4508 root 2 0 2264K 1108K select 0:00 0.00% 0.00% spd 2339 root 10 0 514M 17260K mfsidl 0:00 0.00% 0.00% newfs 4497 root 2 0 2432K 1152K select 0:00 0.00% 0.00% cosd 4490 root 2 -15 2356K 1020K select 0:00 0.00% 0.00% apsd 4496 root 2 0 2428K 1108K select 0:00 0.00% 0.00% rmopd 4491 root 2 0 2436K 1104K select 0:00 0.00% 0.00% vrrpd 4487 root 2 0 15756K 7648K sbwait 0:00 0.00% 0.00% mgd 5246 root 2 0 15776K 8336K select 0:00 0.00% 0.00% mgd 0 root -18 0 0K 0K sched 0:00 0.00% 0.00% swapper 5251 root 30 0 21732K 840K RUN 0:00 0.00% 0.00% top 4511 root 2 0 1964K 908K select 0:00 0.00% 0.00% pgmd 4502 root 2 0 1960K 956K select 0:00 0.00% 0.00% lmpd 4495 root 2 0 1884K 876K select 0:00 0.00% 0.00% ilmid 4482 root 2 0 1772K 776K select 0:00 0.00% 0.00% craftd 4503 root 10 0 1040K 492K nanslp 0:00 0.00% 0.00% smartd 6 root 28 0 0K 0K sleep 0:00 0.00% 0.00% netdaemon 4498 root 2 0 1736K 932K select 0:00 0.00% 0.00% nasd 4506 root 2 0 1348K 672K select 0:00 0.00% 0.00% rtspd 4489 root 2 0 1160K 668K select 0:00 0.00% 0.00% inetd 4478 root 2 0 1108K 608K select 0:00 0.00% 0.00% tnetd 4483 root 2 0 1296K 540K select 0:00 0.00% 0.00% ntpd 4514 root 3 0 1080K 540K ttyin 0:00 0.00% 0.00% getty 4331 root 2 0 416K 232K select 0:00 0.00% 0.00% pccardd 7 root 2 0 0K 0K pfeacc 0:00 0.00% 0.00% if_pfe_listen 11 root 2 0 0K 0K picacc 0:00 0.00% 0.00% if_pic_listen 3 root 18 0 0K 0K psleep 0:00 0.00% 0.00% vmdaemon 9 root 2 0 0K 0K scs_ho 0:00 0.00% 0.00% scs_housekeepi 10 root 2 0 0K 0K cb-pol 0:00 0.00% 0.00% cb_poll
意义
示例输出显示路由引擎和软件进程使用的虚拟内存量。例如,118 MB 的物理内存是空闲的,512 MB 的交换文件是空闲的,表示路由器没有内存不足。进程字段显示 58 个进程中的大多数处于休眠状态,其中 1 个进程处于运行状态。正在运行的进程或命令是顶层命令。
命令列列出了当前正在运行的进程。例如,机箱进程 (chassisd) 的进程标识符 (PID) 为 4480,当前优先级 (PRI) 为 2。优先级数字越低,表示优先级越高。
这些进程根据活动级别列出,最活跃的进程位于输出的顶部。例如,机箱 (chassisd) 进程消耗的 CPU 资源量最大,为 2.34%。
内存字段 (Mem) 显示由路由引擎管理并由进程使用的虚拟内存。内存字段中的值以 KB 和 MB 为单位,细分如下:
-
活动 - 程序分配并实际使用的内存。
-
Inact - 已分配但最近未使用的内存或程序释放的内存。非活动内存仍映射在一个或多个进程的地址空间中,因此计入这些进程的常驻集大小。
-
有线 — 不符合交换条件的内存,通常用于路由引擎内存结构或进程物理锁定的内存。
-
缓存 - 不与任何程序关联且在重用前不需要交换的内存。
-
BOF - 用于保存最近从磁盘调用的数据的内存缓冲区的大小。
-
可用 - 不与任何程序关联的内存。进程释放的内存可以变为“非活动”、“缓存”或“可用”,具体取决于进程用于释放内存的方法。
当系统处于内存压力下时,分页过程会重用可用页、缓存页、非活动页和活动页(如有必要)中的内存。
“交换”字段显示可用的交换空间总量以及未使用的交换空间量。在此示例中,输出显示 512 MB 的总交换空间和 512 MB 的可用交换空间。
最后,列出每个进程的内存使用情况。SIZE 字段表示虚拟地址空间的大小,RES 字段表示物理内存中程序的数量,也称为 RSS 或 Resident Set Size。在示例输出中,机箱 (chassisd) 进程具有 3728 KB 的虚拟地址空间和 1908 KB 的物理内存。
初始路由引擎配置示例
您可以使用配置组来确保为每个路由路由引擎使用正确的 IP 地址,并为两个路由引擎维护一个配置文件。
以下示例使用单独的 IP 地址定义配置组 re0 和 re1 。这些已知的配置组名称仅在相应的路由引擎上生效。
groups { re0 { system { host-name my-re0; } interfaces { fxp0 { description "10/100 Management interface"; unit 0 { family inet { address 10.255.2.40/24; } } } } } re1 { system { host-name my-re1; } interfaces { fxp0 { description "10/100 Management interface"; unit 0 { family inet { address 10.255.2.41/24; } } } } } }
您可以为两个路由引擎上的管理以太网接口(此例中为 fxp0 )分配一个附加 IP 地址。分配的地址使用 仅主 关键字,并且两个路由引擎相同,确保可以随时访问主路由引擎的 IP 地址。该地址仅在主路由引擎的管理以太网接口上处于活动状态。在路由引擎切换期间,地址将移至新的主路由引擎。
例如, 在 re0 上,配置为:
[edit groups re0 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.132/25; } }
在 re1 上,配置为:
[edit groups re1 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.133/25; } }
有关双路由引擎初始配置的详细信息,请参阅《 Junos OS 软件安装和升级指南。有关在两个路由引擎上使用 master-only 关键字为管理以太网接口分配额外 IP 地址的更多信息,请参阅 Junos OS CLI 用户指南。
另见
将配置文件从一个路由引擎复制到另一个
您可以使用控制台端口或管理以太网端口在两个路由引擎之间建立连接。然后,您可以复制或使用 FTP 将配置从主设备传输到备份设备,然后加载文件并以正常方式提交。
要使用管理以太网端口连接到其他路由引擎,请发出以下命令:
user@host> request routing-engine login (other-routing-engine | re0 | re1)
在 TX Matrix 路由器上,要使用管理以太网端口连接到其他路由引擎,请发出以下命令:
user@host> request routing-engine login (backup | lcc number | master | other-routing-engine | re0 | re1)
有关命令 request routing-engine login
的更多信息,请参阅 CLI 资源管理器。
要将配置文件从一个路由引擎复制到另一个,请发出 file copy
以下命令:
user@host> file copy source destination
在本例中, source 是配置文件的名称。这些文件存储在目录 /config 中。活动配置为 /config/juniper.conf,较早的配置位于 /config/juniper.conf {1...9} 中。 destination 是另一个路由引擎上的文件。
以下示例将配置文件从路由引擎 0 复制到路由引擎 1:
user@host> file copy /config/juniper.conf re1:/var/tmp/copied-juniper.conf
以下示例将配置文件从 TX Matrix 路由器上的路由引擎 0 复制到路由引擎 1:
user@host> file copy /config/juniper.conf scc-re1:/var/tmp/copied-juniper.conf
要加载配置文件,请在[edit]
层次结构级别输入load replace
命令:
user@host> load replace /var/tmp/copied-juniper.conf
请确保将路由引擎 0 上的管理以太网接口配置中指定的任何 IP 地址更改为适合路由引擎 1 的地址。
另见
从其他路由引擎加载软件包
您可以使用现有 request system software add package-name
命令将包从其他路由引擎加载到本地路由引擎:
user@host> request system software add re(0|1):/filename
在 URL 的 re 部分,指定其他路由引擎的编号。 filename 在 URL 的部分中,指定包的路径。软件包通常位于 /var/sw/pkg 目录中。