说到思科交换机IOS的升级,或许我们的第一反应就是:

1、下载IOS

2、通过tftp或是ftp上传到交换机

3、删除原来的IOS或是设置从boot引导

有了上面三步,基本上也OK了。

可是俗话说得好:常在河边走哪有不湿鞋。夜路走多了总能碰到那么一两个鬼的。

从接触这行到现在,交换机IOS的升级真没有少做,可是偏偏这次掉坑里去了……


客户的环境是4506E交换机,sup8-e的引擎,其实就是我上次破解密码的那台机器,客户当时上这台交换机的时候,sup8-e引擎出来没有多长时间,交换机的IOS是cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin,现在你再到思科官网去查,会发现这个版本的IOS可以说是最早的IOS了。由于这个版本的IOS存在很多问题,我们决定对它进行远程升级。

升级之前我和同事进行过电话沟通,同事当时还问我:不会升挂了吧?我说:不会吧,不至于!心里想着只要是IOS没有问题,那么三大步就搞定了。然而老天告诉我,夜路真得走多了……

我找到了一个稳定的IOS,然后远程上传到交换机中,并修改了boot system命令,完成之后执行了reload。由于是远程升级,无法看到console的输出,我只能通过ping命令判断交换机是否起来。

其实我也怕升挂了,在经过一段时间的等待之后,发现ping通了。可是进到系统之后发现,交换机还是以原来的IOS启动的,boot system命令没生效。其实走到这里真应该好好想想,为什么没有以新的IOS启动,难道boot system命令真的没有生效么?然而当时我也没有多想,只是想到你不是以原来的IOS启动么?那好,我把你系统文件改个名字。

于是乎,我就做了一个手贱的操作,把cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin改名了,然后再次reload,然而这次就没有那么好运了,等了许久我也没有看到那个久违的ping通。老天告诉我:你遇到鬼了!我知道,这次系统真的是升挂了。

此次说啥也没用了,冷静下来,我查看文档,在文档中发现这样一句:

Note

For the Supervisor Engine 8-E to support IOS XE 3.6.0E, the ROMMON version must be upgraded to 15.1(1r)SG4

看到这句话我真想说@#@¥%@#@

于是想办法找到了 cat4500-e-ios-promupgrade-151-1r-SG8,就这样,大半夜的,同事开着车和我一起赶到了用户现场,披星带月就是这个意思!

通过console线接到交换机,发现交换机进入了rommon >模式,果然是这样。

使用dir查看一下系统:

rommon 3 >dir bootflash:  
 Date       Time    Attribute   Size         Name
 ========== =====   ==========  ==========   ================
 2017/03/20 13:09   -rw-rw-rw-   195894252   cat4500es8-universal.SPA.03.06.06.E.152-2.E6.bin
 2014/03/27 14:57   -rw-r--r--   181583336   cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin.backup
发现文件都在,于是想先让交换机以原来的系统起来,
rommon 4 >rename bootflash:cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin.backup cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin
 monitor: command "rename"  not found

想通过rename把命令改回来,发现交换机竟然悲催的提示,rename命令没有找到!

rommon 5 >?
 alias              show/set aliases command
 arp                show arp table
 boot               boot an executable p_w_picpath
 clear              clear misc. configurations
 confreg            configuration register setup
 date               display the current date and time
 dev                list the storage device table
 dir                list files in a storage device
 ethstat            management ethernet packet count
 history            monitor command history
 md5                compute md5 sum of a file
 ping               ping utility for IP/network connectivity
 reset              reset system
 set                show/set rommon/environment variable(s)
 unalias            unset an alias
 unset              unset rommon/environment variable(s)
 version            display rommon version information

查看了一下发现果然没有rename命令,看来不同系列的交换机差的还真不是一般大。

cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin.backup这个文件是指望不上了,只能想另的办法来启动交换机了。

大半夜的太折腾人了,无奈只能找了一个优盘,将一个与cat4500es8-universal.SPA.03.03.00.XO.151-1.XO.bin版本差不多的IOS复制进去,以U盘启动,终于得到了老天的一丝垂怜,交换机正常启动了!

下面就是要升级ROMMON version了,具体升级方法如下:

1、将cat4500-e-ios-promupgrade-151-1r-SG8上传到bootflash:中

2、重启交换机,使之进入ROMMON模式

3、boot bootflash:cat4500-e-ios-promupgrade-151-1r-SG8

下面boot的过程,不需要手动干预,不过一定不要使之中断

rommon 2 >boot bootflash:cat4500-e-ios-promupgrade-151-1r-SG8
Loading p_w_picpath !
 Checking digital signature....
 [bootflash:/cat4500-e-ios-promupgrade-151-1r-SG8]
 Digitally Signed Release Software with key version A
************************************************************
*                                                          *
* Firmware Upgrade Utility                                 *
* Copyright (c) 2012-2015 by cisco Systems, Inc.           *
* All rights reserved.                                     *
*                                                          *
************************************************************
Version 15.1(1r)SG8
Compiled Wed 30-Nov-16 16:34 [RLS]
WS-X45-SUP8-E system detected
Unpacking keys:>
Image Name : Cat4K_PKeyStorage  
Image size : 65536 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_RKeyStorage  
Image size : 65536 bytes
Uncompressing p_w_picpath...
PKey[R] MD5 : af8b02b29f8f4a678436eff2a57cfa7f
BKey[R] MD5 : af8b02b29f8f4a678436eff2a57cfa7f
RKey[R] MD5 : 9a3b7cc91a840dccd2a74b2637295933

Programming Keys:>
----
****
Verifying Keys:>
PKey[W] MD5 : af8b02b29f8f4a678436eff2a57cfa7f
BKey[W] MD5 : af8b02b29f8f4a678436eff2a57cfa7f
RKey[W] MD5 : 9a3b7cc91a840dccd2a74b2637295933
Unpacking Golden ROMMON:>
Image Name : Cat4K_WSX45SUP8E_GROM_SIG  
Image size : 692 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_WSX45SUP8E_GROM_BIN  
Image size : 557764 bytes
Uncompressing p_w_picpath...
Validating Golden ROMMON:>
Cat4K_WSX45SUP8E_GROM_BIN: Digitally signed p_w_picpath Release with key version A
ROMMON[R] MD5 : 7dad6a283a1f5887a2f978b84025d22a
Programming ROMMON:>
---------
*********
Verifying ROMMON:>
.........
ROMMON[W] MD5 : 7dad6a283a1f5887a2f978b84025d22a
Unpacking Golden FPGA:>
Image Name : Cat4K_WSX45SUP8E_FPGA_HDR  
Image size : 56 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_WSX45SUP8E_FPGA_GSG  
Image size : 692 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_WSX45SUP8E_FPGA_GLD  
Image size : 1485236 bytes
Uncompressing p_w_picpath...
Validating Golden FPGA:>
Cat4K_WSX45SUP8E_FPGA_GLD: Digitally signed p_w_picpath Release with key version A
FPGA[R] MD5 : f586db9123ae44a6d966df03c7ff41fa
Programming Golden FPGA:>
-----------------------
***********************
Verifying Golden FPGA:>
.......................
FPGA[W] MD5 : f586db9123ae44a6d966df03c7ff41fa
Unpacking FPGA:>
Image Name : Cat4K_WSX45SUP8E_FPGA_SIG  
Image size : 692 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_WSX45SUP8E_FPGA_BIN  
Image size : 1485236 bytes
Uncompressing p_w_picpath...
Validating FPGA:>
Cat4K_WSX45SUP8E_FPGA_BIN: Digitally signed p_w_picpath Release with key version A
FPGA[R] MD5 : dc6567f57490da23577b87a387a515ca
Programming FPGA:>
-----------------------
***********************
Verifying FPGA:>
.......................
FPGA[W] MD5 : dc6567f57490da23577b87a387a515ca
Unpacking ROMMON:>
Image Name : Cat4K_WSX45SUP8E_PROM_SIG  
Image size : 692 bytes
Uncompressing p_w_picpath...
Image Name : Cat4K_WSX45SUP8E_PROM_BIN  
Image size : 524288 bytes
Uncompressing p_w_picpath...
Validating ROMMON:>
Cat4K_WSX45SUP8E_PROM_BIN: Digitally signed p_w_picpath Release with key version A
ROMMON[R] MD5 : 1b821484faf5ba8aa1b05748215ec982

Programming ROMMON:>
---------
*********
Verifying ROMMON:>
.........
ROMMON[W] MD5 : 1b821484faf5ba8aa1b05748215ec982

//其实走到这里ROMMON的升级已经完成了,下面系统会自动重启


[S] Resetting System !!!!

Verifying FPGA (P) Signature ....................... PASSED
Verifying ROMMON (P) Signature ......... PASSED

************************************************************
*                                                          *
* Rom Monitor                                              *
* Copyright (c) 2012-2015 by cisco Systems, Inc.           *
* All rights reserved.                                     *
*                                                          *
************************************************************
Rom Monitor (P) Version 15.1(1r)SG8
Compiled Wed 30-Nov-16 16:28 [RLS]
System       : WS-X45-SUP8-E  Slot [1]
Chassis      : WS-C4506*E     Mod  [3][6]
Revision     : CPU 2.1   BOARD 4.0   FPGA 3.33B9.94B7
Memory       : 4096 MB
Date         : Mon Mar 20 15:48:34 2017

 ***** The system will autoboot in 5 seconds *****

 Type Control-C to prevent autobooting....
. . . . .
 config-register = 0x2101
 Autobooting using the first file from bootflash.....
Loading p_w_picpath !!!!!!!!!!!!!!!!!!!!!

//正常加载IOS文件了

 Checking digital signature....
 [mem:/cat4500es8-firmware]
 Digitally Signed Release Software with key version A

后面的启动过程我就省略了,最终系统正常启动了。


****************************************************************************************

总结与提示:

1、系统IOS升级最好不要远程,因为这样看不到输出,升级时最好接上console线,边升级边观察,出现状况后便于分析和判断。

2、事无大小,皆要仔细。不要认为一个平时做了很多的次的操作,而再次操作时就掉以轻心,能查看文档的一定要查看,并且要仔细查看。

****************************************************************************************