Nachdem wir nun mit btrfs das Raid1 fertig eingerichtet haben, brauchen wir nun "Subvolumes".
"Subvolumes" kann man sich wie Partitionen vorstellen, nur viel flexibler. Dann schauen wir uns das mal in der Praxis an.
Erstellung
In den Pfad wechseln
cd /mnt/btrfs
Dann das Subvolume erstellen.
btrfs subvolume create daten
Das sieht dann so aus.
rock64@rockpro64:/mnt/btrfs$ ls -la
total 20
drwxr-xr-x 1 rock64 rock64 10 Sep 5 21:04 .
drwxr-xr-x 3 root root 4096 Sep 2 10:34 ..
drwxrwxr-x 1 rock64 rock64 24 Sep 5 21:04 daten
Snapshot erstellen
btrfs subvolume snapshot daten snapshots/05_09_2018/
In diesem Beispiel würde vom Subvolume daten ein Snapshot erstellt und dieser im Subvolume snapshots/05_09_18 abgelegt.
Jetzt mal kurz zu diesen Snapshots, die machen eine Momentaufnahme des aktuellen Subvolumes. Das ist z.B. bei einem Server sinnvoll, den man umfangreich umkonfigurieren will/muss. Vorher vom funktionierenden System einen Snapshot machen und ran an die Arbeit. Geht was richtig schief, den Snapshot wieder herstellen - fertig!
Ich sehe da jetzt für mein NAS keine sinnvolle Anwendung für. Benutzen tue ich das btrfs eigentlich auch nur, weil @tkaiser meinte ein Raid1 ohne Datenverifizierung ist Müll.
Btrfs Datei-Selbstheilung
Bei traditionellen Speichersystemen können Fehler auftreten, die komplett unbemerkt bleiben und zu fehlerhaften Daten führen, die ohne Warnung oder Fehlermeldung an Anwendungen gesendet werden. Um diese Fehler zu vermeiden, stellt Btrfs Prüfsummen für Daten und Metadaten bereit, erzeugt zwei Kopien der Metadaten und verifiziert dann die Prüfsummen bei jedem Leseprozess. Wenn eine Abweichung (schleichende Datenkorruption) erkannt wurde, kann das Btrfs-Dateisystem mithilfe der Metadatenspiegelung beschädigte Dateien (schleichende Datenkorruption) automatisch erkennen und fehlerhafte Daten mittels der unterstützten RAID-Volumes, einschließlich RAID 1, RAID 5, RAID 6, RAID 10, F1 und SHR, wiederherstellen.
Quelle: https://www.synology.com/de-de/dsm/Btrfs
Da man ein NAS mit Raid1 NICHT als Backup betrachten darf brauchen wir noch was um die Daten zu sichern.
Ein Paar Btrfs Befehle
Subvolume auflisten
rock64@rockpro64:/mnt/btrfs$ sudo btrfs subvolume list /mnt/btrfs/
ID 258 gen 23 top level 5 path daten
ID 259 gen 24 top level 5 path snapshots
ID 260 gen 25 top level 259 path snapshots/05_09_2018
Snapshot löschen
rock64@rockpro64:/mnt/btrfs$ sudo btrfs subvolume delete snapshots/05_09_2018/
Delete subvolume (no-commit): '/mnt/btrfs/snapshots/05_09_2018'
Subvolume löschen
rock64@rockpro64:/mnt/btrfs$ sudo btrfs subvolume delete snapshots
Delete subvolume (no-commit): '/mnt/btrfs/snapshots'
Kurzes Fazit
Ich brauche für das NAS keine Snapshot Funktionalität, so das ich auch kein Subvolume bräuchte. Man kann ja auch so in dem Filesystem die Daten speichern.
Aufpassen, Btrfs ist für mich völliges Neuland Aber ohne probieren, lerne ich nix
Quellen:
https://kneit.in/2015/09/17/brtfs-raid-on-dmcrypt.html
https://wiki.ubuntuusers.de/Befehle_Btrfs-Dateisystem/