Bonjour,

Le 03/12/2020 à 12:49, David Touitou a écrit :
'jour

Je vais essayer d'être un peu plus pénible avec Ceph en provoquant des coupures
brutales à des moments différents.
Il me semble avoir lu sur le forum Proxmox que leurs devs conseillent de mettre 5 noeuds Ceph dans un cluster (hyperconvergé ou dédié Ceph).
Comme ça, on peut en perdre 2 en même temps (coupure brutale) et on peut continuer en R/W (si le nombre de réplicant est suffisant bien sûr, il faut écrire les données sur trois noeuds).
Il faut donc aussi au moins trois monitors et trois managers.

Par contre, avec 5 noeuds et 40 OSD (8 SSD 2TB par noeuf), le facteur limitant en IOps c'est le réseau : deux ports 10 Gbps LACP dédiés pour le trafic Ceph c'est pas assez.
Le bench rados le montre clairement (60 secondes, 16 threads 4 MB) :
	Total time run:         60.055428
	Bandwidth (MB/sec):     959.447
	Average IOPS:           239
	Average Latency(s):     0.066696

Effectivement le réseau 10 Gbps est très vite bloquant avec du SSD.

Quand je vois que je charge déjà à quasiment 8 Gbps en lecture avec du disque rotatif, j'imagine bien avec du SSD.

Avec 5 OSD (4 disques rotatifs de 1,2 To en RAID5 chacun):

En écriture:
$ rados bench -p testbench 120 write
Total time run:         120.064
Bandwidth (MB/sec):     572.128
Average IOPS:           143
Average Latency(s):     0.111835

En lecture aléatoire:
$ rados bench -p testbench 100 rand
Total time run:       100.114
Bandwidth (MB/sec):   784.268 <--
Average IOPS:         196
Average Latency(s):   0.080419


Ceci étant, je pense que j'ai des optimisations à faire sur la partie block device, car les résultats sont bien inférieurs.
J'ai suivi ce petit guide pour le test : https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/1.3/html/administration_guide/benchmarking_performance

Avec des blocs de 64K, en écriture, j'arrive à atteindre 400 Mo/s, mais en lecture, ça tombe à 200 Mo/s.
Ca me parait plutôt mauvais à comparer aux résultats du rados bench.

--
Emmanuel DECAEN