6.2.2 仮想化ソフトウェアの負荷の偏りをなくし,負荷を平準化する

jirmreportコマンドを利用して,リソース量の実績値を求めます。実績値を基に,負荷が高い仮想化ソフトウェアを特定し,負荷が低い仮想化ソフトウェアに仮想ホストをマイグレーションすることで,仮想化ソフトウェアの負荷を平準化します。

負荷の平準化には,次の利点があります。

<この項の構成>
(1) リソース使用量(時間推移)レポートを出力する
(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)
(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)
(4) 仮想化ソフトウェア上の仮想ホストの性能情報を算出し,マイグレーションの対象となる仮想ホストを決定する
(5) 仮想ホストのマイグレーション可否を確認する
(6) 仮想ホストをマイグレーションする

(1) リソース使用量(時間推移)レポートを出力する

ここでは,すべてのリソースグループに属するITリソースの実績値を把握するためにリソース使用量(時間推移)レポートを出力します。

  1. jirmreportコマンドでリソース使用量(時間推移)レポートを出力する。
    <実行例>

    jirmreport -perfh -all rg -f 出力先ファイル名

    <出力例>
    DEVICETYPE,DETAILTYPE,RESOURCENAME,HVRESOURCENAME,METRIC,...,WARNINGTHRESHOLD,...,PERFVALUE,2011/01/01 01:30,...,2011/01/01 07:30,...
    HV,VMware,HV1,HV1,CPU使用量(GHz),...,8.00, ,...,7.12,...,9.50,...
    HV,VMware,HV2,HV2,CPU使用量(GHz),...,9.60, ,...,6.88,...,7.50,...
    HV,HVM,HV3,HV3,CPU使用量(GHz),...,6.40, ,...,3.55,...,4.76,...
    HV,Hyper-V,HV4,HV4,CPU使用量(GHz),...,12.00, ,...,7.83,...,6.52,...
    HV,VMware,HV5,HV5,CPU使用量(GHz),...,8.00, ,...,1.25,...,1.04,...
    HV,Hyper-V,HV6,HV6,CPU使用量(GHz),...,6.40, ,...,3.29,...,3.38,...
    VM,VMware,VM1,HV1,CPU使用量(GHz),..., ,..., ,2.80,...,1.20,...
    VM,VMware,VM2,HV1,CPU使用量(GHz),..., ,..., ,1.50,...,2.10,...
    VM,VMware,VM3,HV1,CPU使用量(GHz),..., ,..., ,2.80,...,1.50,...
    VM,VMware,VM4,HV2,CPU使用量(GHz),..., ,..., ,1.10,...,1.90,...

    以降では,次のデータを使用します。
    • DEVICETYPE(デバイス種別)
    • DETAILTYPE(詳細種別)
    • RESOURCENAME(リソース名)
    • HVRESOURCENAME(仮想化ソフトウェアのリソース名)
    • METRIC(測定項目)
    • WARNINGTHRESHOLD(しきい値(警告))
    • PERFVALUEよりあとの値(データ取得日時の性能値)

(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)

ここでは,リソース使用量(時間推移)レポートの出力結果から,負荷が高い仮想化ソフトウェアを特定します。

  1. DEVICETYPE(デバイス種別)を,仮想化ソフトウェアを表す「HV」でフィルタリングする。
  2. METRIC(測定項目)を,CPU使用量を表す「CPU使用量(GHz)」でフィルタリングする。
  3. 次の式で各仮想化ソフトウェアのCPU使用量の平均値を算出する。
    • CPU使用量の平均値=PERFVALUEよりあとの値(データ取得日時の性能値)のデータの合計値/PERFVALUEよりあとの値(データ取得日時の性能値)のデータの個数
  4. CPU使用量の平均値とWARNINGTHRESHOLD(しきい値(警告))を比較し,CPU使用量の平均値の方がWARNINGTHRESHOLD(しきい値(警告))より大きい仮想化ソフトウェアを求める。
    ここで求めた仮想化ソフトウェアが,負荷が高い仮想化ソフトウェアです。
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    DEVICETYPEHVRESOURCENAMEDETAILTYPEMETRICWARNINGTHRESHOLDPERFVALUE2011/01/01 01:30CPU使用量の平均値比較結果
    HVHV1VMwareCPU使用量(GHz)8.00空白7.128.50
    HVHV2VMwareCPU使用量(GHz)9.60空白6.887.30×
    HVHV3HVMCPU使用量(GHz)6.40空白3.555.12×
    HVHV4Hyper-VCPU使用量(GHz)12.00空白7.837.50×
    HVHV5VMwareCPU使用量(GHz)8.00空白1.251.20×
    HVHV6Hyper-VCPU使用量(GHz)6.40空白3.293.56×
    (凡例)
    ○:CPU使用量の平均値の方がWARNINGTHRESHOLD(しきい値(警告))より大きい
    ×:CPU使用量の平均値の方がWARNINGTHRESHOLD(しきい値(警告))より小さい

     
    この結果,仮想化ソフトウェア(HV1)が,負荷が高い仮想化ソフトウェア(マイグレーション元仮想化ソフトウェア)だと特定できます。

