目录

简介

先决条件

要求

使用的组件

背景信息

推荐的版本

软件下载

升级的基本条件

Rommon升级或引导加载程序升级

CPLD升级

升级方法

安装模式

捆绑包模式

服务中软件升级(ISSU)

ISSU的必备条件

升级步骤

ISSU验证步骤

从ISSU故障恢复的步骤

中止ISSU

正常ISSU状态

简介

本文档介绍升级Catalyst 9400交换机的方法。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于C9400。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

本文档介绍使用捆绑包或安装模式的Catalyst 9400交换机的升级过程。C9400高可用性设置支持ISSU。

推荐的版本

有关基于下载页面的建议软件版本，请查阅以下链接：

Catalyst 9000交换机的建议版本

软件下载

要下载软件，请访问https://software.cisco.com/download/home并选择您的产品。

升级的基本条件

·2-3小时的维护时间应足以升级到目标版本，或在出现任何问题时回滚到以前的版本。

·请确保您拥有的4GB或8GB USB驱动器中同时包含当前和目标IOS版本的.bin文件。USB驱动器应格式化为FAT32以复制IOS映像。

·验证是否已为当前和目标IOS版本设置TFTP，并且可根据需要将这些版本下载到交换机。

·确认发生任何问题时可以通过console访问设备。

·确保闪存中至少有1GB到1.5GB的可用空间用于新映像的扩展。如果空间不足，请删除旧安装文件。

Rommon升级或引导加载程序升级

ROMMON（也称为引导加载器）是在设备加电或重置时运行的固件。它初始化处理器硬件并启动操作系统软件（Cisco IOS XE软件映像）。ROMMON存储在交换机的以下串行外围接口(SPI)闪存设备上：

- 主要：此处存储的ROMMON是每次设备开机或重置时系统启动的ROMMON。

- Golden：此处存储的ROMMON是备份副本。如果主设备中的ROMMON损坏，系统会自动在金色SPI闪存设备中引导ROMMON。

ROMMON升级可能需要解决固件缺陷或支持新功能，但并非每个版本都有新版本。

要了解适用于每个主要版本和维护版本的ROMMON或引导加载程序版本，请参阅这些链接。

用于17. x.x的ROMMON和CPLD版本

用于16. x.x的ROMMON和CPLD版本

您可以在升级软件版本之前或之后升级ROMMON。如果新的ROMMON版本可用于要升级到的软件版本，请按以下步骤继续：

- 升级主SPI闪存设备中的ROMMON

此ROMMON自动升级。当您首次从交换机的现有版本升级到更高或更新的版本时，在新版本中有新的ROMMON版本时，系统会根据交换机的硬件版本自动升级主SPI闪存设备中的ROMMON。

- 升级金牌SPI闪存设备中的ROMMON

您必须手动升级此ROMMON。在特权EXEC模式下输入upgrade rom-monitor capsule golden switchcommand。

注意：

- Golden ROMMON升级仅适用于Cisco IOS XE Amsterdam 17.3.5及更高版本。

- 如果FPGA版本为17101705或更低版本，则金牌ROMMON升级将失败。要升级FPGA版本，请参阅升级复杂可编程逻辑设备版本。

- 如果使用Cisco StackWise虚拟设置，请升级主用和备用管理引擎模块。

- 如果设置了高可用性，请升级活动和备用管理引擎模块。

升级ROMMON后，它将在下次重新加载时生效。如果在此之后返回旧版本，则不会降级ROMMON。更新的ROMMON支持所有以前的版本。

CPLD升级

CPLD是指硬件可编程的固件。CPLD升级可能需要解决固件缺陷或支持新功能，但并非每个版本都有新版本。软件镜像升级后必须完成CPLD版本升级过程。

以下链接提供Cisco Catalyst 9400系列管理引擎模块的ROMMON和CPLD版本信息。

用于17. x.x的ROMMON和CPLD版本

用于16. x.x的ROMMON和CPLD版本

您可以在升级软件映像后触发CPLD版本升级。在CPLD升级期间，管理引擎模块会自动重新通电。这完成了管理引擎模块的CPLD升级过程，但也导致了数据流中断。因此，不支持CPLD的自动升级。必须手动执行CPLD升级。

