Brocade firmware upgrade via the CLI

Brocade DS-300BA Brocade firmware upgrade once in a while is highly recommended: new releases usually squash bugs and add new features, which helps with a stable and efficient SAN infrastructure. The upgrade process itself is relatively straightforward if you keep in mind that you can only non-disruptively upgrade one major release at a time. With that knowledge you only need a FTP server (like Filezilla), SSH client (PuTTY), the upgrade packages and some patience.

Upgrade paths

Beware: the recommended upgrade path for Brocade switches is to incrementally jump from one major release to the next. In fact, this is often the only way to non-disruptively perform the upgrade. For example: if you want to upgrade from FOS 7.1 to 7.4 on a DS-300B, you will have to jump from 7.1 to 7.2, then from 7.2 to 7.3 and finally from 7.3 to 7.4. This means three upgrades in a row.

Brocade firmware upgrade software extractionMake sure you stick to the target releases in each major version. At the time of writing this post, those were 7.2.1g, 7.3.1e and 7.4.1d for the DS-300B switches. Download the upgrade files and extract them: don’t make the same mistake as me and try to refer to the zip file ūüôā You should end up with a folder¬†with¬†the FOS version number and a lot of subfolders. This is the folder you’ll specify¬†in the Brocade firmware upgrade CLI command.

The actual upgrade process

For the actual Brocade firmware upgrade, open an SSH session to the switch. We’ll be primarily¬†using the firmwaredownload and firmwareshow commands.

Start with the firmwaredownload command. It will interactively query you for the following information:

  • IP address or DNS name of the FTP server. If available, use an IP address to avoid DNS resolving issues (for those switches that lack a nameserver configuration).
  • The username to access the FTP server.
  • The filename. This is a bit misleading since they actually mean the folder name or path; this is for example the v7.2.1g folder on the FTP.
  • Connection type: 1 = autoselect, 2 = FTP, etc.
  • The password that goes with the username.

After entering all the details the switch will open a connection to the FTP server and download some pre-install files. After a couple of seconds it will display the impact of the upgrade, which could be loss of features such as Fabric Watch or cryptographic changes. It will also indicate whether it will be a warm restart, non-disruptive firmware update or a disruptive update.

You’ll have the option to either confirm the upgrade or to cancel it. After confirming by pressing¬†Y, the setup will start downloading files from the FTP. On the DS-300B switches this took approximately 5-10 minutes, but your mileage may vary…

Brocade FOS upgrade

After all the files have been downloaded the management portion of the switch will reboot. No worries: if it’s a non-disruptive upgrade, FC switching will continue. You will lose your SSH connection though. Reconnect your connection and log in. At that point the upgrade process hasn’t completed yet; you can use either the¬†firmwaredownloadstatus command, which looks like this:

Brocade firmware upgrade downloadstatus
In this example the upgrade hasn’t completed yet…

Or you can use the firmwareshow command:

Brocade firmware upgrade show
And with this output you can confirm upgrade completion.

If both the primary and secondary firmware version are identical, the upgrade process has completed. Congratulations: now repeat these steps for the next upgrade. I usually fully upgrade one switch/fabric, run a couple of tests to confirm all SAN connectivity is okay (check the logged-in initiators on the storage and the dead paths in VMware) and then move on to the next fabric.