Aller au contenu

Mise à niveau majeure (ex. 8 → 9) avec pve8to9

Day 2 · ExploiterNiveau 3 · MaîtriserRunbookRédigé · à valider en lab

Passer un cluster de Proxmox VE 8.4 (Debian 12 Bookworm) à Proxmox VE 9 (Debian 13 Trixie), un nœud à la fois, sans interruption de service, en s'appuyant sur le contrôleur pve8to9. Opération réalisée par le MSP pour tous les contrats ; cette page sert au client à comprendre, préparer et valider.

Avant de toucher la prod

  • Tous les nœuds en dernière 8.4 : pveversion affiche au moins pve-manager/8.4.1.
  • Ceph hyperconvergé : déjà en Ceph 19.2 Squid sur tous les nœuds (Mise à niveau Ceph). Reef ou Quincy : migrer Ceph d'abord.
  • Sauvegardes récentes réussies sur pbs-local et copiées sur le PBS du MSP ; restauration testée.
  • Accès console hors bande (IPMI/iDRAC/iLO) à chaque nœud ; sinon travailler dans tmux.
  • Au moins 5 Go libres sur / (10 Go conseillés) : df -h /.
  • Cluster sain : quorate, Ceph HEALTH_OK, pools ZFS ONLINE, aucune réplication en échec.
  • Fenêtre de maintenance validée, notes de version et problèmes connus relus.
  • Outils tiers vérifiés (agent de sauvegarde tiers, supervision) : compatibilité Debian 13 confirmée.

Étapes (nœud par nœud)

  1. Contrôle préalable sur chaque nœud, à relancer après chaque correction. Le script ne corrige rien.

    pve8to9 --full
    # objectif : 0 FAIL ; traiter chaque WARN
    
  2. Vider le nœud : migrer ou arrêter les invités, mode maintenance HA, drapeau Ceph noout (RB-02). On peut migrer de 8 vers 9, pas de 9 vers 8 : commencer par le nœud le moins chargé.

  3. Mettre à jour la 8.4.

    apt update && apt dist-upgrade
    pveversion
    
  4. Basculer les dépôts vers Trixie (format deb822).

    sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
    cat > /etc/apt/sources.list.d/pve-enterprise.sources <<EOF
    Types: deb
    URIs: https://enterprise.proxmox.com/debian/pve
    Suites: trixie
    Components: pve-enterprise
    Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
    EOF
    rm /etc/apt/sources.list.d/pve-enterprise.list
    # Ceph (Squid) entreprise
    cat > /etc/apt/sources.list.d/ceph.sources <<EOF
    Types: deb
    URIs: https://enterprise.proxmox.com/debian/ceph-squid
    Suites: trixie
    Components: enterprise
    Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
    EOF
    rm /etc/apt/sources.list.d/ceph.list
    apt update && apt policy
    

    Aucune ligne bookworm ni backports ne doit subsister. Erreur 401 sur Ceph : pvesubscription update --force.

  5. Mettre à niveau.

    apt dist-upgrade
    

    Réponses aux questions de fichiers de configuration : /etc/issue garder ; /etc/lvm/lvm.conf version du mainteneur si non modifié ; /etc/ssh/sshd_config version du mainteneur si non modifié, sinon comparer ; /etc/default/grub garder en cas de doute ; /etc/chrony/chrony.conf version du mainteneur si non modifié.

  6. Recontrôler et redémarrer.

    pve8to9 --full
    reboot
    
  7. Remettre le nœud en service : sortie du mode maintenance, ceph osd unset noout une fois les OSD remontés, vider le cache du navigateur (Ctrl+Maj+R). Passer au nœud suivant.

  8. Après le dernier nœud : vérifier la conversion des groupes HA en règles (elle n'a lieu que lorsque tous les nœuds sont en 9), puis, en option, apt modernize-sources pour convertir les fichiers .list restants.

Vérifications

pveversion                      # pve-manager/9.x.y sur chaque nœud
pvecm status | grep Quorate     # Quorate: Yes
ceph -s                         # HEALTH_OK (alerte "insecure key types" possible, voir pièges)
ha-manager rules list           # règles node-affinity issues des anciens groupes
cat /etc/os-release | grep VERSION_CODENAME   # trixie

Rollback

Pas de retour arrière d'un nœud mis à niveau : la voie de secours est la réinstallation en 8.4 puis la réintégration (Ajouter, retirer, réinstaller un nœud) et la restauration des invités depuis PBS. D'où l'exigence de sauvegardes vérifiées et d'un nœud traité à la fois. Échec en cours d'apt : corriger les dépôts puis apt -f install.

Pièges vus en support

  • Dépôt Trixie manquant : apt propose de supprimer le méta-paquet proxmox-ve. Interrompre, corriger les dépôts.
  • Noms d'interfaces réseau modifiés au redémarrage : nœud injoignable. Prévenir avec pve-network-interface-pinning generate avant la mise à niveau.
  • Réglages dans /etc/sysctl.conf : ce fichier n'est plus lu ; déplacer vers /etc/sysctl.d/.
  • Stockage LVM partagé (SAN) : lancer /usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation.
  • Méta-paquet systemd-boot signalé par pve8to9 : le retirer comme indiqué.
  • Conteneurs anciens (systemd 230 ou moins) : ne démarrent plus, cgroup v1 étant supprimé.
  • Ceph « insecure key types » en HEALTH_ERR après mise à niveau : la mise à niveau peut continuer, migrer les clés quand tous les nœuds sont à jour.
  • NVIDIA vGPU : pilote 570.158.02 (GRID 18.3) minimum.
  • Migration à chaud entre CPU de fabricants différents : blocages possibles, tester avant.

Quand ouvrir un ticket iTop

Toute mise à niveau majeure : demande planifiée P4 au moins quatre semaines à l'avance ; le MSP fournit le planning et exécute. Nœud qui ne redémarre pas ou cluster sans quorum pendant l'opération : P1. Joindre la sortie de pve8to9 --full de chaque nœud.

Ouvrir un ticket iTop

Pour aller plus loin