How to Upgrade or Downgrade NX-OS on Cisco Nexus Switch

Introduction:

Upgrading the NX-OS software on Cisco Nexus switches is an important task to keep your network safe, stable, and up to date. Whether you want new features or need to fix problems, upgrading must be done carefully to avoid any issues. In this post, I will guide you step-by-step on how to upgrade NX-OS using a USB drive.

Current NX-OS Version: nxos.9.3.3.bin
Target NX-OS Version: nxos.9.3.11.bin

Prerequisites:

Before starting the upgrade, ensure you meet the following requirements and prepare carefully to avoid issues:

  • Backup Configuration: Back up your running configuration to both startup-config and an external USB drive.
  • Pre-Upgrade Baseline Commands:
    Run all necessary show commands to capture the current switch status, then save the outputs into text files on your PC.
    Example commands:
    show version
    show module
    show interface status
    show tech-support
    This baseline will help you compare the switch’s state before and after the upgrade to verify success and help troubleshooting if needed.
  • Console Access: Always perform upgrades through a console connection. Upgrades will cause the switch to reload and disconnect remote sessions.
  • Check Bootflash Space:
    Ensure there is enough free space in the bootflash to store the new NX-OS image. If space is low and multiple unused firmware images exist, delete the old or unused firmware files to free up space.
  • Upgrade Path Validation: Check the Cisco ISSU Support Matrix to confirm if a direct upgrade is possible or if intermediate upgrades are required.
  • NX-OS Image: Download the NX-OS image from Cisco’s official software portal.
  • USB Stick Requirements and Detection:
    Use a FAT32-formatted USB stick with a maximum size of 8 GB, as larger drives may not be supported or detected by Nexus switches. If the USB stick(8 Gb) is not detected by the switch follow the below steps:
    1. Insert the USB stick into the Nexus switch.
    2. Run format usb1: to format the USB directly from the switch.
    3. Remove the USB, connect it to your PC, and copy the NX-OS image onto it.
    4. Reinsert the USB into the switch and verify that it’s detected before continuing.
  • Licensing: Verify your device has valid licenses for all features you intend to use with the new NX-OS version.
  • Maintenance Window: Inform users and plan for a maintenance window, as the switch will reload and cause network downtime.

Optional: Use Upgrade Command Generator

Before starting the upgrade, you can use this tool to generate the exact upgrade commands based on your firmware. This helps prevent syntax mistakes and ensures accuracy.

Click here to open the NX-OS Upgrade Command Generator.

NX-OS Upgrade Steps:

Step 1: Take Configuration Backup

copy running-config startup-config
show running-config
show version
show module
show interface status
show tech-support

Step 2: Verify Current Version and Upgrade Path

show version
 switch# show version | i version
Nexus 9000v is a demo version of the Nexus Operating System
  BIOS: version
 NXOS: version 9.3(3)
  System version:
switch#

Refer to the Cisco ISSU Support Matrix to validate direct upgrade compatibility. If an intermediate version is needed, upgrade to it first.

Step 3: Download NX-OS Image

  • Download nxos.9.3.11.bin or your target image from Cisco's official site.
  • Copy the image file to a FAT32-formatted USB stick.

Step 4: Insert USB and Copy Image to Bootflash

Insert USB into the switch and verify detection:

dir usb1:
 
switch# dir usb1:
 1978203648    May 09 15:10:30 2025  nxos.9.3.11.bin
 

Copy the image file to bootflash:

copy usb1:nxos.9.3.11.bin bootflash:

Cisco Nexus software files are very large (about 1 to 2 GB). If you upload them to the switch using TFTP, it can take 5 to 8 hours. If you don’t plan enough time for this, you might need to change your maintenance schedule.

The best solution: Use a FAT32-formatted USB stick with a maximum size of 8 GB to copy the software to the switch. This method is much faster and usually takes only 5 to 10 minutes.

Some Nexus switches also support 16 GB USB sticks.

switch# copy usb1:nxos.9.3.11.bin bootflash:
Copy complete, now saving to disk (please wait)...
Copy complete.
switch#

Confirm the image file exists:

dir bootflash:
switch# dir bootflash:
       4096    May 05 06:13:01 2025  .rpmstore/
       4096    May 05 06:13:40 2025  .swtam/
     425800    May 05 06:28:11 2025  20250505_061748_poap_2056_init.log
       1666    May 05 06:35:52 2025  20250505_063524_poap_1886_init.log
          0    May 05 06:13:27 2025  bootflash_sync_list
       4096    May 05 06:13:48 2025  eem_snapshots/
       4096    May 05 06:13:39 2025  evt_log_snapshot/
 1978203648    May 09 17:11:42 2025  nxos.9.3.11.bin
 1961096192    Feb 04 09:19:06 2022  nxos.9.3.9.bin
          0    May 05 06:36:29 2025  platform-sdk.cmd
       2162    May 05 06:28:07 2025  poap_retry_debugs.log
       4096    May 05 06:15:10 2025  scripts/
     241526    May 05 06:35:37 2025  ts-pack-pnp.ts
       4096    May 05 06:14:38 2025  virtual-instance/

