LICENSEWARE

ITAM Handbook: Virtualisation and Partitioning Technologies

Learning resource: migrated from the LICENSEWARE Notion wiki (ITAM Handbook, Enterprise Infrastructure, Virtualisation, last edited 2024-10-12). It is training material, not a cited encyclopedia article; for the cited reference see Virtualization and partitioning.

On This Page

Server virtualisation and partitioning technologies are important components of enterprise infrastructure topology. An infrastructure topology refers to the physical and logical layout of servers, storage devices, and networking components in an enterprise environment. The goal of server virtualisation and partitioning is to maximise resource utilisation and efficiency by allowing multiple virtual servers or partitions to run on a single physical server.

This page is part of the ITAM Handbook chapter Enterprise Infrastructure. It describes the concepts and then the individual technologies as the handbook presented them. Some products described here (for example HP-UX nPar/vPar and Oracle VM) have since been discontinued or superseded.

Partitioning

Partitioning is a hardware-level technique that divides a physical server into multiple isolated sections, each with its own hardware resources, such as CPU, memory, and I/O. Each partition is assigned its own set of hardware resources, which are physically isolated from the resources assigned to other partitions. This means that the partitions are completely independent of each other and have no knowledge of the other partitions on the same physical server.

Virtualisation

Virtualisation, on the other hand, is a software-level technique that provides an abstraction layer between the hardware and the software, allowing multiple virtual machines (VMs) to run on the same physical server. Each VM is assigned a virtual set of hardware resources, such as virtual CPUs, virtual memory, and virtual I/O devices, which are completely isolated from the resources assigned to other VMs. The virtualisation layer manages the server’s physical resources and ensures that each VM gets the resources it needs without impacting the other VMs on the same server.

Virtualisation in the infrastructure topology

In an infrastructure topology, virtualisation and partitioning technologies are typically deployed alongside other components, such as storage arrays, networking switches, and load balancers. These components are interconnected in a complex web of relationships that can be difficult to manage and optimise.

For example, virtual machines running on a virtualisation platform may require access to storage resources on a storage area network (SAN). The SAN may be connected to multiple servers through a fiber channel switch and load balanced using a network load balancer. The virtualisation platform itself may be managed using a centralised management console, such as VMware vCenter or Microsoft System Center Virtual Machine Manager.

Managing and optimising these relationships requires a deep understanding of the underlying technologies and a holistic view of the entire infrastructure topology. Tools like virtualisation and infrastructure management software can help administrators monitor and optimise resource utilisation, automate provisioning and deployment tasks, and ensure high availability and fault tolerance across the entire infrastructure.

HP-UX

HP-UX nPar (nPartition) is a hardware-based virtualization technology that allows for the creation of multiple logical partitions on a single physical HP Integrity server. Each nPar is a separate and isolated instance of the operating system that can have its own set of CPUs, memory, and I/O resources. This provides increased flexibility and scalability, as multiple operating systems can run on the same physical server without interfering with each other.

One of the key benefits of nPar is its ability to allocate and manage resources dynamically and efficiently. Resources can be allocated based on the needs of individual partitions, ensuring that each partition has access to the resources it requires to run optimally. This can result in increased system utilisation and reduced hardware costs.

In addition to nPar, HP-UX offers vPar (Virtual Partitions), a software-based virtualisation technology that provides a lightweight and efficient way to partition HP-UX systems. Unlike nPar, vPar does not require dedicated hardware resources and can run on a single operating system instance. Each vPar appears as a separate instance of the operating system, with its own set of resources and configuration parameters.

vPar allows for consolidating multiple applications and workloads onto a single physical server, increasing efficiency and reducing hardware costs. vPar also provides advanced features such as flexible resource allocation and dynamic reconfiguration, making it a popular choice for many HP-UX users.

In nPAR technology, capping is typically done through two main parameters:

  • Processor Set (PSET). PSET allows an administrator to assign one or more CPU cores to a specific vPar or guest domain, limiting the amount of CPU resources that it can use.
  • Memory Placement Optimisation (MPO). MPO controls the allocation of memory between different vPars or guest domains, allowing an administrator to assign a minimum and maximum amount of memory for each vPar or guest domain and also to set priorities for which vPars or guest domains should have priority access to memory.

However, it’s worth noting that both nPar and vPar have been discontinued by Hewlett-Packard Enterprise (HPE) and are no longer actively supported.

