OVirt

Last updated
oVirt
Original author(s) Red Hat
Developer(s) oVirt Project
Stable release
4.5.5 [1] / December 1, 2023;3 days ago (2023-12-01)
Repository
Written in Java
Operating system Linux
Platform Java
Available in English, Japanese, French, German, Italian, Spanish
Type Virtual machine
Licence Apache License 2.0
Website www.ovirt.org

oVirt is a free, open-source virtualization management platform. It was founded by Red Hat as a community project on which Red Hat Virtualization is based. It allows centralized management of virtual machines, compute, storage and networking resources, from an easy-to-use web-based front-end with platform independent access. KVM on x86-64, PowerPC64 [2] [3] and s390x [4] architecture are the only hypervisors supported, but there is an ongoing effort to support ARM architecture in a future releases.

Contents

Architecture

oVirt consists of two basic components, oVirt engine and oVirt node.

The oVirt engine backend is written in Java, while the frontend is developed with GWT web toolkit. The oVirt engine runs on top of the WildFly (former JBoss) application server. The frontend can be accessed through a webadmin portal for administration, or a user portal with privileges, and features that can be fine tuned. User administration can be managed locally or by integrating oVirt with LDAP or AD services. The oVirt engine stores data in a PostgreSQL database. Data warehousing and reporting capabilities depend on additional history and reports databases that can be optionally instantiated during the setup procedure. A REST API is available for customizing or adding engine features. [5]

An oVirt node is a server running RHEL, CentOS, Scientific Linux, or experimentally Debian, with KVM hypervisor enabled and a VDSM (Virtual Desktop and Server Manager) daemon written in Python. Management of resources initiated from a webadmin portal are sent through the engine backend that issues appropriate calls to the VDSM daemon. VDSM controls all resources available to the node (compute, storage, networking) and virtual machines running on it and is also responsible for providing feedback to the engine about all initiated operations. Multiple nodes can be clustered from the oVirt engine webadmin portal to enhance RAS.

The oVirt engine can be installed on a standalone server, or can be hosted on a cluster of nodes themselves inside a virtual machine (self-hosted engine). The self-hosted engine can be manually installed or automatically deployed via a virtual appliance. [6]

oVirt is built upon several other projects including libvirt, Gluster, PatternFly, and Ansible.

Features

Virtual datacenters, managed by oVirt, are categorized into storage, networking and clusters that consist of one or more oVirt nodes. Data integrity is ensured by fencing, with agents that can use various resources such as baseboard management controllers or uninterruptible power supplies.

Storage is organized within entities called storage domains and can be local or shared. Storage domains can be created using the following storage solutions or protocols:

Network management allows defining multiple VLANs that can be bridged to the network interfaces available on the nodes. Configuration of bonded interfaces, IP addresses, subnet masks and gateways on managed nodes are all supported within webadmin portal interface, as is SR-IOV on hardware configurations that support this feature.

Management features for compute resources include CPU pinning, defining NUMA topology, enabling kernel same-page merging, memory over-provisioning, HA VM reservation etc.

Virtual machine management enables selecting high availability priority, live migration, live snapshots, cloning virtual machines from snapshots, creating virtual machine templates, using cloud-init for automated configuration during provisioning and deployment of virtual machines. Supported guest operating systems include Linux, Microsoft Windows and FreeBSD. Access to virtual machines can be achieved from webadmin portal using SPICE, VNC and RDP protocols.

oVirt can be integrated with many open source projects, including OpenStack Glance and Neutron for disk and network provisioning, Foreman/Katello for VM/node provisioning or pulling relevant errata information into webadmin portal and can be further integrated with ManageIQ for a complete virtual infrastructure lifecycle management. [7]

Disaster recovery features include the ability to import any storage domain into different oVirt engine instances and replication can be managed from oVirt with GlusterFS geo-replication feature, or by utilizing synchronous/asynchronous block level replication provided by storage hardware vendors. oVirt engine backups can be automated and periodically transferred to a remote location.

