Fixing A Juniper Switch That Was Shut Down Improperly
Juniper switches need to be shut down properly, not just powered off. They're Unix-based, and Unix does not like being shut down improperly.
OS Primary Partition Corruption
You will know when you have a switch that has been shut down improperly. There will be an amber light on the chassis, and this alarm on the console:
user@switch> show chassis alarms 1 alarms currently active Alarm time Class Description 2014-01-26 10:48:49 EST Minor Host 0 Boot from backup root
As well as this banner:
*********************************************************************** ** ** ** 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. ** ** ** ***********************************************************************
When installing the OS, a Juniper device makes two copies of the OS. One is a backup, in case the primary was not unmounted cleanly at shutdown (or just powered off).
To copy the backup image over top of the primary image:
request system snapshot media internal slice alternate
Note that using this command will only repair the OS; it won't clear the alarm.
Verify with the command:
show system storage partitions
You will get output like this:
Boot Media: internal (da0) Active Partition: da0s1a Backup Partition: da0s2a Currently booted from: backup (da0s2a)
Note the "Currently booted from: backup" line.
Once the snapshot is done, the switch must be rebooted to clear the alarm. Normally, a Juniper will boot the last-known-good copy of the OS. It must be forced to use the primary.
request system reboot slice alternate media internal
SSH Issue
Sometimes, SSH will also fail after an improper shutdown. When trying to SSH to the switch, you will see this:
user@COREBOX-re0> ssh 192.168.1.2 ssh_exchange_identification: Connection closed by remote host
To fix this:
start shell user root cd /var mkdir empty exit
Then you have two options: reboot the switch or restart SSH.
To restart SSH:
configure private deactivate system services ssh commit rollback 1 commit