Skip to main content
  1. Posts/

Upgrading a Cisco Nexus 9000 Series Switch

·1292 words·7 mins
muffn_
Author
muffn_
🐶
Table of Contents

Intro
#

This post will be a simple guide on how to upgrade your Cisco Nexus 9000 switch.

Step 1: Connect To Your Device & Version Checking
#

You need to connect to your Nexus device, obviously. The best way to do this is via a direct console connection, however, if you’re like me and doing this remotely then you can do this via SSH.

Upgrading remotely in production can be dangerous.

Whilst you should be fine doing this remotely, it is recommended to do this in person if possible in case something doesn’t go to plan. I am doing this on a pair of switches with HSRP and EIGRP, so it isn’t the end of the world if one of them goes down; just a waste of my time to have to visit the datacenter.

Once you are connected running a sh ver in the terminal will show you the current firmware on the device.

Software
  BIOS: version 05.28
  NXOS: version 7.0(3)I7(3)
  BIOS compile time:  01/18/2018
  NXOS image file is: bootflash:///nxos.7.0.3.I7.3.bin
  NXOS compile time:  2/12/2018 13:00:00 [02/12/2018 19:13:48]


Hardware
  cisco Nexus9000 C93180YC-FX Chassis
  Intel(R) Xeon(R) CPU D-1528 @ 1.90GHz with 24571020 kB of memory.
  Processor Board ID <REDACTED>

  Device name: <REDACTED>
  bootflash:  115805708 kB
Kernel uptime is 722 day(s), 3 hour(s), 15 minute(s), 40 second(s)

As you can see, here I am running nxos.7.0.3.I7.3. My plan is to upgrade to the latest version on the 7.x train as this is fully supported and I do not require any of the features in 9.x or 10.x. It is much safer to upgrade on your current train, especially if you’re doing this remotely.

With that taken into account, find the firmware you want and download it. I will be upgrading to 7.0(3)I7(10) which at the time of writing is the latest on the 7.x train.

Step 2: Pushing Software
#

Pushing the software is an easy affair and can be done in many ways, these include: via USB, SCP, SFTP, TFTP.

First we need to check how much space we have on our flash. To do this we can run the following:

dir bootflash: | b Usage

For which I get the following, which after a quick Google conversion is about 110GB free, plenty for my 1GB software upgrade.

Usage for bootflash://sup-local
 5268381696 bytes used
111455047680 bytes free
116723429376 bytes total

I am used to using TFTP, however, I have noticed on these Nexus devices TFTP is extremely slow, so I have started using SCP/SFTP and advise you do to.

SFTP/SCP/TFTP
#

For SCP/SFTP, you can utilise a free tool from Solarwinds called Solarwinds SFTP/SCP Server. For TFTP I have historically used TFTPD.

Point the server at the directory with the software, add a user account or disable authentication and then head over to your Nexus and run:

copy scp: bootflash:

You can replace SCP here with SFTP or TFTP, once you press enter you will be asked a few questions like the following, and your software should pull into bootflash: like so:

copy scp: bootflash:
Enter source filename: nxos.7.0.3.I7.10.bin
Enter vrf (If no input, current vrf 'default' is considered):
Enter hostname for the scp server: <REDACTED>
Enter username:
<REDACTED>@<REDACTED>'s password:
nxos.7.0.3.I7.10.bin                                                                                                                                                                                                                                                                                      100%  940MB   1.6MB/s   09:57
Copy complete, now saving to disk (please wait)...
Copy complete.

USB
#

USB is simple and pretty much the same as above. Ensure you have a FAT/FAT32 formatted USB and put the software on the root. You should see a console message showing which USB it is connected to, you can then simply run:

copy usb: bootflash:

Then just follow the prompts and the copy will start, this is by far the quickest way if you can.

Checks
#

After doing one of the above options, check if the software is on the device by running the following:

dir bootflash:

You should see how new image on the bootflash. We can now proceed.

Step 3: Run Pre-checks
#

Now the software has been pushed to the device, we need to run an impact check that will run through a few things to check the software before upgrading. Run the following command replacing with the filename that you plan to upgrade to:

show install all impact nxos bootflash:<NXOS VERSION>

Running that will hopefully look something like the following:

show install all impact nxos bootflash:nxos.7.0.3.I7.10.bin
Installer will perform impact only check. Please wait.

Verifying image bootflash:/nxos.7.0.3.I7.10.bin for boot variable "nxos".
[####################] 100% -- SUCCESS

Verifying image type.
[####################] 100% -- SUCCESS

Preparing "nxos" version info using image bootflash:/nxos.7.0.3.I7.10.bin.
[####################] 100% -- SUCCESS

Preparing "bios" version info using image bootflash:/nxos.7.0.3.I7.10.bin.
[####################] 100% -- SUCCESS

Performing module support checks.
[####################] 100% -- SUCCESS

Notifying services about system upgrade.
[####################] 100% -- SUCCESS



Compatibility check is done:
Module  bootable          Impact  Install-type  Reason
------ -------- -------------- ------------ ------
     1       yes      disruptive         reset  default upgrade is not hitless



Images will be upgraded according to following table:
Module       Image                  Running-Version(pri:alt)           New-Version  Upg-Required
------ ---------- ---------------------------------------- -------------------- ------------
     1        nxos                               7.0(3)I7(3)          7.0(3)I7(10)           yes
     1        bios     v05.28(01/18/2018):v05.28(01/18/2018)    v05.38(06/12/2019)           yes

As you can see from the above, the checks succeeded so we can continue. If this check does not succeed for you, troubleshoot.

Notice that the impact of this upgrade is shown as being disruptive. This will require a switch reboot so be aware of this.

Step 4: Running The Software Upgrade
#

A disruptive upgrade will reboot your switch - plan for this before continuing.

Before continuing, ensure that you have committed your config! So run copy running-config startup-config and then continue.

To run the upgrade, we run the previous command changing it ever so slightly. This will rerun through what we just did but actually start the upgrade itself afterwards instead of just doing the compatibility check. To start the upgrade, run the following:

install all nxos bootflash:<NXOS VERSION>

You will see the same output as before, but with the upgrade taking place after a prompt. After pressing Y the Nexus will upgrade and automatically reboot afterwards.

install all nxos bootflash::nxos.7.0.3.I7.10.bin
Compatibility check is done:
Module  bootable          Impact  Install-type  Reason
------ -------- -------------- ------------ ------
     1       yes      disruptive         reset  default upgrade is not hitless



Images will be upgraded according to following table:
Module       Image                  Running-Version(pri:alt)           New-Version  Upg-Required
------ ---------- ---------------------------------------- -------------------- ------------
     1        nxos                               7.0(3)I7(3)          7.0(3)I7(10)           yes
     1        bios     v05.28(01/18/2018):v05.28(01/18/2018)    v05.38(06/12/2019)           yes


Switch will be reloaded for disruptive upgrade.
Do you want to continue with the installation (y/n)?  [n] y


Install is in progress, please wait.

Performing runtime checks.
[####################] 100% -- SUCCESS

Setting boot variables.
[####################] 100% -- SUCCESS

Performing configuration copy.
[####################] 100% -- SUCCESS

Module 1: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% -- SUCCESS


Finishing the upgrade, switch will reboot in 10 seconds.

If you are connected via console, you will see at bootup which image the Nexus is booting from, if not like me, just sit, wait, and pray.

Step 5: Checking The Software
#

Once your Nexus has (hopefully) come back online, we can go ahead and check the software version like we did in step one with sh ver.

Software
  BIOS: version 05.38
  NXOS: version 7.0(3)I7(10)
  BIOS compile time:  06/12/2019
  NXOS image file is: bootflash:///nxos.7.0.3.I7.10.bin
  NXOS compile time:  8/20/2021 6:00:00 [08/20/2021 08:16:06]


Hardware
  cisco Nexus9000 C93180YC-FX Chassis
  Intel(R) Xeon(R) CPU D-1528 @ 1.90GHz with 24571108 kB of memory.
  Processor Board ID <REDACTED>

  Device name: <REDACTED>
  bootflash:  115805708 kB
Kernel uptime is 0 day(s), 0 hour(s), 2 minute(s), 42 second(s)

Last reset at 752718 usecs after <REDACTED>
  Reason: Reset due to upgrade
  System version: 7.0(3)I7(3)
  Service:

And that’s it! We can see here that the NXOS image is running the target version we wanted.

You can now celebrate with a beer. Hope this helped you, Muffin~~