本文共 12467 字,大约阅读时间需要 41 分钟。
IOS(Internetwork Operating System)是Cisco交换机中的操作系统,以映象文件(.bin格式)的形式保存在交换机的闪存中。同其它的操作系统一样,Cisco公司每年都会定期发布新的IOS操作系统,升级IOS的主要目的是:
修补漏洞,消除BUG 同其它的操作系统和应用软件一样,Cisco交换机的IOS操作系统,每年都会被发现大约几十个漏洞,通常情况下这些漏洞会带来严重的安全风险。因此,需要定期更新Cisco公司发布的新版IOS,来修补这些漏洞。 增加新功能 由于Cisco交换机的特殊性,新版IOS的发布,除了针对漏洞的修补以外,还会增加新的功能。如果交换机的功能无法满足工作需要,也可以升级IOS来解决。比如,早期的交换机不支持SSH、HTTPS、SNMP V3等安全功能,可以通过升级为支持加密功能的K9版IOS,来实现这些功能。 解决交换机兼容性问题 一个规模较大网络的交换机通常都是逐年分批采购的,不同批次交换机的IOS版本肯定不一样。通过将IOS全部升级为最新修订版,可以减少因IOS版本不同而引发交换机之间不兼容的隐患,避免配置管理上的不一致性。 一、环境介绍 公司网络的核心层为两台Catalyst 6509做双机热备,汇聚层为多台Catalyst 4506和Catalyst 3560G,接入层使用了Catalyst 3560、2960、2950交换机,总共使用了五种不同型号的Cisco交换机,整个网络拓扑如图1。 图1 二、升级前的准备工作 对正在网络中使用的交换机进行IOS升级需要冒一定风险的,稍有不慎就会造成网络中断的严重后果。因此,必须做好充分的准备工作。 由于公司网络中的交换机地域分布广,现场升级太麻烦,只能进行远程升级。为此,我们架设了FTP服务器,交换机通过网络从FTP服务器下载最新版的IOS来完成升级。为了防止升级失败而导致网络无法连接的情况,我们还准备了几台备用交换机,一旦出现问题,及时调换。升级之前,在测试网络上对所要使用的IOS操作系统进行了充分的测试。另外,利用晚上和周末等业余时间来升级IOS,以减少对网络使用的干扰和影响。 三、查看交换机信息 Cisco IOS软件与交换机的硬件是相匹配的,因此在开始升级前需要查看交换机的内存、FALSH大小及当前IOS版本和交换机型号,使用的命令是show version。对于Catalyst 4506 和Catalyst 6509这两种型号的交换机,除了要查内存、FALSH大小等信息以外,还要查明它所使用的引擎,可以使用命令show module,也可以查看交换机引擎前面板上的标识。 1、查看IOS版本、内存大小 Catalyst 3560上查看的信息: C3560_jr_01#show version Cisco IOS Software, C3560 Software (C3560-IPBASE-M), Version 12.2(25)SEE2, RELEASE SOFTWARE (fc1) …… cisco WS-C3560-24TS (PowerPC405) processor (revision D0) with 118784K/12280K bytes of memory. …… 第一行的信息显示当前IOS版本是12.2(25)SEE2,第二行的信息显示内存为128M(将118784K/12280K两个数字加起来),其中WS-C3560-24TS为交换机型号。 Catalyst 4506上查看的信息: C4506_hj_01#show version …… IOS (tm) Catalyst 4000 L3 Switch Software (cat4000-I9S-M), Version 12.2(25)EWA11, RELEASE SOFTWARE (fc1) …… cisco WS-C4506 (MPC8245) processor (revision 14) with 524288K bytes of memory. …… main-4506#show module Chassis Type : WS-C4506 Power consumed by backplane : 0 Watts Mod Ports Card Type Model Serial No. ---+-----+--------------------------------------+------------------+----------- 1 2 Supervisor IV 1000BaseX (GBIC) WS-X4515 JAE1222JNA1 2 6 1000BaseX (GBIC) WS-X4306-GB JAE110323WL 6 24 10/100/1000BaseT (RJ45) WS-X4424-GB-RJ45 JAE1236U5N2 ...... 当前IOS版本是12.2(25)EWA11,内存为512M,交换机型号是WS-C4506。Catalyst 4506的引擎板插在插槽1中,在show module命令中可以看引擎的型号是Supervisor IV WS-X4515。 Catalyst 6509上查看的信息: C6509_hx_01#show version …… IOS (tm) s72033_rp Software (s72033_rp-IPSERVICES_WAN-M),Version 12.2(33)SXH5, RELEASE SOFTWARE (fc2) …… cisco WS-C6509-E (R7000) processor (revision 1.5) with 458720K/65536K bytes of memory. …… C6509_hx_01#show module Mod Ports Card Type Model Serial No. --- ----- -------------------------------------- ------------------ ----------- 1 6 Firewall Module WS-SVC-FWM-1 SAL1434RNX2 5 2 Supervisor Engine 720 (Active) WS-SUP720-3B SAL1435S0ZR 8 24 CEF720 24 port 1000mb SFP WS-X6724-SFP SAL1426LBT0 9 48 SFM-capable 48 port 10/100/1000mb RJ45 WS-X6548-GE-TX SAL1435S712 …… Mod Sub-Module Model Serial Hw Status ---- --------------------------- ------------------ ----------- ------- ------- 5 Policy Feature Card 3 WS-F6K-PFC3B SAL1435S1N0 2.6 Ok 5 MSFC3 Daughterboard WS-SUP720 SAL1434RB4D 5.0 Ok 8 Centralized Forwarding Card WS-F6700-CFC SAL1424KB6K 4.1 Ok …… 当前IOS版本是12.2(33)SXH5,内存为512M,交换机型号是WS-C6509-E。Catalyst 6509的引擎板插在插槽5中,在show module命令中可以看引擎的型号是Supervisor Engine 720 WS-SUP720-3B。 由于Catalyst 2950、2960与3560查看信息的方法是一样的,在此就不再赘述。 2、查看FLASH容量 要确定闪存容量,需要使用dir flash 命令,在Catalyst 4506中要将flash:改为bootflash:,Catalyst 6509中要改为sup-bootflash:。Catalyst 2950、2960的查看方法参考Catalyst 3560。 C3560_jr_01#dir flash: Directory of flash:/ …… 32514048 bytes total (24340480 bytes free) Catalyst 3560的当前FLASH总容量是32MB,还有约23MB的可用空间。 main-4506#dir bootflash: Directory of bootflash:/ …… 61341696 bytes total (41738864 bytes free) Catalyst 4506的当前FLASH总容量是64MB,还有约40MB的可用空间。 C6509_hx_01#dir sup-bootflash: Directory of sup-bootdisk:/ …… 512106496 bytes total (358231808 bytes free) Catalyst 6509的当前FLASH总容量是512MB,还有约240MB的可用空间。 四、下载最新版的Cisco IOS软件 使用注册帐户登录Cisco网站,依次打开”Support”→“Download software” →”Products” →“Switches”,根据交换机的型号、引擎型号找到该交换机最新版的IOS映象,并核实最新版对交换机内存大小和Flash容量的最低要求,必要时还需查看发行说明,确认无误后再下载。 例如Catalyst 6509的IOS下载路径: Switches→LAN Switches - Core→Cisco Catalyst 6500 Series Switches→Cisco Catalyst 6509-E Switch→Cisco Catalyst 6500 Series Supervisor Engine 720 / MSFC3→IOS Software 在Cisco的下载列表中,通常会提供两种封装形式的IOS映象,一种是以bin为扩展名;另一种是以tar为扩展名,这种文件是一个压缩文件包,文件中包含了一个.bin映象文件,一个info文件——指出映象文件内容列表,一个html子目录——用于交换机Web管理的文件。两相比较,最好是选以tar为扩展名的IOS文件。 为了让交换机支持加密特性,必须下载“K9”版本的IOS映象。针对Catalyst 3560交换机,我们下载的是c3560-ipbasek9-tar.122-55.SE1.tar,以下是Cisco网站提供的关于这个文件的简要说明。 IP BASE WITH WEB BASED DEV MGR c3560-ipbasek9-tar.122-55.SE1.tar Release Date: 09/DEC/2010 Size: 14680.00 KB (15032320 bytes) Minimum Memory: DRAM:128MB Flash:16MB 从这个说明中除了能看到发布日期、文件大小之外,还能看到此版本IOS映象对交换机内存和FLASH的最低要求。如果交换机的内存或FLASH无法满足要求,要么使用对交换机要求更低的IOS映象,要么升级交换机的内存和FLASH。如果使用与交换机硬件不符的IOS文件,很容易导致升级失败。 关于这个版本的详细说明,可以查看下载页面中的Release Notes(发行说明)。另外,对于普通用户,只能下载最基本特性集的软件包,高级特性集需要有高级权限的用户才能下载。关于交换机的IOS版本及特性集,请查看Cisco白皮书:http://www.cisco.com/web/about/security/intelligence/ios-ref.html 按照上面的方法,也下载了其它型号交换机的最新IOS映象,并将下载的文件上传至FTP服务器。Catalyst 4506 和Catalyst 6509两种型号的交换机只提供以bin为扩展名的IOS下载。如下表: 交换机型号 新版IOS映象 WS-C2950G-24-EI c2950-i6k2l2q4-tar.121-22.EA14.tar WS-C2960-24TC-L c2960-lanbasek9-tar.122-55.SE1.tar WS-C3560-24TS-S c3560-ipbasek9-tar.122-55.SE1.tar WS-C4506 cat4500-ipbasek9-mz.122-54.SG.bin WS-C6509-E s72033-advipservicesk9_wan-mz.122-33.SXI5.bin 根据笔者的经验,通常情况下各型号Cisco交换机的IOS版本:Catalyst 2950为12.1EA,Catalyst 2960、3560为12.2SE,Catalyst 4506 S为12.2SG,Catalyst 6509为12.2SX。 五、备份配置文件及IOS 1、备份配置文件 下面的命令,将Catalyst 3560的启动配置文件备份到FTP服务器,服务器的IP地址为192.168.10.16,用户名为pldy,密码为123456,目标文件名为C3560_jr_01-confg。其它型号的交换机也使用相同的方法,将配置文件备份至FTP服务器。 C3560_jr_01# copy nvram:startup-config ftp://pldy:123456@192.168.10.16/ C3560_jr_01-confg Address or name of remote host [192.168.10.16]? Destination filename [C3560_jr_01-confg]? Writing host1-confg ! 1774 bytes copied in 1.174 secs (1511 bytes/sec) 2、IOS的备份 Catalyst 2960和3560使用archive命令备份。 C3560_jr_01#archive upload-sw ftp://pldy:123456@192.168.10.16/c3560-ipbase-tar.122-25.SEE2.tar System software to be uploaded: System Type: 0x00000000 Writing c3560-ipbase-tar.122-25.SEE2.tar ! archiving /c3560-ipbase-mz.122-25.SEE2 (directory) archiving /c3560-ipbase-mz.122-25.SEE2/c3560-ipbase-mz.122-25.SEE2.bin (6428863 bytes)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!......... 上面的命令自动将Catalyst 3560的flash:/c3560-ipbase-mz.122-25.SEE2目录中的内容打包成c3560-ipbase-tar.122-25.SEE2.tar文件,并上传至ftp服务器。 Catalyst 2950、4506和6509使用copy命令备份。 C2950_jr_02#copy flash:/c2950-i6q4l2-mz.121-13.EA1.bin ftp://pldy:123456@192.168.10.16 Address or name of remote host [192.168.10.16]? Destination filename [c2950-i6q4l2-mz.121-13.EA1.bin]? Writing /c2950-i6q4l2-mz.121-13.EA1.bin !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C2950_jr_02#archive tar /create c2950_jr_02-html.tar flash:/html C2950_jr_02#copy flash:/c2950_jr_02-html.tar ftp://pldy:123456@192.168.10.16 Address or name of remote host [192.168.10.16]? Destination filename [c2950_jr_02-html.tar]? Writing /c2950_jr_02-html.tar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 上面的第一条命令将Catalyst 2950的bin文件备份至FTP服务器,第二、三条命令将html文件夹压缩备份至FTP服务器。Catalyst 4506和6509没有html文件夹,只需备份bin文件即可。 六、开始升级 此次升级的五种型号的交换机,概括起来一共采用了三种升级方式: Catalyst 2950,删除原有IOS以腾出足够的FLASH空间,使用archive tar命令将IOS映象解压。 Catalyst 2960、3560,使用archive download-sw命令直接安装。 Catalyst 4506、6509,使用copy命令直接将bin文件拷贝至flash。 1、Cisco 2950的升级 Cisco 2950中FLASH的剩余空间无法完成升级,因此需要删除一些文件,以腾出足够的FLASH空间。下面的三条命令分别将备份时生成的tar文件、html文件夹及bin文件删除。 C2950_jr_02#delete flash:/c2950_jr_02-html.tar Delete filename [c2950_jr_02-html.tar]? Delete flash:/c2950_jr_02-html.tar? [confirm] C2950_jr_02#delete /force /recursive flash:/html Delete filename [html]? C2950_jr_02#delete flash:/c2950-i6q4l2-mz.121-13.EA1.bin Delete filename [c2950-i6q4l2-mz.121-13.EA1.bin]? Delete flash:/c2950-i6q4l2-mz.121-13.EA1.bin? [confirm] 接下来,使用archive命令从FTP服务器下载相应的IOS映象,并解压缩至flash。完成后使用reload命令重启交换机。 C2950_jr_02#archive tar /xtract ftp://pldy:123456@192.168.10.16/c2950-i6k2l2q4-tar.121-22.EA14.tar flash: Loading c2950-i6k2l2q4-tar.121-22.EA14.tar ... C2950_jr_02#reload 2、Catalyst 2960、3560的升级 Catalyst 2960和3560的升级方法是一样的,所以就以Catalyst 3560的升级过程为例进行说明。这两种型号的交换机,升级前不需要手动删除文件,升级过程中,老版本的IOS映象将被自动删除,完成后使用reload命令重启交换机。 C3560_jr_01# archive download-sw ftp://pldy:123456@192.168.10.16/c3560-ipbasek9-tar.122-55.SE1.tar Loading c3560-ipbasek9-tar.122-55.SE1.tar !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...... …… Installing (renaming): `flash:update/c3560-ipbasek9-mz.122-55.SE1' -> `flash:c3560-ipbasek9-mz.122-55.SE1' New software image installed in flash:c3560-ipbasek9-mz.122-55.SE1 Removing old image: flash:/c3560-ipbase-mz.122-25.SEE2 All software images installed. C3560_jr_01#reload 升级小插曲: 在升级Catalyst 2960时,将archive命令添加了一个/overwrite参数,以便升级时强制覆盖原有映象文件。大部分的Catalyst 2960交换机都能顺利升级,只有两台交换机无法升级,出现下面的错误信息。 C2960_jr_21#archive download-sw /overwrite ftp://pldy:123456@192.168.10.16/c2960-lanbasek9-tar.122-55.SE1.tar Loading c2960-lanbasek9-tar.122-55.SE1.tar from 192.168.10.16 ...... %Error, "flash:" is a directory. %Error, "flash:" is a directory. %Error opening flash:update/info (No such file or directory) ERROR: Malformed `info' file. ERROR: Image is not a valid IOS image archive. 从上面的信息分析来看,在打开flash:update/info文件时出错了。于是,通过dir flash:命令查看FLASH中文件,发现update文件夹是一个空文件夹。 C2960_jr_21#dir flash: Directory of flash:/ 2 -rwx 3136 Mar 15 2010 13:59:52 +11:00 vlan.dat 3 -rwx 8853 May 5 2010 11:10:38 +10:00 config.text 4 -rwx 8746 May 5 2010 11:10:38 +10:00 private-config.text 5 drwx 0 May 5 2010 11:13:31 +10:00 update 6 -rwx 2072 May 5 2010 11:10:38 +10:00 multiple-fs 473 drwx 192 Feb 13 2008 06:33:40 +11:00 c2960-lanbase-mz.122-44.SE6 32514048 bytes total (24393216 bytes free) 在尝试删除update文凭夹时,又出现了下面的错误信息(设备忙),无法删除update。 #rmdir flash:/update Remove directory filename [update]? Delete flash:/update? [confirm] %Error Removing dir flash:/update (Device or resource busy) 重新启动交换机后,可以将update文凭夹删除。重新升级IOS,故障依旧。后来,在升级Catalyst 3560 过程中,发现在archive命令中不加/overwrite参数,也可以顺利升级。于是抱着试试看的心理,在这两台Catalyst 2960上重新使用不带/overwrite参数的archive 命令升级,结果升级成功。 3、Catalyst 4506的升级 利用copy命令,从FTP服务器下载最新版的IOS文件,存储到Catalyst 4506的bootflash:。 C4506_hj_01#copy ftp://pldy:123456@192.168.10.16/ cat4500-ipbasek9-mz.122-54.SG.bin bootflash: 下载完成后,设置交换机引导所使用的IOS文件。 C4506_hj_01(config)#boot system flash bootflash:cat4500-ipbasek9-mz.122-54.SG.bin 将寄存器的值修改为0x2102。 C4506_hj_01(config)#config-register 0x2102 保存配置,并重启交换机,升级完成。小知识:
在Catalyst 4506的升级过程中,牵扯到了寄存器的修改。寄存器是一个16位的二进制数,在交换机中以十六进制数来表示,用于指定交换机启动的次序、中断参数和设置控制台波特率等。 Catalyst 4506的默认寄存器值为0x2101,这个值指定交换机从第一个IOS文件引导,忽略boot system flash指定的IOS文件。寄存器值若为0x2102,交换机将使用boot system flash命令指定的IOS文件引导。 因此,当新版的IOS映象复制到bootflash:后,由于老版IOS文件的存在,新版IOS将成为第二个文件。如果使用默认的寄存器值0x2101,只有删除老版的IOS文件,让新版IOS成为第一个文件,升级才能成功。而通过修改寄存器值为0x2102,就可以保留老版的IOS文件成功升级了。 4、Catalyst 6509的升级 利用copy命令,从FTP服务器下载最新版的IOS文件,存储到Catalyst 6509的sup-bootflash:。 C6509_hx_01#copy ftp://pldy:123456@192.168.10.16/ s72033-advipservicesk9_wan-mz.122-33.SXI5.bin sup-bootflash: 下载完成后,设置交换机引导所使用的IOS文件。 C6509_hx_01(config)#boot system sup-bootflash:/ s72033-advipservicesk9_wan-mz.122-33.SXI5.bin 保存配置,并重启交换机,升级完成。 对于Catalyst 4506和6509交换机,FLASH容量通常比较大,老版的IOS文件最好保留,当新版本出现不稳定现象时,可以及时回撤到老版本。除此之外,这两种交换机还可以使用外置CF卡中的IOS文件启动,从而为IOS升级提供了另一条途径。 七、升级失败的处理 在升级过程中难免会碰到特殊情况,如升级过程中断电,原IOS文件被删除了,而新的IOS文件又未完成上传,这时交换机将陷入瘫痪而无法正常启动,这种情况下可以采用Xmodem方式上传IOS文件。 1、进入交换机的Rommon模式,执行flash_init命令,初始化flash:。 switch: flash_init Initializing Flash... …… 2、格式化flash。 Switch: format flash: Are you sure you want to format "flash:" (all data will be lost) (y/n)?y …… 这一步不是必做步骤,要根据交换机的情况而定。 3、调整波特率为115200。 switch: set BAUD 115200 这样可以大大减少传送文件的时间,如果使用默认的9600,需要数小时,修改后只需要几十分钟。更改后屏幕出现乱码,超级终端需要重新连接,并且将波特率设为115200。 4、使用xmodem方式,将IOS文件传送至交换机的flash。 switch: copy xmodem: flash: c3560-ipbasek9-mz.122-55.SE1.bin Begin the Xmodem or Xmodem-1K transfer now... CCC Starting xmodem transfer. Press Ctrl+C to cancel. Transferring c3560-ipbasek9-mz.122-55.SE1.bin.. 执行完copy命令后,交换机进入接收状态,此时在超级终端上选择“传送” →“发送文件”→选xmodem协议→ 选IOS文件,开始传送。 5、设置BOOT参数 switch: set BOOT flash: c3560-ipbasek9-mz.122-55.SE1.bin 拷贝完IOS文件后,需要设置BOOT引导参数,指定引导所用的bin文件。 6、恢复波特率为默认值。 switch: unset BAUD 将波特率重设为默认值9600,超级终端需要使用新的波特率重新连接。 7、启动交换机。 switch: boot 这时就会使用新的IOS文件启动交换机了。 8、启动完成后,再配置其它参数。至此,整个升级过程介绍完毕。在升级过程中,有几个地方需要注意:
一、尽力保障电力供应,避免升级过程中断电或重启交换机,否则会导致升级失败。 二、要从正规渠道获取IOS文件,如Cisco的官方网站和授权的经销商,以保证IOS的权威、干净和完整。 三、要注意版权问题,不要侵犯版权。 四、升级完成之后,一定要进行安全性、可靠性测试,密切注视升级后的网络运行情况,如有异常及时处理。本文转自 小王 51CTO博客,原文链接:http://blog.51cto.com/xiaowang/1161376,如需转载请自行联系原作者