KVM共有フォルダに対するファイルシステムのアクセス許可の戦略


2

私は(NFS経由で)ZFSデータセット(別名ファイルシステム)にアクセスできるUbuntu / KVMハイパーバイザー環境を持っています。私は、VMイメージをZFSファイルシステム上でホストしてきました。これは、世界で最も速いものではありませんが、非常に安定したものにしています。

KVM共有機能を使用してVMにZFSデータセットへのアクセスを許可し、それをゲスト内にマウントすることで、ゲストVMにZFSファイルシステムへの直接アクセスを許可します。これには2つの理由があります。

  1. 私が今持っているものであるZFS上のext4の代わりにただ一つのファイルシステム構造 - ZFS - が維持されるので、私は速度の改善を望んでいます。

  2. ユーザーにZFSのスナップショット機能にアクセスできるようにしたいです。

私は説明したようにボリュームをマウントすることに成功しましたが、ボリュームが書き込み可能になるようにマウントすることはできませんでした。 Webを検索すると、実効ユーザー名がlibvirt +であることがわかりましたが、見つけることができませんでした。 chmod 動作するターゲットファイルシステムに設定します。

誰かがこれを処理する方法についてのガイドを私に向けることができますか?

回答:


2

あなたの質問の戦術的な部分に答えるために、ゲスト/ホスト共有をするためにNFSを使っているように思えます。それからそれはただNFSパーミッションの問題に帰着します。ホスト上で、次のように共有されていることを確認してください。 zfs set sharenfs="rw=@w.x.y.z/N" tank どこで w.x.y.z/N この共有へのアクセスを許可するIPアドレスのセットです。より完全な例については、 ここに

しかしまた、あなたの目標について:

  1. ホストがVMディスクファイルをZFSに格納し、ゲストがその上でext4を使用する場合、ZFSがパフォーマンスの面で「ファイルシステムのオーバーヘッド」を追加することはほとんどありません。結局、KVMがこのモードで新しいファイルを作成することはめったにないでしょうから、ZFSでメタデータを頻繁に更新する必要はありません。私が思うに、VM内でパフォーマンスに非常に敏感なワークロード(ハイスループットデータベースなど)を実行していなければ、それほど大きな違いはありません。

  2. ZFSのスナップショット機能をゲストのユーザーに公開する方法はわかりません。これはSolaris上のゾーン、FreeBSD上の刑務所、そしてLinux上のDocker / lxd / lxc(私はこれについては確信が持てません)でできますが、KVM + QEMUでは絶対にできません。 KVMでこれを実行する唯一の方法は、ユーザーに次のものにアクセスできるようにすることだと思います。 zfs snapshot ホスト自体で(直接SSHアクセスを使用するか、サービスなどを介して)。

データファイルをホスト上に保持するのが理にかなっている理由は他にもあります(統合、さらにZFSの通常の利点:バックアップ、データの完全性、配置制限、予約など)。新しい設定で簡単にできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.