Cours B2-21 - Virtualiser avec Proxmox VE
Cours · Fiche de cours

B2-21 - Virtualiser avec Proxmox VE

B2-21 Virtualiser avec Proxmox VE

🎓 SIO1 · semestre 2 ⏱️ 6 h (cours + TP) 🎯 Bloc 2 – SISR Comprendre l'hyperviseur Proxmox VE 9, se repérer dans son interface web, créer machines virtuelles et conteneurs, les protéger, les dupliquer et lire ses droits dans un pool, comme le fait un technicien de salle serveur.

🎯 Objectifs

  • Situer Proxmox VE : hyperviseur de type 1, KVM/QEMU pour les machines virtuelles, LXC pour les conteneurs.
  • Décrire un nœud, un cluster et le quorum.
  • Se repérer dans l'interface web (port 8006), les stockages et le réseau (pont vmbr0, VLAN).
  • Créer une VM avec les bons réglages (VirtIO, CPU host, ballooning, agent QEMU) et un conteneur LXC.
  • Choisir entre instantané et sauvegarde, fabriquer un modèle et le cloner.
  • Lire ses droits (utilisateur, rôle, pool) et diagnostiquer les erreurs courantes.

📋 Prérequis

🧭 Référentiel

  • B2.1 Concevoir une solution d'infrastructure : maquetter et prototyper dans un environnement virtualisé.
  • B2.2 Installer et configurer des éléments d'infrastructure ; tester l'intégration.
Test express des prérequis 3 questions · 2 minutes · conseillé avant de commencer

1. Où s'installe un hyperviseur de type 1 ?

Le type 1 est « natif » : il remplace le système hôte. VirtualBox (type 2) est une application sur un système existant. À revoir : B2-20 · VirtualBox.

2. Quelle fonction du processeur faut-il activer dans le BIOS pour faire tourner des VM ?

VT-x (Intel) ou AMD-V donnent à l'hyperviseur un accès direct aux fonctions de virtualisation du processeur. Les deux autres options accélèrent le calcul mais n'ont rien à voir.

3. Que fait l'étiquette (tag) VLAN 50 ajoutée à une trame ?

L'étiquette 802.1Q permet de faire passer plusieurs VLAN sur un même câble. À revoir : B2-03 · VLAN.
AVANT fichiersintranettickets APRÈS VM SRV-LINUX VM SRV-WEB CT GLPI Proxmox VE 3 MACHINES → 1 SERVEUR + SES VM

Chez Brocéliande Logistique (entreprise fictive, 60 salariés), chaque service informatique tourne sur sa propre machine : le serveur de fichiers, l'intranet, le logiciel de tickets. Deux de ces serveurs ont dix ans, ils chauffent et consomment pour rien : la plupart du temps, leur processeur dort.

Le responsable informatique veut les regrouper sur des serveurs Proxmox VE : chaque ancien serveur devient une machine virtuelle ou un conteneur, avec un retour arrière possible avant chaque mise à jour. Il te demande de comprendre l'outil, de monter une première VM propre, de préparer un modèle pour en fabriquer d'autres vite, et de savoir ce que tu as le droit de faire dans ton pool.

Le coursL'hyperviseur et son architecture, l'interface web, les stockages et le réseau, puis créer, protéger et dupliquer VM et conteneurs, comprendre les droits et dépanner.

1. Proxmox VE : un hyperviseur de type 1 complet

Dans la fiche B2-20, tu as utilisé VirtualBox, un hyperviseur de type 2 : une application qui tourne sur ton poste. Un serveur d'entreprise utilise un hyperviseur de type 1, installé directement sur la machine : toutes les ressources vont aux VM, et personne n'a besoin d'ouvrir une session Windows pour qu'elles tournent.

Proxmox VE (Virtual Environment) est l'un des plus répandus en PME et dans l'enseignement : libre, gratuit, et très complet. La version 9 repose sur Debian 13, le système que tu administres déjà. Un serveur Proxmox est donc un Debian auquel on ajoute plusieurs briques.

  • KVMModule du noyau Linux qui utilise VT-x / AMD-V : il permet à une VM d'exécuter ses instructions presque à pleine vitesse.
  • QEMUProgramme qui simule la machine autour du processeur : carte mère, disque, carte réseau, écran. Il lance un processus par VM, relié à KVM.
  • LXCConteneurs système : ils partagent le noyau de l'hôte mais ont leurs propres processus, fichiers et réseau. Très légers.
  • Interface web et APIService pveproxy sur le port 8006 (HTTPS). Tout ce que fait l'interface passe par une API, utilisable aussi en ligne de commande.
  • StockageDossiers, LVM, ZFS, partages NFS ou SMB, serveur de sauvegarde : Proxmox sait tous les utiliser (partie 4).
  • ClusterPlusieurs serveurs gérés ensemble par une seule interface, avec configuration partagée (partie 2).

Proxmox VE : plateforme de virtualisation libre, basée sur Debian, qui gère à la fois des machines virtuelles (KVM/QEMU) et des conteneurs (LXC) depuis une interface web, avec stockage, réseau, sauvegarde et cluster intégrés. Un serveur qui l'exécute s'appelle un nœud.

Navigateur · https://IP:8006 API REST (pvesh, scripts) Shell : qm · pct · pvesm Services Proxmox VE : pveproxy (8006) · pvedaemon · pve-cluster · corosync VM 100 · SRV-LINUXQEMU + KVMson propre noyau VM 101 · SRV-WEBQEMU + KVMson propre noyau CT 120 · GLPIconteneur LXCnoyau de l'hôte CT 121 · SRV-LOGconteneur LXCnoyau de l'hôte Debian 13 · noyau Linux avec le module KVM Matériel : processeur VT-x / AMD-V · mémoire · disques · cartes réseau
Un nœud Proxmox : un Debian dont le noyau fait office d'hyperviseur. Les VM ont chacune leur noyau, les conteneurs utilisent celui de l'hôte.
VM : chacune sa maison et sa cuisine noyau noyau noyau lourd, mais totalement isolé : Windows, Linux, autre Conteneurs : une colocation, une cuisine commune chambre CT 1 chambre CT 2 chambre CT 3 cuisine commune = noyau de l'hôte léger et rapide, mais Linux seulement

Pour bien comprendre : la maison et la colocation

Une VM est une maison individuelle : elle a sa propre cuisine, c'est-à-dire son propre noyau. On y met Windows, Debian ou autre chose, sans que les voisins s'en aperçoivent. En contrepartie, chaque maison coûte cher en place et en démarrage.

Un conteneur LXC est une chambre en colocation : toutes les chambres partagent la cuisine de l'hôte, son noyau Linux. Elles démarrent en une seconde et coûtent presque rien, mais on ne peut pas y loger autre chose que du Linux.

Proxmox gère les deux depuis la même interface : à toi de choisir le logement qui convient au service.

Machine virtuelle (KVM/QEMU)Conteneur (LXC)
NoyauSon propre noyau, donc n'importe quel système (Windows, Linux, BSD)Celui de l'hôte : Linux seulement
DémarrageQuelques dizaines de secondesEnviron une seconde
PoidsMémoire et disque réservés pour tout un systèmeTrès léger : seulement les processus utiles
IsolationForte (matériel simulé)Plus faible (noyau partagé)
Usage typiqueWindows Server, Windows 11, serveur critique, noyau particulierService Linux léger : web, base de données, supervision
Migration entre nœudsÀ chaud possible (sans arrêt)Avec un redémarrage

Un système Windows ou un besoin de noyau particulier : une VM. Un service Linux léger qui n'a besoin de rien d'autre que les outils de l'hôte : un conteneur. Dans le doute, la VM est le choix le plus sûr.

Un conteneur LXC est un système complet (init, SSH, plusieurs services), géré comme une petite machine. Docker, lui, emballe une seule application (fiche B2-23). On peut d'ailleurs faire tourner Docker dans une VM Proxmox.

2. Nœud, cluster et quorum

Un serveur Proxmox seul s'appelle un nœud (node), nommé par exemple pve1. Plusieurs nœuds reliés forment un cluster : une seule interface web pour tous, une configuration commune, et la possibilité de déplacer une VM d'un nœud à un autre. La vue globale s'appelle le Datacenter.

