Moin,
Ich habe einen relativ kleinen PVE HCI Ceph Cluster im Einsatz und irgendwo bleibt massiv Performance auf der Strecke, ich kann den Fehler leider nicht finden.
Kurz zum Setup:
- 2x Supermicro Server Dual Epyc 7302, 384GB Ram
- 1x HPE DL360 G9 V4 Dual E5-2640v4, 192GB Ram
- 1x Fujitsu RX200 oder so, Dual E5-2690, 256GB Ram
- 56 VMs (Linux+Win), 10 LXCs gesamt
Alle mit Intel 10G Netzwerkkarten ausgestattet (denke X540, X550 und X710), Backend/Storage Netzwerk mit einem Qnap QSW-M1208-8C Switch (in der Pandemie angeschafft, war nichts anderes in der Preisklasse lieferbar), Backend Netzwerk mit LACP L2+3 und Jumbo Frames konfiguriert.
Frontend Netzwerk mit einem Unifi USW EnterpriseXG 24, alle PVE Hosts auch hier mit Dual 10G LACP L2+3 verbunden, diverse VLANs, 25G Uplink zu einer pfsense, hier läuft auch der VM Traffic.
Insgesamt 33 OSDs über die 4 Hosts verteilt mit Enterprise SSDs (Samsung, Toshiba und Intel).
Folgendes Problem:
Die Performance ist mies, immer wieder brich die Leistung tagsüber ein und die VMs werden sehr träge. Wenn ich innerhalb der VMs Daten kopiere, dann komme ich selten über 1G Geschwindigkeit, selbst wenn es mal mit höherer Geschwindigkeit laufen sollte, bricht diese dann rapide auf weit unter 1G ein.
Gefühlt läuft der Storage irgendwie mit angezogener Handbremse und ich kann diese nicht ausfindig machen.
-> auffällig: hier fehlen irgendwie die IOPS?
Anmerkung: Ich habe gestern die OSDs nach einem Ceph Update neugestartet, die beiden großen Disks haben sehr lange gebraucht und tauchen deshalb als gecrasht auf, selbes gilt für die mgr.
2 Pools: einmal mit den beiden 7TB SSDs und einmal ohne, über 2 verschiedene crushmaps. "Performantere VMs (RDSH, SQL, Application, etc) laufen auf dem Pool "small_ssd_storage", der weniger performancehungrige Rest auf dem "ceph-vm-storage00"; Grund: die beiden großen SSDs halten im Verhältnis viel mehr Daten und haben dann erhöhte Latenzen beim Zugriff.
Die Host sind alle auf dem gleichen Patchlevel (via Ansible):
Vielleicht hat ja jemand zufällig einen Tipp für mich wo mein Fehler liegt oder meine Konfig Murks ist (optimal ist diese natürlich nicht, das ist mir auch bekannt).
Ich habe einen relativ kleinen PVE HCI Ceph Cluster im Einsatz und irgendwo bleibt massiv Performance auf der Strecke, ich kann den Fehler leider nicht finden.
Kurz zum Setup:
- 2x Supermicro Server Dual Epyc 7302, 384GB Ram
- 1x HPE DL360 G9 V4 Dual E5-2640v4, 192GB Ram
- 1x Fujitsu RX200 oder so, Dual E5-2690, 256GB Ram
- 56 VMs (Linux+Win), 10 LXCs gesamt
Alle mit Intel 10G Netzwerkkarten ausgestattet (denke X540, X550 und X710), Backend/Storage Netzwerk mit einem Qnap QSW-M1208-8C Switch (in der Pandemie angeschafft, war nichts anderes in der Preisklasse lieferbar), Backend Netzwerk mit LACP L2+3 und Jumbo Frames konfiguriert.
Frontend Netzwerk mit einem Unifi USW EnterpriseXG 24, alle PVE Hosts auch hier mit Dual 10G LACP L2+3 verbunden, diverse VLANs, 25G Uplink zu einer pfsense, hier läuft auch der VM Traffic.
Insgesamt 33 OSDs über die 4 Hosts verteilt mit Enterprise SSDs (Samsung, Toshiba und Intel).
Folgendes Problem:
Die Performance ist mies, immer wieder brich die Leistung tagsüber ein und die VMs werden sehr träge. Wenn ich innerhalb der VMs Daten kopiere, dann komme ich selten über 1G Geschwindigkeit, selbst wenn es mal mit höherer Geschwindigkeit laufen sollte, bricht diese dann rapide auf weit unter 1G ein.
Gefühlt läuft der Storage irgendwie mit angezogener Handbremse und ich kann diese nicht ausfindig machen.
rados bench -p small_ssd_storage 30 write --no-cleanup
Code:
Total time run: 30.1799
Total writes made: 2833
Write size: 4194304
Object size: 4194304
Bandwidth (MB/sec): 375.482
Stddev Bandwidth: 42.5316
Max bandwidth (MB/sec): 468
Min bandwidth (MB/sec): 288
Average IOPS: 93
Stddev IOPS: 10.6329
Max IOPS: 117
Min IOPS: 72
Average Latency(s): 0.169966
Stddev Latency(s): 0.122672
Max latency(s): 0.89363
Min latency(s): 0.0194953
rados bench -p testpool 30 rand
Code:
Total time run: 30.1634
Total reads made: 11828
Read size: 4194304
Object size: 4194304
Bandwidth (MB/sec): 1568.52
Average IOPS: 392
Stddev IOPS: 36.6854
Max IOPS: 454
Min IOPS: 322
Average Latency(s): 0.0399157
Max latency(s): 1.45189
Min latency(s): 0.00244933
-> auffällig: hier fehlen irgendwie die IOPS?
Code:
root@pve00:~# ceph osd df tree
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS TYPE NAME
-1 48.03107 - 48 TiB 32 TiB 32 TiB 26 MiB 85 GiB 16 TiB 65.76 1.00 - root default
-3 14.84592 - 15 TiB 8.7 TiB 8.7 TiB 8.9 MiB 26 GiB 6.1 TiB 58.92 0.90 - host pve00
2 large_ssd 6.98630 1.00000 7.0 TiB 3.0 TiB 3.0 TiB 5.5 MiB 6.6 GiB 4.0 TiB 43.06 0.65 442 up osd.2
0 small_ssd 0.87329 1.00000 894 GiB 636 GiB 634 GiB 689 KiB 2.6 GiB 258 GiB 71.14 1.08 132 up osd.0
1 small_ssd 0.87329 1.00000 894 GiB 650 GiB 647 GiB 154 KiB 2.7 GiB 245 GiB 72.64 1.10 139 up osd.1
4 small_ssd 0.87329 1.00000 894 GiB 637 GiB 635 GiB 179 KiB 2.0 GiB 257 GiB 71.28 1.08 136 up osd.4
6 small_ssd 0.87329 1.00000 894 GiB 648 GiB 646 GiB 181 KiB 2.2 GiB 246 GiB 72.49 1.10 137 up osd.6
9 small_ssd 0.87329 1.00000 894 GiB 677 GiB 675 GiB 179 KiB 1.8 GiB 217 GiB 75.71 1.15 141 up osd.9
12 small_ssd 0.87329 1.00000 894 GiB 659 GiB 657 GiB 184 KiB 1.9 GiB 235 GiB 73.72 1.12 137 up osd.12
15 small_ssd 0.87329 1.00000 894 GiB 674 GiB 672 GiB 642 KiB 2.2 GiB 220 GiB 75.40 1.15 141 up osd.15
17 small_ssd 0.87329 1.00000 894 GiB 650 GiB 648 GiB 188 KiB 1.6 GiB 244 GiB 72.70 1.11 137 up osd.17
19 small_ssd 0.87329 1.00000 894 GiB 645 GiB 643 GiB 1.0 MiB 2.2 GiB 249 GiB 72.13 1.10 138 up osd.19
-5 8.73291 - 8.7 TiB 6.7 TiB 6.7 TiB 6.2 MiB 21 GiB 2.0 TiB 77.20 1.17 - host pve01
3 small_ssd 0.87329 1.00000 894 GiB 690 GiB 689 GiB 1.1 MiB 1.5 GiB 204 GiB 77.17 1.17 138 up osd.3
7 small_ssd 0.87329 1.00000 894 GiB 668 GiB 665 GiB 181 KiB 2.5 GiB 227 GiB 74.66 1.14 138 up osd.7
10 small_ssd 0.87329 1.00000 894 GiB 699 GiB 697 GiB 839 KiB 2.0 GiB 195 GiB 78.17 1.19 144 up osd.10
13 small_ssd 0.87329 1.00000 894 GiB 700 GiB 697 GiB 194 KiB 2.4 GiB 195 GiB 78.25 1.19 148 up osd.13
16 small_ssd 0.87329 1.00000 894 GiB 695 GiB 693 GiB 1.2 MiB 1.7 GiB 199 GiB 77.72 1.18 140 up osd.16
18 small_ssd 0.87329 1.00000 894 GiB 701 GiB 700 GiB 184 KiB 1.6 GiB 193 GiB 78.42 1.19 142 up osd.18
20 small_ssd 0.87329 1.00000 894 GiB 697 GiB 695 GiB 173 KiB 2.4 GiB 197 GiB 77.95 1.19 146 up osd.20
21 small_ssd 0.87329 1.00000 894 GiB 675 GiB 673 GiB 684 KiB 2.5 GiB 219 GiB 75.52 1.15 140 up osd.21
22 small_ssd 0.87329 1.00000 894 GiB 688 GiB 686 GiB 821 KiB 2.1 GiB 206 GiB 76.93 1.17 139 up osd.22
23 small_ssd 0.87329 1.00000 894 GiB 691 GiB 689 GiB 918 KiB 2.2 GiB 203 GiB 77.25 1.17 142 up osd.23
-7 13.97266 - 14 TiB 8.2 TiB 8.2 TiB 8.8 MiB 22 GiB 5.7 TiB 58.94 0.90 - host pve02
32 large_ssd 6.98630 1.00000 7.0 TiB 3.0 TiB 3.0 TiB 4.7 MiB 7.4 GiB 4.0 TiB 43.00 0.65 442 up osd.32
5 small_ssd 0.87329 1.00000 894 GiB 693 GiB 691 GiB 1.2 MiB 2.2 GiB 201 GiB 77.53 1.18 140 up osd.5
8 small_ssd 0.87329 1.00000 894 GiB 654 GiB 651 GiB 157 KiB 2.7 GiB 240 GiB 73.15 1.11 136 up osd.8
11 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 338 KiB 2.7 GiB 471 GiB 73.64 1.12 275 up osd.11
14 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 336 KiB 2.4 GiB 428 GiB 76.05 1.16 280 up osd.14
24 small_ssd 0.87329 1.00000 894 GiB 697 GiB 695 GiB 1.2 MiB 2.3 GiB 197 GiB 77.98 1.19 148 up osd.24
25 small_ssd 0.87329 1.00000 894 GiB 635 GiB 633 GiB 1.0 MiB 1.9 GiB 260 GiB 70.96 1.08 134 up osd.25
-9 10.47958 - 10 TiB 7.9 TiB 7.8 TiB 2.0 MiB 17 GiB 2.6 TiB 75.02 1.14 - host pve05
26 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 345 KiB 3.2 GiB 441 GiB 75.35 1.15 278 up osd.26
27 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 341 KiB 2.2 GiB 446 GiB 75.04 1.14 275 up osd.27
28 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 337 KiB 2.5 GiB 443 GiB 75.23 1.14 274 up osd.28
29 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 342 KiB 3.6 GiB 445 GiB 75.12 1.14 279 up osd.29
30 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 348 KiB 3.0 GiB 440 GiB 75.41 1.15 279 up osd.30
31 small_ssd 1.74660 1.00000 1.7 TiB 1.3 TiB 1.3 TiB 324 KiB 2.8 GiB 466 GiB 73.95 1.12 270 up osd.31
TOTAL 48 TiB 32 TiB 32 TiB 26 MiB 85 GiB 16 TiB 65.76
MIN/MAX VAR: 0.65/1.19 STDDEV: 10.88
ceph -s
Code:
cluster:
id: ceed1fee-9c7a-4150-a9b1-8739848993a9
health: HEALTH_WARN
2 daemons have recently crashed
3 mgr modules have recently crashed
services:
mon: 4 daemons, quorum pve00,pve01,pve02,pve05 (age 23h)
mgr: pve00(active, since 47h), standbys: pve01, pve05, pve02
mds: 1/1 daemons up, 3 standby
osd: 33 osds: 33 up (since 15h), 33 in (since 5M)
data:
volumes: 1/1 healthy
pools: 5 pools, 2113 pgs
objects: 2.98M objects, 11 TiB
usage: 32 TiB used, 16 TiB / 48 TiB avail
pgs: 2113 active+clean
io:
client: 32 MiB/s rd, 18 MiB/s wr, 2.07k op/s rd, 1.52k op/s wr
ceph osd pool ls detail
Code:
pool 1 '.mgr' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 17265 flags hashpspool stripe_width 0 pg_num_max 32 pg_num_min 1 application mgr read_balance_score 30.00
pool 2 'ceph-vm-storage00' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1024 pgp_num 1024 autoscale_mode on last_change 17489 lfor 0/0/15521 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd read_balance_score 5.80
pool 3 'ceph-fs_data' replicated size 2 min_size 1 crush_rule 1 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 17217 lfor 0/5323/5321 flags hashpspool stripe_width 0 application cephfs read_balance_score 4.85
pool 4 'ceph-fs_metadata' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 17274 flags hashpspool stripe_width 0 pg_autoscale_bias 4 pg_num_min 16 recovery_priority 5 application cephfs read_balance_score 3.89
pool 5 'small_ssd_storage' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 1024 pgp_num 1024 autoscale_mode on last_change 17198 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd read_balance_score 2.15
2 Pools: einmal mit den beiden 7TB SSDs und einmal ohne, über 2 verschiedene crushmaps. "Performantere VMs (RDSH, SQL, Application, etc) laufen auf dem Pool "small_ssd_storage", der weniger performancehungrige Rest auf dem "ceph-vm-storage00"; Grund: die beiden großen SSDs halten im Verhältnis viel mehr Daten und haben dann erhöhte Latenzen beim Zugriff.
Die Host sind alle auf dem gleichen Patchlevel (via Ansible):
Code:
proxmox-ve: 8.3.0 (running kernel: 6.8.12-1-pve)
pve-manager: 8.3.0 (running version: 8.3.0/c1689ccb1065a83b)
proxmox-kernel-helper: 8.1.0
pve-kernel-5.15: 7.4-11
proxmox-kernel-6.8: 6.8.12-4
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
proxmox-kernel-6.8.12-1-pve-signed: 6.8.12-1
proxmox-kernel-6.8.8-4-pve-signed: 6.8.8-4
proxmox-kernel-6.8.8-1-pve-signed: 6.8.8-1
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
pve-kernel-5.15.143-1-pve: 5.15.143-1
pve-kernel-5.15.74-1-pve: 5.15.74-1
ceph: 18.2.4-pve3
ceph-fuse: 18.2.4-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.2.9
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.0-1
proxmox-backup-file-restore: 3.3.0-1
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.3.3
pve-cluster: 8.0.10
pve-container: 5.2.2
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-1
pve-ha-manager: 4.0.6
pve-i18n: 3.3.2
pve-qemu-kvm: 9.0.2-4
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.0
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.6-pve1
Vielleicht hat ja jemand zufällig einen Tipp für mich wo mein Fehler liegt oder meine Konfig Murks ist (optimal ist diese natürlich nicht, das ist mir auch bekannt).