リソース制御でサービスレベルを確保せよ:実践! Xenで実現するサーバ統合(5)(2/3 ページ)
仮想化ソフトウェアの「Xen」を用いてサーバ統合を実践していく手順を具体的に紹介します。最終回ではゲストOSに対する各種リソースの割り当て・制限方法を紹介します(編集部)
CPUのリソース制御(2)
■CPU利用率閾値
仮想CPUの利用率の上限値です。例えば大きなプログラムのソースコードをコンパイルすると、通常、CPU利用率は100%に近い値に張り付きます。その際、この閾値を50に設定しておくと、どれだけCPUリソースを要求しても50%までしかリソースが割り当てられないということになります。
コラム●steal値で把握できるCPUリソースの状況
この状態は、vmstatコマンドを使えば容易に確認できます。usr列、sys列の値が合計で50%までしか上昇せず、代わりにsteal列に残りの50%近い値が表示されると思います。
steal列には、ゲストOSがリソース要求を行ったにもかかわらずCPUリソースを割り当ててもらえなかった時間の割合が表示されます。steal列に0%以外の値が表示されている場合はCPU利用率閾値設定が行われているか、ほかのゲストOSあるいはホストOSが同時にCPUリソースを要求して「取り合い」の状態になっていることが考えられます。
特に閾値を設定していないにもかかわらずこのstealの値が高いようであれば、そのホストサーバは全体として過負荷になっているか、前述のCPUマッピング設定がアンバランスになっている可能性が高いと判断できます。
ただしこの設定値の範囲は、0?(100×仮想CPU数)となります。例えば仮想CPUを2個割り当てている際にCPU利用率を50%に制限したい場合は、100と設定する必要があります。0とした場合には上限なしと解釈されます。稼働中にも動的に変更可能です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
■CPUスケジュール優先度
全体としてCPUリソース利用状況が混雑してきたときにゲストOSがリソースを獲得できる優先度を設定します。
この値は、利用率閾値設定と違って、絶対的な上限値を定めるものではありません。あくまでもCPUリソース取得要求がほかのゲストOSとかち合った場合にどれだけ優先してこのゲストOSがリソースを割り当てられるかという設定値になります。設定値は1〜65535となっており、デフォルトは256です。稼働中にも動的に変更可能です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
メモリのリソース制御
■メモリ割り当て量/最大値
ゲストOSに割り当てるメモリ量とその最大値です。稼働中でも動的に変更可能です。
ただし、最大値の設定には注意が必要です。RHEL5の現在のXenでは、メモリの最大値を設定するxm mem-maxというコマンドオプションがあります。このコマンドは仕様上、もともと設定されていた最大値よりも低い値を設定するときに有効に作用する仕組みになっているはずですが、xm list --longという設定値を確認するコマンドの出力結果が期待値と異なっていたり、エラーを出すべき値を設定してもエラーとならなかったりと、混乱させる動作になっています。
ですので現在のところ、最大値については常に設定ファイルで指定するようにし、xm mem-maxコマンドオプションは使用しないことをお勧めします。さらに、ゲストOSにこの設定ファイルを読み込ませる際には、リブートではなくシャットダウンが必要になることにも注意が必要です。リブートしただけでは設定変更が反映されません。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.