InquirerPangasinan kagawad killed in motorcycle crashThe Jerusalem PostDelhi gets title of world's most polluted city as air quality becomes 'hazardous' to healthBollywood HungamaGame Changers announces The Writer Series; Rajkumar Hirani, Javed Akhtar among featured writersZDF heuteAktuelle Pressemitteilungen des ZDFThe IndependentVan driver jailed after ploughing into stranger and strangling her in ‘chilling’ attempted kidnap20 MinutenAuswanderer J.: «Ich wollte nur Ruhe – nun lebe ich in Angst»SportstarCarlo Ancelotti looks to Brazil’s future in Japan rematchMeduzaВ России утвердили ГОСТ на блюда «традиционной русской кухни». В него включили «малороссийский» борщ и котлеты по-киевски — а еще окрошку на квасе (да-да, не на кефире)سكاي نيوز عربيةتونس ترحل أكثر من 10 آلاف مهاجر في 10 أشهرESPNOur guide to every NFL Week 10 game: Matchup previews, predictions, picks and nuggetsDeadline‘Ebenezer’ Counts $1.5M In Previews On Thursday; Johnny Depp Pic Hopes For $40M WW OpeningSouth China Morning PostCatholic diocese asks parishes to hold special masses to mark Tai Po fire anniversary
The Daily Newsstand · Free, Always
Friday, November 13, 2026

Ceph in Rust: Neuer Code, alter Cluster

Translate

Der Ceph-Spezialist Croit hat erste Komponenten des Projekts ceph-rust jetzt als Public Preview veröffentlicht. Ein neuer Speicherdienst und zwei Client-Bibliotheken in Rust sollen NVMe-Speicher besser ausnutzen und mit bestehenden Ceph-Clustern kompatibel sein.

Die Vorschau steht seit dem 9. November 2026 zum Testen bereit, wie Croit in einem Blogbeitrag zum FlashStore OSD erklärt. Für produktive Daten sieht Croit die Komponenten natürlich noch nicht vor. Laut dem GitHub-Repository von ceph-rust plant das Unternehmen die allgemeine Verfügbarkeit für das erste Quartal 2027.

Im Mittelpunkt steht der FlashStore OSD. Er ersetzt den Object Storage Daemon ceph-osd samt dessen Speicher-Backend BlueStore durch eine Rust-Implementierung mit eigenem Objektspeicher. Laut Croit entstand die Rust-Implementierung von Grund auf neu. Als Grundlage dienten eigene Spezifikationen des Ceph-Netzwerkprotokolls und des Verhaltens der bisherigen Implementierung. Monitore, Manager und die Ceph-Kommandozeilenwerkzeuge bleiben unverändert. Auch das Ceph-Projekt entwickelt mit Crimson einen neuen OSD für schnelle Speichermedien und Netzwerke.

FlashStore OSD und die Client-Bibliothek librustyrados beherrschen das Netzwerkprotokoll von Ceph 21.2.0 (Umbrella) und 20.2.4 (Tentacle). Neue und klassische OSDs können laut Projektbeschreibung in denselben Pools und Placement Groups laufen. Administratoren sollen damit einzelne OSDs umstellen können, statt den gesamten Cluster auf einmal auszutauschen.

Auf Client-Seite ersetzt librustyrados die Bibliothek librados für den Zugriff auf den RADOS-Objektspeicher. Sie bietet eine C-Schnittstelle, eine kompatible C++-ABI auf x86_64 und eine native Rust-API. Für RBD-Blockgeräte gibt es librustyrbd. Diese Bibliothek stellt die C-API von librbd aus Ceph 21.2.0 bereit. Croit hat sie gegen Cluster beider unterstützten Ceph-Versionen getestet.

FlashStore verteilt die Arbeit auf jeweils einen Thread pro CPU-Kern. Häufig durchlaufene Verarbeitungspfade (Hot Paths) kommen laut Croit ohne Locks aus, beim Speicherpfad setzt das System auf Zero-Copy und vermeidet so zusätzliche Datenkopien im Arbeitsspeicher. Das soll den CPU-Aufwand pro I/O verringern. Standardmäßig nutzt das Projekt Kernel-TCP über io_uring. Optional steht RDMA über RoCEv2 zwischen den Rust-Clients und FlashStore OSDs bereit.

Der OSD bestätigt Schreibvorgänge erst, wenn die Daten dauerhaft auf dem NVMe-Speicher liegen. Voraussetzung sind NVMe-Laufwerke mit Stromausfallschutz (Power-Loss Protection, PLP) und einem Sektorformat von 4 KiB. FlashStore verwendet vollständige NVMe-Namespaces, keine Partitionen oder Dateisysteme. Als Betriebssystem benötigt es Linux ab Version 5.14 mit aktiviertem io_uring.

Croit liefert eigene Benchmarks gleich mit: In den 18 aufgeführten Client-Testfällen erreichen die Rust-Bibliotheken mindestens die Leistung der ursprünglichen Bibliotheken librados beziehungsweise librbd. Bei RBD-Schreibzugriffen mit 4 MiB großen Blöcken nennt Croit 17,9 statt 8,5 GByte/s – etwa das 2,1-Fache. Natürlich lässt sich das nicht auf sämtliche Ceph-Workloads übertragen.

Separat vergleicht Croit die OMAP-Verarbeitung von FlashStore mit BlueStore auf derselben Hardware. OMAP speichert Schlüssel-Wert-Paare an RADOS-Objekten, etwa für Metadaten und Bucket-Indizes. Für einen einzelnen OSD meldet Croit einen um 23 Prozent höheren geometrischen Mittelwert über alle OMAP-Messungen, für einen Cluster mit 30 OSDs einen um 22 Prozent höheren. Beide Messungen liefen auf einem EPYC-Cluster mit fünf Hosts.

Der veröffentlichte Quellcode umfasst den FlashStore OSD, die beiden Client-Bibliotheken, den RDMA-Transport sowie Verwaltungswerkzeuge und Dokumentation. Trotz der weiter gefassten Projektbeschreibung handelt es sich bislang nicht um eine vollständige Rust-Neuimplementierung von Ceph: CephFS2 und das NIXL-Plug-in für GPUDirect RDMA gehören laut Roadmap ebenso wenig zum aktuellen Snapshot wie die Deduplizierung und ein in Rust geschriebenes S3-Gateway. Der OSD-Daemon steht unter LGPL-3.0-only, die Client-Bibliotheken unter MPL-2.0.

Croit entwickelt das Projekt in einem privaten Repository und veröffentlicht Aktualisierungen als neue Snapshots, der jüngste stammt vom 10. November. Einen Issue-Tracker oder einen Workflow für externe Beiträge bietet das öffentliche Repository nicht. Zum Ausprobieren verweist das Projekt auf DEB- und RPM-Pakete auf der Releases-Seite.

View the original on heise online →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.