IBM LPAR

IBM LPAR (Logical Partitioning) is a type of virtualization that allows a single physical server to be divided into multiple logical partitions, each with its own CPU, memory, and I/O resources. IBM LPAR was first introduced on IBM mainframes in the 1970s and has since been implemented on IBM Power Systems servers.

One of the key benefits of IBM LPAR is that it enables organisations to consolidate multiple physical servers onto a single hardware platform, reducing hardware and maintenance costs. LPARs can also be dynamically resized or moved between physical servers without the need for downtime, providing flexibility and agility.

IBM LPAR supports a number of advanced features, such as shared processor pools, which enable resources to be dynamically shared between LPARs, and Active Memory Sharing, which allows memory to be dynamically allocated and deallocated between LPARs.

IBM LPAR also supports dynamic resource allocation and capping, enabling organizations to set policies for allocating and managing CPU, memory, and I/O resources based on workload priorities and business needs. Additionally, IBM LPAR supports Live Partition Mobility, which allows running LPARs to be migrated between physical servers without interruption to the applications running within them.

Key LPAR terms

Here are some key terms that someone needs to know in order to manage LPAR devices:

  • LPAR. Logical Partitioning: It is a way to divide a physical server into multiple logical servers, each with its own operating system, memory, and CPU resources.
  • Shared Processor Pool. A pool of processing capacity shared by multiple LPARs. It allows LPARs to share unused processing capacity and maximise system utilisation.
  • Dedicated Processor Pool. A pool of processing capacity reserved for a specific LPAR. It ensures that the LPAR has guaranteed access to a certain amount of processing power.
  • HMC. Hardware Management Console: It is a separate physical server that manages LPARs and provides a graphical interface for configuring and monitoring LPARs.
  • Dynamic LPAR. A type of LPAR that allows CPU and memory resources to be added or removed dynamically, without requiring a system reboot.
  • Entitled Capacity. The amount of processing capacity that an LPAR is entitled to use. It is determined by the system administrator and can be changed dynamically.

Understanding the system information

  • The min and max parameters for an LPAR define the minimum and a maximum number of virtual processors that can be assigned to the partition. These values are set by the system administrator and can be adjusted as needed to meet changing workload requirements.
  • The online virtual processors parameter determines the number of virtual processors that are currently available to the LPAR. This value can be adjusted dynamically based on system usage.
  • The entitled capacity parameter is a key feature of LPARs. It allows the system administrator to set the percentage of the total system resources that the LPAR is entitled to use. This entitlement can be adjusted dynamically based on system usage and the needs of other LPARs on the same system.
  • The lpar mode parameter determines whether the LPAR is running in dedicated or shared mode. In dedicated mode, the LPAR has exclusive access to the allocated system resources, while in shared mode, the LPAR shares resources with other LPARs on the same system.
  • The lpar type parameter determines whether the LPAR is running as a general-purpose or a dedicated processor partition.
  • The active CPUs in pool parameter defines the number of CPUs that are available for use by the LPAR. This value is set by the system administrator and can be adjusted as needed based on the workload requirements of the LPAR.

Processor pools

In the context of LPAR (Logical PARtition), a pool is a collection of physical processors that are made available to LPARs. Pools can be used to manage and allocate resources among multiple LPARs on a single system. Pools allow for the creation of a shared resource pool, where physical resources are made available to multiple LPARs, rather than being dedicated to a single LPAR.

There are two types of pools in LPAR: shared processor pools and dedicated processor pools. Shared processor pools allow for the allocation of processor resources based on the entitled capacity of each LPAR in the pool. Dedicated processor pools, on the other hand, allocate a fixed amount of processor resources to each LPAR in the pool, regardless of their entitled capacity.

By using pools, administrators can better manage and allocate resources, allowing for more efficient utilisation of hardware resources. Pools can also be used to manage workload balancing across multiple LPARs, ensuring that no single LPAR is overburdened with resources while others remain underutilised.

Microsoft Hyper-V

Microsoft Hyper-V is a hypervisor-based virtualisation technology that allows multiple virtual machines to run on a single physical host. It was first introduced with Windows Server 2008 and has since been included in every version of Windows Server.

Hyper-V is a Type 1 hypervisor, meaning it runs directly on the host server’s hardware, allowing it to control and manage hardware resources directly, as opposed to a Type 2 hypervisor (such as Oracle VirtualBox or VMware Workstation). This direct access to the hardware allows Hyper-V to provide high performance and scalability.

