Dawan Proxmox VE — TSSR

Chapitre 2 — Machines Virtuelles KVM

4. Créer une VM KVM

4.1 L'assistant graphique pas à pas

Dans l'interface Proxmox, cliquez sur Create VM en haut à droite. L'assistant s'ouvre en plusieurs onglets. Parcourons-les dans l'ordre, car chaque choix influence les suivants.

Assistant « Create: Virtual Machine » de Proxmox VE 9, onglet General : la barre d'onglets General, OS, System, Disks, CPU, Memory, Network, Confirm en haut, puis les champs Node, VM ID (100), Name et la case Add to HA

L'assistant de création de VM — la barre d'onglets en haut est le fil conducteur de toute la section.

Repérez la barre d'onglets en haut de la fenêtre : General, OS, System, Disks, CPU, Memory, Network, Confirm. C'est exactement le plan de cette section — chaque sous-partie qui suit correspond à l'un de ces onglets, dans le même ordre.

L'assistant impose ce cheminement parce que les choix se conditionnent. Le type d'OS influence les valeurs par défaut du matériel ; le contrôleur de disque dépend du système visé, et ainsi de suite. On avance donc onglet par onglet, sans revenir en arrière sans raison.

Onglet General

L'identifiant VM (VM ID) est un numéro unique dans le datacenter, partagé entre VM et conteneurs : une VM 200 et un conteneur 200 ne peuvent pas coexister. Ce support suit la convention des ateliers : 100 à 199 pour les VM, 200 à 299 pour les conteneurs, 9000 et plus pour les modèles.

Toute convention fait l'affaire, pourvu qu'elle soit tenue. Donnez un nom explicite — ce nom apparaît dans l'interface et dans les logs.

Champ Valeur exemple Remarque
Node pve nœud actuel
VM ID 105 unique dans le datacenter
Name vm-debian sans espace, sans accent
Start at boot décoché à activer en production

Onglet OS

Sélectionnez l'ISO depuis le stockage local. Si elle n'y est pas encore, chargez-la d'abord depuis Datacenter → local → ISO Images → Upload.

Assistant Create Virtual Machine de Proxmox, onglet OS avec le choix du support et du systeme invite

L'onglet OS, coupé en deux : le support à gauche, le système invité à droite.

  • Le champ ISO image est encadré de rouge et vide. L'assistant refuse de passer à l'onglet suivant tant qu'il l'est. Si la liste déroulante ne propose rien alors que vous avez chargé une ISO, vérifiez le champ Storage juste au-dessus : il doit pointer sur le stockage qui contient réellement l'image.
  • Trois options exclusives à gauche. Use CD/DVD disc image file (iso) est le cas normal : la VM lit l'image ISO d'un CD ou d'un DVD (disque optique).

    Use physical CD/DVD Drive n'a de sens que sur un serveur avec un lecteur, ce qui est devenu rare. Do not use any media sert quand le disque est déjà prêt — c'est le cas d'une VM bâtie depuis une image cloud, décrite au §10.

  • Type et Version ne changent pas l'installation. Ils règlent la façon dont QEMU présente le matériel virtuel à l'OS. Se tromper ne bloque rien, mais dégrade les performances ou l'horloge.

  • Version ne propose que deux entrées sous PVE 9 : 7.x - 2.6 Kernel et 2.4 Kernel. Ce n'est pas la version de votre distribution : c'est un marqueur de génération de noyau.

    Toute distribution moderne prend la première, y compris Debian 13. La seconde n'existe que pour des systèmes des années 2000. En ligne de commande, ces deux valeurs s'appellent l26 et l24.

Champ Valeur Remarque
Use CD/DVD disc image ✓ le cas normal
Storage local le stockage qui contient l'ISO
ISO image debian-13.x-amd64-netinst.iso chargée au préalable
Guest OS Type Linux
Version 7.x - 2.6 Kernel valeur unique pour toute distribution actuelle

Onglet System

Champ Valeur Remarque
Machine q35 à choisir : le défaut est i440fx
BIOS SeaBIOS ou OVMF (Open Virtual Machine Firmware) pour UEFI — Debian supporte les deux
SCSI Controller VirtIO SCSI single
Qemu Agent ✓ coché important : permet à Proxmox de communiquer avec la VM

Pourquoi q35 plutôt que le défaut. Le champ Machine choisit la carte mère que QEMU simule, et la liste n'offre que deux choix.

