第14回:メール・プロトコル環境における仮想CPU(リソース管理編) (2/3)

VMware ESX Server サーバ統合ガイド
VMware ESX Server サーバ統合ガイド

第14回:メール・プロトコル環境における仮想CPU(リソース管理編)

著者:デル   2006/9/15
前のページ  1  2  3  次のページ
シェアの割り当てによるCPU リソースの制御

   CPUリソースを割り当てたり、リソース量を制限したりする方法の1つに、「シェアの割り当て」があります。VMに与えたシェア数の比率に応じてプロセッサ・スケジュールを組むことで、CPUリソースの割り当て量を制御します。

   この方法では、各VMに特定のシェア数を与えます。VMが実際に獲得するCPU時間は、利用できる全シェア数のうち、与えられたシェアの割合と、現在のESX ServerホストにおけるCPUリソースの利用状況によって決まります。

   シェアとは、本質的にサービスの保証になります。2つのVMを稼動させ、一方のVMに2倍のCPUシェアを与えれば、そのVMに2倍のCPUサイクルが割り当てられますが、両方のVMともアクティブにすることができます。

   デフォルトでは、いずれのシングル・プロセッサVMにも1,000シェアが割り当てられ、リソースへのアクセス能力に差はありません。

   例えば、テスト中、VM IDが151であるVM0のステータスは、次のようになりました。
%less -S /proc/vmware/vm/151/cpu/status
vcpu vm type name uptime status costatus usedsec syssec wait
151 151 V vmm0:Exchang 1364647.127 WAITB NONE 74991.611 419.716 IDLE
waitsec idlesec readysec cpu affinity htsharing min max shares
1275933.220 1270388.050 3928.922 2 0,1,2,3 any 0 100 1000

VCPU
仮想CPUのID(識別子)
VM
仮想マシンのID
Type
VCPUの種類:「V」は、仮想マシンを示す
Name
VMに付けられた表示名
Uptime
VMをパワーオンしてからの経過時間
Status
現在のVCPUの実行状況: 実行(RUN)、実行可能(READY)、イベント待機(WAITまたはWAITB)、終了(ZOMBIE)
Cosststus
現在のSMP VMに対する協調スケジュールの状態: ユニプロセッサVMの場合「NONE」
usedsec
vcpuが使用したプロセッサ時間の累計
syssec
vcpuが使用したシステム時間の累計
wait
現在vcpuが待機しているイベントの種類
waitsec
vcpuの待機時間の累計
cpu
現在のvcpuプロセッサの割り当て
htsharing
ハイパースレッディングのシェア設定
Min
VM用に最小限確保されるプロセッサの割合(%)
Min
VM用に確保されるプロセッサの上限(%)
Shares
VMに割り当てられたCPUシェア数

表1:この出力結果の説明

   VM0には、前述のとおりデフォルトの1,000シェアが割り当てられており、このVMのステータスは、イベント待ちとなっています。VMに割り当てたCPUシェア数を変えるとどのような影響が出るのか調べるため、次のコマンドを実行し、シェア数を2,000に増やしました。

# proc 2000 > /proc/vmware/vm/151/cpu/shares

   次に、第13回で説明したシナリオ2と同じテストを実行しました。シナリオ2では、VM0の方がVM1より頻繁にCPUリソースにアクセスしていましたが、このテストでは、VM1の方が高いVCPU 利用率を示しました。VM1のVCPU利用率の方が高くなった理由は、VM0の利用できるリソース量が与えられたプロセッサ・シェア数に応じて増え、余裕ができたからです。

VMに割り当てたCPUシェア数とCPU利用率の関係
図1:VMに割り当てたCPUシェア数とCPU利用率の関係

   図1のグラフを見ると、VM0とVM1は同じ処理量を実行しているにも関わらず、VM0のVCPU利用率はVM1より低いことがわかります。このようにシェアを動的に割り当てられる能力は、1台のESX Serverホスト上で優先度の高いVMと低いVMを混在させるときに便利です。今回のテストで実証されたように、優先度の高いVMのシェア数を増やすか、優先度の低いVMのシェア数を減らすことで、リソース要件を満たすことができます。


CPUリソースの最小値と最大値の指定

   ESX ServerのCPUリソースを制御するその他の手段として、スレッショルド(しきい値)を設定する方法があります。「Min」(最小値)パラメータを使ってVMにプロセッサの割合(%)を設定すると、そのVMに最低限必要なCPUリソース量を確保することができます。たとえ、システムの合計シェア数が変わっても、設定した%値は維持されます。

   システムのCPU時間に空きがなく、VMに設定されたMin条件を満たすことができない場合、そのVMはパワーオンすることができません。この機能を活用すれば、異種ワークロードが同時発生する環境でVM内のアプリケーションを運用する場合、必要な応答速度やスループット性能を確実に達成することができます。

   運用規定としてSLA(サービスレベル合意)やQOS(クォリティオブサービス=サービスの質)を設けている組織では、VMに十分なCPUリソースを提供するよう、ESX Serverを構成することができます。Min設定と対照的なのが、Max(最大値)設定です。

   これは、たとえシステムのプロセッサ時間に余裕があっても、VMに与えるプロセッサの割合(%)が最大値を超えないように制御する機能です。このようにESX Serverでは、必要に応じてVMが利用するCPUリソース量の上限を定めることができます。

   以上のオプション設定や概念を実際に利用したのが、以降に示すテストです。VMにMin値やMax値を設定して、動作検証を行っています。

前のページ  1  2  3  次のページ

デル株式会社
著者プロフィール
著者:デル株式会社
デルはスケーラブル・エンタープライズ戦略の重要な要素の1つとして、VMware社の仮想化技術を用いたサーバ統合ソリューションを提供しています。業界標準技術を採用した、デルのPowerEdgeサーバとDell | EMCストレージから構成されるハードウェアプラットフォームと、仮想化ソフトウェア「VMware ESX Server」、仮想マシン管理ツール「VirtualCenter」、仮想マシンの無停止マイグレーション技術「VMotion」を組み合わせることにより、柔軟でコストパフォーマンスに優れるサーバインフラストラクチャが構築可能です。

http://www.dell.com/jp/


INDEX
第14回:メール・プロトコル環境における仮想CPU(リソース管理編)
  ESX Serverにおける仮想CPU のリソース管理
シェアの割り当てによるCPU リソースの制御
  シナリオ3
VMware ESX Server サーバ統合ガイド
第1回 VMware関連基礎用語
第2回 仮想化環境の設計と物理サーバから仮想マシンへの移行方法
第3回 サーバの構成
第4回 インストール時の注意点とチューニングポイント
第5回 SANブート
第6回 ブレード・サーバへの導入
第7回 Dell PowerEdge 1855ブレードサーバのVMware VMotion性能
第8回 ブレードサーバで構築するVMware ESX ServerのVLANネットワーク
第9回 VMware ESX Serverの性能〜ベンチマークテスト
第10回 ブレードサーバのLAMP性能特性とサイジング(前編)
第11回 ブレードサーバのLAMP性能特性とサイジング(後編)
第12回 メール・プロトコル環境における仮想CPU(導入編)
第13回 メール・プロトコル環境における仮想CPU(仮想化CPU機能編)
第14回 メール・プロトコル環境における仮想CPU(リソース管理編)
第15回 デュアルコア・サーバによるVMware ESX Serverの性能向上

人気記事トップ10

人気記事ランキングをもっと見る