One of the key benefits of Hyper-V is its integration with Microsoft’s broader suite of tools and technologies. Hyper-V is managed through the Microsoft Management Console (MMC), and it integrates with other Microsoft technologies such as System Center Virtual Machine Manager (SCVMM) for managing virtual machines across multiple hosts and Active Directory for user authentication and security.

Hyper-V also offers several features that can improve the efficiency and availability of virtualized environments. These include:

  • Live Migration. Hyper-V allows for the live migration of virtual machines between hosts, allowing for improved availability and flexibility. Live Migration is facilitated through technologies such as failover clustering and storage migration, which allow virtual machines to be moved between hosts and storage devices without downtime.
  • Hyper-V Replica. Hyper-V Replica allows for the replication of virtual machines between hosts, providing a form of disaster recovery and allowing for quick recovery in the event of a host failure.
  • Dynamic Memory. Hyper-V supports dynamic memory allocation, allowing virtual machines to be allocated memory as needed. This can help improve the overall utilization of physical memory resources.
  • Virtual Machine Queues. Hyper-V can use virtual machine queues (VMQs) to improve network performance by allowing virtual machines to communicate more efficiently with the host’s network interface card (NIC).
  • Storage Quality of Service. Hyper-V includes storage Quality of Service (QoS) functionality, which allows for prioritising storage I/O for specific virtual machines. This can help ensure critical workloads have the necessary I/O resources to perform effectively.

Hyper-V also supports a wide range of guest operating systems, including various versions of Windows, Linux, and others. It can be run on various hardware architectures, including x86, x64, and ARM.

In terms of management and deployment, Hyper-V can be managed through various tools such as PowerShell, System Center Virtual Machine Manager, and Windows Admin Center. These tools provide centralized management of Hyper-V hosts, virtual machines, and networking, among other things.

Nutanix

Nutanix is a hyper-converged infrastructure (HCI) software that provides virtualization capabilities to organizations. Nutanix’s virtualization technology is based on a distributed file system called Nutanix Distributed File System (NDFS). NDFS allows Nutanix to provide a scalable, resilient, and high-performance storage platform for virtual machines.

The following are some of the key virtualisation components and parameters of Nutanix:

  • Nutanix Acropolis Hypervisor (AHV). Nutanix provides its own hypervisor called AHV. AHV is a Type 1 hypervisor that is optimised for Nutanix’s HCI software. It provides features like VM high availability, live migration, and workload balancing. AHV is built on the KVM hypervisor and has a small footprint, which helps to reduce resource consumption.
  • Nutanix Cluster. A Nutanix cluster is a group of Nutanix nodes that work together to provide virtualisation services. Each node in the cluster contains CPU, memory, storage, and networking resources. The Nutanix cluster provides a unified pool of resources that can be allocated to virtual machines as needed.
  • Nutanix Prism. Nutanix Prism is a web-based management console that provides a single interface to manage Nutanix clusters. Prism provides tools for managing virtual machines, storage, networking, and security. It also provides analytics and reporting capabilities for monitoring Nutanix clusters.
  • Nutanix VM. A Nutanix VM is a virtual machine that runs on the Nutanix cluster. Nutanix VMs can be created and managed using Nutanix Prism. Nutanix VMs can run various operating systems, including Windows and Linux.
  • Nutanix Resource Allocation. Nutanix provides several mechanisms for allocating resources to virtual machines. These mechanisms include CPU and memory reservations, CPU and memory shares, and CPU and memory limits. CPU and memory reservations ensure that a minimum amount of resources are always available to a virtual machine. CPU and memory shares provide a way to allocate resources based on priority. CPU and memory limits provide a way to restrict the maximum amount of resources a virtual machine can use.
  • Nutanix VM Affinity Rules. Nutanix VM affinity rules are used to specify which Nutanix nodes a virtual machine can run on. Affinity rules can be used to ensure that virtual machines are distributed across the Nutanix cluster evenly. Affinity rules can also be used to ensure that virtual machines are located on the same Nutanix node for better performance.
  • Nutanix VM High Availability. Nutanix provides built-in high availability features for virtual machines. Nutanix VM high availability ensures that virtual machines are automatically restarted on another Nutanix node in the event of a hardware or software failure.
  • Nutanix Live Migration. Nutanix provides live migration capabilities that allow virtual machines to be moved between Nutanix nodes without downtime. Live migration can be used to balance workloads across the Nutanix cluster or to perform maintenance on Nutanix nodes without affecting virtual machines.

