Wie funktioniert das Ceph-Cache-Tiering? | ARM-Mikroserver Ceph-Speicherlösungen | Ambedded

Wie funktioniert das Ceph-Cache-Tiering? | Benutzerfreundliche Ceph-Verwaltungsoberfläche

Wie funktioniert das Ceph-Cache-Tiering?

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.


14 Apr, 2023 Ambedded
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 - Flash Ceph Speichergerät mit 8 NVME OSD für Hochleistungsanwendungen
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...

Einzelheiten
Mars 400PRO Ceph-Speichergerät - Ceph-Speichergerät Mars 400 vorne.
Mars 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

Ceph-Speichergerät

Mars 400 Ceph-Speichergerät HW & SW-Datenblatt.

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.