[SOLVED] CEPH OSD Nearfull

Aug 28, 2017
67
12
48
44
Hi,

wir betreiben einen 4 Node Cluster mit CEPH als Storage (alles PVE Managed).

Heute morgen ist eine OSD auf Nearfull gesprungen, und der Pool dazu scheinbar auch.
Was ich nicht ganz verstehe: 67% used vom Raw Storage aber 85 vom Pool? Liegt das evtl. am Verschnitt durch "size=3" ?

Code:
root@lxc-prox2:~# ceph df
RAW STORAGE:
    CLASS     SIZE       AVAIL      USED       RAW USED     %RAW USED
    hdd       38 TiB     13 TiB     26 TiB       26 TiB         67.22
    TOTAL     38 TiB     13 TiB     26 TiB       26 TiB         67.22
 
POOLS:
    POOL         ID     STORED      OBJECTS     USED       %USED     MAX AVAIL
vservers 2 7.4 TiB 2.00M 22 TiB  85.80 1.2 TiB
root@lxc-prox2:~#

Es sind aktuell nicht alle OSDs gleich voll, evtl könnte man das ja ausbalancieren?

Code:
root@lxc-prox2:~# ceph osd df
ID CLASS WEIGHT  REWEIGHT SIZE    RAW USE  DATA    OMAP    META    AVAIL   %USE  VAR  PGS STATUS
0 hdd 1.19820 1.00000 1.2 TiB 915 GiB 804 GiB 80 KiB 1.7 GiB 312 GiB 74.58 1.11 54 up
1 hdd 1.19820 1.00000 1.2 TiB 929 GiB 818 GiB 128 KiB 1.7 GiB 298 GiB 75.68 1.13 55 up
2 hdd 1.19820 1.00000 1.2 TiB 840 GiB 729 GiB 28 KiB 1.6 GiB 387 GiB 68.44 1.02 49 up
3 hdd 1.19820 1.00000 1.2 TiB 812 GiB 701 GiB 68 KiB 1.5 GiB 415 GiB 66.14 0.98 47 up
4 hdd 1.19820 1.00000 1.2 TiB 779 GiB 668 GiB 36 KiB 1.5 GiB 448 GiB 63.48 0.94 45 up
5 hdd 1.19820 1.00000 1.2 TiB 809 GiB 698 GiB 48 KiB 1.6 GiB 418 GiB 65.92 0.98 47 up
6 hdd 1.19820 1.00000 1.2 TiB 857 GiB 746 GiB 199 KiB 1.7 GiB 370 GiB 69.83 1.04 50 up
7 hdd 1.19820 1.00000 1.2 TiB 676 GiB 565 GiB 100 KiB 1.3 GiB 551 GiB 55.12 0.82 38 up
8 hdd 1.19820 1.00000 1.2 TiB 794 GiB 683 GiB 56 KiB 1.5 GiB 433 GiB 64.75 0.96 46 up
9 hdd 1.19820 1.00000 1.2 TiB 840 GiB 729 GiB 112 KiB 1.6 GiB 387 GiB 68.44 1.02 49 up
10 hdd 1.19820 1.00000 1.2 TiB 925 GiB 814 GiB 180 KiB 1.7 GiB 302 GiB 75.35 1.12 55 up
11 hdd 1.19820 1.00000 1.2 TiB 615 GiB 504 GiB 115 KiB 1.3 GiB 612 GiB 50.16 0.75 34 up
12 hdd 1.19820 1.00000 1.2 TiB 929 GiB 818 GiB 80 KiB 1.7 GiB 298 GiB 75.71 1.13 55 up
13 hdd 1.19820 1.00000 1.2 TiB 872 GiB 761 GiB 64 KiB 1.7 GiB 355 GiB 71.03 1.06 51 up
14 hdd 1.19820 1.00000 1.2 TiB 812 GiB 701 GiB 32 KiB 2.1 GiB 415 GiB 66.16 0.98 47 up
15 hdd 1.19820 1.00000 1.2 TiB 883 GiB 772 GiB 60 KiB 1.6 GiB 344 GiB 71.96 1.07 52 up
16 hdd 1.19820 1.00000 1.2 TiB 869 GiB 758 GiB 40 KiB 1.6 GiB 358 GiB 70.86 1.05 51 up
17 hdd 1.19820 1.00000 1.2 TiB 691 GiB 580 GiB 64 KiB 1.4 GiB 536 GiB 56.35 0.84 39 up
18 hdd 1.19820 1.00000 1.2 TiB 1.0 TiB 937 GiB 84 KiB 1.9 GiB 179 GiB 85.38 1.27 63 up
19 hdd 1.19820 1.00000 1.2 TiB 809 GiB 698 GiB 76 KiB 1.6 GiB 418 GiB 65.90 0.98 47 up
20 hdd 1.19820 1.00000 1.2 TiB 751 GiB 640 GiB 24 KiB 1.5 GiB 476 GiB 61.19 0.91 43 up
21 hdd 1.19820 1.00000 1.2 TiB 1004 GiB 893 GiB 84 KiB 1.8 GiB 223 GiB 81.84 1.22 60 up
22 hdd 1.19820 1.00000 1.2 TiB 734 GiB 623 GiB 24 KiB 1.4 GiB 493 GiB 59.82 0.89 42 up
23 hdd 1.19820 1.00000 1.2 TiB 916 GiB 805 GiB 99 KiB 1.7 GiB 311 GiB 74.64 1.11 54 up
24 hdd 1.19820 1.00000 1.2 TiB 736 GiB 625 GiB 20 KiB 2.1 GiB 491 GiB 59.99 0.89 42 up
25 hdd 1.19820 1.00000 1.2 TiB 843 GiB 732 GiB 132 KiB 1.6 GiB 384 GiB 68.69 1.02 49 up
26 hdd 1.19820 1.00000 1.2 TiB 661 GiB 550 GiB 24 KiB 1.3 GiB 566 GiB 53.89 0.80 37 up
27 hdd 1.19820 1.00000 1.2 TiB 721 GiB 610 GiB 28 KiB 1.4 GiB 506 GiB 58.75 0.87 41 up
28 hdd 1.19820 1.00000 1.2 TiB 839 GiB 728 GiB 100 KiB 1.6 GiB 388 GiB 68.39 1.02 49 up
29 hdd 1.19820 1.00000 1.2 TiB 778 GiB 667 GiB 84 KiB 1.5 GiB 449 GiB 63.44 0.94 45 up
30 hdd 1.19820 1.00000 1.2 TiB 912 GiB 801 GiB 80 KiB 1.7 GiB 315 GiB 74.36 1.11 54 up
31 hdd 1.19820 1.00000 1.2 TiB 795 GiB 684 GiB 44 KiB 1.5 GiB 432 GiB 64.80 0.96 46 up
                    TOTAL  38 TiB   26 TiB  22 TiB 2.3 MiB  52 GiB  13 TiB 67.22
