If virtualization is not the hottest topic today in IT, I'm not sure what is. It helps reduce the number of servers needed in a shop, increases utilization on existing servers, saves money by reducing the data center footprint, and increases overall systems manageability, flexibility, scalability, reliability and performance. The offerings we will discuss here are from the top three Unix vendors: IBM, Sun and Hewlett-Packard.
Virtualization is not a new concept for IBM. Almost everything they are doing now on the midrange has been done before on their mainframes. Big Blue's technology uses a hypervisor -- software that allocates resources for virtualization, which rests between the operating system and the hardware. This type of virtualization is commonly referred to as paravirtualization. IBM's Advanced Power virtualization is a combination of hardware and software that supports and manages the virtualization on POWER5 systems. Some of its features include:
The key ingredient to making the whole thing work is the kernel. Each of the supported kernels (AIX 5.3, SUSE Enterprise 9/10 and RHEL4) were modified to support the hypervisor.
With micropartitioning, one CPU can be split into as much as 10 logical partitions, each of which can receive as little as one-tenth of a CPU. Shared processor logical partitioning (LPAR) allows clients to partition one physical IBM server into multiple logical partitions, which also provide the flexibility to dynamically change the allocation of system resources for those environments.
The virtual I/O server (VIOS) is a special-purpose partition that provides virtual I/O resources to client partitions. A physical adapter assigned to a VIO partition would be shared by one or more VIO client partitions. This allows system administrators to minimize the number of physical adapters required. Unlike other virtualization techniques, APV does not require all devices to be virtualized. Clients can have a combination of dedicated and shared partitions.
Sun's virtualization is based on a concept called containers. Containers allow many private environments to be created from within one single instance of the OS. The containers are independent from the underlying hardware environment. An important distinction between Sun and IBM's virtualization is that there is only one kernel used for the entire system. Unfortunately, this method requires all containers to have the same OS and patch levels. Basically Sun virtualizes an operating system environment, rather than the hardware. This means one kernel fault will bring down every container or partition on the server. Sun's virtualization is sometimes referred to as lightweight virtualization, the advantage being less overhead when compared to hypervisor-based solutions.
What about VMware? Doesn't that run on Solaris? VMware for Solaris is only available on x86 systems. VMware ESX support will absolutely not run on Sparc. At the present time, the only way to run multiple operating systems on a Sparc server is with hardware partitioning. This is an inflexible model that allows their high-end severs to be divided into four-process partitions.
In the future Sun will introduce a concept called logical domains, designed to complement Solaris containers. This is supposed to be introduced sometime in 2007 on some of their low-end servers, enabling customers to run multiple operating systems simultaneously. This method is also supposed to complement Solaris containers to help improve efficiency and server utilization. Right now, it is strictly vaporware, as are possible plans about Xen support on Sparc. Xen (fully implemented on RHEL5, now in beta) allows multiple operating system kernels to run simultaneously on one piece of physical hardware and is actually similar in many respects to IBM's Advanced Power Virtualization.
HP's offerings are much more in line with IBM rather than Sun. For each server platform HP allows workload management, partitioning and clustering. It also supports three different models of virtualization:
VPARs allow customers to run multiple copies of HP-UX on the same hardware. They provide the ability to move CPUs from one partition to another while both partitions are running, similar to IBM. HP trumpets that its less overhead than using IBM's hypervisor, as their solution was designed to allow each hardware component to be assigned to a partition in its entirety. There is no virtualization layer to manage the interface between the OS and the hardware. The OS talks directly to the hardware, limiting overhead since there is no hypervisor sitting in between.
nPars are HP's form of hardware virtualization. Using this method, VARs can service one partition while others are online. The method also offers virtual partitions, which are actually separate operating systems running on the same nParition or server. They even have a workload manager similar to PLM, which is the HP-UX 11i workload manager. The manager moves resources based on predefined service level objectives. Npartitions run with guest operating system instances, and each can have different operating system versions and applications. It supports HP-UX, Windows, VMS and Linux, though only on their Itanium processor, not on their HP9000 PA platform.
With IVMs, each partition has its own full copy of the operating system. The physical resource of the HP integrity server is shared amongst the virtual machines it hosts. The current version only supports HP-UX, but Windows and Linux will be supported down the road. This version seems most like APV. Each partition runs it own copy of the OS and there is also support for micropartitioning. HP actually offers finer granularity than IBM. VARs and customers can have up to one-twentieth the granularity in a mircropartition, where IBM allows for only one-tenth.
One major limitation is that VARs can only scale up to 4 CPUs. With an IBM p595, you can scale to a 64-way. Another problem lies with the virtual I/O approach – it's an all or nothing solution. Either you decide to go with dedicated I/O on your server or you virtualize everything. A reboot is also required to add processors or memory, unlike IBM's APV. From a hypervisor perspective, unlike Xen and the Power Hypervisor, HP has a trap-and-emulate type of system, where the VM runs in user mode. Using this method, all privileged instructions call traps, causing a substantial overhead to this type of hypervisor.