07-软件升级配置
本章节下载: 07-软件升级配置 (403.70 KB)
如果将U盘内的软件包指定为设备下次启动时使用的软件包,重启设备时不要将U盘从设备上拔出,否则可能导致设备无法正常启动。建议将Flash中的软件包指定为设备下次启动时使用的软件包。
设备软件包括BootWare程序和启动软件包,它是设备启动、运行的必备软件,为整个设备提供支撑、管理以及丰富的业务。
设备上存在主控板和业务板,业务板的BootWare程序/启动软件包集成在主控板的BootWare程序/启动软件包中。系统在升级主控板时会自动升级业务板,不需要单独升级业务板。
设备开机最先运行的程序是BootWare程序,它能够引导硬件启动、引导启动软件包运行、提供BootWare菜单功能。
BootWare程序存储在设备的BootWare(芯片)中。完整的BootWare程序包含BootWare基本段和BootWare扩展段。基本段提供BootWare菜单的基本操作项,扩展段提供更多的BootWare菜单操作项。整个BootWare程序通过Boot包(*.bin)发布,产品会将需要升级的单板的BootWare程序集成到Boot包中统一发布,以降低版本维护成本。
启动软件包是用于引导设备启动的程序文件,按其功能可以分为以下几类:
· Boot软件包(简称Boot包):包含Linux内核程序,提供进程管理、内存管理、文件系统管理、应急Shell等功能。
· System软件包(简称System包):包含Comware内核和基本功能模块的程序,比如设备管理、接口管理、配置管理和路由模块等。
· Feature软件包(简称Feature包):用于业务定制的程序,能够提供更丰富的业务。一个Feature包可能包含一种或多种业务。
· Patch软件包(简称补丁包):用来修复设备软件缺陷的程序文件。补丁包与软件版本一一对应,补丁包只能修复与其对应的启动软件包的缺陷,不涉及功能的添加和删除。所以补丁包只有安装而没有升级的说法。补丁包分为叠加补丁包和非叠加补丁包,具体定义如下:
¡ 叠加补丁包:两个版本的叠加补丁包之间所解决的问题可以是包含、不包含或不完全包含的关系。只有当两个版本的叠加补丁包之间所解决的问题为不包含的关系时,设备才可以同时安装这两个补丁包。
¡ 非叠加补丁包:新版本的补丁包包含旧版本的补丁包所解决的所有问题,每个Boot、System和Feature包只能安装一个非叠加补丁。为同一个Boot、System或Feature包安装新版本补丁包的同时,设备会卸载旧版本的补丁包。为Boot、System或Feature包安装的非叠加补丁包可以同时安装在设备上。
叠加补丁包和非叠加补丁包可以同时安装到设备上。
主控板必须具有Boot包和System包才能正常运行,Feature包可以根据用户需要选择安装,补丁包只在需要修复设备软件缺陷时安装。
设备上可安装的软件包(包括Boot包、System包、Feature包和补丁包)共为32个,其中Boot包和System包只能安装一个,Feature包和补丁包总共可安装30个。
启动软件包有以下两种发布形式:
· BIN文件:后缀为.bin的文件。一个BIN文件就是一个启动软件包。要升级的BIN文件之间版本必须兼容才能升级成功。
· IPE(Image Package Envelope,复合软件包套件)文件:后缀为.ipe的文件。它是多个软件包的集合,产品通常会将同一个版本需要升级的所有类型的软件包都压缩到一个IPE文件中发布。用户使用IPE文件升级设备时,设备会自动将它解压缩成多个BIN文件,并使用这些BIN文件来升级设备,从而能够减少启动软件包之间的版本管理问题。
设备下次启动时使用的软件包称为下次启动软件包。用户可通过命令行将本设备存储介质上的某个软件包指定为设备的下次启动软件包,并指定软件包的属性为主用或者备用。被指定为主用属性的软件包称为主用下次启动软件包,被指定为备用属性的软件包称为备用下次启动软件包。
· 设备会将所有具有主用属性的软件包的名称存储在主用启动软件包列表中,将所有具有备用属性的软件包的名称存储在备用启动软件包列表中。
· 当设备启动时,优先使用主用启动软件包列表中的软件包,如果主用启动软件包列表中软件包不存在或者不可用,再使用备用启动软件包列表中的软件包。
设备上电后,先运行BootWare文件,初始化硬件并显示设备的硬件参数,然后运行启动软件包,如图1-1所示。
在运行启动软件包时,因为涉及到多个软件包,系统会做一系列处理,如图1-2所示。
系统会根据启动软件包列表自动判断相应的软件包是否存在,如果存在则继续判断是否有效。如果启动软件包列表中没有Feature包/补丁包,则跳过Feature包/补丁包的判断流程。
当主用和备用启动软件包列表中的Boot包均不存在或不可用时,请通过BootWare菜单进行软件升级。
当设备进入应急Shell环境时,请使用Console口连接到设备,在应急Shell环境下,手工重新加载System包,才能进入Comware系统。具体操作请参见“基础配置指导”中的“应急Shell”。
当前软件不能满足现网运行或用户业务需求时,可以通过软件升级实现设备性能优化,以满足用户的业务需求。
当需要修复软件缺陷且不升级软件版本时,可以安装版本配套的补丁包;当需要配置设备扩展业务功能时,可以安装对应的Feature包。
设备出厂时,已经安装了软件,下次启动会延用本次启动使用的软件。如果要对软件进行升级,用户可以选择如下方式,详见表1-1。
升级方式 |
升级对象 |
升级说明 |
|
通过命令行进行软件升级 |
通过整机重启方式升级 |
· BootWare程序 · Comware软件包(不支持安装叠加补丁) |
需要重启设备来实现设备软件的升级 使用该方式升级设备软件时会导致当前业务中断 |
ISSU方式升级 |
Comware软件包 |
ISSU是一种高可靠性升级设备启动软件的方式,推荐使用该方式升级设备 关于该方式的详细描述请参见“基础配置指导”中的“ISSU” |
|
通过BootWare菜单进行软件升级 |
BootWare程序 Comware软件包 |
可在设备无法正常启动时升级设备软件 当使用该方式升级设备时,请先连接到设备的Console接口,断电重启设备。启动过程中根据提示按<Ctrl+B>进入BootWare菜单,通过BootWare来重新加载Boot包 |
数字签名机制用于保证软件包的合法性和完整性,确保设备安装的软件安全可用。
软件包发布后,在传输、下载、存储、安装这些环节中,存在被替换或组件被篡改的安全隐患。为了解决这个问题,产品在发布软件包时,会对软件进行数字签名,并将生成的数字签名信息打包到软件包中一起发布。以下场景中,设备会对软件包进行数字签名的验证,认证通过之后才认为该软件包是完整的、可信的:
· 设备启动过程中,在加载启动软件包前会对启动软件包进行数字签名校验,如果软件包通过校验则会被加载;如果软件包未通过校验则不会被加载,并返回错误提示信息。
· 通过BootWare菜单进行升级的过程中,系统会在用户指定启动软件包时进行数字签名校验,如果软件包通过校验则指定成功;如果软件包未通过校验则指定失败,并返回错误提示信息。
· 系统将文件系统中的BootWare程序加载到BootWare的Normal区前会对文件系统中包含BootWare程序的文件进行数字签名校验,如果文件通过校验则会被加载;如果文件未通过校验则不会被加载,并返回错误提示信息。
· 通过Boot-Loader方式配置设备下次启动时使用的软件包时,设备在修改启动软件包列表前会对软件包进行数字签名校验,如果软件包通过校验则会替换现有的软件包列表;如果软件包未通过校验则不会替换现有的软件包列表,并返回错误提示信息。
· 通过ISSU方式指定设备的启动软件包时,系统在升级设备的启动软件包并将设备的主用下次启动软件包设置为指定的软件包前会对软件包进行数字签名校验,如果软件包通过校验则升级设备的启动软件包并将设备的主用下次启动软件包设置为指定的软件包;如果软件包未通过校验则不会升级设备的启动软件包并将设备的主用下次启动软件包设置为指定的软件包,并返回错误提示信息。关于ISSU的详细介绍,请参见“基础配置指导”中的“ISSU”。
· 系统在一步完成ISSU升级前会对软件包进行数字签名校验,如果软件包通过校验则进行升级;如果软件包未通过校验则不会升级,并返回错误提示信息。关于ISSU的详细介绍,请参见“基础配置指导”中的“ISSU”。
· 激活Feature包或补丁包前,系统会对Feature包或补丁包进行数字签名校验,如果软件包通过校验则激活Feature包或补丁包;如果软件包未通过校验则不激活Feature包或补丁包,并返回错误提示信息。
在当前的升级动作未结束前,不允许再执行其他升级动作。升级动作包括执行install、issu、boot-loader命令。
请参照以下步骤来升级设备软件:
(1) 使用display version命令查看设备当前运行的BootWare程序以及启动软件的版本。
(2) 获取新软件的版本发布说明书,了解新软件的版本号、软件大小以及和当前BootWare程序、启动软件的兼容性。
(3) 通过版本发布说明书了解将安装的软件包是否需要License。如果需要,查看设备上是否有对应的有效的License。如果没有,请先安装License。否则,会导致软件包安装失败。
(4) 使用dir命令分别查看主用主控板和备用主板存储介质是否有足够的空间存储新的软件,以免升级失败。如果存储空间不足,可使用delete /unreserved命令删除一些暂时不用的文件。关于dir和delete命令的详细描述请参见“基础配置命令参考”中的“文件系统管理”。(独立运行模式)
(5) 使用dir命令分别查看全局主用主控板和全局备用主控板上存储介质是否有足够的空间存储新的软件,以免升级失败。如果存储空间不足,可使用delete命令删除一些暂时不用的文件。关于dir和delete命令的详细描述请参见“基础配置命令参考”中的“文件系统管理”。(IRF模式)
(6) 使用FTP、TFTP方式将新软件下载到主用主控板/全局主用主控板存储介质的根目录下。如果存储介质进行了分区操作,那么仅需要将新软件下载到主分区的根目录下。FTP及TFTP和分区的具体配置请分别参见“基础配置指导”中的“FTP和TFTP”和“文件系统管理”。
(7) (可选)加载BootWare程序。当新软件和当前BootWare程序不兼容时,需要升级BootWare程序。虽然用户可以直接执行下一步操作,在升级Boot包的时候同步升级BootWare程序,但推荐用使用该功能升级BootWare程序。因为使用该功能能缩短Boot包的升级时间,以及减小升级过程中断电引入的问题。
表1-2 加载BootWare程序
操作 |
命令 |
说明 |
加载新的BootWare程序 |
(独立运行模式) bootrom update file file slot slot-number-list |
执行该命令,系统会将Flash中的BootWare程序加载到BootWare的Normal区 加载后,要使新的BootWare程序生效,需要重启设备 |
(IRF模式) bootrom update file file chassis chassis-number slot slot-number-list |
系统将文件系统中的BootWare程序加载到BootWare的Normal区前会对文件系统中包含BootWare程序的文件进行数字签名校验,如果文件通过校验则会被加载;如果文件未通过校验则不会被加载,并返回错误提示信息。
· 当指定下次启动软件包/IPE文件时,命令中指定的软件包(IPE文件)必须放在主用主控板Flash或USB外接设备的根目录下(如果存储介质进行了分区操作,那么必须放在主分区的根目录下)且后缀名为.bin(.ipe),文件名中必须包含存储介质的名称。
· 为备用主控板指定下次启动软件包/IPE文件时,系统会自动检查存储在指定路径的下次启动软件包/IPE文件是否已拷贝到备用主控板的Flash或USB外接设备根目录下。如果还未拷贝,则自动从指定路径拷贝一份并设置为备用主控板的主用下次启动软件包/IPE文件。
通过命令boot-loader update slot slot-number指定备用主控板的下次启动软件包时,系统会进行如下处理:
· 如果主用主控板当前是使用主用启动软件包列表启动的,则将其主用下次启动软件包列表中的软件包拷贝到备用主控板的对应目录下,并设置为备用主控板的主用下次启动软件包。如果这些软件包中有任一软件包不存在或者不可用,则命令执行失败。
· 如果主用主控板当前是使用备用启动软件包列表启动的,则将其备用下次启动软件包列表中的软件包拷贝到备用主控板的对应目录下,并设置为备用主控板的主用下次启动软件包。如果这些软件包中有任一软件包不存在或者不可用,则命令执行失败。
表1-3 指定新的下次启动软件包并完成升级
操作 |
命令 |
说明 |
指定主用主控板下次启动时使用的软件包/IPE文件 |
boot-loader file ipe-filename [ patch filename&<1-16> ] { all | slot slot-number } { backup | main } |
二者选其一 命令在用户视图下执行 |
boot-loader file boot filename system filename [ feature ffilename&<1-30> ] [ patch filename&<1-16> ] { all | slot slot-number } { backup | main } |
||
指定备用主控板下次启动时使用的软件包/IPE文件 |
boot-loader file ipe-filename [ patch filename&<1-16> ] { all | slot slot-number } { backup | main } |
三者选其一 命令在用户视图下执行 |
boot-loader file boot filename system filename [ feature filename&<1-30> ] [ patch filename&<1-16> ] { all | slot slot-number } { backup | main } |
||
boot-loader update { all | slot slot-number } |
||
保存当前配置 |
save |
保存当前配置,以便当前配置在设备重启后继续生效 该命令在用户视图下执行 |
重启设备 |
reboot |
设备重启时,会运行新的启动软件包,从而完成升级 该命令在用户视图下执行 |
成功执行本命令后,系统在用命令中指定的软件包替换现有的软件包列表前会对软件包进行数字签名校验,如果软件包通过校验则会替换现有的软件包列表;如果软件包未通过校验则不会替换现有的软件包列表,并返回错误提示信息。
· 如果IRF中只有一个成员设备,且成员设备上只有一块主控板,则这块主控板是全局主用主控板,用户只需为全局主用主控板指定下次启动软件包。
· 如果IRF中有多块主控板,则用户需要分别为全局主用主控板和全局备用主控板指定下次启动软件包。
关于IRF的详细介绍请参见“IRF配置指导”中的“IRF”。
· 当指定下次启动软件包/IPE文件时,命令中指定的软件包(IPE文件)必须放在全局主用主控板Flash或USB外接设备的根目录下(如果存储介质进行了分区操作,那么必须放在主分区的根目录下)且后缀名为.bin(.ipe),文件名中必须包含存储介质的名称。
· 为全局备用主控板指定下次启动软件包/IPE文件时,系统会自动检查存储在指定路径的下次启动软件包/IPE文件是否已拷贝到全局备用主控板的Flash或USB外接设备根目录下。如果还未拷贝,则从指定路径拷贝一份并设置为全局备用主控板的下次启动软件包/IPE文件。
通过命令boot-loader update slot slot-number指定全局备用主控板的下次启动软件包时,系统会进行如下处理:
· 如果全局主用主控板当前是使用主用启动软件包列表启动的,则将其主用下次启动软件包列表中的软件包拷贝到全局备用主控板的对应目录下,并设置为全局备用主控板的主用下次启动软件包。如果这些软件包中有任一软件包不存在或者不可用,则命令执行失败。
· 如果全局主用主控板当前是使用备用启动软件包列表启动的,则将其备用下次启动软件包列表中的软件包拷贝到全局备用主控板的对应目录下,并设置为全局备用主控板的主用下次启动软件包。如果这些软件包中有任一软件包不存在或者不可用,则命令执行失败。
表1-4 指定新的下次启动软件包并完成升级
操作 |
命令 |
说明 |
指定全局主用主控板下次启动时使用的软件包/IPE文件 |
boot-loader file ipe-filename { all | chassis chassis-number slot slot-number } { backup | main } |
二者选其一 命令在用户视图下执行 |
boot-loader file boot filename system filename [ feature filename&<1-30> ] { all | chassis chassis-number slot slot-number } { backup | main } |
||
指定全局备用主控板下次启动时使用的软件包/IPE文件 |
boot-loader file ipe-filename { all | chassis chassis-number slot slot-number } { backup | main } |
三者选其一 命令在用户视图下执行 |
boot-loader file boot filename system filename [ feature filename&<1-30> ] { all | chassis chassis-number slot slot-number } { backup | main } |
||
boot-loader update { all | chassis chassis-number slot slot-number } |
||
保存当前配置 |
save |
保存当前配置,以便当前配置在设备重启后继续生效 该命令在用户视图下执行 |
重启IRF |
reboot |
所有主控板重启时,会运行新的启动软件包,从而完成整个IRF的升级 该命令在用户视图下执行 |
在独立运行模式下,用户可使用本特性来自动保证备用主控板和主用主控板启动软件包版本的一致性;在IRF模式下,用户可使用“开启启动文件的自动加载功能”来自动保证全局备用主控板和全局主用主控板启动软件包版本的一致性。关于“开启启动文件的自动加载功能”的详细介绍请参见“IRF配置指导”中的“IRF”。
配置备用主控板启动软件包自动同步功能后,在设备启动过程中,当备用主控板发现自己当前启动软件包版本和主用主控板的当前启动软件包版本不一致时,会自动拷贝主用主控板的当前启动软件包列表中的所有软件包,设置为自己的主用启动软件包,并自动重启。这样,能够使得备用主控板启动后,和主用主控板启动软件包的版本一致。
当设备上同时存在两块主控板时,建议用户不要关闭对启动软件包版本的一致性检查功能和备用主控板自动加载启动软件包的功能。因为:
· 如果关闭对备用主控板进行启动软件包版本一致性检查功能,当备用主控板和主用主控板启动软件包版本不一致时,备用主控板仍然使用不一致的版本启动,可能会造成设备功能问题。
· 如果开启对备用主控板进行启动软件包版本一致性检查功能,但关闭备用主控板自动加载启动软件包的功能时,当备用主控板和主用主控板启动软件包版本不一致时,备用主控板会停留在启动阶段,不能正常启动。
表1-5 开启备用主控板启动软件包自动加载功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启对备用主控板进行启动软件包版本一致性检查功能 |
undo version check ignore |
缺省情况下,备用主控板启动软件包版本一致性检查功能处于开启状态 |
开启备用主控板自动加载启动软件包的功能 |
version auto-update enable |
缺省情况下,当启动过程中,当备用主控板发现自己版本和主用主控板版本不一致时,会自动加载主用主控板的当前启动软件包 |
在完成上述配置后,可在任意视图下执行display命令,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除加载软件包配置。
操作 |
命令 |
显示本次启动和下次启动所采用的启动软件包的名称(独立运行模式) |
display boot-loader [ slot slot-number ] |
显示本次启动和下次启动所采用的启动软件包的名称(IRF模式) |
display boot-loader [ chassis chassis-number [ slot slot-number ] ] |
· Device上有两块主控板:主用主控板所在槽位号为0,备用主控板所在槽位号为1。
· 现要求对设备启动软件包进行升级,使设备使用新的启动软件包运行。
图1-3 通过重启方式升级启动软件包配置举例组网图
为了保险起见,在配置主用下次启动软件包/IPE文件时,建议将主用下次启动软件包/IPE文件进行备份,再将备份文件设置为备用下次启动软件包/IPE文件。如果Flash上存储空间有限,可以不备份。
# 配置IP地址以及路由,确保Device和TFTP server之间路由可达。配置步骤略。
# 查看设备当前使用的启动软件包的版本。
<Sysname> display version
# 将待升级的IPE文件startup-a2105.ipe从TFTP server下载到设备Flash的根目录下。
<Sysname> tftp 2.2.2.2 get startup-a2105.ipe
# 指定主用主控板和备用主控板下次启动时使用startup-a2105.ipe作为主用IPE文件。
<Sysname> boot-loader file flash:/startup-a2105.ipe slot 0 main
<Sysname> boot-loader file flash:/startup-a2105.ipe slot 1 main
# 将startup-a2105.ipe中解压出来的.bin文件复制。
<Sysname> copy boot.bin boot_backup.bin
<Sysname> copy system.bin system_backup.bin
# 指定所有主控板下次启动时使用的备用软件包为boot_backup.bin/system_backup.bin。
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin slot 0 backup
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin slot 1 backup
# 查看主用、备用下次启动IPE文件是否配置成功。
<Sysname> display boot-loader
# 重启设备,以便运行新的启动软件包完成升级。
<Sysname> reboot
设备重启后,查看设备使用的启动软件包的版本。
<Sysname> display version
· IRF由两个成员设备组成:主设备的成员编号为1,从设备的成员编号为2。
· 主设备上有两块主控板:主用主控板所在槽位号为0,备用主控板所在槽位号为1。
· 从设备上有两块主控板:主用主控板所在槽位号为0,备用主控板所在槽位号为1。
· 现要求对IRF启动软件包进行升级,使所有成员设备使用新的启动软件包运行。
图1-4 通过重启方式升级启动软件包配置举例组网图
为了保险起见,在配置主用下次启动软件包/IPE文件时,建议将主用下次启动软件包/IPE文件进行备份,再将备份文件设置为备用下次启动软件包/IPE文件。如果Flash上存储空间有限,可以不备份。
# 配置IP地址以及路由,确保Device和TFTP server之间路由可达。配置步骤略。
# 查看IRF当前使用的启动软件包的版本。
<Sysname> display version
# 将待升级的IPE文件startup-a2105.ipe从TFTP server下载到全局主用主控板Flash的根目录下。
<Sysname> tftp 2.2.2.2 get startup-a2105.ipe
# 指定所有主控板下次启动时使用startup-a2105.ipe作为主用IPE文件。
<Sysname> boot-loader file flash:/startup-a2105.ipe chassis 1 slot 0 main
<Sysname> boot-loader file flash:/startup-a2105.ipe chassis 1 slot 1 main
<Sysname> boot-loader file flash:/startup-a2105.ipe chassis 2 slot 0 main
<Sysname> boot-loader file flash:/startup-a2105.ipe chassis 2 slot 1 main
# 将startup-a2105.ipe中解压出来的.bin文件复制。
<Sysname> copy boot.bin boot_backup.bin
<Sysname> copy system.bin system_backup.bin
# 指定所有主控板下次启动时使用的备用软件包为boot_backup.bin/system_backup.bin。
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin chassis 1 slot 0 backup
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin chassis 1 slot 1 backup
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin chassis 2 slot 0 backup
<Sysname> boot-loader file boot flash:/boot_backup.bin system flash:/system_backup.bin chassis 2 slot 1 backup
# 查看主用、备用下次启动IPE文件是否配置成功。
<Sysname> display boot-loader
# 重启所有成员设备,以便运行新的启动软件包完成升级。
<Sysname> reboot
设备重启后,查看IRF使用的启动软件包的版本。
<Sysname> display version
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!