Hey everyone, in this article I will be illustrating how to upgrade a Brocade SAN switch in detail. In my lab, I have a Brocade 6510 switch, the upgrade is similar for all switch models, except for Brocade Directors, so please refer to Director Upgrade documentation for the details.
Here are some points that you should consider and prepare before you begin the upgrade itself:
Switches topology
You need to address the topology and device connectivity of your switch(es) first, and you should answer the following questions and make a note:
How many switches do you have?
What models do you have?
What is the firmware version running? You need to make a note of the versions running on all switches, usually they are the same, especially in fabrics.
How are they connected to each other?
Are they in a stand-alone mode, or stacked in fabric(s)?
How many fabrics do you have? (even if you have a single switch, this is a single-switch-fabric)
Are they located on the same site, or distributed across multiple sites? (Stacked fabric I mean).
Study the connectivity of the devices to them, and make sure that you have redundant paths between the devices and switches to avoid service disruption during the upgrade operation.
Upgrade Types
Disruptive: this type requires rebooting the whole parts of the switch, which interrupts your service. You could follow this method if you have redundant switches, and the important part is that you are confident that they are redundant, and your servers and devices work fine with multi-pathing.
Non-disruptive upgrade: this type is called warm upgrade, or non-disruptive upgrade, in this type the switch is upgraded without rebooting it.
To leverage a non-disruptive upgrade, read the “Migration Path” section in the release notes of the targeted firmware, usually you’d need to perform a two-hope, or three-hope upgrade for the non-disruptive to work, as it depends on the gap between the current firmware, and the targeted firmware.
In a fabric topology, you should upgrade all switches in the fabric in the same maintenance window, one by one. For further information regarding your setup, please contact your vendor support.
Preparation
Make sure that the switch model supports the firmware version you need to upgrade to.
Do your best to make sure that all connected devices (other switches, servers, hypervisors, SAN storage, tape libraries, etc.) support the targeted firmware version, and hardware drivers also. Contact your vendor support for further information.
What you basically need is the following:
Download the desired firmware version, and make sure that it’s for your switch model. Contact the vendor support for download access to the firmware.
Firmware USB. You could install the firmware from a USB drive, but only a Brocade USB drive that you buy from Brocade is supported. Any other non-Brocade drive won’t work (unfortunately).
File server. This is the common method for upgrading switches. The supported protocols are FTP, SFTP, and SCP. In this demo I will be using SFTP, but you should use FTP if possible.
Serial console cable. This is optional as you will be performing the upgrade via SSH, this is just needed for emergency situations.
Important: make sure that you read the release notes of the required FOS version first before you begin.
In this example, I will be demonstrating the upgrade process on a Brocade 6510 switch, using a SFTP protocol, and a non-disruptive upgrade.
In this demo, I will be performing a nun-disruptive upgrade from version 8.1.0a, to 8.1.2a
Upgrade Steps
1. Prepare a file server. Usually, FTP is used. In my case, I used SFTP protocol using SolarWinds Free SFTP server. I found it very easy to use on a Windows machine.
2. Download the firmware image, and then extract the compressed file into the FTP folder.
3. Make sure that the firewall (if any) between the file server and the switch is configured to allow the required ports (FTP: 21, SFTP: 22).
4. Login to the switch via SSH using the “admin” user account.
5. Verif7 the firmware version first by running the commands “firmwareshow”, and “version”.
Both partitions of the system flash drive are having the same firmware version, in my case it’s v8.1.0a. The first row (next to the word FOS) is the primary partition, and the next row is for the secondary partition. If you see difference in versions contact the vendor support prior to the upgrade.
6. Export the support bundle (logs) just in case, it’s called “supportsave”. Just run the following command, and then enter the file server information to store the bundle there.
supportsave
If you get this result it means that the export is working fine.
And this is a view from the SFTP server side.
7. It’s also recommended to export the switch configuration. Enter the command in the following screenshot, specify a file server, and a file name for the config file.
8. To start the upgrade, enter the command “firmwaredownload”, then enter the file server access information, and the file path as specified in the screenshot. The “File path” here means the path to the extracted folder of the firmware.
If a non-disruptive upgrade is supported, you should see the following question, otherwise, the upgrade will be a disruptive.
Important: using command options for “firmwaredownload” command, like disable auto-commit, and auto-reboot will disable the non-disruptive feature. I wanted to share this as I’ve been dragged into this trap.
If you can see this, it means that the upgrade progress is successful.
9. The SSH session will be disconnected, and you will have to reconnect again.
Now, the firmware has been downloaded successfully, and being copied (committed) to the secondary partition of the flash drive.
As you can see in the screenshot below, the primary partition is now running the new firmware version.
After a few minutes, both partitions should be running the same FOS version.
10. Run the command “firmwareshow” periodically till you see that both partitions are running the same FOS version.
11. Export another supportsave bundle after the upgrade is finished. Optional)
Firmware upgrade troubleshooting
The “firmwaredownload” command provides some advanced parameters that would give you more options with your upgrade. By default, the process will commit the firmware to the secondary partition, by disabling the “auto-commit” option, you still have the option to roll back the upgrade in case something goes wrong by rebooting the switch from the secondary partition, which is still keeping the older version. Run the following command to reboot the switch from the secondary partition:
boot system flash secondary
Also, you can restrict the switch from being automatically rebooted after the upgrade.
These options disables the non-disruptive option.
For further details about the upgrade options, run the following command:
firmwaredownload /?