Optimierung des Ceph-Speichers durch fortschrittliche Netzwerklösungen
von Marc THOLL
am 28. März 2025

Optimierung des Ceph-Speichers durch fortschrittliche Netzwerklösungen

Herausforderungen bei herkömmlichen Speicherlösungen

In den letzten Jahren hat unser Unternehmen seinen Virtualisierungsstack mit einem herkömmlichen Speicheransatz betrieben, bei dem dedizierte Speichergeräte wie Dell EMC-Speicherschränke zum Einsatz kamen, die über iSCSI oder Fibre Channel (FC) mit unseren Servern verbunden waren. Zur Gewährleistung der Redundanz haben wir die Anzahl der Geräte verdoppelt. Unsere All-Flash-Speicherlösungen wurden bereitgestellt von Huawei.
Im Rahmen unserer kontinuierlichen Bemühungen, unseren Kunden Cloud-Ressourcen, die vollständig innerhalb der Grenzen Luxemburgs entstehen, wodurch die Datenhoheit gewährleistet ist, und mit unserem Forschungsprojekt zur Weiterentwicklung der KI, ist der Bedarf an einer hochskalierbaren und zuverlässigen Datenspeicherlösung deutlich gestiegen.

Erster Lösungsversuch

Wetterkarte, die die physische Verbindung der beiden SANs zeigt
Wetterkarte, die die physische Verbindung der beiden SANs zeigt
Um dieser neuen Nachfrage gerecht zu werden, haben wir uns zunächst dafür entschieden, unseren Ansatz anzupassen. Wir sind auf ein dediziertes Storage Area Network (SAN) umgestiegen. Wir arbeiten in zwei Rechenzentren und richteten zwei unabhängige SANs ein, die jeweils einen Switch pro Seite nutzten und über zwei geografisch getrennte passive Wellenlängen miteinander verbunden waren. Die Speicher-Einschübe und Server waren jeweils mit beiden SANs verbunden, wodurch wir über vier Speicherpfade verfügten. Diese Konfiguration nutzte Multi-Path-Technologie, um Redundanz über mehrere Pfade hinweg zu gewährleisten, wobei die Pfade selbst nicht redundant waren. Jeder Server verfügte über zwei Netzwerkkarten, wobei jeweils ein Port pro Karte mit jedem SAN verbunden war, was insgesamt vier Pfade ergab. Diese Konfiguration stellte sicher, dass wir im Falle eines Ausfalls eines einzelnen Geräts niemals mehr als zwei Pfade verlieren würden.
Trotz dieser Maßnahmen stellten wir fest, dass wir, nachdem alles eingerichtet war, nicht die erwartete Leistung erzielten. Herkömmliche Speichersysteme bringen oft Herausforderungen wie Skalierbarkeitsprobleme, Verwaltungsaufwand und Herstellerabhängigkeit mit sich, was uns zusätzlich dazu motivierte, nach alternativen Lösungen zu suchen.
Angesichts der aktuellen geopolitischen Lage und des Mangels an in Europa hergestellter Speicherhardware haben wir uns für einen anderen Ansatz entschieden. Indem wir Anbieterabhängigkeiten beseitigen und zu einem Kernaspekt unserer Identität zurückkehren – nämlich Open-Source-Lösungen –, wollen wir Innovationen fördern und die Flexibilität unserer Infrastruktur bewahren.

Ceph entdecken: Ein neuer Ansatz für die Speicherung

Unsere Systemadministratoren, die stets daran interessiert sind, neue Technologien zu erkunden, schlugen vor, Ceph für unsere Speicheranforderungen einzusetzen. Unsere bisherigen Erfahrungen mit herkömmlichen Speichersystemen waren nicht gerade zufriedenstellend gewesen, und wir waren motiviert, nach einer innovativen und potenziell robusteren Lösung zu suchen.
Ceph ist eine Open-Source-Speicherplattform, die auf hervorragende Leistung, Zuverlässigkeit und Skalierbarkeit ausgelegt ist. Sie vereint Objekt-, Block- und Dateispeicher in einem einzigen Cluster und ist damit eine vielseitige Lösung für vielfältige Speicheranforderungen.
Nachdem wir im Rahmen einer Analyse zu dem Schluss gekommen waren, dass Ceph unsere Anforderungen hinsichtlich Redundanz und Skalierbarkeit erfüllen kann, widmeten wir uns der Auswahl der geeigneten Hardware. Die Entscheidung fiel auf Server von Supermicro. Die Server sind mit zwei AMD EPYC 7313 16-Core-Prozessoren und 128 GB RAM ausgestattet.
Für die Netzwerkeinrichtung haben wir uns entschieden, die bestehende Infrastruktur mit den beiden unabhängigen SANs zu nutzen. Nach einigen anfänglichen Schwierigkeiten bei der Suche nach den richtigen Konfigurationen und dem Warten auf die Lieferung der Hardware waren wir bereit, mit den Tests zu beginnen. Doch schon bald stießen wir auf ein erhebliches Hindernis.
In Ceph gibt es zwei unterschiedliche Netzwerke:
  • Cluster-Netzwerk:
    • Wird von den Servern verwendet, um Daten untereinander zu synchronisieren.
  • Öffentliches Netzwerk:
    • Verarbeitet den Datenverkehr für die Clusterverwaltung (MONITOR).
    • Ermöglicht Ceph-Verbindungen zu Datennutzern, wie beispielsweise Virtualisierungshosts.
Die Herausforderung bestand darin, dass das öffentliche Netzwerk in Ceph nur mit einem einzigen IP-Netzwerk konfiguriert werden kann. Diese Einschränkung hätte für unsere Redundanzanforderungen eine erhebliche Hürde darstellen können.
Um dieses Problem anzugehen, haben wir zwei mögliche Lösungen in Betracht gezogen:
  1. Neue Gehäuseschalter:
  2. Ein Vorschlag sah die Anschaffung neuer Chassis-Switches vor. Dies hätte das Problem zwar möglicherweise gelöst, war jedoch mit hohen Kosten verbunden und bot nur begrenzte zusätzliche Vorteile.
  3. Stacking-Switches mit LACP:
  4. Der zweite Vorschlag, der ebenfalls in Foren vielfach geäußert wurde, sah vor, die Switches zu stapeln und das Link Aggregation Control Protocol (LACP) zu nutzen. Dieser Ansatz stand jedoch im Widerspruch zu unserer ursprünglichen Entwurfsphilosophie für die beiden SANs. Wir hatten das Stapeln aufgrund früherer negativer Erfahrungen bewusst vermieden, wie beispielsweise das Auseinanderbrechen von Stapeln während des Betriebs, was zu Netzwerkausfällen führte, oder die Entstehung von Schleifen, die das gesamte Netzwerk lahmlegten.

Innovative Routing-Lösungen für Ceph

Bei der Suche nach Lösungen brachte unsere Netzwerkabteilung eine innovative Idee ein. Zwar kann das öffentliche Netzwerk von Ceph nur ein IP-Präfix verarbeiten, doch besteht keine Anforderung, dass sich alle IP-Adressen innerhalb derselben Broadcast-Domäne befinden müssen. Diese Erkenntnis veranlasste uns, das Routing des Datenverkehrs als praktikable Lösung in Betracht zu ziehen.

Erste Einrichtung der Weiterleitung

Unsere ursprüngliche Routing-Lösung sah vor, zwei Ceph-Knoten an jeden SAN-Layer-3-Switch anzuschließen. Auf den Switches sollte OSPF (Open Shortest Path First) laufen, um die Netzwerke der einzelnen Knoten anzukündigen. Jeder Knoten wurde über alle vier Schnittstellen in einem einzigen LACP-Portkanal (Link Aggregation Control Protocol) angeschlossen. Dieser Ansatz bot mehrere Vor- und Nachteile:
Vorteile:
  • Einfache Einrichtung: OSPF läuft auf nur vier Switches, was die Konfiguration vereinfacht.
  • Schnittstellenredundanz: LACP sorgt für Redundanz auf Schnittstellenebene und erhöht so die Zuverlässigkeit.
Nachteile:
  • Auswirkungen eines Switch-Ausfalls: Der Ausfall eines Switches führt zum Ausfall von zwei gesamten Ceph-Knoten, wodurch die Redundanz beeinträchtigt wird.
  • Eingeschränkter Lastausgleich: Der Lastausgleich beschränkt sich auf den LACP-Trunk, wodurch die verfügbare Bandbreite möglicherweise nicht vollständig ausgenutzt wird.

Optimierte Routenplanungslösung

