CEPH HEALTH_WARN nach Update auf PVE 9.1

p.jahn

Well-Known Member
Feb 19, 2019
30
6
48
44
Hallo zusammen,

ich habe am Wochenende unseren PVE Cluster von PVE 8.4 auf 9.1 aktualisiert.
CEPH war bereits vorher auf Squid und wurde von 19.2.1 auf 19.2.3 aktualisiert.
Das Update verlief problemlos, jedoch meldet CEPH seither die folgende Warnung.

Code:
[WRN] BLUESTORE_FREE_FRAGMENTATION: 11 OSD(s)
     osd.1 0.803973
     osd.4 0.878582
     osd.5 0.807504
     osd.15 0.808278
     osd.17 0.805276
     osd.19 0.815188
     osd.24 0.807225
     osd.27 0.842825
     osd.32 0.845424
     osd.37 0.810466
     osd.39 0.807901

Laut den Release Notes [0] wurde diese Warnung in 19.2.3 neu hinzugefügt und in der Dokumentation [1] ist beschrieben, dass eine Fragmentierung ab 0.9 kritisch ist.
In der offiziellen Dokumentation konnte ich jedoch keine Abhilfe finden.
Lediglich hier [2] auf GitHub wurde geschrieben, dass man wohl die betroffenen OSDs neu erstellen muss.

Ist das Problem eventuell jemanden hier schon bekannt?

Vielen Dank für eine Rückmeldung.

Viele Grüße
Patrick


[0] https://ceph.io/en/news/blog/2025/v19-2-3-squid-released/
[1] https://docs.ceph.com/en/latest/rados/operations/health-checks/#bluestore-fragmentation
[2] https://github.com/rook/rook/issues/16858
 
Ggf. könntest Du noch die Gewichtung der OSD manuell in der crushmap auf 0 herunterschrauben, dann werden die Daten auf andere OSDs verteilt und gibst der OSD folgend wieder eine normale Gewichtung um die ursprüngliche Verteilung wiederherzustellen.
 
Ich habe das gleiche Symptom unter Proxmox 8.4.16 und CEPH 19.2.3.
Der Proxmox Support hat mir dazu geantwortet, dass das eben unvermeidlich (siehe CEPH Doku) und ein Wert unter .9 unproblematisch sei, solange keine Performance Probleme auftreten (z.B. CEPH Bluestore_Slow_Operation Warnings). Das ist bei mir nicht der Fall.

Als Lösung wurde vorgeschlagen, die betroffenen OSDs nach und nach neu zu erstellen [0] [1]. Dazwischen immer warten, bis das rebalancing abgeschlossen ist.

Allerdings haben sie mir erst dazu geraten, sobald die Fragmentierungsrate .9 überschreitet oder bereits vorher Performance-Probleme auftreten.
Die Warnung kann man ansonsten muten, wenn sie stört (z.B. über ceph health mute BLUESTORE_FREE_FRAGMENTATION 48h).
Allerdings taucht sie bei mir dann immer noch im Icinga2-Monitoring auf, aber das ist ja ein anderes Problem.

[0] https://pve.proxmox.com/pve-docs/chapter-pveceph.html#pve_ceph_osd_destroy
[1] https://pve.proxmox.com/pve-docs/chapter-pveceph.html#pve_ceph_osd_create
 
  • Like
Reactions: p.jahn
Vielen Dank für die Rückmeldung.

D.h. ich benutze ceph osd crush reweight osd.1 0 und nach dem Rebalance wieder den ursprünglichen Wert?
Korrekt, so würde ich es einmal probieren. Wobei ich nicht glaube, dass das schneller ist als die Platte raus/rein zu nehmen. Ist leider so. Bei SSDs ist Fragmentierung zum Glück nicht so wild.
 
  • Like
Reactions: Johannes S
Servus zusammen,

wir haben nach dem Update ebenfalls Warnings von Ceph.
# ceph health detail
HEALTH_WARN 7 OSD(s)
[WRN] BLUESTORE_FREE_FRAGMENTATION: 7 OSD(s)
osd.17 0.872812
osd.29 0.805162
osd.46 0.801944
osd.61 0.823451
osd.72 0.800288
osd.74 0.818032
osd.76 0.855992

Wir haben insgesammt 77 OSD's am laufen.
Ein Reweight hilft bei uns nur sehr bedingt, da dann wieder andere Disks als Warning auftreten. (somit wieder auf 1 gestellt)