升级CPLD版本：高可用性设置

升级CPLD版本：Cisco StackWise虚拟设置

升级CPLD版本：单管理引擎模块设置

升级方法

本文档介绍使用捆绑包或安装模式的Catalyst 9400交换机的升级过程。

安装模式

Cisco Catalyst 9400交换机的安装模式升级是一种升级交换机软件的方法，涉及使用单独的软件包而不是单个单片映像文件。

在安装模式下升级到任何新版本时，将使用“install”命令。

请按照概述的步骤在安装模式下进行升级。

1. 清理

使用以下命令删除所有非活动安装：

Switch#install remove inactive

2. 复制新映像

使用以下方法之一，将新的.bin映像文件传输到活动交换机的闪存中：

通过TFTP：

Switch#copy tftp://Location/directory/<file_name> flash:

通过USB：

Switch#copy usbflash0:<file_name> flash:

使用以下信息确认可用的文件系统：

Switch#show file systems

3. 核实

将IOS传输到活动交换机后，检查是否使用以下命令正确复制映像：

Switch#dir flash:

（可选）要检验MD5校验和，请使用命令：

Switch#verify /md5 flash:<file_name>

确保此校验和与“软件下载”页面上提供的校验和匹配。

4. 设置引导变量

使用以下命令将引导变量设置为指向packages.conf文件：

Switch#configure terminal

Switch(config)#no boot system

Switch(config)#boot system flash:packages.conf

Switch(config)#end

5. 自动引导配置

通过执行以下操作将交换机配置为自动引导：

Switch#configure terminal

Switch(config)#no boot manual

Switch(config)#end

6. 保存配置

使用以下项保存您的当前配置：

Switch#write memory

使用命令确认启动设置：

Switch#show boot

7. 安装映像

要安装映像，请使用命令：

Switch#install add file flash:<file_name> activate commit

出现“This operation requires a reload of the system（此操作需要重新加载系统）”提示时。是否要继续？[y/n]”，回复“y”以继续。

8. 验证升级是否成功

Switch#show version

Switch#show redundancy (in case of High Availability setup)

注意：在整个步骤中，替换为您的IOS映像文件的实际名称。

捆绑包模式

Cisco Catalyst 9400交换机上的捆绑模式升级是指升级交换机软件的方法，其中将整个软件映像捆绑到单个文件中。此文件包含所有必要的组件，例如操作系统、设备驱动程序和交换机运行所需的其他基本软件。升级涉及单个软件映像文件，通常扩展名为.bin。这与其他方法（例如安装模式）不同，后者可能涉及多个文件和软件包。

请按照概述的步骤在捆绑包模式下进行升级。

1. 使用以下方法之一，将新映像（.bin文件）传输到安装在交换机中的每个Supervisor模块（如果是双Sup或SVL）的闪存中

· 通过TFTP：

Switch#copy tftp://Location/directory/<file_name> bootflash:

Switch#copy tftp://Location/directory/<file_name> stby-bootflash:

通过USB：

Switch#copy usbflash0:<file_name> bootflash:

Switch#copy usbflash0:<file_name> stby-bootflash:

2. 使用命令确认可用的文件系统

Switch#show file systems

3. 将IOS复制到所有成员交换机后，检验是否已使用正确复制映像

Switch#dir bootflash:

Switch#dir stby-bootflash:

4.（可选）使用命令检验MD5校验和

Switch#verify /md5 bootflash:<file_name>

Switch#verify /md5 stby-bootflash:<file_name>

确保输出与软件下载页面上提供的MD5校验和值匹配。

5. 使用以下命令配置引导变量，使其指向新的映像文件

Switch#configure terminal

Switch(config)#no boot system

Switch(config)#boot system bootflash:<file_name>.bin

Switch(config)#end

6. 保存配置

Switch#write memory

7. 使用下列命令验证引导设置：

Switch#show boot

8. 重新加载交换机以应用新的IOS

Switch#reload

9. 验证升级是否成功

Switch#show version

