IT-Admin.tech

Mise à niveau de Proxmox VE 8 sans interruption : guide pratique avec rollback et étapes de vérification

Architekturdiagramm eines Proxmox VE 8 Rolling‑Upgrades mit Live‑Migration, Ceph‑ und ZFS‑Komponenten
Visualisierung: Rolling‑Upgrade‑Ablauf, Live‑Migration und Storage‑Komponenten (Ceph, ZFS) in einem Proxmox VE 8 Cluster.

Une mise à niveau Proxmox VE 8 soigneusement planifiée sans interruption de service est possible pour des clusters de production avec machines virtuelles (VMs) et conteneurs, à condition de combiner des rolling‑upgrades, des chemins de Live‑Migration et des stratégies de stockage. Ce guide propose des instructions pratiques avec les prérequis, des étapes de vérification concrètes, les pièges courants, les options de rollback et des remarques spécifiques pour des configurations de stockage comme ZFS ou Ceph.

Pourquoi une mise à niveau sans interruption n’est pas triviale

Une mise à niveau proactive évite de courtes interruptions de service, mais exige des connaissances sur la haute disponibilité (HA), la Live‑Migration et la cohérence du stockage. HA se réfère aux mécanismes qui redémarrent automatiquement les services en cas de défaillance d’un hôte. La Live‑Migration est l’opération de déplacement en cours d’exécution d’une VM d’un hôte à un autre sans redémarrage de l’instance invitée. Les problèmes surviennent généralement aux interfaces : réseau, verrous de stockage, incompatibilités entre versions KVM/QEMU ou dépendances de services à l’échelle du cluster comme les Ceph Monitors.

Préparation : Checkliste vor dem Upgrade

Avant de commencer, vérifiez l’environnement de manière systématique. Utilisez cette checkliste comme base et complétez‑la par des points spécifiques à votre site :

  • Aktuelle Backups: vollständige, getestete Backups aller VMs/Container (vzdump, PBS). Vzdump ist das integrierte Proxmox‑Backupwerkzeug, PBS bezeichnet Proxmox Backup Server.
  • Santé du cluster : tous les nœuds en ligne, quorum présent, aucune erreur dans la barre du cluster.
  • Intégrité du stockage : ZFS‑Pools en ligne et non DEGRADED, Ceph health OK, montages NFS/iSCSI stables.
  • Tampon de ressources : suffisamment de CPU/RAM/capacité disque sur les nœuds cibles pour absorber les pics de Live‑Migration.
  • Chemin réseau : connexion basse latence entre hôtes, chemins de commutation redondants, cohérence MTU (p. ex. Jumbo Frames si utilisés).
  • Export de configurations : pvecm config, /etc/pve backups und LVM/ZFS/ceph Konfig dumps.
  • Plan de reprise en cas d’indisponibilité pour les cas critiques : que se passe‑t‑il si la Live‑Migration échoue ? Qui intervient ?

Exemples de commandes pour vérifier l’état

Vérifiez préalablement l’état du cluster et du stockage via des commandes. Ces commandes fournissent des indicateurs rapides :

Shell
# Cluster status
pvecm status

# PVE service und systemd Units
systemctl status pve-cluster pvedaemon pveproxy corosync

# ZFS Pools
zpool status -v

# Ceph Status (falls verwendet)
ceph -s

Ces vérifications indiquent si les services de base sont en fonctionnement. Les échecs pointent vers des causes immédiates à corriger en priorité (p. ex. ZFS‑VDEVs endommagés, Ceph‑MONs manquants).

Stratégie de mise à niveau : Rolling Upgrade mit Live‑Migration

La méthode recommandée pour minimiser l’indisponibilité est le rolling upgrade : mettre à jour les nœuds un par un, migrer les VMs, mettre à niveau le nœud, puis rapatrier ou redistribuer les VMs. Cette stratégie réduit le risque d’incompatibilités à l’échelle du cluster.

Principe et déroulement

  1. Choisissez un nœud de départ avec la charge la plus faible.
  2. Évacuez toutes les VMs non configurées en HA par Live‑Migration vers d’autres nœuds.
  3. Effectuez la mise à niveau et le redémarrage du nœud.
  4. Vérifiez les services et la connexion au stockage sur le nœud mis à jour.
  5. Si stable, rapatriez les VMs ou déclenchez le rescheduling HA.
  6. Répétez pour le nœud suivant.

Important : les VMs configurées en HA ne doivent pas être simplement supprimées ; désactivez plutôt temporairement les ressources HA ou utilisez le ‚maintenance mode‘ pour l’hôte.

