Aller au contenu
Virtualisation medium

Créer une VM KVM dans Proxmox VE

21 min de lecture

Logo Proxmox

Ce guide vous accompagne pour créer votre première machine virtuelle dans Proxmox VE. Vous allez comprendre chaque option de l’assistant de création, faire les bons choix de hardware virtuel, installer un OS invité (Debian 13) et valider que tout fonctionne. À la fin, vous aurez une VM opérationnelle avec le guest agent installé et un premier snapshot de sauvegarde.

  • Les options de l’assistant de création et ce qu’elles signifient
  • UEFI ou SeaBIOS : quel firmware choisir et pourquoi
  • VirtIO : pourquoi c’est important pour les performances
  • Créer la même VM en CLI avec qm create
  • Installer qemu-guest-agent pour que Proxmox communique avec l’OS invité
  • Prendre un premier snapshot
ÉlémentDétail
Proxmox VE installéVersion 8.x ou 9.x — guide d’installation
Interface web maîtriséeLes 3 niveaux Datacenter → Node → Guest — guide interface
Une ISO uploadéeDebian 13 ou Ubuntu 24.04 dans votre stockage local
Ressources disponiblesAu minimum 2 Go de RAM et 20 Go de disque libres

Une VM KVM (Kernel-based Virtual Machine) est un ordinateur virtuel complet qui fonctionne comme s’il avait son propre processeur, sa mémoire, ses disques et son réseau. Contrairement à un conteneur LXC qui partage le noyau Linux de l’hôte, une VM a son propre noyau — elle peut donc faire tourner n’importe quel OS : Linux, Windows, FreeBSD.

Analogie : si Proxmox est un immeuble, une VM est un appartement complet avec ses propres murs, sa plomberie et son électricité. Un conteneur LXC, c’est plutôt une chambre dans une colocation — plus léger, mais on partage les parties communes.

Par défaut, une VM émule du matériel ancien (disque IDE, carte réseau Intel E1000). Ça fonctionne, mais c’est lent. VirtIO est un standard de drivers paravirtualisés : au lieu d’émuler du vrai matériel, l’hyperviseur et la VM collaborent directement. Résultat : des performances proches du natif.

ComposantSans VirtIO (émulé)Avec VirtIO
DisqueIDE / SATA (~100 Mo/s)VirtIO SCSI (~2 Go/s)
RéseauIntel E1000 (~1 Gbps)VirtIO net (~10 Gbps+)
MémoireFixeBallooning (ajustement dynamique)

Le firmware est le premier logiciel qui s’exécute quand la VM démarre — l’équivalent du BIOS de votre PC physique. Proxmox propose deux options :

CritèreSeaBIOS (Legacy BIOS)OVMF (UEFI)
CompatibilitéTout OS, même ancienOS modernes (2015+)
Secure BootNon supportéSupporté
Disques > 2 ToNon (limite MBR)Oui (GPT)
GPU PassthroughLimitéRecommandé
ComplexitéRien à configurerNécessite un disque EFI
RecommandationOS anciens, simplicitéChoix par défaut pour les OS modernes

Règle simple : choisissez OVMF (UEFI) sauf si vous installez un vieil OS qui ne le supporte pas.

Le machine type définit la carte mère virtuelle. Deux choix :

  • i440fx : émule un chipset des années 1990. Compatible avec tout, mais ne supporte que le bus PCI (pas PCIe).
  • q35 : émule un chipset moderne avec support PCIe natif. Nécessaire pour le GPU passthrough et recommandé pour les OS modernes.