Oracle Solaris LDOM

Solaris Logical Domains (LDOMs) is a virtualization technology that enables the creation of multiple isolated environments (domains) within a single instance of the Solaris operating system. Each LDOM appears to be a separate physical system with its own kernel, file system, and network stack, but all domains share the same underlying hardware resources.

In Solaris LDOM, a control domain is the primary instance of the operating system and the container where other domains are created. It is a fully functional Solaris environment that has the ability to create, manage, and destroy multiple LDOMs. Solaris LDOMs are virtualised servers that are created inside the control domain. Each LDOM operates as a separate and independent system with its own file system, processes, and applications.

Each LDOM can be configured with a maximum number of virtual CPUs (vCPUs) and a maximum amount of memory. Administrators can also set the capped-cpu and capped-memory parameters to limit the amount of CPU and memory resources the LDOM can use. Additionally, the max-lwps parameter can be used to limit the number of processes that the LDOM can run.

In Solaris LDOM, virtual disks and virtual network interfaces can be assigned to individual domains. This allows administrators to control network traffic and disk I/O, and ensures that no single domain monopolises resources to the detriment of others.

LDOMs can be live-migrated between physical servers, allowing for efficient resource usage and easier maintenance. In addition, LDOMs support dynamic resource allocation, which means that administrators can adjust resource allocation on the fly without the need for downtime.

It is possible to run Solaris Zones inside Solaris LDOMs. This provides a level of hardware virtualisation, as each LDOM can be allocated a specific set of hardware resources. The Zones running inside the LDOM can be further partitioned to allocate CPU, memory, and network bandwidth resources. This allows for greater flexibility in managing resources and provides an added layer of isolation between applications.

The benefits of running Solaris Zones inside Solaris LDOMs include increased resource utilisation, improved performance, and greater resource management flexibility. By running multiple zones inside a single LDOM, administrators can better control resource allocation and ensure that no single zone monopolizes resources to the detriment of others. Additionally, because each LDOM has its own set of hardware resources, performance can be optimized for each individual LDOM and the applications running within it.

Oracle Solaris Zones

Solaris Zones are a virtualization technology that enables the creation of multiple isolated environments (zones) within a single instance of the Solaris operating system. These zones appear as separate Solaris systems, each with its own kernel, file system, and network stack, but all share the same underlying hardware resources.

One of the main advantages of Solaris Zones is their efficiency, as they have a small memory footprint and low overhead compared to other virtualisation technologies. This makes them ideal for consolidating multiple applications into a single system, reducing hardware and management costs.

In Solaris, the primary instance of the operating system is called the global zone, and it serves as the container where other zones are created. Solaris Zones are virtualised operating system instances that are created inside the global zone. Each zone operates as a separate and independent system with its own file system, processes, and applications.

Resource management in Solaris Zones can be performed using the resource controls mechanism called psets or processor sets. psets are used to allocate system resources among multiple zones and to cap resource usage of individual zones. psets can be created and configured to allocate specific resources to a zone, such as CPU cores, memory, and I/O bandwidth.

pset_default is a parameter in Solaris Zones that specifies the default processor set for the zone. The pset_default parameter can be used to restrict the resource usage of a zone by assigning it to a specific set of resources.

To indicate that a zone is capped, administrators can set the cpu-shares parameter for the zone to a value less than the default of 100. The cpu-shares parameter specifies the relative share of CPU resources that the zone should receive compared to other zones on the system. In addition to the cpu-shares parameter, administrators can also set the capped-cpu parameter to true to explicitly indicate that the zone is capped. When this parameter is set to true, the cpu-shares value is treated as a hard limit on the amount of CPU resources that the zone can use, even if there are unused CPU resources available on the system.

In the context of Solaris Zones, pools refer to a grouping of one or more CPU sets or memory sets that are used to allocate resources to zones. Pools provide a way to manage and allocate resources in a fine-grained manner, allowing administrators to control which zones have access to specific resources, such as CPU cores or memory, and ensure that no single zone monopolizes resources to the detriment of others.

Each pool has its own set of properties that can be configured by the administrator, such as the number of CPU cores or the amount of memory allocated to the pool. Once the properties are set, zones can be assigned to the pool and given access to the resources. Pools can be nested, with each level of nesting providing additional levels of resource control. This hierarchical approach to resource allocation provides a high degree of flexibility and control for administrators managing complex environments with many zones and varying resource requirements.

Oracle VM

Oracle VM is a virtualisation technology developed by Oracle Corporation. It allows multiple virtual machines (VMs) to run on a single physical server, providing a flexible and scalable solution for server consolidation, testing, and development.

One of the key features of Oracle VM is its ability to perform CPU pinning, which allows administrators to allocate specific CPU resources to a particular VM. CPU pinning ensures that a VM can access the specified CPU resources, regardless of what other VMs on the system are doing. This can be especially useful for applications requiring a specific CPU configuration or ensuring that critical workloads have access to dedicated resources.

CPU affinity, or processor affinity, is the concept of binding or pinning a process or thread to a specific CPU or set of CPUs. This means that the process or thread will only run on the designated CPU or CPUs and will not be scheduled to run on any other CPU.

In Oracle VM, CPU pinning is used to set CPU affinity for virtual machines, allowing you to assign specific physical CPUs to virtual ones. This can be useful for workloads requiring a certain level of CPU performance or for workloads sensitive to CPU scheduling.

To configure CPU pinning in Oracle VM, you can use the xm vcpu-pin command. This command allows you to assign a virtual CPU to a specific physical CPU or set of CPUs.

The syntax for the xm vcpu-pin command is as follows:

xm vcpu-pin <vm-name> <vcpu-id> <cpulist>

Where:

  • <vm-name> is the name of the virtual machine you want to configure.
  • <vcpu-id> is the ID of the virtual CPU you want to pin.
  • <cpulist> is a comma-separated list of physical CPU numbers or ranges of CPU numbers.

For example, the following command would pin virtual CPU 0 of the virtual machine “example-vm” to physical CPUs 0 and 1:

xm vcpu-pin example-vm 0 0-1

In addition to the xm vcpu-pin command, some other parameters and commands can be used to configure CPU pinning in Oracle VM, such as the xm vcpu-set command and the xm sched-credit command. These commands and parameters provide additional control over CPU scheduling and resource allocation in virtual machines.

Oracle VM supports multiple architectures, including x86 and SPARC. It also supports various operating systems, including multiple versions of Oracle Linux, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Microsoft Windows Server. This broad support for operating systems allows administrators to run various applications on Oracle VM, making it a versatile and powerful virtualisation technology.

VMware

ESXi is the hypervisor VMware developed, the software layer that allows multiple virtual machines to run on a single physical server. ESXi is a bare-metal hypervisor, which means that it is installed directly on the server hardware without requiring an operating system to be installed first. ESXi provides a lightweight and efficient virtualisation layer that enables virtual machines to run with minimal overhead.

VMware’s virtualisation technology has evolved significantly over time, starting with the release of the first version of ESX Server in 2001. The first version of ESX Server was a type 1 hypervisor that ran on top of a modified version of Red Hat Linux. Over time, VMware has continued to improve its virtualisation technology, introducing new features and enhancements to improve performance, scalability, and availability.

One of the most significant developments in VMware’s virtualisation technology was the release of vSphere, which is a comprehensive suite of products that includes the ESXi hypervisor, vCenter Server management software, and a range of other tools and services. vSphere provides a centralized platform for managing virtual infrastructure, enabling administrators to create, configure, and manage virtual machines, virtual networks, and storage resources from a single console.

VMware’s virtualisation technology has also evolved to support various use cases, including high availability, disaster recovery, and cloud computing. VMware’s vMotion technology enables live migration of virtual machines between physical servers, allowing administrators to move workloads to optimise resource utilisation or to perform maintenance tasks without downtime. VMware’s Distributed Resource Scheduler (DRS) technology enables automated load balancing across virtual infrastructure, ensuring that resources are allocated optimally to support application performance.

One of the key benefits of vSphere is its ability to support clustering. VMware clusters allow multiple vSphere hosts to be grouped together and managed as a single entity. This makes managing and allocating resources easier across multiple hosts and improves availability and fault tolerance.

Another important feature of vSphere is live migration, which allows virtual machines to be moved from one host to another without any downtime. This is accomplished using a feature called vMotion, which allows virtual machines to be moved between hosts while they are still running.

See also

Esc