08-ISSU配置
本章节下载: 08-ISSU配置 (224.59 KB)
ISSU(In-Service Software Upgrade,不中断业务升级)是一种可靠性高的升级设备启动软件的方式。它主要通过以下几个方面来确保在升级过程中业务不中断或者中断时间较短。
· 引入软件包概念,便于软件的管理和维护。将启动软件按功能划分成Boot软件包、System软件包、Feature软件包和补丁包,将系统软件中比较稳定的基础进程和相对比较活跃的业务进程分离。通常情况下,不需要升级基础进程,只需升级部分业务进程。而且,业务进程之间互相独立,当某业务需要版本更新时,只需升级该业务对应的软件包即可,不用升级所有模块,从而不会对设备运行甚至其它业务造成影响。关于软件包的详细介绍请参见“基础配置指导”中的“软件升级”。
· 支持热补丁。使用补丁包在不重启设备的情况下快速修复系统缺陷。
· 根据不同的应用场景,提供不同的升级策略,尽量避免升级影响到当前业务的正常进行。升级方式的详细描述请参见“1.1 ISSU升级策略”。
· 需要硬件的配合,比如部署至少两个成员设备。当主设备需要重启升级时,从设备能接替主设备的工作,保证升级过程业务尽量不中断。
本文中的升级指的是广义上升级,即升级前后,运行两个不同版本的软件。它包括狭义上的升级和降级。
软件在发布的时候,开发会根据当前版本和历史版本是否兼容以及兼容的程度,制定升级策略。ISSU升级策略有三种:增量升级、重启升级以及不兼容升级。
进行ISSU方式前,请先将要升级的目标软件包下载到设备存储介质的根目录下,然后通过display version comp-matrix file命令显示设备将采用的ISSU升级策略。ISSU升级策略不同对当前业务的影响不同,采用的升级步骤也会有差异。
表1-1 ISSU升级策略描述表
升级策略 |
描述 |
对应display version comp-matrix file命令中的显示信息 |
|
兼容升级 |
增量升级 |
本策略用于只有用户态进程需要更新时。使用该策略升级时,系统会仅对有差异的用户态进程实施升级,并通过进程的备份和倒换来保证升级过程中业务不中断。该策略对系统影响最小、升级速度最快,为ISSU升级的最佳方式 |
Upgrade Way字段显示为: · Service Upgrade:表示服务级增量升级,该策略仅对本业务模块有影响,对系统以及其他业务模块没有影响 · File Upgrade:表示文件级增量升级。该策略仅对系统内的、用户不可见的程序文件进行升级,对系统以及业务模块没有影响 |
重启升级 |
本策略用于版本间的差异仍属于兼容范围内,但无法进行增量重启时。采用该方式时,系统会自动重启本成员设备,并在重启过程中加载新软件来完成本设备的软件升级 重启升级过程中,除了正在重启的成员设备,其它成员设备均处于工作状态,从而保证了升级过程中业务不中断 |
Upgrade Way字段显示为Reboot时,表示采用的是重启升级方式 |
|
不兼容升级 |
表示设备当前运行的软件版本和要升级的目标软件版本不兼容时的升级 不兼容版本因为版本差异较大,所以,在同一个系统中,两个版本不能同时运行。因此,不兼容升级过程中: (1) 请先将某个(些)备设备升级到新版本,备设备升级完成后,系统会将它处于隔离状态,不能转发报文,主设备和其它没有升级的备设备处于工作状态 1. 然后执行主备倒换操作,此时,备设备变成主设备,自动接替原主设备工作,原主设备和其它没有升级的备设备逐个重启完成升级 |
Incompatible upgrade |
ISSU有两种升级方式,一种是install命令升级方式,另一种是issu命令升级方式。
表1-2 issu命令升级方式和install命令升级方式比较表
比较项 |
issu命令升级方式 |
install命令升级方式 |
是否要求新、旧软件版本兼容 |
不要求 |
要求 |
是否支持安装和卸载补丁 |
不支持 |
支持 |
对系统的影响范围 |
大 |
小 |
对操作者的技术要求 |
低,适合大多数操作者 |
高,需要操作者对系统有较深入的了解,对升级每个动作所产生的影响有着准确的判断 |
是否推荐操作者使用 |
推荐 |
不推荐 |
· 建议通过Console口对设备实施ISSU升级。如果通过Telnet或SSH登录设备实施ISSU升级,在升级过程中可能会因Telnet或SSH连接中断,导致ISSU升级无法继续。
· IRF中有多个成员设备并且都正常工作时,建议组网时采用环行连接来保证升级过程中业务不中断或者中断较少时间。如果只有一个成员,并且升级方式为重启升级时,不能保证业务不中断。
· 硬件升级或故障期间,请不要进行ISSU升级。否则可能会导致升级失败或者系统异常。
请仔细阅读软件包版本发布说明书。了解是否可以使用ISSU功能升级设备。
请通过display device命令了解设备的当前状态。请确保此时所有设备均为正常状态,对于故障设备请先行排除故障后,再进行ISSU升级。
(1) 请确保设备上有足够的磁盘空间保存启动软件包。
(2) 如果升级的目标版本与设备当前运行版本有特性变更,请务必将目标版本不支持的命令行删除。
(3) 如果要卸载特性软件包,在卸载该软件包之前,请务必删除该软件包特性对应的命令行。
(4) 使用save命令保存当前配置。
(5) 通过FTP或TFTP将软件包下载到设备任意存储介质的根目录。
特性 |
要求 |
GR或NSR |
建议使能LDP、RSVP、OSPF、BGP和FSPF等协议的GR或NSR功能,否则ISSU升级期间可能会出现业务中断的现象 |
BFD |
建议关闭LDP、RSVP、OSPF、RIP、BGP、VRRP、NQA等协议的BFD功能,否则ISSU升级期间可能会出现业务中断的现象 |
以太网链路聚合 |
所有动态聚合组的所有成员端口下LACP超时时间为长超时,即这些成员端口下都没有配置lacp period short命令 |
IRF |
· 如果需要对整个IRF进行兼容版本重启升级,请配置IRF桥MAC地址的保留时间为6分钟或永久保留 · 如果需要对整个IRF进行不兼容升级,并且IRF桥MAC地址为将执行issu load设备中的某台设备的MAC地址时,请在执行issu load命令前配置桥IRF桥MAC地址的保留时间为永久保留 |
软件包和设备支持的特性/命令行是对应的。请在卸载软件包之前,删除该软件包对应的命令行并保存配置,以便保证已卸载的软件包对应的命令行不会出现在下次启动配置中。否则,设备重启后,即便配置文件中有该软件包对应的命令行,但是因为该软件包已经卸载,这些命令行也不会生效。需要安装该软件包后,重新执行这些命令使其生效。
在ISSU升级过程中,请遵循以下指导:
· 请确保网络拓扑稳定,禁止手工重启单板和插拔单板。
· 请确保系统中除了当前执行ISSU升级命令的用户外无其他用户登录。
· 请不要执行ISSU之外的配置命令,以免影响配置效果。
· 禁止对启动软件包进行修改、删除以及重命名等操作。
· ISSU升级过程中issu和install命令互斥,只能选择其中的一种方式进行升级。但issu命令升级显示和维护命令在install命令升级过程中也可以使用。
· ISSU升级需要经过一系列的操作步骤,升级过程中有严格的步骤要求。请完成一个步骤后再执行下一个步骤。
· 执行issu load、issu run switchover或issu commit命令前,请使用display system stable state命令查看设备是否处于稳定状态。只有System State处于Stable状态,才能进行ISSU升级。关于display system stable state命令的详细介绍请参见“基础配置命令参考”中的“设备管理”。
· 当issu命令指定的软件包不能全部覆盖设备当前启动软件包时,除issu命令指定的软件包之外的其他软件包会被沿用,例如设备当前启动软件包中含有Feature包并且该Feature包有效,issu命令指定新的软件包中不包含新的Feature包,那么当前版本的Feature包会被沿用。若沿用的软件包与issu命令指定的软件包不兼容,会导致设备升级失败。
ISSU升级完成后,如需配置设备,请重新登录。
升级前,请了解IRF的组成。
· 如果有多个成员设备,升级步骤请参见“3.2.1 多个成员设备升级配置步骤”。
· 如果只有一个成员设备,升级步骤请参见“3.2.2 单个成员设备配置步骤”。
升级前,请使用display version comp-matrix file { boot filename | system filename | feature filename&<1-30> } *或者display version comp-matrix file ipe ipe-filename命令显示将要升级的软件包的软件版本与设备上当前运行的软件版本是否兼容,并预测软件包的升级方式。
· 如果当前软件包版本在显示信息的“Version compatibility list”中,则说明本次升级为兼容版本升级。请使用表3-1所示的步骤进行升级。
· 如果当前软件包版本不在显示信息的“Version compatibility list”中,则说明本次升级为不兼容版本升级。请使用表3-2所示的步骤进行升级。
操作 |
命令 |
说明 |
|
升级从设备的启动软件包并将从设备的主用下次启动软件包设置为指定的软件包 |
issu load file { boot filename | system filename | feature filename&<1-30> } * slot slot-number&<1-9> |
二者选其一 slot slot-number请输入一个从设备的成员编号 该命令在用户视图下执行 |
|
issu load file ipe ipe-filename slot slot-number&<1-9> |
|||
进行ISSU倒换 |
issu run switchover |
该命令在用户视图下执行 |
|
(可选)确认ISSU兼容升级,接受指定成员设备的运行版本,并删除回滚定时器 |
issu accept |
该命令在用户视图下执行 |
|
完成升级或者版本回滚 |
对原主设备及未升级的从设备进行兼容版本升级。所有成员设备完成升级后,本次升级结束,ISSU回到初始状态 |
issu commit slot slot-number |
slot-number请输入待升级的原主设备以及其它从设备的成员编号,但要求一个成员设备升级完成后,再升级下一个 该命令在用户视图下执行 |
手工版本回滚:回滚到升级前的版本 |
issu rollback |
该命令在用户视图下执行 |
|
自动版本回滚:设置回滚定时器的时长 |
system-view |
缺省情况下,回滚定时器的时长为45分钟 用户执行issu run switchover命令后,系统会自动创建回滚定时器,如果直到定时器超时,用户仍没有执行issu accept或者issu commit命令,则系统会自动回滚到升级前的版本 |
|
issu rollback-timer minutes |
操作 |
命令 |
说明 |
|
升级从设备的启动软件包并将从设备的主用下次启动软件包设置为指定的软件包 |
issu load file { boot filename | system filename | feature filename&<1-30> } * slot slot-number&<1-9> |
二者选其一 slot slot-number&<1-9>请输入1个或多个从设备的成员编号。如果IRF为环形连接,建议一次升级一半数量的物理上邻接的成员设备(也称为对半升级),以便尽量减少升级对整个IRF业务的影响 该命令在用户视图下执行 |
|
issu load file ipe ipe-filename slot slot-number&<1-9> |
|||
完成升级或者版本回滚 |
进行ISSU倒换,并且升级剩余的待升级的成员设备 |
issu run switchover |
该命令在用户视图下执行 |
手工版本回滚:回滚到升级前的版本 |
issu rollback |
多个成员设备不兼容版本升级时,不支持自动版本回滚,但用户可使用该命令立即将软件回滚到升级前的版本 该命令在用户视图下执行 |
升级前,请使用display version comp-matrix file { boot filename | system filename | feature filename&<1-30> } *或者display version comp-matrix file ipe ipe-filename命令显示将要升级的软件包的软件版本与设备上当前运行的软件版本是否兼容,并预测软件包的升级方式。
· 如果当前软件包版本在显示信息的“Version compatibility list”中,并且“Upgrade Way”显示为“Service Upgrade”或者“File Upgrade”时,说明本次升级为兼容版本的增量升级。请使用表3-3所示的步骤进行升级。
· 其它情况,请使用表3-4所示的步骤进行升级。
操作 |
命令 |
说明 |
|
升级主设备的启动软件包并将主设备的主用下次启动软件包设置为指定的软件包 |
issu load file { boot filename | system filename | feature filename&<1-30> } * slot slot-number |
二者选其一 slot slot-number请输入主设备的成员编号 该命令在用户视图下执行 |
|
issu load file ipe ipe-filename slot slot-number |
|||
完成升级或者版本回滚 |
完成升级,ISSU回到初始状态 |
issu commit slot slot-number |
slot slot-number请输入主设备的成员号 该命令在用户视图下执行 |
手工版本回滚:回滚到升级前的版本 |
issu rollback |
单个成员设备兼容版本增量升级时,不支持自动版本回滚,但用户可使用该命令立即将软件回滚到升级前的版本 该命令在用户视图下执行 |
操作 |
命令 |
说明 |
升级主设备的启动软件包并将主设备的主用下次启动软件包设置为指定的软件包,升级完成后ISSU回到初始状态 |
issu load file { boot filename | system filename | feature filename&<1-30> } * slot slot-number |
二者选其一 slot slot-number请输入主设备的成员号 该命令在用户视图下执行 |
issu load file ipe ipe-filename slot slot-number |
完成上述配置后,在任意视图下执行display命令可以显示配置后软件包的运行情况,通过查看显示信息验证配置的效果。
本节所列display和reset命令,和升级方式无关,不管是采用issu命令升级还是采用install命令升级,均可使用。
表3-5 ISSU显示和维护
操作 |
命令 |
显示软件包兼容信息 |
display version comp-matrix |
显示当前ISSU升级的状态,以及ISSU升级的相关信息(该命令只显示issu命令升级过程中设备所处的状态,不能显示install命令升级过程中设备所处的状态) |
display issu state |
显示回滚定时器的相关信息 |
|
显示当前系统中已激活的软件包的相关信息 |
display install active [ slot slot-number ] [ verbose ] |
显示存储介质根目录下、没有被激活的所有软件包的相关信息 |
display install inactive [ slot slot-number ] [ verbose ] |
显示设备下次启动时使用的主用软件包的相关信息 |
display install committed [ slot slot-number ] [ verbose ] |
显示设备下次启动时使用的备用软件包的相关信息 |
display install backup [ slot slot-number ] [ 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 |
显示回滚点信息(issu命令升级过程中不会记录回滚点,因此,在issu命令升级过程中执行该命令,没有信息可显示) |
display install rollback [ point-id ] |
显示一个组件或文件所属的软件包 |
display install which { component name | file filename } [ slot slot-number ] |
清除ISSU日志 |
reset install log-history oldest log-number |
清除回滚点 |
reset install rollback oldest point-id |
在ISSU升级过程中,请遵循以下指导:
· 请确保网络拓扑稳定,禁止手工重启单板和插拔单板。
· 请确保系统中除了当前执行ISSU升级命令的用户外无其他用户登录。
· 请不要执行ISSU之外的配置命令,以免影响配置效果。
· 禁止对启动软件包进行修改、删除以及重命名等操作。
· ISSU升级过程中issu和install命令互斥,只能选择其中的一种方式进行升级。
· 执行install activate或install deactivate命令前,请使用display system stable state命令查看设备是否处于稳定状态。只有System State处于Stable状态,才能进行ISSU升级。关于display system stable state命令的详细介绍请参见“基础配置命令参考”中的“设备管理”。
· ISSU升级完成后,如需配置设备,请重新登录。
如果用户要升级的软件包是以IPE文件的形式发布的,请在执行其它install命令前,先按以下步骤将IPE包解压缩:
(1) 通过FTP或TFTP将IPE文件下载到设备存储介质的根目录。
(2) 通过display install ipe-info命令查看该IPE文件中包含的软件包。
(3) 解压缩IPE文件:将IPE文件解压缩,生成软件包。
表4-1 解压缩IPE文件
操作 |
命令 |
说明 |
解压缩IPE文件 |
install add ipe-filename medium-name: |
该命令在用户视图下执行 |
执行install activate命令可以安装/升级软件包。如果当前系统没有运行相同类型的软件包,则该过程称为安装软件包;如果当前系统有相同类型的软件包在运行,则该过程称为升级软件包。
在执行激活软件包前,请注意以下事项:
(1) 当需要升级两个或两个以上软件包时,请选择以下任意一种方法来激活软件包:
· 方法一:使用一条命令激活完一个slot的所有软件包后再激活另一个slot的所有软件包。
· 方法二:先升级完所有slot的某种类型的包(比如Boot包)之后,再升级所有slot的另外一种类型的包(比如System包)。
(2) 安装新Feature包/补丁包时,必须先激活主设备;升级已有软件包时,必须先激活从设备,再激活主设备。否则,安装/升级过程可能出错。
(3) 对于增量升级和补丁包升级方式,软件包激活只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次激活的软件包在系统重启后仍处于激活状态;对于重启升级方式,该步骤可选,因为用户在执行install activate命令时,系统已经修改了下次启动软件列表,升级软件包会在系统重启后继续生效。
(4) 设备上可安装的软件包(包括Boot包、System包、Feature包和补丁包)共为32个,其中Boot包和System包只能安装一个,Feature包和补丁包总共可安装30个。
表4-2 激活Boot包/System包/Feature包
操作 |
命令 |
说明 |
(可选)显示Boot包/System包/Feature包的升级策略 |
install activate { boot filename | system filename | feature filename&<1-30> } * slot slot-number test |
该命令在用户视图下执行 |
激活Boot包/System包/Feature包 |
install activate { boot filename | system filename | feature filename&<1-30> } * slot slot-number |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
安装补丁包前,需进行如下操作:
· 如果当前设备上未安装补丁包,那么直接安装补丁包。
· 如果当前设备上已安装补丁包,则需查看版本说明书,对比新旧补丁包之间的功能差异:
¡ 若新版本的补丁包中包含旧版本补丁包中的所有功能,且在安装完新版本的补丁后旧版本的补丁还存在,为了清理存储空间,可以手工卸载并删除旧版本的补丁包,不会影响设备的运行。
¡ 若新版本的补丁包中不包含或不完全包含旧版本补丁包中的所有功能,请不要对旧版本的补丁包进行卸载或删除操作。
表4-3 激活补丁包
操作 |
命令 |
说明 |
激活补丁包 |
install activate patch filename { all | slot slot-number } |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
如果产品针对同一System包发布了多个补丁包,直接安装最新版本的补丁包即可,且不需要先卸载旧的补丁包。
因为Boot包和System包是设备运行的基础软件,所以Boot包和System包不支持卸载,只能卸载Feature包和补丁包。当Feature包/补丁包被卸载后,该软件包将处于未激活状态,系统也将不再具备该软件包提供的功能。但是软件包仍然存在于存储介质上,可以通过install remove命令将卸载后的软件包从存储介质上彻底删除。
Feature包/补丁包卸载也只在设备本次运行过程中生效。如果用户希望系统重启后,Feature包/补丁包卸载依然生效,请用户使用install commit命令确认软件包的更改。
表4-4 卸载Feature包
操作 |
命令 |
说明 |
卸载Feature包 |
install deactivate feature filename&<1-30> slot slot-number |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
表4-5 卸载补丁包
操作 |
命令 |
说明 |
卸载补丁包 |
install deactivate patch filename { all | slot slot-number } |
该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
每次激活或者卸载软件包之后,系统中将运行新的软件特性集(即不同于升级前的软件包集合),系统将这些变化记录为回滚点。通过回滚功能,可将系统回滚到某个历史状态,或者恢复到ISSU升级初始状态。
当升级方式为增量升级时,软件包回滚只在设备本次运行过程中生效,用户只有通过install commit命令确认软件包的更改后,才能使此次的回滚操作在系统重启后生效。系统最多支持50个回滚点,当回滚点超过最大值时,旧的回滚点会被删除,新的回滚点会被保存。
当升级方式为重启升级时,旧的回滚点会被删除,系统只支持一次回滚,即只支持回滚到系统升级初始状态。
表4-6 软件包回滚
操作 |
命令 |
说明 |
软件包回滚 |
install rollback to { point-id | original } |
执行该命令前,可通过display install rollback命令查看回滚点信息 补丁包不支持回滚操作 该命令在用户视图下执行 |
(可选)确认软件包更改 |
install commit |
该命令在用户视图下执行 |
增量升级方式下,当系统正在执行软件包的激活或卸载操作时,用户可以通过install abort命令或者按Ctrl+C取消正在执行中的操作,从而使系统回退到操作前的状态。
表4-7 取消软件包操作
操作 |
命令 |
说明 |
取消正在执行的ISSU操作 |
install abort [ job-id ] |
该命令在用户视图下执行 |
为了保证设备进行ISSU升级之后能够正常运行,需要执行本命令对软件包进行如下检验:
完整性:检验Boot包、System包和Feature包的完整性。
一致性:检验系统内各激活的软件包列表的差异,以方便用户知道系统内各软件包版本是否一致。
软件包状态:检查各设备上激活的软件包列表和确认的软件包列表之间的差异,以方便用户知道是否有未确认的软件包。
当发现有不一致的软件包时,用户可使用install activate命令或install deactivate命令更新激活的软件包列表,使用install commit命令更新确认的软件包列表。
表4-8 校验Boot包/System包/Feature包
操作 |
命令 |
说明 |
Boot包/System包/Feature包校验 |
install verify |
该命令在用户视图下执行 |
软件包升级成功后,可以通过以下步骤删除旧版本的软件包。
需要注意的是,执行删除操作后,软件包会从设备上彻底删除,用户将不能执行与该软件包相关的install rollback to或者install abort命令。请确认不需要使用该软件包之后,再执行删除操作。
表4-9 删除软件包
操作 |
命令 |
说明 |
删除软件包 |
install remove [ slot slot-number ] { filename | inactive } |
该命令在用户视图下执行 |
请参见“3.3 通过issu命令升级显示和维护”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!