Introduction to Red Hat Virtualization 4.2
Chapter 1. Introduction to Red Hat Virtualization
Red Hat Virtualization is an enterprise-grade virtualization platform built on Red Hat Enterprise Linux. Virtualization allows users to easily provision new virtual servers and workstations, and provides more efficient use of physical server resources. With Red Hat Virtualization, you can manage your entire virtual infrastructure - including hosts, virtual machines, networks, storage, and users - from a centralized graphical user interface or RESTful API.
This guide covers:
- The architecture of Red Hat Virtualization
An overview of the two different Red Hat Virtualization Manager deployment options:
- Standalone Manager
- Self-hosted engine
- The components that make up Red Hat Virtualization
- Interfaces for accessing Red Hat Virtualization
For more detailed technical information about Red Hat Virtualization, see the Technical Reference.
Table 1.1. Red Hat Virtualization Key Components
Red Hat Virtualization Manager
A service that provides a graphical user interface and a RESTful API to manage the resources in the environment.
Red Hat Enterprise Linux hosts (RHEL-based hypervisors) and Red Hat Virtualization Hosts (image-based hypervisors) are the two supported types of host. Hosts use Kernel-based Virtual Machine (KVM) technology and provide resources used to run virtual machines.
A storage service is used to store the data associated with virtual machines.
1.1. Red Hat Virtualization Architecture
Red Hat Virtualization can be deployed as a standalone Manager, or as a self-hosted engine.
1.1.1. Standalone Manager Deployment
The Red Hat Virtualization Manager runs on a separate physical machine, or a virtual machine hosted in a separate virtualization environment. A standalone Manager is easier to deploy and manage, but requires an additional physical server. The Manager is only highly available when managed externally with a product such as Red Hat’s High Availability Add-On.
The minimum setup for a standalone Manager environment includes:
- One Red Hat Virtualization Manager machine. The Manager is typically deployed on a physical machine. However, it can also be deployed on a virtual machine, as long as that virtual machine is hosted in a separate environment.
- A minimum of two hosts for virtual machine high availability. For hosts, you can use Red Hat Enterprise Linux hosts or Red Hat Virtualization Hosts (RHVH). VDSM (the host agent) runs on all hosts to facilitate communication with the Red Hat Virtualization Manager.
- One storage service, which can be hosted locally or on a remote server, depending on the storage type used. The storage service must be accessible to all hosts.
Figure 1.1. Standalone Manager Red Hat Virtualization Architecture
1.1.2. Self-Hosted Engine Deployment
The Red Hat Virtualization Manager runs as a virtual machine on self-hosted engine nodes (specialized hosts) in the same environment it manages. A self-hosted engine environment requires one less physical server, but requires more administrative overhead to deploy and manage. The Manager is highly available without external HA management.
The minimum setup of a self-hosted engine environment includes:
- One Red Hat Virtualization Manager virtual machine that is hosted on one of the self-hosted engine nodes. The virtual machine is installed using the RHV-M Virtual Appliance to automate the installation workflow.
- A minimum of two self-hosted engine nodes for virtual machine high availability. You can use Red Hat Enterprise Linux hosts or Red Hat Virtualization Hosts (RHVH). VDSM (the host agent) runs on all hosts to facilitate communication with the Red Hat Virtualization Manager. The HA services run on all self-hosted engine nodes to manage the high availability of the Manager virtual machine.
- One storage service, which can be hosted locally or on a remote server, depending on the storage type used. The storage service must be accessible to all hosts.
Figure 1.2. Self-Hosted Engine Red Hat Virtualization Architecture
1.2. Red Hat Virtualization Terminology
- Data Center - A data center is the highest level container for all physical and logical resources within a managed virtual environment. It is a collection of clusters, virtual machines, storage domains, and networks.
- Cluster - A cluster is a set of physical hosts that are treated as a resource pool for virtual machines. Hosts in a cluster share the same network infrastructure and storage. They form a migration domain within which virtual machines can be moved from host to host.
- Host - A host is a physical server that runs one or more virtual machines. Hosts are grouped into clusters. Virtual machines can be migrated from one host to another within a cluster.
- Self-Hosted Engine Node - A self-hosted engine node is a host that has self-hosted engine packages installed so that it can host the Manager virtual machine. Regular hosts can also be attached to a self-hosted engine environment, but cannot host the Manager virtual machine.
- Storage Domain - A storage domain is a logical entity that contains a standalone image repository. Each storage domain is used to store virtual disks or ISO images, and for the import and export of virtual machine images.
- Virtual Machines - A virtual machine is a virtual workstation or virtual server containing an operating system and a set of applications. Multiple identical virtual machines can be created in a Pool. Virtual machines are created, managed, or deleted by power users and accessed by users.
- Template - A template is a model virtual machine with predefined settings. A virtual machine that is based on a particular template acquires the settings of the template. Using templates is the quickest way of creating a large number of virtual machines in a single step.
- Virtual Machine Pool - A virtual machine pool is a group of identical virtual machines that are available on demand by each group member. Virtual machine pools can be set up for different purposes. For example, one pool can be for the Marketing department, another for Research and Development, and so on.
- Snapshot - A snapshot is a view of a virtual machine’s operating system and all its applications at a point in time. It can be used to save the settings of a virtual machine before an upgrade or before installing new applications. In case of problems, a snapshot can be used to restore the virtual machine to its original state.
- Logical Networks - A logical network is a logical representation of a physical network. Logical networks group network traffic and communication between the Manager, hosts, storage, and virtual machines.
- Events and Monitors - Alerts, warnings, and other notices about activities help the administrator to monitor the performance and status of resources.
- VDSM - The host agent service running on the hosts, which communicates with the Red Hat Virtualization Manager. The service listens on TCP port 54321.
- Storage Pool Manager (SPM) - The Storage Pool Manager (SPM) is a role assigned to one host in a data center. The SPM host has sole authority to make all metadata changes for the data center, such as the creation and removal of virtual disks.
- Host Storage Manager (HSM) - Any non-SPM host in the data center that can be used for data operations, such as moving a disk between storage domains. This prevents a bottleneck at the SPM host, which should be used for shorter metadata operations.
- Remote Viewer - A graphical interface to connect to virtual machines over a network connection.
- High Availability - High availability means that a virtual machine is automatically restarted if its process is interrupted, either on its original host or another host in the cluster. Highly available environments involve a small amount of downtime, but have a much lower cost than fault tolerance, which maintains two copies of each resource so that one can replace the other immediately in the event of a failure.
HA Services - The HA services include the
ovirt-ha-agentservice and the
ovirt-ha-brokerservice. The HA services run on self-hosted engine nodes and manage the high availability of the Manager virtual machine.
Chapter 2. Red Hat Virtualization Components
2.1. Red Hat Virtualization Manager
The Red Hat Virtualization Manager provides a graphical user interface and a RESTful API to manage the resources of the Red Hat Virtualization environment. In a standalone Manager environment, the Manager is installed on a Red Hat Enterprise Linux 7 physical machine, or a virtual machine hosted in a separate environment. In a self-hosted engine environment, the Manager is installed as a virtual machine hosted on self-hosted engine nodes in the same environment it manages.
High availability for the Manager is only supported in a self-hosted engine environment. At least two self-hosted engine nodes are required for high availability.
See: Administration Guide
Red Hat Virtualization supports two types of host: Red Hat Virtualization Host and Red Hat Enterprise Linux. You can use either or both in your Red Hat Virtualization environment, depending on your requirements.
Red Hat recommends that you install at least two hosts and attach them to the Red Hat Virtualization environment. If you attach only one host, you cannot access features such as migration and high availability.
- Red Hat Virtualization Host (RHVH)
- Red Hat Virtualization Host is a minimal operating system based on Red Hat Enterprise Linux, built for easy management, easy maintenance, and simple deployment. It is distributed as an ISO file from the Customer Portal and contains only the packages required for the machine to act as a host.
- Red Hat Enterprise Linux
- Red Hat Enterprise Linux servers with the appropriate subscriptions attached can be used as hosts. These hosts are more customizable than RHVH.
See: Hosts in the Administration Guide.
Setting up storage and attaching it to your Red Hat Virtualization environment is a prerequisite before you can start creating end-user virtual machines. Red Hat Virtualization has three types of storage domains:
- The data domain contains all the data associated with virtual machines. The data domain supports all storage types that are supported for use with Red Hat Virtualization. See Storage Types in the Planning and Prerequisites Guide.
- The ISO domain contains ISO files for installing a virtual machine operating system or additional applications, such as the Windows guest agents and drivers.
- The export domain is a deprecated storage domain type that was used as a temporary storage repository for moving images between data centers and Red Hat Virtualization environments. This is now done by importing data storage domains.
The ISO and export domains only support file-based storage types (NFS, POSIX, or GlusterFS). The ISO domain supports local storage when used in a local storage data center.
See: Storage in the Administration Guide.
2.4. Data Warehouse
The Red Hat Virtualization Manager includes a comprehensive management history database, which can be utilized by any application to extract a range of information at the data center, cluster, and host levels. Installing Data Warehouse creates the
ovirt_engine_history database, in which the Manager is configured to log information for reporting purposes. The Data Warehouse component must be installed and configured along with the Manager setup.
To calculate an estimate of the space and resources the
ovirt_engine_history database will use, use the RHV Manager History Database Size Calculator tool. The estimate is based on the number of entities and the length of time you have chosen to retain the history records.
See: Data Warehouse Guide
2.5. Metrics Store
Metrics Store collects logs and metrics from Red Hat Virtualization. The data is transferred from Red Hat Virtualization to OpenShift where it is stored and aggregated in Elasticsearch and saved in indexes. The data can then be analyzed and visualized in Kibana.
- Elasticsearch is a distributed, RESTful search and analytics engine that lets you perform and combine many types of searches.
- Kibana is an open source analytics and visualization platform designed to work with Elasticsearch. You can easily perform advanced data analysis and visualize your data in a variety of charts and tables.
2.6. Networking in Red Hat Virtualization
Operations such as storage, host management, user connections, and virtual machine connectivity all rely on a well-planned and well-configured network to deliver optimal performance. Setting up networking is a vital prerequisite for a Red Hat Virtualization environment. Planning for your projected networking requirements and implementing your network accordingly is much simpler than discovering your networking requirements through use and altering your network configuration retroactively.
Red Hat Virtualization separates network traffic by defining logical networks. Logical networks define the path that a selected network traffic type must take through the network. They are created to isolate network traffic by functionality or to virtualize a physical topology.
The ovirtmgmt logical network is created by default and labeled as the Management network. The ovirtmgmt logical network is intended for management traffic between the Red Hat Virtualization Manager and hosts. You can define additional logical networks to segregate:
- General virtual machine traffic
- Storage-related traffic (such as NFS or iSCSI)
- Virtual machine migration traffic
- Virtual machine display traffic
- Gluster storage traffic
See: Logical Networks in the Administration Guide.
Chapter 3. Installing Red Hat Virtualization
3.1. Installation Overview
The following diagram outlines the setup procedure for a standalone Manager deployment and a self-hosted engine deployment.
Figure 3.1. Setup Overview of Red Hat Virtualization
For installation information on a standalone Manager deployment, see the Installation Guide.
For installation information on a self-hosted engine deployment, see the Self-Hosted Engine Guide.
Chapter 4. Accessing Red Hat Virtualization
Red Hat Virtualization exposes a number of interfaces for interacting with the components of the virtualization environment. Many of these interfaces are fully supported. Some, however, are supported only for read access or only when your use of them has been explicitly requested by Red Hat Support.
4.1. Supported Interfaces for Read and Write Access
Direct interaction with these interfaces is supported and encouraged for both read and write access:
- Administration Portal
The Administration Portal is a graphical user interface provided by the Red Hat Virtualization Manager. It can be used to manage all the administrative resources in the environment and can be accessed by any supported web browsers.
- VM Portal
The VM Portal is a graphical user interface provided by the Red Hat Virtualization Manager. It has limited permissions for managing virtual machine resources and is targeted at end users.
In Red Hat Virtualization, the Cockpit user interface can be used to deploy a self-hosted engine environment, as well as perform other administrative tasks on a host. It is available by default on Red Hat Virtualization Host, and can be installed on Red Hat Enterprise Linux hosts.
- Installing Cockpit on Red Hat Enterprise Linux Hosts in the Installation Guide.
- Deploying the Self-Hosted Engine Using Cockpit in the Self-Hosted Engine Guide.
- REST API
The Red Hat Virtualization REST API provides a software interface for querying and modifying the Red Hat Virtualization environment. The REST API can be used by any programming language that supports HTTP actions.
See: REST API Guide
- Software Development Kit (SDK)
The Python, Java, and Ruby SDKs are fully supported interfaces for interacting with the Red Hat Virtualization Manager.
Ansible provides modules to automate post-installation tasks on Red Hat Virtualization.
See: Automating Configuration Tasks using Ansible in the Administration Guide.
- Self-Hosted Engine Command Line Utility
hosted-enginecommand is used to perform administrative tasks on the Manager virtual machine in self-hosted engine environments.
See: Administering the Manager Virtual Machine in the Self-Hosted Engine Guide.
- VDSM Hooks
VDSM hooks trigger modifications to virtual machines, based on custom properties specified in the Administration Portal.
See: VDSM and Hooks in the Administration Guide.
4.2. Supported Interfaces for Read Access
Direct interaction with these interfaces is supported and encouraged only for read access. Use of these interfaces for write access is not supported unless explicitly requested by Red Hat Support:
- Red Hat Virtualization Manager History Database
Read access to the Red Hat Virtualization Manager history (
ovirt_engine_history) database using the database views specified in the Data Warehouse Guide is supported. Write access is not supported.
- Libvirt on Hosts
Read access to libvirt using the
virsh -rcommand is a supported method of interacting with virtualization hosts. Write access is not supported.
4.3. Unsupported Interfaces
Direct interaction with these interfaces is not supported unless your use of them is explicitly requested by Red Hat Support:
Use of the
vdsm-clientcommand to interact with virtualization hosts is not supported unless explicitly requested by Red Hat Support.
- Red Hat Virtualization Manager Database
Direct access to, and manipulation of, the Red Hat Virtualization Manager (
engine) database is not supported unless explicitly requested by Red Hat Support.
Red Hat Support will not debug user-created scripts or hooks except where it can be demonstrated that there is an issue with the interface being used rather than the user-created script itself. For more general information about Red Hat’s support policies see https://access.redhat.com/support/offerings/production/soc.html.