(57)【特許請求の範囲】
【請求項１】
ＣＰＵ、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにおいて、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする計算機システム。
【請求項２】
前記装置識別情報の引継時に障害発生が無い場合、同期処理部による引継処理が正常終了したとして、前記計算機システムを定常状態に遷移させることを特徴とする請求項１記載の計算機システム。
【請求項３】
前記装置識別情報の引継時に、前記計算機の電源が停止した障害発生が有る場合、前記計算機システムを停止状態に遷移させ、
前記計算機の電源の再投入後に、前記仮想計算機の起動抑止が無効であるかを判断し、
前記仮想計算機の起動抑止が無効である場合、前記計算機システムを定常状態に遷移させ、
前記仮想計算機の起動抑止が無効でない場合、前記計算機システムを障害状態に遷移させ、前記仮想化機構の回復処理部による回復処理を実行する
ことを特徴とする請求項１記載の計算機システム。
【請求項４】
前記装置識別情報の引継時の障害発生の有無を、前記引継処理部の仮想計算機の操作部、同期処理部、又は抑止設定部の何れか検出して判断することを特徴とする請求項１記載の計算機システム。
【請求項５】
前記論理インターフェースは、仮想ＨＢＡ又は仮想ＮＩＣであり、
前記装置識別情報は、前記仮想ＨＢＡのＷＷＮ又は前記仮想ＮＩＣのＭＡＣアドレスであることを特徴とする請求項１記載の計算機システム。
【請求項６】
前記引継処理部は、装置識別情報の引継時にリカバリ情報を生成し、
前記リカバリ情報は、仮想計算機の番号、前記仮想計算機の抑止状態、前記仮想計算機の転送側情報、及び引継時に設定予定の装置識別情報を含み、
前記リカバリ情報は、前記計算機又は前記記憶装置の少なくとも何れか一方に保持されることを特徴とする請求項１記載の計算機システム。
【請求項７】
請求項６記載の計算機システムにおいて、前記仮想化機構上に仮想化機構生存情報を有し、前記引継処理部による前記リカバリ情報の生成時に、前記仮想化機構生存情報を有効とすることにより、前記リカバリ情報の生成に失敗した場合においても、前記仮想化機構生存情報により、前記仮想化機構が有効であることを判別し、再度、前記リカバリ情報の保存を試行可能なことを特徴とする請求項６記載の計算機システム。
【請求項８】
ＣＰＵ、メモリ、インターフェースを有する計算機上で仮想計算機を稼動させる仮想化機構において、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機を障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする仮想化機構。
【請求項９】
ＣＰＵ、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにける障害回復方法において、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構の仮想計算機操作部により、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶し、
前記仮想化機構の同期処理部により、前記仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行い、
前記仮想化機構の抑止設定部により、前記仮想計算機の抑止設定を行い、
前記仮想計算機操作部、同期処理部および抑止設定部を含む引継処理部により、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記仮想化機構の回復処理部により、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行することを特徴とする計算機システムの障害回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムおよび仮想計算機システムの障害回復方法に関し、特に仮想計算機間における固有情報の引き継ぎ技術に関する。
【背景技術】
【０００２】
1台の計算機上に複数業務を集約する仮想化技術では、計算機資源であるプロセッサやメモリ、入出力装置などの利用効率を上げるとともに、処理量に応じてリソース割当を変更することが可能である。
【０００３】
一方、複数の計算機が同一ストレージボリュームからＯＳを計算機に読み込み、起動するように構成することで、業務を実行する計算機を変更することが可能である。複数の計算機で共有可能なストレージ装置の構成は、ストレージネットワーク（ＳＡＮ）と呼ばれている。このＳＡＮでは、ストレージ装置と計算機とは、ファイバーチャネルスイッチを介して接続される。
【０００４】
共有可能なストレージ装置では、接続された全ての計算機からストレージボリュームを参照あるいは更新することができるため、セキュリティにおける課題があった。この課題に対し、ストレージ装置は、仮想化が有するファイバーチャネル（ＦＣ）のＩ／Ｏアダプタのワールドワイドネーム（ＷＷＮ）を用いて、ある特定の計算機とストレージ装置内のストレージボリュームとの対応付けを行い、ストレージボリュームに登録されたＷＷＮを登録しているＨＢＡを有する計算機のみ接続を許可する。
【０００５】
従来、業務を実行する計算機を、仮想計算機から計算機へ、あるいは異なる計算機上の仮想計算機へ、マイグレーションにより切り替えるとき、Ｉ／Ｏアダプタに設定するアダプタ固有の装置識別情報（ＩＤ）を切り替え先の計算機に引き継ぐことで、計算機へ接続された機器を再設定することなく、システムを再構築できることが知られている。
【０００６】
ここで、例えば、ＩＤ引き継ぎの際に障害が発生すると、ＩＤ引継ぎ元の計算機とＩＤ引継ぎ先の計算機との両方が同じＩＤを持つ可能性がある。このように、同じＩＤを持つ複数の計算機が起動されると、ストレージ装置のアクセス制御機構が有効に働かず、複数の計算機から同一ストレージボリュームを操作できてしまう。
【０００７】
また、Ｉ／Ｏアダプタがネットワークインタフェースのとき、ＭＡＣアドレスに代表されるアダプタ固有の装置識別情報（ＩＤ）が同一な計算機が複数ある場合には、通信エラーを発生する。
【０００８】
これに対して、特許文献１には、ＩＤの重複の可能性がある状態において、業務を実行する計算機にＩＤ引継処理プログラムが起動抑止をかけることにより、計算機が起動しないように制御する技術が開示されている。この技術は、ＩＤ引継処理中に障害が発生し、異常状態となった際に、仮想化処理部が転送元サーバ１０１の仮想計算機と転送先サーバ１０２の仮想計算機の起動を抑止し、ＩＤ利用を禁止することで、サーバへ接続されたシステムへ障害が伝播されることを防止するものである（図３を参照）。
【０００９】
この技術では、業務を実行する仮想計算機のＩＤが他計算機と重複している可能性がある場合、仮想計算機を起動抑止ありの状態とする。仮想化処理部は仮想計算機に対しての仮想計算機起動要求を受け付けた（Ｓ６１１）後、仮想計算機の起動判定を行う。まず、仮想化処理部は仮想計算機が起動中であるかを判定し（Ｓ６１２）、仮想計算機が起動している場合はエラーとし、起動エラー情報生成を行い（Ｓ６１７）、起動要求発行者エラーを報告する（Ｓ６１６）。仮想計算機が起動中でない場合、次に仮想化処理部は仮想計算機に起動抑止登録があるか判定する（Ｓ６１３）。ＩＤが重複している可能性がある場合は、ＩＤ引継処理プログラムが、起動抑止登録が有効としているため、Ｓ６１３によりエラー処理へ遷移し、起動エラー情報生成を行い（Ｓ６１７）、起動要求発行者エラーを報告する（Ｓ６１６）。ＩＤが重複していない場合は、ＩＤ引継処理プログラムが、起動抑止登録が無効とするため、Ｓ６１４の処理が実施される。次に仮想化処理部は仮想計算機の持つＩＤが有効なＩＤであるかを判定する（Ｓ６１４）。ＩＤ引継処理中など、ＩＤが引き継がれている過渡状態においては、仮想計算機の持つＩＤが無効である可能性があり、ＩＤが無効である場合は、起動エラー情報生成を行い（Ｓ６１７）、起動要求発行者エラーを報告する（Ｓ６１６）。Ｓ６１４にてＩＤが有効である場合は、仮想計算機起動処理（Ｓ６１５）が実施され、仮想計算機起動の成功が起動要求発行者へ報告される（Ｓ６１６）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−３３４０３
【特許文献２】特開２００８−２９９５０９
【発明の概要】
【発明が解決しようとする課題】
【００１１】
引用文献１では、計算機システムのマイグレーションでの障害発生時に、異なる計算機間においてＩＤが重複している状態から、異なる計算機間においてＩＤが重複していない状態に、システム障害を回復させることについては検討されていない。
【００１２】
本発明は、従来の実情に鑑みて、計算機システムのマイグレーションでのシステム障害を回復し、異なる計算機間においてＩＤが重複している状態から、異なる計算機間においてＩＤが重複していない状態とする計算機システム、仮想化機構および障害回復方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述の課題を解決する為に、本発明に係る計算機システム、仮想化機構、および計算機システムの障害回復方法は、計算機上で仮想計算機を稼動させる仮想化機構が、仮想化機構は、仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、装置識別情報の引継時に障害発生が有る場合、計算機システムを障害状態に遷移させ、仮想化機構の回復処理部は、仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行することを、主な特徴とする。
【発明の効果】
【００１４】
本発明によれば、マイグレーション時の障害発生により異なる計算機間においてＩＤが重複している状態となっても、異なる計算機間においてＩＤが重複していない状態へ遷移させ、仮想計算機の障害状態から定常状態への回復を実現可能である。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る計算機システムの構成の一例を示す構成図
【図２】本発明の効果を得るために計算機システムが持つ要素を示す構成図
【図３】従来技術の計算機システムにおけるＩＤ交換処理フロー
【図４】本発明の実施によるＩＤ交換処理および回復処理フロー
【図５】ＩＤ引継手順
【図６】リカバリ情報の内容
【図７】仮想計算機抑止ルール
【図８】仮想計算機に対しての操作の際に実施する抑止処理部フロー
【図９】転送元サーバにおいて取りえる状態一覧
【図１０】転送先サーバにおいて取りえる状態一覧
【図１１】転送元サーバにおける引継処理部と回復処理部による状態遷移図
【図１２】転送先サーバにおける引継処理部と回復処理部による状態遷移図
【発明を実施するための最良の形態】
【００１６】
以下、本発明を適用した実施例について、図面を参照して詳細に説明する。
【００１７】
図１は、本発明の実施の形態に係る計算機システム構成の一例を示す構成図である。計算機システムは、転送元サーバ１０１、転送先サーバ１０２、ストレージスイッチ４０２１を介して転送元サーバ１０１のＨＢＡ１０３及び転送先サーバ１０２のＨＢＡ１０６と接続されているストレージシステム４０２１、ネットワークスイッチ４０２２を介して転送元サーバ１０１のＮＩＣ１０５及び転送先サーバ１０２のＮＩＣ１０４と接続されているＩＤ引継管理サーバ４０１を含む。
【００１８】
転送元サーバ１０１と転送先サーバ１０２上に仮想計算機を構築する。転送元サーバ１０１上の仮想計算機（転送元仮想計算機）と転送先サーバ１０２上の仮想計算機（転送先仮想計算機）はそれぞれ仮想ＨＢＡと仮想ＮＩＣを持ち、転送先仮想計算機または転送元仮想計算機内から仮想ＨＢＡまたは仮想ＮＩＣを介した通信を行うと、仮想計算機管理機構によりＨＢＡ（１０３、１０６）またはＮＩＣ（１０５、１０４）を介した通信へと変換される。
【００１９】
このとき、他サーバから、仮想計算機の持つ仮想ＨＢＡと仮想ＮＩＣを識別する情報として、ＨＢＡ、ＮＩＣ同様、計算機システム内で一意に機器が識別できるＷＷＮ、ＭＡＣアドレスを持つ。これにより、転送元サーバ１０１と転送先サーバ１０２上に複数の仮想計算機が存在した場合も、ある仮想計算機を他サーバより指定し通信することが可能となる。
【００２０】
一方、ストレージシステム４０３１では、ボリューム４０３４へ接続可能なサーバをＷＷＮにより識別する。ストレージシステム４０３１において、ボリューム４０３４へ接続可能なサーバは、ＮＩＣ４０３３を介して接続されたストレージシステム設定端末４０３６の操作により、ＷＷＮに基づいて選択される。また、ネットワーク上では転送元サーバ１０１はＮＩＣ１０５のもつＭＡＣアドレスにより識別される。
【００２１】
さて、計算機システムにおけるマイグレーションの際、転送元サーバ１０１より転送先サーバ１０２へ、仮想計算機の持つ仮想ＨＢＡのＷＷＮ、仮想ＮＩＣのＭＡＣアドレス等のＩＤを引き継ぐことにより、転送元サーバ１０１上の仮想計算機から接続可能な装置に対して、転送先サーバ１０２の仮想計算機からも接続可能としている。その結果、ストレージシステム設定端末４０３６を操作することなく、転送元サーバ１０１の仮想計算機から接続可能なボリューム４０３４へ、転送先サーバ１０２の仮想計算機から接続可能となる。このような転送元サーバ１０１の停止に影響しないプログラム実行環境が実現可能により、柔軟なシステム運用が提供できる。このＩＤの引き継ぎ方法としては、例えば特許文献２に開示される方法があるが、これに限定されるものではない。
【００２２】
なお、本実施例の説明中では、ＷＷＮ、ＭＡＣアドレスのように計算機システム内で情報から一意に機器が識別できる情報を、装置固有情報（ＩＤ）と称する。
【００２３】
また、本実施例において、転送元サーバ１０１の仮想計算機から転送先サーバ１０２の仮想計算機に対して、ＩＤの引き継ぎを行う処理のことをＩＤ引継処理と呼ぶ。
【００２４】
また、本実施例において、ＩＤ引継処理中に障害が発生し転送元サーバ１０１または転送先サーバ１０２またはその両方でＩＤ引継処理が中断した状態を障害状態と呼び、ＩＤ引継処理が完了した状態またはＩＤ引継処理が実施される前の状態を定常状態と呼ぶ。また、障害状態よりＩＤ引継処理実施前の状態に回復させることをロールバックと呼び、障害状態よりＩＤ引継処理が正常終了した後の状態へ回復させることをロールフォワードと呼ぶ。
【００２５】
図２は、本発明の効果を得るために計算機システムが持つ要素を示す構成図である。転送元サーバ１０１および転送先サーバ１０２は、ＣＰＵ、メモリ、ＮＩＣ、ＨＢＡ、不揮発性の領域であるストレージ等から構成される。転送元サーバ１０１及び転送先サーバ１０２は、それぞれメモリ上に仮想化機構を持ち、これがＣＰＵで実行されることにより仮想計算機が作成、実行される。本計算機システムでは、転送元サーバ１０１と転送先サーバ１０２は同様の構成であるため、各サーバの構成要素の説明は、転送元サーバ１０１についてのみ説明するが、転送先サーバ１０２においても同様である。
【００２６】
仮想化機構は仮想計算機実行中には、仮想計算機をメモリ上に保持する。また、計算機システムはサーバの電源停止後も仮想計算機を保持する必要があるため、ストレージ上に仮想計算機構成情報２１０、３１０を持ち、サーバの電源投入時に仮想化機構がストレージ上の仮想計算機構成情報２１０、３１０を取得し、メモリ上に仮想計算機を作成する。
【００２７】
転送元サーバ１０１の仮想計算機は、抑止設定２１１と仮想ＨＢＡ２１２を持つ。また、仮想計算機は、抑止設定２１１を持ち、ＩＤ引継処理中に仮想計算機の状態にあわせた抑止状態を保持する。ここで、ストレージは不揮発性であることが求められるが、サーバへの接続形式としては、ネットワークを介して接続されたネットワークストレージなど、特にストレージの位置は限らない。
【００２８】
転送元サーバ１０１の仮想化機構は、引継処理部２０１、回復処理部２０２、抑止処理部２１４、仮想計算機抑止ルール２０６、取得済ＩＤ２０７、仮想化機構生存情報２１３、リカバリ情報２０８から構成される。
【００２９】
引継処理部２０１は、ＩＤ引継が要求された際にＩＤ引継処理を実施するためのプログラムがＣＰＵで実行されることにより実現される機能である。引継処理部２０１は、仮想計算機操作部２１５、同期処理部２１６、抑止設定部２１７から構成される。また、引継処理部２０１は、ＩＤ引継処理中に障害が発生した場合、障害状態より定常状態へ回復可能とするため、取得済ＩＤ２０７、仮想化機構生存情報２１３とリカバリ情報２０８、ストレージ上のリカバリ情報２０９と仮想計算機構成情報２１０を生成し、仮想計算機の抑止設定２１１と仮想ＨＢＡ２１２の持つＩＤの設定を行う。
【００３０】
回復処理部２０２は、障害状態から正常状態へ回復するためのプログラムがＣＰＵで実行されることにより実現される機能である。回復処理部２０２は、引継処理部２０１がＩＤ引継処理中に生成した仮想化機構生存情報２１３、リカバリ情報２０８、ストレージ上のリカバリ情報２０９、仮想計算機構成情報２１０、抑止設定２１１に基づき、障害発生前に実施していた引継処理部２０１の処理を識別し、回復処理を実施する。
【００３１】
また、回復処理部２０２は、ＩＤ引継処理中に発生した障害の種類２１５、抑止設定２１１、リカバリ情報２０８、ストレージ上のリカバリ情報２０９、仮想化機構生存情報２１３、ストレージ上の仮想計算機構成情報２１０に基づき、仮想計算機を障害状態から定常状態へと回復する。
【００３２】
仮想計算機抑止ルール２０６は、抑止状態ごとに、仮想計算機へいずれの操作が実行可能であるかの許可または拒否判定を持つ。仮想計算機抑止ルール２０６は、メモリ上に保持される。仮想計算機抑止ルール２０６は、抑止処理部２１４により仮想計算機への操作に対する可否判定の際に参照され、仮想計算機への操作処理を開始または抑止する。
【００３３】
取得済ＩＤ２０７は、転送元サーバ１０１の引継処理部２０１と転送先サーバ１０２の引継処理部３０１により交換したＩＤを、転送元サーバ１０１の仮想計算機の仮想ＨＢＡ２１２、転送先サーバ１０２の仮想計算機の仮想ＨＢＡ３１２へ設定するまで、これらのＩＤを保持するために定義したメモリ上の領域である。
【００３４】
リカバリ情報２０８及びストレージ上のリカバリ情報２０９は、引継処理部２０１がＩＤ引継処理中に生成し、これは回復処理に必要となる、仮想計算機に設定された抑止設定２１１及びＩＤ引継処理完了後に設定されるべきＩＤ、リカバリ情報２０８、２０９、３０８、３０９を生成した引継処理部２０１、３０１が転送元であるか転送先であるかの情報を保持する。リカバリ情報２０８は、仮想計算機に対応する抑止設定２１１も保持しており、仮想計算機作成時にはリカバリ情報２０８の持つ抑止状態が仮想計算機の抑止設定２１１へ設定される。また、ストレージ上のリカバリ情報２０９は、サーバ電源投入時に仮想化機構によりリカバリ情報２０８へ設定される。
【００３５】
仮想化機構生存情報２１３は、仮想化機構の起動時およびＩＤ引継成功時に無効とし、ＩＤ引継処理中に引継処理部２０１が有効とする情報であり、メモリ上に保持される。仮想化機構生存情報２１３は、回復処理部２０２により参照され、ＩＤ引継処理中の障害発生後、回復処理部２０２による回復処理実施までに、仮想化機構が停止し仮想化機構上に保持されたＩＤ引継処理に必要な情報が破損しているか、仮想化機構は停止せず仮想化機構上に保持されたＩＤ引継処理に必要な情報が利用可能であるかを判別するため、利用される。
【００３６】
抑止処理部２１４は、プログラムから仮想計算機に対して行われた操作を、仮想計算機の抑止設定２１１と、仮想計算機抑止ルール２０６に基づき許可または拒否する機能を提供するプログラムである。仮想計算機の抑止設定２１１は引継処理部２０１により、ＩＤ引継処理の最中に設定される。これにより、ＩＤ引継処理中に障害が発生し、転送元サーバ１０１と転送先サーバ１０２とでＩＤが重複している可能性のある状態となった際には、片方または両方のサーバの起動を抑止することによりＩＤの重複を隠蔽し、外部システムへの影響を防止する。また、操作抑止により、ＩＤ引継処理の際にＩＤ引継処理以外のプログラムが対象仮想計算機に対して何らかの操作を行うことを禁止することにより、仮想計算機が引継処理部２０１、３０１の予期しない状態へ遷移することを防止する。
【００３７】
また、抑止処理部２１４は、プログラムがＣＰＵで実行されることにより実現される機能であり、抑止設定２１１及び仮想計算機抑止ルール２０６に従って、仮想計算機への操作を実行または停止する。
【００３８】
仮想計算機の抑止設定２１１、３１１は、システム構築時は抑止無効とし、ＩＤ引継処理の際に引継処理部：抑止設定部２１７、３１７により状態が変更される。
【００３９】
仮想計算機操作部２１５、３１５は、仮想計算機の仮想ＨＢＡ２１２、３１２へＩＤを設定する機能と、仮想計算機に設定されたＩＤをストレージ上の仮想計算機構成情報へ保存する機能とを提供する。
【００４０】
同期処理部２１６、３１６は、転送元サーバ１０１の引継処理部２０１と転送先サーバ１０２の引継処理部３０１間にて仮想ＨＢＡ２１２の持つＩＤと仮想ＨＢＡ３１２の持つＩＤとを交換する機能と、それぞれのサーバの抑止状態または仮想計算機構成情報の保存完了などの状態をＮＩＣ１０５、１０４によりネットワークを介して取得し、転送元サーバ１０１のＩＤ引継処理と転送先サーバ１０２のＩＤ引継処理を適切に同期させる機能とを提供する。
【００４１】
抑止設定部２１７、３１７は、ＩＤ引継処理の際に仮想計算機の抑止設定２１１、３１１を、処理に従い図７の仮想計算機抑止状態１６０１に定めた状態のいずれかへと設定する機能と、仮想化機構上のリカバリ情報２０８、３０８および仮想化機構上の仮想化機構生存情報２１３、３１３、ストレージ上のリカバリ情報２０９、３０９を生成する機能とを提供する。
【００４２】
ＩＤ引継管理サーバ４０１は、ユーザより操作され、ＩＤ引継処理開始を転送元サーバ１０１の引継処理部２０１、転送先サーバ１０２の引継処理部３０１へ通知し、転送元サーバ１０１の引継処理部２０１、転送先サーバ１０２の引継処理部３０１からの完了をユーザへ通知する。
【００４３】
さて、本発明を適用した実施例では、特許文献１に開示される起動抑止の機能に加えて、新たに仮想化機構上のリカバリ情報２０８、仮想計算機抑止ルール２０６、仮想化機構生存情報２１３、ストレージ上のリカバリ情報２０９、仮想計算機の抑止設定２１１、仮想計算機抑止ルール２０６、取得済ＩＤ２０７を追加し、引継処理部２０１、回復処理部２０２、抑止処理部２１４が以下に説明する処理をＣＰＵ上で実行することにより、仮想計算機の障害状態から定常状態への回復を実現する。
【００４４】
まず、ＩＤ引継処理中に発生する障害の種類２１５、３１５として、サーバ停止障害、仮想化機構停止障害、引継処理部停止障害の３種類を定義する。
【００４５】
（１）サーバ停止障害は、何らかの原因によりＩＤ引継処理中にサーバの電源が停止した場合に発生する。サーバ停止障害においては、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、サーバが再度起動された後の仮想化機構起動時に、仮想化機構の持つ情報として設定される。
【００４６】
（２）仮想化機構停止障害は、何らかの原因によりＩＤ引継処理中に仮想化機構が停止した場合に発生する。仮想化機構停止障害では、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、仮想化機構が再度起動された際に、仮想化機構の持つ情報として設定される。
【００４７】
（３）引継処理部停止障害は、何らかの原因によりＩＤ引継処理中に引継処理部２０１、３０１が停止した場合に発生する。引継処理部停止障害では、メモリ上に保持された情報は保持される。
【００４８】
図４に、仮想計算機システムの障害回復方法の手順を示す。
【００４９】
まず、サーバ停止状態６０１からユーザがサーバ電源投入６０２を行うと、抑止処理部２１４、３１４が仮想計算機の抑止設定２１１、３１１が抑止無効であるか、抑止無効以外であるかの判定を行う（Ｓ３００１）。
【００５０】
仮想計算機の抑止設定２１１、３１１の状態が抑止無効以外であった場合、障害によりＩＤ引継処理が中断しているため、障害状態６０８へと遷移する。そして、回復処理部（２０２、３０２）により、障害により中断されたＩＤ引継処理の回復処理が実行され（Ｓ３００３）、定常状態６０４へと回復する。
【００５１】
仮想計算機の抑止設定２１１、３１１の状態が抑止無効の場合、ＩＤ引継処理実施前またはＩＤ引継処理完了後であるため、定常状態６０４に遷移する。そして、引継処理部２０１がユーザからＩＤ引継要求を受けると（Ｓ６０５）、引継処理部２０１はＩＤ引継処理を実施する（Ｓ３００２）。
【００５２】
Ｓ３００２におけるＩＤ引継処理の実施中に、引継処理部２０１は障害の発生有無を判断する（Ｓ６０７）。ＩＤ引継処理の実施中に障害が発生したかどうかにより、以降の遷移が異なる。
【００５３】
Ｓ６０７にて障害が発生せず正常終了したと判断した場合、転送元サーバ１０１の仮想計算機と転送先サーバ１０２の仮想計算機間でＩＤが引き継がれているため、定常状態６０４に戻る。
【００５４】
Ｓ６０７にて障害が発生したと判断した場合、次に障害の種類２１５、３１５を判断する。
【００５５】
引継処理部２０１、３０１がプログラムの実行中に障害を発見した場合又は引継処理部停止障害の場合は、引継処理部２０１、３０１、または仮想化機構が障害の種類２１５、３１５へ発生した障害の種類を格納し、障害状態６０８へ遷移し、回復処理部（２０２、３０２）により回復処理が実施される（Ｓ３００３）。
【００５６】
障害の種類２１５、３１５として、サーバ停止障害である場合、サーバ停止状態６０１へと遷移し、ユーザによるサーバ電源投入を待ち（Ｓ６０２）、ＩＤ引継処理中断により抑止無効でないことが確認した（Ｓ３００１）後に、障害状態６０８へ遷移し、回復処理部（２０３、３０３）の回復処理による回復を待機する（Ｓ３００３）。
【００５７】
計算機システム構築時においては、ＩＤ引継処理前であることから、仮想計算機の抑止設定２１１と、仮想化機構上のリカバリ情報２０８と、ストレージ上のリカバリ情報２０９が抑止無効であり、各仮想計算機にはそれぞれの仮想計算機の持つＩＤが保持され、仮想計算機構成情報へこれらが保存されているため、定常状態６０４である。また、本発明では、定常状態６０４よりＩＤ引継処理を実施後、障害が発生し障害状態となった場合においても、回復処理部２０２、３０２による回復処理を実施することにより、定常状態６０４へ遷移できる。以上より、定常状態であるシステムに対して、本発明による処理を実施することにより、必ず定常状態への遷移が可能である。
【００５８】
ここで、回復処理の実施は、計算機内部にて仮想化機構が定期的に実行することで、障害状態の回復を定期的に実施する、または、ユーザがID交換管理サーバ４０１を操作し、ネットワークを介して回復処理部２０２、３０２へ回復要求を発行することで、ユーザによる任意の時点で回復を実施する、仮想計算機が停止、起動するなど仮想化機構内で発生した契機に基づいて回復を実施するなどの実施方法がある。
【００５９】
この計算機システムは、抑止設定２１１、３１１により、障害状態において操作が制限されるため、転送元サーバ１０１の仮想計算機と転送先サーバ１０２の仮想計算機間でＩＤが重複していたとしても、抑止設定２１１、３１１によりプログラムから仮想計算機に対する操作が抑止されることにより、障害状態が外部システムへ伝播することを防止するとともに、障害状態の仮想計算機を障害発生後から回復処理部２０２、３０２による回復実施まで状態を保持することができる。
【００６０】
仮想計算機抑止ルール２０６、３０６を、図７に基づいて説明する。
【００６１】
仮想計算機抑止状態１６０１とは、仮想計算機に対してＩＤ引継処理が実施手順に応じて、定義された仮想計算機の保護状態であり、その状態として、抑止有効１７０１、ＩＤ解放待機１７０２、仮定義状態１７０３、削除許可１７０４、抑止無効１７０５の５つが定められている。仮想計算機抑止状態１６０１の各々と、仮想計算機の状態１６０５との対応は、図７に示されるとおりである。
【００６２】
また、抑止処理部２１４、３１４により抑止される操作としては、引継処理部２０１、３０１または回復処理部２０２、３０２からの仮想計算機起動操作１６０２、仮想計算機変更・削除操作１６０３、仮想計算機作成操作１６０４と、引継処理部２０１、３０１または回復処理部２０２、３０２以外からの仮想計算機起動操作１６０６、仮想計算機変更・削除操作１６０７、仮想計算機作成操作１６０８を対象とする。
【００６３】
各抑止状態においての各操作要求を許可するか拒否するかについて、図７に示す。
【００６４】
図７において、仮想計算機抑止状態１６０１に対して操作が許可される場合には、仮想計算機に対して発行された操作は、抑止処理部２１４、３１４により許可され、仮想化機構へ処理が依頼され、操作が実施される。また、仮想計算機抑止状態に対して操作が拒否される場合は、仮想計算機に対して発行された操作は、抑止処理部２１４、３１４により拒否され、操作中止が発行者へ通知される。
【００６５】
仮想計算機起動操作１６０２が拒否された場合、計算機システム内で転送元サーバ１０１の仮想計算機の持つＩＤと転送先サーバ１０２の仮想計算機の持つＩＤが重複した状態での仮想計算機起動を禁止し、障害がサーバへ接続された外部システムへ伝播することを防止する。
【００６６】
仮想計算機変更・削除操作１６０３が拒否された場合、障害発生直後から回復処理部２０２、３０２の実行開始まで、計算機システム上の何らかのプログラムにより、仮想計算機の状態が変化されることを抑止し、回復処理部２０２、３０２による回復処理の際に、仮想計算機の状態より、障害前に引継処理部２０１、３０１が実施していた処理を特定可能とする。
【００６７】
仮想計算機作成操作１６０４が拒否された場合、転送元においてＩＤ引継後の仮想計算機が削除された領域に対する他プログラムからの仮想計算機の再割当を防止することで、回復処理部２０２、３０２がＩＤ引継処理の対象でない仮想計算機へ回復処理が実施することを防止する。
【００６８】
また、引継処理部２０１、３０１または回復処理部２０２、３０２以外からの仮想計算機起動操作１６０６、仮想計算機変更・削除操作１６０７、仮想計算機作成操作１６０８も同様に抑止する。
【００６９】
特に、仮定義１７０３において仮想計算機起動操作１６０６、仮想計算機変更・削除操作１６０７、仮想計算機作成操作１６０８を禁止し、転送先サーバ１０２の引継処理部３０１が転送先仮想計算機を作成した後に、他プログラムが同仮想計算機に対して操作を加え、引継処理部３０１が予期しない仮想計算機が生成されることを防止する。
【００７０】
図７で定義した抑止有効１７０１、ＩＤ解放待機１７０２、仮定義１７０３、削除許可１７０４、抑止無効１７０５の状態をそれぞれ説明する。
【００７１】
抑止有効１７０１は、ＩＤ引継処理中に設定される状態であり仮想計算機の起動、変更、削除、作成を拒否することにより、ＩＤ引継処理中に、他プログラムからＩＤ引継対象である仮想計算機への操作を防止し、ＩＤ引継処理後に転送元仮想計算機と同様の転送先仮想計算機が定義されることを実現する。
【００７２】
ＩＤ解放待機１７０２は、障害発生時後に仮想計算機が起動しているが回復処理部２０２、３０２により対象仮想計算機が削除されるべきである場合に設定される。ＩＤ解放待機１７０２が仮想計算機へ設定されると、起動していた仮想計算機が停止した後に、起動が拒否されるため、再度起動されることなく、回復処理部２０２、３０２により対象仮想計算機を削除することができる。また、変更、削除、作成を拒否することにより、障害発生後から回復処理開始まで引継処理部２０１、３０１の設定した仮想計算機の状態を保つことができる。
【００７３】
仮定義１７０３は、転送先サーバ１０２において対象仮想計算機がＩＤ引継処理の過程で作成された仮想計算機であることを保持する。これにより、引継処理部２０１、３０１が停止した場合も、対象仮想計算機が仮定義であることが保持されるため、回復処理において、対象仮想計算機を削除するなど、仮定義仮想計算機の特性に合わせた回復を実現できる。仮定義１７０３においては、仮想計算機の作成をはじめ、変更、削除、起動を行う必要があるため、引継処理部２０１、３０１や回復処理部２０２、３０２から仮想計算機への操作はすべて許可される。また、仮定義１７０３は引継処理部２０１、３０１または回復処理部２０２、３０２以外からの操作をすべて拒否することにより、他プログラムから仮定義後の仮想計算機に対して操作が加えられ、引継処理部２０１、３０１の操作する仮想計算機が、引継処理部２０１、３０１から予期せぬ構成となることを防止する。
【００７４】
削除許可１７０４は、転送元サーバ１０１にてＩＤ引継処理後に不要となった仮想計算機を、仮想計算機に抑止を保持したまま削除するために設定する。削除許可１７０４は、仮想計算機に対する変更削除が許可されているため、削除は可能であり、また抑止状態が抑止無効でないことから、削除許可状態の仮想計算機に障害が発生し引継処理部２０１が停止した場合にも、対象仮想計算機がＩＤ引継処理中であったことが判別できる。
【００７５】
抑止無効１７０５は、ＩＤ引継処理実施前またはＩＤ引継処理完了後、仮想計算機へ設定され、処理がすでに完了し、定常状態であることを示す。抑止無効１７０５は定常状態であることから、操作は抑止されない。
【００７６】
仮想計算機に対しての操作より、抑止処理部２１４、３１４が操作処理を実施する過程を図８に基づいて説明する。
【００７７】
抑止処理部２１４、３１４が仮想計算機への操作（４１０８）を受け付けると、抑止処理部２１４、３１４は仮想計算機への操作を取得する（Ｓ４１０１）。
【００７８】
転送元サーバ１０１または転送先サーバ１０２の抑止処理部２１４、３１４は、操作対象となった仮想計算機の抑止状態を仮想化機構上のリカバリ情報２０８より取得する（Ｓ４１０２）。
【００７９】
転送元サーバ１０１または転送先サーバ１０２の抑止処理部２１４、３１４は発行された操作に対応する１６０２、１６０３、１６０４のいずれかより抑止結果を取得し（Ｓ４１０３）、発行された操作に対応する抑止を判定する（Ｓ４１０４）。
【００８０】
Ｓ４１０１の判定の結果、許可の場合には、抑止処理部２１４、３１４は仮想化機構へ操作処理の開始を依頼し（４１０５）、仮想計算機の操作処理を実施される（Ｓ４１０７）。
【００８１】
Ｓ４１０１の判定の結果、拒否の場合には、次の操作受付を待つ（Ｓ４１０６）。要求された操作が、操作を拒否している仮想計算機に対してである場合は操作失敗４１０６として抑止状態のため操作中止する。
【００８２】
本実施例では、障害状態（６０８）から定常状態（６０４）へと回復させるために必要な情報として、仮想化機構のリカバリ情報２０８とストレージのリカバリ情報２０９を持つ。以下、図６に示す例に基づきリカバリ情報２０８、２０９、３０８、３０９の内容を説明する。
【００８３】
リカバリ情報２０８、２０９、３０８、３０９は、仮想計算機番号１５０１に従い、仮想計算機ごとに情報が保持される。保持される情報としては、仮想計算機番号ごとに、抑止状態１５０２（１６０１の抑止状態に対応）と、転送側情報１５０３、設定予定ＩＤ情報１５０４が保持される。
【００８４】
抑止状態１５０２は、対象仮想計算機へ設定されている抑止状態であり、仮想化機構開始時に仮想計算機の抑止設定２１１、３１１へ設定される。
【００８５】
転送側情報１５０３は、リカバリ情報２０８、２０９、３０８、３０９を生成したＩＤ引継処理の際に該当仮想計算機が転送元サーバ１０１の仮想計算機、転送先サーバ１０２の仮想計算機であるかを示し、転送元または転送先の識別子を保持する。設定予定ＩＤ情報は、ＩＤ引継処理により引き継ぎに成功した結果として該当仮想計算機へ設定されるＩＤが保持される。
【００８６】
設定予定ＩＤ情報１５０４は、転送元サーバ１０１と転送先サーバ１０２間でネットワークを介して交換し、ＩＤ引継処理完了後に仮想計算機へ設定されるべきＩＤであり、転送元サーバ１０１であればＩＤ引継処理開始前の転送先仮想計算機のＩＤであり、転送先サーバ１０２であればＩＤ引継処理開始前の転送元仮想計算機のＩＤが保持される。
【００８７】
本発明を適用した計算機システムにおけるＩＤ引継処理の際の手順を図５に示す。
【００８８】
まずＩＤ引継処理では、ＩＤ引継管理サーバ４０１が、転送元サーバ１０１へＩＤ引継開始要求を発行する（Ｓ１１０１）。
【００８９】
Ｓ１１０２にて、転送元サーバ１０１の引継処理部：仮想計算機操作部２１５が、転送元サーバ１０１の仮想計算機が停止し、ＩＤがすでに使われていないことを確認する。
【００９０】
Ｓ１１０３にて、転送元サーバ１０１の引継処理部２０１は、ＩＤ引継管理サーバ４０１に対して仮想計算機が停止していることを通知する。
【００９１】
Ｓ１１０４にて、ＩＤ引継管理サーバ４０１が転送先サーバ１０２へＩＤ引継開始要求を発行する。
【００９２】
Ｓ１１０５にて、転送先サーバ１０２の引継処理部： 抑止設定部３１７が、転送先サーバ１０２の仮想計算機の抑止設定３１１と仮想化機構のリカバリ情報３０８に対して仮定義を設定する。
【００９３】
Ｓ１１０６にて、転送先サーバ１０２の引継処理部： 抑止設定部３１７が、転送先サーバ１０２のストレージ上のリカバリ情報３０９に対して仮定義を設定する。
【００９４】
Ｓ１１０７にて、転送先サーバ１０２の引継処理部： 仮想計算機操作部３１５が転送先サーバ１０２上に仮想計算機を作成する。
【００９５】
Ｓ１１０８にて、転送先サーバ１０２の引継処理部：同期処理部３１６は、転送元サーバ１０１から転送元仮想計算機のＩＤ取得を待機する。
【００９６】
Ｓ１１０９にて、転送元サーバ１０１の引継処理部：仮想計算機操作部２１５は、転送元サーバ１０１の仮想計算機よりＩＤを取得する。
【００９７】
Ｓ１１１０にて、転送元サーバ１０１の引継処理部：同期処理部２１６は、転送先サーバ１０２の引継処理部：同期処理３１６へＳ１１０９にて取得した転送元仮想計算機のＩＤを通知し、転送先サーバ１０２の引継処理部３０１は転送元仮想計算機のＩＤが通知されたためＳ１１０８が完了となる。
【００９８】
Ｓ１１１１にて、転送元サーバ１０１の引継処理部：同期処理部２１６は、転送先サーバ１０２から転送元仮想計算機のＩＤ取得を待機する。
【００９９】
Ｓ１１１２にて、転送先サーバ１０２の引継処理部３０１は取得したＩＤを仮想化機構上の取得済ＩＤ３０７へ保存する。
【０１００】
Ｓ１１１３にて、転送先サーバ１０２の引継処理部：仮想計算機操作部３１５は、転送先サーバ１０２の仮想計算機よりＩＤを取得する。
【０１０１】
Ｓ１１１４にて、転送先サーバ１０２の引継処理部：同期処理部３１６は、転送元サーバ１０２の引継処理部：同期処理２１６へＳ１１１３にて取得した転送先仮想計算機のＩＤを通知し、転送元サーバ１０２の引継処理部３０１は転送先仮想計算機のＩＤが通知されたためＳ１１１１が完了となる。
【０１０２】
Ｓ１１１５にて、転送先サーバ１０２の引継処理部：仮想計算機操作部３１５は、取得済ＩＤ３０７に保存したＩＤを転送先サーバ１０２の仮想計算機へ設定する。
【０１０３】
Ｓ１１１６にて、転送元サーバ１０１の引継処理部２０１は取得したＩＤを仮想化機構上の取得済ＩＤ２０７へ保存する。
【０１０４】
Ｓ１１１７にて、転送元サーバ１０１の引継処理部：抑止設定部２１７は、転送元仮想計算機の抑止設定２１１を抑止有効とし、取得済ＩＤ２０７より仮想化機構上のリカバリ情報２０８を生成する。Ｓ１１１７により、転送元仮想計算機は抑止有効状態となるため、Ｓ１１１７以降、転送元サーバ１０１が停止しない限り、転送元仮想計算機はＩＤ引継処理が成功するか回復処理部２０２により抑止無効とされるまで、図７仮想計算機抑止ルール２０６により転送元仮想計算機は抑止有効となる。
【０１０５】
Ｓ１１１８にて、転送元サーバ１０１の引継処理部：抑止設定部２１７はＳ１１１７で生成した仮想化機構上のリカバリ情報２０８をストレージ上のリカバリ情報２０９へ反映する。これにより、Ｓ１１１８以降、転送元サーバ１０１が停止しても転送元仮想計算機は抑止有効となるため、転送元仮想計算機はＩＤ引継処理が成功するか回復処理部２０２により抑止無効とされるまで、図７仮想計算機抑止ルール２０６により転送元仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、ＩＤが利用されない状態となる。
【０１０６】
Ｓ１１１９にて、転送先サーバ１０２の引継処理部：同期処理部３１６は転送元サーバ１０１の仮想計算機の抑止設定２１１が抑止有効なり、転送元にて転送元仮想計算機のＩＤが利用されないことが確認できるまで待機する。
【０１０７】
Ｓ１１２０にて、転送元サーバ１０１の引継処理部：同期処理部２１６は、転送元サーバ１０１の仮想計算機の抑止設定２１１が抑止有効であることを転送先サーバ１０２の引継処理部３１６へ通知する。これにより、転送元仮想計算機が抑止有効であることを通知することで、転送先仮想計算機が転送元ＩＤを利用してもＩＤの重複が外部システムへ伝播しないことを転送先サーバ１０２の引継処理部２０１は判別可能となる。
【０１０８】
Ｓ１１２１にて、転送元サーバ１０１の引継処理部：同期処理部２１６は、転送先サーバ１０２の仮想計算機がＩＤ引継処理後のＩＤで起動し、転送先サーバ１０２のストレージへ、ＩＤ引継処理後のＩＤの仮想計算機構成情報が保存されることを待機する。
【０１０９】
Ｓ１１２２にて、転送先サーバ１０２の引継処理部：仮想計算機操作部３１５は転送先サーバ１０２に定義されたＩＤ引継完了後のＩＤを持つ仮想計算機を起動する。
【０１１０】
Ｓ１１２３にて、転送先サーバ１０２の引継処理部：抑止設定部３１７は、転送先仮想計算機の抑止設定３１１を抑止有効とし、取得済ＩＤ３０７より仮想化機構上のリカバリ情報３０８を生成する。Ｓ１１２３により、転送先仮想計算機は抑止有効状態となるため、Ｓ１１２３以降、転送先サーバ１０２が停止しない限り、転送先仮想計算機はＩＤ引継処理が成功するか回復処理部３０２により抑止無効とされるまで、図７仮想計算機抑止ルール２０６により転送元仮想計算機は抑止有効となる。
Ｓ１１２４にて、転送先サーバ１０２の引継処理部３０１は仮想化機構生存情報３１３を有効とし、転送先サーバ１０２の仮想化機構上に、有効なリカバリ情報３０８が存在することを示す。Ｓ１１２４後に障害発生し、仮想化機構生存情報３１３が有効である場合には、転送先サーバ１０２はＩＤ引継処理後のＩＤが仮想化機構上へ保持されており、転送元サーバ１０１はリカバリ情報３０９としてＩＤ引継処理後のＩＤが保持されているため、ＩＤ引継完了後の状態へと回復させることができる。
【０１１１】
Ｓ１１２５にて、転送先サーバ１０２の引継処理部：抑止設定部３１７はＳ１１２３で生成した仮想化機構上のリカバリ情報３０８をストレージ上のリカバリ情報３０９へ反映する。これにより、Ｓ１１２５以降、転送先サーバ１０２が停止しても転送先仮想計算機は抑止有効となるため、転送先仮想計算機はＩＤ引継処理が成功するか回復処理部３０２により抑止無効とされるまで、図７仮想計算機抑止ルール３０６により転送先仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、ＩＤが利用されない状態となる。
【０１１２】
Ｓ１１２６にて、転送先サーバ１０２の引継処理部３０１は転送先仮想計算機の情報をストレージ上の仮想計算機構成情報３１０へ保存する。Ｓ１１２６完了時点において、転送先サーバ１０２には、ＩＤ引継処理後のＩＤを持つ仮想計算機が保存されており、転送元サーバ１０１はリカバリ情報２０９としてＩＤ引継処理後のＩＤが保持されているため、Ｓ１１２６後、障害が発生した場合にはＩＤ引継完了後の状態へと回復させることができる。
【０１１３】
Ｓ１１２７にて、転送先サーバ１０２の引継処理部：同期処理部３１６はＩＤがストレージ上の仮想計算機構成情報へ保存完了したことを転送元サーバ１０１へ通知し、Ｓ１１２１にて転送先サーバ１０２の仮想計算機構成情報保存完了を待機していた転送元サーバ１０１は、待機完了となる。
【０１１４】
Ｓ１１２８にて、転送先サーバ１０２の引継処理部：同期処理部３１６は転送元サーバ１０１へＩＤ引継処理後のＩＤを持つ仮想計算機が保存されることを待機する。
【０１１５】
Ｓ１１２９にて、転送元サーバ１０１の引継処理部：仮想計算機操作部２１５は、取得済ＩＤ２０７を仮想計算機の仮想ＨＢＡ２１２へ設定し、仮想計算機をＩＤ引継処理後のＩＤを持つ状態とする。
【０１１６】
Ｓ１１３０にて、転送元サーバ１０１の引継処理部：仮想計算機操作部２１５は、転送元サーバ１０１の仮想計算機を削除する。
【０１１７】
Ｓ１１３１にて、転送元サーバ１０１の引継処理部２０１は、転送元サーバ１０１の仮想計算機をストレージ上の仮想計算機構成情報２１０へと保存する。
【０１１８】
Ｓ１１３２にて、転送元サーバ１０１の引継処理部：同期処理部２１６はＩＤがストレージ上の仮想計算機構成情報へ保存完了したことを転送先サーバ１０２へ通知し、Ｓ１１２８にて転送元サーバ１０１の仮想計算機構成情報保存完了を待機していた転送先サーバ１０２は、待機完了となる。
【０１１９】
Ｓ１１３３にて、転送元サーバ１０１の引継処理部：抑止設定部２１７はストレージ上のリカバリ情報２０９中の抑止状態を抑止無効とする。
【０１２０】
Ｓ１１３４にて、転送元サーバ１０１の引継処理部：抑止設定部２１７は仮想計算機の抑止設定２１１を抑止無効とし、仮想化機構上のリカバリ情報２０８中の抑止状態を抑止無効とする。
【０１２１】
Ｓ１１３５にて、転送元サーバ１０１の引継処理部２０１は、ＩＤ引継管理サーバ４０１へ転送元サーバでのＩＤ引継処理が完了したことを通知する。
【０１２２】
Ｓ１１３６にて、転送先サーバ１０２の引継処理部：抑止設定部３１７はストレージ上のリカバリ情報３０９中の抑止状態を抑止無効とする。
【０１２３】
Ｓ１１３７にて、転送先サーバ１０２の引継処理部：抑止設定部３１７は仮想計算機の抑止設定３１１を抑止無効とし、仮想化機構上のリカバリ情報３０８中の抑止状態を抑止無効とする。
【０１２４】
Ｓ１１３８にて、転送先サーバ１０２の引継処理部３０１は、ＩＤ引継管理サーバ４０１へ転送先サーバ１０２でのＩＤ引継処理が完了したことを通知する。
【０１２５】
以上の手順のうち、太線処理（Ｓ１１０５、Ｓ１１０６、Ｓ１１１７、Ｓ１１１８、Ｓ１１２０、Ｓ１１２３、Ｓ１１２４、Ｓ１１２５、Ｓ１１２７、Ｓ１１３２、Ｓ１１３３、Ｓ１１３４、Ｓ１１３６、Ｓ１１３７）は本発明により追加した操作である。
【０１２６】
Ｓ１１０５により、引継処理部３０１は仮想計算機の抑止設定３１１へ仮定義を設定することにより、対象仮想計算機がＩＤ交換対象であることを示す。これにより、ＩＤ引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【０１２７】
Ｓ１１０６により、引継処理部３０１は仮定義をストレージへ保存することにより、仮想化機構のリカバリ情報が破損した後も、対象仮想計算機がＩＤ交換対象であることを示すことができる。これにより、ＩＤ引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【０１２８】
Ｓ１１１７により、引継処理部２０１は転送元仮想計算機を抑止有効とし転送元ＩＤが利用を抑止し、ＩＤ重複時に外部システムへ影響を及ぼさないことを保障する。
【０１２９】
Ｓ１１１８により、引継処理部２０１はストレージ上のリカバリ情報２０９へ転送先ＩＤを保存することにより、ＩＤ引継処理完了後の状態を推定可能とし、ロールフォワードによる回復を実行可能とする。
【０１３０】
Ｓ１１２０により、転送元の引継処理部２０１は転送先の引継処理部３０１へ転送元にてＳ１１１８が実施され、転送元がロールフォワード処理を実施可能となり、転送元ＩＤがすでに利用されていないことを通知する。
【０１３１】
Ｓ１１２３により、引継処理部３０１は転送先仮想計算機を仮想化機構上にリカバリ情報を作成し、転送元ＩＤを転送先サーバのストレージ上に保存する準備を行う。
【０１３２】
Ｓ１１２４により、引継処理部３０１は転送先の仮想化機構生存情報を有効とし、仮想化機構上にリカバリ情報３０８生成されため、仮想化機構上のリカバリ情報３０８に基づいてロールフォワード処理が実施可能であることを示す。
【０１３３】
Ｓ１１２５により、引継処理部３０１はストレージ上にリカバリ情報３０９を生成し、ストレージ上のリカバリ情報３０８に基づくことでロールフォワード処理が実施可能であることを示す。
【０１３４】
Ｓ１１２７により、転送先の引継処理部３０１は転送元の引継処理部２０１へ仮想計算機がストレージ上へ保存され、転送先はすでにＩＤ引継処理が完了していることを転送元へ通知する。これにより、Ｓ１１２７以降、転送元の引継処理部２０１がＳ１１１８にてストレージ上に保存した転送先ＩＤにより、ロールフォワードを実施することで、転送元サーバ１０１と転送先サーバ１０２は共にＩＤ引継完了後の状態へと遷移することができる。
【０１３５】
Ｓ１１３２により、転送元の引継処理部２０１は、転送元にて仮想計算機の構成情報保存が完了し、転送元サーバ１０１と転送先サーバ１０２の両方においてＩＤ引継処理が完了したことを、転送先の引継処理部３０１へ通知する。
【０１３６】
Ｓ１１３３、Ｓ１１３４、Ｓ１１３６、Ｓ１１３７により、転送元または転送先の引継処理部２０１、３０１は仮想化機構上のリカバリ情報２０８、３０８、仮想計算機の抑止設定２１１、３１１、ストレージ上のリカバリ情報２０９、３０９を抑止無効とし、定常状態へと遷移することにより、ＩＤ引継処理が完了する。
【０１３７】
以上のように、本発明にて追加した処理はそれぞれ、転送元サーバ１０１と転送先サーバ１０２間で仮想計算機の状態を通知、または回復に必要な転送先ＩＤ、転送元ＩＤに関する情報を記録する処理であるため、いずれも必要である。
【０１３８】
本発明では、障害が発生した後も、転送先サーバ１０２上の仮想計算機が引継処理部３０１により、Ｓ１１１７にて転送先仮想計算機が生成されたことを保持する必要がある。また同仮想計算機は、Ｓ１１２２にて仮想計算機を起動する必要があるため、引継処理部：抑止設定部３１７は仮想計算機に対し、起動可能であり仮想計算機が引継処理部：仮想計算機操作部３１５により作成されたことを示す仮定義を設け、これを解決する。Ｓ１１２２により仮想計算機が起動されると、転送先の仮想計算機は仮想計算機起動が許可される必要がないため、Ｓ１１２３により抑止有効とし、抑止有効であり仮想計算機起動中の状態となる。
【０１３９】
転送先サーバ１０２は、Ｓ１１２６により、仮想計算機のＩＤをストレージ上の仮想計算機構成情報へ保存し、仮想計算機起動中でありＩＤが保存された状態とする。これにより、Ｓ１１２６以降、転送先サーバ１０２は転送元サーバ１０１のＩＤが保持されているため、転送先サーバ１０２がＳ１１２６処理完了以降の場合、障害回復後ロールフォワードするよう回復処理を実施し、これ以前の場合には障害回復後ロールバックするよう回復処理を実施する。
【０１４０】
転送元サーバ１０１の仮想計算機が取り得る状態を図９に、転送先サーバ１０２の仮想計算機が取り得る状態を図１０に示す。
【０１４１】
ここで、転送元サーバ１０１と転送先サーバ１０２の仮想計算機が取り得る状態を５００１、５０２１とし、それぞれにおいて、仮想計算機の抑止設定を５００２、５０２２、仮想計算機の仮想ＨＢＡへ設定されたＩＤを５００３、５０２３、仮想計算機の起動状態を５００９、５０２９、仮想化機構上の取得済ＩＤを５００４、５０２４、仮想化機構上リカバリ情報２０８、３０８内の設定予定ＩＤを５００５、５０２５、仮想化機構上リカバリ情報の抑止状態を５００６、５０２６、ストレージ上リカバリ情報２０９、３０９の抑止状態を５００７、５０２７、ストレージ上仮想計算機構成情報に保持されたＩＤを５００８、５０２８、転送先サーバ１０２の仮想化機構生存情報を５０３０に示す。なお、図中に記した転送元ＩＤ、転送先ＩＤとはＩＤ引継処理前の転送元ＩＤ、転送先ＩＤを示すものとする。
【０１４２】
まず、図９に基づいて転送元仮想計算機の取り得る状態を説明する。
【０１４３】
状態６００１は定常状態であり、ＩＤ引継処理前の状態である。そのため、抑止設定２１１は抑止無効であり、仮想化機構上のリカバリ情報２０８、ストレージ上のリカバリ情報２０９はいずれも抑止無効である。
【０１４４】
状態６００３は仮想計算機の定義が確認され、引継処理部３０１が転送先ＩＤをメモリ上へ取得した状態である。そのため、仮想計算機上対５００９は停止であり、取得済ＩＤに転送先ＩＤを持つ。また、抑止設定２１１は抑止無効であり、仮想化機構上のリカバリ情報２０８、ストレージ上のリカバリ情報２０９はいずれも抑止無効である。
【０１４５】
状態６００４は引継処理部２０１が転送先ＩＤをメモリ上へ取得し、仮想計算機の抑止設定２１１と仮想化機構上のリカバリ状態２０８へ抑止有効が設定された状態である。
【０１４６】
状態６００５は引継処理部２０１が転送先ＩＤをメモリ上へ取得し、仮想計算機の抑止設定２１１と仮想化機構上のリカバリ状態２０８、ストレージ上のリカバリ状態２０９へ抑止有効が設定された状態である。
【０１４７】
状態６００６は引継処理部２０１が転送先ＩＤをメモリ上へ取得し、仮想計算機の抑止設定２１１と仮想化機構上のリカバリ状態２０８、ストレージ上のリカバリ状態２０９へ抑止有効が設定された後に、引継処理部２０１により転送先ＩＤが仮想計算機へ設定された状態である。
【０１４８】
状態６００７は引継処理部２０１により転送先ＩＤが仮想計算機へ設定された後、引継処理部２０１により仮想計算機が削除された状態である。
【０１４９】
状態６００８は引継処理部２０１により、仮想計算機がストレージ上の仮想計算機構成情報２１０へ保存された状態である。
【０１５０】
状態６００９は引継処理部２０１により、ストレージ上のリカバリ状態２０９へ抑止無効が設定された状態である。
状態６０１０は引継処理部２０１により、仮想計算機の抑止設定２１１と仮想化機構上のリカバリ状態２０９へ抑止無効が設定された状態である。
次に、図１０に基づいて転送先仮想計算機の取り得る状態を説明する。
【０１５１】
状態６１０１は定常状態であり、ＩＤ引継処理前の状態である。そのため、抑止設定２１１は抑止無効であり、仮想化機構上のリカバリ情報２０８、ストレージ上のリカバリ情報２０９はいずれも抑止無効である。
【０１５２】
状態６１０２は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８に仮定義を設定した状態である。
【０１５３】
状態６１０３は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８とストレージ上のリカバリ情報３０９に仮定義を設定した状態である。
【０１５４】
状態６１０４は仮定義である領域へ、仮想計算機を定義した状態である。
【０１５５】
状態６１０５は仮定義仮想計算機を作成後、転送元ＩＤをメモリ上へ取得した状態である。
【０１５６】
状態６１０６は仮定義した仮想計算機へ、転送元ＩＤを設定した状態である。
【０１５７】
状態６１０７は仮定義し転送元ＩＤを設定した仮想計算機を起動した状態である。
【０１５８】
状態６１０８は転送元ＩＤを設定した仮想計算機を起動した後に、仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８を抑止有効とした状態である。
【０１５９】
状態６１０９は転送元ＩＤを設定した仮想計算機を起動した後に、仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【０１６０】
状態６１１０は転送元ＩＤを設定した仮想計算機を起動した後に、仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８とストレージ上のリカバリ情報３０９を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【０１６１】
状態６１１１は転送元ＩＤを設定した仮想計算機を起動し、仮想計算機の抑止設定３１１と仮想化機構上のリカバリ情報３０８とストレージ上のリカバリ情報３０９を抑止有効とし、仮想化機構生存情報を有効とした後に、仮想計算機をストレージ上の仮想計算機構成情報３１０に保存した状態である。
【０１６２】
状態６１１２は仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存後、ストレージ上のリカバリ情報３０９を抑止無効とした状態である。
【０１６３】
状態６１１３は仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存後、ストレージ上のリカバリ情報３０９と仮想化機構上のリカバリ情報３０８、仮想計算機の抑止設定３１１を抑止無効とした、ＩＤ引継処理完了後の定常状態である。
【０１６４】
また、転送先では、障害発生時のみ発生する状態として、状態６１２１と状態６１２２がある。状態６１２１は仮想計算機へ転送元ＩＤを設定後、ストレージのリカバリ情報３０９保存後にサーバ停止障害が発生し、サーバの再起動後に、障害前は存在した仮想計算機が削除され、抑止有効のみが保持された状態である。
【０１６５】
状態６１２２は転送先サーバ１０２における回復処理にて、ロールバックによる回復が必要であるが仮想計算機が起動しＩＤが使用中であり仮想計算機が削除できないため、仮想計算機の抑止設定３１１と仮想化機構のリカバリ情報３０８へ、ＩＤ解放待機を設定した状態である。
【０１６６】
次に、図１１に基づき、転送元サーバ１０１の仮想計算機が図９の状態をどのように遷移するかを説明する。
【０１６７】
転送元サーバ１０１において、ＩＤ引継処理前は、仮想計算機は定常状態であり、状態６００１である。
【０１６８】
Ｓ６２０１は、Ｓ１１１４を契機として開始し、Ｓ１１１６により取得済ＩＤへ転送先ＩＤが格納する処理である。これより、状態６００１は、Ｓ６２０１により状態６００３へ遷移する。なお、状態６００１にて障害が発生した場合、状態６００１は定常状態であることから、状態は変化しない。
【０１６９】
Ｓ６２０２は、Ｓ１１１７を契機として開始し、Ｓ１１１７により仮想化機構のリカバリ情報２０８へ抑止有効、転送先ＩＤを保存する処理である。これより、状態６００３はＳ６２０２により状態６００４へ遷移する。また、状態６００３にてサーバ停止障害が発生した場合、ストレージ上の状態は状態６００１と同じであることから、状態６００１へと遷移し、定常状態となる。状態６００３にてサーバ停止以外の障害が発生した場合、状態６００３より遷移せず、ＩＤ引継処理が完了していない障害状態となる。
【０１７０】
Ｓ６２０３は、Ｓ１１１８を契機として開始し、Ｓ１１１８によりストレージ上のリカバリ情報２０９へ仮想化機構のリカバリ情報２０８を保存する処理である。これより、状態６００４は、Ｓ６２０３により、状態６００５へ遷移する。また、状態６００４にてサーバ停止障害が発生した場合、ストレージ上の状態は状態６００１と同じであることから、状態６００１へと遷移し、定常状態となる。状態６００４にてサーバ停止以外の障害が発生した場合、状態６００４より遷移せず、ＩＤ引継処理が完了していない障害状態となる。
【０１７１】
Ｓ６２０４は、Ｓ１１２７を契機として開始し、転送先サーバ１０２上のストレージへ仮想計算機構成情報が保存されたことが確認できたため、Ｓ１１２９により取得済ＩＤを転送元サーバ１０１の仮想計算機へ設定する処理である。これにより、状態６００５は、Ｓ６２０４により状態６００６へ遷移する。また、状態６００５にてサーバ停止を含む、なんらかの障害が発生した場合、状態６００５の仮想化機構上の状態は、ストレージ上にも保持されているため、状態６００５より遷移せず、ＩＤ引継処理が完了していない障害状態となる。
【０１７２】
Ｓ６２０５は、Ｓ１１３０を契機として開始し、転送元仮想計算機が削除する処理である。これにより、状態６００６はＳ６２０５により状態６００７へ遷移する。また、状態６００６にてサーバ停止障害が発生した場合、状態６００６はストレージ上の状態は状態６００５と同じであることから、状態６００５へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態６００６より遷移しない。
【０１７３】
Ｓ６２０６は、Ｓ１１３１を契機として開始し、ＩＤ引継処理後のＩＤを持つ仮想計算機をストレージ上の仮想計算機構成情報へ保存する処理である。これにより、状態６００７はＳ６２０６により状態６００８へ遷移する。また、状態６００７にてサーバ停止障害が発生した場合、状態６００７はストレージ上の状態は状態６００５と同じであることから、状態６００５へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態６００６より遷移しない。
【０１７４】
Ｓ６２０７は、Ｓ１１３３を契機として開始し、ストレージ上のリカバリ情報２０９へ抑止無効が設定する処理である。これにより、状態６００８はＳ６２０７により状態６００９へ遷移する。また、状態６００９にてサーバ停止含む何らかの障害が発生した場合、状態６００８は仮想化機構の状態がストレージ上にも保存されているため、状態は状態６００８より遷移しない。
【０１７５】
Ｓ６２０８は、Ｓ１１３４を契機として開始し、仮想化機構上のリカバリ情報２０８へ抑止無効が設定する処理である。これにより、状態６００９はＳ６２０８によりＩＤ引継処理完了状態である状態６０１０へ遷移する。また、状態６００９にてサーバ停止障害が発生した場合、ストレージ上の状態は状態６０１０と同じであることから、状態６０１０へと遷移し、ＩＤ引継完了後の定常状態となる。状態６００９にてサーバ停止以外の障害が発生した場合、状態６００９より遷移せず、ＩＤ引継処理が完了していない障害状態となる。
【０１７６】
続いて、図１２に基づいて、転送先サーバ１０２の仮想計算機が図１０の状態をどのように遷移するかについて説明する。
【０１７７】
転送先サーバ１０２において、ＩＤ引継処理実施前は、仮想計算機は定常状態であり、状態６１０１である。
【０１７８】
Ｓ６３０１は、Ｓ１１０５を契機として開始し、転送先サーバ１０２の仮想化機構上のリカバリ情報３０８に仮定義を設定する処理である。これにより、状態６１０１はＳ６３０１により状態６１０２へ遷移する。なお、状態６１０１にて障害が発生した場合、状態６１０１は定常状態であることから、状態は変化しない。
【０１７９】
Ｓ６３０２は、Ｓ１１０６を契機として開始し、転送先サーバ１０２のストレージ上のリカバリ情報３０９に仮定義を設定する処理である。これにより状態６１０２はＳ６３０２により状態６１０３へ遷移する。また、状態６１０２にて、サーバ停止障害が発生した場合、状態６１０２は状態６１０１と同じストレージ状態であることから、状態６１０１に遷移する。サーバ停止障害以外の場合は状態６１０２より遷移しない。
【０１８０】
Ｓ６３０３は、Ｓ１１０７を契機として開始し、転送先サーバ１０２に仮想計算機が定義される処理である。これにより、状態６１０３はＳ６３０３により状態６１０４へ遷移する。なお、状態６１０３では仮想化機構上の状態はストレージ上に保持されているため、サーバ停止を含む何らかの障害が発生した場合、状態６１０３より遷移しない。
【０１８１】
Ｓ６３０４は、Ｓ１１１０を契機として開始し、転送元仮想計算機のＩＤを転送先サーバ１０２の取得済ＩＤ３０７へと格納する処理である。これにより、状態６１０４はＳ６３０４により状態６１０５に遷移する。また、状態６１０４にて、サーバ停止障害が発生した場合、状態６１０４においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【０１８２】
Ｓ６３０５、はＳ１１１５を契機として開始し、仮想計算機へ取得済ＩＤ３０７を設定する処理である。これにより、状態６１０５はＳ６３０５により状態６１０６へと遷移する。また、状態６１０５にて、サーバ停止障害が発生した場合、状態６１０５においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【０１８３】
Ｓ６３０６は、Ｓ１１２０を契機として開始し、Ｓ１１２２により転送先サーバ１０２上に転送元ＩＤを持つ仮想計算機を起動する処理である。これにより、状態６１０６はＳ６３０６により状態６１０７へと遷移する。また、状態６１０６にて、サーバ停止障害が発生した場合、状態６１０６においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【０１８４】
Ｓ６３０７は、Ｓ１１２３を契機として開始し、仮想化機構のリカバリ情報３０８を抑止有効とし、転送先仮想計算機の抑止設定３１１を抑止有効とする。これにより、状態６１０７はＳ６３０７により状態６１０８へと遷移する。また、状態６１０７にて、サーバ停止障害が発生した場合、状態６１０７においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【０１８５】
Ｓ６３０８は、Ｓ１１２４を契機として開始し、仮想化機構生存情報が有効とする処理である。これにより、状態６１０８はＳ６３０８により状態６１０９へと遷移する。また、状態６１０８にて、サーバ停止障害が発生した場合、状態６１０８においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構上に保持されたリカバリ情報３０８が失われる、Ｓ６３１５により状態６１０７へ遷移する。その他の障害である場合、状態は遷移しない。
【０１８６】
Ｓ６３０９は、Ｓ１１２５を契機として開始し、ストレージ上のリカバリ情報３０９を抑止有効とする処理である。これにより、状態６１０９はＳ６３０９により状態６１１０へと遷移する。また、状態６１０９にて、サーバ停止障害が発生した場合、状態６１０９においてストレージ上に保持された情報は状態６１０３と同じであるため、状態６１０３へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構生存情報が無効となるため、Ｓ６３１６により状態６１０８へ遷移する。その他の障害である場合、状態は遷移しない。
【０１８７】
Ｓ６３１０は、Ｓ１１２６を契機として開始し、転送先サーバ１０２の仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存する処理である。これにより、状態６１１０はＳ６３１０により状態６１１１となる。また、６１１０にて、サーバ停止障害が発生した場合、転送先サーバ１０２上の仮想計算機も障害により停止するため、状態６１２１となる。サーバ停止障害以外の障害が発生した場合、状態は遷移しない。
【０１８８】
Ｓ６３１１は、Ｓ１１３２を契機として開始し、転送元サーバ１０１に転送先ＩＤを持った仮想計算機が仮想計算機構成情報２１０へ保存されたことが確認できた（Ｓ１１３２）後に、転送先サーバ１０２のストレージ上のリカバリ情報３１０に抑止無効を設定する処理である。これにより、状態６１１１はＳ６３１１により状態６１１２へ遷移する。また、状態６１１１にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態６１１３と同じ状態であることから、状態６１１３へと遷移し、ＩＤ引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【０１８９】
Ｓ６３１２は、Ｓ１１３７を契機として開始し、仮想化機構のリカバリ情報３０８と仮想計算機の抑止設定３１１に抑止無効を設定する処理である。これにより、状態６１１２はＳ６３１２により、転送先サーバ１０２上にてＩＤ引継処理が完了した状態である状態６１１３へ遷移する。また、状態６１１２にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態６１１３と同じ状態であることから、状態６１１３へと遷移し、ＩＤ引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【０１９０】
続いて、図１１、図９に基づき、転送元サーバ１０１における障害状態から定常状態への回復処理を説明する。
【０１９１】
この回復処理では、障害状態の仮想計算機に対して、回復処理部２０２が回復処理を実施することにより、障害状態より定常状態へと回復させる。この計算機システムの仮想化機構上のリカバリ情報２０８と、ストレージ上のリカバリ情報２０９、また既存の情報である仮想計算機状態５００９より、転送元が図１１に定義したいずれの状態であるかを判定できる。そのため、回復処理部２０２は、まず仮想化機構上のリカバリ情報２０８と、ストレージ上のリカバリ情報２０９、仮想計算機状態５００９に基づき仮想計算機の状態５００１を判別する。
【０１９２】
判別した状態が状態６００１または状態６０１０である場合には、定常状態であることから、回復処理は成功となる。
【０１９３】
判別した状態が状態６００３である場合には、仮想計算機に対してＩＤ引継処理は実施されていないため、ロールバックにより回復を実施する。状態６００３の仮想計算機は、状態６００１と同じ状態であることから、Ｓ６２２５により引継処理部２０１を初期化し、回復処理は成功となる。
【０１９４】
判別した状態が状態６００４である場合には、転送先サーバ１０２は転送元ＩＤを失っている可能性があるため、ロールバックにより回復を実施する。そこで、Ｓ６２１８により転送元仮想計算機の抑止設定２１１と転送元サーバのリカバリ情報２０８を抑止無効とし、定常状態である状態６００１へ遷移させ、回復処理は成功となる。
【０１９５】
判別した状態が状態６００５である場合、転送先サーバ１０２が仮想計算機構成情報３１０へ転送元ＩＤを持つ仮想計算機を保存完了しているか、未保存であるかに基づいて、回復処理を選択する。
【０１９６】
回復処理部２０２は、転送先サーバ１０２の回復処理部３０２とネットワークを介して仮想計算機構成情報３１０の保存が完了しているかの情報を取得する。もし、保存完了していない場合には、Ｓ６２１９により転送元仮想計算機の抑止設定２１１と転送元サーバ１０１の仮想化機構上のリカバリ情報２０８とストレージ上のリカバリ情報２０９を抑止無効とし、定常状態である状態６００１へ遷移させ、回復処理は成功となる。もし、保存が完了している場合には、転送先に転送元ＩＤを持つ仮想計算機が定義されているため、転送先サーバ１０１の回復処理部２０２はストレージ上のリカバリ情報２０９に基づいて、転送元仮想計算機を状態６０１０に遷移させることが可能であるため、ロールフォワードによる回復処理を実施する。ロールフォワードによる回復処理として、Ｓ６２２６により、仮想計算機構成情報３１０の保存完了が確認できるため、リカバリ情報２０９に保持された転送先ＩＤを転送元仮想計算機へ設定し、状態６００６へ遷移させる。
【０１９７】
判別した状態が状態６００６である場合、Ｓ６２０４により転送先に転送元ＩＤを持つ仮想計算機が定義されているため、転送先サーバ１０１の回復処理部２０２はストレージ上のリカバリ情報２０９に基づいて、転送元仮想計算機を状態６０１０に遷移させることが可能であり、状態６００７、状態６００８、状態６００９においても同様である。これより、状態６００６、状態６００７、状態６００８、状態６００９である場合には、ロールフォワードにより回復処理を実施する。
【０１９８】
これより、状態６００６である場合には、ロールフォワードを実施するため、まずリカバリ情報２０９に保持された転送先ＩＤを転送元仮想計算機へ設定し、仮想計算機を削除することにより（Ｓ６２２０）、状態６００８へと遷移させる。
【０１９９】
判別した状態が状態６００８である場合、ロールフォワードを実施するため、Ｓ６２２１により仮想計算機をストレージ上の仮想計算機構成情報２１０へ保存し、状態６００９へと遷移させる。
【０２００】
判別した状態が状態６００９である場合、ロールフォワードを実施するため、Ｓ６２２２によりストレージ上のリカバリ情報２０９へ抑止無効を設定し、状態６０１０へと遷移させ、状態６０１０は定常状態であることから、回復処理は成功となる。
【０２０１】
続いて、図１２、図１０に基づき、転送先サーバ１０２における障害状態から定常状態への回復処理を説明する。本発明では、本発明によりシステムへ追加した仮想化機構上のリカバリ情報３０８と、ストレージ上のリカバリ情報３０９、仮想化機構生存情報３１３、また既存の情報である仮想計算機状態５０２９より、転送元が図１１に定義したいずれの状態であるかを判定できる。そのため、回復処理部３０２は、まず仮想化機構上のリカバリ情報３０８と、ストレージ上のリカバリ情報３０９、仮想化機構生存情報３１３、仮想計算機状態５０２９に基づき仮想計算機の状態５０２１を判別する。
【０２０２】
判別した状態が状態６１０１または状態６１１３である場合には、定常状態であることから、回復処理は成功となる。
【０２０３】
判別した状態が状態６１０２である場合、転送先サーバ１０２は転送元ＩＤを持たないためロールバックによる回復処理を実施する。そこで、Ｓ６３２６により転送先サーバ１０２の仮想化機構上のリカバリ情報３０８を抑止無効とすることで、状態６１０１とし、回復成功とする。
【０２０４】
判別した状態が状態６１０３である場合、転送先サーバ１０２は転送元ＩＤを持たないためロールバックによる回復処理を実施する。そこで、Ｓ６３２７により転送先サーバ１０２の仮想化機構上のリカバリ情報３０８を抑止無効とし、ストレージ上のリカバリ情報３０９を抑止無効とし、状態６１０１へ遷移させ、回復成功とする。
【０２０５】
判別した状態が状態６１０４である場合、仮想計算機は定義されているが、転送先サーバ１０２は転送元ＩＤを持たないためロールバックによる回復処理を実施する。そこで、Ｓ６３２８により転送先サーバ１０２の仮想計算機を削除し、状態６１０３へ遷移させ、以降状態６１０３からの回復処理を実施する。
【０２０６】
判別した状態が状態６１０５である場合、仮想計算機は定義されているが、転送先サーバ１０２は転送元ＩＤを持たないためロールバックによる回復処理を実施する。そこで、Ｓ６３２９により転送先サーバ１０２の仮想計算機を削除し、状態６１０３へ遷移させ、以降状態６１０３からの回復処理を実施する。
【０２０７】
判別した状態が状態６１０６である場合、仮想計算機は定義され、転送元サーバのＩＤが設定されているが、転送元サーバ１０１が転送先ＩＤを保持していない可能性があるため、ロールバックによる回復処理を実施する。そこで、Ｓ６３３０により転送先サーバ１０２の仮想計算機のＩＤを初期化することで、状態６１０４へ遷移させ、以降状態６１０４からの回復処理を実施する。
【０２０８】
判別した状態が状態６１０７である場合、仮想計算機は転送元ＩＤを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存するために必要な情報である取得済ＩＤ３０７が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、Ｓ６３３８にて仮想計算機の抑止設定３１１へＩＤ解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態６１２２へ遷移させ、以降状態６１２２からの回復処理を実施する。
【０２０９】
判別した状態が状態６１０８である場合も状態６１０７同様、仮想計算機は転送元ＩＤを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存するために必要な情報である取得済ＩＤ３０７が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、Ｓ６３４０にて仮想計算機の抑止設定３１１へＩＤ解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態６１２２へ遷移させ、以降状態６１２２からの回復処理を実施する。
【０２１０】
判別した状態が状態６１０９である場合、仮想化生存情報が有効であることから、転送先仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存するために必要な情報である取得済ＩＤ３０７が仮想化機構上に存在していることが判定可能であり、またＳ１１２０により、転送元サーバ１０１が転送先ＩＤをストレージ上のリカバリ情報２０９へ保存完了し障害発生後も転送先ＩＤを転送元サーバ１０１上に復元可能であると判断できるため、ロールフォワードによる回復を行う。Ｓ６３３４にて、取得済ＩＤに基づきストレージ上のリカバリ情報３０９の保存を行い、状態６１１０へと遷移させ、以降状態６１１０からの回復処理を実施する。
【０２１１】
判別した状態が状態６１１０である場合、ストレージ上にリカバリ情報３０９が保存されていることから、ストレージ上のリカバリ情報３０９内の設定予定ＩＤ１５０４より転送元ＩＤを取得可能であるため、仮想計算機の構成情報保存を実施することができる。これより、転送先サーバ１０２の回復処理部３０２は、ストレージ上のリカバリ情報３０９に基づいて、ロールフォワードによる回復を行う。Ｓ６３３５にて、仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存し、状態６１１１へと遷移させ、以降状態６１１１からの回復処理を実施する。
【０２１２】
判別した状態が状態６１１１である場合、ストレージ上へ仮想計算機構成情報３１０が保存されているため、転送先サーバ１０２はＩＤ引継処理完了状態の仮想計算機を復元することができるため、ロールフォワードによる回復処理を実施する。Ｓ６３３６により、ストレージ上のリカバリ情報３０９を抑止無効とし、状態６１１２へ遷移させ、以降状態６１１２からの回復処理を実施する。
【０２１３】
判別した状態が状態６１１２である場合、ストレージ上はＩＤ引継処理完了状態となっているが、仮想化機構上のリカバリ情報３０８および仮想計算機の抑止設定３１１が抑止有効となっている状態である。そのため、ロールフォワードによる回復処理を実施する。Ｓ６３３７により、仮想化機構上のリカバリ情報３０８および仮想計算機の抑止設定３１１へ抑止無効を設定し、状態６１１３とする。状態６１１３はＩＤ引継完了後の状態であることから、回復は成功となる。
【０２１４】
ＩＤ引継処理中にサーバ停止障害が発生するなどして、判別した状態が状態６１２１である場合、転送先仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存するために必要な情報である取得済ＩＤ３０７が失われているため、ロールバックによる回復を行う。Ｓ６３３１により、転送先仮想計算機のＩＤを初期化し、状態６１０４へ遷移させ、以降状態６１０４からの回復処理に従う。
【０２１５】
転送先サーバ１０２にて、仮想計算機が起動した状態で仮想化機構に障害が発生するなどして、転送先仮想計算機をストレージ上の仮想計算機構成情報３１０へ保存するために必要な情報である取得済ＩＤ３０７が失われている可能性がある場合、仮想計算機の停止を確認した後、ロールバック処理を実施する必要があるため、状態６１２２への遷移が発生する。判別した状態が状態６１２２である場合、転送先サーバ１０２の仮想計算機の停止を待機した後に、転送先サーバ１０２の仮想計算機のＩＤを初期化し、状態６１０４とする。以降状態６１０４からの回復処理に従う。
【０２１６】
本発明の回復処理では、転送元サーバ１０１の回復処理において転送元サーバ１０１をロールバックするかロールフォワードを選択する際に、状態６００５にて、転送先サーバ１０２上で仮想計算機が仮想計算機構成情報３１０へ保存完了したか未保存かを判定し、保存完了である場合はロールフォワードによる回復処理を、未保存である場合はロールバックによる回復処理を実施する。転送先サーバ１０２の回復処理においては、転送先仮想計算機が仮想計算機構成情報３１０へ保存完了している状態６１１０、状態６１１１、状態６１１２、状態６１１３はすべてロールフォワードによる回復処理が実施される。また、状態６１０９においてもロールフォワードによる回復処理が実施されるが、回復処理により転送先仮想計算機は仮想計算機構成情報３１０へ保存され、転送先サーバ１０２での回復処理による仮想計算機構成情報３１０保存完了は、転送元サーバ１０１の回復処理部２０２へ通知されるため、転送元サーバ１０１の回復もロールフォワードによる回復処理が実施される。転送先サーバ１０２の状態が上記以外である場合には、転送先サーバ１０２ではロールバックによる回復処理が実施され、転送先サーバ１０２におけるロールバックによる回復処理では転送元サーバ１０１の回復処理部２０２へ構成情報保存完了は通知されないため、転送元サーバ１０１の回復処理部２０２もロールバック処理を実施するため、ＩＤ引継処理中に障害が発生した場合も、本発明の回復手順に従う限り、転送元仮想計算機のＩＤと転送先仮想計算機のＩＤが重複していない定常状態へと遷移させることができる。
【符号の説明】
【０２１７】
１０１・・・転送元サーバ、１０２・・・転送先サーバ、４０1・・・ＩＤ引継管理サーバ、２０１・・・転送元サーバ引継処理部、２０２・・・転送元サーバ回復処理部、２０６・・・転送元サーバの仮想計算機抑止ルール、２０７・・・転送元サーバの取得済ＩＤ、２０８・・・転送元サーバの仮想化機構上のリカバリ情報、３０１・・・転送先サーバ引継処理部、３０２・・・転送先サーバ回復処理部、３０６・・・転送先サーバの仮想計算機抑止ルール、３０７・・・転送先サーバの取得済ＩＤ、３０８・・・転送先サーバの仮想化機構上のリカバリ情報。
【図１】
0005548489.tif 000002
【図２】
0005548489.tif 000003
【図３】
0005548489.tif 000004
【図４】
0005548489.tif 000005
【図５】
0005548489.tif 000006
【図６】
0005548489.tif 000007
【図７】
0005548489.tif 000008
【図８】
0005548489.tif 000009
【図９】
0005548489.tif 000010
【図１０】
0005548489.tif 000011
【図１１】
0005548489.tif 000012
【図１２】
0005548489.tif 000013