CEPH Health Error

Delido

New Member
May 22, 2024
2
0
1
Hallo zusammen,

ich habe ein Ceph-Cluster mit 3 Nodes, das ca. 90 TB Rohkapazität bereitstellt und primär für CephFS genutzt wird.

Cluster-Setup:
  • Jede Node: 1x SSD (für Metadaten), 4x HDD
Vor kurzem gab es einen Zwischenfall mit starker Vibration an ALLEN Servern. Dabei sind insgesamt 4 HDDs komplett ausgefallen und 4 weitere wurden als down markiert, da sie nicht mehr sauber geantwortet haben.

Nach vollständigem Herunterfahren und erneutem Hochfahren waren alle OSDs wieder UP und CEPHFS war zugreifbar. Die HDDs von OSD3, OSD5 und OSD8 zeigen jetzt SMART-Fehler.
Ceph läuft zwar wieder, auf den ersten Blick scheint auch alles zu funktionieren, jedoch gibt es aktuell ein Objekt im Status „unfound“:

Code:
HEALTH_ERR 1 MDSs report slow metadata IOs; 1/21467740 objects unfound (0.000%); Possible data damage: 1 pg recovery_unfound; Degraded data redundancy: 3/64403220 objects degraded (0.000%), 1 pg degraded, 1 pg undersized; 3 slow ops, oldest one blocked for 104752 sec, daemons [osd.3,osd.8] have slow ops.

PVE Ceph Dashboard: 
active+recovery_unfound+undersized+degraded+remapped:
1


Ich habe bereits ein deep scrub sowie einen repair angestoßen, aber das Objekt bleibt verschwunden.
Im CephFS-Mount konnte ich die betreffende Datei ausfindig machen (es handelte sich um ein Logfile).

Code:
cephfs-data-scan pg_files / 12.80
und alle Dateien versucht zuzugreifen


Jeder Zugriffsversuch auf das Logfile hat das System hängen lassen, aber am Ende habe ich es geschafft, die Datei zu löschen (genau weiß ich nicht wie das möglich war...). Der Status des betroffenen Placement Groups (PG) hat sich dadurch aber nicht verändert.


Meine Fragen:​

1. Wie gehe ich am besten weiter vor?

Ich schwanke zwischen verschiedenen Schritten und bin mir unsicher, was am klügsten ist:

A) Wenn ich ceph pg 12.80 mark_unfound_lost revert ausführe:​

  • Wird hier nur das einzelne, unfound-Objekt "gelöscht", oder das komplette PG mit allen ~80k Dateien?
    • Laut Doku bin ich mir hier nicht zu 100% sicher, was genau passiert. Das PG (12.80) enthält laut cephfs-data-scan pg_files / 12.80 etwa 80.000 Dateien.

B)Was ist der bessere Ablauf?

  • Zuerst die (SMART Fehler) HDDs einzeln austauschen und rebalancen?
  • Oder sollte ich zuerst versuchen, die defekten Objekte zu „entfernen“ (revert/delete), um Ceph wieder sauber zu bekommen?
 
Hallo @Delido,

zuerst das unfound Objekt bereinigen, danach die Hardware tauschen.

Der Befehl mark_unfound_lost bezieht sich nur auf das eine, nicht auffindbare Objekt in der PG, nicht auf die gesamten ~80.000 Dateien. Deine anderen Daten in der PG sind also sicher.

Da du die Datei (das Logfile) bereits gelöscht hast, ist der passende Befehl:ceph pg 12.80 mark_unfound_lost delete

Danach sollte der HEALTH_ERR verschwinden und der Cluster wieder einen HEALTH_WARN anzeigen. Anschließend kannst du die Festplatten mit den SMART-Fehlern eine nach der anderen austauschen. Warte nach jedem Tausch ab, bis das Rebalancing abgeschlossen ist, bevor du mit der nächsten Platte weitermachst.
 
  • Like
Reactions: Delido