Upgrade de Proxmox 8 vers 9
Proxmox s’est imposé depuis plusieurs années comme une solution incontournable pour la virtualisation et la gestion de containers dans les environnements aussi bien professionnels que personnels. Avec la sortie de Proxmox VE 9 en août, la plateforme a franchit une nouvelle étape importante, apportant de nombreuses améliorations qui renforcent à la fois les performances, la sécurité et la facilité d’administration.
Basé sur Debian 13 “Trixie” et un noyau Linux 6.14, il offre un meilleur support matériel et une stabilité accrue. Cette version introduit la gestion des chaînes de snapshots sur les volumes blocs, permettant des sauvegardes et restaurations plus flexibles. Le module HA (Haute disponibilité) bénéficie désormais d’un système d’affinité, facilitant la répartition intelligente des ressources entre les nœuds du cluster. L’interface web a été modernisée, notamment pour les usages mobiles, grâce à une réécriture en Rust/Yew qui la rend plus fluide et réactive. Les composants de base ont été mis à jour : QEMU 10, LXC 6, ZFS 2.3 (avec expansion RAID-Z à chaud) et Ceph Squid 19.2, offrant de meilleures performances et une gestion simplifiée. Enfin, de nombreuses améliorations ont été apportées à la gestion des clusters, à la migration des VM et conteneurs, ainsi qu’à l’API, rendant l’ensemble de l’expérience Proxmox plus rapide, robuste et efficace.
Vous trouverez le changelog complet sur le lien suivant :

Si vous utilisez déjà Proxmox VE 8, une mise à niveau vers la version 9 est non seulement possible, mais elle peut se faire sans réinstallation complète, à condition de bien préparer l’opération. Dans cet article, nous allons détailler les étapes clés pour réaliser cette migration fluide et sécurisée, tout en minimisant les risques d’interruption de service.
Prérequis
Avant de procéder à la mise à jour vers Proxmox VE 9, il est essentiel de préparer correctement votre infrastructure afin que tout se déroule sans accroc et être prêt en cas d'erreur. Voici les points clés à vérifier :
- Votre système doit être à jour sur la dernière version stable de Proxmox VE 8.4. Pour cela, lancez
apt update && apt full-upgrade. - Effectuez une sauvegarde de chaque VM et conteneur, ainsi que de la configuration du cluster (fichiers
/etc/pve). - Vérifiez que la partition système dispose d’au moins 10 Go de libres pour le téléchargement et l’installation des nouveaux paquets.
- Vous devez bien entendu disposer d’un accès complet au serveur (console locale ou SSH), ainsi que des droits administrateur.
- Si votre infrastructure fait partie d’un cluster, il est conseillé de mettre à jour les nœuds un par un et de vérifier l’état du quorum avant chaque opération.
Mise à jour
La première étape de la mise à jour de Proxmox va être l'exécution du script pve8to9, qui va réaliser un certain nombre de contrôles en automatique pour vérifier que votre système est prêt à être migré, et vous indiquera si un point d'attention voire bloquant pourra être rencontré.
= CHECKING VERSION INFORMATION FOR PVE PACKAGES =
Checking for package updates..
PASS: all packages up-to-date
Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 8.4-0
Checking running kernel version..
PASS: running kernel '6.8.12-15-pve' is considered suitable for upgrade.
= CHECKING CLUSTER HEALTH/SETTINGS =
SKIP: standalone node.
= CHECKING HYPER-CONVERGED CEPH STATUS =
SKIP: no hyper-converged ceph setup detected!
= CHECKING CONFIGURED STORAGES =
PASS: storage 'local' enabled and active.
PASS: storage 'local-lvm' enabled and active.
PASS: storage 'nfs-save' enabled and active.
PASS: storage 'save' enabled and active.
PASS: storage 'storage' enabled and active.
INFO: Checking storage content type configuration..
PASS: no storage content problems found
PASS: no storage re-uses a directory for multiple content types.
INFO: Check for usage of native GlusterFS storage plugin...
PASS: No GlusterFS storage found.
INFO: Checking whether all external RBD storages have the 'keyring' option configured
SKIP: No RBD storage configured.
= VIRTUAL GUEST CHECKS =
INFO: Checking for running guests..
WARN: 5 running guest(s) detected - consider migrating or stopping them.
INFO: Checking if LXCFS is running with FUSE3 library, if already upgraded..
SKIP: not yet upgraded, no need to check the FUSE library version LXCFS uses
INFO: Checking for VirtIO devices that would change their MTU...
PASS: All guest config descriptions fit in the new limit of 8 KiB
INFO: Checking container configs for deprecated lxc.cgroup entries
PASS: No legacy 'lxc.cgroup' keys found.
INFO: Checking VM configurations for outdated machine versions
PASS: All VM machine versions are recent enough
= MISCELLANEOUS CHECKS =
INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvescheduler.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for supported & active NTP service..
PASS: Detected active time synchronisation unit 'chrony.service'
INFO: Checking if the local node's hostname 'proxmox' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '192.168.10.100' configured and active on single interface.
INFO: Check node certificate's RSA key size
PASS: Certificate 'pve-root-ca.pem' passed Debian Busters (and newer) security level for TLS connections (4096 >= 2048)
PASS: Certificate 'pve-ssl.pem' passed Debian Busters (and newer) security level for TLS connections (2048 >= 2048)
INFO: Checking backup retention settings..
PASS: no backup retention problems found.
INFO: checking CIFS credential location..
PASS: no CIFS credentials at outdated location found.
INFO: Checking permission system changes..
INFO: Checking custom role IDs
PASS: no custom roles defined
INFO: Checking node and guest description/note length..
PASS: All node config descriptions fit in the new limit of 64 KiB
INFO: Checking if the suite for the Debian security repository is correct..
PASS: found no suite mismatch
INFO: Checking for existence of NVIDIA vGPU Manager..
PASS: No NVIDIA vGPU Service found.
INFO: Checking bootloader configuration...
WARN: Removable bootloader found at '/boot/efi/EFI/BOOT/BOOTX64.efi', but GRUB packages not set up to update it!
Run the following command:
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
Then reinstall GRUB with 'apt install --reinstall grub-efi-amd64'
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.
INFO: Check for dkms modules...
SKIP: could not get dkms status
INFO: Check for legacy 'filter' or 'group' sections in /etc/pve/notifications.cfg...
INFO: Check for legacy 'notification-policy' or 'notification-target' options in /etc/pve/jobs.cfg...
PASS: No legacy 'notification-policy' or 'notification-target' options found!
INFO: Check for LVM autoactivation settings on LVM and LVM-thin storages...
NOTICE: storage 'local-lvm' has guest volumes with autoactivation enabled
NOTICE: storage 'storage' has guest volumes with autoactivation enabled
NOTICE: Starting with PVE 9, autoactivation will be disabled for new LVM/LVM-thin guest volumes. This system has some volumes that still have autoactivation enabled. All volumes with autoactivations reside on local storage, where this normally does not cause any issues.
You can run the following command to disable autoactivation for existing LVM/LVM-thin guest volumes:
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation
INFO: Checking lvm config for thin_check_options...
PASS: Check for correct thin_check_options passed
INFO: Check space requirements for RRD migration...
PASS: Enough free disk space for increased RRD metric granularity requirements, which is roughly 14.47 MiB.
INFO: Checking for IPAM DB files that have not yet been migrated.
PASS: No legacy IPAM DB found.
PASS: No legacy MAC DB found.
INFO: Checking if the legacy sysctl file '/etc/sysctl.conf' needs to be migrated to new '/etc/sysctl.d/' path.
PASS: Legacy file '/etc/sysctl.conf' exists but does not contain any settings.
INFO: Checking if matching CPU microcode package is installed.
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
SKIP: NOTE: Expensive checks, like CT cgroupv2 compat, not performed without '--full' parameter
= SUMMARY =
TOTAL: 47
PASSED: 34
SKIPPED: 6
WARNINGS: 3
FAILURES: 1
ATTENTION: Please check the output for detailed information!
Try to solve the problems one at a time and then run this checklist tool again.Avant de continuer et de procéder à la mise de jour de Proxmox, il faut corriger à minima toutes les erreurs, et vérifier que les warnings ne ne seront pas bloquants.
Dans mon cas, j'ai 1 erreur bloquante, la présence du paquet systemd-boot qui perturbera la mise à jour des paquets de démarrage si on ne le supprime pas. (plus d'infos dans la doc de Proxmox).
apt remove systemd-bootEt j'ai 3 warnings :
- Les VM et conteneurs sont en cours d'exécution. Je les arrêterais avant de lancer l'upgrade.
- Le paquet
GRUBn'est pas marqué comme devant être mis à jour, il faut le forcer manuellement en exécutant les commandes :
echo 'grub-efi-amd64 grub2/force_efi_extra_removable boolean true' | debconf-set-selections -v -u
apt install --reinstall grub-efi-amd64- Le paquet
intel-microcodedoit être mis à jour. Il s'agit d'activer les mises à jour de sécurité du firmware du CPU. Il faut d'abord ajouter le dépôtnon-free-firmwaredans le fichier/etc/apt/sources.list:
deb http://deb.debian.org/debian bookworm non-free-firmwarePuis on procède au rafraichissement de la liste des paquets et on installe celui qui est demandé :
apt update && apt install intel-microcodeOn exécute à nouveau le script pve8to9, et le résultat doit cette fois ne contenir aucune erreur ni warning.
= SUMMARY =
TOTAL: 46
PASSED: 37
SKIPPED: 6
WARNINGS: 0
FAILURES: 0On peut donc passer à la mise à jour.
On vient remplacer le nom de code de Debian dans les sources :
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list Si vous n'utilisez pas les dépôts enterprise ni ceph, vous pouvez les supprimer :
rm /etc/apt/sources.list.d/pve-enterprise.list
rm /etc/apt/sources.list.d/ceph.listOn rafraichit les sources avec la commande apt update et on obtient une indication qu'on a un grand nombre de paquets à mettre à jour.
584 packages can be upgraded. Run 'apt list --upgradable' to see them.On lance l'upgrade du système :
apt full-upgradePendant la mise à jour des paquets, plusieurs questions vous seront posées. Pour quitter l'affichage des changelog, appuyez sur la touche q. On doit ensuite valider la nouvelle disposition du clavier, puis le redémarrage automatique des services lors de la mise à jour (toutes les VMs et conteneurs sont éteintes donc pas d'impact).
On peut également avoir des questions posées sur des fichiers de configuration :
/etc/issue: On répondNpour garder les modifications de Proxmox./etc/lvm/lvm.conf: Si vous n'avez pas fait de modifications dedans, répondezYpour prendre le fichier modifié.
Une fois la mise à jour terminée, on vérifie la version de Proxmox avec la commande pveversion et vous devez obtenir un résultat similaire à :
pve-manager/9.0.11/3bf5476b8a4699e2 (running kernel: 6.8.12-15-pve)On peut maintenant redémarrer la machine avec reboot pour prendre en compte les nouveaux paquets, notamment le noyau.
On vérifie à nouveau avec la commande pveversion et vous devriez voir cette fois que le noyau a aussi été mis à jour :
pve-manager/9.0.11/3bf5476b8a4699e2 (running kernel: 6.14.11-4-pve)Pour terminer la procédure, on procède à la modernisation des sources Debian, qui créera 2 fichiers de configuration, le premier pour Debian et le second pour Proxmox :
apt modernize-sources Voilà, si vous avez bien suivi le tutoriel, vous ne devriez pas avoir rencontré de problème particulier. Si c'est le cas, je vous invite à consulter la doc de Proxmox sur les problèmes connus.

Conclusion
Plusieurs personnes me l'avaient demandé et attendaient ce tutoriel pour réaliser la mise à jour de leur Proxmox en version 9, et j'espère que ça vous permettra de sauter le pas plus sereinement.
Si vous avez besoin d'aide pour la mise à jour de votre Proxmox, n’hésitez pas à poser vos questions en commentaire ou à venir en discuter avec la communauté sur le groupe Telegram !