05-配置文件管理
本章节下载: 05-配置文件管理 (331.83 KB)
配置文件管理是设备提供的用于管理配置文件的一项功能。它具有较好的命令行接口,方便用户对配置文件进行管理。
配置文件是命令行的集合。用户将当前配置(一条条命令行)保存到配置文件中,以便设备重启后,这些配置能够继续生效。另外,通过配置文件,用户可以非常方便地查阅配置信息也可以将配置文件上传/下载到别的设备,来实现设备的批量配置。
软件版本中所有的软件功能都被赋了一个初始值(软件功能缺省值),这些初始值的集合被称为“空配置”。
· 软件功能的缺省值可以是具体数值、功能开启/关闭状态、也可以为空值(为空值代表用户使用该功能时,需根据需要进行赋值)。
· 软件功能缺省值无法通过命令行直接进行查看,用户可通过查看产品当前软件版本的命令手册,了解各软件功能的缺省值。
为方便客户的使用,软件版本出厂时某些软件功能会被赋一个与初始值不一样的取值(软件功能出厂值),软件出厂值将被统一保存在一个文件中,该文件称为“缺省配置文件”。
· 软件功能出厂值与软件功能缺省值不同,不同型号的设备可以根据需要定制各自的出厂配置。
· 缺省配置文件被集成到了软件包*.bin中,用户可以通过display default-configuration命令查看当前软件版本中软件功能的出厂值。
设备中正在运行的软件功能的取值称为软件功能当前值(可以与软件功能缺省值一致,也可能通过配置后与软件功能缺省值不一致)。对软件功能进行配置、并对配置结果进行保存后,所有软件功能的取值都将被统一保存在一个文件中,该文件称为“配置文件”。
设备的flash/中可以同时存在多个配置文件,用户可以根据需要选择下次启动时采用哪个配置文件。根据配置文件的使用情况,可以分为如下几类。
· 当前配置文件:设备当前使用的配置文件。
· 下次主用启动配置文件:设备下次启动时优先使用的配置文件,
· 下次备用启动配置文件:设备下次启动时如果主用配置文件不可用,作为备用的启动配置文件。
· 其它配置文件:flash中除上述三类外的其它.cfg文件。
用户可以将设备在多个使用环境下的配置保存成多个配置文件。当设备在网络中移动时,通过指定下次启动配置文件并重启设备,可以使设备以新的配置迅速适应切换后的网络环境,节省重新配置的工作量。而且多配置文件可以方便用户的备份、修改、恢复等操作,提高设备的可靠性。
配置文件的后缀为.cfg,用户可以通过display saved-configuration命令查看设备下次启动配置文件中的具体软件功能配置:
· 软件功能缺省值,不会体现在配置文件中。
· 已进行了配置、但没有通过save命令进行保存的配置,不会体现在配置文件中。
用户可以通过display current-configuration命令查看设备中当前运行的配置:
· 软件功能当前值中,与软件功能缺省值一致的部分不会显示,与软件功能缺省值不一致的部分能够显示。
· 即使当前配置未通过save命令保存到配置文件中,也可以显示。
配置文件为一个文本文件,其保存规则如下:
· 配置文件的内容为命令行的完整形式;
· 配置文件以命令视图为基本框架,同一命令视图的命令组织在一起,形成一节,节与节之间通常用空行或注释行隔开(以#开始的为注释行,空行或注释行可以是一行或多行);
· 文件中各节的安排顺序通常为:系统配置、接口配置、各种协议配置和用户界面配置;
· 以return结束。
配置文件对内容和格式有严格定义,为保证配置文件的正确运行,请尽量使用设备自动生成的配置文件,不要随意手工修改配置文件。(执行save命令,设备会将当前配置自动生成配置文件)
图1-1 设备启动过程中配置文件的选择流程
设备启动时,若用户进入BootRom菜单并选择了Skip Current System Configuration选项,设备将采用软件的空配置方式进行启动。启动完成后,所有软件功能都将采用软件功能缺省值。
设备启动时,若既没有选择采用空配置进行启动、也没有指定的配置文件,则设备会采用缺省配置方式进行启动。启动完成后,缺省配置文件中赋了值的软件功能将采用软件功能出厂值,其它软件功能都将采用软件功能缺省值。
缺省配置文件被集成到了软件包*.bin中,用户可以通过display default-configuration命令查看当前软件版本中软件功能的出厂值。
设备启动时,若没有选择采用空配置进行启动、且有指定的配置文件,则设备会采用带配置方式进行启动。启动完成后,软件功能都将采用当前配置文件中的值。
· 如果采用带配置方式进行启动时存在主用配置文件,则设备启动运行时将采用主用配置文件中的值运行。
· 如果采用带配置方式进行启动时主用配置文件不可用,则设备启动运行时将采用备用配置文件中的值运行。
· 如果采用带配置方式进行启动时主备用配置文件均不可用,则设备将采用软件的缺省配置方式进行启动。
用户可以通过display current-configuration命令查看设备中当前运行的配置:
· 软件功能当前值中,与软件功能缺省值一致的部分不会显示,与软件功能缺省值不一致的部分能够显示。
· 即使当前配置未通过save命令保存到配置文件中,也可以显示。
用户通过命令行可以修改设备的当前配置,而这些配置是暂时的,如果要使当前配置在系统下次重启时仍然有效,在重启设备前,需要将当前配置保存到配置文件中。
表1-1 保存当前配置任务简介
配置任务 |
说明 |
详细配置 |
使能配置文件同步保存功能 |
可选 |
|
保存当前配置 |
必选 |
· 使能配置文件同步保存功能后,当用户执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all”操作保存当前配置时,Master和Slave会同时自动把当前配置保存到指定的配置文件中,并将该文件配置为设备的下次启动文件,以保证Master和Slave配置文件内容的一致;
· 如果没有使能配置文件同步保存功能,则当用户执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all”操作保存当前配置时,只有Master自动把当前配置保存到指定的配置文件中,并将该文件配置为Master的下次启动文件,Slave不会执行保存操作,也不会重新设置Slave的下次启动文件。
表1-2 使能配置文件同步保存功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能配置文件同步保存功能 |
slave auto-update config |
可选 缺省情况下,配置文件同步保存功能处于使能状态 |
配置的保存方式有两种:
· 快速保存方式,执行不带safely参数的save命令。这种方式保存速度快,但是保存过程中如果出现设备重启、断电等问题,原有配置文件可能会丢失。
· 安全方式,执行带safely参数的save命令。这种方式保存速度慢,即使保存过程中出现设备重启、断电等问题,原有配置文件仍然会保存到设备中,不会丢失。
在电源稳定程度较好的环境中,推荐用户使用快速保存方式保存配置文件;在电源环境恶劣或者远程维护等情况,推荐用户使用安全模式保存配置文件。
表1-3 保存当前配置
操作 |
命令 |
说明 |
将当前配置保存到指定文件,但不会将该文件设置为下次启动配置文件 |
save file-url [ all | slot slot-number ] |
二者必选其一 该命令可在任意视图下执行 |
将当前配置保存到所有成员设备存储介质的根目录下,并将该文件设置为下次启动配置文件 |
save [ safely ] [ backup | main ] [ force ] |
· 配置文件名后缀必须为“.cfg”。
· 执行“save [ safely ] [ backup | main ] [ force ]”或者“save filename all”操作,是对所有成员设备同时生效还是只对Master生效,与配置文件的同步保存功能是否使能有关,详细介绍请参见“1.2.2 使能配置文件同步保存功能”。
· save [ safely ]和save [ safely ] main命令执行效果相同:都会在保存当前配置的同时,将指定文件设置为主用下次启动配置文件。
· 执行save [ backup | main ]命令时,如果出现设备重启、断电等问题,可能会造成下次启动配置文件丢失,这时,设备将以出厂配置启动。设备启动后,用户需要重新设置下次启动配置文件(请参见“1.4 设置下次启动配置文件”)。
设备采用新软件版本启动时,默认会采用升级前的下次启动配置文件。如果下次启动配置文件为老软件版本的配置文件,当用户使用新软件版本完成了若干配置,并对当前版本的最新配置进行首次保存时,若在Master上执行“save [ safely ] [ backup | main ] [ force ]”命令,此时设备会检查新配置信息与当前配置文件的兼容性。若二者不兼容,新配置信息无法写入当前使用的老配置文件中,此时设备上会提示如下信息:
The configuration file flash:/config.cfg will be automatically backed up as flash:/_config_bak.cfg for a future version downgrading.
此时设备将进行如下操作:
· 对设备当前正在使用的老配置文件自动进行备份,以备版本降级时恢复设备的原有配置(例如,当前的配置文件名称为config.cfg,则设备将该文件自动备份为名称为_config_bak.cfg的文件,并将备份后的文件保存在Master及各Subordinate的Flash中)。
· 采用当前运行的配置生成新的配置文件,并用新配置文件直接覆盖当前正在使用的配置文件
如果当前配置文件自动备份的过程中,出现IRF中某成员设备备份失败(其他成员设备备份不受影响)。设备将提示用户选择后续的操作方式。
· 放弃保存新版本上的所有配置:选择此操作方式,则所有成员设备不会保存当前运行的所有配置。
· 采用当前运行的配置生成新的配置文件,并用新配置文件直接覆盖当前正在使用的配置文件:选择此操作方式,升级前的老软件版本的配置文件将丢失。此时需要手工将Master上备份的老配置文件_XXX_bak.cfg拷贝到该成员设备的flash中,以确保后续该成员设备也能够顺利的降级回老版本。
· 在保存配置文件时请确保各成员设备Flash有足够的空间并且自动备份文件名长度小于最大文件名长度(91个字符),否则会导致老版本配置文件备份失败。
· 如果设备需从当前的新软件版本降级回老软件版本时,首先要检查各成员设备上是否存在老版本的配置文件_XXX_bak.cfg。如果存在,需在降级之前手工指定各成员的下次启动配置文件采用老版本的配置文件,否则下次启动配置文件不会采用老版本的配置文件。
· 若执行save filename [ all | slot ]命令保存当前配置时,设备不会备份老版本的配置文件。
配置回滚是将当前的配置回退到指定配置文件中的配置状态。该配置文件必须是有效的.cfg文件,它可以使用手工/自动备份功能或者save命令生成,也可以是别的设备的可兼容配置文件,推荐使用手工/自动备份功能生成。配置回滚主要应用于:
· 当前配置错误,但错误配置太多不方便定位或逐条回退,需要将当前配置回滚到某个正确的配置状态。
· 设备的应用环境变化,需要使用某个配置文件中的配置信息运行,在不重启设备的情况下将当前配置回滚到指定配置文件的状态。
配置回滚的基本步骤如下:
(1) 用户必须先设置备份配置文件的路径和文件名前缀;
(2) 系统将当前配置以指定的文件名(前缀+序号)备份到指定路径。这个备份有两种方式:一种是系统按照一定的时间周期自动备份,另一种是用户用命令行在必要时手工触发备份;
(3) 将当前配置回滚到指定配置文件的状态。配置回滚时,系统会比较、处理当前配置和配置文件中配置的差异:
· 对于当前配置与回滚配置文件中的相同命令,回滚操作将不做处理;
· 对于在当前配置但不在回滚配置文件的命令,回滚操作将取消当前配置中的配置命令,即执行相应的undo命令;
· 对于存在于回滚配置文件但不存在于当前配置的命令,回滚操作将执行这些命令;
· 对于当前配置和回滚配置文件中不同的命令,配置回滚将先取消这些配置,再执行回滚配置文件中的相应命令。
当前配置只会备份到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 |
可选 缺省情况下,系统最多允许保存10个备份配置文件 |
· 为了Master变更后,配置回滚功能能在新Master上继续生效,请确保archive configuration location命令中指定的路径必须在Master和Slave上均存在,且路径参数中不能包含成员编号。
· 执行undo archive configuration location命令后,用户将不能进行手工备份当前配置,系统也不再自动备份当前配置,archive configuration interval和archive configuration max的配置也会恢复到缺省情况,已保存的备份配置文件记录也会被清除。
· file-number的具体数值应根据系统的空余存储空间大小来决定。对于存储空间较小的设备,建议将该参数设为较小值。
用户可以使用本特性按照一定的时间间隔自动备份当前配置,使用display archive configuration命令可以查看到备份配置文件的名称和备份时间,以便用户可以将当前配置回退到某一历史时刻。
使用本特性时应根据设备存储介质的性能和修改配置的频繁程度来设置自动备份的时间间隔:
· 对于不会频繁修改配置的设备,建议按需手动备份当前配置;
· 建议不进行自动备份配置,或设置备份时间间隔大于1440分钟(24小时);
表1-6 自动备份当前配置
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能自动备份当前配置功能,并设置自动备份的时间间隔 |
archive configuration interval minutes |
可选 缺省情况下,系统不会自动备份当前配置 |
设置自动备份配置时间间隔前必须指定备份配置文件的保存路径和文件名前缀。
因为自动备份当前配置需要占用一定的系统资源,如果备份频率较高,对系统性能的影响也较大。因此,在设备维护过程中配置比较稳定(即不会频繁修改配置)的情况下,建议关闭自动备份功能,使用手工备份。
另外,自动备份是按照一定的时间周期进行的,手工备份能立即备份当前配置。当需要对设备进行步骤复杂的配置时,可以在修改配置前手工备份当前配置。以便配置过程中出现失败时,可以使用已备份的配置直接将当前配置回滚至配置改变前的状态。
表1-7 手工备份当前配置
操作 |
命令 |
说明 |
手工备份当前配置 |
archive configuration |
必选 该命令在用户视图下执行 |
手工保存备份配置前必须指定备份配置的保存路径和文件名前缀,否则备份失败。
表1-8 配置回滚
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置回滚 |
configuration replace file filename |
必选 |
· 配置回滚期间(即系统在执行configuration replace file命令时)不能重启成员设备,否则可能会造成配置回滚失败。另外,命令能否回滚成功还由命令的具体处理决定,存在以下情况时,回滚可能失败(若某条命令回滚失败,则会跳过该命令,直接处理下一条命令):
· 配置命令不支持完整undo命令,即直接在配置命令前添加undo关键字构成的命令不存在,设备不识别。比如命令A [ B ] C,对应的undo命令为undo A C,但是配置回滚的时候,系统会去自动执行undo A B C,此时系统会认为不支持undo A B C而造成配置A B C回滚失败。
· 配置不能取消(如硬件相关的命令)。
· 若不同视图下的各配置命令存在依赖关系,命令可能执行失败。
· 若使用的配置文件不是由save命令或archive configuration命令生成的完整文件,或是不同类型设备的配置文件,配置回滚可能不能完全恢复至配置文件中的配置状态。因此,需要用户确保回滚配置文件中配置的正确性和与当前设备的兼容性。
· configuration replace file filename命令中指定的配置文件只能是明文配置文件,不能是被加密的配置文件。否则,会导致配置回滚出错。
下次启动配置文件是指设备下次启动时使用的配置文件。设置下次启动配置文件有两种方式:
· 使用save命令。将当前配置保存到指定配置文件时,使用交互方式,系统会自动把该文件设置为设备的主用下次启动配置文件。
· 使用专用命令,请参见下表。
表1-9 设置下次启动配置文件
操作 |
命令 |
说明 |
配置所有成员设备的下次启动配置文件 |
startup saved-configuration cfgfile [ backup | main ] |
必选 该命令在用户视图下执行 |
配置文件必须以“.cfg”作为扩展名,启动配置文件必须存放在存储设备的根目录下。
备份下次启动配置文件特性用于将设备下次启动配置文件备份至TFTP服务器上。
备份操作的对象是主用下次启动配置文件。
表1-10 备份下次启动配置文件
操作 |
命令 |
说明 |
将设备的下次启动配置文件备份到指定的TFTP服务器 |
backup startup-configuration to dest-addr [ dest-filename ] |
必选 该命令在用户视图下执行 |
在执行配置文件的备份操作前,请:
· 保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行备份操作的客户端设备已获得了相应的读写权限。
· 在用户视图下使用display startup命令查看一下设备是否已经设置了下次启动配置文件。若下次启动配置文件设置为NULL,或者所设置的配置文件不存在,备份操作将会失败。
· FIPS模式下不支持该命令。
用户通过命令可以删除设备中的下次启动配置文件。用户可以只删除主用下次启动配置文件,或者只删除备用下次启动配置文件,但如果当前设备的主备用下次启动配置文件相同,仅执行一次删除操作,系统只会将相应的下次启动配置文件设置为NULL,不会删除该文件。
出现以下情况时,用户可能需要删除设备中的下次启动配置文件:
· 在设备软件升级之后,系统软件和配置文件不匹配。
· 设备中的配置文件被破坏(常见原因是加载了错误的配置文件)。
下次启动配置文件被删除后,设备下次上电时,系统将采用出厂配置进行初始化。
表1-11 删除设备中的下次启动配置文件
操作 |
命令 |
说明 |
删除设备中的下次启动配置文件 |
reset saved-configuration [ backup | main ] |
必选 该命令在用户视图下执行 |
本特性会将下次启动配置文件从所有成员设备上彻底删除,所以请慎用该命令。
恢复下次启动配置文件特性用于将TFTP服务器上保存的指定配置文件下载到所有成员设备存储介质的根目录下,并设置为所有成员设备的下次启动配置文件。
表1-12 恢复下次启动配置文件
操作 |
命令 |
说明 |
恢复主用下次启动配置文件 |
restore startup-configuration from src-addr src-filename |
必选 该命令在用户视图下执行 |
· 在执行配置文件的恢复操作前,请保证设备与服务器之间的路由可达,服务器端开启了TFTP服务,执行恢复操作的客户端设备已获得了相应的读写权限。
· 该命令执行成功后,用户可以在用户视图下使用display startup命令查看设备下次启动配置文件名是否与filename参数保持一致。
· FIPS模式下不支持该命令。
在完成上述配置后,在任意视图下执行display命令可以显示配置文件的使用情况。用户可以通过查看显示信息验证配置的效果。
操作 |
命令 |
显示配置回滚功能的相关信息 |
display archive configuration [ | { begin | exclude | include } regular-expression ] |
显示当前配置 |
display current-configuration [ [ configuration [ configuration ] | interface [ interface-type ] [ interface-number ] | exclude modules ] [ by-linenum ] [ | { 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!