私は長年VMWareを使用しており、問題がほとんどない状態で数十の運用サーバーを実行しています。しかし、1つの物理ホストで20を超えるVMをホストすることはありませんでした。ここにアイデアがあります:
誰かがこのようなスケーラビリティをVMWareで実現できるかどうか知りたいですか?私はいくつかのテストを行い、奇妙な問題にぶつかりました。 VM 20個のVMを起動すると、パフォーマンスが劇的に低下し始めます。同時に、ホストサーバーはリソースのボトルネックを示しません(ディスクは99%アイドル、CPU使用率は15%未満)十分な空きRAMがあります)。
VMWareまたはその他の仮想化テクノロジーのスケーリングに関する成功事例を共有していただければ幸いです。
はい、できます。一部のWindows 2003ワークロードでも384MiBで十分なので、512MiBはかなり高い見積もりですが、かなり良い見積もりです。 RAMは問題ではなく、CPUも問題ではありません。
100 VMは少し急ですが、特にVMが非常にビジーでない場合は、実行可能です。 1台のESXサーバーで60台のサーバー(Windows 2003およびRHEL)を簡単に実行できます。
VMware ESXについて話していると仮定すると、メモリがオーバーコミットできることも知っておく必要があります。 VMは指定された完全なメモリ比率を使用することはほとんどないため、ESXは利用可能な量より多くのRAMをVMにコミットし、実際に「公式に」持っているよりも多くのVMを実行できます)RAMのため。
ほとんどの場合、ボトルネックはCPUまたはRAMではなく、IOです。 VMwareのマーケティングは膨大なIOPSを誇っていますが、Pushが発生すると、SCSI予約の競合と限られた帯域幅により、IOPS VMwareに近づく前に完全に停止します。
とにかく、20 VM=パフォーマンスの低下は発生していません。どのバージョンのESXを使用していますか?
このような大規模環境での大きな問題の1つは、災害防止とデータ保護です。サーバーが停止すると、100台のVMが停止します。
VMのある種のフェイルオーバーを計画し、障害が発生した場合にVMを保護する何らかの「追加のVM」管理を計画する必要があります。もちろん、この種の冗長性はコストの増加を意味します-そのため、実際に(その不在によって)利点が見られるまで、そのような支出が何度も承認されません。
また、VMホストは、いくつかの単一障害点の1つにすぎないことも覚えておいてください。
これはほんの数例です。大規模なVMインフラストラクチャでは、データ損失の防止とVM損失の防止に注意が必要です。
本番環境での実行可能性についての声明はありませんが、非常に興味深いNetAppデモがあり、ほとんど使用せずに約30分間で5440 XP 32台のESXホスト上のデスクトップ(つまり、ホストあたり170台))をプロビジョニングしています共通の重複排除によるディスク容量VMイメージ
http://www.youtube.com/watch?v=ekoiJX8ye38
私の推測では、制限はディスクサブシステムに起因しています。それに応じて、メモリとCPUの使用量を考慮しているようです。
決してやったことはありませんが、サーバーハードウェアよりも多くのVMをサポートするのに十分なIOPを取得するために、ストレージよりもはるかに多くの時間を費やすことをお約束します。これらすべてが同時にアクティブな場合は、多くのIOPが必要になります。否定的に聞こえるわけではありませんが、1つのバスケットにたくさんの卵を入れることも検討していますか(単一サーバーソリューションのように聞こえますか?)
単一のホストで100個のVMを使用する場合のCPUの競合について最も心配します。プロセッサーは仮想化されていないため、各マシンはCPUへのアクセスを待機する必要があることを覚えておく必要があります。 ESXTOPを見ると、競合を確認できます。%RDYフィールドの5を超えるとVMWareエンジニアから非常に悪いと言われました。
私の経験では、1台のホスト上で約30〜40台のサーバーが実行されていることを確認しました(あまり実行していません)。
VMWare Server 1.0.6(Windows 2003の場合)に10個のホストがあり、定期的にIO問題が発生します(夜間のビルドが他のものと重複する場合) WindowsからESXi U3にアップグレードした後、パフォーマンスの問題が解消されたことがわかりました(毎晩のビルドは失敗しなくなりました)。
また、SSDはメディアの回転よりもはるかに高いIOレートですが、特定のタイプの書き込みパターン(大量の小さな書き込みがドライブに分散書き込みで適切に機能するスマートな書き込みバッファリングキャッシュがない限り、ドライブはパフォーマンスを強制終了します。
問題が発生した場合は、別のドライブにSWAPファイルがあることを調査/テストすることをお勧めします。
その場合は、新しいIntel 'Nehalem' Xeon 55xxシリーズプロセッサを使用することを強くお勧めします。これらのプロセッサはVMを実行するように設計されており、追加のメモリ帯域幅も非常に役立ちます。ああ、あなたがいくつかの大きなものよりも多くの小さなディスクを使用できる場合-それは大いに役立ちます。 3.5U4以上のESX v4も使用できる場合。
16GのRAMを搭載したマシンで、512MのRAMを搭載したXP VMが20個あります。これより少なく、ディスクにスワップするため、ボトルネックが発生します。ただし、これらは常にアクティブXP VMです。
VMwareとそのOverCommit機能により、各XPマシンにより多くのRAMをプッシュできるようになります。同様のマシンは同じページを共有するため、ディスクの書き込みを減らすことができます。これは、XP VMが10〜20メガの連続ディスクトラフィックを実行しているため、マシンを追加するためのセットアップについて調査したいものです。
VMWareサーバーで100人のゲストを満足させることはできませんでしたが、ESXiの方がはるかに優れていることがわかりました。したがって、ESXiと適切なサーバー(I/Oを分散するいくつかのディスクミラー、2つのI7チップ、64 GBのRAM)を使用している場合、100 XP vmsは問題ではないようです。 )エンドユーザーの目に見える遅延はなく、ホストリソースは最大になりません(最もホットなものはCPUですが、通常は少なくとも70%アイドルです)。
PS。この質問は、VMWareサーバーで苦労していたときに私が投稿したものです。
前回チェックしたとき、VMwareは、VMごとに1つのvCPUを想定して、ESXのプロセッシングコアごとに4 VM以下にすることを推奨しています。
これは、管理オーバーヘッドが要因になることを示唆しています。
8コアのボックスで実際に4倍の係数を達成できるかどうかに興味があります。