Von Udo Blank auf Mittwoch, 04. März 2020
Kategorie: System Integration

Stratis

Wichtige Anmerkung

Dieses Dokument beschreibt die Version 1.0, welche auch Bestandteil der aktuellen Versionen von RHEL (8.1) und Fedora (31) ist. Laut der Stratis Projektseite (https://stratis-storage.github.io/) gibt es bereits die Version 2.0 bzw. 2.0.1. Da diese Version jedoch nur als Sourcecode zur Verfügung gestellt wird, wurde sie von uns noch nicht getestet. Voraussichtlich wird Fedora32 die erste Distribution sein, die diese Version zur Verfügung stellt. Sobald Fedora32 verfügbar ist, werden die Tests fortgesetzt.

Was ist Stratis?

Stratis ist kein Filesystem, sondern eine Erweiterung zu XFS bzw. eine Datenträgerverwaltung.

Red Hat hat angekündigt, die Unterstützung für das Dateisystem Btrfs offiziell einzustellen und sich stattdessen voll auf XFS zu fokussieren. Im Vergleich zu Btrfs oder ZFS fehlen XFS jedoch einige Funktionen. Das Werkzeug Stratis von RedHat bietet deshalb nun Snapshots und Storage-Pools für XFS an und ist in Version 1.0 verfügbar.

Welche Devices werden von Stratis unterstützt?

​Als zu Grunde liegendes Storage können diverse Arten von Block-Devices verwendet werden. Laut der Projekt-Homepage wurde Stratis neben normalen SAS/SATA-Festplatten z.B. auch auf iSCSI, DM-MPIO, mdraid und LUKS-Devices sowie LVM Logical Volumes getestet.

Was soll zukünftig noch aufgenommen werden?

Laut RedHat (bzw. der Stratis Projektseite) ist Stratis 1.0 ein Minimum Viable Product (MVP), einige Features fehlen also noch. Dazu gehören etwa ein Support für RAID und für Send- und Receive-Kommandos. Man wolle zukünftig weitere Devicemapper-Layer integrieren, aber auch zusätzliche Storage-APIs. Zudem will das Projekt die Flexibilität beim Ergänzen und Entfernen von Speichergeräten erhöhen, ohne das UI zu überfrachten.

Einschränkung laut RedHat

Laut Kapitel „9. Managing layered local storage with Stratis" der RedHat Dokumentation ist folgendes zu beachten:

Stratis is available as a Technology Preview. For information on Red Hat scope of support for Technology Preview features, see the Technology Preview Features Support Scope document.

Wie ist Stratis aufgebaut?

Es gibt einen Daemon „stratisd" und ein CLI „stratis" für die Kommunikation mit dem Daemon.

Wie funktioniert Stratis?

Stratis ist sehr einfach und meiner Meinung nach intuitiv aufbaut.

Ein paar Beispiele:

1. Zunächst muss ein Pool erstellt werden, wobei ein pool mehrere Devices enthalten und jederzeit erweitert werden kann:

2. Pools anzeigen:

3. Auf Basis eines Pools kann dann ein FS erstellt werden:

4. Filesystem anzeigen:

5. Filesystem mounten:

Hinweis: nach dem Erstellen werden die Stratis Filesysteme immer mit einer Größe von einem Terrabyte angezeigt, unabhängig von der physikalischen Größe der darunter liegenden Hardware. RedHat begründet dies damit, dass es nur eine theoretisch Größe sei, da die Filesysteme jederzeit online erweiterbar sind.

6. Einen Snapshot erstellen:

7. Einen Pool erweitern: 8. Blockdevices in einem Pool anzeigen:

Was haben die Tests ergeben?

Testumgebung:
OS: Fedora 30 aktuellste Version
Stratis 1.0.4
Oracle Virtual Box VM ( 1 CPU, 4GB RAM, 20 GB HDD(root), 5 x 4GB HDD (stratis))

1.Es gib noch ein paar kleine Baustellen wie z.B. die Command-Erweiterung in der bash:

zeigt nur einen Teil der möglichen Optionen:

create destroy list rename

2. ...und ein paar ganz große: Filesysteme lassen sich über Hardware-Grenzen hinweg belegen (z.B. zwei 1 TB große Dateien auf einer 12 GB großen Platte):

Lediglich im journalctl steht nun folgendes:

Einen Fehler bekommt man erst beim Erstellen eines Snapshots:

Ein weiterer Snapshot führt dann zu Datenverlust:

Nun ist das FS defekt:

Das Löschen des Filesystems funktioniert zwar, nur gehen damit alle Daten verloren:

Die Daten im zweiten FS lassen sich löschen (mittels rm). Der Platz im Pool bleibt jedoch belegt:

Trotz des Löschens der Daten ist das zweite FS nun auch defekt:

In diesem Zustand ließ sich der Pool nicht immer zerstören, da teilweise die FS nicht mehr gelöscht werden konnten.


3. Und etwas verwirrend: Die angezeigten Größen der einzelnen Tools (df, du, stratis) passen nicht: Nach mehrmaligen Schreiben (dd), Löschen (rm) sowie Snapshots Erstellen und Löschen sieht das wie folgt aus:

Fazit

Stratis ist ein sehr einfach und intuitiv zu bedienendes Tool, mit dem sich Filesysteme und die darunterliegende Hardware einfach administrieren bzw „verbinden" lassen. Leider hat es in der aktuellen Version noch zu viele Fehler um es sinnvoll einsetzen zu können.

Kommentare hinterlassen