oVirt est une plate-forme de gestion de virtualisation gratuite et open source . Elle a été fondée par Red Hat en tant que projet communautaire sur lequel Red Hat Virtualization est basé. Elle permet une gestion centralisée des machines virtuelles , des ressources de calcul, de stockage et de réseau, à partir d'une interface Web facile à utiliser avec un accès indépendant de la plate-forme . KVM sur les architectures x86-64 , PowerPC64 et s390x sont les seuls hyperviseurs pris en charge, mais un effort est en cours pour prendre en charge l'architecture ARM dans les prochaines versions.
Architecture
oVirt se compose de deux composants de base, le moteur oVirt et le nœud oVirt.
Le backend du moteur oVirt est écrit en Java , tandis que le frontend est développé avec la boîte à outils Web GWT . Le moteur oVirt s'exécute sur le serveur d'applications WildFly (anciennement JBoss) . Le frontend est accessible via un portail d'administration Web ou un portail utilisateur avec des privilèges et des fonctionnalités pouvant être affinées. L'administration des utilisateurs peut être gérée localement ou en intégrant oVirt aux services LDAP ou AD . Le moteur oVirt stocke les données dans une base de données PostgreSQL . Les capacités d'entreposage de données et de création de rapports dépendent de bases de données d'historique et de rapports supplémentaires qui peuvent être éventuellement instanciées pendant la procédure de configuration. Une API REST est disponible pour personnaliser ou ajouter des fonctionnalités du moteur.
Un nœud oVirt est un serveur exécutant RHEL , CentOS , Scientific Linux ou expérimentalement Debian , avec l'hyperviseur KVM activé et un démon VDSM (Virtual Desktop and Server Manager) écrit en Python . La gestion des ressources initiée à partir d'un portail d'administration Web est envoyée via le backend du moteur qui émet des appels appropriés au démon VDSM. VDSM contrôle toutes les ressources disponibles pour le nœud (calcul, stockage, réseau) et les machines virtuelles qui y sont exécutées et est également chargé de fournir des commentaires au moteur sur toutes les opérations initiées. Plusieurs nœuds peuvent être regroupés à partir du portail d'administration Web du moteur oVirt pour améliorer RAS .
Le moteur oVirt peut être installé sur un serveur autonome ou hébergé sur un cluster de nœuds eux-mêmes à l'intérieur d'une machine virtuelle (moteur auto-hébergé). Le moteur auto-hébergé peut être installé manuellement ou déployé automatiquement via une appliance virtuelle .
oVirt s'appuie sur plusieurs autres projets, notamment libvirt , Gluster , PatternFly et Ansible .
Caractéristiques
Les centres de données virtuels , gérés par oVirt, sont classés en stockage, réseau et clusters constitués d'un ou plusieurs nœuds oVirt. L'intégrité des données est assurée par une protection , avec des agents pouvant utiliser diverses ressources telles que des contrôleurs de gestion de carte mère ou des onduleurs .
Le stockage est organisé en entités appelées domaines de stockage et peut être local ou partagé. Les domaines de stockage peuvent être créés à l'aide des solutions ou protocoles de stockage suivants :
- NFS
- iSCSI
- Fibre Channel
- Système de fichiers compatible POSIX
- GlusterFS
La gestion du réseau permet de définir plusieurs VLAN qui peuvent être reliés aux interfaces réseau disponibles sur les nœuds. La configuration des interfaces liées , des adresses IP , des masques de sous-réseau et des passerelles sur les nœuds gérés est prise en charge dans l'interface du portail WebAdmin, tout comme SR-IOV sur les configurations matérielles qui prennent en charge cette fonctionnalité.
Les fonctionnalités de gestion des ressources de calcul incluent l'épinglage du processeur , la définition de la topologie NUMA , l'activation de la fusion de pages identiques du noyau , le surprovisionnement de la mémoire , la réservation de machines virtuelles HA , etc.
La gestion des machines virtuelles permet de sélectionner la priorité de haute disponibilité, la migration en direct , les snapshots en direct , le clonage de machines virtuelles à partir de snapshots, la création de modèles de machines virtuelles, l'utilisation de cloud-init pour la configuration automatisée lors du provisionnement et du déploiement des machines virtuelles. Les systèmes d'exploitation invités pris en charge incluent Linux , Microsoft Windows et FreeBSD . L'accès aux machines virtuelles peut être réalisé à partir du portail d'administration Web à l'aide des protocoles SPICE , VNC et RDP .
oVirt peut être intégré à de nombreux projets open source, notamment OpenStack Glance et Neutron pour le provisionnement de disques et de réseaux, Foreman / Katello pour le provisionnement de machines virtuelles / nœuds ou pour extraire des informations d'errata pertinentes dans le portail d'administration Web et peut être davantage intégré à ManageIQ pour une gestion complète du cycle de vie de l'infrastructure virtuelle .
Les fonctionnalités de reprise après sinistre incluent la possibilité d'importer n'importe quel domaine de stockage dans différentes instances du moteur oVirt et la réplication peut être gérée à partir d'oVirt avec la fonction de géo-réplication GlusterFS , ou en utilisant la réplication au niveau des blocs synchrone/asynchrone fournie par les fournisseurs de matériel de stockage. Les sauvegardes du moteur oVirt peuvent être automatisées et périodiquement transférées vers un emplacement distant.
oVirt prend en charge les scénarios de déploiement d'infrastructure hyperconvergée . Le moteur auto-hébergé et les domaines de stockage basés sur Gluster permettent une gestion centralisée de toutes les ressources qui peuvent être étendues de manière transparente, simplement en ajoutant un nombre approprié de nœuds au cluster, sans aucun point de défaillance unique . oVirt offre une intégration approfondie avec Gluster, y compris des améliorations de performances spécifiques à Gluster.