Ich beschäftige mich seit Kurzem mit btrfs und ich habe eine Verständnisfrage zu Schnappschüssen und Subvolumes. Ein Subvolume wird neu angelegt und ein Schnappschuss wird aus einem Subvolume erstellt.
Ich habe in einer Doku gelesen, dass sich Schnappschüsse und Subvolumes technisch nicht unterscheiden und es nicht möglich ist, festzustellen, was Schnappschuss und was Subvolume ist. Aber ist dies wirklich so?
Bei dem Befehl "btrfs subvolume list" gibt es die Option "-s" (list only snapshots). Damit werden nur Schnappschüsse aufgelistet, aber keine Subvolumes.
Wenn man jetzt einen Schnappschuss wiederherstellen möchte, wird empfohlen, das Original-Subvolume zu löschen und vom Schnappschuss einen erneuten Schnappschuss anzulegen, der den Namen des ursprünglichen Subvolumes trägt. Dies funktioniert ohne Probleme, aber, wenn ich den obigen List-Befehl mit der Option "-s" ausführe, werden nach der Aktion nur noch Schnappschüsse angezeigt. Es existieren in diesem Beispiel danach keine Subvolumes mehr. Gibt es eine Möglichkeit, einen Schnappschuss zu einem echten Subvolume zu machen, damit beim obigen Befehl nur die Schnappschüsse aufgelistet werden oder ist dies eher egal?
Ich habe hier ein kleines Beispiel, um es zu verdeutlichen:
Code: Alles auswählen
# Subvol anlegen.
$ btrfs subvolume create /mnt/@root
# Subvolume befüllen...
# Schnappschüsse anlegen
$ btrfs subvolume snapshot /mnt/@root /mnt/root_schnappschuss1
$ btrfs subvolume snapshot /mnt/@root /mnt/root_schnappschuss2
# Alles auflisten.
$ btrfs subvolume list /mnt
ID 256 gen 36 top level 5 path @root
ID 257 gen 35 top level 5 path root_schnappschuss1
ID 258 gen 36 top level 5 path root_schnappschuss2
# Nur Schnappschüsse auflisten:
$ btrfs subvolume list -s /mnt
ID 257 gen 35 cgen 35 top level 5 otime 2024-07-02 23:41:45 path root_schnappschuss1
ID 258 gen 36 cgen 36 top level 5 otime 2024-07-02 23:41:49 path root_schnappschuss2
# Schnappschuss1 wiederherstellen, indem das Subvol gelöscht und ein neuer Schnappschuss angelegt wird.
$ btrfs subvolume delete /mnt/@root
Delete subvolume 256 (no-commit): '/mnt/@root'
$ btrfs subvolume snapshot /mnt/root_schnappschuss1/ /mnt/@root
Create a snapshot of '/mnt/root_schnappschuss1/' in '/mnt/@root'
# Nur Schnappschüsse auflisten. Es gibt keine Subvolumes mehr.
$ btrfs subvolume list -s /mnt
ID 257 gen 38 cgen 35 top level 5 otime 2024-07-02 23:41:45 path root_schnappschuss1
ID 258 gen 36 cgen 36 top level 5 otime 2024-07-02 23:41:49 path root_schnappschuss2
ID 259 gen 38 cgen 38 top level 5 otime 2024-07-02 23:43:37 path @root
# Alles auflisten.
btrfs subvolume list /mnt
ID 257 gen 38 top level 5 path root_schnappschuss1
ID 258 gen 36 top level 5 path root_schnappschuss2
ID 259 gen 38 top level 5 path @root
Vielen Dank im Voraus.
LG Martin