Introduction : Pourquoi Proxmox VE est devenu incontournable en 2025
Dans le paysage de la virtualisation, un acteur open-source s'est imposé comme la référence absolue pour les homelabs, les PME et même les environnements de production exigeants : Proxmox Virtual Environment (VE). Avec la sortie de Proxmox VE 8.x, basé sur Debian 12 Bookworm et le noyau Linux 6.x, la plateforme a franchi un cap majeur en termes de fonctionnalités, de stabilité et de performances.
Alors que VMware a bouleversé son modèle de licences suite au rachat par Broadcom fin 2023, provoquant une migration massive d'entreprises vers des alternatives, Proxmox VE s'est retrouvé sous les projecteurs. En 2025-2026, la communauté a explosé, les contributions se sont multipliées, et la plateforme rivalise désormais frontalement avec des solutions commerciales coûtant des dizaines de milliers d'euros.
Architecture en un coup d'œil

Ce guide complet vous accompagnera pas à pas dans la mise en place d'un homelab de virtualisation professionnel avec Proxmox VE 8. Que vous soyez administrateur système, développeur DevOps ou passionné de self-hosting, vous trouverez ici tout ce qu'il faut pour maîtriser cette plateforme extraordinaire.
Qu'est-ce que Proxmox VE ? KVM + LXC sous un même toit
Proxmox VE est une plateforme de virtualisation open-source de type 1 (bare-metal) qui combine deux technologies de virtualisation complémentaires :
- KVM (Kernel-based Virtual Machine) : l'hyperviseur intégré au noyau Linux, permettant de créer des machines virtuelles complètes avec isolation matérielle. Chaque VM dispose de son propre BIOS/UEFI virtuel, de ses disques virtuels et de ses interfaces réseau dédiées.
- LXC (Linux Containers) : une technologie de conteneurisation au niveau du système d'exploitation, offrant des conteneurs légers qui partagent le noyau de l'hôte tout en restant isolés. Plus performants et économes en ressources que les VMs complètes.
Cette dualité est ce qui rend Proxmox VE unique. Vous pouvez exécuter des VMs Windows, des VMs Linux, des conteneurs légers, le tout depuis une interface web unifiée accessible via HTTPS sur le port 8006.
Les composants clés de Proxmox VE 8
- Base Debian 12 (Bookworm) avec noyau Linux 6.8+
- QEMU 8.x pour l'émulation matérielle
- Interface web complète en HTML5 (pas de client lourd nécessaire)
- API REST documentée pour l'automatisation
- Clustering natif avec Corosync pour la haute disponibilité
- Stockage distribué avec Ceph intégré
- Firewall intégré configurable par VM/conteneur
- Sauvegarde intégrée et compatibilité avec Proxmox Backup Server
Téléchargement et Installation de Proxmox VE 8
Prérequis matériels
Avant de vous lancer, vérifiez que votre matériel répond aux exigences minimales :
- Processeur : CPU 64 bits avec support de la virtualisation matérielle (Intel VT-x / AMD-V). Vérifiez dans le BIOS que cette option est activée.
- RAM : 4 Go minimum, 32 Go recommandé pour un homelab confortable, 64 Go+ pour un usage intensif.
- Stockage : SSD de 128 Go minimum pour le système. SSD NVMe recommandé pour les performances. Disques supplémentaires pour le stockage des VMs.
- Réseau : Au moins une carte réseau Gigabit. Deux interfaces recommandées (une pour le management, une pour le trafic VM).
Téléchargement de l'ISO
Rendez-vous sur le site officiel proxmox.com/en/downloads pour télécharger la dernière ISO de Proxmox VE 8. Vérifiez l'intégrité du fichier avec le checksum SHA256 fourni.
# Télécharger l'ISO depuis le miroir officiel
wget https://enterprise.proxmox.com/iso/proxmox-ve_8.3-1.iso
# Vérifier le checksum SHA256
sha256sum proxmox-ve_8.3-1.iso
# Créer une clé USB bootable avec dd (remplacez /dev/sdX par votre clé)
sudo dd if=proxmox-ve_8.3-1.iso of=/dev/sdX bs=4M status=progress conv=fsyncProcessus d'installation
L'installation de Proxmox VE est remarquablement simple :
- Bootez sur la clé USB et sélectionnez "Install Proxmox VE (Graphical)".
- Acceptez la licence AGPL v3.
- Sélectionnez le disque cible. Vous pouvez ici choisir le système de fichiers : ext4, XFS ou ZFS (recommandé si vous avez suffisamment de RAM).
- Configurez le réseau : hostname FQDN (ex: pve.homelab.local), adresse IP statique, passerelle, DNS.
- Définissez le mot de passe root et l'adresse email de notification.
- Lancez l'installation qui prend généralement 5 à 10 minutes.
Configuration post-installation
Après le redémarrage, accédez à l'interface web via https://VOTRE_IP:8006. Voici les premières étapes essentielles :
# Se connecter en SSH au serveur Proxmox
ssh root@192.168.1.100
# Désactiver le dépôt enterprise (si pas d'abonnement)
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
# Ajouter le dépôt no-subscription (communautaire)
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
# Mettre à jour le système
apt update && apt full-upgrade -y
# Supprimer le message de souscription au login (optionnel)
# Sauvegardez d'abord le fichier original
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
# Redémarrer le service web
systemctl restart pveproxyL'interface web Proxmox : Tour d'horizon
L'interface web de Proxmox VE est l'un de ses points forts. Entièrement en HTML5, elle ne nécessite aucun plugin ni client lourd. Voici les sections principales :
Navigation principale
- Datacenter : vue d'ensemble du cluster, options globales, stockage, réseau, permissions.
- Node (nœud) : chaque serveur physique du cluster avec ses ressources, services, logs, mises à jour.
- VMs et CTs : chaque machine virtuelle et conteneur avec accès à la console, configuration, snapshots, sauvegardes.
Fonctionnalités clés de l'interface
- Console noVNC et SPICE : accès graphique aux VMs directement depuis le navigateur.
- xterm.js : terminal web pour les conteneurs LXC.
- Tableau de bord : graphiques en temps réel (CPU, RAM, stockage, réseau).
- Gestion des tâches : suivi de toutes les opérations en cours et historique.
- Recherche globale : retrouvez rapidement n'importe quelle VM, conteneur ou nœud.
Créer une Machine Virtuelle (VM) complète
Télécharger une ISO
Avant de créer une VM, vous devez uploader une image ISO dans le stockage Proxmox.
# Télécharger une ISO directement sur le serveur Proxmox
cd /var/lib/vz/template/iso/
# Exemple : télécharger Ubuntu Server 24.04 LTS
wget https://releases.ubuntu.com/24.04/ubuntu-24.04.1-live-server-amd64.iso
# Ou via l'interface web : Node → local → ISO Images → Upload/Download from URLCréer une VM via l'interface web
Cliquez sur "Create VM" en haut à droite de l'interface. L'assistant vous guide à travers plusieurs étapes :
- General : VM ID (numérique, ex: 100), nom de la VM.
- OS : sélection de l'ISO, type d'OS (Linux, Windows, etc.).
- System : type de machine (q35 recommandé), BIOS (OVMF/UEFI pour les OS modernes), contrôleur SCSI (VirtIO SCSI single recommandé).
- Disks : taille du disque, format (qcow2 ou raw), stockage cible, options d'IO (cache, discard/TRIM).
- CPU : nombre de sockets et cœurs, type de CPU (host pour les meilleures performances).
- Memory : RAM allouée, option de ballooning pour l'allocation dynamique.
- Network : bridge réseau, modèle de carte (VirtIO recommandé), VLAN tag optionnel.
Créer une VM via la ligne de commande (qm)
L'outil qm (QEMU Manager) permet de gérer les VMs en ligne de commande, idéal pour l'automatisation :
# Créer une VM avec ID 101
qm create 101 \
--name ubuntu-server \
--memory 4096 \
--cores 4 \
--sockets 1 \
--cpu cputype=host \
--net0 virtio,bridge=vmbr0,firewall=1 \
--scsihw virtio-scsi-single \
--scsi0 local-lvm:32,discard=on,iothread=1,ssd=1 \
--ide2 local:iso/ubuntu-24.04.1-live-server-amd64.iso,media=cdrom \
--boot order=scsi0;ide2 \
--ostype l26 \
--machine q35 \
--bios ovmf \
--efidisk0 local-lvm:1 \
--agent enabled=1
# Démarrer la VM
qm start 101
# Afficher la configuration de la VM
qm config 101
# Arrêter proprement la VM (nécessite le QEMU Guest Agent)
qm shutdown 101
# Forcer l'arrêt
qm stop 101
# Supprimer une VM (doit être arrêtée)
qm destroy 101 --purge
# Lister toutes les VMs
qm list
# Prendre un snapshot
qm snapshot 101 before-upgrade --description "Avant mise à jour système"
# Restaurer un snapshot
qm rollback 101 before-upgrade
# Redimensionner un disque (ajouter 20 Go)
qm resize 101 scsi0 +20GCloud-Init : Automatiser le provisionnement
Cloud-Init est un standard de l'industrie pour l'initialisation automatique des VMs. Proxmox VE l'intègre nativement, ce qui vous permet de configurer automatiquement le hostname, les utilisateurs, les clés SSH et le réseau au premier démarrage.
# Télécharger une image cloud Ubuntu (format qcow2)
wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
# Créer une VM template avec cloud-init
qm create 9000 --name ubuntu-cloud-template --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
# Importer le disque cloud dans le stockage local-lvm
qm importdisk 9000 noble-server-cloudimg-amd64.img local-lvm
# Attacher le disque importé
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0
# Ajouter un lecteur cloud-init
qm set 9000 --ide2 local-lvm:cloudinit
# Configurer le boot sur le disque SCSI
qm set 9000 --boot order=scsi0
# Configurer cloud-init
qm set 9000 --ciuser admin
qm set 9000 --cipassword "MotDePasseSecurise2025!"
qm set 9000 --sshkeys ~/.ssh/id_rsa.pub
qm set 9000 --ipconfig0 ip=dhcp
qm set 9000 --agent enabled=1
# Convertir en template
qm template 9000
# Cloner le template pour créer une nouvelle VM
qm clone 9000 110 --name web-server-01 --full
qm set 110 --ipconfig0 ip=192.168.1.110/24,gw=192.168.1.1
qm set 110 --memory 4096 --cores 4
qm start 110Avec cette approche, vous pouvez provisionner une nouvelle VM en quelques secondes à partir d'un template pré-configuré. C'est la base de l'Infrastructure as Code dans un homelab.
Conteneurs LXC : Légers et Performants
VMs vs Conteneurs LXC : quand utiliser quoi ?
| Critère | VM (KVM) | Conteneur LXC |
|---|---|---|
| Isolation | Complète (noyau séparé) | Partielle (noyau partagé) |
| Overhead | Modéré (virtualisation matérielle) | Minimal (quasi natif) |
| OS supportés | Linux, Windows, BSD, etc. | Linux uniquement |
| Démarrage | 30-60 secondes | 1-3 secondes |
| RAM minimum | 512 Mo - 1 Go | 64 Mo - 256 Mo |
| Usage typique | OS non-Linux, isolation forte | Services Linux légers |
Règle générale : utilisez des conteneurs LXC pour tous vos services Linux (serveurs web, bases de données, DNS, reverse proxy) et réservez les VMs pour Windows, les cas nécessitant une isolation forte, ou les logiciels nécessitant un noyau spécifique.
Télécharger des templates LXC
# Mettre à jour la liste des templates disponibles
pveam update
# Lister les templates disponibles
pveam available --section system
# Télécharger un template Debian 12
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
# Télécharger un template Ubuntu 24.04
pveam download local ubuntu-24.04-standard_24.04-2_amd64.tar.zst
# Télécharger un template Alpine (ultra-léger)
pveam download local alpine-3.20-default_20240908_amd64.tar.xz
# Lister les templates téléchargés
pveam list localCréer un conteneur LXC via la CLI (pct)
# Créer un conteneur avec ID 200
pct create 200 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
--hostname nginx-proxy \
--memory 1024 \
--swap 512 \
--cores 2 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.1.200/24,gw=192.168.1.1,firewall=1 \
--nameserver 1.1.1.1 \
--searchdomain homelab.local \
--password "SecurePassword!" \
--unprivileged 1 \
--features nesting=1 \
--onboot 1 \
--start 1
# Entrer dans le conteneur
pct enter 200
# Exécuter une commande dans le conteneur
pct exec 200 -- apt update && apt upgrade -y
# Afficher la configuration
pct config 200
# Redimensionner le disque root
pct resize 200 rootfs +10G
# Arrêter / Démarrer
pct stop 200
pct start 200
# Lister tous les conteneurs
pct list
# Prendre un snapshot
pct snapshot 200 clean-install
# Cloner un conteneur
pct clone 200 201 --hostname nginx-proxy-2 --fullConteneurs privilégiés vs non-privilégiés
Proxmox VE distingue deux types de conteneurs :
- Non-privilégiés (recommandé) : les UIDs/GIDs à l'intérieur du conteneur sont mappés sur des plages élevées de l'hôte (ex: UID 0 du conteneur = UID 100000 de l'hôte). Beaucoup plus sûr en cas de compromission.
- Privilégiés : les UIDs correspondent directement. Nécessaire pour certains cas comme NFS ou Docker dans LXC. Moins sécurisé.
Bonne pratique : Utilisez toujours des conteneurs non-privilégiés sauf si une fonctionnalité spécifique l'exige. Activez le nesting si vous avez besoin d'exécuter Docker à l'intérieur d'un conteneur LXC.
Stockage : Les Options Disponibles
La gestion du stockage dans Proxmox VE est extrêmement flexible. Vous pouvez combiner plusieurs backends selon vos besoins et votre budget.
Types de stockage supportés
| Type | Partage possible | Snapshots | Cas d'usage |
|---|---|---|---|
| LVM | Non | Non | Stockage local basique |
| LVM-Thin | Non | Oui | Stockage local avec thin provisioning |
| ZFS | Non | Oui | Stockage local haute performance avec protection des données |
| Ceph (RBD) | Oui | Oui | Stockage distribué pour clusters |
| NFS | Oui | Non* | NAS partagé, ISOs, sauvegardes |
| iSCSI | Oui | Non | SAN d'entreprise |
| CephFS | Oui | Oui | Système de fichiers distribué |
| GlusterFS | Oui | Non | Stockage distribué alternatif |
| Directory | Non | Non* | Répertoire local simple |
| PBS | Oui | N/A | Proxmox Backup Server |
Configuration ZFS
ZFS est le choix idéal pour un homelab grâce à ses fonctionnalités avancées : compression, déduplication, snapshots instantanés, protection contre la corruption (checksums), et RAID logiciel intégré.
# Si ZFS n'a pas été choisi à l'installation, l'installer manuellement
apt install zfsutils-linux
# Créer un pool ZFS en mirror (équivalent RAID1) avec deux disques
zpool create -f tank mirror /dev/sdb /dev/sdc
# Créer un pool RAIDZ1 (équivalent RAID5) avec trois disques
zpool create -f datapool raidz1 /dev/sdb /dev/sdc /dev/sdd
# Activer la compression LZ4 (recommandé, quasi gratuit en CPU)
zfs set compression=lz4 tank
# Vérifier le statut du pool
zpool status tank
# Ajouter le pool ZFS comme stockage dans Proxmox
pvesm add zfspool zfs-tank --pool tank --content images,rootdir
# images = disques VM, rootdir = conteneurs LXC
# Lister les stockages configurés
pvesm statusConfiguration NFS
# Ajouter un partage NFS comme stockage (ex: depuis un NAS Synology)
pvesm add nfs nas-backup \
--server 192.168.1.50 \
--export /volume1/proxmox-backup \
--content backup,iso,vztmpl \
--options vers=4.1
# Vérifier la connectivité
pvesm statusCeph intégré : le stockage distribué
Pour les clusters multi-nœuds, Proxmox VE intègre Ceph nativement. C'est la solution idéale pour obtenir un stockage partagé hautement disponible sans matériel dédié supplémentaire.
# Installer Ceph sur le nœud Proxmox (via l'interface web ou CLI)
pveceph install --repository no-subscription
# Initialiser le cluster Ceph
pveceph init --network 10.10.10.0/24
# Créer des monitors (au moins 3 pour la haute disponibilité)
pveceph mon create
# Créer des OSDs (un par disque dédié à Ceph)
pveceph osd create /dev/sdb
pveceph osd create /dev/sdc
# Créer un pool Ceph
pveceph pool create vm-pool --pg_num 128 --size 3 --min_size 2
# Le pool est automatiquement disponible comme stockage Proxmox
pvesm statusRéseau : Bridges, VLANs et SDN
Configuration réseau de base
Par défaut, Proxmox crée un bridge vmbr0 lié à votre interface physique. Toutes les VMs et conteneurs s'y connectent.
# Fichier de configuration réseau de Proxmox
cat /etc/network/interfaces
# Configuration typique :
# auto lo
# iface lo inet loopback
#
# auto eno1
# iface eno1 inet manual
#
# auto vmbr0
# iface vmbr0 inet static
# address 192.168.1.100/24
# gateway 192.168.1.1
# bridge-ports eno1
# bridge-stp off
# bridge-fd 0VLANs : Segmenter votre réseau
Les VLANs sont essentiels dans un homelab avancé pour isoler les différents types de trafic :
# Option 1 : VLAN-aware bridge (recommandé)
# Dans /etc/network/interfaces :
auto vmbr0
iface vmbr0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
# Ensuite, assignez un VLAN tag à chaque VM/CT dans sa config réseau
# Exemple : qm set 101 --net0 virtio,bridge=vmbr0,tag=10
# Option 2 : Créer un bridge dédié par VLAN
auto eno1.10
iface eno1.10 inet manual
auto vmbr10
iface vmbr10 inet static
address 10.10.10.1/24
bridge-ports eno1.10
bridge-stp off
bridge-fd 0
# Appliquer les changements réseau
ifreload -aSDN (Software Defined Networking)
Depuis Proxmox VE 8, le SDN est passé en production stable. Il permet de gérer le réseau de manière centralisée sur tout le cluster :
- Zones : Simple, VLAN, QinQ, VXLAN, EVPN
- VNets : réseaux virtuels assignables aux VMs/CTs
- Subnets : gestion IP avec DHCP et DNS intégrés
- Controllers : BGP (via FRR) pour EVPN
# Le SDN se configure principalement via l'interface web :
# Datacenter → SDN → Zones → Create
# Ou via les fichiers de configuration
cat /etc/pve/sdn/zones.cfg
cat /etc/pve/sdn/vnets.cfg
cat /etc/pve/sdn/subnets.cfg
# Appliquer la configuration SDN sur tous les nœuds
pvesh set /cluster/sdnClustering et Haute Disponibilité
Créer un cluster Proxmox
Un cluster Proxmox permet de gérer plusieurs nœuds depuis une interface unifiée, de migrer des VMs entre nœuds et d'activer la haute disponibilité.
# Sur le premier nœud : créer le cluster
pvecm create mon-cluster
# Sur les nœuds suivants : rejoindre le cluster
pvecm add 192.168.1.100
# Vérifier le statut du cluster
pvecm status
# Lister les nœuds
pvecm nodes
# Le cluster utilise Corosync pour la communication
# Configuration dans /etc/pve/corosync.confMigration live
La migration live permet de déplacer une VM d'un nœud à un autre sans interruption de service. Cela nécessite un stockage partagé (Ceph, NFS, iSCSI) ou une migration avec stockage local (plus lente car les données sont copiées).
# Migration live d'une VM vers un autre nœud
qm migrate 101 pve-node2 --online
# Migration d'un conteneur (avec redémarrage)
pct migrate 200 pve-node2 --restart
# Migration live d'un conteneur (nécessite stockage partagé)
pct migrate 200 pve-node2 --onlineHaute disponibilité (HA)
Le HA Manager de Proxmox redémarre automatiquement les VMs/CTs sur un autre nœud en cas de panne d'un serveur. Il nécessite au minimum 3 nœuds pour le quorum.
# Ajouter une VM au groupe HA
ha-manager add vm:101 --group ha-group1 --state started --max_restart 3 --max_relocate 2
# Créer un groupe HA
ha-manager groupadd ha-group1 --nodes pve-node1,pve-node2,pve-node3 --nofailback 0
# Vérifier le statut HA
ha-manager status
# Supprimer une ressource du HA
ha-manager remove vm:101Important : pour un cluster de production, utilisez un réseau dédié pour Corosync (lien cluster séparé du trafic des VMs) et configurez un mécanisme de fencing pour éviter le split-brain.
Sauvegarde et Restauration avec Proxmox Backup Server
Sauvegardes intégrées
Proxmox VE intègre un système de sauvegarde natif (vzdump) qui peut être planifié depuis l'interface web.
# Sauvegarde manuelle d'une VM
vzdump 101 --storage local --mode snapshot --compress zstd --notes "Sauvegarde manuelle avant migration"
# Sauvegarde d'un conteneur
vzdump 200 --storage nas-backup --mode snapshot --compress zstd
# Modes de sauvegarde :
# - snapshot : sauvegarde à chaud sans interruption (recommandé)
# - suspend : suspend la VM pendant la sauvegarde (cohérence garantie)
# - stop : arrête la VM pendant la sauvegarde
# Restaurer une VM depuis une sauvegarde
qmrestore /var/lib/vz/dump/vzdump-qemu-101-2025_03_15-02_00_00.vma.zst 101
# Restaurer un conteneur
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-2025_03_15-02_00_00.tar.zst
# Planification via l'interface web :
# Datacenter → Backup → Add (cron schedule, sélection, rétention)Proxmox Backup Server (PBS)
Proxmox Backup Server est la solution de sauvegarde dédiée, offrant des fonctionnalités avancées :
- Déduplication au niveau des blocs : économie massive d'espace disque.
- Sauvegardes incrémentales : seuls les blocs modifiés sont transférés.
- Chiffrement côté client : vos données sont chiffrées avant le transfert.
- Vérification d'intégrité : détection proactive de la corruption.
- Restauration granulaire : restaurer des fichiers individuels sans restaurer la VM entière.
- Montage de sauvegardes : explorer le contenu d'une sauvegarde comme un système de fichiers.
# Sur le serveur PBS, après installation :
# Ajouter un datastore
proxmox-backup-manager datastore create backups /mnt/backup-storage
# Sur le serveur Proxmox VE, ajouter le PBS comme stockage :
pvesm add pbs pbs-main \
--server 192.168.1.200 \
--datastore backups \
--username backup@pbs \
--password "BackupPassword!" \
--fingerprint "AA:BB:CC:..." \
--content backup
# Les sauvegardes vers PBS sont ensuite configurables
# comme n'importe quel autre stockage dans les jobs de backupTemplates et Clonage : Industrialiser vos déploiements
Créer un template de VM
# 1. Créer et configurer une VM de base
qm create 9001 --name debian12-template --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
# ... installer l'OS, configurer, installer les paquets de base ...
# 2. Préparer la VM pour le templating
# Dans la VM :
apt clean
rm -rf /tmp/* /var/tmp/*
truncate -s 0 /etc/machine-id
rm -f /etc/ssh/ssh_host_*
history -c
# 3. Arrêter la VM
qm shutdown 9001
# 4. Convertir en template
qm template 9001
# 5. Cloner le template
# Clone lié (utilise le template comme base, économise l'espace)
qm clone 9001 120 --name web-server --linked
# Clone complet (copie indépendante)
qm clone 9001 121 --name db-server --full --storage local-lvmTemplates LXC
# Créer un conteneur, le configurer, puis le convertir en template
pct create 9100 local:vztmpl/debian-12-standard_12.7-1_amd64.tar.zst \
--hostname base-template --memory 512 --cores 1 --rootfs local-lvm:4 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp
# Configurer le conteneur (installer paquets, etc.)
pct start 9100
pct enter 9100
# ... configuration ...
pct stop 9100
# Convertir en template
pct template 9100
# Cloner
pct clone 9100 210 --hostname service-A --fullFirewall intégré
Proxmox VE intègre un firewall basé sur iptables/nftables, configurable à trois niveaux : Datacenter, Node et VM/CT.
# Activer le firewall au niveau du datacenter
# Datacenter → Firewall → Options → Firewall: Yes
# Configuration des fichiers firewall :
# Datacenter : /etc/pve/firewall/cluster.fw
# Node : /etc/pve/nodes/NODENAME/host.fw
# VM/CT : /etc/pve/firewall/VMID.fw
# Exemple de règle dans cluster.fw :
cat /etc/pve/firewall/cluster.fw
# [OPTIONS]
# enable: 1
# policy_in: DROP
# policy_out: ACCEPT
#
# [RULES]
# IN ACCEPT -source 192.168.1.0/24 -p tcp -dport 8006 -log nolog
# IN ACCEPT -source 192.168.1.0/24 -p tcp -dport 22 -log nolog
# Créer un Security Group réutilisable
# [group webserver]
# IN ACCEPT -p tcp -dport 80
# IN ACCEPT -p tcp -dport 443
# Créer un IP Set
# [IPSET management]
# 192.168.1.0/24
# 10.0.0.0/8GPU Passthrough : Exploiter vos cartes graphiques dans les VMs
Le GPU passthrough permet d'assigner directement une carte graphique physique à une VM, offrant des performances quasi natives. Essentiel pour la transcoding vidéo (Plex/Jellyfin), le machine learning, ou le gaming en VM.
# 1. Activer IOMMU dans le BIOS (Intel VT-d ou AMD-Vi)
# 2. Configurer GRUB pour activer IOMMU
# Pour Intel :
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"/' /etc/default/grub
update-grub
# Pour AMD :
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"/' /etc/default/grub
update-grub
# 3. Charger les modules VFIO
echo "vfio" >> /etc/modules
echo "vfio_iommu_type1" >> /etc/modules
echo "vfio_pci" >> /etc/modules
echo "vfio_virqfd" >> /etc/modules
# 4. Bloquer les drivers GPU de l'hôte
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
# 5. Identifier le GPU et ses IDs PCI
lspci -nn | grep -i vga
# Exemple : 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation ... [10de:2684]
lspci -nn | grep -i audio | grep 01:00
# Exemple : 01:00.1 Audio device [0403]: NVIDIA Corporation ... [10de:22ba]
# 6. Lier le GPU au driver VFIO
echo "options vfio-pci ids=10de:2684,10de:22ba disable_vga=1" > /etc/modprobe.d/vfio.conf
update-initramfs -u -k all
# 7. Redémarrer le serveur
reboot
# 8. Ajouter le GPU à une VM (machine q35, BIOS OVMF)
qm set 101 --hostpci0 01:00,pcie=1,x-vga=1Note : Le GPU passthrough fonctionne mieux avec les cartes NVIDIA. Pour les GPU Intel intégrés, considérez le GVT-g (SR-IOV) qui permet de partager le GPU entre plusieurs VMs.
API REST et Automatisation
L'API REST de Proxmox
Proxmox VE expose une API REST complète, documentée automatiquement sur https://VOTRE_IP:8006/pve-docs/api-viewer/. Chaque action possible dans l'interface web est disponible via l'API.
# Authentification et obtention d'un ticket
curl -k -d "username=root@pam&password=VotreMotDePasse" \
https://192.168.1.100:8006/api2/json/access/ticket
# Utiliser le ticket pour lister les VMs
export PVE_TICKET="PVE:root@pam:..."
export CSRF_TOKEN="..."
curl -k -b "PVEAuthCookie=$PVE_TICKET" \
https://192.168.1.100:8006/api2/json/nodes/pve/qemu
# Créer un token API (plus pratique pour l'automatisation)
pveum user token add root@pam automation --privsep 0
# Récupérez le token ID et le secret
# Utiliser le token API
curl -k -H "Authorization: PVEAPIToken=root@pam!automation=VOTRE-SECRET-TOKEN" \
https://192.168.1.100:8006/api2/json/nodes/pve/qemu
# Démarrer une VM via l'API
curl -k -X POST -H "Authorization: PVEAPIToken=root@pam!automation=VOTRE-SECRET-TOKEN" \
https://192.168.1.100:8006/api2/json/nodes/pve/qemu/101/status/start
# Obtenir les métriques d'une VM
curl -k -H "Authorization: PVEAPIToken=root@pam!automation=VOTRE-SECRET-TOKEN" \
https://192.168.1.100:8006/api2/json/nodes/pve/qemu/101/status/currentTerraform Provider pour Proxmox
Le provider Terraform bpg/proxmox (anciennement Telmate/proxmox) permet de gérer votre infrastructure Proxmox de manière déclarative, en Infrastructure as Code.
# Installer Terraform
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com bookworm main" > /etc/apt/sources.list.d/hashicorp.list
apt update && apt install terraformVoici un exemple de configuration Terraform pour créer une VM depuis un template cloud-init :
# main.tf
terraform {
required_providers {
proxmox = {
source = "bpg/proxmox"
version = "~> 0.66.0"
}
}
}
provider "proxmox" {
endpoint = "https://192.168.1.100:8006/"
api_token = "root@pam!automation=votre-secret-token"
insecure = true
ssh {
agent = true
}
}
resource "proxmox_virtual_environment_vm" "web_server" {
name = "web-server-tf"
node_name = "pve"
vm_id = 150
clone {
vm_id = 9000
full = true
}
cpu {
cores = 4
type = "host"
}
memory {
dedicated = 4096
}
disk {
datastore_id = "local-lvm"
interface = "scsi0"
size = 40
discard = "on"
iothread = true
ssd = true
}
network_device {
bridge = "vmbr0"
model = "virtio"
vlan_id = 10
}
initialization {
ip_config {
ipv4 {
address = "192.168.10.150/24"
gateway = "192.168.10.1"
}
}
user_account {
username = "admin"
keys = [file("~/.ssh/id_rsa.pub")]
}
}
lifecycle {
ignore_changes = [
initialization,
]
}
}# Initialiser et appliquer
terraform init
terraform plan
terraform applyComparaison avec VMware ESXi/vSphere
Depuis les changements de licence VMware par Broadcom en 2024, la comparaison entre Proxmox VE et VMware vSphere est devenue un sujet brûlant.
| Critère | Proxmox VE 8 | VMware vSphere 8 |
|---|---|---|
| Licence | Open-source (AGPL), gratuit | Propriétaire, très coûteux |
| Support | Abonnement optionnel (95€-340€/an/CPU) | Inclus dans la licence (milliers €) |
| Hyperviseur | KVM (noyau Linux) | ESXi (propriétaire) |
| Conteneurs natifs | Oui (LXC) | Non (nécessite Tanzu/vSphere Pods) |
| Interface web | Incluse, complète | vCenter Server (licence supplémentaire) |
| Stockage distribué | Ceph intégré | vSAN (licence supplémentaire) |
| API | REST, bien documentée | SOAP/REST, complexe |
| Clustering | Natif, gratuit | vCenter requis (coûteux) |
| HA | Intégré | Intégré (avec vCenter) |
| Écosystème | Communauté croissante | Écosystème mature mais en déclin |
| Backup | Intégré + PBS | Nécessite produit tiers |
Verdict : Pour un homelab, une PME ou même un environnement de production modéré, Proxmox VE offre un rapport fonctionnalités/prix imbattable. VMware vSphere reste pertinent pour les très grandes entreprises avec des équipes formées et des contrats de support existants, mais son avenir est incertain sous Broadcom.
Bonnes Pratiques pour votre Homelab Proxmox
Matériel recommandé en 2025-2026
Voici des recommandations de matériel pour différents budgets :
Homelab débutant (200-400€)
- Mini PC : Intel N100/N305 (ex: Beelink EQ12, MinisForum UM350)
- RAM : 16-32 Go DDR4/DDR5
- Stockage : SSD NVMe 500 Go + HDD 2 To pour les sauvegardes
- Réseau : Port 2.5 GbE intégré
- Usage : 5-10 conteneurs LXC, 2-3 VMs légères
Homelab intermédiaire (500-1500€)
- Serveur : Dell OptiPlex Micro / HP ProDesk / Lenovo ThinkCentre (reconditionné, i5/i7 de 10e-13e gen)
- RAM : 64 Go DDR4
- Stockage : 2x SSD NVMe 1 To en ZFS Mirror
- Réseau : Carte réseau 2.5/10 GbE additionnelle
- Usage : 20+ conteneurs, 5-10 VMs, services de production
Homelab avancé / Cluster (2000-5000€)
- 3 nœuds : serveurs rack 1U/2U reconditionnés (Dell PowerEdge R730, HP DL360 Gen10) ou mini-PCs haut de gamme
- RAM : 128 Go+ par nœud
- Stockage : SSD NVMe pour Ceph OSD, SSD SATA pour le système
- Réseau : Switch manageable avec 10 GbE, VLANs, réseau dédié Ceph
- Usage : Haute disponibilité, migration live, stockage distribué Ceph
Organisation et conventions
- Numérotation des VMs/CTs : adoptez une convention cohérente. Par exemple : 1xx pour les VMs Linux, 2xx pour les conteneurs LXC, 3xx pour les VMs Windows, 9xxx pour les templates.
- Nommage : utilisez des noms descriptifs incluant le rôle (ex:
nginx-proxy,postgres-main,monitoring-grafana). - Tags : Proxmox VE 8 supporte les tags sur les VMs/CTs. Utilisez-les pour catégoriser (prod, dev, test, infra, app).
- Documentation : documentez votre infrastructure avec les champs "Notes" disponibles sur chaque VM/CT.
- Sauvegardes : configurez des sauvegardes automatiques quotidiennes avec une rétention de 7 jours minimum.
- Mises à jour : planifiez des fenêtres de maintenance régulières. Testez les mises à jour sur un nœud non-critique d'abord dans un cluster.
- Monitoring : déployez un stack de monitoring (Prometheus + Grafana) pour surveiller votre infrastructure. Le Proxmox VE Exporter existe pour exposer les métriques.
Sécurité
- Changez le port SSH par défaut et utilisez exclusivement l'authentification par clé.
- Activez le firewall Proxmox et limitez l'accès à l'interface web (port 8006) aux IPs de confiance.
- Créez des utilisateurs dédiés avec les permissions minimales nécessaires (principe du moindre privilège).
- Activez l'authentification à deux facteurs (2FA) via TOTP ou WebAuthn/FIDO2, intégrée nativement dans Proxmox VE 8.
- Configurez fail2ban pour protéger contre les attaques par brute force.
- Mettez à jour régulièrement le système et les VMs/CTs.
# Activer 2FA pour un utilisateur via CLI
pveum user tfa add root@pam totp --description "Authentificator TOTP"
# Installer et configurer fail2ban
apt install fail2ban
cat > /etc/fail2ban/jail.d/proxmox.conf <<EOF
[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
backend = systemd
maxretry = 3
findtime = 600
bantime = 3600
EOF
cat > /etc/fail2ban/filter.d/proxmox.conf <<EOF
[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
journalmatch = _SYSTEMD_UNIT=pvedaemon.service
EOF
systemctl enable --now fail2banConclusion : Proxmox VE, le roi du homelab
Proxmox VE 8 s'est imposé comme la plateforme de virtualisation de référence pour les homelabs et les petites/moyennes infrastructures. Sa combinaison unique de KVM et LXC, son interface web intuitive, son stockage distribué Ceph intégré, et son modèle open-source en font un choix sans compromis.
En 2025-2026, avec l'exode VMware qui continue et une communauté en pleine croissance, Proxmox VE n'a jamais été aussi mature et pertinent. Que vous montiez votre premier homelab ou que vous migriez une infrastructure d'entreprise, Proxmox VE vous offre les outils nécessaires pour construire une plateforme robuste, performante et évolutive.
Les points clés à retenir :
- Commencez simple : un seul nœud suffit pour découvrir la plateforme.
- Utilisez les conteneurs LXC autant que possible pour économiser les ressources.
- Automatisez avec Cloud-Init et Terraform dès que vous maîtrisez les bases.
- Sauvegardez systématiquement avec PBS pour une protection optimale.
- Montez en cluster quand vous êtes prêt pour la haute disponibilité.
Proxmox VE transforme n'importe quel matériel en une plateforme de virtualisation de classe entreprise, et ce, entièrement gratuitement. Il n'y a plus aucune raison de ne pas se lancer.