Cisco Catalyst 9000 Switch Upgrade [Install Mode]
The following steps are valid for these Catalyst switch models According to Cisco documentation.
Step 1: Download the Catalyst 9K IOS-XE image from Cisco Site.
Step 2: Verify the current system version
Switch#show install summary
[ R0 R1 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 16.11.1.0.312
Step 3: Copy the new .bin file onto the switch
You can Copy the new .bin file onto the switch using TFTP or USB.
Switch#copy usbflash0:/cat9k_iosxe.16.12.01.SPA.bin flash:/
Step 4: Set the boot variable:
conf t
no boot sys
boot sys bootflash:packages.conf
end
wr
Step 5: Install the new image and activate it:
The installation can be done in one line:
install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin activate commit
but, you can break this step into 3 steps:
- Add the new version to the list of versions
- Install Activate
- Install commit
1- Add the new version to the list of versions:
install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin
Verify:
Switch#show install summary
[ R0 R1 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG I 16.12.1.0.544 <-- Installed but still Inactive (I)
IMG C 16.11.1.0.312
Switch#dir | inc .pkg
"" snip ""
456963 -rw- 14222344 Sep 13 2019 17:05:35 +00:00 cat9k-cc_srdriver.16.12.01.SPA.pkg
456964 -rw- 88892420 Sep 13 2019 17:05:35 +00:00 cat9k-espbase.16.12.01.SPA.pkg
473282 -rw- 1684484 Sep 13 2019 17:05:35 +00:00 cat9k-guestshell.16.12.01.SPA.pkg
473283 -rw- 535475200 Sep 13 2019 17:05:35 +00:00 cat9k-rpbase.16.12.01.SPA.pkg
473289 -rw- 43111714 Sep 13 2019 17:06:00 +00:00 cat9k-rpboot.16.12.01.SPA.pkg
473284 -rw- 31425540 Sep 13 2019 17:05:35 +00:00 cat9k-sipbase.16.12.01.SPA.pkg
473285 -rw- 60183552 Sep 13 2019 17:05:35 +00:00 cat9k-sipspa.16.12.01.SPA.pkg
473286 -rw- 22676484 Sep 13 2019 17:05:35 +00:00 cat9k-srdriver.16.12.01.SPA.pkg
473287 -rw- 12854272 Sep 13 2019 17:05:35 +00:00 cat9k-webui.16.12.01.SPA.pkg
473288 -rw- 9216 Sep 13 2019 17:05:35 +00:00 cat9k-wlc.16.12.01.SPA.pkg
2- Install Activate
The next step is to activate the new version. This means reloading the sup will load the new version. This edits the .conf file to point to the new .pkg files
install activate
This operation may require a reload of the system. Do you want to proceed? [y/n]
y
Switch#show install sum
[ R0 R1 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG U 16.12.1.0.544
- At this step, the new version is activated but not committed, it means that the rollback timer is still on, and can go back to the initial version from this stage.
- If an upgrade takes too long, the switch assumes something went wrong and it goes ahead and aborts the upgrade. The default timer is 120 minutes, but you can stop the timer manually if you need to.
install auto-abort-timer stop
- You can set the rollback timer when you do the activate step
Switch#install activate auto-abort-timer ? <30-1200> Number of minutes the abort-timer is set for
Check for available rollbacks:
Switch#show install rollback
ID Label Description
-----------------------------------------------
2 No Label No Description
1 16_11_01 No Description
If you now want to perform the rollback, you just need to run the rollback command:
install rollback to id 1
3- Install Commit:
To stop the rollback timer and finish the upgrade process, add “install commit” command:
install commit
You can check what package files the .conf file is pointed to before you do a reload to ensure it is pointed to the right ones.
Switch#more packages.conf
#! /usr/binos/bin/packages_conf.sh
<...snip...>
# This is for CAT9k
boot rp 0 0 rp_boot cat9k-rpboot.16.11.01.SPA.pkg
iso rp 0 0 rp_base cat9k-rpbase.16.11.01.SPA.pkg
iso rp 0 0 rp_daemons cat9k-rpbase.16.11.01.SPA.pkg
iso rp 0 0 rp_iosd cat9k-rpbase.16.11.01.SPA.pkg
iso rp 0 0 rp_security cat9k-rpbase.16.11.01.SPA.pkg
iso rp 0 0 rp_wlc cat9k-wlc.16.11.01.SPA.pkg
iso rp 0 0 rp_webui cat9k-webui.16.11.01.SPA.pkg
iso rp 0 0 srdriver cat9k-srdriver.16.11.01.SPA.pkg
iso rp 0 0 guestshell cat9k-guestshell.16.11.01.SPA.pkg
<...snip...>
Step 6: Verify version after reload:
Switch#show version
Step 7: The Cleanup
- Verify the new package:
Switch#dir flash:*.pkg
- Once you are done with an upgrade, you have the option to clean up all the files you do not need by removal of all inactive files. It looks at the current loaded .pkg files and removes everything else.
install remove inactive