btrfs:在不同路径中安装子卷不起作用 - 没有这样的文件或目录

btrfs:在不同路径中安装子卷不起作用 - 没有这样的文件或目录

我想将子卷安装在@子卷上的不同目录中...应该是可能的还是我错过了什么?

# btrfs subvolume create /foo 
# mkdir -p /mnt/storage1/foo 
# mount -t btrfs -o subvol=foo /dev/sda2 /mnt/storage1/foo 
mount: No such file or directory

我正在运行 Ubuntu 14.04.2

# btrfs subvol list /
ID 257 gen 1489 top level 5 path @
ID 258 gen 1473 top level 5 path @home
ID 2784 gen 1474 top level 257 path foo

fstab

/dev/sda2 /     btrfs  defaults,subvol=@ 0 1
/dev/sda2 /home btrfs  defaults,subvol=@home 0 0
# that's not working 
/dev/sda2 /mnt/storage/foo btrfs defaults,subvol=foo 0 0 

编辑:看起来像一个错误 - 这有效:

mount -t btrfs -o subvolid=2786 /dev/sda2 /mnt/storage1/foo

也许和这个有关?http://comments.gmane.org/gmane.comp.file-systems.btrfs/29167

答案1

既然您这样做了btrfs subvolume create /foo,那么大概子卷实际上位于@/foo文件系统中(因为按照惯例子卷@通常安装在/)。所以你的坐骑应该是:

mount -t btrfs -o subvol=@/foo /dev/sda2 /mnt/storage1/foo

你的 fstab 应该读到:

/dev/sda2 /mnt/storage1/foo btrfs defaults,subvol=@/foo 0 0

btrfs Wiki 有有关子卷布局的更多信息,这可能有助于理解。

答案2

你在 fstab 中的路径/mnt/storage/foo应该是/mnt/storage1/foo

相关内容