btrfsサブボリュームのポイントは何ですか?

btrfsサブボリュームのポイントは何ですか?

Btrfs Wikiのシステム管理者ガイド(ここ)説明する:

BtrfsサブボリュームはPOSIXファイルの名前空間と考えることができます。

最初にサブボリュームと言ったことを覚えています。はい、できるよりそう思う、「POSIXファイルの名前空間」。 Google検索は"POSIX file namespace"Btrfsでのみ表示されるため、このフレーズは役に立ちません。

Btrfsのサブボリュームは正確に何ですか?ファイルシステムのルートにあるディレクトリでサブボリュームにアクセスできる場合、サブボリュームをマウントすることは、他のファイルシステムのディレクトリを別の場所にバインドマウントすることと同じです(ファイルのルートを途中でマウントする必要はありません)。システム)。違いは何ですか?これが私が意味するものです:

# standard bind mount
mkdir /mnt/data
mkdir /mnt/docs
mount /dev/sda2 /mnt/data
mount --bind /mnt/data/docs /mnt/docs
umount /mnt/data
rmdir /mnt/data

# hypothetical method of directly mounting
# a file/directory on a filesystem
# to some path that achieves the same
# as the above
mkdir /mnt/docs
mount -o path_on_fs=/docs /dev/sda2 /mnt/docs

# if /docs on sda2 was a subvolume
mkdir /mnt/docs
mount -o subvol=/mnt /dev/sda2 /mnt/docs

サブボリューム機能の目的は何ですか?例:/var/lib/machines.raw仮想マシンおよび/またはコンテナで使用systemd-machinedおよび保存されるBtrfsファイルシステムイメージ。machinectlおそらくBtrfsはサブボリュームに使用されます。 Zi Juanはこのために何をしましたか?

サブボリュームがコンテナに役立つ場合は、他のサブボリュームで実行されているプロセスの分離機能が組み込まれていますか?

答え1

私は専門家ではありません - それではありません! - しかし、最近Btrfsについてたくさん読んで、6ヶ月間あなたの質問に答えがなかったので、一度試してみるべきだと思いました。

以下は2つの可能なユースケースです。こんなことがよくあることなのかはよく分かりません。尊敬されるサブボリュームがある理由(専門家ではなく私が言ったように)。しかし、自分で判断するのに役立つように、私が議論した場所へのリンクを含めます。

スタンドアロンスナップショット

Btrfsスナップショットはサブボリューム全体のコピーです。これは、スナップショットベースの回復またはバックアップ戦略に役立ちます。たとえば、/分離は/home、ユーザーデータに影響を与えずにシステムアップデートをロールバックできることを意味します。逆に、システムファイルを保存せずにユーザーデータをバックアップできます。

サブボリュームを使用して目的のディレクトリを除外することもできます。いいえバックアップしたい。たとえば、と/home/home/bob/Downloads異なるサブボリュームの場合、bobのスナップショットは/homebobのダウンロードを除外します。

議論する:

さまざまなインストールオプション

各サブボリュームは個別にマウントされるため、さまざまな方法でマウントできます。インストールオプションお互いから。

または少なくともそれは理論です。実際にはそうだ現在、サブボリュームごとの特定のマウントオプションのみがサポートされています。

これがどのようなシナリオを可能にするかわかりません(もう一度言いますが:専門家ではない)、しかし、私が書いたことの1つは、1つのサブボリュームが速度に最適化され、もう1つはスペースに最適化されるように圧縮を設定することです。compressもちろん、各サブボリュームは一度だけサポートされます。

議論する:

関連情報