4.6 硬件及软件操作的配置管理
Cisco IOS XR技术精要
本节介绍在不同的硬件及软件操作中IOS XR配置管理所扮演的角色。这些操作包括:
热插拔(OIR);
PIE的激活与卸载;
预配置;
路由器启动。
4.6.1 OIR操作中的配置管理
前面介绍过,在IOS XR中,配置是通过RDSFS复制到各个节点上的,但所有节点的初始原版配置是存放在CFS系统中的。所以,当拔出某块板卡时,所有存储在此节点上的配置都会丢失,不过,该节点的配置信息会被转移到CFS中的预配置区域。在插入MSC时,节点上的配置代理会变成活动状态,从CFS中下载节点配置,并在本地应用生效。这种设计是为大型系统中同时发生多个OIR操作而考虑的。
OIR操作中的配置管理可能由一块SPA子卡触发。常见的OIR场景包括:
更换同型号板卡;
更换成其他型号板卡(不同介质类型);
更换成高端口密度板卡(相同介质类型);
更换成低端口密度板卡(相同介质类型)。
1.Case 1:更换同型号板卡
对相同型号的SPA卡执行OIR操作,当SPA启动后,接口配置会自动恢复。
2.Case 2:更换成其他型号板卡
更换其他型号SPA卡(介质和端口密度都不相同)而执行OIR操作时,所有接口配置都会被删除;不过,配置平面配置如OSPF、BGP路由选择协议配置不受OIR操作影响。用户必须重新配置控制平面配置去移除旧接口类型。
3.Case 3:更换成高端口密度板卡
更换其他类似型号的SPA卡(介质类型相同,端口数量多)而执行OIR操作时,先前的端口配置会重新应用到新端口上。不过,新增的端口需要新建配置,并在控制平面中激活。例4-20示范了SPA卡的OIR操作对配置产生的影响。
例4-20 OIR更换成高端口密度节点
4.Case 4:更换成低端口密度板卡
更换其他类似型号的SPA卡(介质类型相同,端口数量少)而执行OIR操作时,新端口会自动应用先前的端口配置。相比OIR操作前缺失的端口会转变成预配置状态。控制平面会保存OIR前的所有端口信息,当然,预配置端口不会生效。例4-21示范了OIR更换SPA后配置输出的变化。
例4-21 OIR更换成低端口密度节点
在上面介绍的所有场景中,控制平面配置(如OSPF)对接口状态是没有感知的。因此,控制平面配置是不会被移到预配置中的,同理,预配置接口也不会出现在控制平面中。
4.6.2 PIE操作中的配置管理
在PIE安装的阶段,由于配置会发生变化,所以也离不开IOS XR的管理。PIE卸载会导致配置命名空间版本的改变,IOS XR会从路由器的running config中自动移除受影响的配置。类似地,PIE版本升级中的PIE激活操作也会影响路由器的running config。IOS XR会将移除的配置保存在以时间戳命名的配置文件中。
用户可以使用命令show configuration removed来查看被系统移除的配置,如例4-22所示。
例4-22 PIE卸载导致的配置移除
在PIE成功激活后,用户可以使用命令load与commit尝试将先前移除的不兼容配置重新应用到running config中,如例4-23所示。
例4-23 使用load和commit命令恢复配置
4.6.3 接口预配置
Cisco IOS XR中引入了一种全新的接口配置方式,使用户可以在未安装PLIM卡之前预先配置硬件和接口,这种技术被称为接口预配置(interface preconfiguration)。
预配置特性可应用在安装或更换MSC/SPA卡的环境中。工程师可以在物理硬件板卡未到位的情况下预先使用CLI命令做好硬件和接口配置。使用show命令查看路由器配置时可以发现所有预配置的接口都放置于预配置区域。当用户插入MSC或SPA卡后,对应接口的预配置信息会自动应用到系统中,成为路由器running config的一部分。
预配置特性减少了配置阶段的时间,并且接口解决了依赖硬件的问题(无需现场等待硬件安装),从而减少了更换硬件之后的业务中断时间。预配置特性只能应用在接口配置中。
例4-24示范了预配置特性的用法。
例4-24 预配置功能
4.6.4 配置模板
Cisco IOS XR中提供了配置模板特性,支持使用CLI命令创建配置模板,便于日后调用。这一特性可将多条通用命令打包到某个命名的模板中,这样终端用户可以直接调用配置模板,保证配置准确性的同时,也节省了用户的配置时间。配置模板特性具有很强的模块性和灵活性,可以使用CLI轻松配置。
IOS XR CLI不支持层次性(嵌套)的模板定义;也就是说,一个模板不能定义在另一个模板中。例4-25中定义了一个名为config_chapter的模板。
例4-25 模板配置
模板配置中,模板的主体是由一组CLI命令组成的。任何有效的配置命令都可以配置到模板中。在配置模板时,所有CLI特性如问号、命令补全,以及语法检查功能都是可用的。
例4-26定义了一个名为namechange的模板,其中主机名使用了变量参数1。应用模板的命令为apply-template < template-name > < parameter list >。
例4-26 使用变量参数的模板配置
4.6.5 路由器启动阶段的配置管理
在路由器启动阶段,默认情况下系统会使用最近一次commit后的主用寄存配置来恢复路由器配置。使用这种方式,免去了用户在IOS平台重启前,每次都需要执行wr mem的保存操作。
在系统执行reload命令之后,配置管理器会保存一份ASCII格式的running config,也就是前面介绍过的备用寄存配置(secondary persistent configuration)。当配置管理器检测到需要更新ASCII配置文件并自动同步时,系统会提示“Updating Commit Database. Please wait…[OK]”信息。当保存的提交基准点失效或无法恢复配置时,系统将选择ASCII备用配置将配置恢复到重启前的配置状态。
用户可以通过手动指定引导使用的配置文件目录的方式,更改路由器启动阶段系统配置管理的默认行为。方法是使用命令boot结合-a选项,或设置IOX_CONFIG_FILE变量2。手动设置配置文件后,路由器将从用户指定的路径恢复系统配置,而不是使用最近的running config。正因如此,系统中的running config以及先前已经录的检查点配置文件将失去作用,并会被系统删除。
在路由器使用running config恢复系统配置时,如果running config文件不存在或发生损坏,路由器将尝试使用ASCII备份配置(running config的一个副本)恢复配置。使用ASCII备份配置恢复系统配置后,所有的提交基准点都会被删除,也就是说,系统配置尽管可以在running config文件失效的情况下使用ASCII文件恢复,不过,用户将不能回退到先前的检查点。如果ASCII备份也不存在,路由器将恢复到出厂配置。
1译者注:变量参数均以$开头,后跟固定的系统变量。下一章中的EEM脚本部分,读者可以查看到大量以$开头的系统变量。“parameter list”指的是一次可以指定至多5个系统变量。
2译者注:这个是个ROMMON模式下的命令,用法为boot image-file-path –a config-file-path。IOX_CONFIG_FILE也是ROMMON下的变量,用法为IOX_CONFIG_FILE=
drive:path/file。