Btrfs-Partitionen verwalten mit YaST und Snapper

Aus LinuxUser 08/2017

Btrfs-Partitionen verwalten mit YaST und Snapper

Abbildung 1: In Bezug auf das Dateisystem Btrfs unterstützt GParted bislang nur einige grundlegende Funktionen.

Komplexe Technik

Btrfs positioniert sich als Dateisystem der nächsten Generation. In der Praxis hakt es aber noch.

Das recht junge Dateisystem Btrfs [1] gilt als Nachfolger des Standard-Dateisystems Ext4 unter Linux. Da es jedoch wesentlich komplexer arbeitet als seine Vorgänger und sich in Bezug auf die Technik am High-End-Dateisystem ZFS [2] orientiert, heißt es für Sie als Anwender: umlernen. Vor allem das Einrichten des Systems erfordert viel Wissen über die Details. Um Einsteigern den Einsatz der neuen Technik zu erleichtern, laufen die Arbeiten an Tools mit einer grafischen Oberfläche.

Bislang hat sich vor allem die Entwicklergemeinde von OpenSuse um Btrfs-kompatible grafische Werkzeuge verdient gemacht: Während das altehrwürdige GParted und die Partitionsverwaltung von KDE zwar in der Lage sind, entsprechende Bereiche anzulegen, zu löschen und in der Größe zu verändern, gelingen feinere Justierungen wie das Anlegen und der Einsatz von Subvolumes mit diesen noch nicht (Abbildung 1).

Abbildung 1: In Bezug auf das Dateisystem Btrfs unterstützt GParted bislang nur einige grundlegende Funktionen.

Abbildung 1: In Bezug auf das Dateisystem Btrfs unterstützt GParted bislang nur einige grundlegende Funktionen.

OpenSuse dagegen hat sein grafisches Tool YaST bereits an das neue Dateisystem angepasst. Zusätzlich stammt mit dem Snapshot-Tool Snapper ein weiteres Werkzeug maßgeblich aus den Entwicklungslabors von Suse [3].

Das Dateisystem

In den letzten Jahren sind die Kapazitäten der Festplatten geradezu explodiert: Datenträger mit Platz für acht und mehr Terabyte Daten sind keine Seltenheit mehr, und selbst die vergleichsweise teuren Solid State Disks (SSD) haben inzwischen längst die Terabyte-Grenze geknackt.

Parallel zum wachsenden Volumen der Platten ändert sich das Verhalten vieler Anwender: Nichts löschen gehört zum guten Ton. Dabei nimmt die Größe der Dateien ebenfalls zu, etwa in Form von 4K-Videos. Dies stellt viele herkömmliche Dateisysteme vor ernsthafte Probleme, denn bei diesen liegen die Grenzen für die Dateigröße unter Umständen zu niedrig.

Das seit 2007 ursprünglich von Oracle entwickelte und unter der GPL publizierte Btrfs berücksichtigt viele dieser möglichen Szenarien und ist daher vielen herkömmlichen Dateisystemen überlegen: Neben deutlich größerem maximalem Volumen für Dateien und Partitionen unterstützt es Snapshots und verschiedene RAID-Modi ohne zusätzliche Software.

Zudem ist das Dateisystem für den Umgang mit vielen kleinen Dateien optimiert und verfügt über eine eingebaute Funktion zum Defragmentieren. Das B-Tree-Design des Dateisystems beschleunigt den Zugriff auf die Datenbestände. Zusätzlich kommt – wie bei ZFS – Copy-On-Write zum Einsatz, um Speicherplatz zu sparen und das Kopieren bei Änderungen an Dateien zu minimieren.

Schutzmechanismen gegen Übertragungsfehler wie eine integrierte Prüfsumme und ein eingebautes Logical Volume Management (LVM) empfehlen das Dateisystem vor allem für große Installationen, üblicherweise auf Servern.

Darüber hinaus bringt Btrfs einen Konverter mit, mit deren Hilfe Sie Ext3- und Ext4-Dateisysteme umwandeln. Dieser Prozess ist reversibel angelegt und erlaubt es, bei Bedarf eine entsprechende Partition zu Ext3 oder Ext4 zurückzukonvertieren. Die Entwickler haben das Dateisystem seit etwa 2013 als produktiv angesehen, seit 2014 ist es im Suse Linux Enterprise Server (SLES) und in OpenSuse ab Version 13.2 als Standard-Dateisystem im Einsatz.

Aufbau

Eine typische Installation mit Btrfs unterscheidet sich grundlegend vom Vorgehen bei Ext3 oder Ext4. Während beim Einsatz altbekannter Dateisysteme meist neben einer Swap-Partition lediglich noch eine bootfähige Partition mit dem gesamten Verzeichnisbaum vorhanden ist, und bestenfalls ein gesondertes Laufwerk mit den Daten der Anwender existiert, sind unter Btrfs in einem Dateisystem mehrere Subvolumes vorhanden.

Sie haben die Möglichkeit, diese virtuellen Dateisysteme einzeln einzuhängen und wie dedizierte Laufwerke zu verwenden. Im Vergleich zu herkömmlichen Dateisystemen fällt außerdem auf, dass Btrfs den Platz gelöschter Subvolumes nicht sofort freigibt, sondern sukzessive.

Betreiben Sie auf einem Rechner mehrere Distributionen oder zusätzlich andere Betriebssysteme, spielt das Subvolume-Konzept seine Vorteile voll aus: Durch sie besteht hier nicht die Gefahr, dass das Verwalten der Massenspeicher aufgrund der Beschränkung auf vier primäre Partitionen durch ein Sammelsurium logischer Laufwerke in erweiterten Partitionen schnell unübersichtlich gerät.

OpenSuse

OpenSuse nutzt als maßgeblich an der Entwicklung beteiligte Distribution die erweiterten Funktionalitäten des Dateisystems ausgiebig und legt je nach Konfiguration bereits in der Standardinstallation im Root-Verzeichnis mehr als ein Dutzend Subvolumes an. Welche vorhanden sind, erfahren Sie auf der Kommandozeile durch Eingabe des folgenden Befehls:

btrfs subvolume list /

Die Liste im Beispiel wirkt auf den ersten Blick wegen der teils über 30 angelegten Subvolumes eher verwirrend. Komfortabler und übersichtlicher fragen Sie diese Daten über das Startmenü ab, in welchem Sie im Untermenü System das Tool YaST aufrufen. Hier finden Sie im Abschnitt System die Option Partitionierer, welcher ähnlich wie GParted oder die KDE-Partitionsverwaltung die Massenspeicherbelegung anzeigt (Abbildung 2).

Abbildung 2: Mit YaST erhalten Sie einen detaillierten Einblick in die Btrfs-Struktur.

Abbildung 2: Mit YaST erhalten Sie einen detaillierten Einblick in die Btrfs-Struktur.

Sobald Sie hier in der Festplatten-Übersicht das Root-Laufwerk anklicken und danach auf den Button Bearbeiten…, öffnet sich ein neues Fenster, in welchem Sie die einzelnen Subvolumes über die Schaltfläche Subvolumenverarbeitung erreichen. Im darauf folgenden Dialog sehen Sie die Subvolumes und haben die Möglichkeit, nicht mehr benötigte zu entfernen oder neue anzulegen.

Im Home-Verzeichnis des aktuellen Benutzers, den Sie mit der Installation von OpenSuse angelegt haben, befinden sich voreingestellt noch keine Subvolumes; das entsprechende Fenster ist daher also leer. Selbstverständlich dürfen Sie aber im Home-Verzeichnis beliebig neue Subvolumes angelegen, sofern Sie diese mit Btrfs als Dateisystem formatiert haben.

Über den Eintrag Festplatten links in der Ansicht für das gesamte System haben Sie außerdem die Möglichkeit, beliebige Btrfs-Partitionen zu verkleinern oder zu verschieben. YaST zeigt dazu in einem gesonderten Dialog die minimale Größe der zu verändernden Partition an und gestattet es, deren Größe frei zu modifizieren. Das erlaubt, bei wenig genutzten Partitionen Speicherplatz zu gewinnen, indem Sie diese pragmatisch in der Größe anpassen (Abbildung 3).

Abbildung 3: Subvolumes legen Sie unter OpenSuse dank YaST einfach und schnell an, entfernen diese und verwalten deren Größe.