oVirt supports hyper-converged infrastructure deployment scenarios. [8] Self-hosted engine and Gluster-based storage domains allow centralized management of all resources that can be seamlessly expanded, simply by adding an appropriate number of nodes to the cluster, without having any single points of failure. oVirt provides deep integration with Gluster, including Gluster specific performance improvements.

See also

Related Research Articles

A hypervisor is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

In computing, paravirtualization or para-virtualization is a virtualization technique that presents a software interface to the virtual machines which is similar, yet not identical, to the underlying hardware–software interface.

A virtual storage area network is a logical representation of a physical storage area network (SAN). A VSAN abstracts the storage-related operations from the physical storage layer, and provides shared storage access to the applications and virtual machines by combining the servers' local storage over a network into a single or multiple storage pools.

Gluster Inc. was a software company that provided an open source platform for scale-out public and private cloud storage. The company was privately funded and headquartered in Sunnyvale, California, with an engineering center in Bangalore, India. Gluster was funded by Nexus Venture Partners and Index Ventures. Gluster was acquired by Red Hat on October 7, 2011.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

Infrastructure as a service (IaaS) is a cloud computing service model by means of which computing resources are supplied by a cloud services provider. The IaaS vendor provides the storage, network, servers, and virtualization (which mostly refers, in this case, to emulating computer hardware). This service enables users to free themselves from maintaining an on-premises data center. The IaaS provider is hosting these resources in either the public cloud (meaning users share the same hardware, storage, and network devices with other users), the private cloud (meaning users do not share these resources), or the hybrid cloud (combination of both).

In computing, virtualization or virtualisation is the act of creating a virtual version of something at the same abstraction level, including virtual computer hardware platforms, storage devices, and computer network resources.

libvirt Management tool

libvirt is an open-source API, daemon and management tool for managing platform virtualization. It can be used to manage KVM, Xen, VMware ESXi, QEMU and other virtualization technologies. These APIs are widely used in the orchestration layer of hypervisors in the development of a cloud-based solution.

<span class="mw-page-title-main">OpenNebula</span> Cloud-computing platform for managing heterogeneous distributed infrastructure

OpenNebula is an open source cloud computing platform for managing heterogeneous data center, public cloud and edge computing infrastructure resources. OpenNebula manages on-premise and remote virtual infrastructure to build private, public, or hybrid implementations of Infrastructure as a Service and multi-tenant Kubernetes deployments. The two primary uses of the OpenNebula platform are data center virtualization and cloud deployments based on the KVM hypervisor, LXD/LXC system containers, and AWS Firecracker microVMs. The platform is also capable of offering the cloud infrastructure necessary to operate a cloud on top of existing VMware infrastructure. In early June 2020, OpenNebula announced the release of a new Enterprise Edition for corporate users, along with a Community Edition. OpenNebula CE is free and open-source software, released under the Apache License version 2. OpenNebula CE comes with free access to patch releases containing critical bug fixes but with no access to the regular EE maintenance releases. Upgrades to the latest minor/major version is only available for CE users with non-commercial deployments or with significant open source contributions to the OpenNebula Community. OpenNebula EE is distributed under a closed-source license and requires a commercial Subscription.

Wakame-vdc is an IaaS cloud computing framework, facilitating the provisioning and management of a heterogeneous virtualized infrastructure. Wakame-vdc virtualizes the entire data center; servers, storage, and networking. Wakame-vdc is managed via a native Web Interface, the Wakame-vdc CLI, or the powerful Wakame-vdc API.

QVD is an open-source virtual desktop infrastructure (VDI) product built on Linux. Its main purpose is to provide remote desktops to users.

<span class="mw-page-title-main">Open Virtualization Alliance</span> Organization

