1 交换机无法正常启动的解决办法
EX交换机在突然掉电或非正常关机的情况下,设备重新启动后,可能会出现一直卡着启动进程或OS引导失败的场景,本文列出几种常见的模式及解决方法(注:本文档中提到的操作可能出现设备原有配置丢失情况出现,另外,对于通过命令关机时,强烈建议等到所有进程都halt时再对进行掉电操作)。
通常,交换机无法正常启动时,通过console输出为:
1.系统直接进入Loader模式,Loader Prompt ( loader >) ; 2.系统进入Debug模式,Debug Prompt (db>) ; 3.系统进入UBoot模式,UBoot Prompt (=>); 4.系统能正常启动,但各系统进程无法正常加载; 5.系统提示Can't load kernel error ;
2 系统直接进入Loader模式解决办法
方法一 TFTP方式恢复交换机
1.准备好TFTP服务器,然后把Junos安装文件上传至TFTP的root目录层次下; 2.用console连接交换机,并对设备进行加电;
# When you see the \
Then press [Enter] to boot immediately, or space bar for command prompt.
Hit the space bar to enter the manual loader. The loader > prompt displays.
(NOTE: There is a 1 second delay for hitting the space (TIPS: you can hit space bar after you see \
bar)
3.配置交换机的管理ip地址;
loader>
set
ipaddr=192.168.100.2
loader> set loader> set serverip=192.168.100.1
netmask=255.255.255.0
4.从TFTP安装Junos;
loader> install tftp://192.168.100.1/jinstall-ex-9.1R2.7-domestic-signed.tgz
==============================================
This part of the boot log is related to the steps listed above ==============================================
Consoles: U-Boot console Found compatible API, ver. 7
FreeBSD/PowerPC U-Boot bootstrap loader, Revision 2.1 (marcelm@apg-bbuild01.juniper.net, Wed Feb 6 11:23:55 PST 2008) Memory: 1024MB Loading /boot/defaults/loader.conf /kernel data=0x9dc348+0x6df44 syms=[0x4+0x87bb0+0x4+0x8e152]
Hit [Enter] to boot immediately, or space bar for command prompt. <-------HIT SPACE BAR-------
Type '?' for a list of commands, 'help' for more detailed help. loader> loader> set ipaddr=192.168.100.2 loader> set netmask=255.255.255.0 loader> set serverip=192.168.100.1 loader> install tftp://192.168.100.1/jinstall-ex-9.1R2.7-domestic-signed.tgz Speed: 100, full duplex Package /jinstall-ex-9.1R2.7-domestic-signed.tgz is signed... /kernel data=0x504104+0x32e60 syms=[0x4+0x50a00+0x4+0x6366f] Kernel entry at 0xa0000100 ... GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1996-2008, Juniper Networks, Inc. All rights reserved. Copyright (c) 1992-2006 The FreeBSD Project. ... snip ...
==============================================
或参考KB11752 - Installing EX-Series software from a TFTP server from Loader prompt OR Recovering from a Failed Software Upgrade on an EX Series Switch.
方法二、USB方式恢复交换机
步骤一、将需要安装的Junos软件copy至U盘根目录下; 步骤二、用console连接交换机,并对设备进行加电;
# When you see the \
Then press [Enter] to boot immediately, or space bar for command prompt.
Hit the space bar to enter the manual loader. The loader > prompt displays.
(NOTE: There is a 1 second delay for hitting the space (TIPS: you can hit space bar after you see \
bar)
步骤三、输入install file:///jinstall-ex-3200-10.0S1.1-domestic-signed.tgz
注:交换机将从U盘进行安装;
或参考KB10386 - Boot from USB and Recovering from a Failed Software Upgrade on an EX-series Switch
OR Booting an EX Series Switch Using a Software Package Stored on a USB Flash Drive
3 系统进入Debug模式解决办法
步骤一,在db>模式下输入以下命令收集相关信息: db> db> db> db> db> db> db>
db> show uma
x/s
version
alltrace
ps allvms msgbuf registers
lock
show show show show
步骤二,完成以上步骤后,输入cont db> cont
Do you get the CLI prompt? No - Continue with 步骤三. Yes - Jump to 步骤四.
步骤三,重启交换机,从loader模式进行恢复;如果交换机无法进入loader模式,请开case进行处理或采用install format方式解决;
步骤四,在cli下用show system core-dumps看是否存在core-dump文件,如果有的话,可先进入shell模式层下,然后进入/var/core-dumps directory目录下,将文件上传至FTP服务器;
或参考KB20635 - While booting up, switch stuck in db> mode
4 系统进入UBoot模式解决办法
按照以下三个步骤进行操作:
1. 在UBoot模式输入reset重启交换机; 2. Break启动顺序进入loader>模式
# When you see the \
Then press [Enter] to boot immediately, or space bar for command prompt.
Hit the space bar to enter the manual loader. The loader > prompt displays.
(NOTE: There is a 1 second delay for hitting the space (TIPS: you can hit space bar after you see \3. 然后按照方法一中的Loader模式进行处理;
bar)
5 系统能正常启动,但其它各系统进程无法加载的解决方法
设备启动后存在以下报错
root@GZ-EX4200-1> show chassis alarms no-forwarding
error: the alarm-control subsystem is not running
root@GZ-EX4200-1> show chassis hardware detail no-forwarding error: the chassis-control subsystem is not running
1. 对于10.4R3以前的版本,可按照Loader模式的方法进行处理;
2. 对于10.4R3之后的版本,存在双分区双系统,而Junos loader默认是用disk99,
如果这个分区的系统坏了之后,会一直卡着Loader>模式;
步骤一,设备加电后,输入以下命令;
=> setenv loaddev disk99:
=> reset
步骤二,在JunOS loader模式下选择从internal NAND flash 启动Junos loader> set currdev=disk0:
步骤三,在shell模式删除以下文件;
# ls -al /boot/loader.conf.local
步骤四,Revert the change made in step one: # nvram unsetenv loaddev 步骤五,Reboot
6 Can't load kernel error解决办法
如果设备重启后,一直显示以下错误: can't load '/kernel' can't load '/kernel.old' 可参照DB模式进行恢复;
7 Junos在备用分区启动(KB23180)
开机提示:
Warning:**************************************************************************************** ** **
** WARNING: THIS DEVICE HAS BOOTED FROM THE BACKUP JUNOS IMAGE ** ** **
** It is possible that the primary copy of JUNOS failed to boot up ** ** properly, and so this device has booted from the backup copy. ** ** **
** Please re-install JUNOS to recover the primary copy in case ** ** it has been corrupted. ** ** **
***************************************************************************************
设备告警信息:
user@switch> show chassis alarms