配置回退
配置回退能够快速、方便地将配置一次性批量回退到用户指定的历史配置状态,它是一项提高系统配置可靠性、提升运维效率的技术。
基本概念
配置:用户可见的而且可修改的业务或者物理资源的规格/参数的集合。
配置操作:用户为满足业务需求而对系统的配置进行的一系列新增、删除、修改等操作行为。
配置回退点:用户每次进行配置操作并提交后,设备都会自动保存一个配置回退点。它记录了用户本次配置后系统的配置状态,而且还可以作为配置回退所需的配置状态点。
应用场景
用户进行配置操作并且提交配置后,会检查当前系统的运行状态。如果发现是由于配置操作而导致系统运行产生了错误、故障或者其他超出预期的结果(如业务超载、业务冲突、设备内存不够等)时,需要恢复原来的配置。通常情况下,用户只能逐条手动进行删除或者修改,而不能对配置进行批量恢复。
配置回退功能可以解决上述问题:
- 在用户配置操作的过程中,系统会自动记录配置变化。
- 用户可以查看先前进行的业务相关的配置,通过简单的操作便可快速方便的撤销之前一系列的配置,使系统回到先前的配置状态。
例如:用户做了四次配置操作并提交,依次形成A,B,C,D四个连续回退点。此时用户发现b的配置有错误,可以执行配置回退,将系统配置回退至B提交前、A提交后的状态。
这样大大提高了维护效率、降低了维护成本,而且降低了逐条手动修改配置时的出错概率。
原理描述
如图8-3所示,用户进行了N次配置操作。其中,配置回退点N是用户最近一次配置操作并提交所对应的配置回退点。用户可以按照下列顺序进行配置回退:
用户通过查看历史的配置信息与当前生效的配置信息的差异,确定出要回退到哪个点,假设用户确定要回退到X。
- 用户执行配置回退操作,使系统回退至配置回退点X生成时的历史配置状态,同时系统生成配置回退点N+1,并且用Rollback标识该回退点是由配置回退生成的。
此时,当前系统配置与配置回退点X生成时的系统配置一致。
但是,在配置回退过程中,使用尽力而为的方式进行回退。如果有配置回退失败,则系统会记录下回退失败的配置信息。
用户价值
配置回退功能在配置安全性与系统可维护性方面给用户带来了更大的方便,具体如下:
快速消除误配置操作对系统带来不良影响:用户由于错误操作,删除了系统中的业务配置,比如undo bgp,会导致所有与BGP相关的peer等配置被删除。此时用户可以通过配置回退功能,快速恢复相应的数据,使系统恢复误操作前的历史状态,减小误操作对系统的影响。
多特性测试时避免各个特性之间的相互干扰:用户在测试某个特性时,用户可以将与此特性相关的配置一次性提交,使系统对此特性只保存一个配置状态点。然后在测试其他特性的时候,通过回退功能,很方便地使系统回退到上一个特性在配置操作前的状态,清除上一个特性对本特性的影响。
配置差异的体现不受设备重启的影响:用户对设备进行重启后,配置状态点依然存在。如果重启后的配置和之前的配置有差异,那么系统也会自动生成一个非用户操作而产生的配置状态点。此时用户可以选择是否将系统回退到重启前未保存配置文件时的历史配置状态。