Commandes concrètes : migrer une VM et mettre l’hôte en maintenance

Exemple : Migration d’une VM et désactivation temporaire du HA‑fencing. Remplacez vmid et targethost en conséquence.

Shell
# Live‑Migration einer VM (qm migrate)
qm migrate 101 proxmox-node02 --online

# VM stoppen falls Online‑Migration nicht möglich
qm shutdown 101
qm migrate 101 proxmox-node02

# Host in Wartung (HA deaktivieren für diesen Host)
pvesh create /cluster/ha/maintenance --enable 1 --node proxmox-node01 --timeout 3600

# Host wieder aus Wartung nehmen
pvesh delete /cluster/ha/maintenance --node proxmox-node01

Warum das funktioniert: Online‑Migration verschiebt Speicher‑ und CPU‑State inkrementell, sodass die Gastinstanz praktisch ohne Reboot weiterläuft. Scheitert Migration z. B. wegen Storage‑Locks oder Netzwerkproblemen, fällt der Vorgang zurück und die VM bleibt am Quellhost.

Storage‑Szenarien: Besonderheiten bei ZFS, Ceph und NFS/iSCSI

Le stockage est le principal écueil lors d’une mise à niveau sans interruption de service. Voici les cas typiques et leur traitement.

ZFS

ZFS (système de fichiers et gestionnaire de volumes) est utilisé en local sur l’hôte ou via une réplication Shared‑ZFS. Pour un ZFS local, vous devez migrer les VMs entièrement, car les disques ne sont pas facilement partagés entre hôtes. Avec un ZFS partagé via iSCSI ou similaire, le comportement dépend de la configuration.

  • Si ZFS est local : Live‑Migration n’est possible que si l’hôte cible a accès aux mêmes périphériques blocs (z. B. via shared iSCSI oder zentrale Storage‑Lösungen). Sinon : Backup (vzdump) und RESTore auf Ziel oder Storage‑Migration (pvmove / zfs send/recv).
  • Scrubs ZFS vor dem Upgrade: prüfen Sie Pool‑Integrität, reparieren Sie erkannte Fehler.
Shell
# ZFS Scrub starten und Status prüfen
zpool scrub rpool
zpool status rpool

Typische Fehler: DEGRADED oder UNAVAIL Pools erfordern Rebuilds oder Ersatzlaufwerke, bevor ein Upgrade sinnvoll ist.

Ceph

Ceph ist ein verteiltes Storage‑System (RADOS) mit Monitors (MON), OSDs (Object Storage Daemons) und MGR. Beim Upgrade sind Reihenfolge und Health entscheidend:

  1. Vérifier : ceph -s doit afficher HEALTH_OK.
  2. Mettre à niveau les MONs l’un après l’autre, puis procéder au rolling upgrade des OSDs.
  3. Évitez d’exécuter simultanément plusieurs upgrades d’OSD qui déplaceraient fortement les Placement‑Groups (PGs) ; cela prolonge le backfilling et augmente le risque de pics d’I/O.
Shell
# Ceph Health prüfen
ceph -s

# Beispiel: OSD Drain (je nach Ceph‑Version) vor Upgrade
ceph osd out osd.2
systemctl stop ceph-osd@2
# Nach Upgrade wieder in: 
systemctl start ceph-osd@2
ceph osd in osd.2

Warum das wichtig ist: Bei fehlerhafter Reihenfolge oder schlecht verteilten PGs kann das Cluster ins Degraded‑ oder sogar OSD‑Loss‑Szenario rutschen.

NFS / iSCSI

Pour NFS et iSCSI : vérifiez les options de montage (timeo/retrans), le verrouillage de fichiers et les configurations multipath. Les timeouts liés au réseau sont une cause fréquente d’échecs lors des migrations.

Shell
# Beispiel: iSCSI Session prüfen
iscsiadm -m session -P 3

# NFS Mount‑Optionen anzeigen
mount | grep nfs

Proxmox VE 8 Upgrade ohne Downtime: Entscheidungskriterien

Avant de commencer, évaluez selon des critères objectifs si un chemin sans downtime est réaliste. Les principaux critères sont :

  • Topologie de stockage : Shared vs. stockage local déterminent si la migration en ligne est possible.
  • Tolérance de la charge : les VMs individuelles peuvent-elles supporter de courtes pointes CPU ou I/O ?
  • Niveau de redondance : nombre d’hôtes redondants et capacité disponible pour l’évacuation.
  • Environnement de test : Existe‑t‑il un environnement de staging pour effectuer une exécution à blanc de la procédure ?

Si un de ces éléments n’est pas rempli, prévoyez une fenêtre de maintenance planifiée. Un véritable upgrade sans impact utilisateur n’est réaliste que si les chemins de stockage et réseau sont proprement redondants.

Archiviazione : Approfondissement sur ZFS et Ceph (how‑tos et bonnes pratiques)

Le stockage mérite une attention particulière. Vous trouverez ci‑dessous des procédures pratiques, des conseils de dépannage et des listes de contrôle pour ZFS et Ceph.

ZFS : Snapshots, réplication et parcours de RESTauration

ZFS offre des snapshots natifs et une réplication efficace via zfs send/recv. Avant la mise à niveau, créez un snapshot cohérent et, en option, transférez‑le sur un deuxième hôte comme filet de sécurité.

Shell
# Snapshot erstellen
zfs snapshot pool/vm-101-disk-1@pre-upgrade

# Snapshot übertragen (remote Ziel vorausgesetzt)
zfs send -R pool/vm-101-disk-1@pre-upgrade | ssh root@backuphost zfs recv backup/pool

# Lokale Liste prüfen
zfs list -t snapshot

Liste de vérification ZFS avant mise à niveau :

  • pas de pools en DEGRADED
  • scrub exécuté avec succès
  • suffisamment de blocs libres pour l’overhead des snapshots
  • RESTauration de test d’un snapshot dans l’environnement de test

Prévoyez du temps pour le transfert de gros ensembles de données lors de la RESTauration ; pour des VMs avec de grands disques virtuels, un audit préalable du thin‑provisioning est utile.

Ceph : minimiser l’impact du backfilling et vérifications d’état

Avec Ceph, la principale source de régressions de performance pendant les mises à niveau est le backfilling entre OSDs. Actions recommandées :

  • Réaliser les mises à niveau par étapes (un OSD par hôte, décalés dans le temps).
  • Surveiller la répartition des PG via ceph -s et alerter sur les PGs en DEGRADE/DEGRADED.
  • Avant les changements majeurs : créer une réserve de capacité pour éviter les pics de rebalancing.

Si le rebalancing provoque des pics d’I/O importants, planifiez les travaux en dehors des heures de pointe ou réduisez temporairement les paramètres de rebalancing (toujours en tenant compte de votre version de Ceph et de la documentation d’administration).

Canary‑Knoten und Staging: Testen im kleinen Maßstab

Effectuez d’abord une mise à niveau sur un nœud canary : un hôte avec des VMs non critiques ou uniquement des workloads de test. L’objectif est de valider concrètement les parcours de migration typiques (live migration, backup, RESTore, tests réseau) sur la nouvelle version.

  • Lancez des smoke‑tests : démarrage des VMs, tests réseau, scénarios I/O.
  • Exécutez un job de backup complet et RESTaurez un échantillon.
  • Simulez une panne d’hôte et vérifiez le comportement de basculement HA.
Shell
# Beispiel Smoke‑Tests nach Upgrade
# Ping und SSH prüfen
ping -c3 10.0.1.100
ssh -o BatchMode=yes admin@10.0.1.100 'echo OK'

# Kurzer I/O Test (fio empfohlen, hier nur ioping als Beispiel)
ioping -c 10 /dev/zvol/pool/vm-101-disk-1

Monitoring und Observability während des Upgrades

Surveillez les métriques en temps réel : CPU, mémoire, latence disque, erreurs réseau, statut des PG Ceph et valeurs iostat. Si vous utilisez Prometheus/Grafana, définissez à l’avance des dashboards et des alertes pour les seuils critiques.

Métriques concrètes qui font la différence :

  • Latence disque P95/P99
  • PGs Ceph en état OTHER/DEGRADED
  • retries réseau, link‑flaps
  • erreurs des jobs de backup

Rollback‑Strategien: Was tun, wenn etwas schiefgeht

Un plan de retour en arrière est indispensable. Selon la nature de l’incident, plusieurs options existent :

1. Arrêt immédiat : isoler le nœud du cluster

Si un nœud génère des états de cluster incohérents après une mise à niveau, isolez‑le pour permettre aux autres nœuds de continuer à fonctionner :

Shell
# Beispiel: Knoten aus dem Cluster entfernen (Vorsicht: irreversible Aktion, nur in Notfällen)
pvecm delnode proxmox-node01

# Alternativ Netzwerk isolieren und Services stoppen
systemctl stop pve-cluster pvedaemon
ip link set dev ethX down

Warum: l’isolation prévient le split‑brain ou d’autres modifications de configuration, ce qui maintient la stabilité du RESTe du cluster.

2. RESTauration du nœud

Si la mise à niveau ne pose problème que sur l’hôte, vous pouvez :

  • Réinstaller depuis la sauvegarde et RESTaurer les VM (PBS/vzdump).
  • Si vous disposez de snapshots de l’hôte (par ex. via ZFS‑snapshots), les rétablir.
Shell
# Beispiel: ZFS Snapshot zurückrollen (Vorsicht: Datenverlust möglich)
zfs list -t snapshot
zfs rollback rpool/ROOT@pre-upgrade-snap

3. RESTauration au niveau VM

Si seules des VM isolées sont concernées, RESTaurez‑les depuis les sauvegardes plutôt que de RESTaurer l’hôte entier. C’est souvent plus rapide et moins risqué.

Étapes de vérification après la mise à niveau : liste de validation

Après chaque étape sur un nœud, effectuez ces contrôles de manière automatisée ou manuelle :

  1. Cluster : pvecm status, tests du ring corosync.
  2. Stockage : zpool status, ceph -s, points de montage, état des LVM PV/VG/LV.
  3. VM : tests de démarrage, connectivité réseau, smoke checks d’application.
  4. Sauvegardes : vérifier les jobs de sauvegarde réussis après la mise à niveau.
  5. Baseline de performance : comparer les métriques I/O et CPU pour détecter les régressions.
Shell
# Beispiel: einfache Smokechecks für eine VM (Ping, SSH)
ping -c3 10.0.1.100
ssh -o BatchMode=yes admin@10.0.1.100 'echo OK'

# I/O Baseline Beispiel (iostat muss installiert sein)
iostat -x 1 3

Pièges typiques et comment les éviter

  • Capacité de stockage insuffisante sur les nœuds cibles : vérifier la capacité avant la migration.
  • Versions QEMU/KVM incompatibles : lire les release notes, planifier des ajustements de la configuration des devices VM.
  • Mauvaise MTU réseau avec Jumbo Frames : des erreurs MMU entraînent des pertes de paquets et des interruptions de migration.
  • Le backfilling Ceph provoque des pics d’I/O : effectuer l’upgrade des OSD par petites séries et surveiller la PG‑Health.
  • Options de montage incorrectes ou verrouillage sur NFS : les timeouts interrompent les migrations.

Cas particulier : mise à niveau dans des petits sites ou homelabs

Si vous n’avez que quelques hôtes, les options sont limitées. Stratégie : migration hors ligne complète pendant une fenêtre de maintenance, ou externaliser temporairement les charges de travail vers le cloud ou un hôte externe. Documentez ces contraintes et testez intégralement en local.

Automatisation et tests

Automatisez les étapes de vérification (health checks, vérification des sauvegardes, échantillonnage de performance) avec des scripts simples ou des playbooks de monitoring. Exécutez un dry run complet de la mise à niveau dans un environnement de test aussi proche que possible de la production.

Shell
# Beispiel: rudimentärer Health‑Check Script‑Ansatz (Bash)
#!/bin/bash
set -e
pvecm status || { echo "Cluster error"; exit 1; }
ceph -s || echo "Ceph not present or unhealthy"
zpool status -x || echo "No ZFS or degraded"
# Weitere Checks hier

echo "Basic health checks passed"

Conclusion

Une mise à niveau Proxmox VE 8 sans interruption de service est réalisable si vous combinez une approche structurée et orientée rolling, une infrastructure redondante, des sauvegardes fiables et des vérifications de stockage rigoureuses. Prévoyez du temps pour la lecture des Readme/Release‑Notes, testez dans un environnement séparé et disposez de chemins de retour clairement définis. Les aspects liés au stockage (ZFS, Ceph, NFS/iSCSI) constituent souvent le facteur limitant et méritent une attention renforcée.

Cette procédure vous fournit une feuille de route opérationnelle : listes de contrôle, exemples concrets de commandes, points de validation et options de rollback qui guident même des administrateurs moins spécialisés à travers le processus. Une bonne gestion des changements et des tests sont la clé, pas seulement la technique.

Pour ce sujet, la migration à chaud (Live Migration) et la mise à niveau de Ceph sont également importantes. L’article situe clairement ces aspects et montre ce qui compte au quotidien.