OneFS 8.2 firmware improvement: isi_upgrade_helper

I’ve previously wrote a howto to upgrade your Isilon cluster’s firmware. The process hasn’t changed much over time: you upload a node firmware package to the cluster, install it, and then apply it to the nodes themselves. Time wise though, it’s not a quick process. Each node will reboot during this process, and the process takes at least 10 minutes per cycle. Imagine a 100+ node cluster and running this process one node at a time…

Fortunately, OneFS 8.2 has recently introduced a nice new tool to make this node firmware upgrade a bit easier and much faster: isi_upgrade_helper. It figures out which nodes can upgrade simultaneously and spits out the relevant commands for you.

New CLI command: isi_upgrade_helper

The whole process is simple enough. After installing the new firmware package, run the isi_upgrade_helper command. It will assess the current state of firmware levels, and then give you three options:

isi_upgrade_helper output

The first option is the lowest-impact option, one node at a time. You wouldn’t have needed to run the isi_upgrade_helper command to find that out though 😉

The second option is a balance between speed and impact. It allows simultaneous upgrades on multiple nodes, but it does so without too much impact on availability and performance. In the case of the screenshot, I was upgrading a Isilon cluster with four H400 and four A200 nodes. The command picked one node per pool to upgrade at the same time, which leaves the file system accessible.

The last option is the fastest one, but it will impact availability as the file system will be unavailable for the duration of the upgrade. In this case, it was a freshly installed cluster with no client traffic, so I proceeded with this option. If you run a isi status during the fastest upgrade, you will see the impact clearly:

isi status during isi_upgrade_helper firmware upgrade censor

Don’t worry though, it will correct itself automatically. It does help speed up the firmware upgrade process, especially on large clusters.

My thoughts on the new Isilon command

The isi_upgrade_helper command is easy to use and helps to assess which nodes you can receive a firmware upgrade simultaneously. The middle, balanced option is especially useful in large production Isilon clusters. Depending on your protection level, you can upgrade at least one node per node pool. This command saves you from having to build your own list of nodes, find out to which node pool they belong, and keeping track of already upgraded nodes. You just run the command multiple times in a row until it outputs that there are no nodes to upgrade anymore. Job done!