The Open Virtualization Alliance (OVA) was a Linux Foundation Collaborative Project committed to foster the adoption of free and open-source software virtualization solutions including KVM, but also software to manage such, e.g. oVirt. The consortium promoted examples of customer successes, encouraged interoperability and accelerated the expansion of the ecosystem of third party solutions around KVM.

<span class="mw-page-title-main">Ganeti</span> Virtual machine cluster management tool

Ganeti is a virtual machine cluster management tool originally developed by Google. The solution stack uses either Xen, KVM, or LXC as the virtualization platform, LVM for disk management, and optionally DRBD for disk replication across physical hosts or shared storage for external replication. Since 2007 Ganeti is developed and released as free and open-source software. Originally subject to the requirements of the GNU General Public License (GPL) version 2, the license was changed to the 2-clause BSD license in version 2.11.6, released September 2014.

VM-aware storage (VAS) is computer data storage designed specifically for managing storage for virtual machines (VMs) within a data center. The goal is to provide storage that is simpler to use with functionality better suited for VMs compared with general-purpose storage. VM-aware storage allows storage to be managed as an integrated part of managing VMs rather than as logical unit numbers (LUNs) or volumes that are separately configured and managed.

Google Compute Engine (GCE) is the Infrastructure as a Service (IaaS) component of Google Cloud Platform which is built on the global infrastructure that runs Google's search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines (VMs) on demand. VMs can be launched from the standard images or custom images created by users. GCE users must authenticate based on OAuth 2.0 before launching the VMs. Google Compute Engine can be accessed via the Developer Console, RESTful API or command-line interface (CLI).

openQRM is a free and open-source cloud-computing management platform for managing heterogeneous data centre infrastructures.

Software-defined storage (SDS) is a marketing term for computer data storage software for policy-based provisioning and management of data storage independent of the underlying hardware. Software-defined storage typically includes a form of storage virtualization to separate the storage hardware from the software that manages it. The software enabling a software-defined storage environment may also provide policy management for features such as data deduplication, replication, thin provisioning, snapshots and backup.

Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. Originally designed by Google, the project is now maintained by the Cloud Native Computing Foundation.

<span class="mw-page-title-main">Proxmox Virtual Environment</span> Linux distribution for server virtualization

Proxmox Virtual Environment is a hyper-converged infrastructure open-source software. It is a hosted hypervisor that can run operating systems including Linux and Windows on x64 hardware. It is a Debian-based Linux distribution with a modified Ubuntu LTS kernel and allows deployment and management of virtual machines and containers. Two types of virtualization are supported: container-based with LXC, and full virtualization with KVM. It includes a web-based management interface. There is also a mobile application available for controlling PVE environments.

<span class="mw-page-title-main">Dell Technologies PowerFlex</span> Software-defined storage product

Dell Technologies PowerFlex, is a commercial software-defined storage product from Dell Technologies that creates a server-based storage area network (SAN) from local server storage using x86 servers. It converts this direct-attached storage into shared block storage that runs over an IP-based network.

References

  1. "OVirt 4.5.5 Release Notes".
  2. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "Engine support for PPC64" . Retrieved 25 January 2020.{{cite web}}: CS1 maint: multiple names: authors list (link)
  3. Gustavo Frederico Temple Pedrosa, Vitor de Lima, Leonardo Bianconi (2014). "VDSM for PPC64" . Retrieved 25 January 2020.{{cite web}}: CS1 maint: multiple names: authors list (link)
  4. "Nodes [Jenkins]". jenkins.ovirt.org. Retrieved 2021-11-11.
  5. Ourfali, Oved. "Scripting and integration with oVirt" (PDF). Retrieved 26 December 2015.
  6. Tiraboschi, Simone. "oVirt self-hosted engine seamless deployment" (PDF). Retrieved 26 December 2015.
  7. "External Network Providers". oVirt. Retrieved 2023-09-18.
  8. Chaplygin, Denis (29 January 2018). "Improving Hyperconverged Performance" . Retrieved 9 February 2018.