Switch#show redundancy (in case of High Availability setup)

注意：在整个步骤中，替换为您的IOS映像文件的实际名称。

服务中软件升级(ISSU)

服务中软件升级是在网络继续转发数据包时将映像升级为设备上的其他映像的过程。ISSU可帮助网络管理员在执行软件升级时避免网络中断。所述映像以安装模式升级，其中，每个软件包单独升级。

9400 Stackwise-Virtual和9400具有双管理引擎的独立机箱都支持ISSU。

- 对于带有StackWise虚拟的Catalyst 9400，ISSU支持从Cisco IOS XE Fuji 16.9.2开始。

- 对于双管理引擎模块配置中的Catalyst 9400，ISSU支持从Cisco IOS XE Fuji 16.9.1开始。

请使用以下链接确保当前软件版本和目标软件版本适用于ISSU升级：

兼容性列表

注意：在16.9版本系列中从16.9.x升级到16.9.5，在16.12版本系列中从16.12.2的所有升级都需要安装软件维护升级(SMU)软件包。从16.9.5和16.12.2升级到更高版本不需要安装SMU软件包。

ISSU的必备条件

1. 检查当前代码版本

C9400#show version | include IOS XE

2. 检查引导模式

仅当StackWise虚拟中的两台交换机均以安装模式引导时，才支持ISSU。

3. 检查闪存上是否有足够的可用内存

C9400#dir flash: | include free

10527629312 bytes total (7523303424 bytes free)

C9400#dir stby-bootflash: | include free

11250098176 bytes total (8191942656 bytes free)

4. 检查交换机是否处于SSO模式

C9400#show redundancy

Redundant System Information :

------------------------------

Available system uptime = 4 hours, 29 minutes

Switchovers system experienced = 0

Standby failures = 0

Last switchover reason = none

Hardware Mode = Duplex

Configured Redundancy Mode = sso

Operating Redundancy Mode = sso

Maintenance Mode = Disabled

Communications = Up

Current Processor Information :

-------------------------------

Active Location = slot 1

Current Software state = ACTIVE <-------

Uptime in current state = 4 hours, 29 minutes

Image Version = Cisco IOS Software [Fuji], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 16.9.1, RELEASE SOFTWARE (fc2)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2018 by Cisco Systems, Inc.

Compiled Tue 17-Jul-18 17:00 by mcpre

BOOT = flash:packages.conf;

CONFIG_FILE =

Configuration register = 0x102

Peer Processor Information :

----------------------------

Standby Location = slot 2

Current Software state = STANDBY HOT <-------

Uptime in current state = 4 hours, 25 minutes

Image Version = Cisco IOS Software [Fuji], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 16.9.1, RELEASE SOFTWARE (fc2)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2018 by Cisco Systems, Inc.

Compiled Tue 17-Jul-18 17:00 by mcpre

BOOT = flash:packages.conf;

CONFIG_FILE =

Configuration register = 0x102

5. 检查是否启用了自动启动

C9400#show boot

BOOT variable = flash:packages.conf;

Configuration Register is 0x102

MANUAL_BOOT variable = no <-------

BAUD variable = 9600

ENABLE_BREAK variable = yes

BOOTMODE variable does not exist

IPXE_TIMEOUT variable does not exist

CONFIG_FILE variable =

Standby BOOT variable = flash:packages.conf;

Standby Configuration Register is 0x102

Standby MANUAL_BOOT variable = no <------

Standby BAUD variable = 9600

Standby ENABLE_BREAK variable = yes

Standby BOOTMODE variable does not exist

Standby IPXE_TIMEOUT variable does not exist

Standby CONFIG_FILE variable =

如果未启用自动启动，则可以按如下所示进行更改

C9400(config)#no boot manual

6. 检查当前ISSU和安装状态

C9400#show issu state detail

--- Starting local lock acquisition on chassis 1 ---

Finished local lock acquisition on chassis 1

No ISSU operation is in progress <------- If anything else, abort ISSU before proceeding.

C9400#show install summary

