Ceph PG Warnung

dgdo

Active Member
Sep 11, 2019
15
2
43
44
Hallo zusammen,


wir sind gerade dabei einen neuen Hyperkonvergenten Cluster aufzubauen (PVE 6 mit Ceph-Octopus).
Derzeit haben wir insgesamt 15 Disks die als OSD dienen sollen.

Bei der Erstellung vom Cluster habe ich erst einmal beim anlegen des Pools die default werte belassen - da ich hier nicht "512" PGs angeben konnte.
Nun bekomme ich folgenden Hinweis:

Bash:
# ceph health detail
HEALTH_WARN 1 pools have too many placement groups
[WRN] POOL_TOO_MANY_PGS: 1 pools have too many placement groups
    Pool cephssd-001-mcspc has 128 placement groups, should have 32

Der Pool hat

Bash:
# ceph osd dump  | grep pool
pool 1 'device_health_metrics' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 9 flags hashpspool stripe_width 0 pg_num_min 1 application mgr_devicehealth
pool 2 'cephssd-001-mcspc' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 128 pgp_num 128 autoscale_mode warn last_change 35 flags hashpspool stripe_width 0 application rbd


Weswegen ich das hier thematisiere...

Laut der Seite https://ceph.io/pgcalc/ solllte ich bei der Anzahl an OSDs (15) eine PG Size von "512" angeben

b38affe73b141c416347d0a618301c141e46df4ca26e707a6fffe16aa9dec4cda0bc1c803a054c32

Somit würde ich deutlich über die obige Warnung kommen.

Bash:
# ceph osd df
ID  CLASS  WEIGHT   REWEIGHT  SIZE     RAW USE  DATA     OMAP  META    AVAIL    %USE  VAR   PGS  STATUS
 0    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   27      up
 1    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   31      up
 2    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   19      up
 3    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   27      up
 4    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   25      up
 5    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   24      up
 6    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   22      up
 7    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   28      up
 8    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   28      up
 9    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   27      up
10    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   23      up
11    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   20      up
12    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   27      up
13    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   32      up
14    ssd  3.49309   1.00000  3.5 TiB  1.0 GiB  1.9 MiB   0 B   1 GiB  3.5 TiB  0.03  1.00   27      up

Sollte ich das bei 128 PGs belassen und einfach die Warnung deaktivieren weil das richtig wäre ??
Oder eben - wie geplant - auf "512" gehen und ebenfalls die Warnung deaktivieren?... übrigens macht die automatische anpassung ja so wenig sind - falls man die überhaupt nutzen möchte.

Lg
Mehmet
 
Die Warnung kommt vom Autoscaler, der aufgrund der aktuellen Auslastung weniger PGs empfehlen würde. Wenn du in Kenntnis der zu erwartenden Datenmenge 512 PGs berechnet hast, solltest du die auch so einstellen und den Autoscaler für diesen Pool deaktivieren. Man kann Ceph auch die zu erwartende Datenmenge mitteilen, dann müsste der Scaler eventuell selbst auf 512 kommen.
Code:
ceph osd pool set mypool target_size_bytes <size>
 
Last edited:
Hallo @ph0x,

vielen Dank für Deine einsichten!

Ich habe das auf unserem Cluster nun deaktiviert - ich habe nicht vor hier auf diesen Automatismus zuzrückzugreifen:
Bash:
ceph osd pool set --pool=<meinepools> --var=pg_autoscale_mode --val=off
Und anschliessend die PGs erhöt
Bash:
ceph osd pool set <meinpool> pgp_num 512
und auch den "balancer" enabled
Bash:
ceph osd set-require-min-compat-client luminous
ceph balancer mode upmap
ceph balancer on
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!