La configuration (VM, stockages, utilisateurs) est stockée dans /etc/pve, un dossier synchronisé entre tous les nœuds par corosync. Pour éviter que deux moitiés d'un cluster coupé en deux modifient chacune leur copie, Proxmox exige le quorum.

Quorum : nombre minimal de nœuds qui doivent se voir pour que le cluster agisse, soit la majorité des voix (plus de la moitié). Chaque nœud a une voix. Pour 3 nœuds, il faut 2 voix ; pour 2 nœuds, 2 voix (aucune panne tolérée) ; pour 5 nœuds, 3 voix.

pve11 voix pve21 voix pve31 voix réseau du cluster (corosync) 3 voix sur 3 · majorité = 2 · quorum ✓ pve11 voix pve21 voix pve3hors ligne les VM de pve3 peuvent être relancées ailleurs (haute disponibilité, B2-25) 2 voix sur 3 ≥ 2 · quorum conservé ✓ pve11 voix pve2isolé pve3hors ligne /etc/pve en lecture seule 1 voix sur 3 < 2 · pas de quorum ✗ pve11 voix pve2hors ligne QDevicetémoin · 1 voix 2 nœuds + 1 témoin : une panne d'un nœud laisse 2 voix sur 3 2 voix sur 3 ≥ 2 · quorum ✓
Le quorum protège le cluster : une moitié isolée ne doit jamais continuer seule à modifier la configuration.

Un cluster utile compte 3 nœuds (ou 2 nœuds et un témoin QDevice). Avec 2 nœuds seulement, la panne de l'un bloque l'autre, car il n'a plus la majorité. Sans quorum, les VM déjà allumées continuent de tourner, mais on ne peut plus en démarrer ni modifier la configuration.

Ton pool vit sur un cluster de plusieurs nœuds. Tu verras apparaître le nom du nœud (pve1, pve2…) dans l'arbre à gauche de l'interface web. Créer ou joindre un cluster est un travail d'administrateur : la fiche B2-25 reprend ces notions pour la haute disponibilité.

3. L'interface web sur le port 8006

Un nœud Proxmox s'administre depuis un navigateur, à l'adresse https://adresse-du-nœud:8006. Le navigateur affiche d'abord un avertissement de sécurité : le certificat du serveur est signé par lui-même et non par une autorité reconnue. Au labo, c'est normal ; en entreprise, on installe un certificat de l'entreprise (ou Let's Encrypt) pour que l'avertissement disparaisse.

3.1 Se connecter depuis le portail

Tu n'as pas à retenir les adresses : la page Mes serveurs et VM du portail rassemble tout ce qu'il te faut pour te connecter à ton pool. Chaque ligne de la carte « Mon pool Proxmox » correspond à un champ de l'écran de connexion.

  • Mon poolLe nom de ton pool de ressources : l'ensemble des VM et conteneurs qui t'appartiennent. Tu ne vois que lui dans l'interface (partie 10).
  • IdentifiantTon nom d'utilisateur Proxmox, à recopier dans le champ Nom d'utilisateur de l'écran de connexion.
  • Royaume (realm)À choisir dans la liste de l'écran de connexion : PVE (Proxmox VE authentication server), la base de comptes de Proxmox. Le royaume Linux PAM désigne les comptes système du serveur, réservés à l'administrateur.
  • Mot de passeAffiché sur la page, uniquement pour toi. Il ne se partage pas : toute action faite avec ton compte t'est attribuée.
  • LangueFrançais : la liste de langue de l'écran de connexion doit l'afficher. Sinon, les noms de boutons de cette fiche ont leur équivalent anglais.
  • J'accède à mon ProxmoxLe bouton ouvre l'écran de connexion dans un nouvel onglet. Pense à cocher Enregistrer le nom d'utilisateur.

L'interface d'administration (port 8006) donne la main sur toutes les machines d'un nœud : elle ne doit jamais être ouverte sur Internet. On l'atteint depuis le VLAN de gestion (99, adresse 172.16.99.41 pour pve1) ou par un VPN. Les élèves, eux, ont un compte limité à leur pool.

3.2 Les cinq zones de l'écran

Clique sur une zone de l'interface : elle s'entoure et son rôle s'affiche sous le schéma.

PROXMOXVirtual Environment 9 Créer une VM Créer un conteneur lea@pve ▾ Vue des pools ▾ ▾ POOL_LEA 100 (deb13-base) 101 (srv-web) 9000 (tpl-debian13) 120 (ct-test) local-lvm (pve1) local (pve1) Machine virtuelle 100 (deb13-base) sur le nœud « pve1 » Arrêter Console Résumé Console Matériel Options Sauvegarde Instantanés Permissions État : en cours (running) Nœud : pve1 IP (agent QEMU) : 172.16.50.12 Processeur : 8 % Mémoire : 1,1 sur 2 Gio Utilisation du processeur (dernière heure) TâchesJournal du cluster 14:02pve1lea@pveVM 100 - DémarrerOK 13:58pve1lea@pveVM 100 - CréerOK 13:41pve1lea@pveVM 101 - ClonerErreur : permission check failed

Choisis une zone : la barre du haut, l'arbre, les onglets, le contenu ou le journal des tâches.

Cinq zones suffisent pour se repérer : l'arbre à gauche choisit l'élément, les onglets choisissent ce qu'on en voit, le journal en bas dit ce qui s'est passé.
OngletCe qu'on y fait
RésuméÉtat, courbes d'utilisation, notes, adresse IP si l'agent QEMU tourne
ConsoleÉcran et clavier de la VM dans le navigateur (noVNC) ; terminal pour un conteneur
Matériel (Hardware)Ajouter ou modifier mémoire, processeurs, disques, cartes réseau, lecteur ISO
OptionsNom, démarrage automatique, ordre de démarrage, agent QEMU, protection contre la suppression
Historique des tâchesLes opérations faites sur cette machine, avec leurs messages d'erreur
Sauvegarde et InstantanésLancer une sauvegarde ; prendre, restaurer ou supprimer un instantané (partie 9)
PermissionsQui a quel droit sur cette machine (partie 10)

La console s'ouvre dans le navigateur (noVNC) : le clavier de ton poste est « capturé » quand tu cliques dans l'écran. Pour envoyer Ctrl+Alt+Suppr à la VM, utilise le menu de la console, car ton poste l'intercepterait.

4. Les stockages

Proxmox range tout dans des stockages (storage). Chaque stockage a un type et accepte certains contenus : images ISO d'installation, disques de VM, volumes de conteneurs, modèles de conteneurs, sauvegardes. Quand tu crées une VM, l'assistant te demande dans quel stockage placer le disque, et dans quel autre aller chercher l'ISO.

Nœud pve1 : l'assistant range chaque élément dans le bon stockage local local-lvm ZFS NFS · SMB PBS dossier sur le disqueLVM-thindisques en miroirpartage réseauserveur de sauvegarde Images ISO Modèles CT Sauvegardes Disques VM Disques CT Disques VM Disques CT Compression Images ISO Sauvegardes Disques VM Sauvegardes Déduplication disques locaux du nœud accessibles par le réseau
Les trois premiers stockages sont des disques du nœud ; NFS, SMB et PBS passent par le réseau et peuvent être partagés entre les nœuds.
StockageCe que c'estInstantanésPartagé entre nœuds
localUn dossier du système (/var/lib/vz) : ISO, modèles de conteneurs, sauvegardesOui, si le disque est au format qcow2Non
local-lvmVolumes LVM-thin pour les disques de VM et de conteneursOui, rapidesNon
ZFSSystème de fichiers avec RAID logiciel (miroir), compression, contrôle d'intégritéOui, et clones instantanésNon (réplication possible)
NFS / SMBPartage d'un NAS ou d'un serveur de fichiers monté par le nœudOui, si qcow2Oui
PBSProxmox Backup Server : sauvegardes dédupliquées et incrémentales (fiche B2-24)Sans objetOui

