Mobile-Menu

Open-Source-Software für Objektspeicher Was ist RustFS?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

RustFS ist eine hochperformante, verteilte Objektspeicherlösung mit Fokus auf Einfachheit und Effizienz. Die Software steht unter Open-Source-Lizenz und ist nativ auf nahezu allen gängigen Betriebssystemen lauffähig. Das Objektspeichersystem ist mit einer S3-kompatiblen API ausgestattet und eignet sich als selbstgehostete Alternative zu Speicherlösungen wie AWS S3 oder MinIO.

RustFS ist auf Einfachheit und Effizienz ausgelegt.(Bild:  Gemini / KI-generiert)
RustFS ist auf Einfachheit und Effizienz ausgelegt.
(Bild: Gemini / KI-generiert)

RustFS ist der Name einer Open-Source-Software zur Realisierung von verteiltem, hochperformantem Objektspeicher. Die Software ist in der Programmiersprache Rust geschrieben und steht unter der als sehr freizügig geltenden Open-Source-Lizenz Apache 2.0. Einschränkungen restriktiverer Lizenzen wie AGPL, die bei einigen Konkurrenzprodukten zum Einsatz kommen, entfallen dadurch.

Das Objektspeichersystem ist auf Einfachheit und Effizienz getrimmt und mit der AWS-S3-API weitgehend kompatibel. RustFS eignet sich dadurch als selbstgehostete Alternative zu kommerziellen oder anderen S3-kompatiblen Speicherlösungen und lässt sich nahtlos in bereits bestehende S3-Anwendungen und -Workloads integrieren. Die Software positioniert sich zudem als Alternative zum nicht mehr aktiv weiterentwickelten Open-Source-Community-Projekt der Objektspeicherlösung MinIO.

RustFS ist mit den gängigen CPU-Architekturen und Betriebssystemen kompatibel. Die Software läuft auf Rechnern mit x86-, ARM- oder anderen CPU-Architekturen und lässt sich nativ in Linux-, Unix-, Windows-, macOS- oder FreeBSD-Betriebssystemumgebungen ausführen. Zudem ist sie für containerisierte Umgebungen (Docker, Kubernetes) geeignet.

RustFS wird typischerweise für Anwendungsbereiche eingesetzt, in denen große Mengen unstrukturierter Daten hochverfügbar, skalierbar und S3-kompatibel gespeichert und bereitgestellt werden müssen. Beispiele hierfür sind Objektspeicherszenarien für KI-Training und -Inferenz, Data Lakes, Big-Data-Workloads, Backup- oder Archivierungslösungen oder Medienverarbeitungs-Workflows. Aufgrund der Integrationsfähigkeit in Container- und Kubernetes-Umgebungen wird RustFS auch als Storage-Backend für moderne Microservice-Anwendungen genutzt.

Architektur und prinzipielle Funktionsweise von RustFS

Bei vielen klassischen verteilten Speicherarchitekturen kommen separate Master-, Metadaten- und Datenknoten zum Einsatz. Um Single Points of Failure zu vermeiden, die Komplexität zu reduzieren und die Datenintegrität bei Ausfällen sicherzustellen, setzt RustFS auf eine dezentrale Peer-to-Peer-Architektur, bei der alle Knoten funktional gleichberechtigt sind. Dieses Design vereinfacht die Bereitstellung und beseitigt Engpässe bei den Metadaten. Daten und Metadaten werden atomar geschrieben, wodurch eine separate Metadatenbank überflüssig wird. Funktionen wie Erasure-Coding, Bitrot-Prüfung und Verschlüsselung führt RustFS als Inline-Operationen mit strikter Konsistenz aus.

Grundsätzlich sieht RustFS drei Installationsmodi vor. Diese sind:

  • Einzelknoten mit einer einzelnen Festplatte,
  • Einzelknoten mit mehreren Festplatten,
  • Clusterbetrieb mit mehreren Knoten und mehreren Festplatten.

Ein RustFS-Cluster besteht aus mehreren verteilten RustFS-Servern. Laufwerke gruppiert RustFS in Erasure-Sets. Die grundlegende Speichereinheit in RustFS sind Objekte. Sie repräsentieren die Dateien, Byte-Streams oder beliebige unstrukturierte Daten.

Ein Bucket ist ein logischer Container zur Speicherung von Objekten. Für einen Client fungiert ein Bucket ähnlich wie ein Verzeichnis der obersten Ebene. Die Objekte werden mithilfe eines deterministischen Hashing-Algorithmus auf den Laufwerken verteilt und platziert. Sowohl im verteilten als auch im Einzelmaschinenmodus folgen die Lese- und Schreiboperationen dem Read-after-Write-Konsistenzmodell.

(ID:50864239)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung