簡介
本文說明如何在 Cisco High-End 路由器上升級 Cisco IOS® 軟體。
必要條件
需求
思科建議您瞭解以下主題:
- 如何安裝TFTP伺服器。
- 如何安裝Cisco IOS軟體映象。
有關這些主題的詳細資訊,請參閱「背景資訊」部分。
採用元件
本檔案中的資訊是根據Cisco IOS軟體版本12.1或更新版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
背景資訊
本文檔討論在Cisco高端路由器上升級Cisco IOS軟體映像的過程。本文檔中提供的示例基於7500路由器,但此過程適用於其他路由器。Cisco IOS軟體檔名因使用的產品型別而異。
注意:要使用本文檔中介紹的故障排除工具,您必須是註冊使用者,並且必須已登入。
本文討論這些Cisco系列路由器:
-
Cisco 7000系列路由器,帶RP和RSP7000
-
Cisco 7100系列路由器
-
Cisco 7200系列路由器
-
Cisco 7300系列路由器
-
Cisco 7400系列路由器
-
Cisco 7500系列路由器
-
Cisco 7600系列路由器
-
Cisco 10000系列網際網路路由器(ESR)
-
Cisco 12000系列Internet路由器
-
思科uBR71xx、uBR 72xx、uBR10000系列路由器
第1步:安裝TFTP伺服器
必須在TCP/IP就緒的工作站或PC上安裝簡單檔案傳輸協定(TFTP)伺服器、遠端複製協定(RCP)伺服器或檔案傳輸協定伺服器(FTP)應用程式。安裝應用後,必須執行最低級別的配置。步驟如下:
-
將TFTP應用程式配置為作為TFTP伺服器運行,而不是TFTP客戶端。
-
指定傳出檔案目錄。這是Cisco IOS軟體映像的儲存目錄。大多數TFTP應用程式都提供設定常式來幫助完成這些配置任務。
注意:許多TFTP或RCP應用程式可從獨立軟體供應商處獲得,也可作為共享軟體從全球資訊網上的公共源獲得。
注意:大多數TFTP應用程式無法傳輸大小超過16MB的檔案。如果您安裝的Cisco IOS軟體大於16MB,則必須使用FTP或RCP伺服器。
第2步:選擇思科IOS軟體映像
驗證下載的Cisco IOS軟體映像是否支援您的硬體和所需的軟體功能。您可以透過Cisco Software Advisor找到此資訊(僅限註冊客戶)。在下載您選擇的軟體版本之前,請確保您的路由器具有足夠的Cisco IOS軟體映象的動態RAM (DRAM)和快閃記憶體。您可以在每個特定Cisco IOS軟體版本的發行版本註釋中找到建議的最低DRAM和快閃記憶體要求,也可以在Cisco技術支援和下載中找到該要求。有關如何選擇正確的軟體版本和功能集的其他資訊,請參閱比較功能以選擇最佳軟體版本。
第3步:下載Cisco IOS軟體映象
從Cisco技術支援和下載將Cisco IOS軟體映象下載到您的工作站或PC上。
軟體安裝與升級程式
逐步程序
步驟1:建立到路由器的控制檯會話
這可以透過直接控制檯連線或虛擬Telnet連線來實現。直接控制檯連線優先於Telnet連線,因為大多數災難恢復過程要求您親自到場,而Telnet連線會在軟體安裝的重新啟動階段丟失。控制檯連線使用箭頭電纜(通常是黑色扁平電纜)建立,並將路由器的控制檯埠連線到PC的COM埠。打開PC上的Hyperterminal,然後使用下列設定:
Speed 9600 bits per second
8 databits
0 parity bits
1 stop bit
No Flow Control
注意:如果在超級終端中收到任何垃圾字元,則意味著您未正確設定超級終端屬性,或者路由器的配置暫存器被設定為控制檯連線速度高於9600 bps的非標準值。使用show version命令(顯示在輸出的最後一行)檢查配置暫存器值,保證它已設定為0x2102或0x102。必須重新載入路由器,配置暫存器更改才會生效。一旦您確定路由器端的控制檯速度已設定為9600 bps,您就必須像以前一樣檢查超級終端屬性。
有關如何設定Hyperterminal屬性的詳細資訊,請參閱為控制檯連線應用正確的終端模擬器設定。
開機問題
連線到路由器的控制檯埠後,您會看到路由器處於ROMmon或引導模式。如果路由器無法正確載入Cisco IOS軟體映像,則會進入可用於復原和/或診斷程式的這兩種模式之一。如果您沒有看到通常的路由器提示,您必須使用以下建議繼續升級過程。
路由器在ROMmon模式或引導模式下引導,控制檯上將顯示類似以下消息的內容:
device does not contain a valid magic number
boot: cannot open "slot0:"
boot: cannot determine first file name on device "slot0:"
如果使用ATA PCMCIA隨身碟,相同的問題可能如下所示:
device does not contain a valid magic number
boot: cannot open "disk0:"
boot: cannot determine first file name on device "disk0:"
如果您看到前面的錯誤消息之一,則意味著快閃記憶體卡為空、未格式化、未針對平台格式化、檔案系統已損壞,或者快閃記憶體卡上的第一個映像不是可引導的Cisco IOS軟體映像。
如果路由器處於ROMmon模式,則路由器提示符可能如下所示:
rommon1>
如果路由器處於引導模式,則路由器提示符可能如下所示:
Router(boot)>
有關ROMmon恢復的詳細資訊,請參閱Cisco 7200、7300、7400、7500、RSP7000、Catalyst 5500 RSM、uBR7100、uBR7200、uBR10000和12000系列路由器的ROMmon恢復過程。
如果路由器處於引導模式,您可以按照列出的Cisco IOS軟體升級說明繼續操作。當啟動模式時,請小心不要儲存組態,因為啟動映像不包含完整的路由功能。
第2步:檢驗TFTP伺服器是否具有與路由器的IP連線
檢查TFTP伺服器和要進行TFTP軟體升級的路由器的IP地址,以確保地址在同一範圍內。對路由器執行ping操作,檢驗它們之間是否存在網路連線。要檢驗,請檢查TFTP伺服器的IP地址。如果路由器處於引導模式,則需要設定預設網關:
Router(boot)>
Router(boot)> enable
Router(boot)# config terminal
Router(boot)(config)# ip default-gateway n.n.n.n-+
第3步:如果需要,格式化PCMCIA卡
如果PCMCIA卡是出廠為空白的備件,則必須在使用之前將其格式化。
如果您的PCMCIA卡與路由器平台相容,您也可以使用來自其他平台的PCMCIA卡。有關各平台之間的快閃記憶體卡相容性的詳細資訊,請參閱PCMCIA檔案系統相容性清單和檔案系統資訊。
註:要從位於PCMCIA快閃記憶體卡或隨身碟上的Cisco IOS軟體檔案啟動,快閃記憶體卡或隨身碟必須在目標平台中經過格式化。
注意:格式化過程會清除快閃記憶體卡上的所有資訊。為避免丟失快閃記憶體卡上可以儲存的映像和配置檔案,請在格式化該卡之前將映像和檔案複製到TFTP伺服器:
執行下列步驟:
.
-
將快閃記憶體卡插入可用的PCMCIA插槽(slot0:
或slot1:
)。
-
使用format slot0:(或format slot1
命令),如下所示:
7500#format slot0:
Format operation can take a while. Continue? [confirm]y
Format operation can destroy all data in "slot0:". Continue?
[confirm]y
Formatting sector 160.....
Format of slot0: complete
註:當您參閱PCMCIA插槽時,ATA PCMCIA隨身碟使用不同的命令語法。如果使用ATA PCMCIA隨身碟代替slot0:或slot1:表示線性PCMCIA快閃記憶體卡,請替換命令語法disk0:
或disk1:
。 有關ATA PCMCIA隨身碟和線性PCMCIA快閃記憶體卡之間的命令語法差異的更多資訊,請參見PCMCIA檔案系統相容性清單和檔案系統資訊。
第4步:驗證快閃記憶體卡(PCMCIA插槽)上的可用空間
此時,您需要驗證快閃記憶體卡中是否有足夠的空間來複製新映像。如果沒有足夠的可用空間,則需要刪除一些檔案以騰出足夠的空間。在某些情況下,如果映像非常大,則需要刪除快閃記憶體卡上的當前映像。
要確定可用空間量,並顯示slot0:當前載入的檔案,請發出dir{device:}
命令。
在下面的示例中,slot0有兩個檔案系統和885756
位元組的可用空間。這不足以載入新影像。
7500#dir slot0:
Directory of slot0:/
1 -rw- 12531084 Jan 02 2000 00:00:20 rsp-jsv-mz.121-13.bin
2 -rw- 7161208 Jan 02 2000 00:14:33 rsp-jsv-mz.112-26.bin
20578304 bytes total (885756 bytes free)
注意:當您看到錯誤消息「%Error opening slot0: (Device not ready)」時,請嘗試dir disk0:命令。
在下面的示例中,刪除第二個檔案以便為新的Cisco IOS軟體映像釋放足夠的空間。
7500#delete slot0:rsp-jsv-mz.112-26.bin
Delete filename [rsp-jsv-mz.112-26.bin]? [enter]
Delete slot0:rsp-jsv-mz.112-26.bin? [confirm][enter]
7500#
刪除檔案後,使用dir slot0:
命令檢查可用空間。下一個輸出顯示可用空間仍為885756
。使用squeeze
命令壓縮快閃記憶體時,可用空間會增加:
7500#dir slot0:
Directory of slot0:
1 -rw- 12531084 Jan 02 2000 00:00:20 rsp-jsv-mz.121-13.bin
20578304 bytes total (885756 bytes free)
刪除檔案後,作業系統會標籤檔案。要釋放已刪除檔案的記憶體空間,您需要發出squeeze{device:}
命令,該命令將永久刪除已刪除的檔案。
7500#squeeze slot0:
All deleted files can be removed. Continue? [confirm]y
Squeeze operation can take a while. Continue? [confirm]y
Squeezing...
Squeeze of slot0 complete
7500#
檔案刪除並壓縮後,將永久刪除該檔案。要檢查檔案是否已被刪除並且記憶體是否被回收,請發出dir slot0:
命令。
7500#dir slot0:
Directory of slot0:/
1 -rw- 12531084 Jan 02 2000 00:00:20 rsp-jsv-mz.121-13.bin
20578304 bytes total (8047092 bytes free)
在前面的輸出中,您可以看到空閒快閃記憶體空間量已從885756 bytes
增加到8047092 bytes
。
註:如果快閃記憶體卡上沒有有效映象,請勿重新載入路由器或對路由器重新加電;否則會導致路由器進入ROMmon或引導模式。
第5步:透過TFTP伺服器將新映像複製到快閃記憶體卡中
請逐步執行這些說明。
-
現在您已經擁有IP連線並可以在充當TFTP伺服器的電腦和路由器之間執行ping操作,請將映像從TFTP伺服器複製到slot0。
注意:在複製之前,請確保已在PC上啟動TFTP伺服器軟體,並且檔名已在TFTP伺服器根目錄中提及。我們建議您在升級之前保留一份路由器配置副本。升級本身不會影響組態(儲存於非易失性RAM - NVRAM中)。但是,如果沒有正確執行正確的步驟,則可能會發生這種情況。
對於RCP應用程式,請將RCP替換為TFTP的每次出現。例如,用copy rcp flash
命令而非copy tftp flash
命令。
7500# copy tftp: slot0:
如有必要,您可以將影像從一個裝置複製到另一個裝置。
-
指定TFTP伺服器的IP地址。
出現提示時,輸入TFTP伺服器的IP地址,如下一個示例所示:
Address or name of remote host []? 172.17.247.195
-
指定新Cisco IOS軟體映像的檔名。
出現提示時,輸入要安裝的Cisco IOS軟體映像的檔名,如下例所示:
Source filename []? rsp-jsv-mz.122-6.bin
-
指定目的檔案名稱。
這是新軟體映像載入到路由器時可以使用的名稱。映像可以命名為anything,但通常的做法是輸入相同的映像檔名。
7500#copy tftp slot0:
Address or name of remote host []? 172.17.247.195
Source filename []? rsp-jsv-mz.122-6.bin
Destination filename []?rsp-jsv-mz.122-6.bin
Accessing tftp://10.1.1.1/rsp-jsv-mz.122-6.bin...
Loading rsp-jsv-mz.122-6.bin from 10.1.1.1 (via Ethernet10/5): !!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!
[OK - 12531084/25061376 bytes]
12531084 bytes copied in 641.540 secs (19549 bytes/sec)
7500#
成功傳輸檔案後,必須驗證該檔案位於slot0中。發出 dir{device:}
命令,顯示當前位於slot0中的檔案:
7500#dir slot0:
Directory of slot0:/
1 -rw- 12519472 Jan 02 2000 00:00:20 rsp-jsv-mz.121-13.bin
2 -rw- 12531084 Jan 02 2000 00:00:20 rsp-jsv-mz.122-6.bin
驗證名稱和檔案大小是否正確。如果您具有一個標準PCMCIA快閃記憶體卡,您也可以從show slot0:
命令的輸出中檢驗PCMCIA校驗和是否正確。如果有ATA隨身碟,則可以使用verify /md5 slot0:
命令獲得映象中的MD5雜湊,並將該雜湊與Cisco技術支援和下載中的雜湊進行比較。verify
命令的MD5選項被引入Cisco IOS軟體版本12.0(22)S,並將很快被引入最新的12.2T映象。您可以在Cisco bug IDCSCdw84342的「First Fixed-in Version」欄位中檢視包含MD5驗證選項的Cisco IOS軟體版本。
備註:只有註冊的思科使用者能夠存取內部工具與資訊。
第6步:設定啟動語句以在啟動時載入新映像
透過TFTP複製映像後,您需要告知路由器啟動時載入哪個映像。
檢查當前啟動語句
此時,新映像現在位於slot0。您需要設定路由器以引導新映像。預設情況下,路由器會引導快閃記憶體中的第一個檔案。搜尋快閃記憶體的順序是disk0:、disk1:、slot0:、slot1:,最後是bootflash:。當配置中沒有boot
命令,或者引導語句不正確時,預設情況下為啟用。
有兩種方法可決定目前的開機引數設定:
選項1:透過發出show running-config
命令,檢查您的配置中是否定義了任何boot
命令。在下面的示例中,引導語句設定為 boot system flash slot0:rsp-jsv-mz.121-13.bin
.
7500#show running-config
!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
no service single-slot-reload-enable
!
hostname 7500
!
boot system flash slot0:rsp-jsv-mz.121-13.bin
!
ip subnet-zero
選項2:發出show bootvar
命令。
注意:show bootvar
命令將替換show boot
命令。
7500#show bootvar
BOOT variable = slot0:rsp-jsv-mz.121-13.bin,12;
CONFIG_FILE variable =
BOOTLDR variable does not exist
Configuration register is 0x102
7500#
上面的輸出還顯示引導變數為 slot0:rsp-jsv-mz.121-13.bin
。如果您的組態中有boot system指令專案,則需要從組態中移除它們。有關如何刪除引導條目的詳細資訊,請轉至下一節。
刪除以前的啟動語句
要刪除這些命令,請進入配置終端模式。從配置模式,當您在每個引導語句前輸入no
時,可以否定任何命令。下一個範例說明移除目前的啟動陳述式:
7500#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
7500(config)#no boot system flash slot0:rsp-jsv-mz.121-13.bin
7500(config)#^Z
7500#
語句boot system flash slot0:rsp-jsv-mz.121-13.bin
將從配置中刪除。請透過發出show running-config
命令檢驗該命令是否已經去除。
設定新的啟動陳述式
現在,設定路由器以啟動新映像。發出下一個命令以設定引導系統引數:
boot system flash slot0:{imagename} (imagename = name of the new IOS image)
7500#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
7500(config)#boot system flash slot0:rsp-jsv-mz.122-6.bin
7500(config)#^Z
7500#write mem
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0
Building configuration...
7500#
在配備ATA PCMCIA隨身碟的平台上,命令語法為:
boot system [device]:{imagename}
舉例來說:
7500(config)#boot system disk0:rsp-jsv-mz.122-6.bin
務必驗證您使用的是config-register 0x2102
,方法是發出show bootvar
或show version
命令。如果設定方式不同,可以在配置模式下發出下一個命令進行更改:
7500#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
7500(config)#config-register 0x2102
7500(config)#^Z
7500#write mem
透過發出show bootvar
命令驗證引導引數。
7500#show bootvar
BOOT variable = slot0:rsp-jsv-mz.122-6.bin,12;
CONFIG_FILE variable =
BOOTLDR variable does not exist
Configuration register is 0x102 (can be 0x2102 at next reload)
7500#
更改配置暫存器後,更改將在下次重新載入時發生,如前所示。
第7步:重新啟動路由器以載入新映像
要使路由器運行新的Cisco IOS軟體映像,您需要重新載入路由器。透過發出copy run start
或write mem
命令確保已儲存配置。
7500#write mem
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11)
Building configuration...
7500#reload
步驟8:驗證升級
在路由器啟動之後,透過發出show version
命令,確定您當前運行的是新版本的編碼:
7500#show version
Cisco Internetwork Operating System Software
Cisco IOS (tm) RSP Software (RSP-JSV-M), Version 12.2(6), RELEASE SOFTWARE (fc3)
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Wed 30-Jan-02 19:58 by kellythw
Image text-base: 0x60010958, data-base: 0x6148A000
ROM: System Bootstrap, Version 11.1(8)CA1, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
BOOTLDR: RSP Software (RSP-BOOT-M), Version 12.2(6), RELEASE SOFTWARE (fc2)
7500-A uptime is 0 minutes
System returned to ROM by reload at 00:05:37 PST Sat Jan 1 2000
System image file is "slot0:rsp-jsv-mz.122-6.bin"
!-- you have booted the correct image
cisco RSP4 (R5000) processor with 131072K/2072K bytes of memory.
R5000 CPU at 200Mhz, Implementation 35, Rev 2.1, 512KB L2 Cache
Last reset from power-on
G.703/E1 software, Version 1.0.
G.703/JT2 software, Version 1.0.
Channelized E1, Version 1.0.
X.25 software, Version 3.0.0.
SuperLAT software (copyright 1990 by Meridian Technology Corp).
Bridging software.
TN3270 Emulation software.
Primary Rate ISDN software, Version 1.1.
Chassis Interface.
1 EIP controller (6 Ethernet).
1 AIP controller (1 ATM).
2 TRIP controllers (8 Token Ring).
2 MIP controllers (2 T1) (2 E1).
6 Ethernet/IEEE 802.3 interface(s)
8 Token Ring/IEEE 802.5 interface(s)
48 Serial network interface(s)
1 ATM network interface(s)
2 Channelized E1/PRI port(s)
2 Channelized T1/PRI port(s)
123K bytes of non-volatile configuration memory.
20480K bytes of Flash PCMCIA card at slot 0 (Sector size 128K).
16384K bytes of Flash PCMCIA card at slot 1 (Sector size 128K).
8192K bytes of Flash internal SIMM (Sector size 256K).
No slave installed in slot 6.
Configuration register is 0x2102
驗證Cisco IOS軟體版本12.2(6)是否正確且配置暫存器是否設定為0x2102。
相關資訊