回退配置
背景信息
用户提交配置后,如果发现配置错误、配置产生故障或者此配置对网络产生了超出预期的结果而需要恢复原来的配置时,可以使用此功能。
- 立即生效模式:用户执行命令并回车后,系统就会检测当前配置和历史配置是否产生差异。如果有差异,系统就会提交用户的配置操作,并且生成配置回退点。这样可能会造成部署某一个特性就已经消耗了多个配置回退点。
- 两阶段生效模式:用户执行一系列配置命令后,必须输入commit [ trial [ time ] ] [ label label ] [ description description ]命令,系统才会检查当前配置和历史配置的差异,并且生成配置回退点,这样就可以实现对某个业务一系列命令配置的整体生效。而且,如果用户希望能够快速找到要回退的配置点,可以使用参数description description为此次配置添加简单的描述,便于以后查看。推荐使用此模式进行配置编辑和提交。
自动生成配置回退点功能默认使能,如需关闭此功能,请在系统视图下执行命令configuration checkpoint auto-save disable。
操作步骤
- 查看配置回退点的信息以及最近配置提交的配置变更。
执行命令display configuration commit list [ verbose ] [ number-of-commits | label ]查看所有配置回退点列表确认配置回退点是否生成、以及各回退点详细描述。
如果希望查看最近一个或者多个配置回退点的相关信息,可以使用number-of-commits参数指定个数。
执行命令display configuration commit changes [ at commit-id | since commit-id | last number-of-commits ]查看指定配置回退点的配置变更。由此可以分析如果执行回退,可能变化的配置有哪些,从而确定是否执行配置回退,以及如果配置回退会对系统产生造成哪些影响。
如果希望查看所有配置回退点的配置变更,在命令中不指定任何参数。
如果希望查看某个配置回退点的配置变更,可以使用at commit-id参数指定配置回退点。
如果希望查看从某个配置回退点开始到当前状态的配置变更,可以使用since commit-id参数指定配置回退点。
如果希望查看最近一次或者多次配置变更,可以使用last number-of-commits参数指定次数。
- 根据用户所需的历史配置状态进行配置回退。
执行命令return退回到用户视图,避免回退前用户还有数据未提交。
执行命令rollback configuration { to { commit-id commit-id | label label | file file-name } | last number-of-commits }选择配置回退点、配置回退用户标签、配置回退配置文件或者回退的配置次数进行配置回退,将系统回退至所需的历史配置状态。配置的回退包括:创建的配置会被删除、删除的配置会被重新创建、修改的配置会被改回到原值。
如果希望系统回退到某个配置回退点生成时的历史配置状态,可以使用commit-id commit-id参数指定配置回退点。
如果希望系统回退到指定用户标签点生成时的历史配置状态,可以使用label label参数指定配置回退用户标签。
如果希望系统回退到指定配置文件生成时的历史配置状态,可以使用file file-name参数指定配置回退配置文件。
如果希望系统回退到最近一个或者多个配置回退点之前的历史配置状态,可以使用last number-of-commits参数指定个数。
配置回退结束后,可以使用命令display configuration rollback result查看最近一次的回退结果。
- (可选)执行命令set configuration commit commit-id label label-string,设置配置回退点用户标签。
- (可选)执行命令clear configuration commit { commit-id label | oldest number-of-commits },用来删除系统中指定配置回退点的标签或者最早生成的配置回退点列表信息。
- (可选)执行命令clear configuration commit label label-name,用来删除指定用户标签的配置回退点。