Aller au contenu

Ceph : remplacer un disque OSD défectueux

RB-03Ceph HCINiveau 230 min + temps de reconstructionQui : Client guidé / MSP / MSP

Objectif. Retirer proprement un OSD en panne ou en pré-panne, remplacer le disque et recréer l'OSD, sans perte de données.

Avant de toucher la prod

  • Un seul OSD en défaut, ou plusieurs sur le même hôte. Plusieurs hôtes touchés : stop, ticket P1.
  • Assez d'espace libre pour reconstruire les données de l'OSD ailleurs (ceph osd df tree, aucun OSD au-delà de 75 %).
  • Disque de remplacement de même classe (SSD entreprise avec PLP, NVMe) et de taille égale ou supérieure.

Étapes

  1. Identifier l'OSD et son disque physique.

    ceph osd tree | grep -E 'down|out'
    ceph device ls-by-daemon osd.7          # numéro de série du disque
    ls -l /dev/disk/by-id/ | grep <série>
    smartctl -a /dev/sdX                    # confirmer la panne
    
  2. Si l'OSD est encore up (pré-panne SMART) : le sortir et laisser Ceph recopier ses données.

    ceph osd out osd.7
    watch ceph -s                           # attendre 100 % active+clean
    ceph osd safe-to-destroy osd.7          # doit répondre "safe to destroy"
    
  3. Détruire l'OSD. GUI : nœud → Ceph → OSD → sélectionner osd.7 → Out (si besoin) → Stop → More → Destroy, cocher Cleanup disks.

    systemctl stop ceph-osd@7
    pveceph osd destroy 7 --cleanup
    
  4. Remplacer physiquement le disque (à chaud si le châssis le permet), puis vérifier qu'il est vu : lsblk, nœud → Disks.

  5. Recréer l'OSD. GUI : nœud → Ceph → OSD → Create: OSD, choisir le disque (et le disque DB/WAL s'il existe).

    pveceph osd create /dev/disk/by-id/<nouveau-disque>
    # avec DB sur NVMe séparé : ajouter --db_dev /dev/nvme0n1
    
  6. Suivre le remplissage du nouvel OSD jusqu'à active+clean.

Vérifications

ceph osd tree : nouvel OSD up/in sur le bon hôte, bonne classe (ssd, nvme). ceph -s : HEALTH_OK. ceph crash ls-new vide ou acquitté.

Rollback

Avant l'étape 3, ceph osd in osd.7 annule la sortie. Après Destroy, pas de retour arrière : on recrée.

Pièges vus en support

  • Cluster de 3 nœuds avec un domaine de panne host : les données de l'OSD ne peuvent être recopiées que sur les autres OSD du même hôte. Vérifier leur remplissage avant le out.
  • Ne jamais détruire deux OSD sur deux hôtes différents avant le retour à active+clean.
  • Un SSD grand public sans protection contre les coupures de courant (PLP) dégrade fortement les performances Ceph.
  • Si la classe n'est pas détectée correctement, les règles CRUSH peuvent ignorer le disque : ticket MSP.

Quand ouvrir un ticket iTop

safe-to-destroy refuse après reconstruction, PG incomplete, disque non détecté : P2. Demande de remplacement matériel sous garantie : P3. Joindre ceph -s, ceph osd tree, smartctl -a.

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


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