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? | UVS Manager - Vereinfachung der Ceph-Bereitstellung | Ambedded
Seit 2013 in Taiwan ansässig, ist Ambedded Technology Co., LTD. ein Anbieter von Block- und Objektspeicherlösungen. Zu ihren wichtigsten Datenverwaltungslösungen gehören Ceph-Speichertechnologie, Integration von ARM-Servern, softwaredefinierte Speicherlösungen, Optimierung von Unternehmensspeicher, Kosteneinsparungen bei Ceph-Appliances, Speicherverwaltungssoftware sowie Block- und Objektspeicherlösungen. Sie bieten professionellen Ceph-Support und skalierbare Speichersysteme mit hoher Speichereffizienz im Rechenzentrum.
Ambedded bietet hochmoderne Ceph-Speicherlösungen auf ARM-Mikroservern an, maßgeschneidert für B2B-Käufer, die ihre Unternehmensspeichersysteme optimieren möchten. Unsere schlüsselfertigen Ceph-Appliances reduzieren die Gesamtbetriebskosten (TCO) und vereinfachen das Speichermanagement. Sie unterstützen Block-, Dateisystem- und Objektspeicherung auf einer einheitlichen Plattform. Mit einem Engagement für Innovation und Kundensupport ist Ambedded Ihr vertrauenswürdiger Partner für skalierbare und effiziente SUSE Enterprise Storage Appliance-Lösungen. Erleben Sie eine nahtlose Integration und professionelle Unterstützung, um das volle Potenzial der Ceph-Technologie in Ihrem Unternehmen zu nutzen.
Ambedded bietet Kunden seit 2013 skalierbare Speichersysteme und kostengünstiges Ceph-Speichermanagement. Mit fortschrittlicher Technologie und 20 Jahren Erfahrung stellt Ambedded sicher, dass die Bedürfnisse jedes Kunden erfüllt werden.