消費電力監視プログラム、消費電力監視装置、および消費電力監視方法
【課題】消費電力が時間変動する電気機器それぞれに対して電力計を設置することなく各電気機器の消費電力を随時推定できるようにする。
【解決手段】消費電力見積もり情報記憶手段1aは、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶する。負荷情報収集手段1bは、消費電力制御装置1にネットワークを介して接続された電気機器2から、電気機器2の処理負荷を示す負荷情報を取得する。消費電力推定手段1cは、消費電力見積もり情報記憶手段1aを参照し、負荷情報収集手段1bが収集した負荷情報に基づいて、電気機器2の消費電力を推定する。負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2の処理負荷を低減させる。
【解決手段】消費電力見積もり情報記憶手段1aは、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶する。負荷情報収集手段1bは、消費電力制御装置1にネットワークを介して接続された電気機器2から、電気機器2の処理負荷を示す負荷情報を取得する。消費電力推定手段1cは、消費電力見積もり情報記憶手段1aを参照し、負荷情報収集手段1bが収集した負荷情報に基づいて、電気機器2の消費電力を推定する。負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2の処理負荷を低減させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は電気機器の消費電力を制御するための消費電力監視プログラム、消費電力監視装置、および消費電力監視方法に関し、特に電子機器の消費電力の監視を行う消費電力監視プログラム、消費電力監視装置、および消費電力監視方法に関する。
【背景技術】
【0002】
大規模なコンピュータシステムを導入する場合、個々の電気機器に対して安定した電力を供給するだけの電源設備が必要となる。各電気機器は、コンピュータシステムを設置するビルなどの建物に設けられた配電網に接続することで、電力の供給を受けることができる。各電気機器を配電網に接続する場合、各電気機器の電源ケーブル先端のプラグが、配電網に繋がっている電源タップに設けられた差し込み口(電源コンセント)に差し込まれる。
【0003】
電源タップには複数の差し込み口が設けられており、複数の電気機器を接続することができる。ただし、電源タップには、定格電力(連続して供給可能な電力の最大値)が定められている。そのため、各電源タップに接続する電気機器の消費電力の合計が定格電力を超えないようにする必要がある。一般的には、1つの電源タップに接続するサーバなどの電気機器数は、各電気機器の定格消費電力を合計して何台接続出来るのかを決めている。
【0004】
ただし、サーバなどの電気機器は、常に定格消費電力を消費しているわけではない。それにも拘わらず、すべての電気機器が定格消費電力で同時に動作していることを想定して電源設備を準備すると、過剰な電源設備が必要となる。そこで、電源タップに接続された複数の電気機器が同時に消費する電力が、その電源タップの定格電力を超えないように制御する技術が必要となる。すなわち各電気機器は運用時に定常的に定格消費電力を使用することは稀であるため、最大消費電力を制御することで接続可能機器数を増やすことが可能となる。
【0005】
そこで、センサノードが最大需要電力を予測すると共に、予測に基づいて電力警戒情報を出力し、その電力警戒情報を受け取った制御ノードが消費電力を制御する技術が考えられている(特許文献1参照)。このような技術を用いれば、各電気機器の定格消費電力の合算値が電源タップの最大定格電力を超えるような複数の電気機器を、その電源タップに接続することが可能となる。
【0006】
また、自動車などの車両に搭載された電気負荷の動作/非動作を指示する情報と、各電気負荷の消費電流値を示す消費電流値データテーブルとから、消費電流値を予測する技術が考えられている(特許文献2参照)。この技術によれば、各電気機器の動作/非動作を検知するだけで、消費電流値の予測が可能となる。
【特許文献1】特開平8−182194号公報
【特許文献2】特開2003−291753号公報(段落[0048]、[0049]、図3参照)
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、従来技術を大規模なコンピュータシステムにおける電源タップごとの消費電力監視に適用するのは、現実的ではない。例えば、特許文献1のような技術を電源タップごとに適用する場合、すべての電源タップに対して電力計を設ける必要があり、コストの増加を招く。しかも、コンピュータシステムを構成する各コンピュータは、データの処理状況に応じて消費電力が動的に変動する。消費電力が過大となったとき、電力消費量が少ないコンピュータの負荷を軽減しても消費電力削減効果は見込めない。すなわち、合計消費電力が電源タップの定格消費電力に達した場合、そのとき消費電力が高いコンピュータを検出し、そのコンピュータの負荷を軽減する必要がある。それには、電源タップの差し込み口ごとに電力計を設けることとなり、さらなる設備のコストアップに繋がる。
【0008】
なお、特許文献2の技術は電力計を用いていないが、電気負荷の消費電流値が一定であるものとして、全体の消費電流値を予測している。そのため、コンピュータシステムのように、各機器が常時動作しており動作状況に応じて消費電力が動的に変動するような電気機器を用いたシステムへの適用は困難である。
【0009】
本発明はこのような点に鑑みてなされたものであり、消費電力が時間変動する電気機器それぞれに対して電力計を設置することなく各電気機器の消費電力を随時推定できる消費電力監視プログラム、消費電力監視装置、および消費電力監視方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムが提供される。この消費電力監視プログラムは、コンピュータを負荷情報収集手段と消費電力推定手段として機能させる。負荷情報収集手段は、コンピュータにネットワークを介して接続された電気機器から、電気機器の処理負荷を示す負荷情報を取得する。消費電力推定手段は、電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、負荷情報収集手段が収集した負荷情報に基づいて、電気機器の消費電力を推定する。
【0011】
このような消費電力監視プログラムを実行するコンピュータによれば、電気機器から、負荷情報が取得され、電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、負荷情報に応じた電気機器の消費電力が推定される。
【0012】
また、上記課題を解決するために、上記消費電力監視プログラムを実行するコンピュータと同様の機能を有する消費電力監視装置が提供される。さらに、上記課題を解決するために上記消費電力管理プログラムをコンピュータに実行させることによりコンピュータで実行される処理と同様の処理を行う消費電力監視方法が提供される。
【発明の効果】
【0013】
本発明では、電気機器の処理負荷を示す負荷情報に基づいて、消費電力が時間変動する電気機器の消費電力を随時推定することができる。
【発明を実施するための最良の形態】
【0014】
以下、本実施の形態を図面を参照して説明する。
図1は、実施の形態の概要を示す図である。消費電力監視装置1は、消費電力見積もり情報記憶手段1a、負荷情報収集手段1b、消費電力推定手段1c、および負荷制御手段1dを有する。
【0015】
消費電力見積もり情報記憶手段1aは、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶する。例えば、消費電力見積もり情報記憶手段1aは、電気機器2の代表的な処理負荷に関する情報(電気機器2がコンピュータであれば、CPU使用率)に応じて消費電力を消費電力見積もり情報として記憶する。また、消費電力見積もり情報記憶手段1aは、電気機器2を構成する構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶することもできる。
【0016】
負荷情報収集手段1bは、コンピュータにネットワークを介して接続された電気機器2から、電気機器2の処理負荷を示す負荷情報を取得する。例えば、負荷情報収集手段1bは、電気機器2の代表的な処理負荷に関する負荷情報を取得する。また、負荷情報収集手段1bは、電気機器2から、電気機器2を構成する構成要素それぞれの処理負荷を示す負荷情報を取得することもできる。
【0017】
消費電力推定手段1cは、消費電力見積もり情報記憶手段1aを参照し、負荷情報収集手段1bが収集した負荷情報に基づいて、電気機器2の消費電力を推定する。例えば、消費電力推定手段1cは、電気機器2の代表的な処理負荷に関する負荷情報が収集された場合、代表的な処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、消費電力を推定する。また、消費電力推定手段1cは、電気機器2を構成する構成要素それぞれの負荷情報が収集された場合、構成要素ごとの負荷情報に基づいて、構成要素ごとの消費電力を判断し、構成要素ごとの消費電力を合計して電気機器2の消費電力とする。
【0018】
負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2の処理負荷を低減させる。例えば、電気機器2がネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードであれば、負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2への単位時間当たりのアクセス数を所定値以下に制限する。
【0019】
このような消費電力監視装置1によれば、電気機器2から負荷情報が取得される。そして、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、負荷情報に応じた電気機器2の消費電力が推定される。その結果、電気機器2に対して電力計を設置しなくても、消費電力が時間変動する電気機器2の消費電力を随時推定することができる。
【0020】
しかも、電気機器2の消費電力が過大となると、電気機器2の負荷を軽減することにより、電力消費を低減せせることができる。その結果、電力計のような特別な機器を設置しなくても、ネットワークに接続された電気機器2の消費電力を、所定値以下に抑制してシステムの運用することができる。
【0021】
このような技術を基礎とすることで、電源タップの差し込み口ごとの消費電力管理が容易となる。そこで、複数の差し込み口を有する電源タップを介してコンピュータなどの機器に電力が供給されるコンピュータシステムにおいて、電源タップ単位の消費電力を管理する場合を例に採り、実施の形態を具体的に説明する。
【0022】
[第1の実施の形態]
図2は、本実施の形態のシステム構成例を示す図である。消費電力監視サーバ100には、ネットワーク10を介して複数のコンピュータ200,300,400,500と複数の電源タップ20,30とが接続されている。コンピュータ200,300,400,500は、ユーザからの操作入力や、ネットワーク10を介して入力される処理要求に応じて、各種データ処理を実行する。
【0023】
コンピュータ200,300には、それぞれRAID(Redundant Array of Independent Disks )装置210,310が接続されている。RAID装置210,310には、複数のハードディスク装置(HDD)が搭載されており、RAID5(パリティ付ストライピング)などの技術を用いた高信頼性のデータ記憶機能を提供する。
【0024】
電源タップ20,30は、電源設備40に接続されている。電源設備40は、電源タップ20,30に対して一定の電圧の電力を供給する。電源タップ20,30には、コンピュータ200,300,400,500やRAID装置210,310の電源プラグを差し込むための差し込み口(電源コンセント)が複数設けられている。電源タップ20には、2台のコンピュータ200,300と2台のRAID装置210,310とが接続されている。電源タップ30には、2台のコンピュータ400,500が接続されている。また、電源タップ20,30は、ネットワーク10経由で入力される指示に基づいて、任意の電源コンセントへの電源供給を遮断することができる。
【0025】
消費電力監視サーバ100は、各コンピュータ200,300,400,500の負荷情報に基づいて消費電力を推定する。そして、消費電力監視サーバ100は、電源タップ20,30ごとに、接続されている電気機器すべての消費電力を推定し、消費電力が過大となる場合、接続されている電気機器の処理負荷を低減させる。また、消費電力監視サーバ100は、いずれかのコンピュータの障害を検出した場合、ネットワーク10経由でそのコンピュータの機能を強制的に停止する。
【0026】
図3は、本実施の形態に用いるコンピュータのハードウェア構成例を示す図である。消費電力監視サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0027】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
【0028】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0029】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0030】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には消費電力監視サーバ100のハードウェア構成のみを示しているが、コンピュータ200,300,400,500も同様のハードウェア構成で実現することができる。
【0031】
図4は、電源タップの内部構造を示す図である。電源タップ20には、複数の差し込み口21a,21b,21c,21dが設けられている。各差し込み口21a,21b,21c,21dは、それぞれ対応するスイッチ22a,22b,22c,22dを介して電源設備40に接続されている。スイッチ22a,22b,22c,22dは、制御回路24からの制御信号に従って、差し込み口21a,21b,21c,21dへの電源の供給/遮断を切り換える。
【0032】
通信インタフェース23は、ネットワーク10を介して消費電力監視サーバ100との間でデータ通信を行う。通信インタフェース23は、消費電力監視サーバ100から送られた処理要求を制御回路24に渡す。
【0033】
制御回路24は、消費電力監視サーバ100から送られた指示に応じてスイッチ22a,22b,22c,22dのオン/オフを制御する。具体的には、制御回路24は、消費電力監視サーバ100から、差し込み口の番号を指定した電源遮断指示を受け取ると、指定された差し込み口に対応するスイッチに対して、電源遮断を示す信号を出力する。この信号を受け取ったスイッチは、差し込み口への電源の供給を遮断する。
【0034】
このような内部構造の電源タップ20を用いることで、障害が発生したコンピュータへの電源の供給を強制的に遮断できる。なお、図4には、電源タップ20の内部構造を示したが、他の電源タップ30も同様の内部構造を有している。
【0035】
図5は、消費電力を制御するための機能を示すブロック図である。消費電力監視サーバ100は、消費電力見積もり情報記憶部110、接続機器情報記憶部120、最大消費電力情報記憶部130、負荷情報収集部140、消費電力推定部150、アクセス制限指示部160、障害監視部170、および強制停止制御部180を有している。
【0036】
消費電力見積もり情報記憶部110は、各コンピュータ200,300,400,500の負荷情報に基づいて消費電力を推定するために必要な情報を記憶する記憶機能である。例えば、HDD103の記憶領域の一部が消費電力見積もり情報記憶部110として使用される。消費電力見積もり情報記憶部110には、CPU消費電力換算表111、内蔵ディスク消費電力換算表112、RAID装置消費電力換算表113、およびNIC(Network Interface Card)消費電力換算表114が記憶されている。
【0037】
CPU消費電力換算表111には、CPUやRAMの負荷に応じた消費電力の換算値が設定されている。内蔵ディスク消費電力換算表112には、コンピュータの内蔵ディスクへのアクセス頻度に応じた消費電力の換算値が設定されている。RAID装置消費電力換算表113には、コンピュータに接続されたRAID装置へのアクセス頻度に応じた消費電力の換算値が設定されている。NIC消費電力換算表114には、コンピュータ内の通信インタフェースにおける通信量に応じた消費電力の換算値が設定されている。
【0038】
接続機器情報記憶部120には、電源タップ20,30に接続された機器を示す情報を記憶する記憶機能である。例えば、HDD103の記憶領域の一部が、接続機器情報記憶部120として使用される。
【0039】
最大消費電力情報記憶部130は、各電源タップ20,30の最大消費電力を示す情報を記憶する記憶機能である。最大消費電力は、電源タップ20,30から供給される電力を抑制するか否か(コンピュータの処理負荷を軽減するか否か)の判断基準となる閾値である。例えば、HDD103の記憶領域の一部が最大消費電力情報記憶部130として使用される。
【0040】
負荷情報収集部140は、コンピュータ200,300,400,500から負荷情報を収集する。負荷情報には、CPUの使用率、内蔵ディスクへの単位時間当たりのアクセス数、RAID装置への単位時間当たりのアクセス数、およびネットワーク10を介した通信の単位時間当たりのデータ量が含まれる。負荷情報収集部140は、収集した負荷情報を消費電力推定部150に渡す。また、負荷情報収集部140は、コンピュータ200,300,400,500から負荷情報を取得すると、取得した負荷情報を障害監視部170に渡す。
【0041】
消費電力推定部150は、負荷情報収集部140から受け取った負荷情報に基づいて、電源タップごとの消費電力を推定する。具体的には、消費電力推定部150は、消費電力見積もり情報記憶部110に格納されている情報を参照し、各コンピュータの負荷情報に基づいて、コンピュータの構成要素ごとの消費電力や、RAID装置の消費電力を推定する。そして、消費電力推定部150は、コンピュータ内の各要素の消費電力の合計を、そのコンピュータの消費電力と推定する。そして、消費電力推定部150は、接続機器情報記憶部120を参照し、各電源タップに接続されている機器を判断し、電源タップごとの消費電力を推定する。
【0042】
電源タップごとの消費電力を推定した後、消費電力推定部150は、最大消費電力情報記憶部130を参照し、電源タップごとの消費電力が、最大消費電力を超えているか否かを判断する。そして、消費電力推定部150は、消費電力が最大消費電力を超えている電源タップがある場合、その電源タップに接続されたコンピュータの識別番号をアクセス制限指示部160に通知する。
【0043】
アクセス制限指示部160は、消費電力推定部150からコンピュータの識別番号が通知されると、該当するコンピュータに対してアクセス制限要求を送信する。
障害監視部170は、各コンピュータ200,300,400,500が正常に動作しているか否かを確認する。例えば、負荷情報が定期的に受信できているか否かによって、動作の有無を判断することができる。障害監視部170は、動作していないコンピュータを検出した場合、そのコンピュータの識別情報を強制停止制御部180に渡す。
【0044】
強制停止制御部180は、障害監視部170からコンピュータの識別情報を受け取ると、該当するコンピュータを強制的に停止させる。具体的には、強制停止制御部180は、強制停止対象のコンピュータに対してリモートアクセスを行いシャットダウンの指示を送信する。強制停止制御部180は、シャットダウンが正常に完了できない場合、接続機器情報記憶部120を参照し、強制停止対象のコンピュータが接続されている電源タップと、接続されている差し込み口の番号を取得する。そして、強制停止制御部180は、強制停止対象のコンピュータが接続されている電源タップに対して、該当するコンピュータが接続された差し込み口の電源供給の遮断を指示する。
【0045】
コンピュータ200は、負荷情報管理部220、アクセス制御部230、および遠隔制御受付部240を有している。
負荷情報管理部220は、コンピュータ200の負荷情報を定期的に消費電力監視サーバ100に送信する。なお、コンピュータ200の負荷情報は、OSに実装されているシステム管理機能を介して取得できる。
【0046】
アクセス制限部230は、消費電力監視サーバ100からアクセス制限要求を受け取ると、ネットワーク10を介した単位時間当たりのアクセス数を制限する。具体的には、アクセス制限部230が管理するメモリには、アクセス制限時の単位時間当たりのアクセス許容数が予め記憶されている。そして、アクセス制限部230は、アクセス制限要求に応答して、単位時間当たりに処理するアクセス数をアクセス許容数までに制限する。すなわち、アクセス制限部230は、アクセス制限の指示を受けた場合、単位時間内で、ネットワーク10を介したアクセス要求がアクセス許容数に達すると、その単位時間内はネットワーク10を介したアクセス要求に応じた処理を停止する。そして、単位時間が経過すると、ネットワーク10を介したアクセス要求に応じた処理を再開する。
【0047】
遠隔制御受付部240は、ネットワーク10経由での遠隔操作を受け付ける。例えば、遠隔制御受付部240は、消費電力監視サーバ100からのネットワーク10を介したリモートログインを受け付ける。そして、消費電力監視サーバ100からシャットダウンの指示が送られると、遠隔制御受付部240がシャットダウンコマンドを実行する。
【0048】
次に、消費電力監視サーバ100に予め格納されるデータの内容について具体的に説明する。
まず、消費電量見積もり情報の算出方法について説明する。本実施の形態では、消費電力を見積もるために、コンピュータ内の電力消費要素をグループ分けしている。
【0049】
図6は、消費電力見積もりのための要素グループを示す図である。コンピュータ200内で電力を消費する要素のうち、CPU201とRAM202,203とを1つのグループ(グループA)にまとめる。また、HDD204,205を1つのグループ(グループB)にまとめる。そして、通信インタフェース(NIC)を1つのグループ(グループC)とする。
【0050】
ここで、コンピュータ200の消費電力は、どのようなアプリケーションソフトウェア(以下、単にアプリケーションと呼ぶ)を実行しているのかによって異なってくる。例えば、HDD204,205に対するデータの入出力が少なく、CPU201における演算処理を主に行うアプリケーション(アプリケーションa)の場合、主にグループAの消費電力が増加する。HDD204,205に対するデータの入出力が頻繁に発生するアプリケーション(アプリケーションb)の場合、主にグループBの消費電力が増加する。ネットワーク10を介した通信を大量に行うアプリケーション(アプリケーションc)の場合、主にグループCの消費電力が増加する。
【0051】
そこで、各グループがそれぞれどの程度使われているのかを把握することで、消費電力を見積もることができる。グループAの消費電力は、CPU使用率に依存するものと考えられる。グループBの消費電力は、単位時間(1秒)当たりのディスクアクセス数(disk iops)に依存するものと考えられる。グループCの消費電力は、単位時間(1秒)当たりのビット単位の通信データ量(network bps)に依存するものと考えられる。
【0052】
コンピュータ200の動作中は、各グループ内の要素が混在して使用される。従って、グループA,B,Cそれぞれの消費電力の合計値がコンピュータ200の消費電力となる。
【0053】
そこで、消費電力見積もり情報を作成するために予めベンチマークを行う。ベンチマークは、それぞれのグループへの消費電力の影響度が高いアプリケーションをコンピュータ200で実行し、その際のコンピュータ200の消費電力を電力計で計測する。
【0054】
まず、ユーザは、グループAに含まれるCPU201とRAM202,203とを主に使用するアプリケーションaを用いてベンチマークを行う。すなわち、ユーザは、アプリケーションaをコンピュータ200に実行させ、CPU使用率をOSから取得すると共に、コンピュータ200の消費電力を計測する。このときCPU使用率を徐々に上げることで、CPU使用率に応じた消費電力を採取する。
【0055】
図7は、CPU使用率と消費電力との関係を示すグラフである。このグラフは、横軸にCPU使用率をとり、縦軸に消費電力をとっている。このグラフでは、CPU使用率に応じたコンピュータ200の消費電力を実線で示している。
【0056】
アプリケーションaを用いたベンチマークによってユーザがこのようなグラフを作成することで、CPU使用率に応じたグループAの消費電力が推定できる。なお、実際には、グループAに含まれる要素以外の要素(例えば、コンピュータ200内のパワーサプライユニット)による消費電力も、図7で示される消費電力に含まれている。すなわち、CPU201を主に使用するアプリケーションaを用いたベンチマークを行うことで、HDD204,205とNIC206との影響を除いたCPU使用率と消費電力との関係を知ることができる。
【0057】
次に、ユーザは、グループBに含まれるHDD204,205に対するデータの入出力を頻繁に行うアプリケーションbを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションbをコンピュータ200に実行させ、単位時間当たりのディスクアクセス数、CPU使用率、およびコンピュータ200の消費電力を計測する。このとき、単位時間当たりのディスクアクセス数を徐々に上げることで、単位時間当たりのディスクアクセス数に応じたCPU使用率と消費電力とを採取する。
【0058】
図8は、単位時間当たりのディスクアクセス数と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりのディスクアクセス数(disk iops)をとり、縦軸に消費電力をとっている。
【0059】
このグラフにおいて、単位時間当たりのディスクアクセス数に応じたコンピュータ200の消費電力を実線で示している。また、ユーザは、図7に示すグラフに示すCPU使用率と消費電力との関係を利用し、単位時間当たりのディスクアクセス数に応じたCPU使用率から、単位時間当たりのディスクアクセス数に応じたグループAの消費電力を求める。そして、図8のグラフでは、単位時間当たりのディスクアクセス数に応じたグループAの消費電力を破線で示している。
【0060】
アプリケーションbを用いたベンチマークによってユーザがこのようなグラフを作成することで、単位時間当たりのディスクアクセス数に応じたグループBの消費電力が推定できる。すなわち、グループBの消費電力は、コンピュータ200の消費電力からグループAの消費電力を減算することで求められる。図8のグラフであれば、単位時間当たりのディスクアクセス数に応じた実線と破線との差が、グループBの消費電力を表している。
【0061】
次に、ユーザは、グループCに含まれるNIC206を介したデータ通信を大量に行うアプリケーションcを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションcをコンピュータ200に実行させ、単位時間当たりの通信データ量、CPU使用率、およびコンピュータ200の消費電力を計測する。このとき、単位時間当たりの通信データ量を徐々に上げることで、単位時間当たりの通信データ量に応じたCPU使用率と消費電力とを採取する。
【0062】
図9は、単位時間当たりの通信データ量と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりの通信データ量(network bps)をとり、縦軸に消費電力をとっている。
【0063】
このグラフにおいて、単位時間当たりの通信データ量に応じたコンピュータ200の消費電力を実線で示している。また、ユーザは、図7に示すグラフに示すCPU使用率と消費電力との関係を利用し、単位時間当たりの通信データ量に応じたCPU使用率から、単位時間当たりの通信データ量に応じたグループAの消費電力を求める。そして、図9のグラフでは、単位時間当たりの通信データ量に応じたグループAの消費電力を破線で示している。
【0064】
アプリケーションcを用いたベンチマークによってユーザがこのようなグラフを作成することで、単位時間当たりの通信データ量に応じたグループCの消費電力が推定できる。すなわち、グループCの消費電力は、コンピュータ200の消費電力からグループAの消費電力を減算することで求められる。図9のグラフであれば、単位時間当たりの通信データ量に応じた実線と破線との差が、グループCの消費電力を表している。
【0065】
次に、ユーザは、RAID装置210へのIOアクセスを行うアプリケーションdを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションdをコンピュータ200に実行させ、単位時間(1秒)当たりのアクセス数と、RAID装置210の消費電力を計測する。このとき、単位時間当たりのディスクアクセス数を徐々に上げることで、単位時間当たりのディスクアクセス数に応じた消費電力を採取する。
【0066】
図10は、単位時間当たりのRAID装置へのアクセス数と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりのRAID装置210へのアクセス数(RAID装置へのiops)をとり、縦軸に消費電力をとっている。このグラフにおいて、単位時間当たりのRAID装置210へのアクセス数に応じたコンピュータ200の消費電力を実線で示している。
【0067】
図7〜10に示したベンチマークの結果に基づいて、ユーザは、消費電力見積もり情報を作成する。すなわち、CPU消費電力換算表111、内蔵ディスク消費電力換算表112、RAID装置消費電力換算表113、およびNIC消費電力換算表114を作成する。
【0068】
図11は、CPU消費電力換算表を示す図である。CPU消費電力換算表111には、CPU使用率と消費電力の欄が設けられている。CPU使用率の欄には、CPU使用率(単位:%)が設定される。消費電力の欄には、対応するCPU使用率のときのCPU201などを含むグループAの消費電力(単位:ワット)が設定される。このような対応関係は、図7のグラフを参照して設定することができる。
【0069】
図12は、内蔵ディスク消費電力換算表を示す図である。内蔵ディスク消費電力換算表112には、単位時間当たりのアクセス数と消費電力の欄が設けられている。単位時間当たりのアクセス数の欄には、HDD204,205に対する単位時間当たりのアクセス数(disk iops)が設定される。消費電力の欄には、対応する単位時間当たりのアクセス数のときのHDD204,205を含むグループBの消費電力(単位:ワット)が設定される。このような対応関係は、図8のグラフを参照して設定することができる。
【0070】
図13は、RAID装置消費電力換算表を示す図である。RAID装置消費電力換算表113には、単位時間当たりのアクセス数と消費電力の欄が設けられている。単位時間当たりのアクセス数の欄には、RAID装置210に対する単位時間当たりのアクセス数(RAID装置のiops)が設定される。消費電力の欄には、対応する単位時間当たりのアクセス数のときのRAID装置210の消費電力(単位:ワット)が設定される。このような対応関係は、図10のグラフを参照して設定することができる。
【0071】
図14は、NIC消費電力換算表を示す図である。NIC消費電力換算表114には、単位時間当たりの通信データ量と消費電力の欄が設けられている。単位時間当たりの通信データ量の欄には、NIC206を介した単位時間当たりの通信データ量(単位:Mbps)が設定される。消費電力の欄には、対応する単位時間当たりの通信データ量のときのNICを含むグループCの消費電力(単位:ワット)が設定される。このような対応関係は、図9のグラフを参照して設定することができる。
【0072】
このような各消費電力換算表が、消費電力見積もり情報記憶部110に予め格納される。また、ユーザは、接続機器情報と最大消費電力情報とを作成し、それぞれ接続機器情報記憶部120と最大消費電力情報記憶部130とに格納する。
【0073】
図15は、接続機器情報のデータ構造を示す図である。接続機器情報121では、電源タップを一意に識別するための識別情報に対応付けて、その電源タップの各差し込み口に接続された機器を一意に識別するための識別情報が設定されている。
【0074】
図15の例では、電源タップ20の識別情報「電源タップ1」に対応付けて、「差し込み口1」に対してコンピュータ200の識別情報「PC1」が設定され、「差し込み口2」に対してコンピュータ300の識別情報「PC2」が設定され、「差し込み口3」に対してRAID装置210の識別情報「RAID1」が設定され、「差し込み口4」に対してRAID装置310の識別情報「RAID2」が設定されている。
【0075】
また、電源タップ30の識別情報「電源タップ2」に対応付けて、「差し込み口1」に対してコンピュータ400の識別情報「PC3」が設定され、「差し込み口2」に対してコンピュータ500の識別情報「PC4」が設定されている。
【0076】
図16は、最大消費電力情報のデータ構造を示す図である。最大消費電力情報131では、電源タップを一意に識別するための識別情報に対応付けて、その電源タップの最大消費電力(単位:ワット)が設定されている。図16の例では、電源タップ20の識別情報「電源タップ1」に対応付けて、最大消費電力「2000W」が設定されている。また、電源タップ30の識別情報「電源タップ2」に対応付けて、最大消費電力「2000W」が設定されている。
【0077】
なお、最大消費電力情報131として設定する最大消費電力の値は、各電源タップの定格電力以下の値が設定される。例えば、最大消費電力を電源タップの定格電力より小さい値(例えば、定格電力の90%の値)としておくことで、電源タップから供給される電力が定格電力に達する前に、消費電力の抑制が可能となる。
【0078】
以上のような構成のシステムによって、電源タップごとの消費電力管理が行われる。本実施の形態における消費電力管理処理には、電源タップに接続された機器の合計消費電力がその電源タップの最大消費電力を超えた場合のアクセス制限処理と、異常動作検出時の異常動作機器の機能停止処理とがある。
【0079】
図17は、アクセス制限処理の概略を示す図である。各コンピュータ200,300,400,500は、定期的に負荷情報を消費電力監視サーバ100に送信する(ステップS1)。消費電力監視サーバ100は、各コンピュータ200,300,400,500の負荷情報に基づいて、合計消費電力が最大消費電力を超えた電源タップがあるか否かを判断する。
【0080】
図17の例では、コンピュータ200の負荷が過大であることにより、電源タップ20から供給される合計消費電力が最大消費電力を超えているものとする。この場合、消費電力監視サーバ100は、コンピュータ200に対してアクセス制限要求を送信する(ステップS2)。すると、コンピュータ200は、単位時間当たりに処理するアクセス要求を所定数に制限する。これにより、コンピュータ200およびRAID装置210の処理負荷が低減し、電源タップ20から供給される合計消費電力を低減させることができる。
【0081】
図18は、アクセス数制限処理の手順を示すシーケンス図である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS11]コンピュータ200は、負荷情報を消費電力監視サーバ100に送信する。同様に、他のコンピュータ300,400,500からも消費電力監視サーバ100に対して負荷情報が送信される。送信された負荷情報は、消費電力監視サーバ100の負荷情報収集部140で受け取られ、消費電力推定部150に渡される。
【0082】
[ステップS12]消費電力監視サーバ100の消費電力推定部150は、コンピュータ200,300,400,500から受信した負荷情報に基づいて、機器ごとの消費電力を推定する。コンピュータ200の消費電力は、CPU使用率、内蔵ディスクへの単位時間当たりのアクセス数、ネットワーク10を介した単位時間当たりの通信データ量に基づいて計算される。
【0083】
具体的には、消費電力推定部150は、CPU消費電力換算表111を参照し、CPU使用率の欄から、負荷情報で示されるCPU使用率以上の最も小さい値のCPU使用率を選択する。そして、消費電力推定部150は、選択したCPU使用率に対応する消費電力を、コンピュータのCPU等による消費電力と推定する。
【0084】
また、消費電力推定部150は、内蔵ディスク消費電力換算表112を参照し、単位時間当たりのアクセス数の欄から、負荷情報で示される内蔵ディスクへの単位時間当たりのアクセス数以上で最も小さい値の単位時間当たりのアクセス数を選択する。そして、消費電力推定部150は、選択した単位時間当たりのアクセス数に対応する消費電力を、コンピュータのHDDによる消費電力と推定する。
【0085】
さらに、消費電力推定部150は、NIC消費電力換算表114を参照し、単位時間当たりの通信データ量の欄から、負荷情報で示される単位時間当たりの通信データ量以上で最も小さい値の単位時間当たりの通信データ量を選択する。そして、消費電力推定部150は、選択した単位時間当たりの通信データ量に対応する消費電力を、コンピュータのNICによる消費電力と推定する。
【0086】
そして、消費電力推定部150は、CPU等による消費電力、HDDによる消費電力、およびNICによる消費電力の合計を、コンピュータの消費電力と推定する。
また、消費電力推定部150は、RAID装置消費電力換算表113を参照し、単位時間当たりのアクセス数の欄から、負荷情報で示されるRAID装置への単位時間当たりのアクセス数以上で最も小さい値の単位時間当たりのアクセス数を選択する。そして、消費電力推定部150は、選択した単位時間当たりのアクセス数に対応する消費電力を、RAID装置の消費電力と推定する。
【0087】
[ステップS13]消費電力推定部150は、電源タップごとの消費電量を推定する。具体的には、消費電力推定部150は接続機器情報121を参照し、各電源タップに接続されている機器を判断する。そして、消費電力推定部150は、電源タップに接続されている各機器の消費電力を合計し、電源タップごとの消費電力と推定する。
【0088】
[ステップS14]消費電力推定部150は、アクセス制限の要否を判定する。具体的には、消費電力推定部150は、最大消費電力情報131を参照し、各電源タップから供給されている消費電力が、最大消費電力を超えていないかどうかを判断する。
【0089】
[ステップS15]消費電力推定部150は、最大消費電力を超えている電源タップがある場合、処理をステップS16に進める。最大消費電力を超えている電源タップがなければ、処理を終了する。
【0090】
[ステップS16]消費電力推定部150は、アクセス制限指示部160に対して、最大消費電力を超えて電力を供給している電源タップに接続されているコンピュータ200へのアクセス制限を依頼する。具体的には、消費電力推定部150は、最大消費電力を超えて電力を供給している電源タップに接続されたコンピュータの中から、少なくとも1台のコンピュータ(図18の例では、コンピュータ200)を、アクセス制限対象として選択する。例えば、最も消費電力の大きいコンピュータをアクセス制限対象として選択する。そして、消費電力推定部150は、アクセス制限対象のコンピュータ200の識別情報をアクセス制限指示部160に通知し、そのコンピュータ200へのアクセス制限を依頼する。アクセス制限指示部160は、識別情報で指定されたアクセス制限対象のコンピュータ200に対して、アクセス数を制限するべき旨のアクセス制限要求を送信する。
【0091】
[ステップS17]コンピュータ200のアクセス制限部230は、アクセス制限要求に応答して、単位時間当たりに処理するアクセス要求の数を制限する。
このようにして、電源タップから供給される電力が最大消費電力を超えると、その電源タップに接続されたコンピュータに対してアクセス制限が施される。その結果、コンピュータの処理負荷が軽減し、消費電力も低減する。すなわち、電源タップに接続された電気機器の時間変化する消費電力を正確に推定し、各電気機器の消費電力の合計を電源タップの最大消費電力以下に抑制できる。
【0092】
このような制御を行っていれば、電源タップに接続する機器の最大定格電力の合計が電源タップの定格電力を超えていたとしても、実際に電源タップから供給される電力が定格電力を超えることを防止できる。換言すると、複数の機器の最大定格電力の合計が電源タップの定格電力を超えるような場合でも、それらの機器をその電源タップに接続して運用することが可能となる。その結果、電源設備の増強を行わずに、多数の機器の運用が可能となる。
【0093】
なお、コンピュータにアクセス制限を施した後は、そのコンピュータが接続された電源タップの消費電力がある程度以下になった時点で、アクセス制限を解除することができる。例えば、アクセス制限指示部160は、各コンピュータに対してアクセス制限要求を送信したか否かの情報を、RAM内の記憶領域に記憶しておく。そして、アクセス制限を施したコンピュータが接続された電源タップから供給されている電力が所定値以下(例えば、最大消費電力の80%以下)まで低減したら、アクセス制限指示部160からアクセス制限が施されているコンピュータに対して、アクセス制限の解除指示を送信する。その指示を受け取ったコンピュータは、アクセス制限を解除する。
【0094】
次に、異常動作機器の機能停止処理について説明する。
図19は、異常動作機器の機能停止処理の概略を示す図である。消費電力監視サーバ100は、コンピュータ200,300,400,500の状態を監視し、各コンピュータの障害の有無を判断する(ステップS3)。例えば、負荷情報の送信が所定期間途絶えているコンピュータは、障害が発生していると判断できる。また、消費電力監視サーバ100から各コンピュータ200,300,400,500に接続確認のコマンド(ping)を定期的に送信し、所定期間応答が返されないコンピュータについて障害が発生していると判断することもできる。さらに、各コンピュータ200,300,400,500から定期的にハートビート信号を消費電力監視サーバ100に送信するようにし、そのハートビート信号を所定期間送信しないコンピュータについて障害が発生していると判断することもできる。さらに、負荷情報に基づいて、CPU使用率や通信データ量が異常に高いコンピュータについても、障害が発生していると判断できる。
【0095】
図19の例では、コンピュータ200に障害が発生しているものとする。障害のあるコンピュータ200を検出した消費電力監視サーバ100は、そのコンピュータ200に対してOSのシャットダウンの指示を送信する(ステップS4)。例えば、消費電力監視サーバ100は、コンピュータ200に対してリモートログインを行い、シャットダウンコマンドをコンピュータ200に入力する。ここで、シャットダウンに成功すれば、消費電力監視サーバ100からコンピュータ200へのリモートログインのためのコネクションが、コンピュータ200から強制的に切断される。消費電力監視サーバ100は、このコネクションの切断によって、シャットダウンが成功終了したものと判断することができる。また、IPMI(Intelligent Platform Management Interface)の技術を利用すれば、コンピュータ200,300,400,500の稼動状態の監視や、OSが停止している状態のコンピュータ200,300,400,500との通信が可能となる。従って、IPMIを用いて、障害が発生したコンピュータの稼働状態がOS停止状態(例えば、ROMベースのプログラムが動作している状態)になったことを確認することで、シャットダウンが正常に完了したことを確認できる。
【0096】
シャットダウンの指示を出してから所定時間経ってもシャットダウンが正常に完了できなかった場合、消費電力監視サーバ100は、該当するコンピュータ200に対する電源タップ20からの電源供給を停止する。すなわち、消費電力監視サーバ100は、コンピュータ200が接続された差し込み口の識別番号を指定し、電源タップ20に対して電源遮断指示を送信する(ステップS5)。電源タップ20は、指定された差し込み口に接続されたスイッチをオフにし、電源供給を遮断する。これにより、障害により過剰に電力を消費するおそれのあるコンピュータ200への電源供給を遮断し、電源タップ20からの供給電力が最大消費電力を超えてしまうことを防止できる。
【0097】
なお、異常機器の検出方法は、複数の方法を利用することができる。そこで、接続確認要求(ping)を用いた異常判定と、負荷情報に基づく異常判定とを組み合わせる場合の例を用いて、異常動作機器の機能停止処理を詳細に説明する。
【0098】
接続確認要求に基づいてコンピュータの異常判定を行う場合、消費電力監視サーバ100の障害監視部170において、各コンピュータから接続確認要求に対する応答が受け取れなかった回数(連続無応答数)が管理される。また、負荷情報に基づく異常判定を行う場合、障害監視部170には、負荷情報の履歴が管理される。
【0099】
図20は、障害監視部で管理される情報を示す図である。図20に示すように、障害監視部170は、連続無応答管理テーブル171と負荷情報履歴管理テーブル172とを用いて、各コンピュータ200,300,400,500から収集した情報を管理する。具体的には、障害監視部170が管理するメモリ内に連続無応答管理テーブル171と負荷情報履歴管理テーブル172とが格納される。
【0100】
連続無応答管理テーブル171には、ノード名と連続無応答数との欄が設けられている。ノード名の欄には、各コンピュータ200,300,400,500の識別情報が設定される。連続無応答数の欄には、対応するコンピュータに対して接続確認要求を送信し、応答が連続して得られなかった回数(連続無応答数)が設定される。連続無応答数は、コンピュータに対して接続確認要求を送信し、その接続確認要求に対して応答が全く返されない場合、1ずつカウントアップされる。また、接続確認要求に対して応答が返された場合、応答を返したコンピュータの連続無応答数は「0」にリセットされる。
【0101】
負荷情報履歴管理テーブル172には、負荷情報の数回分の履歴が格納される。図20の例では、負荷情報に含まれる情報のうち、CPU使用率と単位時間当たりの通信データ量とが、過去4回分格納されている。負荷情報履歴管理テーブル172には、ノード名、直前の情報、直前より1つ前情報、直前より2つ前情報、および直前より3つ前情報の欄が設けられている。ノード名の欄には、コンピュータの識別情報が設定される。直前の情報の欄には、直前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の1つ前の情報の欄には、直前よりも1つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の2つ前の情報の欄には、直前よりも2つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の3つ前の情報の欄には、直前よりも3つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。
【0102】
このような連続無応答管理テーブル171と負荷情報履歴管理テーブル172とを利用して異常動作機器の機能停止処理が行われる。
図21は、異常動作機器の機能停止処理の手順を示すシーケンス図である。以下、図21に示す処理をステップ番号に沿って説明する。
【0103】
[ステップS21]消費電力監視サーバ100の障害監視部170は、コンピュータ200に対して、接続確認要求を送信する。
[ステップS22]コンピュータ200のOSは、コンピュータ200が正常に動作していれば接続確認要求に対する応答を返す。
【0104】
[ステップS23]消費電力監視サーバ100の障害監視部170は、コンピュータ200からの応答の有無に応じて、連続無応答管理テーブル171の内容を更新する。すなわち、所定時間待っても応答が返ってこない場合、障害監視部170は、コンピュータ200に対応する連続無応答数の値を1だけカウントアップする。また、応答が返ってきた場合、障害監視部170は、コンピュータ200に対応する連続無応答数の値を「0」にする。その後、ステップS26移行の処理が行われる。
【0105】
[ステップS24]また、コンピュータ200の負荷情報管理部220は定期的に負荷情報を、消費電力監視サーバ100に対して送信する。
[ステップS25]消費電力監視サーバ100の障害監視部170は、受信した負荷情報に基づいて、負荷情報履歴管理テーブル172を更新する。具体的には、障害監視部170は、受信した負荷情報からCPU使用率と単位時間当たりの通信データ量とを抽出し、負荷情報履歴管理テーブル172内のコンピュータ200に対応する直前の情報として登録する。その際、負荷情報履歴管理テーブル172内のコンピュータ200に対応付けて登録されていた情報は、それぞれ古い情報の欄に移動される。その後、ステップS26移行の処理が行われる。
【0106】
[ステップS26]障害監視部170は、各コンピュータの動作が異常となっているか否かの判定処理を行う。具体的には、障害監視部170は、連続無応答管理テーブル171を参照し、連続無応答数が予め設定された閾値を超えたコンピュータの有無を判断する。例えば、図20に示した内容の連続無応答数管理テーブル171であれば、連続無応答数の閾値として「3」が設定されていた場合、識別情報「PC4」のコンピュータ500に異常があるものと判定される。
【0107】
また、障害監視部170は、負荷情報履歴管理テーブル172を参照し、負荷が過大となっているコンピュータの有無を判定する。例えば、障害監視部170は、過去4回分の負荷情報におけるCPU使用率と通信データ量との比率の平均を計算する。そして、障害監視部170は、その平均比率をコンピュータ間で比較し、他のコンピュータよりも所定値以上高い(例えば、4倍以上)コンピュータを異常と判断する。図20に示した負荷情報履歴管理テーブル172の例であれば、識別番号「PC2」のコンピュータ300は、単位時間当たりの通信データ量が識別番号「PC1」と同程度にあるにも拘わらず、CPU使用率が4倍以上となっている。したがって、障害監視部170は、識別番号「PC2」のコンピュータ300に異常があると判定する。
【0108】
[ステップS27]障害監視部170は、異常判定の結果、異常のあるコンピュータがある場合、処理をステップS28に進める。異常のあるコンピュータがなければ、処理が終了する。
【0109】
[ステップS28]障害監視部170は、異常と判定したコンピュータの識別情報を強制停止制御部180に通知する。強制停止制御部180は、異常と判定されたコンピュータ(図21の例では、コンピュータ200に異常があるものとする)に対して、シャットダウン指示を送信する。
【0110】
[ステップS29]コンピュータ200の遠隔制御受付部240は、シャットダウン指示に応じてOSのシャットダウンコマンドを実行する。
[ステップS30]強制停止制御部180は、シャットダウンが正常に完了したか否かを判断する。正常に完了した場合、処理が終了する。正常に終了しなかった場合、処理がステップS31に進められる。
【0111】
[ステップS31]強制停止制御部180は、コンピュータ200が接続された電源タップ20に対して、コンピュータ200が接続されている差し込み口の電源遮断を指示する。
【0112】
[ステップS32]電源タップ20の制御回路24は、コンピュータ200が接続された差し込み口21aに対応するスイッチ22aをオフにすることで、コンピュータ200への電源供給を遮断する。
【0113】
このようにして、故障などにより異常な動作をしているコンピュータを強制的に停止させることができる。異常な動作をしているコンピュータは、CPU使用率が異常に高まるといった消費電力の増加を伴うことが多い。そのため、異常な動作をしているコンピュータを強制的に停止させることにより、電源タップを介して供給される電力が最大消費電力を超えることを防止できる。
【0114】
しかも、異常な動作をしているコンピュータを停止させてしまえば、そのコンピュータが使用していた電力を、同じ電源タップに接続されている他のコンピュータに振り分けることができる。すなわち、あるコンピュータの動作が異常となることにより他のコンピュータへのアクセス数が増加し、他のコンピュータの消費電力が増大することが考えられる。この場合でも、異常な動作をしたコンピュータを停止させることで、正常に動作しているコンピュータ(停止したコンピュータと同じ電源タップに接続されている)で使用可能な電力量が増大する。そのため、正常に動作しているコンピュータは、処理能力を最大限に発揮してアクセス要求を処理できる。
【0115】
[第2の実施の形態]
第2の実施の形態は、第1の実施の形態に示した消費電力監視機能を、分散ストレージシステムに適用したものである。
【0116】
第1の実施の形態では、異常と判定されたコンピュータを強制的に停止することで、電源タップから供給される電力が過大となるのを防止している。ただし、異常なコンピュータを強制的に停止してしまうと、そのコンピュータに接続されたRAID装置に格納されたデータを他のコンピュータからアクセスできなくなる。そこで、データを2重化して格納する分散ストレージシステムを用いて、各データを複数のコンピュータで個別に管理することで、いずれかのコンピュータを強制的に停止してもシステム全体としての運用を継続することが可能となる。
【0117】
図22は、分散ストレージシステムのシステム構成を示す図である。本実施の形態では、ネットワーク51を介して、複数のディスクノード620,630,640,650、制御ノード610、アクセスノード660、および電源タップ61,62が接続されている。ディスクノード620,630,640,650それぞれには、RAID装置621,631,641,651が接続されている。
【0118】
各RAID装置621,631,641,651には、複数のハードディスク装置(HDD)が実装されている。各RAID装置621,631,641,651は、内蔵するHDDを用いたRAIDシステムである。本実施の形態では、各RAID装置621,631,641,651は、RAID5のディスク管理サービスを提供する。
【0119】
ディスクノード620,630,640,650は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード620,630,640,650は、接続されたRAID装置621,631,641,651に格納されたデータを管理し、管理しているデータをネットワーク51経由で端末装置53〜55に提供する。また、ディスクノード620,630,640,650は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。
【0120】
電源タップ61に設けられたプラグの差し込み口には、ディスクノード620,630とRAID装置621,631とが接続されている。電源タップ62に設けられたプラグの差し込み口には、ディスクノード640,650とRAID装置641,651とが接続されている。電源タップ61,62は、ネットワーク51を介した指示に応じて、差し込み口への電源供給のオン、オフを切り換えることができる。
【0121】
制御ノード610は、ディスクノード620,630,640,650を管理する。例えば、制御ノード610には、ディスクノード620,630,640,650やRAID装置621,631,641,651がどの電源タップに接続されているかが予め登録されている。そして、制御ノード610は、各電源タップで供給されている電力が最大消費電力を超えているか否かを判断する。制御ノード610は、消費電力が過大となっている電源タップに接続されたディスクノードに対してアクセス制限の指示を出す。また、制御ノード610は、ディスクノード620,630,640,650の動作を監視し、異常を検出した場合、該当するディスクノードをシャットダウンさせる。ディスクノードのシャットダウンに失敗した場合、制御ノード610は、そのディスクノードが接続されている電源タップに指示を出し、該当するディスクノードへの電源供給を遮断させる。
【0122】
アクセスノード660には、ネットワーク52を介して複数の端末装置53〜55が接続されている。アクセスノード660は、ディスクノード620,630,640,650それぞれが管理しているデータの格納場所を認識しており、端末装置53〜55からの要求に応答して、ディスクノード620,630,640,650へデータアクセスを行う。
【0123】
図22に示すように、複数のディスクノード620,630,640,650がネットワーク51に接続され、それぞれのディスクノード620,630,640,650は他のディスクノードとの間で通信を行う。このマルチノードストレージシステムは、端末装置53〜55に対して、仮想的なボリューム(以下、論理ボリュームと呼ぶ)として機能する。
【0124】
図23は、論理ボリュームのデータ構造を示す図である。論理ボリューム700には、「LVOL−A」という識別子(論理ボリューム識別子)が付与されている。また、ネットワーク経由で接続された4台のディスクノード620,630,640,650には、個々のディスクノードの識別のためにそれぞれ「SN−A」、「SN−B」、「SN−C」、「SN−D」というノード識別子が付与されている。
【0125】
各ディスクノード620,630,640,650が有するRAID装置621,631,641,651それぞれにおいてRAID5の論理ディスクが構成されている。この論理ディスクは5つのスライスに分割され個々のディスクノード内で管理されている。
【0126】
図23の例では、RAID装置621内の記憶領域は、5つのスライス622〜626に分けられている。RAID装置631内の記憶領域は、5つのスライス632〜636に分けられている。RAID装置641内の記憶領域は、5つのスライス642〜646に分けられている。RAID装置651内の記憶領域は、5つのスライス652〜656に分けられている。
【0127】
なお、論理ボリューム700は、セグメント710,720,730,740という単位で構成される。セグメント710,720,730,740の記憶容量は、RAID装置621,631,641,651における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。論理ボリューム700の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。例えば、セグメントの記憶容量が1ギガバイトならば、論理ボリューム700の記憶容量は4ギガバイトといったものになる。
【0128】
セグメント710,720,730,740は、それぞれプライマリスライス711,721,731,741とセカンダリスライス712,722,732,742との組から構成される。同じセグメントに属するスライスは別々のディスクノードに属する。各スライスは、スライス管理情報によって管理される。スライス管理情報には、論理ボリューム識別子、セグメント情報、同じセグメントを構成するスライス情報、プライマリスライスかセカンダリスライスかを示すフラグなどが含まれる。
【0129】
図23の例では、スライスの属性を識別するための識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント710のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。
【0130】
このような構造の論理ボリューム700の各プライマリスライスおよびセカンダリスライスが、RAID装置621,631,641,651内のいずれかのスライスに対応付けられる。例えば、セグメント710のプライマリスライス711は、RAID装置651のスライス655に対応付けられ、セカンダリスライス712は、RAID装置631のスライス633に対応付けられている。そして、各RAID装置621,631,641,651では、自己のスライスに対応するプライマリスライスまたはセカンダリスライスのデータを記憶する。
【0131】
各ディスクノードは、自己の管理するスライスが割り当てられているセグメントなどの情報をスライス管理情報として保持している。制御ノード610は、システムの起動時に各ディスクノードからスライス管理情報を収集して、メモリに保持する。また、収集したスライス管理情報は、制御ノード610からアクセスノード660に渡される。アクセスノード660は、取得したスライス管理情報を参照して、論理ボリューム700の任意のセグメント内のデータにアクセスする際に、どのディスクノードにアクセス要求を送信すべきかを認識できる。
【0132】
図24は、制御ノードに保持されたスライス管理情報群のデータ構造例を示す図である。制御ノード610は、RAMの記憶領域の一部をスライス管理情報群記憶部611として使用する。スライス管理情報群記憶部611には、複数のスライス管理情報611a,611b,611c,611dが格納される。
【0133】
スライス管理情報611a,611b,611c,611dの構成要素は、左側の要素から順に以下の通りである。
・スライス番号
・開始ブロック位置(該当スライスの先頭に当たるブロックの番号)
・ブロック数(スライス内のブロック数)
・フラグ(プライマリ/セカンダリ)
・論理ボリューム識別子
・セグメント番号
・論理ボリューム開始ブロック位置
・論理ボリューム内でのブロック数
・ペアを組むディスクノード識別子
・ペアを組むスライス番号
図24で示したスライス管理情報611a,611b,611c,611dは、図23で示した論理ボリューム700を構成している。例えば、ノード識別子「SN−A」のスライス管理情報611aにおけるスライス番号「4」のスライスは「LVOL−A」のセグメント番号「4」のプライマリスライスであり、ペアを組んでいるのは「SN−D」のスライス番号「1」のスライスである、ということを意味する。
【0134】
図24に示したスライス管理情報611a,611b,611c,611dは、それぞれディスクノード620,630,640,650から収集されたものである。
このようなスライス管理情報611a,611b,611c,611dにより、制御ノード610において論理ボリューム700の構造を認識できる。論理ボリューム700のセグメントに割り当てるスライスを変更する場合、その制御ノード610が割当の変更を決定し、その結果を各ディスクノードとアクセスノードに通知する。
【0135】
また、各ディスクノード620,630,640,650は、スライス管理情報を有することにより、自己の管理するスライスがプライマリスライスであれば、対応するセカンダリスライスを管理するディスクノードを認識することができる。
【0136】
このような構成の分散ストレージシステムに対して消費電力監視機能を実装する場合、図5に示した消費電力監視サーバ100内の各要素が図22に示す制御ノード610に実装される。また、図5に示したコンピュータ200内の各要素が図22に示すディスクノード620,630,640,650それぞれに実装される。
【0137】
これにより、制御ノード610が、各ディスクノード620,630,640,650から負荷情報を収集し、電源タップ61,62それぞれを介した電源供給量を推定することができる。そして、制御ノード610は、電源タップごとの合計消費電力を求める。制御ノード610は、合計電源供給が過大(予め設定された最大消費電力以上)となった電源タップを検出すると、その電源タップに接続されたディスクノードに対して、アクセス数制限要求を送信する。すると、ディスクノードにおいて、単位時間当たりに処理するアクセス数が所定数以下に制限される。アクセスノード660は、アクセス要求をディスクノードに送信した場合、そのアクセス要求の処理が完了するまで、次のアクセス要求を内部にキューイングして保持する。そのため、ディスクノードにおいて単位時間当たりに処理するアクセス数が制限された場合、単位時間当たりにアクセスノード660から該当するディスクノードへ送信するアクセス要求の数が制限されることとなる。その結果、ディスクノードの処理負荷が軽減され、消費電力が少なくなる。
【0138】
なお、分散ストレージシステムの場合、プライマリスライス内のデータが更新されると、対応するセカンダリスライス内のデータも更新する必要がある。すなわち、アクセスノード660からデータアクセスを行う場合、プライマリスライスを管理しているディスクノードに対してアクセス要求が行われる。そのアクセス要求がデータの更新を伴っていれば、アクセス要求を受けたディスクノードは、自己の管理するプライマリスライス内のデータを更新すると共に、対応するセカンダリスライスを管理するディスクノードに対してデータの更新を要求する。その要求を受け取ったディスクノードは、セカンダリスライス内の該当データを更新する。
【0139】
ここで、セカンダリスライスを管理しているディスクノードにおいてアクセス数を制限したとき、プライマリスライスを管理するディスクノードからのデータの同一性確保のためのデータ更新のアクセスまでも制限すると、アクセス制限の影響が他のディスクノードに波及することとなる。そこで、ディスクノードがアクセス数を制限する場合、アクセスノード660からのアクセス要求のみを制限するようにする。これにより、アクセス数を制限している間であっても、他のディスクノードからのデータの同一性確保のためのデータ更新要求を迅速に処理することができる。
【0140】
また、制御ノード610は、動作に異常のあるディスクノードを検出すると、そのディスクノードをシャットダウンさせる。また、ディスクノードのシャットダウンが正常に完了できなかった場合、制御ノード610は、そのディスクノードが接続されている電源タップに対して、ディスクノードへの電源供給を遮断させる。このようにディスクノードの機能を停止させる場合、そのディスクノードで管理しているデータを、他のディスクノードに移動させる必要がある。
【0141】
図25は、障害発生時のデータ復旧処理を示す図である。図25では、ディスクノード620に障害が検出されたものとする。この場合、ディスクノード620を停止させると共に、ディスクノード620が管理していたデータと同じデータを、他のディスクノートに格納する。具体的には、ディスクノード620が管理するスライスと同じセグメントに割り当てられている他のディスクノードのスライスからデータを、さらに別のディスクノードが管理する空きのスライスにコピーする。
【0142】
図25の例では、ディスクノード620に接続されたRAID装置621の4番目のスライス625は、4番目のセグメント740のプライマリスライスである。そこで、4番目のセグメント740のセカンダリスライスであるRAID装置651の1番目のスライス652のデータを、ディスクノード630のRAID装置631の3番目のスライス634にコピーする。そして、そのスライス634を、4番目のセグメント740のプライマリスライスとする。
【0143】
同様に、ディスクノード620に接続されたRAID装置621の5番目のスライス626は、2番目のセグメント720のセカンダリスライスである。そこで、2番目のセグメント720のプライマリスライスであるRAID装置641の5番目のスライス646のデータを、ディスクノード650のRAID装置651の2番目のスライス653にコピーする。そして、そのスライス653を、2番目のセグメント720のセカンダリスライスとする。
【0144】
このようにして、ディスクノードを強制停止した場合でも、システムの運用を継続することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、消費電力監視サーバ100や制御ノード610が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0145】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0146】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0147】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【0148】
(付記1) 電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムであって、
前記コンピュータを、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段、
として機能させる消費電力監視プログラム。
【0149】
(付記2) 前記負荷情報収集手段は、前記電気機器から、前記電気機器を構成する構成要素それぞれの処理負荷を示す負荷情報を取得し、
前記消費電力見積もり情報記憶手段には、前記電気機器を構成する前記構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶されており、
前記消費電力推定手段は、前記負荷情報収集手段が収集した前記構成要素ごとの負荷情報に基づいて、前記構成要素ごとの消費電力を判断し、前記構成要素ごとの消費電力を合計して、前記電気機器の消費電力とする付記1記載の消費電力監視プログラム。
【0150】
(付記3) 前記電気機器には、測定対象コンピュータが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、CPU使用率、単位時間当たりのディスクアクセス数、単位時間当たりの通信データ量を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、CPU使用率に応じたCPUとメモリとの消費電力を示すCPU消費電力換算表、単位時間当たりのディスクアクセス数に応じたディスク装置の消費電力を示すディスク消費電力換算表、単位時間当たりの通信データ量に応じた通信インタフェースの消費電力を示す通信インタフェース消費電力換算表を含み、
前記消費電力推定手段は、前記CPU消費電力換算表を参照して、前記負荷情報で示されるCPU使用率に応じた前記CPUと前記メモリとの消費電力を判断し、前記ディスク消費電力換算表を参照して、前記負荷情報で示される単位時間当たりのディスクアクセス数に応じた前記ディスク装置の消費電力を判断し、前記通信インタフェース消費電力換算表を参照し、前記負荷情報で示される単位時間当たりの通信データ量に応じた前記通信インタフェースの消費電力を判断する付記2記載の消費電力監視プログラム。
【0151】
(付記4) 前記電気機器には、測定対象コンピュータと前記測定対象コンピュータに外部接続された外部ディスク装置とが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、前記測定対象コンピュータから前記ディスク装置への単位時間当たりのアクセス数を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、前記ディスク装置への単位時間当たりのアクセス数に応じた前記外部ディスク装置の消費電力を示すディスク消費電力換算表を含み、
前記消費電力推定手段は、前記ディスク消費電力換算表を参照して、前記測定対象コンピュータから前記ディスク装置への単位時間当たりのアクセス数に応じた前記外部ディスク装置の消費電力を判断する付記2記載の消費電力監視プログラム。
【0152】
(付記5) 前記コンピュータをさらに、
前記電気機器の消費電力が予め設定された閾値より大きい場合、前記電気機器の処理負荷を低減させる負荷制御手段として機能させる付記1記載の消費電力監視プログラム。
【0153】
(付記6) 前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードが含まれており、
前記負荷情報収集手段は、複数の前記電気機器から前記負荷情報を収集し、
前記消費電力推定手段は、複数の前記電気機器の前記負荷情報に基づいて前記電気機器それぞれの消費電力を推定し、
前記コンピュータをさらに、
複数の前記電気機器と、前記電気機器それぞれに対して電源を供給している電源タップとの対応関係を示す接続機器情報を記憶する接続機器情報記憶手段を参照し、共通の前記電源タップに接続された複数の前記電気機器それぞれについて前記消費電力判定手段で求められた消費電力の合計が、予め設定された閾値より大きい場合、前記電源タップに接続された前記ディスクノードへの単位時間当たりのアクセス数を所定値以下に制限するアクセス制限手段として機能させる付記1記載の消費電力監視プログラム。
【0154】
(付記7) 前記コンピュータをさらに、
前記電気機器の障害の有無を監視する障害監視手段、
前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器の動作を強制停止させる強制停止制御手段
として機能させる付記1記載の消費電力監視プログラム。
【0155】
(付記8) 前記強制停止制御手段は、前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器が接続された電源タップに対して、前記電気機器の電源プラグが差し込まれた差し込み口への電源供給の遮断指示を送信する付記7記載の消費電力監視プログラム。
【0156】
(付記9) 前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行う複数のディスクノードが含まれており、
前記コンピュータをさらに、
前記障害監視手段によりいずれかのディスクノードに障害が検出された場合、障害が検出されたディスクノードで管理しているデータと同一のデータを他のディスクノードに格納するデータ再配置手段として機能させる付記7記載の消費電力監視プログラム。
【0157】
(付記10) 電気機器の消費電力をネットワーク経由で監視するための消費電力監視装置であって、
前記消費電力監視装置に前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段と、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段と、
を有する消費電力監視装置。
【0158】
(付記11) 電気機器の消費電力をネットワーク経由で監視するための消費電力監視方法であって、
コンピュータが、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得し、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力監視方法。
【図面の簡単な説明】
【0159】
【図1】実施の形態の概要を示す図である。
【図2】本実施の形態のシステム構成例を示す図である。
【図3】本実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図4】電源タップの内部構造を示す図である。
【図5】消費電力を制御するための機能を示すブロック図である。
【図6】消費電力見積もりのための要素グループを示す図である。
【図7】CPU使用率と消費電力との関係を示すグラフである。
【図8】単位時間当たりのディスクアクセス数と消費電力との関係を示すグラフである。
【図9】単位時間当たりの通信データ量と消費電力との関係を示すグラフである。
【図10】単位時間当たりのRAID装置へのアクセス数と消費電力との関係を示すグラフである。
【図11】CPU消費電力換算表を示す図である。
【図12】内蔵ディスク消費電力換算表を示す図である。
【図13】RAID装置消費電力換算表を示す図である。
【図14】NIC消費電力換算表を示す図である。
【図15】接続機器情報のデータ構造を示す図である。
【図16】最大消費電力情報のデータ構造を示す図である。
【図17】アクセス制限処理の概略を示す図である。
【図18】アクセス数制限処理の手順を示すシーケンス図である。
【図19】異常動作機器の機能停止処理の概略を示す図である。
【図20】障害監視部で管理される情報を示す図である。
【図21】異常動作機器の機能停止処理の手順を示すシーケンス図である。
【図22】分散ストレージシステムのシステム構成を示す図である。
【図23】論理ボリュームのデータ構造を示す図である。
【図24】制御ノードに保持されたスライス管理情報群のデータ構造例を示す図である。
【図25】障害発生時のデータ復旧処理を示す図である。
【符号の説明】
【0160】
1 消費電力制御装置
1a 消費電力見積もり情報記憶手段
1b 負荷情報収集手段
1c 消費電力推定手段
1d 負荷制御手段
2 電気機器
【技術分野】
【0001】
本発明は電気機器の消費電力を制御するための消費電力監視プログラム、消費電力監視装置、および消費電力監視方法に関し、特に電子機器の消費電力の監視を行う消費電力監視プログラム、消費電力監視装置、および消費電力監視方法に関する。
【背景技術】
【0002】
大規模なコンピュータシステムを導入する場合、個々の電気機器に対して安定した電力を供給するだけの電源設備が必要となる。各電気機器は、コンピュータシステムを設置するビルなどの建物に設けられた配電網に接続することで、電力の供給を受けることができる。各電気機器を配電網に接続する場合、各電気機器の電源ケーブル先端のプラグが、配電網に繋がっている電源タップに設けられた差し込み口(電源コンセント)に差し込まれる。
【0003】
電源タップには複数の差し込み口が設けられており、複数の電気機器を接続することができる。ただし、電源タップには、定格電力(連続して供給可能な電力の最大値)が定められている。そのため、各電源タップに接続する電気機器の消費電力の合計が定格電力を超えないようにする必要がある。一般的には、1つの電源タップに接続するサーバなどの電気機器数は、各電気機器の定格消費電力を合計して何台接続出来るのかを決めている。
【0004】
ただし、サーバなどの電気機器は、常に定格消費電力を消費しているわけではない。それにも拘わらず、すべての電気機器が定格消費電力で同時に動作していることを想定して電源設備を準備すると、過剰な電源設備が必要となる。そこで、電源タップに接続された複数の電気機器が同時に消費する電力が、その電源タップの定格電力を超えないように制御する技術が必要となる。すなわち各電気機器は運用時に定常的に定格消費電力を使用することは稀であるため、最大消費電力を制御することで接続可能機器数を増やすことが可能となる。
【0005】
そこで、センサノードが最大需要電力を予測すると共に、予測に基づいて電力警戒情報を出力し、その電力警戒情報を受け取った制御ノードが消費電力を制御する技術が考えられている(特許文献1参照)。このような技術を用いれば、各電気機器の定格消費電力の合算値が電源タップの最大定格電力を超えるような複数の電気機器を、その電源タップに接続することが可能となる。
【0006】
また、自動車などの車両に搭載された電気負荷の動作/非動作を指示する情報と、各電気負荷の消費電流値を示す消費電流値データテーブルとから、消費電流値を予測する技術が考えられている(特許文献2参照)。この技術によれば、各電気機器の動作/非動作を検知するだけで、消費電流値の予測が可能となる。
【特許文献1】特開平8−182194号公報
【特許文献2】特開2003−291753号公報(段落[0048]、[0049]、図3参照)
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、従来技術を大規模なコンピュータシステムにおける電源タップごとの消費電力監視に適用するのは、現実的ではない。例えば、特許文献1のような技術を電源タップごとに適用する場合、すべての電源タップに対して電力計を設ける必要があり、コストの増加を招く。しかも、コンピュータシステムを構成する各コンピュータは、データの処理状況に応じて消費電力が動的に変動する。消費電力が過大となったとき、電力消費量が少ないコンピュータの負荷を軽減しても消費電力削減効果は見込めない。すなわち、合計消費電力が電源タップの定格消費電力に達した場合、そのとき消費電力が高いコンピュータを検出し、そのコンピュータの負荷を軽減する必要がある。それには、電源タップの差し込み口ごとに電力計を設けることとなり、さらなる設備のコストアップに繋がる。
【0008】
なお、特許文献2の技術は電力計を用いていないが、電気負荷の消費電流値が一定であるものとして、全体の消費電流値を予測している。そのため、コンピュータシステムのように、各機器が常時動作しており動作状況に応じて消費電力が動的に変動するような電気機器を用いたシステムへの適用は困難である。
【0009】
本発明はこのような点に鑑みてなされたものであり、消費電力が時間変動する電気機器それぞれに対して電力計を設置することなく各電気機器の消費電力を随時推定できる消費電力監視プログラム、消費電力監視装置、および消費電力監視方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムが提供される。この消費電力監視プログラムは、コンピュータを負荷情報収集手段と消費電力推定手段として機能させる。負荷情報収集手段は、コンピュータにネットワークを介して接続された電気機器から、電気機器の処理負荷を示す負荷情報を取得する。消費電力推定手段は、電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、負荷情報収集手段が収集した負荷情報に基づいて、電気機器の消費電力を推定する。
【0011】
このような消費電力監視プログラムを実行するコンピュータによれば、電気機器から、負荷情報が取得され、電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、負荷情報に応じた電気機器の消費電力が推定される。
【0012】
また、上記課題を解決するために、上記消費電力監視プログラムを実行するコンピュータと同様の機能を有する消費電力監視装置が提供される。さらに、上記課題を解決するために上記消費電力管理プログラムをコンピュータに実行させることによりコンピュータで実行される処理と同様の処理を行う消費電力監視方法が提供される。
【発明の効果】
【0013】
本発明では、電気機器の処理負荷を示す負荷情報に基づいて、消費電力が時間変動する電気機器の消費電力を随時推定することができる。
【発明を実施するための最良の形態】
【0014】
以下、本実施の形態を図面を参照して説明する。
図1は、実施の形態の概要を示す図である。消費電力監視装置1は、消費電力見積もり情報記憶手段1a、負荷情報収集手段1b、消費電力推定手段1c、および負荷制御手段1dを有する。
【0015】
消費電力見積もり情報記憶手段1aは、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶する。例えば、消費電力見積もり情報記憶手段1aは、電気機器2の代表的な処理負荷に関する情報(電気機器2がコンピュータであれば、CPU使用率)に応じて消費電力を消費電力見積もり情報として記憶する。また、消費電力見積もり情報記憶手段1aは、電気機器2を構成する構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報を記憶することもできる。
【0016】
負荷情報収集手段1bは、コンピュータにネットワークを介して接続された電気機器2から、電気機器2の処理負荷を示す負荷情報を取得する。例えば、負荷情報収集手段1bは、電気機器2の代表的な処理負荷に関する負荷情報を取得する。また、負荷情報収集手段1bは、電気機器2から、電気機器2を構成する構成要素それぞれの処理負荷を示す負荷情報を取得することもできる。
【0017】
消費電力推定手段1cは、消費電力見積もり情報記憶手段1aを参照し、負荷情報収集手段1bが収集した負荷情報に基づいて、電気機器2の消費電力を推定する。例えば、消費電力推定手段1cは、電気機器2の代表的な処理負荷に関する負荷情報が収集された場合、代表的な処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、消費電力を推定する。また、消費電力推定手段1cは、電気機器2を構成する構成要素それぞれの負荷情報が収集された場合、構成要素ごとの負荷情報に基づいて、構成要素ごとの消費電力を判断し、構成要素ごとの消費電力を合計して電気機器2の消費電力とする。
【0018】
負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2の処理負荷を低減させる。例えば、電気機器2がネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードであれば、負荷制御手段1dは、電気機器2の消費電力が予め設定された閾値より大きい場合、電気機器2への単位時間当たりのアクセス数を所定値以下に制限する。
【0019】
このような消費電力監視装置1によれば、電気機器2から負荷情報が取得される。そして、電気機器2の処理負荷に応じた消費電力を示す消費電力見積もり情報に基づいて、負荷情報に応じた電気機器2の消費電力が推定される。その結果、電気機器2に対して電力計を設置しなくても、消費電力が時間変動する電気機器2の消費電力を随時推定することができる。
【0020】
しかも、電気機器2の消費電力が過大となると、電気機器2の負荷を軽減することにより、電力消費を低減せせることができる。その結果、電力計のような特別な機器を設置しなくても、ネットワークに接続された電気機器2の消費電力を、所定値以下に抑制してシステムの運用することができる。
【0021】
このような技術を基礎とすることで、電源タップの差し込み口ごとの消費電力管理が容易となる。そこで、複数の差し込み口を有する電源タップを介してコンピュータなどの機器に電力が供給されるコンピュータシステムにおいて、電源タップ単位の消費電力を管理する場合を例に採り、実施の形態を具体的に説明する。
【0022】
[第1の実施の形態]
図2は、本実施の形態のシステム構成例を示す図である。消費電力監視サーバ100には、ネットワーク10を介して複数のコンピュータ200,300,400,500と複数の電源タップ20,30とが接続されている。コンピュータ200,300,400,500は、ユーザからの操作入力や、ネットワーク10を介して入力される処理要求に応じて、各種データ処理を実行する。
【0023】
コンピュータ200,300には、それぞれRAID(Redundant Array of Independent Disks )装置210,310が接続されている。RAID装置210,310には、複数のハードディスク装置(HDD)が搭載されており、RAID5(パリティ付ストライピング)などの技術を用いた高信頼性のデータ記憶機能を提供する。
【0024】
電源タップ20,30は、電源設備40に接続されている。電源設備40は、電源タップ20,30に対して一定の電圧の電力を供給する。電源タップ20,30には、コンピュータ200,300,400,500やRAID装置210,310の電源プラグを差し込むための差し込み口(電源コンセント)が複数設けられている。電源タップ20には、2台のコンピュータ200,300と2台のRAID装置210,310とが接続されている。電源タップ30には、2台のコンピュータ400,500が接続されている。また、電源タップ20,30は、ネットワーク10経由で入力される指示に基づいて、任意の電源コンセントへの電源供給を遮断することができる。
【0025】
消費電力監視サーバ100は、各コンピュータ200,300,400,500の負荷情報に基づいて消費電力を推定する。そして、消費電力監視サーバ100は、電源タップ20,30ごとに、接続されている電気機器すべての消費電力を推定し、消費電力が過大となる場合、接続されている電気機器の処理負荷を低減させる。また、消費電力監視サーバ100は、いずれかのコンピュータの障害を検出した場合、ネットワーク10経由でそのコンピュータの機能を強制的に停止する。
【0026】
図3は、本実施の形態に用いるコンピュータのハードウェア構成例を示す図である。消費電力監視サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0027】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
【0028】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0029】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0030】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には消費電力監視サーバ100のハードウェア構成のみを示しているが、コンピュータ200,300,400,500も同様のハードウェア構成で実現することができる。
【0031】
図4は、電源タップの内部構造を示す図である。電源タップ20には、複数の差し込み口21a,21b,21c,21dが設けられている。各差し込み口21a,21b,21c,21dは、それぞれ対応するスイッチ22a,22b,22c,22dを介して電源設備40に接続されている。スイッチ22a,22b,22c,22dは、制御回路24からの制御信号に従って、差し込み口21a,21b,21c,21dへの電源の供給/遮断を切り換える。
【0032】
通信インタフェース23は、ネットワーク10を介して消費電力監視サーバ100との間でデータ通信を行う。通信インタフェース23は、消費電力監視サーバ100から送られた処理要求を制御回路24に渡す。
【0033】
制御回路24は、消費電力監視サーバ100から送られた指示に応じてスイッチ22a,22b,22c,22dのオン/オフを制御する。具体的には、制御回路24は、消費電力監視サーバ100から、差し込み口の番号を指定した電源遮断指示を受け取ると、指定された差し込み口に対応するスイッチに対して、電源遮断を示す信号を出力する。この信号を受け取ったスイッチは、差し込み口への電源の供給を遮断する。
【0034】
このような内部構造の電源タップ20を用いることで、障害が発生したコンピュータへの電源の供給を強制的に遮断できる。なお、図4には、電源タップ20の内部構造を示したが、他の電源タップ30も同様の内部構造を有している。
【0035】
図5は、消費電力を制御するための機能を示すブロック図である。消費電力監視サーバ100は、消費電力見積もり情報記憶部110、接続機器情報記憶部120、最大消費電力情報記憶部130、負荷情報収集部140、消費電力推定部150、アクセス制限指示部160、障害監視部170、および強制停止制御部180を有している。
【0036】
消費電力見積もり情報記憶部110は、各コンピュータ200,300,400,500の負荷情報に基づいて消費電力を推定するために必要な情報を記憶する記憶機能である。例えば、HDD103の記憶領域の一部が消費電力見積もり情報記憶部110として使用される。消費電力見積もり情報記憶部110には、CPU消費電力換算表111、内蔵ディスク消費電力換算表112、RAID装置消費電力換算表113、およびNIC(Network Interface Card)消費電力換算表114が記憶されている。
【0037】
CPU消費電力換算表111には、CPUやRAMの負荷に応じた消費電力の換算値が設定されている。内蔵ディスク消費電力換算表112には、コンピュータの内蔵ディスクへのアクセス頻度に応じた消費電力の換算値が設定されている。RAID装置消費電力換算表113には、コンピュータに接続されたRAID装置へのアクセス頻度に応じた消費電力の換算値が設定されている。NIC消費電力換算表114には、コンピュータ内の通信インタフェースにおける通信量に応じた消費電力の換算値が設定されている。
【0038】
接続機器情報記憶部120には、電源タップ20,30に接続された機器を示す情報を記憶する記憶機能である。例えば、HDD103の記憶領域の一部が、接続機器情報記憶部120として使用される。
【0039】
最大消費電力情報記憶部130は、各電源タップ20,30の最大消費電力を示す情報を記憶する記憶機能である。最大消費電力は、電源タップ20,30から供給される電力を抑制するか否か(コンピュータの処理負荷を軽減するか否か)の判断基準となる閾値である。例えば、HDD103の記憶領域の一部が最大消費電力情報記憶部130として使用される。
【0040】
負荷情報収集部140は、コンピュータ200,300,400,500から負荷情報を収集する。負荷情報には、CPUの使用率、内蔵ディスクへの単位時間当たりのアクセス数、RAID装置への単位時間当たりのアクセス数、およびネットワーク10を介した通信の単位時間当たりのデータ量が含まれる。負荷情報収集部140は、収集した負荷情報を消費電力推定部150に渡す。また、負荷情報収集部140は、コンピュータ200,300,400,500から負荷情報を取得すると、取得した負荷情報を障害監視部170に渡す。
【0041】
消費電力推定部150は、負荷情報収集部140から受け取った負荷情報に基づいて、電源タップごとの消費電力を推定する。具体的には、消費電力推定部150は、消費電力見積もり情報記憶部110に格納されている情報を参照し、各コンピュータの負荷情報に基づいて、コンピュータの構成要素ごとの消費電力や、RAID装置の消費電力を推定する。そして、消費電力推定部150は、コンピュータ内の各要素の消費電力の合計を、そのコンピュータの消費電力と推定する。そして、消費電力推定部150は、接続機器情報記憶部120を参照し、各電源タップに接続されている機器を判断し、電源タップごとの消費電力を推定する。
【0042】
電源タップごとの消費電力を推定した後、消費電力推定部150は、最大消費電力情報記憶部130を参照し、電源タップごとの消費電力が、最大消費電力を超えているか否かを判断する。そして、消費電力推定部150は、消費電力が最大消費電力を超えている電源タップがある場合、その電源タップに接続されたコンピュータの識別番号をアクセス制限指示部160に通知する。
【0043】
アクセス制限指示部160は、消費電力推定部150からコンピュータの識別番号が通知されると、該当するコンピュータに対してアクセス制限要求を送信する。
障害監視部170は、各コンピュータ200,300,400,500が正常に動作しているか否かを確認する。例えば、負荷情報が定期的に受信できているか否かによって、動作の有無を判断することができる。障害監視部170は、動作していないコンピュータを検出した場合、そのコンピュータの識別情報を強制停止制御部180に渡す。
【0044】
強制停止制御部180は、障害監視部170からコンピュータの識別情報を受け取ると、該当するコンピュータを強制的に停止させる。具体的には、強制停止制御部180は、強制停止対象のコンピュータに対してリモートアクセスを行いシャットダウンの指示を送信する。強制停止制御部180は、シャットダウンが正常に完了できない場合、接続機器情報記憶部120を参照し、強制停止対象のコンピュータが接続されている電源タップと、接続されている差し込み口の番号を取得する。そして、強制停止制御部180は、強制停止対象のコンピュータが接続されている電源タップに対して、該当するコンピュータが接続された差し込み口の電源供給の遮断を指示する。
【0045】
コンピュータ200は、負荷情報管理部220、アクセス制御部230、および遠隔制御受付部240を有している。
負荷情報管理部220は、コンピュータ200の負荷情報を定期的に消費電力監視サーバ100に送信する。なお、コンピュータ200の負荷情報は、OSに実装されているシステム管理機能を介して取得できる。
【0046】
アクセス制限部230は、消費電力監視サーバ100からアクセス制限要求を受け取ると、ネットワーク10を介した単位時間当たりのアクセス数を制限する。具体的には、アクセス制限部230が管理するメモリには、アクセス制限時の単位時間当たりのアクセス許容数が予め記憶されている。そして、アクセス制限部230は、アクセス制限要求に応答して、単位時間当たりに処理するアクセス数をアクセス許容数までに制限する。すなわち、アクセス制限部230は、アクセス制限の指示を受けた場合、単位時間内で、ネットワーク10を介したアクセス要求がアクセス許容数に達すると、その単位時間内はネットワーク10を介したアクセス要求に応じた処理を停止する。そして、単位時間が経過すると、ネットワーク10を介したアクセス要求に応じた処理を再開する。
【0047】
遠隔制御受付部240は、ネットワーク10経由での遠隔操作を受け付ける。例えば、遠隔制御受付部240は、消費電力監視サーバ100からのネットワーク10を介したリモートログインを受け付ける。そして、消費電力監視サーバ100からシャットダウンの指示が送られると、遠隔制御受付部240がシャットダウンコマンドを実行する。
【0048】
次に、消費電力監視サーバ100に予め格納されるデータの内容について具体的に説明する。
まず、消費電量見積もり情報の算出方法について説明する。本実施の形態では、消費電力を見積もるために、コンピュータ内の電力消費要素をグループ分けしている。
【0049】
図6は、消費電力見積もりのための要素グループを示す図である。コンピュータ200内で電力を消費する要素のうち、CPU201とRAM202,203とを1つのグループ(グループA)にまとめる。また、HDD204,205を1つのグループ(グループB)にまとめる。そして、通信インタフェース(NIC)を1つのグループ(グループC)とする。
【0050】
ここで、コンピュータ200の消費電力は、どのようなアプリケーションソフトウェア(以下、単にアプリケーションと呼ぶ)を実行しているのかによって異なってくる。例えば、HDD204,205に対するデータの入出力が少なく、CPU201における演算処理を主に行うアプリケーション(アプリケーションa)の場合、主にグループAの消費電力が増加する。HDD204,205に対するデータの入出力が頻繁に発生するアプリケーション(アプリケーションb)の場合、主にグループBの消費電力が増加する。ネットワーク10を介した通信を大量に行うアプリケーション(アプリケーションc)の場合、主にグループCの消費電力が増加する。
【0051】
そこで、各グループがそれぞれどの程度使われているのかを把握することで、消費電力を見積もることができる。グループAの消費電力は、CPU使用率に依存するものと考えられる。グループBの消費電力は、単位時間(1秒)当たりのディスクアクセス数(disk iops)に依存するものと考えられる。グループCの消費電力は、単位時間(1秒)当たりのビット単位の通信データ量(network bps)に依存するものと考えられる。
【0052】
コンピュータ200の動作中は、各グループ内の要素が混在して使用される。従って、グループA,B,Cそれぞれの消費電力の合計値がコンピュータ200の消費電力となる。
【0053】
そこで、消費電力見積もり情報を作成するために予めベンチマークを行う。ベンチマークは、それぞれのグループへの消費電力の影響度が高いアプリケーションをコンピュータ200で実行し、その際のコンピュータ200の消費電力を電力計で計測する。
【0054】
まず、ユーザは、グループAに含まれるCPU201とRAM202,203とを主に使用するアプリケーションaを用いてベンチマークを行う。すなわち、ユーザは、アプリケーションaをコンピュータ200に実行させ、CPU使用率をOSから取得すると共に、コンピュータ200の消費電力を計測する。このときCPU使用率を徐々に上げることで、CPU使用率に応じた消費電力を採取する。
【0055】
図7は、CPU使用率と消費電力との関係を示すグラフである。このグラフは、横軸にCPU使用率をとり、縦軸に消費電力をとっている。このグラフでは、CPU使用率に応じたコンピュータ200の消費電力を実線で示している。
【0056】
アプリケーションaを用いたベンチマークによってユーザがこのようなグラフを作成することで、CPU使用率に応じたグループAの消費電力が推定できる。なお、実際には、グループAに含まれる要素以外の要素(例えば、コンピュータ200内のパワーサプライユニット)による消費電力も、図7で示される消費電力に含まれている。すなわち、CPU201を主に使用するアプリケーションaを用いたベンチマークを行うことで、HDD204,205とNIC206との影響を除いたCPU使用率と消費電力との関係を知ることができる。
【0057】
次に、ユーザは、グループBに含まれるHDD204,205に対するデータの入出力を頻繁に行うアプリケーションbを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションbをコンピュータ200に実行させ、単位時間当たりのディスクアクセス数、CPU使用率、およびコンピュータ200の消費電力を計測する。このとき、単位時間当たりのディスクアクセス数を徐々に上げることで、単位時間当たりのディスクアクセス数に応じたCPU使用率と消費電力とを採取する。
【0058】
図8は、単位時間当たりのディスクアクセス数と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりのディスクアクセス数(disk iops)をとり、縦軸に消費電力をとっている。
【0059】
このグラフにおいて、単位時間当たりのディスクアクセス数に応じたコンピュータ200の消費電力を実線で示している。また、ユーザは、図7に示すグラフに示すCPU使用率と消費電力との関係を利用し、単位時間当たりのディスクアクセス数に応じたCPU使用率から、単位時間当たりのディスクアクセス数に応じたグループAの消費電力を求める。そして、図8のグラフでは、単位時間当たりのディスクアクセス数に応じたグループAの消費電力を破線で示している。
【0060】
アプリケーションbを用いたベンチマークによってユーザがこのようなグラフを作成することで、単位時間当たりのディスクアクセス数に応じたグループBの消費電力が推定できる。すなわち、グループBの消費電力は、コンピュータ200の消費電力からグループAの消費電力を減算することで求められる。図8のグラフであれば、単位時間当たりのディスクアクセス数に応じた実線と破線との差が、グループBの消費電力を表している。
【0061】
次に、ユーザは、グループCに含まれるNIC206を介したデータ通信を大量に行うアプリケーションcを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションcをコンピュータ200に実行させ、単位時間当たりの通信データ量、CPU使用率、およびコンピュータ200の消費電力を計測する。このとき、単位時間当たりの通信データ量を徐々に上げることで、単位時間当たりの通信データ量に応じたCPU使用率と消費電力とを採取する。
【0062】
図9は、単位時間当たりの通信データ量と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりの通信データ量(network bps)をとり、縦軸に消費電力をとっている。
【0063】
このグラフにおいて、単位時間当たりの通信データ量に応じたコンピュータ200の消費電力を実線で示している。また、ユーザは、図7に示すグラフに示すCPU使用率と消費電力との関係を利用し、単位時間当たりの通信データ量に応じたCPU使用率から、単位時間当たりの通信データ量に応じたグループAの消費電力を求める。そして、図9のグラフでは、単位時間当たりの通信データ量に応じたグループAの消費電力を破線で示している。
【0064】
アプリケーションcを用いたベンチマークによってユーザがこのようなグラフを作成することで、単位時間当たりの通信データ量に応じたグループCの消費電力が推定できる。すなわち、グループCの消費電力は、コンピュータ200の消費電力からグループAの消費電力を減算することで求められる。図9のグラフであれば、単位時間当たりの通信データ量に応じた実線と破線との差が、グループCの消費電力を表している。
【0065】
次に、ユーザは、RAID装置210へのIOアクセスを行うアプリケーションdを用いたベンチマークを行う。すなわち、ユーザは、アプリケーションdをコンピュータ200に実行させ、単位時間(1秒)当たりのアクセス数と、RAID装置210の消費電力を計測する。このとき、単位時間当たりのディスクアクセス数を徐々に上げることで、単位時間当たりのディスクアクセス数に応じた消費電力を採取する。
【0066】
図10は、単位時間当たりのRAID装置へのアクセス数と消費電力との関係を示すグラフである。このグラフは、横軸に単位時間当たりのRAID装置210へのアクセス数(RAID装置へのiops)をとり、縦軸に消費電力をとっている。このグラフにおいて、単位時間当たりのRAID装置210へのアクセス数に応じたコンピュータ200の消費電力を実線で示している。
【0067】
図7〜10に示したベンチマークの結果に基づいて、ユーザは、消費電力見積もり情報を作成する。すなわち、CPU消費電力換算表111、内蔵ディスク消費電力換算表112、RAID装置消費電力換算表113、およびNIC消費電力換算表114を作成する。
【0068】
図11は、CPU消費電力換算表を示す図である。CPU消費電力換算表111には、CPU使用率と消費電力の欄が設けられている。CPU使用率の欄には、CPU使用率(単位:%)が設定される。消費電力の欄には、対応するCPU使用率のときのCPU201などを含むグループAの消費電力(単位:ワット)が設定される。このような対応関係は、図7のグラフを参照して設定することができる。
【0069】
図12は、内蔵ディスク消費電力換算表を示す図である。内蔵ディスク消費電力換算表112には、単位時間当たりのアクセス数と消費電力の欄が設けられている。単位時間当たりのアクセス数の欄には、HDD204,205に対する単位時間当たりのアクセス数(disk iops)が設定される。消費電力の欄には、対応する単位時間当たりのアクセス数のときのHDD204,205を含むグループBの消費電力(単位:ワット)が設定される。このような対応関係は、図8のグラフを参照して設定することができる。
【0070】
図13は、RAID装置消費電力換算表を示す図である。RAID装置消費電力換算表113には、単位時間当たりのアクセス数と消費電力の欄が設けられている。単位時間当たりのアクセス数の欄には、RAID装置210に対する単位時間当たりのアクセス数(RAID装置のiops)が設定される。消費電力の欄には、対応する単位時間当たりのアクセス数のときのRAID装置210の消費電力(単位:ワット)が設定される。このような対応関係は、図10のグラフを参照して設定することができる。
【0071】
図14は、NIC消費電力換算表を示す図である。NIC消費電力換算表114には、単位時間当たりの通信データ量と消費電力の欄が設けられている。単位時間当たりの通信データ量の欄には、NIC206を介した単位時間当たりの通信データ量(単位:Mbps)が設定される。消費電力の欄には、対応する単位時間当たりの通信データ量のときのNICを含むグループCの消費電力(単位:ワット)が設定される。このような対応関係は、図9のグラフを参照して設定することができる。
【0072】
このような各消費電力換算表が、消費電力見積もり情報記憶部110に予め格納される。また、ユーザは、接続機器情報と最大消費電力情報とを作成し、それぞれ接続機器情報記憶部120と最大消費電力情報記憶部130とに格納する。
【0073】
図15は、接続機器情報のデータ構造を示す図である。接続機器情報121では、電源タップを一意に識別するための識別情報に対応付けて、その電源タップの各差し込み口に接続された機器を一意に識別するための識別情報が設定されている。
【0074】
図15の例では、電源タップ20の識別情報「電源タップ1」に対応付けて、「差し込み口1」に対してコンピュータ200の識別情報「PC1」が設定され、「差し込み口2」に対してコンピュータ300の識別情報「PC2」が設定され、「差し込み口3」に対してRAID装置210の識別情報「RAID1」が設定され、「差し込み口4」に対してRAID装置310の識別情報「RAID2」が設定されている。
【0075】
また、電源タップ30の識別情報「電源タップ2」に対応付けて、「差し込み口1」に対してコンピュータ400の識別情報「PC3」が設定され、「差し込み口2」に対してコンピュータ500の識別情報「PC4」が設定されている。
【0076】
図16は、最大消費電力情報のデータ構造を示す図である。最大消費電力情報131では、電源タップを一意に識別するための識別情報に対応付けて、その電源タップの最大消費電力(単位:ワット)が設定されている。図16の例では、電源タップ20の識別情報「電源タップ1」に対応付けて、最大消費電力「2000W」が設定されている。また、電源タップ30の識別情報「電源タップ2」に対応付けて、最大消費電力「2000W」が設定されている。
【0077】
なお、最大消費電力情報131として設定する最大消費電力の値は、各電源タップの定格電力以下の値が設定される。例えば、最大消費電力を電源タップの定格電力より小さい値(例えば、定格電力の90%の値)としておくことで、電源タップから供給される電力が定格電力に達する前に、消費電力の抑制が可能となる。
【0078】
以上のような構成のシステムによって、電源タップごとの消費電力管理が行われる。本実施の形態における消費電力管理処理には、電源タップに接続された機器の合計消費電力がその電源タップの最大消費電力を超えた場合のアクセス制限処理と、異常動作検出時の異常動作機器の機能停止処理とがある。
【0079】
図17は、アクセス制限処理の概略を示す図である。各コンピュータ200,300,400,500は、定期的に負荷情報を消費電力監視サーバ100に送信する(ステップS1)。消費電力監視サーバ100は、各コンピュータ200,300,400,500の負荷情報に基づいて、合計消費電力が最大消費電力を超えた電源タップがあるか否かを判断する。
【0080】
図17の例では、コンピュータ200の負荷が過大であることにより、電源タップ20から供給される合計消費電力が最大消費電力を超えているものとする。この場合、消費電力監視サーバ100は、コンピュータ200に対してアクセス制限要求を送信する(ステップS2)。すると、コンピュータ200は、単位時間当たりに処理するアクセス要求を所定数に制限する。これにより、コンピュータ200およびRAID装置210の処理負荷が低減し、電源タップ20から供給される合計消費電力を低減させることができる。
【0081】
図18は、アクセス数制限処理の手順を示すシーケンス図である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS11]コンピュータ200は、負荷情報を消費電力監視サーバ100に送信する。同様に、他のコンピュータ300,400,500からも消費電力監視サーバ100に対して負荷情報が送信される。送信された負荷情報は、消費電力監視サーバ100の負荷情報収集部140で受け取られ、消費電力推定部150に渡される。
【0082】
[ステップS12]消費電力監視サーバ100の消費電力推定部150は、コンピュータ200,300,400,500から受信した負荷情報に基づいて、機器ごとの消費電力を推定する。コンピュータ200の消費電力は、CPU使用率、内蔵ディスクへの単位時間当たりのアクセス数、ネットワーク10を介した単位時間当たりの通信データ量に基づいて計算される。
【0083】
具体的には、消費電力推定部150は、CPU消費電力換算表111を参照し、CPU使用率の欄から、負荷情報で示されるCPU使用率以上の最も小さい値のCPU使用率を選択する。そして、消費電力推定部150は、選択したCPU使用率に対応する消費電力を、コンピュータのCPU等による消費電力と推定する。
【0084】
また、消費電力推定部150は、内蔵ディスク消費電力換算表112を参照し、単位時間当たりのアクセス数の欄から、負荷情報で示される内蔵ディスクへの単位時間当たりのアクセス数以上で最も小さい値の単位時間当たりのアクセス数を選択する。そして、消費電力推定部150は、選択した単位時間当たりのアクセス数に対応する消費電力を、コンピュータのHDDによる消費電力と推定する。
【0085】
さらに、消費電力推定部150は、NIC消費電力換算表114を参照し、単位時間当たりの通信データ量の欄から、負荷情報で示される単位時間当たりの通信データ量以上で最も小さい値の単位時間当たりの通信データ量を選択する。そして、消費電力推定部150は、選択した単位時間当たりの通信データ量に対応する消費電力を、コンピュータのNICによる消費電力と推定する。
【0086】
そして、消費電力推定部150は、CPU等による消費電力、HDDによる消費電力、およびNICによる消費電力の合計を、コンピュータの消費電力と推定する。
また、消費電力推定部150は、RAID装置消費電力換算表113を参照し、単位時間当たりのアクセス数の欄から、負荷情報で示されるRAID装置への単位時間当たりのアクセス数以上で最も小さい値の単位時間当たりのアクセス数を選択する。そして、消費電力推定部150は、選択した単位時間当たりのアクセス数に対応する消費電力を、RAID装置の消費電力と推定する。
【0087】
[ステップS13]消費電力推定部150は、電源タップごとの消費電量を推定する。具体的には、消費電力推定部150は接続機器情報121を参照し、各電源タップに接続されている機器を判断する。そして、消費電力推定部150は、電源タップに接続されている各機器の消費電力を合計し、電源タップごとの消費電力と推定する。
【0088】
[ステップS14]消費電力推定部150は、アクセス制限の要否を判定する。具体的には、消費電力推定部150は、最大消費電力情報131を参照し、各電源タップから供給されている消費電力が、最大消費電力を超えていないかどうかを判断する。
【0089】
[ステップS15]消費電力推定部150は、最大消費電力を超えている電源タップがある場合、処理をステップS16に進める。最大消費電力を超えている電源タップがなければ、処理を終了する。
【0090】
[ステップS16]消費電力推定部150は、アクセス制限指示部160に対して、最大消費電力を超えて電力を供給している電源タップに接続されているコンピュータ200へのアクセス制限を依頼する。具体的には、消費電力推定部150は、最大消費電力を超えて電力を供給している電源タップに接続されたコンピュータの中から、少なくとも1台のコンピュータ(図18の例では、コンピュータ200)を、アクセス制限対象として選択する。例えば、最も消費電力の大きいコンピュータをアクセス制限対象として選択する。そして、消費電力推定部150は、アクセス制限対象のコンピュータ200の識別情報をアクセス制限指示部160に通知し、そのコンピュータ200へのアクセス制限を依頼する。アクセス制限指示部160は、識別情報で指定されたアクセス制限対象のコンピュータ200に対して、アクセス数を制限するべき旨のアクセス制限要求を送信する。
【0091】
[ステップS17]コンピュータ200のアクセス制限部230は、アクセス制限要求に応答して、単位時間当たりに処理するアクセス要求の数を制限する。
このようにして、電源タップから供給される電力が最大消費電力を超えると、その電源タップに接続されたコンピュータに対してアクセス制限が施される。その結果、コンピュータの処理負荷が軽減し、消費電力も低減する。すなわち、電源タップに接続された電気機器の時間変化する消費電力を正確に推定し、各電気機器の消費電力の合計を電源タップの最大消費電力以下に抑制できる。
【0092】
このような制御を行っていれば、電源タップに接続する機器の最大定格電力の合計が電源タップの定格電力を超えていたとしても、実際に電源タップから供給される電力が定格電力を超えることを防止できる。換言すると、複数の機器の最大定格電力の合計が電源タップの定格電力を超えるような場合でも、それらの機器をその電源タップに接続して運用することが可能となる。その結果、電源設備の増強を行わずに、多数の機器の運用が可能となる。
【0093】
なお、コンピュータにアクセス制限を施した後は、そのコンピュータが接続された電源タップの消費電力がある程度以下になった時点で、アクセス制限を解除することができる。例えば、アクセス制限指示部160は、各コンピュータに対してアクセス制限要求を送信したか否かの情報を、RAM内の記憶領域に記憶しておく。そして、アクセス制限を施したコンピュータが接続された電源タップから供給されている電力が所定値以下(例えば、最大消費電力の80%以下)まで低減したら、アクセス制限指示部160からアクセス制限が施されているコンピュータに対して、アクセス制限の解除指示を送信する。その指示を受け取ったコンピュータは、アクセス制限を解除する。
【0094】
次に、異常動作機器の機能停止処理について説明する。
図19は、異常動作機器の機能停止処理の概略を示す図である。消費電力監視サーバ100は、コンピュータ200,300,400,500の状態を監視し、各コンピュータの障害の有無を判断する(ステップS3)。例えば、負荷情報の送信が所定期間途絶えているコンピュータは、障害が発生していると判断できる。また、消費電力監視サーバ100から各コンピュータ200,300,400,500に接続確認のコマンド(ping)を定期的に送信し、所定期間応答が返されないコンピュータについて障害が発生していると判断することもできる。さらに、各コンピュータ200,300,400,500から定期的にハートビート信号を消費電力監視サーバ100に送信するようにし、そのハートビート信号を所定期間送信しないコンピュータについて障害が発生していると判断することもできる。さらに、負荷情報に基づいて、CPU使用率や通信データ量が異常に高いコンピュータについても、障害が発生していると判断できる。
【0095】
図19の例では、コンピュータ200に障害が発生しているものとする。障害のあるコンピュータ200を検出した消費電力監視サーバ100は、そのコンピュータ200に対してOSのシャットダウンの指示を送信する(ステップS4)。例えば、消費電力監視サーバ100は、コンピュータ200に対してリモートログインを行い、シャットダウンコマンドをコンピュータ200に入力する。ここで、シャットダウンに成功すれば、消費電力監視サーバ100からコンピュータ200へのリモートログインのためのコネクションが、コンピュータ200から強制的に切断される。消費電力監視サーバ100は、このコネクションの切断によって、シャットダウンが成功終了したものと判断することができる。また、IPMI(Intelligent Platform Management Interface)の技術を利用すれば、コンピュータ200,300,400,500の稼動状態の監視や、OSが停止している状態のコンピュータ200,300,400,500との通信が可能となる。従って、IPMIを用いて、障害が発生したコンピュータの稼働状態がOS停止状態(例えば、ROMベースのプログラムが動作している状態)になったことを確認することで、シャットダウンが正常に完了したことを確認できる。
【0096】
シャットダウンの指示を出してから所定時間経ってもシャットダウンが正常に完了できなかった場合、消費電力監視サーバ100は、該当するコンピュータ200に対する電源タップ20からの電源供給を停止する。すなわち、消費電力監視サーバ100は、コンピュータ200が接続された差し込み口の識別番号を指定し、電源タップ20に対して電源遮断指示を送信する(ステップS5)。電源タップ20は、指定された差し込み口に接続されたスイッチをオフにし、電源供給を遮断する。これにより、障害により過剰に電力を消費するおそれのあるコンピュータ200への電源供給を遮断し、電源タップ20からの供給電力が最大消費電力を超えてしまうことを防止できる。
【0097】
なお、異常機器の検出方法は、複数の方法を利用することができる。そこで、接続確認要求(ping)を用いた異常判定と、負荷情報に基づく異常判定とを組み合わせる場合の例を用いて、異常動作機器の機能停止処理を詳細に説明する。
【0098】
接続確認要求に基づいてコンピュータの異常判定を行う場合、消費電力監視サーバ100の障害監視部170において、各コンピュータから接続確認要求に対する応答が受け取れなかった回数(連続無応答数)が管理される。また、負荷情報に基づく異常判定を行う場合、障害監視部170には、負荷情報の履歴が管理される。
【0099】
図20は、障害監視部で管理される情報を示す図である。図20に示すように、障害監視部170は、連続無応答管理テーブル171と負荷情報履歴管理テーブル172とを用いて、各コンピュータ200,300,400,500から収集した情報を管理する。具体的には、障害監視部170が管理するメモリ内に連続無応答管理テーブル171と負荷情報履歴管理テーブル172とが格納される。
【0100】
連続無応答管理テーブル171には、ノード名と連続無応答数との欄が設けられている。ノード名の欄には、各コンピュータ200,300,400,500の識別情報が設定される。連続無応答数の欄には、対応するコンピュータに対して接続確認要求を送信し、応答が連続して得られなかった回数(連続無応答数)が設定される。連続無応答数は、コンピュータに対して接続確認要求を送信し、その接続確認要求に対して応答が全く返されない場合、1ずつカウントアップされる。また、接続確認要求に対して応答が返された場合、応答を返したコンピュータの連続無応答数は「0」にリセットされる。
【0101】
負荷情報履歴管理テーブル172には、負荷情報の数回分の履歴が格納される。図20の例では、負荷情報に含まれる情報のうち、CPU使用率と単位時間当たりの通信データ量とが、過去4回分格納されている。負荷情報履歴管理テーブル172には、ノード名、直前の情報、直前より1つ前情報、直前より2つ前情報、および直前より3つ前情報の欄が設けられている。ノード名の欄には、コンピュータの識別情報が設定される。直前の情報の欄には、直前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の1つ前の情報の欄には、直前よりも1つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の2つ前の情報の欄には、直前よりも2つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。直前の3つ前の情報の欄には、直前よりも3つ前に受信した負荷情報内のCPU使用率と単位時間当たりの通信データ量とが設定される。
【0102】
このような連続無応答管理テーブル171と負荷情報履歴管理テーブル172とを利用して異常動作機器の機能停止処理が行われる。
図21は、異常動作機器の機能停止処理の手順を示すシーケンス図である。以下、図21に示す処理をステップ番号に沿って説明する。
【0103】
[ステップS21]消費電力監視サーバ100の障害監視部170は、コンピュータ200に対して、接続確認要求を送信する。
[ステップS22]コンピュータ200のOSは、コンピュータ200が正常に動作していれば接続確認要求に対する応答を返す。
【0104】
[ステップS23]消費電力監視サーバ100の障害監視部170は、コンピュータ200からの応答の有無に応じて、連続無応答管理テーブル171の内容を更新する。すなわち、所定時間待っても応答が返ってこない場合、障害監視部170は、コンピュータ200に対応する連続無応答数の値を1だけカウントアップする。また、応答が返ってきた場合、障害監視部170は、コンピュータ200に対応する連続無応答数の値を「0」にする。その後、ステップS26移行の処理が行われる。
【0105】
[ステップS24]また、コンピュータ200の負荷情報管理部220は定期的に負荷情報を、消費電力監視サーバ100に対して送信する。
[ステップS25]消費電力監視サーバ100の障害監視部170は、受信した負荷情報に基づいて、負荷情報履歴管理テーブル172を更新する。具体的には、障害監視部170は、受信した負荷情報からCPU使用率と単位時間当たりの通信データ量とを抽出し、負荷情報履歴管理テーブル172内のコンピュータ200に対応する直前の情報として登録する。その際、負荷情報履歴管理テーブル172内のコンピュータ200に対応付けて登録されていた情報は、それぞれ古い情報の欄に移動される。その後、ステップS26移行の処理が行われる。
【0106】
[ステップS26]障害監視部170は、各コンピュータの動作が異常となっているか否かの判定処理を行う。具体的には、障害監視部170は、連続無応答管理テーブル171を参照し、連続無応答数が予め設定された閾値を超えたコンピュータの有無を判断する。例えば、図20に示した内容の連続無応答数管理テーブル171であれば、連続無応答数の閾値として「3」が設定されていた場合、識別情報「PC4」のコンピュータ500に異常があるものと判定される。
【0107】
また、障害監視部170は、負荷情報履歴管理テーブル172を参照し、負荷が過大となっているコンピュータの有無を判定する。例えば、障害監視部170は、過去4回分の負荷情報におけるCPU使用率と通信データ量との比率の平均を計算する。そして、障害監視部170は、その平均比率をコンピュータ間で比較し、他のコンピュータよりも所定値以上高い(例えば、4倍以上)コンピュータを異常と判断する。図20に示した負荷情報履歴管理テーブル172の例であれば、識別番号「PC2」のコンピュータ300は、単位時間当たりの通信データ量が識別番号「PC1」と同程度にあるにも拘わらず、CPU使用率が4倍以上となっている。したがって、障害監視部170は、識別番号「PC2」のコンピュータ300に異常があると判定する。
【0108】
[ステップS27]障害監視部170は、異常判定の結果、異常のあるコンピュータがある場合、処理をステップS28に進める。異常のあるコンピュータがなければ、処理が終了する。
【0109】
[ステップS28]障害監視部170は、異常と判定したコンピュータの識別情報を強制停止制御部180に通知する。強制停止制御部180は、異常と判定されたコンピュータ(図21の例では、コンピュータ200に異常があるものとする)に対して、シャットダウン指示を送信する。
【0110】
[ステップS29]コンピュータ200の遠隔制御受付部240は、シャットダウン指示に応じてOSのシャットダウンコマンドを実行する。
[ステップS30]強制停止制御部180は、シャットダウンが正常に完了したか否かを判断する。正常に完了した場合、処理が終了する。正常に終了しなかった場合、処理がステップS31に進められる。
【0111】
[ステップS31]強制停止制御部180は、コンピュータ200が接続された電源タップ20に対して、コンピュータ200が接続されている差し込み口の電源遮断を指示する。
【0112】
[ステップS32]電源タップ20の制御回路24は、コンピュータ200が接続された差し込み口21aに対応するスイッチ22aをオフにすることで、コンピュータ200への電源供給を遮断する。
【0113】
このようにして、故障などにより異常な動作をしているコンピュータを強制的に停止させることができる。異常な動作をしているコンピュータは、CPU使用率が異常に高まるといった消費電力の増加を伴うことが多い。そのため、異常な動作をしているコンピュータを強制的に停止させることにより、電源タップを介して供給される電力が最大消費電力を超えることを防止できる。
【0114】
しかも、異常な動作をしているコンピュータを停止させてしまえば、そのコンピュータが使用していた電力を、同じ電源タップに接続されている他のコンピュータに振り分けることができる。すなわち、あるコンピュータの動作が異常となることにより他のコンピュータへのアクセス数が増加し、他のコンピュータの消費電力が増大することが考えられる。この場合でも、異常な動作をしたコンピュータを停止させることで、正常に動作しているコンピュータ(停止したコンピュータと同じ電源タップに接続されている)で使用可能な電力量が増大する。そのため、正常に動作しているコンピュータは、処理能力を最大限に発揮してアクセス要求を処理できる。
【0115】
[第2の実施の形態]
第2の実施の形態は、第1の実施の形態に示した消費電力監視機能を、分散ストレージシステムに適用したものである。
【0116】
第1の実施の形態では、異常と判定されたコンピュータを強制的に停止することで、電源タップから供給される電力が過大となるのを防止している。ただし、異常なコンピュータを強制的に停止してしまうと、そのコンピュータに接続されたRAID装置に格納されたデータを他のコンピュータからアクセスできなくなる。そこで、データを2重化して格納する分散ストレージシステムを用いて、各データを複数のコンピュータで個別に管理することで、いずれかのコンピュータを強制的に停止してもシステム全体としての運用を継続することが可能となる。
【0117】
図22は、分散ストレージシステムのシステム構成を示す図である。本実施の形態では、ネットワーク51を介して、複数のディスクノード620,630,640,650、制御ノード610、アクセスノード660、および電源タップ61,62が接続されている。ディスクノード620,630,640,650それぞれには、RAID装置621,631,641,651が接続されている。
【0118】
各RAID装置621,631,641,651には、複数のハードディスク装置(HDD)が実装されている。各RAID装置621,631,641,651は、内蔵するHDDを用いたRAIDシステムである。本実施の形態では、各RAID装置621,631,641,651は、RAID5のディスク管理サービスを提供する。
【0119】
ディスクノード620,630,640,650は、例えば、IA(Intel Architecture)と呼ばれるアーキテクチャのコンピュータである。ディスクノード620,630,640,650は、接続されたRAID装置621,631,641,651に格納されたデータを管理し、管理しているデータをネットワーク51経由で端末装置53〜55に提供する。また、ディスクノード620,630,640,650は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも2つのディスクノードで管理されている。
【0120】
電源タップ61に設けられたプラグの差し込み口には、ディスクノード620,630とRAID装置621,631とが接続されている。電源タップ62に設けられたプラグの差し込み口には、ディスクノード640,650とRAID装置641,651とが接続されている。電源タップ61,62は、ネットワーク51を介した指示に応じて、差し込み口への電源供給のオン、オフを切り換えることができる。
【0121】
制御ノード610は、ディスクノード620,630,640,650を管理する。例えば、制御ノード610には、ディスクノード620,630,640,650やRAID装置621,631,641,651がどの電源タップに接続されているかが予め登録されている。そして、制御ノード610は、各電源タップで供給されている電力が最大消費電力を超えているか否かを判断する。制御ノード610は、消費電力が過大となっている電源タップに接続されたディスクノードに対してアクセス制限の指示を出す。また、制御ノード610は、ディスクノード620,630,640,650の動作を監視し、異常を検出した場合、該当するディスクノードをシャットダウンさせる。ディスクノードのシャットダウンに失敗した場合、制御ノード610は、そのディスクノードが接続されている電源タップに指示を出し、該当するディスクノードへの電源供給を遮断させる。
【0122】
アクセスノード660には、ネットワーク52を介して複数の端末装置53〜55が接続されている。アクセスノード660は、ディスクノード620,630,640,650それぞれが管理しているデータの格納場所を認識しており、端末装置53〜55からの要求に応答して、ディスクノード620,630,640,650へデータアクセスを行う。
【0123】
図22に示すように、複数のディスクノード620,630,640,650がネットワーク51に接続され、それぞれのディスクノード620,630,640,650は他のディスクノードとの間で通信を行う。このマルチノードストレージシステムは、端末装置53〜55に対して、仮想的なボリューム(以下、論理ボリュームと呼ぶ)として機能する。
【0124】
図23は、論理ボリュームのデータ構造を示す図である。論理ボリューム700には、「LVOL−A」という識別子(論理ボリューム識別子)が付与されている。また、ネットワーク経由で接続された4台のディスクノード620,630,640,650には、個々のディスクノードの識別のためにそれぞれ「SN−A」、「SN−B」、「SN−C」、「SN−D」というノード識別子が付与されている。
【0125】
各ディスクノード620,630,640,650が有するRAID装置621,631,641,651それぞれにおいてRAID5の論理ディスクが構成されている。この論理ディスクは5つのスライスに分割され個々のディスクノード内で管理されている。
【0126】
図23の例では、RAID装置621内の記憶領域は、5つのスライス622〜626に分けられている。RAID装置631内の記憶領域は、5つのスライス632〜636に分けられている。RAID装置641内の記憶領域は、5つのスライス642〜646に分けられている。RAID装置651内の記憶領域は、5つのスライス652〜656に分けられている。
【0127】
なお、論理ボリューム700は、セグメント710,720,730,740という単位で構成される。セグメント710,720,730,740の記憶容量は、RAID装置621,631,641,651における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が1ギガバイトとするとセグメントの記憶容量も1ギガバイトである。論理ボリューム700の記憶容量はセグメント1つ当たりの記憶容量の整数倍である。例えば、セグメントの記憶容量が1ギガバイトならば、論理ボリューム700の記憶容量は4ギガバイトといったものになる。
【0128】
セグメント710,720,730,740は、それぞれプライマリスライス711,721,731,741とセカンダリスライス712,722,732,742との組から構成される。同じセグメントに属するスライスは別々のディスクノードに属する。各スライスは、スライス管理情報によって管理される。スライス管理情報には、論理ボリューム識別子、セグメント情報、同じセグメントを構成するスライス情報、プライマリスライスかセカンダリスライスかを示すフラグなどが含まれる。
【0129】
図23の例では、スライスの属性を識別するための識別子を、「P」または「S」のアルファベットと数字との組合せで示している。「P」はプライマリスライスであることを示している。「S」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、1番目のセグメント710のプライマリスライスが「P1」で示され、セカンダリスライスが「S1」で示される。
【0130】
このような構造の論理ボリューム700の各プライマリスライスおよびセカンダリスライスが、RAID装置621,631,641,651内のいずれかのスライスに対応付けられる。例えば、セグメント710のプライマリスライス711は、RAID装置651のスライス655に対応付けられ、セカンダリスライス712は、RAID装置631のスライス633に対応付けられている。そして、各RAID装置621,631,641,651では、自己のスライスに対応するプライマリスライスまたはセカンダリスライスのデータを記憶する。
【0131】
各ディスクノードは、自己の管理するスライスが割り当てられているセグメントなどの情報をスライス管理情報として保持している。制御ノード610は、システムの起動時に各ディスクノードからスライス管理情報を収集して、メモリに保持する。また、収集したスライス管理情報は、制御ノード610からアクセスノード660に渡される。アクセスノード660は、取得したスライス管理情報を参照して、論理ボリューム700の任意のセグメント内のデータにアクセスする際に、どのディスクノードにアクセス要求を送信すべきかを認識できる。
【0132】
図24は、制御ノードに保持されたスライス管理情報群のデータ構造例を示す図である。制御ノード610は、RAMの記憶領域の一部をスライス管理情報群記憶部611として使用する。スライス管理情報群記憶部611には、複数のスライス管理情報611a,611b,611c,611dが格納される。
【0133】
スライス管理情報611a,611b,611c,611dの構成要素は、左側の要素から順に以下の通りである。
・スライス番号
・開始ブロック位置(該当スライスの先頭に当たるブロックの番号)
・ブロック数(スライス内のブロック数)
・フラグ(プライマリ/セカンダリ)
・論理ボリューム識別子
・セグメント番号
・論理ボリューム開始ブロック位置
・論理ボリューム内でのブロック数
・ペアを組むディスクノード識別子
・ペアを組むスライス番号
図24で示したスライス管理情報611a,611b,611c,611dは、図23で示した論理ボリューム700を構成している。例えば、ノード識別子「SN−A」のスライス管理情報611aにおけるスライス番号「4」のスライスは「LVOL−A」のセグメント番号「4」のプライマリスライスであり、ペアを組んでいるのは「SN−D」のスライス番号「1」のスライスである、ということを意味する。
【0134】
図24に示したスライス管理情報611a,611b,611c,611dは、それぞれディスクノード620,630,640,650から収集されたものである。
このようなスライス管理情報611a,611b,611c,611dにより、制御ノード610において論理ボリューム700の構造を認識できる。論理ボリューム700のセグメントに割り当てるスライスを変更する場合、その制御ノード610が割当の変更を決定し、その結果を各ディスクノードとアクセスノードに通知する。
【0135】
また、各ディスクノード620,630,640,650は、スライス管理情報を有することにより、自己の管理するスライスがプライマリスライスであれば、対応するセカンダリスライスを管理するディスクノードを認識することができる。
【0136】
このような構成の分散ストレージシステムに対して消費電力監視機能を実装する場合、図5に示した消費電力監視サーバ100内の各要素が図22に示す制御ノード610に実装される。また、図5に示したコンピュータ200内の各要素が図22に示すディスクノード620,630,640,650それぞれに実装される。
【0137】
これにより、制御ノード610が、各ディスクノード620,630,640,650から負荷情報を収集し、電源タップ61,62それぞれを介した電源供給量を推定することができる。そして、制御ノード610は、電源タップごとの合計消費電力を求める。制御ノード610は、合計電源供給が過大(予め設定された最大消費電力以上)となった電源タップを検出すると、その電源タップに接続されたディスクノードに対して、アクセス数制限要求を送信する。すると、ディスクノードにおいて、単位時間当たりに処理するアクセス数が所定数以下に制限される。アクセスノード660は、アクセス要求をディスクノードに送信した場合、そのアクセス要求の処理が完了するまで、次のアクセス要求を内部にキューイングして保持する。そのため、ディスクノードにおいて単位時間当たりに処理するアクセス数が制限された場合、単位時間当たりにアクセスノード660から該当するディスクノードへ送信するアクセス要求の数が制限されることとなる。その結果、ディスクノードの処理負荷が軽減され、消費電力が少なくなる。
【0138】
なお、分散ストレージシステムの場合、プライマリスライス内のデータが更新されると、対応するセカンダリスライス内のデータも更新する必要がある。すなわち、アクセスノード660からデータアクセスを行う場合、プライマリスライスを管理しているディスクノードに対してアクセス要求が行われる。そのアクセス要求がデータの更新を伴っていれば、アクセス要求を受けたディスクノードは、自己の管理するプライマリスライス内のデータを更新すると共に、対応するセカンダリスライスを管理するディスクノードに対してデータの更新を要求する。その要求を受け取ったディスクノードは、セカンダリスライス内の該当データを更新する。
【0139】
ここで、セカンダリスライスを管理しているディスクノードにおいてアクセス数を制限したとき、プライマリスライスを管理するディスクノードからのデータの同一性確保のためのデータ更新のアクセスまでも制限すると、アクセス制限の影響が他のディスクノードに波及することとなる。そこで、ディスクノードがアクセス数を制限する場合、アクセスノード660からのアクセス要求のみを制限するようにする。これにより、アクセス数を制限している間であっても、他のディスクノードからのデータの同一性確保のためのデータ更新要求を迅速に処理することができる。
【0140】
また、制御ノード610は、動作に異常のあるディスクノードを検出すると、そのディスクノードをシャットダウンさせる。また、ディスクノードのシャットダウンが正常に完了できなかった場合、制御ノード610は、そのディスクノードが接続されている電源タップに対して、ディスクノードへの電源供給を遮断させる。このようにディスクノードの機能を停止させる場合、そのディスクノードで管理しているデータを、他のディスクノードに移動させる必要がある。
【0141】
図25は、障害発生時のデータ復旧処理を示す図である。図25では、ディスクノード620に障害が検出されたものとする。この場合、ディスクノード620を停止させると共に、ディスクノード620が管理していたデータと同じデータを、他のディスクノートに格納する。具体的には、ディスクノード620が管理するスライスと同じセグメントに割り当てられている他のディスクノードのスライスからデータを、さらに別のディスクノードが管理する空きのスライスにコピーする。
【0142】
図25の例では、ディスクノード620に接続されたRAID装置621の4番目のスライス625は、4番目のセグメント740のプライマリスライスである。そこで、4番目のセグメント740のセカンダリスライスであるRAID装置651の1番目のスライス652のデータを、ディスクノード630のRAID装置631の3番目のスライス634にコピーする。そして、そのスライス634を、4番目のセグメント740のプライマリスライスとする。
【0143】
同様に、ディスクノード620に接続されたRAID装置621の5番目のスライス626は、2番目のセグメント720のセカンダリスライスである。そこで、2番目のセグメント720のプライマリスライスであるRAID装置641の5番目のスライス646のデータを、ディスクノード650のRAID装置651の2番目のスライス653にコピーする。そして、そのスライス653を、2番目のセグメント720のセカンダリスライスとする。
【0144】
このようにして、ディスクノードを強制停止した場合でも、システムの運用を継続することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、消費電力監視サーバ100や制御ノード610が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
【0145】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0146】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0147】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【0148】
(付記1) 電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムであって、
前記コンピュータを、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段、
として機能させる消費電力監視プログラム。
【0149】
(付記2) 前記負荷情報収集手段は、前記電気機器から、前記電気機器を構成する構成要素それぞれの処理負荷を示す負荷情報を取得し、
前記消費電力見積もり情報記憶手段には、前記電気機器を構成する前記構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶されており、
前記消費電力推定手段は、前記負荷情報収集手段が収集した前記構成要素ごとの負荷情報に基づいて、前記構成要素ごとの消費電力を判断し、前記構成要素ごとの消費電力を合計して、前記電気機器の消費電力とする付記1記載の消費電力監視プログラム。
【0150】
(付記3) 前記電気機器には、測定対象コンピュータが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、CPU使用率、単位時間当たりのディスクアクセス数、単位時間当たりの通信データ量を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、CPU使用率に応じたCPUとメモリとの消費電力を示すCPU消費電力換算表、単位時間当たりのディスクアクセス数に応じたディスク装置の消費電力を示すディスク消費電力換算表、単位時間当たりの通信データ量に応じた通信インタフェースの消費電力を示す通信インタフェース消費電力換算表を含み、
前記消費電力推定手段は、前記CPU消費電力換算表を参照して、前記負荷情報で示されるCPU使用率に応じた前記CPUと前記メモリとの消費電力を判断し、前記ディスク消費電力換算表を参照して、前記負荷情報で示される単位時間当たりのディスクアクセス数に応じた前記ディスク装置の消費電力を判断し、前記通信インタフェース消費電力換算表を参照し、前記負荷情報で示される単位時間当たりの通信データ量に応じた前記通信インタフェースの消費電力を判断する付記2記載の消費電力監視プログラム。
【0151】
(付記4) 前記電気機器には、測定対象コンピュータと前記測定対象コンピュータに外部接続された外部ディスク装置とが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、前記測定対象コンピュータから前記ディスク装置への単位時間当たりのアクセス数を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、前記ディスク装置への単位時間当たりのアクセス数に応じた前記外部ディスク装置の消費電力を示すディスク消費電力換算表を含み、
前記消費電力推定手段は、前記ディスク消費電力換算表を参照して、前記測定対象コンピュータから前記ディスク装置への単位時間当たりのアクセス数に応じた前記外部ディスク装置の消費電力を判断する付記2記載の消費電力監視プログラム。
【0152】
(付記5) 前記コンピュータをさらに、
前記電気機器の消費電力が予め設定された閾値より大きい場合、前記電気機器の処理負荷を低減させる負荷制御手段として機能させる付記1記載の消費電力監視プログラム。
【0153】
(付記6) 前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードが含まれており、
前記負荷情報収集手段は、複数の前記電気機器から前記負荷情報を収集し、
前記消費電力推定手段は、複数の前記電気機器の前記負荷情報に基づいて前記電気機器それぞれの消費電力を推定し、
前記コンピュータをさらに、
複数の前記電気機器と、前記電気機器それぞれに対して電源を供給している電源タップとの対応関係を示す接続機器情報を記憶する接続機器情報記憶手段を参照し、共通の前記電源タップに接続された複数の前記電気機器それぞれについて前記消費電力判定手段で求められた消費電力の合計が、予め設定された閾値より大きい場合、前記電源タップに接続された前記ディスクノードへの単位時間当たりのアクセス数を所定値以下に制限するアクセス制限手段として機能させる付記1記載の消費電力監視プログラム。
【0154】
(付記7) 前記コンピュータをさらに、
前記電気機器の障害の有無を監視する障害監視手段、
前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器の動作を強制停止させる強制停止制御手段
として機能させる付記1記載の消費電力監視プログラム。
【0155】
(付記8) 前記強制停止制御手段は、前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器が接続された電源タップに対して、前記電気機器の電源プラグが差し込まれた差し込み口への電源供給の遮断指示を送信する付記7記載の消費電力監視プログラム。
【0156】
(付記9) 前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行う複数のディスクノードが含まれており、
前記コンピュータをさらに、
前記障害監視手段によりいずれかのディスクノードに障害が検出された場合、障害が検出されたディスクノードで管理しているデータと同一のデータを他のディスクノードに格納するデータ再配置手段として機能させる付記7記載の消費電力監視プログラム。
【0157】
(付記10) 電気機器の消費電力をネットワーク経由で監視するための消費電力監視装置であって、
前記消費電力監視装置に前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段と、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段と、
を有する消費電力監視装置。
【0158】
(付記11) 電気機器の消費電力をネットワーク経由で監視するための消費電力監視方法であって、
コンピュータが、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得し、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力監視方法。
【図面の簡単な説明】
【0159】
【図1】実施の形態の概要を示す図である。
【図2】本実施の形態のシステム構成例を示す図である。
【図3】本実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図4】電源タップの内部構造を示す図である。
【図5】消費電力を制御するための機能を示すブロック図である。
【図6】消費電力見積もりのための要素グループを示す図である。
【図7】CPU使用率と消費電力との関係を示すグラフである。
【図8】単位時間当たりのディスクアクセス数と消費電力との関係を示すグラフである。
【図9】単位時間当たりの通信データ量と消費電力との関係を示すグラフである。
【図10】単位時間当たりのRAID装置へのアクセス数と消費電力との関係を示すグラフである。
【図11】CPU消費電力換算表を示す図である。
【図12】内蔵ディスク消費電力換算表を示す図である。
【図13】RAID装置消費電力換算表を示す図である。
【図14】NIC消費電力換算表を示す図である。
【図15】接続機器情報のデータ構造を示す図である。
【図16】最大消費電力情報のデータ構造を示す図である。
【図17】アクセス制限処理の概略を示す図である。
【図18】アクセス数制限処理の手順を示すシーケンス図である。
【図19】異常動作機器の機能停止処理の概略を示す図である。
【図20】障害監視部で管理される情報を示す図である。
【図21】異常動作機器の機能停止処理の手順を示すシーケンス図である。
【図22】分散ストレージシステムのシステム構成を示す図である。
【図23】論理ボリュームのデータ構造を示す図である。
【図24】制御ノードに保持されたスライス管理情報群のデータ構造例を示す図である。
【図25】障害発生時のデータ復旧処理を示す図である。
【符号の説明】
【0160】
1 消費電力制御装置
1a 消費電力見積もり情報記憶手段
1b 負荷情報収集手段
1c 消費電力推定手段
1d 負荷制御手段
2 電気機器
【特許請求の範囲】
【請求項1】
電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムであって、
前記コンピュータを、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段、
として機能させる消費電力監視プログラム。
【請求項2】
前記負荷情報収集手段は、前記電気機器から、前記電気機器を構成する構成要素それぞれの処理負荷を示す負荷情報を取得し、
前記消費電力見積もり情報記憶手段には、前記電気機器を構成する前記構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶されており、
前記消費電力推定手段は、前記負荷情報収集手段が収集した前記構成要素ごとの負荷情報に基づいて、前記構成要素ごとの消費電力を判断し、前記構成要素ごとの消費電力を合計して、前記電気機器の消費電力とする請求項1記載の消費電力監視プログラム。
【請求項3】
前記電気機器には、測定対象コンピュータが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、CPU使用率、単位時間当たりのディスクアクセス数、単位時間当たりの通信データ量を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、CPU使用率に応じたCPUとメモリとの消費電力を示すCPU消費電力換算表、単位時間当たりのディスクアクセス数に応じたディスク装置の消費電力を示すディスク消費電力換算表、単位時間当たりの通信データ量に応じた通信インタフェースの消費電力を示す通信インタフェース消費電力換算表を含み、
前記消費電力推定手段は、前記CPU消費電力換算表を参照して、前記負荷情報で示されるCPU使用率に応じた前記CPUと前記メモリとの消費電力を判断し、前記ディスク消費電力換算表を参照して、前記負荷情報で示される単位時間当たりのディスクアクセス数に応じた前記ディスク装置の消費電力を判断し、前記通信インタフェース消費電力換算表を参照し、前記負荷情報で示される単位時間当たりの通信データ量に応じた前記通信インタフェースの消費電力を判断する請求項2記載の消費電力監視プログラム。
【請求項4】
前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードが含まれており、
前記負荷情報収集手段は、複数の前記電気機器から前記負荷情報を収集し、
前記消費電力推定手段は、複数の前記電気機器の前記負荷情報に基づいて前記電気機器それぞれの消費電力を推定し、
前記コンピュータをさらに、
複数の前記電気機器と、前記電気機器それぞれに対して電源を供給している電源タップとの対応関係を示す接続機器情報を記憶する接続機器情報記憶手段を参照し、共通の前記電源タップに接続された複数の前記電気機器それぞれについて前記消費電力判定手段で求められた消費電力の合計が、予め設定された閾値より大きい場合、前記電源タップに接続された前記ディスクノードへの単位時間当たりのアクセス数を所定値以下に制限するアクセス制限手段として機能させる請求項1記載の消費電力監視プログラム。
【請求項5】
前記コンピュータをさらに、
前記電気機器の障害の有無を監視する障害監視手段、
前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器の動作を強制停止させる強制停止制御手段
として機能させる請求項1記載の消費電力監視プログラム。
【請求項6】
電気機器の消費電力をネットワーク経由で監視するための消費電力監視装置であって、
前記消費電力監視装置に前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段と、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段と、
を有する消費電力監視装置。
【請求項7】
電気機器の消費電力をネットワーク経由で監視するための消費電力監視方法であって、
コンピュータが、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得し、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力監視方法。
【請求項1】
電気機器の消費電力をネットワーク経由で監視するための処理をコンピュータが処理する消費電力監視プログラムであって、
前記コンピュータを、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段、
として機能させる消費電力監視プログラム。
【請求項2】
前記負荷情報収集手段は、前記電気機器から、前記電気機器を構成する構成要素それぞれの処理負荷を示す負荷情報を取得し、
前記消費電力見積もり情報記憶手段には、前記電気機器を構成する前記構成要素ごとに、処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶されており、
前記消費電力推定手段は、前記負荷情報収集手段が収集した前記構成要素ごとの負荷情報に基づいて、前記構成要素ごとの消費電力を判断し、前記構成要素ごとの消費電力を合計して、前記電気機器の消費電力とする請求項1記載の消費電力監視プログラム。
【請求項3】
前記電気機器には、測定対象コンピュータが含まれており、
前記負荷情報収集手段は、前記測定対象コンピュータの前記負荷情報として、CPU使用率、単位時間当たりのディスクアクセス数、単位時間当たりの通信データ量を取得し、
前記消費電力見積もり情報記憶手段内の前記消費電力見積もり情報は、CPU使用率に応じたCPUとメモリとの消費電力を示すCPU消費電力換算表、単位時間当たりのディスクアクセス数に応じたディスク装置の消費電力を示すディスク消費電力換算表、単位時間当たりの通信データ量に応じた通信インタフェースの消費電力を示す通信インタフェース消費電力換算表を含み、
前記消費電力推定手段は、前記CPU消費電力換算表を参照して、前記負荷情報で示されるCPU使用率に応じた前記CPUと前記メモリとの消費電力を判断し、前記ディスク消費電力換算表を参照して、前記負荷情報で示される単位時間当たりのディスクアクセス数に応じた前記ディスク装置の消費電力を判断し、前記通信インタフェース消費電力換算表を参照し、前記負荷情報で示される単位時間当たりの通信データ量に応じた前記通信インタフェースの消費電力を判断する請求項2記載の消費電力監視プログラム。
【請求項4】
前記電気機器には、ネットワークを介したアクセス要求に応じてデータの入出力を行うディスクノードが含まれており、
前記負荷情報収集手段は、複数の前記電気機器から前記負荷情報を収集し、
前記消費電力推定手段は、複数の前記電気機器の前記負荷情報に基づいて前記電気機器それぞれの消費電力を推定し、
前記コンピュータをさらに、
複数の前記電気機器と、前記電気機器それぞれに対して電源を供給している電源タップとの対応関係を示す接続機器情報を記憶する接続機器情報記憶手段を参照し、共通の前記電源タップに接続された複数の前記電気機器それぞれについて前記消費電力判定手段で求められた消費電力の合計が、予め設定された閾値より大きい場合、前記電源タップに接続された前記ディスクノードへの単位時間当たりのアクセス数を所定値以下に制限するアクセス制限手段として機能させる請求項1記載の消費電力監視プログラム。
【請求項5】
前記コンピュータをさらに、
前記電気機器の障害の有無を監視する障害監視手段、
前記障害監視手段により前記電気機器の障害が検出された場合、前記電気機器の動作を強制停止させる強制停止制御手段
として機能させる請求項1記載の消費電力監視プログラム。
【請求項6】
電気機器の消費電力をネットワーク経由で監視するための消費電力監視装置であって、
前記消費電力監視装置に前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得する負荷情報収集手段と、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力推定手段と、
を有する消費電力監視装置。
【請求項7】
電気機器の消費電力をネットワーク経由で監視するための消費電力監視方法であって、
コンピュータが、
前記コンピュータに前記ネットワークを介して接続された前記電気機器から、前記電気機器の処理負荷を示す負荷情報を取得し、
前記電気機器の処理負荷に応じた消費電力を示す消費電力見積もり情報が記憶された消費電力見積もり情報記憶手段を参照し、前記負荷情報収集手段が収集した前記負荷情報に基づいて、前記電気機器の消費電力を推定する消費電力監視方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2009−159712(P2009−159712A)
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願番号】特願2007−333970(P2007−333970)
【出願日】平成19年12月26日(2007.12.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成21年7月16日(2009.7.16)
【国際特許分類】
【出願日】平成19年12月26日(2007.12.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]