简介
本文档介绍如何在思科高端路由器上升级Cisco IOS®软件映像。
先决条件
要求
Cisco 建议您了解以下主题:
- 如何安装TFTP服务器
- 如何安装Cisco IOS软件映像
有关这些主题的详细信息,请参阅背景信息部分。
使用的组件
本文档中的信息基于 Cisco IOS 软件版本 12.1 或更高版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
背景信息
本文档讨论在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 系列 Internet 路由器 (ESR)
-
Cisco 12000 系列互联网路由器
-
Cisco uBR71xx、uBR 72xx、uBR10000 系列路由器
第1步:安装TFTP服务器
简单文件传输协议(TFTP)服务器、远程拷贝协议(RCP)服务器或者文件传输协议服务器(FTP)应用程序必须安装在TCP/IP就绪的工作站或PC上。安装应用后,必须执行最低级别的配置,请使用以下步骤:
-
配置 TFTP 应用程序使其作为 TFTP 服务器运行,而不是作为 TFTP 客户端。
-
指定出站文件目录。这是将在其中存储 Cisco IOS 软件映像的目录。大多数TFTP应用程序提供安装例程序辅助这些配置任务。
注意:许多TFTP或RCP应用可从独立软件供应商处获得,也可作为共享软件从万维网上的公共资源获得。
注意:大多数TFTP应用程序无法传输大小超过16MB的文件。如果您安装的Cisco IOS软件大于16MB,则必须使用FTP或RCP服务器。
第2步:选择Cisco IOS软件映像
验证您下载的Cisco IOS软件镜像是否支持您的硬件以及所需的软件功能。您可以通过Cisco Software Advisor(仅限注册客户)找到此信息。在下载您选择的软件版本之前,请确保您的路由器具有足够的Cisco IOS软件映像的动态RAM(DRAM)和闪存。您可以在每个特定Cisco IOS软件版本的发行说明以及Cisco技术支持和下载中找到建议的最低DRAM和闪存要求。有关如何选择正确的软件版本和功能集的其他信息,请参阅比较功能以选择最佳软件版本。
第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,您必须检查与之前相同的超级终端属性。
有关如何设置超级终端属性的详细信息,请参阅为控制台连接应用正确的终端仿真器设置。
启动问题
一旦连接到路由器的控制台端口,您就可以看到路由器处于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闪存卡或闪存盘上的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闪存盘使用不同的命令语法。替换命令语法 disk0:
或 disk1:
如果使用ATA PCMCIA闪存盘,而非slot0:或slot1:指线性PCMCIA闪存卡。 有关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
.当您使用CLI压缩闪存时, 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应用程序,将所出现的每一个TFTP替换为RCP。例如,使用 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
-
指定目的地文件名称。
这是新软件映像加载到路由器时可以使用的名称。镜像可以任意命名,但普遍做法是输入同一个镜像文件名。
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闪存卡,您还可以从输出中验证PCMCIA校验和是否正确 show slot0:
.如果您有ATA闪存盘,您可以使用 verify /md5 slot0:
命令获取映像的MD5散列值,并将该散列值与Cisco技术支持和下载中的散列值进行比较。的MD5选项 verify
命令是在Cisco IOS软件版本12.0(22)S中引入的,并且很快可在最新的12.2T映像中发布。您可以在Cisco Bug ID CSCdw84342(仅限注册用户)的“First Fixed-in Version”(第一个固定版本)字段中查看包含MD5验证选项的Cisco IOS软件版本。
第6步:设置启动语句以在启动时加载新映像
通过TFTP复制映像后,您需要告知路由器在启动时加载哪个映像。
检查当前启动语句
此时,新镜像位于 slot0 中。您需要设定路由器以新的镜像进行启动。默认情况下,路由器将引导闪存中的第一个文件。搜索闪存的顺序是disk0:、disk1:、slot0:、slot1:,最后是bootflash:。当没有闪存时,默认启用 boot
命令或引导语句不正确。
可通过两种方法确定当前的引导参数设置:
选项1:检查您是否有 boot
在配置中定义的命令 show running-config
命令。在下面的示例中,引导语句设置为 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#
前面的输出还显示boot变量为 slot0:rsp-jsv-mz.121-13.bin
.如果在您的配置中有boot system命令条目,那么您应从配置中取消这些条目。有关如何删除引导条目的更多信息,请转至下一部分。
删除以前的启动语句
如果要去除这些命令,请进入配置终端模式。在配置模式下,您可以在输入命令时否定任何命令 no
在每个boot语句前面。下一个示例说明删除当前引导语句:
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。
相关信息