複数のサブボリュームを持つ大規模な古いBTRFS RAIDアレイがあります。
# btrfs subvolume list -u /bulk
ID 256 gen 56429 top level 5 uuid 11b16b2e-8f75-ec46-8cgd-4a001c70a4ba path @
ID 257 gen 56428 top level 256 uuid 0c81c066-dge1-464d-bd50-6f56e9d83e0a path @mine
ID 258 gen 56430 top level 256 uuid 6139b708-3226-324b-8bae-9eb810cfd226 path @shared
@
fstabを介してマウントされたルートサブボリュームは、サブボリュームを私のホームディレクトリのどこかにマウントしたいbulk
のですが、@mine
何らかの理由で失敗し続けます。
# mount -t btrfs -o subvol=/@mine,defaults,nossd,user /dev/sdd2 /home/me/bulk
mount: /home/me/bulk: mount(2) system call failed: No such file or directory.
dmesg(1) may have more information after failed mount system call.
興味深いことに、マスター - サブボリュームにはこの問題はありません。
# mount -t btrfs -o subvol=/@,defaults,nossd,user /dev/sdd2 /home/me/bulk
上記の作業は苦情なしに直接働きました。を介してマウントしようとすると同じ問題が発生します/etc/fstab
。また、UUIDを介してマウントしようとしましたが、サブボリュームUUIDがまったく見つからず、まったく@share
同じ動作を示しています。
サブボリュームの代わりにマウントすると、@
読み取り/書き込みの問題がなく、サブボリュームを含むユーザーとして一般的にすべてにアクセスできます。ただし、実際にはホームディレクトリに特定のサブボリュームのみをマウントすることをお勧めします。確かにこれは可能でなければなりません。 (はい、インストール直後に「/@」を削除したため、マウントポイントが空です)
ルートボリュームと比較してサブボリュームをマウントするために必要な特定のオプションはありますか?
これが関連している場合:Manjaro Plasma、カーネルバージョン5.15.109-1-MANJAROを使用しています。
答え1
サブボリュームのリストは、少なくとも私には少し誤解を招く可能性があります。サブボリュームを解決する正しい方法は/@/@mine
待つことです。プロンプトは、サブボリュームのリストに次のように表示されます。
ID 256 gen 56429 top level 5 uuid 11b16b2e-8f75-ec46-8cgd-4a001c70a4ba path @
ID 257 gen 56428 top level 256 uuid 0c81c066-dge1-464d-bd50-6f56e9d83e0a path @mine
top level 256
2行目は、@mine
その中に入れ子になっていることを意味します@
(IDは256)。
したがって、正しいインストールコマンドは次のようになります。
mount -t btrfs -o subvol=/@/@mine,defaults,nossd,user /dev/sdd2 /home/me/bulk
...そうです。終わりました。
完全性のために、以下は私が入力した対応する行であり、/etc/fstab
動作します。
UUID=xxxUIDxxx-ofthe-btrfs-rootxxx /home/me/bulk btrfs subvol=/@/@mine,defaults,nossd,user 0 0
/dev/sdd2
追加のドライブを追加または削除すると、デバイスを介したインストールが失敗する可能性があるため、UUIDを介してインストールしています。また、表示されたサブボリュームUUIDには、btrfs subvolume list
特定のユーザーaccessbtrfs
コマンドでのみアクセスできることがわかりました。しかし、他の方法では使用できませんしたがって、mountコマンドはルートディレクトリのアドレスを指定してからサブボリュームパスを指定する必要があります。
答え2
それ以来、問題が解決したようです。
カーネル6.6.26-1-MANJAROの場合:
sudo btrfs subvolume create /home/user/test
sudo btrfs subvolume list /
ID 257 gen 90511 top level 5 path @home
ID 627 gen 90465 top level 257 path @home/user/test
このfstabを使用すると、完全にマウントされます。
UUID=74684edf-64af-4e9a-a7ae-33842a4ff298 /home btrfs subvol=/@home,lazytime,compress-force=zstd:1 0 0
UUID=74684edf-64af-4e9a-a7ae-33842a4ff298 /home/user/test btrfs subvol=/@home/user/test,lazytime,compress-force=zstd:1 0 0
重要な部分は
subvol=/@home/user/test
同じ場所にサブボリュームを手動でマウントする必要はなく、自動的にマウントされます。ただし、/ testに手動でインストールできます。