如果已经可见,直接挂载 btrfs 子卷或绑定挂载

use*_*689 8 mount btrfs bind-mount

  • 如果/dev/sda1是带有 subvolroot和的 btrfs 文件系统persistent

  • 我已经将默认 subvol 设置为 root

  • 另外,我已经安装/dev/sda1(再次root是默认值)到/

  • 我已经将/dev/sda1subvolid=0挂载到了/btrfs,所以我可以访问所有其他 subvols(是的,/现在作为一个副本存在/btrfs/root,我认为这是理想的,所以这里的所有内容都被视为在同一个文件系统上)

之间有什么区别:

  1. mount /dev/sda1 -o subvol=persistent /persistent

  2. mount --bind /btrfs/persistent /persistent

我正在考虑未立即看到的差异,例如在是否进入( ) 中persistent的不同文件系统时被区别对待。这两个选项都应该被视为进入不同的文件系统,所以这里没有区别——我只是把它作为可能存在的那种差异进行了讨论,一种不太明显的差异。cp -xcp --one-file-system

小智 2

您的设置方式没有任何功能差异。这就像您从未创建过一样,root subvolume因为您将其设置为默认值。这不是大多数试图充分利用子卷抽象的人会采用的方式,但这是完全可以接受的。我个人更喜欢广泛的分离,因为备份非常简单且功能强大btrfs,并且无需更改默认子卷。

尽管如此,所有子卷都是出于大多数意图和目的的文件夹。不同之处在于,如果您不愿意,您可以像文件系统一样安装它们,而mount无需安装。bind据我了解,每个“普通”实用程序(例如您cp提到的)都会将其视为常规文件夹,无论您如何安装它,btrfs 特定的工具显然除外。可能有一些例外,但在我相当彻底的测试中我不记得有任何例外。我邀请任何人纠正我的错误。