选择区域语言: EN CN HK

01-基础配置指导

08-软件升级配置

本章节下载  (259.98 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/MSR/MSR_50/Configure/Operation_Manual/H3C_MSR_CG-R2207(V1.11)/01/201212/768366_30005_0.htm

08-软件升级配置


1 软件升级简介

1.1  设备软件简介

设备软件主要包括Bootrom程序和系统启动文件。设备上电后,先运行Bootrom程序,初始化硬件并显示设备的硬件参数,然后运行系统启动文件;启动文件一方面提供对硬件的驱动和适配功能,另一方面实现了业务特性。Bootrom程序与系统启动文件是设备启动、运行的必备软件,为整个设备提供支撑、管理、业务等功能,它们的关系如图1-1所示。

图1-1 Bootrom程序与系统启动文件关系示意图

 

1.2  升级方法简介

Bootrom程序和系统启动文件都可以通过Bootrom菜单和命令行两种方式来升级,本文只介绍命令行升级方式,通过Bootrom菜单升级的具体操作请参见设备的安装手册。

即便都是通过命令行,但因为实现原理不同,命令行下的软件升级方式又可以细分为两类:

升级方式及介绍

可升级的设备软件

各种升级方式对比说明

通过整机重启方式升级软件

Bootrom、启动文件

该方式需要重启设备来实现升级,会导致当前业务的中断,不推荐使用

通过热补丁方式升级启动文件

启动文件

热补丁是一种快速、低成本修复产品软件版本缺陷的方式。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复

 

 


1.3  通过整机重启方式升级软件

1.3.1  通过整机重启方式升级Bootrom

请按以下步骤升级Bootrom:

(1)        使用FTP或者TFTP,将Bootrom程序拷贝到设备存储介质的根目录下。

(2)        使用命令行指定下次启动时使用的Bootrom程序。

(3)        重启设备,使新的Bootrom程序生效。

表1-1 升级Bootrom

操作

命令

说明

读取、恢复、备份或升级设备或子卡的Bootrom程序

bootrom { backup | read | restore | update file file-url } [ slot slot-number-list ] [ all | part ]

必选

不指定allpart参数时,操作Bootrom的全部内容

该命令在用户视图下执行

 

Bootrom文件必须存放在设备的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。

 

1.3.2  通过整机重启方式升级启动文件

采用本特性升级启动文件时,请按以下步骤进行:

(1)        使用FTP、TFTP或者其它方式将启动文件下载保存到设备存储介质的根目录下。

(2)        使用命令行指定设备下次启动时使用的启动文件(以下简称为下次启动文件)。

(3)        重启设备,使新的启动文件生效。

表1-2 指定下次启动文件

操作

命令

说明

指定设备的下次启动文件

boot-loader file file-url { main | backup }

必选

该命令在用户视图下执行

 

下次启动文件必须存放在设备的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。

 

1.4  通过热补丁方式升级启动文件

热补丁是一种快速、低成本修复产品软件版本缺陷的方式。和升级软件版本相比,热补丁的主要优势是不会使设备当前正在运行的业务中断,即在不重启设备的情况下,可以对设备当前软件版本的缺陷进行修复。

1.4.1  热补丁基本概念

1. 补丁和补丁文件

补丁(又被称为补丁单元)是用来修复某个缺陷的程序包,通常以补丁文件的形式发布,一个补丁文件可能包含一个或多个补丁,不同的补丁具有不同的功能。当补丁文件被用户从存储介质加载到内存补丁区中时,补丁文件中的补丁将被分配一个在此内存补丁区中唯一的单元序号,用于标志、管理、操作各补丁,补丁的单元序号从1开始顺序编号,如某补丁文件中有3个补丁单元,那合法的补丁单元号为1、2和3。

2. 增量补丁

所谓增量补丁,是指各补丁单元和其前面的补丁单元有依赖性。比如,补丁文件中有3个补丁单元,则3号补丁必须在1号和2号补丁生效之后才能运行,而不能直接单独运行3号补丁。

当前发布补丁文件中的补丁均为增量补丁。

3. 正式补丁和临时补丁

l              正式补丁(Common patches)是通过版本发布流程发布的补丁。

l              临时补丁(Temporary patches)是未通过版本发布流程发布,用于临时解决紧急问题和需求的补丁。

正式补丁总会包含前面临时补丁的功能,从而替代前面的临时补丁。补丁的类型只对补丁加载(Load)过程产生影响——系统在加载正式补丁之前会先将系统中所有临时补丁删除。

4. 补丁包

补丁包是将各类型单板的补丁打包生成的一个文件,该文件中存放了相同版本不同类型单板的补丁文件,用户只要在执行补丁操作的命令行中指定一个补丁包文件,系统会自动到该补丁包中为设备上的各单板查找合适的补丁,找到匹配的补丁后就自动执行加载,简化了补丁操作及补丁版本管理。

1.4.2  补丁状态

每个补丁都有自身的状态,只有在用户命令行的干预下才能发生切换。补丁状态切换与命令操作关系如图1-2所示,其中:

l              IDLE、DEACTIVE、ACTIVE和RUNNING表示补丁的不同状态;

l              加载、临时运行、确认运行、停止运行、删除、安装、卸载表示补丁操作,分别对应命令patch loadpatch activepatch runpatch deactivepatch deletepatch installundo patch install

l              箭头方向表示状态的转变方向。

比如对DEACTIVE状态的补丁执行patch active操作,补丁的状态就会变为ACTIVE。

图1-2 补丁状态切换与命令操作关系

 

补丁文件的状态信息内容保存在Flash中的patchstate文件里,建议用户不要对该文件进行操作。

 

1. 初始状态(IDLE)

表示尚未加载补丁,无法进行安装、运行等补丁操作,如图1-3所示(假设系统补丁区中最多可以加载8个补丁)。

图1-3 补丁未加载

 

当前内存补丁区中支持的最大补丁数为200个。

 

2. 未激活状态(DEACTIVE)

表示补丁已经被加载到内存补丁区,但尚未运行。假设用户将加载的补丁文件包含7个补丁,则这7个补丁将在经过版本校验及CRC校验之后被加载到内存补丁区,加载成功的补丁处于DEACTIVE状态,此时系统中补丁状态如图1-4所示。

图1-4 补丁文件被加载

 

3. 激活状态(ACTIVE)

表示补丁已经被临时运行,即该补丁在设备重启之后不再生效。对于图1-4中7个处于DEACTIVE状态的补丁,用户如果激活前5个补丁,则前5个补丁的状态将由DEACTIVE状态变成ACTIVE状态,此时系统中补丁状态如图1-5所示。

系统重启后,所有处于ACTIVE状态的补丁将变成DEACTIVE状态。

图1-5 补丁被激活

 

4. 确认运行状态(RUNNING)

表示补丁已经被永久运行,即该补丁在设备重启之后会继续生效。对于图1-5中5个处于ACTIVE状态的补丁,用户确认运行前3个补丁后,前3个补丁的状态将由ACTIVE状态变成RUNNING状态,此时系统中补丁状态如图1-6所示。

图1-6 补丁被确认运行

 

系统重启后,所有处于RUNNING状态的补丁仍保持为RUNNING状态。

1.4.3  热补丁配置任务简介

表1-3 热补丁配置任务简介

配置任务

说明

详细配置

安装补丁

一步式安装补丁

二者任选其一

一步式配置和分步配置效果等同,分步配置时用户可以控制安装过程中的各个状态

1.4.5 

分步安装补丁

1.4.6 

分步卸载补丁

可选

1.4.7 

 

1.4.4  配置准备

补丁文件是根据安装补丁的设备或单板类型按需发布。在进行补丁操作前,需要通过FTP/TFTP等方式将补丁文件保存到设备的存储介质上,保存时请注意:

l              补丁版本必须与设备型号、设备的软件版本相匹配。如果不匹配,则会造成补丁操作失败。

l              补丁文件的名称必须符合要求,否则系统无法找到补丁文件,造成补丁操作失败。设备是根据补丁标志(PATCH-FLAG)生成补丁文件名,再根据文件名将补丁从存储介质(默认为Flash)中读取到补丁区进行加载或安装。设备在出厂时已经定义了PATCH-FLAG,不同类型设备或单板的PATCH-FLAG不同。display patch information命令显示信息中Version字段的前3个字符就是PATCH-FLAG的后缀,补丁文件名称的格式为“patch_后缀.bin”。比如设备的PATCH-FLAG为PATCH-MXN,则它对应的补丁文件必须命名为patch_mxn.bin。

MSR缺省的热补丁文件名为patchmain.bin。

 

1.4.5  一步式安装补丁

用户可以通过执行patch install命令来一步式安装补丁。执行该命令同时,需要指定补丁文件的来源,目前设备上可支持指定补丁文件的加载路径和从指定补丁包文件两种方式。

在执行patch install命令时,系统会提示“Do you want to continue running patches after reboot? [Y/N]:”:

l              如果输入<Y>或者<y>,则会安装指定路径下的所有补丁,设备或单板重启后这些补丁继续生效,补丁状态从IDLE转换到RUNNING,相当于依次执行了patch locationpatch loadpatch activepatch run命令。

l              如果输入<N>或者<n>,则会安装指定路径下的所有补丁,设备或单板重启后这些补丁不再继续生效,补丁状态从IDLE转换到ACTIVE,相当于依次执行了patch locationpatch loadpatch active命令。

若要通过指定补丁包文件来安装补丁,则需预先将补丁包文件保存在主控板的存储介质上,所有备用板和接口板将从主控板加载补丁文件。

表1-4 一步式安装补丁

操作

命令

说明

进入系统视图

system-view

-

一步式完成补丁的安装

patch install { patch-location | file patch-package }

必选

 

l          指定路径下的补丁必须与单板的型号和版本匹配,否则系统不能正确识别补丁文件。

l          如果通过指定补丁文件的加载路径来安装补丁,则执行补丁安装操作后,系统会将补丁文件的加载路径(patch location)修改成“patch install patch-location”中patch-location参数所指向的位置;如果通过指定补丁包文件来安装补丁,则执行补丁安装操作后系统不会改变补丁文件的加载路径。

l          如果要一步式卸载设备上所有已安装的补丁,请直接执行命令undo patch install。执行该命令等效于1.4.7  分步卸载补丁

 

1.4.6  分步安装补丁

用户可以通过执行多条命令分步式安装补丁,该方式便于用户控制补丁安装过程中的各个状态。

1. 配置任务简介

表1-5 分步安装补丁配置任务简介

配置任务

说明

详细配置

设置补丁文件的加载路径

可选

如果是要安装补丁包,则无需设置补丁文件的加载路径

2.

加载补丁文件

必选

3.

激活补丁

必选

4.

确认运行补丁

可选

5.

 

2. 设置补丁文件的加载路径

当设备支持多个存储介质时,用户可以将补丁文件保存到Flash外的其它存储介质。此时,需要使用该命令告知系统补丁文件的位置,执行补丁加载操作时,系统会将该路径下指定后缀的补丁加载到对应的单板。因此,在执行补丁加载之前,请确保补丁文件存放位置与设置好的路径一致。如果设备上只有一个存储介质,则不用设置该参数。

表1-6 设置补丁文件的加载路径

操作

命令

说明

进入系统视图

system-view

-

设置补丁文件的加载路径

patch location patch-location

可选

缺省情况下,补丁文件的加载路径为flash:

 

通过指定补丁文件的加载路径来安装补丁文件的情况下,用户执行patch install命令后系统会自动修改补丁文件的加载路径。比如,先配置了patch location xxx,再执行patch install yyy,此时系统会自动将补丁文件的加载路径从xxx改为yyy。

 

3. 加载补丁文件

只有正确加载补丁文件后才能进行补丁状态的管理。

l              如果要从补丁文件中安装补丁,则系统默认从Flash中读取补丁文件,如果Flash中找不到补丁文件,系统将尝试从CF卡中读取补丁文件。

l              如果要从补丁包中安装补丁,则系统从指定的补丁包文件中查找补丁文件并进行加载操作。

当使用FTP或TFTP方式将补丁文件上传/下载到设备的Flash中前,请将文件传输的模式设置为二进制模式,以免不能正确解析补丁文件。

 

表1-7 加载补丁文件

操作

命令

说明

进入系统视图

system-view

-

将补丁文件从存储介质(比如Flash、CF卡)加载到内存补丁区中

patch load [ file patch-package ]

必选

 

4. 激活补丁

激活补丁后,补丁会立即生效,处于试运行阶段。设备复位或重启后,该补丁不再生效,需要重新激活。

补丁的激活状态主要是提供一个缓冲带,如果补丁本身有问题,可以重启设备,以消除该补丁的作用,从而防止因为补丁错误而导致系统连续运行故障。

表1-8 激活补丁

操作

命令

说明

进入系统视图

system-view

-

激活补丁

patch active [ patch-number ]

必选

 

5. 确认运行补丁

确认运行补丁后,补丁的状态将变为RUNNING,处于正式运行阶段。设备复位或重启后,该补丁会继续生效。

表1-9 确认运行补丁

操作

命令

说明

进入系统视图

system-view

-

确认运行补丁

patch run [ patch-number ]

必选

 

该操作只对处于激活状态的补丁有效,对于处于其它状态的补丁,该操作无效。

 

1.4.7  分步卸载补丁

1. 配置任务简介

表1-10 分步卸载补丁配置任务简介

配置任务

说明

详细配置

停止运行补丁

必选

2.

删除补丁

必选

3.

 

2. 停止运行补丁

停止运行补丁后,补丁将进入未激活状态(DEACTIVE)。系统按打补丁前的特性运行。

表1-11 停止运行补丁

操作

命令

说明

进入系统视图

system-view

-

停止运行补丁

patch deactive [ patch-number ]

必选

 

3. 删除补丁

执行该操作,只是将补丁从内存补丁区中删除,并不会将补丁从存储介质中删除,补丁回到初始状态(IDLE)。补丁删除后,系统按打补丁前的特性运行。

表1-12 删除补丁

操作

命令

说明

进入系统视图

system-view

-

将补丁从内存补丁区中删除

patch delete [ patch-number ]

必选

 

1.5  软件升级显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示软件升级的当前状态,通过查看显示信息验证配置的效果。

表1-13 软件升级显示和维护

操作

命令

显示启动文件信息

display boot-loader [ | { begin | exclude | include } regular-expression ]

显示补丁包信息

display patch

显示热补丁的信息

display patch information [ | { begin | exclude | include } regular-expression ]

 

1.6  软件升级典型配置举例

1.6.1  定时升级配置举例

1. 组网需求

l              Device当前的软件版本为soft-version1,通过远程操作,在业务空闲时间(比如凌晨3点)将设备的软件版本升级到soft-version2,配置文件升级到new-config;

l              最新版本的应用程序soft-version2.bin和最新配置文件new-config.cfg都保存在FTP Server的aaa目录下;

l              Device的IP地址为1.1.1.1/24,FTP Server的IP地址为2.2.2.2/24,Device与FTP Server之间路由可达;

l              User通过Telnet远程登录到Device,User与Device之间路由可达。

2. 组网图

图1-7 配置远程定时自动升级组网图

 

3. 配置步骤

(1)        FTP Server的配置(注意:不同的服务器类型配置可能不同)

l              设置FTP client访问参数(包括启动FTP Server功能、配置FTP用户名为aaa,密码为hello、授权路径为flash:/aaa)。

<FTP-Server> system-view

[FTP-Server] ftp server enable

[FTP-Server] local-user aaa

[FTP-Server-luser-aaa] password cipher hello

[FTP-Server-luser-aaa] service-type ftp

[FTP-Server-luser-aaa] authorization-attribute work-directory flash:/aaa

l              在FTP Server上使用文本编辑器编辑批处理文档auto-update.txt。批处理文件的内容如下:

return

startup saved-configuration new-config.cfg

boot-loader file soft-version2.bin main

reboot

(2)        Device的配置

# 登录FTP Server(注意:不同的服务器类型显示信息可能不同)。

<Device> ftp 2.2.2.2

Trying 2.2.2.2 ...

Press CTRL+K to abort

Connected to 2.2.2.2.

220 WFTPD 2.0 service (by Texas Imperial Software) ready for new user

User(2.2.2.2:(none)):aaa

331 Give me your password, please

Password:

230 Logged in successfully

[ftp]

# 下载FTP Server上的文件auto-update.txt。

[ftp] ascii

[ftp] get auto-update.txt

# 下载FTP Server上的文件new-config.cfg

[ftp]get new-config.cfg

# 下载FTP Server上的文件soft-version2.bin。

[ftp] binary

[ftp] get soft-version2.bin

[ftp] bye

<Device>

# 将auto-update.txt文件更名为批处理文件auto-update.bat。

<Device> rename auto-update.txt auto-update.bat

为确保文件正确,可以使用more命令查看确认文件内容。

# 使用定时自动执行功能实现设备在凌晨3点定时自动升级。

<Device> system-view

[Device] job autoupdate

[Device-job-autoupdate] view system-view

[Device-job-autoupdate] time 1 one-off at 03:00 command execute auto-update.bat

设备重启后可以使用display version命令验证升级是否成功。

1.6.2  热补丁典型配置举例

1. 组网需求

l              Device当前的软件版本存在一些缺陷,需要使用补丁文件进行修复。

l              补丁文件patch_xxx.bin保存在TFTP server上。

l              Device的IP地址为1.1.1.1/24,TFTP server的IP地址为2.2.2.2/24,Device与TFTP server之间路由可达。

2. 组网图

图1-8 热补丁升级组网图

 

3. 配置步骤

(1)        TFTP server的配置(不同应用程序的配置方式不同,具体步骤略)

l              启动TFTP server功能。

l              将patch_xxx.bin文件放到TFTP server的工作路径。

(2)        Device的配置

配置前需确认设备Flash有足够的剩余空间来存储补丁文件。

 

# 开始升级前,执行save命令保存当前配置(配置步骤略)。

# 将TFTP server上的文件patch_xxx.bin下载到设备存储介质的根目录下。

<Device> tftp 2.2.2.2 get patch_xxx.bin

# 安装补丁。

<Device> system-view

[Device] 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........

Installation completed, and patches will continue to run after reboot.

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!