Default (i440fx) reproduit un chipset Intel de 1996, avec un bus PCI (Peripheral Component Interconnect, le bus des cartes d'extension). q35 reproduit un chipset Intel plus récent, qui fournit un bus PCI Express virtuel.

La documentation de Proxmox en tire la conséquence pratique : q35 est le choix à faire pour passer une carte PCIe physique à la VM. C'est le PCI passthrough, pour une carte graphique ou une carte réseau dédiée.

C'est aussi avec q35 qu'on peut activer un vIOMMU. Les VM des ateliers sont toutes en q35.

Changer de chipset après l'installation n'a pas empêché Debian de démarrer sur le lab. Une VM installée en i440fx, passée en q35, a redémarré avec la même carte ens18 et la même adresse.

Mais l'ordre de ses deux disques a changé : le disque système est devenu /dev/sdb. Un montage écrit avec /dev/sdb aurait alors visé le mauvais disque.

D'où deux règles : choisir q35 à la création. Il faut aussi monter les disques par étiquette (LABEL=) ou par UUID (Universally Unique Identifier, identifiant unique du système de fichiers), jamais par leur lettre.

Si vous optez pour OVMF (UEFI), Proxmox ajoutera automatiquement un disque EFI — ne le supprimez pas.

Onglet Disks

Assistant Create Virtual Machine de Proxmox, onglet Disks avec bus, stockage, taille et format

L'onglet Disks, avec un disque scsi0 déjà présent dans la colonne de gauche — l'assistant en crée toujours un.

  • Storage vaut local par défaut, et ce n'est presque jamais ce qu'on veut. local est un stockage de type répertoire : il accepte les disques de VM, mais il vit sur la partition système du nœud, en qcow2. Basculez sur local-lvm, qui est un pool LVM-thin — c'est lui qui donne le provisionnement fin et les instantanés efficaces expliqués au §6.
  • Le champ Format disparaît quand vous choisissez local-lvm. Ce n'est pas un bug : un volume LVM est toujours brut (raw), le format n'a pas lieu d'être. Sa présence ou son absence vous dit donc, d'un coup d'œil, sur quel type de stockage vous êtes.
  • IO thread est coché par défaut, Discard ne l'est pas. IO thread sort les entrées-sorties du fil principal de QEMU : à laisser.

    Discard fait remonter le TRIM (la commande qui signale les blocs libérés) de la VM au stockage, ce qui restitue réellement l'espace quand la VM efface des fichiers. Sur SSD (disque à mémoire flash) ou LVM-thin, cochez-le — sans lui, un disque provisionné finement ne dégonfle jamais.

  • Cache sur Default (No cache) est le bon choix. Les modes writeback accélèrent les écritures en les gardant en mémoire de l'hôte — au prix d'une perte de données si le serveur tombe. On ne s'en écarte qu'en sachant précisément pourquoi.

  • Les boutons Add et Import, en bas à gauche. Add ajoute un second disque dès la création. Import récupère un disque existant, typiquement lors d'une migration depuis VMware.
Champ Valeur Ce que ça décide
Bus/Device SCSI 0 Le bus vu par l'OS ; SCSI + VirtIO est le couple performant
Storage local-lvm Pool LVM-thin, pas la partition système
Disk size 32 Go Taille annoncée ; l'espace réel suit l'usage
Cache Default (No cache) Sûr par défaut
Discard ✓ Restitue l'espace effacé au pool
IO thread ✓ Entrées-sorties hors du fil principal

Onglets CPU et Memory

Pour une VM d'atelier : 2 cœurs, 1024 ou 2048 Mo de RAM. En production, on calque sur les besoins réels du service.

Onglet Network

Assistant Create Virtual Machine de Proxmox, onglet Network avec bridge, modele et pare-feu

L'onglet Network, cinq champs seulement — mais trois pièges.

  • Bridge vaut vmbr0, le pont d'administration. C'est le bon choix pour une VM qui doit être jointe depuis la salle. La liste propose tous les ponts du nœud.
  • Model vaut VirtIO (paravirtualized), et il faut le laisser. VirtIO signifie que la VM sait qu'elle est virtualisée et coopère avec l'hyperviseur au lieu de faire semblant d'avoir une carte physique. Les modèles émulés (Intel E1000, Realtek RTL8139) existent pour les systèmes anciens qui n'ont pas les pilotes VirtIO ; ils divisent le débit par plusieurs.
  • Firewall est coché par défaut — et c'est le piège le plus courant du pare-feu. Cette case n'active rien à elle seule : le pare-feu Proxmox a trois interrupteurs (datacenter, nœud, machine) et il les faut tous les trois.

    Mais le jour où vous activerez le pare-feu au niveau du datacenter, cette case déjà cochée le rendra actif sur cette carte, avec la politique par défaut. Une VM subitement injoignable après une manipulation de pare-feu vient presque toujours de là.

  • VLAN Tag sur no VLAN. À renseigner uniquement si vmbr0 est déclaré VLAN-aware et que vous voulez isoler cette VM dans un VLAN précis.

  • MAC address sur auto. Laissez : Proxmox génère une adresse dans sa plage réservée. Une adresse figée à la main n'a de sens que si un DHCP externe distribue des baux statiques.

Onglet Confirm de l'assistant de création de VM : récapitulatif clé par clé

L'onglet Confirm, sur une VM d'essai créée sans rien changer aux valeurs proposées : le récapitulatif de ce qui sera réellement envoyé, une clé par ligne. Trois lignes se lisent avant de cliquer Finish. scsi0 local:32,format=qcow2 : le disque est parti sur local, le stockage proposé par défaut, au lieu de local-lvm — le piège du §4.3.

net0 …firewall=1 : la case Firewall est déjà cochée. ide2 none,media=cdrom : un lecteur de CD vide, ajouté d'office. La case Start after created reste décochée : on relit d'abord la configuration.

Les options avancées : la case Advanced

En bas de l'assistant, à côté du bouton Back, la case Advanced est décochée par défaut. Cochée, elle fait apparaître dans chaque onglet des champs supplémentaires, sous un trait horizontal.

Ils ont tous une valeur par défaut correcte pour une première VM : on ne les touche que pour un besoin précis. Mais il faut savoir qu'ils existent, car c'est là que se règlent le démarrage automatique, le plafond de processeur ou l'exclusion d'un disque des sauvegardes. Tous restent modifiables après la création, dans l'onglet Hardware ou Options de la VM.

Sur pxe212 (Proxmox VE 9.2.21), avec une VM d'essai non créée.

Assistant Create VM, case Advanced cochée, onglet General : Start at boot, Start/Shutdown order, Startup delay, Shutdown timeout, vCPU Architecture et Tags

L'onglet General en mode avancé : sous le trait, le démarrage automatique et son ordonnancement, puis l'architecture du processeur virtuel et les tags. La case Advanced cochée se voit en bas à droite.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
General Add to HA décoché Confie la VM à la haute disponibilité, dans un cluster
General Resource Pool vide Range la VM dans un pool, pour les droits (chapitre 1)
General Start at boot décoché La VM démarre avec le nœud (onboot)
General Start/Shutdown order any Priorité de démarrage : 1 démarre en premier. L'arrêt se fait dans l'ordre inverse. Une VM sans ordre démarre après celles qui en ont un
General Startup delay default Secondes d'attente après le démarrage de cette VM, avant de démarrer la suivante
General Shutdown timeout default Secondes laissées à la VM pour s'éteindre ; 180 par défaut. Au-delà, Proxmox l'arrête de force
General vCPU Architecture Default (Host Architecture) L'architecture émulée. Une autre que celle du nœud (aarch64, l'ARM — autre famille de processeurs — en 64 bits) se passe des extensions du processeur : beaucoup plus lent
General Tags aucun Étiquettes pour filtrer les VM dans l'arborescence (chapitre 1)

L'ordre de démarrage ne vaut qu'entre les VM d'un même nœud, pas sur tout le cluster. Cas typique : le serveur de base de données en 1, avec un délai de 60 secondes, puis les serveurs d'application en 2.

Onglet System en mode avancé : Graphic card, Machine, BIOS, SCSI Controller, Qemu Agent et Add TPM (*Trusted Platform Module*)

L'onglet System en mode avancé : deux champs de plus, Graphic card et Add TPM.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
System Graphic card Default La carte graphique émulée. Default donne std, une carte VGA (Video Graphics Array) standard. Serial terminal 0 remplace l'écran par une console série : c'est le choix des images cloud (§10)
System Add TPM décoché Ajoute une puce TPM virtuelle, qui garde des secrets comme des clés de chiffrement. Windows 11 l'exige. Une fois créée, elle ne se modifie plus : elle se supprime seulement

Onglet Disks en mode avancé : SSD emulation, Read-only, Backup, Skip replication, Async IO, et l'onglet Bandwidth

L'onglet Disks en mode avancé : cinq champs sous le trait, et un second onglet, Bandwidth, pour les limites de débit.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
Disks SSD emulation décoché Présente le disque comme un SSD et non comme un disque rotatif. Le système invité adapte alors sa gestion du disque
Disks Read-only décoché Disque en lecture seule pour la VM
Disks Backup coché Le disque est inclus dans les sauvegardes vzdump. Décoché : il est sauté. Utile pour un disque de cache ou de données temporaires
Disks Skip replication décoché Exclut le disque de la réplication entre nœuds, qui exige un stockage ZFS
Disks Async IO Default (io_uring) La méthode d'entrées-sorties de QEMU : io_uring, native ou threads. À laisser par défaut
Disks → Bandwidth limites aucune Plafonds de lecture et d'écriture, en Mo/s et en opérations par seconde. Empêche une VM de saturer le stockage partagé

Onglet CPU en mode avancé : VCPUs (*virtual CPUs*, processeurs virtuels), CPU limit, CPU Affinity, CPU units, Enable NUMA (*Non-Uniform Memory Access*) et la liste Extra CPU Flags

L'onglet CPU en mode avancé : le partage du processeur du nœud entre les VM, puis la liste des drapeaux du processeur, avec leur description et les nœuds qui les supportent.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
CPU VCPUs 1 (= le total de cœurs) Le nombre de processeurs branchés au démarrage, s'il doit être inférieur au total. Sert à en ajouter à chaud ensuite, sous Linux
CPU CPU limit unlimited Plafond de temps processeur : 1 = un cœur du nœud à 100 %, 2.5 = 250 %. La VM garde ses cœurs, mais ne consomme pas plus
CPU CPU Affinity All Cores Les cœurs du nœud autorisés à exécuter la VM, par exemple 0-3. Ce n'est pas une mesure de sécurité, et cela complique la migration vers un nœud plus petit
CPU CPU units 100 Le poids de la VM quand plusieurs VM se disputent le processeur. Une VM à 200 reçoit deux fois plus de temps qu'une VM à 100
CPU Enable NUMA décoché Présente à la VM la topologie mémoire des serveurs à plusieurs processeurs physiques
CPU Extra CPU Flags Default partout Active ou retire une instruction précise, comme aes ou nested-virt (la virtualisation imbriquée)

CPU limit ou CPU units ? Le premier est un plafond, appliqué même quand le nœud est libre.

Le second est une priorité, qui ne joue que quand le processeur du nœud est saturé. En production, on règle d'abord les CPU units.

Onglet Memory en mode avancé : Minimum memory, Shares grisé, Ballooning Device et Allow KSM (*Kernel Samepage Merging*) cochés

L'onglet Memory en mode avancé : le plancher du ballooning (§7.4), et deux cases cochées d'office.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
Memory Minimum memory (MiB) égal à Memory (2048) Le plancher du ballooning (balloon). Égal à Memory : la mémoire est fixe
Memory Shares Default (1000), grisé Le poids de la VM quand Proxmox redistribue la mémoire. Grisé tant que le plancher égale le maximum
Memory Ballooning Device coché Le pilote de ballon. Même avec une mémoire fixe, il remonte l'usage réel de la mémoire de la VM. Décoché : balloon: 0
Memory Allow KSM coché Autorise la fusion des pages mémoire identiques entre VM (KSM, Kernel Samepage Merging), qui économise la mémoire du nœud. Décoché : la VM en est exclue

Onglet Network en mode avancé : Disconnect, MTU (*Maximum Transmission Unit*), Rate limit et Multiqueue

L'onglet Network en mode avancé : quatre champs sous le trait.

Onglet Champ avancé Valeur par défaut Ce qu'il décide
Network Disconnect décoché La carte est créée débranchée, comme un câble retiré (link_down=1). L'atelier 6 s'en sert pour restaurer une copie sans conflit d'adresse
Network MTU Same as bridge La taille maximale des trames. Vide : celle du bridge
Network Rate limit (MB/s) unlimited Plafond de débit de la carte, en mégaoctets par seconde
Network Multiqueue vide Le nombre de files de la carte VirtIO. Recommandé : autant que de vCPU

À retenir — les options avancées

  • La case Advanced ne change aucune valeur : elle montre des champs qui ont déjà un défaut correct.
  • Les plus utiles en production : Start at boot et son ordre, Backup sur un disque, CPU units, Disconnect.
  • Tout se modifie après la création : onglets Options et Hardware de la VM.