Abbildung 3: Subvolumes legen Sie unter OpenSuse dank YaST einfach und schnell an, entfernen diese und verwalten deren Größe.

Die einzelnen Subvolumes bemerken Sie in der Praxis kaum: Ist das Laufwerk eingehängt, so arbeiten Sie damit im Terminal oder in grafischen Dateimanagern wie mit herkömmlichen Verzeichnissen.

Snapshots

Btrfs bietet durch die Snapshot-Funktion mehr Sicherheit gegen den Verlust von Daten als konventionelle Dateisysteme. Prinzipiell dürfen Sie jedes einzelne Subvolume durch regelmäßige Schnappschüsse gegen den Verlust von Daten absichern. Das macht externe Backup-Programme im Prinzip überflüssig.

OpenSuse bietet mit der Snapper-GUI, die ebenfalls in YaST integriert ist, eine komfortable Möglichkeit zum Verwalten der Snapshots. Sie finden die grafische Oberfläche im Bereich Verschiedenes in der Übersicht von YaST. Nach einem Klick auf Snapper öffnet sich ein eigenes Fenster, das die bereits vorhandenen Snapshots als Tabelle auflistet.

Da die Ansicht zunächst unübersichtlich wirkt und selbst bei erst frisch aufgesetzten Systemen bereits viele Snapshots beinhaltet, empfiehlt es sich, im ersten Schritt die Konfiguration von Snapper zu modifizieren: Für die meisten Desktop-Systeme sind die Intervalle viel zu aggressiv eingestellt und benötigen daher sehr viel Speicherplatz. Die Intervalle zum Löschen weisen ebenfalls für Desktop-Systeme unsinnige Einstellungen auf, Sie sollten sie ebenso anpassen.

Die Snapper-GUI eröffnet jedoch nicht die Möglichkeit, die Konfiguration zu ändern; hierzu ist ein Wechsel auf die Kommandozeile nötig. Dazu starten Sie ein Root-Terminal und öffnen die Datei /etc/snapper/configs/root, die als ASCII-Text vorliegt (Abbildung 4).

Abbildung 4: Die Konfiguration von Snapper nehmen Sie in einer Textdatei vor.

Abbildung 4: Die Konfiguration von Snapper nehmen Sie in einer Textdatei vor.

Dabei sind vor allem die Bereiche create hourly snapshots, cleanup hourly snapshots after some time und limits for timeline cleanup von Bedeutung. In diesen Optionen legen Sie die Intervalle zum Löschen für die automatisiert angefertigten Snapshots fest und definieren, wie viele der angefertigten Schnappschüsse erhalten bleiben.

Für Desktop-Systeme empfiehlt es sich, die Optionen TIMELINE_LIMIT_YEARLY und TIMELINE_LIMIT_MONTHLY nach unten zu korrigieren, falls die Option TIMELINE_CREATE aktiviert ist. Auch die Werte für die täglichen und stündlichen Snapshots dürfen Sie auf solchen Rechnern getrost verringern.

Im Bereich cleanup empty pre-post-pairs sollte der entsprechende Wert auf yes gesetzt sein, damit das System Schnappschüsse ohne Veränderung nicht archiviert. Auf älteren Systemen lohnt es sich außerdem, bei Problemen mit der Performance, die Option BACKGROUND_COMPARISON zu deaktivieren. Dieser Prozess beansprucht einige Ressourcen [4].

Grafisch

Haben Sie die grundlegenden Optionen von Snapper von Hand angepasst, so spricht nichts dagegen, künftig mit der Snapper-GUI in YaST die Schnappschüsse zu verwalten. Das YaST-Modul bietet dabei nicht nur über die Tabelle Zugriff auf die einzelnen Snapshots, sondern gestattet über den Button Erzeugen das manuelle Anlegen eines Schnappschusses (Abbildung 5).

Abbildung 5: Das YaST-Modul gestattet eine einfache Verwaltung von Snapshots.

Abbildung 5: Das YaST-Modul gestattet eine einfache Verwaltung von Snapshots.

Dabei legen Sie in einem Dialog nicht nur den Namen des Snapshots fest, sondern definieren gleichzeitig, ob das System diesen mit einem bereits zuvor kreierten Schnappschuss koppelt. Weiterhin legen Sie hier fest, nach welchem Muster das System löscht, also wie lange der Snapshot erhalten bleibt. Über den Button Ändern besteht zudem die Möglichkeit, für bereits angelegte Snapshots die Konfiguration nachträglich zu modifizieren.

Über ein Auswahlfeld definieren Sie den Algorithmus, der bei der Auswahl der zu löschenden Daten zum Einsatz kommt. Beachten Sie, dass diese Modifikationen ausschließlich für den in der Tabelle jeweils aktivierten Snapshot gilt. Auf die gleiche Art und Weise löschen Sie außerdem Schnappschüsse direkt, wobei Sie hier nach dem Markieren des Snapshots auf Löschen klicken.

Sofern sich unter Ihren Schnappschüssen Vorher-/Nachher-Paare befinden, sehen Sie Unterschiede zwischen den beiden über die Schaltfläche Änderungen anzeigen an. Dazu öffnet das YaST-Modul anschließend ein neues Fenster, in welchem die Software links die Unterschiede zwischen den Snapshots im Verzeichnisbaum anzeigt, während Sie rechts im größeren Segment die Differenzen zwischen beiden Snapshots im Detail sehen.

Über die Schaltflächen Vom ersten Schnappschuss wiederherstellen und Vom zweiten Schnappschuss wiederherstellen stellen Sie bei Bedarf das System wieder auf einen der beiden Schnappschuss-Zustände zurück (Abbildung 6).

Abbildung 6: Über die Ansicht von Differenz-Snapshots informieren Sie sich über Änderungen.

Abbildung 6: Über die Ansicht von Differenz-Snapshots informieren Sie sich über Änderungen.

Unzulänglichkeiten

Von Haus aus formatiert OpenSuse bei einer frischen Installation das Root-Verzeichnis mit Btrfs, während es das Home-Verzeichnis aus unverständlichen Gründen mit XFS anlegt. Da Snapper nur mit Ersterem zuverlässig funktioniert, fertigt das System in dieser Konstellation keine Schnappschüsse vom Home-Verzeichnis an.

Für das unter Linux gebräuchliche Dateisystem Ext4 existiert zwar eine Version von Snapper, die selbst unter anderen Distributionen funktioniert. Diese hat jedoch immer noch höchst experimentellen Charakter, sodass selbst die Tutorial-Seite von OpenSuse explizit nicht zum Einsatz auf entsprechenden Partitionen rät [5]. Im Test kam es unter ROSA-Linux R9 und Ubuntu 16.04 zu Problemen.

Hinzu kommen weitere Probleme, die den Einsatz von Btrfs auf Desktop-Systemen erschweren: In bestimmten Szenarien benötigen Sie für eine entsprechende Installation noch eine separate Boot-Partition mit einem anderen Dateisystem, um den Bootloader Grub2 einzusetzen.

Dies gilt vor allem, wenn es sich um ein Legacy-BIOS-System handelt und der freie Speicherplatz auf der Festplatte zwischen dem Master Boot Record und der ersten Partition nicht ausreicht, um die von Grub2 genutzte Datei core.img dort zu platzieren.

Fazit

Btrfs bietet sich zweifellos aufgrund vieler Vorteile als Dateisystem der Zukunft an. Auf Desktop-PCs braucht das innovative System allerdings – falls es sich hier überhaupt etabliert – noch erhebliche Zeit, bis es rundum einsatzfähig ist: Auf Servern läuft die Administration meist problemlos über die Kommandozeile, auf dem Desktop fehlen aber grafische Tools über das Duo YaST/Snapper hinaus.

Da das Einrichten und Verwalten von Btrfs am Prompt erhebliches Vorwissen voraussetzt und oft ein längeres Einarbeiten bedingt, kommt das Dateisystem bislang noch eher selten zum Einsatz. Hinzu kommt, dass selbst etablierte Werkzeuge wie GParted oder die Partitionsverwaltung von KDE nicht mit Btrfs harmonieren und daher ebenfalls kaum Anreiz bieten, die Vorteile des neuen Dateisystems zu nutzen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 08/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben