System virtualization allows a single computer to be partitioned or divided into multiple virtual computers, each running its own operating system concurrently. These virtual machines are isolated from each other. From the perspective of each operating system, it is running on its own private hardware. Each may have its own network interfaces and IP addresses, file systems, and other peripherals. Different virtual machines need not run the same operating system or operating system version.
Virtualization is important because it allows you to more efficiently use physical computing resources. A large physical system can be partitioned into many smaller virtual systems, allowing it to be used to its full capacity. It also makes it possible for you to more easily and quickly provision new virtual servers, compared to the time it takes to deploy new physical hardware.
A hypervisor is the software that manages and supports the virtualization of a physical server. It runs the virtual machines for each virtualized operating system, providing access to virtual CPUs, memory, disks, networking, and other peripherals while restricting the virtual machines from having direct access to real hardware or each other.
The physical machine or operating system providing the hypervisor is called the host. A guest is a virtual machine running on the hypervisor.
A virtualization management solution may be used to effectively manage virtual machines and hosts running in your infrastructure. Typically, virtualization management tools allow you to create an integrated virtualization environment that can be used to create, manage and monitor virtual machines, hypervisors, storage, and networking resources. This is important because it provides a central point of control for your virtualization infrastructure, rather than requiring you to manage and monitor hundreds of hypervisors and their virtual machines individually.
Virtualization provides a basic foundation for cloud computing. Cloud computing can make use of virtualization technology to provide shared computing resources as on-demand service offerings over the network. A managed virtualization environment is different from a public or private cloud. While both managed virtualization and cloud computing allow the administration of physical resources as multiple virtual resources, cloud computing shares a pool of automatically allocated resources as a service. Cloud resources are available through a self-service model and can also offer the benefits of automated management, scaling, and elasticity.
Use Cases of Virtualization and Cloud
Managed virtualization and cloud computing each lend themselves to different use cases. One primary determinant for the selection of virtualization over the cloud is expected workload. Virtualization is typically the better platform for workloads requiring finite resources for a specific application available to a defined set of users.
Virtualization and Cloud Comparison
|Creates multiple virtual environments for individual physical systems.||Shares a pool of automated virtual resources as an on-demand service.|
|Provides finite resources for a specific use to a defined set of users.||Provides variable resources to groups of users for different purposes.|
|Characterized by long-term allocation of resources.||Characterized by short-term allocation of resources.|
|Workloads are stateful.||Workloads are stateless.|
|High Availability (HA) is handled at the infrastructure level.||High Availability (HA) is handled at the application layer.|
|Scales up in response to increased workload demands.||Scales out in response to increased workload demands.|
Red Hat Virtualization (RHV) is an open-source virtualization platform that allows centralized management of hosts, virtual servers, and desktops across an enterprise data center. It is based on Red Hat Enterprise Linux (RHEL), Kernel-based Virtual Machine (KVM) technology, and the oVirt virtualization management project. Red Hat Virtualization offers features for enterprise-grade virtualization, such as live migration, high availability, system scheduling, power management, image management, snapshots, thin provisioning, and monitoring.
The Red Hat Virtualization (RHV) environment is composed of the following key components:
Red Hat Virtualization Manager (RHVM)
The core component of RHV is the Red Hat Virtualization Manager (RHVM), which provides a central management platform for both physical and virtual resources in a RHV environment. RHVM installs on top of Red Hat Enterprise Linux and stores its data in a PostgreSQL database. Administrators can simplify the management of RHVM user access through integration with supported directory servers, such as Active Directory or LDAP and IPA.
Through the use of a graphical user interface and a RESTful API, RHVM offers the management of virtual machine disk images, installation ISOs, and other storage and network components used in the data center. It allows virtual machines to be started, stopped, created from scratch or from templates, migrated from one physical hypervisor node to another, and more. RHVM also provides access to the graphical consoles of these virtual machines using the SPICE protocol, providing a user desktop experience that performs as if the user’s desktop was running on the user’s local physical client.
Red Hat Virtualization supports two types of deployment for RHVM. The Red Hat Virtualization Manager can either be deployed as a Standalone Manager or a Self-Hosted Engine.
In a Standalone Manager deployment, RHVM is installed on either a physical system or as a virtual machine hosted in another virtualization environment.
In contrast, with a Self-Hosted Engine deployment, RHVM is installed on a virtual machine within the RHV environment that it manages. Instead of manually installing RHVM, you deploy and modify a virtual appliance that Red Hat provides. Its virtual machine is created as part of host configuration, and the engine is installed and configured in parallel to that host configuration process.
Red Hat Virtualization provides two ways to support hypervisors on physical hosts, using Red Hat Virtualization Host (RHVH) or Red Hat Enterprise Linux (RHEL):
– Red Hat Virtualization Host (RHVH) is a standalone, minimal operating system based on Red Hat Enterprise Linux. It is co-engineered with Red Hat Enterprise Linux and supports the same hardware and software ecosystem. It is available as an ISO file and can be used to provision a bare-metal physical system as a hypervisor in a RHV environment. It can be installed using optical media, USB storage, PXE/TFTP distribution, or by cloning.
The RHVH operating system contains only the packages necessary for a system to serve as a physical host. This simplifies its management, maintenance, and deployment in a RHV environment.
The latest version of RHVH in Red Hat Virtualization 4 supports a number of enhancements, including a writable root file system, the ability to install additional RPM packages, and a graphical web administration interface using Cockpit.
– Alternatively, you can configure Red Hat Enterprise Linux to provide a RHV hypervisor. With access to a wider selection of packages, a Red Hat Enterprise Linux host provides greater flexibility and customization than a host deployed with the RHVH operating system.
Depending on your organization’s requirements, you may choose to deploy RHVH or RHEL hosts, or both, within a Red Hat Virtualization environment.
The Virtual Desktop Server Manager (VDSM) management agent runs on all RHV hosts and allows for communication between the Red Hat Virtualization Manager and hosts. VDSM allows RHVM to manage virtual machines, manage storage, and retrieve statistics from both hosts and guests. VDSM uses libvirt to perform basic virtual machine life-cycle commands, such as start, stop, and reboot.
In a Red Hat Virtualization environment, storage domains are configured to provide hypervisor hosts access to virtual machine disk images, templates, and ISO files. RHV supports the use of various file systems (NFS, GlusterFS, or other POSIX-compliant file systems), as well as block devices (iSCSI targets, locally attached storage, or Fibre Channel storage devices) for the creation of storage domains. The file systems or block devices used to back storage domains are typically provided by NAS or SAN hardware in the infrastructure.
There are three types of storage domains: data domains, ISO domains, and export domains:
- Data domains hold virtual machine disk images, as well as templates used for virtual machine creation.
- ISO domains store ISO files used for the deployment of operating systems and applications on virtual machines.
- Export domains provide temporary storage for virtual machine backup and migration.
Data domains can be created from any of the supported file system or block device types. On the contrary, ISO and export storage domains can only reside on NFS shares.