La Virtualisation open source avec Proxmox VE

La Virtualisation open source avec Proxmox VE

Qu’est-ce que Proxmox et pourquoi l’utiliser ?

Un aperçu de Proxmox

Proxmox Virtual Environment (PVE) est une solution de virtualisation libre et Open Source (licence AGPLv3) qui permet le déploiement de système virtualisés avec Linux KVM ou sur des containers Linux LXC, le stockage défini par logiciel et des capacités de mise en réseau de mise en réseau, sur une seule plateforme.

Proxmox permet donc de déployer des images KVM ou LXC qui peuvent être simplement paramétrées grâce à la puissante interface graphique intégrée au système.
L’interface permet une gestion complète du réseau, des DNS, du stockage, ainsi que la définition d’autorisations sur mesure pour répondre à vos besoins de virtualisation.

Proxmox Virtual Environment est constitué autour d’un socle Linux Debian auquel s’ajoute des composants développés par les équipes de Proxmox.

En plus de ces composants, on pourra citer la possibilité de configurer le système en utilisant différents Operating Systèmes tels que ZFS, EXT4, GlusterFS et CEPH

Prêt pour les Entreprises

Les entreprises utilisent la puissante plateforme Proxmox VE pour installer, gérer et surveiller facilement leurs centres de données hyperconvergés (HCI). Des sources d’authentification multiples, associées à une gestion des utilisateurs et des autorisations basée sur les rôles, permettent un contrôle flexible des clusters HA. L’API REST permet d’intégrer facilement des outils de gestion tiers, tels que des environnements d’hébergement personnalisés.
Le modèle de développement évolutif et ouvert de Proxmox VE garantit un accès complet au code source du produit ainsi qu’une flexibilité et une sécurité maximales.

flowchart LR subgraph CEPH-Main CEPH -.- PVE1 CEPH -.- PVE2 CEPH -.- PVE3 end subgraph PVE3 subgraph OSD-C [OSD PVE3] OSD31[(OSD1)] OSD32[(OSD2)] OSD33[(OSD3)] end ct4{{CT 4}}-.-OSD-C ct5{{CT 5}}-.-OSD-C vm4[/VM 4\]-.-OSD-C vm5[/VM 5\]-.-OSD-C end subgraph PVE2 subgraph OSD-B [OSD PVE2] OSD21[(OSD1)] OSD22[(OSD2)] OSD23[(OSD3)] end ct1{{CT 1}}-.-OSD-B ct2{{CT 2}}-.-OSD-B ct3{{CT 3}}-.-OSD-B ctn{{CT n}}-.-OSD-B end subgraph PVE1 subgraph OSD-A [OSD PVE1] OSD11[(OSD1)] OSD12[(OSD2)] OSD13[(OSD3)] end vm1[/VM 1\]-.-OSD-A vm2[/VM 2\]-.-OSD-A vm3[/VM 3\]-.-OSD-A vmn[/VM n\]-.-OSD-A end

Intérêt de son utilisation

Simplification de l’accès à la virtualisation

Le téléchargement et l’installation de Proxmox VE sont gratuits.
Il est donc possible de tester le système et de se faire une idée par soi même des fonctionnalités qu’il offre.

La mise en place de prototype peut se faire sur la plupart des serveurs basés sur une architecture Intel ou AMD.

De nombreuses fonctionnalités avancées des hyperviseurs les plus connus (VMWare, Hyper-V) sont disponibles dans Proxmox et permettent une utilisation élaborée de la solution de virtualisaiton.

On pourra citer :

  • Mise en cluster
  • Haute disponibilité
  • Réplication temps réel
  • Utilisation de multiples solutions de stockage (LVM, BTRFS, NFS, SMB, GlusterFS, iSCSI, CephFS, RBD, …)
  • Déploiement de Proxmox en SDN
  • Multi-site
  • Implémentation de BGP
  • Intégration d’une solution de sauvegarde simple et efficace (avec Proxmox Backup Server)
  • […]

La plupart de ces solutions sont souvent nettement plus simples à mettre en œuvre que celles proposées par VMWare ou Hyper-V.

Réduction des coûts de mise en œuvre et d’exploitation

PVE permet de réduire considérablement les coûts liés à la mise en œuvre et à l’exploitation des technologies de virtualisation telles que VMWare / Microsoft Virtual Server / Hyper-V / Nutanix ou Xen.

  • Proxmox VE permet une réduction des coûts de mise en œuvre du fait :

    • du support important fourni par la communauté
    • de la présence de guide détaillé et exhaustif sur la solution
    • du moindre coût de l’expertise Promxox comparée à celle des experts VMWare / Hyper-V
    • de l’accès à des technologies de Cluster CEPH permettant le déploiement de systèmes hyperconvergées
  • Proxmox VE permet une réduction des coûts d’exploitation :

    • il n’y a pas de frais de licence contrairement à VMWare
    • il est possible d’utiliser une version gratuite du logiciel
    • le prix des souscriptions Proxmox VE démarre à 95 € / an
    • le support Proxmox VE offre un accès à des équipes de haut niveau
    • Proxmox VE permet une exploitation de Cluster hyperconvergées à coût réduit

Au contexte d’utilisation des PME / ETI et simplifie la mise en œuvre d’infrastructure virtualisée de serveurs.

Caractéristiques principales de Proxmox VE

Virtualisation d’entreprise haute performance

  • Serveurs Linux et Windows, systèmes d’exploitation 32 et 64 bits.
  • Prise en charge des derniers jeux de puces pour serveurs Intel et AMD - pour des performances VM exceptionnelles.
  • Des performances proches de celles d’une machine nue pour les charges de travail réelles de l’entreprise.
  • Couche de gestion contenant toutes les capacités de gestion et de surveillance d’un centre de données à source ouverte, défini par logiciel.

Logiciel Open Source

  • Publié sous licence libre et ouverte GNU Affero General Public License, version 3 AGPL,v3.
  • Conçu pour la coopération communautaire.
  • Dépôt de code public (Git).
  • Traqueur de bogues pour le suivi des problèmes.
  • Forum de soutien communautaire.
  • Documentation, wiki, tutoriels vidéo, HOW-TOs,…

Contrat d’assistance aux entreprises

  • Abonnements permettant d’assurer la continuité des activités.
  • Accès exclusif au répertoires apt Enterprise stabilisé.
  • Mises à jour et mises à niveau de version via l’interface graphique.
  • Support professionnel des développeurs de Proxmox.
  • Souscrire directement au support

Cluster haute disponibilité

  • Pas de point de défaillance unique (pas de SPOF).
  • Cluster multi-maître.
  • Gestion des paramètres HA pour KVM et LXC via GUI.
  • Système de fichiers unique de Proxmox VE Cluster pmxcfs : Système de fichiers piloté par une base de données pour le stockage des fichiers de configuration, répliqué en temps réel sur tous les nœuds grâce à Corosync.
  • Basé sur des technologies HA Linux éprouvées, fournissant un service HA stable et fiable.
  • Agents de ressources pour KVM et les conteneurs (LXC).
  • Contrôle via Watchdog.

Ligne de commande (CLI)

  • Gérez tous les composants de votre environnement virtuel.
  • CLI avec complétion intelligente des tabulations.
  • Documentation complète des pages de manuel UNIX.

Système de clôture

  • Le gestionnaire Proxmox VE HA utilise un système de clôture automatique (fencing), fourni par un mécanisme watchdog matériel ou via des minuteurs softdog du noyau.
  • Pas d’accès simultané aux données ni de corruption.
  • Fonctionne “out-of-the-box”.
  • Inclut le simulateur Proxmox VE HA pour les tests.

