Storage & Protokolle
Garage
Garage ist ein verteilter Objektspeicher mit S3-Schnittstelle. Er verteilt Datenkopien über mehrere Knoten und kann über Standorte hinweg betrieben werden.
- S3-Objektspeicher
- Mehrere Standorte
- Replikation planen
Garage richtet sich an Betreiber, die verteilten Objektspeicher mit überschaubaren Systemabhängigkeiten aufbauen möchten. Das Projekt berücksichtigt dabei auch Standorte, die über gewöhnliche Internetanschlüsse verbunden sind. Die Platzierung der Kopien orientiert sich an Knoten, Kapazitäten und Zonen.
Die wichtigste Vorprüfung betrifft die Anwendung: S3-Kompatibilität ist kein einheitlicher Vollumfang. Wer lediglich Objekte schreiben und lesen muss, hat andere Anforderungen als eine Backup-Anwendung, die Versionierung, Aufbewahrungssperren und bestimmte Berechtigungs-APIs voraussetzt.
1. Daten über unabhängige Ausfallbereiche verteilen
Garage zerlegt Objekte in Datenblöcke und verteilt deren Kopien anhand des Clusterlayouts. Eine Zone beschreibt einen gemeinsamen Ausfallbereich, etwa einen Standort. Drei virtuelle Maschinen auf demselben Hypervisor sind deshalb keine drei unabhängigen Standorte, auch wenn sie drei Prozesse ausführen.
Für viele Szenarien empfiehlt die Dokumentation einen Replikationsfaktor von drei. Die konkrete Verfügbarkeit hängt zusätzlich vom gewählten Replikationsmodus, den erreichbaren Knoten und der Verteilung der Daten ab. Eine pauschale Aussage wie „zwei Knoten dürfen immer ausfallen“ wäre ohne diese Angaben falsch.
Garage benötigt für seinen Kern keine separate externe Datenbank. Metadaten und Nutzdaten bleiben dennoch verschiedene Betriebsbestandteile. Schneller Metadatenzugriff und ausreichend freie Speicherkapazität sind bei vielen kleinen Objekten ebenso wichtig wie die reine Summe der Festplatten.
2. Die S3-Schnittstelle gegen die Anwendung prüfen
Der dokumentierte Umfang enthält unter anderem Signature Version 4, Multipart Uploads und vorsignierte URLs. Die kompatiblen Operationen müssen zum verwendeten SDK und zur Anwendung passen. Ein erfolgreicher Login oder ein einzelner Test-Upload prüft noch keinen vollständigen Arbeitsablauf.
S3-Objektversionierung fehlt im geprüften Stand. Auch die APIs für Object Lock, Retention und Legal Hold sind nicht vorhanden. Garage ist damit kein geeigneter Ersatz für ein Ziel, auf dem eine Anwendung genau diese Funktionen für unveränderbare Sicherungen voraussetzt.
Für Berechtigungen verwendet Garage eigene Zuordnungen zwischen Schlüsseln und Buckets. Eine vorhandene AWS-Bucket-Policy oder S3-ACL lässt sich daher nicht einfach als identisches Zugriffsmodell übernehmen. Lifecycle-Regeln sind ebenfalls nur teilweise implementiert.
| Anforderung | Geprüfte Einordnung |
|---|---|
| Objekte lesen, schreiben und per Multipart übertragen | Zum vorgesehenen S3-Kernumfang passend |
| Vorsignierte Download-URLs | Unterstützt, mit der Anwendung testen |
| Versionierung und Object Lock | Nicht als verfügbare Funktion einplanen |
| AWS-Bucket-Policies und S3-ACLs | Eigenes Garage-Berechtigungsmodell berücksichtigen |
3. Replikation braucht Speicher und Wiederaufbauzeit
Bei drei Kopien ist als grobe Ausgangsrechnung ungefähr die dreifache Nutzdatenmenge an Rohkapazität nötig. Metadaten, freie Reserve und Verteilung kommen hinzu. Kompression und Deduplizierung können den tatsächlichen Bedarf verändern, sind aber kein belastbarer Ersatz für eine Kapazitätsreserve.
Nach dem Ausfall oder Austausch eines Knotens müssen Daten wieder verteilt werden. Dafür ist Bandbreite nötig, während der normale Betrieb weiterläuft. Beispielsweise dauert schon die reine Übertragung von einem Terabyte über 100 Mbit/s unter idealen Bedingungen mehr als 22 Stunden. Protokolloverhead, andere Last und Engpässe verlängern diese Zeit.
Standortübergreifend zählen neben Bandbreite auch Latenz, Verbindungsabbrüche und Rückstau. Mit der tatsächlichen Objektgröße und Zahl paralleler Zugriffe testen. Wenige große Dateien und Millionen kleiner Objekte erzeugen unterschiedliche Anforderungen.
4. Clientzugriff und Clusterverwaltung getrennt schützen
Den S3-Endpunkt über TLS anbieten und nur die benötigten Zugänge freigeben. Admin-API und interne Clusterkommunikation gehören in einen anderen Zugriffskreis als die Anwendungskonten. Ein kompromittierter Anwendungsschlüssel sollte nicht gleichzeitig die Clusterverwaltung öffnen.
Garage dokumentiert Verschlüsselung mit vom Client gelieferten Schlüsseln über SSE-C. Dabei müssen Schlüsselverwaltung und Wiederherstellung auf Clientseite gelöst sein. TLS, verschlüsselte Datenträger und objektbezogene Verschlüsselung schützen unterschiedliche Wege und Zustände.
Für Sicherungsdaten ist zusätzlich das Löschrecht wichtig. Ein Speichercluster repliziert auch berechtigte Löschungen. Mehrere Kopien derselben Daten schützen daher nicht automatisch gegen Fehlbedienung oder kompromittierte Zugangsdaten.
5. Gesundheit des Datenbestands sichtbar machen
Garage wird unter AGPLv3 veröffentlicht. Die freie Lizenz enthält keine vertragliche Zusage zu Support oder Reaktionszeiten. Für einen geschäftskritischen Dienst müssen Betreuung und Wiederherstellung deshalb organisatorisch abgesichert sein.
Garage stellt Metriken für die Überwachung bereit und dokumentiert Reparaturverfahren. Dazu zählen Prüfungen und Wiederherstellung interner Zuordnungen sowie die Kontrolle der Datenblöcke. Solche Arbeiten können Last erzeugen und brauchen einen nachvollziehbaren Anlass und Zeitplan.
Vor Änderungen am Clusterlayout freien Platz und Replikationszustand prüfen. Ein Knoten sollte nicht allein deshalb entfernt werden, weil seine Anwendungslast gerade niedrig aussieht. Entscheidend ist, welche Datenkopien auf ihm liegen und ob der verbleibende Bestand vollständig und ausreichend verteilt ist.
Updates nach dem zur Ausgangsversion passenden Upgrade-Pfad durchführen. Konfiguration, Schlüssel und Wiederherstellungsverfahren dokumentieren. Ein Testbestand sollte sich nach einem simulierten Knotenausfall und nach einer Wiederherstellung weiterhin vollständig lesen lassen.
6. Stärken und Grenzen
| Stärken | Grenzen |
|---|---|
| Verteilte Datenhaltung auch über Standortgrenzen | Wiederaufbau hängt von freien Ressourcen und WAN-Kapazität ab |
| Wenige externe Systemabhängigkeiten | Clusterzustand und Datenintegrität brauchen aktiven Betrieb |
| S3-Kernfunktionen für viele Anwendungen | Keine vollständige AWS-S3-Funktionsgleichheit |
| Kopien über definierte Zonen | Keine S3-Sperrmechanismen für unveränderbare Sicherungen |
7. Quellen und Dokumentationsstand
Geprüft am 20. September 2026 anhand der aktuellen Garage-Dokumentation. Kompatibilitätsangaben gelten für die dort dokumentierte Garage-Implementierung. Angaben über andere Produkte aus der Garage-Vergleichsmatrix wurden nicht übernommen.
- Projekt und Lizenz Offizielle Dokumentation öffnen
- Funktionsumfang und Replikation Offizielle Dokumentation öffnen
- Ziele und technische Grenzen Offizielle Dokumentation öffnen
- S3-Kompatibilität Offizielle Dokumentation öffnen
- Verschlüsselung Offizielle Dokumentation öffnen
- Datenintegrität und Reparaturen Offizielle Dokumentation öffnen
- Pakete und Versionen Offizielle Dokumentation öffnen
Häufige Fragen zu Garage
Garage bietet Objektspeicher. Eine zusätzliche FUSE-Anbindung macht daraus keine vollständig gleichwertige POSIX-Dateifreigabe. Sperren, Umbenennungen und das Änderungsverhalten der Anwendung müssen dazu passen.
Nicht allein durch die Replikation. Benötigt werden passende Sicherungsstände, getrennte Rechte und ein getesteter Restore. Löschungen und beschädigte Anwendungsdaten können auch in einem replizierten Bestand wirksam werden.
Auch der Autor ist nur ein Mensch, dem Fehler unterlaufen können. Wenn in diesem Beitrag etwas nicht stimmt oder unklar ist, freuen wir uns über einen kurzen Hinweis über das Kontaktformular unten, wir prüfen und korrigieren das.
Der nächste Schritt
Garage im eigenen Haus richtig einsetzen?
Wir klären, ob und wie der Baustein zu Ihrer Infrastruktur passt, und sagen offen, wann sich der Aufwand lohnt und wann nicht.