In this post, I will discuss the pros and cons of creating a completely virtualized IBM i environment with redundant VIOS (Virtual I/O Server). You can just look at the name of this website to understand where I stand on that issue. Many IBM i administrators try to avoid VIOS for several reasons. To be completely honest, a LONG time ago I was even one of them. That was a mistake. I want to make the case for why you should consider VIOS for I/O virtualization on your next system.
In the present day, there are many options for virtualizing the workload on an IBM Power server. The options range from absolutely no virtualization (a non-partitioned system), to all Input/Output and processor completely virtualized and mobile. According to the 2022 Fortra (formerly HelpSystems) survey, 22% of you have a single partition, and 25% have two partitions. If that’s you, you probably don’t need VIOS... yet.
It is also common to find particularly critical partitions with dedicated processors and dedicated I/O resources on the same Power servers as fully virtualized partitions that are sharing resources.
I’m a big fan of virtualizing everything, but I understand that is not always optimal. Fortunately, PowerVM has the flexibility provide the right choice for you on a partition-by-partition basis.
Why should you virtualize I/O?
Ask yourself a question: If you have more than one partition, why don’t you buy a separate Power system for each partition?
Your business probably requires multiple partitions for a reason: workload splitting, different applications, development/testing environments, etc. You also have good reasons to consolidate your separate workloads onto a smaller number of more powerful systems. Usually, those reasons relate to things like cost, allowance for growth, limited floor space, power, or cooling requirements.
The same reasons apply to why you should virtualize your I/O resources. Ethernet infrastructure (especially 10G) is a limited resource. Switches, cabling and SFPs all add to expenses and complexity.
Sharing fiber channel ports for storage also reduces the number of ports needed on SAN switches, as well as reducing cable needs. This saves money and time.
If you use external (SAN) storage, you can even use Live Partition Mobility (LPM) to move running partitions between physical servers. This is a very common practice in the AIX world, but fairly rare for IBM i. More to come on that.
External Storage also allows you to leverage technologies such as FlashCopy to create backups with almost zero downtime or create test or reporting copies practically instantly. It will also greatly simplify server migrations and enable storage-based replication for High Availability and Disaster Recovery solutions. I’ll write a future article that delves deeper into the benefits of external storage, as it is a technology that deserves a deep dive.
When you have a fully virtualized PowerVM infrastructure in place, creating a new partition becomes a very simple thing. There is no longer any need to assign any physical resources. Just create new virtual resources with the HMC GUI and your partition (IBM i, AIX, or Linux) is ready to go. Okay, you might need to do some zoning and maybe assign some storage before you can use it, but the partition will be ready to go.
Redundancy is critical
Proper virtualization leverages redundancy to improve reliability. Ideally, all your virtualized resources should have backup.
Virtual Ethernet connections should be based on vNIC with multiple backing adapters for automatic failover, or Shared Ethernet Adapters backed by multiple physical adapters in multiple VIOS. Each adapter should connect to the network via separate network switches. Eliminate all single points of failure and you will eliminate many potential problems before they happen.
Storage should have multiple paths via multiple fiber channel cards owned by multiple VIOS partitions connected through multiple SAN switches (fabrics) to multiple storage ports. Again, eliminate those single points of failure.
A properly implemented virtual infrastructure is more reliable than individual physical adapters directly mapped to partitions.
Don’t fear the VIOS
If I had any musical talent, I’d make a version of the classic “Don’t Fear the Reaper” song as “Don’t Fear the VIOS”. I don’t, so I’ll just stick with text. Trust me. It’s better this way.
Many IBM i administrators want to avoid VIOS because it is based on AIX, which is an unfamiliar technology. As I mentioned before, I was one of those until I spent a few years at a company which used VIOS extensively.
Let me be very clear about this. AIX guys are NOT smarter than IBM i guys. They just understand a different command syntax. They might be smarter than Windows guys, but who isn’t, right?
AIX users should NOT be the only ones that benefit from VIOS in their environments. VIOS is intended to be implemented as an appliance, similar to the HMC, but exclusively in software. There is a connection to the HMC that is the primary means of configuration. There is also a command line environment that is subset of simplified AIX commands and some commands that are specific to VIOS. It is well documented with both online help and manuals, but you will rarely need to use it.
The fact is, once you have done the basic install of VIOS, all your ongoing monitoring and configuration can be completed from the modern Enhanced HMC GUI interface. If you want to add a partition, map a new fiber channel port , configure a new vNIC, etc. You do it all with clicks on a web interface. The only time you MUST use the command line on the VIOS is for a few commands during an install, and to install software updates. Software updates are usually a painless process that involves an install to an alternate boot disk and a simple reboot to activate. The alternate disk install also means the upgrades are completely reversible in case of problems. Remember that you want to have redundant connections to multiple VIOS, so that reboot will not be disruptive to your environment.
I should mention that just because you usually don’t have to use the command line interface doesn’t mean you won’t want to use the command line interface. There is a massive amount of information to be had from those simple commands. Watch for a future post where I publish and explain some of my favorite information gathering VIOS commands.
The benefits of VIOS outweigh the costs, especially if you are using external storage.
Fun fact, you are probably already licensed for VIOS. PowerVM is required for partitioning, and all editions include VIOS. If have PowerVM licenses for your server, you are already entitled to install VIOS. You can get it from IBM Entitled System Support by going to “My Entitled Software”, “By Product” and select 5765-VE3.
Another important consideration for those of you with extra processors not licensed for IBM i, VIOS is not IBM i, so you do not need those licenses for the processors running VIOS. That means the processor overhead related to handling the I/O virtualization does not have a premium beyond the cost to activate the processor. You can make sure you are in compliance by using HMC processor pools to limit the IBM i partitions to the number of licensed processors, and putting your VIOS (and Linux) in an uncapped pool.
Another virtualization topic specific to IBM i is the way the O/S and most applications are licensed. I mentioned earlier that Live Partition Mobility, moving a running partition to a different server, is a common practice for AIX shops. It is pretty rare for IBM i. I think one of the key reasons that has been true historically is that AIX O/S and applications are not generally licensed to a processor while IBM i O/S and applications are pretty much always licensed to a processor serial number. That means moving an active IBM i partition to another Power server can result in license problems. Fortunately, IBM recently announced Virtual Serial Numbers that can be attached to a partition and migrate with it. If Live Partition Mobility appeals to you, look into getting a Virtual Serial Number.
I should mention that since LPM moves memory over a network to the other server, LPM on IBM i may require a much more robust network environment than the equivalent AIX resources. IBM i uses single level storage, so it uses large amounts of very active memory. There are certainly memory size and activity limits that could preclude the use of LPM for very large environments. As always, your environment matters, and your results may vary.
iVirtualization (AKA i hosting i)
There is another option for virtualizing I/O and disk resources for a client partition by using the iVirtualization functionality built into IBM i since V6.1. This functionality allows you to virtualize ethernet adapters owned by the parent partition and to create virtual disk objects that are shared to another client partition as virtual SCSI disks.
The *NWS* commands to support this are all native IBM commands that will look familiar to IBM i administrators. Don’t kid yourself. They are no less complex than the corresponding VIOS commands to someone that has never used them.
In some limited situations, iVirtualization might be a viable option. For example, on a small system with internal NVMe on a single backplane such that it is not possible to split between multiple VIOS for redundancy.
Another case where iVirtualization might be preferred is for a small linux test partition hosted from an existing IBM i partition with internal disk and no VIOS infrastructure.
I would not use it with external storage in any case as it would lose all of the benefit of multipathing.
Now here are the primary reasons I would recommend VIOS over iVirtualization:
- License costs. Hosting on IBM i means paying for an IBM i license for work that could be free.
- Performance. The numbers I have seen have consistently shown the client partitions do not perform as well as an equivalent VIOS configuration. This is especially problematic with an IBM i client as performance is related to number of disks, which results in more objects and more overhead.
- Completely manual configuration. The HMC GUI configuration that is available with VIOS does not work with iVirtualization, so it needs to be configured completely with commands.
- No Redundancy. When the host is down, the clients are down. To be fair, you could use multiple host partitions and mirror disks in the client, but you can do that with VIOS also.
- No LPM. Live Partition Mobility is not supported for clients of iVirtualization.
- No development. If you look at the table of changes in the IBM i Virtualization Summary referenced below, you will see that there has been only one change to iVirtualization since 2015, compared to constant development and improvements for VIOS.
What if you need help implementing VIOS with IBM i?
Whether you have a large environment or small, implementing new technologies can be challenging. If you need help beyond the available documentation, the IBM i Technology Services team (formerly known as Lab Services) is available to help with implementation planning, execution, and knowledge transfer. See https://www.ibm.com/it-infrastructure/services/lab-services for contact information or speak to your IBM Sales Representative or Business Partner. If you are planning a new hardware purchase, you can include implementation services by the Technology Services team in your purchase.
I am an employee of IBM on the IBM i Technology Services team (formerly known as Lab Services). The opinions in this post are mine and don't necessarily represent IBM's positions, strategies, or opinions.
2022 IBM i Marketplace Survey Results - Fortra
IBM i Virtualization Summary