Les ISO d'installation vont sur local (ou un partage), les disques des machines sur local-lvm ou ZFS, les sauvegardes sur un stockage différent de celui des disques : PBS ou un partage. Une sauvegarde rangée au même endroit que le disque disparaît avec lui.

Proxmox VE shell du nœud · lister les stockagesen root : réservé à l'administrateur
root@pve1:~# pvesm status
Name Type Status Total (KiB) Used (KiB) Available (KiB) %
local dir active 98497780 12344112 81103704 12.53%
local-lvm lvmthin active 832675840 101437440 731238400 12.18%
pbs-labo pbs active 3842148352 1021440000 2820708352 26.58%

Dans l'interface, la même information est dans l'arbre : clique sur un stockage puis sur l'onglet Résumé (espace utilisé) ou Contenu (ISO, disques, sauvegardes). Tu ne vois que les stockages sur lesquels ton compte a des droits (partie 10).

Le stockage local-lvm est « fin » : il accepte plus de disques virtuels que d'espace réel, comme un disque dynamique VirtualBox. Si les VM se remplissent, le stockage peut saturer d'un coup et figer toutes les VM qui l'utilisent. On surveille le pourcentage d'occupation dans le Résumé du stockage.

5. Le réseau : pont vmbr0 et VLAN

Dans Proxmox, les cartes réseau des VM se branchent sur un pont Linux (Linux bridge) : un commutateur virtuel logiciel. Le pont installé par défaut s'appelle vmbr0. La carte physique du serveur (eno1, par exemple) est l'un de ses ports et relie le pont au vrai commutateur de la salle serveur.

Si le pont est sensible aux VLAN (VLAN aware), il comprend les étiquettes 802.1Q : chaque carte de VM reçoit un numéro de VLAN, et le lien vers le commutateur est un trunk. Une seule carte physique suffit alors à servir plusieurs réseaux (B2-03).

Nœud pve1 VM SRV-LINUXcarte VirtIO · VLAN 50 VM SRV-WEBcarte VirtIO · VLAN 50 VM TESTcarte VirtIO · VLAN 70 tag 50 tag 50 tag 70 tag 99 vmbr0 · pont Linux sensible aux VLAN (2 à 4094) vmbr0.99 · gestion du nœud172.16.99.41/24 eno1 · carte physiqueport du pont vmbr0 SW1 lien trunk : VLAN 50, 70, 99
Chaque trame quitte la VM avec son étiquette VLAN, traverse le pont puis la carte physique : le commutateur sait dans quel VLAN la placer.

Dans l'onglet Matériel d'une VM, la carte réseau (Network Device) se règle avec les champs suivants.

  • Pont (Bridge)Le commutateur virtuel où brancher la carte : vmbr0 en général.
  • Étiquette de VLAN (VLAN Tag)Le numéro du VLAN de la VM (50, par exemple). Vide : la trame part sans étiquette, dans le VLAN natif du lien.
  • Modèle (Model)VirtIO : carte paravirtualisée, la plus rapide. Intel E1000 ne sert que si le système n'a pas le pilote VirtIO.
  • Adresse MACGénérée automatiquement et unique : un clone reçoit toujours une nouvelle adresse (plus de conflit comme sous VirtualBox).
  • Pare-feu (Firewall)Active le pare-feu de Proxmox sur cette carte. Il filtre sans rien installer dans la VM.
  • Limite de débit (Rate limit)Plafonne le débit de la carte (en Mo/s) pour qu'une VM ne monopolise pas le lien.

Une VM sans étiquette VLAN sur un pont sensible aux VLAN part dans le VLAN natif du lien. Si ce VLAN natif est un VLAN « poubelle » sans service (le 999 de la fiche B2-03), la VM n'a aucun réseau : pas de DHCP, pas de ping. Premier réflexe : l'onglet Matériel, champ Étiquette de VLAN.

InterfaceRôleExemple
Carte physiqueRelie le nœud au commutateureno1
Agrégat (bond)Regroupe plusieurs cartes en un lien (LACP, fiche B2-04)bond0
Pont LinuxCommutateur virtuel des VMvmbr0
Interface VLANAdresse du nœud dans un VLAN donnévmbr0.99
Pont sans carte physiqueRéseau interne isolé, comme le « réseau interne » de VirtualBoxvmbr1
Fichier /etc/network/interfaces · nœud pve1modifié par l'administrateur seulement
auto vmbr0
iface vmbr0 inet manual
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094

auto vmbr0.99
iface vmbr0.99 inet static
    address 172.16.99.41/24
    gateway 172.16.99.254

Depuis Proxmox 8, brancher une carte sur un pont demande le droit SDN.Use sur ce pont. Sans lui, la création de la VM échoue avec « Permission check failed (/sdn/zones/localnetwork/vmbr0, SDN.Use) ». Les élèves n'ont pas le droit de modifier les ponts : seul l'administrateur change le fichier ci-dessus.

6. Créer une machine virtuelle pas à pas

Le bouton Créer une VM (en haut à droite) ouvre un assistant de huit onglets. Avance avec les boutons Suivant et Retour du bas : rien n'est créé avant le clic sur Terminer. Les noms de champs ci-dessous sont donnés en français, avec l'équivalent anglais de Proxmox quand il peut aider.

Créer : Machine virtuelle Général SE Système Disques Processeur Mémoire Réseau Confirmation Général Nœud pve1 ton pool est sur ce nœud ID VM 100 numéro unique, proposé Nom deb13-base sans espace ni accent Pool de ressources POOL_LEA obligatoire : sans luile droit est refusé SE Stockage ISO local où sont rangées les ISO Image ISO debian-13-amd64-netinst.iso le « DVD » d'installation Type de SE Linux règle les réglages par défaut Version 6.x - 2.6 Kernel valable pour Debian 13 Système Machine q35 carte mère moderne BIOS SeaBIOS (défaut) OVMF si démarrage UEFI Contrôleur SCSI VirtIO SCSI single le plus rapide Agent QEMU coché à cocher dès maintenant Disques Bus/Périphérique SCSI 0 disque VirtIO SCSI Stockage local-lvm disques de VM Taille du disque (Gio) 20 alloué à la demande Abandonner (Discard) coché rend l'espace libreau stockage Processeur Sockets 1 un seul processeur virtuel Cœurs 2 jamais plus que l'hôte Type host les fonctions du vrai CPU Mémoire Mémoire (Mio) 2048 maximum donné à la VM Minimum (Mio) 1024 ballooning : l'hôte peutreprendre jusqu'à ce seuil Ballooning Device coché inclus avec le noyau Linux Réseau Pont (Bridge) vmbr0 commutateur virtuel Étiquette de VLAN 50 VLAN de la VM Modèle VirtIO (paravirtualisé) pilote déjà dans Debian Pare-feu coché filtrage Proxmox Confirmation Machine deb13-base · 2 cœurs · 2 Gio Disque 20 Gio sur local-lvm Réseau VirtIO sur vmbr0, VLAN 50 Démarrer après création décoché on démarre à la mainaprès vérification Précédent Suivant / Terminer
Huit onglets, de gauche à droite : l'assistant ne demande rien de plus que ce que tu viens de lire.

Six réglages font la différence entre une VM correcte et une VM lente ou fragile. Ce sont ceux que le jury et le responsable informatique regardent.

  • Contrôleur VirtIO SCSI singleLe contrôleur de disque paravirtualisé : la VM sait qu'elle est virtuelle et parle directement à l'hôte. Debian le reconnaît seul ; Windows demande un pilote (partie 7).
  • Type de processeur : hostLa VM voit exactement les fonctions du processeur réel : performances maximales. Contrepartie : migrer à chaud vers un serveur au processeur différent peut échouer. Le type par défaut (x86-64-v2-AES) est plus portable.
  • Cœurs1 à 2 pour un serveur de test. La somme des cœurs de toutes les VM allumées peut dépasser ceux de l'hôte (surbooking), mais une VM ne doit jamais en avoir plus que lui.
  • Mémoire et ballooningLe maximum est ce que la VM peut utiliser ; le minimum est ce qu'elle garde toujours. Le ballooning permet à l'hôte de reprendre l'écart entre les deux quand il manque de mémoire. Minimum égal au maximum : ballooning désactivé.
  • Disque : Discard et IO threadDiscard informe le stockage des blocs libérés (il rétrécit vraiment) ; IO thread donne au disque son propre fil d'exécution, utile avec VirtIO SCSI single.
  • Carte réseau VirtIOPlus rapide que les cartes émulées (E1000) et incluse dans le noyau Linux. Pense à l'étiquette VLAN.