Interface de gestion web

  • Intégré - pas besoin d’installer un outil de gestion séparé ou un nœud de gestion supplémentaire.
  • Création rapide et facile de VMs et de conteneurs.
  • Intégration transparente et gestion facile d’un cluster entier. d’un cluster entier.
  • Interface rapide, axée sur la recherche, capable de gérer des milliers de VM. des milliers de VM.
  • Basé sur le cadre JavaScript Ext JS.
  • Console HTML5 sécurisée, supportant SSL.
  • Certificats TLS Let’s Encrypt via le mécanisme de défi basé sur le DNS (ou http). mécanisme de défi basé sur le DNS (ou http).
  • Gestion des abonnements via l’interface graphique.
  • Gestion simple des dépôts APT via l’interface graphique. - Documentation intégrée.

Options de stockage flexibles

  • Stockage local tel que ZFS (cryptage possible), Btrfs, LVM et LVMthin.
  • Stockage partagé tel que CIFS, iSCSI ou NFS.
  • Stockage distribué tel que Ceph RBD et CephFS.
  • Prise en charge du cryptage pour Ceph OSD et ZFS.
  • Nombre illimité de définitions de stockage (niveau cluster).

API REST

  • Intégration facile pour les outils de gestion tiers.
  • API REST (avec JSON comme format de données principal).
  • Format de données facile et lisible par l’homme (format natif du navigateur web).
  • Support complet des jetons API
  • Vérification automatique des paramètres (vérification des valeurs de retour).
  • Génération automatique de la documentation de l’API.
  • Moyen facile de créer des outils en ligne de commande (utilisation de la même API).
  • Architecture orientée ressources (ROA).
  • Définition déclarative de l’API à l’aide du schéma JSON.

Migration en ligne temps réel

  • Déplacez les machines virtuelles QEMU d’un hôte physique à un autre sans interruption de service.

Pile de réplication de stockage (ZFS)

  • Cadre de réplication de stockage intégré et open-source.
  • Redondance pour les invités utilisant le stockage local.
  • Disponibilité des données sans utiliser de stockage partagé.
  • Réplication asynchrone.
  • Minimise la perte de données en cas de panne.
  • Améliore la fiabilité, la tolérance aux pannes et l’accessibilité de vos données.
  • Permet une migration rapide et en direct.
  • Options de planification flexibles avec ‘pvescheduler’.

Stockage défini par logiciel (avec CEPH)

  • Ceph intégre un magasin d’objets distribués et un système de fichiers.
  • Gestion via GUI ou CLI.
  • Exécution de Ceph RBD et CephFS directement sur les nœuds du cluster Proxmox VE.
  • Assistant d’installation facile à utiliser.
  • Proxmox fournit ses propres paquets Ceph.
  • Le support Ceph est inclus dans le contrat de support.
  • Configuration de clusters Ceph externes via l’API.

Réseau virtualisé

  • Options de configuration de réseau flexibles.
  • Chaque hôte peut avoir jusqu’à 4094 ponts.
  • Configuration TCP/IP simple.
  • Support IPv4 et IPv6.
  • Support pour les ponts et VLANs Linux.
  • Intégration d’Open vSwitch.

Sauvegarde et restauration

  • Sauvegardes complètes des VMs et des conteneurs.
  • Sauvegardes instantanées en direct.
  • Définition de programmes de sauvegarde flexibles avec ‘pvescheduler’.
  • Configuration de plusieurs stockages de sauvegarde.
  • Intégration GUI et CLI.
  • Sauvegarde et restauration via l’interface graphique.
  • Configuration des politiques de rétention de sauvegarde via l’interface graphique.
  • Exécution des tâches de sauvegarde programmées manuellement dans le GUI.
  • Surveillance des tâches de sauvegarde via l’onglet “Tasks” de l’interface graphique.

Intégration au serveur de sauvegarde Proxmox

  • Support complet de la solution de sauvegarde d’entreprise open-source de Proxmox.
  • Sauvegardes incrémentales et entièrement dédupliquées des VM, conteneurs et hôtes physiques.
  • QEMU dirty-bitmaps pour la sauvegarde des VM.
  • Chiffrement fort du côté client, avec une gestion facile des clés de chiffrement.
  • Restauration niveau fichier ou répertoire.
  • Avec la restauration en direct, les utilisateurs commencent dès que la restauration a lieu.

Authentification à deux facteurs

  • Fournit une sécurité élevée.
  • Prise en charge de plusieurs types d’authentification 2FA sur un seul compte.
  • Possibilité d’utiliser un jeton matériel (Webauthn, TOTP, Yubikey-OTP).
  • Génére un code de récupération à usage unique.

Sources d’authentification multiples

  • Proxmox VE prend en charge plusieurs sources d’authentification.
  • Authentification standard Linux PAM (par exemple, ‘root’ et autres utilisateurs locaux).
  • Serveur d’authentification Proxmox VE intégré.
  • Microsoft Active Directory (MS ADS).
  • LDAP
  • Signature unique (SSO) avec OpenID Connect

Administration basée sur les rôles

  • Gestion des utilisateurs et des autorisations pour tous les objets (VMs, systèmes de stockage, nœuds, etc.)
  • Proxmox VE est livré avec un certain nombre de rôles prédéfinis (groupes de privilèges) qui couvrent les cas d’utilisation courants. Les privilèges contenus sont visibles dans l’interface graphique.
  • Permissions pour contrôler l’accès aux objets (listes de contrôle d’accès). Chaque autorisation spécifie un sujet (utilisateur ou groupe) et un rôle (ensemble de privilèges) sur un chemin spécifique.

Modèles et clones de VM

  • Le déploiement de machines virtuelles à partir de modèles est très rapide, très pratique et, si vous utilisez des clones liés, très efficace en termes de stockage.
  • Clones liés et clones complets.

Pare-feu Proxmox VE intégré

  • Prise en charge d’IPv4 et IPv6.
  • Technologie Netfilter basée sur Linux. Pare-feu à gestion d’état fournissant une large bande passante.
  • Distribué : avec la configuration principale dans le système de fichiers Proxmox VE en cluster et les règles iptable stockées dans les nœuds.
  • Paramètrage à l’échelle du cluster.
  • 3 niveaux de configuration (centre de données, hôte, VM/CT).
  • Prise en charge des tables “brutes” ; permet la protection contre les attaques SYN flood.

Les principaux composants de la solution sont les suivants :

Nous présentons dans le tableau ci-dessous les différents compostants logiciel mis en œuvre dans la solution Proxmox VE avec une courte explication sur son rôle.

Nom du composant Fonction
pve-cluster Il fournit le Proxmox_Cluster_file_system_(pmxcfs), un système de fichiers piloté par une base de données pour stocker les fichiers de configuration, répliqués en temps réel sur tous les nœuds en utilisant corosync.
pve-ha-crm C’est le gestionnaire de ressources du cluster haute disponibilité de Proxmox VE, il gère le cluster, ce qui signifie qu’il n’y en a qu’un seul d’actif si une ressource-ha est définie, c’est le maître du cluster.
pve-ha-lrm C’est le gestionnaire de ressources locales à haute disponibilité de Proxmox VE, chaque nœud a un lrm actif si ha est activé.
pvedaemon pvedaemon est le serveur API REST. Tous les appels d’API qui nécessitent des privilèges root sont effectués à l’aide de ce serveur.
pveproxy pveproxy est le serveur proxy de l’API REST, écoutant sur le port 8006. Ce service transmet les demandes aux autres nœuds (ou à pvedaemon) si nécessaire.
pvestatd pvestatd est le démon d’état PVE. Il interroge le statut de toutes les ressources (VMs, Containers et Storage), et envoie le résultat à tous les membres du cluster.
pve-manager Il s’agit simplement d’un script de démarrage (pas un démon), utilisé pour démarrer/arrêter toutes les VM et conteneurs.
pve-firewall Proxmox VE Firewall gère le pare-feu (iptables) qui fonctionne à l’échelle du cluster.
pvefw-logger Le journal du Pare-feu de Proxmox VE enregistre les événements du Pare-feu.
corosync Le moteur de cluster Corosync est un système de communication de groupe avec des fonctionnalités supplémentaires pour mettre en œuvre la haute disponibilité dans les applications.