05-配置文件管理
本章节下载: 05-配置文件管理 (237.07 KB)
目 录
配置文件管理是设备提供的用于管理配置文件的一项功能。它具有较好的命令行接口,方便用户对配置文件进行管理。
配置文件是命令行的集合。用户将当前配置(一条条命令行)保存到配置文件中,以便设备重启后,这些配置能够继续生效。另外,通过配置文件,用户可以非常方便地查阅配置信息也可以将配置文件上传/下载到别的设备,来实现设备的批量配置。
设备的配置按其作用的时间域分为两种:
设备上的配置分为以下三种:
设备在出厂时带有的配置称为出厂配置,用来保证设备在没有配置文件或者配置文件丢失、损坏的情况下正常启动。可以使用display default-configuration命令查看设备的出厂配置。
当设备启动时,根据读取的配置文件,进行初始化工作,该配置称为起始配置或者启动配置(startup-configuration);如果设备中没有配置文件,则系统在启动过程中使用缺省参数进行初始化。
与起始配置相对应,系统当前正在使用的配置称为当前配置(current-configuration)。它可能包括起始配置(如果起始配置在设备运行过程中没有被用户修改的话),还包括运行过程中用户追加的配置。当前配置存放在设备的临时存储器中,如果不保存,设备重启之后可能会失效。
配置文件为一个文本文件,其保存规则如下:
l 配置文件的内容为命令行,且只保存非缺省配置;
l 配置文件以命令视图为基本框架,同一命令视图的命令组织在一起,形成一节,节与节之间通常用空行或注释行隔开(以#开始的为注释行,空行或注释行可以是一行或多行);
l 文件中各节的安排顺序通常为:系统配置、接口配置、各种协议配置和用户界面配置;
l 以return结束。
存储介质上可以同时存放多个配置文件。用户可以将设备在多个使用环境下的配置保存成多个配置文件,当设备在网络中移动时,通过指定下次启动配置文件并重启设备,可以使设备以新的配置迅速适应切换后的网络环境,节省重新配置的工作量。而且多配置文件可以方便用户的备份、修改、恢复等操作,提高设备的可靠性。
设备将使用多个配置文件中的某个文件来启动设备,但用户可以根据需要配置两个下次启动配置文件,一个为主用(main)下次启动配置文件,一个为备用(backup)下次启动配置文件。设备重启后将使用主用下次启动配置文件来启动设备,当主用下次启动配置文件损坏或者丢失的时候,系统会自动使用备用下次启动配置文件来启动或配置设备。相对于只支持一个下次启动配置文件的设备(即不支持主备用下次启动配置文件的设备),这种双重保护的方式增强了设备的安全性和可靠性。
同一时刻,设备上最多只能有一个主用下次启动配置文件和一个备用下次启动配置文件,这两个文件也可以不指定(不指定时为NULL),也可以将两个文件指定为同一个配置文件。
主用/备用下次启动配置文件的设置方式有两种:
l 保存当前配置时设置,具体配置请参见1.2 保存当前配置。
l 设置下次启动配置文件时设置,具体配置请参见1.4 设置下次启动配置文件。
系统启动时,配置文件的选择遵循以下规则:
如果主用下次启动配置文件存在,则以主用下次启动配置文件初始化配置。
如果主用下次启动配置文件不存在,备用下次启动配置文件存在,则以备用下次启动配置文件初始化配置;如果备用下次启动配置文件也不存在,则以空配置启动(空配置启动指使用设备的出厂配置启动,设备空配置启动后,可使用display current-configuration命令查看)。
用户通过命令行可以修改设备的当前配置,而这些配置是暂时的,如果要使当前配置在系统下次重启时仍然有效,在重启设备前,需要将当前配置保存到配置文件中。
表1-1 保存当前配置任务简介
配置任务 |
说明 |
详细配置 |
使能配置文件同步保存功能 |
可选 |
|
保存当前配置 |
必选 |
l 使能配置文件同步保存功能后,当用户执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all+回车”操作保存当前配置时,Master和Slave会同时自动把当前配置保存到指定的配置文件中,并将该文件配置为设备的下次启动文件,以保证Master和Slave配置文件内容的一致;
l 如果没有使能配置文件同步保存功能,则当用户执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all+回车”操作保存当前配置时,只有Master自动把当前配置保存到指定的配置文件中,并将该文件配置为Master的下次启动文件,Slave不会执行保存操作,也不会重新设置Slave的下次启动文件。
表1-2 使能配置文件同步保存功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能配置文件同步保存功能 |
slave auto-update config |
可选 缺省情况下,配置文件同步保存功能处于使能状态 |
执行“save filename+回车”操作,系统只按指定路径保存当前配置,备用主控板不执行同步保存操作。
配置的保存方式有两种:
l 快速保存方式,执行不带safely参数的save命令。这种方式保存速度快,但是保存过程中如果出现设备重启、断电等问题,原有配置文件可能会丢失。
l 安全方式,执行带safely参数的save命令。这种方式保存速度慢,即使保存过程中出现设备重启、断电等问题,原有配置文件仍然会保存到设备中,不会丢失。
在电源稳定程度较好的环境中,推荐用户使用快速保存方式保存配置文件;在电源环境恶劣或者远程维护等情况,推荐用户使用安全模式保存配置文件。
表1-3 保存当前配置
操作 |
命令 |
说明 |
将当前配置保存到指定文件,但不会将该文件设置为下次启动配置文件 |
save file-url [ all | slot slot-number ] |
二者必选其一 该命令可在任意视图下执行 |
将当前配置保存到所有成员设备存储介质的根目录下,并将该文件设置为下次启动配置文件 |
save [ safely ] [ backup | main ] [ force ] |
l 配置文件名后缀必须为“.cfg”。
l 执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all+回车”操作,是对所有成员设备同时生效还是只对Master生效,与配置文件的同步保存功能是否使能有关,详细介绍请参见“1.2.2 使能配置文件同步保存功能”。
l save [ safely ]和save [ safely ] main命令执行效果相同:都会在保存当前配置的同时,将指定文件设置为主用下次启动配置文件。
l 执行save [ backup | main ]命令时,如果出现设备重启、断电等问题,可能会造成下次启动配置文件丢失,这时,设备将以空配置启动。设备启动后,用户需要重新设置下次启动配置文件(请参见“1.4 设置下次启动配置文件”)。
配置回滚是将当前的配置回退到指定配置文件中的配置状态。该配置文件必须是有效的.cfg文件,它可以使用手工/自动备份功能或者save命令生成,也可以是别的设备的可兼容配置文件,推荐使用手工/自动备份功能生成。配置回滚主要应用于:
l 当前配置错误,但错误配置太多不方便定位或逐条回退,需要将当前配置回滚到某个正确的配置状态。
l 设备的应用环境变化,需要使用某个配置文件中的配置信息运行,在不重启设备的情况下将当前配置回滚到指定配置文件的状态。
配置回滚的基本步骤如下:
(1) 用户必须先设置备份配置文件的路径和文件名前缀;
(2) 系统将当前配置以指定的文件名(前缀+序号)备份到指定路径。这个备份有两种方式:一种是系统按照一定的时间周期自动备份,另一种是用户用命令行在必要时手工触发备份;
(3) 将当前配置回滚到指定配置文件的状态。配置回滚时,系统会比较、处理当前配置和配置文件中配置的差异:
l 对于当前配置与回滚配置文件中的相同命令,回滚操作将不做处理;
l 对于在当前配置但不在回滚配置文件的命令,回滚操作将取消当前配置中的配置命令,即执行相应的undo命令;
l 对于存在于回滚配置文件但不存在于当前配置的命令,回滚操作将执行这些命令;
l 对于当前配置和回滚配置文件中不同的命令,配置回滚将先取消这些配置,再执行回滚配置文件中的相应命令。
当前配置只会备份到Master,回滚操作也只在Master上进行。但配置回滚的相应配置会同步给Slave,以保证当Master变更后,配置回滚功能能继续运行。
表1-4 配置回滚配置任务简介
配置任务 |
说明 |
详细配置 |
设置备份参数 |
必选 |
|
自动备份当前配置 |
二者至少选其一 |
|
手工备份当前配置 |
||
配置回滚 |
必选 |
自动或手动备份当前配置前必须设置备份配置文件的保存路径和文件名前缀。设置这些参数后,备份当前配置时,系统会将当前的配置以指定的文件名(格式为前缀_序号.cfg)保存到指定的路径。备份配置文件名形如20080620archive_1.cfg、20080620archive_2.cfg,备份序号由设备自动生成,从1开始编号,依次加1,累加至1000后又重新从1开始。修改备份配置的保存路径、文件名前缀,或设备重启后,备份序号也会从1开始重新自动编号,备份配置文件将重新计数,原路径下的备份配置文件将被视为普通配置文件,不再作为备份配置文件处理,查看备份配置文件时将不会显示此类文件的信息。
系统内能够保存的备份配置文件的数目有一定限制。当备份配置文件数目到达上限,又需要保存新的备份配置文件时,系统会删除保存时间最早的备份文件,以保存新的备份配置文件。
表1-5 设置备份参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置备份配置文件的保存路径和文件名前缀 |
archive configuration location directory filename-prefix filename-prefix |
必选 缺省情况下,系统没有配置备份配置文件的保存路径和文件名,也不会定时备份配置 |
系统允许保存的备份配置文件的最大数 |
archive configuration max file-number |
可选 缺省情况下,系统最多允许保存5个备份配置文件 |
l 配置备份和配置回滚操作只在Master上执行。为了Master变更后,配置回滚功能能在新Master上继续生效,执行archive configuration location命令会在Master和Slave上同时设置备份配置文件的保存路径和文件名前缀,因此,该命令指定的路径必须在Master和Slave上均存在,且路径参数中不能包含成员编号。
l 执行undo archive configuration location命令后,用户将不能进行手工备份当前配置,系统也不再自动备份当前配置,archive configuration interval和archive configuration max的配置也会恢复到缺省情况,已保存的备份配置文件记录也会被清除。
l file-number的具体数值应根据系统的空余存储空间大小来决定。对于存储空间较小的设备,建议将该参数设为较小值。
用户可以使用本特性按照一定的时间间隔自动备份当前配置,使用display archive configuration命令可以查看到备份配置文件的名称和备份时间,以便用户可以将当前配置回退到某一历史时刻。
使用本特性时应根据设备存储介质的性能和修改配置的频繁程度来设置自动备份的时间间隔:
l 对于不会频繁修改配置的设备,建议按需手动备份当前配置;
l 对于使用低速存储介质(如Flash)的设备,建议不进行自动备份配置,或设置备份时间间隔大于1440分钟(24小时);
l 对于使用高速存储介质,且配置经常修改的设备,可以设置较小的备份时间间隔。
表1-6 自动备份当前配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能自动备份当前配置功能,并设置自动备份的时间间隔 |
archive configuration interval minutes |
可选 缺省情况下,系统不会自动备份当前配置 |
设置自动备份配置时间间隔前必须指定备份配置文件的保存路径和文件名前缀。
因为自动备份当前配置需要占用一定的系统资源,如果备份频率较高,对系统性能的影响也较大。因此,在设备维护过程中配置比较稳定(即不会频繁修改配置)的情况下,建议关闭自动备份功能,使用手工备份。
另外,自动备份是按照一定的时间周期进行的,手工备份能立即备份当前配置。当需要对设备进行步骤复杂的配置时,可以在修改配置前手工备份当前配置。以便配置过程中出现失败时,可以使用已备份的配置直接将当前配置回滚至配置改变前的状态。
表1-7 手工备份当前配置
操作 |
命令 |
说明 |
手工备份当前配置 |
archive configuration |
必选 该命令在用户视图下执行 |
手工保存备份配置前必须指定备份配置的保存路径和文件名前缀,否则备份失败。
表1-8 配置回滚
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置回滚 |
configuration replace file filename |
必选 |
配置回滚期间(即系统在执行configuration replace file命令时)不能重启成员设备,否则可能会造成配置回滚失败。另外,命令能否回滚成功还由命令的具体处理决定,存在以下情况时,回滚可能失败(若某条命令回滚失败,则会跳过该命令,直接处理下一条命令):
l 配置命令不支持完整undo命令,即直接在配置命令前添加undo关键字构成的命令与配置命令对应的原undo命令形式不一致,设备不识别。
l 配置不能取消(如硬件相关的命令)。
l 若不同视图下的各配置命令存在依赖关系,命令可能执行失败。
l 若使用的配置文件不是由save命令或archive configuration命令生成的完整文件,或是不同类型设备的配置文件,配置回滚可能不能完全恢复至配置文件中的配置状态。因此,需要用户确保回滚配置文件中配置的正确性和与当前设备的兼容性。
l configuration replace file filename命令中指定的配置文件只能是明文配置文件,不能是被加密的配置文件。否则,会导致配置回滚出错。
下次启动配置文件是指设备下次启动时使用的配置文件。设置下次启动配置文件有两种方式:
l 使用save命令。将当前配置保存到指定配置文件时,使用交互方式,系统会自动把该文件设置为设备的主用下次启动配置文件。
l 使用专用命令,请参见表1-9。
操作 |
命令 |
说明 |
配置所有成员设备的下次启动配置文件 |
startup saved-configuration cfgfile [ backup | main ] |
必选 该命令在用户视图下执行 |
配置文件必须以“.cfg”作为扩展名,启动配置文件必须存放在存储设备的根目录下。
备份下次启动配置文件特性用于将设备下次启动配置文件备份至TFTP服务器上。备份操作的对象是主用下次启动配置文件。
表1-10 备份下次启动配置文件
操作 |
命令 |
说明 |
将设备的下次启动配置文件备份到指定的TFTP服务器 |
backup startup-configuration to dest-addr [ dest-filename ] |
必选 该命令在用户视图下执行 |
在执行配置文件的备份操作前,请:
l 保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行备份操作的客户端设备已获得了相应的读写权限。
l 在用户视图下使用display startup命令查看一下设备是否已经设置了下次启动配置文件。若下次启动配置文件设置为NULL,或者所设置的配置文件不存在,备份操作将会失败。
用户通过命令可以删除设备中的下次启动配置文件。可以只删除主用下次启动配置文件,或者只删除备用下次启动配置文件,但如果当前设备的主备用下次启动配置文件相同,仅执行一次删除操作,系统只会将相应的下次启动配置文件设置为NULL,不会删除该文件。
出现以下情况时,用户可能需要删除设备中的下次启动配置文件:
l 在设备软件升级之后,系统软件和配置文件不匹配。
l 设备中的配置文件被破坏(常见原因是加载了错误的配置文件)。
下次启动配置文件被删除后,设备下次上电时,系统将采用空配置进行初始化。
表1-11 删除设备中的下次启动配置文件
操作 |
命令 |
说明 |
删除设备中的下次启动配置文件 |
reset saved-configuration [ backup | main ] |
必选 该命令在用户视图下执行 |
本特性会将配置文件从所有成员设备上彻底删除,所以请慎用该命令。
恢复下次启动配置文件特性用于将TFTP服务器上保存的指定配置文件下载到所有成员设备存储介质的根目录下,并设置为所有成员设备的下次启动配置文件。
表1-12 恢复下次启动配置文件
操作 |
命令 |
说明 |
恢复下次启动配置文件 |
restore startup-configuration from src-addr src-filename |
必选 该命令在用户视图下执行 |
l 恢复操作的对象是主用下次启动配置文件。
l 在执行配置文件的恢复操作前,请保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行恢复操作的客户端设备已获得了相应的读写权限。
l 该命令执行成功后,用户可以在用户视图下使用display startup命令查看设备下次启动配置文件名是否与filename参数保持一致。
在完成上述配置后,在任意视图下执行display命令可以显示设备的当前配置和起始配置情况。用户可以通过查看显示信息验证配置的效果。
操作 |
命令 |
显示配置回滚功能的相关信息 |
display archive configuration [ | { begin | exclude | include } regular-expression ] |
查看当前生效的配置 |
display current-configuration [ [ configuration [ configuration ] | interface [ interface-type ] [ interface-number ] | exclude modules ] [ by-linenum ] [ | { begin | include | exclude } text ] ] [ | { begin | exclude | include } regular-expression ] |
显示设备的出厂配置 |
display default-configuration [ | { begin | exclude | include } regular-expression ] |
查看设备存储介质中保存的下次启动配置文件的内容 |
display saved-configuration [ by-linenum ] [ | { begin | exclude | include } regular-expression ] |
显示用于本次及下次启动的配置文件名 |
display startup [ | { begin | exclude | include } regular-expression ] |
查看当前视图下生效的配置 |
display this [ by-linenum ] [ | { begin | exclude | include } regular-expression ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!