此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍 Catalyst 9000 (Cat9K) 交换机的升级方法。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本。
注意:有关在其他思科平台上启用这些功能的命令,请参阅相应的配置指南。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
本文档介绍使用捆绑模式或安装模式来升级 Catalyst 9K 类型交换机的新/旧程序。
捆绑模式是一种传统方式,表示交换机以 Cisco IOS® 的传统方式运行。您可以启动一个 .bin 文件,其中包含运行 Cisco IOS 所需的一切内容。根据传统 Cisco IOS 的做法,您需要使用一条引导语句指向要加载的 .bin 文件,在启动 Cisco IOS 时系统便会加载该文件。
Switch#show boot BOOT variable = bootflash:cat9k_iosxe.16.11.01.SPA.bin; Configuration Register is 0x102 MANUAL_BOOT variable = no BAUD variable = 9600 ENABLE_BREAK variable does not exist BOOTMODE variable does not exist IPXE_TIMEOUT variable does not exist CONFIG_FILE variable =
您必须使用“boot system”命令设置此引导语句。 下次重新加载时,交换机会以 16.12.01 版本启动,而不是 16.11.01。
Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#no boot system Switch(config)#boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin <--- Switch(config)#end Switch#wr Switch# Switch#show run | include boot system boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin Switch# Switch#show boot BOOT variable = bootflash:cat9k_iosxe.16.12.01.SPA.bin; <--- Configuration Register is 0x102 MANUAL_BOOT variable = no BAUD variable = 9600 ENABLE_BREAK variable does not exist BOOTMODE variable does not exist IPXE_TIMEOUT variable does not exist CONFIG_FILE variable =
安装模式是较新的且推荐使用的运行模式。这种模式会将 .bin 文件拆分为较小的 .pkg 文件,这些文件必须彼此独立地加载到内存中,从而使系统更快启动并能更好地利用内存。您从 software.cisco.com 下载的 .bin文件 包含所需的所有 .pkg 文件。
注意:将.bin文件视为.zip文件。 可以从 .bin 文件中提取出 .pkg 文件。同时还有一个配置文件,用于指示需要什么 .pkg 文件。这是在安装模式下启动时使用的流程。
注意:这会自动完成,您不必直接编辑此文件。但是,您可以在重新加载之前检查 .conf 文件所指向的软件包文件,确保它指向正确的文件。
Switch#more packages.conf #! /usr/binos/bin/packages_conf.sh <...snip...> # This is for CAT9k boot rp 0 0 rp_boot cat9k-rpboot.16.11.01.SPA.pkg iso rp 0 0 rp_base cat9k-rpbase.16.11.01.SPA.pkg iso rp 0 0 rp_daemons cat9k-rpbase.16.11.01.SPA.pkg iso rp 0 0 rp_iosd cat9k-rpbase.16.11.01.SPA.pkg iso rp 0 0 rp_security cat9k-rpbase.16.11.01.SPA.pkg iso rp 0 0 rp_wlc cat9k-wlc.16.11.01.SPA.pkg iso rp 0 0 rp_webui cat9k-webui.16.11.01.SPA.pkg iso rp 0 0 srdriver cat9k-srdriver.16.11.01.SPA.pkg iso rp 0 0 guestshell cat9k-guestshell.16.11.01.SPA.pkg boot rp 1 0 rp_boot cat9k-rpboot.16.11.01.SPA.pkg iso rp 1 0 rp_base cat9k-rpbase.16.11.01.SPA.pkg iso rp 1 0 rp_daemons cat9k-rpbase.16.11.01.SPA.pkg iso rp 1 0 rp_iosd cat9k-rpbase.16.11.01.SPA.pkg iso rp 1 0 rp_security cat9k-rpbase.16.11.01.SPA.pkg iso rp 1 0 rp_wlc cat9k-wlc.16.11.01.SPA.pkg iso rp 1 0 rp_webui cat9k-webui.16.11.01.SPA.pkg iso rp 1 0 srdriver cat9k-srdriver.16.11.01.SPA.pkg iso rp 1 0 guestshell cat9k-guestshell.16.11.01.SPA.pkg <...snip...> # # -start- superpackage .pkginfo # # pkginfo: Name: rp_super # pkginfo: BuildTime: 2019-03-28_09.46 # pkginfo: ReleaseDate: Thu-28-Mar-19-01:19 # pkginfo: .BuildArch: x86_64 # pkginfo: BootArchitecture: i686 # pkginfo: .BootArch: i686 # pkginfo: RouteProcessor: cat9k # pkginfo: Platform: CAT9K # pkginfo: User: mcpre # pkginfo: PackageName: universalk9 # pkginfo: Build: 16.11.01 # pkginfo: .SupportedBoards: cat9k # pkginfo: .InstallModel: # pkginfo: .PackageRole: rp_super # pkginfo: .RestartRole: rp_super # pkginfo: .UnifiedPlatformList: passport,nyquist,starfleet # pkginfo: CardTypes: # pkginfo: .CardTypes: # pkginfo: .BuildPath: /scratch/mcpre/release/BLD-V16_11_01_FC3/binos/linkfarm/stage-cat9k/hard/rp_super_universalk9.x86_64 # pkginfo: .Version: 16.11.1.0.312.1553791584..Gibraltar # pkginfo: .InstallVersion: 1.0.0 # pkginfo: .InstallCapCommitSupport: yes # # -end- superpackage .pkginfo #
在安装模式下执行升级的流程始终相同。但是,每个平台的命令可能有所不同:
在大多数情况下,您可以使用单个命令执行步骤 2-4。这样我们也可以回滚到以前的版本。
如果您的主用管理引擎在安装模式下运行,则最佳选择是自动升级。这样,无论将什么映像加载到备用管理引擎上(包括捆绑包、安装等),主用管理引擎都可以升级备用管理引擎。但是,您必须以某个有效映像引导备用管理引擎,才能启动相应进程。
注意:自动升级无法从rommon恢复sup。
启用此命令,以便交换机在检测到不匹配时自动升级备用管理引擎
software auto-upgrade enable
或手动运行升级
install autoupgrade
注意:只要主用机箱处于安装模式,就可以在 Stackwise 虚拟设置中进行自动升级。
下一部分介绍"install"
命令的使用。所有 9000 系列都支持这些命令。但它们是 9600、9400 和 9200 的唯一选项。
如前所述,升级流程分为 4 部分。但是,步骤 2 到 4 的命令较难理解,所以我们在这里解释一下每个命令的作用:
限制
在安装模式下,您的引导语句必须始终为 packets.conf。如果在升级过程中尝试将引导语句更改为另外一个 .conf 文件,可能会导致升级失败。如果您已经运行了ADD
命令,则需要激活您添加的程序包或清理它以重新开始。请勿更改引导语句以指向非活动软件包。
摘要
如果要进行安装,您需要先将引导语句更改为指向 packets.conf(如果尚未更改),然后添加 .bin 文件。这意味着您必须将新的 .bin 文件从 TFTP 或 USB 复制到 bootflash(引导闪存)。如果由于空间不足,您在将文件复制到交换机时遇到问题,请参阅此文档的清理部分,清除不需要的文件。
这些命令会完成升级,您无需执行任何其他步骤。但是,如果您不想在一个步骤中完成升级,可以将其细分为多个单独的步骤。
configure terminal no boot system boot system bootflash:packages.conf end write install add file bootflash:activate commit
Install Add(安装添加)
Switch#show install summary [ R0 R1 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG C 16.11.1.0.312 -------------------------------------------------------------------------------- Auto abort timer: inactive --------------------------------------------------------------------------------
为了开始升级,您必须将新版本添加到要使用的版本列表中.
install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin
添加后,您可以在闪存中看到 .pkg 文件,它会将 16.12.01 列为非活动版本.
Switch#dir | include .pkg
359097 -rw- 11359240 Sep 13 2019 16:10:08 +00:00 cat9k-cc_srdriver.16.11.01.SPA.pkg
359098 -rw- 84354052 Sep 13 2019 16:10:08 +00:00 cat9k-espbase.16.11.01.SPA.pkg
359099 -rw- 1676292 Sep 13 2019 16:10:08 +00:00 cat9k-guestshell.16.11.01.SPA.pkg
359100 -rw- 466576384 Sep 13 2019 16:10:08 +00:00 cat9k-rpbase.16.11.01.SPA.pkg
359106 -rw- 38552418 Sep 13 2019 16:10:30 +00:00 cat9k-rpboot.16.11.01.SPA.pkg
359101 -rw- 29877252 Sep 13 2019 16:10:08 +00:00 cat9k-sipbase.16.11.01.SPA.pkg
359102 -rw- 57259008 Sep 13 2019 16:10:08 +00:00 cat9k-sipspa.16.11.01.SPA.pkg
359103 -rw- 19936260 Sep 13 2019 16:10:08 +00:00 cat9k-srdriver.16.11.01.SPA.pkg
359104 -rw- 12321792 Sep 13 2019 16:10:08 +00:00 cat9k-webui.16.11.01.SPA.pkg
359105 -rw- 9216 Sep 13 2019 16:10:08 +00:00 cat9k-wlc.16.11.01.SPA.pkg
456963 -rw- 14222344 Sep 13 2019 17:05:35 +00:00 cat9k-cc_srdriver.16.12.01.SPA.pkg
456964 -rw- 88892420 Sep 13 2019 17:05:35 +00:00 cat9k-espbase.16.12.01.SPA.pkg
473282 -rw- 1684484 Sep 13 2019 17:05:35 +00:00 cat9k-guestshell.16.12.01.SPA.pkg
473283 -rw- 535475200 Sep 13 2019 17:05:35 +00:00 cat9k-rpbase.16.12.01.SPA.pkg
473289 -rw- 43111714 Sep 13 2019 17:06:00 +00:00 cat9k-rpboot.16.12.01.SPA.pkg
473284 -rw- 31425540 Sep 13 2019 17:05:35 +00:00 cat9k-sipbase.16.12.01.SPA.pkg
473285 -rw- 60183552 Sep 13 2019 17:05:35 +00:00 cat9k-sipspa.16.12.01.SPA.pkg
473286 -rw- 22676484 Sep 13 2019 17:05:35 +00:00 cat9k-srdriver.16.12.01.SPA.pkg
473287 -rw- 12854272 Sep 13 2019 17:05:35 +00:00 cat9k-webui.16.12.01.SPA.pkg
473288 -rw- 9216 Sep 13 2019 17:05:35 +00:00 cat9k-wlc.16.12.01.SPA.pkg
Switch#show install summary [ R0 R1 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG I 16.12.1.0.544 <-- Installed but still Inactive (I) IMG C 16.11.1.0.312 -------------------------------------------------------------------------------- Auto abort timer: inactive -------------------------------------------------------------------------------- Switch#show install inactive [ R0 R1 ] Inactive Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG I 16.12.1.0.544 <-- Installed but still Inactive (I)
Install Activate(安装激活)
下一步是激活新版本。
install activate
它会要求您在系统重新加载设备之前确认是否要重新加载.
This operation may require a reload of the system. Do you want to proceed? [y/n]
Switch#show install sum [ R0 R1 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG U 16.12.1.0.544 -------------------------------------------------------------------------------- Auto abort timer: active on install_activate, time before rollback - 01:52:08 <--- when this hits zero, the device reloads back to original version. -------------------------------------------------------------------------------- Switch#show install uncommitted [ R0 R1 ] Uncommitted Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG U 16.12.1.0.544
Install Commit(安装提交)
要停止回滚计时器并完成升级过程,您需要提交新版本.
install commit
这是升级过程的最后一步,新版本现在显示为活动的已提交版本.
Switch#show install summary [ R0 R1 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG C 16.12.1.0.544 <--- Now Active and Committed -------------------------------------------------------------------------------- Auto abort timer: inactive --------------------------------------------------------------------------------
Install Abort(安装中止)
如果您在运行activate
命令后在提交之前确定新版本存在问题,您可以中止升级。这会导致设备再次重新加载之前的版本。
install abort
Prompt Level(提示级别)
可以在安装命令的末尾将提示级别设置为 none,它不会询问您是否存在任何问题(通常,在升级的提交命令运行结束时,系统会询问您是否要重新加载)。如果您将prompt-level
设置为none
,交换机一旦做好准备就会重新加载。
install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin activate commit prompt-level none
Auto Upgrade Timer(自动升级计时器)
如果升级花费的时间过长,交换机会认为出现了问题并中止升级。默认自动升级计时器为 120 分钟,但如果需要,您可以手动停止计时器。
install auto-abort-timer stop
您可以在执行激活步骤时设置回滚计时器.
Switch#install activate auto-abort-timer ? <30-1200> Number of minutes the abort-timer is set for
本节介绍使用指向 .bin 文件(相当于 .pkg 文件)的引导语句进行软件升级的典型方法。
警告:如果要将交换机升级到捆绑模式,请确保已将 .bin 文件复制到堆栈中的每台交换机!
加载 Cisco IOS 文件后,您只需更改引导语句并重新加载。
configure terminal no boot system boot system bootflash:end write reload
注意:此方法仅适用于9300和9500交换机
本部分讨论 request platform 命令的使用,适用于 9500 和 9300。
install commands
代替这些选项)。扩大采购
此命令会支持您指定的任何 .bin 文件,并从中提取出 .pkg 文件.
request platform software package expand switch all file flash:cat9k_iosxe.16.09.02.SPA.bin
注意:如果交换机使用捆绑包模式。首先运行“expand”命令,然后将引导语句更改为 packages.conf 并重新加载以进入安装模式.
Install(安装)
如果您已处于安装模式,请使用此命令切换至另一个版本:
request platform software package install switch all file flash:test auto-copy new
Clean(清理)
以下命令执行的操作与 install remove inactive 命令相同:
request platform software package clean
Stackwise 虚拟与双管理引擎设置非常相似。如果进行正常升级,两个机箱应同时重启.
configure terminal no boot system boot sys bootflash:packages.conf end write install add file bootflash:activate commit
注意:要执行ISSU,在单个机箱上的stackwise虚拟与双管理引擎设置中还必须考虑一个因素。
回滚安装模式
完成升级后,如果需要,您可以回滚到以前的版本。实际上,如果文件仍在闪存中,您可以回滚到以前的多个版本.
Switch#show install rollback ID Label Description ----------------------------------------------- 2 No Label No Description 1 No Label No Description Switch#show install rollback id 1 Rollback id - 1 (Created on Fri Sep 13 13:14:40 2019) Label: No Label Description: No Description Reload required: NO State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG C 16.11.1.0.312
上一个命令的输出显示有两个回滚点。第一个回滚点指向 16.11.01 版本(如果要添加说明或日期,请标记回滚点)。
Switch#install label 1 ? description Add a description to specified install point label-name Add a label name to specified install point Switch#install label 1 label-name 16_11_01 install_add_label: START Fri Sep 13 16:43:48 UTC 2019 --- Starting install_add_label --- Performing install_add_label on Active/Standby [R0] install_add_label package(s) on R0 [R0] Finished install_add_label on R0 [R1] install_add_label package(s) on R1 [R1] Finished install_add_label on R1 Checking status of install_add_label on [R0 R1] install_add_label: Passed on [R0 R1] Finished install_add_label SUCCESS: install_add_label Fri Sep 13 16:43:57 UTC 2019 Switch#show install rollback ID Label Description ----------------------------------------------- 2 No Label No Description 1 16_11_01 No Description
如果您现在想执行回滚,您只需运行rollback
命令:
install rollback to id 1
在撰写本文档期间,此功能不受支持。已计划在 17.2.1 版本上提供支持.
之前的升级方法讲述的是升级单个管理引擎或同时升级两个管理引擎。但是,使用双管理引擎,您可以执行 ISSU(服务中软件升级),每次升级一个管理引擎,这样几乎不会出现中断.
注意:有关 9300 xFSU 的详细信息,请参阅此文档了解 Catalyst 9300 系列交换机上的扩展快速软件升级
小心:运行此处列举的命令后,进程将启动并自动重新加载管理引擎。在您准备好让管理引擎开始重新启动之前,请不要运行该命令。与正常升级过程不同,它不会在重新加载之前要求您确认。
install add file bootflash:cat9k_iosxe.16.11.01.SPA.bin activate issu commit
install add file flash:cat9k_iosxe.16.10.01.SPA.bin activate reloadfast commit
升级完成后,您可以选择删除所有非活动文件,以清理所有不需要的文件。此命令查看当前加载的 .pkg 文件并删除其他所有文件。您可以在删除之前查看此功能要删除的所有文件。
install remove inactive
注意:这会删除所有 .bin 文件,因此,如果要在升级之前进行清理,请确保在复制新的 .bin 文件之前执行此操作。
如果发生了 V-mismatch ,这意味着交换机上运行的软件与主用软件不同。如果您处于安装模式,则可以通过自动升级解决此问题。如果您处于捆绑包模式,这会有些棘手。
Switch#show switch Switch/Stack Mac Address : f8b7.e206.4900 - Local Mac Address Mac persistency wait time: Indefinite H/W Current Switch# Role Mac Address Priority Version State ------------------------------------------------------------------------------------- 1 Member 701f.5300.fa00 15 V01 V-Mismatch <---Indicates a version mismatch *2 Active f8b7.e206.4900 14 V01 Ready
第 1 项
第 2 项
小心:在尝试此操作之前,请确保您对交换机具有控制台访问权限,以确保您能够恢复交换机。
选项2的步骤
V-Mismatch
状态。Switch#dir ? /all List all files /recursive List files recursively all-filesystems List files on all filesystems cns: Directory or file name crashinfo-1: Directory or file name crashinfo-2: Directory or file name crashinfo: Directory or file name flash-1: Directory or file name <----Flash for switch #1 flash-2: Directory or file name <----Flash for switch #2 flash: Directory or file name
进入 ROMMON 模式后,使用以下命令:
switch: boot flash:cat9k_iosxe.16.12.01.SPA.bin <-- Image you copied that Active is running
第 3 项
如果您陷入 ROMMON 而没有有效映像,您可以选择通过 USB 或 TFTP 将文件复制到交换机.
第 1 项
使用以下命令,从USB接口直接启动:
boot usbflash0:cat9k_iosxe.16.12.01.SPA.bin
第 2 项
从TFTP服务器进行复制比较棘手。您需要将笔记本电脑设置为 TFTP 服务器并将以太网电缆连接到设备的管理端口,或者需要将设备的管理端口连接到运行中设备的网络端口。然后,您可以将带有目标映像的设备配置为 TFTP 服务器:
tftp-server flash:cat9k_iosxe.16.12.01.SPA.bin
Cisco IOS 设备作为 TFTP 服务器是首选,因此您不必担心 Windows 防火墙或计算机账户权限问题。设置 TFTP 服务器后,您需要在 ROMMON 中完成以下配置:
DEFAULT_GATEWAY=172.27.74.1
IP_ADDRESS=172.27.74.111
IP_SUBNET_MASK=255.255.255.0
TFTP_SERVER=172.19.64.31
通过对 TFTP 服务器执行 Ping 操作来测试配置:
ping 172.19.64.31
建立连接后,立即采用 TFTP 上的文件完成启动:
boot tftp://172.19.64.31/cat9k_iosxe.16.12.01.SPA.bin
注意:有关 ROMMON 恢复的详细信息,请访问以下链接:recover_from_corrupt_or_missing_file_image_or_in_rommon_mode。
验证在堆栈中的所有成员设备上是否都看到.bin文件。
步骤 1:
使用show file systems检查堆栈上使用的命名约定:
Switch#show file systems File Systems: Size(b) Free(b) Type Flags Prefixes - - opaque rw system: - - opaque rw tmpsys: * 11250098176 6275858432 disk rw bootflash: flash: <- Name of Active Switch 11250171904 4123000832 disk rw bootflash-2: <- Name of Standby Switch 1651314688 1344073728 disk rw crashinfo: 1651507200 1180696576 disk rw crashinfo-2: 236092686336 224026628096 disk rw disk0: 8166649856 8053047296 disk ro webui: - - opaque rw null: - - opaque ro tar: - - network rw tftp: 33554432 33494025 nvram rw nvram: - - network rw rcp: - - network rw http: - - network rw ftp: - - network rw scp: - - network rw sftp: - - network rw https: - - opaque ro cns: 33554432 33507337 nvram rw stby-nvram: - - nvram rw stby-rcsf: 11250098176 4122718208 disk rw stby-bootflash: 1651314688 1180504064 disk rw stby-crashinfo: - - opaque rw revrcsf:
注意:如果遇到文件空间不足的错误,show file systems会指示大小和可用空间。
步骤 2:
逐个检查每个目录中的.bin文件:
Switch#dir bootflash: | i .bin 81126 -rw- 1265422219 Jun 19 2023 03:04:30 +00:00 cat9k_iosxe.17.11.01.SPA.bin <- The Active has 17.11.01.SPA.bin 194733 -rw- 1027574083 Jun 13 2023 01:33:41 +00:00 cat9k_iosxe.17.06.05.SPA.bin Switch#dir bootflash-2: | i .bin 210971 -rw- 1027574083 Jun 29 2023 22:19:23 +00:00 cat9k_iosxe.17.06.05.SPA.bin <- The Standby does not have 17.11.01.SPA.bin
注意:处于安装模式的设备预计在提交安装添加命令之前,只能激活.bin文件。如果发现问题,请继续执行步骤3。
步骤 3:
如果需要手动干预,有2个选项可以将.bin文件从主用模式复制到成员/备用模式。
第 1 项
将.bin文件复制到Member/Standby:
Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:
第 2 项
将.bin复制到USB(如果无法直接复制)
Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin usbflash0:
注意:必须针对FAT32格式化USB,并使用show file systems验证交换机是否读取了该格式。
将其复制到USB后,将其插入备用/成员:
Switch#copy usbflash0:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:
步骤 4:
验证.bin文件是否在所有设备上:
Switch#dir flash: | i .bin 81126 -rw- 1265422219 Jun 19 2023 03:04:30 +00:00 cat9k_iosxe.17.11.01.SPA.bin <- The Active has 17.11.01.SPA.bin 194733 -rw- 1027574083 Jun 13 2023 01:33:41 +00:00 cat9k_iosxe.17.06.05.SPA.bin Switch#dir bootflash-2: | i .bin 210971 -rw- 1027574083 Jun 29 2023 22:19:23 +00:00 cat9k_iosxe.17.06.05.SPA.bin 210974 -rw- 1265422219 Jun 20 2023 03:32:23 +00:00 cat9k_iosxe.17.11.01.SPA.bin <- The Standby now has 17.11.01.SPA.bin
如果在尝试运行完全安装添加文件flash:name activate commit时收到错误输出,说明Super package已添加,则这意味着该软件包已填充为非活动状态,并正在等待激活和提交。
Switch#install add file flash:cat9k_iosxe.17.11.01.SPA.bin activate commit install_add_activate_commit: START Wed Jul 26 12:36:58 UTC 2023 *Jul 26 12:36:58.491: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install one-shot bootflash:cat9k_iosxe.17.11.01.SPA.bininstall_add_activate_commit: Adding PACKAGE install_add_activate_commit: Checking whether new add is allowed .... FAILED: install_add_activate_commit : Super package already added. Add operation not allowed. 'install remove inactive' can be used to discard added packages
可以通过发出show install summary命令验证此状态
Switch#show install summary [ R0 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG C 17.06.05.0.5797 IMG I 17.11.01.0.1324 <- Here it is seen as Inactive -------------------------------------------------------------------------------- Auto abort timer: inactive --------------------------------------------------------------------------------
有2个选项可用于解决此问题
第 1 项
执行install remove inactive命令以清除已添加的程序包
Switch#install remove inactive install_remove: START Wed Jul 26 13:42:14 UTC 2023 Cleaning up unnecessary package files No path specified, will use booted path bootflash:packages.conf Cleaning bootflash: Scanning boot directory for packages ... done. Preparing packages list to delete ... cat9k-cc_srdriver.16.09.03.SPA.pkg File is in use, will not delete. cat9k-espbase.16.09.03.SPA.pkg File is in use, will not delete.
<...snip...> The following files will be deleted: [R0]: /bootflash/cat9k-cc_srdriver.17.06.05.SPA.pkg /bootflash/cat9k-cc_srdriver.17.11.01.SPA.pkg /bootflash/cat9k-espbase.17.06.05.SPA.pkg /bootflash/cat9k-espbase.17.11.01.SPA.pkg
<...snip...> Do you want to remove the above files? [y/n]y [R0]: Deleting file bootflash:cat9k-cc_srdriver.17.06.05.SPA.pkg ... done. Deleting file bootflash:cat9k-cc_srdriver.17.11.01.SPA.pkg ... done. Deleting file bootflash:cat9k-espbase.17.06.05.SPA.pkg ... done. Deleting file bootflash:cat9k-espbase.17.11.01.SPA.pkg ... done.
<...snip...> SUCCESS: Files deleted. --- Starting Post_Remove_Cleanup --- Performing Post_Remove_Cleanup on Active/Standby [R0] Post_Remove_Cleanup package(s) on R0 [R0] Finished Post_Remove_Cleanup on R0 Checking status of Post_Remove_Cleanup on [R0] Post_Remove_Cleanup: Passed on [R0] Finished Post_Remove_Cleanup
第 2 项
如果install remove inactive无法解决问题,请清除安装状态
注意:这需要重新加载设备
Switch(config)#service internal <- Service internal is required to be turned on for clear install state to work Switch(config)#exit Switch#clear install state clear_install_state: START Wed Jul 26 12:25:09 UTC 2023 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 Active/Standby [1] clear_install_state package(s) on R0 [1] Finished clear_install_state on R0 Checking status of clear_install_state on [R0] clear_install_state: Passed on [R0] Finished clear_install_state Send model notification for before reload Install will reload the system now!
验证选项1和2是否均可以通过show install summary命令进行验证,以确保非活动映像不再出现。
Switch#show install summary [ R0 ] Installed Package(s) Information: State (St): I - Inactive, U - Activated & Uncommitted, C - Activated & Committed, D - Deactivated & Uncommitted -------------------------------------------------------------------------------- Type St Filename/Version -------------------------------------------------------------------------------- IMG C 17.06.05.0.5797 <- 17.11.01 is no longer seen -------------------------------------------------------------------------------- Auto abort timer: inactive --------------------------------------------------------------------------------
继续运行完整的install add file flash:name activate commit,没有问题
本节介绍执行升级和设置错误引导变量时发现的问题。
Switch#show boot BOOT variable = bootflash:packages.conf; MANUAL_BOOT variable = no
当交换机重新启动/重新加载时,出现了一个错误
Preparing to autoboot. [Press Ctrl-C to interrupt] 0 boot: attempting to boot from [bootflash:packages.conf] ERROR: failed to boot from bootflash:packages.conf (Not Found) Please wait while the system restarts. Initializing Hardware......
switch:set
BAUD=9600 BOOT=bootflash:packages.conf; BOOTLDR=packages.conf BSI=0
<snip>
有2个选项可引导至所需的IOS
注意:如果需要,您也可以引导至先前的ios bin文件
第 1 项
使用新IOS版本设置新启动语句
switch:BOOT=cat9k_iosxe.17.09.03.SPA.bin
验证BOOT语句是否已更新
switch:set BAUD=9600 BOOT=bootflash:cat9k_iosxe.17.09.03.SPA.bin <-Boot statement successfully updated BOOTLDR=packages.conf BSI=0
<snip>
第 2 项
立即启动,而不更改变量,直到交换机加载到ios中
switch:boot bootflash:cat9k_iosxe.17.09.03.SPA.bin
注意:如果不确定闪存中存在哪个.bin文件,请发出dir flash:命令获取文件列表
运行install add file flash:name activate commit命令,但引导变量设置为.bin文件而不是packages.conf
Switch#show boot Current Boot Variables: BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin; Boot Variables on next reload: BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin; Manual Boot = no Enable Break = yes Boot Mode = DEVICE iPXE Timeout = 0 Switch#install add file flash:cat9k_iosxe.17.09.03.SPA.bin activate commit install_add_activate_commit: START Tue Sep 12 15:01:12 UTC 2023 install_add_activate_commit: Adding PACKAGE install_add_activate_commit: Checking whether new add is allowed .... This operation requires a reload of the system. Do you want to proceed? Please confirm you have changed boot config to flash:packages.conf [y/n]y --- Starting initial file syncing --- Info: Finished copying flash:cat9k_iosxe.17.09.03.SPA.bin to the selected switch(es) Finished initial file syncing
<snip>
当重新加载时,可以看到交换机加载到17.3.3.SPA.bin而不是包含17.9.3的packages.conf中的输出。
Initializing Hardware...... System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P) Compiled Wed 11/23/2022 12:30:48.96 by rel Current ROMMON image : Primary Last reset cause : CpuReset C9500-12Q platform with 16777216 Kbytes of main memory Preparing to autoboot. [Press Ctrl-C to interrupt] 0 boot: attempting to boot from [flash:cat9k_iosxe_npe.17.03.03.SPA.bin] boot: reading file cat9k_iosxe_npe.17.03.03.SPA.bin
引导交换机后,验证packages.conf是否已正确更新为17.9.3。
Switch#more flash:packages.conf
boot rp 0 0 rp_boot cat9k-rpboot.17.09.03.SPA.pkg boot rp 1 0 rp_boot cat9k-rpboot.17.09.03.SPA.pkg iso rp 0 0 rp_base cat9k-rpbase.17.09.03.SPA.pkg iso rp 1 0 rp_base cat9k-rpbase.17.09.03.SPA.pkg <-All .pkg set to 17.9.3 correctly iso rp 0 0 rp_daemons cat9k-rpbase.17.09.03.SPA.pkg iso rp 1 0 rp_daemons cat9k-rpbase.17.09.03.SPA.pkg iso rp 0 0 rp_iosd cat9k-rpbase.17.09.03.SPA.pkg iso rp 1 0 rp_iosd cat9k-rpbase.17.09.03.SPA.pkg iso rp 0 0 rp_security cat9k-rpbase.17.09.03.SPA.pkg iso rp 1 0 rp_security cat9k-rpbase.17.09.03.SPA.pkg
iso rp 0 0 rp_wlc cat9k-wlc.17.09.03.SPA.pkg iso rp 1 0 rp_wlc cat9k-wlc.17.09.03.SPA.pkg iso rp 0 0 rp_webui cat9k-webui.17.09.03.SPA.pkg iso rp 1 0 rp_webui cat9k-webui.17.09.03.SPA.pkg
<snip>
更改引导变量为flash:packages.conf
Switch(config)#no boot system Switch(config)#boot system flash:packages.conf Switch(config)#do wr <- Configuration must be saved for boot variable to be updated properly before reloading Switch#show boot Current Boot Variables: BOOT variable = flash:packages.conf; Boot Variables on next reload: BOOT variable = flash:packages.conf; Manual Boot = no Enable Break = yes Boot Mode = DEVICE iPXE Timeout = 0
重新加载交换机,使其处于安装模式,并位于正确的ios映像17.9.3上
Switch#reload
Initializing Hardware...... System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P) Compiled Wed 11/23/2022 12:30:48.96 by rel Current ROMMON image : Primary Last reset cause : CpuReset C9500-12Q platform with 16777216 Kbytes of main memory Preparing to autoboot. [Press Ctrl-C to interrupt] 0 boot: attempting to boot from [flash:packages.conf] <-Boot variable correctly loading from packages.conf instead of .bin file boot: reading file packages.conf <snip>
在交换机加载后验证版本
Switch#show version
Cisco IOS XE Software, Version 17.09.03 Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.3, RELEASE SOFTWARE (fc6)
Catalyst 3850 和 Catalyst 9000 系列交换机的服务中软件升级 (ISSU)
思科漏洞 ID CSCvr29736 - 文档漏洞:9600 无法执行 reloadfast
思科漏洞 ID CSCvr29864 - 增强功能:在 9300 将 reloadfast 添加到 install 命令
思科漏洞 ID CSCvr29886 - 增强功能:能够在 V-mismatch 状态下更改交换机的引导语句
思科漏洞 ID CSCvr30159 - 增强功能:在运行 install add 命令时添加手动引导检查
思科漏洞 ID CSCvr30189 - 增强功能:添加选项以撤消“install add”,而无需删除 .bin 文件
版本 | 发布日期 | 备注 |
---|---|---|
4.0 |
21-Jun-2023 |
添加了警告“如果要将交换机升级到捆绑包模式,请确保已将.bin复制到堆栈中的每个交换机!” |
3.0 |
16-Jun-2023 |
添加了指向“了解Catalyst 9300系列交换机上的扩展快速软件升级”部分的链接 |
2.0 |
20-Jul-2022 |
首次公开发布 |
1.0 |
05-Nov-2020 |
初始版本 |