Auch habe ich betreffende OSD's bereits aus dem Cluster entfernt (prune laufen lassen) und neu erstellt, leider hat auch dies nicht wirklich geholfen.

Unsere Auslastung der einzelnen Platten ist auch sehr unterschiedlich:

MIN/MAX VAR: 0.72/1.39 STDDEV: 8.62



Hat jemand noch eine Idee ?
@Alwin Antreich habt ihr solche Symptome schonmal gehabt ? :p

LG
Tobi
 
MIN/MAX VAR: 0.72/1.39 STDDEV: 8.62

Wie gibt es denn eine Standardabweichung von 8.62 bei maximalen Werten von 1.39 ? :)
Fragmentierung bis 0.9 ist noch okay. Wie sind eure Platten ausgelastet, also von der Nutzung der Größe?
 
Last edited:
@Alwin Antreich habt ihr solche Symptome schonmal gehabt ? :p
Symptome hab ich immer. :p

Ein Reweight hilft bei uns nur sehr bedingt, da dann wieder andere Disks als Warning auftreten. (somit wieder auf 1 gestellt)
Vorsicht, ich hoffe es ist ein ceph osd crush reweight und kein ceph osd reweight. Letzteres ist nicht zu empfehlen, da das nur innerhalb eines Buckets (hosts) das Gewicht überschreibt.

[WRN] BLUESTORE_FREE_FRAGMENTATION: 7 OSD(s)
Naja, momentan ist mir noch kein klarer Weg bekannt. Die Meldungen können immer wieder kommen. Die Warnung stumm zu schalten ist eines, ansonsten, je nach Alter der OSD, hilft es auch diese neu zu machen.
 
Symptome hab ich immer. :p
:D wir alle


Vorsicht, ich hoffe es ist ein ceph osd crush reweight und kein ceph osd reweight. Letzteres ist nicht zu empfehlen, da das nur innerhalb eines Buckets (hosts) das Gewicht überschreibt.
Guter Punkt, es ist tatsächlich als Beispiel ein ceph osd reweight osd.55 0.95 gewesen.
Ich probiere morgen mal ein crush reweight

Wichtig aber aus meiner Sicht: die 77 Disks sind alle gleich groß, ist hier denn crush reweight weiterhin das richtige ?



Naja, momentan ist mir noch kein klarer Weg bekannt. Die Meldungen können immer wieder kommen. Die Warnung stumm zu schalten ist eines, ansonsten, je nach Alter der OSD, hilft es auch diese neu zu machen.
Neu zu machen hatte ich bereits ausprobiert, leider ohne Erfolg. Die OSD selbst ist temporär nicht mehr im Warning aufgeführt, aber kommt nach kurzer Zeit wieder. Dafür ist dann allerdings eine weitere Disk im Warning mit aufgeführt.

Schonmal Danke für die schnelle Antwort @Alwin Antreich - Auf dich ist bei so etwas immer Verlass *top* !
 
Last edited:
  • Like
Reactions: Alwin Antreich
@Alwin Antreich crush reweight auch bei gleichgroßen OSD's ? alle Platten haben 960gb.
Da geht's eher darum die OSDs leer zu räumen und wieder neu Daten drauf zu schaufeln. Quasi ein einfaches Defragmentieren der OSD. Ein "out -> in" kann genauso gut funktionieren. Das Crush Weight auf 0 zu setzen hat halt den Vorteil, das Ceph über das Cluster neu verteilt, weil sich das gesamte Gewicht des Baums ändert.

Solange die Performance nicht schon wackelt ist das eh nicht so heiß, die Warnung soll eine Hilfestellung sein. Zumindest versteh ich das so. :)
 
Last edited:
  • Like
Reactions: djtobyy
Da geht's eher darum die OSDs leer zu räumen und wieder neu Daten drauf zu schaufeln. Quasi ein einfaches Defragmentieren der OSD. Ein "out -> in" kann genauso gut funktionieren. Das Crush Weight auf 0 zu setzen hat halt den Vorteil, das Ceph über das Cluster neu verteilt, weil sich das gesamte Gewicht des Baums ändert.

Solange die Performance nicht schon wackelt ist das eh nicht so heiß, die Warnung soll eine Hilfestellung sein. Zumindest versteh ich das so. :)
Sprich mal den crush reweight auf 0 setzen, rebalancen lassen und wieder auf den ursprungswert setzen ?