Wetterkarte, die die physikalischen Verbindungen der endgültigen Routing-Lösung zeigt
Wetterkarte, die die physikalischen Verbindungen der endgültigen Routing-Lösung zeigt
Da uns die Einschränkungen des ursprünglichen Ansatzes nicht zusagten, haben wir eine robustere Lösung entwickelt: das „Full Routing“. Bei dieser Konfiguration führt jeder Ceph-Knoten FRRouting (FRR) und OSPF unabhängig voneinander aus. Diese Konfiguration bietet mehrere wesentliche Vorteile:
  • Erhöhte Redundanz: Jeder Knoten ist mit zwei Switches verbunden, wodurch sichergestellt wird, dass der Ausfall eines Switches nicht zum Verlust des Knotens führt. Um die Zuverlässigkeit weiter zu erhöhen, wird Bidirectional Forwarding Detection (BFD) eingesetzt, um im Falle eines oder mehrerer Verbindungsausfälle diese innerhalb von weniger als einer Sekunde zu erkennen. Darüber hinaus wird das Equal-Cost-Multi-Path-Routing (ECMP) genutzt, um mehrere redundante Routen bereitzustellen und so die allgemeine Ausfallsicherheit des Netzwerks zu verbessern.
  • Effiziente Nutzung von Schnittstellen: Sowohl das öffentliche Netzwerk als auch das Cluster-Netzwerk werden innerhalb desselben gerouteten Netzwerks betrieben, wodurch Ceph je nach aktuellem Bedarf die gesamte Bandbreite des Servers dynamisch für beide Netzwerke nutzen kann.
  • Stabilität der Dienste: Cluster- und öffentliche Dienste laufen über Loopback-IPs, wodurch sichergestellt wird, dass sie nicht an bestimmte Schnittstellen gebunden sind, die ausfallen könnten.
  • Verbesserte Lastverteilung: Die Lastverteilung wird durch den Einsatz des Equal-Cost-Multi-Path-Routings (ECMP) verbessert, das für jedes Ziel acht unterschiedliche Pfade bereitstellt. Diese Konfiguration ermöglicht eine effektive Verteilung des Datenverkehrs auf mehrere Routen, wodurch die Bandbreitennutzung optimiert und eine ausgewogene Lastverteilung gewährleistet wird.

Ergebnisse und Erkenntnisse

Nach der Implementierung der vollständigen Routing-Lösung für unseren Ceph-Cluster haben wir eine Reihe von Tests durchgeführt, um deren Leistung und Redundanz zu bewerten. Es ist wichtig zu beachten, dass die Ceph-Instanz noch nicht vollständig optimiert ist, die ersten Ergebnisse jedoch vielversprechend sind. Wir haben zufällige Lese-/Schreibraten von 3,6 GB/s erreicht, was eine deutliche Verbesserung gegenüber unserer bisherigen Konfiguration darstellt. Diese Tests wurden mit branchenüblichen Benchmark-Tools durchgeführt, um Genauigkeit und Zuverlässigkeit zu gewährleisten.
Neben den Leistungstests haben wir auch die Redundanz des Systems untersucht. Unsere Tests haben gezeigt, dass ein Knoten alle Verbindungen bis auf eine verlieren kann, ohne dass dies Auswirkungen auf die Funktionalität hat – abgesehen von einer Verringerung der verfügbaren Bandbreite. Ebenso können alle Verbindungen zwischen den Rechenzentren (Inter-DC) bis auf eine ausfallen, ohne dass dies Auswirkungen auf das System hat, obwohl dies ebenfalls zu einer Verringerung der verfügbaren Bandbreite führt. Diese Ergebnisse bestätigen die Robustheit und Zuverlässigkeit unserer gerouteten Ceph-Lösung.

Zukunftspläne

Mit Blick auf die Zukunft erwägen wir mehrere Verbesserungsmaßnahmen, um unsere Ceph-Infrastruktur weiter zu optimieren. Eines unserer vorrangigen Ziele ist es, weitere Verbindungen zwischen den Rechenzentren (DCs) herzustellen. Diese Erweiterung wird einen noch besseren Lastausgleich zwischen den Rechenzentren ermöglichen und so für optimale Leistung und Ausfallsicherheit sorgen.
Durch die kontinuierliche Bewertung und Optimierung unserer Netzwerkkonfiguration streben wir einen hochgradig optimierten Ceph-Cluster an, der unseren Anforderungen an Leistung und Redundanz gerecht wird und letztendlich unsere Kerngeschäftsprozesse effektiver unterstützt.
 

Sprechen Sie mit einem Experten

Sprechen Sie direkt mit unseren Experten, die Ihnen gerne mit Rat und Tat zur Seite stehen.