背景
それ自体がSamsung840 Evo 120 GBSSD上にあるZFSファイルシステムにインストールされたUbuntu16.04.4 LTS(デスクトップからサーバーに変換)を使用しています。また、ZFSでもある2つのミラー(1 TBおよび2 TBミラー))である4つのHDDがあります。
私はこのシステムをストレージだけでなく仮想化にも使用しています。私はUbuntuでKVM仮想化を使用し、VMの1つに対してVM OSディスクイメージ(「/」にマウントされている)をSSDに保存します。 1TB HDDミラー上のストレージディスクイメージ(「/ home」にマウントされている)。
システムには16GBのECCRAMがあり、SSDには8GBのスワップボリューム(ZLE圧縮)があります。 VMは8192MBに設定されているため、ホスト上の他のサービスでは、ZFSARCに約7.8GBを提供します。
VM内の大量のデータをVMディスクイメージに書き込むと、ZFS ARCのサイズが大幅に大きくなることに気付きました。これは、データがヒットしているため、ARCの予想される動作ですが、 VM画像の保存と使用に関連して、ZFSの使用に関して、以下でよくわからない質問がいくつかあります。
ケース
次の点に注意してください:
質問
上記を考慮し、ケースを考慮して...
2番目は、ディスクイメージをキャッシュするARCのロジックと潜在的な利点を確認するのに苦労しているため、現時点で最も困惑しています。私は完全に要点を見逃している可能性があります(おそらく曇った心)が、ホストにディスクイメージをキャッシュすることはホストまたはVM自体)をどのように助けていますか?
3番は(避けたかった)意見のほうが多いかもしれないことは理解していますが、これを「正しい」方法で行っているかどうかはわかりません。おそらく、私の設定を考慮に入れて、VMを保存して使用するためのより良い方法があります。
前もって感謝します!
おそらく。 ZFSには、圧縮、重複排除、スナップショットとクローン、およびストレージフットプリントを削減したり、これらのファイルシステムを別のシステムに簡単に複製したりするために使用できるその他の多くの機能が組み込まれています。それは本当にあなたのユースケースに依存します。熱狂的ではありません;)、しかし、必要に応じてこれらの機能を使用する柔軟性を持っていることは、「はい」と言うのに十分ですか?
あなたが言ったことから、VMがたくさんあるかどうか、もしそうなら、それらが互いにブロックを共有しているかどうかはわかりません(スナップショット/クローンを介して、または重複排除を介して)。その場合、1つのデータをホットにすると、他のすべてのデータのパフォーマンスが向上するという点で、キャッシュが役立つ可能性があります。そうでない場合、ゲストOSには通常、読み取りまたは書き込みを行ったすべてのページキャッシュがあるため、メリットはおそらく最小限に抑えられます。ただし、このメモリは一度しかアクセスされないため(ARCのLRUリストに含まれるため)、ホストOSからのプレッシャーがあればすぐに削除されるため、無駄なスペースについて心配する必要はありません。
完全にあなたのユースケースに依存します。あなたが説明した単純なケースでは、それは問題ないように見えますが、それでも、ほとんど何でもかまいません。大規模なVMファーム用のストレージアプライアンスを構築しようとした場合:
zfs send
とzfs receive
を使用してデータを複製できるスタンバイ上の別のストレージホストが必要になる可能性があります。次に、VMホストを新しい場所をポイントします(またはフェイルオーバーする他の方法。これは1つのオプションにすぎません)十分に深刻な場合は、デプロイメントをかなり恣意的に複雑にすることができます。しかし、現在のシステムの動作に不満がない場合、システムを現状のまま維持することの害は何ですか?