優秀サブボリュームのbtrfs Wikiページデフォルトでは、btrfsを作成するとき(make.btrfs <devicenode>
例:トップレベルサブボリュームID = 5でサブボリュームを作成します。
新しく作成されたファイルシステムも最上位レベルと呼ばれるサブボリュームであり、内部IDは5です。このサブボリュームは削除したり、他のサブボリュームと交換したりすることはできません。
を使用してこのサブボリュームを表示しようとしましたが、btrfs subvolume list -a /btrfs.mountpoint
表示されません。なぜですか?
修正する (セルフサービス)試行中に、上記のように上記で作成されたこの最上位サブボリュームID = 5に関する追加情報を見つけようとします。そのため、実際のbtrfsルート(サブボリュームID = 0でなければなりません)にマウントし、次のように内容を表示しようとしました。
# mount a specific subvolume of a btrfs
$> mount -t btrfs -o subvolid=0 /dev/sda /mnt
# show the output of the "."-entry of the subvolume-root (show inodevalue)
$> ls /mnt -lai | head -n 2
total 112656
256 drwxr-xr-x 1 root root 432 May 25 09:08 .
再マウントを解除した後、同じ操作を実行しました(今回はサブボリュームID = 5を使用)。
# mount a specific subvolume of a btrfs
$> mount -t btrfs -o subvolid=5 /dev/sda /mnt
# show the output of the "."-entry of the subvolume-root (show inodevalue)
$> ls /mnt -lai | head -n 2
total 112656
256 drwxr-xr-x 1 root root 432 May 25 09:08 .
これにより、ルートサブボリュームとID = 5(サブボリュームID = 5と同じ)と同じ出力が生成されます。おそらく、これがコマンドで表示されない理由を説明していますかbtrfs subvolume list -a
?
とにかくルートボリュームにもサブボリュームが割り当てられているので(少なくともマウントと一緒に)、そこに何も表示されないことが奇妙に見えますbtrfs subvolume list -a
。
(更新は不正なbtrfsサブボリュームコマンドを貼り付けるバグを修正しました)
アップデート2
btrfs
btrfs-progs
参照されたWikiページ(質問の冒頭を参照)のマニュアルページは、ファイルシステムボリュームのルート、サブボリューム、サブボリューム... btrfsを作成する方法を説明するのに非常に正確ではありません。
メーリングリストのいくつかの説明によると、
[a]すべてのサブボリュームは、使用時にマウントされたボリュームからアクセスできます
-o subvolid=0.
(注0 はルートボリュームの実際の ID ではありません。、ただインストールショートカット.)[強調追加](ソースhttps://www.mail-archive.com/[Eメール保護]/msg17141.html)
これは最初の参照にもかかわらず、サブボリュームID 5がルート(少なくとも私の場合)であると信じていました。
とにかく、数年前にbtrfsメーリングリストにケースこのうち、btrfsサブボリュームのリストはすべての一般的なスナップショットを正しく報告するわけではないため、サブボリュームを表示しないすべての問題もバグであると考えられます。
もっと重要なことは、誰かがこの質問に答えながらこれについて明らかにできることを願っています。