Btrfs 分卷问题

Cli*_*ton 4 btrfs

关于 Btrfs 的几个问题:

  1. 在 Btrfs 文件系统上创建子卷之前是否必须挂载它?
  2. 我可以轻松地将现有目录转换为子卷吗?(即,如果我想让“/home”成为一个单独的子卷,我可以直接去mk_btrfs_subfolder /home(或任何命令),而不必创建一个新的空子卷并复制所有内容?

执行上述操作的命令会很好但不是必需的,只是是/否就可以了,我可以谷歌一下。

小智 12

是的,您必须挂载它,如果要将目录转换为子卷,您可以使用以下方法创建快照

btrfs subvolume snapshot <name of subvolume containing folder> @new_subvol
Run Code Online (Sandbox Code Playgroud)

然后,您可以进入子卷并删除除@new_subvol/home 以外的所有内容,然后将 home 中的所有内容移动到新子卷的根目录中,例如

mv @new_subvol/home/* @new_subvol
Run Code Online (Sandbox Code Playgroud)

然后您可以删除原始目录并将新创建的快照移动到其位置。

  • @Germia这样做的问题是,它将被视为“跨设备移动”,因此该移动将变成复制和删除,而使用安德鲁斯方法,唯一的移动完全在快照内,因此它仍然是真正的移动。 (4认同)
  • 实际上,您的方法是正确的,以避免创建新的范围。 (2认同)

Ada*_*ski 3

  1. 是的。
  2. 不。

至少目前不是。


  • 这个答案是不完整的。请展开。 (5认同)
  • @MaxMackie 我很乐意扩展,但请先说明问题。你想要参考吗?您想要有关如何挂载 btrfs 卷的工作示例吗?或者甚至更好:如果您有更多问题,请将它们作为单独的帖子发布。 (3认同)