Ist es möglich, Hardware-RAID-Arrays (LUNs) als OSD-Laufwerke zu verarbeiten?

8

Ich bin ziemlich neu in Ceph und versuche herauszufinden, ob Ceph Raid-HBAs auf Hardware-Ebene unterstützt.

Leider konnten keine Informationen gefunden werden. Was ich gefunden habe ist, dass es empfohlen wird, einfache Festplatten für OSD zu verwenden. Dies drängt jedoch die Anforderungen an die PCIe, die Schnittstellen der Festplatte auf hohe Bandbreiten und die CPU-Anforderungen sind sehr hoch. Hardware-RAID-Controller haben diese Anforderungen bereits gelöst und bieten eine hohe Redundanz basierend auf den Setups, ohne meine PCIe, CPU oder andere Ressourcen zu verbrauchen.

Mein gewünschtes Setup wäre also, lokale RAID-Controller zu haben, die meine Festplattenredundanz auf Controller-Ebene (Raid 5, RAID 6) verarbeiten, unabhängig davon, welche RAID-Ebene ich benötige. Zusätzlich zu den RAID-LUNs möchte ich ceph verwenden, um die höhere Replikationsstufe zwischen Host, Chassis, Rack, Row, Rechenzentrum oder was auch immer in CRUSH möglich oder planbar ist, durchzuführen

Irgendwelche Erfahrungen in diesem Setup?

Ist es ein empfohlenes Setup?

Gibt es eine ausführliche Dokumentation für diese Hardware-RAID-Integration?

cilap
quelle

Antworten:

7

Sie können nicht bedeuten, dass Sie sollten. Das Zuordnen von RAID-LUNs zu Ceph ist möglich, aber Sie fügen eine zusätzliche Abstraktionsebene hinzu und machen zumindest einen Teil der Ceph-Funktionalität unbrauchbar.

Ähnliche Thread auf ihrer Mailingliste:

http://lists.ceph.com/pipermail/ceph-users-ceph.com/2017-September/021159.html

BaronSamedi1958
quelle
1
Könnten Sie näher darauf eingehen, "zumindest einen Teil der Ceph-Funktionalität unbrauchbar zu machen"?
Erhalten
1
Die ganze Idee von Ceph ... OK, eine der Hauptideen! ist zu vermeiden, "Speicherinseln" zu verwalten, die RAID-LUNs sind.
BaronSamedi1958
0

Dies drängt jedoch die Anforderungen an die PCIe, die Schnittstellen der Festplatte auf hohe Bandbreiten und die CPU-Anforderungen sind sehr hoch.

Nicht wirklich, viele Speicher-Workloads werden mit modernen Allzweck-CPUs und -Verbindungen gut bedient.

Ja, ein RAID-Controller sorgt für Redundanz mit einer Handvoll Festplatten in einem Gehäuse. Dies ist jedoch kosten- und komplex, wenn Sie bereits redundante verteilte Speicherlösungen mit mehreren Knoten wie Ceph ausführen. Warum sollte man sich die Mühe machen, eine physische Festplatte zu spiegeln, wenn Ceph bereits mehrere Kopien davon hat?

Die Bausteine ​​einer solchen Lösung sind nur ein paar Festplatten. Wie Öffnen des Compute Speicher Öffnen Vault. 30 Spindeln in einem Gehäuse, die an einen Rechenknoten von vielleicht ein paar Dutzend CPU-Kernen angeschlossen sind. Fügen Sie so viele Knoten hinzu, wie Sie zum Skalieren benötigen. Sie können diese Berechnung Ceph widmen, wenn Sie den Durchsatz maximieren möchten.

John Mahowald
quelle
Haben Sie Fakten zu echten CPU-, Mem- und Festplatten-Benchmarks im Vergleich zu Hardware-RAID-Benchmarks? Bei Hardware-RAID-Arrays habe ich geringe Anforderungen an CPU und Speicher, da sich der Hardware-Controller darum kümmert.
Cilap
Ich nicht. Und Sie würden wirklich sowieso Ihren eigenen Benchmark machen wollen. Beachten Sie nur, dass CPUs Milliarden von Zyklen pro Sekunde ausführen und Interconnects (PCIe) Milliarden von Übertragungen pro Sekunde ausführen. Es steht Ihnen frei, einen RAID-Controller zu verwenden. Dies scheint in einem verteilten Speicherknoten einfach nicht erforderlich zu sein.
John Mahowald
-1

Die empfohlene Einrichtung besteht darin, einzelne Festplatten oder eventuell Festplatten in RAID-1-Paaren zu verwenden.

Ein einzelner SAS-Controller (oder ein RAID-Controller im JBOD-Modus) kann problemlos mehrere hundert Festplatten betreiben.

Die Verwendung sehr großer Arrays macht den eigentlichen Zweck von CEPH zunichte, nämlich einzelne Fehlerpunkte und "Hot Points" zu vermeiden. Es wird auch tatsächlich Ihre Redundanz schädigen.

Angenommen, Sie möchten einen 1-PB-CEPH-Cluster mit 8-TB-Laufwerken und 36 Server-Chassis (normale Supermicro-ähnliche Hardware) erstellen. Vergleichen wir die Setups mit und ohne RAID hinsichtlich Speicherkapazität und Zuverlässigkeit:

  • Mit RAID-6 benötigen Sie 5 Chassis (und 10 OSDs).

    • Jedes Gehäuse verfügt über 2 RAID-Arrays mit 18 Festplatten.
    • Sie haben 1024 TB verfügbaren Speicherplatz.
    • Im Falle eines Absturzes mehrerer Festplatten müssen Sie 256 TB neu erstellen.
  • Mit CEPH und 5 Chassis haben Sie 180 OSDs.

    • Die verfügbare Kapazität ist etwas höher (unter Verwendung der Löschcodierung): 1152 TB
    • Im Falle eines Absturzes mehrerer Festplatten müssen Sie nur die Anzahl der ausgefallenen Festplatten neu erstellen (es sei denn, es handelt sich um einen gesamten Server, der immer weniger als 256 TB beträgt).
Wazoox
quelle
Ich bekomme die Anforderungen von Ceph, aber eine wichtige Frage wird immer noch nicht beantwortet. Was sind die Anforderungen an das 36-Laufwerk-Chassis? Afaik benötigen Sie 36 Kerne aus der Beschreibung von Ceph dafür. Welche Konfiguration würden Sie für Ihr Beispiel vorschlagen? Was sind die Replikationsbemühungen und was ist der Maßstab dafür?
Cilap
nur vergessen. Afaik Ihr Setup benötigt mehr Instanzen oder vielleicht sogar mehr Server für die Verwaltung.
Cilap
@cilap es kommt wirklich auf die benötigte leistung an. Im Allgemeinen benötigen Sie nicht 1 Kern pro OSD, es reicht aus, etwa die Hälfte der Kerne zu verwenden. Die Leistung der Löschcodierung ist der vollständigen Replikation unterlegen.
Wazoox
Ich habe MDS nicht erwähnt, da Sie es so oder so tun werden. Abhängig von Ihrer Clustergebühr können Sie die Speicherknoten als MDS- und MON-Server verwenden.
Wazoox