In system virtualization, multiple virtual computing systems are created within a single physical computing system. The physical system can be a stand-alone computer, or alternatively, a computing system utilizing clustered computers and components. Virtual systems are independent operating environments that use virtual resources made up of logical divisions of physical resources such as processors, memory, and input/output (I/O) adapters. System virtualization is implemented through some managing functionality, typically hypervisor technology. Hypervisors, also called virtual machine managers (VMMs), use software or firmware to achieve fine-grained, dynamic resource sharing. Hypervisors are the primary technology for system virtualization because they provide the greatest level of flexibility in how virtual resources are defined and managed.
When provisioning virtual computing systems, templates are created that contain one or more disks that refer to images. Each template must define one disk that refers to an operating system (OS) image. Additional disks may refer to datablock images. Datablock images store data that can be accessed and modified by one or more virtual computing systems. In virtual computing systems, and computing systems in general, operating systems are periodically patched to protect against security threats, bugs, or other stability issues. Other software may be patched or deploy a new version to protect against security threats, bugs, or other stability issues.
Hypervisors provide the ability to divide physical computing system resources into isolated logical partitions. Each logical partition operates like an independent computing system running its own operating system (e.g., a virtual system). Operating systems running in a virtualized environment are often referred to as “guest machines.” Exemplary operating systems include AIX®, IBM® i, Linux®, and the virtual I/O server (VIOS). Hypervisors can allocate dedicated processors, I/O adapters, and memory to each logical partition and can also allocate shared processors to each logical partition. Unbeknownst to the logical partitions, the hypervisor creates a shared processor pool from which the hypervisor allocates virtual processors to the logical partitions as needed. In other words, the hypervisor creates virtual processors from physical processors so that logical partitions can share the physical processors while running independent operating environments.
The hypervisor can also dynamically allocate and de-allocate dedicated or shared resources (such as processors, I/O, and memory) across logical partitions while the partitions are actively in use. This is known as dynamic logical partitioning or dynamic LPAR and allows the hypervisor to dynamically redefine all available system resources to reach optimum capacity for each partition.
In addition to creating and managing the logical partitions, the hypervisor manages communication between the logical partitions via a virtual switch. To facilitate communication, each logical partition may have a virtual adaptor for communication between the logical partitions, via the virtual switch. The type of the virtual adapter depends on the operating system used by the logical partition. Examples of virtual adapters include virtual Ethernet adapters, virtual Fibre Channel adapters, virtual Small Computer Serial Interface (SCSI) adapters, and virtual serial adapters.
Virtual adapters are often implemented through a VIOS partition which manages the physical I/O adapters (SCSI disks, Fibre Channel disks, Ethernet, or CD/DVD optical devices). The other logical partitions may be considered “clients” or virtual I/O clients (VIOCs) to the VIOS. The VIOS can provide virtualized network resources to the other logical partitions via a shared Ethernet adapter (SEA). The SEA bridges a physical Ethernet adapter with the respective virtual adapters and may apportion network bandwidth.