Updating Virtual I/O Server (VIOS) to a higher level
using an alternate disk
Virtualization plays a major role in cloud computing. The VIOS is part of the Advanced POWER Virtualization hardware feature, which enables sharing of physical resources between logical partitions including virtual Small Computer System Interface (SCSI) and virtual networking. To use IBM® Power Systems™ virtualization features, customer can set up the environment that consists of one or more Virtual I/O Servers and many VIOS client logical partitions (LPARs) using IBM AIX® or other supported operating systems such as Linux® or IBM i.
With IBM Power® virtualization, the VIOS plays an important role and all running VIOS client LPARs are fully dependent on the Virtual I/O Servers. In such an environment, updating VIOS to a next fix pack level can be challenging, without taking the system down for an extended period of time and incurring an outage. This can be mitigated by creating a copy of the current root volume group (rootvg) on an alternate disk and simultaneously applying fix pack updates first on the cloned rootvg on a new disk.
For example, updating VIOS 22.214.171.124 to 126.96.36.199-FP8, clone a 188.8.131.52 system, and then install updates to bring the cloned rootvg to 184.108.40.206-FP8. This updates the system while it was still running. Rebooting from the new rootvg disk brings the level of the running system to 220.127.116.11-FP8. If a problem with the new VIOS level were discovered, changing the bootlist back to the 18.104.22.168 disk and rebooting the server brings the system back to 22.214.171.124. Another scenario would include cloning the rootvg and applying individual fixes, rebooting the system and testing those fixes, and rebooting back to the original rootvg if there was a problem.
This article explains the step-by-step procedure for applying the next fix pack level on VIOS by creating a copy of the current rootvg on an alternate disk and simultaneously applying fix pack updates.
This overview of the update process prepares an administrator for the tasks to be performed so that the VIOS migration to higher level can be as quick and easy as possible. This is an intermediate level article and is targeted for system administrators who are working in the field of IBM Power Systems virtualization and using the VIOS.
We tested this procedure in our environment by updating VIOS 126.96.36.199 to VIOS 188.8.131.52 on an IBM POWER7® processor-based system.
Key points to understand on a VIOS 184.108.40.206 update:
- If the cloning and update fails with an error message “0505-120 alt_disk_install: Error running bosboot in the cloned root volume group”, clean up the altinst_rootvg volume group using the
alt_disk_install –X(root shell) command. Contact the IBM support team to get an interim fix for this problem and redo the clone and update procedure with interim fix installed on VIOS 220.127.116.11.
- Direct update from VIOS 18.104.22.168 is possible without a share storage pool (the current level of the VIOS must be 22.214.171.124 or later if you use the share storage pool, otherwise, it must be 2.1.0 or later).
- For more information about VIOS 126.96.36.199 update, constraints, and so on, you can refer to the Readme file or Release notes.
Updating VIOS to a later level
You need to perform the following steps to update VIOS to a later level.
- Prepare for the update.
- Clone and update VIOS.
- Perform post-update process on the existing VIOS level.
- Restart VIOS.
- Perform post-update process on the new VIOS level.
Preparing for the update
Backup of VIOS
You can create a backup of VIOS using the
mksysb command or the
viobr command. The
mksysb command creates a backup of the entire rootvg. The
viosbr command creates a backup of only the VIOS configuration. You will need to move those backup files to a remote location, for instance, Network File System (NFS).
backupios -file <path to NFS location>/<file name> -mksysb
viosbr -backup -file <path to NFS location>/<file name>
If rootvg is mirrored on multiple disks on a source VIOS, you will need to un-mirror the rootvg before doing the update. You can skip this section if rootvg is not mirrored. To un-mirror the rootvg, we can use the
For example, if you booted VIOS from hdisk0 and want to un-mirror the root volume group on hdisk1, use the following (
unmirriorios) command. You need to make sure that the dump devices are on hdisk0 before running the
Then, issue the
reducevg command to reduce the disk out of the root volume group.
reducevg -rmlv rootvg <old hdisk#>
reducevg -rmlv rootvg hdisk1
Finally, use the
bootlist commands to reinitialize the boot record of the remaining disk and modify the boot list to remove the un-mirrored disk from the list. You can follow the steps below to achieve this.
bootlist -mode normal -ls (to view) bootlist -mode normal <existing hdisk#> bootlist -mode normal -ls (to view) oem_setup_env (to get root shell) bosboot -ad <existing hdisk#> (using root shell) exit (using root shell to go back to the VIOS shell from the root shell)
Remove all interim fixes
Removal of the interim fixes can be done through padmin (VIOS shell).
Run the following command to list the interim fixes installed:
Run the following command to remove the interim fixes installed on the non-SSP node.
updateios -remove <ifix_LABEL>
Commit previous updates
Commit previous updates if it was not already done. Earlier updates must be committed before new updates can be applied.
Download VIOS update package
You can download the VIOS update package from Fix Central to a location which can be accessed by the VIOS server.
Cloning and updating VIOS
Run the following command to perform cloning and updating VIOS.
alt_root_vg -target <new hdisk#> -bundle update_all -location < path to VIOS update package > 2>&1|tee alt_root_vg_2231.log
All the logs will be in the alt_root_vg_2231.log file. Review the logs for any errors.
Performing post-update process on the existing VIOS level
Upon successful cloning and the update completion on a new disk, to keep the current VIOS environment as it was, you can reinstall all un-installed interim fixes using the following command.
updateios -dev <ifix directory> -install -accept
Also upon successful cloning and the update completion on a new disk, you can restart the VIOS server on the updated level using the following command. This restarts the VIOS to the updated VIOS level.
Performing post-update process on the new VIOS level
If everything is successful, the next step is to commit the update. This is necessary before installing the interim fixes on top of the updated VIOS level.
You should also review Fix Central information to understand whether any new interim fixes are available for the new VIOS level. You can download those interim fixes and install them using the process that is mentioned above.
Continuing the process, next you may optionally mirror rootvg after the update. You can follow the steps below to mirror rootvg on a new second disk.
extendvg rootvg <new hdisk#> mirrorios -defer <new hdisk#> bootlist -mode normal -ls (to view) bootlist -mode normal <new hdisk#> bootlist -mode normal -ls (to view) oem_setup_env (to get root shell) bosboot -ad <new hdisk#> (using root shell) exit (using root shell, to go back to VIOS shell from root shell)