MIN/MAX VAR: 0.75/1.27  STDDEV: 7.85

Wenn ich das hier richtig verstehe, würden osd18+24 "nue geweighted, weil zu voll...

Code:
root@lxc-prox2:~# ceph osd test-reweight-by-utilization
no change
moved 4 / 1536 (0.260417%)
avg 48
stddev 6.47109 -> 6.27993 (expected baseline 6.81909)
min osd.11 with 34 -> 34 pgs (0.708333 -> 0.708333 * mean)
max osd.18 with 63 -> 63 pgs (1.3125 -> 1.3125 * mean)

oload 120
max_change 0.05
max_change_osds 4
average_utilization 0.6722
overload_utilization 0.8066
osd.18 weight 1.0000 -> 0.9500
osd.21 weight 1.0000 -> 0.9500


Soll ich einfach den reweight laufen lassen, oder knallts dann?
 
18 hdd 1.19820 1.00000 1.2 TiB 1.0 TiB 937 GiB 84 KiB 1.9 GiB 179 GiB 85.38 1.27 63 up
Wenn eine OSD, wie die OSD.18 auf 85% steigt, dann erscheint die Meldung 'nearfull' im Ceph status.

Wenn ich das hier richtig verstehe, würden osd18+24 "nue geweighted, weil zu voll...
Das neu gewichten hilft oft eher nur temporär, da die neue Gewichtung die Imbalance verstärken kann. Bei diesem Cluster, ist es vermutlich besser die pg_num des Pools anzupassen, damit Ceph die Daten besser verteilen kann. Das ideal für jede OSD ist 100 PGs zu haben. Ceph mi einem Pool, size=3, bei 32 OSDs, sollte 1024 PGs haben.
https://ceph.io/pgcalc/

Zum prüfen der PG Anzahl, ceph osd pool get <pool> pg_num.
Zum setzen, ceph osd pool set <pool> pg_num 1024.
 

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!