08-ISSU配置
本章节下载: 08-ISSU配置 (203.15 KB)
目 录
ISSU(In-Service Software Upgrade,不中断业务升级)是一种可靠性高的升级设备启动软件的方式。它主要通过以下几个方面来确保在升级过程中业务不中断或者中断时间较短。
· 引入软件包概念,便于软件的管理和维护。将启动软件按功能划分成Boot软件包、System软件包、Feature软件包和补丁包,将系统软件中比较稳定的基础进程和相对比较活跃的业务进程分离。通常情况下,不需要升级基础进程,只需升级部分业务进程。而且,业务进程之间互相独立,当某业务需要版本更新时,只需升级该业务对应的软件包即可,不用升级所有模块,从而不会对设备运行甚至其它业务造成影响。关于软件包的详细介绍请参见“基础配置指导”中的“软件升级”。
· 支持热补丁。使用补丁包在不重启设备的情况下快速修复系统缺陷。
· 根据不同的应用场景,提供不同的升级策略,尽量避免升级影响到当前业务的正常进行。升级方式的详细描述请参见“1.1 ISSU升级策略”。
本文中的升级指的是广义上升级,即升级前后,运行两个不同版本的软件。它包括狭义上的升级和降级。
软件在发布的时候,开发会根据当前版本和历史版本是否兼容以及兼容的程度,制定升级策略。ISSU升级策略有四种:增量升级、软重启升级、重启升级以及不兼容升级。
进行ISSU方式前,请先将要升级的目标软件包下载到设备存储介质的根目录下,然后通过display version comp-matrix file命令显示设备将采用的ISSU升级策略。
表1-1 ISSU升级策略描述表
本策略用于只有用户态进程需要更新时。使用该策略升级时,系统会仅对有差异的用户态进程实施升级,并通过进程的备份和倒换来保证升级过程中业务不中断。该策略对系统影响最小、升级速度最快,为ISSU升级的最佳方式 |
Upgrade Way字段显示为: · Service Upgrade:表示服务级增量升级,该策略仅对本业务模块有影响,对系统以及其他业务模块没有影响 · File Upgrade:表示文件级增量升级。该策略仅对系统内的、用户不可见的程序文件进行升级,对系统以及业务模块没有影响 |
||
本策略用于一些关键程序(比如内核以及无法进行增量升级的用户态进程)需要升级时。使用该方式升级时,系统会先将系统运行瞬间的数据(运行数据、配置数据、硬件数据)和状态全部保存在内存中,再使用新软件重启CPU。重启期间数据转发平面继续提供转发能力,CPU重启后使用上次保存的数据、状态继续运行。对于需要实时和对端交互协议报文来保持连接的协议,则通过协议代理进程来确保软重启升级过程中连接和协议状态不受影响 与增量升级相比,软重启影响了本CPU上运行的所有模块,升级时间较长 |
Upgrade Way字段显示为ISSU Reboot时,表示采用的是软重启升级方式 |
||
本策略用于版本间的差异仍属于兼容范围内,但无法进行增量和软重启时。该方式通过重启本设备加载新软件来完成升级,因此,升级过程会到导致业务中断 |
Upgrade Way字段显示为Reboot时,表示采用的是重启升级方式 |
||
ISSU有两种升级方式,一种是install命令升级方式,另一种是issu命令升级方式,目前设备仅支持install命令升级方式。
· 建议通过Console口对设备实施ISSU升级。如果通过Telnet或SSH登录设备实施ISSU升级,在升级过程中可能会因Telnet或SSH连接中断,导致ISSU升级无法继续。
· 硬件升级或故障期间,请不要进行ISSU升级。否则可能会导致升级失败或者系统异常。
(1) 请仔细阅读软件包版本发布说明书。了解是否可以使用ISSU功能升级设备。
(2) 请查看软件包版本发布说明书,如果某软件包需要License才能运行,且设备当前没有对应的有效的License时,请先安装对应的License,再进行ISSU升级。否则,会导致软件包安装失败。
用户在安装License时,系统会自动搜索存储介质上是否存在该License对应的软件包,如果存在一个,则直接自动安装该软件包;如果存在多个,则直接自动安装最先搜索到的软件包。
用户在卸载License时,系统会自动搜索该License对应的软件包是否在运行,如果正在运行,则会直接自动卸载该软件包。
请通过display device命令了解设备的当前状态。请确保此时所有设备均为正常状态,对于故障设备请先行排除故障后,再进行ISSU升级。
通过display version comp-matrix file命令显示设备将采用的ISSU升级策略。ISSU升级策略不同对当前业务的影响不同,采用的升级步骤也会有差异。升级策略的详细描述请参见“1.1 ISSU升级策略”。
(2) 使用save命令保存当前配置。
(3) 通过FTP或TFTP将软件包下载到设备任意存储介质的根目录。
· 如果升级的目标版本与设备当前运行版本有功能删减,请务必确保手工将目标版本不支持的配置全部删除。
· 软件包和设备支持的特性/命令行是对应的。请在卸载软件包之前,删除该软件包对应的命令行并保存配置,以便保证已卸载的软件包对应的命令行不会出现在下次启动配置中。否则,设备重启后,即便配置文件中有该软件包对应的命令行,但是因为该软件包已经卸载,这些命令行也不会生效。需要安装该软件包后,重新执行这些命令使其生效。
在ISSU升级过程中,请遵循以下指导:
· 请确保系统中除了当前执行ISSU升级命令的用户外无其他用户登录。
· 请不要执行ISSU之外的配置命令,以免影响配置效果。
ISSU升级完成后,如需配置设备,请重新登录。
如果用户要升级的软件包是以IPE文件的形式发布的,请在执行其它install命令前,先按以下步骤将IPE包解压缩:
(1) 通过FTP或TFTP将IPE文件下载到设备存储介质的根目录。
(2) 通过display install ipe-info命令查看该IPE文件中包含的软件包。
(3) 解压缩IPE文件:将IPE文件解压缩,生成软件包。
解压缩IPE文件 |
执行install activate命令可以安装/升级软件包。如果当前系统没有运行相同类型的软件包,则该过程称为安装软件包;如果当前系统有相同类型的软件包在运行,则该过程称为升级软件包。
对于增量升级方式,软件包激活只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次激活的软件包在系统重启后仍处于激活状态;对于软重启和重启升级方式,该步骤可选,因为用户在执行install activate命令时,系统已经修改了下次启动软件列表,升级软件包会在系统重启后继续生效。
表3-2 激活Boot包/System包/Feature包
如果产品针对同一System包发布了多个补丁包,直接安装最新版本的补丁包即可,且不需要先卸载旧的补丁包。
因为Boot包和System包是设备运行的基础软件,所以Boot包和System包不支持卸载,只能卸载Feature包和补丁包。当Feature包/补丁包被卸载后,该软件包将处于未激活状态,系统也将不再具备该软件包提供的功能。但是软件包仍然存在于存储介质上,可以通过install remove命令将卸载后的软件包从存储介质上彻底删除。
Feature包/补丁包卸载也只在设备本次运行过程中生效。如果用户希望系统重启后,Feature包/补丁包卸载依然生效,请用户使用install commit命令确认软件包的更改。
每次激活或者卸载软件包之后,系统中将运行新的软件特性集(即不同于升级前的软件包集合),系统将这些变化记录为回滚点。通过回滚功能,可将系统回滚到某个历史状态,或者恢复到ISSU升级初始状态。
当升级方式为增量升级时,软件包回滚只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次的回滚操作在系统重启后生效。系统最多支持50个回滚点,当回滚点超过最大值时,旧的回滚点会被删除,新的回滚点会被保存。
当升级方式为软重启或重启升级时,旧的回滚点会被删除,系统只支持一次回滚,即只支持回滚到系统升级初始状态。
执行该命令前,可通过display install rollback命令查看回滚点信息 |
||
增量升级方式下,当系统正在执行软件包的激活或卸载操作时,用户可以通过install abort命令或者按Ctrl+C取消正在执行中的操作,从而使系统回退到操作前的状态。
该功能可用于检查激活的Boot包/System包/Feature包的完整性、各主控板上激活的软件包列表和确认的软件包列表之间的差异(以方便用户知道是否有未确认的软件包)、以及不同的主控板之间激活的软件包列表的差异(以方便用户知道不同主控板上的软件包版本是否一致)。当发现有不一致的软件包时,用户可使用install activate命令或install deactivate命令更新激活的软件包列表,使用install commit命令更新确认的软件包列表。
表3-8 校验Boot包/System包/Feature包
Boot包/System包/Feature包校验 |
需要注意的是,执行删除操作后,软件包会从设备上彻底删除,用户将不能执行与该软件包相关的install rollback to或者install abort命令。请确认不需要使用该软件包之后,再执行删除操作。
完成上述配置后,在任意视图下执行display命令可以显示配置后软件包的运行情况,通过查看显示信息验证配置的效果。
表3-10 ISSU显示和维护
命令 |
|
显示软件包兼容信息 |
display version comp-matrix |
显示当前系统中已激活的软件包的相关信息 |
display install active [ verbose ] |
显示存储介质根目录下、没有被激活的所有软件包的相关信息 |
display install inactive [ verbose ] |
显示设备下次启动时使用的主用软件包的相关信息 |
display install committed [ verbose ] |
显示设备下次启动时使用的备用软件包的相关信息 |
display install backup [ verbose ] |
显示系统中正在执行的激活、卸载、回滚三种ISSU操作 |
display install job |
显示与ISSU升级相关的日志 |
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 } |
清除ISSU日志 |
reset install log-history oldest log-number |
清除回滚点 |
reset install rollback oldest point-id |
将HTTP特性从R0201版本升级到兼容版本R0202。
图3-1 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
# 解压缩IPE文件。
<Sysname> install add flash:/http-r0202.ipe flash:
# 查看升级前激活的软件包。
<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.
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.
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 maybe 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
# 确认软件包更改。
将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
# 确认软件包更改。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!