Ceph – pool nearfull

Ceph Version: Luminous 12.2.2 mit Filestore und XFS

Auf dem produktive Ceph Cluster meldeten  sich nach über 2 Jahren mehrere OSDs mit der Fehlermeldung

** ERROR: osd init failed: (28) No space left on device

und beendeten sich. Versuche die OSD neu zu starten endeten immer mit der gleichen Fehlermeldung.

Der Ceph Cluster wechselte vom Status HEALTH_OK in HEALTH_ERR mit der Warnung:

ceph osd near full

ceph pool near full

Die oberflächliche Prüfung mit df -h zeigte teilweise von 71% bis 89% genutzten Speicherplatz an und man konnte keine Datei mehr im Filesystem anlegen.

Kein remount oder unmount und mount hat etwas an der Situation geändert.

Der erste Verdacht lag an der möglicherweise, fehlenden Option inode64 für XFS, aber diese Option war gesetzt. Nach genauerer Prüfung der internen Statistiken des XFS Filesystems mit

xfs_db -r „-c freesp -s“ /dev/sdd1

df -h

df -i

wählten wir folgenden Lösungsweg.

Zuerst stoppt wir das Recovery mit

ceph osd set noout

um die verbliebenden OSDs nicht weiter zu füllen. Anschließend verteilten wir die Daten auf dem restlichen Ceph Cluster nach Nutzung automatisch mit

ceph osd reweight-by-utilization

Anschließend verschoben wir eine einzelne PG (wichtig: immer unterschiedlcihe PGs pro OSD) von den betroffenen OSD nach /root um zusätzlichen Platz auf dem Dateisystem zu haben und starteten die OSDs.

Im nächsten Schritt löschten wir nicht mehr benötigte Images von virtuellen Maschinen aus unserer Cloud Umgebung.

Es dauerte etwas bis sich die blocked requests wieder aufgelöst hatten und das System den normalen Betrieb wieder aufgenommen hat.

Leider war es uns nicht möglich endgültig zu klären, woran es gelegen hat.

Da wir aber gerade im Umstieg von Filestore zu Bluestore werden wir bald XFS nicht mehr benötigen.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

+ 60 = 68