How to upgrade a Cisco MDS SAN switch

After a few years of not having had to perform switch upgrades, I had to perform a few firmware upgrades on MDS switches. I decided to write down the steps I had to take:

  • First make sure you have a reachable ftp server somewhere and write down its ip address
  • Log on to the Cisco MDS SAN switch you need to upgrade
  • Make sure the bootflash: has enough available space to hold the 2 new files

# dir bootflash:

4096 Feb 23 14:58:04 2020 lost+found/
26049024 Feb 10 12:57:55 2020 m9100-s5ek9-kickstart-mz.8.3.2.bin
121121564 Feb 10 12:56:47 2020 m9100-s5ek9-mz.8.3.2.bin

Usage for bootflash://sup-local
463962112 bytes used
2894815232 bytes free
3358777344 bytes total

  • Delete any unwanted files by typing

del bootflash:unwantedfile.bin

  • Now copy the new files to the bootflash

copy ftp: bootflash:

  • You will be asked about
    • the name of the file
    • the ftp’s server ip address
    • the credentials
  • To upgrade a Cisco MDS 9148S switch you’ll need the following files (example):


  • Check the health of the switch:

Environment “sh en”
Hardware “sh ha”
Logging “sh log last 50”

  • Perform an impact analysis:

show install all impact system bootflash:///m9100-s5ek9-mz.8.4.1a.bin kickstart bootflash:///m9100-s5ek9-kickstart-mz.8.4.1a.bin

  • This analysis will show you whether or not an upgrade will be disruptive for specific servies like FC, FCIP or whatever is reported.
  • If you have some sort of monitoring in place, remember that upgrading anything that has an ethernet connection on a SAN switch, will be disrupted for a minute or so. Fibre Channel will mostly not be affected, but IP (like interface mgmt0 or any FCIP ports) will be affected.
  • Now let’s actually upgrade the switch:

install all system m9100-s5ek9-mz.8.4.1a.bin kickstart m9100-s5ek9-kickstart-mz.8.4.1a.bin

  • After the initial unpacking is done, an analysis is performed and you’ll be asked whether you want to continue:

Compatibility check is done:
Module bootable Impact Install-type Reason
—— ——– ————– ———— ——
1 yes non-disruptive reset

Other miscellaneous information for installation:
Module info
—— ———————————-
1 FC ports 1-48 are hitless

Images will be upgraded according to following table:
Module Image Running-Version(pri:alt) New-Version Upg-Required
—— ———- —————————————- ——————– ————
1 system 8.3(2) 8.4(1a) yes
1 kickstart 8.3(2) 8.4(1a) yes
1 bios v2.1.17(01/08/14):v2.1.17(01/08/14) v2.1.17(01/08/14) no


Do you want to continue with the installation (y/n)? [n]

  • After answering “Y”, the switch will continue and eventually reload the IP stack (FC will not be affeced most of the upgrades). You will loose the CLI. Simply reconnect after a minute or so and check whether the upgrade was successful:

FC01# sh ver

Cisco Nexus Operating System (NX-OS) Software
TAC support:
Copyright (c) 2002-2019, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained herein are owned by
other third parties and are used and distributed under license.
Some parts of this software are covered under the GNU Public
License. A copy of the license is available at

BIOS: version 2.1.17
loader: version N/A
kickstart: version 8.4(1a)
system: version 8.4(1a)
BIOS compile time: 01/08/14
kickstart image file is: bootflash:///m9100-s5ek9-kickstart-mz.8.4.1a.bin
kickstart compile time: 10/31/2019 12:00:00 [11/30/2019 20:10:59]
system image file is: bootflash:///m9100-s5ek9-mz.8.4.1a.bin
system compile time: 10/31/2019 12:00:00 [11/30/2019 21:37:48]

cisco MDS 9148S 16G 48 FC (1 Slot) Chassis (“2/4/8/16 Gbps FC/Supervisor”)
Motorola, e500v2 with 4088636 kB of memory.
Processor Board ID JAE202103DE

Device name: FC01
bootflash: 4001760 kB

Kernel uptime is 0 day(s), 0 hour(s), 41 minute(s), 45 second(s)

Last reset at 806656 usecs after Tue Dec 15 12:38:16 2020
Reason: Reset due to upgrade
System version: 8.3(2)

Core Plugin

As you can see the “show version” command reports that we just upgraded to version 8.4(1a) and that the previous version was 8.3(2).

Would you like to comment on this post?

This site uses Akismet to reduce spam. Learn how your comment data is processed.