Mobile-Menu

Open-Source-Software für verteilte Objektspeicher Was ist Garage?

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

Anbieter zum Thema

Garage ist eine Open-Source-Software zur Realisierung verteilter Objektspeicher. Sie wurde für das Self-Hosting und eigene Rechenzentren entwickelt und ist mit der Amazon-S3-API kompatibel. Garage repliziert zur Gewährleistung hoher Redundanz die Daten automatisch auf mehrere Server an unterschiedlichen Standorten. Die Anforderungen an die zugrunde liegende Hardware und die Netzwerkkonnektivität sind relativ gering.

Garage repliziert die Daten automatisch auf Server an unterschiedlichen Standorten.(Bild:  Gemini / KI-generiert)
Garage repliziert die Daten automatisch auf Server an unterschiedlichen Standorten.
(Bild: Gemini / KI-generiert)

Garage ist der Name einer von der französischen Non-Profit-Organisation Deuxfleurs entwickelten Open-Source-Software. Mit ihr lassen sich verteilte Objektspeicher realisieren. Bei einem Objektspeicher werden die Daten nicht wie bei einem Dateispeicher (File-Storage) in einer hierarchischen Ordnerstruktur, sondern als Objekte mit Metadaten und eindeutiger ID in einem einzigen großen Datenpool gespeichert. Die Entwicklung der Garage-Software wurde mehrfach von öffentlichen Förderprogrammen der Europäischen Union finanziell unterstützt.

Garage wurde für das Self-Hosting und eigene Rechenzentren in kleinem bis mittlerem Umfang entwickelt und ist für Georedundanz ausgelegt. Die Software ist ressourcenschonend und vergleichsweise einfach zu betreiben. Sie repliziert die Daten automatisch auf mehrere Server an unterschiedlichen Standorten. Dadurch ist sichergestellt, dass die Daten auch dann verfügbar bleiben, wenn ganze Knoten, Rechenzentren oder Netzwerksegmente ausfallen. Gegenüber Latenzproblemen ist Garage sehr widerstandsfähig.

Da Garage mit einer Amazon-S3-kompatiblen API ausgestattet ist, lässt sich der Objektspeicher mit einer großen Auswahl an S3-kompatibler Software nutzen. Die Software ist in Rust geschrieben, steht unter AGPLv3-Lizenz und läuft auf Standard-x86- und -ARM-Hardware mit Linux-basierten Betriebssystemen. Die Anforderungen an die zugrunde liegende Hardware und an das Netzwerk sind relativ gering. Garage benötigt mindestens 1 GB RAM und 16 GB freien Speicherplatz. Für das Netzwerk werden bei einer Latenztoleranz von bis zu 200 ms Bandbreiten von mindestens 50 Mbit/s empfohlen. Die Software und der Quellcode sind direkt auf der Deuxfleurs-Garage-Webseite oder im GitHub-Repository von Garage verfügbar.

Beispielanwendungen für verteilte Objektspeicher mit Garage sind das Hosting von Webseiten, Medienplattformen, Speicher für Backups, Speicher für gemeinsam genutzte Dokumente oder Speicher für Content-Management-Systeme.

Prinzipielle Funktionsweise und Features von Garage

Ein wichtiges Merkmal von Garage ist die Kompatibilität mit der Amazon-S3-API. Die Semantik der API wird so genau wie möglich eingehalten, wobei aber nicht der vollständige Funktionsumfang von AWS S3 implementiert ist. Auf der Website von Garage ist eine genaue Liste der von Garage implementierten S3-Funktionen zu finden. Weiteres zentrales Merkmal eines Garage-Objektspeichers ist die automatische geografische Verteilung der Daten. Dabei können die verschiedenen Speicherknoten an den unterschiedlichen physischen Standorten über handelsübliche Internetanschlüsse verbunden sein. Die Speichercluster lassen sich durch einfaches Hinzufügen von Speicherknoten skalieren. Bei der Replikation werden verschiedene Modi mit konfigurierbarer Anzahl an Replikaten und unterschiedlichen Konsistenzniveaus unterstützt. Die auf dem Objektspeicher gespeicherten Daten werden automatisch dedupliziert und optional komprimiert.

Sämtliche Anfragen an einen Garage-Cluster werden unabhängig voneinander verarbeitet und unterliegen keinem zentralen Engpass wie zum Beispiel einem zentralen Master-Node. Alle Knoten sind gleichberechtigt. Ein Bucket in Garage kann mehrere Namen tragen, die als Aliase bezeichnet werden. Aliase können einfach hinzugefügt oder entfernt werden. Storage-Buckets lassen sich auch so konfigurieren, dass sie von Garage direkt als statische Website ausgeliefert werden.

Zur Administration eines Clusters bietet Garage eine vollwertige REST-API, über die sich Cluster-Knoten einrichten und überwachen und Zugangsdaten sowie Speicher-Buckets und Bucket-Aliase verwalten lassen. Zu weiteren Features von Garage zählen zum Beispiel die Integrationsfähigkeit in Orchestrierungssysteme wie Kubernetes oder Nomad oder die Unterstützung wechselnder oder dynamischer IP-Adressen.

(ID:50863818)

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