Linux serveur : VirtIO SCSI single, disque 20 Gio avec Discard, 2 cœurs type host, 2 Gio avec minimum 1 Gio, carte VirtIO sur vmbr0 avec son VLAN, agent QEMU coché. Cette recette sert de point de départ pour toutes tes VM.

Le message « Permission check failed » à la création vient presque toujours d'un oubli : pool non choisi (onglet Général), stockage où tu n'as pas de droit (onglet Disques) ou pont non autorisé (onglet Réseau). Lis le journal des tâches : il nomme le chemin et le droit manquant (partie 10).

7. Pilotes VirtIO et agent QEMU

7.1 Pourquoi VirtIO ?

Pour qu'un système croie avoir un vrai matériel, QEMU peut émuler une carte Intel ou un contrôleur de disque classique : c'est universel mais lent, car chaque opération est traduite. Avec VirtIO, le système invité sait qu'il est virtuel : un pilote spécial échange les données avec l'hôte par une file partagée, sans traduction.

Carte émulée (Intel E1000) Carte VirtIO (paravirtualisée) Pilote Intel dans la VM QEMU imite la puce, registre par registre Noyau de l'hôte Pilote virtio dans la VM File partagée avec l'hôte Noyau de l'hôte beaucoup d'échanges : lent, mais marche partout un seul échange groupé : rapide
VirtIO supprime l'imitation du matériel : c'est le choix par défaut pour le disque, le réseau et le ballooning.

7.2 Debian et Windows

Debian embarque les pilotes VirtIO dans son noyau : rien à installer pour le disque et le réseau. Windows ne les connaît pas. On monte alors une seconde image, virtio-win.iso (publiée par le projet Fedora), sur un deuxième lecteur de CD de la VM.

  1. Avant l'installation : ajoute le lecteur CD avec virtio-win.iso (onglet Matériel → Ajouter → Lecteur CD/DVD).
  2. Au choix du disque, l'installateur de Windows ne voit aucun disque : clique sur Charger un pilote et choisis le dossier vioscsi du CD, sous-dossier de ta version (w11, 2k25). Le disque apparaît.
  3. Après l'installation : lance virtio-win-guest-tools.exe depuis le CD. Il installe les pilotes réseau (NetKVM), le ballooning (Balloon) et l'agent QEMU.
  4. Ensuite : retire le CD virtio-win.iso si tu n'en as plus besoin.

7.3 L'agent QEMU

L'agent QEMU (QEMU Guest Agent) est un petit service installé dans la VM qui permet à Proxmox de lui parler. Il joue le rôle des Additions invité de VirtualBox.

  • Adresse IP visibleProxmox lit l'adresse de la VM et l'affiche dans le Résumé, sans passer par la console.
  • Arrêt propreLe bouton Arrêter (shutdown) demande au système de s'éteindre correctement.
  • Instantanés et sauvegardes cohérentsL'agent fige brièvement le système de fichiers : les données écrites sur le disque sont complètes au moment de la copie.
  • SynchronisationL'heure de la VM est remise à jour après un instantané avec mémoire ou une migration.

Il faut deux conditions : la case Agent QEMU cochée (onglet Options ou assistant) et le service installé dans la VM. Sur Debian :

Debian 13 dans la VMà la console de la VM
$ sudo apt install qemu-guest-agent # le service démarre tout seul si la case est cochée
$ sudo systemctl status qemu-guest-agent # « active (running) » attendu
$ ip -br a # cette adresse doit apparaître aussi dans le Résumé de Proxmox

Cocher l'agent sur une VM déjà allumée ne suffit pas : le matériel virtuel (un petit canal série) n'est ajouté qu'à l'arrêt complet suivi d'un démarrage. Un simple « Redémarrer » ne le prend pas en compte. Symptôme : « QEMU guest agent is not running » à chaque arrêt ou sauvegarde.

Entraîne-toi : écris les commandes à taper dans la VM Debian pour installer l'agent, vérifier son état et lire l'adresse de la VM. Vérifie chaque ligne avec ✓.

Installer l'agent ›
Vérifier le service ›
Démarrer le service ›
Lire l'adresse IP ›

8. Un conteneur LXC à partir d'un modèle

Un conteneur se crée avec le bouton Créer un conteneur. Il ne s'installe pas depuis une ISO : on part d'un modèle de conteneur (template), une archive prête à l'emploi, par exemple debian-13-standard, rangée dans un stockage qui accepte les modèles (local). L'assistant ressemble à celui des VM, avec des champs propres aux conteneurs.

  • Nom d'hôte et IDLe nom (ct-test) devient le nom de la machine. L'ID est partagé avec les VM : un numéro ne sert qu'une fois.
  • Conteneur non privilégié (Unprivileged)Coché par défaut, à garder : l'utilisateur root du conteneur correspond à un utilisateur sans droits sur l'hôte. Un échappement du conteneur reste sans gravité.
  • Mot de passe et clé SSHLe mot de passe de root dans le conteneur, ou une clé publique pour SSH. C'est le seul accès tant que le réseau n'est pas réglé.
  • ModèleLe stockage des modèles puis le modèle : debian-13-standard. L'archive est déjà un Debian presque complet.
  • Disque (rootfs)Stockage local-lvm, 4 à 8 Gio suffisent pour un service Linux léger.
  • Processeur et mémoireCœurs (1 ou 2), mémoire (512 Mio à 1 Gio) et swap. Le conteneur n'utilise que ce qu'il consomme, le reste reste à l'hôte.
  • RéseauNom eth0, pont vmbr0, étiquette VLAN, puis l'adresse : DHCP, ou statique en notation CIDR (172.16.50.35/24) avec la passerelle.

VM et conteneurs partagent la même série de numéros (100, 101, 120…), et le même fonctionnement : démarrer, arrêter, instantané, sauvegarde, clone, migration. La console d'un conteneur est un terminal texte, pas un écran graphique.

Aucun modèle n'apparaît dans la liste de l'assistant ? Le stockage choisi n'en contient pas, ou ton compte n'a pas le droit d'y lire. Le bouton Modèles (téléchargement depuis le dépôt Proxmox) demande un droit d'administrateur : si le modèle debian-13-standard manque, signale-le à ton professeur plutôt que de chercher à le contourner.

VM ou conteneur ? Réponds pour le service à héberger

Le service tourne-t-il sous Linux ?Windows Server et Windows 11 ne tournent pas dans un conteneur.

Se contente-t-il du noyau de l'hôte, sans module ni pilote particulier ?Un VPN avec module noyau ou un système de fichiers spécial demandent un noyau à eux.

Est-il peu exposé (réseau interne, service connu et à jour) ?Un service ouvert à Internet ou exécutant du code inconnu demande une isolation maximale.

Choisis une machine virtuelle : son propre noyau, une isolation forte, n'importe quel système.

Un conteneur LXC convient : démarrage en une seconde, très peu de mémoire. Garde-le non privilégié et mets-le dans le bon VLAN.

9. Instantanés, sauvegardes, modèles et clones

Comme avec VirtualBox (B2-20), une VM Proxmox peut être photographiée, copiée et dupliquée. Mais en entreprise, on distingue soigneusement l'instantané, qui sert à annuler une manipulation, et la sauvegarde, qui sert à survivre à une panne.

9.1 Instantané ou sauvegarde ?

local-lvm · nœud pve1 PBS · autre serveur disque de la VM 100 instantané avant-maj copie par le réseau sauvegarde de la VM 100 disque et instantané perdus ensemble · la sauvegarde survit
Un instantané protège d'une erreur, pas d'une panne de disque : seule une copie rangée ailleurs est une sauvegarde.
Instantané (snapshot)Sauvegarde (backup)
RôleRevenir en arrière après une manipulation ratéeRestaurer après une panne, une suppression, un rançongiciel
Où ?Sur le même stockage que le disqueSur un autre stockage (PBS, partage), idéalement un autre site
VitesseQuelques secondesMinutes à heures selon la taille ; incrémentale avec PBS
Durée de vieQuelques jours : une longue chaîne ralentit la VMSelon la politique de conservation (B2-24)
RestaurationRetour en arrière (Rollback) : tout ce qui a été fait depuis l'instantané est perduRestaurer : recrée la VM (ou la remplace)

Dans l'onglet Instantanés, le bouton Créer un instantané demande un nom (sans espace) et propose d'inclure la mémoire (Inclure la mémoire vive). Avec la RAM, la VM reprend exactement là où elle en était, programmes ouverts compris ; sans elle, seul le disque est restauré et la VM redémarre proprement. Pour un serveur, l'instantané sans RAM est le plus simple, surtout avec l'agent QEMU qui garantit un disque cohérent.

Un instantané se prend avant une manipulation risquée et se supprime quand elle a réussi. Il ne protège ni d'une panne de disque, ni d'un rançongiciel : une vraie sauvegarde est ailleurs (fiche B2-24, règle 3-2-1).

9.2 Modèles et clones

Pour fabriquer plusieurs serveurs identiques, on prépare une VM propre, on la convertit en modèle (clic droit → Convertir en modèle), puis on la clone. Un modèle ne démarre plus : c'est un moule en lecture seule. La conversion est définitive.

Modèle 9000tpl-debian13 disque de baselecture seule Clone lié · VM 101ses différences Clone lié · VM 102ses différences Clone complet · VM 103sa propre copie du disque Clone lié ✓ créé en quelques secondes✓ très peu d'espace disque ✗ dépend du modèle : on ne peutpas le supprimer tant qu'ilreste des clones liés pour des VM de test, de TP Clone complet ✓ copie totalement indépendante✗ plus long, prend toute la placepour des serveurs de production
Un clone lié ne stocke que ses différences avec le modèle ; un clone complet est une copie autonome, qu'on peut même placer sur un autre stockage.

Le clic droit sur le modèle puis Cloner ouvre une petite fenêtre : mode (clone lié ou complet), nom, ID, pool, et pour un clone complet le stockage cible. Proxmox génère une nouvelle adresse MAC à chaque clone.

Un clone reste, à l'intérieur, identique au modèle : même nom de machine, même identifiant système (/etc/machine-id), mêmes clés SSH. Deux clones avec le même identifiant se confondent pour le DHCP et la supervision. On prépare donc le modèle avant de le convertir, et on personnalise chaque clone au premier démarrage. La fiche B2-22 (cloud-init) automatise cette étape.

Debian 13 dans la VM à transformer en modèleavant « Convertir en modèle »
$ sudo apt update && sudo apt full-upgrade -y # modèle à jour
$ sudo apt clean # vide le cache des paquets
$ sudo truncate -s 0 /etc/machine-id # un nouvel identifiant sera créé au premier démarrage
$ sudo systemctl poweroff # le modèle se convertit VM éteinte
Debian 13 dans chaque clone, au premier démarragepersonnalisation
$ sudo hostnamectl set-hostname web1 # un nom unique
$ sudo rm /etc/ssh/ssh_host_* # supprime les clés SSH héritées du modèle
$ sudo dpkg-reconfigure openssh-server # en recrée de nouvelles, propres à ce clone

10. Pools, utilisateurs et droits

Dans un cluster partagé par plusieurs personnes, chacun ne doit voir et modifier que ses propres machines. Proxmox y arrive avec quatre notions, que tu retrouves dans ton compte de labo (page Mes serveurs et VM).

  • UtilisateurUn compte, écrit identifiant@royaume : par exemple lea@pve. Le royaume dit où est vérifié le mot de passe (pve = base de Proxmox).
  • Pool de ressourcesUn dossier logique qui regroupe des VM, des conteneurs et des stockages. Donner un droit sur le pool le donne sur tout ce qu'il contient, y compris les futures VM.
  • RôleUn ensemble de privilèges : PVEVMAdmin (administrer les VM), PVEVMUser (les utiliser), PVEDatastoreUser (créer des disques), PVEAuditor (lire seulement)…
  • PermissionL'association d'un utilisateur, d'un rôle et d'un chemin (/pool/POOL_LEA, /storage/local-lvm, /vms/100). Sans permission, l'élément reste invisible.
Qui : utilisateurlea@pve Quoi : rôlePVEVMAdmin Où : chemin/pool/POOL_LEA Permission(ACL) POOL_LEA · accès autorisé VM 100 VM 101 CT 120 local-lvm les futures VM du pool héritent du droit POOL_MAX · pool d'un autre élèveaucune permission : invisible
Une permission dit « cet utilisateur a ce rôle sur ce chemin ». Ton pool t'est ouvert ; celui d'un camarade n'apparaît même pas dans ton arbre.

Les droits réels sont des privilèges précis, que les rôles regroupent. Quand une action est refusée, le journal des tâches donne le chemin et le privilège manquants, sous la forme Permission check failed (chemin, privilège). Voici ceux dont tu as besoin pour ce que fait cette fiche.

ActionPrivilègeSur quel chemin
Créer une VM ou un conteneurVM.Allocatele pool (/pool/…)
Créer un disqueDatastore.AllocateSpacele stockage (/storage/local-lvm)
Brancher une carte sur un pontSDN.Use/sdn/zones/localnetwork/vmbr0
Démarrer, arrêterVM.PowerMgmtla VM (/vms/100) ou le pool
Ouvrir la consoleVM.Consolela VM ou le pool
InstantanéVM.Snapshotla VM ou le pool
ClonerVM.Clone (+ VM.Allocate, Datastore.AllocateSpace)la VM source, le pool cible, le stockage
Changer le matérielVM.Config.* (disque, CPU, mémoire, réseau)la VM ou le pool

Un compte ne reçoit que les droits dont il a besoin, sur le plus petit chemin possible : le pool d'un élève, pas tout le cluster. Les rôles Administrator et PVEAdmin restent réservés aux administrateurs, et toute action est tracée au nom de l'utilisateur dans le journal des tâches. Ne partage jamais ton mot de passe : on te l'attribuerait.

Si l'onglet Permissions de ton pool ou d'une VM s'affiche, tu y vois les lignes qui te concernent : utilisateur, rôle, chemin. Sinon, déduis tes droits des boutons disponibles (un bouton grisé ou absent signale un privilège manquant) et des messages Permission check failed. Un droit manquant se demande à l'administrateur, avec le message exact.

11. Les commandes qm et pct, et la migration

11.1 En ligne de commande

Tout ce que fait l'interface web existe en ligne de commande, ce qui permet d'écrire des scripts. qm pilote les machines virtuelles (QEMU Manager), pct les conteneurs (Proxmox Container Toolkit). Ces commandes s'exécutent sur le nœud, avec un compte administrateur : au TP, tu les liras sans les taper, car ton compte se limite à l'interface web.

Proxmox VE shell du nœud · machines virtuellesen root : réservé à l'administrateur
# qm list # toutes les VM du nœud, leur état, leur mémoire
# qm start 100 # démarrer ; qm shutdown 100 (arrêt propre) ; qm stop 100 (coupure brutale)
# qm config 100 # tous les réglages de la VM
# qm snapshot 100 avant-maj # instantané ; qm listsnapshot 100 pour les lister
# qm rollback 100 avant-maj # retour arrière
# qm template 9000 # convertir la VM 9000 en modèle
# qm clone 9000 201 --name web1 --full # clone complet ; sans --full : clone lié
# qm agent 100 ping # l'agent QEMU répond-il ?
Proxmox VE shell du nœud · conteneursen root : réservé à l'administrateur
# pveam list local # les modèles de conteneurs disponibles
# pct create 120 local:vztmpl/debian-13-standard_13.x-1_amd64.tar.zst --hostname ct-test --unprivileged 1 --rootfs local-lvm:8 --memory 512 --net0 name=eth0,bridge=vmbr0,tag=50,ip=dhcp
# pct start 120 # démarrer ; pct list pour la liste
# pct enter 120 # ouvre un terminal dans le conteneur
# pct exec 120 -- apt update # exécute une commande dedans

Entraîne-toi : complète les commandes d'un technicien de Brocéliande, pour une VM 100 et un modèle 9000. Vérifie chaque ligne avec ✓.

Instantané « avant-maj » de la VM 100 ›
Retour arrière sur cet instantané ›
Convertir la VM 9000 en modèle ›
Clone complet 201 nommé web1 ›
Démarrer le conteneur 120 ›

11.2 La migration, en principe

Dans un cluster, on peut déplacer une VM d'un nœud à l'autre, par exemple pour vider un serveur avant une maintenance. La migration à chaud (live migration) copie la mémoire par le réseau pendant que la VM tourne, puis la fait basculer en une fraction de seconde. Les utilisateurs ne remarquent rien.

Nœud pve1 Nœud pve2 stockage partagé NFS, SMB ou Ceph : les deux nœuds voient le disque VM 101 VM 101 mémoire copiée par le réseau VM 101 pause : quelques ms libre VM 101
Seule la mémoire voyage : si le disque est sur un stockage partagé, il reste en place.
ConditionPourquoi
Les deux nœuds dans le même clusterLa configuration de la VM doit être connue de l'autre nœud
Stockage partagé, ou copie des disques locauxSans partage, le disque est recopié aussi : l'opération est longue (option --with-local-disks)
Réseau rapide entre les nœudsLa mémoire entière doit voyager
Processeurs compatiblesAvec le type host, la VM ne peut pas atterrir sur un processeur plus ancien
Pas de matériel local lié à la VMUne clé USB ou un disque branché au nœud ne suit pas

Un conteneur ne migre pas à chaud : Proxmox l'arrête, le déplace et le redémarre. En commande : qm migrate 101 pve2 --online pour une VM, pct migrate 120 pve2 --restart pour un conteneur. La fiche B2-25 va plus loin : la haute disponibilité relance seule les VM d'un nœud tombé en panne.

12. Dépanner Proxmox VE

Premier réflexe, toujours : ouvrir le journal des tâches en bas de l'écran, double-cliquer sur la ligne en erreur et lire la dernière ligne, qui donne la cause. Deuxième réflexe : l'onglet Matériel de la machine, qui montre ce que Proxmox a réellement configuré.

SymptômeCause probableVérification et correction
La page :8006 ne s'ouvre pasAdresse fausse, protocole http au lieu de https, mauvais réseauUtiliser https://adresse:8006 depuis le poste du labo ou le VPN ; l'avertissement de certificat est normal
« Échec de connexion »Mauvais royaume (PAM au lieu de PVE) ou mot de passe fauxChoisir PVE dans la liste ; recopier l'identifiant et le mot de passe de la page du portail
Permission check failed (chemin, droit)Il manque un privilège sur ce cheminNoter le message exact et le transmettre à l'administrateur ; vérifier que le pool est bien choisi
La VM démarre mais n'a aucun réseauÉtiquette VLAN absente ou fausse, mauvais pont, carte déconnectéeMatériel → carte réseau : pont, étiquette, case « Déconnecter » décochée
« QEMU guest agent is not running »Agent non installé dans la VM, ou option cochée sans arrêt completInstaller le paquet, arrêter puis démarrer la VM (pas « Redémarrer »)
L'installateur Windows ne voit aucun disquePilote VirtIO SCSI absentMonter virtio-win.iso et charger vioscsi
Impossible de supprimer un modèleDes clones liés en dépendentSupprimer les clones liés (ou passer à des clones complets)
Toutes les VM d'un stockage se figentStockage local-lvm saturé (allocation fine)Résumé du stockage : pourcentage ; supprimer instantanés et VM inutiles

12.1 Entraîne-toi : les tickets du support

Tu aides les techniciens de Brocéliande Logistique et tes camarades avec leur Proxmox. Six tickets arrivent les uns après les autres : lis le message, observe le relevé, puis choisis la cause.

File d'attente du support6 tickets · un à la fois · l'explication s'affiche après ta réponse
Ticket n° 1De : élève de SIO1Priorité haute
« Ma VM Debian démarre, mais elle n'obtient aucune adresse IPv4, alors que les autres VM du VLAN 50 de ma consigne en reçoivent une. L'installation s'est pourtant bien passée. »
Relevé Matériel de la VM et console Debian
Carte réseau (net0) : virtio=BC:24:11:3A:9E:01,bridge=vmbr0,firewall=1
$ ip -br a
lo      UNKNOWN   127.0.0.1/8
ens18   UP        fe80::be24:11ff:fe3a:9e01/64

Quelle est la cause la plus probable ?

Cause : la ligne net0 ne contient pas tag=50. Les trames partent sans étiquette dans le VLAN natif du lien, qui n'a aucun service. L'agent n'y est pour rien, et VirtIO est reconnu par Debian (la carte ens18 existe). Correction : Matériel → carte réseau → Modifier, étiquette VLAN 50, puis redemander une adresse dans la VM.

Ticket n° 2De : élève de SIO1Priorité haute
« Je clique sur Terminer dans l'assistant de création et ma VM n'est pas créée. J'ai pourtant choisi mon pool et mon stockage. »
Proxmox VE journal des tâches · VM 130 - Créer
TASK ERROR: Permission check failed (/sdn/zones/localnetwork/vmbr0, SDN.Use)

Que signifie ce message ?

Cause : le message donne le chemin (/sdn/zones/localnetwork/vmbr0) et le privilège manquant (SDN.Use) : brancher une carte sur ce pont n'est pas autorisé. Un stockage plein ou un ID pris auraient d'autres messages. Correction : envoyer le message exact à l'administrateur, qui ajoute le droit sur le pont ; en attendant, ne pas essayer de contourner.

Ticket n° 3De : technicienPriorité moyenne
« Je veux installer Windows Server 2025 dans une VM Proxmox : l'installateur démarre, mais refuse d'avancer à l'étape du choix du disque. »
Windows installateur · Où voulez-vous installer Windows ?
Aucun lecteur n'a été trouvé. Pour obtenir un pilote de stockage,
cliquez sur Charger un pilote.
(Matériel de la VM : contrôleur VirtIO SCSI single, disque scsi0 de 60 Gio)

Que faut-il faire ?

Cause : Windows ne contient pas le pilote VirtIO SCSI : il ne voit donc pas le disque. Correction : ajouter un lecteur CD avec virtio-win.iso, puis Charger un pilote et choisir le dossier vioscsi de la bonne version (2k25). La taille du disque et la carte réseau n'ont pas de rapport.

Ticket n° 4De : élève de SIO1Priorité basse
« J'ai fini mes TP et je veux supprimer mon modèle 9000 pour libérer de la place, mais Proxmox refuse. »
Proxmox VE journal des tâches · VM 9000 - Détruire
TASK ERROR: can't remove VM 9000: base volume 'base-9000-disk-0'
is still in use by linked clones: 101, 102

Pourquoi la suppression est-elle refusée ?

Cause : un clone lié ne stocke que ses différences : le disque du modèle lui est indispensable. Correction : supprimer d'abord les clones liés 101 et 102 (ou les refaire en clones complets, indépendants), puis le modèle. Un modèle ne démarre jamais : B est impossible.

Ticket n° 5De : technicienPriorité moyenne
« Quand j'arrête ma VM Debian depuis Proxmox, l'arrêt dure trois minutes puis une erreur apparaît. Mais la case Agent QEMU est bien cochée. »
Relevé journal des tâches et console Debian
TASK ERROR: VM quit/powerdown failed - got timeout
qmp command 'guest-ping' failed - got timeout

$ systemctl status qemu-guest-agent
Unit qemu-guest-agent.service could not be found.

Quelle est la cause ?

Cause : cocher la case ne suffit pas : Proxmox appelle l'agent (guest-ping), mais personne ne répond, car le service n'existe pas dans la VM. Correction : sudo apt install qemu-guest-agent dans la VM, puis arrêt complet et démarrage pour que le canal soit pris en compte.

Ticket n° 6De : stagiaireQuestion
« J'ai cloné trois serveurs web à partir de mon modèle. L'outil de supervision n'en voit qu'un seul et SSH me présente toujours la même empreinte. Que s'est-il passé ? »
Debian 13 relevé sur les trois clones
web1 $ hostname ; cat /etc/machine-id
deb13-base
3f5a9c1e0b7d4e6aa1c2d3e4f5061728
web2 $ hostname ; cat /etc/machine-id
deb13-base
3f5a9c1e0b7d4e6aa1c2d3e4f5061728

Quelle est la cause ?

Cause : un clone est une copie exacte : nom de machine, /etc/machine-id et clés SSH sont identiques. Proxmox, lui, génère bien de nouvelles adresses MAC. Correction : préparer le modèle (machine-id vidé), puis sur chaque clone : hostnamectl set-hostname, suppression des clés SSH héritées et dpkg-reconfigure openssh-server. La fiche B2-22 (cloud-init) l'automatise.

13. À l'examen et en entreprise

  • Maquette : une réalisation professionnelle sur Proxmox se présente avec un schéma qui indique, pour chaque VM ou conteneur, le système, les ressources (cœurs, mémoire, disque), le pont, l'étiquette VLAN et l'adresse. Pense à noter les numéros d'ID.
  • Justifier ses choix : pourquoi une VM plutôt qu'un conteneur, pourquoi VirtIO et l'agent QEMU, pourquoi un modèle et des clones, pourquoi la sauvegarde est sur un autre stockage que le disque.
  • Prouver : capture du journal des tâches, de l'onglet Matériel, du résumé avec l'adresse IP donnée par l'agent. Un retour arrière sur instantané et une restauration de sauvegarde, démontrés, valent mieux qu'une explication.
  • En entreprise : le technicien note chaque machine dans l'inventaire (GLPI), suit l'occupation des stockages, applique le moindre privilège, ne laisse aucun instantané traîner et teste ses restaurations.

14. L'essentiel

  1. Proxmox VE est un hyperviseur de type 1 libre, basé sur Debian 13 : VM avec KVM/QEMU, conteneurs avec LXC.
  2. VM = son propre noyau, tout système, isolation forte ; conteneur = noyau de l'hôte, Linux seulement, très léger.
  3. Un nœud est un serveur ; plusieurs nœuds forment un cluster. Le quorum est la majorité des voix : 3 nœuds, ou 2 plus un témoin.
  4. L'interface web est sur https://IP:8006, royaume PVE ; le journal des tâches donne la cause de toute erreur.
  5. Stockages : local (ISO, modèles), local-lvm et ZFS (disques), NFS/SMB et PBS (partage, sauvegardes).
  6. Réseau : la carte de la VM se branche sur le pont vmbr0 ; VLAN aware + étiquette sur la carte ; sans étiquette, pas de réseau.
  7. Une VM propre : VirtIO SCSI, CPU host, mémoire avec ballooning, carte VirtIO, agent QEMU coché et installé.
  8. Windows a besoin de virtio-win.iso ; Debian a déjà les pilotes, il manque seulement le paquet qemu-guest-agent.
  9. Instantané = retour arrière, même stockage ; sauvegarde = copie ailleurs. Modèle + clone lié (rapide) ou complet (indépendant).
  10. Droits = utilisateur + rôle + chemin (pool, stockage, pont) ; Permission check failed nomme le droit manquant ; qm pilote les VM, pct les conteneurs.
Proxmox VEtype 1 · :8006 PrincipeDebian 13 + KVM/QEMU + LXCnœud · cluster · quorum Créer une VMVirtIO SCSI · CPU hostballooning · agent QEMU Stockagelocal · local-lvm · ZFSNFS/SMB · PBS (sauvegardes) Réseauvmbr0 · VLAN awareétiquette sur la carte Protéger, copierinstantané ≠ sauvegardemodèle · clone lié / complet Droitsutilisateur + rôle + cheminpool · qm · pct
La fiche en une image : à refaire de mémoire, sur une feuille, avant de passer aux exercices.

Les commandes clés

Pour…Où ou comment
Se connecterhttps://IP:8006 · royaume PVE · journal des tâches en bas
Créer une VM ou un CTBoutons Créer une VM / Créer un conteneur · pool, ISO ou modèle, VirtIO, vmbr0 + étiquette
Agent QEMU (Debian)sudo apt install qemu-guest-agent + case cochée + arrêt complet puis démarrage
Instantané, retour arrièreOnglet Instantanés · qm snapshot 100 nom · qm rollback 100 nom
Modèle et cloneClic droit Convertir en modèle puis Cloner · qm template 9000 · qm clone 9000 201 --full
Conteneurspct list · pct start 120 · pct enter 120
Comprendre un refusPermission check failed (chemin, privilège) : transmettre le message exact

Tout cela tient sur une page : utilise le bouton Mémo à imprimer en haut de la fiche.

La pratiqueLe quiz noté pour vérifier tes acquis, les exercices à rendre à ton professeur, puis le TP dans ton pool Proxmox.

15. Quiz noté

8 questions · 10 minutesRéponds à toutes les questions, puis valide. Seule ta première tentative est enregistrée : elle compte dans ton suivi. Ensuite, tu peux t'entraîner autant que tu veux.

1. Proxmox VE est…

2. Quelle est la différence principale entre une VM et un conteneur LXC ?

3. Un cluster de 3 nœuds en perd deux. Que devient le cluster restant ?

4. Sur quel port s'ouvre l'interface web de Proxmox VE ?

5. Une VM sur un pont vmbr0 sensible aux VLAN n'a aucun réseau. Sa carte réseau n'a pas d'étiquette VLAN. Pourquoi ?

6. Que fait le type de processeur « host » ?

7. À quoi sert un instantané Proxmox ?

8. Le journal affiche Permission check failed (/storage/local-lvm, Datastore.AllocateSpace). Que signifie-t-il ?

16. Exercices : à toi de répondre

Écris ta réponse sous chaque énoncé et envoie-la à ton professeur. Quand il l'a validée, le corrigé s'affiche à la place du cadenas ; s'il te la renvoie « à revoir », lis son commentaire et corrige. Justifie chaque choix.

Exercice 1 – VM ou conteneur ? (SIO1)

Brocéliande Logistique migre quatre services vers Proxmox : (a) un contrôleur de domaine Windows Server 2025 ; (b) l'outil de tickets GLPI (Linux, Apache, MariaDB) ; (c) un serveur de journaux syslog Debian ; (d) un pare-feu pfSense. Pour chacun, choisis machine virtuelle ou conteneur LXC et justifie en une phrase.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 2 – Configurer une VM (SIO1)

Le serveur de fichiers SRV-LINUX (Debian 13, VLAN 50, adresse 172.16.50.11/24) devient une VM. Il stocke environ 30 Gio de données et doit supporter une croissance de 50 %. Rédige sa fiche de configuration Proxmox : contrôleur de disque, taille et stockage du disque, processeur, mémoire, carte réseau, agent. Précise ce que tu fais dans la VM après l'installation.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 3 – Protéger avant une mise à jour (SIO1)

Le responsable informatique prépare la mise à jour de l'intranet (SRV-WEB, VM). Un collègue affirme : « un instantané la veille, ça fait office de sauvegarde, on est tranquilles ». Explique pourquoi c'est faux, puis décris ce que tu fais avant, pendant et après la mise à jour pour être protégé.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

Exercice 4 – Concevoir (SIO2)

