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のスナップショットは/home
bobのダウンロードを除外します。
議論する:
- Ubuntuに尋ねる:Btrfsサブボリュームとフォルダ?
- btrfs Wiki:増分バックアップ
- オープンSUSEウィキ:BTRFSプライマリサブボリュームの場所とその理由を一覧表示します(ほとんどの場合、「ロールバック時にデータが失われないように」)。
- r/fedora: Timeshift および BTRFS スナップショット
- r/btrfs: いつサブボリュームを使用しますか?「Steamゲームは、私の娘がゲーム用にダウンロードした10,000のモードとすべてのアップデートを含むスナップショットを望まないので、サブボリュームを取得します」と答えました。
さまざまなインストールオプション
各サブボリュームは個別にマウントされるため、さまざまな方法でマウントできます。インストールオプションお互いから。
または少なくともそれは理論です。実際にはそうだ現在、サブボリュームごとの特定のマウントオプションのみがサポートされています。。
これがどのようなシナリオを可能にするかわかりません(もう一度言いますが:専門家ではない)、しかし、私が書いたことの1つは、1つのサブボリュームが速度に最適化され、もう1つはスペースに最適化されるように圧縮を設定することです。compress
もちろん、各サブボリュームは一度だけサポートされます。
議論する: