Avant de plonger dans le concret, un petit détour par l’écosystème de la virtualisation s’impose. Libvirt, que beaucoup utilise comme backend pratique pour gérer QEMU/KVM, offre déjà une base solide mais reste souvent cantonné à une approche plus "bricolage avancé". VMware ESXi, de son côté, a longtemps été la référence en entreprise, mais entre les licences, la fermeture de l’écosystème et les changements récents côté support, il devient de moins en moins attractif pour un homelab ou un usage perso (de plus du millénaire à attendre pour chaque action). Proxmox se positionne pile entre les deux : un hyperviseur open source, stable et surtout self-hostable sans efforts démesurés. C’est précisément ce qui m’a convaincu de m’y plonger sérieusement : avoir un outil robuste, documenté et capable de gérer aussi bien mes petites VM de test que des environnements plus ambitieux, sans me battre avec des licences obscures ni des configs illisibles.
Note: J'avais installé Proxmox 8 il y a un moment sur mon cluster pour testrer si tout fonctionnait avant de recevoir mes cartes ethernets supplementaires. N'ayant qu'une VM active d'installé, je l'ai sauvegardé et me suis dit que je referais directement toute l'installation pour avoir les bonnes interfaces et le bon addressage des adresses IP. Entre temps Proxmox 9 est sorti, avec son nouveau kernel Linux. Cet article seras donc sur deux choses. Le passage de Proxmox 8 à 9 pour voir ce que ça vaut. Puis sur une installation fraiche de la 9 pour partir sur une base propre.*
Passage de Proxmox 8 à 9
Cette partie est assez simple (tout comme une fresh install en soit), car les gens de chez PM, en plus de proposer un formidable outil, ont une documentation très complète (voir ici).
Dans le cadre du passage de 8 en 9 avec un cluster, on peux se permettre de passer les noeuds un à un (en essayant tout de même de diminuer le temps d'attente pour l'ensemble des noeuds du cluster).
Vers la derniere 8
La première étape est donc de mettre à jour nos noeuds à la derniere version de Proxmox 8 (8.4.1 minimum). Pour les cluster avec Ceph, un guide est proposé dans le tutoriel, je ne l'aborderais comme il ne me concerne pas.
La mise à jour peux se faire directement depuis l'UI (Noeud -> Update -> Refresh) cela déclenchera tout simplement un apt update.

Une fois la mise à jour des paquets faite on peux "upgrade" via l'interface pareil (cela reviens aussi à faire un apt upgrade ).

Vérification finale
Une fois les paquets mis à jour, on se connecte en SSH à la machine ou depuis le shell de Proxmox et on peux utiliser un outil qui nous permettras de verifier avant de mettre à jour de la 8 à la 9.
pve8to9 --full
La vérification ne prend que quelques secondes et indique la plupart du temps que faire pour résoudre l'erreur/le warning. Dans mon cas j'avais deux "soucis" :
Paquet system-boot
FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages. Remove 'systemd-boot' See https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning for more information.
Ici c'est assez simple un apt purge systemd-boot suffiras. Il faut penser à refaire la commande pve8to9 à chaque modification.
Paquet microcode
WARN: The matching CPU microcode package 'intel-microcode' could not be found! Consider installing it to receive the latest security and bug fixes for your CPU. Ensure you enable the 'non-free-firmware' component in the apt sources and run: apt install intel-microcode
Ici, pareil il faut juste suivre les instructions :
sed -i 's| main| main contrib non-free-firmware|g' /etc/apt/sources.list
apt update
apt install -y intel-microcode
En utilisant une derniere fois l'utilitaire, on est prêt à mettre à jour.
Mise à jour des répertoires
Bon la suite n'est pas trop compliqué, c'est essentiellement un enchainement de commandes à copier-coller de la doc, en prenant en compte si l'on a ou pas une licence d'entreprise (devinez ce que j'ai
).
Attention: Pensez à eteindre toute vos machines avant de mettre à jour
Allons y :
apt update
apt dist-upgrade
pveversion
Ensuite, on met à jour les répertoires pour utiliser Trixie et plus Bookworm.
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
Et finalement, on renseigne les paquets pour Proxmox 9 (sans licence) :
cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
Ensuite dans le dossier /etc/apt/sources.list.d on peux retirer tout les fichiers .list
rm *.list
On fait ensuite une derniere fois apt update avant de passer à la mise à jour.
apt dist-upgrade -y
Par la suite, toutes les entrée dépendent de vos préférences (la doc couvre ça aussi si vous ne savez pas quoi choisir !!).
On croise les doigts
Maintenant, on lance une derniere fois pve8to9 et on redémarre la machine (normalement tout iras bien le soft est solide).
Ett....VOILA !!

Installation de Proxmox 9
Le plus important dans cette installation selon moi est le paramétrage des interfaces ethernet et le plan d'adressage. Par noeud j'ai une deux interfaces 10Gb/s et une interface 1Gb/s. Il faut définir correctement l'interface de gestion et par la suite l'interface dédié au cluster, les changer par la suite est un peu galère...
Pour l'installation il faudras donc :
- L'image ISO de Proxmox
- Une connexion internet (même si optionnel c'est FORTEMENT recommandé)
- C'est à peu près tout....
Créer clef bootable
Un mot. BalenaEtcher. Simple et rapide.
Booter sur l'ISO
Selon la machine l'accès au BIOS pour sélectionner la clée usb sur laquelle booter se fait de manière différente. Dans mon cas le spam de F1 est de mise.
Première étape, désactiver le Secure Boot (Onglet Security en général). Ensuite, on choisi le bon ordre de boot dans la partie Startup (Primary Boot Sequence).

On redémarre (en sauvergardant) et normalement on accès à la page d'installation du PVE. D'ici on peux faire une installation graphique ou terminal. Sans de souris supplémentaire sous la main j'ai opté pour l'installation via TUI.
Info: Sur des machines que vous venez de recevoir, pensez à faire les tests de mémoire pour vérifier que toutes vos barettes sont ok (Advanced Options -> Test memory)

Installation
- On accepte les Conditions d'utilisation (après les avoir lues bien sur...)
- Choix du disque dur (ne pas se tromper). Par défaut le système de fichier est en ext4. Pour ce que je vise c'est le bon choix. On peux aussi limiter la taille du root, data et LVM.

- L'emplacement (timezone et clavier)
- Les identifiants du compte utilisateur. Vous pouvez renseigner votre mail réels car Proxmox PEUX vous envoyer des mails de notifications grâce à un MTA intégré dans l'install via Postifx.
- Choix de l'interface de gestion (IMPORTANT), c'est par là que l'on se iras gérer le cluster. Si cette interface tombe, ça sera plus compliqué de manager nos hyperviseurs. J'ai configuré sur mon réseaux local (je détaillerais dans un autre poste) plusieurs VLAN pour bien isoler chaque usage. J'en ai fait un en particulier pour la management du cluster. L'IP seras donc une IP statique dédiée.

- Ensuite on vérifie toutes les informations renseignées et c'est parti.

Post Installation
Une fois l'installation faites, la web UI est accessible via le port 8006 sur l'IP du nœud.
Gestion des repertoires
À moins que vous ayez une centaines d'euros à mettre PAR CLUSTER, il est plus que nécessaire avant tout de commencer par désactiver les répertoires d'entreprise.
Dans Datacenter -> Updates -> Repositories vous pouvez désactiver les répertoires Ceph (je n'ai pas assez de nœuds pour en faire efficacement) et PVE-Entreprise.

Ensuite remonter d'un niveau dans Updates pour rafraîchir les paquets et faire une mise à jour du système (pour partir sur la dernière version d'une base stable).
Stratégie de stockage
En regardant les stockage du nœud, on se rend compte que le stockage de 2 To (en plus de celui où est installé l'OS) n'est pas accédé par Proxmox.

Via le shell Proxmox (ou en SSH), on peux aller vérifier si le disque est bien détecté. C'est le cas ici :

En soit monter le disque n'est pas très compliqué, se qu'il faut se demander c'est, comment vas-t-on gérer le stockage exactement. Proxmox propose plusieurs types de backends de stockage, chacun avec ses avantages et ses contraintes. Le choix dépend beaucoup de la taille du cluster, des besoins en performance et surtout du niveau de redondance que l’on veut mettre en place.
Petit tour d’horizon :
Directory
C’est la solution la plus simple : Proxmox monte un répertoire local (par exemple /var/lib/vz) et l’utilise pour stocker directement les disques virtuels (en .raw ou .qcow2). C’est pratique pour un lab rapide ou des petits tests, mais dès qu’on veut profiter des fonctionnalités avancées comme la réplication native ou les snapshots optimisés, ça devient vite limité. Anecdote : je l’ai utilisé au tout début, et je me suis retrouvé bloqué dès que j’ai voulu migrer proprement une VM sur un autre nœud…
LVM
Ici on passe sur du plus robuste. LVM (Logical Volume Manager) permet de découper le disque en volumes logiques, que Proxmox peut utiliser comme stockage brut pour ses VM. C’est rapide, car les disques virtuels sont écrits directement en block device, sans passer par un filesystem intermédiaire. Mais le défaut est qu’on ne peut pas profiter des snapshots Proxmox de la même manière qu’avec d’autres systèmes, et ça reste assez rigide à manipuler après coup.
LVM-Thin
Version modernisée, basée sur les thin pools. Elle permet d’allouer de l’espace “à la demande” et surtout de bénéficier de snapshots plus flexibles. C’est un bon compromis quand on veut garder les perfs du LVM tout en gagnant en souplesse. Mais dans mon cas, ça restait trop limité par rapport à ce que je cherchais à mettre en place.
ZFS
Le vrai game changer dans mon cas. ZFS n’est pas juste un filesystem : il gère en même temps le volume manager. Cela veut dire qu’on peut combiner plusieurs disques dans un pool (RAIDZ, mirror, etc.), profiter de la compression à la volée, des snapshots quasi instantanés et surtout de la réplication native entre nœuds Proxmox. Pour un cluster, c’est un énorme avantage : il suffit d’activer la réplication sur une VM pour que ses données soient synchronisées sur un autre nœud. En cas de panne, on redémarre la VM ailleurs, sans passer par une restauration classique. C’est ce qui a clairement orienté mon choix.
Concrètement, je vais préparer mes disques supplémentaires en pool ZFS, un pour chaque nœud, avec une configuration simple mais robuste. Comme ça je profiteras de stabilité, gestion simplifiée et surtout la sérénité d’avoir mes VM répliquées automatiquement. Je détaillerais cette partie dans un prochain article.
Mise en cluster
Créer un cluster Proxmox, c’est littéralement dire à plusieurs hyperviseurs : “vous allez travailler ensemble et partager le cerveau”. Techniquement, ça passe par Corosync, qui gère la communication entre nœuds. L’astuce, c’est de lui donner une interface réseau dédiée (pas la même que celle de gestion si possible), sinon on se retrouve vite avec des timeouts bizarres si le trafic VM et cluster se mélangent (testé et non approuvé). Pour ce faire, depuis le premier nœud, on initie le cluster via UI ou commandes et depuis les autres noeuds on rejoins ce premier cluster.
Une fois que tout le monde est à bord, la magie opère : l’interface web devient unifiée. On peut voir l’ensemble des ressources, migrer une VM d’un nœud à l’autre à chaud (si le stockage le permet), et surtout préparer la réplication ZFS dont je parlais plus haut.
Info: Proxmox stocke la config des VMs dans
/etc/pve/via un système de filesystem distribué basé sur corosync/quorum. Pas besoin de rsync ou d’Ansible ici, tout est natif et ça se met à jour quasi instantanément.
Autres options intéressantes
Permissions et authentification
Dans la section permissions, on retrouver les options Realms et Two-Factor, qui seront intéressants lors de la mise en place d'un service d'IAM pour manager les identités des différents utilisateurs du lab.
Certificats
Pour tout ce qui est certificats et validation, Proxmox sait se servir de Letsencrypt pour nous permettre de générer des certificats (via challenge DNS par exemple pour les IP privées) et nous permettre d'avoir une connexion propre sans cadenas barré :D .