Cours de virtualisation avancée: Proxmox

Created: 2024-05-09 jeu. 14:10

1. Parlons de déploiement (mais pas le vendredi)

1.1. Plusieurs solutions

1.1.1. Machines physiques

Les applications sont déployées sur des machines physiques.

  • ➕ Forte isolation des resources
  • ➕ Sécurité accrue
  • ➖ Laborieux à gérer
    • Un grand nombre de machines différentes
    • Surface d'attaque étendue
    • Beaucoup de travail pour rendre tolérant aux pannes
    • Peu efficace énergétiquement et économiquement

Solution adaptée plutôt lorsque l'on a un petit nombre d'applications.

1.1.2. Machines virtuelles et hyperviseur

Les applications sont déployées dans des machines virtuelles gérées par un hyperviseur.

  • ➕ Isolation des ressources plus faible
  • ➕ Meilleure flexibilité
  • ➕ Meilleure efficacité énergétique et économique
  • ➕ Gestion automatisable des pannes et de la charge
  • ➖ Beaucoup de machines à administrer

Solution adaptée à tout nombre d'applications.

1.1.3. Conteneurs et orchestrateur

Les applications sont déployées dans des conteneurs qui sont gérés au sein d'un orchestrateur.

  • ➕ Isolation des ressources plus faible
  • ➕ Grande flexibilité
  • ➕ Facilité d'automatisation
  • ➕ Grande tolérance aux pannes (si correctement mis en place)
  • ➕ Encore meilleure efficacité énergétique et économique
  • ➖ Nécessite la maîtrise de l'orchestrateur en plus de compétences système
  • ➖ Peut créer plus de problèmes si mauvaise mise en place ou mauvais choix

Solution adaptée à tout nombre d'applications.

2. Proxmox

2.1. Un hyperviseur "bare metal"

  • S’exécute directement sur le hardware
  • Optimisé pour l'exécution de machines virtuelles
  • Pas comme Virtual Box

3. Proxmox

  • Libre
  • Basé sur Debian
  • KVM (machines virtuelles) et LXC (conteneurs)
  • Gestion via terminal ou interface web
  • Orchestration, réplication, cluster
  • Concurrent à Hyper-V ou ESXi
  • Gestion des sauvegardes

3.1. Orchestration et mode cluster

  • Gestion des réplications
  • Gestion de la perte de machines
  • Gestion des sauvegardes

3.2. Machines virtuelles et conteneurs

3.2.1. Machine virtuelle

  • Aussi appelé VM
  • Embarque un système d'exploitation complet
  • ➕ Isolation forte
  • ➖ Lourd et nécessite plus de puissance

Les machines virtuelles sont souvent installées depuis un ISO, comme il serait fait pour une machine physique.

3.2.2. Conteneur

  • Aussi appelé CT
  • Embarque uniquement les fichiers nécessaires
  • ➕ Plus léger
  • ➖ Isolation plus faible

Les conteneurs sont installés depuis des "Templates" qui possèdent des options de configuration. Les "Templates" sont des archives contenant un système de fichier.

4. Note sur les network bridges

  • Pont entre deux réseaux
  • Comme un "switch virtuel"
  • Nécessaire pour permettre aux VM et CT l'accès au réseau

5. Éléments de configuration

5.1. Système

  • Interfaces réseau virtuelles
  • Pare-feu basique
  • Gestion fine des permissions

5.2. Machines virtuelles et conteneurs

  • CPU et mémoire vive
  • Taille du (des) disque(s)
  • Interfaces réseau
  • Pare-feu basique

6. L'interface

  • 1: Liste des ressources: machines, conteneurs, volumes de stockage
  • 2: Configuration de l'instance / du cluster
  • 3: Statut de l'instance Proxmox
  • 4: Boutons pour créer les machines
  • 5: Tâches en cours et historique

6.1. Création d'une machine virtuelle (VM)

6.1.1. Onglet "General"

  • "Node": l'instance Proxmox sur laquelle créer la VM
  • "VM ID": l'identifiant de la VM
  • "Name": le nom pour la VM
  • "Resource pool": la pool de ressources à utiliser

6.1.2. Onglet "OS"

  • "Storage": l'espace de stockage où est stocké l'ISO
  • "ISO image": l'image ISO à utiliser

6.1.3. Onglet "Disks"

  • "Storage": l'espace de stockage dans lequel sera stocké la VM
  • "Disk size": la taille du disque

6.1.4. Onglet "CPU"

  • "Sockets": le nombre de CPU à virtualiser
  • "Cores": le nombre de cœurs par CPU
  • "Total cores": récapitulatif du nombre de cœurs qu'aura la VM

6.1.5. Onglet "Memory"

  • "Memory": la taille de la mémoire vive

6.1.6. Onglet "Network"

  • "Bridge": le pont réseau à utiliser

6.1.7. Onglet "Confirm"

Récapitule la configuration de la future machine virtuelle.

6.2. Création d'un conteneur (CT)

Les onglets et options sont similaires à celles de la création d'une VM, avec quelques options en plus.

6.2.1. Onglet "General"

  • "Password" et "Confirm password": mot de passe de l'utilisateur par défaut (souvent root)
  • "SSH public key": votre clef publique pour la connexion en SSH

6.2.2. Onglet "Template"

  • "Template": la template à utiliser

6.2.3. Onglet "Network"

  • "IPv4/CIDR": l'adresse IP qui sera assignée à l'interface réseau du conteneur
  • "Gateway": la passerelle réseau qui sera utilisée

6.3. Notes à propos de la configuration

Vous pouvez modifier ces options à tout moment et les appliquer à la machine virtuelle ou au conteneur.

7. Démonstration

8. Pour aller plus loin

  • Documentation Proxmox: https://pve.proxmox.com/pve-docs/pve-admin-guide.html
  • Un autre guide: https://www.it-connect.fr/comment-installer-proxmox-ve-7-0-et-creer-sa-premiere-vm/