06-软件升级配置
本章节下载: 06-软件升级配置 (358.64 KB)
目 录
设备软件主要包括Bootrom程序和系统启动文件。设备上电后,先运行Bootrom程序,初始化硬件并显示设备的硬件参数,然后运行系统启动文件;启动文件一方面提供对硬件的驱动和适配功能,另一方面实现了业务特性。Bootrom程序与系统启动文件是设备启动、运行的必备软件,为整个设备提供支撑、管理、业务等功能,它们的关系如图1-1所示。
图1-1 Bootrom程序与系统启动文件关系示意图
Bootrom程序和系统启动文件都可以通过Bootrom菜单和命令行两种方式来升级,本文只介绍命令行升级方式,通过Bootrom菜单升级的具体操作请参见设备的版本说明书。
即便都是通过命令行,但因为实现原理不同,命令行下的软件升级方式又可以细分为以下几类:
升级方式及介绍 |
可升级的设备软件 |
各种升级方式对比说明 |
Bootrom、启动文件 |
· 该方式通过重启设备来实现设备软件的升级,设备重启完成后,直接使用新版本软件运行 · 使用该方式升级设备软件时会导致当前业务中断 |
|
启动文件 |
· 热补丁是一种快速、低成本修复启动文件缺陷的方式 · 与通过整机重启升级启动文件相比,热补丁的优势是在升级过程中不会中断设备当前正在运行的业务 · 补丁文件与启动文件的版本一一对应,使用热补丁升级启动文件时,只能修复与补丁文件对应启动文件的缺陷,不涉及功能的添加及删除 |
|
通过ISSU(In-Service Software Upgrade,不中断业务升级)方式升级启动文件 |
启动文件 |
· 通过ISSU方式升级启动文件是一种简便、快速升级启动文件的方式 · 通过主备倒换机制完成启动文件的升级,ISSU方式能够保证设备在升级过程中业务不中断 · 关于ISSU的详细描述,请参见“基本配置指导”中的“ISSU配置” |
请按以下步骤升级Bootrom:
(1) 使用FTP或者TFTP,将Bootrom程序拷贝到设备存储介质的根目录下。
(2) 使用命令行升级Bootrom程序。
(3) 重启设备,使新的Bootrom程序生效。
IRF系统中,由于不同成员设备的Bootrom可能各不相同,用户容易混淆,从而导致Bootrom升级错误。通过启动Bootrom升级时的合法性检查功能,设备就能够对Bootrom升级文件的正确性、版本配套性等进行严格的检查,保证升级成功。
表1-1 升级Bootrom
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动升级时的合法性检查功能 |
bootrom-update security-check enable |
可选 缺省情况下,Bootrom升级时的合法性检查功能是开启的 |
返回用户视图 |
quit |
- |
升级指定成员设备的Bootrom程序 |
bootrom update file file-url slot slot-number-list |
必选 该命令在用户视图下执行 |
必须先将Bootrom文件保存到相应成员设备存储介质的根目录下,bootrom命令才能执行成功。
采用本特性升级启动文件时,请按以下步骤进行:
(1) 使用FTP、TFTP或者其它方式将启动文件下载保存到Master设备存储介质的根目录下。
(2) 将新的启动文件拷贝到Slave设备存储介质的根目录下。
(3) 使用命令行分别指定Master设备和Slave设备下次启动时使用的启动文件(以下简称为下次启动文件)。
(4) 重启设备,使新的启动文件生效。
表1-2 指定下次启动文件
操作 |
命令 |
说明 |
指定成员设备的下次启动文件 |
boot-loader file file-url slot { all | slot-number } { main | backup } |
必选 该命令在用户视图下执行 |
· 下次启动文件必须存放在设备存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。
· 必须先将下次启动文件保存到相应成员设备存储介质的根目录下,boot-loader命令才能执行成功。
· Master和Slave的下次启动文件名称可以不同,但是版本必须一致,否则,Slave会使用Master的启动文件重新启动加入IRF。
使用本特性升级设备等效于1.3.2 通过整机重启方式升级启动文件(方法一),但缩减了升级步骤。它通过一条命令可以完成将指定文件拷贝到指定成员设备,并设置为该成员设备下次启动配置文件的功能。使用本特性升级IRF时,因为IRF中通常存在多个成员设备,能简化升级步骤。
采用本特性升级启动文件时,请按以下步骤进行:
(1) 使用FTP、TFTP或者其它方式将启动文件下载保存到Master存储介质的根目录下。
(2) 同步升级启动文件。
(3) 重启指定成员设备或者整个IRF系统,使新的启动文件生效。
表1-3 同步升级启动文件
操作 |
命令 |
说明 |
同步升级指定成员设备或者所有成员设备的启动文件 |
boot-loader update file file-url slot { slot-number | all } { main | backup } |
必选 该命令在用户视图下执行 |
热补丁是一种快速、低成本修复产品软件版本缺陷的方式。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。
补丁(又被称为补丁单元)是用来修复某个缺陷的程序包,通常以补丁文件的形式发布,一个补丁文件可能包含一个或多个补丁,不同的补丁具有不同的功能。当补丁文件被用户从存储介质加载到内存补丁区中时,补丁文件中的补丁将被分配一个在此内存补丁区中唯一的单元序号,用于标志、管理、操作各补丁,补丁的单元序号从1开始顺序编号,如某补丁文件中有3个补丁单元,那合法的补丁单元号为1、2和3。
所谓增量补丁,是指各补丁单元和其前面的补丁单元有依赖性。比如,补丁文件中有3个补丁单元,则3号补丁必须在1号和2号补丁生效之后才能运行,而不能直接单独运行3号补丁。
当前发布补丁文件中的补丁均为增量补丁。
· 正式补丁(Common patches)是通过版本发布流程发布的补丁。
· 临时补丁(Temporary patches)是未通过版本发布流程发布,用于临时解决紧急问题和需求的补丁。
正式补丁总会包含前面临时补丁的功能,从而替代前面的临时补丁。补丁的类型只对补丁加载(Load)过程产生影响——系统在加载正式补丁之前会先将系统中所有临时补丁删除。
补丁包文件是将设备需要的同期发布的多个补丁文件打包生成的文件。补丁包文件升级方式是补丁文件升级方式的改良。
使用补丁文件升级时,产品对补丁文件的名称进行了严格定义,指定类型的硬件会有对应的补丁文件,该文件的名称是固定的,用户不能随便定义。当某个部件需要软件升级时,用户必须先下载该部件对应的补丁文件,并将补丁文件重命名为指定的名称,如果命名错误,会造成该部件升级失败。如果要同时升级多个部件,则需要多次重复上述操作。
使用补丁包文件升级时,用户只需下载该补丁包文件,执行一次命令,就可以完成设备所有部件的软件升级,从而简化了补丁操作及补丁版本管理。
每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换。补丁状态切换与命令操作关系如图1-2所示,其中:
· IDLE、DEACTIVE、ACTIVE和RUNNING表示补丁的不同状态;
· 加载、临时运行、确认运行、停止运行、删除、安装、卸载表示补丁操作,分别对应命令patch load、patch active、patch run、patch deactive、patch delete、patch install和undo patch install;
· 箭头方向表示状态的转变方向。
比如对DEACTIVE状态的补丁执行patch active操作,补丁的状态就会变为ACTIVE。
补丁文件的状态信息内容保存在Flash中的patchstate文件里,建议用户不要对该文件进行操作。
表示尚未加载补丁,无法进行安装、运行等补丁操作,如图1-3所示(假设系统补丁区中最多可以加载8个补丁)。
当前内存补丁区中支持的最大补丁数为200个。
表示补丁已经被加载到内存补丁区,但尚未运行。假设用户将加载的补丁文件包含7个补丁,则这7个补丁将在经过版本校验及CRC校验之后被加载到内存补丁区,加载成功的补丁处于DEACTIVE状态,此时系统中补丁状态如图1-4所示。
表示补丁已经被临时运行,即该补丁在设备重启之后不再生效。对于图1-4中7个处于DEACTIVE状态的补丁,用户如果激活前5个补丁,则前5个补丁的状态将由DEACTIVE状态变成ACTIVE状态,此时系统中补丁状态如图1-5所示。
系统重启后,所有处于ACTIVE状态的补丁将变成DEACTIVE状态。
表示补丁已经被永久运行,即该补丁在设备重启之后会继续生效。对于图1-5中5个处于ACTIVE状态的补丁,用户确认运行前3个补丁后,前3个补丁的状态将由ACTIVE状态变成RUNNING状态,此时系统中补丁状态如图1-6所示。
系统重启后,所有处于RUNNING状态的补丁仍保持为RUNNING状态。
表1-4 热补丁配置任务简介
配置任务 |
说明 |
详细配置 |
|
安装补丁 |
一步式安装补丁 |
二者任选其一 一步式配置和分步配置效果等同,分步配置时用户可以控制安装过程中的各个状态 |
|
分步安装补丁 |
|||
分步卸载补丁 |
可选 |
补丁文件是根据安装补丁的设备类型按需发布。在进行补丁操作前,需要通过FTP/TFTP等方式将补丁文件保存到设备的存储介质上,保存时请注意:
· 补丁版本必须与设备型号、设备的软件版本相匹配。如果不匹配,则会造成补丁操作失败。
· 补丁文件的名称必须符合要求,否则系统无法找到补丁文件,造成补丁操作失败。设备是根据补丁标志(PATCH-FLAG)生成补丁文件名,再根据文件名将补丁从存储介质(默认为Flash)中读取到补丁区进行加载或安装。设备在出厂时已经定义了PATCH-FLAG。display patch information命令显示信息中Version字段的前3个字符值就是PATCH-FLAG的后缀,补丁文件名称的格式为“patch_后缀.bin”。
加载和安装操作的对象是所有成员设备,所以,执行加载和安装操作前,请将补丁文件保存到所有成员设备存储介质的根目录下,所有成员设备上补丁文件必须一致(包括补丁文件的名称和内容)。
用户可以通过执行patch install命令来一步式安装补丁。执行该命令同时,需要指定补丁文件的来源,目前设备上可支持指定补丁文件的加载路径和从指定补丁包文件两种方式。
在执行patch install命令时,系统会提示“Do you want to continue running patches after reboot? [Y/N]:”:
· 如果输入<Y>或者<y>,则会安装指定路径下的所有补丁,设备重启后这些补丁继续生效,补丁状态从IDLE转换到RUNNING。
· 如果输入<N>或者<n>,则会安装指定路径下的所有补丁,设备重启后这些补丁不再继续生效,补丁状态从IDLE转换到ACTIVE。
表1-5 一步式安装补丁
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
一步式完成补丁的安装 |
patch install { patch-location | file patch-package } |
必选 · patch-location:表示补丁文件所在的路径,该参数用于安装没有经过打包的补丁文件。 · file patch-package:表示补丁包文件的名称,该参数用于安装补丁包文件。 |
· 指定路径下的补丁必须与设备的型号和版本匹配,否则系统不能正确识别补丁文件。
· 如果设备以前安装过补丁,必须先将历史补丁卸载,才能安装新补丁。用户可以使用display patch information显示设备的补丁信息。
· 如果通过指定补丁文件的加载路径来安装补丁,则执行补丁安装操作后,系统会将补丁文件的加载路径(patch location)修改成“patch install patch-location”中patch-location参数所指向的位置;如果通过指定补丁包文件来安装补丁,则执行补丁安装操作后系统不会改变补丁文件的加载路径。
· 如果要一步式卸载设备上所有已安装的补丁,请直接执行命令undo patch install。执行该命令等效于1.4.7 分步卸载补丁。在搭建IRF环境下,推荐使用undo patch install命令一步式卸载补丁。
用户可以通过执行多条命令分步式安装补丁,该方式便于用户控制补丁安装过程中的各个状态。
表1-6 分步安装补丁配置任务简介
配置任务 |
说明 |
详细配置 |
设置补丁文件的加载路径 |
可选 如果是要安装补丁包,则无需设置补丁文件的加载路径 |
|
加载补丁文件 |
必选 |
|
激活补丁 |
必选 |
|
确认运行补丁 |
可选 |
表1-7 设置补丁文件的加载路径
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置补丁文件的加载路径 |
patch location patch-location |
可选 缺省情况下,补丁文件的加载路径为flash: |
· 为了保证加载补丁过程的安全可靠,建议用户将补丁文件保存到Flash的根目录下。
· patch-location参数指定的路径必须在所有成员设备上都存在,如果某成员设备上不存在该路径,则该命令在该成员设备上不生效。
· 通过指定补丁文件的加载路径来安装补丁文件的情况下,用户执行patch install命令后系统会自动修改补丁文件的加载路径。比如,先配置了patch location xxx,再执行patch install yyy,此时系统会自动将补丁文件的加载路径从xxx改为yyy。
只有正确加载补丁文件后才能进行补丁状态的管理。
· 如果要从补丁文件中安装补丁,则系统默认从Flash中读取补丁文件。
· 如果要从补丁包中安装补丁,则系统从指定的补丁包文件中查找补丁文件并进行加载操作。
当使用FTP或TFTP方式将补丁文件上传/下载到设备的Flash中前,请将文件传输的模式设置为二进制模式,以免不能正确解析补丁文件。
表1-8 加载补丁文件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
将补丁文件从存储介质(Flash)加载到指定的内存补丁区中 |
patch load slot slot-number [ file patch-package ] |
必选 |
激活补丁后,补丁会立即生效,处于试运行阶段。设备复位或重启后,该补丁不再生效,需要重新激活。
补丁的激活状态主要是提供一个缓冲带,如果补丁本身有问题,可以重启设备,以消除该补丁的作用,从而防止因为补丁错误而导致系统连续运行故障。
表1-9 激活补丁
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
激活补丁 |
patch active [ patch-number ] slot slot-number |
必选 |
确认运行补丁后,补丁的状态将变为RUNNING,处于正式运行阶段。设备复位或重启后,该补丁会继续生效。
表1-10 确认运行补丁
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
确认运行补丁 |
patch run [ patch-number ] [ slot slot-number ] |
必选 |
该操作只对处于激活状态的补丁有效,对于处于其它状态的补丁,该操作无效。
表1-11 分步卸载补丁配置任务简介
配置任务 |
说明 |
详细配置 |
停止运行补丁 |
必选 |
|
删除补丁 |
必选 |
停止运行补丁后,补丁将进入未激活状态(DEACTIVE)。系统按打补丁前的特性运行。
表1-12 停止运行补丁
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
停止运行补丁 |
patch deactive [ patch-number ] slot slot-number |
必选 |
执行该操作,只是将补丁从内存补丁区中删除,并不会将补丁从存储介质中删除,补丁回到初始状态(IDLE)。补丁删除后,系统按打补丁前的特性运行。
表1-13 删除补丁
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
将补丁从内存补丁区中删除 |
patch delete [ patch-number ] slot slot-number |
必选 |
搭建IRF环境下,推荐使用undo patch install命令一步式卸载补丁。
在完成上述配置后,在任意视图下执行display命令可以显示软件升级的当前状态,通过查看显示信息验证配置的效果。
表1-14 软件升级显示和维护
操作 |
命令 |
显示启动文件信息 |
display boot-loader [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
显示补丁包信息 |
display patch [ | { begin | exclude | include } regular-expression ] |
显示热补丁的信息 |
display patch information [ | { begin | exclude | include } regular-expression ] |
· Master和Slave两台成员设备组成IRF。Master的成员编号为1,Slave的成员编号为2。
· IRF当前的软件版本为soft-version1,通过远程操作,将IRF系统的软件版本升级到soft-version2,配置文件升级到new-config;
· 最新版本的应用程序soft-version2.bin和最新配置文件new-config.cfg都保存在TFTP server上;
· IRF的IP地址为1.1.1.1/24,由Master(成员编号为1)和Slave(成员编号为2)两台成员设备组成。TFTP server的IP地址为2.2.2.2/24。IRF与TFTP server之间路由可达。
图1-7 通过整机重启方式升级启动文件组网图
(1) TFTP server的配置(注意:不同的服务器类型配置可能不同)
通过合法渠道(比如H3C官方网站或者代理商、技术支援人员)获取正确版本的启动文件和配置文件,并将该文件存储到TFTP server的工作路径,以便TFTP client可以访问。
(2) IRF的配置
# 将new-config.cfg下载到Master上(注意:不同的服务器类型显示信息可能不同)。
<IRF> tftp 2.2.2.2 get new-config.cfg
..
File will be transferred in binary mode
Downloading file from remote TFTP server, please wait.....
TFTP: 917 bytes received in 1 second(s)
File downloaded successfully.
# 将new-config.cfg下载到Slave(成员编号为2)上。
<IRF> tftp 2.2.2.2 get new-config.cfg slot2#flash:/new-config.cfg
# 将启动文件soft-version2.bin下载到Master和Slave上。
<IRF> tftp 2.2.2.2 get soft-version2.bin
...
File will be transferred in binary mode
Downloading file from remote TFTP server, please wait............
TFTP: 10058752 bytes received in 141 second(s)
File downloaded successfully.
<IRF> tftp 2.2.2.2 get soft-version2.bin slot2#flash:/soft-version2.bin
# 将所有成员设备的下次启动配置文件指定为new-config.cfg。
<IRF> startup saved-configuration new-config.cfg main
Please wait ...
Setting the master board ...
... Done!
Setting the slave board ...
Slot 2:
Set next configuration file successfully
# 将所有成员设备的下次启动文件指定为soft-version2.bin。
<IRF> boot-loader file soft-version2.bin slot all main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 1!
The specified file will be used as the main boot file at the next reboot on slot 2!
# 重启所有成员设备完成升级。
<IRF> reboot
设备重启后可以使用display version命令验证升级是否成功。
· IRF(IRF是整个IRF的统称,在本举例中包括Matser和Slave两台成员设备)当前的软件版本存在一些缺陷,需要使用补丁文件进行修复。
· 补丁文件patch_mpu.bin和patch_lpu.bin保存在TFTP server上。
· IRF的IP地址为1.1.1.1/24,TFTP server的IP地址为2.2.2.2/24,IRF与TFTP server之间路由可达。
图1-8 热补丁升级组网图
(1) TFTP server的配置(不同应用程序的配置方式不同,具体步骤略)
· 启动TFTP server功能。
· 将patch_mpu.bin和patch_lpu.bin文件放到TFTP server的工作路径。
(2) IRF的配置
配置前需确认设备Flash有足够的剩余空间来存储补丁文件。
# 开始升级前,执行save命令保存当前配置(配置步骤略)。
# 将TFTP server上的文件patch_mpu.bin和patch_lpu.bin下载到Master存储介质的根目录下。
<IRF> tftp 2.2.2.2 get patch_mpu.bin
<IRF> tftp 2.2.2.2 get patch_lpu.bin
# 将TFTP server上的文件patch_mpu.bin和patch_lpu.bin下载到Slave存储介质的根目录下。
<IRF> tftp 2.2.2.2 get patch_mpu.bin slot2#flash:/patch_mpu.bin
<IRF> tftp 2.2.2.2 get patch_lpu.bin slot2#flash:/patch_lpu.bin
# 安装补丁。
<IRF> system-view
[IRF] patch install flash:
Patches will be installed. Continue? [Y/N]:y
Do you want to continue running patches after reboot? [Y/N]:y
Installing patches........
# 安装完成后,可以使用display patch information命令验证补丁安装是否成功。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!