Avatar von Kaji
  • Kaji

758 Beiträge seit 23.03.2000

Re: Hatten zuvor VMware, kurz Hyper-V - dann kam Proxmox

Snoofy schrieb am 06.07.2017 09:18:

Je mehr ich darüber nachdenke, desto eher gehe ich davon aus, dass eine einzelne SSD als Journal OSD für 4 Spinner nicht ausreichend ist. Vielleicht als NVMe Auslegung, aber selbst das bezweifle ich.

Immerhin wird die Performance der SSD "geviertelt". Für deine vier OSD wird parallel das Journal geschrieben.

Hatte ich noch nie in dieser Ausführung. "Einzelnde" RAID0 Journal SSD ja... oder auch als RAM-Disk *schauder*, aber noch nie eine einzelne SSD für mehrere OSDs.

Hi,

wollte mich nochmal melden und für die zielführenden Überlegungen bedanken.
Inzwischen habe ich einiges recherchiert und mich mal eingehender mit Performance-Messungen befasst. Dabei habe ich herausgefunden, dass man sich da mit Ceph noch viel mehr selbst belügen kann, als das bei anderen Systemen der Fall ist.
Ich schreibe das hier mal ausführlich, weil es vielleicht auch andere Leute interessiert.

Es kommt halt wirklich darauf an was man will und was man misst.
Nur weil ein Cluster mit der Standard RADOS Benchmark "guten" Durchsatz erzielt, heißt das noch lange nicht, dass es z.B. auch bei kleinen Blockgrößen so ist. "Unser" 10G-Cluster hat bei 1kB-Blöcken z.B. weniger als 1/20 des Durchsatzes, den wir mit einem der Cluster mit 2x1G Bonding erzielen.
Ich bin noch dabei es festzunageln, aber ich denke der Trick ist eine Kombination aus SSDs und hochwertigen Write-Back Controllern. Dazu mache ich noch weitere Tests, aber ich denke es wird in diese Richtung gehen. Meine Vermutung ist allerdings, dass die Journal-SSDs eher für Durchsatz sorgen und der Write-Back-Cache für kurze Latenzen und schnelle Schreibraten bei kleinen Blöcken.

Heute habe ich übrigens einen Flaschenhals auf einem Cluster-Node ausgemacht, der mit den regulären OSD-Benchmarks nicht zu finden war:
der Cluster hatte ein grottenschlechtes rados Benchmark Ergebnis beim Schreiben von 1kB-Blöcken, nämlich nur um die 250-300/s (!).
mit

ceph tell osd.<Nr> bench

brachten aber alle Spinner Durchsätze zwischen 90 und 160MB/s, was ganz ok für nicht ganz taufrische Server mit SATA-Festplatten an Controllern mit battery-backed Cache sein sollte. Der Cluster hat aber nur 3 Knoten und der Pool hat size 3, also sind bei praktisch jedem Schreibzugriff alle Knoten/OSDs betroffen und selbst einer kann alles runterziehen. Ich habe dann mal mit dd kleine Blöcke ins Filesystem der einzelnen OSDs geschrieben, so in der Art

dd if=/dev/zero bs=1k of=<OSD-Mountpoint> oflag=sync count=10000

und siehe da: in allen Nodes schafften die Festplatten i.d.R. zwischen 8.000 und 12.000 Blöcken/s (bei typgleichen Festplatten, der Controller macht den Unterschied!). Aber in einem Node machten einige OSDs nur zwischen 600 und 750 Blöcke/s. Ich glaube da haben wir bei der Initialisierung einen Fehler bei den RAID-Controller-Einstellungen gemacht und eventuell den write-back Cache vergessen. Das werde ich in den nächsten Tagen sehen; erstmal nehmen wir einen weiteren Cluster-Node in Betrieb, bevor wir diesen runterfahren und ansehen.

Um auf Deinen Hinweis zurück zu kommen:
ich denke Du hast Recht, was die SSDs angeht. Die versorgen mit ihren Journals zu viele OSDs, und es sind (obwohl "server-geeignet") nur SATA-SSDs. Ich denke die Command-Queue ist da einfach zu kurz und die Performance geht beim gleichzeitigen Schreiben mit mehreren Threads in den Keller. Auch hier gilt sicherlich, dass der reine Schreibdurchsatz (>500MB/s gemessen) nicht alles ist. Das werde ich bald mal testen, aber in einem Live-System fummele ich mit sowas nur sehr vorsichtig rum.

Vielen Dank schonmal! Wenn es jemanden interessiert, dann kann ich gern mehr posten, sobald ich etwas herausfinde.

In wenigen Monaten werden aber wohl mit der Einführung von Bluestore die Karten neu gemischt und SSD-Journals komplett verschwinden (weil nicht mehr benötigt).
Insofern konzentriere ich mich eher auf Performance-Fragen im Bereich HDD-Controller und Spinner bzw. SSDs als OSDs, nicht als Journal-Disks.

Bewerten
- +
Anzeige