(57)【特許請求の範囲】
【請求項１】
複数のサーバと、
前記複数のサーバ間を移動可能な仮想マシンとを備え、
前記仮想マシンのサーバ間の移動を、前記仮想マシンのリアルタイムにおける消費電力、及び前記サーバのリアルタイムの残電力に基づいて、前記サーバの稼働数をできる限り低減する条件に基づいて、前記サーバの最大電力の範囲で前記仮想マシンを集約し、当該集約により前記仮想マシンが起動されないことになったサーバを停止させるサーバシステム。
【請求項２】
前記複数のサーバと接続され、かつ、
前記仮想マシンのリアルタイムにおける消費電力、及び前記サーバのリアルタイムの残電力の電力情報をリアルタイムに取得する監視部と、
前記監視部が取得した情報をもとに、サーバの稼働数をできる限り低減する条件に基づいて、前記サーバの最大電力の範囲で前記仮想マシンを集約可能な組み合わせを検索し、かつ、前記サーバの起動／停止を制御する制御部と、を備える管理手段を有することを特徴とする請求項１に記載のサーバシステム。
【請求項３】
前記管理手段は、さらに、前記制御部を介して前記サーバと接続され、前記仮想マシンの動作状況を管理する仮想マシン管理テーブルを備えることを特徴とする請求項２に記載のサーバシステム。
【請求項４】
前記サーバがブレードサーバであり、
前記管理手段が、エンクロージャ管理モジュールであることを特徴とする請求項２又は３に記載のサーバシステム。
【請求項５】
複数のサーバ間を移動可能な仮想マシンを有するサーバシステムの消費電力低減方法であって、
前記仮想マシンのリアルタイムにおける消費電力、及び前記サーバのリアルタイムの残電力をリアルタイムに取得し、
前記サーバの稼働数をできる限り低減する条件に基づいて、前記サーバの最大電力の範囲で前記仮想マシンを集約可能な組み合わせを検索し、
前記仮想マシンの集約可能な組み合わせが検索された場合には、その結果に基づいて、前記仮想マシンをサーバ間で移動させることにより集約し、
前記仮想マシンが稼働しないこととなったサーバの電源をオフするサーバシステムの消費電力低減方法。
【請求項６】
前記サーバがブレードサーバであることを特徴とする請求項５に記載のサーバシステムの消費電力低減方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステム、及びサーバシステムの電力削減方法に関する。
【背景技術】
【０００２】
サーバの処理能力向上に伴って、サーバの消費電力の増大が問題となってきた。そこで、サーバシステムの消費電力を低減する方法が提案されている（特許文献１、２）。
【０００３】
特許文献１には、コンピュータが属するシステム全体の消費電力を所定の電力制限閾値と比較し、システム全体の消費電力が所定の電力制限閾値以上である場合に、コンピュータが最低限使用可能な電力を示す省電力ポリシーに従って、コンピュータの消費電力を制限する方法が提案されている。
【０００４】
特許文献２には、計算システムにサーバが追加及び削減された契機等の所定の条件時に、性能当たりの消費電力の値が小さいサーバに各業務の予め設定されている固定の要求性能を満たす範囲で業務を集約し、業務が１つも稼働しないサーバをできるだけ多く設けることにより電力を削減する方法が提案されている。
【特許文献１】特開２００７−２１３１６７号公報
【特許文献２】特開２００７−３１０７９１号公報  段落番号００２１、００３２、図１、６、９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の技術により、システムにおけるコンピュータの台数を減らしたり、各コンピュータのＣＰＵ性能を低下させたりすることなく、システム全体の消費電力を所定の値に制限することができる。また、特許文献２の技術により、サーバシステム全体の低消費電力化を実現することが可能である。
【０００６】
しかしながら、近時においては、サーバのＣＰＵが益々高性能化している。しかも、高性能化したＣＰＵを１つのサーバに複数搭載したりするために、消費電力は益々増大する傾向にある。また、ブレードサーバなどの高密度な情報処理機器を利用すると、膨大な電力を高密度に提供する必要があるため、情報処理機器の電力供給が益々増大する。このため、サーバシステム全体の低消費電力化技術の進展は、極めて重要な課題である。
【０００７】
本発明の目的は、上記背景に鑑みてなされたものであり、サーバシステム全体の低消費電力化を実際の使用状況に即して柔軟に実現可能なサーバシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るサーバシステムは、複数のサーバと、前記複数のサーバ間を移動可能な仮想マシンとを備え、前記仮想マシンのサーバ間の移動を、前記仮想マシンのリアルタイムにおける消費電力、及び前記サーバのリアルタイムの残電力に基づいて、前記サーバの稼働数をできる限り低減する条件に基づいて、前記サーバの最大電力の範囲で前記仮想マシンを集約し、当該集約により前記仮想マシンが起動されないことになったサーバを停止させるものである。
【０００９】
本発明に係るサーバシステムの消費電力低減方法は、複数のサーバ間を移動可能な仮想マシンを有するサーバシステムの消費電力低減方法であって、前記仮想マシンのリアルタイムにおける消費電力、及び前記サーバのリアルタイムの残電力をリアルタイムに取得し、前記サーバの稼働数をできる限り低減する条件に基づいて、前記サーバの最大電力の範囲で前記仮想マシンを集約可能な組み合わせを検索し、前記仮想マシンの集約可能な組み合わせが検索された場合には、その結果に基づいて、前記仮想マシンをサーバ間で移動させることにより集約し、前記仮想マシンが稼働しないこととなったサーバの電源をオフするものである。
【発明の効果】
【００１０】
本発明によれば、サーバシステム全体の低消費電力化を実際の使用状況に即して柔軟に実現可能なサーバシステムを提供することができるという優れた効果を有する。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を適用した実施形態の一例について説明する。なお、本発明の趣旨に合致する限り、他の実施形態も本発明の範疇に属し得ることは言うまでもない。
【００１２】
［実施形態１］
本実施形態１に係るサーバシステムは、複数のサーバと、サーバ間を移動可能な仮想マシンとを備える。そして、本実施形態１に係るサーバシステムは、仮想マシンのリアルタイムにおける消費電力、及びサーバのリアルタイムの残電力をもとに、サーバの稼働数をできる限り低減する条件に基づいて、サーバの最大電力の範囲で仮想マシンを集約し、これにより仮想マシンが起動されないことになったサーバを停止させることにより消費電力低減を実現する。なお、「残電力」とは、各サーバに設定された利用可能な最大電力から、実際に消費している総消費電力を差し引いた、実際に利用されていない未使用分の電力量を云う。
【００１３】
図１に、本実施形態１に係るサーバシステムにおける消費電力低減化を実現するための構成手段の説明図を示す。本実施形態１に係るサーバシステムは、同図に示すように、サーバ内の電力消費対象の消費電力を測定する電力測定手段１０１を有する。また、サーバの動作状況を管理するサーバ管理手段１０２、仮想マシンをサーバ間で移動させる仮想マシン移動手段１０３を有する。
【００１４】
電力測定手段１０１は、サーバ毎の電力消費対象の消費電力をリアルタイムに測定する手段である。電力測定手段１０１は、例えば電力センサであり、少なくとも同一サーバ内にある仮想マシンの総消費電力と、仮想マシン以外のサーバの総消費電力がリアルタイムに測定される。一のサーバ内で、複数の仮想マシンが起動されている場合には、仮想マシン毎に消費電力を測定してもよいし、一のサーバ内の全ての仮想マシンの総消費電力を一括して測定してもよい。同様に、仮想マシン以外のサーバのリアルタイムの総消費電力は、個々の電力消費対象に対してそれぞれ消費電力を測定してもよいし、いくつかのグループに分けて測定したり、一括して測定したりしてもよい。
【００１５】
サーバ管理手段１０２は、電力測定手段１０１により得られた仮想マシンのリアルタイムの消費電力と、この消費電力及び仮想マシン以外のサーバのリアルタイムの消費電力から算出されたサーバのリアルタイムの残電力とを、リアルタイムに取得する監視部３１を有する（図１参照）。
【００１６】
また、サーバ管理手段１０２は、この監視部３１が取得した情報をもとに、サーバの稼働数をできる限り低減する条件に基づいて、サーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索し、かつ、サーバの起動／停止を制御する制御部３２を有する。さらに、サーバ管理手段１０２は、制御部３２を介してサーバと接続され、仮想マシンの動作状況を管理する仮想マシン管理テーブル３３を有する。仮想マシン移動手段１０３としては、公知の技術を用いることができる。詳しくは、後述する。
【００１７】
図２は、本実施形態１に係るサーバシステムの概略構成の一例を説明するためのブロック図である。本実施形態１に係るサーバシステムは、複数のブレードサーバ（ＣＰＵブレード）がエンクロージャ内に搭載されている。以下、３つのブレードサーバ（第1ブレードサーバ４０Ａ、第２ブレードサーバ４０Ｂ，第３ブレードサーバ４０Ｃ）が搭載されている場合について説明するが、これは、一例であり、複数のブレードサーバが搭載されているものにおいて本件発明の適用が可能である。
【００１８】
第１ブレードサーバ４０Ａ〜第３ブレードサーバ４０Ｃのそれぞれは、シリアルバス１０を介してエンクロージャ管理モジュール３０と接続されている。また、第１ブレードサーバ４０Ａ〜第３ブレードサーバ４０Ｃのそれぞれは、ネットワーク２０を介してネットワーク上に存在する仮想マシンデータ管理部５０と接続されている。
【００１９】
各ブレードサーバ（４０Ａ〜４０Ｃ）には、サーバ管理部、仮想マシン管理ソフト、ネットワーク管理部、電力センサが備えられている。具体的には、第１ブレードサーバ４０Ａには、第１サーバ管理部４１Ａ、第１仮想マシン管理ソフト４２Ａ，第１ネットワーク管理部４３Ａ、第1電力センサ４４Ａが備えられ、第２ブレードサーバ４０Ｂには、第２サーバ管理部４１Ｂ，第２仮想マシン管理ソフト４２Ｂ，第２ネットワーク管理部４３Ｂ、第２電力センサ４４Ｂが備えられ、第３ブレードサーバ４０Ｃには、第３サーバ管理部４１Ｃ,第３仮想マシン管理ソフト４２Ｃ，第３ネットワーク管理部４３Ｃ、第３電力センサ４４Ｃが備えられている。
【００２０】
各ブレードサーバには、処理装置（ＣＰＵ）、記憶装置（メモリ）といったリソースが搭載されており、サーバの仮想化技術により、ブレードサーバ内に複数の仮想マシンが起動可能なように構成されている。本実施形態１に係るサーバシステムは、第1仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンを有する。
【００２１】
各ブレードサーバ（４０Ａ〜４０Ｃ）のそれぞれには、各ブレードサーバに設定された最大電力のレベルに応じて、複数の仮想マシンが起動可能な十分なリソースがあらかじめ確保されている。本実施形態１においては、各ブレードサーバ（４０Ａ〜４０Ｃ）に、第1仮想マシン＃１〜第９仮想マシン＃９の仮想マシンが入るリソースが予め確保されている。
【００２２】
ブレードサーバの初期起動時には、第１仮想マシン＃１、第２仮想マシン＃２、第３仮想マシン＃３、及び第４仮想マシン＃４の４つの仮想マシンが第1ブレードサーバ４０Ａに、第５仮想マシン＃５、及び第６仮想マシン＃６の２つの仮想マシンが第２ブレードサーバ４０Ｂに、第７仮想マシン＃７、第８仮想マシン＃８、及び第９仮想マシン＃９の３つの仮想マシンが第３ブレードサーバ４０Ｃにより起動されるように設定されている。なお、仮想マシンの数や初期設定は一例であり、その個数や配置は特に限定されるものではない。
【００２３】
各仮想マシンの消費電力は、使用状況によって変動する。第1仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンそれぞれの消費電力値が小さい使用状況化においては、一つのブレードサーバ、例えば、第1ブレードサーバ４０Ａのみにて第1仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンを稼働する。一方、第1仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンそれぞれ、若しくはこれらのうちの任意の仮想マシンの消費電力値が大きい使用状況化においては、３つのブレードサーバを用いてこれらの仮想マシンを稼働する。
【００２４】
各ブレードサーバに設定された最大電力によっては、第1仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンそれぞれの消費電力値が小さい使用状況化においても、一つのブレードサーバで９つの仮想マシンを稼働することが十分でない場合もある。このような場合には、例えば、一つのブレードサーバに半分の仮想マシンが入るリソースを確保するように構成し、少なくとも２台のブレードサーバが常時稼働するようにしてもよい。なお、各ブレードサーバに設定する最大電力、ブレードサーバに確保するリソースは、それぞれ独立に、任意に設定可能であることは言うまでもない。
【００２５】
電力センサ（４４Ａ〜４４Ｃ）は、図１中の電力測定手段１０１に相当し、ブレードサーバ内で起動されている仮想マシンの消費電力、及び仮想マシン以外の消費電力をリアルタイムで測定する。また、電力センサ（４４Ａ〜４４Ｃ）は、得られた測定値を保持する機能を有する。
【００２６】
サーバ管理部（４１Ａ〜４１Ｃ）は、エンクロージャ管理モジュール３０との通信、及び仮想マシン管理ソフト（４２Ａ〜４２Ｃ）との通信が可能なように構成されている。そして、このサーバ管理部（４１Ａ〜４１Ｃ）にて、各ブレードサーバの状態監視が行われると同時に、エンクロージャ管理モジュール３０からの指示を受けて各ブレードサーバ（４０Ａ〜４０Ｃ）の制御（起動／停止）を実行する。
【００２７】
また、サーバ管理部（４１Ａ〜４１Ｃ）は、対応する電力センサ（４４Ａ〜４４Ｃ）が保持しているリアルタイムの仮想マシンの消費電力、及び仮想マシン以外のリアルタイムの消費電力を読み込み、各ブレードサーバ内でのリアルタイムの消費電力値を取得する。これらの消費電力値と、各ブレードサーバの設定された最大電力値とから、各サーバの残電力が算出される。そして、仮想マシンのリアルタイムの消費電力と、各ブレードサーバのリアルタイムの残電力のデータが、エンクロージャ管理モジュール３０の監視部３１に送信される。
【００２８】
仮想マシン管理ソフト（４２Ａ〜４２Ｃ）は、サーバ管理部４１Ａ〜４１Ｃを介してエンクロージャ管理モジュール３０と通信可能なように、ネットワーク管理部４３Ａ〜４３Ｃを介して仮想マシンデータ管理部５０と通信可能なように構成されている。そして、この仮想マシン管理ソフト（４２Ａ〜４２Ｃ）により、サーバ管理部（４１Ａ〜４１Ｃ）経由でエンクロージャ管理モジュール３０からの指示を受けて仮想マシンの制御（起動／停止）が実行される。
【００２９】
ネットワーク管理部（４３Ａ〜４３Ｃ）は、ネットワーク２０を介して、仮想マシンデータ管理部５０、及び仮想マシン管理ソフト（４２Ａ〜４２Ｃ）との通信が可能なように構成されている。
【００３０】
エンクロージャ管理モジュール３０は、図１にて説明したサーバ管理手段１０２に相当し、監視部３１、制御部３２、仮想マシン管理テーブル３３等を備える。監視部３１は、エンクロージャ管理モジュール内で制御部３２に接続されるとともに、シリアルバス１０を介して各ブレードサーバに接続されている。同様に、制御部３２は、監視部３１と接続されるとともに、シリアルバス１０を介して各ブレードサーバに接続されている。仮想マシン管理テーブル３３は、制御部３２を介して各ブレードサーバに接続されている。仮想マシン管理テーブル３３は、制御部３２を介して各ブレードサーバ（４０Ａ〜４０Ｃ）の状態を管理する。
【００３１】
監視部３１は、サーバ管理部（４１Ａ〜４１Ｃ）が保持する仮想マシンのリアルタイムにおける消費電力、及びサーバのリアルタイムの残電力をリアルタイムに取得する。また、監視部３１は、Ｉ／Ｏモジュール、ＦＡＮモジュール、電源モジュール等のエンクロージャ内に格納されている各モジュールや、ブレードサーバの状態監視（電力、温度、正常／異常）を常時行う。
【００３２】
制御部３２は、監視部３１が取得した情報、及び仮想マシン管理テーブル３３の情報をもとに、ブレードサーバの稼働数をできる限り低減する条件に基づいて、ブレードサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索する。また、制御部３２は、監視部３１が取得した情報、及び仮想マシン管理テーブル３３の情報をもとに、ブレードサーバの起動／停止を制御する各モジュールの制御（起動／停止、情報設定／採取）を実行する。さらに、制御部３２は、各ブレードサーバのサーバ管理部に各ブレードサーバ（４０Ａ〜４０Ｃ）上で動作している仮想マシンの制御（起動／停止）を行うための指示を送る。また、制御部３２及び仮想マシン管理テーブル３３が協同的に機能することにより、各ブレードサーバ（４０Ａ〜４０Ｃ）の動作状況、仮想マシンの状態（起動／停止）、ハードウェア／ソフトウェア使用状況などが管理される。
【００３３】
仮想マシンデータ管理部５０には、第１仮想マシン＃１〜第９仮想マシン＃９それぞれのサーバ間の移動に必要なデータが保管されている。仮想マシンデータ管理部５０は、ネットワーク管理部から仮想マシンの移動要求を受信した場合には、仮想マシンデータ管理部５０が保持している該当する仮想マシンを移動するのに必要なデータを、移動先の仮想マシン管理ソフト４２Ａ〜４２Ｃに送信するようになっている。そして、対応するブレードサーバに仮想マシンを移動するのに必要なデータがコピーされる。なお、仮想マシンのサーバ間の移動時の他、仮想マシンの起動時にも同様の方法にて仮想マシンの起動が実行される。
【００３４】
次に、本実施形態１に係るサーバシステムの低消費電力化を実行する方法について、図３〜５を参照しつつ説明する。図３は、本実施形態１に係るサーバシステムの低消費電力化を実行するためのフローチャート図である。複数のブレードサーバが稼働している場合に、低消費電力化を実行するためのプログラムが開始される。複数のブレードサーバの稼働状態は、エンクロージャ管理モジュール３０の監視部３１により把握される。
【００３５】
まず、稼働しているブレードサーバの残電力と、ブレードサーバ上の複数の仮想マシンの消費電力の電力情報をエンクロージャ管理モジュール３０内の監視部３１が取得する（Ｓｔｅｐ１）。仮想マシンの消費電力や、稼働しているブレードサーバの残電力は、各ブレードサーバ内に配設された電力センサが電力消費対象物をリアルタイムに測定することにより得られる。そして、この測定値が各ブレードサーバ内のサーバ管理部に読み込まれ、さらにシリアルバス１０を介してエンクロージャ管理モジュール３０の監視部３１に送信される。これにより、監視部３１が、ブレードサーバの残電力と、仮想マシンの消費電力の電力情報を取得する。
【００３６】
次いで、監視部３１が取得した電力情報をもとに、ブレードサーバの稼働数をできる限り低減する条件に基づいて、ブレードサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索する（Ｓｔｅｐ２）。仮想マシンを集約可能な組み合わせが検索されなかった場合には、低消費電力化のプログラムを終了する。一方、仮想マシンを集約可能な組み合わせが検索された場合には、その検索結果に基づいて、仮想マシンをサーバ間で移動させることにより仮想マシンを集約させる（Ｓｔｅｐ３）。その後、仮想マシンが稼働しないこととなったブレードサーバの電源をオフする（Ｓｔｅｐ４）。
【００３７】
図４（ａ）及び（ｂ）は、本実施形態１に係るサーバシステムの消費電力の状態を説明するための説明図であり、図５は、本実施形態１に係るサーバシステムにおいて、低消費電力化を実行するためのフローチャート図である。なお、図４及び図５においては、第1ブレードサーバ４０Ａ、第２ブレードサーバ４０Ｂの２台が稼働し、かつ、第1仮想マシン＃１〜第６仮想マシン＃６の６つの仮想マシンが起動している例について説明しているが、これは一例であることは言うまでもない。また、第1ブレードサーバ４０Ａと第２ブレードサーバ４０Ｂの最大電力６０を同一とした例について説明しているが、それぞれ独立に最大電力値を設定可能であることは言うまでもない。
【００３８】
まず、エンクロージャ管理モジュール３０内の監視部３１は、起動している第１ブレードサーバ４０Ａ及び第２ブレードサーバ４０Ｂの消費電力及び残電力情報を取得する（Ｓｔｅｐ１１）。ここで、第１ブレードサーバ４０Ａ内の仮想マシン以外の消費電力を６１Ａ,第1ブレードサーバ４０Ａ内で起動されている仮想マシンの総消費電力を６２Ａ，第1ブレードサーバ４０Ａが利用できる最大電力に対する残電力を６３Ａとする。また、第２ブレードサーバ４０Ｂ内の仮想マシン以外の消費電力を６１Ｂ,第２ブレードサーバ４０Ｂ内で起動されている仮想マシンの総消費電力を６２Ｂ，第２ブレードサーバ４０Ｂが利用できる最大電力に対する残電力を６３Ｂとする。
【００３９】
図４（ａ）の例においては、仮想マシンの総消費電力６２Ａは、第１仮想マシン＃１〜第４仮想マシン＃４の４つの仮想マシンが消費する電力の合計である。また、仮想マシンの総消費電力６２Ｂは、第５仮想マシン＃５〜第６仮想マシン＃６の２つの仮想マシンが消費する電力の合計である。
【００４０】
次いで、エンクロージャ管理モジュール３０内の制御部３２は、第２ブレードサーバ４０Ｂの仮想マシン（第５仮想マシン＃５、第６仮想マシン＃６）を第1ブレードサーバ４０Ａの最大電力６０の範囲で第1ブレードサーバ４０Ａに集約できるか否かを判定する（Ｓｔｅｐ１２）。換言すると、第１ブレードサーバ４０Ａの残電力６３Ａと、第２ブレードサーバ４０Ｂ上で起動している第５仮想マシン＃５及び第６仮想マシン＃６の仮想マシン消費電力６２Ｂとの組み合わせにおいて、残電力６３Ａ≧仮想マシン消費電力６２Ｂの条件を満たすか否かを判定する。
【００４１】
残電力６３Ａ≧仮想マシン総消費電力６２Ｂの条件を満たす場合（図４（ａ）参照）、第５仮想マシン＃５及び第６仮想マシン＃６が第２ブレードサーバ４０Ｂから第１ブレードサーバ４０Ａに移動するように、制御部３２は、第１仮想マシン管理ソフト４２Ａ及び第２仮想マシン管理ソフト４２Ｂに対して移動要求を行う（Ｓｔｅｐ１３）。これに伴って、第５仮想マシン＃５及び第６仮想マシン＃６は、第２ブレードサーバ４０Ｂから第１ブレードサーバ４０Ａに移動する（Ｓｔｅｐ１４）。仮想マシンの移動方法については、公知の技術を利用することができる。例えば、ＶＭｗａｒｅ社が提供しているＶｍｏtioｎ機能等を利用することができる。
【００４２】
第５仮想マシン＃５及び第６仮想マシン＃６を制御する第２仮想マシン管理ソフト４２Ｂは、制御部３２からの移動要求を受けると、第２ネットワーク管理部４３Ｂを介して仮想マシンデータ管理部５０と通信し、当該仮想マシンデータ管理部５０に格納されている第５仮想マシン＃５及び第６仮想マシン＃６の移動情報（起動情報）を第1ブレードサーバ４０Ａにコピーする。
【００４３】
次いで、第２ブレードサーバ４０Ｂ上で稼働している最新の仮想マシン＃５及び第６仮想マシン＃６のデータを、第２ブレードサーバ４０Ｂと第1ブレードサーバ４０Ａ間に接続される専用のネットワークライン（不図示）を介して、第２ブレードサーバ４０Ｂから第1ブレードサーバ４０Ａにデータ転送を行う。これにより、第1ブレードサーバ４０Ａ内の第５仮想マシン＃５及び第６仮想マシン＃６と、第２ブレードサーバ４０Ｂ内の第５仮想マシン＃５及び第６仮想マシン＃６のデータが一致する。
【００４４】
その後、第５仮想マシン＃５及び第６仮想マシン＃６が第1ブレードサーバ４０Ａ上で稼働したことを監視部３１が確認したことを受けて、制御部３２は、第２ブレードサーバ４０Ｂ上の第５仮想マシン＃５及び第６仮想マシン＃６の動作を停止するように、第２ブレードサーバ４０Ｂの第２サーバ管理部４１Ｂに指示する。これにより、第５仮想マシン＃５及び第６仮想マシン＃６の移動が完了する。
【００４５】
続いて、制御部３２は、第２サーバ管理部４１Ｂに対して第２ブレードサーバ４０Ｂの停止要求を行う（Ｓｔｅｐ１５）。これにより、図４（ｂ）に示すように第２ブレードサーバ４０Ｂの電源がＯＦＦされる。
【００４６】
図４に示す例とは異なるが、Ｓｔｅｐ１２において、残電力６３Ａ≧仮想マシン消費電力６２Ｂの条件を満たさない場合、第1ブレードサーバ４０Ａの仮想マシンを第２ブレードサーバ４０Ｂに集約できるか否かを判定する（Ｓｔｅｐ１６）。換言すると、第２ブレードサーバ４０Ｂの残電力６３Ｂと、第１ブレードサーバ４０Ａ上で起動している第１仮想マシン＃１〜第４仮想マシン＃４の仮想マシン消費電力６２Ａとの組み合わせにおいて、残電力６３Ｂ≧仮想マシン消費電力６２Ａであるか否かを判定する。なお、上記Ｓｔｅｐ１２とＳｔｅｐ１６のプロセスが、図３に示すＳｔｅｐ２のサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索するプロセスに相当する。
【００４７】
残電力６３Ｂ≧仮想マシン総消費電力６２Ａの条件を満たす場合、第１仮想マシン＃１〜第４仮想マシン＃４が第１ブレードサーバ４０Ａから第２ブレードサーバ４０Ｂに移動するように、制御部３２は、第１仮想マシン管理ソフト４２Ａ及び第２仮想マシン管理ソフト４２Ｂに対して移動要求を行う（Ｓｔｅｐ１７）。これに伴って、第１仮想マシン＃１〜第４仮想マシン＃４は、上記と同様のプロセスにて第１ブレードサーバ４０Ａから第２ブレードサーバ４０Ｂに移動する（Ｓｔｅｐ１８）。
【００４８】
次いで、第２ブレードサーバ４０Ｂ上で第１仮想マシン＃１〜第４仮想マシン＃４が、最新のデータとなり、かつ第２ブレードサーバ４０Ｂ上で稼働したことを監視部３１が確認する。監視部３１の確認を受けて制御部３２は、第１ブレードサーバ４０Ａ上の第１仮想マシン＃１〜第４仮想マシン＃４の動作を停止するように、第１ブレードサーバ４０Ａの第１サーバ管理部４０Ａに指示する。続いて、制御部３２は、第１サーバ管理部４１Ａに対して第１ブレードサーバ４０Ａの停止要求を行う（Ｓｔｅｐ１９）。これにより、第１ブレードサーバ４０Ａの電源がＯＦＦされる。
【００４９】
上記Ｓｔｅｐ１６において、残電力６３Ｂ≧仮想マシン総消費電力６２Ａの条件を満たさない場合には、現状を維持する。すなわち、第１ブレードサーバ４０Ａ，及び第２ブレードサーバ４０Ｂを現状のまま稼働する。
【００５０】
上記ステップにより仮想サーバを集約して消費電力化を実現した後、仮想マシンの使用状況によっては、ブレードサーバの消費電力が最大電力に達してしまう場合もある。この場合には、ブレードサーバを新たに起動して、その新たに起動したブレードサーバに、１つ又は複数の仮想マシンを移動する。なお、仮想マシンの消費電力は上述したように使用状況によって変動する。従って、仮想マシンの消費電力値の変動を予め考慮し、仮想マシンのリアルタイムの実消費電力に対して、若干の余剰の電力をマージンとして上乗せした値を設定しておくことが好ましい。
【００５１】
図４（ｂ）の例において、第１ブレードサーバ４０Ａの消費電力が最大電力に達してしまった場合、第２ブレードサーバ４０Ｂを起動し、例えば、第５仮想マシン＃５、及び第６仮想マシン＃６の２つの仮想マシンを上記と同様の方法にて第１ブレードサーバ４０Ａから第２ブレードサーバ４０Ｂに移動する。
【００５２】
なお、前述したとおり、仮想マシンの移動方法は公知の技術を適宜利用可能であり、上記方法に限定されるものではない。例えば、図４（ａ）の例において、第２ブレードサーバ４０Ｂ上の第５仮想マシン＃５、第６仮想マシン＃６が第１ブレードサーバ４０Ａへの移動要求を受けた場合、第２ブレードサーバ４０Ｂの第５仮想マシン＃５、第６仮想マシン＃６の最新データを仮想マシン管理部５０に送信し、その後直ちに制御部３２が第２仮想マシン管理ソフト４２Ｂに対して第５仮想マシン＃５及び第６仮想マシン＃６の停止要求を指示して停止させるようにしてもよい。そして、制御部３２は、さらに第２サーバ管理部４１Ｂに第２ブレードサーバ４０Ｂの停止要求を行い、その上で第１仮想マシン管理ソフト４２Ａに第５仮想マシン＃５及び第６仮想マシン＃６の起動要求を行うようにしてもよい。
【００５３】
本実施形態１によれば、仮想マシンのリアルタイムの消費電力、及びサーバのリアルタイムの残電力に応じて、サーバの稼働数をできる限り低減する条件に基づいて、仮想マシンをサーバに集約し、当該集約により仮想マシンが稼働されないことになったサーバを停止させる方法を採用しているので、サーバシステム全体の低消費電力化を実際の使用状況に即して柔軟に実現させることが可能である。
【００５４】
また、本実施形態１に係るサーバシステムによれば、仮想マシンの性能を維持しつつ、消費電力を削減することができる。その理由は、各ブレードサーバ上の消費電力をエンクロージャ管理モジュール３０がリアルタイムに把握できることを活かして、最大電力の範囲内でブレードサーバに仮想マシンを集約する仕組みを設けたためである。
【００５５】
また、本実施形態１に係るサーバシステムによれば、複数のブレードサーバ上の複数の仮想マシンをエンクロージャ管理モジュール３０から自律的かつ一元的に制御できる。その理由は、エンクロージャ管理モジュール３０がサーバ管理部（４１Ａ〜４１Ｃ）を介して直接仮想マシンを制御する手段を設けたためである。
【００５６】
さらに、本実施形態１に係るサーバシステムによれば、特別なソフトウェアが不要である。その理由は、エンクロージャ管理モジュール３０がサーバ管理部を介して直接仮想マシンを制御する手段を設けたためである。
【００５７】
本実施形態１においては、サーバとしてブレードサーバを例として説明したが、通常のサーバにおいても同様の仕組みを構築することにより本件発明を適用することができる。
【００５８】
［実施形態２］
次に、上記実施形態１に係るサーバシステムとは異なる一例について説明する。なお、以降の説明において、上記実施形態１と同一の要素は、同一の符号を付し、適宜その説明を省略する。
【００５９】
本実施形態２に係るサーバシステムは、以下の点を除き、上記実施形態１と基本的な構成及び動作が同一である。すなわち、上記実施形態１に係るサーバシステムは、監視部が取得した情報をもとに、ブレードサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索する際に、一のブレードサーバ内の複数の仮想マシンの総消費電力値と、サーバの残電力とを比較対照として検索していたのに対し、本実施形態２においては、一のブレードサーバ内の個々の仮想マシンの消費電力と、サーバの残電力とを比較対象として検索している点において相違する。
【００６０】
図６（ａ）及び（ｂ）は、本実施形態２に係るサーバシステムの消費電力の状態を説明するための説明図である。本実施形態２においては、第1サーバブレード４０Ａ，第２サーバブレード４０Ｂ，及び第３サーバブレード４０Ｃの３台が稼働し、かつ、第１仮想マシン＃１〜第９仮想マシン＃９の９つの仮想マシンが起動している例について説明する。また、説明の便宜上、第1ブレードサーバ４０Ａ〜第３ブレードサーバ４０Ｃの最大電力６０を同一とした例について説明する。
【００６１】
まず、エンクロージャ管理モジュール３０内の監視部３１は、起動している第１ブレードサーバ４０Ａ、第２ブレードサーバ４０Ｂ、及び第３ブレードサーバ４０Ｃの消費電力及び残電力情報を取得する。ここで、第３ブレードサーバ４０Ｃ内の仮想マシン以外の消費電力を６１Ｃ,第３ブレードサーバ４０Ｃ内で起動されている仮想マシンの総消費電力を６２Ｃ，第３ブレードサーバ４０Ｃが利用できる最大電力に対する残電力を６３Ｃとする。
【００６２】
図６（ａ）の例においては、仮想マシンの総消費電力６２Ａは、第１仮想マシン＃１〜第４仮想マシン＃４の４つの仮想マシンが消費する電力の合計である。また、仮想マシンの総消費電力６２Ｂは、第５仮想マシン＃５〜第６仮想マシン＃６の２つの仮想マシンが消費する電力の合計である。さらに、仮想マシンの総消費電力６２Ｃは、第７仮想マシン＃７〜第９仮想マシン＃９の３つの仮想マシンが消費する電力の合計である。
【００６３】
本実施形態２に係るサーバシステムは、仮想マシンの総消費電力と残電力を比較するのではなく、個々の仮想マシンの消費電力と残電力が比較される。換言すると、監視部が取得した情報をもとに、ブレードサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索する際に、一のブレードサーバ内の個々の仮想マシンの消費電力と、サーバの残電力とを比較対象として検索している。
【００６４】
本実施形態２においては、第５仮想マシン＃５の消費電力が、第１ブレードサーバ４０Ａの残電力よりも小さく、かつ、第６仮想マシン＃６の消費電力が、第３ブレードサーバ４０Ｃの残電力よりも小さい場合を例として説明する。上記実施形態１と同様に、ブレードサーバの稼働数をできる限り低減する条件に基づいて、ブレードサーバの最大電力の範囲で仮想マシンを集約可能な組み合わせを検索する。そして、その検索結果をもとに、図６（ｂ）に示すように、第５仮想マシン＃５を第１ブレードサーバ４０Ａに、第６仮想マシン＃６を第３ブレードサーバに移動させる。これにより、第２ブレードサーバ４０Ｂにより起動される仮想マシンを無くして、第２ブレードサーバの電源をオフすることができる。その結果、サーバシステムの低消費電力化を実現することができる。
【００６５】
本実施形態２に係るサーバシステムによれば、仮想マシン個々の消費電力と、サーバの残電力を比較しているのでより効率的にサーバシステムの低消費電力化を実現することができる。
【図面の簡単な説明】
【００６６】
【図１】実施形態１に係るサーバシステムの消費電力化を実現するための構成手段の説明図。
【図２】実施形態１に係るサーバシステムの概略構成の一例を示すブロック図。
【図３】実施形態１に係るサーバシステムの低消費電力化を実行するためのフローチャート図。
【図４】（ａ）及び（ｂ）は、実施形態１に係るサーバシステムの低消費電力化の一例を説明するための図。
【図５】実施形態１に係るサーバシステムの低消費電力化の一例を実行するためのフローチャート図。
【図６】（ａ）及び（ｂ）は、実施形態２に係るサーバシステムの低消費電力化の一例を説明するための図。
【符号の説明】
【００６７】
＃１〜＃９  第1仮想マシン〜第９仮想マシン
１０    シリアルバス
２０    ネットワーク
３０    エンクロージャ管理モジュール
３１    監視部
３２    制御部
３３    仮想マシン管理テーブル
４０Ａ〜４０Ｃ    ブレードサーバ
４１Ａ〜４１Ｃ    サーバ管理部
４２Ａ〜４２Ｃ    仮想マシン管理ソフト
４３Ａ〜４４Ｃ    ネットワーク管理部
４４Ａ〜４４Ｃ    電力センサ
５０    仮想マシンデータ管理部
６０    最大電力
６１    仮想マシン以外のブレードサーバの消費電力
６２    仮想マシンの総消費電力
６３    ブレードサーバの残電力
１００  サーバシステム
【図１】
0004488072.tif 000002
【図２】
0004488072.tif 000003
【図３】
0004488072.tif 000004
【図４】
0004488072.tif 000005
【図５】
0004488072.tif 000006
【図６】
0004488072.tif 000007