Usage for bootflash://
 3959803904 bytes used
  294014976 bytes free
 4253818880 bytes total
switch# 

Step 5: Verify MD5 Checksum

Validate image integrity by verifying the MD5 hash:

show file bootflash:nxos.9.3.11.bin md5sum
switch# show file bootflash:nxos.9.3.11.bin md5sum
2e63c5a88b9b2771076b530ea5ed3578
switch# 

Compare this value with the hash listed on Cisco’s download page.

Step 6: Check for Software Incompatibilities

show incompatibility-all nxos bootflash:nxos.9.3.11.bin

Purpose: Checks if there are any incompatible features, configurations, or hardware modules with the target NX-OS image before installing it.

What it looks for:

  • Unsupported features in the new version
  • Incompatible hardware (e.g., line cards or supervisor modules)
  • Modules that will not function under the new software

Why it's important: Running this prevents you from starting an upgrade that might break essential services or make some hardware unusable.

switch# show incompatibility-all nxos bootflash:nxos.9.3.11.bin
Checking incompatible configuration(s) for vdc 'switch':
--------------------------------------------------------
No incompatible configurations

Checking dynamic incompatibilities:
-----------------------------------
No incompatible configurations
switch#

Step 7: Perform Impact Analysis

Run a pre-installation check to understand what will happen during the upgrade:

show install all impact nxos bootflash:nxos.9.3.11.bin

Purpose: Performs a dry run of the upgrade. It tells you what will happen during the installation process without actually upgrading.

It shows:

  • Whether a reload is required
  • Which modules will be reloaded
  • Service interruptions or ISSU (In-Service Software Upgrade) support

Why it's important: Helps you understand the upgrade impact on the system (especially in production) and whether a reload is necessary.

switch# show install all impact nxos bootflash:nxos.9.3.11.bin
Installer will perform impact only check. Please wait.

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

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

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

Preparing "nxos" version info using image bootflash:/nxos.9.3.11.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
    27       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       lcn9k                                    9.3(9)               9.3(11)           yes
     1        bios                                                                            no
    27        nxos                                    9.3(9)               9.3(11)           yes
    27        bios                                                                            no


switch#

Step 8: Start the Installation

Execute the upgrade:

install all nxos bootflash:nxos.9.3.11.bin
switch# install all nxos bootflash:nxos.9.3.11.bin
Installer will perform compatibility check first. Please wait.
Installer is forced disruptive

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

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

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

Preparing "nxos" version info using image bootflash:/nxos.9.3.11.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
    27       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       lcn9k                                    9.3(9)               9.3(11)           yes
     1        bios                                                                            no
    27        nxos                                    9.3(9)               9.3(11)           yes
    27        bios                                                                            no


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

Module 27: 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.
switch# [26571.485956] sysrq: SysRq : Resetting

switch#

The switch will reload. Monitor the process through console access to prevent loss of visibility.

Step 9: Confirm the Upgrade

After the reload:

  • Verify the new NX-OS version:
    switch# sh version | i version
    Nexus 9000v is a demo version of the Nexus Operating System
      BIOS: version
     NXOS: version 9.3(11)
      System version:
  • Ensure correct boot path:
    switch# sh boot
    Current Boot Variables:
    sup-1
    NXOS variable = bootflash:/nxos.9.3.11.bin
    Boot POAP Disabled
    
    Boot Variables on next reload:
    sup-1
    NXOS variable = bootflash:/nxos.9.3.11.bin
    Boot POAP Disabled
    switch#
NX-OS upgrade output:
switch# dir bootflash:
       4096    May 05 06:13:01 2025  .rpmstore/
       4096    May 05 06:13:40 2025  .swtam/
     425800    May 05 06:28:11 2025  20250505_061748_poap_2056_init.log
       1666    May 05 06:35:52 2025  20250505_063524_poap_1886_init.log
          0    May 05 06:13:27 2025  bootflash_sync_list
       4096    May 05 06:13:48 2025  eem_snapshots/
       4096    May 05 06:13:39 2025  evt_log_snapshot/
 1961096192    Feb 04 09:19:06 2022  nxos.9.3.9.bin
          0    May 05 06:36:29 2025  platform-sdk.cmd
       2162    May 05 06:28:07 2025  poap_retry_debugs.log
       4096    May 05 06:15:10 2025  scripts/
     241526    May 05 06:35:37 2025  ts-pack-pnp.ts
       4096    May 05 06:14:38 2025  virtual-instance/

