升級cisco設備的IOS

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:[email protected]/ 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:[email protected]/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:[email protected]
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:[email protected]
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:[email protected]/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:[email protected]/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 p_w_picpath installed in flash:c3560-ipbasek9-mz.122-55.SE1
Removing old p_w_picpath: flash:/c3560-ipbase-mz.122-25.SEE2
All software p_w_picpaths installed.
C3560_jr_01#reload
升級小插曲:
在升級Catalyst 2960時,將archive命令添加了一個/overwrite參數,以便升級時強制覆蓋原有映象文件。大部分的Catalyst 2960交換機都能順利升級,只有兩臺交換機無法升級,出現下面的錯誤信息。
C2960_jr_21#archive download-sw /overwrite ftp://pldy:[email protected]/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 p_w_picpath 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:[email protected]/ 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:[email protected]/ 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的權威、乾淨和完整。
三、要注意版權問題,不要侵犯版權。
四、升級完成之後,一定要進行安全性、可靠性測試,密切注視升級後的網絡運行情況,如有異常及時處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章