Aller au contenu

ZFS : remplacer un disque de boot

RB-06Toutes architectures installées sur rpool ZFS RAID1Niveau 330 minQui : Client guidé / MSP / MSP

Objectif. Remplacer un disque du miroir de démarrage rpool et le rendre à nouveau amorçable. Un simple zpool replace ne suffit pas : il faut aussi recréer les partitions et la partition de boot.

Rappel du partitionnement de l'installeur Proxmox

Partition Rôle
part1 Zone BIOS boot
part2 Partition ESP (1 Go), gérée par proxmox-boot-tool
part3 Partition ZFS membre de rpool

Avant de toucher la prod

  • L'autre disque du miroir est sain (zpool status rpool).
  • Nouveau disque de taille égale ou supérieure.
  • Accès console (IPMI, iDRAC, iLO) disponible en cas de problème de démarrage.

Étapes

Exemple : disque sain /dev/sda, nouveau disque /dev/sdb

  1. Repérer le mode de démarrage et l'état actuel.

    proxmox-boot-tool status        # UEFI (systemd-boot) ou legacy (grub)
    zpool status rpool
    
  2. Copier la table de partitions du disque sain vers le nouveau, puis rendre ses identifiants uniques.

    sgdisk /dev/sda -R /dev/sdb
    sgdisk -G /dev/sdb
    
  3. Remplacer le membre ZFS (partition 3), en désignant les disques par leur identifiant.

    zpool replace -f rpool <ancien-membre-part3> /dev/disk/by-id/<nouveau-disque>-part3
    zpool status rpool              # attendre la fin du resilver
    
  4. Préparer et enregistrer la partition de boot (partition 2).

    proxmox-boot-tool format /dev/disk/by-id/<nouveau-disque>-part2
    proxmox-boot-tool init /dev/disk/by-id/<nouveau-disque>-part2
    # en mode legacy (grub) : proxmox-boot-tool init <...>-part2 grub
    proxmox-boot-tool clean         # retire l'ancienne ESP de la liste
    proxmox-boot-tool status        # les deux ESP doivent apparaître
    

Vérifications

zpool status rpool ONLINE, proxmox-boot-tool status liste deux ESP. Lors de la prochaine maintenance, tester un démarrage sur chacun des deux disques depuis le menu de boot du serveur.

Rollback

Si l'étape 4 échoue, le serveur démarre toujours sur le disque sain : ne pas redémarrer, ouvrir un ticket.

Pièges vus en support

  • Inverser source et destination dans sgdisk -R écrase la table de partitions du disque sain. Relire la commande deux fois.
  • Le nouveau disque doit apparaître dans proxmox-boot-tool status : sinon, le serveur ne démarrera plus si l'autre disque tombe.
  • Sur un serveur en RAID matériel (pas de ZFS au boot), ce runbook ne s'applique pas.

Quand ouvrir un ticket iTop

Les deux disques de rpool en erreur, nœud qui ne redémarre pas : P1. Doute sur une commande : P3 avant intervention. Joindre zpool status rpool, proxmox-boot-tool status, lsblk -o NAME,SIZE,SERIAL,PARTTYPENAME.

Ouvrir un ticket iTop pour RB-06 Que joindre au ticket ?


Rubrique : ZFS · Architecture : Toutes · Rédigé pour PVE 9.x, PBS 4.x, Ceph 19.2 · Brouillon à valider en lab avant publication · Documentation officielle : PVE · PBS