(57)【特許請求の範囲】
【請求項１】
無停電電源装置が接続され、複数の仮想マシンを実行する複数の仮想化サーバと、該複数の仮想化サーバの電源障害に対するフェールセーフ機能を有するフェールセーフ装置とから構成される仮想マシンコンピュータシステムであって、
前記フェールセーフ装置が、
前記複数の無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する無停電電源装置一覧テーブル部と、
前記複数の仮想化サーバの識別子と該仮想化サーバ識別子に対応した無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する仮想化サーバ一覧テーブル部と、
前記仮想マシンを実行する仮想化サーバの識別子と該仮想化サーバ識別子に対応した仮想マシンの識別子と前記仮想マシンを実行可能な他の仮想化サーバの識別子であるフェールオーバ先識別子とシャッドダウンを優先的に行う仮想マシンを指定するユーザ指定優先度とを格納する仮想マシン一覧テーブル部とを備え、
前記無停電電源装置一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した無停電電源装置識別子を抽出する第１工程と、
該第１工程によって抽出した無停電電源装置識別子に対応する仮想化サーバ識別子を仮想化サーバ一覧テーブル部から抽出する第２工程と、
該第２工程によって抽出した仮想化サーバ識別子の仮想化サーバが実行中の仮想マシンの識別子を前記仮想マシン一覧テーブル部から抽出する第３工程と、
該第３工程によって抽出した仮想マシンを実行可能な仮想化サーバのフェールオーバ先識別子及びユーザ指定優先度を前記仮想マシン一覧テーブル部から抽出する第４工程と、
前記第３工程によって抽出した実行中の仮想マシン識別子が付与された仮想マシンを前記第４工程により抽出したフェールオーバ先識別子の仮想化サーバに移動するフェールオーバを行う第５工程と、
前記第４工程によって抽出したユーザ指定優先度により指定された仮想マシンの動作を優先的に停止する第６工程と、
前記第６工程に続いて前記第２工程によって抽出した仮想化サーバが実行している仮想マシンの動作を停止する第７工程とを実行する仮想マシンコンピュータシステム。
【請求項２】
前記フェールセーフ装置が、
前記複数の無停電電源装置から無停電電源装置の電源障害検出有無情報を検出し、前記検出した電源障害検出有無情報を前記無停電電源装置一覧テーブル部に格納する第７工程を実行する請求項１記載の仮想マシンコンピュータシステム。
【請求項３】
前記フェールセーフ装置が、
前記仮想化サーバ一覧テーブル部から複数の無停電電源装置識別子と該無停電電源装置識別子に対応する電源障害検出有無情報を抽出する第８工程と、
前記無停電電源装置一覧テーブル部から前記第８工程によって抽出した無停電電源装置識別子と一致する無停電電源装置識別子の電源障害検出有無情報を仮想化サーバ一覧テーブル部に格納する第９工程とを実行することを含む請求項２記載の仮想マシンコンピュータシステム。
【請求項４】
前記フェールセーフ装置が、
前記仮想化サーバ一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した仮想マシン識別子を抽出する第１０工程と、
前記仮想マシン一覧テーブル部から前記第１０工程によって抽出した仮想マシン識別子の仮想マシン実行中の仮想化サーバ識別子並びにフェールオーバ先識別子を抽出する第１１工程と、
前記第１１工程によって抽出したフェールオーバ先識別子に対応する他の仮想化サーバに実行中の仮想マシンを移動させる第１２工程とを実行することを含む請求項３記載の仮想マシンコンピュータシステム。
【請求項５】
前記フェールセーフ装置が、
前記第１０工程によって抽出した仮想マシン識別子の仮想マシンの実行を動作を停止する第１２工程とを実行することを含む請求項４記載の仮想マシンコンピュータシステム。
【請求項６】
無停電電源装置が接続され、複数の仮想マシンを実行する複数の仮想化サーバと、該複数の仮想化サーバの電源障害に対するフェールセーフ機能を有するフェールセーフ装置とから構成される仮想マシンコンピュータシステムのフェールセーフ方法であって、
前記フェールセーフ装置に、
前記複数の無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する無停電電源装置一覧テーブル部と、
前記複数の仮想化サーバの識別子と該仮想化サーバ識別子に対応した無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する仮想化サーバ一覧テーブル部と、
前記仮想マシンを実行する仮想化サーバの識別子と該仮想化サーバ識別子に対応した仮想マシンの識別子と前記仮想マシンを実行可能な他の仮想化サーバの識別子であるフェールオーバ先識別子とシャッドダウンを優先的に行う仮想マシンを指定するユーザ指定優先度とを格納する仮想マシン一覧テーブル部とを備え、
前記無停電電源装置一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した無停電電源装置識別子を抽出する第１工程と、
該第１工程によって抽出した無停電電源装置識別子に対応する仮想化サーバ識別子を仮想化サーバ一覧テーブル部から抽出する第２工程と、
該第２工程によって抽出した仮想化サーバ識別子の仮想化サーバが実行中の仮想マシンの識別子を前記仮想マシン一覧テーブル部から抽出する第３工程と、
該第３工程によって抽出した仮想マシンを実行可能な仮想化サーバのフェールオーバ先識別子及びユーザ指定優先度を前記仮想マシン一覧テーブル部から抽出する第４工程と、
前記第３工程によって抽出した実行中の仮想マシン識別子が付与された仮想マシンを前記第４工程によって抽出したフェールオーバ先識別子の仮想化サーバに移動するフェールオーバを行う第５工程と、
前記第４工程によって抽出したユーザ指定優先度により指定された仮想マシンの動作を優先的に停止する第６工程と、
前記第６工程に続いて前記第２工程によって抽出した仮想化サーバが実行している仮想マシンの動作を停止する第７工程とを実行するフェールセーフ方法。
【請求項７】
前記フェールセーフ装置に、
前記複数の無停電電源装置から無停電電源装置の電源障害検出有無情報を検出し、前記検出した電源障害検出有無情報を前記無停電電源装置一覧テーブル部に格納する第７工程を実行する請求項６記載のフェールセーフ方法。
【請求項８】
前記フェールセーフ装置に、
前記仮想化サーバ一覧テーブル部から複数の無停電電源装置識別子と該無停電電源装置識別子に対応する電源障害検出有無情報を抽出する第８工程と、
前記無停電電源装置一覧テーブル部から前記第８工程によって抽出した無停電電源装置識別子と一致する無停電電源装置識別子の電源障害検出有無情報を仮想化サーバ一覧テーブル部に格納する第９工程とを実行することを含む請求項７記載のフェールセーフ方法。
【請求項９】
前記フェールセーフ装置に、
前記仮想化サーバ一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した仮想マシン識別子を抽出する第１０工程と、
前記仮想マシン一覧テーブル部から前記第１０工程によって抽出した仮想マシン識別子の仮想マシン実行中の仮想化サーバ識別子並びにフェールオーバ先識別子を抽出する第１１工程と、
前記第１１工程によって抽出したフェールオーバ先識別子に対応する他の仮想化サーバに実行中の仮想マシンを移動させる第１２工程とを実行することを含む請求項８記載のフェールセーフ方法。
【請求項１０】
前記フェールセーフ装置に、
前記第１０工程によって抽出した仮想マシン識別子の仮想マシンの実行を動作を停止する第１２工程とを実行することを含む請求項９記載のフェールセーフ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンを構成する仮想化サーバ上で電源障害が発生した場合であっても好適にシャットダウン制御を行うことができる仮想マシンコンピュータシステム及び仮想マシンコンピュータシステムのフェールセーフ方法に関する。
【背景技術】
【０００２】
近年のコンピュータシステムにおいては、サーバのマシン資源をソフトウェアを使って複数に分割して独立させ、複数台のサーバ上に複数の仮想マシンを同時に稼働させる仮想マシン（ＶＭ：Virtual Machine）技術が実現している。この仮想マシン技術は、ハードウェアを仮想化し、その仮想ハードウェア上でＯＳを動作させる技術であり、仮想的なハードウェアを複数用意することによって同時に複数のＯＳやアプリケーションを実行することもできる。
【０００３】
尚、前記仮想マシン技術に関する技術が記載された文献としては、例えば下記特許文献１が挙げられる。
【特許文献１】特開２００５−１１５６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら従来技術による仮想マシン技術は、電源障害が発生した場合の対策が充分に考慮されておらず、フェールセーフ機能が不十分であると言う不具合があった。これを具体的に説明すると従来技術による仮想マシン技術は、例えば無停電電源装置と同じネットワーク上に接続されている全ての仮想化サーバにシャットダウン処理の優先順位を設定した設定無停電電源装置監視プログラムを組み込み、無停電電源装置が電源障害を検知した場合、前記監視プログラムが複数の仮想化サーバのシャットダウン処理を行うものであって、複数仮想化サーバが複数の仮想マシンを実行中にもかかわらず、前記設定無停電電源装置監視プログラムに設定した優先順位のみの順番によりシャットダウンを行うため、実行中の仮想マシンの重要度に従ったシャットダウン処理を行うことが困難であると言う不具合があった。
【０００５】
また、従来の仮想マシン技術は、特定の仮想化サーバに電源障害が発生しても他の仮想化サーバにおいて仮想マシンを実行可能な仮想化環境であっても、他の仮想化サーバにおいて仮想マシンを実行することができないと言う不具合があった。
【０００６】
尚、フェールセーフ(fail safe)とは、障害が発生することをあらかじめ想定し、障害が起きた際の被害を最小限にとどめるような工夫をしておくという設計思想を意味する。
【０００７】
本発明の目的は、仮想化サーバ上の仮想マシンを重要度に従って安全にシャットダウンすると共に実行可能な仮想化サーバ上で仮想マシンの実行を継続することができる仮想マシンコンピュータシステム及び仮想マシンコンピュータシステムのフェールセーフ方法を提供することである。
【課題を解決するための手段】
【０００８】
前記目的を達成するために本発明は、無停電電源装置が接続され、複数の仮想マシンを実行する複数の仮想化サーバと、該複数の仮想化サーバの電源障害に対するフェールセーフ機能を有するフェールセーフ装置とから構成される仮想マシンコンピュータシステムであって、
前記フェールセーフ装置が、
前記複数の無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する無停電電源装置一覧テーブル部と、
前記複数の仮想化サーバの識別子と該仮想化サーバ識別子に対応した無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する仮想化サーバ一覧テーブル部と、
前記仮想マシンを実行する仮想化サーバの識別子と該仮想化サーバ識別子に対応した仮想マシンの識別子と前記仮想マシンを実行可能な他の仮想化サーバの識別子であるフェールオーバ先識別子とシャッドダウンを優先的に行う仮想マシンを指定するユーザ指定優先度とを格納する仮想マシン一覧テーブル部とを備え、
前記無停電電源装置一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した無停電電源装置識別子を抽出する第１工程と、
該第１工程によって抽出した無停電電源装置識別子に対応する仮想化サーバ識別子を仮想化サーバ一覧テーブル部から抽出する第２工程と、
該第２工程によって抽出した仮想化サーバ識別子の仮想化サーバが実行中の仮想マシンの識別子を前記仮想マシン一覧テーブル部から抽出する第３工程と、
該第３工程によって抽出した仮想マシンを実行可能な仮想化サーバのフェールオーバ先識別子及びユーザ指定優先度を前記仮想マシン一覧テーブル部から抽出する第４工程と、
前記第３工程によって抽出した実行中の仮想マシン識別子が付与された仮想マシンを前記第４工程により抽出したフェールオーバ先識別子の仮想化サーバに移動するフェールオーバを行う第５工程と、
前記第４工程によって抽出したユーザ指定優先度により指定された仮想マシンの動作を優先的に停止する第６工程と、
前記第６工程に続いて前記第２工程によって抽出した仮想化サーバが実行している仮想マシンの動作を停止する第７工程とを実行することを第１の特徴とする。
【０００９】
また本発明は、前記第１の特徴の仮想マシンコンピュータシステムにおいて、前記フェールセーフ装置が、
前記複数の無停電電源装置から無停電電源装置の電源障害検出有無情報を検出し、前記検出した電源障害検出有無情報を前記無停電電源装置一覧テーブル部に格納する第７工程を実行することを第２の特徴とする。
【００１０】
また本発明は、前記第２の特徴の仮想マシンコンピュータシステムにおいて、前記フェールセーフ装置が、
前記仮想化サーバ一覧テーブル部から複数の無停電電源装置識別子と該無停電電源装置識別子に対応する電源障害検出有無情報を抽出する第８工程と、
前記無停電電源装置一覧テーブル部から前記第８工程により抽出した無停電電源装置識別子と一致する無停電電源装置識別子の電源障害検出有無情報を仮想化サーバ一覧テーブル部に格納する第９工程とを実行することを含むことを第３の特徴とする。
【００１１】
また本発明は、前記第３の特徴の仮想マシンコンピュータシステムにおいて、前記フェールセーフ装置が、
前記仮想化サーバ一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した仮想マシン識別子を抽出する第１０工程と、
前記仮想マシン一覧テーブル部から前記第１０工程により抽出した仮想マシン識別子の仮想マシン実行中の仮想化サーバ識別子並びにフェールオーバ先識別子を抽出する第１１工程と、
前記第１１工程により抽出したフェールオーバ先識別子に対応する他の仮想化サーバに実行中の仮想マシンを移動させる第１２工程とを実行することを第４の特徴とする。
【００１２】
また本発明は、前記第１の特徴の仮想マシンコンピュータシステムにおいて、前記フェールセーフ装置が、
前記第１０工程により抽出した仮想マシン識別子の仮想マシンの実行を動作を停止する第１２工程とを実行することを含むことを第５の特徴とする。
【００１３】
更に本発明は、無停電電源装置が接続され、複数の仮想マシンを実行する複数の仮想化サーバと、該複数の仮想化サーバの電源障害に対するフェールセーフ機能を有するフェールセーフ装置とから構成される仮想マシンコンピュータシステムのフェールセーフ方法であって、
前記フェールセーフ装置に、
前記複数の無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する無停電電源装置一覧テーブル部と、
前記複数の仮想化サーバの識別子と該仮想化サーバ識別子に対応した無停電電源装置の識別子と該無停電電源装置識別子に対応した電源障害検出有無情報を格納する仮想化サーバ一覧テーブル部と、
前記仮想マシンを実行する仮想化サーバの識別子と該仮想化サーバ識別子に対応した仮想マシンの識別子と前記仮想マシンを実行可能な他の仮想化サーバの識別子であるフェールオーバ先識別子とシャッドダウンを優先的に行う仮想マシンを指定するユーザ指定優先度とを格納する仮想マシン一覧テーブル部とを備え、
前記無停電電源装置一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した無停電電源装置識別子を抽出する第１工程と、
該第１工程によって抽出した無停電電源装置識別子に対応する仮想化サーバ識別子を仮想化サーバ一覧テーブル部から抽出する第２工程と、
該第２工程によって抽出した仮想化サーバ識別子の仮想化サーバが実行中の仮想マシンの識別子を前記仮想マシン一覧テーブル部から抽出する第３工程と、
該第３工程によって抽出した仮想マシンを実行可能な仮想化サーバのフェールオーバ先識別子及びユーザ指定優先度を前記仮想マシン一覧テーブル部から抽出する第４工程と、
前記第３工程によって抽出した実行中の仮想マシン識別子が付与された仮想マシンを前記第４工程によって抽出したフェールオーバ先識別子の仮想化サーバに移動するフェールオーバを行う第５工程と、
前記第４工程によって抽出したユーザ指定優先度により指定された仮想マシンの動作を優先的に停止する第６工程と、
前記第６工程に続いて前記第２工程によって抽出した仮想化サーバが実行している仮想マシンの動作を停止する第７工程とを実行することを第６の特徴とする。
【００１４】
また本発明は、前記第６の特徴のフェールセーフ方法において、前記フェールセーフ装置に、
前記複数の無停電電源装置から無停電電源装置の電源障害検出有無情報を検出し、前記検出した電源障害検出有無情報を前記無停電電源装置一覧テーブル部に格納する第７工程を実行することを第７の特徴とする。
【００１５】
また本発明は、前記第７の特徴のフェールセーフ方法において、前記フェールセーフ装置に、
前記仮想化サーバ一覧テーブル部から複数の無停電電源装置識別子と該無停電電源装置識別子に対応する電源障害検出有無情報を抽出する第８工程と、
前記無停電電源装置一覧テーブル部から前記第８工程により抽出した無停電電源装置識別子と一致する無停電電源装置識別子の電源障害検出有無情報を仮想化サーバ一覧テーブル部に格納する第９工程とを実行することを含むことを第８の特徴とする。
【００１６】
また本発明は、前記第８の特徴のフェールセーフ方法において、前記フェールセーフ装置に、
前記仮想化サーバ一覧テーブル部から電源障害を検出している電源障害検出有無情報に対応した仮想マシン識別子を抽出する第１０工程と、
前記仮想マシン一覧テーブル部から前記第１０工程により抽出した仮想マシン識別子の仮想マシン実行中の仮想化サーバ識別子並びにフェールオーバ先識別子を抽出する第１１工程と、
前記第１１工程により抽出したフェールオーバ先識別子に対応する他の仮想化サーバに実行中の仮想マシンを移動させる第１２工程とを実行することを第９の特徴とする。
【００１７】
また本発明は、前記第９の特徴のフェールセーフ方法において、前記フェールセーフ装置に、
前記第１０工程により抽出した仮想マシン識別子の仮想マシンの実行を動作を停止する第１２工程とを実行することを含むことを第１０の特徴とする。
【発明の効果】
【００１８】
本発明による仮想マシンコンピュータシステム及び仮想マシンコンピュータシステムのフェールセーフ方法は、フェールセーフ装置が、スケジュールに従って仮想化サーバの電源監視を行う工程と、該監視により電源障害を検出したときにフェールオーバ先の仮想化サーバを検索する工程と、仮想マシンのフェールオーバを実行する工程と、障害が発生した仮想マシンのシャットダウンを行う工程とを順次行うことによって、障害が発生した仮想化サーバ上の仮想化マシンを他の仮想化サーバに移動した後に障害が発生した仮想化サーバをシャットダウンすることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明によるフェールセーフ方法を適用した仮想マシンコンピュータシステムの一実施形態を図面を参照して詳細に説明する。図１は本実施形態によるフェールセーフ機能を実現する仮想マシンコンピュータシステムの全体構成図、図２は本実施形態による仮想化環境のフェールセーフ装置１５０の動作フローチャート図、図３は本実施形態による無停電電源装置監視部１１５の動作フローチャート図、図４は本実施形態による仮想化サーバ監視部１２５の動作フローチャート図、図５は本実施形態による仮想マシン移動処理部１３５の動作フローチャート図、図６は本実施形態によるシャットダウン処理部１４０の動作フローチャート図、図７は本実施形態による無停電電源装置一覧テーブル部１１０を示す図、図８は本実施形態による仮想化サーバ一覧テーブル部１２０を示す図、図９は本実施形態による仮想マシン一覧テーブル部１３０を示す図である。
【００２０】
［構成］
本実施形態による仮想マシンコンピュータシステムは、図１に示す如く、無停電電源装置１６０が接続され、仮想マシン１６４及び１６６を構成して実行する仮想化サーバ１６２と、無停電電源装置１７０が接続され、仮想マシン１７４及び１７６を構成して実行する仮想化サーバ１７２と、無停電電源装置１８０が接続され、前記仮想化サーバ１６２及び１７２を管理するための仮想化サーバ管理サーバ１８５と、仮想化環境において電源障害に対するフェールセーフ機能を有する本実施形態の特徴であるフェールセーフ装置１５０と、前記仮想化サーバ１６２及び１７２と仮想化サーバ管理サーバ１８５とフェールセーフ装置１５０とを接続するネットワーク１８７とから構成される。
【００２１】
前記フェールセーフ装置１５０は、予め設定したスケジュールにより電源障害発生の有無を各無停電電源装置１６０他に問合せ、この電源障害情報を収集する無停電電源装置監視部１１５と、該無停電電源装置監視部１１５が収集した電源障害情報を無停電電源装置の識別子に対応して格納する無停電電源装置一覧テーブル部１１０と、後述する仮想化サーバの一覧情報を格納する仮想化サーバ一覧テーブル部１２０と、前記無停電電源装置監視部１１５が無停電電源装置の電源障害を検知したとき、電源障害のステータス（電源障害情報）を仮想化サーバ一覧テーブル部１２０に格納する仮想化サーバ監視部１２５と、前記仮想化サーバ一覧テーブル部１２０に登録された電源障害情報を監視し、仮想マシン一覧テーブル部１３０を検索して、前記仮想化サーバ１６２上で動作する仮想マシン１６４及び１６６の内、フェールオーバ処理が予め設定されている仮想マシンに対してフェールオーバ処理（障害が発生したときに代替サーバが処理やデータを引き継ぐ機能）を行う仮想マシン移動処理部１３５と、前記仮想化サーバ一覧テーブル部１２０に登録された電源障害のステータスを監視し、仮想マシン一覧テーブル部１３０を検索して、前記仮想化サーバ１６２上で動作する仮想マシン１６４及び１６６に対して仮想マシン一覧テーブル部１３０のユーザ指定優先度とＣＰＵリソース割当てを判断することにより、仮想マシンのシャットダウン処理順を決定し、仮想マシンのシャットダウン処理を行うシャットダウン処理部１４０と、これらを制御する図示しない制御部やメモリとから構成される。尚、前記制御部は、後述する電源障害が発生した無停電電源装置や仮想化サーバの数を計数するためのカウンタをメモリ上にて管理する。
【００２２】
前記無停電電源装置一覧テーブル部１１０に登録されるデータフォーマットは、図７に示す如く、無停電電源装置毎にユニークに付与された識別子７１０と、検出した電源装置の電源障害情報（「電源障害中」又は「未検出」）が格納される電源障害検出有無情報７４０の各欄とから構成され、例えば識別子７１０が「１６０」の仮想化サーバが「電源障害中」の如く登録される。
【００２３】
仮想化サーバ一覧テーブル部１２０のデータフォーマットは、図８に示す如く、仮想化サーバ毎に採番された仮想化サーバ識別子８１０と、該仮想化サーバの種別を示すサーバ種別８２０と、該サーバの電源投入状態を示すサーバ電源状態８３０と、接続されている無停電電源装置の識別子を示す無停電電源装置識別子８４０と、電源障害の検出有無を示す電源障害検出有無情報８５０の各欄から構成され、例えば、仮想化サーバ識別子８１０欄に識別子「１６４」、サーバ種別８２０欄に「仮想マシン実行」、サーバ電源状態８３０欄に「電源ＯＮ」、無停電電源装置識別子８４０欄に識別子「１６０」、電源障害検出有無情報８５０欄に「電源障害中」の如く各情報が登録され、これら登録は、識別子「１６４」の仮想化サーバが、識別子「１６０」の無停電電源装置が接続されたサーバ上において電源ＯＮとして実行中であり、電源障害が検出されていることを表している。
【００２４】
前記仮想マシン一覧テーブル部１３０のデータフォーマットは、図９に示す如く、仮想マシンを実行するサーバの識別子である仮想化サーバ識別子９１０と、該仮想マシンの識別子を示す仮想マシン識別子９２０と、該仮想マシンの起動又は停止状態を示す起動停止状態９３０と、該仮想マシンを他のサーバにて実行する際の移行先仮想化サーバの識別子であるフェールオーバ先識別子９４０と、ユーザが仮想マシンの重要度等から予め設定した優先度を示すユーザ指定優先度９５０と、該仮想化サーバが仮想マシンに割り当てるＣＰＵリソースを示すＣＰＵリソース割当９６０の各欄とから構成されている。
【００２５】
前記仮想マシン一覧テーブル部１３０に登録される情報は、例えば、仮想化サーバ識別子９１欄に識別子「１６４」、仮想マシン識別子９２０欄に「１６２」、起動停止状態９３０欄に「起動」、フェールオーバ先９４０欄に「１７４」、ユーザ指定優先度９５０欄に「なし」、ＣＰＵリソース割当９６０欄に「５００ＭＨｚ」の如く登録され、これら情報は、識別子「１６２」の仮想マシンを識別子「１６４」のサーバが起動中であり、この仮想マシンのフェールオーバ先のサージ識別子が「１７４」、ユーザ優先度が「なし」、ＣＰＵリソース割当が「５００ＭＨｚ」であることを表している。尚。図中の符号１９０は、ＣＤ−ＲＯＭ装置またはフレキシブルディスク装置を示し、符号１９５は、本実施形態による仮想化環境におけるフェールセーフ機能のプログラムを格納したＣＤ−ＲＯＭまたはフレキシブルディスクを示す。
【００２６】
［動作］
次に前述のように構成した仮想マシンコンピュータシステムの電源障害発生時の全体動作を図２を参照して説明する。
［全体動作］
本実施形態による仮想マシンコンピュータシステムのフェールセーフ装置１５０は、図２に示す如く、無停電電源装置一覧テーブル部１１０及び仮想化サーバ一覧テーブル部１０の電源障害検出有無に未検出フラグを設定するステップ２１０と、予め設定された無停電電源装置監視スケジュールに従って無停電電源装置監視部１１５を用いてサーバの電源状態を監視し、電源障害有無を確認するステップ２１５と、該ステップ２１５によって電源障害を検出したか否かを判定するステップ２２０と、該ステップ２２０により電障害有りと判定したとき、仮想化サーバ監視部１２５を用いて電源障害を検出した無停電電源装置に対応する仮想化サーバの一覧を仮想化サーバ一覧テーブル部１２０から検索して抽出するステップ２２５と、該ステップ２２５により抽出した仮想化サーバの数が０以上か否かを判定するステップ２３０と、該ステップ２０３において０以上（電源障害が発生した仮想化サーバが有る）と判定したとき、仮想マシン移動処理部１３５を用いて仮想マシンのフェールオーバを仮想マシンの優先度や必要とするリソースに応じて実行するステップ２３５と、シャットダウン処理部１４０を用いて前記フェールオーバを行った障害が発生した仮想マシンのシャットダウン（停止）を行うステップ２４５とを実行し、前記ステップ２１０に戻るように動作する。
【００２７】
このように本実施形態によるフェールセーフ装置１５０は、無停電電源装置監視部１１５を用いて電源障害が発生している仮想化サーバを検出する工程と、電源障害が発生している判定したとき、仮想化サーバ監視部１２５が仮想化サーバ一覧テーブル部１２０を参照し電源障害が発生した仮想化サーバの識別子を判定する工程と、この電源障害が発生した仮想化サーバ上の仮想化マシンを他の仮想化サーバに割り当てる(移動させる)フェールオーバ処理を実行する工程と、前記電源障害が発生した仮想化サーバをシャットダウンさせる工程とを順次行うことによって、障害が発生した仮想化サーバ上の仮想化マシンを他の仮想化サーバに移動した後に障害が発生した仮想化サーバをシャットダウンすることができる。
【００２８】
前記フェールセーフ装置１５０他による動作の詳細を次に図３以降を参照して詳細に説明する。
［無停電電源装置監視部の動作］
前記無停電電源装置監視部１１５は、前記ステップ２１５において、図３に示す如く、無停電電源装置の電源障害カウンタ値に数値「０」を代入するステップ３１９と、無停電電源装置一覧テーブル部１１０から無停電電源装置情報を１件読み出すステップ３２０と、無停電電源装置一覧テーブル部１１０の最終データ読込み済みか否かを判定するステップ３３０と、該ステップ３３０により終了と判定したときに無停電電源装置の電源障害カウンタ値をリターン値に設定するステップ３７０と、前記ステップ３３０により最終データ読込み済みでないと判定したとき、前記ステップ３２０により読み出した無停電電源装置に電源状態の問い合わせを行って電源障害情報を入手するステップ３５０と、該ステップ３５０により入手した電源障害情報の内容が電源障害検出中か否かを判定し、電源障害検出中でないと判定したときに前記ステップ３２０に戻るステップ３５５と、該ステップ３５５において電源障害検出中であると判定したとき、該電源障害情報を無停電電源装置一覧テーブル部１１０の電源障害検出有無情報欄７４０に電源が障害中であることを格納するステップ３６０と、無停電電源装置の電源障害カウンタを＋１カウントアップしてから前記ステップ３２０に戻るステップ３６５とを実行する。
【００２９】
この処理によって本実施形態による無停電電源装置監視部１１５は、無停電電源装置一覧テーブル部１１０から仮想化サーバに接続された全ての無停電電源装置情報を取得し、読み出した無停電電源装置情報毎に電源障害情報の問い合わせ、電源に障害があることを検出したときには当該障害情報を無停電電源装置一覧テーブル部１１０に登録するように動作する。
【００３０】
［仮想化サーバ監視部の動作］
次に本実施形態による仮想化サーバ監視部１２５の動作を図４を参照して説明する。本仮想化サーバ監視部１２５は、前記ステップ２３５において、仮想化サーバの電源障害カウンタの値に「０」を代入するステップ４１０と、仮想化サーバ一覧テーブル部１２０から仮想化サーバの識別子に対応した仮想化サーバ情報（図８）を１件読み出すステップ４２０と、前記仮想化サーバ一覧テーブル部１２０からの最終データ読み込み済みか否かを判定するステップ４３０と、該ステップ４３０において最終読み込み済みと判定したとき、仮想化サーバの電源障害カウンタの値を＋１カウントアップするステップ４８０と、前記ステップ４３０において最終読み込み済みでないと判定したとき、無停電電源装置識別子が一致する無停電電源装置の情報（図７）を無停電電源装置一覧テーブル部１１０から抽出し、この抽出した無停電電源装置の電源障害検出有無情報７４０を仮想化サーバ一覧テーブル部１２０の電源障害検出有無情報８４０として格納するステップ４４０と、前記電源障害検出有無情報８４０が「電源障害中」か否かを判定し、「電源障害中」でないと判定したときに前記ステップ４２０に戻るステップ４５０と、該ステップ４５０において「電源障害中」と判定したとき、仮想化サーバの電源障害カウンタを＋１カウントアップするステップ４７０とを順次実行する。
【００３１】
これら一連の処理によって本実施形態による仮想化サーバ監視部１２５は、仮想化サーバ一覧テーブル部１２０から読み出した無停電電源装置の識別子の無停電電源装置の電源障害検出有無情報を無停電電源装置一覧テーブル部１１０から抽出し、前記読み出した電源障害検出有無情報が「電源障害中」のとき、この障害情報を仮想化サーバ一覧テーブル部１２０に格納することによって、仮想化サーバの電源障害を仮想化サーバ一覧テーブル部１２０に更新（反映）することができる。
【００３２】
［仮想マシン移動部の動作］
本実施形態によるシャットダウン処理部１４０は、前記ステップ２４５において、図５に示す如く、仮想化サーバ管理サーバ１８５が電源障害が発生した仮想化サーバか否かを判定し、仮想化サーバ管理サーバ１８５が電源障害の対象サーバと判定したときに処理を終了するステップ５１０と、該ステップ５１０において仮想化サーバ管理サーバ１８５が電源障害の対象サーバでないと判定したとき、仮想化サーバ一覧テーブル部１２０から電源障害中の仮想化サーバを１件読み出すステップ５２０と、電源障害中の仮想化サーバを仮想化サーバ一覧テーブル部１２０から全て読込み済みか否かを判定し、読み出し済みでないと判定したときに処理を終了するステップ５３０と、仮想マシン一覧テーブル部１３０から電源障害中の仮想化サーバ１６２上で稼働中且つフェールオーバ後も電源障害の影響を受けない仮想マシン識別子を１件読み出すステップ５４０と、仮想マシン一覧テーブル部１３０からフェールオーバ先識別子を読み出し、仮想化サーバ管理サーバ１８５にフェールオーバ処理を依頼するステップ５６０と、仮想マシン一覧テーブル部１３０の仮想化サーバ識別子をフェールオーバ先の仮想化サーバに変更するステップ５６５と、仮想マシン一覧テーブル部１３０のフェールオーバ先の設定を、フェールオーバ前の仮想化サーバに変更するステップ５７０とを順次実行する。
【００３３】
これら一連の処理によって本実施形態によるシャットダウン処理部１４０は、前記障害が発生した仮想マシンを仮想マシンの優先度や必要とするリソースに応じて他の仮想化サーバにフェールオーバすることができる。
【００３４】
［シャットダウン処理部の動作］
次に前記シャットダウン処理部１４０のシャットダウン処理を図６を参照して説明する。このシャットダウン処理は、シャットダウン処理部１４０が、前述したステップ２４５において、仮想化サーバ一覧テーブル部１２０から電源障害検出中の仮想化サーバ情報を１件読み出すステップ６２０と、該ステップ６２０により読み出した電源障害検出中の仮想化サーバ件数がゼロ件か否かを判定し、ゼロ件のときに図２のステップ２１０に戻るステップ６３０と、該ステップ６３０においてゼロ件でないと判定したとき、仮想化サーバ上で稼働中の仮想マシン識別子を仮想マシン一覧テーブル部１３０からユーザ指定の優先度とＣＰＵ利用率とメモリ容量などのリソースパラメタの優先度順に１件読み出すステップ６４０と、仮想マシン一覧テーブル部１３０中の仮想マシン数がゼロ件か否かを判定し、ゼロ件のときに前記ステップ６２０に戻るステップ６５０と、仮想マシン一覧テーブル部１３０から該当仮想マシンに対応する移動先の仮想化サーバを検出し、この仮想化サーバに対して仮想マシン停止コマンドを発行して前記ステップ６２０に戻るステップ６７０とを順次実行することによって、障害が発生した仮想マシンのシャットダウンを行うように動作する。
【００３５】
このように本実施形態による仮想マシンコンピュータシステムは、フェールセーフ装置１５０が、スケジュールに従って無停電電源装置監視部１１５による仮想化サーバの電源監視を行う工程と、該監視により電源障害を検出したときに仮想化サーバ監視部１２５によりフェールオーバ先の仮想化サーバを検索する工程と、仮想マシン移動処理部１３５による仮想マシンのフェールオーバを実行する工程と、シャットダウン処理部１４０により障害が発生した仮想マシンを実行する仮想化サーバのシャットダウンを行う工程とを順次行うことによって、障害が発生した仮想化サーバ上の仮想化マシンを他の仮想化サーバに移動した後に障害が発生した仮想化サーバをシャットダウンすることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態仮想マシンコンピュータシステムの全体構成図。
【図２】本実施形態による仮想化環境のフェールセーフ装置１５０の動作フローチャート図。
【図３】本実施形態による無停電電源装置監視部１１５の動作フローチャート図。
【図４】本実施形態による仮想化サーバ監視部１２５の動作フローチャート図。
【図５】本実施形態による仮想マシン移動処理部１３５の動作フローチャート図。
【図６】本実施形態によるシャットダウン処理部１４０の動作フローチャート図。
【図７】本実施形態による無停電電源装置一覧テーブル部１１０を示す図。
【図８】本実施形態による仮想化サーバ一覧テーブル部１２０を示す図。
【図９】本実施形態による仮想マシン一覧テーブル部１３０を示す図。
【符号の説明】
【００３７】
１０：仮想化サーバ一覧テーブル、９１：仮想化サーバ識別子、１１０：無停電電源装置一覧テーブル、１１５：無停電電源装置監視部、１２０：仮想化サーバ一覧テーブル、１３０：仮想マシン一覧テーブル、１２５：仮想化サーバ監視部、１３５：仮想マシン移動処理部、１４０：シャットダウン処理部、１５０：フェールセーフ装置、１６０：無停電電源装置、１６２：仮想化サーバ、１６４：仮想マシン、１８０：無停電電源装置、１８５：仮想化サーバ管理サーバ、１８７：ネットワーク。
【図１】
0004651127.tif 000002
【図２】
0004651127.tif 000003
【図３】
0004651127.tif 000004
【図４】
0004651127.tif 000005
【図５】
0004651127.tif 000006
【図６】
0004651127.tif 000007
【図７】
0004651127.tif 000008
【図８】
0004651127.tif 000009
【図９】
0004651127.tif 000010