(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)

ここでは,リソース使用量(時間推移)レポートの出力結果から,負荷が低い仮想化ソフトウェアを特定します。

  1. DETAILTYPE(詳細種別)を「(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)」で求めた仮想化ソフトウェアの詳細情報と同じでフィルタリングする。
    この例では,「VMware」でフィルタリングします。
  2. METRIC(測定項目)を,CPU使用量を表す「CPU使用量(GHz)」でフィルタリングする。
  3. 次の式で各仮想化ソフトウェアのCPU使用量の平均値を算出する。
    • CPU使用量の平均値=PERFVALUEよりあとの値(データ取得日時の性能値)のデータの合計値/PERFVALUEよりあとの値(データ取得日時の性能値)のデータの個数
  4. 次の式で各仮想化ソフトウェアのCPUのしきい値(警告)に対する空き容量を算出する。
    • しきい値(警告)に対する空き容量=WARNINGTHRESHOLD(しきい値(警告))-平均値(手順3で求めた値)
    ここで空き容量が最も大きくなった仮想化ソフトウェアが,マイグレーション先仮想化ソフトウェアの候補となります。
    ただし,空き容量が最も大きい仮想化ソフトウェアにマイグレーションできるとは限りません。そのほかの空きがある仮想化ソフトウェアも,マイグレーション先の候補としてリストアップしてください。
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    DEVICETYPEHVRESOURCENAMEDETAILTYPEMETRICWARNINGTHRESHOLDPERFVALUE2011/01/01 01:30CPU使用量の平均値しきい値に対する空き容量
    HVHV1VMwareCPU使用量(GHz)8.00空白7.128.50-0.5
    HVHV2VMwareCPU使用量(GHz)9.60空白6.887.302.3
    HVHV5VMwareCPU使用量(GHz)8.00空白1.251.206.8
    この結果,仮想化ソフトウェア(HV5)が,空き容量が最も大きい仮想化ソフトウェアだとわかります。
  5. jirminfolistコマンドでJP1/ITRMが管理するすべてのITリソースの構成情報を出力する。
    <実行例>

    jirminfolist -all -d -f 出力先ファイル名

    <出力例>

    ...,RESOURCENAME,...,VMNUMOFCPUCORE,VMMTREEPATH,...
    ...,HV1,...,6,Vcenter1/DC1/VMcluster1/HV1,...
    ...,VM3,...,2,...,...
    ...,HV5,...,6,Vcenter1/DC1/VMcluster2/HV5,...

    以降では,次のデータを使用します。
    • RESOURCENAME(リソース名)
    • VMNUMOFCPUCORE(CPUコア数)
    • VMMTREEPATH(仮想化構成ツリーパス)
  6. ホットマイグレーションする場合,「(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)」で特定した仮想化ソフトウェアと手順4で特定した仮想化ソフトウェアをRESOURCENAME(リソース名)でフィルタリングする。
    コールドマイグレーションする場合は,この手順は必要ありません。「(4) 仮想化ソフトウェア上の仮想ホストの性能情報を算出し,マイグレーションの対象となる仮想ホストを決定する」の手順に進んでください。
    この例では,「HV1」と「HV5」でフィルタリングします。
  7. 手順6でフィルタリングした結果を比較する。
    次の項目を比較してください。
    • VMwareの場合
      VMMTREEPATH(仮想化構成ツリーパス)を比較し,マイグレーション元仮想化ソフトウェアとマイグレーション先仮想化ソフトウェアが同じデータセンターかどうか
    • SCVMMの場合
      VMMTREEPATH(仮想化構成ツリーパス)を比較し,マイグレーション元仮想化ソフトウェアとマイグレーション先仮想化ソフトウェアが同じVMクラスタかどうか
    同じ場合,手順4で特定した仮想化ソフトウェアがマイグレーション先仮想化ソフトウェアの候補となります。
    異なる場合,手順4でリストアップした仮想化ソフトウェアの中から,次の候補となる仮想化ソフトウェアを選出して,再度比較します。同じデータセンターまたはVMクラスタとなるまで繰り返して比較します。同じデータセンターまたはVMクラスタが存在しない場合,ホットマイグレーションできません。「(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)」で特定した仮想化ソフトウェアの性能がひっ迫し緊急度が高い場合は,同じデータセンターの仮想化ソフトウェアまたは同じVMクラスタの仮想化ソフトウェアを新たに設定するか,コールドマイグレーションで仮想化ソフトウェアの負荷を平準化してください。
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果,仮想化ソフトウェア(HV5)と仮想化ソフトウェア(HV1)は同じデータセンターの仮想化ソフトウェアであるということがわかります。
    この結果,仮想化ソフトウェア(HV5)が,負荷が低い仮想化ソフトウェア(マイグレーション元仮想化ソフトウェア)だと特定されます。

