btrfs サブボリュームをファイル システムとして使用して KVM ゲストを実行できますか?

btrfs サブボリュームをファイル システムとして使用して KVM ゲストを実行できますか?

仮想化された Debian の安定版 KVM ゲストを Debian の安定版ホストで実行したいと考えています (Skype、Flash、Eclipse などの信頼できないものをサードパーティのプラグインで実行するためです)。当然、ホストとゲストには多くのファイルが共通するため、btrfs の重複排除を利用できると便利です。

今、「ダイレクト カーネル ブート」を見つけましたが、それに関するドキュメントは見つかりませんでした。ホスト ファイル システムの btrfs サブボリュームをゲストに渡し、ゲストがこのサブボリュームを独自のファイル システムとして使用できるようになりますか?

答え1

@ignis は正しいです。いいえ、ホストの btrfs スナップショット サブボリュームをゲストで使用することはできません。btrfs は、ファイルシステムとブロック レイヤーを結合します。サブボリュームはブロック デバイスではなく、ファイルシステムです。

LVM の世界では、ブロック デバイスのスナップショットを作成しますが、これらのスナップもブロック デバイスです。このようなスナップは、ゲストのルート デバイスとして使用できます (スナップがホストにマウントされていない限り)。

ホストにスナップ サブボリュームをマウントし、NFS 経由でエクスポートして、NFS ルートでゲストを起動することもできますが、これは面倒です。

使用シナリオに基づいて、Linux コンテナー (LXC) (および Docker) を検討することをお勧めします。LXC は、必要な分離と同一ファイルの再利用を提供します。

答え2

まあ、走れると思うよセフホスト上で、クライアントがそれを介してマウントするようにします。ceph はホスト上のファイルシステムに btrfs を使用するため、動作させることができます。

しかし、OS やプログラムによって使用されるメモリの量が 1 GB なのか 5 GB なのか、本当に気にしますか?

はい、Ceph はクラスター ファイル システムですが、1 つのホスト上で実行できます。

関連情報