Torus von CoreOS: Einfaches Storagesystem für komplizierte Containertechnik
Die Verwendung von Containersystemen birgt einige Probleme beim Speichern von Daten. Cloud-Spezialist CoreOS möchte diese mit der Storagetechnik Torus lösen, die Containern einfache Dateien zum Einhängen ganzer Speichersysteme bietet.
Die Schnelllebigkeit und hohe Skalierbarkeit von Anwendungscontainern bringt einige Probleme beim Speichern von Daten mit sich. Der Cloud-Spezialist CoreOS schreibt zudem in seinem Blog, dass bisherige Storagetechniken nur schwer zu Containerinfrastruktur passen würden. Deshalb hat das Unternehmen mit Torus ein neues Speichersystem erstellt, das besonders einfach, dabei aber dennoch zuverlässig sein soll.
"Im Kern ist Torus eine Bibliothek mit einer Schnittstelle, die als traditionelle Datei erscheint", heißt es in der Ankündigung. Damit seien sämtliche Manipulationen am Speicher durch die üblichen basalen Dateioperationen möglich. Zurzeit nutzt Torus dazu ein einfaches Netzwerkblockgerät, das aus der Anwendung im Container heraus eingehängt werden kann. Künftig könnte dies etwa auch als Objektstorage angeboten werden.
Kompliziertes einfach ausgelagert
Das Besondere an dem neuen System ist, dass Torus darauf ausgelegt ist, mit der Containerverwaltung Kubernetes verwendet zu werden. Die eigentlich schwierige Arbeit eines verteilten Systems - die Konsensfindung - wird dabei an das Werkzeug Etcd ausgelagert. Dieses wird von CoreOS bereits genutzt, um zum Beispiel Konfigurationsdateien auf Containern in einem Cluster zu verwalten.
Der tatsächliche physische Speicher von Dateien ist wiederum in eigene Knoten ausgelagert, die leicht skaliert werden können. Torus fasst sämtliche dieser Knoten zu einem Storagepool zusammen. Das System unterstützt ein konsistentes Hashing der Dateien, Replikation sowie Garbage Collection. Das Design ermögliche es zudem, Torus um eine Verschlüsselung und Reed-Solomon-Fehlerkorrektur zu erweitern.
Torus ist in Go geschrieben und der Code findet sich auf Github.