Brocéliande Logistique veut héberger ses serveurs du VLAN 50 sur Proxmox, avec trois techniciens (qui administrent les VM de production) et deux stagiaires (qui n'ont le droit de travailler que sur une maquette). Propose : le nombre de nœuds et ce qui garantit le quorum, le réseau (pont, VLAN, adresse de gestion), le rangement des stockages, la répartition des droits (pools, rôles) et la façon de fabriquer rapidement de nouveaux serveurs Debian identiques.

Le corrigé s'affichera ici dès que ton professeur aura validé ta réponse. Cherche d'abord par toi-même : c'est en se trompant qu'on retient.

17. Au labo : une VM, un conteneur, un modèle et des clones dans ton pool

Objectif

Dans ton pool Proxmox (page Mes serveurs et VM), tu crées une VM Debian 13 propre avec l'agent QEMU, tu testes un instantané et un retour arrière, tu crées un conteneur LXC, puis tu transformes ta VM en modèle et tu la clones deux fois. Tout se fait dans l'interface web, avec les droits de ton compte : aucune commande n'exige d'être administrateur du nœud. Compte 2 h 30.

MachineNatureRéglages
deb13-baseVM Debian 13 sans interface graphique2 cœurs type host, 2 Gio (minimum 1 Gio), disque VirtIO SCSI 20 Gio, carte VirtIO, agent QEMU
ct-testConteneur LXC Debian 13Non privilégié, 512 Mio, disque 8 Gio, modèle debian-13-standard
tpl-debian13Modèle (la VM deb13-base convertie)Lecture seule, ne démarre plus
clone-lie, clone-completDeux clones du modèleUn clone lié, un clone complet
TON POOL PROXMOX deb13-baseétapes 2 à 4 tpl-debian13modèleétape 6 clone-lie clone-complet ct-testétape 5 📷
La VM sert de base : instantané pour l'essai, modèle pour les copies. Le conteneur est créé à côté pour comparer.

Ce que tu ajoutes à cette étape

  • Une VM propre : VirtIO, CPU host, ballooning, agent QEMU installé.
  • Un instantané et un retour arrière après une panne volontaire.
  • Un conteneur LXC créé depuis un modèle Debian 13.
  • Un modèle et deux clones, lié et complet, personnalisés.

Si un bouton est grisé ou si le journal affiche Permission check failed, ne cherche pas à contourner : note le message exact et préviens ton professeur. Les noms de pool, de stockage, de pont et d'étiquette VLAN sont ceux de ta consigne ; les valeurs proposées par défaut par l'assistant conviennent si rien d'autre n'est précisé.

1 Se connecter et repérer son pool

  1. Ouvre la page Mes serveurs et VM et clique sur J'accède à mon Proxmox. Royaume PVE, identifiant et mot de passe de la page.
  2. Dans l'arbre, déplie ton pool. Note le nom de ton nœud, le stockage où se trouvent les ISO, celui des disques et le pont réseau à utiliser.
  3. Vérifie que l'image ISO Debian 13 (« netinst ») est présente dans le stockage des ISO : clique sur le stockage puis Images ISO.

2 Créer la VM Debian 13 propre

Clique sur Créer une VM et renseigne les huit onglets comme dans la partie 6.

  1. Général : nom deb13-base, ton pool. Système d'exploitation : l'ISO Debian 13, type Linux.
  2. Système : contrôleur VirtIO SCSI single, Agent QEMU coché. Disques : 20 Gio, Abandonner (Discard) coché.
  3. Processeur : 2 cœurs, type host. Mémoire : 2048 Mio, minimum 1024 Mio. Réseau : pont et étiquette de ta consigne, modèle VirtIO.
  4. Confirmation : laisse Démarrer après création décoché, relis le résumé, clique sur Terminer, puis démarre la VM et ouvre la Console.
  5. Installe Debian : sans environnement de bureau, avec « serveur SSH » et « utilitaires usuels du système », nom de machine deb13-base.

3 Installer l'agent QEMU

Dans la console de la VM, connecte-toi puis installe l'agent. Ensuite, arrête la VM depuis Proxmox (Arrêter) puis redémarre-la : l'arrêt doit être rapide. Le Résumé affiche alors son adresse IP.

Écris les commandes à taper dans la VM, puis vérifie chaque ligne avec ✓.

Installer l'agent ›
État du service ›
Modules VirtIO chargés ›
Adresse de la VM ›

4 Instantané, panne volontaire, retour arrière

  1. Onglet Instantanés → Créer un instantané : nom propre, sans la RAM.
  2. Dans la VM, crée une panne volontaire :
    Debian 13 dans deb13-basela panne à réparer
    $ echo "avant le retour arrière" > ~/casse.txt # un fichier posé après l'instantané
    $ sudo apt remove -y openssh-server # une « erreur » : on enlève le serveur SSH
    $ systemctl status ssh # « could not be found » : la panne est bien là
  3. Dans Proxmox, onglet Instantanés → sélectionne propre → Retour en arrière (Rollback). La VM s'arrête.
  4. Démarre la VM : casse.txt n'existe plus, systemctl status ssh répond de nouveau. Note en une phrase ce que le retour arrière a effacé.
  5. Supprime l'instantané propre quand tu n'en as plus besoin : un instantané ne se garde pas.

5 Créer un conteneur LXC

  1. Créer un conteneur : nom d'hôte ct-test, ton pool, Conteneur non privilégié coché, un mot de passe root que tu notes.
  2. Modèle : debian-13-standard. Disque : 8 Gio. Processeur : 1 cœur. Mémoire : 512 Mio. Réseau : eth0, pont et étiquette de ta consigne, adresse en DHCP.
  3. Si aucun modèle n'apparaît, préviens ton professeur. Termine, démarre le conteneur et compare son démarrage (une seconde) à celui de la VM.
  4. Ouvre sa Console, connecte-toi en root et compare avec la VM :
    Debian 13 à lancer dans la VM puis dans le conteneurdeux consoles
    $ uname -r # VM : son propre noyau ; conteneur : celui de l'hôte, qui finit par « -pve »
    $ free -m # la mémoire visible : 2 Gio pour la VM, 512 Mio pour le conteneur
    $ ip -br a # l'adresse reçue par chacun

    6 Un modèle et deux clones

    1. Prépare la VM deb13-base : mises à jour, cache vidé, identifiant système vidé, extinction.
    Debian 13 dans deb13-baseavant la conversion
    $ sudo apt update && sudo apt full-upgrade -y
    $ sudo apt clean
    $ sudo truncate -s 0 /etc/machine-id # un nouvel identifiant sera créé au premier démarrage de chaque clone
    $ sudo systemctl poweroff
  5. Quand la VM est éteinte : clic droit sur deb13-base → Convertir en modèle, puis renomme-la tpl-debian13 si l'interface le permet (onglet Options). Le bouton Démarrer a disparu.
  6. Clic droit → Cloner : nom clone-lie, mode Clone lié, ton pool. Puis un second clone clone-complet, mode Clone intégral (clone complet), stockage cible de tes disques.
  7. Démarre les deux clones. Dans chacun, personnalise-le :
    Debian 13 dans chaque cloneremplace clone-1 par le nom du clone
    $ sudo hostnamectl set-hostname clone-1 # un nom unique
    $ sudo rm /etc/ssh/ssh_host_* # clés SSH héritées du modèle
    $ sudo dpkg-reconfigure openssh-server # en génère de nouvelles
    $ cat /etc/machine-id # doit différer d'un clone à l'autre
  8. Essaie de supprimer le modèle tpl-debian13 alors que clone-lie existe : Proxmox refuse. Lis le message dans le journal des tâches, puis ne supprime rien avant d'avoir noté ce qui l'explique.

7 Valider : le cahier de recette

N°TestCommande ou actionRésultat attenduOK
1La VM est dans ton poolArbre de l'interface, vue pooldeb13-base (puis le modèle), ct-test et les deux clones sous ton pool
2Pilotes VirtIOlsmod | grep virtio dans un cloneDes lignes virtio_scsi, virtio_net
3Agent QEMU actifRésumé d'un clone ; Arrêter depuis ProxmoxAdresse IP affichée ; arrêt propre en moins d'une minute
4Retour arrièrels ~/casse.txt et systemctl status ssh après restaurationFichier absent, service SSH présent
5Noyau partagé du conteneuruname -r dans la VM et dans ct-testDeux noyaux différents ; celui du conteneur se termine par « -pve »
6Le modèle est en lecture seuleClic droit sur tpl-debian13Pas de bouton Démarrer ; clonage possible
7Clones distinctshostname et cat /etc/machine-id dans les deux clonesNoms et identifiants différents
8Dépendance du clone liéTentative de suppression du modèleRefus tant que clone-lie existe
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter