Ich habe mein Laufwerk in zwei BTRFS-Partitionen aufgeteilt: Eine ist als gemountet / (dev/sda1)
, die zweite als /home (/dev/sda2)
.
Ich habe meinen ersten Schnappschuss gemacht von /home
:
mkdir -p /home/snapshots/mnt
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/init
Danach habe ich meinen init
Snapshot auf Standard gesetzt und das System neu gestartet. Da ich wollte, dass der init
Snapshot sauber bleibt, habe ich beschlossen, einen Snapshot davon zu machen und ihn zu nennen current
:
mount -o subvolid=0 /dev/sda2 /home/snapshots/mnt
btrfs subvolume snapshot /home /home/snapshots/mnt/snapshots/current
Es hat funktioniert, aber nachdem ich current
das Standard-Subvolume erstellt und das System neu gestartet hatte, bemerkte ich, dass ls
es /home/snapshots
zu unerwarteten Ergebnissen kam:
# ls /home/snapshots
init mnt
# ls /home/snapshots/init
#
Die Frage ist: Warum ist der init
Ordner sichtbar? Meiner Intuition nach init
wird der Snapshot auf dem Untervolume mit der ID 0 erstellt und sollte nur von dort aus sichtbar sein.
Antwort1
Wenn ein Snapshot eines bestimmten Subvolumes erstellt wird, werden alle darin enthaltenen Subvolumes (im Sinne der Anfügung im Dateibaum) wie leere Verzeichnisse behandelt. Daher dieses Verhalten. Sie können sie einfach aus dem Snapshot entfernen, es kommt hier zu keinem Datenverlust :)