Ceph: Die Reise zu 1 TiB/s
(ceph.io)Ceph: Die Reise zu 1TiB/s
- Ein Artikel über die Reise zur Leistungssteigerung eines Ceph-Clusters: Nach langem Debugging und Performance-Tuning wurde eine Datenverarbeitungsrate von 1TiB/s erreicht.
- Er teilt verschiedene technische Probleme und Lösungsansätze, die auftraten, als das Unternehmen Clyso beim Aufbau eines NVMe-basierten 10-Petabyte-Ceph-Clusters half.
- Das Netzwerk des Kunden ist äußerst schnell und gehört zu den schnellsten Ethernet-Konfigurationen.
Danksagung
- Dank an den Kunden von Clyso, dessen Zusammenarbeit es möglich machte, diese Erfahrungen mit der Ceph-Community zu teilen.
- Ebenso Dank an IBM/Red Hat und Samsung dafür, dass sie die für Vergleichstests verwendete Hardware bereitgestellt haben.
- Auch den Ceph-Mitwirkenden wird für ihren Einsatz gedankt, Ceph zu einer hervorragenden Software zu machen.
Cluster-Konfiguration
- Der Kunde schlug 34 Dual-Socket-2U-Knoten in 17 Racks vor, Clyso empfahl jedoch verschiedene Konfigurationen mit kleineren Knoten.
- Letztlich wurde eine Dell-Architektur gewählt, um Kosten zu senken und zugleich schnelleren Speicherdurchsatz, mehr CPU-Ressourcen und höheren Netzwerkdurchsatz zu bieten.
- Die Auswirkungen eines Knotenausfalls auf die Cluster-Wiederherstellung wurden dadurch halbiert.
Test-Setup
- Mit CBT wurde ein temporärer Ceph-Cluster bereitgestellt und FIO-Tests wurden ausgeführt.
- Mithilfe bibliotheksbasierter FIO-Tests wurde der Cluster in kleinere Einheiten zerlegt und mit früheren Ergebnissen verglichen.
- Getestet wurden 3-fache Replikation und 6+2 Erasure Coding sowie Message Version 2 im verschlüsselten und im sicheren Modus.
Hinweis zur PG-Anzahl
- Der Einfluss der PG-Anzahl auf die Performance wurde experimentell untersucht.
- Eine hohe PG-Anzahl kann sich positiv auf die Performance auswirken, sollte in produktiven Umgebungen jedoch zusammen mit anderen Einstellungen betrachtet werden.
Warum der Start schwierig war
- Nach dem ersten Login auf der Hardware bereitete die Fehlersuche Schwierigkeiten, weil die Performance deutlich unter den Erwartungen lag.
- Die ersten Performance-Tests waren gut, doch bei Tests mit mehreren OSDs trat ein Leistungseinbruch auf.
Seltsames Verhalten
- Bei verschiedenen Kombinationen von OSD-Tests wurde ein ungewöhnliches Muster in der Performance entdeckt.
- Es wurde beobachtet, dass die Systemleistung nach Multi-OSD-Tests abfiel und sich erst einige Stunden später wieder erholte.
Drei Lösungen
- Latenzprobleme durch CPU-C-State-Wechsel wurden behoben, was die Performance leicht verbesserte.
- Durch das Deaktivieren von IOMMU wurde die Performance deutlich gesteigert.
- Ein Problem mit RocksDB-Kompilierflags wurde behoben, wodurch sich die 4K-Zufallsschreib-Performance verdoppelte.
Die erste Woche 2024
- Wegen eines größeren Ausfalls in einem anderen Cluster am Neujahrstag konnte man sich nicht auf die Performance-Tests konzentrieren.
- Am Freitag wurden die Tests wieder aufgenommen und bestätigt, dass der Cluster auch unter hoher Last gut funktionierte.
Das Lächeln des Schicksals
- Mit besseren Testergebnissen wurde bestätigt, dass der Cluster linear skaliert.
- In einem Cluster mit 63 Knoten wurde eine Datenverarbeitungsrate von 635GiB/s erreicht.
Ein teilweise funktionierender Todesstern
- Da Client-Knoten fehlten, mussten sich OSD-Knoten und FIO-Prozesse die Ressourcen teilen.
- Selbst in dieser Konfiguration wurde nahezu eine Performance von 950GiB/s erreicht.
1TiB/s erreicht
- Durch Anpassung der Anzahl der OSD-Shards und der Messenger-Threads wurde eine Datenverarbeitungsrate von 1TiB/s erreicht.
Schlaf; Erasure Coding
- Nach Tests mit 3-facher Replikation wurde der Cluster für den vom Kunden genutzten 6+2-Erasure-Coding-Modus umkonfiguriert und erneut getestet.
- Die Leseleistung lag bei über 500GiB/s, die Schreibleistung erreichte fast 400GiB/s.
GN⁺-Meinung:
- Dieser Artikel beschreibt den Prozess der Performance-Optimierung eines Ceph-Clusters im Detail und liefert technische Einblicke, indem er zeigt, wie durch komplexe Problemlösungen hohe Leistung erzielt wurde.
- Er zeigt, wie die Zusammenarbeit mit dem Kunden, die Anstrengungen der Community-Mitwirkenden und verschiedene Hardware- und Software-Optimierungsstrategien in der Praxis zu großen Erfolgen führen können.
- Der Beitrag bietet nützliche Informationen nicht nur für Fachleute, die mit großskaligen Datenspeichersystemen arbeiten, sondern auch für Techniker, die sich für Performance-Optimierung interessieren.
1 Kommentare
Hacker-News-Kommentare