計算機システム、仮想化機構、および計算機システムの障害回復方法
【課題】 マイグレーション時のID引継時に発生したID重複の障害を解消する。
【解決手段】 計算機上で仮想計算機を稼動させる仮想化機構において、仮想化機構は、仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、装置識別情報の引継時に障害発生が有る場合、計算機を障害状態に遷移させ、仮想化機構の回復処理部は、仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する。
【解決手段】 計算機上で仮想計算機を稼動させる仮想化機構において、仮想化機構は、仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、装置識別情報の引継時に障害発生が有る場合、計算機を障害状態に遷移させ、仮想化機構の回復処理部は、仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機システムおよび仮想計算機システムの障害回復方法に関し、特に仮想計算機間における固有情報の引き継ぎ技術に関する。
【背景技術】
【0002】
1台の計算機上に複数業務を集約する仮想化技術では、計算機資源であるプロセッサやメモリ、入出力装置などの利用効率を上げるとともに、処理量に応じてリソース割当を変更することが可能である。
【0003】
一方、複数の計算機が同一ストレージボリュームからOSを計算機に読み込み、起動するように構成することで、業務を実行する計算機を変更することが可能である。複数の計算機で共有可能なストレージ装置の構成は、ストレージネットワーク(SAN)と呼ばれている。このSANでは、ストレージ装置と計算機とは、ファイバーチャネルスイッチを介して接続される。
【0004】
共有可能なストレージ装置では、接続された全ての計算機からストレージボリュームを参照あるいは更新することができるため、セキュリティにおける課題があった。この課題に対し、ストレージ装置は、仮想化が有するファイバーチャネル(FC)のI/Oアダプタのワールドワイドネーム(WWN)を用いて、ある特定の計算機とストレージ装置内のストレージボリュームとの対応付けを行い、ストレージボリュームに登録されたWWNを登録しているHBAを有する計算機のみ接続を許可する。
【0005】
従来、業務を実行する計算機を、仮想計算機から計算機へ、あるいは異なる計算機上の仮想計算機へ、マイグレーションにより切り替えるとき、I/Oアダプタに設定するアダプタ固有の装置識別情報(ID)を切り替え先の計算機に引き継ぐことで、計算機へ接続された機器を再設定することなく、システムを再構築できることが知られている。
【0006】
ここで、例えば、ID引き継ぎの際に障害が発生すると、ID引継ぎ元の計算機とID引継ぎ先の計算機との両方が同じIDを持つ可能性がある。このように、同じIDを持つ複数の計算機が起動されると、ストレージ装置のアクセス制御機構が有効に働かず、複数の計算機から同一ストレージボリュームを操作できてしまう。
【0007】
また、I/Oアダプタがネットワークインタフェースのとき、MACアドレスに代表されるアダプタ固有の装置識別情報(ID)が同一な計算機が複数ある場合には、通信エラーを発生する。
【0008】
これに対して、特許文献1には、IDの重複の可能性がある状態において、業務を実行する計算機にID引継処理プログラムが起動抑止をかけることにより、計算機が起動しないように制御する技術が開示されている。この技術は、ID引継処理中に障害が発生し、異常状態となった際に、仮想化処理部が転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機の起動を抑止し、ID利用を禁止することで、サーバへ接続されたシステムへ障害が伝播されることを防止するものである(図3を参照)。
【0009】
この技術では、業務を実行する仮想計算機のIDが他計算機と重複している可能性がある場合、仮想計算機を起動抑止ありの状態とする。仮想化処理部は仮想計算機に対しての仮想計算機起動要求を受け付けた(S611)後、仮想計算機の起動判定を行う。まず、仮想化処理部は仮想計算機が起動中であるかを判定し(S612)、仮想計算機が起動している場合はエラーとし、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。仮想計算機が起動中でない場合、次に仮想化処理部は仮想計算機に起動抑止登録があるか判定する(S613)。IDが重複している可能性がある場合は、ID引継処理プログラムが、起動抑止登録が有効としているため、S613によりエラー処理へ遷移し、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。IDが重複していない場合は、ID引継処理プログラムが、起動抑止登録が無効とするため、S614の処理が実施される。次に仮想化処理部は仮想計算機の持つIDが有効なIDであるかを判定する(S614)。ID引継処理中など、IDが引き継がれている過渡状態においては、仮想計算機の持つIDが無効である可能性があり、IDが無効である場合は、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。S614にてIDが有効である場合は、仮想計算機起動処理(S615)が実施され、仮想計算機起動の成功が起動要求発行者へ報告される(S616)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2010−33403
【特許文献2】特開2008−299509
【発明の概要】
【発明が解決しようとする課題】
【0011】
引用文献1では、計算機システムのマイグレーションでの障害発生時に、異なる計算機間においてIDが重複している状態から、異なる計算機間においてIDが重複していない状態に、システム障害を回復させることについては検討されていない。
【0012】
本発明は、従来の実情に鑑みて、計算機システムのマイグレーションでのシステム障害を回復し、異なる計算機間においてIDが重複している状態から、異なる計算機間においてIDが重複していない状態とする計算機システム、仮想化機構および障害回復方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
上述の課題を解決する為に、本発明に係る計算機システム、仮想化機構、および計算機システムの障害回復方法は、計算機上で仮想計算機を稼動させる仮想化機構が、仮想化機構は、仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、装置識別情報の引継時に障害発生が有る場合、計算機システムを障害状態に遷移させ、仮想化機構の回復処理部は、仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行することを、主な特徴とする。
【発明の効果】
【0014】
本発明によれば、マイグレーション時の障害発生により異なる計算機間においてIDが重複している状態となっても、異なる計算機間においてIDが重複していない状態へ遷移させ、仮想計算機の障害状態から定常状態への回復を実現可能である。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態に係る計算機システムの構成の一例を示す構成図
【図2】本発明の効果を得るために計算機システムが持つ要素を示す構成図
【図3】従来技術の計算機システムにおけるID交換処理フロー
【図4】本発明の実施によるID交換処理および回復処理フロー
【図5】ID引継手順
【図6】リカバリ情報の内容
【図7】仮想計算機抑止ルール
【図8】仮想計算機に対しての操作の際に実施する抑止処理部フロー
【図9】転送元サーバにおいて取りえる状態一覧
【図10】転送先サーバにおいて取りえる状態一覧
【図11】転送元サーバにおける引継処理部と回復処理部による状態遷移図
【図12】転送先サーバにおける引継処理部と回復処理部による状態遷移図
【発明を実施するための最良の形態】
【0016】
以下、本発明を適用した実施例について、図面を参照して詳細に説明する。
【0017】
図1は、本発明の実施の形態に係る計算機システム構成の一例を示す構成図である。計算機システムは、転送元サーバ101、転送先サーバ102、ストレージスイッチ4021を介して転送元サーバ101のHBA103及び転送先サーバ102のHBA106と接続されているストレージシステム4021、ネットワークスイッチ4022を介して転送元サーバ101のNIC105及び転送先サーバ102のNIC104と接続されているID引継管理サーバ401を含む。
【0018】
転送元サーバ101と転送先サーバ102上に仮想計算機を構築する。転送元サーバ101上の仮想計算機(転送元仮想計算機)と転送先サーバ102上の仮想計算機(転送先仮想計算機)はそれぞれ仮想HBAと仮想NICを持ち、転送先仮想計算機または転送元仮想計算機内から仮想HBAまたは仮想NICを介した通信を行うと、仮想計算機管理機構によりHBA(103、106)またはNIC(105、104)を介した通信へと変換される。
【0019】
このとき、他サーバから、仮想計算機の持つ仮想HBAと仮想NICを識別する情報として、HBA、NIC同様、計算機システム内で一意に機器が識別できるWWN、MACアドレスを持つ。これにより、転送元サーバ101と転送先サーバ102上に複数の仮想計算機が存在した場合も、ある仮想計算機を他サーバより指定し通信することが可能となる。
【0020】
一方、ストレージシステム4031では、ボリューム4034へ接続可能なサーバをWWNにより識別する。ストレージシステム4031において、ボリューム4034へ接続可能なサーバは、NIC4033を介して接続されたストレージシステム設定端末4036の操作により、WWNに基づいて選択される。また、ネットワーク上では転送元サーバ101はNIC105のもつMACアドレスにより識別される。
【0021】
さて、計算機システムにおけるマイグレーションの際、転送元サーバ101より転送先サーバ102へ、仮想計算機の持つ仮想HBAのWWN、仮想NICのMACアドレス等のIDを引き継ぐことにより、転送元サーバ101上の仮想計算機から接続可能な装置に対して、転送先サーバ102の仮想計算機からも接続可能としている。その結果、ストレージシステム設定端末4036を操作することなく、転送元サーバ101の仮想計算機から接続可能なボリューム4034へ、転送先サーバ102の仮想計算機から接続可能となる。このような転送元サーバ101の停止に影響しないプログラム実行環境が実現可能により、柔軟なシステム運用が提供できる。このIDの引き継ぎ方法としては、例えば特許文献2に開示される方法があるが、これに限定されるものではない。
【0022】
なお、本実施例の説明中では、WWN、MACアドレスのように計算機システム内で情報から一意に機器が識別できる情報を、装置固有情報(ID)と称する。
【0023】
また、本実施例において、転送元サーバ101の仮想計算機から転送先サーバ102の仮想計算機に対して、IDの引き継ぎを行う処理のことをID引継処理と呼ぶ。
【0024】
また、本実施例において、ID引継処理中に障害が発生し転送元サーバ101または転送先サーバ102またはその両方でID引継処理が中断した状態を障害状態と呼び、ID引継処理が完了した状態またはID引継処理が実施される前の状態を定常状態と呼ぶ。また、障害状態よりID引継処理実施前の状態に回復させることをロールバックと呼び、障害状態よりID引継処理が正常終了した後の状態へ回復させることをロールフォワードと呼ぶ。
【0025】
図2は、本発明の効果を得るために計算機システムが持つ要素を示す構成図である。転送元サーバ101および転送先サーバ102は、CPU、メモリ、NIC、HBA、不揮発性の領域であるストレージ等から構成される。転送元サーバ101及び転送先サーバ102は、それぞれメモリ上に仮想化機構を持ち、これがCPUで実行されることにより仮想計算機が作成、実行される。本計算機システムでは、転送元サーバ101と転送先サーバ102は同様の構成であるため、各サーバの構成要素の説明は、転送元サーバ101についてのみ説明するが、転送先サーバ102においても同様である。
【0026】
仮想化機構は仮想計算機実行中には、仮想計算機をメモリ上に保持する。また、計算機システムはサーバの電源停止後も仮想計算機を保持する必要があるため、ストレージ上に仮想計算機構成情報210、310を持ち、サーバの電源投入時に仮想化機構がストレージ上の仮想計算機構成情報210、310を取得し、メモリ上に仮想計算機を作成する。
【0027】
転送元サーバ101の仮想計算機は、抑止設定211と仮想HBA212を持つ。また、仮想計算機は、抑止設定211を持ち、ID引継処理中に仮想計算機の状態にあわせた抑止状態を保持する。ここで、ストレージは不揮発性であることが求められるが、サーバへの接続形式としては、ネットワークを介して接続されたネットワークストレージなど、特にストレージの位置は限らない。
【0028】
転送元サーバ101の仮想化機構は、引継処理部201、回復処理部202、抑止処理部214、仮想計算機抑止ルール206、取得済ID207、仮想化機構生存情報213、リカバリ情報208から構成される。
【0029】
引継処理部201は、ID引継が要求された際にID引継処理を実施するためのプログラムがCPUで実行されることにより実現される機能である。引継処理部201は、仮想計算機操作部215、同期処理部216、抑止設定部217から構成される。また、引継処理部201は、ID引継処理中に障害が発生した場合、障害状態より定常状態へ回復可能とするため、取得済ID207、仮想化機構生存情報213とリカバリ情報208、ストレージ上のリカバリ情報209と仮想計算機構成情報210を生成し、仮想計算機の抑止設定211と仮想HBA212の持つIDの設定を行う。
【0030】
回復処理部202は、障害状態から正常状態へ回復するためのプログラムがCPUで実行されることにより実現される機能である。回復処理部202は、引継処理部201がID引継処理中に生成した仮想化機構生存情報213、リカバリ情報208、ストレージ上のリカバリ情報209、仮想計算機構成情報210、抑止設定211に基づき、障害発生前に実施していた引継処理部201の処理を識別し、回復処理を実施する。
【0031】
また、回復処理部202は、ID引継処理中に発生した障害の種類215、抑止設定211、リカバリ情報208、ストレージ上のリカバリ情報209、仮想化機構生存情報213、ストレージ上の仮想計算機構成情報210に基づき、仮想計算機を障害状態から定常状態へと回復する。
【0032】
仮想計算機抑止ルール206は、抑止状態ごとに、仮想計算機へいずれの操作が実行可能であるかの許可または拒否判定を持つ。仮想計算機抑止ルール206は、メモリ上に保持される。仮想計算機抑止ルール206は、抑止処理部214により仮想計算機への操作に対する可否判定の際に参照され、仮想計算機への操作処理を開始または抑止する。
【0033】
取得済ID207は、転送元サーバ101の引継処理部201と転送先サーバ102の引継処理部301により交換したIDを、転送元サーバ101の仮想計算機の仮想HBA212、転送先サーバ102の仮想計算機の仮想HBA312へ設定するまで、これらのIDを保持するために定義したメモリ上の領域である。
【0034】
リカバリ情報208及びストレージ上のリカバリ情報209は、引継処理部201がID引継処理中に生成し、これは回復処理に必要となる、仮想計算機に設定された抑止設定211及びID引継処理完了後に設定されるべきID、リカバリ情報208、209、308、309を生成した引継処理部201、301が転送元であるか転送先であるかの情報を保持する。リカバリ情報208は、仮想計算機に対応する抑止設定211も保持しており、仮想計算機作成時にはリカバリ情報208の持つ抑止状態が仮想計算機の抑止設定211へ設定される。また、ストレージ上のリカバリ情報209は、サーバ電源投入時に仮想化機構によりリカバリ情報208へ設定される。
【0035】
仮想化機構生存情報213は、仮想化機構の起動時およびID引継成功時に無効とし、ID引継処理中に引継処理部201が有効とする情報であり、メモリ上に保持される。仮想化機構生存情報213は、回復処理部202により参照され、ID引継処理中の障害発生後、回復処理部202による回復処理実施までに、仮想化機構が停止し仮想化機構上に保持されたID引継処理に必要な情報が破損しているか、仮想化機構は停止せず仮想化機構上に保持されたID引継処理に必要な情報が利用可能であるかを判別するため、利用される。
【0036】
抑止処理部214は、プログラムから仮想計算機に対して行われた操作を、仮想計算機の抑止設定211と、仮想計算機抑止ルール206に基づき許可または拒否する機能を提供するプログラムである。仮想計算機の抑止設定211は引継処理部201により、ID引継処理の最中に設定される。これにより、ID引継処理中に障害が発生し、転送元サーバ101と転送先サーバ102とでIDが重複している可能性のある状態となった際には、片方または両方のサーバの起動を抑止することによりIDの重複を隠蔽し、外部システムへの影響を防止する。また、操作抑止により、ID引継処理の際にID引継処理以外のプログラムが対象仮想計算機に対して何らかの操作を行うことを禁止することにより、仮想計算機が引継処理部201、301の予期しない状態へ遷移することを防止する。
【0037】
また、抑止処理部214は、プログラムがCPUで実行されることにより実現される機能であり、抑止設定211及び仮想計算機抑止ルール206に従って、仮想計算機への操作を実行または停止する。
【0038】
仮想計算機の抑止設定211、311は、システム構築時は抑止無効とし、ID引継処理の際に引継処理部:抑止設定部217、317により状態が変更される。
【0039】
仮想計算機操作部215、315は、仮想計算機の仮想HBA212、312へIDを設定する機能と、仮想計算機に設定されたIDをストレージ上の仮想計算機構成情報へ保存する機能とを提供する。
【0040】
同期処理部216、316は、転送元サーバ101の引継処理部201と転送先サーバ102の引継処理部301間にて仮想HBA212の持つIDと仮想HBA312の持つIDとを交換する機能と、それぞれのサーバの抑止状態または仮想計算機構成情報の保存完了などの状態をNIC105、104によりネットワークを介して取得し、転送元サーバ101のID引継処理と転送先サーバ102のID引継処理を適切に同期させる機能とを提供する。
【0041】
抑止設定部217、317は、ID引継処理の際に仮想計算機の抑止設定211、311を、処理に従い図7の仮想計算機抑止状態1601に定めた状態のいずれかへと設定する機能と、仮想化機構上のリカバリ情報208、308および仮想化機構上の仮想化機構生存情報213、313、ストレージ上のリカバリ情報209、309を生成する機能とを提供する。
【0042】
ID引継管理サーバ401は、ユーザより操作され、ID引継処理開始を転送元サーバ101の引継処理部201、転送先サーバ102の引継処理部301へ通知し、転送元サーバ101の引継処理部201、転送先サーバ102の引継処理部301からの完了をユーザへ通知する。
【0043】
さて、本発明を適用した実施例では、特許文献1に開示される起動抑止の機能に加えて、新たに仮想化機構上のリカバリ情報208、仮想計算機抑止ルール206、仮想化機構生存情報213、ストレージ上のリカバリ情報209、仮想計算機の抑止設定211、仮想計算機抑止ルール206、取得済ID207を追加し、引継処理部201、回復処理部202、抑止処理部214が以下に説明する処理をCPU上で実行することにより、仮想計算機の障害状態から定常状態への回復を実現する。
【0044】
まず、ID引継処理中に発生する障害の種類215、315として、サーバ停止障害、仮想化機構停止障害、引継処理部停止障害の3種類を定義する。
【0045】
(1)サーバ停止障害は、何らかの原因によりID引継処理中にサーバの電源が停止した場合に発生する。サーバ停止障害においては、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、サーバが再度起動された後の仮想化機構起動時に、仮想化機構の持つ情報として設定される。
【0046】
(2)仮想化機構停止障害は、何らかの原因によりID引継処理中に仮想化機構が停止した場合に発生する。仮想化機構停止障害では、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、仮想化機構が再度起動された際に、仮想化機構の持つ情報として設定される。
【0047】
(3)引継処理部停止障害は、何らかの原因によりID引継処理中に引継処理部201、301が停止した場合に発生する。引継処理部停止障害では、メモリ上に保持された情報は保持される。
【0048】
図4に、仮想計算機システムの障害回復方法の手順を示す。
【0049】
まず、サーバ停止状態601からユーザがサーバ電源投入602を行うと、抑止処理部214、314が仮想計算機の抑止設定211、311が抑止無効であるか、抑止無効以外であるかの判定を行う(S3001)。
【0050】
仮想計算機の抑止設定211、311の状態が抑止無効以外であった場合、障害によりID引継処理が中断しているため、障害状態608へと遷移する。そして、回復処理部(202、302)により、障害により中断されたID引継処理の回復処理が実行され(S3003)、定常状態604へと回復する。
【0051】
仮想計算機の抑止設定211、311の状態が抑止無効の場合、ID引継処理実施前またはID引継処理完了後であるため、定常状態604に遷移する。そして、引継処理部201がユーザからID引継要求を受けると(S605)、引継処理部201はID引継処理を実施する(S3002)。
【0052】
S3002におけるID引継処理の実施中に、引継処理部201は障害の発生有無を判断する(S607)。ID引継処理の実施中に障害が発生したかどうかにより、以降の遷移が異なる。
【0053】
S607にて障害が発生せず正常終了したと判断した場合、転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機間でIDが引き継がれているため、定常状態604に戻る。
【0054】
S607にて障害が発生したと判断した場合、次に障害の種類215、315を判断する。
【0055】
引継処理部201、301がプログラムの実行中に障害を発見した場合又は引継処理部停止障害の場合は、引継処理部201、301、または仮想化機構が障害の種類215、315へ発生した障害の種類を格納し、障害状態608へ遷移し、回復処理部(202、302)により回復処理が実施される(S3003)。
【0056】
障害の種類215、315として、サーバ停止障害である場合、サーバ停止状態601へと遷移し、ユーザによるサーバ電源投入を待ち(S602)、ID引継処理中断により抑止無効でないことが確認した(S3001)後に、障害状態608へ遷移し、回復処理部(203、303)の回復処理による回復を待機する(S3003)。
【0057】
計算機システム構築時においては、ID引継処理前であることから、仮想計算機の抑止設定211と、仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209が抑止無効であり、各仮想計算機にはそれぞれの仮想計算機の持つIDが保持され、仮想計算機構成情報へこれらが保存されているため、定常状態604である。また、本発明では、定常状態604よりID引継処理を実施後、障害が発生し障害状態となった場合においても、回復処理部202、302による回復処理を実施することにより、定常状態604へ遷移できる。以上より、定常状態であるシステムに対して、本発明による処理を実施することにより、必ず定常状態への遷移が可能である。
【0058】
ここで、回復処理の実施は、計算機内部にて仮想化機構が定期的に実行することで、障害状態の回復を定期的に実施する、または、ユーザがID交換管理サーバ401を操作し、ネットワークを介して回復処理部202、302へ回復要求を発行することで、ユーザによる任意の時点で回復を実施する、仮想計算機が停止、起動するなど仮想化機構内で発生した契機に基づいて回復を実施するなどの実施方法がある。
【0059】
この計算機システムは、抑止設定211、311により、障害状態において操作が制限されるため、転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機間でIDが重複していたとしても、抑止設定211、311によりプログラムから仮想計算機に対する操作が抑止されることにより、障害状態が外部システムへ伝播することを防止するとともに、障害状態の仮想計算機を障害発生後から回復処理部202、302による回復実施まで状態を保持することができる。
【0060】
仮想計算機抑止ルール206、306を、図7に基づいて説明する。
【0061】
仮想計算機抑止状態1601とは、仮想計算機に対してID引継処理が実施手順に応じて、定義された仮想計算機の保護状態であり、その状態として、抑止有効1701、ID解放待機1702、仮定義状態1703、削除許可1704、抑止無効1705の5つが定められている。仮想計算機抑止状態1601の各々と、仮想計算機の状態1605との対応は、図7に示されるとおりである。
【0062】
また、抑止処理部214、314により抑止される操作としては、引継処理部201、301または回復処理部202、302からの仮想計算機起動操作1602、仮想計算機変更・削除操作1603、仮想計算機作成操作1604と、引継処理部201、301または回復処理部202、302以外からの仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608を対象とする。
【0063】
各抑止状態においての各操作要求を許可するか拒否するかについて、図7に示す。
【0064】
図7において、仮想計算機抑止状態1601に対して操作が許可される場合には、仮想計算機に対して発行された操作は、抑止処理部214、314により許可され、仮想化機構へ処理が依頼され、操作が実施される。また、仮想計算機抑止状態に対して操作が拒否される場合は、仮想計算機に対して発行された操作は、抑止処理部214、314により拒否され、操作中止が発行者へ通知される。
【0065】
仮想計算機起動操作1602が拒否された場合、計算機システム内で転送元サーバ101の仮想計算機の持つIDと転送先サーバ102の仮想計算機の持つIDが重複した状態での仮想計算機起動を禁止し、障害がサーバへ接続された外部システムへ伝播することを防止する。
【0066】
仮想計算機変更・削除操作1603が拒否された場合、障害発生直後から回復処理部202、302の実行開始まで、計算機システム上の何らかのプログラムにより、仮想計算機の状態が変化されることを抑止し、回復処理部202、302による回復処理の際に、仮想計算機の状態より、障害前に引継処理部201、301が実施していた処理を特定可能とする。
【0067】
仮想計算機作成操作1604が拒否された場合、転送元においてID引継後の仮想計算機が削除された領域に対する他プログラムからの仮想計算機の再割当を防止することで、回復処理部202、302がID引継処理の対象でない仮想計算機へ回復処理が実施することを防止する。
【0068】
また、引継処理部201、301または回復処理部202、302以外からの仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608も同様に抑止する。
【0069】
特に、仮定義1703において仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608を禁止し、転送先サーバ102の引継処理部301が転送先仮想計算機を作成した後に、他プログラムが同仮想計算機に対して操作を加え、引継処理部301が予期しない仮想計算機が生成されることを防止する。
【0070】
図7で定義した抑止有効1701、ID解放待機1702、仮定義1703、削除許可1704、抑止無効1705の状態をそれぞれ説明する。
【0071】
抑止有効1701は、ID引継処理中に設定される状態であり仮想計算機の起動、変更、削除、作成を拒否することにより、ID引継処理中に、他プログラムからID引継対象である仮想計算機への操作を防止し、ID引継処理後に転送元仮想計算機と同様の転送先仮想計算機が定義されることを実現する。
【0072】
ID解放待機1702は、障害発生時後に仮想計算機が起動しているが回復処理部202、302により対象仮想計算機が削除されるべきである場合に設定される。ID解放待機1702が仮想計算機へ設定されると、起動していた仮想計算機が停止した後に、起動が拒否されるため、再度起動されることなく、回復処理部202、302により対象仮想計算機を削除することができる。また、変更、削除、作成を拒否することにより、障害発生後から回復処理開始まで引継処理部201、301の設定した仮想計算機の状態を保つことができる。
【0073】
仮定義1703は、転送先サーバ102において対象仮想計算機がID引継処理の過程で作成された仮想計算機であることを保持する。これにより、引継処理部201、301が停止した場合も、対象仮想計算機が仮定義であることが保持されるため、回復処理において、対象仮想計算機を削除するなど、仮定義仮想計算機の特性に合わせた回復を実現できる。仮定義1703においては、仮想計算機の作成をはじめ、変更、削除、起動を行う必要があるため、引継処理部201、301や回復処理部202、302から仮想計算機への操作はすべて許可される。また、仮定義1703は引継処理部201、301または回復処理部202、302以外からの操作をすべて拒否することにより、他プログラムから仮定義後の仮想計算機に対して操作が加えられ、引継処理部201、301の操作する仮想計算機が、引継処理部201、301から予期せぬ構成となることを防止する。
【0074】
削除許可1704は、転送元サーバ101にてID引継処理後に不要となった仮想計算機を、仮想計算機に抑止を保持したまま削除するために設定する。削除許可1704は、仮想計算機に対する変更削除が許可されているため、削除は可能であり、また抑止状態が抑止無効でないことから、削除許可状態の仮想計算機に障害が発生し引継処理部201が停止した場合にも、対象仮想計算機がID引継処理中であったことが判別できる。
【0075】
抑止無効1705は、ID引継処理実施前またはID引継処理完了後、仮想計算機へ設定され、処理がすでに完了し、定常状態であることを示す。抑止無効1705は定常状態であることから、操作は抑止されない。
【0076】
仮想計算機に対しての操作より、抑止処理部214、314が操作処理を実施する過程を図8に基づいて説明する。
【0077】
抑止処理部214、314が仮想計算機への操作(4108)を受け付けると、抑止処理部214、314は仮想計算機への操作を取得する(S4101)。
【0078】
転送元サーバ101または転送先サーバ102の抑止処理部214、314は、操作対象となった仮想計算機の抑止状態を仮想化機構上のリカバリ情報208より取得する(S4102)。
【0079】
転送元サーバ101または転送先サーバ102の抑止処理部214、314は発行された操作に対応する1602、1603、1604のいずれかより抑止結果を取得し(S4103)、発行された操作に対応する抑止を判定する(S4104)。
【0080】
S4101の判定の結果、許可の場合には、抑止処理部214、314は仮想化機構へ操作処理の開始を依頼し(4105)、仮想計算機の操作処理を実施される(S4107)。
【0081】
S4101の判定の結果、拒否の場合には、次の操作受付を待つ(S4106)。要求された操作が、操作を拒否している仮想計算機に対してである場合は操作失敗4106として抑止状態のため操作中止する。
【0082】
本実施例では、障害状態(608)から定常状態(604)へと回復させるために必要な情報として、仮想化機構のリカバリ情報208とストレージのリカバリ情報209を持つ。以下、図6に示す例に基づきリカバリ情報208、209、308、309の内容を説明する。
【0083】
リカバリ情報208、209、308、309は、仮想計算機番号1501に従い、仮想計算機ごとに情報が保持される。保持される情報としては、仮想計算機番号ごとに、抑止状態1502(1601の抑止状態に対応)と、転送側情報1503、設定予定ID情報1504が保持される。
【0084】
抑止状態1502は、対象仮想計算機へ設定されている抑止状態であり、仮想化機構開始時に仮想計算機の抑止設定211、311へ設定される。
【0085】
転送側情報1503は、リカバリ情報208、209、308、309を生成したID引継処理の際に該当仮想計算機が転送元サーバ101の仮想計算機、転送先サーバ102の仮想計算機であるかを示し、転送元または転送先の識別子を保持する。設定予定ID情報は、ID引継処理により引き継ぎに成功した結果として該当仮想計算機へ設定されるIDが保持される。
【0086】
設定予定ID情報1504は、転送元サーバ101と転送先サーバ102間でネットワークを介して交換し、ID引継処理完了後に仮想計算機へ設定されるべきIDであり、転送元サーバ101であればID引継処理開始前の転送先仮想計算機のIDであり、転送先サーバ102であればID引継処理開始前の転送元仮想計算機のIDが保持される。
【0087】
本発明を適用した計算機システムにおけるID引継処理の際の手順を図5に示す。
【0088】
まずID引継処理では、ID引継管理サーバ401が、転送元サーバ101へID引継開始要求を発行する(S1101)。
【0089】
S1102にて、転送元サーバ101の引継処理部:仮想計算機操作部215が、転送元サーバ101の仮想計算機が停止し、IDがすでに使われていないことを確認する。
【0090】
S1103にて、転送元サーバ101の引継処理部201は、ID引継管理サーバ401に対して仮想計算機が停止していることを通知する。
【0091】
S1104にて、ID引継管理サーバ401が転送先サーバ102へID引継開始要求を発行する。
【0092】
S1105にて、転送先サーバ102の引継処理部: 抑止設定部317が、転送先サーバ102の仮想計算機の抑止設定311と仮想化機構のリカバリ情報308に対して仮定義を設定する。
【0093】
S1106にて、転送先サーバ102の引継処理部: 抑止設定部317が、転送先サーバ102のストレージ上のリカバリ情報309に対して仮定義を設定する。
【0094】
S1107にて、転送先サーバ102の引継処理部: 仮想計算機操作部315が転送先サーバ102上に仮想計算機を作成する。
【0095】
S1108にて、転送先サーバ102の引継処理部:同期処理部316は、転送元サーバ101から転送元仮想計算機のID取得を待機する。
【0096】
S1109にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、転送元サーバ101の仮想計算機よりIDを取得する。
【0097】
S1110にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102の引継処理部:同期処理316へS1109にて取得した転送元仮想計算機のIDを通知し、転送先サーバ102の引継処理部301は転送元仮想計算機のIDが通知されたためS1108が完了となる。
【0098】
S1111にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102から転送元仮想計算機のID取得を待機する。
【0099】
S1112にて、転送先サーバ102の引継処理部301は取得したIDを仮想化機構上の取得済ID307へ保存する。
【0100】
S1113にて、転送先サーバ102の引継処理部:仮想計算機操作部315は、転送先サーバ102の仮想計算機よりIDを取得する。
【0101】
S1114にて、転送先サーバ102の引継処理部:同期処理部316は、転送元サーバ102の引継処理部:同期処理216へS1113にて取得した転送先仮想計算機のIDを通知し、転送元サーバ102の引継処理部301は転送先仮想計算機のIDが通知されたためS1111が完了となる。
【0102】
S1115にて、転送先サーバ102の引継処理部:仮想計算機操作部315は、取得済ID307に保存したIDを転送先サーバ102の仮想計算機へ設定する。
【0103】
S1116にて、転送元サーバ101の引継処理部201は取得したIDを仮想化機構上の取得済ID207へ保存する。
【0104】
S1117にて、転送元サーバ101の引継処理部:抑止設定部217は、転送元仮想計算機の抑止設定211を抑止有効とし、取得済ID207より仮想化機構上のリカバリ情報208を生成する。S1117により、転送元仮想計算機は抑止有効状態となるため、S1117以降、転送元サーバ101が停止しない限り、転送元仮想計算機はID引継処理が成功するか回復処理部202により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効となる。
【0105】
S1118にて、転送元サーバ101の引継処理部:抑止設定部217はS1117で生成した仮想化機構上のリカバリ情報208をストレージ上のリカバリ情報209へ反映する。これにより、S1118以降、転送元サーバ101が停止しても転送元仮想計算機は抑止有効となるため、転送元仮想計算機はID引継処理が成功するか回復処理部202により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、IDが利用されない状態となる。
【0106】
S1119にて、転送先サーバ102の引継処理部:同期処理部316は転送元サーバ101の仮想計算機の抑止設定211が抑止有効なり、転送元にて転送元仮想計算機のIDが利用されないことが確認できるまで待機する。
【0107】
S1120にて、転送元サーバ101の引継処理部:同期処理部216は、転送元サーバ101の仮想計算機の抑止設定211が抑止有効であることを転送先サーバ102の引継処理部316へ通知する。これにより、転送元仮想計算機が抑止有効であることを通知することで、転送先仮想計算機が転送元IDを利用してもIDの重複が外部システムへ伝播しないことを転送先サーバ102の引継処理部201は判別可能となる。
【0108】
S1121にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102の仮想計算機がID引継処理後のIDで起動し、転送先サーバ102のストレージへ、ID引継処理後のIDの仮想計算機構成情報が保存されることを待機する。
【0109】
S1122にて、転送先サーバ102の引継処理部:仮想計算機操作部315は転送先サーバ102に定義されたID引継完了後のIDを持つ仮想計算機を起動する。
【0110】
S1123にて、転送先サーバ102の引継処理部:抑止設定部317は、転送先仮想計算機の抑止設定311を抑止有効とし、取得済ID307より仮想化機構上のリカバリ情報308を生成する。S1123により、転送先仮想計算機は抑止有効状態となるため、S1123以降、転送先サーバ102が停止しない限り、転送先仮想計算機はID引継処理が成功するか回復処理部302により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効となる。
S1124にて、転送先サーバ102の引継処理部301は仮想化機構生存情報313を有効とし、転送先サーバ102の仮想化機構上に、有効なリカバリ情報308が存在することを示す。S1124後に障害発生し、仮想化機構生存情報313が有効である場合には、転送先サーバ102はID引継処理後のIDが仮想化機構上へ保持されており、転送元サーバ101はリカバリ情報309としてID引継処理後のIDが保持されているため、ID引継完了後の状態へと回復させることができる。
【0111】
S1125にて、転送先サーバ102の引継処理部:抑止設定部317はS1123で生成した仮想化機構上のリカバリ情報308をストレージ上のリカバリ情報309へ反映する。これにより、S1125以降、転送先サーバ102が停止しても転送先仮想計算機は抑止有効となるため、転送先仮想計算機はID引継処理が成功するか回復処理部302により抑止無効とされるまで、図7仮想計算機抑止ルール306により転送先仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、IDが利用されない状態となる。
【0112】
S1126にて、転送先サーバ102の引継処理部301は転送先仮想計算機の情報をストレージ上の仮想計算機構成情報310へ保存する。S1126完了時点において、転送先サーバ102には、ID引継処理後のIDを持つ仮想計算機が保存されており、転送元サーバ101はリカバリ情報209としてID引継処理後のIDが保持されているため、S1126後、障害が発生した場合にはID引継完了後の状態へと回復させることができる。
【0113】
S1127にて、転送先サーバ102の引継処理部:同期処理部316はIDがストレージ上の仮想計算機構成情報へ保存完了したことを転送元サーバ101へ通知し、S1121にて転送先サーバ102の仮想計算機構成情報保存完了を待機していた転送元サーバ101は、待機完了となる。
【0114】
S1128にて、転送先サーバ102の引継処理部:同期処理部316は転送元サーバ101へID引継処理後のIDを持つ仮想計算機が保存されることを待機する。
【0115】
S1129にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、取得済ID207を仮想計算機の仮想HBA212へ設定し、仮想計算機をID引継処理後のIDを持つ状態とする。
【0116】
S1130にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、転送元サーバ101の仮想計算機を削除する。
【0117】
S1131にて、転送元サーバ101の引継処理部201は、転送元サーバ101の仮想計算機をストレージ上の仮想計算機構成情報210へと保存する。
【0118】
S1132にて、転送元サーバ101の引継処理部:同期処理部216はIDがストレージ上の仮想計算機構成情報へ保存完了したことを転送先サーバ102へ通知し、S1128にて転送元サーバ101の仮想計算機構成情報保存完了を待機していた転送先サーバ102は、待機完了となる。
【0119】
S1133にて、転送元サーバ101の引継処理部:抑止設定部217はストレージ上のリカバリ情報209中の抑止状態を抑止無効とする。
【0120】
S1134にて、転送元サーバ101の引継処理部:抑止設定部217は仮想計算機の抑止設定211を抑止無効とし、仮想化機構上のリカバリ情報208中の抑止状態を抑止無効とする。
【0121】
S1135にて、転送元サーバ101の引継処理部201は、ID引継管理サーバ401へ転送元サーバでのID引継処理が完了したことを通知する。
【0122】
S1136にて、転送先サーバ102の引継処理部:抑止設定部317はストレージ上のリカバリ情報309中の抑止状態を抑止無効とする。
【0123】
S1137にて、転送先サーバ102の引継処理部:抑止設定部317は仮想計算機の抑止設定311を抑止無効とし、仮想化機構上のリカバリ情報308中の抑止状態を抑止無効とする。
【0124】
S1138にて、転送先サーバ102の引継処理部301は、ID引継管理サーバ401へ転送先サーバ102でのID引継処理が完了したことを通知する。
【0125】
以上の手順のうち、太線処理(S1105、S1106、S1117、S1118、S1120、S1123、S1124、S1125、S1127、S1132、S1133、S1134、S1136、S1137)は本発明により追加した操作である。
【0126】
S1105により、引継処理部301は仮想計算機の抑止設定311へ仮定義を設定することにより、対象仮想計算機がID交換対象であることを示す。これにより、ID引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【0127】
S1106により、引継処理部301は仮定義をストレージへ保存することにより、仮想化機構のリカバリ情報が破損した後も、対象仮想計算機がID交換対象であることを示すことができる。これにより、ID引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【0128】
S1117により、引継処理部201は転送元仮想計算機を抑止有効とし転送元IDが利用を抑止し、ID重複時に外部システムへ影響を及ぼさないことを保障する。
【0129】
S1118により、引継処理部201はストレージ上のリカバリ情報209へ転送先IDを保存することにより、ID引継処理完了後の状態を推定可能とし、ロールフォワードによる回復を実行可能とする。
【0130】
S1120により、転送元の引継処理部201は転送先の引継処理部301へ転送元にてS1118が実施され、転送元がロールフォワード処理を実施可能となり、転送元IDがすでに利用されていないことを通知する。
【0131】
S1123により、引継処理部301は転送先仮想計算機を仮想化機構上にリカバリ情報を作成し、転送元IDを転送先サーバのストレージ上に保存する準備を行う。
【0132】
S1124により、引継処理部301は転送先の仮想化機構生存情報を有効とし、仮想化機構上にリカバリ情報308生成されため、仮想化機構上のリカバリ情報308に基づいてロールフォワード処理が実施可能であることを示す。
【0133】
S1125により、引継処理部301はストレージ上にリカバリ情報309を生成し、ストレージ上のリカバリ情報308に基づくことでロールフォワード処理が実施可能であることを示す。
【0134】
S1127により、転送先の引継処理部301は転送元の引継処理部201へ仮想計算機がストレージ上へ保存され、転送先はすでにID引継処理が完了していることを転送元へ通知する。これにより、S1127以降、転送元の引継処理部201がS1118にてストレージ上に保存した転送先IDにより、ロールフォワードを実施することで、転送元サーバ101と転送先サーバ102は共にID引継完了後の状態へと遷移することができる。
【0135】
S1132により、転送元の引継処理部201は、転送元にて仮想計算機の構成情報保存が完了し、転送元サーバ101と転送先サーバ102の両方においてID引継処理が完了したことを、転送先の引継処理部301へ通知する。
【0136】
S1133、S1134、S1136、S1137により、転送元または転送先の引継処理部201、301は仮想化機構上のリカバリ情報208、308、仮想計算機の抑止設定211、311、ストレージ上のリカバリ情報209、309を抑止無効とし、定常状態へと遷移することにより、ID引継処理が完了する。
【0137】
以上のように、本発明にて追加した処理はそれぞれ、転送元サーバ101と転送先サーバ102間で仮想計算機の状態を通知、または回復に必要な転送先ID、転送元IDに関する情報を記録する処理であるため、いずれも必要である。
【0138】
本発明では、障害が発生した後も、転送先サーバ102上の仮想計算機が引継処理部301により、S1117にて転送先仮想計算機が生成されたことを保持する必要がある。また同仮想計算機は、S1122にて仮想計算機を起動する必要があるため、引継処理部:抑止設定部317は仮想計算機に対し、起動可能であり仮想計算機が引継処理部:仮想計算機操作部315により作成されたことを示す仮定義を設け、これを解決する。S1122により仮想計算機が起動されると、転送先の仮想計算機は仮想計算機起動が許可される必要がないため、S1123により抑止有効とし、抑止有効であり仮想計算機起動中の状態となる。
【0139】
転送先サーバ102は、S1126により、仮想計算機のIDをストレージ上の仮想計算機構成情報へ保存し、仮想計算機起動中でありIDが保存された状態とする。これにより、S1126以降、転送先サーバ102は転送元サーバ101のIDが保持されているため、転送先サーバ102がS1126処理完了以降の場合、障害回復後ロールフォワードするよう回復処理を実施し、これ以前の場合には障害回復後ロールバックするよう回復処理を実施する。
【0140】
転送元サーバ101の仮想計算機が取り得る状態を図9に、転送先サーバ102の仮想計算機が取り得る状態を図10に示す。
【0141】
ここで、転送元サーバ101と転送先サーバ102の仮想計算機が取り得る状態を5001、5021とし、それぞれにおいて、仮想計算機の抑止設定を5002、5022、仮想計算機の仮想HBAへ設定されたIDを5003、5023、仮想計算機の起動状態を5009、5029、仮想化機構上の取得済IDを5004、5024、仮想化機構上リカバリ情報208、308内の設定予定IDを5005、5025、仮想化機構上リカバリ情報の抑止状態を5006、5026、ストレージ上リカバリ情報209、309の抑止状態を5007、5027、ストレージ上仮想計算機構成情報に保持されたIDを5008、5028、転送先サーバ102の仮想化機構生存情報を5030に示す。なお、図中に記した転送元ID、転送先IDとはID引継処理前の転送元ID、転送先IDを示すものとする。
【0142】
まず、図9に基づいて転送元仮想計算機の取り得る状態を説明する。
【0143】
状態6001は定常状態であり、ID引継処理前の状態である。そのため、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0144】
状態6003は仮想計算機の定義が確認され、引継処理部301が転送先IDをメモリ上へ取得した状態である。そのため、仮想計算機上対5009は停止であり、取得済IDに転送先IDを持つ。また、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0145】
状態6004は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208へ抑止有効が設定された状態である。
【0146】
状態6005は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208、ストレージ上のリカバリ状態209へ抑止有効が設定された状態である。
【0147】
状態6006は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208、ストレージ上のリカバリ状態209へ抑止有効が設定された後に、引継処理部201により転送先IDが仮想計算機へ設定された状態である。
【0148】
状態6007は引継処理部201により転送先IDが仮想計算機へ設定された後、引継処理部201により仮想計算機が削除された状態である。
【0149】
状態6008は引継処理部201により、仮想計算機がストレージ上の仮想計算機構成情報210へ保存された状態である。
【0150】
状態6009は引継処理部201により、ストレージ上のリカバリ状態209へ抑止無効が設定された状態である。
状態6010は引継処理部201により、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態209へ抑止無効が設定された状態である。
次に、図10に基づいて転送先仮想計算機の取り得る状態を説明する。
【0151】
状態6101は定常状態であり、ID引継処理前の状態である。そのため、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0152】
状態6102は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308に仮定義を設定した状態である。
【0153】
状態6103は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309に仮定義を設定した状態である。
【0154】
状態6104は仮定義である領域へ、仮想計算機を定義した状態である。
【0155】
状態6105は仮定義仮想計算機を作成後、転送元IDをメモリ上へ取得した状態である。
【0156】
状態6106は仮定義した仮想計算機へ、転送元IDを設定した状態である。
【0157】
状態6107は仮定義し転送元IDを設定した仮想計算機を起動した状態である。
【0158】
状態6108は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308を抑止有効とした状態である。
【0159】
状態6109は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【0160】
状態6110は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【0161】
状態6111は転送元IDを設定した仮想計算機を起動し、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309を抑止有効とし、仮想化機構生存情報を有効とした後に、仮想計算機をストレージ上の仮想計算機構成情報310に保存した状態である。
【0162】
状態6112は仮想計算機をストレージ上の仮想計算機構成情報310へ保存後、ストレージ上のリカバリ情報309を抑止無効とした状態である。
【0163】
状態6113は仮想計算機をストレージ上の仮想計算機構成情報310へ保存後、ストレージ上のリカバリ情報309と仮想化機構上のリカバリ情報308、仮想計算機の抑止設定311を抑止無効とした、ID引継処理完了後の定常状態である。
【0164】
また、転送先では、障害発生時のみ発生する状態として、状態6121と状態6122がある。状態6121は仮想計算機へ転送元IDを設定後、ストレージのリカバリ情報309保存後にサーバ停止障害が発生し、サーバの再起動後に、障害前は存在した仮想計算機が削除され、抑止有効のみが保持された状態である。
【0165】
状態6122は転送先サーバ102における回復処理にて、ロールバックによる回復が必要であるが仮想計算機が起動しIDが使用中であり仮想計算機が削除できないため、仮想計算機の抑止設定311と仮想化機構のリカバリ情報308へ、ID解放待機を設定した状態である。
【0166】
次に、図11に基づき、転送元サーバ101の仮想計算機が図9の状態をどのように遷移するかを説明する。
【0167】
転送元サーバ101において、ID引継処理前は、仮想計算機は定常状態であり、状態6001である。
【0168】
S6201は、S1114を契機として開始し、S1116により取得済IDへ転送先IDが格納する処理である。これより、状態6001は、S6201により状態6003へ遷移する。なお、状態6001にて障害が発生した場合、状態6001は定常状態であることから、状態は変化しない。
【0169】
S6202は、S1117を契機として開始し、S1117により仮想化機構のリカバリ情報208へ抑止有効、転送先IDを保存する処理である。これより、状態6003はS6202により状態6004へ遷移する。また、状態6003にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6001と同じであることから、状態6001へと遷移し、定常状態となる。状態6003にてサーバ停止以外の障害が発生した場合、状態6003より遷移せず、ID引継処理が完了していない障害状態となる。
【0170】
S6203は、S1118を契機として開始し、S1118によりストレージ上のリカバリ情報209へ仮想化機構のリカバリ情報208を保存する処理である。これより、状態6004は、S6203により、状態6005へ遷移する。また、状態6004にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6001と同じであることから、状態6001へと遷移し、定常状態となる。状態6004にてサーバ停止以外の障害が発生した場合、状態6004より遷移せず、ID引継処理が完了していない障害状態となる。
【0171】
S6204は、S1127を契機として開始し、転送先サーバ102上のストレージへ仮想計算機構成情報が保存されたことが確認できたため、S1129により取得済IDを転送元サーバ101の仮想計算機へ設定する処理である。これにより、状態6005は、S6204により状態6006へ遷移する。また、状態6005にてサーバ停止を含む、なんらかの障害が発生した場合、状態6005の仮想化機構上の状態は、ストレージ上にも保持されているため、状態6005より遷移せず、ID引継処理が完了していない障害状態となる。
【0172】
S6205は、S1130を契機として開始し、転送元仮想計算機が削除する処理である。これにより、状態6006はS6205により状態6007へ遷移する。また、状態6006にてサーバ停止障害が発生した場合、状態6006はストレージ上の状態は状態6005と同じであることから、状態6005へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態6006より遷移しない。
【0173】
S6206は、S1131を契機として開始し、ID引継処理後のIDを持つ仮想計算機をストレージ上の仮想計算機構成情報へ保存する処理である。これにより、状態6007はS6206により状態6008へ遷移する。また、状態6007にてサーバ停止障害が発生した場合、状態6007はストレージ上の状態は状態6005と同じであることから、状態6005へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態6006より遷移しない。
【0174】
S6207は、S1133を契機として開始し、ストレージ上のリカバリ情報209へ抑止無効が設定する処理である。これにより、状態6008はS6207により状態6009へ遷移する。また、状態6009にてサーバ停止含む何らかの障害が発生した場合、状態6008は仮想化機構の状態がストレージ上にも保存されているため、状態は状態6008より遷移しない。
【0175】
S6208は、S1134を契機として開始し、仮想化機構上のリカバリ情報208へ抑止無効が設定する処理である。これにより、状態6009はS6208によりID引継処理完了状態である状態6010へ遷移する。また、状態6009にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6010と同じであることから、状態6010へと遷移し、ID引継完了後の定常状態となる。状態6009にてサーバ停止以外の障害が発生した場合、状態6009より遷移せず、ID引継処理が完了していない障害状態となる。
【0176】
続いて、図12に基づいて、転送先サーバ102の仮想計算機が図10の状態をどのように遷移するかについて説明する。
【0177】
転送先サーバ102において、ID引継処理実施前は、仮想計算機は定常状態であり、状態6101である。
【0178】
S6301は、S1105を契機として開始し、転送先サーバ102の仮想化機構上のリカバリ情報308に仮定義を設定する処理である。これにより、状態6101はS6301により状態6102へ遷移する。なお、状態6101にて障害が発生した場合、状態6101は定常状態であることから、状態は変化しない。
【0179】
S6302は、S1106を契機として開始し、転送先サーバ102のストレージ上のリカバリ情報309に仮定義を設定する処理である。これにより状態6102はS6302により状態6103へ遷移する。また、状態6102にて、サーバ停止障害が発生した場合、状態6102は状態6101と同じストレージ状態であることから、状態6101に遷移する。サーバ停止障害以外の場合は状態6102より遷移しない。
【0180】
S6303は、S1107を契機として開始し、転送先サーバ102に仮想計算機が定義される処理である。これにより、状態6103はS6303により状態6104へ遷移する。なお、状態6103では仮想化機構上の状態はストレージ上に保持されているため、サーバ停止を含む何らかの障害が発生した場合、状態6103より遷移しない。
【0181】
S6304は、S1110を契機として開始し、転送元仮想計算機のIDを転送先サーバ102の取得済ID307へと格納する処理である。これにより、状態6104はS6304により状態6105に遷移する。また、状態6104にて、サーバ停止障害が発生した場合、状態6104においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0182】
S6305、はS1115を契機として開始し、仮想計算機へ取得済ID307を設定する処理である。これにより、状態6105はS6305により状態6106へと遷移する。また、状態6105にて、サーバ停止障害が発生した場合、状態6105においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0183】
S6306は、S1120を契機として開始し、S1122により転送先サーバ102上に転送元IDを持つ仮想計算機を起動する処理である。これにより、状態6106はS6306により状態6107へと遷移する。また、状態6106にて、サーバ停止障害が発生した場合、状態6106においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0184】
S6307は、S1123を契機として開始し、仮想化機構のリカバリ情報308を抑止有効とし、転送先仮想計算機の抑止設定311を抑止有効とする。これにより、状態6107はS6307により状態6108へと遷移する。また、状態6107にて、サーバ停止障害が発生した場合、状態6107においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0185】
S6308は、S1124を契機として開始し、仮想化機構生存情報が有効とする処理である。これにより、状態6108はS6308により状態6109へと遷移する。また、状態6108にて、サーバ停止障害が発生した場合、状態6108においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構上に保持されたリカバリ情報308が失われる、S6315により状態6107へ遷移する。その他の障害である場合、状態は遷移しない。
【0186】
S6309は、S1125を契機として開始し、ストレージ上のリカバリ情報309を抑止有効とする処理である。これにより、状態6109はS6309により状態6110へと遷移する。また、状態6109にて、サーバ停止障害が発生した場合、状態6109においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構生存情報が無効となるため、S6316により状態6108へ遷移する。その他の障害である場合、状態は遷移しない。
【0187】
S6310は、S1126を契機として開始し、転送先サーバ102の仮想計算機をストレージ上の仮想計算機構成情報310へ保存する処理である。これにより、状態6110はS6310により状態6111となる。また、6110にて、サーバ停止障害が発生した場合、転送先サーバ102上の仮想計算機も障害により停止するため、状態6121となる。サーバ停止障害以外の障害が発生した場合、状態は遷移しない。
【0188】
S6311は、S1132を契機として開始し、転送元サーバ101に転送先IDを持った仮想計算機が仮想計算機構成情報210へ保存されたことが確認できた(S1132)後に、転送先サーバ102のストレージ上のリカバリ情報310に抑止無効を設定する処理である。これにより、状態6111はS6311により状態6112へ遷移する。また、状態6111にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態6113と同じ状態であることから、状態6113へと遷移し、ID引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【0189】
S6312は、S1137を契機として開始し、仮想化機構のリカバリ情報308と仮想計算機の抑止設定311に抑止無効を設定する処理である。これにより、状態6112はS6312により、転送先サーバ102上にてID引継処理が完了した状態である状態6113へ遷移する。また、状態6112にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態6113と同じ状態であることから、状態6113へと遷移し、ID引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【0190】
続いて、図11、図9に基づき、転送元サーバ101における障害状態から定常状態への回復処理を説明する。
【0191】
この回復処理では、障害状態の仮想計算機に対して、回復処理部202が回復処理を実施することにより、障害状態より定常状態へと回復させる。この計算機システムの仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209、また既存の情報である仮想計算機状態5009より、転送元が図11に定義したいずれの状態であるかを判定できる。そのため、回復処理部202は、まず仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209、仮想計算機状態5009に基づき仮想計算機の状態5001を判別する。
【0192】
判別した状態が状態6001または状態6010である場合には、定常状態であることから、回復処理は成功となる。
【0193】
判別した状態が状態6003である場合には、仮想計算機に対してID引継処理は実施されていないため、ロールバックにより回復を実施する。状態6003の仮想計算機は、状態6001と同じ状態であることから、S6225により引継処理部201を初期化し、回復処理は成功となる。
【0194】
判別した状態が状態6004である場合には、転送先サーバ102は転送元IDを失っている可能性があるため、ロールバックにより回復を実施する。そこで、S6218により転送元仮想計算機の抑止設定211と転送元サーバのリカバリ情報208を抑止無効とし、定常状態である状態6001へ遷移させ、回復処理は成功となる。
【0195】
判別した状態が状態6005である場合、転送先サーバ102が仮想計算機構成情報310へ転送元IDを持つ仮想計算機を保存完了しているか、未保存であるかに基づいて、回復処理を選択する。
【0196】
回復処理部202は、転送先サーバ102の回復処理部302とネットワークを介して仮想計算機構成情報310の保存が完了しているかの情報を取得する。もし、保存完了していない場合には、S6219により転送元仮想計算機の抑止設定211と転送元サーバ101の仮想化機構上のリカバリ情報208とストレージ上のリカバリ情報209を抑止無効とし、定常状態である状態6001へ遷移させ、回復処理は成功となる。もし、保存が完了している場合には、転送先に転送元IDを持つ仮想計算機が定義されているため、転送先サーバ101の回復処理部202はストレージ上のリカバリ情報209に基づいて、転送元仮想計算機を状態6010に遷移させることが可能であるため、ロールフォワードによる回復処理を実施する。ロールフォワードによる回復処理として、S6226により、仮想計算機構成情報310の保存完了が確認できるため、リカバリ情報209に保持された転送先IDを転送元仮想計算機へ設定し、状態6006へ遷移させる。
【0197】
判別した状態が状態6006である場合、S6204により転送先に転送元IDを持つ仮想計算機が定義されているため、転送先サーバ101の回復処理部202はストレージ上のリカバリ情報209に基づいて、転送元仮想計算機を状態6010に遷移させることが可能であり、状態6007、状態6008、状態6009においても同様である。これより、状態6006、状態6007、状態6008、状態6009である場合には、ロールフォワードにより回復処理を実施する。
【0198】
これより、状態6006である場合には、ロールフォワードを実施するため、まずリカバリ情報209に保持された転送先IDを転送元仮想計算機へ設定し、仮想計算機を削除することにより(S6220)、状態6008へと遷移させる。
【0199】
判別した状態が状態6008である場合、ロールフォワードを実施するため、S6221により仮想計算機をストレージ上の仮想計算機構成情報210へ保存し、状態6009へと遷移させる。
【0200】
判別した状態が状態6009である場合、ロールフォワードを実施するため、S6222によりストレージ上のリカバリ情報209へ抑止無効を設定し、状態6010へと遷移させ、状態6010は定常状態であることから、回復処理は成功となる。
【0201】
続いて、図12、図10に基づき、転送先サーバ102における障害状態から定常状態への回復処理を説明する。本発明では、本発明によりシステムへ追加した仮想化機構上のリカバリ情報308と、ストレージ上のリカバリ情報309、仮想化機構生存情報313、また既存の情報である仮想計算機状態5029より、転送元が図11に定義したいずれの状態であるかを判定できる。そのため、回復処理部302は、まず仮想化機構上のリカバリ情報308と、ストレージ上のリカバリ情報309、仮想化機構生存情報313、仮想計算機状態5029に基づき仮想計算機の状態5021を判別する。
【0202】
判別した状態が状態6101または状態6113である場合には、定常状態であることから、回復処理は成功となる。
【0203】
判別した状態が状態6102である場合、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6326により転送先サーバ102の仮想化機構上のリカバリ情報308を抑止無効とすることで、状態6101とし、回復成功とする。
【0204】
判別した状態が状態6103である場合、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6327により転送先サーバ102の仮想化機構上のリカバリ情報308を抑止無効とし、ストレージ上のリカバリ情報309を抑止無効とし、状態6101へ遷移させ、回復成功とする。
【0205】
判別した状態が状態6104である場合、仮想計算機は定義されているが、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6328により転送先サーバ102の仮想計算機を削除し、状態6103へ遷移させ、以降状態6103からの回復処理を実施する。
【0206】
判別した状態が状態6105である場合、仮想計算機は定義されているが、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6329により転送先サーバ102の仮想計算機を削除し、状態6103へ遷移させ、以降状態6103からの回復処理を実施する。
【0207】
判別した状態が状態6106である場合、仮想計算機は定義され、転送元サーバのIDが設定されているが、転送元サーバ101が転送先IDを保持していない可能性があるため、ロールバックによる回復処理を実施する。そこで、S6330により転送先サーバ102の仮想計算機のIDを初期化することで、状態6104へ遷移させ、以降状態6104からの回復処理を実施する。
【0208】
判別した状態が状態6107である場合、仮想計算機は転送元IDを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、S6338にて仮想計算機の抑止設定311へID解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態6122へ遷移させ、以降状態6122からの回復処理を実施する。
【0209】
判別した状態が状態6108である場合も状態6107同様、仮想計算機は転送元IDを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、S6340にて仮想計算機の抑止設定311へID解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態6122へ遷移させ、以降状態6122からの回復処理を実施する。
【0210】
判別した状態が状態6109である場合、仮想化生存情報が有効であることから、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が仮想化機構上に存在していることが判定可能であり、またS1120により、転送元サーバ101が転送先IDをストレージ上のリカバリ情報209へ保存完了し障害発生後も転送先IDを転送元サーバ101上に復元可能であると判断できるため、ロールフォワードによる回復を行う。S6334にて、取得済IDに基づきストレージ上のリカバリ情報309の保存を行い、状態6110へと遷移させ、以降状態6110からの回復処理を実施する。
【0211】
判別した状態が状態6110である場合、ストレージ上にリカバリ情報309が保存されていることから、ストレージ上のリカバリ情報309内の設定予定ID1504より転送元IDを取得可能であるため、仮想計算機の構成情報保存を実施することができる。これより、転送先サーバ102の回復処理部302は、ストレージ上のリカバリ情報309に基づいて、ロールフォワードによる回復を行う。S6335にて、仮想計算機をストレージ上の仮想計算機構成情報310へ保存し、状態6111へと遷移させ、以降状態6111からの回復処理を実施する。
【0212】
判別した状態が状態6111である場合、ストレージ上へ仮想計算機構成情報310が保存されているため、転送先サーバ102はID引継処理完了状態の仮想計算機を復元することができるため、ロールフォワードによる回復処理を実施する。S6336により、ストレージ上のリカバリ情報309を抑止無効とし、状態6112へ遷移させ、以降状態6112からの回復処理を実施する。
【0213】
判別した状態が状態6112である場合、ストレージ上はID引継処理完了状態となっているが、仮想化機構上のリカバリ情報308および仮想計算機の抑止設定311が抑止有効となっている状態である。そのため、ロールフォワードによる回復処理を実施する。S6337により、仮想化機構上のリカバリ情報308および仮想計算機の抑止設定311へ抑止無効を設定し、状態6113とする。状態6113はID引継完了後の状態であることから、回復は成功となる。
【0214】
ID引継処理中にサーバ停止障害が発生するなどして、判別した状態が状態6121である場合、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われているため、ロールバックによる回復を行う。S6331により、転送先仮想計算機のIDを初期化し、状態6104へ遷移させ、以降状態6104からの回復処理に従う。
【0215】
転送先サーバ102にて、仮想計算機が起動した状態で仮想化機構に障害が発生するなどして、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性がある場合、仮想計算機の停止を確認した後、ロールバック処理を実施する必要があるため、状態6122への遷移が発生する。判別した状態が状態6122である場合、転送先サーバ102の仮想計算機の停止を待機した後に、転送先サーバ102の仮想計算機のIDを初期化し、状態6104とする。以降状態6104からの回復処理に従う。
【0216】
本発明の回復処理では、転送元サーバ101の回復処理において転送元サーバ101をロールバックするかロールフォワードを選択する際に、状態6005にて、転送先サーバ102上で仮想計算機が仮想計算機構成情報310へ保存完了したか未保存かを判定し、保存完了である場合はロールフォワードによる回復処理を、未保存である場合はロールバックによる回復処理を実施する。転送先サーバ102の回復処理においては、転送先仮想計算機が仮想計算機構成情報310へ保存完了している状態6110、状態6111、状態6112、状態6113はすべてロールフォワードによる回復処理が実施される。また、状態6109においてもロールフォワードによる回復処理が実施されるが、回復処理により転送先仮想計算機は仮想計算機構成情報310へ保存され、転送先サーバ102での回復処理による仮想計算機構成情報310保存完了は、転送元サーバ101の回復処理部202へ通知されるため、転送元サーバ101の回復もロールフォワードによる回復処理が実施される。転送先サーバ102の状態が上記以外である場合には、転送先サーバ102ではロールバックによる回復処理が実施され、転送先サーバ102におけるロールバックによる回復処理では転送元サーバ101の回復処理部202へ構成情報保存完了は通知されないため、転送元サーバ101の回復処理部202もロールバック処理を実施するため、ID引継処理中に障害が発生した場合も、本発明の回復手順に従う限り、転送元仮想計算機のIDと転送先仮想計算機のIDが重複していない定常状態へと遷移させることができる。
【符号の説明】
【0217】
101・・・転送元サーバ、102・・・転送先サーバ、401・・・ID引継管理サーバ、201・・・転送元サーバ引継処理部、202・・・転送元サーバ回復処理部、206・・・転送元サーバの仮想計算機抑止ルール、207・・・転送元サーバの取得済ID、208・・・転送元サーバの仮想化機構上のリカバリ情報、301・・・転送先サーバ引継処理部、302・・・転送先サーバ回復処理部、306・・・転送先サーバの仮想計算機抑止ルール、307・・・転送先サーバの取得済ID、308・・・転送先サーバの仮想化機構上のリカバリ情報。
【技術分野】
【0001】
本発明は、計算機システムおよび仮想計算機システムの障害回復方法に関し、特に仮想計算機間における固有情報の引き継ぎ技術に関する。
【背景技術】
【0002】
1台の計算機上に複数業務を集約する仮想化技術では、計算機資源であるプロセッサやメモリ、入出力装置などの利用効率を上げるとともに、処理量に応じてリソース割当を変更することが可能である。
【0003】
一方、複数の計算機が同一ストレージボリュームからOSを計算機に読み込み、起動するように構成することで、業務を実行する計算機を変更することが可能である。複数の計算機で共有可能なストレージ装置の構成は、ストレージネットワーク(SAN)と呼ばれている。このSANでは、ストレージ装置と計算機とは、ファイバーチャネルスイッチを介して接続される。
【0004】
共有可能なストレージ装置では、接続された全ての計算機からストレージボリュームを参照あるいは更新することができるため、セキュリティにおける課題があった。この課題に対し、ストレージ装置は、仮想化が有するファイバーチャネル(FC)のI/Oアダプタのワールドワイドネーム(WWN)を用いて、ある特定の計算機とストレージ装置内のストレージボリュームとの対応付けを行い、ストレージボリュームに登録されたWWNを登録しているHBAを有する計算機のみ接続を許可する。
【0005】
従来、業務を実行する計算機を、仮想計算機から計算機へ、あるいは異なる計算機上の仮想計算機へ、マイグレーションにより切り替えるとき、I/Oアダプタに設定するアダプタ固有の装置識別情報(ID)を切り替え先の計算機に引き継ぐことで、計算機へ接続された機器を再設定することなく、システムを再構築できることが知られている。
【0006】
ここで、例えば、ID引き継ぎの際に障害が発生すると、ID引継ぎ元の計算機とID引継ぎ先の計算機との両方が同じIDを持つ可能性がある。このように、同じIDを持つ複数の計算機が起動されると、ストレージ装置のアクセス制御機構が有効に働かず、複数の計算機から同一ストレージボリュームを操作できてしまう。
【0007】
また、I/Oアダプタがネットワークインタフェースのとき、MACアドレスに代表されるアダプタ固有の装置識別情報(ID)が同一な計算機が複数ある場合には、通信エラーを発生する。
【0008】
これに対して、特許文献1には、IDの重複の可能性がある状態において、業務を実行する計算機にID引継処理プログラムが起動抑止をかけることにより、計算機が起動しないように制御する技術が開示されている。この技術は、ID引継処理中に障害が発生し、異常状態となった際に、仮想化処理部が転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機の起動を抑止し、ID利用を禁止することで、サーバへ接続されたシステムへ障害が伝播されることを防止するものである(図3を参照)。
【0009】
この技術では、業務を実行する仮想計算機のIDが他計算機と重複している可能性がある場合、仮想計算機を起動抑止ありの状態とする。仮想化処理部は仮想計算機に対しての仮想計算機起動要求を受け付けた(S611)後、仮想計算機の起動判定を行う。まず、仮想化処理部は仮想計算機が起動中であるかを判定し(S612)、仮想計算機が起動している場合はエラーとし、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。仮想計算機が起動中でない場合、次に仮想化処理部は仮想計算機に起動抑止登録があるか判定する(S613)。IDが重複している可能性がある場合は、ID引継処理プログラムが、起動抑止登録が有効としているため、S613によりエラー処理へ遷移し、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。IDが重複していない場合は、ID引継処理プログラムが、起動抑止登録が無効とするため、S614の処理が実施される。次に仮想化処理部は仮想計算機の持つIDが有効なIDであるかを判定する(S614)。ID引継処理中など、IDが引き継がれている過渡状態においては、仮想計算機の持つIDが無効である可能性があり、IDが無効である場合は、起動エラー情報生成を行い(S617)、起動要求発行者エラーを報告する(S616)。S614にてIDが有効である場合は、仮想計算機起動処理(S615)が実施され、仮想計算機起動の成功が起動要求発行者へ報告される(S616)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2010−33403
【特許文献2】特開2008−299509
【発明の概要】
【発明が解決しようとする課題】
【0011】
引用文献1では、計算機システムのマイグレーションでの障害発生時に、異なる計算機間においてIDが重複している状態から、異なる計算機間においてIDが重複していない状態に、システム障害を回復させることについては検討されていない。
【0012】
本発明は、従来の実情に鑑みて、計算機システムのマイグレーションでのシステム障害を回復し、異なる計算機間においてIDが重複している状態から、異なる計算機間においてIDが重複していない状態とする計算機システム、仮想化機構および障害回復方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
上述の課題を解決する為に、本発明に係る計算機システム、仮想化機構、および計算機システムの障害回復方法は、計算機上で仮想計算機を稼動させる仮想化機構が、仮想化機構は、仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、装置識別情報の引継時に障害発生が有る場合、計算機システムを障害状態に遷移させ、仮想化機構の回復処理部は、仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行することを、主な特徴とする。
【発明の効果】
【0014】
本発明によれば、マイグレーション時の障害発生により異なる計算機間においてIDが重複している状態となっても、異なる計算機間においてIDが重複していない状態へ遷移させ、仮想計算機の障害状態から定常状態への回復を実現可能である。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態に係る計算機システムの構成の一例を示す構成図
【図2】本発明の効果を得るために計算機システムが持つ要素を示す構成図
【図3】従来技術の計算機システムにおけるID交換処理フロー
【図4】本発明の実施によるID交換処理および回復処理フロー
【図5】ID引継手順
【図6】リカバリ情報の内容
【図7】仮想計算機抑止ルール
【図8】仮想計算機に対しての操作の際に実施する抑止処理部フロー
【図9】転送元サーバにおいて取りえる状態一覧
【図10】転送先サーバにおいて取りえる状態一覧
【図11】転送元サーバにおける引継処理部と回復処理部による状態遷移図
【図12】転送先サーバにおける引継処理部と回復処理部による状態遷移図
【発明を実施するための最良の形態】
【0016】
以下、本発明を適用した実施例について、図面を参照して詳細に説明する。
【0017】
図1は、本発明の実施の形態に係る計算機システム構成の一例を示す構成図である。計算機システムは、転送元サーバ101、転送先サーバ102、ストレージスイッチ4021を介して転送元サーバ101のHBA103及び転送先サーバ102のHBA106と接続されているストレージシステム4021、ネットワークスイッチ4022を介して転送元サーバ101のNIC105及び転送先サーバ102のNIC104と接続されているID引継管理サーバ401を含む。
【0018】
転送元サーバ101と転送先サーバ102上に仮想計算機を構築する。転送元サーバ101上の仮想計算機(転送元仮想計算機)と転送先サーバ102上の仮想計算機(転送先仮想計算機)はそれぞれ仮想HBAと仮想NICを持ち、転送先仮想計算機または転送元仮想計算機内から仮想HBAまたは仮想NICを介した通信を行うと、仮想計算機管理機構によりHBA(103、106)またはNIC(105、104)を介した通信へと変換される。
【0019】
このとき、他サーバから、仮想計算機の持つ仮想HBAと仮想NICを識別する情報として、HBA、NIC同様、計算機システム内で一意に機器が識別できるWWN、MACアドレスを持つ。これにより、転送元サーバ101と転送先サーバ102上に複数の仮想計算機が存在した場合も、ある仮想計算機を他サーバより指定し通信することが可能となる。
【0020】
一方、ストレージシステム4031では、ボリューム4034へ接続可能なサーバをWWNにより識別する。ストレージシステム4031において、ボリューム4034へ接続可能なサーバは、NIC4033を介して接続されたストレージシステム設定端末4036の操作により、WWNに基づいて選択される。また、ネットワーク上では転送元サーバ101はNIC105のもつMACアドレスにより識別される。
【0021】
さて、計算機システムにおけるマイグレーションの際、転送元サーバ101より転送先サーバ102へ、仮想計算機の持つ仮想HBAのWWN、仮想NICのMACアドレス等のIDを引き継ぐことにより、転送元サーバ101上の仮想計算機から接続可能な装置に対して、転送先サーバ102の仮想計算機からも接続可能としている。その結果、ストレージシステム設定端末4036を操作することなく、転送元サーバ101の仮想計算機から接続可能なボリューム4034へ、転送先サーバ102の仮想計算機から接続可能となる。このような転送元サーバ101の停止に影響しないプログラム実行環境が実現可能により、柔軟なシステム運用が提供できる。このIDの引き継ぎ方法としては、例えば特許文献2に開示される方法があるが、これに限定されるものではない。
【0022】
なお、本実施例の説明中では、WWN、MACアドレスのように計算機システム内で情報から一意に機器が識別できる情報を、装置固有情報(ID)と称する。
【0023】
また、本実施例において、転送元サーバ101の仮想計算機から転送先サーバ102の仮想計算機に対して、IDの引き継ぎを行う処理のことをID引継処理と呼ぶ。
【0024】
また、本実施例において、ID引継処理中に障害が発生し転送元サーバ101または転送先サーバ102またはその両方でID引継処理が中断した状態を障害状態と呼び、ID引継処理が完了した状態またはID引継処理が実施される前の状態を定常状態と呼ぶ。また、障害状態よりID引継処理実施前の状態に回復させることをロールバックと呼び、障害状態よりID引継処理が正常終了した後の状態へ回復させることをロールフォワードと呼ぶ。
【0025】
図2は、本発明の効果を得るために計算機システムが持つ要素を示す構成図である。転送元サーバ101および転送先サーバ102は、CPU、メモリ、NIC、HBA、不揮発性の領域であるストレージ等から構成される。転送元サーバ101及び転送先サーバ102は、それぞれメモリ上に仮想化機構を持ち、これがCPUで実行されることにより仮想計算機が作成、実行される。本計算機システムでは、転送元サーバ101と転送先サーバ102は同様の構成であるため、各サーバの構成要素の説明は、転送元サーバ101についてのみ説明するが、転送先サーバ102においても同様である。
【0026】
仮想化機構は仮想計算機実行中には、仮想計算機をメモリ上に保持する。また、計算機システムはサーバの電源停止後も仮想計算機を保持する必要があるため、ストレージ上に仮想計算機構成情報210、310を持ち、サーバの電源投入時に仮想化機構がストレージ上の仮想計算機構成情報210、310を取得し、メモリ上に仮想計算機を作成する。
【0027】
転送元サーバ101の仮想計算機は、抑止設定211と仮想HBA212を持つ。また、仮想計算機は、抑止設定211を持ち、ID引継処理中に仮想計算機の状態にあわせた抑止状態を保持する。ここで、ストレージは不揮発性であることが求められるが、サーバへの接続形式としては、ネットワークを介して接続されたネットワークストレージなど、特にストレージの位置は限らない。
【0028】
転送元サーバ101の仮想化機構は、引継処理部201、回復処理部202、抑止処理部214、仮想計算機抑止ルール206、取得済ID207、仮想化機構生存情報213、リカバリ情報208から構成される。
【0029】
引継処理部201は、ID引継が要求された際にID引継処理を実施するためのプログラムがCPUで実行されることにより実現される機能である。引継処理部201は、仮想計算機操作部215、同期処理部216、抑止設定部217から構成される。また、引継処理部201は、ID引継処理中に障害が発生した場合、障害状態より定常状態へ回復可能とするため、取得済ID207、仮想化機構生存情報213とリカバリ情報208、ストレージ上のリカバリ情報209と仮想計算機構成情報210を生成し、仮想計算機の抑止設定211と仮想HBA212の持つIDの設定を行う。
【0030】
回復処理部202は、障害状態から正常状態へ回復するためのプログラムがCPUで実行されることにより実現される機能である。回復処理部202は、引継処理部201がID引継処理中に生成した仮想化機構生存情報213、リカバリ情報208、ストレージ上のリカバリ情報209、仮想計算機構成情報210、抑止設定211に基づき、障害発生前に実施していた引継処理部201の処理を識別し、回復処理を実施する。
【0031】
また、回復処理部202は、ID引継処理中に発生した障害の種類215、抑止設定211、リカバリ情報208、ストレージ上のリカバリ情報209、仮想化機構生存情報213、ストレージ上の仮想計算機構成情報210に基づき、仮想計算機を障害状態から定常状態へと回復する。
【0032】
仮想計算機抑止ルール206は、抑止状態ごとに、仮想計算機へいずれの操作が実行可能であるかの許可または拒否判定を持つ。仮想計算機抑止ルール206は、メモリ上に保持される。仮想計算機抑止ルール206は、抑止処理部214により仮想計算機への操作に対する可否判定の際に参照され、仮想計算機への操作処理を開始または抑止する。
【0033】
取得済ID207は、転送元サーバ101の引継処理部201と転送先サーバ102の引継処理部301により交換したIDを、転送元サーバ101の仮想計算機の仮想HBA212、転送先サーバ102の仮想計算機の仮想HBA312へ設定するまで、これらのIDを保持するために定義したメモリ上の領域である。
【0034】
リカバリ情報208及びストレージ上のリカバリ情報209は、引継処理部201がID引継処理中に生成し、これは回復処理に必要となる、仮想計算機に設定された抑止設定211及びID引継処理完了後に設定されるべきID、リカバリ情報208、209、308、309を生成した引継処理部201、301が転送元であるか転送先であるかの情報を保持する。リカバリ情報208は、仮想計算機に対応する抑止設定211も保持しており、仮想計算機作成時にはリカバリ情報208の持つ抑止状態が仮想計算機の抑止設定211へ設定される。また、ストレージ上のリカバリ情報209は、サーバ電源投入時に仮想化機構によりリカバリ情報208へ設定される。
【0035】
仮想化機構生存情報213は、仮想化機構の起動時およびID引継成功時に無効とし、ID引継処理中に引継処理部201が有効とする情報であり、メモリ上に保持される。仮想化機構生存情報213は、回復処理部202により参照され、ID引継処理中の障害発生後、回復処理部202による回復処理実施までに、仮想化機構が停止し仮想化機構上に保持されたID引継処理に必要な情報が破損しているか、仮想化機構は停止せず仮想化機構上に保持されたID引継処理に必要な情報が利用可能であるかを判別するため、利用される。
【0036】
抑止処理部214は、プログラムから仮想計算機に対して行われた操作を、仮想計算機の抑止設定211と、仮想計算機抑止ルール206に基づき許可または拒否する機能を提供するプログラムである。仮想計算機の抑止設定211は引継処理部201により、ID引継処理の最中に設定される。これにより、ID引継処理中に障害が発生し、転送元サーバ101と転送先サーバ102とでIDが重複している可能性のある状態となった際には、片方または両方のサーバの起動を抑止することによりIDの重複を隠蔽し、外部システムへの影響を防止する。また、操作抑止により、ID引継処理の際にID引継処理以外のプログラムが対象仮想計算機に対して何らかの操作を行うことを禁止することにより、仮想計算機が引継処理部201、301の予期しない状態へ遷移することを防止する。
【0037】
また、抑止処理部214は、プログラムがCPUで実行されることにより実現される機能であり、抑止設定211及び仮想計算機抑止ルール206に従って、仮想計算機への操作を実行または停止する。
【0038】
仮想計算機の抑止設定211、311は、システム構築時は抑止無効とし、ID引継処理の際に引継処理部:抑止設定部217、317により状態が変更される。
【0039】
仮想計算機操作部215、315は、仮想計算機の仮想HBA212、312へIDを設定する機能と、仮想計算機に設定されたIDをストレージ上の仮想計算機構成情報へ保存する機能とを提供する。
【0040】
同期処理部216、316は、転送元サーバ101の引継処理部201と転送先サーバ102の引継処理部301間にて仮想HBA212の持つIDと仮想HBA312の持つIDとを交換する機能と、それぞれのサーバの抑止状態または仮想計算機構成情報の保存完了などの状態をNIC105、104によりネットワークを介して取得し、転送元サーバ101のID引継処理と転送先サーバ102のID引継処理を適切に同期させる機能とを提供する。
【0041】
抑止設定部217、317は、ID引継処理の際に仮想計算機の抑止設定211、311を、処理に従い図7の仮想計算機抑止状態1601に定めた状態のいずれかへと設定する機能と、仮想化機構上のリカバリ情報208、308および仮想化機構上の仮想化機構生存情報213、313、ストレージ上のリカバリ情報209、309を生成する機能とを提供する。
【0042】
ID引継管理サーバ401は、ユーザより操作され、ID引継処理開始を転送元サーバ101の引継処理部201、転送先サーバ102の引継処理部301へ通知し、転送元サーバ101の引継処理部201、転送先サーバ102の引継処理部301からの完了をユーザへ通知する。
【0043】
さて、本発明を適用した実施例では、特許文献1に開示される起動抑止の機能に加えて、新たに仮想化機構上のリカバリ情報208、仮想計算機抑止ルール206、仮想化機構生存情報213、ストレージ上のリカバリ情報209、仮想計算機の抑止設定211、仮想計算機抑止ルール206、取得済ID207を追加し、引継処理部201、回復処理部202、抑止処理部214が以下に説明する処理をCPU上で実行することにより、仮想計算機の障害状態から定常状態への回復を実現する。
【0044】
まず、ID引継処理中に発生する障害の種類215、315として、サーバ停止障害、仮想化機構停止障害、引継処理部停止障害の3種類を定義する。
【0045】
(1)サーバ停止障害は、何らかの原因によりID引継処理中にサーバの電源が停止した場合に発生する。サーバ停止障害においては、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、サーバが再度起動された後の仮想化機構起動時に、仮想化機構の持つ情報として設定される。
【0046】
(2)仮想化機構停止障害は、何らかの原因によりID引継処理中に仮想化機構が停止した場合に発生する。仮想化機構停止障害では、メモリ上に保持されたデータはすべて消去され、ストレージ上に保持された情報が、仮想化機構が再度起動された際に、仮想化機構の持つ情報として設定される。
【0047】
(3)引継処理部停止障害は、何らかの原因によりID引継処理中に引継処理部201、301が停止した場合に発生する。引継処理部停止障害では、メモリ上に保持された情報は保持される。
【0048】
図4に、仮想計算機システムの障害回復方法の手順を示す。
【0049】
まず、サーバ停止状態601からユーザがサーバ電源投入602を行うと、抑止処理部214、314が仮想計算機の抑止設定211、311が抑止無効であるか、抑止無効以外であるかの判定を行う(S3001)。
【0050】
仮想計算機の抑止設定211、311の状態が抑止無効以外であった場合、障害によりID引継処理が中断しているため、障害状態608へと遷移する。そして、回復処理部(202、302)により、障害により中断されたID引継処理の回復処理が実行され(S3003)、定常状態604へと回復する。
【0051】
仮想計算機の抑止設定211、311の状態が抑止無効の場合、ID引継処理実施前またはID引継処理完了後であるため、定常状態604に遷移する。そして、引継処理部201がユーザからID引継要求を受けると(S605)、引継処理部201はID引継処理を実施する(S3002)。
【0052】
S3002におけるID引継処理の実施中に、引継処理部201は障害の発生有無を判断する(S607)。ID引継処理の実施中に障害が発生したかどうかにより、以降の遷移が異なる。
【0053】
S607にて障害が発生せず正常終了したと判断した場合、転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機間でIDが引き継がれているため、定常状態604に戻る。
【0054】
S607にて障害が発生したと判断した場合、次に障害の種類215、315を判断する。
【0055】
引継処理部201、301がプログラムの実行中に障害を発見した場合又は引継処理部停止障害の場合は、引継処理部201、301、または仮想化機構が障害の種類215、315へ発生した障害の種類を格納し、障害状態608へ遷移し、回復処理部(202、302)により回復処理が実施される(S3003)。
【0056】
障害の種類215、315として、サーバ停止障害である場合、サーバ停止状態601へと遷移し、ユーザによるサーバ電源投入を待ち(S602)、ID引継処理中断により抑止無効でないことが確認した(S3001)後に、障害状態608へ遷移し、回復処理部(203、303)の回復処理による回復を待機する(S3003)。
【0057】
計算機システム構築時においては、ID引継処理前であることから、仮想計算機の抑止設定211と、仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209が抑止無効であり、各仮想計算機にはそれぞれの仮想計算機の持つIDが保持され、仮想計算機構成情報へこれらが保存されているため、定常状態604である。また、本発明では、定常状態604よりID引継処理を実施後、障害が発生し障害状態となった場合においても、回復処理部202、302による回復処理を実施することにより、定常状態604へ遷移できる。以上より、定常状態であるシステムに対して、本発明による処理を実施することにより、必ず定常状態への遷移が可能である。
【0058】
ここで、回復処理の実施は、計算機内部にて仮想化機構が定期的に実行することで、障害状態の回復を定期的に実施する、または、ユーザがID交換管理サーバ401を操作し、ネットワークを介して回復処理部202、302へ回復要求を発行することで、ユーザによる任意の時点で回復を実施する、仮想計算機が停止、起動するなど仮想化機構内で発生した契機に基づいて回復を実施するなどの実施方法がある。
【0059】
この計算機システムは、抑止設定211、311により、障害状態において操作が制限されるため、転送元サーバ101の仮想計算機と転送先サーバ102の仮想計算機間でIDが重複していたとしても、抑止設定211、311によりプログラムから仮想計算機に対する操作が抑止されることにより、障害状態が外部システムへ伝播することを防止するとともに、障害状態の仮想計算機を障害発生後から回復処理部202、302による回復実施まで状態を保持することができる。
【0060】
仮想計算機抑止ルール206、306を、図7に基づいて説明する。
【0061】
仮想計算機抑止状態1601とは、仮想計算機に対してID引継処理が実施手順に応じて、定義された仮想計算機の保護状態であり、その状態として、抑止有効1701、ID解放待機1702、仮定義状態1703、削除許可1704、抑止無効1705の5つが定められている。仮想計算機抑止状態1601の各々と、仮想計算機の状態1605との対応は、図7に示されるとおりである。
【0062】
また、抑止処理部214、314により抑止される操作としては、引継処理部201、301または回復処理部202、302からの仮想計算機起動操作1602、仮想計算機変更・削除操作1603、仮想計算機作成操作1604と、引継処理部201、301または回復処理部202、302以外からの仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608を対象とする。
【0063】
各抑止状態においての各操作要求を許可するか拒否するかについて、図7に示す。
【0064】
図7において、仮想計算機抑止状態1601に対して操作が許可される場合には、仮想計算機に対して発行された操作は、抑止処理部214、314により許可され、仮想化機構へ処理が依頼され、操作が実施される。また、仮想計算機抑止状態に対して操作が拒否される場合は、仮想計算機に対して発行された操作は、抑止処理部214、314により拒否され、操作中止が発行者へ通知される。
【0065】
仮想計算機起動操作1602が拒否された場合、計算機システム内で転送元サーバ101の仮想計算機の持つIDと転送先サーバ102の仮想計算機の持つIDが重複した状態での仮想計算機起動を禁止し、障害がサーバへ接続された外部システムへ伝播することを防止する。
【0066】
仮想計算機変更・削除操作1603が拒否された場合、障害発生直後から回復処理部202、302の実行開始まで、計算機システム上の何らかのプログラムにより、仮想計算機の状態が変化されることを抑止し、回復処理部202、302による回復処理の際に、仮想計算機の状態より、障害前に引継処理部201、301が実施していた処理を特定可能とする。
【0067】
仮想計算機作成操作1604が拒否された場合、転送元においてID引継後の仮想計算機が削除された領域に対する他プログラムからの仮想計算機の再割当を防止することで、回復処理部202、302がID引継処理の対象でない仮想計算機へ回復処理が実施することを防止する。
【0068】
また、引継処理部201、301または回復処理部202、302以外からの仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608も同様に抑止する。
【0069】
特に、仮定義1703において仮想計算機起動操作1606、仮想計算機変更・削除操作1607、仮想計算機作成操作1608を禁止し、転送先サーバ102の引継処理部301が転送先仮想計算機を作成した後に、他プログラムが同仮想計算機に対して操作を加え、引継処理部301が予期しない仮想計算機が生成されることを防止する。
【0070】
図7で定義した抑止有効1701、ID解放待機1702、仮定義1703、削除許可1704、抑止無効1705の状態をそれぞれ説明する。
【0071】
抑止有効1701は、ID引継処理中に設定される状態であり仮想計算機の起動、変更、削除、作成を拒否することにより、ID引継処理中に、他プログラムからID引継対象である仮想計算機への操作を防止し、ID引継処理後に転送元仮想計算機と同様の転送先仮想計算機が定義されることを実現する。
【0072】
ID解放待機1702は、障害発生時後に仮想計算機が起動しているが回復処理部202、302により対象仮想計算機が削除されるべきである場合に設定される。ID解放待機1702が仮想計算機へ設定されると、起動していた仮想計算機が停止した後に、起動が拒否されるため、再度起動されることなく、回復処理部202、302により対象仮想計算機を削除することができる。また、変更、削除、作成を拒否することにより、障害発生後から回復処理開始まで引継処理部201、301の設定した仮想計算機の状態を保つことができる。
【0073】
仮定義1703は、転送先サーバ102において対象仮想計算機がID引継処理の過程で作成された仮想計算機であることを保持する。これにより、引継処理部201、301が停止した場合も、対象仮想計算機が仮定義であることが保持されるため、回復処理において、対象仮想計算機を削除するなど、仮定義仮想計算機の特性に合わせた回復を実現できる。仮定義1703においては、仮想計算機の作成をはじめ、変更、削除、起動を行う必要があるため、引継処理部201、301や回復処理部202、302から仮想計算機への操作はすべて許可される。また、仮定義1703は引継処理部201、301または回復処理部202、302以外からの操作をすべて拒否することにより、他プログラムから仮定義後の仮想計算機に対して操作が加えられ、引継処理部201、301の操作する仮想計算機が、引継処理部201、301から予期せぬ構成となることを防止する。
【0074】
削除許可1704は、転送元サーバ101にてID引継処理後に不要となった仮想計算機を、仮想計算機に抑止を保持したまま削除するために設定する。削除許可1704は、仮想計算機に対する変更削除が許可されているため、削除は可能であり、また抑止状態が抑止無効でないことから、削除許可状態の仮想計算機に障害が発生し引継処理部201が停止した場合にも、対象仮想計算機がID引継処理中であったことが判別できる。
【0075】
抑止無効1705は、ID引継処理実施前またはID引継処理完了後、仮想計算機へ設定され、処理がすでに完了し、定常状態であることを示す。抑止無効1705は定常状態であることから、操作は抑止されない。
【0076】
仮想計算機に対しての操作より、抑止処理部214、314が操作処理を実施する過程を図8に基づいて説明する。
【0077】
抑止処理部214、314が仮想計算機への操作(4108)を受け付けると、抑止処理部214、314は仮想計算機への操作を取得する(S4101)。
【0078】
転送元サーバ101または転送先サーバ102の抑止処理部214、314は、操作対象となった仮想計算機の抑止状態を仮想化機構上のリカバリ情報208より取得する(S4102)。
【0079】
転送元サーバ101または転送先サーバ102の抑止処理部214、314は発行された操作に対応する1602、1603、1604のいずれかより抑止結果を取得し(S4103)、発行された操作に対応する抑止を判定する(S4104)。
【0080】
S4101の判定の結果、許可の場合には、抑止処理部214、314は仮想化機構へ操作処理の開始を依頼し(4105)、仮想計算機の操作処理を実施される(S4107)。
【0081】
S4101の判定の結果、拒否の場合には、次の操作受付を待つ(S4106)。要求された操作が、操作を拒否している仮想計算機に対してである場合は操作失敗4106として抑止状態のため操作中止する。
【0082】
本実施例では、障害状態(608)から定常状態(604)へと回復させるために必要な情報として、仮想化機構のリカバリ情報208とストレージのリカバリ情報209を持つ。以下、図6に示す例に基づきリカバリ情報208、209、308、309の内容を説明する。
【0083】
リカバリ情報208、209、308、309は、仮想計算機番号1501に従い、仮想計算機ごとに情報が保持される。保持される情報としては、仮想計算機番号ごとに、抑止状態1502(1601の抑止状態に対応)と、転送側情報1503、設定予定ID情報1504が保持される。
【0084】
抑止状態1502は、対象仮想計算機へ設定されている抑止状態であり、仮想化機構開始時に仮想計算機の抑止設定211、311へ設定される。
【0085】
転送側情報1503は、リカバリ情報208、209、308、309を生成したID引継処理の際に該当仮想計算機が転送元サーバ101の仮想計算機、転送先サーバ102の仮想計算機であるかを示し、転送元または転送先の識別子を保持する。設定予定ID情報は、ID引継処理により引き継ぎに成功した結果として該当仮想計算機へ設定されるIDが保持される。
【0086】
設定予定ID情報1504は、転送元サーバ101と転送先サーバ102間でネットワークを介して交換し、ID引継処理完了後に仮想計算機へ設定されるべきIDであり、転送元サーバ101であればID引継処理開始前の転送先仮想計算機のIDであり、転送先サーバ102であればID引継処理開始前の転送元仮想計算機のIDが保持される。
【0087】
本発明を適用した計算機システムにおけるID引継処理の際の手順を図5に示す。
【0088】
まずID引継処理では、ID引継管理サーバ401が、転送元サーバ101へID引継開始要求を発行する(S1101)。
【0089】
S1102にて、転送元サーバ101の引継処理部:仮想計算機操作部215が、転送元サーバ101の仮想計算機が停止し、IDがすでに使われていないことを確認する。
【0090】
S1103にて、転送元サーバ101の引継処理部201は、ID引継管理サーバ401に対して仮想計算機が停止していることを通知する。
【0091】
S1104にて、ID引継管理サーバ401が転送先サーバ102へID引継開始要求を発行する。
【0092】
S1105にて、転送先サーバ102の引継処理部: 抑止設定部317が、転送先サーバ102の仮想計算機の抑止設定311と仮想化機構のリカバリ情報308に対して仮定義を設定する。
【0093】
S1106にて、転送先サーバ102の引継処理部: 抑止設定部317が、転送先サーバ102のストレージ上のリカバリ情報309に対して仮定義を設定する。
【0094】
S1107にて、転送先サーバ102の引継処理部: 仮想計算機操作部315が転送先サーバ102上に仮想計算機を作成する。
【0095】
S1108にて、転送先サーバ102の引継処理部:同期処理部316は、転送元サーバ101から転送元仮想計算機のID取得を待機する。
【0096】
S1109にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、転送元サーバ101の仮想計算機よりIDを取得する。
【0097】
S1110にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102の引継処理部:同期処理316へS1109にて取得した転送元仮想計算機のIDを通知し、転送先サーバ102の引継処理部301は転送元仮想計算機のIDが通知されたためS1108が完了となる。
【0098】
S1111にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102から転送元仮想計算機のID取得を待機する。
【0099】
S1112にて、転送先サーバ102の引継処理部301は取得したIDを仮想化機構上の取得済ID307へ保存する。
【0100】
S1113にて、転送先サーバ102の引継処理部:仮想計算機操作部315は、転送先サーバ102の仮想計算機よりIDを取得する。
【0101】
S1114にて、転送先サーバ102の引継処理部:同期処理部316は、転送元サーバ102の引継処理部:同期処理216へS1113にて取得した転送先仮想計算機のIDを通知し、転送元サーバ102の引継処理部301は転送先仮想計算機のIDが通知されたためS1111が完了となる。
【0102】
S1115にて、転送先サーバ102の引継処理部:仮想計算機操作部315は、取得済ID307に保存したIDを転送先サーバ102の仮想計算機へ設定する。
【0103】
S1116にて、転送元サーバ101の引継処理部201は取得したIDを仮想化機構上の取得済ID207へ保存する。
【0104】
S1117にて、転送元サーバ101の引継処理部:抑止設定部217は、転送元仮想計算機の抑止設定211を抑止有効とし、取得済ID207より仮想化機構上のリカバリ情報208を生成する。S1117により、転送元仮想計算機は抑止有効状態となるため、S1117以降、転送元サーバ101が停止しない限り、転送元仮想計算機はID引継処理が成功するか回復処理部202により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効となる。
【0105】
S1118にて、転送元サーバ101の引継処理部:抑止設定部217はS1117で生成した仮想化機構上のリカバリ情報208をストレージ上のリカバリ情報209へ反映する。これにより、S1118以降、転送元サーバ101が停止しても転送元仮想計算機は抑止有効となるため、転送元仮想計算機はID引継処理が成功するか回復処理部202により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、IDが利用されない状態となる。
【0106】
S1119にて、転送先サーバ102の引継処理部:同期処理部316は転送元サーバ101の仮想計算機の抑止設定211が抑止有効なり、転送元にて転送元仮想計算機のIDが利用されないことが確認できるまで待機する。
【0107】
S1120にて、転送元サーバ101の引継処理部:同期処理部216は、転送元サーバ101の仮想計算機の抑止設定211が抑止有効であることを転送先サーバ102の引継処理部316へ通知する。これにより、転送元仮想計算機が抑止有効であることを通知することで、転送先仮想計算機が転送元IDを利用してもIDの重複が外部システムへ伝播しないことを転送先サーバ102の引継処理部201は判別可能となる。
【0108】
S1121にて、転送元サーバ101の引継処理部:同期処理部216は、転送先サーバ102の仮想計算機がID引継処理後のIDで起動し、転送先サーバ102のストレージへ、ID引継処理後のIDの仮想計算機構成情報が保存されることを待機する。
【0109】
S1122にて、転送先サーバ102の引継処理部:仮想計算機操作部315は転送先サーバ102に定義されたID引継完了後のIDを持つ仮想計算機を起動する。
【0110】
S1123にて、転送先サーバ102の引継処理部:抑止設定部317は、転送先仮想計算機の抑止設定311を抑止有効とし、取得済ID307より仮想化機構上のリカバリ情報308を生成する。S1123により、転送先仮想計算機は抑止有効状態となるため、S1123以降、転送先サーバ102が停止しない限り、転送先仮想計算機はID引継処理が成功するか回復処理部302により抑止無効とされるまで、図7仮想計算機抑止ルール206により転送元仮想計算機は抑止有効となる。
S1124にて、転送先サーバ102の引継処理部301は仮想化機構生存情報313を有効とし、転送先サーバ102の仮想化機構上に、有効なリカバリ情報308が存在することを示す。S1124後に障害発生し、仮想化機構生存情報313が有効である場合には、転送先サーバ102はID引継処理後のIDが仮想化機構上へ保持されており、転送元サーバ101はリカバリ情報309としてID引継処理後のIDが保持されているため、ID引継完了後の状態へと回復させることができる。
【0111】
S1125にて、転送先サーバ102の引継処理部:抑止設定部317はS1123で生成した仮想化機構上のリカバリ情報308をストレージ上のリカバリ情報309へ反映する。これにより、S1125以降、転送先サーバ102が停止しても転送先仮想計算機は抑止有効となるため、転送先仮想計算機はID引継処理が成功するか回復処理部302により抑止無効とされるまで、図7仮想計算機抑止ルール306により転送先仮想計算機は抑止有効により仮想計算機の起動が抑止されるため、IDが利用されない状態となる。
【0112】
S1126にて、転送先サーバ102の引継処理部301は転送先仮想計算機の情報をストレージ上の仮想計算機構成情報310へ保存する。S1126完了時点において、転送先サーバ102には、ID引継処理後のIDを持つ仮想計算機が保存されており、転送元サーバ101はリカバリ情報209としてID引継処理後のIDが保持されているため、S1126後、障害が発生した場合にはID引継完了後の状態へと回復させることができる。
【0113】
S1127にて、転送先サーバ102の引継処理部:同期処理部316はIDがストレージ上の仮想計算機構成情報へ保存完了したことを転送元サーバ101へ通知し、S1121にて転送先サーバ102の仮想計算機構成情報保存完了を待機していた転送元サーバ101は、待機完了となる。
【0114】
S1128にて、転送先サーバ102の引継処理部:同期処理部316は転送元サーバ101へID引継処理後のIDを持つ仮想計算機が保存されることを待機する。
【0115】
S1129にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、取得済ID207を仮想計算機の仮想HBA212へ設定し、仮想計算機をID引継処理後のIDを持つ状態とする。
【0116】
S1130にて、転送元サーバ101の引継処理部:仮想計算機操作部215は、転送元サーバ101の仮想計算機を削除する。
【0117】
S1131にて、転送元サーバ101の引継処理部201は、転送元サーバ101の仮想計算機をストレージ上の仮想計算機構成情報210へと保存する。
【0118】
S1132にて、転送元サーバ101の引継処理部:同期処理部216はIDがストレージ上の仮想計算機構成情報へ保存完了したことを転送先サーバ102へ通知し、S1128にて転送元サーバ101の仮想計算機構成情報保存完了を待機していた転送先サーバ102は、待機完了となる。
【0119】
S1133にて、転送元サーバ101の引継処理部:抑止設定部217はストレージ上のリカバリ情報209中の抑止状態を抑止無効とする。
【0120】
S1134にて、転送元サーバ101の引継処理部:抑止設定部217は仮想計算機の抑止設定211を抑止無効とし、仮想化機構上のリカバリ情報208中の抑止状態を抑止無効とする。
【0121】
S1135にて、転送元サーバ101の引継処理部201は、ID引継管理サーバ401へ転送元サーバでのID引継処理が完了したことを通知する。
【0122】
S1136にて、転送先サーバ102の引継処理部:抑止設定部317はストレージ上のリカバリ情報309中の抑止状態を抑止無効とする。
【0123】
S1137にて、転送先サーバ102の引継処理部:抑止設定部317は仮想計算機の抑止設定311を抑止無効とし、仮想化機構上のリカバリ情報308中の抑止状態を抑止無効とする。
【0124】
S1138にて、転送先サーバ102の引継処理部301は、ID引継管理サーバ401へ転送先サーバ102でのID引継処理が完了したことを通知する。
【0125】
以上の手順のうち、太線処理(S1105、S1106、S1117、S1118、S1120、S1123、S1124、S1125、S1127、S1132、S1133、S1134、S1136、S1137)は本発明により追加した操作である。
【0126】
S1105により、引継処理部301は仮想計算機の抑止設定311へ仮定義を設定することにより、対象仮想計算機がID交換対象であることを示す。これにより、ID引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【0127】
S1106により、引継処理部301は仮定義をストレージへ保存することにより、仮想化機構のリカバリ情報が破損した後も、対象仮想計算機がID交換対象であることを示すことができる。これにより、ID引継処理が実施されていた仮想計算機が判定できるため、仮想計算機に対して回復処理を実施できる。
【0128】
S1117により、引継処理部201は転送元仮想計算機を抑止有効とし転送元IDが利用を抑止し、ID重複時に外部システムへ影響を及ぼさないことを保障する。
【0129】
S1118により、引継処理部201はストレージ上のリカバリ情報209へ転送先IDを保存することにより、ID引継処理完了後の状態を推定可能とし、ロールフォワードによる回復を実行可能とする。
【0130】
S1120により、転送元の引継処理部201は転送先の引継処理部301へ転送元にてS1118が実施され、転送元がロールフォワード処理を実施可能となり、転送元IDがすでに利用されていないことを通知する。
【0131】
S1123により、引継処理部301は転送先仮想計算機を仮想化機構上にリカバリ情報を作成し、転送元IDを転送先サーバのストレージ上に保存する準備を行う。
【0132】
S1124により、引継処理部301は転送先の仮想化機構生存情報を有効とし、仮想化機構上にリカバリ情報308生成されため、仮想化機構上のリカバリ情報308に基づいてロールフォワード処理が実施可能であることを示す。
【0133】
S1125により、引継処理部301はストレージ上にリカバリ情報309を生成し、ストレージ上のリカバリ情報308に基づくことでロールフォワード処理が実施可能であることを示す。
【0134】
S1127により、転送先の引継処理部301は転送元の引継処理部201へ仮想計算機がストレージ上へ保存され、転送先はすでにID引継処理が完了していることを転送元へ通知する。これにより、S1127以降、転送元の引継処理部201がS1118にてストレージ上に保存した転送先IDにより、ロールフォワードを実施することで、転送元サーバ101と転送先サーバ102は共にID引継完了後の状態へと遷移することができる。
【0135】
S1132により、転送元の引継処理部201は、転送元にて仮想計算機の構成情報保存が完了し、転送元サーバ101と転送先サーバ102の両方においてID引継処理が完了したことを、転送先の引継処理部301へ通知する。
【0136】
S1133、S1134、S1136、S1137により、転送元または転送先の引継処理部201、301は仮想化機構上のリカバリ情報208、308、仮想計算機の抑止設定211、311、ストレージ上のリカバリ情報209、309を抑止無効とし、定常状態へと遷移することにより、ID引継処理が完了する。
【0137】
以上のように、本発明にて追加した処理はそれぞれ、転送元サーバ101と転送先サーバ102間で仮想計算機の状態を通知、または回復に必要な転送先ID、転送元IDに関する情報を記録する処理であるため、いずれも必要である。
【0138】
本発明では、障害が発生した後も、転送先サーバ102上の仮想計算機が引継処理部301により、S1117にて転送先仮想計算機が生成されたことを保持する必要がある。また同仮想計算機は、S1122にて仮想計算機を起動する必要があるため、引継処理部:抑止設定部317は仮想計算機に対し、起動可能であり仮想計算機が引継処理部:仮想計算機操作部315により作成されたことを示す仮定義を設け、これを解決する。S1122により仮想計算機が起動されると、転送先の仮想計算機は仮想計算機起動が許可される必要がないため、S1123により抑止有効とし、抑止有効であり仮想計算機起動中の状態となる。
【0139】
転送先サーバ102は、S1126により、仮想計算機のIDをストレージ上の仮想計算機構成情報へ保存し、仮想計算機起動中でありIDが保存された状態とする。これにより、S1126以降、転送先サーバ102は転送元サーバ101のIDが保持されているため、転送先サーバ102がS1126処理完了以降の場合、障害回復後ロールフォワードするよう回復処理を実施し、これ以前の場合には障害回復後ロールバックするよう回復処理を実施する。
【0140】
転送元サーバ101の仮想計算機が取り得る状態を図9に、転送先サーバ102の仮想計算機が取り得る状態を図10に示す。
【0141】
ここで、転送元サーバ101と転送先サーバ102の仮想計算機が取り得る状態を5001、5021とし、それぞれにおいて、仮想計算機の抑止設定を5002、5022、仮想計算機の仮想HBAへ設定されたIDを5003、5023、仮想計算機の起動状態を5009、5029、仮想化機構上の取得済IDを5004、5024、仮想化機構上リカバリ情報208、308内の設定予定IDを5005、5025、仮想化機構上リカバリ情報の抑止状態を5006、5026、ストレージ上リカバリ情報209、309の抑止状態を5007、5027、ストレージ上仮想計算機構成情報に保持されたIDを5008、5028、転送先サーバ102の仮想化機構生存情報を5030に示す。なお、図中に記した転送元ID、転送先IDとはID引継処理前の転送元ID、転送先IDを示すものとする。
【0142】
まず、図9に基づいて転送元仮想計算機の取り得る状態を説明する。
【0143】
状態6001は定常状態であり、ID引継処理前の状態である。そのため、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0144】
状態6003は仮想計算機の定義が確認され、引継処理部301が転送先IDをメモリ上へ取得した状態である。そのため、仮想計算機上対5009は停止であり、取得済IDに転送先IDを持つ。また、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0145】
状態6004は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208へ抑止有効が設定された状態である。
【0146】
状態6005は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208、ストレージ上のリカバリ状態209へ抑止有効が設定された状態である。
【0147】
状態6006は引継処理部201が転送先IDをメモリ上へ取得し、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態208、ストレージ上のリカバリ状態209へ抑止有効が設定された後に、引継処理部201により転送先IDが仮想計算機へ設定された状態である。
【0148】
状態6007は引継処理部201により転送先IDが仮想計算機へ設定された後、引継処理部201により仮想計算機が削除された状態である。
【0149】
状態6008は引継処理部201により、仮想計算機がストレージ上の仮想計算機構成情報210へ保存された状態である。
【0150】
状態6009は引継処理部201により、ストレージ上のリカバリ状態209へ抑止無効が設定された状態である。
状態6010は引継処理部201により、仮想計算機の抑止設定211と仮想化機構上のリカバリ状態209へ抑止無効が設定された状態である。
次に、図10に基づいて転送先仮想計算機の取り得る状態を説明する。
【0151】
状態6101は定常状態であり、ID引継処理前の状態である。そのため、抑止設定211は抑止無効であり、仮想化機構上のリカバリ情報208、ストレージ上のリカバリ情報209はいずれも抑止無効である。
【0152】
状態6102は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308に仮定義を設定した状態である。
【0153】
状態6103は仮想計算機を生成前に、仮想計算機が生成される領域に対応する仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309に仮定義を設定した状態である。
【0154】
状態6104は仮定義である領域へ、仮想計算機を定義した状態である。
【0155】
状態6105は仮定義仮想計算機を作成後、転送元IDをメモリ上へ取得した状態である。
【0156】
状態6106は仮定義した仮想計算機へ、転送元IDを設定した状態である。
【0157】
状態6107は仮定義し転送元IDを設定した仮想計算機を起動した状態である。
【0158】
状態6108は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308を抑止有効とした状態である。
【0159】
状態6109は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【0160】
状態6110は転送元IDを設定した仮想計算機を起動した後に、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309を抑止有効とし、仮想化機構生存情報を有効とした状態である。
【0161】
状態6111は転送元IDを設定した仮想計算機を起動し、仮想計算機の抑止設定311と仮想化機構上のリカバリ情報308とストレージ上のリカバリ情報309を抑止有効とし、仮想化機構生存情報を有効とした後に、仮想計算機をストレージ上の仮想計算機構成情報310に保存した状態である。
【0162】
状態6112は仮想計算機をストレージ上の仮想計算機構成情報310へ保存後、ストレージ上のリカバリ情報309を抑止無効とした状態である。
【0163】
状態6113は仮想計算機をストレージ上の仮想計算機構成情報310へ保存後、ストレージ上のリカバリ情報309と仮想化機構上のリカバリ情報308、仮想計算機の抑止設定311を抑止無効とした、ID引継処理完了後の定常状態である。
【0164】
また、転送先では、障害発生時のみ発生する状態として、状態6121と状態6122がある。状態6121は仮想計算機へ転送元IDを設定後、ストレージのリカバリ情報309保存後にサーバ停止障害が発生し、サーバの再起動後に、障害前は存在した仮想計算機が削除され、抑止有効のみが保持された状態である。
【0165】
状態6122は転送先サーバ102における回復処理にて、ロールバックによる回復が必要であるが仮想計算機が起動しIDが使用中であり仮想計算機が削除できないため、仮想計算機の抑止設定311と仮想化機構のリカバリ情報308へ、ID解放待機を設定した状態である。
【0166】
次に、図11に基づき、転送元サーバ101の仮想計算機が図9の状態をどのように遷移するかを説明する。
【0167】
転送元サーバ101において、ID引継処理前は、仮想計算機は定常状態であり、状態6001である。
【0168】
S6201は、S1114を契機として開始し、S1116により取得済IDへ転送先IDが格納する処理である。これより、状態6001は、S6201により状態6003へ遷移する。なお、状態6001にて障害が発生した場合、状態6001は定常状態であることから、状態は変化しない。
【0169】
S6202は、S1117を契機として開始し、S1117により仮想化機構のリカバリ情報208へ抑止有効、転送先IDを保存する処理である。これより、状態6003はS6202により状態6004へ遷移する。また、状態6003にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6001と同じであることから、状態6001へと遷移し、定常状態となる。状態6003にてサーバ停止以外の障害が発生した場合、状態6003より遷移せず、ID引継処理が完了していない障害状態となる。
【0170】
S6203は、S1118を契機として開始し、S1118によりストレージ上のリカバリ情報209へ仮想化機構のリカバリ情報208を保存する処理である。これより、状態6004は、S6203により、状態6005へ遷移する。また、状態6004にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6001と同じであることから、状態6001へと遷移し、定常状態となる。状態6004にてサーバ停止以外の障害が発生した場合、状態6004より遷移せず、ID引継処理が完了していない障害状態となる。
【0171】
S6204は、S1127を契機として開始し、転送先サーバ102上のストレージへ仮想計算機構成情報が保存されたことが確認できたため、S1129により取得済IDを転送元サーバ101の仮想計算機へ設定する処理である。これにより、状態6005は、S6204により状態6006へ遷移する。また、状態6005にてサーバ停止を含む、なんらかの障害が発生した場合、状態6005の仮想化機構上の状態は、ストレージ上にも保持されているため、状態6005より遷移せず、ID引継処理が完了していない障害状態となる。
【0172】
S6205は、S1130を契機として開始し、転送元仮想計算機が削除する処理である。これにより、状態6006はS6205により状態6007へ遷移する。また、状態6006にてサーバ停止障害が発生した場合、状態6006はストレージ上の状態は状態6005と同じであることから、状態6005へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態6006より遷移しない。
【0173】
S6206は、S1131を契機として開始し、ID引継処理後のIDを持つ仮想計算機をストレージ上の仮想計算機構成情報へ保存する処理である。これにより、状態6007はS6206により状態6008へ遷移する。また、状態6007にてサーバ停止障害が発生した場合、状態6007はストレージ上の状態は状態6005と同じであることから、状態6005へ遷移する。サーバ停止障害以外の障害である場合には、状態は状態6006より遷移しない。
【0174】
S6207は、S1133を契機として開始し、ストレージ上のリカバリ情報209へ抑止無効が設定する処理である。これにより、状態6008はS6207により状態6009へ遷移する。また、状態6009にてサーバ停止含む何らかの障害が発生した場合、状態6008は仮想化機構の状態がストレージ上にも保存されているため、状態は状態6008より遷移しない。
【0175】
S6208は、S1134を契機として開始し、仮想化機構上のリカバリ情報208へ抑止無効が設定する処理である。これにより、状態6009はS6208によりID引継処理完了状態である状態6010へ遷移する。また、状態6009にてサーバ停止障害が発生した場合、ストレージ上の状態は状態6010と同じであることから、状態6010へと遷移し、ID引継完了後の定常状態となる。状態6009にてサーバ停止以外の障害が発生した場合、状態6009より遷移せず、ID引継処理が完了していない障害状態となる。
【0176】
続いて、図12に基づいて、転送先サーバ102の仮想計算機が図10の状態をどのように遷移するかについて説明する。
【0177】
転送先サーバ102において、ID引継処理実施前は、仮想計算機は定常状態であり、状態6101である。
【0178】
S6301は、S1105を契機として開始し、転送先サーバ102の仮想化機構上のリカバリ情報308に仮定義を設定する処理である。これにより、状態6101はS6301により状態6102へ遷移する。なお、状態6101にて障害が発生した場合、状態6101は定常状態であることから、状態は変化しない。
【0179】
S6302は、S1106を契機として開始し、転送先サーバ102のストレージ上のリカバリ情報309に仮定義を設定する処理である。これにより状態6102はS6302により状態6103へ遷移する。また、状態6102にて、サーバ停止障害が発生した場合、状態6102は状態6101と同じストレージ状態であることから、状態6101に遷移する。サーバ停止障害以外の場合は状態6102より遷移しない。
【0180】
S6303は、S1107を契機として開始し、転送先サーバ102に仮想計算機が定義される処理である。これにより、状態6103はS6303により状態6104へ遷移する。なお、状態6103では仮想化機構上の状態はストレージ上に保持されているため、サーバ停止を含む何らかの障害が発生した場合、状態6103より遷移しない。
【0181】
S6304は、S1110を契機として開始し、転送元仮想計算機のIDを転送先サーバ102の取得済ID307へと格納する処理である。これにより、状態6104はS6304により状態6105に遷移する。また、状態6104にて、サーバ停止障害が発生した場合、状態6104においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0182】
S6305、はS1115を契機として開始し、仮想計算機へ取得済ID307を設定する処理である。これにより、状態6105はS6305により状態6106へと遷移する。また、状態6105にて、サーバ停止障害が発生した場合、状態6105においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0183】
S6306は、S1120を契機として開始し、S1122により転送先サーバ102上に転送元IDを持つ仮想計算機を起動する処理である。これにより、状態6106はS6306により状態6107へと遷移する。また、状態6106にて、サーバ停止障害が発生した場合、状態6106においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0184】
S6307は、S1123を契機として開始し、仮想化機構のリカバリ情報308を抑止有効とし、転送先仮想計算機の抑止設定311を抑止有効とする。これにより、状態6107はS6307により状態6108へと遷移する。また、状態6107にて、サーバ停止障害が発生した場合、状態6107においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。サーバ停止障害以外の障害の場合には、状態は遷移しない。
【0185】
S6308は、S1124を契機として開始し、仮想化機構生存情報が有効とする処理である。これにより、状態6108はS6308により状態6109へと遷移する。また、状態6108にて、サーバ停止障害が発生した場合、状態6108においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構上に保持されたリカバリ情報308が失われる、S6315により状態6107へ遷移する。その他の障害である場合、状態は遷移しない。
【0186】
S6309は、S1125を契機として開始し、ストレージ上のリカバリ情報309を抑止有効とする処理である。これにより、状態6109はS6309により状態6110へと遷移する。また、状態6109にて、サーバ停止障害が発生した場合、状態6109においてストレージ上に保持された情報は状態6103と同じであるため、状態6103へと遷移する。もし、仮想化機構が停止した場合は、仮想化機構生存情報が無効となるため、S6316により状態6108へ遷移する。その他の障害である場合、状態は遷移しない。
【0187】
S6310は、S1126を契機として開始し、転送先サーバ102の仮想計算機をストレージ上の仮想計算機構成情報310へ保存する処理である。これにより、状態6110はS6310により状態6111となる。また、6110にて、サーバ停止障害が発生した場合、転送先サーバ102上の仮想計算機も障害により停止するため、状態6121となる。サーバ停止障害以外の障害が発生した場合、状態は遷移しない。
【0188】
S6311は、S1132を契機として開始し、転送元サーバ101に転送先IDを持った仮想計算機が仮想計算機構成情報210へ保存されたことが確認できた(S1132)後に、転送先サーバ102のストレージ上のリカバリ情報310に抑止無効を設定する処理である。これにより、状態6111はS6311により状態6112へ遷移する。また、状態6111にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態6113と同じ状態であることから、状態6113へと遷移し、ID引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【0189】
S6312は、S1137を契機として開始し、仮想化機構のリカバリ情報308と仮想計算機の抑止設定311に抑止無効を設定する処理である。これにより、状態6112はS6312により、転送先サーバ102上にてID引継処理が完了した状態である状態6113へ遷移する。また、状態6112にて、サーバ停止障害が発生した場合、仮想化機構上の状態はストレージ上に保持されており、状態6113と同じ状態であることから、状態6113へと遷移し、ID引継処理完了後の定常状態となる。なお、サーバ停止以外の障害が発生した場合、状態は遷移しない。
【0190】
続いて、図11、図9に基づき、転送元サーバ101における障害状態から定常状態への回復処理を説明する。
【0191】
この回復処理では、障害状態の仮想計算機に対して、回復処理部202が回復処理を実施することにより、障害状態より定常状態へと回復させる。この計算機システムの仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209、また既存の情報である仮想計算機状態5009より、転送元が図11に定義したいずれの状態であるかを判定できる。そのため、回復処理部202は、まず仮想化機構上のリカバリ情報208と、ストレージ上のリカバリ情報209、仮想計算機状態5009に基づき仮想計算機の状態5001を判別する。
【0192】
判別した状態が状態6001または状態6010である場合には、定常状態であることから、回復処理は成功となる。
【0193】
判別した状態が状態6003である場合には、仮想計算機に対してID引継処理は実施されていないため、ロールバックにより回復を実施する。状態6003の仮想計算機は、状態6001と同じ状態であることから、S6225により引継処理部201を初期化し、回復処理は成功となる。
【0194】
判別した状態が状態6004である場合には、転送先サーバ102は転送元IDを失っている可能性があるため、ロールバックにより回復を実施する。そこで、S6218により転送元仮想計算機の抑止設定211と転送元サーバのリカバリ情報208を抑止無効とし、定常状態である状態6001へ遷移させ、回復処理は成功となる。
【0195】
判別した状態が状態6005である場合、転送先サーバ102が仮想計算機構成情報310へ転送元IDを持つ仮想計算機を保存完了しているか、未保存であるかに基づいて、回復処理を選択する。
【0196】
回復処理部202は、転送先サーバ102の回復処理部302とネットワークを介して仮想計算機構成情報310の保存が完了しているかの情報を取得する。もし、保存完了していない場合には、S6219により転送元仮想計算機の抑止設定211と転送元サーバ101の仮想化機構上のリカバリ情報208とストレージ上のリカバリ情報209を抑止無効とし、定常状態である状態6001へ遷移させ、回復処理は成功となる。もし、保存が完了している場合には、転送先に転送元IDを持つ仮想計算機が定義されているため、転送先サーバ101の回復処理部202はストレージ上のリカバリ情報209に基づいて、転送元仮想計算機を状態6010に遷移させることが可能であるため、ロールフォワードによる回復処理を実施する。ロールフォワードによる回復処理として、S6226により、仮想計算機構成情報310の保存完了が確認できるため、リカバリ情報209に保持された転送先IDを転送元仮想計算機へ設定し、状態6006へ遷移させる。
【0197】
判別した状態が状態6006である場合、S6204により転送先に転送元IDを持つ仮想計算機が定義されているため、転送先サーバ101の回復処理部202はストレージ上のリカバリ情報209に基づいて、転送元仮想計算機を状態6010に遷移させることが可能であり、状態6007、状態6008、状態6009においても同様である。これより、状態6006、状態6007、状態6008、状態6009である場合には、ロールフォワードにより回復処理を実施する。
【0198】
これより、状態6006である場合には、ロールフォワードを実施するため、まずリカバリ情報209に保持された転送先IDを転送元仮想計算機へ設定し、仮想計算機を削除することにより(S6220)、状態6008へと遷移させる。
【0199】
判別した状態が状態6008である場合、ロールフォワードを実施するため、S6221により仮想計算機をストレージ上の仮想計算機構成情報210へ保存し、状態6009へと遷移させる。
【0200】
判別した状態が状態6009である場合、ロールフォワードを実施するため、S6222によりストレージ上のリカバリ情報209へ抑止無効を設定し、状態6010へと遷移させ、状態6010は定常状態であることから、回復処理は成功となる。
【0201】
続いて、図12、図10に基づき、転送先サーバ102における障害状態から定常状態への回復処理を説明する。本発明では、本発明によりシステムへ追加した仮想化機構上のリカバリ情報308と、ストレージ上のリカバリ情報309、仮想化機構生存情報313、また既存の情報である仮想計算機状態5029より、転送元が図11に定義したいずれの状態であるかを判定できる。そのため、回復処理部302は、まず仮想化機構上のリカバリ情報308と、ストレージ上のリカバリ情報309、仮想化機構生存情報313、仮想計算機状態5029に基づき仮想計算機の状態5021を判別する。
【0202】
判別した状態が状態6101または状態6113である場合には、定常状態であることから、回復処理は成功となる。
【0203】
判別した状態が状態6102である場合、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6326により転送先サーバ102の仮想化機構上のリカバリ情報308を抑止無効とすることで、状態6101とし、回復成功とする。
【0204】
判別した状態が状態6103である場合、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6327により転送先サーバ102の仮想化機構上のリカバリ情報308を抑止無効とし、ストレージ上のリカバリ情報309を抑止無効とし、状態6101へ遷移させ、回復成功とする。
【0205】
判別した状態が状態6104である場合、仮想計算機は定義されているが、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6328により転送先サーバ102の仮想計算機を削除し、状態6103へ遷移させ、以降状態6103からの回復処理を実施する。
【0206】
判別した状態が状態6105である場合、仮想計算機は定義されているが、転送先サーバ102は転送元IDを持たないためロールバックによる回復処理を実施する。そこで、S6329により転送先サーバ102の仮想計算機を削除し、状態6103へ遷移させ、以降状態6103からの回復処理を実施する。
【0207】
判別した状態が状態6106である場合、仮想計算機は定義され、転送元サーバのIDが設定されているが、転送元サーバ101が転送先IDを保持していない可能性があるため、ロールバックによる回復処理を実施する。そこで、S6330により転送先サーバ102の仮想計算機のIDを初期化することで、状態6104へ遷移させ、以降状態6104からの回復処理を実施する。
【0208】
判別した状態が状態6107である場合、仮想計算機は転送元IDを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、S6338にて仮想計算機の抑止設定311へID解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態6122へ遷移させ、以降状態6122からの回復処理を実施する。
【0209】
判別した状態が状態6108である場合も状態6107同様、仮想計算機は転送元IDを持ち起動している状態であるが、仮想化機構にて障害が発生し、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性があるため、ロールバックによる回復を行う。ただし、仮想計算機は起動しているため、S6340にて仮想計算機の抑止設定311へID解放待機を設定し、仮想計算機が停止された後に再度起動されないことを保障した状態である状態6122へ遷移させ、以降状態6122からの回復処理を実施する。
【0210】
判別した状態が状態6109である場合、仮想化生存情報が有効であることから、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が仮想化機構上に存在していることが判定可能であり、またS1120により、転送元サーバ101が転送先IDをストレージ上のリカバリ情報209へ保存完了し障害発生後も転送先IDを転送元サーバ101上に復元可能であると判断できるため、ロールフォワードによる回復を行う。S6334にて、取得済IDに基づきストレージ上のリカバリ情報309の保存を行い、状態6110へと遷移させ、以降状態6110からの回復処理を実施する。
【0211】
判別した状態が状態6110である場合、ストレージ上にリカバリ情報309が保存されていることから、ストレージ上のリカバリ情報309内の設定予定ID1504より転送元IDを取得可能であるため、仮想計算機の構成情報保存を実施することができる。これより、転送先サーバ102の回復処理部302は、ストレージ上のリカバリ情報309に基づいて、ロールフォワードによる回復を行う。S6335にて、仮想計算機をストレージ上の仮想計算機構成情報310へ保存し、状態6111へと遷移させ、以降状態6111からの回復処理を実施する。
【0212】
判別した状態が状態6111である場合、ストレージ上へ仮想計算機構成情報310が保存されているため、転送先サーバ102はID引継処理完了状態の仮想計算機を復元することができるため、ロールフォワードによる回復処理を実施する。S6336により、ストレージ上のリカバリ情報309を抑止無効とし、状態6112へ遷移させ、以降状態6112からの回復処理を実施する。
【0213】
判別した状態が状態6112である場合、ストレージ上はID引継処理完了状態となっているが、仮想化機構上のリカバリ情報308および仮想計算機の抑止設定311が抑止有効となっている状態である。そのため、ロールフォワードによる回復処理を実施する。S6337により、仮想化機構上のリカバリ情報308および仮想計算機の抑止設定311へ抑止無効を設定し、状態6113とする。状態6113はID引継完了後の状態であることから、回復は成功となる。
【0214】
ID引継処理中にサーバ停止障害が発生するなどして、判別した状態が状態6121である場合、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われているため、ロールバックによる回復を行う。S6331により、転送先仮想計算機のIDを初期化し、状態6104へ遷移させ、以降状態6104からの回復処理に従う。
【0215】
転送先サーバ102にて、仮想計算機が起動した状態で仮想化機構に障害が発生するなどして、転送先仮想計算機をストレージ上の仮想計算機構成情報310へ保存するために必要な情報である取得済ID307が失われている可能性がある場合、仮想計算機の停止を確認した後、ロールバック処理を実施する必要があるため、状態6122への遷移が発生する。判別した状態が状態6122である場合、転送先サーバ102の仮想計算機の停止を待機した後に、転送先サーバ102の仮想計算機のIDを初期化し、状態6104とする。以降状態6104からの回復処理に従う。
【0216】
本発明の回復処理では、転送元サーバ101の回復処理において転送元サーバ101をロールバックするかロールフォワードを選択する際に、状態6005にて、転送先サーバ102上で仮想計算機が仮想計算機構成情報310へ保存完了したか未保存かを判定し、保存完了である場合はロールフォワードによる回復処理を、未保存である場合はロールバックによる回復処理を実施する。転送先サーバ102の回復処理においては、転送先仮想計算機が仮想計算機構成情報310へ保存完了している状態6110、状態6111、状態6112、状態6113はすべてロールフォワードによる回復処理が実施される。また、状態6109においてもロールフォワードによる回復処理が実施されるが、回復処理により転送先仮想計算機は仮想計算機構成情報310へ保存され、転送先サーバ102での回復処理による仮想計算機構成情報310保存完了は、転送元サーバ101の回復処理部202へ通知されるため、転送元サーバ101の回復もロールフォワードによる回復処理が実施される。転送先サーバ102の状態が上記以外である場合には、転送先サーバ102ではロールバックによる回復処理が実施され、転送先サーバ102におけるロールバックによる回復処理では転送元サーバ101の回復処理部202へ構成情報保存完了は通知されないため、転送元サーバ101の回復処理部202もロールバック処理を実施するため、ID引継処理中に障害が発生した場合も、本発明の回復手順に従う限り、転送元仮想計算機のIDと転送先仮想計算機のIDが重複していない定常状態へと遷移させることができる。
【符号の説明】
【0217】
101・・・転送元サーバ、102・・・転送先サーバ、401・・・ID引継管理サーバ、201・・・転送元サーバ引継処理部、202・・・転送元サーバ回復処理部、206・・・転送元サーバの仮想計算機抑止ルール、207・・・転送元サーバの取得済ID、208・・・転送元サーバの仮想化機構上のリカバリ情報、301・・・転送先サーバ引継処理部、302・・・転送先サーバ回復処理部、306・・・転送先サーバの仮想計算機抑止ルール、307・・・転送先サーバの取得済ID、308・・・転送先サーバの仮想化機構上のリカバリ情報。
【特許請求の範囲】
【請求項1】
CPU、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにおいて、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする計算機システム。
【請求項2】
前記装置識別情報の引継時に障害発生が無い場合、同期処理部による引継処理が正常終了したとして、前記計算機システムを定常状態に遷移させることを特徴とする請求項1記載の計算機システム。
【請求項3】
前記装置識別情報の引継時に、前記計算機の電源が停止した障害発生が有る場合、前記計算機システムをサーバ停止状態に遷移させ、
前記計算機の電源の再投入後に、前記仮想計算機の起動抑止が無効であるかを判断し、
前記仮想計算機の起動抑止が無効である場合、前記計算機システムを定常状態に遷移させ、
前記仮想計算機の起動抑止が無効でない場合、前記計算機システムを障害状態に遷移させ、前記仮想化機構の回復処理部による回復処理を実行する
ことを特徴とする請求項1記載の計算機システム。
【請求項4】
前記装置識別情報の引継時の障害発生の有無を、前記引継処理部の仮想計算機の操作部、同期処理部、又は引継ぎ処理部の何れか検出して判断することを特徴とする請求項1記載の計算機システム。
【請求項5】
前記論理インターフェースは、仮想HBA又は仮想NICであり、
前記装置識別情報は、前記仮想HBAのWWN又は前記仮想NICのMACアドレスであることを特徴とする請求項1記載の計算機システム。
【請求項6】
前記引継処理部は、装置識別情報の引継時にリカバリ情報を生成し、
前記リカバリ情報は、仮想計算機の番号、前記仮想計算機の抑止状態、前記仮想計算機の転送側情報、及び引継時に設定予定の装置識別情報を含み、
前記リカバリ情報は、前記計算機又は前記記憶装置の少なくとも何れか一方に保持されることを特徴とする請求項1記載の計算機システム。
【請求項7】
請求項6記載の計算機システムにおいて、前記仮想化機構上に仮想化機構生存情報を有し、前記引継処理部による前記リカバリ情報の生成時に、前記仮想化機構生存情報を有効とすることにより、前記リカバリ情報の生成に失敗した場合においても、前記仮想化機構生存情報により、前記仮想化機構が有効であることを判別し、再度、前記リカバリ情報の保存を試行可能なことを特徴とする請求項1記載の計算機システム。
【請求項8】
前記仮想化機構の回復処理部は、前記リカバリ情報と、転送先の仮想計算機が計算機の電源停止後も復元可能であるかと、転送先の仮想計算機の起動状態と、転送先の仮想化機構生存情報が有効であるかを参照することにより、障害発生前の引継処理部の処理を識別し、
前記識別した引継処理部の処理結果が、
転送元の仮想計算機の抑止設定が抑止無効の場合、処理を行わず、回復完了とし、
転送元の仮想計算機の抑止設定が抑止有効かつ前記仮想計算機が計算機の電源停止後も復元可能でない場合、前記仮想計算機の前記装置識別情報を初期化し、抑止無効とし、回復完了とし、
転送元の仮想計算機の抑止設定が抑止有効かつ計算機の電源停止後も復元可能な場合、前記仮想計算機のリカバリ情報へ記録された転送完了後の前記装置識別情報を付与し、削除許可とし、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送元の仮想計算機の抑止設定が削除許可の場合、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
識別した引継処理部の処理結果が、
転送先の仮想計算機の抑止設定が抑止無効の場合、処理を行わず、回復完了とし、
転送先の仮想計算機の抑止設定が仮定義かつ前記仮想計算機が停止している場合、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が仮定義かつ前記仮想計算機が起動している場合、前記仮想計算機をID解放待機状態とし、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が抑止有効かつ前記仮想化機構生存情報が無効である場合、前記仮想計算機をID解放待機状態とし、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が抑止有効かつ前記仮想化機構生存情報が有効である場合、前記仮想計算機を前記仮想計算機保持ストレージ上へ保管し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定がID解放待機の場合、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とすることを特徴とする請求項1記載の計算機システム。
【請求項9】
CPU、メモリ、インターフェースを有する計算機上で仮想計算機を稼動させる仮想化機構において、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機を障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする仮想化機構。
【請求項10】
CPU、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにける障害回復方法において、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構の仮想計算機操作部により、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶し、
前記仮想化機構の同期処理部により、前記仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行い、
前記仮想化機構の抑止設定部により、前記仮想計算機の抑止設定を行い、
前記仮想計算機操作部、同期処理部および抑止設定部を含む引継処理部により、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記回復処理部により、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする計算機システムの障害回復方法。
【請求項1】
CPU、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにおいて、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする計算機システム。
【請求項2】
前記装置識別情報の引継時に障害発生が無い場合、同期処理部による引継処理が正常終了したとして、前記計算機システムを定常状態に遷移させることを特徴とする請求項1記載の計算機システム。
【請求項3】
前記装置識別情報の引継時に、前記計算機の電源が停止した障害発生が有る場合、前記計算機システムをサーバ停止状態に遷移させ、
前記計算機の電源の再投入後に、前記仮想計算機の起動抑止が無効であるかを判断し、
前記仮想計算機の起動抑止が無効である場合、前記計算機システムを定常状態に遷移させ、
前記仮想計算機の起動抑止が無効でない場合、前記計算機システムを障害状態に遷移させ、前記仮想化機構の回復処理部による回復処理を実行する
ことを特徴とする請求項1記載の計算機システム。
【請求項4】
前記装置識別情報の引継時の障害発生の有無を、前記引継処理部の仮想計算機の操作部、同期処理部、又は引継ぎ処理部の何れか検出して判断することを特徴とする請求項1記載の計算機システム。
【請求項5】
前記論理インターフェースは、仮想HBA又は仮想NICであり、
前記装置識別情報は、前記仮想HBAのWWN又は前記仮想NICのMACアドレスであることを特徴とする請求項1記載の計算機システム。
【請求項6】
前記引継処理部は、装置識別情報の引継時にリカバリ情報を生成し、
前記リカバリ情報は、仮想計算機の番号、前記仮想計算機の抑止状態、前記仮想計算機の転送側情報、及び引継時に設定予定の装置識別情報を含み、
前記リカバリ情報は、前記計算機又は前記記憶装置の少なくとも何れか一方に保持されることを特徴とする請求項1記載の計算機システム。
【請求項7】
請求項6記載の計算機システムにおいて、前記仮想化機構上に仮想化機構生存情報を有し、前記引継処理部による前記リカバリ情報の生成時に、前記仮想化機構生存情報を有効とすることにより、前記リカバリ情報の生成に失敗した場合においても、前記仮想化機構生存情報により、前記仮想化機構が有効であることを判別し、再度、前記リカバリ情報の保存を試行可能なことを特徴とする請求項1記載の計算機システム。
【請求項8】
前記仮想化機構の回復処理部は、前記リカバリ情報と、転送先の仮想計算機が計算機の電源停止後も復元可能であるかと、転送先の仮想計算機の起動状態と、転送先の仮想化機構生存情報が有効であるかを参照することにより、障害発生前の引継処理部の処理を識別し、
前記識別した引継処理部の処理結果が、
転送元の仮想計算機の抑止設定が抑止無効の場合、処理を行わず、回復完了とし、
転送元の仮想計算機の抑止設定が抑止有効かつ前記仮想計算機が計算機の電源停止後も復元可能でない場合、前記仮想計算機の前記装置識別情報を初期化し、抑止無効とし、回復完了とし、
転送元の仮想計算機の抑止設定が抑止有効かつ計算機の電源停止後も復元可能な場合、前記仮想計算機のリカバリ情報へ記録された転送完了後の前記装置識別情報を付与し、削除許可とし、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送元の仮想計算機の抑止設定が削除許可の場合、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
識別した引継処理部の処理結果が、
転送先の仮想計算機の抑止設定が抑止無効の場合、処理を行わず、回復完了とし、
転送先の仮想計算機の抑止設定が仮定義かつ前記仮想計算機が停止している場合、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が仮定義かつ前記仮想計算機が起動している場合、前記仮想計算機をID解放待機状態とし、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が抑止有効かつ前記仮想化機構生存情報が無効である場合、前記仮想計算機をID解放待機状態とし、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定が抑止有効かつ前記仮想化機構生存情報が有効である場合、前記仮想計算機を前記仮想計算機保持ストレージ上へ保管し、抑止無効とすることで回復完了とし、
転送先の仮想計算機の抑止設定がID解放待機の場合、前期仮想計算機がユーザにより停止された後に、前記仮想計算機の前記装置識別情報を初期化し、前記仮想計算機を削除し、抑止無効とすることで回復完了とすることを特徴とする請求項1記載の計算機システム。
【請求項9】
CPU、メモリ、インターフェースを有する計算機上で仮想計算機を稼動させる仮想化機構において、
前記仮想化機構は、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶する仮想計算機操作部と、仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行う同期処理部と、前記仮想計算機の抑止設定を行う抑止設定部とを有する引継ぎ処理部を備え、
前記引継処理部は、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機を障害状態に遷移させ、
前記仮想化機構の回復処理部は、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする仮想化機構。
【請求項10】
CPU、メモリ、インターフェースを有する複数の計算機と、前記計算機のインターフェースとスイッチを介して接続される記憶装置とを備える計算機システムにける障害回復方法において、
前記計算機は、前記計算機上で仮想計算機を稼動させる仮想化機構を有し、
前記仮想化機構の仮想計算機操作部により、前記仮想計算機に割り付け可能な論理インターフェースと装置識別情報とを対応付けて記憶し、
前記仮想化機構の同期処理部により、前記仮想計算機間での装置識別情報の引継要求により装置識別情報の引継処理を行い、
前記仮想化機構の抑止設定部により、前記仮想計算機の抑止設定を行い、
前記仮想計算機操作部、同期処理部および抑止設定部を含む引継処理部により、業務を実行する仮想計算機を切り替える際、転送側の仮想計算機の装置識別情報を転送先の仮想計算機へ引継ぐ引継時の障害発生の有無を判断し、
前記装置識別情報の引継時に障害発生が有る場合、前記計算機システムを障害状態に遷移させ、
前記回復処理部により、
前記仮想計算機の抑止設定に基づき障害発生前の引継処理部の処理を識別し、
識別した引継処理部の処理結果に応じて障害を回復する回復処理を実行する
ことを特徴とする計算機システムの障害回復方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2011−186967(P2011−186967A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−53944(P2010−53944)
【出願日】平成22年3月11日(2010.3.11)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願日】平成22年3月11日(2010.3.11)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]