
Wie funktioniert das Ceph-Cache-Tiering?
Einführung:
In diesem Beitrag teilen wir einen Benchmark-Test, um zu zeigen, wie Ceph-Cache-Tiering die Leistung eines HDD-Pools verbessern kann, indem eine Cache-Ebene eingerichtet wird, die von einem NVMe-Pool unterstützt wird.
Was ist Ceph Cache Tier und wie funktioniert es
Der Ceph-Cache-Tier ermöglicht die Verwendung schnellerer Speichergeräte als Cache für langsamere. Dies beinhaltet die Erstellung eines Pools von schnellen/teuren Speichergeräten (wie NVMe SSDs), die als Cache-Ebene konfiguriert sind, und eines langsameren/günstigeren Backing-Pools aus entweder erasure-codierten oder langsameren Geräten (wie HDDs), die als wirtschaftliche Speicherebene fungieren. Die Cache-Ebene speichert häufig abgerufene Daten aus der Hintergrundebene und bedient Lese- und Schreibanfragen von Clients. Der Cache-Tiering-Agent leert oder entfernt regelmäßig Objekte aus dem Cache-Tier basierend auf bestimmten Richtlinien.
Ceph Cache Tier-Demo
In der Vergangenheit war die Leistungssteigerung bei der Verwendung von SATA SSD als Cache-Tier-Speichergerät unbedeutend. Heutzutage ist der Preis für NVMe SSD im Vergleich zu vor einigen Jahren stark gesunken und die Leistung von NVMe SSD ist wesentlich schneller als HDD. Wir möchten wissen, ob die Verwendung von NVMe SSD als Cache-Tier einer HDD-Pool erheblich helfen kann.
Um die Wirksamkeit der NVMe-Cache-Ebene zu testen, haben wir einen Test eingerichtet, um zu sehen, ob die Cache-Ebene die Leistung eines HDD-basierten Speicherpools verbessert.
Einrichtung des Clusters
NVME Gastgeber | 3 x Ambedded Mars500 Ceph Appliances |
Spezifikationen für jedes Mars 500 Gerät | |
CPU | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
Speicher | 96 GiB DDR4 |
Netzwerk | 2 Ports 25Gbps Mellanox ConnectX-6 |
OSD-Laufwerke | 8 x Micron 7400 960GB |
HDD-Hosts | 3 x Ambedded Mars400 Ceph Appliances |
Spezifikationen für jedes Mars 400 Gerät | |
CPU | 8 Knoten Quad-Cores Arm64 1,2 GHz |
Speicher | 4GiB pro Knoten. 32 GiB pro Gerät |
Netzwerk | 2 x 2,5Gbps pro Knoten. 2x 10 Gb Uplink über den eingebauten Switch. |
OSD-Laufwerke | 8 x 6 TB Seagate Exos HDD |
Ceph-Cluster-Information
- 24 x OSD auf NVMe-SSD (3x Ambedded Mars500-Geräte)
- 24x OSD auf HDD (3x Ambedded Mars400-Geräte)
- HDD- und NVMe-Server befinden sich in separaten CRUSH-Roots.
Testclients
- 2 x physische Server. 2x 25Gb-Netzwerkkarte
- Jeder Server führt 7x VMs aus.
- Jede VM hat 4x Kerne und 8 GB Speicher
Richten Sie die Cache-Ebene durch Ambedded UVS-Manager ein
1. Erstellen Sie einen Basisspeicherpool unter Verwendung des HDD OSD.
2. Erstellen Sie einen NVMe-Pool mit dem NVMe SSD OSD.
3. Fügen Sie den NVMe-Pool als Cache-Tier des HDD-Pools hinzu.
die Standard-Cache-Tier-Konfigurationen:
- Cache-Modus: Writeback
- hit_set_count = 12
- hit_set_period = 14400 Sekunden (4 Stunden)
- target_max_byte = 2 TiB
- target_max_objects = 1 Million
- min_read_recency_for_promote & min_write_recency_for_promote = 2
- cache_target_dirty_ratio = 0,4
- cache_target_dirty_high_ratio = 0,6
- cache_target_full_ratio = 0,8
- cache_min_flush_age = 600 Sekunden.
- cache_min_evict_age = 1800 sec.
Wir haben den HDD-Pool vor und nach dem Hinzufügen der Cache-Ebene getestet, indem wir bis zu 14 Clients verwendet haben, um Testlasten zu erzeugen. Jeder Kunde hat ein RBD für den fio-Test eingebunden. Die Testbelastung begann mit einem Client und erhöhte die Anzahl der Clients nach Abschluss jeder Testaufgabe. Jeder Testzyklus dauerte fünf Minuten und wurde automatisch von Jenkins gesteuert. Die Leistung eines Testjobs war die Summe aller Ergebnisse der Kunden. Vor dem Testen der Cache-Tiering haben wir Daten auf die RBDs geschrieben, bis der Cache-Tier-Pool über das Ceph-Cache-Zielvollverhältnis (0,8) gefüllt war.
Die Diagramme zeigten, dass die Leistung des reinen HDD-Pools nach dem Hinzufügen eines NVMe-Cache-Pools erheblich gesteigert wurde.
Während des Cache-Ebenen-Tests beobachteten wir die Pool-Statistiken mit dem Befehl 'ceph osd pool stats'. Die Cache- und Basis-Pools hatten Spül-, Ausstoß- und Förderaktivitäten. Wir haben die Pool-Statistiken zu verschiedenen Zeiten während des Cache-Ebenen-Tests erfasst.
Daten wurden in den Cache geschrieben
Pool-Cache-ID 84
Client-E/A 21 MiB/s Schreiben, 0 Op/s Lesen, 5,49k Op/s Schreiben
Pool mars400_rbd ID 86
es passiert nichts
Cache wurde optimiert und geleert
Cache-Pool-ID 84
Client-IO 42 MiB/s schreiben, 0 Op/s lesen, 10,79k Op/s schreiben
Cache-Tier-IO 179 MiB/s leeren, 17 Op/s optimieren
Mars400_rbd-Pool-ID 86
Client-IO 0 B/s lesen, 1,4 MiB/s schreiben, 18 Op/s lesen, 358 Op/s schreiben
Der Cache wurde geleert
Pool-Cache-ID 84
Client-E/A 3,2 GiB/s lesen, 830 Vorgänge/s lesen, 0 Vorgänge/s schreiben
Cache-Tier-E/A 238 MiB/s Leeren, 14 Vorgänge/s Befördern, 1 PGs werden geleert
Pool mars400_rbd ID 86
Client-E/A 126 MiB/s lesen, 232 MiB/s schreiben, 44 Vorgänge/s lesen, 57 Vorgänge/s schreiben
PG wurde verdrängt
Pool Cache ID 84
Client IO 2,6 GiB/s lesen, 0 B/s schreiben, 663 Operationen/s lesen, 0 Operationen/s schreiben
Cache-Tier-IO 340 MiB/s flushen, 2,7 MiB/s verdrängen, 21 Operationen/s fördern, 1 PGs verdrängen (voll)
Pool mars400_rbd ID 86
Client IO 768 MiB/s lesen, 344 MiB/s schreiben, 212 Operationen/s lesen, 86 Operationen/s schreiben
PG-Spülung und direkte Client-E/A zum Basisspeicherpool.(Kunden haben Daten geschrieben)
Pool-Cache-ID 84
Client-IO 0 B/s schreiben, 0 op/s lesen, 1 op/s schreiben
Cache-Tier-IO 515 MiB/s Flush, 7,7 MiB/s Auslagern, 1 PGs Flushin
Pool mars400_rbd ID 86
Client-IO 613 MiB/s schreiben, 0 op/s lesen, 153 op/s schreiben
Nach dem kontinuierlichen Test ließen wir den Cluster für einige Stunden ruhen und führten den 4 kB Zufallsschreibtest erneut durch. Wir erzielten eine deutlich bessere Leistung. Dies lag daran, dass der Cache-Speicher für das neue Schreiben freigegeben wurde.
Aus diesem Test können wir sicher sagen, dass die Verwendung des NVMe-Pools als Cache-Ebene eines HDD-Pools zu einer erheblichen Leistungssteigerung führen kann.
Es sollte beachtet werden, dass die Leistung der Cache-Ebene nicht garantiert werden kann. Die Leistung hängt von der Cache-Trefferquote zu diesem Zeitpunkt ab, und die gleiche Leistung kann nicht durch wiederholte Tests mit der gleichen Konfiguration und Arbeitslast erreicht werden.
Wenn Ihre Anwendung eine gleichbleibende Leistung benötigt, verwenden Sie einen reinen NMMe SSD-Pool.
- Verwandte Produkte
-
Mars500 NVME All Flash Ceph Speichergerät
Mars 500
Das Mars 500 Ceph Gerät ist darauf ausgelegt, den hohen Anforderungen an die Speicherung von Cloud-nativen Daten gerecht zu werden. Es nutzt die neueste...
EinzelheitenMars 400PRO Ceph-Speichergerät
Mars 400PRO
Mars 400 Ceph Appliance wurde entwickelt, um den hohen Kapazitätsbedarf für cloudbasierten Datenspeicher zu erfüllen. Es nutzt HDD, um von den niedrigen...
Einzelheiten
Wie funktioniert das Ceph-Cache-Tiering? | Ceph-Speicherlösungen; Ceph-Geräte & Software|Ambedded
Gegründet in Taiwan im Jahr 2013, Ambedded Technology Co., LTD. ist ein führender Anbieter von Block-, Datei- und Objektspeicherlösungen auf Basis von Ceph-Software-defined Storage. Wir sind spezialisiert auf die Bereitstellung von hocheffizienten, skalierbaren Speichersystemen für Rechenzentren, Unternehmen und Forschungseinrichtungen. Unser Angebot umfasst Ceph-basierte Speichergeräte, Serverintegration, Speicheroptimierung und kosteneffiziente Ceph-Bereitstellung mit vereinfachtem Management.
Ambedded bietet schlüsselfertige Ceph-Speichergeräte und umfassende Ceph-Softwarelösungen, die auf B2B-Organisationen zugeschnitten sind. Unsere Ceph-Speicherplattform unterstützt einheitlichen Block-, Datei- (NFS, SMB, CephFS) und S3-kompatiblen Objektspeicher, wodurch die Gesamtkosten (TCO) gesenkt und gleichzeitig Zuverlässigkeit und Skalierbarkeit verbessert werden. Mit integriertem Ceph-Tuning, intuitiver Web-Benutzeroberfläche und Automatisierungstools helfen wir unseren Kunden, eine leistungsstarke Speicherung für KI-, HPC- und Cloud-Workloads zu erreichen.
Mit über 20 Jahren Erfahrung in der Unternehmens-IT und mehr als einem Jahrzehnt in der Ceph-Speicherbereitstellung hat Ambedded weltweit über 200 erfolgreiche Projekte realisiert. Wir bieten fachkundige Beratung, Clusterdesign, Bereitstellungsunterstützung und laufende Wartung. Unser Engagement für professionelle Ceph-Unterstützung und nahtlose Integration stellt sicher, dass die Kunden das Beste aus ihrer Ceph-basierten Speicherinfrastruktur herausholen – in großem Maßstab, mit Geschwindigkeit und im Rahmen des Budgets.