WAL und RocksDB von Ceph auslagern

May 4, 2021
104
4
38
43
Hallo liebe Proxmox-Gemeinde

Ich optimiere gerade Ceph auf bestehender Hardware, bin schon sehr weit mit OSD und Client-Caching gekommen, nämlich von unbenutzbar bis zu "da können jede Menge LAMPs darauf laufen". Was ich jetzt noch probieren möchte: ich möchte das WAL und die RocksDB von SATA-SSDs (Samsung Enterprise) auf eine NVMe auslagern. Ich habe mir eine Supermicro-Adapterkarte von PCIe auf 2 x NVMe gekauft und zwei SSDs reingetan. Was ich eigentlich wollte war ein mdadm zu bauen und das WAL und die RocksDB manuell darauf zu legen. Ich habe durch Zufall bei der Basisinstallation von Ceph bei einem Kollegen gesehen, daß Proxmox auch diese Option direkt im GUI anbietet. Was mir noch nicht klar ist. Muss ich auf den SSDs mehrere Partitionen und ein Dateisystem anlegen oder schreibt Ceph auf die Partition oder sogar direkt auf das Device? Wie muss die Festplatten partitionieren bzw. mit einem Dateisystem formatieren damit ich die Auslagerungsmöglichkeit nutzen kann und die Lebensdauer der SSDs maximieren kann? Gibt es da eine Best-Practice?

Viele Grüße, genießt den Feiertag
Stefan
 
Das klingt nach ganz vielen gefährlichen Sachen auf einmal.
Fangen wir mal bei der Hardware an.
Was für ein PCI Adapter und was für NVMe?
Wenn das Consumer m.2 sind, lass es sein. Wenn du da vernünftige Enterprise U.2 hast, dann geht es weiter.
Niemals RAID Disks für Ceph nutzen, auch kein md.
Dann lieber die eine Hälfte der OSD auf die eine und die anderen auf die andere NVMe konfigurieren. Du kannst auch mehrere Partitionen auf den NVMe konfigurieren und die Partitionen für verschiedene Aufgaben nutzen wie Bluestore und auch als zusätzliche OSD für z.B. Metadaten.
Bitte mindestens 4% der OSD Kapazität als Bluestore zuweisen. Wird so von RedHat empfohlen.
 
  • Like
Reactions: Johannes S
Bitte mindestens 4% der OSD Kapazität als Bluestore zuweisen. Wird so von RedHat empfohlen.
Das ist eine sehr alte Empfehlung aus den Anfangstagen von BlueStore.

Inzwischen ist die RocksDB auch flexibler geworden.

Für RBD und CephFS Nutzung reichen 40 - 70 GB, wenn S3 dazukommt, dann dürfen es auch 300GB werden. Der RadosGW nutzt viele OMAP-Daten.
 
  • Like
Reactions: Johannes S
Das ist eine sehr alte Empfehlung aus den Anfangstagen von BlueStore.

Inzwischen ist die RocksDB auch flexibler geworden.

Für RBD und CephFS Nutzung reichen 40 - 70 GB, wenn S3 dazukommt, dann dürfen es auch 300GB werden. Der RadosGW nutzt viele OMAP-Daten.
Ich halte mich in der Regel noch an die alten Vorgaben, solange ich nichts besseres gelesen habe. ;)
Ich habe aber auch schon einen Ceph Cluster gesehen, der auseinander gebrochen ist, weil da weniger als 1% der Kapazität vorhanden war.
Dann verschiebt Ceph die DB auf die HDDs was in dem Fall zu massiven Slow OPs geführt hat und reihenweise OSDs auf Down gegangen sind dadurch.
Passiert natürlich nicht am Anfang sondern erst wenn der Pool recht voll ist, damals deutlich über 70%. Mit größeren SSDs laufen die gleichen Server und HDDs jetzt seit 3 Jahren sauber.
Daher bin ich lieber großzügiger.
 
  • Like
Reactions: Johannes S