[ Chassis 1 2 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type St Filename/Version

--------------------------------------------------------------------------------

IMG C 16.9.1.0.70  <------- State should be Activated & Committed for current version alone. If not clear install state before proceeding.

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

升级步骤

请按照概述的步骤执行服务中软件升级(ISSU)升级。

1. 清理

使用以下命令删除所有非活动安装：

Switch#install remove inactive

2. 复制新映像

· 使用以下方法之一，将新的.bin映像文件传输到活动的Supervisor的闪存中：

· 通过TFTP：

Switch#copy tftp://Location/directory/<file_name> flash:

· 通过USB：

Switch#copy usbflash0:<file_name> flash:

· 使用show file systems确认可用的文件系统

3. 核实

将IOS传输到活动Supervisor的闪存后，检查映像是否正确复制为：

Switch#dir flash：

（可选）要检验MD5校验和，请使用命令：

Switch#verify /md5 flash:<File_name>

确保此校验和与“软件下载”页面上提供的校验和匹配。

4. 设置引导变量

使用以下命令将引导变量设置为指向packages.conf文件：

Switch#configure terminal

Switch(config)#no boot system

Switch(config)#boot system flash:packages.conf

Switch(config)#end

5. 自动引导配置

通过执行以下操作将交换机配置为自动引导：

Switch#configure terminal

Switch(config)#no boot manual

Switch(config)#end

6. 保存配置

使用以下项保存您的当前配置：

Switch#write memory

使用命令确认启动设置：

Switch#show boot

7. 安装映像

要安装映像，请使用命令：

Switch#install add file flash:<file_name> activate issu commit

8. 验证升级是否成功

Switch#show version

Switch#show redundancy

运行此处列举的命令后，进程将启动并自动重新加载管理引擎。在您准备好让管理引擎开始重新启动之前，请不要运行该命令。与正常升级过程不同，它不会在重新加载之前要求您确认。

运行此命令后，ISSU进程将提取文件，重新加载备用管理引擎，等待其返回SSO，然后故障切换重新加载主用管理引擎。

注意：在整个步骤中，替换为您的IOS映像文件的实际名称。

ISSU验证步骤

ISSU完成后，

- 检查两台交换机是否都运行在新软件上。

- 检查show issu state detail输出，以保持正常和不显示任何进行中的ISSU。

- 检查show install issu history输出以确保ISSU操作成功（命令仅在16.10.1版及更高版本中可用）。

从ISSU故障恢复的步骤

- 如果ISSU发生故障，预计自动中止会将系统恢复到其初始状态（旧映像）。但是，如果此方法也失败，则需要手动恢复机箱。

- 在手动恢复期间，检查活动和备用模式是否都运行旧映像（如果不是，则恢复单个机箱）。

- 确保两个机箱都运行旧映像之后，runinstall remove inactive将删除所有未使用的映像软件包。

- 一旦两个机箱都运行了旧软件，请手动清除ISSU运行的所有内部状态。（有关如何清除内部ISSU状态的信息，请参阅此处）。

中止ISSU

在3步工作流程中，在激活ISSU过程中，如果中止计时器到期，系统可以自动中止到旧映像。如果中止期间备用设备未达到SSO，则需要手动中止。此外，如果由于任何原因，您希望在中间终止ISSU，则需要手动终止。

C9400#install abort issu

正常ISSU状态

如果ISSU升级/降级/中止/自动中止失败，则需要手动清除ISSU内部状态。

**在运行以下命令之前启用内部服务

C9400#configure terminal

C9400(config)#service internal

C9400(config)#end

C9400#clear install state

clear_install_state: START Thu Jul 25 15:03:58 UTC 2024

This command will remove all the provisioned SMUs, and rollback points. Use this command with caution.

A reload is required for this process. Press y to continue [y/n]y

--- Starting clear_install_state ---

Performing clear_install_state on all members

[1] clear_install_state package(s) on chassis 1

[1] Finished clear_install_state on chassis 1

[2] clear_install_state package(s) on chassis 2

[2] Finished clear_install_state on chassis 2

Checking status of clear_install_state on [1 2]

clear_install_state: Passed on [1 2]

Finished clear_install_state

Install will reload the system now!