RedHat Virtualization Manager (RHV-M) is a tool for managing virtual machines and hosts. It includes components like the oVirt engine web application, VDS broker, LDAP broker and DB broker which interface with the virtualization hypervisor and storage using APIs. RHV-M allows administrators to centrally manage virtual machine deployment, storage, and hosts across multiple clusters from a single console using its web and CLI interfaces.
Convert to study guideBETA
Transform any presentation into a summarized study guide, highlighting the most important points and key insights.
3. LADP
Backend
Red Hat Enterprise Linux
VDSM
Libvirt
QEMU
KVM
Kernel
Hardware
Red Hat Enterprise
Virtualization Hypervisor
oVirt-engine
CLI
Overview
SPICE or VNC
Storage Domain
Guest
Web Application
VDS Broker
LDAP Broker
DB Broker
REST API
#4: oVirt/RHV - upstream/downstream
oVirt/RHV - is a centralized management tool for managing large number of virtual entities (virtual machines)
It is an open-source alternative for VMWARE VSPHERE or Microsoft HYPER-V.
These main components are:
Hypervisor (VDSM) - the oVirt engine communicates with VSDM to request VM related actions on the nodes
Engine (ovirt-engine) - manages the oVirt hosts, and allows system administrators to create and deploy new VMs
Admin Portal - web based UI application on top of the engine, that sysadmins use to perform advanced actions.
User Portal - a simplified web based UI application for simpler management use-cases.
REST API - an API which allows applications to perform virtualization actions, which is used by the command line tools and the python SDK
CLI/SDK - The command line interface and SDK provide a way to communicate with engine via script actions.
Database - Postgres database is used by the engine to provide persistency for the configuration of the ovirt deployment.
Guest Agent - The guest agent runs inside the VM, and provides information on resource usage to the oVirt engine. Communication is done over a virtualised serial connection.
LDAP - directory services. Engine uses them to receive information on users and groups to be used with ovirt's permissions mechanism.
SPICE client - utility which allows users to access the VMs.
DB Broker - responsible for all the DB related actions
VDS Broker - responsible for all actions that require communicating with VDSM
LDAP Broker - obsoleted and not used
#5: Ovirt-engine
Installed over RHEL / Fedora / centos
Manages the virtual infrastructure from a single point. It provides management for the hosts, virtual machines, storage and networks.
Developed JAVA and the frontend (webadmin and useradmin) is developed with GWT.
It is running over JBOSS application server.
JBoss EAP - an enterprise application platform for building, deploying and hosting Java applications and services.
It has a PostgreSQL DB which can be installed in 2 variations:
Stand-alone: The DB will be installed on a remote machine
all in one: The DB is installed on the same machine as the oVirt-engine
Install hypervisor in the engine:
Host-deploy - The process in RHEVM that installs the server with all the requirements that makes a server a hypervisor without manual intervention like ssh. It configures the networks, storage components like device-mapper and iscsi-utils and prepare the host to be able to run virtual machines
??? Hosted-engine -
A tool that gives us the ability to install the hypervisor and the engine itself on the same physical machine. Very common among customers
??? Ovirt-dwh (data warehouse) - Reporting and data-analysis tool
Ovirt-guest-agent - A tool installed on a Virtual machine that allow communication with the guest OS itself for performing operations on the VM and get information about it without the need to connect to it via SSH or SPICE
#6: Hypervisor
Can be installed on different Operating systems: RHEL / Fedora / centos / RHV-H
RHV-H :RHEV Hypervisor is a compact, full featured virtualization platform for quickly and easily deploying and managing virtualized guests.
VDSM (virtual desktop server manager) - Is a component developed in Python and is the main RHV component that installed on the hypervisor. It¡¯s a daemon and a management tool that allows us to manage the hypervisor in all aspects. For example
HW management
virtualization flows (through Libvirt)
networks flows and storage flows (through lvm, device-mapper, iscsi-utils, nfs-utils and more)
VDSM communicates with ovirt-engine and with other VDSMs through JSON-RPC or XML-RPC in older RHV versions
Libvirt - A RH open-source API, daemon and a management tool for managing the VM processes on the hypervisor and collect statistics about them. In RHV, Libvirt is controlled by VDSM and It can also be controlled manually with an CLI API called virsh.
QEMU - The process that each virtual machine holds on the hypervisor. Managed by Libvirt
KVM - the kernel virtualization module which allows all the manipulations inside the kernel level:
Live migration
Memory and CPU management
devices manipulations like PCI devices pass-through.
#7: RHV-M architecture:
Data center (comp. Versions, mixed/shared)
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, and networks.
Clusters
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.
Storage domains
Storage types: File, Block
SD types: data, ISO, export - table
Storage types (deep) - Gluster, iSCSI, NFS, FCP, CEPH
Storage pool - the storage domains of a DC which all have to be accessed from all the hypervisors of the DC (Storage domains belong to DC and not to clusters)
SPM (Storage Pool Manager) - A role of 1 host from the cluster, which give it the exclusivity role to change the storage architecture - create disks and remove them and manage the storage itself. All other hosts are HSMs (Host Storage Manager) which have the R/W access.
Virtual machine (guest) - a combination of configuration file, storage and HW resources from the hypervisor (like network, CPU and memory). The virtual machine holds qemu process on the host it is running on
Templates - A template is a model virtual machine with predefined settings, a combination of configuration file, storage and HW resources from the hypervisor (like network, CPU and memory without a qemu process. 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.
All VMs in the system are created from a template - default template called ¡®blank¡¯ with basic configuration.
Virtual disks - alloc policies, formats (created on data domains)
#8: REST API
RESTful API for integration with oVirt Engine:
REST interface exposed for all API functions
REST stands for REpresentational State Transfer
Modeling entity actions around HTTP verbs
GET
PUT
POST
DELETE
Still uses 'actions' for some state changes
Self describes ¨C entity navigation and actions
REST Concepts:
Client¨Cserver
Stateless
Cacheable
Uniform interface
Python SDK
CLI and SDK are using on the REST api mentioned above.
SDK:
Python based SDK to allow performing actions on the different entities
Complete protocol abstraction
Full compliance with the oVirt API architecture
Auto-completion
Self descriptive
Intuitive and easy to use
Auto-Generated
?? CLI:
Python based CLI to allow querying and performing actions on the different entities
Complete protocol abstraction
Full compliance with the oVirt API architecture
Highly descriptive help for each operation
Intuitive and easy to use
Auto-Generated