Règle simple : utilisez q35 pour les nouvelles VM. Gardez i440fx uniquement si vous avez un problème de compatibilité spécifique.

  1. Lancer l’assistant de création

    Cliquez sur le bouton bleu Create VM en haut à droite de l’interface. Un assistant en 7 étapes s’ouvre.

    create-vm-button

  2. Onglet General : identité de la VM

    • Node : le serveur où la VM sera créée (si vous avez un seul nœud, pas de choix)
    • VM ID : numéro unique (Proxmox propose le prochain disponible — gardez-le)
    • Name : un nom explicite, par exemple debian13-test

    general-tab

  3. Onglet OS : système d’exploitation

    • Use CD/DVD disc image file : sélectionnez votre ISO Debian
    • Guest OS Type : Linux
    • Version : 6.x - 2.6 Kernel (pour Debian 13 / Ubuntu 24.04)

    Ce choix influence les optimisations que Proxmox active automatiquement (timers, drivers par défaut).

    os-tab

  4. Onglet System : firmware et contrôleur

    C’est l’onglet le plus technique. Voici les bons réglages pour une VM Linux moderne :

    OptionValeur recommandéePourquoi
    Graphic cardDefaultVGA standard, suffisant pour la console
    Machineq35Chipset moderne, support PCIe
    BIOSOVMF (UEFI)Boot moderne, GPT, Secure Boot possible
    Add EFI Disk✅ CochéStocke la configuration UEFI
    EFI Storagelocal-lvmMême stockage que le disque principal
    SCSI ControllerVirtIO SCSI singleMeilleur débit disque
    Qemu Agent✅ CochéActive la communication Proxmox ↔ VM
    Add TPMDécochéInutile pour Linux (requis pour Windows 11)

    system-tab

  5. Onglet Disks : stockage

    OptionValeur recommandéePourquoi
    Bus/DeviceSCSI (0)Utilise le contrôleur VirtIO SCSI
    Storagelocal-lvmVotre stockage par défaut
    Disk size (GiB)32Suffisant pour un OS Linux de base
    CacheWrite backMeilleures performances en écriture
    Discard✅ CochéLibère l’espace quand la VM supprime des fichiers
    IO thread✅ CochéUn thread d’I/O dédié par disque

    disks-tab

  6. Onglet CPU : processeur

    OptionValeur recommandéePourquoi
    Sockets1Sauf besoin NUMA spécifique
    Cores2Minimum confortable pour un serveur
    TypehostExpose toutes les instructions CPU

    cpu-tab

  7. Onglet Memory : mémoire vive

    OptionValeur recommandéePourquoi
    Memory (MiB)20482 Go de RAM — suffisant pour Debian minimal
    Ballooning Device✅ Coché (défaut)Permet à Proxmox de récupérer la RAM inutilisée

    Le ballooning permet à Proxmox de reprendre la RAM que la VM n’utilise pas activement. Par exemple, si vous allouez 4 Go mais que la VM n’en utilise que 1,5, Proxmox peut rendre les 2,5 Go restants au système — utile quand plusieurs VM partagent le même serveur.

    memory-tab

  8. Onglet Network : réseau

    OptionValeur recommandéePourquoi
    Bridgevmbr0Le bridge par défaut de Proxmox
    ModelVirtIO (virtio)Driver réseau paravirtualisé, bien plus rapide que E1000
    Firewall✅ CochéActive le firewall Proxmox pour cette interface

    network-tab

  9. Onglet Confirm : vérifier et créer

    L’assistant affiche un récapitulatif de tous vos choix. Relisez-le attentivement, puis cliquez sur Finish pour créer la VM.

    La VM apparaît dans le panneau de gauche sous votre nœud. Elle est créée mais pas encore démarrée.

    confirm-tab

L’interface web appelle exactement les mêmes commandes que vous pouvez lancer en SSH. Voici l’équivalent CLI de la VM créée ci-dessus :

Fenêtre de terminal
# Créer la VM
qm create 100 \
--name debian13-test \
--ostype l26 \
--machine q35 \
--bios ovmf \
--cpu host \
--cores 2 \
--memory 2048 \
--balloon 2048 \
--net0 virtio,bridge=vmbr0,firewall=1 \
--scsihw virtio-scsi-single \
--scsi0 local-lvm:32,cache=writeback,discard=on,iothread=1 \
--ide2 local:iso/debian-13.4.0-amd64-netinst.iso,media=cdrom \
--boot order=ide2\;scsi0 \
--agent enabled=1 \
--efidisk0 local-lvm:4M

Démarrer et accéder à la console :

Fenêtre de terminal
# Démarrer la VM
qm start 100
# Ouvrir un terminal VNC (depuis l'hôte Proxmox)
qm terminal 100
  1. Démarrer la VM et ouvrir la console

    Sélectionnez la VM dans le panneau de gauche, cliquez sur Start, puis sur Console (bouton en haut). L’installeur Debian apparaît.

    debian-installer

  2. Suivre l’installation standard

    L’installation de Debian est classique. Quelques points d’attention pour une VM Proxmox :

    • Partitionnement : choisissez “Guided - use entire disk”. Le disque VirtIO apparaît comme /dev/sda.
    • Mot de passe root : définissez-en un (nécessaire pour la console Proxmox si SSH n’est pas encore configuré).
    • Logiciels : cochez SSH server et standard system utilities. Décochez l’environnement de bureau sauf si vous en avez besoin.
  3. Redémarrer après installation

    Quand l’installeur vous demande de retirer le média d’installation, Proxmox le fait automatiquement si vous avez coché Qemu Agent à l’étape System. Sinon, allez dans Hardware → CD/DVD Drive → Do not use any media avant de redémarrer.

Le qemu-guest-agent est un petit service qui tourne dans la VM et permet à Proxmox de :

  • Arrêter proprement la VM (shutdown au lieu de power off brutal)
  • Récupérer l’adresse IP de la VM (visible dans l’onglet Summary)
  • Geler le filesystem avant un snapshot (cohérence des données)
Fenêtre de terminal
# Installer le guest agent
sudo apt update && sudo apt install -y qemu-guest-agent
# Démarrer le service
sudo systemctl start qemu-guest-agent

Vérification depuis l’hôte Proxmox :

Fenêtre de terminal
qm agent 100 ping

Si la réponse est {"return":{}}, le guest agent fonctionne. L’adresse IP de la VM apparaît maintenant dans Summary → IPs.

guest-agent

Un snapshot capture l’état complet de la VM à un instant T : disque, mémoire (optionnel) et configuration. C’est votre filet de sécurité avant toute modification.

  1. Créer le snapshot

    Sélectionnez la VM → onglet Snapshots → bouton Take Snapshot.

    • Name : post-install (pas d’espaces)
    • Description : Installation Debian 13 propre + guest agent
    • Include RAM : décoché (le snapshot sera plus rapide et plus petit)

    snapshot-dialog

  2. Vérifier le snapshot

    Le snapshot apparaît dans la liste avec la date et la taille. Vous pouvez revenir à cet état à tout moment avec Rollback.

En CLI :

Fenêtre de terminal
# Créer un snapshot
qm snapshot 100 post-install --description "Installation Debian 13 propre + guest agent"
# Lister les snapshots
qm listsnapshot 100
# Revenir à un snapshot (attention : écrase l'état actuel)
qm rollback 100 post-install

Les commandes qm les plus utiles pour gérer vos VM au quotidien :

ActionCommandeNotes
Créer une VMqm create <vmid> --name <nom> ...Voir l’exemple complet ci-dessus
Lister les VMqm listAffiche ID, nom, statut, RAM, PID
Démarrerqm start <vmid>
Arrêter proprementqm shutdown <vmid>Nécessite le guest agent
Forcer l’arrêtqm stop <vmid>Équivalent d’un power off brutal
Redémarrerqm reboot <vmid>Nécessite le guest agent
Voir la configqm config <vmid>Affiche tous les paramètres
Modifier un paramètreqm set <vmid> --<option> <valeur>Ex: qm set 100 --cores 4
Supprimer une VMqm destroy <vmid>⚠️ Supprime aussi les disques
SymptômeCause probableSolution
VM ne démarre pas, erreur “TASK ERROR”ISO manquante ou mauvais cheminVérifiez Hardware → CD/DVD : l’ISO doit exister dans le stockage
Écran noir après démarrage UEFIOS qui ne supporte pas UEFIRecréez la VM avec SeaBIOS au lieu de OVMF
Disque non détecté dans l’installeurContrôleur SCSI non supporté par l’OSPassez de VirtIO SCSI à SATA (moins performant) ou chargez les drivers VirtIO
Pas de réseau dans la VMDriver VirtIO manquantPassez le modèle réseau de VirtIO à E1000 temporairement, ou chargez les drivers
Guest agent “not running”Service non installé dans la VMInstallez qemu-guest-agent (voir section ci-dessus)
IP absente dans SummaryGuest agent non configuré dans ProxmoxDans Options → QEMU Guest Agent, vérifiez que c’est activé
Performances disque mauvaisesCache en “No cache” ou pas d’IO threadPassez en Write back et activez IO thread dans Hardware → Disk
qm shutdown ne fait rien (timeout)Guest agent absent ou OS ne répond pas à ACPIInstallez le guest agent, ou utilisez qm stop (arrêt forcé)
Erreur “not enough memory” à la créationRAM insuffisante sur l’hôteRéduisez la RAM allouée ou arrêtez d’autres VM
  1. Choisissez q35 + OVMF (UEFI) pour toute nouvelle VM avec un OS moderne — c’est le combo recommandé depuis Proxmox 8.

  2. VirtIO partout : SCSI pour le disque, virtio pour le réseau. Les performances sont incomparables avec l’émulation IDE/E1000. Windows nécessite les drivers VirtIO supplémentaires.

  3. Activez Qemu Agent dès la création : sans lui, pas d’arrêt propre, pas d’IP dans le dashboard, pas de freeze filesystem avant snapshot.

  4. Write back + IO thread + Discard : ces trois options de disque combinées offrent les meilleures performances en homelab.

  5. CPU type host en homelab (un seul serveur), x86-64-v2-AES en cluster (migration entre serveurs).

  6. Snapshot ≠ backup : le snapshot dépend du disque d’origine. Pour une vraie sauvegarde, utilisez vzdump.

  7. qm fait tout ce que fait l’UI : chaque action dans l’interface web est une commande qm — scriptable et reproductible.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn