Comment configurer votre propre serveur Proxmox VE
Vous avez un serveur bare metal et vous voulez qu'il fasse tourner des machines virtuelles et des conteneurs au lieu d'un seul système d'exploitation. Proxmox VE transforme ce matériel brut en une plateforme de virtualisation complète : un hôte basé sur Debian avec une interface web, la virtualisation complète KVM, des conteneurs système LXC, du stockage et un réseau intégrés, et aucune licence d'hyperviseur par socket à acheter. Ce guide parcourt tout le chemin, d'un serveur vierge jusqu'à un hôte fonctionnel. Nous installons Proxmox VE 9.2 depuis l'ISO, corrigeons les dépôts APT et effectuons la mise à jour, comprenons le réseau en bridge par défaut, examinons le stockage, créons une première VM et un premier conteneur LXC, et terminons par un durcissement de base. À la fin, vous aurez un nœud unique prêt pour la production, que vous pourrez faire évoluer plus tard vers un cluster.
Loading...
Proxmox VE est l'un des moyens les plus populaires de faire tourner votre propre plateforme de virtualisation sur du matériel que vous contrôlez. C'est un logiciel open source sous licence GNU AGPLv3, gratuit à utiliser en production sans blocage de fonctionnalités ni limite de VM, et il vous donne à la fois des machines virtuelles KVM et des conteneurs LXC depuis une seule interface web. Ce tutoriel fait passer un serveur bare metal d'un disque vierge à un hôte fonctionnel exécutant une VM et un conteneur.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
- Un serveur bare metal avec un CPU 64 bits dont les extensions de virtualisation matérielle (Intel VT-x ou AMD-V) sont activées dans le BIOS/UEFI. (Si vous préférez vous passer entièrement de l'installation manuelle depuis l'ISO, Proxmox VE est disponible comme image de déploiement sur Serverside, déployée sur du bare metal en moins d'une minute, avec une console KVM et un montage ISO si vous préférez l'installer vous-même.)
- L'ISO d'installation de Proxmox VE 9.2,
proxmox-ve_9.2-1.iso(environ 1.7 GB), depuis la page de téléchargement officielle - Un moyen de démarrer sur cette ISO depuis le serveur : une console IPMI/KVM avec montage de média virtuel, ou un accès physique avec une clé USB
- Une adresse IP publique, un masque de sous-réseau et une passerelle pour l'hôte, plus un résolveur DNS
- Une aisance de base avec la ligne de commande Linux et SSH
Ce que nous allons construire
Nous mettons en place un nœud Proxmox VE unique, une seule machine physique agissant comme hyperviseur autonome. Nous y ferons tourner deux workloads pour que vous voyiez les deux modèles proposés par Proxmox :
- Une machine virtuelle KVM (virtualisation matérielle complète : son propre kernel, démarre n'importe quel OS)
- Un conteneur LXC (un conteneur système Linux léger qui partage le kernel de l'hôte)
Tout ce qui suit fonctionne sur une seule machine. Le clustering, la haute disponibilité et Ceph viennent plus tard et nécessitent au moins trois nœuds ; ils sortent du cadre d'un premier hôte.
Étape 1 : Téléchargez l'ISO et démarrez l'installateur
Téléchargez proxmox-ve_9.2-1.iso depuis la page de téléchargement de Proxmox. Proxmox VE 9.2 est sorti le 2026-05-21 et repose sur Debian 13 « Trixie ». Vérifiez la somme de contrôle par rapport à celle publiée sur la page de téléchargement avant de l'écrire où que ce soit.
Si votre serveur dispose d'une console IPMI/KVM (iDRAC, iLO, IPMI, ou un KVM web), montez l'ISO en tant que média virtuel et configurez le serveur pour démarrer dessus une seule fois. Sur la console, vous devriez voir le menu de démarrage de Proxmox :
Proxmox VE 9.2 (ISO 'proxmox-ve_9.2-1')
Install Proxmox VE (Graphical)
Install Proxmox VE (Terminal UI)
Advanced Options
Choisissez Install Proxmox VE (Graphical) (ou la variante Terminal UI si la console KVM affiche mal les graphismes). L'installateur vous guide ensuite à travers plusieurs écrans :
- EULA : acceptez-le.
- Disque cible : choisissez le ou les disques sur lesquels installer. Cliquez sur Options pour choisir le système de fichiers. Sur un disque unique,
ext4sur LVM est le choix simple par défaut. Si vous avez deux disques ou plus et voulez de la redondance et des snapshots, choisissez zfs et un niveau RAID. L'installateur propose RAID0, RAID1 (miroir), RAID10, RAIDZ-1, RAIDZ-2 et RAIDZ-3, les options disponibles dépendant du nombre de disques sélectionnés. Un miroir à deux disques (RAID1) est un point de départ raisonnable et résilient. - Emplacement et fuseau horaire : définissez votre pays, votre fuseau horaire et la disposition du clavier.
- Mot de passe administrateur et e-mail : définissez un mot de passe
rootfort et une adresse e-mail réelle pour les notifications système. - Configuration réseau : définissez le nom d'hôte de gestion (un FQDN comme
pve1.example.com), l'adresse IP de l'hôte au format CIDR, la passerelle et un serveur DNS. Ces valeurs deviennent les paramètres de votre bridgevmbr0au premier démarrage.
Une remarque sur la mémoire ZFS avant de vous engager : ZFS utilise un cache en RAM appelé ARC. Une bonne règle empirique est d'environ 2 GiB de RAM de base plus environ 1 GiB d'ARC par TiB de stockage du pool. Depuis Proxmox VE 8.1, les nouvelles installations plafonnent l'ARC à 10 % de la RAM installée par défaut (écrit dans /etc/modprobe.d/zfs.conf), un réglage ajustable dans les Advanced Options de l'installateur. Prévoyez cette RAM en plus de ce dont vos VM ont besoin.
Confirmez le résumé et laissez l'installation se dérouler. Le serveur redémarre sur Proxmox VE une fois terminé. Démontez le média virtuel pour qu'il démarre sur le disque.
Étape 2 : Premier démarrage et connexion
Après le redémarrage, la console affiche l'URL de l'interface web :
Welcome to the Proxmox Virtual Environment. Please use your web browser to
configure this server - connect to:
https://192.0.2.10:8006/
pve1 login:
Ouvrez https://<your-server-ip>:8006 dans un navigateur. L'interface web est servie par le daemon pveproxy en HTTPS sur le port 8006. Vous obtiendrez un avertissement de certificat auto-signé sur une installation fraîche. Acceptez-le pour continuer. Connectez-vous avec le nom d'utilisateur root, le mot de passe défini pendant l'installation, et le realm Linux PAM standard authentication (root@pam).
Connectez-vous maintenant en SSH pour pouvoir exécuter les étapes en ligne de commande qui suivent :
Confirmez la version et le kernel en cours d'exécution avec pveversion :
root@pve1:~# pveversion
pve-manager/9.2-1/2c8d7f3b (running kernel: 6.14.8-2-pve)
Le jeton pve-manager/9.2-1 confirme que vous êtes en 9.2 ; le jeton kernel reflète le kernel actuellement démarré. Tout au long de ce guide, l'hôte s'appelle pve1 et se trouve à 192.0.2.10. Remplacez-les par votre propre nom d'hôte et vos propres adresses.
Merci de ne pas réutiliser tels quels les adresses IP, noms d'hôte ou identifiants indiqués ici ; utilisez vos propres valeurs.
Étape 3 : Configurez les dépôts et mettez à jour
Une installation fraîche pointe APT vers le dépôt enterprise, qui nécessite une clé d'abonnement payante. Sans elle, apt update échoue contre ce dépôt. Proxmox VE est gratuit à utiliser en production, mais les paquets gratuits proviennent du dépôt no-subscription, que vous devez activer vous-même.
Proxmox VE 9 utilise le format moderne deb822 .sources sous /etc/apt/sources.list.d/, et non plus les anciens fichiers .list sur une ligne. Commencez par désactiver le dépôt enterprise en y ajoutant une ligne Enabled: false. Ouvrez /etc/apt/sources.list.d/pve-enterprise.sources et faites en sorte qu'il ressemble à ceci :
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: false
Créez ensuite le dépôt no-subscription dans /etc/apt/sources.list.d/proxmox.sources :
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Suites: trixie est correct car Proxmox VE 9 est construit sur Debian 13 « Trixie ». N'activez pas les dépôts enterprise et no-subscription en même temps. Choisissez un seul canal.
Un mot de prudence tiré directement de la documentation Proxmox à propos du dépôt no-subscription : « Il peut être utilisé pour des tests et un usage hors production. Il n'est pas recommandé de l'utiliser sur des serveurs de production, car ces paquets ne sont pas toujours aussi rigoureusement testés et validés. » Pour un lab personnel ou un hôte de staging, c'est le choix standard ; pour une flotte de production, un abonnement par socket vous donne accès au canal enterprise, plus rigoureusement validé, ainsi qu'au support.
Actualisez maintenant et mettez à niveau :
root@pve1:~# apt update && apt full-upgrade -y
Hit:1 http://download.proxmox.com/debian/pve trixie InRelease
Hit:2 http://deb.debian.org/debian trixie InRelease
Hit:3 http://deb.debian.org/debian trixie-updates InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
proxmox-kernel-6.14 pve-manager qemu-server ...
...
Si le kernel a été mis à niveau, redémarrez pour démarrer dessus :
root@pve1:~# reboot
Un effet secondaire attendu : comme cet hôte n'a pas de clé d'abonnement, l'interface web affiche une boîte de dialogue « No valid subscription » à chaque connexion. C'est normal sur le dépôt no-subscription : il s'agit d'une simple notice, pas d'une erreur, et rien n'est cassé. Nous y revenons dans le Dépannage.
Étape 4 : Réseau (comprendre vmbr0)
Proxmox ne connecte pas les VM directement à votre carte réseau physique. L'installateur crée à la place un bridge Linux appelé vmbr0, y asservit l'interface physique, et place l'IP de l'hôte sur ce bridge. Un bridge se comporte comme un switch virtuel : l'hôte, chaque VM et chaque conteneur s'y branchent et partagent la liaison montante. C'est pourquoi vous avez configuré l'IP de l'hôte dans le cadre de vmbr0 pendant l'installation.
Inspectez les interfaces actuelles :
root@pve1:~# ip -br a
lo UNKNOWN 127.0.0.1/8 ::1/128
enp1s0 UP
vmbr0 UP 192.0.2.10/24
Remarquez que l'interface physique enp1s0 n'a pas d'IP propre (c'est un port du bridge), tandis que vmbr0 porte l'adresse. La configuration se trouve dans /etc/network/interfaces :
root@pve1:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface enp1s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.0.2.10/24
gateway 192.0.2.1
bridge-ports enp1s0
bridge-stp off
bridge-fd 0
La ligne bridge-ports enp1s0 est ce qui asservit la carte réseau physique au bridge. Pour un premier hôte à nœud unique, vous avez rarement besoin de modifier quoi que ce soit ici. Le bridge par défaut achemine déjà le trafic des VM et des conteneurs directement vers votre réseau.
Si vous modifiez ce fichier (par exemple pour ajouter un second bridge ou un bridge compatible VLAN), appliquez le changement sans redémarrer. Proxmox embarque ifupdown2, qui vous donne ifreload :
root@pve1:~# ifreload -a
Étape 5 : Notions de base sur le stockage
Proxmox abstrait les disques en storages nommés, chacun autorisé à contenir certains types de contenu. Une installation par défaut vous en donne deux, et il est utile de savoir à quoi chacun sert. Exécutez pvesm status :
root@pve1:~# pvesm status
Name Type Status Total Used Available %
local dir active 100.00G 35.00G 65.00G 35.00%
local-lvm lvmthin active 500.00G 200.00G 300.00G 40.00%
Les deux valeurs par défaut se répartissent par fonction :
localest un stockage basé sur un répertoire du système de fichiers de l'hôte. Il contient les images ISO, les templates de conteneurs et les sauvegardes (ainsi que les snippets) : essentiellement des fichiers. C'est ici que vous téléversez les ISO d'installation et téléchargez les templates de conteneurs.local-lvmest un stockage LVM-thin. Il contient les images disque des VM et les volumes racine des conteneurs : du stockage bloc. C'est ici que résident les disques virtuels proprement dits.
La règle empirique est donc : les ISO et les templates vont sur local ; les disques de VM et le rootfs des conteneurs vont sur local-lvm. Si vous avez installé sur ZFS plutôt que sur LVM, le second stockage est généralement local-zfs (un stockage zfspool) plutôt que local-lvm, et il joue le même rôle : le stockage bloc pour les disques des VM et des conteneurs.
Étape 6 : Créez votre première VM
Voici la récompense. Nous allons créer une machine virtuelle KVM en ligne de commande pour que vous voyiez exactement ce que fait chaque option. Commencez par téléverser ou télécharger une ISO d'installation pour votre OS invité sur le stockage local, soit via l'interface web (local → ISO Images → Upload), soit en déposant le fichier dans /var/lib/vz/template/iso/ sur l'hôte. Pour cet exemple, nous supposons que debian-13.5.0-amd64-netinst.iso est présent sur local.
Créez la VM avec qm create. Cette commande définit l'ID de VM 100, deux cœurs, 4 GiB de RAM, un contrôleur virtio-scsi moderne avec un disque de 32 GiB sur local-lvm, et une carte réseau virtio en bridge sur vmbr0 :
root@pve1:~# qm create 100 --name web01 --cores 2 --memory 4096 \
--scsihw virtio-scsi-single --scsi0 local-lvm:32 \
--net0 virtio,bridge=vmbr0 --ostype l26
Attachez l'ISO d'installation comme CD-ROM virtuel et configurez la VM pour démarrer dessus :
root@pve1:~# qm set 100 --ide2 local:iso/debian-13.5.0-amd64-netinst.iso,media=cdrom \
--boot order='ide2;scsi0'
update VM 100: -boot order=ide2;scsi0 -ide2 local:iso/debian-13.5.0-amd64-netinst.iso,media=cdrom
Démarrez-la :
root@pve1:~# qm start 100
qm start n'affiche rien en cas de succès. Confirmez que la VM tourne avec qm list :
root@pve1:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
100 web01 running 4096 32.00 12345
Ouvrez la Console de la VM dans l'interface web (noVNC) pour terminer l'installation de l'OS invité, comme vous le feriez sur n'importe quelle machine physique. Comme une VM KVM démarre son propre kernel, vous pouvez y installer n'importe quel système d'exploitation : un autre Linux, Windows, BSD, tout ce que vous voulez.
Étape 7 : Créez votre premier conteneur LXC
Un conteneur est l'option la plus légère. Au lieu de démarrer son propre kernel, un conteneur LXC partage le kernel de l'hôte et exécute un userspace Linux isolé par-dessus. Il démarre en une ou deux secondes, utilise une fraction de la RAM, et permet une bien plus grande densité sur la même machine, la contrepartie étant qu'il doit s'agir de Linux et qu'il est moins isolé qu'une VM complète. Pour une douzaine de petits services Linux, les conteneurs vous permettent d'en faire tourner bien plus par hôte que des VM.
Commencez par actualiser le catalogue de templates et lister ce qui est disponible :
root@pve1:~# pveam update
update successful
root@pve1:~# pveam available --section system
system debian-12-standard_12.7-1_amd64.tar.zst
system debian-13-standard_13.1-2_amd64.tar.zst
system ubuntu-24.04-standard_24.04-2_amd64.tar.zst
...
Téléchargez un template vers le stockage local. Les révisions mineures des templates changent avec le temps, donc vérifiez la liste ci-dessus pour le nom de fichier actuel. Nous utilisons ici le template standard Debian 13 (par exemple debian-13-standard_13.1-2_amd64.tar.zst) :
root@pve1:~# pveam download local debian-13-standard_13.1-2_amd64.tar.zst
downloading ...
download finished: local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst
Créez le conteneur avec pct create. Voici le conteneur d'ID 200, à partir de ce template, avec un nom d'hôte, deux cœurs, 2 GiB de RAM, un volume racine de 8 GiB sur local-lvm, et une carte réseau DHCP en bridge sur vmbr0 :
root@pve1:~# pct create 200 local:vztmpl/debian-13-standard_13.1-2_amd64.tar.zst \
--hostname ct01 --cores 2 --memory 2048 \
--rootfs local-lvm:8 --net0 name=eth0,bridge=vmbr0,ip=dhcp
Démarrez-le et vérifiez :
root@pve1:~# pct start 200
root@pve1:~# pct list
VMID Status Lock Name
200 running ct01
Entrez directement dans un shell root à l'intérieur du conteneur en cours d'exécution pour le configurer :
root@pve1:~# pct enter 200
root@ct01:~#
Tapez exit pour revenir à l'hôte. Remarquez à quel point c'était plus léger que la VM de l'Étape 6 : une empreinte mémoire plus petite, un démarrage instantané, et aucune installation d'OS à subir. C'est cette densité qui justifie de choisir LXC quand le workload est du Linux et que vous n'avez pas besoin d'un kernel séparé.
Étape 8 : Durcissement de base
Un plan de gestion d'hyperviseur sur une IP publique est une cible de choix. Trois changements vous couvrent l'essentiel sur un nœud unique.
1. Authentification SSH par clé uniquement. Copiez votre clé publique sur l'hôte, puis désactivez la connexion par mot de passe. Modifiez /etc/ssh/sshd_config :
root@pve1:~# sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
root@pve1:~# systemctl restart ssh
Vérifiez que vous pouvez toujours vous connecter avec votre clé dans un second terminal avant de fermer votre session actuelle, pour ne pas vous retrouver bloqué dehors. Laissez la connexion root par clé activée (Proxmox pilote certaines tâches via SSH en tant que root), mais une fois les mots de passe désactivés, il n'est plus possible de forcer le compte par brute-force.
2. Activez le firewall Proxmox. Proxmox dispose d'un firewall intégré (pve-firewall, basé sur nftables/iptables) configurable aux niveaux datacenter, nœud et VM/CT. Il est désactivé par défaut. Activez-le au niveau du datacenter et sur le nœud. Dans l'interface web : Datacenter → Firewall → Options → Firewall: Yes, puis pve1 → Firewall → Options → Firewall: Yes. Une fois activé, le firewall de l'hôte bloque le trafic entrant par défaut, à l'exception de l'interface web (8006) et de SSH (22) depuis le réseau local ; assurez-vous donc que vos règles de gestion sont en place avant de l'activer à distance.
3. Restreignez l'interface web (port 8006) aux IP admin. L'approche documentée consiste en un IPSet nommé management contenant vos adresses IP admin autorisées ; les règles de gestion intégrées s'appuient ensuite dessus. Dans Datacenter → Firewall → IPSet, créez un IPSet appelé management et ajoutez vos IP de bureau ou de VPN. Autrement, liez l'interface web à une seule adresse en définissant LISTEN_IP dans /etc/default/pveproxy et en redémarrant pveproxy :
root@pve1:~# systemctl restart pveproxy
Si votre hôte se trouve derrière une bordure réseau qui filtre déjà le trafic (par exemple le firewall permanent et la mitigation DDoS placés devant un serveur dédié Serverside), il s'agit de défense en profondeur en complément de ces contrôles au niveau de l'hôte, pas d'un remplacement.
Vérification
Parcourez cette checklist pour confirmer que l'hôte est sain et que les deux workloads tournent :
root@pve1:~# pveversion
pve-manager/9.2-1/2c8d7f3b (running kernel: 6.14.8-2-pve)
root@pve1:~# pvesm status
Name Type Status Total Used Available %
local dir active 100.00G 35.00G 65.00G 35.00%
local-lvm lvmthin active 500.00G 200.00G 300.00G 40.00%
root@pve1:~# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
100 web01 running 4096 32.00 12345
root@pve1:~# pct list
VMID Status Lock Name
200 running ct01
Rendez-vous ensuite sur https://192.0.2.10:8006, connectez-vous, et vérifiez que vous voyez web01 et ct01 dans la vue serveur avec un statut vert (en cours d'exécution). Ouvrez un shell dans le conteneur ou une console sur la VM et faites un ping pour vérifier que le réseau fonctionne via vmbr0. Si les quatre commandes et l'interface web concordent, vous avez un hôte Proxmox VE fonctionnel.
Dépannage
- Boîte de dialogue « No valid subscription » à la connexion. Normal sur le dépôt no-subscription. Il s'agit d'une notice, pas d'un défaut ; rien n'est désactivé. Elle disparaît si vous achetez et installez une clé d'abonnement par socket.
apt updateéchoue avec un 401 contreenterprise.proxmox.com. Vous n'avez pas désactivé le dépôt enterprise. AjoutezEnabled: falseà/etc/apt/sources.list.d/pve-enterprise.sources(Étape 3), vérifiez queproxmox.sourcesavecpve-no-subscriptionexiste, puis relancezapt update.- Une VM ou un conteneur n'a pas de réseau. Vérifiez que sa carte réseau est bridgée sur le bon bridge (
--net0 ...,bridge=vmbr0) et quevmbr0asservit bien votre carte réseau physique active (bridge-portsdans/etc/network/interfaces). Si le firewall Proxmox est actif, vérifiez qu'il ne bloque pas le trafic de l'invité au niveau datacenter, nœud, ou VM/CT. pveam availableoupveam downloadne trouve rien. Exécutez d'abordpveam updatepour actualiser le catalogue de templates, puis relistez. Les révisions mineures des templates changent aussi. Copiez le nom de fichier exact depuispveam available --section systemplutôt que d'en taper un ancien.- Impossible d'atteindre
https://<ip>:8006. Généralement un problème de firewall : soit votre IP admin n'est pas dans l'IPSetmanagement, soitLISTEN_IPdans/etc/default/pveproxyest lié à une adresse depuis laquelle vous ne vous connectez pas. Entrez via la console IPMI/KVM, élargissez la règle, et redémarrezpveproxy.
Conclusion
Vous disposez désormais d'un hôte Proxmox VE 9.2 à nœud unique fonctionnel : installé depuis l'ISO, pointé vers le dépôt no-subscription et entièrement mis à jour, avec son réseau en bridge et son stockage compris, une VM KVM et un conteneur LXC en cours d'exécution, et un durcissement de base en place. À partir de là, vous pouvez évoluer : ajouter plus de VM et de conteneurs, mettre en place Proxmox Backup Server pour des sauvegardes dédupliquées, ou ajouter deux nœuds supplémentaires pour former un cluster avec quorum et haute disponibilité.
Si vous préférez vous passer entièrement de l'installation manuelle depuis l'ISO, Proxmox VE est disponible comme image de déploiement prête à l'emploi sur Serverside, déployée en quelques clics sur du bare metal EPYC en moins d'une minute, avec une protection DDoS permanente devant le plan de gestion et une console KVM si vous voulez malgré tout démarrer votre propre ISO.
Et si vous hésitez encore à savoir si Proxmox VE est le bon hyperviseur pour vous (face à VMware ESXi, XCP-ng ou Hyper-V), commencez par notre guide des hyperviseurs bare metal, qui détaille les compromis avant que vous n'engagiez une machine sur l'un d'eux.

Écrit par
Co-founder & CTO, Serverside.com
Jesse is the co-founder and CTO of Serverside.com, where he leads the engineering behind the company's bare-metal cloud: from the ASN 55285 backbone to the core automation that drives day-to-day operation. He writes about dedicated servers, operating systems, and running production workloads on bare metal.
Continuer la lecture
Voir tous les articlesCet article vous a plu ?
Recevez les nouveaux guides et articles techniques par e-mail. Sans spam, désinscription à tout moment.



