(57)【要約】  複数の物理計算機を管理する管理サーバを備えて、物理計算機で１以上の仮想計算機を提供する仮想化部を有し、管理サーバが仮想計算機と仮想化部を制御する仮想計算機の制御方法であって、管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出し、仮想計算機の稼動状態を検出して、仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、仮想化部と接続関係にある仮想計算機の稼働状態に基づいて命令の発行の抑止または命令の発行を行う。
2012164716.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記複数の物理計算機を接続するネットワークと、前記複数の物理計算機を管理する管理サーバとを備えて、前記物理計算機で１つ以上の仮想計算機を提供する仮想化部を有し、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、
前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出する第１のステップと、
前記管理サーバは、前記仮想計算機の稼動状態を検出する第２のステップと、
前記管理サーバが、前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う第３のステップと、
を含むことを特徴とする仮想計算機の制御方法。
【請求項２】
請求項１に記載の仮想計算機の制御方法であって、
前記第３のステップは、
前記仮想化部と接続関係にある前記仮想計算機が稼働中のときには、前記仮想化部に対して状態を変更する命令の発行を抑止することを特徴とする仮想計算機の制御方法。
【請求項３】
請求項２に記載の仮想計算機の制御方法であって、
前記第３のステップは、
前記仮想化部に対して状態を変更する命令が、電源の遮断命令であることを特徴とする仮想計算機の制御方法。
【請求項４】
請求項１に記載の仮想計算機の制御方法であって、
前記第３のステップは、
前記仮想化部と接続関係にある前記仮想計算機の稼動状態が停止中のときには、前記仮想化部に対して状態を変更する命令を発行し、当該命令の実行が完了した後に前記仮想計算機に対して前記状態を変更する命令を発行することを特徴とする仮想計算機の制御方法。
【請求項５】
請求項４に記載の仮想計算機の制御方法であって、
前記第３のステップは、
前記仮想化部または仮想計算機に対して状態を変更する命令が、起動命令であることを特徴とする仮想計算機の制御方法。
【請求項６】
請求項１に記載の仮想計算機の制御方法であって、
前記第２のステップは、
前記仮想計算機の稼動状態が第１の命令の実行中であることを検出し、
前記第３のステップは、
前記仮想計算機と接続関係にある仮想化部に対して前記第１の命令を発行する場合には、前仮想計算機で前記第１の命令の実行が完了するまで、当該仮想化部に対する前記第１の命令の発行を抑止することを特徴とする仮想計算機の制御方法。
【請求項７】
請求項６に記載の仮想計算機の制御方法であって、
前記第３のステップは、
前記第１の命令が、マイグレーションの指令であることを特徴とする仮想計算機の制御方法。
【請求項８】
請求項１に記載の仮想計算機の制御方法であって、
前記仮想化部は、物理計算機上で稼動する第１の仮想化部と、第１の仮想化部上で稼動する１以上の第２の仮想化部とを含み、前記仮想計算機は前記第２の仮想化部上で稼動することを特徴とする仮想計算機の制御方法。
【請求項９】
プロセッサとメモリをそれぞれ備えた複数の物理計算機と、
前記複数の物理計算機を接続するネットワークと、
前記複数の物理計算機を管理する管理部とを備えて、前記物理計算機で１つ以上の仮想計算機を提供する仮想化部を有し、前記管理部が前記仮想計算機と前記仮想化部を制御する仮想計算機システムであって、
前記管理部は、
前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出するトポロジ検出部と、
前記仮想計算機の稼動状態を検出する稼動状態検出部と、
前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う命令制御部と、
を備えたことを特徴とする仮想計算機システム。
【請求項１０】
請求項９に記載の仮想計算機システムであって、
前記命令制御部は、
前記仮想化部と接続関係にある前記仮想計算機が稼働中のときには、前記仮想化部に対して状態を変更する命令の発行を抑止することを特徴とする仮想計算機システム。
【請求項１１】
請求項１０に記載の仮想計算機システムであって、
前記命令制御部は、
前記仮想化部に対して状態を変更する命令が、電源の遮断命令であることを特徴とする仮想計算機システム。
【請求項１２】
請求項９に記載の仮想計算機システムであって、
前記命令制御部は、
前記仮想化部と接続関係にある前記仮想計算機の稼動状態が停止中のときには、前記仮想化部に対して状態を変更する命令を発行し、当該命令の実行が完了した後に前記仮想計算機に対して前記状態を変更する命令を発行することを特徴とする仮想計算機システム。
【請求項１３】
請求項１２に記載の仮想計算機システムであって、
前記命令制御部は、
前記仮想化部または仮想計算機に対して状態を変更する命令が、起動命令であることを特徴とする仮想計算機システム。
【請求項１４】
請求項９に記載の仮想計算機システムであって、
前記稼動状態検出部は、
前記仮想計算機の稼動状態が第１の命令の実行中であることを検出し、
前記命令制御部は、
前記仮想計算機と接続関係にある仮想化部に対して前記第１の命令を発行する場合には、前仮想計算機で前記第１の命令の実行が完了するまで、当該仮想化部に対する前記第１の命令の発行を抑止することを特徴とする仮想計算機システム。
【請求項１５】
請求項１４に記載の仮想計算機システムであって、
前記命令制御部は、
前記第１の命令が、マイグレーションの指令であることを特徴とする仮想計算機システム。
【請求項１６】
請求項９に記載の仮想計算機システムであって、
前記仮想化部は、
物理計算機上で稼動する第１の仮想化部と、  第１の仮想化部上で稼動する１以上の第２の仮想化部とを含み、前記仮想計算機は前記第２の仮想化部上で稼動することを特徴とする仮想計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ仮想化技術を用いた計算機システムにおいて、利用者が操作ミスによって、業務が稼働している仮想サーバの下位層の仮想化部に対する操作を実行してしまい、業務が継続出来なくなることを回避する方法に関する。更に仮想化が多段構成になった場合に、その仮想化部が稼働する仮想サーバ以下の層に対する操作の可否を判定し、業務が継続できなることを回避する。
【背景技術】
【０００２】
近年、仮想サーバ市場の伸長に伴い、業務を稼働させるサーバを仮想サーバへ集約することが可能になってきている。サーバを集約することによって、物理的な計算機資源を削減することが可能になり、コスト削減を図ることが可能になる。一方、仮想サーバでは物理的な計算機資源を共有することにより、物理計算機上で仮想計算機が稼働中にも拘わらず、物理計算機の電源を遮断するなどの状態変更によって仮想計算機が消失するといった問題も生じる。【０００３】
更に、仮想化部を多段にして物理的な計算機資源を有効に利用する多段仮想計算機システムも知られている。多段仮想計算機システムでは、物理計算機上で下位層の仮想化部（以下、第１の仮想化部）が稼動し、この第１の仮想化部上で上位層（アプリケーション側）の仮想化部（以下、第２の仮想化部）が複数稼動し、これら第２仮想化部上で複数の仮想計算機を提供する。このような多段仮想計算機システム上で仮想計算機が稼働する構成において、ライブマイグレーションといった仮想計算機特有の機能を上位層と下位層（ハードウェア側）で同時に実行した場合、予期せぬ性能低下やシステム停止が起こり得る。この種の障害を防ぐ技術としては、例えば、特許文献１が知られている。特許文献１によれば、あるポリシインスタンス実行中に、他のポリシインスタンスの適用条件が成立した場合に、対応するコンポーネントリストを比較し、重複していない場合は実行し、重複している場合は実行を待機する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６０５０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、例えば、仮想化が多段階で行われる多段仮想計算機環境の上位層と下位層を勘案しない。つまり、物理計算機上で下位層として稼動する第１の仮想化部が状態を変更する命令を受け付け、この第１の仮想化部上で稼動する第２の仮想化部が所定の命令を受け付けた場合、第１の仮想化部と第２の仮想化部が同時に命令を実行することによって仮想計算機が正常に稼働せず、業務の停止を招く、という問題があった。例えば、第１の仮想化部の状態変更命令が停止、第２の仮想化部の命令が仮想計算機の移動であった場合、これらの命令を同時に実行すると第２の仮想化部が仮想計算機の移動を完了する以前に第１の仮想化部が停止し、この第１の仮想化部上で稼動する第２の仮想化部は停止せざるを得ず、仮想計算機の移動は完了しない。この結果、第２の仮想化部上の仮想計算機は停止することになる。このように多段仮想計算機システムの管理計算機を操作する管理者が、上位層の仮想化部と下位層の仮想化部に対して誤った指令を発行すると、意図しない仮想計算機の停止などが発生する、という問題があった。【０００６】
そこで本発明は、多段仮想計算機システムにおいて、管理者などの操作ミスによる業務停止を回避することを目的とする。
【課題を解決するための手段】
【０００７】
プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記複数の物理計算機を接続するネットワークと、前記複数の物理計算機を管理する管理サーバとを備えて、前記物理計算機で１つ以上の仮想計算機を提供する仮想化部を有し、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を検出する第１のステップと、前記管理サーバは、前記仮想計算機の稼動状態を検出する第２のステップと、前記管理サーバが、前記仮想化部または仮想計算機に対して状態を変更する命令を発行する際に、前記仮想化部と接続関係にある前記仮想計算機の稼働状態に基づいて前記命令の発行の抑止または前記命令の発行を行う第３のステップと、を含む。
【発明の効果】
【０００８】
本発明によれば、仮想計算機システムにおいて、管理者の操作ミスによる仮想計算機の停止を回避することが出来る。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態を示し、仮想計算機システムの一例を示すブロック図である。
【図２】本発明の実施形態を示し、管理サーバの一例を示すブロック図である。
【図３】本発明の実施形態を示し、業務を提供する仮想サーバの一例を示すブロック図である。
【図４】本発明の実施形態を示し、仮想サーバを提供する物理サーバの他の例を示すブロック図である。
【図５】本発明の実施形態を示し、処理の概要を示すブロック図である。
【図６Ａ】本発明の実施形態を示し、物理サーバ管理テーブルの前半を示す図である。
【図６Ｂ】本発明の実施形態を示し、物理サーバ管理テーブルの後半を示す図である。
【図７】本発明の実施形態を示し、仮想化部管理テーブルを示す図である。
【図８Ａ】本発明の実施形態を示し、仮想サーバ管理テーブルの前半を示す図である。
【図８Ｂ】本発明の実施形態を示し、仮想サーバ管理テーブルの後半を示す図である。
【図９】本発明の実施形態を示し、ＯＳ管理テーブルを示す図である。
【図１０】本発明の実施形態を示し、業務管理テーブルを示す図である。
【図１１Ａ】本発明の実施形態を示し、システム管理テーブルの前半を示す図である。
【図１１Ｂ】本発明の実施形態を示し、システム管理テーブルの後半を示す図である。
【図１２】本発明の実施形態を示し、命令管理テーブルを示す図である。
【図１３】本発明の実施形態を示し、設定可否管理テーブルを示す図である。
【図１４】本発明の実施形態を示し、制御部で行われる処理の一例を示すフローチャートである。
【図１５】本発明の実施形態を示し、影響範囲検出部で行われる処理の一例を示すフローチャートである。
【図１６】本発明の実施形態を示し、設定可否判定部で行われる処理の一例を示すフローチャートである。
【図１７】本発明の実施形態を示し、管理対象設定部で行われる処理の一例を示すフローチャートである。
【図１８】本発明の実施形態を示し、テーブル設定部で行われる処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について添付図面を用いて説明する。
【００１１】
図１は本発明の実施形態における多段仮想計算機システムの構成の一例を示すブロック図である。
【００１２】
管理サーバ１０１は、ＮＷ−ＳＷ（管理用ネットワークスイッチ）１０３を介して、ＮＷ−ＳＷ１０３の管理インタフェース(管理Ｉ／Ｆ)１１３と、ＮＷ−ＳＷ（業務用ネットワークスイッチ）１０４の管理インタフェース１１４に接続されており、管理サーバ１０１から各ＮＷ−ＳＷ１０３、１０４のＶＬＡＮ（Ｖｉｒｔｕａｌ ＬＡＮ）を設定することが可能である。また、管理用ネットワークスイッチ１０３には、管理サーバ１０１とサーバ１０２に加えて、物理的なサーバ１０２上で提供される仮想サーバ（仮想マシン）を管理する仮想サーバ用管理サーバ１５１が接続される。
【００１３】
ＮＷ−ＳＷ１０３は、管理用のネットワークを構成し、管理サーバ１０１が複数の物理サーバ１０２で稼動するＯＳやアプリケーションの配布や電源制御等の運用管理をするためのネットワークである。ＮＷ−ＳＷ１０４は、業務用のネットワークを構成し、サーバ１０２上の仮想サーバ４０４で実行される業務アプリケーションが使用するネットワークである。なお、ＮＷ−ＳＷ１０４は、ＷＡＮ等に接続されて仮想計算機システムの外部のクライアント計算機と通信を行う。
【００１４】
管理サーバ１０１は、ＦＣ−ＳＷ（ファイバーチャネル・スイッチ）５１１を介してストレージサブシステム１０５に接続される。管理サーバ１０１は、ストレージサブシステム１０５内のＮ個のＬＵ（Logical Unit）１〜ＬＵｎを管理する。
【００１５】
管理サーバ１０１上では、サーバ１０２を管理する制御部１１０が実行され、管理テーブル群１１１を参照および更新する。管理テーブル群１１１は制御部１１０によって所定の周期などで更新される。
【００１６】
管理サーバ１０１の管理対象となるサーバ１０２は、後述するように仮想サーバを提供する。サーバ１０２は、ＰＣＩｅｘ−ＳＷ１０７とＩ／Ｏデバイス（図中、ＮＩＣ、ＨＢＡ）を介して、ＮＷ−ＳＷ１０３および１０４に接続される。ＰＣＩｅｘ−ＳＷ１０７には、ＰＣＩ  Ｅｘｐｒｅｓｓ規格のＩ／Ｏデバイス（ＮＩＣ（Network Interface Card）、ＨＢＡ（Host Bus Adapter）、ＣＮＡ（Converged Network Adapter）、といったＩ／Ｏアダプタ）が接続されている。一般的に、ＰＣＩｅｘ−ＳＷ１０７は、マザーボード（またはサーバブレード）より外へＰＣＩ  Ｅｘｐｒｅｓｓのバスを延長し、さらに多数のＰＣＩ−ＥＸｐｒｅｓｓデバイスを接続するＩ／Ｏスイッチである。ただし、ＰＣＩｅｘ−ＳＷ１０７を介さずに、サーバ１０２が直接、ＮＷ−ＳＷ１０３および１０４へ接続するシステム構成でも良い。
【００１７】
また、管理サーバ１０１はＰＣＩｅｘ−ＳＷ１０７の管理インターフェース１０７０に接続され、複数のサーバ１０２とＩ／Ｏデバイスの接続関係を管理する。また、サーバ１０２は、ＰＣＩｅｘ−ＳＷ１０７に接続されたＩ／Ｏデバイス（図中ＨＢＡ）を介してストレージサブシステム１０５のＬＵ１〜ＬＵｎにアクセスする。
【００１８】
仮想サーバ用管理サーバ１５１は、サーバ１０２で実行される仮想化部４０１および仮想サーバ４０４を管理しており、仮想化部４０１に対する指示は仮想サーバ管理部１６１が行う。具体的には、仮想サーバ用管理サーバ１５１が、仮想サーバ４０４の電源制御や仮想サーバ４０４や仮想化部４０１のマイグレーションの指示を行う。なお、管理サーバ１０１に仮想サーバ管理部１６１が含まれていても良い。
【００１９】
図２は、管理サーバ１０１の構成を示すブロック図である。管理サーバ１０１は、演算を処理するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＣＰＵ２０１で実行するプログラムや、プログラムの実行に伴うデータを格納するメモリ２０２と、プログラムやデータを格納するストレージサブシステム１０５へアクセスするためのディスクインタフェース２０３と、ＩＰネットワークを介した通信のためのネットワークインタフェース２０４と、電源制御や各インタフェースの制御を行うＢＭＣ（Ｂａｓｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）２０５と、ＰＣＩｅｘ−ＳＷ１０７に接続するためのＰＣＩ−Ｅｘｐｒｅｓｓインタフェース２０６を有する。
【００２０】
図２の管理サーバ１０１では、ネットワークインタフェース２０４と、ディスクインタフェース２０３及びＰＣＩｅｘインタフェース２０６を、それぞれ代表して一つずつ示しているが、各々が複数存在する構成もある。たとえば、管理用ネットワーク１０５と業務用ネットワーク１０６への接続は、各々異なるネットワークインタフェース２０４を用いる。
【００２１】
メモリ２０２には、制御部１１０および管理テーブル群１１１が格納されている。制御部１１０は、トポロジ検出部２１０、影響範囲検出部２１１（図１５参照）、設定可否判定部２１２（図１６参照）、管理対象設定部２１３（図１７参照）、及びテーブル設定部２１４（図１８参照）を有する。
【００２２】
トポロジ検出部２１０、影響範囲検出部２１１、設定可否判定部２１２、管理対象設定部２１３、及びテーブル設定部２１４の各機能部はプログラムとしてメモリ２０２にロードされる。
【００２３】
ＣＰＵ２０１は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサは、影響範囲検出プログラムに従って動作することで影響範囲検出部２１１部として機能する。他のプログラムについても同様である。さらに、ＣＰＵ２０１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００２４】
管理テーブル群１１１は、物理サーバ管理テーブル２２１（図６参照）、仮想化機構管理テーブル２２２（図７参照）、仮想サーバ管理テーブル２２３（図８参照）、ＯＳ管理テーブル２２４（図９参照）、業務管理テーブル２２５（図１０参照）、システム管理テーブル２２６（図１１参照）、命令管理テーブル２２７（図１２参照）、及び設定可否管理テーブル２２８（図１３参照）を有する。
【００２５】
各テーブルの情報収集は標準インタフェースや情報収集用プログラムを使用した自動収集でも良いし、管理サーバ１０１の図示しないコンソールからシステム管理者等に入力させても良い。
【００２６】
管理サーバ１０１のサーバの種別については、物理サーバ、ブレードサーバ、仮想化されたサーバ、論理分割または物理分割されたサーバなどのいずれであっても良く、いずれのサーバを使った場合も本発明の効果を得ることが出来る。
【００２７】
制御部１１０の各機能を実現するプログラム、テーブル等の情報は、ストレージサブシステム１０５や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００２８】
図３は、物理サーバ１０２で仮想サーバ４０４を提供する構成を示すブロック図である。図３のサーバ１０２は、物理的な計算機資源を複数の第１仮想サーバ（または論理区画）４０２に割り当てる第１仮想化部４０１と、第１仮想サーバ４０２の計算器資源を複数の仮想サーバ４０４に割り当てる第２仮想化部４０３を有する多段仮想計算機を構成する例を示す。
【００２９】
まず、物理サーバ１０２は、演算を行うＣＰＵ３０１と、ＣＰＵ３０１で実行するプログラムや、プログラムの実行に伴いデータを格納するメモリ３０２と、プログラムやデータを格納するストレージサブシステム１０５にアクセスするためのディスクインタフェース３０４と、ＩＰネットワークを介して通信を行うためのネットワークインタフェース３０３と、電源制御や各インタフェースの制御を行うＢＭＣ３０５と、ＰＣＩｅｘ−ＳＷ１０７に接続するためのＰＣＩ−Ｅｘｐｒｅｓｓインタフェース３０６を備える。
【００３０】
図３のサーバ１０２では、ネットワークインタフェース３０３、ディスクインタフェース３０４およびＰＣＩ−Ｅｘｐｒｅｓｓインタフェース３０６を、それぞれ代表して一つずつ示しているが、各々が複数ある。たとえば、管理用ネットワーク１０３と業務用ネットワーク１０４への接続は、各々異なるネットワークインタフェース３０３を用いることができる。
【００３１】
メモリ３０２には、物理サーバ１０２の計算機資源を仮想化する第１仮想化部４０１が下位層の仮想化部として配備され、上位層の仮想化部である複数の第２仮想化部４０３に計算機資源（第１仮想サーバ４０２）を提供する。また、第２仮想化部４０３は、複数の仮想サーバ４０４を生成し、メモリ３０２に格納する。また、第１仮想化部４０１は、制御用インタフェースとして仮想化部管理用インタフェース４３１を備えている。なお、図示はしないが第２仮想化部４０３も制御用インタフェースとして仮想化部管理用インタフェースを備える。
【００３２】
第１仮想化部４０１は、物理サーバ１０２（またはブレードサーバ）の計算機資源を仮想化し、複数の第１仮想サーバ４０２を構成する。第１仮想化部４０１は、例えば、ハイパバイザやＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）等を採用することができる。また、第２仮想化部４０３は、第１仮想化部４０１が提供する計算機資源（第１仮想サーバ４０２）をさらに仮想化し、複数の仮想サーバ４０４を生成する。第２仮想化部４０３は、例えば、ハイパバイザやＶＭＭ等を採用することができる。
【００３３】
仮想サーバ４０４は、第２仮想化部４０３が提供する仮想デバイス（または論理デバイス）で構成される。本実施形態の仮想デバイスは、仮想ＣＰＵ４１１、仮想メモリ４１２、仮想ネットワークインタフェース４１３、仮想ディスクインタフェース４１４、仮想ＢＭＣ４１５、及び仮想ＰＣＩｅｘインタフェースから構成された例を示す。
【００３４】
これらの論理デバイスは、第１仮想化部４０１が複数の第２仮想化部４０３に割り当てた計算機資源（第１仮想サーバ４０２）を、第２仮想化部４０３が各仮想サーバ４０４へ割り当てたものである。
【００３５】
仮想サーバ４０４の仮想メモリ４１２には、ＯＳ４２１が格納され仮想サーバ４０４内の仮想デバイスを管理している。また、ＯＳ４２１上では、業務アプリケーション４３１が実行されている。また、ＯＳ４２１上で稼働する管理プログラム４３２によって、障害検知やＯＳの電源制御、インベントリ管理などが提供されている。
【００３６】
第１仮想化部４０１は、サーバ１０２の物理的な計算機資源と第２仮想化部４０３に割り当てる計算機資源の対応付けを管理する。本実施形態では、第１仮想化部４０１が第２仮想化部４０３へ第１仮想サーバ４０２を割り当てる例を示したが、第１仮想化部４０１が物理サーバ１０２の計算機資源を第２仮想化部４０３に直接割り当てるようにしてもよい。この場合、第１仮想サーバ４０２を省略することができる。
【００３７】
第１仮想化部４０１は、複数の第２仮想化部４０３に対して割り当てるサーバ１０２の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、第１仮想化部４０１は、第２仮想化部４０３に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
【００３８】
第２仮想化部４０３は、第１仮想サーバ４０２の計算機資源をさらに仮想化して複数の仮想サーバ（第２の仮想サーバ）４０４に割り当てる。第２仮想化部４０３は、第１仮想サーバ４０２の計算機資源のうち仮想サーバ４０４毎に割り当てる計算機資源の対応付けを管理する。第２仮想化部４０３は、複数の仮想サーバ４０４に対して割り当てる第１仮想サーバ４０２の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、第２仮想化部４０３は、仮想サーバ４０４に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
【００３９】
更に、第１仮想化部４０１は、第２仮想化部４０３や仮想サーバ４０４を強制的に電源オン状態にしたり、強制的にオフ状態にしたりすることが出来る。逆に、仮想サーバ４０４が稼働中、または仮想サーバ４０４上でＯＳ４２１が稼働中、またはＯＳ４２１上で業務アプリケーション４３１または管理プログラム４３２が稼働中の場合には、第１仮想化部４０１及び第２仮想化部４０３は、強制的な電源操作を抑止することも出来る。ただし、電源操作の抑止を実行する契機は、仮想計算機の状況によって変更する必要がある。本発明では、電源操作は上位層の稼働状況によって下位層に対する制御を抑止するよう設定することができる。また、管理サーバ１０１では、電源操作命令を制御するＧＵＩ(Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ)を提供することができる。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。この電源操作のＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）を非表示または非アクティブ（選択不可）にすることができる。
【００４０】
また、電源操作命令の他には、上位層と下位層で、同じ機能（例えば、ライブマイグレーションやデプロイメント）が同時に実行されないように規制制御することで、業務や計算機システムの意図しない停止を回避することが可能である。
【００４１】
更に、第１仮想サーバ４０２上で仮想サーバ（第２の仮想サーバ）４０４を稼働させることにより、仮想サーバがネスト状態となる。この場合も、後述するように管理サーバ１０１は多段仮想計算機の上位層の状態によって、下位層の状態変更を抑止したり、下位層の状態によって上位層の状態変更を抑止することで、システム管理者が意図しない業務の停止を回避することが出来る。
【００４２】
ここで、本実施形態では、物理サーバ１０２のハードウェアを仮想化した第１仮想サーバ４０２を提供するする第１仮想化部４０１を第１層とし、第１仮想サーバ４０２の計算機資源をさらに仮想化した仮想サーバ４０４を提供する第２仮想化部４０３を第２層とし、ＯＳ４０４を第３層とする。そして、第３層側を上位層とし、第１層側を下位層とする。マイグレーションやデプロイメントの例では、第２層を上位層とし、第１層を下位層として扱う。
【００４３】
図４は、サーバ仮想化技術を適用した物理サーバ１０２の他の構成例を示すブロック図である。サーバ１０２は、ブレードサーバであっても構成は同様である。
【００４４】
サーバ１０２のハードウェアは図３と同様である。メモリ３０２には、ホストＯＳ３１１と仮想化部４５１と仮想サーバ４０４が配備される。仮想化部４５１はＶＭＭで構成されており、サーバ１０２の計算機資源を複数の仮想サーバ４０４に割り当てる。各仮想サーバ４０４ではゲストＯＳ４２１が実行され、ゲストＯＳ４２１上で業務アプリケーション４３１や管理プログラム４３２が実行される。
【００４５】
仮想化部４５１は図３に示した第１仮想化部４０１に相当し、サーバ１０２の物理的な計算機資源と仮想サーバ４０４に割り当てる計算機資源の対応付けを管理する。そして、仮想化部４５１は、複数の仮想サーバ４０４に対して割り当てるサーバ１０２の計算機資源を動的に変更したり、割り当ての解除を行うことができる。また、仮想化部４５１は、仮想サーバ４０４に割り当てた計算機資源の量と、構成情報および稼働履歴を保持している。
【００４６】
この例では、ホストＯＳ３１１が第１層であり、仮想化部４５１及び仮想サーバ４０４が第２層となる。
【００４７】
図５は、本発明の概略を示すブロック図である。図５では２つのサーバ１０２（物理サーバＡ、Ｂ）でそれぞれ仮想サーバ４０４を提供する仮想計算機システムの例を示す。
【００４８】
物理サーバＡは、図３で示したように多段仮想計算機で構成され、下位層で実行される第１仮想化部４０１と、上位層で実行される複数の第２の仮想化部４０３と、第２の仮想化部４０３上で稼動する仮想サーバ４０４を含む。物理サーバＢは、図４で示したように、ホストＯＳ３１１上で実行される仮想化部４５１が、仮想サーバ４６１を稼動させる単層の仮想計算機を構成する、
【００４９】
管理サーバ１０１は、トポロジ検出５０１を実行して、物理サーバ１０２、第１仮想化部４０１、第２仮想化部４０３、仮想サーバ４０４、ＯＳ４２１、業務アプリケーション４３１、管理プログラム４３２の接続関係をトポロジとして検出する。管理サーバ１０１は、物理サーバ１０２上で稼動する各仮想化部と、各仮想化部上で稼動する仮想サーバ４０４と、仮想サーバ４０４上で稼動する各アプリケーションの関係を接続関係として検出する。
【００５０】
全ての管理対象（仮想サーバ４０４や第１仮想化部４０１等）が管理サーバ１０１と接続されているが、管理系を介して管理サーバ１０１と接続している場合もある。管理系は、管理プログラム４３２が他の仮想サーバ４０４や業務アプリケーション４３１、第１仮想化部４０１、４０３及び物理サーバ１０２を管理対象とする場合である。なお、管理プログラム４３２は管理サーバ１０１の制御部１１０及び管理テーブル群１１１を含むことができる。この場合、管理サーバ１０１を仮想サーバ４０４で実行することと等価になる。つまり、複数の仮想サーバ４０４の何れかが管理サーバ１０１として機能するようにしてもよい。
【００５１】
次に、管理サーバ１０１は、管理対象に命令を発行する前に、当該管理対象の稼動状態（電源のＯＮまたはＯＦＦ）を検出する。
【００５２】
管理対象が稼働している場合、管理サーバ１０１は、当該管理対象の接続関係にある下位層（仮想化部）の状態を電源オフへ遷移する命令を抑止（５５２）する。
【００５３】
また、管理サーバ１０１は、管理対象が、トポロジ的に接続されていない場所へのマイグレーション（仮想サーバの移動）を抑止（５５２）する。一方、上位層のＯＳに対しては電源操作命令を抑止しない（５５１）。この命令の抑止５５２または抑止なし５５１の決定は、後述するように、管理サーバ１０１が各管理対象毎に行う。つまり、管理サーバ１０１は、命令を発行する管理対象の稼動状態と接続関係に基づいて命令発行の抑止または命令の発行を決定する。
【００５４】
また、第１仮想化部Ａなどの下位層で稼働状態でのマイグレーションが実行されているときに仮想サーバ４０４等の上位層で同等の機能を実行すると、単体機能としては稼働中のマイグレーションを実現していても機能実行に失敗する可能性があり、管理サーバ１０１は下位層と上位層で同等の機能の同時実行を抑止する。また、上位層と下位層の状況が逆転しても同じく抑止する。同等の機能の同時実行を抑止した場合、機能実行を待って、一定時間経過後に再実行することで、同時実行を回避することが出来る。
【００５５】
また、上位層でマイグレーションを実行中に、下位層へ同等機能の実行指示が出た場合、管理サーバ１０１は上位層のマイグレーションを中止させ、下位層のマイグレーションを実行させた後に上位層のマイグレーションを再実行することで、業務停止を回避するための実行抑止と同等の効果を得ることが出来る。更に、下位層のマイグレーションを実行した後に、再度、上位層へのマイグレーションの必要可否を判定し、必要であればマイグレーションを実施し、不要であれば実施しない、といった運用をすることで、同時実行を回避しつつ、より仮想サーバの配置に配慮した効率的なリソース運用を実現出来る。その際、マイグレーションの必要可否は効率的に運用できるか否かを判定することになるが、別の観点で判定を行うことで耐障害性の向上や性能向上といった効果を得ることが出来る。実行を中止させる以外に、上位層のマイグレーションが完了するまで、下位層のマイグレーション実行を抑止し、上位層のマイグレーション完了後に下位層のマイグレーションを実施することで、同時実行を回避することが可能である。また、上位層がマイグレーションしようとする先がネットワーク的に接続されていない場所へマイグレーション仕様としている場合、管理サーバ１０１はこれを抑止する。しかし、下位層をマイグレーションすることで上位層がネットワーク的に接続できる場合、下位層をマイグレーションした後、上位層をマイグレーションする。これにより、より柔軟なリソース運用が可能となる。例えば、開発環境から本番環境への移行が簡単になる、といった効果を見込める。
【００５６】
また、管理サーバ１０１は上位層へ電源の供給開始命令または起動命令を出す際に、下位層が起動していない場合、下位層を先に起動し、当該下位層の起動を確認した後に、上位層へ当該電源の供給開始命令を発行する。
【００５７】
管理サーバ１０１は、上記検出したトポロジを参照して、上述のように実行を抑止すべき命令または機能について、管理対象毎に設定する。この設定については後述する。
【００５８】
図６Ａ、図６Ｂは、物理サーバ管理テーブル２２１の一例を示す。物理サーバ管理テーブル２２１は、管理サーバ１０１が所定の周期で管理対象の物理サーバ１０２の情報を取得して設定する。
【００５９】
カラム６０１には、物理サーバ識別子を格納されており、本識別子によって各物理サーバを一意に識別する。カラム１１０１へ格納するデータは、本テーブルで使用される各カラムのいずれか、または複数カラムを組み合わせたものを指定することで入力を省略することが出来る。また、昇順などで自動的に割り振っても良い。
【００６０】
カラム６０２には、ＵＵＩＤ（Ｕｎｉｖｅｒｓａｌ  Ｕｎｉｑｕｅ  ＩＤｅｎｔｉｆｉｅｒ）が格納されている。ＵＵＩＤは、重複しないように形式が規定された識別子である。そのため、各物理サーバ１０２に対応して、ＵＵＩＤを保持することにより、確実なユニーク性を保証する識別子となりえる。ただし、カラム６０１には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、ＵＵＩＤを使うことが望ましいものの必須とはならない。例えば、カラム６０１のサーバ識別子には、ＭＡＣアドレス、ＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）などを用いても良い。
【００６１】
カラム６０３（カラム６２１〜カラム６２３）は、物理アダプタ（３０３〜３０６）に関する情報が格納される。カラム６２１には、デバイス種別を格納している。ＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｏｒ）やＮＩＣやＣＮＡ（Ｃｏｎｖｅｒｇｅｄ  Ｎｅｔｗｏｒｋ  Ａｄａｐｔｅｒ）などの種別が格納される。カラム６２２には、ＨＢＡの識別子であるＷＷＮ、ＮＩＣの識別子であるＭＡＣアドレスが格納されている。
【００６２】
カラム６０４には、物理サーバ１０２が物理アダプタを介して接続しているスイッチ１０３および１０４に関する情報が格納されている。種別や接続ポートおよびセキュリティ設定情報が格納されている。
【００６３】
カラム６０５には、物理サーバ１０２のモデルが格納されている。インフラに関する情報であり、性能や構成可能なシステム限界を知ることが出来る情報である。なお、カラム６０５の値はシステム管理者などが図示しない入力装置から設定してもよい。
【００６４】
カラム６０６は、物理サーバの構成を格納している。プロセッサのアーキテクチャ、シャーシやスロットなどの物理位置情報、特徴機能（ブレード間ＳＭＰ：Ｓｙｍｍｅｔｒｉｃ Ｍｕｌｔｉ-Ｐｒｏｃｅｓｓｉｎｇ、ＨＡ構成などの有無）を格納している。カラム１１０４同様、インフラに関わる情報である。
【００６５】
カラム６０７には、物理サーバの性能情報を格納している。なお、カラム６０７の値はシステム管理者などが図示しない入力装置から設定してもよい。
【００６６】
カラム６０８には、設定可否情報が格納されている。命令管理テーブル２２７の命令に対して設定可否の情報が格納されている。管理サーバ１０１は、この情報を参照することで、各管理対象（物理サーバ１０２上の仮想化部など）へ各々の命令が設定出来るか否かを判定することが可能となる。設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ１０１が提供するＧＵＩにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。このＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
【００６７】
図７は、仮想化部管理テーブル２２２を示している。仮想化部管理テーブル２２２は、管理サーバ１０１が所定の周期で管理対象の第１仮想化部４０１、第２仮想化部４０３の情報を取得して設定する。
【００６８】
カラム７０１には、仮想化部（第１仮想化部４０１または第２仮想化部４０３）の識別子が格納されており、本識別子によって各仮想化部を一意に識別する。カラム７０１へ格納するデータは、本テーブルで使用される各カラムのいずれか、または複数カラムを組み合わせたものを指定することで入力を省略することが出来る。また、昇順などで自動的に割り振っても良い。
【００６９】
カラム７０２にはＵＵＩＤが格納されている。仮想化部識別子毎にユニークなＩＤを管理サーバ１０１等がＵＵＩＤを付与する。
【００７０】
カラム７０３には仮想化種別が格納されている。仮想化種別とは、仮想化製品や仮想化技術を示し、制御インタフェースや機能差が明確に判別出来るものである。バージョン情報を含めても良い。独自に管理機能を持つ場合は、その管理機能の名称や管理インタフェースを含めても良い。
【００７１】
カラム７０４には仮想化部設定情報が格納されている。仮想化部設定情報は、例えば、仮想化部へ接続するために必要なＩＰアドレスなどである。
【００７２】
カラム７０５には、設定可否情報が格納されている。後述する命令管理テーブル２２７の命令に対して設定可否を格納している。この情報を参照することで、管理サーバ１０１の管理対象である第１仮想化部４０１、第２仮想化部４０３へ各々の命令が設定出来るか否かを判定することが可能となる。カラム７０５の値が、設定の許可の場合は管理対象へ命令の実行抑止や、他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
【００７３】
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ１０１が提供するＧＵＩにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。このＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
【００７４】
図８Ａ、図８Ｂは、仮想サーバ管理テーブル２２３を示している。仮想サーバ管理テーブル２２３は、仮想サーバ４０４に割り当てた計算機資源を管理する。仮想サーバ管理テーブル２２３は仮想サーバ用管理サーバ１５１が、仮想サーバ４０４を生成、変更する差異に設定することができる。
【００７５】
カラム８０１には、仮想サーバ４０４の識別子が格納されており、本識別子によって各仮想サーバを一意に識別する。
【００７６】
カラム８０２には、ＵＵＩＤが格納されている。このＵＵＩＤは、例えば、仮想サーバ用管理サーバ１５１が付与した値である。ただし、カラム８０１には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、ＵＵＩＤを使うことが望ましいものの必須とはならない。例えば、カラム８０１の仮想サーバ識別子には、仮想ＭＡＣアドレス、仮想ＷＷＮなど（カラム８７２へ格納）を用いても良い。また、ＯＳによっては、独自にユニーク性を保つための識別子を採用している場合があるが、この場合はＯＳが採用しているＩＤを使っても良いし、ユニーク性を確保するために独自に保持してもかまわない。
【００７７】
カラム８０３（カラム８７１〜カラム８７３）は、仮想アダプタに関する情報を格納している。カラム８７１には、仮想デバイス種別を格納している。仮想ＨＢＡや仮想ＮＩＣおよび仮想ＣＮＡなどの値が格納される。カラム８７２には、仮想ＨＢＡの識別子である仮想ＷＷＮ、仮想ＮＩＣの識別子である仮想ＭＡＣアドレス等のＩ／Ｏデバイスの識別子が格納されている。カラム８７３には、仮想アダプタの利用モードが格納されており共有モードと占有モードがある。
【００７８】
仮想デバイスには、使用する物理デバイスを共有で使用するモードと、占有で使用するモードが存在する。共有の場合、他の仮想デバイスが物理デバイスを同時に使用する。占有モードの場合、物理デバイスをその仮想デバイスが単独で使用する。
【００７９】
カラム８０４には、仮想サーバ４０４の仮想化種別が格納されている。仮想化種別とは、仮想化製品や仮想化技術を示し、制御インタフェースや機能差が明確に判別出来るものである。バージョン情報を含めても良い。独自に管理機能を持つ場合は、その管理機能の名称や管理インタフェースを含めても良い。
【００８０】
カラム８０５は、仮想サーバ４０４の性能情報を格納している。性能情報は当該仮想サーバに割り当てられたＣＰＵの性能情報や、割り当てられたメモリの容量や、ストレージの容量やＩ／Ｏデバイスの性能情報が含まれる。
【００８１】
カラム８０６には、設定可否情報を格納されている。設定可否情報は、命令管理テーブル２２７の命令に対して設定可否の情報が格納されている。管理サーバ１０１はこの情報を参照することで、管理対象である仮想サーバ４０４へ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
【００８２】
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ１０１が提供するＧＵＩにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。このＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
【００８３】
図９は、ＯＳ管理テーブル２２４を示している。どのようなＯＳで、どのような設定がされているか、といった情報を管理している。ＯＳ管理テーブル２２４は、管理サーバ１０１が所定の周期で管理対象の仮想サーバ４０４からＯＳの情報を取得して設定する。
【００８４】
カラム９０１には、ＯＳ識別子が格納されており、本識別子によってＯＳを一意に識別する。
【００８５】
カラム９０２には、ＵＵＩＤが格納されている。このＵＵＩＤは、例えば、管理サーバ１０１が付与した値である。ＵＵＩＤは、カラム９０１に格納されているＯＳ識別子の候補であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、カラム９０１には、システム管理者がサーバを識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、ＵＵＩＤを使うことが望ましいものの必須とはならない。例えば、カラム９０１のＯＳ識別子には、ＯＳ設定情報（カラム９０４へ格納）を用いても良い。
【００８６】
カラム９０３は、ＯＳ種別が格納されている。ＯＳの種類やベンダ、対応ＣＰＵアーキテクチャなどを格納している。
【００８７】
カラム９０４は、ＯＳ設定情報が格納されている。ＩＰアドレスやホスト名、ＩＤ、パスワード、ディスクイメージなどを格納している。ディスクイメージは、設定前後のＯＳが物理サーバ１０２または仮想サーバ４０４へ配信されたシステムディスクのディスクイメージを指す。カラム９０４に格納されるディスクイメージに関する情報は、データディスクを含めても良い。
【００８８】
カラム９０５には、設定可否情報が格納されている。設定可否情報は、後述の命令管理テーブル２２７の命令に対して設定の可否を示す情報が格納されている。管理サーバ１０１は、この設定可否情報を参照することで、当該ＯＳへ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
【００８９】
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ１０１が提供するＧＵＩにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。このＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
【００９０】
図１０は、業務管理テーブル２２５を示している。どのような業務およびソフトウェアで、どのような設定がされているか、といった情報を管理している。業務管理テーブル２２５は、管理サーバ１０１が所定の周期で管理対象の仮想サーバ４０４のＯＳから業務アプリケーション４３１の情報を取得して設定する。
【００９１】
カラム１００１には、業務アプリケーション４３１の識別子を格納しており、本識別子によって業務を一意に識別する。
【００９２】
カラム１００２には、ＵＵＩＤを格納している。このＵＵＩＤは、例えば、管理サーバ１０１が付与した値である。ＵＵＩＤは、カラム１００１に格納されている業務識別子の候補であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、カラム１００１には、システム管理者が業務アプリケーション４３１を識別する識別子を使用すれば良く、また管理する対象となるサーバ間で重複することがなければ問題ないため、ＵＵＩＤを使うことが望ましいものの必須とはならない。例えば、カラム１００１の業務識別子には、業務設定情報（カラム１００４へ格納）を用いても良い。
【００９３】
カラム１００３は、業務種別に類する情報を格納している。どういった業務およびソフトウェアが稼働しているかを格納している。これにより、業務要件から来る命令実行ポリシを定義することで、命令の実行可否、抑止、条件付き実行、条件付き抑止、といった業務やソフトウェアに応じた命令設定を可能とする。
【００９４】
カラム１００４は、業務種別を格納しており、使用するアプリケーションやミドルウェアといった業務を特定するソフトウェアに関する情報が格納されている。業務で使用する論理的なＩＰアドレスやＩＤ、パスワード、ディスクイメージ、業務で使用するポート番号などが格納されている。ディスクイメージは、設定前後の業務が物理サーバ１０２または仮想サーバ４０４上のＯＳへ配信されたシステムディスクのディスクイメージを指す。カラム９０４へ格納するディスクイメージに関する情報は、データディスクを含めても良い。
【００９５】
カラム１００５には、設定可否情報を格納している。命令管理テーブル２２７の命令に対して設定可否を格納している。この情報を参照することで、各管理対象へ各々の命令が設定出来るか否かを判定することが可能となる。設定可否情報が、設定出来る場合は管理対象へ命令実行の抑止や他の条件が成立した後に当該命令を実行するか否かの判定を行った後に当該命令を実行する、といった設定を実施可能であることを示している。
【００９６】
また、逆に設定不可の場合、命令の抑止などを管理対象へ設定できないため、例えば、管理サーバ１０１が提供するＧＵＩにて設定可否情報を表示する際に選択対象から除外するようにしても良い。このＧＵＩは、管理サーバ１０１の図示しないコンソールや、図示しない管理用端末で操作可能とする。このＧＵＩでは、例えば、上位層の稼働状況によって下位層に対する電源操作を抑止する場合には、下位層の要素（第１仮想化部４０１や第２仮想化部４０３）の設定可否情報を非活性として表示し、コンソールからの入力操作を受け付けないようにすることができる。
【００９７】
図１１Ａ、図１１Ｂは、システム管理テーブル２２６を示している。システム管理テーブル２２６は、図示しない入力装置からシステム管理者が設定する。システム管理テーブル２２６は、上述した物理サーバ管理テーブル２２１、仮想化部管理テーブル２２２、仮想サーバ管理テーブル２２３、ＯＳ管理テーブル２２４及び業務管理テーブル２２５で管理される、物理サーバ１０２、第１仮想化部４０１、第２仮想化部４０３、仮想サーバ４０４、ＯＳ４２１、及び業務４３１の組み合わせによるシステム構成を管理する。また、システム管理テーブル２２６は、各システム間の親子関係（上位層または下位層）を管理している管理系を管理している。
カラム１１０１には、システム識別子を格納しており、本識別子によって業務を一意に識別する。
【００９８】
カラム１１０２には、ＵＵＩＤが格納されている。このＵＵＩＤは、例えば、管理サーバ１０１が付与した値である。ＵＵＩＤは、カラム１１０３からカラム１１０７の全部または一部の組み合わせで実現しても良いし、独自に生成しても良い。少なくとも、管理サーバ１０１が管理する範囲で一意である必要がある。
【００９９】
カラム１１０３には、物理サーバ識別子６０１が格納されている。カラム１１０４には、仮想化部識別子７０１が格納されている。カラム１１０５には、仮想サーバ識別子８０１が格納されている。カラム１１０６には、ＯＳ識別子９０１が格納されている。
【０１００】
カラム１１０７には、業務識別子（１００１）が格納されている。図には記載していないが、ラックやフロア、コンセントボックス、ブレーカ、センタ、ＨＡ構成の有無、ネットワークインフラ情報、電力グリッド、ネットワーク結線関係、ネットワークスイッチ、ファイバチャネルスイッチ、各スイッチの収容量、ネットワーク帯域などを管理することで、それらにまたがったシステムに対する操作ミスを抑止する本発明の効果を得ることが可能である。
【０１０１】
カラム１１０８には、親となるシステムの識別子（１１０１）が格納される。例えば、システム４（１１５４）は、システム識別子１１０１＝システム３を親（上位層）とするシステムであることを示す。
【０１０２】
カラム１１０９には、子となるシステムの識別子（１１０１）が格納される。例えば、システム３（１１５３）は、システム識別子１１０１＝システム４、５を子（下位層）とするシステムであることを示す。
【０１０３】
管理系１１１０は、当該エントリのシステムを管理するシステムの識別子１１０１が格納される。
【０１０４】
図１２は、命令管理テーブル２２７を示している。命令管理テーブル２２７は、図示しない入力装置からシステム管理者が命令に対する動作を定義する。
【０１０５】
命令に対する動作は利用者（またはシステム管理者）が与えても良いし、親子関係がある場合はある命令を実行中は他方で同等命令の実行を抑止する、と決めておいても良い。ただし、情報取得の命令については抑止の対象とせず、状態の変更を伴う命令に限定することが望ましい。
【０１０６】
カラム１２０１には、命令識別子１２０１が格納されている。この識別子は命令を識別するための識別子であれば良く、独自の識別子を生成して格納しても良いし、ＵＵＩＤなどでも良い。
【０１０７】
カラム１２０２には、命令の内容が格納されている。カラム１２０３には、カラム１２０２の命令に対応した動作が格納されている。これにより、命令実行を抑止する、制限しない、といった定義を行う。
【０１０８】
エントリ１２５１には、仮想サーバをライブマイグレーションする際の動作を記載している。上位層と下位層が存在し親子関係がある場合、一方でライブマイグレーションを実施している間は他方での実行を抑止する、と定義している。これにより、ライブマイグレーション失敗と失敗による業務停止を回避する。また、別の動作として、上位層でライブマイグレーションが実行されている場合、上位層のライブマイグレーションを中止し、下位層のライブマイグレーションを実施した後に、再度、上位層のライブマイグレーションを実施する、ことで、両方のライブマイグレーションを実施しつつ、同時実行によって両方が失敗し業務が停止する事態を回避する。
【０１０９】
ライブマイグレーションにおいて、上位層の第２仮想化部４０３でライブマイグレーション実行中に、下位層の第１仮想化部４０１へライブマイグレーション指示が発行された場合、上位層でのライブマイグレーションについて再評価が必要になる。そのため、まず、上位層でのライブマイグレーションを停止し、まず下位層のライブマイグレーションを実行した後に、再度、上位層でのライブマイグレーションが必要か否かを評価、またはライブマイグレーションを実行する。再評価した場合、再実行要となった場合、上位層のライブマイグレーションを再度実行する。
【０１１０】
これは、ライブマイグレーションに限らず、仮想化技術独自の機能が、上位層と下位層の第１仮想化部４０１、第２仮想化部４０３で同時に実行されるケースで、同様の処理を行うことで、効率的なリソース運用と予期せぬシステム停止を回避することが可能である。
【０１１１】
エントリ１２５２には、デプロイメントに関する動作を定義している。システム間で上位層と下位層が存在し、システム管理テーブル２２６で親子関係があり、上位層が稼働している場合、下位層へのデプロイメント実行を抑止する、と定義している。これにより、仮想サーバ４０４が稼働している物理サーバ１０２へ他の第１仮想化部４０１、第２仮想化部４０３やＯＳ４２１がデプロイメントされることを抑止し、下位層へのデプロイメントによる上位層における業務停止を回避する。
【０１１２】
エントリ１２５３には、電源制御の起動に関する動作を記載している。親子関係の有無に関わらず実行抑止はしないが、上位層と下位層が存在し親子関係がある場合、下位層を起動させ、下位層の起動を確認した後に、上位層に対する命令を実行する。これにより、確実に上位層を起動することが出来る。
【０１１３】
エントリ１２５４には、電源制御のシャットダウンに関する動作を記載している。上位層と下位層が存在し親子関係がある場合、上位層が稼働している場合、下位層に対する同等命令の実行を抑止する。これにより、上位層で稼働している業務を利用者の操作ミスなどで停止させることを回避することが出来る。なお、電源制御のシャットダウンにはスリープやハイバネーションの状態を含むことができる。
【０１１４】
エントリ１２５５には、管理系の電源制御のシャットダウンに関する動作を記載している。管理対象が稼働しており、かつ上位層と下位層が存在し親子関係がある場合に、上位層が稼働している条件下で、下位層に対する同等命令の実行を抑止する。また、管理系が稼働している管理対象（物理サーバ１０２、第１仮想化部４０１、第２仮想化部４０３、仮想サーバ４０４、ＯＳ４２１、業務アプリケーション４３１）に対して同等命令の実行を抑止する。これにより、上位層で稼働している業務を利用者の操作ミスなどで停止させることを回避することが出来る。なお、管理系の電源制御のシャットダウンにもスリープやハイバネーションの状態を含むことができる。
【０１１５】
エントリ１２５６には、業務ソフトウェアのＩＰアドレス変更に関する動作を記載している。この場合、上位層や下位層の存在に関わらず、命令を抑止しない。
【０１１６】
エントリ１２５７からカラム１２６１までは、情報収集に関する動作を記載している。この場合、上位層や下位層の存在に関わらず、命令を抑止しない。
【０１１７】
エントリ１２６２には、障害情報の通知に関する動作を記載している。この場合、上位層と下位層が存在し親子関係があるとき、障害情報を管理系へ通知し、また、上位層へエスカレーションする。これにより、障害範囲の伝達が可能になり、影響範囲の特定が容易となる。
【０１１８】
エントリ１２６３には、システム構成変更のうち占有デバイスを変更する際の動作を記載している。システム間に上位層と下位層が存在し親子関係がある場合に、ＳＬＡ（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）をチェックし、システム構成変更によってＳＬＡの違反が発生しないかを管理サーバ１０１にてチェックする。ＳＬＡ違反が発生する場合、当該変更を抑止することで、利用者やシステム管理者の操作ミス等による業務性能低下や業務停止を回避することが出来る。
【０１１９】
エントリ１２６４には、システム構成変更のうち共有デバイスを変更する際の動作を記載している。システム間で上位層と下位層が存在し親子関係がある場合に、ＳＬＡをチェックしない。ただし、業務要件によってはシステム構成変更によってＳＬＡ違反が発生しないかをチェックする。ＳＬＡ違反が発生する場合、当該変更を抑止することで、利用者やシステム管理者の操作ミスによる業務性能低下や業務停止を回避することが出来る。
【０１２０】
エントリ１２６５は、仮想サーバ４０４をコールドマイグレーションする際の動作を記載している。上位層と下位層が存在し親子関係がある場合、一方でコールドマイグレーションを実施している間は他方での実行を抑止する、と定義している。これにより、コールドマイグレーションの失敗と失敗による業務停止を回避する。
【０１２１】
本実施形態では、管理サーバ１０１が管理対象の物理サーバ１０２や各仮想化部に対する命令１２０１を取得し、動作１２０３に沿って命令の実行または抑止を実施する。
【０１２２】
また、動作等の設定は、管理サーバ１０１が提供する画面（ＧＵＩ）による入力で抑止する命令を設定しても良いし、実行機能を持つ各管理対象へ命令の実行抑止を設定する、といった方法でも良い。
【０１２３】
図１３は、設定可否管理テーブル２２８を示している。設定可否管理テーブル２２８は、後述するように管理サーバ１０１によって設定される。あるいは、管理サーバ１０１の図示しないコンソールからシステム管理者が設定してもよい。
【０１２４】
カラム１３０１には、管理対象の識別子（物理サーバ識別子６０１、仮想化部識別子７０１、仮想サーバ識別子８０１、ＯＳ識別子９０１、業務識別子１００１）が格納されている。
【０１２５】
カラム１３０２には、命令の抑止を設定可な命令が格納されている。カラム１３０３には、命令の抑止を設定不可な命令が格納されている。
【０１２６】
管理サーバ１０１は、これにより、各管理対象に対して、各命令の抑止に関する設定の可否を参照することが可能となる。
【０１２７】
図１４は、管理サーバ１０１の制御部１１０で行われる処理の一例を示すフローチャートである。この処理は、管理サーバ１０１が管理対象に対して命令を取得または発行するたびに行われる。なお、管理対象に対する命令の取得は、仮想サーバ用管理サーバ１５１が第１仮想化部４０１、第２仮想化部４０３、仮想サーバ４０４に発行する命令を管理サーバ１０１が受け付けて、設定可否管理テーブル２２８の設定に従って命令の抑止または管理対象への命令の転送を行う。
【０１２８】
ステップ１４０１で、制御部１１０は管理対象のトポロジを検出する。同時に、管理サーバ１０１や管理系との接続関係を検出しても良い。その後、ステップ１４０２へ進む。
【０１２９】
ステップ１４０２で、制御部１１０はステップ１４０１で取得したトポロジをもとに管理テーブル群１１１を更新し、ステップ１４０３へ進む。
【０１３０】
ステップ１４０３で、制御部１１０は影響範囲検出部２１１を呼び出し、管理対象の上位層と下位層といった親子関係に伴う命令の影響範囲と、命令抑止の有無等の動作を管理対象毎に特定し、ステップ１４０４へ進む。影響範囲検出部２１１の処理については後述する。
【０１３１】
ステップ１４０４で、制御部１１０は設定可否判定部２１２を呼び出し、管理対象へ命令の抑止の設定が可能か否かを判定し、設定可能であればステップ１４０５へ進み、設定不可であればステップ１４０６へ進む。
【０１３２】
ステップ１４０５で、制御部１１０は管理対象設定部２１３を呼び出し、命令管理テーブル２２７を参照し、設定可否管理テーブル２２８等のテーブル群１１１に、管理対象への各命令の実行可否（または命令の抑止を行うか否か）を設定する（命令制御部）。
【０１３３】
ステップ１４０６で、制御部１１０はテーブル設定部２１４を呼び出し、命令管理テーブル２２７を参照し、命令の抑止や条件付き命令抑止及び条件付き実行をしたケースにおいて、その命令を親子関係のある他の管理対象に対して再実行するか否かを判定する。再実行する場合は、ステップ１４０１へ戻る。再実行しない場合は、各管理テーブルへ各命令の実行可否を設定し処理を完了する。本ステップではさらに、各管理テーブルへ設定した実行可否の情報を参照し、管理サーバ１０１が提供するＧＵＩへ当該命令を表示するか否かを選択させるようにしても良い。
【０１３４】
図１５は、影響範囲検出部２１１で行われる処理の一例を示すフローチャートである。
【０１３５】
ステップ１５０１で、影響範囲検出部２１１はシステム管理テーブル２２６を参照し、カラム１１０８とカラム１１０９を参照し、親子関係といったトポロジや相互接続関係を示すお互いの関連付けに関する情報を取得する。この後にステップ１５０２へ進む。
【０１３６】
ステップ１５０２で、影響範囲検出部２１１は命令管理テーブル２２７を参照し、カラム１２０２から実行命令の内容を参照し、現在実行しようとしている命令と比較し、相当する命令がカラム１２０２に存在する場合に、カラム１２０３から動作に関する情報を取得する。そして、ステップ１５０３へ進む。
【０１３７】
ステップ１５０３で、各命令について、表示可否および実行可否を判定し、処理を完了する。
【０１３８】
影響範囲検出部２１１は、親子関係に伴う命令実行可否の影響範囲を特定する。影響範囲検出部２１１は、例えば、システム管理テーブル２２６で親子関係の子または親が存在すれば、これらの親子を影響範囲として特定する。そして、子へ実行する命令の場合は、親が起動しているかを判定する。また、管理系が動作するシステムは停止させないため、管理系を影響範囲として特定する。影響範囲検出部２１１は、特定した影響範囲について命令管理テーブル２２７のカラム１２０３の内容から命令毎の動作を特定する。
【０１３９】
図１６は、設定可否判定部２１２で行われる処理の一例を示すフローチャートである。
【０１４０】
ステップ１６０１で、設定可否判定部２１２は命令管理テーブル２２７を参照し、カラム１２０２から実行する命令の内容を参照し、現在実行しようとしている命令と比較し、相当する命令がカラム１２０２に存在する場合に、カラム１２０３から動作に関する情報を取得する。その後、ステップ１６０２へ進む。
【０１４１】
ステップ１６０２で、設定可否判定部２１２は設定可否管理テーブル２２８を参照し、カラム１３０１を照会して管理対象を特定して、カラム１３０２またはカラム１３０３から、それぞれ設定可または設定不可に関する情報を取得する。これにより、現在の命令を実行する管理対象では、どのような条件で命令の実行設定や実行抑止の設定が可能であるかを取得する。この後、ステップ１６０３へ進む。
【０１４２】
ステップ１６０３で、設定可否判定部２１２は当該命令が管理対象へ設定可能か否かを判定する。
【０１４３】
当該命令が管理対象へ設定可能であれば図１４のステップ１４０５へ進み、そうでない場合にはステップ１４０６へ進む。具体的には、当該命令を管理対象へ設定可能、または下位層にて設定可能かを判定する。
【０１４４】
図１７は、管理対象設定部２１３で行われる処理の一例を示すフローチャートである。
【０１４５】
ステップ１７０１で、管理対象設定部２１３は、設定可否管理テーブル２２８を参照し、カラム１３０１を照会して管理対象を特定する。カラム１３０２またはカラム１３０３から、それぞれ設定可または設定不可に関する情報を取得する。これにより、どのような条件で命令の実行設定や実行阻止の設定に関する可否情報を得る。その後、ステップ１７０２へ進む。
【０１４６】
ステップ１７０２で、管理対象設定部２１３は、命令が実行不可の場合、管理対象へ実行不可を設定し、処理を完了する。一方、命令が実行可の場合は、敢えて設定する必要はない。ただし、下位層に対して命令の実行権限がない場合は、別にポリシーをテーブル管理し、そのポリシーテーブルを参照し、権限を昇格させるか否かを判定しても良い。ポリシーテーブルを使わず、必ず権限を昇格させて実行させても良いし、権限は変更せず実行させなくても良い。
【０１４７】
図１８は、テーブル設定部２１４で行われる処理の一例を示すフローチャートである。
【０１４８】
ステップ１８０１で、テーブル設定部２１４は各管理テーブルを参照し、カラム１３０１を照会して管理対象を特定する。そしてテーブル設定部２１４は、カラム１３０２またはカラム１３０３から、それぞれ設定可または設定不可に関する情報を取得する。これにより、どのような条件で命令の実行設定や実行阻止の設定に関する可否情報を得る。
【０１４９】
ステップ１８０２で、テーブル設定部２１４はそれぞれの管理対象に対して、各命令の実行可否を設定し、処理を完了する。
【０１５０】
上記図１４〜図１８の処理を命令実行時に、管理サーバ１０１が当該命令の実行可否に関して各管理テーブルを参照し判定することになる。
【０１５１】
これにより、管理サーバ１０１のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）へ当該命令を表示する（選択可能）、または表示させない（選択出来ない）、といった制御や、当該命令の実行要求に対して実行可否を管理サーバ１０１にて判定することで、システム管理者の操作ミスを抑止したり、操作の容易性を高めたりする効果が得られる。
【０１５２】
＜まとめ＞
【０１５３】
図５で示すように、物理サーバＡの仮想サーバＡ−１−１で業務ａが稼働または存在する場合に、管理サーバ１０１は、ＯＳ４２１や仮想サーバＡ−１−１に対する電源操作は許すが、第２仮想化部Ａ−１や第１仮想サーバＡ−１や第１仮想化部Ａに対する電源操作命令を抑止する。
【０１５４】
これにより、第２仮想化部Ａ−１を誤って遮断するのを防ぎ、業務ｂ、ｃがシステム管理者の意図に反して停止するのを防止することができる。なお、各命令の抑止は、命令を発行する管理サーバ１０１で抑止しても良い。
【０１５５】
また、命令の実行を抑止する契機としては、例えば、仮想サーバ４０４上で業務が稼働中で、第２仮想化部Ａ−１が稼働中で、業務ａに管理系アプリケーションがインストールされている場合である。
【０１５６】
あるいは、第１仮想化部Ａと第２仮想化部Ａ−１が同じ機能（マイグレーションなどの仮想サーバに対する操作）を提供している場合、管理サーバ１０１は、他方の機能が動作することを抑止する。または管理サーバ１０１から命令を発行させない（命令発行を抑止する）。例えば、一方でマイグレーションを行っているときには、他方のマイグレーションの実行を抑止する。
【０１５７】
例えば、上位層と下位層でマイグレーションを実施しているときでは、管理サーバ１０１は、上位層に対する電源遮断命令を抑止しておき、下位層のマイグレーションが完了した後に上位層に対する電源遮断命令を許可する。これによって、下位層の仮想化部を先にマイグレーションさせた後に電源遮断を実行することができる。
【０１５８】
次に、管理サーバ１０１の上位層に対する電源操作命令は、上位層の電源状態がオフの場合、下位層の電源状態を一番下位からオンにしていき、当該層がオン状態になったことを確認した後に、上位層をオンする命令を送信する。例えば、管理サーバ１０１は、第２仮想化部Ａ−１がオフの場合、第２仮想化部Ａ−１を電源操作命令でオンにして起動を確認してから管理サーバ１０１は仮想サーバＡ−１−１、Ａ−１−２の電源をオンにする命令を発行し、仮想サーバＡ−１−１、Ａ−１−２の起動が完了したら業務アプリケーション４３１を配布して実行させることができる。このように、仮想計算機の下位層から順次電源をオンにすることで、目的の層の管理対象を起動させることができる。
【０１５９】
以上の例では、管理サーバ１０１が、命令の抑止を行う例を示したが、この命令の抑止は、第１仮想化部Ａや第２仮想化部Ａ−１に設定することで実現してもよい。第１仮想化部４０１と第２仮想化部４０３は、各仮想サーバ４０２、４０４に対する電源操作命令などの抑止の指令を管理サーバ１０１から受け付ける。そして、第１仮想化部４０１または第２仮想化部４０３が管理サーバ１０１や仮想サーバ用管理サーバ１５１から命令を受信すると、当該命令が抑止する命令であれば第１仮想化部４０１または第２仮想化部４０３は当該命令の実行を制限する。あるいは、第１仮想化部４０１または第２仮想化部４０３は当該命令を破棄する。また、第１仮想化部４０１と第２仮想化部４０３は、各仮想サーバ４０２、４０４に対する電源操作命令などの抑止の条件を管理サーバ１０１から受け付けている場合には、当該条件が成立したときに当該命令の抑止を実施する。
【０１６０】
なお、上記実施形態では、管理サーバ１０１が命令を取得したときに図１４の処理を行う例を示したが、所定の周期で管理サーバ１０１が図１４の処理を実行して設定可否管理テーブル２２８を更新するようにしても良い。この場合、管理サーバ１０１の管理対象毎に命令管理テーブル２２７の各命令毎に設定可１３０２と設定不可１３０３の何れかを設定しておく。そして、各管理対象が命令を受信すると管理サーバ１０１に受信した命令が設定可１３０２と設定不可１３０３の何れであるかを問い合わせる。各管理対象は管理サーバ１０１からの問い合わせ結果に応じて、受信した命令の抑止または実行を行うようにしても良い。
【産業上の利用可能性】
【０１６１】
本発明は、物理計算機の計算機資源を仮想化する仮想計算機システムに適用することができ、特に、多段仮想計算機システムの管理サーバまたは管理装置に好適である。
【図１】
2012164716.tif 000003
【図２】
2012164716.tif 000004
【図３】
2012164716.tif 000005
【図４】
2012164716.tif 000006
【図５】
2012164716.tif 000007
【図６Ａ】
2012164716.tif 000008
【図６Ｂ】
2012164716.tif 000009
【図７】
2012164716.tif 000010
【図８Ａ】
2012164716.tif 000011
【図８Ｂ】
2012164716.tif 000012
【図９】
2012164716.tif 000013
【図１０】
2012164716.tif 000014
【図１１Ａ】
2012164716.tif 000015
【図１１Ｂ】
2012164716.tif 000016
【図１２】
2012164716.tif 000017
【図１３】
2012164716.tif 000018
【図１４】
2012164716.tif 000019
【図１５】
2012164716.tif 000020
【図１６】
2012164716.tif 000021
【図１７】
2012164716.tif 000022
【図１８】
2012164716.tif 000023
【国際調査報告】
2012164716.tif 000024
2012164716.tif 000025
2012164716.tif 000026