Seltsames Verhalten hierarchischer Snapshots

Seltsames Verhalten hierarchischer Snapshots

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 initSnapshot auf Standard gesetzt und das System neu gestartet. Da ich wollte, dass der initSnapshot 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 currentdas Standard-Subvolume erstellt und das System neu gestartet hatte, bemerkte ich, dass lses /home/snapshotszu unerwarteten Ergebnissen kam:

# ls /home/snapshots 
init mnt
# ls /home/snapshots/init
#

Die Frage ist: Warum ist der initOrdner sichtbar? Meiner Intuition nach initwird 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 :)

verwandte Informationen