Torus: Freies Storage-System vom CoreOS-Projekt
Statt auf traditionelle Speichersysteme zu setzen, will das CoreOS-Projekt lieber selbst eine flexiblere Umgebung vor allem für Container und die Cloud entwickeln. Torus setzt hierfür auf etcd und Kubernetes.
![Container](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/1/8/2/4/6/6/4/urn-newsml-dpa-com-20090101-150924-99-05578_large_4_3-deb43548fad3e9b5.jpeg)
(Bild: dpa, Christian Charisius)
Unter dem Namen Torus hat das CoreOS-Projekt ein neues verteiltes Storage-System vorgestellt. Es soll einige Schwierigkeiten angehen, die beim Einsatz herkömmlicher Speicherumgebungen in Kombination mit Containern auftreten können. So seien erstere auf kleine Cluster leistungsfähiger Maschinen spezialisiert, die für diesen Zweck angepasste Hardware und Software verwendeten. Stattdessen soll Torus besser mit großen Clustern vergleichsweise schwacher Systeme umgehen können. Da sich Container-Infrastrukturen ständig ändern, muss die Storage-Umgebung im gesamten Netzwerk verfügbar sein, den Zugriff steuern und die Konsistenz der Daten sicherstellen. Und das alles, während das eigentliche Verarbeiten der Daten zwischen Containern hin- und herspringt oder unterschiedliche Versionen einer Anwendung zum Einsatz kommen.
Unter der Haube ist Torus eine Bibliothek mit einer Schnittstelle, die als einfache Datei erscheint und die sich mit herkömmlichen Dateioperationen verwalten lässt. Darunter kommt etcd zum Einsatz, das die Konsensfindung übernimmt. Zum Einhängen des Speichers verwendet Torus bisher ein Network Block Device (NBD), prinzipiell sind aber laut der Ankündigung auch andere Vorgehensweisen denkbar. Als Basis setzt das Projekt auf Kubernetes, eine freie Umgebung zum Bereitstellen und Verwalten von Container-Clustern. Die erste Ausgabe von Torus ist als freie Software auf GitHub zu finden. Die Entwickler laden Interessierte dazu ein, das System auszuprobieren und beim Verbessern beizutragen. Wie bei CoreOS selbst ist Torus in der Sprache Go geschrieben. (fo)