06-软件升级配置
本章节下载: 06-软件升级配置 (252.25 KB)
设备软件包括Boot ROM程序和启动软件包,它是设备启动、运行的必备软件,为整个设备提供支撑、管理以及丰富的业务。
设备开机最先运行的程序是Boot ROM程序,它能够引导硬件启动、引导启动软件包运行、提供Boot ROM菜单功能。
Boot ROM程序存储在设备的Boot ROM(芯片)中。完整的Boot ROM程序包含Boot ROM基本段和Boot ROM扩展段。基本段提供Boot ROM菜单的基本操作项,扩展段提供更多的Boot ROM菜单操作项。整个Boot ROM程序通过Boot包(*.bin)发布,产品会将需要升级的单板的Boot ROM程序集成到Boot包中统一发布,以降低版本维护成本。
启动软件包是用于引导设备启动的程序文件,按其功能可以分为以下几类:
· Boot软件包(简称Boot包):包含Linux内核程序,提供进程管理、内存管理、文件系统管理等功能。
· System软件包(简称System包):包含Comware内核和基本功能模块的程序,比如设备管理、接口管理、配置管理和路由模块等。
· Feature软件包(简称Feature包):用于业务定制的程序,能够提供更丰富的业务。一个Feature包可能包含一种或多种业务。
· Patch软件包(简称补丁包):用来修复设备软件缺陷的程序文件。补丁包与软件版本一一对应,补丁包只能修复与其对应的启动软件包的缺陷,不涉及功能的添加和删除。
设备必须具有Boot包和System包才能正常运行,Feature包可以根据用户需要选择安装,补丁包只在需要修复设备软件缺陷时安装。
启动软件包有以下两种发布形式:
· BIN文件:后缀为.bin的文件。一个BIN文件就是一个启动软件包。要升级的BIN文件之间版本必须兼容才能升级成功。
· IPE(Image Package Envelope,复合软件包套件)文件:后缀为.ipe的文件。它是多个软件包的集合,产品通常会将同一个版本需要升级的所有类型的软件包都压缩到一个IPE文件中发布。用户使用IPE文件升级设备时,设备会自动将它解压缩成多个BIN文件,并使用这些BIN文件来升级设备,从而能够减少启动软件包之间的版本管理问题。
设备下次启动时使用的软件包称为下次启动软件包。用户可通过命令行将本设备存储介质上的某个软件包指定为设备的下次启动软件包,并指定软件包的属性为主用或者备用。被指定为主用属性的软件包称为主用下次启动软件包,被指定为备用属性的软件包称为备用下次启动软件包。
· 设备会将所有具有主用属性的软件包的名称存储在主用启动软件包列表中,将所有具有备用属性的软件包的名称存储在备用启动软件包列表中。
· 当设备启动时,优先使用主用启动软件包列表中的软件包,如果主用启动软件包列表中软件包不存在或者不可用,再使用备用启动软件包列表中的软件包。
设备上电后,先运行Boot ROM文件,初始化硬件并显示设备的硬件参数,然后运行启动软件包,如图1-1所示。图中“指定时间”为5秒。
在运行启动软件包时,因为涉及到多个软件包,系统会做一系列处理,如图1-2所示。
· 系统会根据启动软件包列表自动判断相应的软件包是否存在,如果存在则继续判断是否有效。如果启动软件包列表中没有Feature包/补丁包,则跳过Feature包/补丁包的判断流程。
· 当主用和备用启动软件包列表中的Boot包均不存在或不可用时,请通过Boot ROM菜单进行软件升级。
设备出厂时,已经安装了软件,下次启动会延用本次启动使用的软件。如果要对软件进行升级,用户可以选择如下方式,详见表1-1。
升级方式 |
升级对象 |
升级说明 |
|
通过命令行进行软件升级 |
通过整机重启方式升级 |
· Boot ROM程序 · 启动软件包(该方式不能升级补丁包) |
需要重启设备来实现设备软件的升级 使用该方式升级设备软件时会导致当前业务中断 |
通过install命令升级 |
启动软件包 |
通过该方式可以实现对软件包(包括Boot包、System包、Feature包和Patch包)的安装及升级 |
|
通过Boot ROM菜单进行软件升级 |
· Boot ROM程序 · 启动软件包 |
可在设备无法正常启动时升级设备软件 当使用该方式升级路由器时,请先连接到路由器的Console接口,断电重启路由器。启动过程中根据提示按<Ctrl+B>进入Boot ROM菜单,通过Boot ROM来重新加载Boot包 |
请参照以下步骤来升级设备软件:
(1) 使用display version命令查看设备当前运行的Boot ROM程序以及启动软件的版本。
(2) 获取新软件的版本发布说明书,了解新软件的版本号、软件大小以及和当前Boot ROM程序、启动软件的兼容性。
(3) 通过版本发布说明书了解将安装的软件包是否需要License。如果需要,查看设备上是否有对应的有效的License。如果没有,请先安装License。否则,会导致软件包安装失败。
(4) 使用dir命令查看存储介质是否有足够的空间存储新的软件,以免升级失败。如果存储空间不足,可使用delete命令删除一些暂时不用的文件。关于dir和delete命令的详细描述请参见“基础配置命令参考”中的“文件系统管理”。
(5) 使用FTP、TFTP方式将新软件下载到存储介质的根目录下。FTP及TFTP具体配置请参见“基础配置指导”中的“FTP和TFTP”。
(6) 指定下次启动软件包并完成升级。
当指定下次启动软件包/IPE文件时,命令中指定的软件包(IPE文件)必须放在设备存储介质主分区的根目录下且后缀名为.bin(.ipe),文件名中必须包含存储介质的名称,形如flash:/xx.bin(flash:/xx.ipe)。
操作 |
命令 |
说明 |
指定设备下次启动时使用的软件包/IPE文件 |
boot-loader file ipe-filename { backup | main } |
二者选其一 命令在用户视图下执行 请不要通过多个用户同时执行该命令,以免配置失败 |
boot-loader file boot boot-package system system-package [ feature feature-package&<1-30> ] { backup | main } |
||
保存当前配置 |
save |
保存当前配置,以便当前配置在设备重启后继续生效 保存配置后重启设备,设备将优先使用二进制类型的配置文件,以便提高加载配置的速度 该命令在用户视图下执行 |
重启设备 |
reboot |
设备重启时,会运行新的启动软件包,从而完成升级 该命令在用户视图下执行 |
软件在发布的时候,开发会根据当前版本和历史版本是否兼容以及兼容的程度,制定升级策略。通过install命令升级策略有:增量升级、重启升级以及不兼容升级。
进行install命令方式前,请先将要升级的目标软件包下载到设备存储介质的根目录下,然后通过display version comp-matrix file命令显示设备将采用的升级策略。升级策略不同对当前业务的影响不同,采用的升级步骤也会有差异。
表1-3 install命令升级策略描述表
升级策略 |
描述 |
对应display version comp-matrix file命令中的显示信息 |
|
兼容升级 |
增量升级 |
本策略用于只有用户态进程需要更新时。使用该策略升级时,系统会仅对有差异的用户态进程实施升级,并通过进程的备份和倒换来保证升级过程中业务不中断。该策略对系统影响最小、升级速度最快 |
Upgrade Way字段显示为: · Service Upgrade:表示服务级增量升级,该策略仅对本业务模块有影响,对系统以及其他业务模块没有影响 · File Upgrade:表示文件级增量升级。该策略仅对系统内的、用户不可见的程序文件进行升级,对系统以及业务模块没有影响 |
重启升级 |
本策略用于版本间的差异仍属于兼容范围内,但无法进行增量重启时。该方式通过重启本设备加载新软件来完成升级,因此,升级过程会到导致业务中断 |
Upgrade Way字段显示为Reboot时,表示采用的是重启升级方式 |
|
不兼容升级 |
表示设备当前运行的软件版本和要升级的目标软件版本不兼容时的升级 |
Incompatible upgrade |
在升级过程中,请遵循以下指导:
· 请确保网络拓扑稳定,禁止手工重启单板和插拔单板。
· 请确保系统中除了当前执行升级命令的用户外无其他用户登录。
· 请不要执行install升级命令之外的配置命令,包括配置修改及信息查询等。
· 禁止对启动软件包进行修改、删除以及重命名等操作。
· 执行install activate或install deactivate命令前,请使用display system stable state命令查看设备是否处于稳定状态。只有System State处于Stable状态,才能进行该升级。关于display system stable state命令的详细介绍请参见“基础配置命令参考”中的“设备管理”。
· install命令升级完成后,如需配置设备,请重新登录。
如果用户要升级的软件包是以IPE文件的形式发布的,请在执行其它install命令前,先按以下步骤将IPE包解压缩:
(1) 通过FTP或TFTP将IPE文件下载到设备存储介质的根目录。
(2) 通过display install ipe-info命令查看该IPE文件中包含的软件包。
(3) 解压缩IPE文件:将IPE文件解压缩,生成软件包。
表1-4 解压缩IPE文件
操作 |
命令 |
说明 |
解压缩IPE文件 |
install add ipe-filename medium-name |
该命令在用户视图下执行 |
执行install activate命令可以安装/升级软件包。如果当前系统没有运行相同类型的软件包,则该过程称为安装软件包;如果当前系统有相同类型的软件包在运行,则该过程称为升级软件包。
在执行激活软件包前,请注意以下事项:
(1) 当需要升级两个或两个以上软件包时,请选择以下任意一种方法来激活软件包:
· 方法一:使用一条命令激活完一个slot的所有软件包后再激活另一个slot的所有软件包。
· 方法二:先升级完所有slot的某种类型的包(比如Boot包)之后,再升级所有slot的另外一种类型的包(比如System包)。
(2) 对于增量升级和补丁包升级方式,软件包激活只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次激活的软件包在系统重启后仍处于激活状态;对于重启升级方式,该步骤可选,因为用户在执行install activate命令时,系统已经修改了下次启动软件列表,升级软件包会在系统重启后继续生效。
(3) 设备上可安装的软件包(包括Boot包、System包、Feature包和补丁包)共为32个,其中Boot包和System包只能安装一个,Feature包和补丁包总共可安装30个。
表1-5 激活Boot包/System包/Feature包
操作 |
命令 |
说明 |
(可选)显示Boot包/System包/Feature包的升级策略 |
install activate { boot filename | system filename | feature filename&<1-30> } * test |
该命令在用户视图下执行 |
激活Boot包/System包/Feature包 |
install activate { boot filename | system filename | feature filename&<1-30> } * |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
安装补丁包前,需进行如下操作:
· 如果当前设备上未安装补丁包,那么直接安装补丁包。
· 如果当前设备上已安装补丁包,则需查看版本说明书,对比新旧补丁包之间的功能差异:
¡ 若新版本的补丁包中包含旧版本补丁包中的所有功能,且在安装完新版本的补丁后旧版本的补丁还存在,为了清理存储空间,可以手工卸载并删除旧版本的补丁包,不会影响设备的运行。
¡ 若新版本的补丁包中不包含或不完全包含旧版本补丁包中的所有功能,请不要对旧版本的补丁包进行卸载或删除操作。
表1-6 激活补丁包
操作 |
命令 |
说明 |
激活补丁包 |
install activate patch filename |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
如果产品针对同一System包发布了多个补丁包,直接安装最新版本的补丁包即可,且不需要先卸载旧的补丁包。
因为Boot包和System包是设备运行的基础软件,所以Boot包和System包不支持卸载,只能卸载Feature包和补丁包。当Feature包/补丁包被卸载后,该软件包将处于未激活状态,系统也将不再具备该软件包提供的功能。但是软件包仍然存在于存储介质上,可以通过install remove命令将卸载后的软件包从存储介质上彻底删除。
Feature包/补丁包卸载也只在设备本次运行过程中生效。如果用户希望系统重启后,Feature包/补丁包卸载依然生效,请用户使用install commit命令确认软件包的更改。
表1-7 卸载Feature包
操作 |
命令 |
说明 |
卸载Feature包 |
install deactivate feature filename&<1-30> |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
表1-8 卸载补丁包
操作 |
命令 |
说明 |
卸载补丁包 |
install deactivate patch filename |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
每次激活或者卸载软件包之后,系统中将运行新的软件特性集(即不同于升级前的软件包集合),系统将这些变化记录为回滚点。通过回滚功能,可将系统回滚到某个历史状态,或者恢复到install命令升级初始状态。
当升级方式为增量升级时,软件包回滚只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次的回滚操作在系统重启后生效。系统最多支持50个回滚点,当回滚点超过最大值时,旧的回滚点会被删除,新的回滚点会被保存。
当升级方式为重启升级时,旧的回滚点会被删除,系统只支持一次回滚,即只支持回滚到系统升级初始状态。
表1-9 软件包回滚
操作 |
命令 |
说明 |
软件包回滚 |
install rollback to { point-id | original } |
执行该命令前,可通过display install rollback命令查看回滚点信息 补丁包不支持回滚操作 该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
增量升级方式下,当系统正在执行软件包的激活或卸载操作时,用户可以通过install abort命令或者按Ctrl+C取消正在执行中的操作,从而使系统回退到操作前的状态。
表1-10 取消软件包操作
操作 |
命令 |
说明 |
取消正在执行的install命令升级操作 |
install abort [ job-id ] |
该命令在用户视图下执行 |
为了保证设备进行install命令升级之后能够正常运行,需要执行本命令对软件包进行如下检验:
完整性:检验Boot包、System包和Feature包的完整性。
一致性:检验系统内各激活的软件包列表的差异,以方便用户知道系统内各软件包版本是否一致。
软件包状态:检查各设备上激活的软件包列表和确认的软件包列表之间的差异,以方便用户知道是否有未确认的软件包。
当发现有不一致的软件包时,用户可使用install activate命令或install deactivate命令更新激活的软件包列表,使用install commit命令更新确认的软件包列表。
表1-11 校验Boot包/System包/Feature包
操作 |
命令 |
说明 |
Boot包/System包/Feature包校验 |
install verify |
该命令在用户视图下执行 |
软件包升级成功后,可以通过以下步骤删除旧版本的软件包。
需要注意的是,执行删除操作后,软件包会从设备上彻底删除,用户将不能执行与该软件包相关的install rollback to或者install abort命令。请确认不需要使用该软件包之后,再执行删除操作。
表1-12 删除软件包
操作 |
命令 |
说明 |
删除软件包 |
install remove { filename | inactive } |
该命令在用户视图下执行 |
在完成上述配置后,可在任意视图下执行display命令,通过查看显示信息验证配置的效果。
请在用户视图下执行reset命令。
表1-13 软件升级显示和维护
操作 |
命令 |
显示本次启动和下次启动所采用的启动软件包的名称 |
display boot-loader |
显示设备将采用的升级策略 |
display version comp-matrix file { boot filename | system filename | feature filename&<1-30> } * display version comp-matrix file ipe ipe-filename |
显示当前系统中已激活的软件包的相关信息 |
display install active [ verbose ] |
显示存储介质根目录下、没有被激活的所有软件包的相关信息 |
display install inactive [ verbose ] |
显示设备下次启动时使用的主用软件包的相关信息 |
display install committed [ verbose ] |
显示设备下次启动时使用的备用软件包的相关信息 |
display install backup [ verbose ] |
显示系统中正在执行的激活、卸载、回滚三种操作 |
display install job |
显示与install命令升级相关的日志 |
display install log [ log-id ] [ verbose ] |
显示软件包信息 |
display install package { filename | all } [ verbose ] |
显示IPE文件信息 |
display install ipe-info ipe-filename |
显示回滚点信息 |
display install rollback [ point-id ] |
显示一个组件或文件所属的软件包 |
display install which { component name | file filename } |
清除install命令升级日志 |
reset install log-history oldest log-number |
清除回滚点 |
reset install rollback oldest point-id |
使用最新软件版本文件startup-a2105.ipe,对设备启动软件包进行升级,使设备使用新的启动软件包运行。
图1-3 通过重启方式升级启动软件包配置举例组网图
为了保险起见,在配置主用下次启动软件包/IPE文件时,建议将主用下次启动软件包/IPE文件进行备份,再将备份文件设置为备用下次启动软件包/IPE文件。如果Flash上存储空间有限,可以不备份。
# 配置IP地址以及路由,确保Device和TFTP server之间路由可达。配置步骤略。
# 查看设备当前使用的启动软件包的版本。
<Sysname> display version
# 复制设备当前使用的启动软件包。
<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 backup
# 将待升级的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 main
# 查看主用、备用下次启动IPE文件是否配置成功。
<Sysname> display boot-loader
# 重启设备,以便运行新的启动软件包完成升级。
<Sysname> reboot
设备重启后,查看设备使用的启动软件包的版本。
<Sysname> display version
将HTTP特性从R0201版本升级到兼容版本R0202。
图1-4 HTTP软件包升级组网图
# 从TFTP server下载包含新版本HTTP软件包的IPE文件。
<Sysname> tftp 2.2.2.2 get http-r0202.ipe
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 256 100 256 0 0 764 0 --:--:-- --:--:-- --:--:-- 810
Writing file...Done.
# 解压缩IPE文件。
<Sysname> install add flash:/http-r0202.ipe flash:
Verifying the file flash:/http-r0202.ipe on the device...Done.
Decompressing file http-r0202.bin to flash:/http-r0202.bin.......................Done.
# 查看升级前激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-r0201.bin
flash:/system-r0201.bin
flash:/http-r0201.bin
# 显示HTTP软件包的升级效果。
<Sysname> install activate feature flash:/http-r0202.bin test
Verifying the file flash:/http-r0202.bin on the device...Done.
Identifying the upgrade methods...Done.
Upgrade summary according to following table:
flash:/http-r0202.bin
Running Version New Version
Alpha 0201 Alpha 0202
Upgrade Way: Service Upgrade
Influenced service according to following table on the device:
flash:/http-r0202.bin
HTTP CFA
以上显示信息表明,http-r0202.bin的升级方式是增量升级,升级过程中HTTP和CFA模块会重启。
# 激活新版本的HTTP软件包,从而对HTTP特性进行升级。
<Sysname> install activate feature flash:/http-r0202.bin
Verifying the file flash:/http-r0202.bin on the device...Done.
Identifying the upgrade methods...Done.
Upgrade summary according to following table:
flash:/http-r0202.bin
Running Version New Version
Alpha 0201 Alpha 0202
Upgrade Way: Service Upgrade
Upgrading software images to compatible versions. Continue? [Y/N]: y
This operation might take several minutes, please wait......................Done.
# 查看升级后激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-r0201.bin
flash:/system-r0201.bin
flash:/http-r0202.bin
# 确认软件包更改。
<Sysname> install commit
This operation will take several minutes, please wait...........................Done.
将HTTP软件包从R0202版本回滚到R0201版本。
# 查看回滚前激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-r0201.bin
flash:/system-r0201.bin
flash:/http-r0202.bin
# 查看回滚点信息。
<Sysname> display install rollback
Install rollback information 1 on the device:
Updating from flash:/http-r0201.bin
to flash:/http-r0202.bin.
# 将HTTP软件包回滚到R0201版本。
<Sysname> install rollback to original
# 查看回滚后激活的软件包。
<Sysname> display install active
Active packages on the device:
flash:/boot-r0201.bin
flash:/system-r0201.bin
flash:/http-r0201.bin
# 确认软件包更改。
<Sysname> install commit
This operation will take several minutes, please wait...........................Done.
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!