使用子子卷回滚 btrfs 子卷

Fal*_*rri 9 btrfs snapshot

是否有回滚到具有子子卷的子卷快照的规范方法。例如,这是我的 btrfs 卷布局:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var
Run Code Online (Sandbox Code Playgroud)

所以你可以看到 home、opt 和 var 是 __active 的子卷。如果我快照 __active 这样这是我的新布局:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var
ID 416 gen 59784 top level 258 path __snapshot/__active
Run Code Online (Sandbox Code Playgroud)

如果我想回滚到 __active 的快照,有没有办法将 home、opt 和 var 重新附加到新的 __active?

Ant*_*hon 3

如果您的意思是重新连接,您btrfs subvolume list将显示:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 258 path __snapshot/__active
Run Code Online (Sandbox Code Playgroud)

那么现在就没有办法用 来做到这一点btrfs-progs

仅当所有子子卷(使用 创建btrfs subvolume create ...)都为空时才可以删除子卷,但是对于快照(使用 创建)则不然。btrfs subvolume snapshot ...快照始终可以删除,因此如果您可以移动它们,则会出现删除快照时出现问题。

尽管子子卷和快照都出现在同一树结构中,甚至共享命令btrfs subvolume delete ..,但它们的行为并不相同。