btrfsファイルシステムのルート/サブボリュームは何ですか?

btrfsファイルシステムのルート/サブボリュームは何ですか?

Btrfsファイルシステムではsubvolume、、、、root-volumeというsnapshot用語を使用しますがtop-leveldefault subvolumeこれは少し混乱します。

例は次のとおりです。サブボリュームのbtrfs Wikiページどの状態

新しく作成されたファイルシステムも最上位レベルと呼ばれるサブボリュームであり、内部IDは5です。このサブボリュームは削除したり、他のサブボリュームと交換したりすることはできません。

btrfs-progsしかし、コマンドなどのツールを使用すると、

  • btrfs サブボリュームのリスト
  • btrfs サブボリュームの表示

示されているように、サブボリュームという用語は実際にはルートボリュームには適用されません(参照:これは別の質問です)。また、この用語top-level(上記のコマンドの出力に示されている)は、実際には5つのサブボリュームIDを持つサブボリューム/ルートボリュームに限定されません。最後に、ルートボリュームは使用できず、サブボリュームのみが使用できるようですbtrfs send(上記の定義とは対照的に)。

助けが必要ですか?

答え1

これを説明する最も簡単な方法はZFSに例えることです。 BTRFSのサブボリュームは、基本的にファイルシステム自体のどこかにルートされている点を除いて、機能的にZFSのzvolと同じです。

より一般的には、サブボリュームは、ツリーの残りの部分とほとんど独立したファイルシステム内部データ構造のセットで構成されています。この定義とコード自体の内部構造によると、トップレベルまたはルートサブボリューム(サブボリューム5)は技術的にはサブボリュームですが、サブボリュームに関する情報を表示するコマンドでは特別に扱われます。通常のサブボリュームとして実行できます(たとえば、ルートサブボリュームのスナップショットを削除することはできません)。ユーザーの観点から注目すべき点は、ルートサブボリュームがマウント時にデフォルトのサブ-o subvolid=5ボリューム設定をバイパスするサブボリュームであることです。

関連情報