CISCO升级与恢复方案6.3.3升级与恢复方案如果是通过网络升级IOS,运行TFTPServer主机连接交换机的接口没有限制,TFTPServer的地址可以随意定义,但必须与网络设备定义的地址在同一网段上。连接至路由器时,必须使用路由器的第一个以太网口,即Ethernt0(对Cisco2500系列等)和Ethernet0/0(对Cisco2600系列等),其他系列略有差别,可根据使用手册进行确定。下面将详细介绍IOS文件修复的步骤。1.部署TFTP首先需要安装TFTPServer软件,这里使用CiscoTFTPServer的TFTP服务器软件,可以从Cisco网站上下载。CiscoTFTPServer的配置十分简单,几乎不用更改它的配置,如需要可以更改其根目录,在图6-6中的位置中选择。将IOS文件放在TFTPServer所在目录的根目录下,如果TFTPServer软件在机器装的是CiscoTFTPServer目录,那么就把新的IOS文件放在CiscoTFTPServer目录下就可以了。也可以自行指定IOS文件的存放位置,在TFTPServer软件界面上选择【View】→【Options】命令,在图6-7中“TFTPServerroot”选项上选择“Browse”,将该目录指向IOS文件所在的目录,如D:\cisco或其他目录。图6-6安装TFTP的位置图6-7设置TFTP的根目录2.升级交换机IOS首先,用Console连接交换机的Console口与电脑的COM1口(或USB口,依据配置线不同而定,设置方法请查看第5章的相关内容),网线连接交换机FastEthernet0/1口与计算机的以太网口,打开TFTP服务器软件,并将其根目录设为IOS文件所在的目录。为使交换机能与TFTP服务器相互通信,需要为交换机和TFTP服务器设置IP地址。1)设置TFTP服务器地址首先需要将运行TFTP的计算机IP地址设为192.168.0.1,如图6-8所示。图6-8设置运行TFTP服务器的IP地址2)设置交换机IP地址使用Windows自带的超级终端软件,将交换机的地址设为与计算机的IP地址相同网段。三层交换机可以针对接口设置IP,而二层交换机需要针对升级用VLAN,设置IP地址。具体步骤如下。第1步:进入全局配置模式Switch#configureterminal第2步:进入管理VLAN接口模式Switch(config)#interfacevlan99第3步:配置IP地址Switch(config-if)#ipaddress192.168.0.2255.255.255.0第4步:将Fasethernet0/1划分到VLANSwitch(config-if)#interfacefasethernet0/1Switch(config-if)#witchaccessvlan99第5步:退回全局配置模式Switch#exit此时,如果能够在超级终端界面上Ping通192.168.0.1,就表明交换机和TFTP服务器(电脑)连接与通信正常了。3)备份旧IOS在特权模式下输入ShowFlash命令,查看当前交换机Flash内IOS的文件名:c2950-c3h2s-mz.120-5.3.WC.1.bin及相关信息。在升级前,需要将这份IOS文件备份出来,以防在升级中出现意外无法恢复到初始状态。Switch#copyflashtftpSourcefilename[]?c2950-c3h2s-mz.120-5.3.WC.1.bin//输入IOS文件名Addressornameofremotehost[]?192.168.0.1//输入TFTP地址Destinationfilename[c2950-c3h2s-mz.120-5.3.WC.1.bin]?//可以更改名称或使用默认4)删除旧IOS复制的时间和IOS的大小有关,请耐心等待。备份完成后,就要将新的IOS文件复制到flash中。但通过showflash命令发现Flash中的剩余存储空间比要升级的IOS文件要少,为了使新的IOS文件能拷入交换机的Flash中,必须要先删除原IOS文件。Switch#deleteflash:c2950-c3h2s-mz.120-5.3.WC.1.bin//复制文件从Flash到tftpDeletefilename[c2950-c3h2s-mz.120-5.3.WC.1.bin]//确认,回车Deleteflash:c2950-c3h2s-mz.120-5.3.WC.1.bin?[confirm]//确认,回车5)升级新IOS确认Flash中的IOS文件已经删除,在新的IOS文件被复制到交换机之前,一定要确保交换机不会重新启动,否则交换机就无法正常启动了。Switch#copytftpflash://复制文件从tftp到flashAddressornameofremotehost[]?192.168.0.1//输入TFTP地址Sourcefilename[]?c2950-i6k2l2q4-mz.121-22.EA8a.bin//输入升级的新版IOS名称Destinationfilename[c2950-i6k2l2q4-mz.121-22.EA8a.bin]?//确认,回车新的IOS文件成功复制到Flash中之后,输入reload重启交换机。如果交换机能够正常的重启动,查看Flash中的IOS文件已经变成c2950-i6k2l2q4-mz.121-22.EA8a.bin。至此,IOS的升级工作完成,最后可以删除临时性的VLAN。3.使用TFTP修复路由器的IOS装有TFTPServer软件的PC,在PC上启动TFTPServer软件,并把用控制线将调试机器与路由器连接起来。用TFTP修复IOS可以分为以下几个步骤。第1步:设置路由器的IP地址,TFTP软件所在的机器必须在同一网段内。第2步:设置路由器的子网掩码。第3步:设置默认网关地址(可忽略,或者指向TFTPServer)。第4步:设置TFTP服务器IP地址。第5步:指定需要恢复的IOS名称。第6步:确认执行恢复,执行tftpdnld。ROMMON区分命令的大小写,请注意前面的几条命令必须使用大写,而最后的tftpdnld则要用小写。设置完后要用sync命令保存环境变量到NVRAM。用set命令进行查看设置,具体恢复步骤如下:rommon2IP_ADDRESS=172.16.0.1rommon3IP_SUBNET_MASK=255.255.255.0rommon4DEFAULT_GATEWAY=172.16.0.2rommon5TFTP_SERVER=172.16.0.2rommon6TFTP_FILE=c2600-is-mz.113-2.0.3.Qrommon7tftpdnldIP_ADDRESS:172.16.0.1IP_SUBNET_MASK:255.255.255.0DEFAULT_GATEWAY:172.16.0.2TFTP_SERVER:172.16.0.2TFTP_FILE:c2600-is-mz.113-2.0.3.QInvokethiscommandfordisasterrecoveryonly.WARNING:allexistingdatainallpartitionsonflashwillbelost!Doyouwishtocontinue?y/n:[n]:yReceivingc2600-is-mz.113-2.0.3.Qfrom172.16.0.2!!!!!.!!!!!!!!!!!!!!!!!!!.!!Filereceptioncompleted.Copyingfilec2600-is-mz.113-2.0.3.Qtoflash.Erasingflashat0x607c0000programflashlocation0x60440000rommon84.使用XMODEM修复IOSIOS升级失败的原因有很多,比如升级过程中网线松动、用来升级的IOS文件和设备不匹配、突然停电等。遇到上述情况,设备将无法正常启动。除TFTP修复IOS之外,下面介绍XMODEM恢复(升级)IOS的方法,只是比起前一种更加复杂,传输速度也比较慢,所以不太常用。1)修复交换机将交换机连接以后,控制台会出现交换机IOS丢失的界面。此时需要重新启动交换机,重新为交换机加电,此时,请按住交换机面板左侧的Mode键,进入MINI模式。在超级终端输入flash_init会出现大量提示,继续输入load_helper,输入复制指令copyXMODEM:c2950-i6k2l2q4-mz.121-22.EA8a.bin。出现BegintheXMODEMorXMODEM-1Ktransfernow...提示,系统提示不断出现C这个字母就可以开始传输IOS文件了。选择超级终端中【传送】→【发送文件】命令,在协议选项中选择XMODEM或者XMODEM-1K协议,如图6-9所示,然后选择IOS文件,开始传送。因为此前没有改变控制台的传输速率,所以传送得很慢,一个普通的CiscoIOS文件大致需要50分钟左右,请耐心等待。在修复路由器IOS中将介绍改变传输速率的方法。文件传送结束后,在提示符下输入:boot(启用新的IOS系统)。经过几十秒钟,交换机就进入正常的状态了,这时查看Flash,里面应该有了新的IOS文件,至此IOS恢复工作完成。2)修复路由器IOS丢失以后,所有的设备都会启动最小启动模式。由于Cisco3640版本路由器恢复没有提供tftpdnld命令,只提供了XMODEM命令,使用方法与Cisco2600系列相同。为了加快修复的速度,需要配置路由器Console口和超级终端软件的传输速率。rommon2confregdoyouwishtochangetheconfiguration?y/n[n]:yenablediagnosticmode?y/n[n]:nenableusenetinIPbcastaddress?y/n[n]:ndisableloadromafternetbootfails?y/n[n]:nenableuseallzerobroadcast?y/n[n]:nenablebreak/aborthaseffect?y/n[n]:nenableignoresystemconfiginfo?y/n[n]:nchangeconsolebaudrate?y/n[n]:yenterrate:0=9600,1=4800,2=1200,3=24004=19200,5=38400,6=57600,7=115200[7]:7changethebootcharacteristics?y/n[n]:yentertoboot:0=ROMMonitor1=theboothelperimage2-15=bootsystem[0]:0ConfigurationSummaryenabledare:loadromafternetbootfailsconsolebaud:115200boot:theROMMonitordoyouwishtochangetheconfiguration?y/n[n]:nYoumustresetorpowercyclefornewconfigtotakeeffectrommom2reset在enterrate:部分,需要选择7,用最大的115200速率的XMODEM传输。在输入reset命令之前,需要重新定义串口传输速度,如图6-10所示,将超级终端里设置速率为115200,否则会出现乱码。图6-9设置传输协议图6-10设置最大传输速率关闭这个超级终端,重新建立一个超级终端连接(115200速率),系统重新启动后会出现:rommon1rommon1XMODEM-rDonotstartthesendingprogramyet...Invokethisapplicationonlyford