私はDBAであり、主にSQLサーバーといくつかのアプリケーションサーバーをホストするvmware ESX 3.5クラスターを管理しています。リソースグループの設定方法について質問がありますただし、ESXの1つと競合していますリソースの管理方法に関するシステム管理者。
クラスター(3ノード、ノードあたり32GB)は現在、77GBのRAMを消費するように構成された33のゲストをホストしていますが、ESXは44GBのみがアクティブであると報告しています。クラスターは、ライブサーバー、テストサーバー、開発サーバー、およびその他のいくつかのゲストをホストします。
私がやりたいのは、サーバーリソースの管理を簡素化し、関連するサーバーのパフォーマンスを管理およびレポートできるようにすることです。
たとえば、Live SQLサーバー、SharePointサーバー、CRMサーバーなどで消費されるリソース(RAM、ディスク、CPU)。
次に行ったことは、4つの「トップレベル」リソースグループを作成することです。
1-High - For the most mission critical services (ie. the live SQL server)
32768 memory shares
2-Normal - For the majority of the remaining live systems (CRM, Sharepoint etc)
16384 memory shares
3-Dev - Test and development systems
8192 memory shares
4-Low - Non supported servers (no sla, temporary build servers etc)
1024 memory shares
サーバーを独自の「アプリケーション」リソースグループ(SQL Live、SQL Test、CRM Live、CRM Testなど)にグループ化しましたが、これらのグループに明示的なリソース制限を設定していません。
次に、「アプリケーション」グループを適切な「トップレベル」リソースグループに配置します。
たとえば、各サブグループには4つのゲストがあり、それぞれに1つのCPUと1GBのRAMがあります
1-High 32768 shares
SQL Live 4 guests
2-Normal 16384 shares
CRM Live 4 guests
Sharepoint Live 4 guests
3-Dev 16384 shares
CRM Test 4 guests
SQL Test 4 guests
Sharepoint test 4 guests
4-Low
Remaining cruft 4 guests
Sysadminの担当者は、「Sharepointは必要なリソースの50%のうち28%しか取得できない」と言っています。
彼に返信する前に、アドバイスと私の仮定の確認を得ることができますか?
あなたの考えや経験は何ですか?
私がこれを正しく読んでいれば、あなたはあなたの環境の通常の操作について正しいですが、競合が発生したときにそれがどのように機能するかについてあなたのどちらかが正しいかどうかはわかりません。
競合がない場合(リソース使用率が80%BTWを超えると競合が開始されます)、共有は効果がありません。ご使用の環境での通常の操作に関する限り、リソースグループは表面的なものになります。
競合がある場合、システム管理者が示しているようにCPUリソースが制限されますが、ホストを失った場合は必ずしもそうなるとは限りません。
子リソースプールの共有を変更したかどうかはわかりません。これらはすべて正常に設定されていると仮定します。
共有の仕組みに競合があると仮定すると、各リソースプールは、そのレベルの共有の合計量の割合に等しいリソースの割合を取得します。最初のレベルでは、最大58kのシェアがあるため、高プールは約56%、通常は28%、開発は14%、低は1.7%になります。同じルールが適用されてもプールの合計は影響を受けない場合、そのレベルで追加の共有を明示的に設定しない限り、各プール内でサブプールはそのプールのリソースを均等に共有します。
したがって、競合が発生した場合、Live Sharepointシステムは競合するリソースの28%の50%、つまり14%を取得します。
CPUの絶対最小値とRAM共有によって割り当てられます。これらの主な欠点は、値が高すぎると、リソースが保証されないため、クラスターがVMの再起動を試みることさえできない可能性があることです。
また、Windowsシステムでの通常の操作ではシステムが最大44GBしか消費しない場合でも、VMが起動すると、メモリの100%が(簡単に)割り当てられます。これにより、メモリの競合シナリオがトリガーされる可能性があります。フェイルオーバー中は、実行後のシステムに実際には十分なRAMがあります。心配しすぎる以上に注意を払う必要がありますが、HAの再起動時に問題が発生する可能性があります。
追加するために編集
個々のVMまたは子リソースグループのデフォルトの共有設定に変更を加えていない場合、すべてのVMをある構造内のレベルを上に移動しても、個々のVMに割り当てられるリソースの割合は変わりません。子RGは1つだけで、親に直接配置します。ただし、複数の子RGがあり、それぞれに異なる数のVMがある場合、これは当てはまりません。
あなたの例では、子RGに4つのSharepoint VMがあり、子グループに2つのCRMVMがあるとします。 Sharepoint VMはそれぞれ約3.5%(28%/ 4の50%)を取得し、CRM VMはそれぞれ7%(28%/ 2の50%)を取得します。これらすべてを親RGに移動し、空の子RGを削除すると、6つのVMが通常のRGで使用可能なリソースの28%を共有し、それぞれが最大4.7%(28%/ 6)になります。
もちろん、子リソースグループまたは個々のVMの共有を変更すると、これはすべて変更されます。
リソース定義は、オーバーコミットされたクラスターでのみ有効になります。