华为交换机系统启动原理介绍
1、系统启动
系统启动时需要加载系统软件和配置文件。如果指定了下次启动的补丁文件,还需加载补丁文件。系统启动的场景一般有以下几种:
1、对设备进行升级操作,即系统软件从低版本至高版本升级。
当增加了新特性或者需要对原有性能进行优化以及解决当前运行版本的问题时,则需要对设备进行升级。此时需要加载高版本的系统软件,并重新启动设备来实现。
2、对设备进行降级操作(版本回退),即系统软件从高版本至低版本降级。
设备完成升级后,如果业务出现异常,为保证业务正常可以先将设备版本进行回退。此时需要加载低版本的系统软件,并重新启动设备来实现。
3、在开局场景下,可以对一个新设备加载已有的满足用户需求的配置文件。
新设备中只包含了设备出厂时的缺省配置,如果需要使这台新设备连接至网络再运行业务,则需要用户在设备上进行大量的配置,花费不少时间。对于这种情况,只需要为这台新设备指定满足用户需求的配置文件,然后重新启动设备即可,极大提升了用户对设备的配置效率。
4、对设备指定升级后的补丁文件。
可以在设备升级的同时指定之前未安装过的补丁文件,当设备升级完成后,补丁也会立即生效。设备的升级与每次发布的版本相关,在发布新版本的同时会配套发布相应的升级指导书,用户可以根据升级指导书进行设备升级。升级指导书获取路径:请先登录华为公司企业业务支持网站(http://support.huawei.com/enterprise),登录后,根据产品型号和版本名称,获取相应的升级指导书。
2、系统软件
设备的软件包括BootROM软件和系统软件。设备上电后,先运行BootROM软件,初始化硬件并显示设备的硬件参数,然后运行系统软件。
系统软件一方面提供对硬件的驱动和适配功能,另一方面实现了业务特性。BootROM软件与系统软件是设备启动、运行的必备软件,为整个设备提供支撑、管理、业务等功能。
设备在升级时包括升级BootROM软件和升级系统软件。目前华为交换 机设备的系统软件(.cc)中已经包含了Boot软件,在升级系统软件的同时即可自动升级Boot。
3、配置文件
配置文件是命令行的集合。用户将当前配置保存到配置文件中,以便设备重启后,这些配置能够继续生效。另外,通过配置文件,用户可以非常方便地查阅配置信息,也可以将配置文件上传到别的设备,来实现设备的批量配置。配置文件为文本文件,其规则如下:
1、以命令格式保存。
2、为了节省空间,只保存非缺省的参数。
3、以命令视图为基本框架,同一命令视图的命令组织在一起,形成一节,节与节之间通常用空行或注释行隔开(以“#”开始的为注释行)。空行或注释行可以是一行或多行。
4、文件中各节的顺序安排通常为:全局配置、接口配置、各种协议配置和用户界面配置。
5、配置文件必须以“.cfg”或“.zip”作为扩展名,而且必须存放在存储设备的根目录下。
6、配置文件中,命令表达式必须是全写,请勿使用缩写。
7、配置文件中,每行命令使用“rn”换行,禁止使用其他形式不可见字符换行。
8、配置文件传输至设备时,推荐使用FTP的binary模式。
设备运行过程中,有出厂配置、配置文件和当前配置,区别如下表:
1、配置文件
设备上电时,从默认存储路径中读取配置文件进行设备的初始化操作,因此该配置文件中的配置称为初始配置。如果默认存储路径中没有配置文件,则设备用缺省参数初始化配置。
使用display startup命令可以查看到设备本次以及下次启动的配置文件。使用display saved-configuration命令可以查看设备下次启动时的配置文件信息。
2、当前配置
与初始配置相对应,设备运行过程中正在生效的配置称为当前配置。
使用display current-configuration命令查看设备的当前配置信息。
用户通过命令行接口可以修改设备当前配置,为了使当前配置能够作为设备下次启动时的起始配置,需要使用save命令保存当前配置到默认存储器中,形成配置文件。
配置文件支持包含30000条命令行。如果超过了30000条,在设备进行升级时,不能保证所有命令在升级后兼容。如果使用不完整格式进行配置,由于命令保存到配置文件中时使用的是完整格式,可能导致配置文件中存在长度超过510个字符的命令(系统可正确执行的命令长度最大为510个字符)。系统重启时,这类命令将无法恢复。
4、补丁文件
补丁是一种与设备系统软件兼容的软件,用于解决设备系统软件少量且急需解决的问题。在设备的运行过程中,有时需要对设备系统软件进行一些适应性和排错性的修改,如改正系统中存在的缺陷、优化某功能以适应业务需求等。
补丁通常以补丁文件的形式发布,一个补丁文件可能包含一个或多个补丁,不同的补丁具有不同的功能。当补丁文件被用户从存储器加载到内存补丁区中时,补丁文件中的补丁将被分配一个在此内存补丁区中唯一的单元序号,用于标志、管理和操作各补丁。
5、补丁分类
根据补丁生效对业务运行的影响,补丁分成热补丁和冷补丁:
1、热补丁HP(Hot Patch):
补丁生效不中断业务,不影响业务运行,同时可以降低设备升级成本,避免升级风险。
2、冷补丁CP(Cold Patch):
要使补丁生效需要复位单板或重启设备,影响业务的运行。
根据补丁间的依赖关系,补丁可分为增量型补丁和非增量型补丁。
3、增量型补丁:
是指对在其前面的补丁有依赖性的补丁。一个新的补丁文件必须包含前一个补丁文件中的所有补丁信息。用户可以在不卸载原补丁文件的情况下直接安装新的补丁文件。
4、非增量型补丁:
只允许当前系统安装一个补丁文件。如果用户安装完补丁之后希望重新安装另一个补丁文件,则需要先卸载当前的补丁文件,然后再重新安装并运行新的补丁文件。
目前,华为产品发布的补丁类型都为热补丁与增量型补丁。在后续的描述中如无特别说明都是指此类补丁。
6、补丁状态
每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换。补丁状态详细信息如下:
1、空闲状态(Idle)
此时,补丁文件存储在设备的存储器中,但文件中的补丁还没有被加载到内存补丁区中。当用户将补丁从存储器中加载到内存补丁区后,补丁的状态将被设置为去激活。
2、去激活状态(Deactive)
当补丁被加载到内存补丁区中或激活的补丁被停止运行时,补丁就处于去激活状态。
用户可以对去激活状态的补丁进行以下两种操作:
卸载此补丁,使补丁从内存补丁区中被删除。临时运行此补丁,使补丁的状态变为激活状态。
3、激活状态(Active)
当补丁被存储在内存补丁区中,且被临时运行时,补丁就处于激活状态。当单板被复位后,此单板上在复位前处于激活状态的补丁仍然恢复为激活状态。只有当整机复位后,复位前处于激活状态的补丁将会处于去激活状态。
用户可以对激活状态的补丁进行以下3种操作:
卸载此补丁,使补丁从内存补丁区中被删除。停止运行此补丁,使补丁的状态变为去激活状态。永久运行此补丁,使补丁的状态变为运行状态。
4、运行状态(Running)
当补丁被存储在内存补丁区中,且被永久运行时,补丁就处于运行状态。当单板或整机被复位后,在复位前处于运行状态的补丁将保持运行状态。
用户可以卸载处于运行状态的补丁,使补丁从内存补丁区中被删除。
图1 补丁状态的转换关系
各状态之间的转换关系如上图1所示。
7、补丁安装
为设备安装补丁也是设备升级的一种方式。补丁安装方式有以下两种:
一般均采用不中断业务的方式,在设备运行过程中直接加载运行补丁,这也是热补丁的优势。
这种安装方式的详细过程请参见随补丁版本同时配套发布的补丁安装指导书,用户可以根据补丁安装指导书进行补丁安装。
另外一种方式就是本章介绍的指定系统下次启动的补丁文件,这种方式需要设备重启之后补丁才能生效。一般用于设备升级的同时安装补丁文件。
所有业务板没有正常运行前不能执行save命令保存配置文件
设备的配置信息保存在Flash或者CF卡的配置文件中,单板启动运行时会读取配置文件恢复对此单板的配置信息,并在内存中保留一份当前运行的配置信息。
可以通过命令display saved-configuration查看配置文件中的配置信息,通过命令display current-configuration查看内存中的配置信息。
在系统所有单板正常运行后,配置文件和内存中的配置信息应该是一致的,当增加、修改、删除配置后,配置文件中的配置信息和内存中的配置信息不一致,此时可以通过命令save来保存当前内存中的配置信息到配置文件。
在系统启动阶段,如果所有业务板还没有正常运行,即配置文件还未完全恢复到内存中,此时执行命令save保存,内存中不完整的配置信息将会覆盖配置文件中的配置信息,造成部分配置信息丢失。