Usage for bootflash://
 1979662336 bytes used
 2274156544 bytes free
 4253818880 bytes total

switch# copy usb1:nxos.9.3.11.bin bootflash:
Copy complete, now saving to disk (please wait)...
Copy complete.
switch#
switch# dir bootflash:
       4096    May 05 06:13:01 2025  .rpmstore/
       4096    May 05 06:13:40 2025  .swtam/
     425800    May 05 06:28:11 2025  20250505_061748_poap_2056_init.log
       1666    May 05 06:35:52 2025  20250505_063524_poap_1886_init.log
          0    May 05 06:13:27 2025  bootflash_sync_list
       4096    May 05 06:13:48 2025  eem_snapshots/
       4096    May 05 06:13:39 2025  evt_log_snapshot/
 1978203648    May 09 17:11:42 2025  nxos.9.3.11.bin
 1961096192    Feb 04 09:19:06 2022  nxos.9.3.9.bin
          0    May 05 06:36:29 2025  platform-sdk.cmd
       2162    May 05 06:28:07 2025  poap_retry_debugs.log
       4096    May 05 06:15:10 2025  scripts/
     241526    May 05 06:35:37 2025  ts-pack-pnp.ts
       4096    May 05 06:14:38 2025  virtual-instance/

Usage for bootflash://
 3959803904 bytes used
  294014976 bytes free
 4253818880 bytes total
switch# 
switch# dir bootflash: | i nxos.9.3.11.bin
 1978203648    May 09 17:11:42 2025  nxos.9.3.11.bin
switch# show file bootflash:nxos.9.3.11.bin md5sum
2e63c5a88b9b2771076b530ea5ed3578
switch#
switch#
switch#
switch# show incompatibility-all nxos bootflash:nxos.9.3.11.bin
Checking incompatible configuration(s) for vdc 'switch':
--------------------------------------------------------
No incompatible configurations

Checking dynamic incompatibilities:
-----------------------------------
No incompatible configurations
switch#
switch# show install all impact nxos bootflash:nxos.9.3.11.bin
Installer will perform impact only check. Please wait.

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

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

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

Preparing "nxos" version info using image bootflash:/nxos.9.3.11.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
    27       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       lcn9k                                    9.3(9)               9.3(11)           yes
     1        bios                                                                            no
    27        nxos                                    9.3(9)               9.3(11)           yes
    27        bios                                                                            no


switch#
switch# install all nxos bootflash:nxos.9.3.11.bin
Installer will perform compatibility check first. Please wait.
Installer is forced disruptive

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

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

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

Preparing "nxos" version info using image bootflash:/nxos.9.3.11.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
    27       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       lcn9k                                    9.3(9)               9.3(11)           yes
     1        bios                                                                            no
    27        nxos                                    9.3(9)               9.3(11)           yes
    27        bios                                                                            no


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

Module 27: 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.
switch# [26571.485956] sysrq: SysRq : Resetting

switch#
switch# sh boot
Current Boot Variables:
sup-1
NXOS variable = bootflash:/nxos.9.3.11.bin
Boot POAP Disabled

Boot Variables on next reload:
sup-1
NXOS variable = bootflash:/nxos.9.3.11.bin
Boot POAP Disabled
switch# sh version | i version
Nexus 9000v is a demo version of the Nexus Operating System
  BIOS: version
 NXOS: version 9.3(11)
  System version:
  

Optional: Downgrade Procedure

If the upgraded NX-OS version (nxos.9.3.11.bin) causes issues, you can revert back to the previously installed image nxos.9.3.3.bin (already available in bootflash:).

Step: Start Downgrade

install all nxos bootflash:nxos.9.3.3.bin

The switch will reload. It’s recommended to monitor this through a console session to track progress and detect any errors.

Post-Downgrade Verification

  • Check NX-OS version:
    show version
  • Check installed modules and enabled features:
    show module
    show feature
  • Verify boot image configuration:
    show boot

Conclusion:

Upgrading NX-OS on a Nexus switch might seem a bit complex, but if you follow the steps carefully, it becomes much easier and safer. Make sure to check compatibility, back up your configuration, and run all the necessary checks before starting. Taking the time to prepare properly helps you avoid problems and makes sure the upgrade goes smoothly.

If you have any questions or face issues during the upgrade, feel free to leave a comment and I’ll be happy to help.

Post a Comment

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.