Upgrading a very, very, very old VIOS
AnthonyEnglish 270000RKFN Comments (2) Visits (9176)
This is the epic of the upgrade for the Virtual I/O server (VIOS) from version 1.4 to version 2.2. It's not a pleasant read, so if you're of a weak stomach, just skip the whole blog post, but note two things when it comes to VIOS and firmware upgrades:
The Epic Begins
Much as we'd like all our systems to be running the newest and latest of everything, most of us are not so lucky. There are still some very old environments out there, running on old hardware. I suppose it's a testimony to the systems that after 8 or 10 years, they can still run a business on them. There's nothing like complete neglect to keep a reliable system running on inertia. Just hope nobody needs to change anything.
I recently was asked to look at a system which was running dual Virtual I/O Servers (VIOS), both at version 220.127.116.11, which dates back at least five years. The aim was to get them running a recent VIOS version (18.104.22.168) so we could connect to new V7000 storage and a new Fibre Channel switch. The ability to use Shared Storage Pools on the VIOS was also an attraction.
The site had been running stably for some years, but the firmware, VIOS and AIX were all seriously out of date. A plan had to be worked out to upgrade.
For full disclosure, I have to say that the upgrade has not yet been done. This is just a walk through of the planning for the upgrade. So, take a deep breath, and here we go:
VIOS Hardware and Firmware Prereqs
The VIOS ties in so closely with the hypervisor, that it's really critical to ensure your system firmware is up to date before you consider any upgrades to your VIOS. If you're using a Hardware Management Console (HMC), then that should be at a compatible level. The upgrade order is:
I might point out that in most documentation "Firmware" refers only to the System firmware. Device firmware, such as for Fibre Channel adapters, doesn't rate a mention. So my plan was to include that, since it undoubtedly would not have been updated since the system was first installed.
Firmware alert: setback #1
As the system I was working on was a Power5 server which was managed by a Hardware Management Console (HMC), I had to know if the system firmware would be Concurrent (no downtime) or Disruptive.
I was going from firmware version SF240_358 to SF240_417. In other words, the major release was SF240, so it should ordinarily be a concurrent update when your system is managed by the HMC.
HMC managed systems
Non-HMC managed systems
However, this was not one of those "most cases" in which the installation could not be done concurrently:
In other words, complete downtime for all virtual clients and the VIO servers.
Firmware alert: setback #2
I also found that the adapter firmware had a prerequisite which I needed to be aware of:
Memory and Disk requirements
VIOS version 2.2 requires 4 GB of RAM and at least 30 GB of disk for rootvg. (If you're using software mirroring for rootvg, you need at least 60 GB).
updateios Won't Do Everything!
When you log into the VIOS restricted shell as the user padmin, you have a simplified command set. The commands are very easy to learn, and once you get used to them, you can almost guess your way through.
Now there's a
great command for running updates called updateios.
The syntax is very easy. For example, if you have your updates in a
directory called /hom
updateios -dev /home/padmin/update
Now you might think that moving from VIOS 1.4 to VIOS 2.2 only requires these steps:
Not So Fast!
It would be nice, but I wasn't so lucky.
First, since I was going from version 1.X (in my case 22.214.171.124) to version 2.X, I need to use the migration media. As you may know, the current VIOS 2.X is running AIX 6.1 under the covers. And by “under the covers” I mean using that sneaky oem_setup_env command which gives you full root access to the underlying AIX. When you're logged in as padmin, on the other hand, you're in a restricted shell, with a very limited command set available.
Migration to VIOS 2.X
First Stop: IBM Support Portal
Of course, the first port of call was the IBM Support Portal. You can just go to www.ibm.com and then select Support & Downloads or take the shortcut to IBM Fix Central. You'll need an IBM ID to log in. Registration is free and it only takes a minute to do.
When you select the product, in the Product Group, click on the drop down box and go to Software > Virtualization software. Here's a screenshot:
in the box Select from Virtualization software, use the drop down to go to PowerVM Virtual I/O Server:
From there you can choose the Installed Version. You can find that out by logging onto the Virtual I/O Server as the user padmin and then running the command ioslevel.
Notice that 126.96.36.199 doesn't even make the list? The oldest version starts at 188.8.131.52. I'd have to make do.
184.108.40.206 is old. My beloved Virtual Media Repository was introduced with version 1.5. That alone was reason for me to upgrade.
I was aware that moving from version 1.X to version 2.X required booting off a Migration DVD (or NIM resource). That made sense, because it's a similar procedure when you're migrating from AIX 5.3 to AIX 6.1 or 7.1. This jump is not just a list of patches (similar to the AIX update_all command). It was a migration. So, I thought the best approach would be to use the latest available Migration DVD. The Support Portal pointed me to
Migration DVD 220.127.116.11
However, using that DVD had a prerequisite: the last 18.104.22.168 Service Pack. Could I update from 22.214.171.124 to 126.96.36.199 (latest Service Pack)?
I went to the readme and found that (alas):
VIOS 188.8.131.52-FP 11.1 SP-02 should be applied to systems that are currently at IOS Level 184.108.40.206-FP-11.1. If your IOS level is lower than 220.127.116.11-FP11.1, you must install Fix Pack 11.1 before you can install the Service Pack.
So my upgrade path was now looking like this:
I haven't mentioned the time taken to download, back up, reboot etc. which are essential to each of the above steps.
A Small Breakthrough
I found on the IBM Support Portal another, older, VIOS Migration DVD, which would take me from 1.X to 2.1.
Now my upgrade path looked like this:
That's much simpler.
I went to the IBM Support Portal, selected Downloads and then downloaded the latest VIOS packs. At last, my plan was complete, and I should be able to run updateios, which is all I ever wanted to run in the first place.
An Alternate Approach
If you think this was jumping too many hoops, consider another option for your own environment: doing a fresh install of the VIOS. Sure, you'd need to map and recreate Virtual Target Devices, and Shared Ethernet Adapters, but if you're organised and have all of that well-documented, it may be a better option, especially if you only only have a small number of virtual disks that get mapped through to clients.