Original author(s) | Red Hat |
---|---|
Developer(s) | oVirt Project |
Stable release | 4.5.5 [1] / December 1, 2023 |
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 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.
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.
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.
A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, 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.
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.
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 where a cloud services vendor provides computing resources such as storage, network, servers, and virtualization. This service frees users from maintaining their own data center, but they must install and maintain the operating system and application software. Iaas provides users high-level APIs to control details of underlying network infrastructure such as backup, data partitioning, scaling, security and physical computing resources. Services can be scaled on-demand by the user. According to the Internet Engineering Task Force (IETF), such infrastructure is the most basic cloud-service model. IaaS can be hosted in a public cloud, a private cloud, or a hybrid cloud.
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.
Red Hat Virtualization (RHV) formerly known as Red Hat Enterprise Virtualization, is an x86 virtualization product developed by Red Hat, and is based on the KVM hypervisor. Red Hat Virtualization uses the SPICE protocol and VDSM with a RHEL-based centralized management server. The platform can access user and group information from either an Active Directory or FreeIPA domain which enables it to allocate resources effectively based on permissions. Built for use in enterprise datacenters, RHV can support up to 400 hosts in a single cluster and no upper limit on the total number of hosts it can support. Development of RHV has ceased and as of August 2020 the product is now only receiving maintenance updates, with extended life phase updates provided until 2026. The successor to RHV is Red Hat's OpenShift container platform.
OpenNebula is an open source cloud computing platform for managing heterogeneous data center, public cloud and edge computing infrastructure resources. OpenNebula manages on-premises and remote virtual infrastructure to build private, public, or hybrid implementations of infrastructure as a service (IaaS) 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.
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.
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. 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 a worldwide community of contributors, and the trademark is held by the Cloud Native Computing Foundation.
Proxmox Virtual Environment is a virtualization platform designed for the provisioning of hyper-converged infrastructure.
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.
Unraid is a proprietary Linux-based operating system designed to run on home servers in order to operate as a network-attached storage (NAS) device, application server, media server and a virtualization host. Unraid is proprietary software developed and maintained by Lime Technology, Inc. Users of the software are encouraged to write and use plugins and Docker applications to extend the functionality of their systems.
{{cite web}}
: CS1 maint: multiple names: authors list (link){{cite web}}
: CS1 maint: multiple names: authors list (link)