(4) 仮想化ソフトウェア上の仮想ホストの性能情報を算出し,マイグレーションの対象となる仮想ホストを決定する

ここでは,リソース使用量(時間推移)レポートの出力結果から,マイグレーションの対象となる仮想ホストを特定します。

  1. HVRESOURCENAME(仮想化ソフトウェアのリソース名)を「(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)」で特定した仮想化ソフトウェアでフィルタリングする。
    この例では,「HV1」でフィルタリングします。
    DEVICETYPEがフィルタリングされている場合,フィルタリングをあらかじめ解除しておいてください。
  2. METRIC(測定項目)を,CPU使用量を表す「CPU使用量(GHz)」でフィルタリングする。
  3. 次の式で各仮想ホストのCPU使用量の平均値を算出する。
    • CPU使用量の平均値=PERFVALUEよりあとの値(データ取得日時の性能値)のデータの合計値/PERFVALUEよりあとの値(データ取得日時の性能値)のデータの個数
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    RESOURCENAMEHVRESOURCENAMEMETRICPERFVALUE2011/01/01 01:30平均値
    HV1HV1CPU使用量(GHz)空白7.12
    VM1HV1CPU使用量(GHz)空白2.802.75
    VM2HV1CPU使用量(GHz)空白1.502.55
    VM3HV1CPU使用量(GHz)空白2.803.20
    (凡例)
    -:仮想化ソフトウェアのため,算出不要

  4. 次の式でマイグレーション元仮想化ソフトウェアからマイグレーション先仮想化ソフトウェアに仮想ホストをマイグレーションした場合の仮定値を求める。
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します。
    仮想化ソフトウェア空き容量VM1をマイグレーションVM2をマイグレーションVM3をマイグレーション
    HV1(マイグレーション元仮想化ソフトウェア)-0.502.252.052.70
    HV5(マイグレーション先仮想化ソフトウェア)6.804.054.253.60
    この結果をグラフに表すと,次のようになります。
    [図データ]
    これらの結果から,仮想ホスト(VM3)をマイグレーションすると最も効果が高いことがわかります。
    参考
    マイグレーションの対象となる仮想ホストのjirminfolistコマンドの実行結果であるVMNUMOFCPUCORE(CPUコア数)がマイグレーション先仮想化ソフトウェアのCPUコア数より小さい必要があります。マイグレーション先仮想化ソフトウェアのCPUコア数が仮想ホストのCPUコア数未満の場合,「(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)」の手順4に戻り,次の候補となる仮想化ソフトウェアを選出してください。

(5) 仮想ホストのマイグレーション可否を確認する

ここでは,リソース使用量(時間推移)レポートの出力結果から,マイグレーションの対象となる仮想ホストをマイグレーションできるかどうか確認します。

  1. HVRESOURCENAME(仮想化ソフトウェアのリソース名)を「(2) 負荷が高い仮想化ソフトウェアを特定する(マイグレーション元仮想化ソフトウェアの特定)」で特定したマイグレーション元仮想化ソフトウェアでフィルタリングする。
    この例では,「HV1」でフィルタリングします。
    METRICでフィルタリングされている場合,フィルタリングをあらかじめ解除しておいてください。
  2. 次の式で「(4) 仮想化ソフトウェア上の仮想ホストの性能情報を算出し,マイグレーションの対象となる仮想ホストを決定する」で決定した仮想ホストの各性能の平均値を算出する。
    この例では,仮想ホスト(VM3)の各性能の平均値を算出します。
    • 各性能の平均値=PERFVALUEよりあとの値(データ取得日時の性能値)のデータの合計値/PERFVALUEよりあとの値(データ取得日時の性能値)のデータの個数
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    RESOURCENAMEHVRESOURCENAMEMETRIC2011/01/01 01:30平均値
    HV1HV1CPU使用量(GHz)7.10
    VM3HV1CPU使用量(GHz)2.803.20
    VM3HV1メモリ使用量(GB)2.582.20
    VM3HV1ディスク読み込み転送速度(MB/sec)10.4310.50
    (凡例)
    -:仮想化ソフトウェアのため,算出不要

  3. HVRESOURCENAME(仮想化ソフトウェアのリソース名)を「(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)」で特定した仮想化ソフトウェアでフィルタリングする。
    この例では,「HV5」でフィルタリングします。
    METRICでフィルタリングされている場合,フィルタリングをあらかじめ解除しておいてください。
  4. 次の式で仮想化ソフトウェアの各性能の平均値を算出する。
    • 各性能の平均値=PERFVALUEよりあとの値(データ取得日時の性能値)のデータの合計値/PERFVALUEよりあとの値(データ取得日時の性能値)のデータの個数
  5. 次の式でマイグレーション先仮想化ソフトウェアの性能の空き容量を算出する。
    • 空き容量=WARNINGTHRESHOLD(しきい値(警告))-平均値(手順4で求めた値)
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    RESOURCENAMEMETRICWARNINGTHRESHOLD2011/01/01 01:30平均値空き容量
    HV5CPU使用量(GHz)8.001.251.206.80
    HV5メモリ使用量(GB)10.806.887.703.10
    HV5ディスク読み込み転送速度(MB/sec)90.0065.5065.5024.50
  6. 手順4で求めた平均値と手順5で求めた空き容量を比較する。
    空き容量が平均値より大きいことを確認してください。空き容量が平均値より大きければ,仮想ホストをマイグレーションできます。
    空き容量が平均値以下の場合,「(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)」の手順4に戻り,仮想化ソフトウェアを選出し直してください。
     
    <出力例を基にしたここまでの操作結果>
    ここまでの手順を実行した結果を次に示します(一部抜粋)。
    RESOURCENAMEMETRIC平均値空き容量比較結果
    HV5CPU使用量(GHz)3.206.80
    HV5メモリ使用量(GB)2.203.10
    HV5ディスク読み込み転送速度(MB/sec)10.5024.50
    (凡例)
    ○:性能の平均値の方がWARNINGTHRESHOLD(しきい値(警告))より大きい

これらの結果から仮想ホスト(VM3)をマイグレーションできるだけの十分な空き容量があることがわかります。

(6) 仮想ホストをマイグレーションする

ここでは,jirmvmmigrateコマンドを利用して,仮想ホストをマイグレーションします。

  1. (4) 仮想化ソフトウェア上の仮想ホストの性能情報を算出し,マイグレーションの対象となる仮想ホストを決定する」で求めた仮想ホストを「(3) 負荷が低い仮想化ソフトウェアを特定する(マイグレーション先仮想化ソフトウェアの特定)」で求めた仮想化ソフトウェアにマイグレーションする。
    この例では,仮想ホスト(VM3)を仮想化ソフトウェア(HV5)にマイグレーションします。
    • ホットマイグレーションの場合
      jirmvmmigrate -type hot -res VM3 -desthv Vcenter1/DC1/VMcluster2/HV5
    • コールドマイグレーションの場合
      jirmvmmigrate -type cold -res VM3 -desthv Vcenter1/DC1/VMcluster2/HV5 -i ネットワーク定義ファイル
    -desthvには,jirminfolistコマンドの実行結果であるVMMTREEPATHに表示される仮想化構成ツリーパスを指定します。
    jirmvmmigrateコマンドの詳細については,マニュアル「JP1/IT Resource Management - Manager リファレンス」を参照してください。
     
    <出力例を基にしたここまでの操作結果>
    仮想ホスト(VM3)をマイグレーションする前後の仮想化ソフトウェアのCPU使用量の平均値としきい値の割合を次の図に示します。

    図6-1 マイグレーション前

    [図データ]
    仮想化ソフトウェア(HV1)がしきい値を超えて運用しているのに対して,仮想化ソフトウェア(HV5)には余裕があることがわかります。

    図6-2 マイグレーション後

    [図データ]
    マイグレーションした結果,CPU使用量が平準化されたことがわかります。