AA_PO-21458_NataliaLukiyanova-123RF.jpg

© Natalia Lukiyanova, 123RF

Mit Snapper und Btrfs Dateien auf Knopfdruck wiederherstellen

Letzte Rettung

Snapper erlaubt im Fall eines Falles dank Btrfs-Snapshots das Zurücksetzen eines Systems auf einen früheren Zustand.

Bei OpenSuse vertrauen die Entwickler auf das Dateisystem Btrfs [1]. Es ist seit OpenSuse 13.2 beziehungsweise seit Version 12 des Suse Linux Enterprise Servers (SLES) das Dateisystem für die Root-Partition. Die Distribution CoreOS, die stark auf die Container-Technologie setzt, hat sich dagegen kürzlich wieder von Btrfs abgewandt, da das Dateisystem im Einsatz noch zu viele Fehler zeigte (siehe Kasten "Warnung").

Die Arbeit an dem Dateisystem dauert nun schon seit rund acht Jahren an. Btrfs setzt, wie das von Sun für Solaris 10 entwickelte ZFS [2], auf Funktionen, die üblicherweise nicht zum Repertoire von Dateisystemen gehören. Dazu zählen neben einem erweiterten Speicherbereich die Unterstützung für RAID 0, 1, 5, 6 und 10, Snapshots und Subvolumes sowie die Möglichkeit, Partitionen während des Betriebs zu defragmentieren. Zudem besteht die Möglichkeit, Ext3/4-Partitionen nach Erstellen eines Backups über den Befehl btrfs-convert aus den Btrfs-Tools nach Btrfs umzuwandeln.

Warnung

Verschiedene Distributionen und Fachleute beurteilen die Sicherheit des noch jungen Dateisystems Btrfs unterschiedlich. Dabei kommt es stark auf das Einsatzgebiet und die Funktionen an, die Sie jeweils benutzen.

Btrfs-Chefentwickler Chris Mason, der bei seinem Arbeitgeber Facebook das Dateisystem im Backend im großen Stil einsetzt, sagte, es sei reif für den produktiven Einsatz. Das mobile Betriebssystem Meego setzt ebenfalls auf Btrfs.

Es ließen sich zwar in den Support-Kanälen von Suse jedoch keine Meldungen über Datenverlust in Zusammenhang mit Btrfs und Snapper finden. Um Snapper auszuprobieren, bietet es sich aber an, zuerst ein Testsystem aufzusetzen oder zeitnahe Backups anzulegen, sodass keine wertvollen Daten verloren gehen.

OpenSuse schnappt

Für den Test von Snapper verwendeten wir das Anfang November 2014 veröffentlichte OpenSuse 13.2. Der Einsatz eines möglichst aktuellen Kernels zählt zu den wichtigsten Voraussetzungen für die Arbeit mit Btrfs. Daher aktualisierten wir neben dem kompletten System den Kernel von Version 3.16.7 auf 3.19.1.

Für die Auswahl von OpenSuse als Testplattform war unter anderem maßgeblich, dass der Suse-Entwickler Arvin Schnell federführend Snapper entwickelt hat und es für die Distribution ein grafisches Werkzeug gibt, das das Verwalten der Snapshots erleichtert. Snapper findet sich jedoch auch in den Archiven von anderen Distributionen, wie beispielsweise Arch [3], Debian und Ubuntu.

Konfiguration

Nach der Installation von OpenSuse ist Snapper für die Root-Partition bereits eingerichtet. In diesem Zustand legt es vor und nach jeder Aktion mit YaST oder Zypper einen Snapshot an. Zudem besteht die Möglichkeit, über die sogenannte Timeline stündliche Snapshots zu erstellen; alternativ legen Sie diese von Hand an. Die Software löscht die meisten Schnappschüsse nach einem festgelegten Plan, einige bewahrt es jedoch standardmäßig auf.

Belassen Sie die Einstellungen bei den Vorgaben aus der Datei /etc/snapper/configs/root, dann belegen die Schnappschüsse schnell viel Platz. Dies gilt es beim Partitionieren zu bedenken. Eine Root-Partition, die normalerweise mit 30 GByte Platz auskommt, sollte – je nach geplanter Snapper-Konfiguration – für Snapshots zwischen 100 und 300 GByte Platz erhalten.

Dabei kommt erschwerend hinzu, dass Befehle wie df -h oder du zur Anzeige des belegten und freien Platzes auf den verschiedenen Partitionen der Snapshots, die in Subvolumes liegen, nicht wie erwartet funktionieren. Das ist eines der Ärgernisse von Btrfs, das zur im Internet in diesem Zusammenhang oft zu findenden Fehlermeldung no space left on device führt. Es empfiehlt sich daher, statt der klassischen Befehle grundsätzlich das Kommando btrfs filesystem show zu verwenden (Abbildung 1).

Abbildung 1: Irritationen beim belegten Speicherplatz: Unter Btrfs gibt es bei den Ausgaben der Befehle df -h und btrfs filesystem show erhebliche Unterschiede.

Möchten Sie zusätzlich für die Home-Partition Snapper nutzen, so stellen Sie bei der Installation das Dateisystem für diese Partition von XFS auf Btrfs um. Verbleibt Home auf der Root-Partition, erfasst Snapper es nicht.

Nach dem Kernel-Update (Listing 1), aber noch vor dem Aktualisieren des Systems via YaST oder Zypper, sollten Sie die Datei /etc/snapper/configs/root editieren. Hier legen Sie die Intervalle für das Erstellen und Löschen von Schnappschüssen fest. Bei einem Desktop-System lohnt es sich, die vorgegebenen Werte an einigen Stellen herunterzusetzen. Listing 2 zeigt dies exemplarisch für die wichtigsten Stellen. Die Manpage zu snapper-configs gibt hier weiteren Einblick [4]. Eine detaillierte Liste der Parameter finden Sie in der Suse-Dokumentation [5].

Listing 1

$ sudo zypper ar -f http://download.opensuse.org/repositories/Kernel:/stable/standard/ kernel
$ zypper ref
$ zypper dup -r kernel

Listing 2

# subvolume to snapshot
SUBVOLUME="/"
# filesystem type
FSTYPE="btrfs"
[...]
# run daily number cleanup
NUMBER_CLEANUP="yes"
# limit for number cleanup
NUMBER_MIN_AGE="1800"
NUMBER_LIMIT="10"
#create hourly snapshots
TIMELINE_CREATE="yes"
[...]
#cleanup hourly snapshots after some time
TIMELINE_CLEANUP="yes"
# limits for timeline cleanup
TIMELINE_MIN_AGE="1800"
TIMELINE_LIMIT_HOURLY="3"
TIMELINE_LIMIT_DAILY="2"
TIMELINE_LIMIT_MONTHLY="0"
TIMELINE_LIMIT_YEARLY="0"

Möchten Sie Schnappschüsse der Home-Partition erstellen, dann legen Sie die entsprechende Konfiguration mittels des Befehls sudo snapper -c home create-config /home an und editieren sie dann analog zu der für Root. Überprüfen Sie anschließend mit sudo snapper list-configs, ob das System beide Subvolumes korrekt eingebunden hat. Neben dem Eintrag für root sollte es jetzt noch einen für home geben (Abbildung 2).

Abbildung 2: Bei Bedarf erstellen Sie weitere Konfigurationen, um von zusätzlichen Bereichen des Dateisystems Schnappschüsse anzulegen.

Die Datei etc/snapper/filters führt Dateien auf, die die Software nie zurückspielt. Hier tragen Sie bei Bedarf selbst Dateien ein, die Sie vom Wiederherstellen ausnehmen möchten. Damit ist die Konfiguration abgeschlossen, ab jetzt können Sie Snapper auch in der grafischen Oberfläche bedienen (Abbildung 3). Den Umgang mit Snapper im Terminal erläutert die entsprechende Manpage [6].

Abbildung 3: Dank grafischer Benutzeroberfläche macht es OpenSuse leicht, Schnappschüsse zu verwalten, zu vergleichen und bei Bedarf wieder einzuspielen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Letzte Rettung
    Snapper erlaubt im Fall eines Falles dank Btrfs-Snapshots das Zurücksetzen eines Systems auf einen früheren Zustand.
  • Btr aufs Brot
    Dateisysteme sind normalerweise wie ein Regal mit vielen Kistchen und Kästchen, die dem Anwender helfen, den Überblick über die Daten zu bewahren. Btrfs bietet hier deutlich mehr – und schickt sich an, künftig Ext4 abzulösen.
  • Mit Go und Btrfs-Snapper

    Das Opensuse-Team hat rund drei Wochen vor der geplanten Fertigstellung der Version 12.1 am 18. November einen Release Candidate freigegeben.
  • Open Suse Conference: Kolab, Snapper, ARM, GIS - und viel Open Suse

    Nach Worksshops rund um Kolab 3.1, Linux on ARM und Geographie-Software geht's am zweiten Tag der Open Suse Conference um das Verhältnis zwischen Suse (der Company) und dem Open-Suse-Projekt sowie um diverse Softwarepakete von MySQL bis zu Marble.
  • Open Suse 12.1 ist fertig

    Das Open-Suse-Projekt hat Version 12.1 seiner Linux-Distribution veröffentlicht.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...