プライベートクラウドのセットアップを作成するために、少し奇妙な方法でサーバーを構成しようとしています。
ストレージディスクが接続されているHBAを取得し、それをVM(おそらくxen)に渡して、vSANタイプのセットアップを作成できるようにする必要があります。これを実行したいので、次のことができます。単一のサーバー内にSANタイプのセットアップを実装します。
私が周りに尋ねていたとき、人々は私にIOPSはベアメタルほど良くないと言っていました。私はそれをセットアップに少し考慮しましたが、それがシステムにどれほどの損害を与えるのだろうかと思いました。
また、VMはベアメタルで実行されていますが、ストレージコントローラーが渡されると、VMはホストに依存しているため、奇妙な依存関係ループが作成されます。トラブルシューティングが面倒なこと以外に、パフォーマンスの大幅な低下を実際に引き起こしますか?
ちなみに、ここで主に問題となっているファイルシステムはZFSです。おそらくFreeBSD(FreeNASやNexantaStorなどを含む)またはOpenIndianaで実行されています。
ありがとう!
しかし、本当の答えです。
はい、VT-dパススルーでストレージを実行すると、遅延やパフォーマンスの低下が発生する可能性があります。
しかし、実際的な側面について考えてください。そもそも、システムがIOPSにバインドされることはありません。このストレージにはいくつかのレベルの抽象化があり、VMを使用しているという事実は、ベアメタルと比較してトレードオフに問題がないことを示しています。
あなたが持つべき本当の懸念は、ソリューションがまったく機能するかどうかです! VT-dは気質があり、すべてのアダプターで機能するとは限りません。
だからあなたのワークロードであなた自身をテストしてください!
私はお勧めしません このタイプのパススルー もうセットアップします。特に信頼性とパフォーマンスに関しては、ほとんどの点で負けです。
それは確かに実行できますが、最も安全な解決策(特に、ESXiのようなハイパーバイザーを使用する場合)は、サポートされているRAIDコントローラーとローカルストレージを使用することです。 ZFSストレージが必要な場合は、スタンドアロンのZFSストレージシステムを構築します。
免責事項:私はXenの経験がないので、ESXiに関して書きますが、概念は似ています。
最初の質問について"ベアメタルとパススルーを使用したVMのパフォーマンスの違いをテストする方法は?":
設定は次のようになります。
まず、ハイパーバイザーをUSBスティックにインストールして構成します。 SSDを2つのスライスに分割します。最初のスライスで通常行うように、ベアメタルOSを再起動してインストールします。 HBAを他のディスクと一緒に使用し、パフォーマンステスト用に1つ以上のプールを構成します。それらのテストを行い、結果を書き留めます。少なくとも、コマンドラインからのローカルパフォーマンスと、必要なプロトコル(iSCSI、NFS、SMB)を使用したネットワークパフォーマンスをテストする必要があります。可能であれば、SSDもテストします(厳密には必要ありません)。終了したら、プールをエクスポートします。
次に、再起動し(リモートコンソールがあると想定しているので、これをリモートで実行できます)、ローカルSSDではなくUSBスティックから起動します。次に、SSDの2番目のスライスを使用して、スライス2全体にまたがる仮想ファイルシステムを作成します。このVFSに、以前と同じISOから、ただし仮想マシンとしてシステムをインストールします。ハイパーバイザーでパススルーをセットアップし、1つの物理NICとHBAをこの新しいVMに割り当てます。また、少なくとも1つの仮想NICをこのVMに割り当てます(異なるタイプをテストする場合は、それ以上)。できるだけ多くのRAMをVMに割り当てて、条件を類似させます。
次に、VMを起動し、構成して、VMから(VNCまたはSSH経由で)プールを再度インポートします。これで、物理アダプターと仮想アダプターの両方に対して以前と同じテスト(ローカルおよびリモート)を実行し、違いを確認できます。さらに、2つ目のVMを作成できますが、プールから提供される共有NFSまたはiSCSIボリュームに配置されます。このVMでのテストは、VMホストとしてのその後のユースケースについて多くのことを教えてくれます。
パフォーマンスメトリックを超えたいくつかの考え。私はいくつかの理由でこのセットアップが好きです:
もちろん、欠点もあります。 ewwhiteは1つ言及しました、ハードウェアは一致する必要があります。さらに: