(57)【要約】【課題】ＶＯＬレプリカ手段による副ＶＯＬの変更を待機系に反映する方法及びシステムを提供することにある。【解決手段】ボリュームレプリカを用いて正ボリュームと副ボリュームを操作する現用／待機系コンピュータシステムにおいて、  現用系がボリュームレプリカを実行後、副ボリュームが変更されたことを待機系に通知し、待機系は変更された副ボリューム情報を自系に反映する。これにより、現用系に障害が発生し、系切替が行われた後も、待機系反映された情報を元に副ボリュームに対してアクセスし、処理を続行する。【選択図】  図１
2004272318.tif 000002
【特許請求の範囲】
【請求項１】
複数台から構成されるコンピュータシステムにおいて、現用系と現用系の処理を引き継ぐ待機系とを含むコンピュータシステムと、現用系と待機系で共有された少なくとも正ボリュームと副ボリュームからなる一対のボリュームと、前記一対のボリュームを対象とするボリュームレプリカ手段を有する一台または複数台のディスク装置と、現用系コンピュータシステムでのボリュームレプリカの実行の開始と完了とを待機系に通知する手段とを備えたことを特徴とする系切り替えシステム。
【請求項２】
前記請求項１記載の系切り替えシステムにおいて、前記請求項１の通知手段によって送信されたボリュームレプリカ実行完了の通知を待機系コンピュータが受信し、副ボリューム情報反映処理を実行する手段を備えたことを特徴とする系切り替えシステム。
【請求項３】
前記請求項２記載の系切り替えシステムにおいて、前記請求項２の手段の実行後に待機系が現用系に副ボリューム情報反映処理の実行完了を通知する手段を備えたことを特徴とする系切り替えシステム。
【請求項４】
前記請求項３記載の系切り替えシステムにおいて、前記請求項３の通知手段によって送信された副ボリューム反映処理完了通知を現用系が受信する手段を持ち、現用系／待機系コンピュータシステム間で副ボリューム情報の一貫性を保証することを特徴とする系切り替えシステム。
【請求項５】
前記請求項４記載の系切り替えシステムにおいて、ボリュームレプリカの実行と副ボリューム情報の一貫性の保証処理を実行中である現用系あるいは待機系コンピュータシステムに障害が発生した場合に、該処理を継続して実行する手段を備えたことを特徴とする系切り替えシステム。
【請求項６】
一台の現用系コンピュータシステムと、現用系に接続された少なくとも正ボリュームと副ボリュームからなる一対のボリュームと、前記一対のボリュームを対象とするボリュームレプリカ手段を有する一台または複数台のディスクから構成されるコンピュータシステムであって、少なくとも前記現用系の処理を引き継ぐ待機系コンピュータシステムが新たに追加されたことを契機として、現用系コンピュータシステムでのボリュームレプリカの実行状態を待機系に通信する手段と、前記実行状態から副ボリューム情報反映処理を実行する手段と、情報反映処理を実行後に現用系から待機系に情報反映処理完了を通知する手段と前記反映処理実行完了通知を現用系が受信する手段とを用いることにより、前記一対のボリュームを共有する現用系と待機系コンピュータとを含む高可用性コンピュータシステムとを備えたことを特徴とする系切り替えシステム。
【請求項７】
前記請求項７の記載の系切り替えシステムにおいて、現用系あるいは待機系コンピュータシステムに障害が発生した場合に、ボリュームレプリカの実行と副ボリューム情報の一貫性の保証を継続して実行する手段とを備えたことを特徴とする系切り替えシステム。
【請求項８】
現用系と現用系の処理を引き継ぐ待機系とを含み、現用系と待機系で共有された少なくとも正ボリュームと副ボリュームからなる一対のボリュームと、前記一対のボリュームを対象とするボリュームレプリカ手段を有する一台または複数台のディスク装置とをコンピュータシステム有するコンピュータシステムにおける系切り替え方法において、現用系コンピュータシステムでのボリュームレプリカの実行の開始と完了とを待機系に通知し、運用を開始することを特徴とする系切り替え方法。
【請求項９】
現用系と現用系の処理を引き継ぐ待機系とを含み、現用系と待機系で共有された少なくとも正ボリュームと副ボリュームからなる一対のボリュームと、前記一対のボリュームを対象とするボリュームレプリカ手段を有する一台または複数台のディスク装置とをコンピュータシステム有するコンピュータシステムにおける系切り替えプログラムにおいて、現用系コンピュータシステムでのボリュームレプリカの実行の開始と完了とを待機系に通知し、運用を開始することを特徴とする系切り替えプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は現用系と待機系を少なくとも有する障害許容性のあるコンピュータシステム技術に関する。
【０００２】
【従来の技術】
現代社会において、コンピュータシステムは我々の生活を支える生活基盤として無くてはならない存在となっている。こうしたコンピュータシステムは２４時間停止することなく、サービスを継続することが要求される。こうしたコンピュータシステムの一つとして、銀行などのオンラインシステムがあり、その中核処理としてデータベース業務がある。こうしたデータベース業務は絶えず更新されうるため、完全停止することが許されない。しかし、一方で扱うデータの保護のため、適宜バックアップを生成したいという需要がある。
データベースでは扱うデータを磁気ディスク装置に予め設定された記憶領域もしくは格納領域であるボリューム（以後、ＶＯＬと省略）に格納し、処理を行っている。ＶＯＬは上記記憶領域の単位であり、パーティション等の名称で呼ばれることもある。ＶＯＬは、物理ＶＯＬ識別子（ＰＶＩＤ）によって識別されており、このＰＶＩＤを利用してＶＯＬ情報を取得することによってコンピュータシステムから認識される。このＰＶＩＤとＶＯＬ情報は、ディスク管理プログラムによって取得され、オペレーティングシステム（ＯＳ）上のディスク管理情報バッファに保存される。データベースなどのアプリケーションやＯＳは、このバッファの情報を元にして認識されたＶＯＬへのアクセス（読み書き）を行う。
【０００３】
上述のように、データベースを完全停止させないでＶＯＬの複製を実現する技術が重要である。ここでいう完全停止とは、システム障害があった場合でも業務上支障のない範囲の短時間に回復することを意図しており、システム利用者からシステムが停止しているというように見えないことをいう。このような技術として、特開２００２−４１３６８号に開示される技術のようなディスク内のデータをディスク装置内で複製（レプリカ）を実行するものがあり、これをＶＯＬに適用したＶＯＬレプリカという技術がある。このＶＯＬレプリカには、データ複製元である正ＶＯＬとデータ複製先である副ＶＯＬとからなる一対のＶＯＬを対象としたペア構成とペア分割という二つの手段からなる。ペア構成は、正／副ＶＯＬのＰＶＩＤとＶＯＬ情報とを含む全てのデータとを一致（同期）させることにより、正ＶＯＬの複製である副ＶＯＬを高速に生成する手段である。従って、ペア構成の状態では、正／副ＶＯＬのＰＶＩＤが一致した状態にあり、一つのＶＯＬとして上位のコンピュータシステムに見える機能を提供する。一方、ペア分割は、ペア構成となっている一対のＶＯＬのうち、副ＶＯＬのＰＶＩＤを正ＶＯＬとは違うＰＶＩＤに書き換える手段である。これにより、ペア構成時に上位のコンピュータシステムに対して一つに見えた一対のＶＯＬを分割し、正ＶＯＬと副ＶＯＬとの別々のＶＯＬとして見える機能を提供する。これらの二つの手段により、正ＶＯＬの複製を高速に生成し、複製した副ＶＯＬをコンピュータシステムから操作することができる機能が提供される。
【０００４】
一方、短時間で回復する高信頼性を必要とするコンピュータシステムでは、処理を実行する現用系コンピュータシステムと、現用系に障害が発生した際に処理を引き継ぐ待機系コンピュータとを含む構成をとる。現用系で発生した障害の検出から待機系に処理を引き継ぐ手続きは、現用系と待機系を管理するクラスタプログラムによって提供される。処理を引き継ぐためには、アプリケーションやＯＳが使用しているデータを引き継ぐことが必要となる。例えば、上述のデータベースシステムでは、扱うデータが格納されているＶＯＬに関する情報を引き継ぐ必要が生じる。
【０００５】
しかし、上述のＶＯＬ複製技術は、ディスク装置内で複製を行うため、複製を実行したコンピュータ以外では複製したデータに関する情報をもたない。従って、クラスタプログラムを適用したコンピュータシステムにおいて、複製を実行したコンピュータで障害が発生し系切替が発生した場合、切替先のコンピュータは複製したデータに対してアクセスに失敗する。すなわち、系切替先が複製したＶＯＬに対する処理を引き継ぐことができなくなってしまうという問題点がある。
【０００６】
【特許文献１】
特開２００２−４１３６８号
【０００７】
【発明が解決しようとする課題】
一方、短時間で回復する高信頼性を必要とするコンピュータシステムでは、処理を実行する現用系コンピュータシステムと、現用系に障害が発生した際に処理を引き継ぐ待機系コンピュータとを含む構成をとる。現用系で発生した障害の検出から待機系に処理を引き継ぐ手続きは、現用系と待機系を管理するクラスタプログラムによって提供される。処理を引き継ぐためには、アプリケーションやＯＳが使用しているデータを引き継ぐことが必要となる。例えば、上述のデータベースシステムでは、扱うデータが格納されているＶＯＬに関する情報を引き継ぐ必要が生じる。
【０００８】
しかし、上述のＶＯＬ複製技術は、ディスク装置内で複製を行うため、複製を実行したコンピュータ以外では複製したデータに関する情報をもたない。従って、クラスタプログラムを適用したコンピュータシステムにおいて、複製を実行したコンピュータで障害が発生し系切替が発生した場合、切替先のコンピュータは複製したデータに対してアクセスに失敗する。すなわち、系切替先が複製したＶＯＬに対する処理を引き継ぐことができなくなってしまうという問題点がある。
【０００９】
すなわち、ＶＯＬレプリカ（ペア構成・ペア分割）の対象となる正／副ＶＯＬを共有する現用系／待機系コンピュータシステムで障害が発生し、待機系が現用系の処理を引き継いだ場合に、副ＶＯＬへのアクセスに失敗する。なぜなら、ＶＯＬレプリカによって、副ＶＯＬのＰＶＩＤが書き換えられ、この変更は現用系には反映されるが、一方の待機系ではディスク管理情報バッファに格納されたＶＯＬレプリカを実行する以前の情報により、副ＶＯＬに対するアクセスしようとするためである。
【００１０】
このように従来の手法は、高信頼性のためのクラスタプログラムとＶＯＬレプリカとの二つの手段を利用する場合には、現用系と待機系の処理を引き継ぐことのできない状況が発生するという問題があった。
【００１１】
本発明の第一の目的は、ＶＯＬレプリカ手段による副ＶＯＬの変更を待機系に反映する方法及びシステムを提供することにある。
【００１２】
本発明の第二の目的は、ＶＯＬレプリカ手段による副ＶＯＬの変更及び変更の反映を実施中に現用系あるいは待機系に障害が発生した場合に、この副ＶＯＬの変更及び変更の反映を引き継ぐ方法及びシステムを提供することにある。
【００１３】
本発明の第三の目的は、ＶＯＬレプリカ手段実施後に現用系に障害が発生した場合に、現用系が実行していた処理を待機系に引き継ぐ方法及びシステムを提供することにある。
【００１４】
本発明の第四の目的は、ＶＯＬレプリカ手段を利用しているコンピュータシステムを現用系とする待機系が新たに追加された場合に、待機系に副ＶＯＬの変更を反映する方法及びシステムを提供することにある。
【００１５】
本発明の第五の目的は、ＶＯＬレプリカ手段を利用しているコンピュータシステムを現用系とする待機系が新たに追加され、待機系への副ＶＯＬ変更の反映中に現用系あるいは待機系に障害が発生した場合に、この副ＶＯＬの変更及び変更の反映を引き継ぐ方法及びシステムを提供することにある。
【００１６】
本発明の第六の目的は、ＶＯＬレプリカ手段を利用しているコンピュータシステムを現用系とする待機系が新たに追加後に現用系に障害が発生した場合に、現用系が実行していた処理を待機系に引き継ぐ方法及びシステムを提供することにある。
【００１７】
【課題を解決するための手段】
本発明は、現用／待機系コンピュータシステムから構成される高可用性コンピュータシステムであって、現用／待機系がＶＯＬレプリカの実行対象となる一対のＶＯＬを共有しているコンピュータシステムにおいて、クラスタプログラムの起動時に、ＶＯＬレプリカによって変更される副ＶＯＬの物理名を取得する。例えば、ＶＯＬレプリカの設定ファイルに保存されている副ＶＯＬの物理名を読み込むことで、その物理名を取得する。
さらに、現用系でＶＯＬレプリカの実行を行う際には、ＶＯＬレプリカの実行開始時と完了後に待機系に対して通知を行い、これにより待機系は現用系が副ＶＯＬを変更したことを認識する。
【００１８】
待機系は副ＶＯＬの変更が行われたことを通知されると、副ＶＯＬ状態の変更を反映する処理を行う。例えば、ＶＯＬレプリカでペア分割が行われた場合には、取得済みの副ＶＯＬの物理名を用いて、副ＶＯＬのＰＶＩＤが新たに設定されたＰＶＩＤの取得を行い、さらに、このＰＶＩＤを用いて副ＶＯＬの情報を取得する。これにより、変更後の副ＶＯＬ情報が反映され、待機系が副ＶＯＬのアクセスを行うことができる。
【００１９】
待機系は、副ＶＯＬ情報の反映を完了すると、現用系に反映が完了したことを通知する。現用系はこの通知を受信することにより、副ＶＯＬ情報の一貫性が保証されたことを認識する。
【００２０】
各コンピュータシステムはＶＯＬレプリカが現用系で実行されたかどうかと、副ＶＯＬ情報が待機系に反映されているかどうかを表すＶＯＬレプリカ状態を状態フラグとして所有する。また、状態ファイルとしてコンピュータシステム上に記憶しておく。さらに、現用系／待機系で情報をやり取りする場合にこの状態フラグを相手側に通知することで現用系／待機系の処理状態を認識することができる。
【００２１】
さらに、クラスタプログラムの起動時には、起動時のＶＯＬレプリカ状態についても取得し、副ＶＯＬ情報が現用／待機系で一致しているかを調査する。例えば、ＶＯＬレプリカ状態ファイルに保存されている副ＶＯＬ反映状態を読み込むことで、副ＶＯＬ情報が現用／待機系の両方に反映されているかを判断する。副ＶＯＬ情報が待機系に反映されていない場合には、現用系が待機系に副ＶＯＬ情報を反映するように通知し、待機系は副ＶＯＬ情報の反映を行う。これにより、ＶＯＬレプリカ処理や副ＶＯＬ情報の反映処理が中断された場合にも、その中断された処理を引き継いで再開することができる。
【００２２】
【発明の実施の形態】
本発明に関する図と説明は、本発明を鮮明に理解するために適当な要素を示すために簡単化されており、既知の要素については省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ／または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。
【００２３】
本実施例は現用系コンピュータで実行したＶＯＬレプリカ対象となるＶＯＬの情報を待機系コンピュータに反映するＶＯＬ情報一貫性保証システムを提供しようとするものである。
図１は、本実施例による現用／待機系コンピュータモデルのブロック図を表す。
図２は、本実施例によって解決される問題点をもつ従来手法の現用／待機系コンピュータモデルのブロック図を表す。
【００２４】
図１、図２は、処理を行うコンピュータ層と処理に必要なデータを保存するディスク層から構成される。コンピュータ層は複数の現用系コンピュータ１０と複数の待機系コンピュータ２０からなる。各コンピュータは通信し合う手段０１をもつものとする。また、各コンピュータ１０、２０は４つのプログラムを含み、以下の
（１）コンピュータの動作を制御するオペレーティングシステム（ＯＳ）１１、２１、
（２）ディスク管理を行うディスク管理プログラム１２、２２、
（３）系切替による高可用性システムを実現するクラスタプログラム１３、２３、
（４）アプリケーション１４、２４
である。
【００２５】
前記クラスタプログラム１３、２３は前記通信手段０１を用い、互いの情報を交換する機能や障害監視機能とを備える。一方、ディスク層は上位コンピュータ層によって共有されるディスク３０を含む。前記ディスク３０は二つの要素から構成される：（１）情報を保存するＶＯＬ３２、３５、（２）ディスク装置内のＶＯＬを制御するＶＯＬ管理機構３１である。また、前記ＶＯＬ３２、３５は上位の前記コンピュータ層１０、２０からのアクセス対象を識別するためのＰＶＩＤ３３、３６とＶＯＬ情報３４、３７とをそれぞれ有する。
【００２６】
図２における手法では、現用系１０の処理でディスク３０が行ったＶＯＬレプリカによるディスク上の副ＶＯＬ情報の変更（１）は待機系２０には反映されていないため、現用系１０に障害が発生し（２）、クラスタプログラム１３、２３により系切替が生じた（３）場合に副ＶＯＬ３５に対するアクセスを行うことができない（４）。この結果、現用系１０上のアプリケーション１４の副ＶＯＬ３５に対する処理を待機系２０上のアプリケーション２４が正常に引き継ぐことができないことがある。
【００２７】
図１で、本実施例では現用系１０の処理でディスク３０がＶＯＬレプリカによるディスク上の副ＶＯＬ情報の変更（１）を実行したことを契機として、通信手段０１によって現用系クラスタプログラム１３から待機系クラスタプログラム２３に変更が行われたことを通知する（２）。これにより、副ＶＯＬ３５の制御権を一時的に現用系１０から待機系２０に切り替え、この変更された副ＶＯＬ情報３６、３７を待機系２０に反映させる（３）。反映後は、現用系１０は副ＶＯＬ３５の制御権を再び獲得し、副ＶＯＬ３５に対する処理を実行する。これにより、副ＶＯＬ情報が現用系／待機系コンピュータ間で一貫していることが保証されるため、この後、障害が発生した場合に副ＶＯＬに対する処理を引き継ぐことが可能である。
【００２８】
図３は、本実施例における現用／待機系コンピュータのシステムブロックを簡易に示したものである。図３のシステムは一般に２つの要素から構成される：（１）複数のアプリケーションコンピュータを含むコンピュータ層（前記１０、２０に対応）、（２）コンピュータ層が共有するデータを保存するディスク層（前記３０に対応）である。図３では、説明を分かりやすくするために、各プログラムのラベルとして３桁の数字を用いている。また、数字は現用系コンピュータと待機系コンピュータは同一のプログラムに対して同じ下二桁の数字を用い、百の位は現用系コンピュータで１を、待機系コンピュータでは２で表している。以下では、先に各プログラムについて説明する。この説明では、各コンピュータのプログラムは現用系コンピュータ上のプログラム番号で説明しているが、待機系コンピュータ上の対応したプログラムの説明も兼ねる。
【００２９】
ディスク３００は、ボリューム管理部３１０と、ＶＯＬレプリカの対象となる正ＶＯＬ３２０と副ＶＯＬ３３０とを含み、前記正／副ＶＯＬ（３２０、３３０）は、そのＶＯＬの認識にＰＶＩＤ（３２１、３３１）と、ＶＯＬのアクセスに必要なＶＯＬ情報（３３２、３３３）とを含む。
前記ボリューム管理部３１０は、ＶＯＬレプリカを実行し、前記正ＶＯＬ３２０と副ＶＯＬ３３０のＰＶＩＤ（３２１、３３１）とＶＯＬ情報（３３２、３３３）とを変更する機能を有する。
現用系コンピュータ１００は、ＯＳ１３０とクラスタプログラム１２０、ディスク管理プログラム１５０、アプリケーション１５０、及び、ＶＯＬレプリカ定義ファイル１６０、ＶＯＬレプリカ状態ファイル１４０を含む。
【００３０】
前記ＯＳ１３０は、ディスク管理情報バッファ１３１を含む。また、前記ディスク管理プログラム１５０から前記ディスク３００へのアクセスを仲介する。このアクセスでは、アクセスの結果を前記ディスク管理情報バッファ１３１に保存したり、前記ディスク３００へのアクセスをせずに前記バッファ１３１に保存された情報を利用したりすることもある。前記ＶＯＬレプリカ定義ファイル１６０は、ＶＯＬレプリカの実行に必要な定義を含み、例えば、レプリカ対象となる前記正ＶＯＬ３２０と副ＶＯＬ３３０の物理名を含む。
【００３１】
前記ディスク管理プログラム１５０は、現用系コンピュータ１００上で実行されるディスク３００をアクセスするプログラムを含み、例えば、ＶＯＬのロック制御プログラムと、ＶＯＬのＰＶＩＤやＶＯＬ情報を取得するプログラムと、ＶＯＬレプリカ実行プログラムとを含む。これらのプログラムの実行時には、ボリューム管理部３１０に指示を行ったり、前記ディスク管理情報バッファ１３１を読み込んだりすることもある。また、ＶＯＬレプリカ実行プログラムでは、前記ＶＯＬレプリカ定義ファイル１６０を利用することもある。
【００３２】
クラスタプログラム１２０は、ＶＯＬレプリカの対象となる副ＶＯＬの識別情報を保存する副ＶＯＬ識別情報バッファ１２１と、ＶＯＬレプリカの実行状態を保持するＶＯＬレプリカ状態バッファ１２２と、他系との通信を行う通信部１２３と、他系及び自系の状態を監視する機能を提供する監視部１２４と、系切替に関する処理を行う系切替部１２５とを持つ。前記副ＶＯＬ識別情報バッファ１２１は、前記ＶＯＬレプリカ定義ファイル１６０より読出した副ＶＯＬの識別情報を、保持しておくバッファである。
【００３３】
前記監視部１２４は、前記アプリケーション１１０を監視することで自系の障害とＭＲＣＦ（複製作成処理）の実行を検知する機能と、前記通信部１２５を介し待機系のクラスタプログラム２２０の通信部２２３と通信することで自系状態を通知する機能と他系状態の障害及びＶＯＬレプリカの状態を検知する機能とを有する。
【００３４】
前記系切替部１２５は、前記監視部１２４からの自系／他系の障害検知によって実行系・待機系の切替を行う系切替機能を有する。また、同切替部１２５は、同監視部１２４からの自系／他系のＶＯＬレプリカ実行状態の検知によってディスク管理プログラム１５０を介して、ＶＯＬレプリカの実行を制御する機能と、その状態を前記ＶＯＬレプリカ状態フラグ１２２と前記ＶＯＬレプリカ状態ファイル１４０に保持する機能と、ＶＯＬレプリカを利用するアプリケーション１１０に副ＶＯＬの利用停止・再開の通知を行う機能とを有する。さらに、同切替部１２５は、前記ＶＯＬレプリカ定義ファイル１６０を読み込み、前記副ＶＯＬ３３０を識別するために必要となる情報を前記副ＶＯＬ識別情報バッファ１２１に保持する機能も有する。
【００３５】
図４以降は、処理の流れを表している。各図中では、図３の数字と混同を避けるため、４桁の数字を用いている。図４〜図１２中の数字は、上二桁がそれぞれの図番号に対応した数字であり、下二桁のうち、０１〜２０までを現用系コンピュータシステム上の処理、２１〜４０までを待機系コンピュータの処理、４１〜６０までをディスク装置の処理を示している。また、各コンピュータシステムとディスク装置とで行われるデータ交換処理を８０〜９９で示している。また、以下の説明で、現用系の処理を用いて説明している場合であっても、特に明記のない場合は、その処理に対応する待機系の処理も同様に行われることを表すこともある。
【００３６】
図４、図５は、本実施例による現用／待機系コンピュータモデルの処理の流れを簡易に表したものであり、図４はＶＯＬレプリカ手段のうち、ペア分割を実行した場合、図５はペア再構成を実行した場合の処理を表す。
【００３７】
図４、図５で、処理の流れは大きく二つの段階に分けられる：（１）副ＶＯＬ情報反映処理を行う上で必要となる情報をＶＯＬレプリカ実施前に処理しておく前処理部、（２）現用系でのＶＯＬレプリカ手段実行を含む副ＶＯＬ情報一貫性保証処理部である。各処理の詳細について、図３のシステムブロック図と対応づけて、以下に順に説明する。
【００３８】
まず、前記前処理は図４、図５で共通する処理であり、また現用系と待機系コンピュータでも共通する処理を行う。前記前処理は第一にＶＯＬレプリカ定義の読み込み０４０１を行う。これは、現用系コンピュータ１００上のクラスタプログラム１３０がＶＯＬレプリカ定義ファイル１６０を読み込む処理を表す。この定義ファイルから、ＶＯＬレプリカの対象となる副ＶＯＬの物理名を取得する（副ＶＯＬ物理名取得処理０４０２）。ここまでで前処理が終了し、現用系１００は副ＶＯＬ変更が行われるまで本実施例が適用されていない場合の処理を実行し、通常現用状態０４０３になる。
【００３９】
次に、副ＶＯＬ変更が開始されると、前記一貫性保証処理部が実行される。一貫性保証処理は全部で三つの段階に分けられる。（１）Ｓｔａｇｅ  Ｘ：現用系でＶＯＬレプリカを実行する副ＶＯＬ変更処理、（２）Ｓｔａｇｅ  Ｙ：Ｓｔａｇｅ  Ｘで変更された副ＶＯＬ情報を待機系に反映させる副ＶＯＬ変更反映処理、（３）Ｓｔａｇｅ  Ｚ：副ＶＯＬに対する運用を再開する副ＶＯＬ運用再開処理である。
【００４０】
また、前処理は図４、図５で共通する処理であるが、副ＶＯＬ情報一貫性保証処理は、Ｓｔａｇｅ  Ｘでの副ＶＯＬ情報の変更内容が異なり、Ｓｔａｇｅ  Ｙ、Ｓｔａｇｅ  Ｚでの副ＶＯＬ情報反映処理で副ＶＯＬロックと副ＶＯＬへのアクセスが必要であるかが異なるため、図４、図５で別の処理が行われる。
【００４１】
以下で順にＳｔａｇｅ毎の処理の流れを説明する。
Ｓｔａｇｅ  Ｘにおいて、まずディスク管理プログラム１５０によって、副ＶＯＬ変更が実行されると、クラスタプログラム１２０上の系切替部１２５に通知される（副ＶＯＬ変更通知０４０４）。この通知を受け、前記系切替部１２５は監視部１２４、通信部１２３を介し、待機系２００のクラスタプログラム２２０に副ＶＯＬ変更を実行することを通知する（矢印０５８１右向き）。待機系２００は、前記通知０５８１を前記クラスタプログラム２２０上の通信部２２３、監視部２２４を介して、系切替部２２５で受信し、現用系１００で副ＶＯＬ変更処理が実行されることを認識する（副ＶＯＬ変更開始認識処理０５２４）。認識後、現用系１００から待機系２００に対して実行を通知したのと逆の経路によって、待機系２００は認識したことを現用系１００に通知し（矢印０５８１左向き）、副ＶＯＬ変更が完了されるのが通知されるまで待つ。
【００４２】
次に、現用系１００で前記系切替部１２５が前記待機系の認識通知０５８１を受信すると、前記ディスク管理プログラム１３０に処理を戻し、副ＶＯＬ変更を伴う処理を実施する（ＶＯＬレプリカ実施０４０５）。この処理は、ＯＳ１３０あるいはＯＳ上のディスク管理情報バッファ１３１を介して、ディスク装置３００上のボリューム管理部３１０に処理が渡される。前記管理部３１０は、副ＶＯＬの制御権を獲得し、以降の処理を実行する。まず、図５のペア構成０５４１の場合、前記管理部３１０は副ＶＯＬ３３０のＰＶＩＤ３３１が正ＶＯＬ３３０のＰＶＩＤ３２１と同じ値に変更し、処理が終了する（矢印０５８２）。一方、図４のペア分割の場合は、前記管理部３１０が前記ペア構成０５４１により正ＶＯＬのＰＶＩＤ３２１と同じ値になっている前記副ＶＯＬのＰＶＩＤ３３１の値をユニークな別の値へと、また副ＶＯＬのＶＯＬ情報３３２もペア構成を行われる前の値から変更し、処理が終了する（矢印０４８２）。
以上がＳｔａｇｅ  Ｘの処理であり、これによって現用系で副ＶＯＬ変更処理を実施されることを待機系に通知することができる効果をもたらす。これは、待機系がこの副ＶＯＬ変更完了を認識する前に現用系に障害が発生した場合に、前記変更処理が実施されたかどうかを待機系が認識できるようという効果をもたらし、これによって障害発生後に引き継ぐべき処理を認識することができるようになる。
【００４３】
Ｓｔａｇｅ  Ｘの処理に続いて、Ｓｔａｇｅ  Ｙ以降が実行されるが、ペア分割時（図４）とペア構成時（図５）で異なる処理になる。以下に図４、図５の順に詳細な処理を示す。
ペア分割時（図４）の場合、待機系２００が前記副ＶＯＬ３２０に対して処理を実行できるように、現用系１００は前記ＶＯＬレプリカ処理０４０５時に獲得された副ＶＯＬ３２０の制御権を解放する（副ＶＯＬ解放０４０６）。この処理は、前記系切替部１２５が前記管理プログラム１３０を介して、前記ＶＯＬレプリカ処理０４０５で獲得した副ＶＯＬの制御権を解放するように前記管理部３１０が呼ばれる（矢印０４８３右向き）。前記管理部３１０は、副ＶＯＬ３２０の制御権を解放する（副ＶＯＬ解放０４４２）ことで完了する。
【００４４】
前記副ＶＯＬ解放処理０４０６が終了すると、副ＶＯＬ変更完了通知処理０４０７が実行され、現用系１００の系切替部１２５は、実行を通知した時と同様のパスを通じて、待機系２００上の系切替部２２５に対して副ＶＯＬ変更が完了したことを通知する（矢印０４８４右向き）。現用系１００は、前記副ＶＯＬ変更通知を待機系が受信したことを確認して副ＶＯＬ変更通知処理０４０７を終了し、待機系が変更された副ＶＯＬ情報の反映を完了するのを待つ。
【００４５】
一方、前記副ＶＯＬ変更通知を受けた待機系２００上の系切替部２２５は、現用系で副ＶＯＬ変更が行われたことを認識し（副ＶＯＬ変更完了認識処理０４２５）、ディスク管理プログラム２３０を介して、副ＶＯＬ情報の反映処理を行う。まず、副ＶＯＬの制御権の獲得を行う（副ＶＯＬ獲得０４２６）。副ＶＯＬの獲得処理は前記副ＶＯＬの解放処理と同様の処理の流れで行われる（矢印０４８５、副ＶＯＬ獲得０４４３）。
【００４６】
前記副ＶＯＬ獲得処理０４２６の後、副ＶＯＬのＰＶＩＤ取得処理０４２７が行われる。前記ＰＶＩＤ取得処理０４２７では、前記系切替部２２５が前記前処理０４２２で取得した前記副ＶＯＬ物理名を用い、ディスク管理プログラム０２３０を実行する。前記プログラム０２３０は  ＯＳ上のディスク管理情報バッファ２３１を介さず、ディスク装置３００上の前記ボリューム管理部３１０を直接呼び出し（矢印０４８６左向き）、前記管理部３１０は副ＶＯＬ３３０のＰＶＩＤ３３１を読み出し（副ＶＯＬ  ＰＶＩＤ取得０４４４）、返す（矢印０４８６右向き）。これにより、前記系切替部２２５は前記副ＶＯＬのＰＶＩＤ３３１を得る（副ＶＯＬ  ＰＶＩＤ取得処理０４２７）。この時、前記ディスク管理プログラム２５０は、前記処理０４２７で取得した副ＶＯＬのＰＶＩＤ３３１をディスク管理情報バッファ２３１に格納する。
【００４７】
前記副ＶＯＬ  ＰＶＩＤ取得処理０４２７の後、副ＶＯＬ情報取得処理０４２８が行われる。前記ＶＯＬ情報取得処理０４２８では、前記系切替部２２５が前記ＰＶＩＤ取得処理０４２７で取得した副ＶＯＬのＰＶＩＤ３３１を用い、ディスク管理プログラム０２３０を実行する。前記プログラム３２０は、前記処理０４２７同様の処理の流れで前記管理部３１０を呼び、副ＶＯＬのＶＯＬ情報３３２を取得する（矢印０４８７、副ＶＯＬ情報取得処理０４４５）。この時も前記処理０４２７と同様に、前記ディスク管理プログラム２５０は取得された前記副ＶＯＬ情報３３２をディスク管理情報バッファ２３１に格納する。
【００４８】
前記処理０４２８の完了後、前記副ＶＯＬ獲得処理０４２６と同じ処理の流れで、前記系切替部２２５は副ＶＯＬの解放処理を行う（副ＶＯＬ解放処理０４２９、０４４６、矢印０４８８）。一方、ペア構成の場合（図５）、副ＶＯＬ３２０は変更され、正ＶＯＬ３１０と併せて一つのＶＯＬとして現用系１００／待機系２００から見なされる状態にある。そのため、待機系２００がディスク管理情報バッファ上に格納している副ＶＯＬのＰＶＩＤ３３１、ＶＯＬ情報３３２により、存在しない変更前の副ＶＯＬにアクセスしエラーを発生することを消去する必要がある。従って、現用系１００は副ＶＯＬ変更完了通知処理０５０６により待機系２００に副ＶＯＬ変更完了を通知する（矢印０５８３）。ここで前記処理０５０６、通知（矢印０５８３）、及び待機系の副ＶＯＬ変更完了認識処理０５２５は、前記処理０４０７、通知（矢印０４８４）、処理０４２５と同等の処理が行われ、待機系２００上の系切替部２２５に副ＶＯＬが変更されたことが認識される。
【００４９】
副ＶＯＬ変更を認識した前記系切替部２２５は、ディスク管理プログラム２３０を介して、副ＶＯＬ情報の反映処理である副ＶＯＬ情報削除処理０５２６を実行する。前記処理０５２６では、前記プログラム２３０がディスク管理情報バッファ２３１に対して処理を行い、前期バッファ２３１上に格納されたペア分割状態における副ＶＯＬのＰＶＩＤ３３１及びＶＯＬ情報３３２を消去する。
【００５０】
以上で、副ＶＯＬ情報反映処理Ｓｔａｇｅ  Ｙが完了する。これによって、現用系で実施されたＶＯＬレプリカによって変更された副ＶＯＬ情報が待機系に反映される、ペア分割時（図４）においては待機系が副ＶＯＬのアクセスを行うことが可能となる効果と、ペア構成時（図５）においては待機系が存在しない副ＶＯＬにアクセスを行うのを防ぐ効果とをもたらす。
【００５１】
ここで説明するペア構成時とは、レプリカの開始をいい、副ＶＯＬは副ＶＯＬのＰＶＩＤとＶＯＬ情報が変更され、  上位層からは隠蔽されてみえる。そのため、上位層からは正ＶＯＬのみが認識可能であり、その結果、正ＶＯＬに対してのみアクセスが可能になる。但し、本装置では正ＶＯＬへのｗｒｉｔｅは副ＶＯＬにも、同期または非同期で反映される。
【００５２】
ここで説明するペア分割時とは、レプリカの終了をいい、ＶＯＬの内容はペア分割時の正ＶＯＬと同じ状態が保持されたまま、副ＶＯＬのＰＶＩＤとＶＯＬ情報が変更され、正ＶＯＬと分離した一つのＶＯＬとして上位層から認識可能になる。上位層からは正ＶＯＬと副ＶＯＬと個別にアクセス要求を出すことができる状態となる。
【００５３】
Ｓｔａｇｅ  Ｙの後、Ｓｔａｇｅ  Ｚが実行される。待機系２００は前記処理０４２９の後、反映完了通知０４３０を実行し、現用系２００の系切替部２２５は、実行を通知した時と同様のパスを通じて、待機系１００上の系切替部１２５に対して副ＶＯＬ情報が待機系に反映されたことを通知する（矢印０４８９右向き）。現用系２００は、前記通知を現用系が受信したことを確認して前記処理０４３０を終了する。
ここで、前記処理０４１０において、正／副ＶＯＬ間で、ＰＶＩＤやＶＯＬ情報以外の、データが一致していない場合がある。これは以下の理由による。正／副ＶＯＬのデータは一致していたペア分割（副ＶＯＬ変更処理０４０１）の後、前記処理０４１０が実行されるまでに、正ＶＯＬの運用が継続され、その結果、正ＶＯＬが更新されている場合があるためである。ここで、正／副ＶＯＬの一致が必要である場合には、副ＶＯＬ変更処理０４０１から前記処理０４１０までの間、正ＶＯＬの更新を一時的に制限することや、制限を行わない場合には、前記処理０４１０において、正／副ＶＯＬの運用を開始する前に、正／副ＶＯＬの同期化を行うこともある。
【００５４】
一方。前記通知（矢印０４８９）を受けた現用系の系切替部１２５は、待機系で副ＶＯＬ情報が反映されたことを認識し（反映完了認識処理０４０８）、ディスク管理プログラム１３０を介して、副ＶＯＬの制御権の獲得を行う（副ＶＯＬ獲得０４０９）。以上で、Ｓｔａｇｅ  Ｚが完了し、現用系は通常運用状態０４１０に移行し、正／副ＶＯＬ両方の運用を開始し、待機系は通常待機状態０４３１に移行する。
【００５５】
一方、ペア構成時（図５）は、現用系１００／待機系２００は前記処理０４３０、前記情報反映完了通知（矢印０４８９）、前記処理０４０８と同様に、待機系の反映完了通知処理０５２７、情報反映完了通知０５８３、現用系の反映完了処理０５０７が実行される。以上で、Ｓｔａｇｅ  Ｚが完了し、現用系は通常運用状態０５０８に移行し、正ＶＯＬの運用を継続し、待機系は通常待機状態０５２８に移行する。
以上の一連の処理によって、ＶＯＬレプリカによって変更が加えられた副ＶＯＬのＰＶＩＤ及びＶＯＬ情報を現用／待機系の両方が認識し、副ＶＯＬの情報について一貫性が保証される効果がもたらされる。これにより、以降、現用系で障害が発生しても、待機系が副ＶＯＬにアクセスすることができ、正常に正／副ＶＯＬ双方の業務を引き継ぐことができるようになり、課題を解決することができる。
【００５６】
図６〜図１２は、本実施例の処理の流れを詳細に表したフローチャートである。以下では、現用系と待機系の処理がある場合は、左側に現用系の処理を、右側に待機系の処理をあらわしている。また、図中の各処理のうち、図３〜図５の処理と対応させて説明するが、説明を簡単にわかりやすくするため、図３〜図５の説明にあって以下で説明をしていない場合もある。
【００５７】
図６は、現用／待機系コンピュータが実行する前記前処理を詳細に表したフローチャートである。前処理では、現用系／待機系で同様の処理が行われるため、以下では現用系について説明する。
まず、ＶＯＬレプリカ定義ファイルの有無を確認する処理０６０１を行い、ＶＯＬレプリカ定義ファイル１４０にアクセスする（矢印０６９１）。存在しない場合は、ＶＯＬレプリカ処理が実行されないので、特に何の処理を行う必要がなく、前処理を終了する。
一方、存在する場合は、前記ファイル１４０を読み込み（処理０６０２、矢印０６９２）、ＶＯＬレプリカの対象となる副ＶＯＬの物理名の取得処理０６０３を行う。ここで、前記処理０６０２が前記処理０４０１に、前記処理０６０３が前記処理０４０２に対応する。
さらに、ＶＯＬレプリカ状態ファイル１４０よりＶＯＬレプリカ状態を読み込み、ＶＯＬレプリカ状態フラグ１２２に格納する（処理０６０４、矢印０６９３）。これは次の理由による。ＶＯＬレプリカを実施中にクラスタプログラムを再起動した場合に、待機系に副ＶＯＬ情報を反映する必要があるかを認識するためである。
【００５８】
以上で、前処理は終了し、通常現用状態０４０４に移行する（図７、７Ａ）。
図７は、従来のクラスタプログラムによる障害監視／系切替処理に対して、ＶＯＬレプリカ／副ＶＯＬ情報一貫性保証処理との関係を示すフローチャートである。図４、図５では、現用系の通常運用状態（処理０４１０、０５０８）と待機系の通常待機状態（処理０４３１、０５２８）の処理に対応している。
【００５９】
図７で、現用系１００上のクラスタプログラム１２０はまず、系切替部１２５で自系状態をチェックし（処理０７０１）、系切替が必要かを判断する（処理０７０２）。前記自系状態チェック処理０７０１は、前記クラスタプログラム１２０とアプリケーション１１０との間で行われる通信（矢印０７８２）を含む。また、前記通信０７８２には系切替が必要となるアプリケーション障害、あるいはアプリケーションからＶＯＬレプリカの実行要求があったかどうかといった情報が含まれる。
【００６０】
前記処理０７０２で、系切替が必要である場合は、前記クラスタプログラム１２０は前記アプリケーション１１０に系切替のために処理を中断するように通知を行い（矢印０７８３）、系切替部１２５により待機系に切り替わる（処理０７０３）。その後、元現用系だったコンピュータシステム１００は待機系に切り替わったので、前記クラスタプログラム１２０は待機系の監視処理（図７、７Ｂ）を実行する。
【００６１】
一方、系切替が必要でない場合は、前記系切替部１２５と待機系２００の系切替部２２５は監視部１２４、２２４と通信部１２３、２２３を介して通信を行い（矢印０７８１）、自系状態の通信と待機系の状態をチェックする（処理０７０４）。この時、前期通信０７８１は前記ＶＯＬレプリカ状態フラグ１２２に格納された自系のＶＯＬレプリカ状態の交換を含む。これには次のような理由がある。自系／他系のＶＯＬレプリカ状態を見ることで、両系で副ＶＯＬ状態が変更されたか／反映されたかが認識できるために、ＶＯＬレプリカ中に系切替や待機系コンピュータの追加が生じた場合に副ＶＯＬ情報の反映が必要であるかを判断することができるためである。また、以降の説明文中で現用／待機系間で、クラスタプログラム同士、あるいは系切替部同士が通信する記述がある場合、特に明記されていなくても前記通信０７８１と同様の処理が行われる。
【００６２】
続いて、前記系切替部１２５は副ＶＯＬ情報反映が必要であるかの判断を行う（処理０７０５）。これには次のような理由がある。通常状態では副ＶＯＬ情報変更処理は現用系で、副ＶＯＬ情報反映処理は待機系で行われるが、系切替直後は今現用系であるコンピュータシステムは元待機系であり、副ＶＯＬ情報反映処理を行わずに系切替が行われた可能性があるからである。前記処理０７０６で副ＶＯＬ情報反映が必要である場合は、前記クラスタプログラム１２０は障害回復時の副ＶＯＬ反映処理（図１１、１１Ａ）を実行する。必要でない場合は、前記クラスタプログラム１２０は前記０７８２で確認したＶＯＬレプリカ実行要求の有無によってＶＯＬレプリカを実行する必要があるかを判断する（処理０７０６）。前記処理０７０６で実行する必要がある場合には、前記クラスタプログラム１２０はＶＯＬレプリカ実行処理（図８、８Ａ）を実行する。必要が無い場合は、前記クラスタプログラム１２０は再び前記自系チェック処理０７０１へと戻って処理を継続する。
【００６３】
次に、待機系２００上のクラスタプログラム２２０はまず前記処理０７０１同様の自系状態のチェックを行い（処理０７２１、矢印０７８３）、自系が正常であるかを判断する（処理０７８４）。前記処理０７８４で、自系が異常である場合には、前記クラスタプログラム２２０上の系切替部２２５は監視処理を停止し、終了する（処理０７２３）。一方、自系が正常である場合は、前記系切替部２２５は前記通信０７８１によって現用系１００と通信を行う。続いて、前記クラスタプログラム２２０は副ＶＯＬ情報反映が必要であるかの判断を行う（処理０７２５）。副ＶＯＬ情報反映が必要である場合は、前記クラスタプログラム２２０は障害回復時の副ＶＯＬ反映処理（図１２、１２Ｂ）を実行する。必要でない場合は、前記系切替部２２５は前記通信０７８１で得た現用系１００の状態により、系切替が必要かを判断する（処理０７２６）。系切替が発生した場合は、前記クラスタプログラム２２０はアプリケーション２１０に通知を行い（矢印０７８４）、現用系へと切り替わる（処理０７２７）。さらに前記クラスタプログラム２２０は現用系の監視処理（図７、７Ａ）の実行を行う。一方、系切替が必要でない場合は、前記クラスタプログラム２２０は前記通信０７８１で得た現用系でのＶＯＬレプリカの実行の有無により、現用系１００でＶＯＬレプリカが実行されるかを判断する（処理０７２８）。実行される場合には、前記クラスタプログラム２２０はＶＯＬレプリカ実行処理（図８、８Ｂ）を実行し、必要が無い場合は、再び前記処理０７２１へと戻り処理を継続する。
【００６４】
図８、図９、図１０は、図４、図５で示した前記副ＶＯＬ情報一貫性保証処理を詳細に表したフローチャートであり、図８はＳｔａｇｅ  Ｘ（副ＶＯＬ変更処理）、図９はＳｔａｇｅ  Ｙ（副ＶＯＬ変更反映処理）、図１０はＳｔａｇｅ  Ｚ（副ＶＯＬ運用再開処理）を表している。
【００６５】
図８で、現用系１００はＶＯＬレプリカを実行する前に、副ＶＯＬ変更開始を待機系へ通知し（処理０８０１、矢印０８８１）、待機系２００はこの通知を受信する（処理０８２１）。待機系２００は前記処理０２１後、ＶＯＬレプリカ処理が実施中であることを示す状態フラグＢ１を設定し（処理０８２２）、副ＶＯＬ状態反映処理（図９、９Ｂ）を実行する。ここで、前記フラグ設定処理０８２２は、系切替部２２５がＶＯＬレプリカ状態フラグ２２２を介して、ＶＯＬレプリカファイル２４０に格納する処理（矢印０８８４）を含む。以降の説明でフラグ設定処理では特に明記しない場合でも、前記０８８４と同様の格納処理が行われる、
一方、現用系１００は前記処理０８０１の後、前記クラスタプログラム１２０はＶＯＬレプリカ実行開始を示す状態フラグＡ１を設定し（処理０８０２）、ＶＯＬレプリカを実行する（処理０８０３）。前記ＶＯＬレプリカ処理０８０３が終了すると、前記クラスタプログラム１２０は実行完了を示す状態フラグＡ２を設定し（処理０８０４、矢印０８８３）、副ＶＯＬ状態反映処理（図９、９Ａ）を実行する。
【００６６】
ここで前記処理０８０１〜０８０２は前記処理０４０４または０５０４に、０８０３〜０８０４は前記処理０４０５または０５０５に、前記処理０８２１〜０８２２は前記処理０４２４または０５２４に、前記通信０８８１は前記通信０４８１または０５８１にそれぞれ対応する。
【００６７】
図９で、現用系１００のクラスタプログラム１２０はまず、ＶＯＬレプリカ処理でペア分割が行われたかを判断する（処理０９０１）。このＶＯＬレプリカ処理は前記０８０３または後述する処理１１０４で実施されるものである。この前記処理０９０１は次のような理由による。なぜなら、ペア分割時は、待機系が副ＶＯＬへのアクセスを行うため、副ＶＯＬの解放を行う必要があり、一方、ペア再構成時は、副ＶＯＬの解放が必要でないため、副ＶＯＬの運用を現用系で開始できるためである。従って、ペア分割時、前記クラスタプログラム１２０は副ＶＯＬの解放（処理０９０２）を行う。その後、  前記クラスタプログラム１２０は待機系に副ＶＯＬ変更完了を通知し（処理０９０３、矢印０９８１）、待機系２００が副ＶＯＬ状態反映処理を実行中であることを示す状態フラグＡ３を設定した（処理０９０４）後、副ＶＯＬ運用再開処理（図１０、１０Ａ）を実行する。一方、待機系２００上のクラスタプログラム２２０は、前記通信０９８１を受信すると（処理０９２１）、副ＶＯＬ変更反映処理の実行開始を示す状態フラグＢ２を設定する（処理０９２２）。その後、前記処理０９０１同様にペア分割が行われたかを判断する（処理０９２３）。これは次のような理由による。なぜなら、ペア分割時は待機系が副ＶＯＬへのアクセスを行うためロック制御を行う必要があり、一方、ペア構成時は副ＶＯＬ情報を削除するだけで副ＶＯＬへのアクセスは不要であるからである。従って、ペア分割時、クラスタプログラム２２０は副ＶＯＬのＰＶＩＤを取得（処理０９２５）後、副ＶＯＬロックを獲得する（処理０９２６）。そして、副ＶＯＬ情報の取得し（処理０９２７）、副ＶＯＬロックの解放を行う（処理０９２８）。一方、ペア再構成時、前記クラスタプログラム１２０は副ＶＯＬのＰＶＩＤを含む副ＶＯＬ情報の削除を行う（処理０９２４）。これにより、それぞれの場合において待機系２００への副ＶＯＬ情報の反映が完了する。その後、反映完了を示す状態フラグＢ３を設定し（処理０９２９）、副ＶＯＬ運用再開処理（図１０、１０Ｂ）を実行する。
【００６８】
ここで、前記処理０９０２は前記処理０４０６に、前記処理０９０３〜０９０４は前記処理０４０７あるいは０５０６に、前記処理０９２１〜０９２２は前記処理０４２５あるいは０５２５に、前記処理０９２４は前記処理０５２６に、前記通信０９８１は前記通信０４８４あるいは０５８３に、それぞれ対応する。さらに、前記処理０９２５〜０９２８は順に前記処理０４２６〜０４２９にそれぞれ対応する。
【００６９】
図１０で、待機系２００上のクラスタプログラム２２０は副ＶＯＬ情報反映が終了したことを現用系１００上のクラスタプログラム１２０に通知する（処理１０２１、矢印１０８１）。前記処理１０２１後は、前記クラスタプログラム２２０は情報が反映されたことを示す状態フラグ０を設定し（処理１０２２）、再び障害監視処理（図７、７Ｂ）に戻り処理を続ける。一方、前記クラスタプログラム１２０は前記通信１０８１を受信すると（処理１００１）、情報が反映されたことを示す状態フラグ０を設定する（処理１０８２）。この後、前記処理０９０１同様にペア分割が行われたかを判断する（処理１００３）。これは次のような理由による。なぜなら、ペア分割時は、前記Ｓｔａｇｅ  Ｙにおいて副ＶＯＬの解放を行っており、再度副ＶＯＬの獲得を行う必要があり、一方、ペア分割時は、前記Ｓｔａｇｅ  Ｙにおいて副ＶＯＬの運用を現用系で開始済みであるためである。従って、ペア分割時の場合のみ、前記クラスタプログラム１２０は副ＶＯＬロックの獲得（処理１００４）を実行した後、アプリケーション１１０に副ＶＯＬ運用が可能であることを通知する（処理１００５、矢印１０８３）。この後、再び障害監視処理（図７、７Ａ）に戻り、処理を続ける。
【００７０】
ここで、前記処理１００１〜１００２は前記処理０４０８あるいは０５０７に、前記処理１００４は前記処理０４０９に、前記処理１０２１〜１０２２は前記処理０４３０あるいは０５２７に、前記通信１０８１は前記通信０４８９あるいは０５８３にそれぞれ対応する。また、前記処理１００５は前記処理０４１０中に含まれる。
【００７１】
図１１は、障害発生時に現用系がＶＯＬレプリカ処理と副ＶＯＬを引き継ぐ手続きを表す風呂チャートである。図１１中の処理のうち、図８、図９、図１０で説明した処理と同様の処理については、理解しやすくするために対応のみを示している。
まず、現用系１００のクラスタプログラム１２０は最初にＶＯＬレプリカ状態フラグ２２２を参照し、状態フラグが０であるかを判別する（処理１１０１）。前記処理１１０１で、０である場合には、副ＶＯＬ情報は正しく反映されていることを意味する。そのため、この場合には、前記クラスタプログラム１２０は何も処理をせずに障害時の待機系への副ＶＯＬ情報反映処理（図１２、１２Ａ）を実行する。前記処理１１０１で、０で無い場合は、前記クラスタプログラム１２０は状態フラグがＡ１またはＢ１であるかを判別する（処理１１０２）。
【００７２】
前記処理１１０２で、Ａ１またはＢ１である場合にはＶＯＬレプリカが実行中であって、まだ変更が現用系で完了していない状態を意味するので、前記クラスタプログラム１２０は前記Ｓｔａｇｅ  Ｘ（図４）に対応するＶＯＬレプリカを実行し、現用系に副ＶＯＬ情報を反映する（処理１１０３〜１１０５）。ここで前記処理１１０３〜１１０５は前記処理０８０２〜０８０４にそれぞれ対応する。一連の反映処理後は、待機系への副ＶＯＬ情報反映処理反映処理（図１２、１２Ａ）を実行する。
【００７３】
一方、前記処理１１０２で、Ａ１またはＡ２で無い場合は、すでにＶＯＬレプリカが実施されていることを意味している。そこで、実施後の待機系反映処理がどこまで処理されているかに応じて処理を行う。
【００７４】
まず、前記クラスタプログラム１２０は状態フラグがＡ２またはＡ３であるかを判別する（処理１１０６）。前記処理１１０６で、Ａ２またはＡ３である場合には、現用系での副ＶＯＬ情報は反映され、待機系での副ＶＯＬ情報反映処理完了通知を待っている状態を意味するので、前記クラスタプログラム１２０は通知待ち状態を解除する（処理１１０７）。次に前記処理１１０６でＡ２でもＡ３でも無かった場合は、状態フラグがＢ２であるかを判別する（処理１１０８）。前記処理１１０８で状態フラグがＢ２であった場合には、情報反映処理中だった待機系が現用系に系切替した状態を意味するので、前記クラスタプログラム１２０は情報反映処理を継続し、副ＶＯＬ情報を反映する。この反映処理は、前記Ｓｔａｇｅ  Ｙ（図７、７Ｂ）と同様にペア分割かペア再構成かによって異なる処理が行われる（処理１１０９〜１１１３）。ここで前記処理１１０９〜１１１３は前記処理０９２３〜０９２７にそれぞれ対応する。一方、前記処理１１１０８で、Ｂ２ではない場合には状態フラグはＢ３であり、副ＶＯＬ状態の反映が完了していた待機系が現用系に系切替した状態であることを意味するので、副ＶＯＬ情報反映は完了しており、何もする必要がない。
【００７５】
以上によって、前記処理１１０２でＡ１またはＢ１でない場合にも副ＶＯＬ情報の引き継ぎが完了したので、状態フラグを０に設定し（処理１１１４）、現用系のＳｔａｇｅ  Ｚ（図１０）と同様にペア分割かペア再構成かによって副ＶＯＬ運用開始処理が行われる（処理１１１５〜１１１７、矢印１１８１）。ここで、前記処理１１１５〜１１１７は前記処理１００３〜１００５に、通信１１８１は通信１０８３にそれぞれ対応する。その後、待機系への副ＶＯＬ情報反映処理反映処理（図１２、１２Ａ）を実行する。
【００７６】
図１２は、現用／待機系コンピュータが障害発生時に現用系コンピュータが引き継いだボリューム情報を待機系コンピュータに引き継ぐ手続きを表すフローチャートである。図１２中の処理についても図１１と同じように、図８、図９、図１０で説明した処理と同様の処理については、理解しやすくするために対応のみを示している。
【００７７】
まず、現用系１００／待機系２００のクラスタプログラム１２０、２２０はそれぞれ自系の状態フラグを他系に送信し、お互いの状態を認識する（処理１２０１、１２２１、矢印１２８１）。これは次のような理由による。待機系の状態フラグによって待機系の副ＶＯＬ状態反映処理がすでに反映されているか（待機系状態フラグが０またはＡ２またはＡ３またはＢ３）を判断するためと、待機系で副ＶＯＬ状態反映が必要な場合に現用系の状態フラグによって待機系が前記Ｓｔａｇｅ  Ｘ（現用系状態フラグがＡ１またはＢ１）を実行する必要がある場合を判断するためと、待機系の副ＶＯＬ引継ぎ処理（Ｓｔａｇｅ  Ｙ）を実行する場合のうち、現用系が副ＶＯＬ状態を反映処理中の待機系が系切替した状態であり、副ＶＯＬ状態の引継ぎが必要である（現用系状態フラグがＢ２）場合とで処理が異なるからである。
【００７８】
従って、前記クラスタプログラム１２０、２２０は待機系状態フラグが０またはＡ２またはＡ３またはＢ３であるかを判別する（処理１２０２、１２２２）。前記処理１２０２、１２２２でＹである場合には、現用／待機系は障害監視処理に戻って処理を継続する（図７、７Ａ／７Ｂ）。一方、前記処理１２０２、１２２２で、Ｎである場合は待機系で副ＶＯＬ状態の反映が必要なことを意味するため、前記クラスタプログラム１２０、２２０は現用系状態フラグがＡ１またはＢ１であるかを判断する（処理１２０３、１２２３）。前記処理１２０３、１２２２でＡ１またはＢ１である場合には、現用／待機系はＳｔａｇｅ  Ｘから実行を行う（図８、８Ａ／８Ｂ）。
【００７９】
前記処理１２０３、１２２３で上記以外の場合は、待機系２００はＶＯＬ反映処理を実行する必要があるため、Ｓｔａｇｅ  Ｙを実行する（図９、９Ｂ）。一方、現用系１００は、前記クラスタプログラム１２０で現用系状態フラグがＢ２であるかを判断する（処理１２０４）。前記処理１２０４で、Ｂ２である場合には、前記副ＶＯＬ状態の引継ぎが必要であるため、待機系のＳｔａｇｅ  Ｙ（図９、９Ｂ）と同様の処理を行い、副ＶＯＬ情報を現用系に反映する（処理１２０５〜１２０８）。ここで前記処理１２０５〜１２０７は前記処理０９２３〜０９２５に、前記処理１２０８は前記処理０９２７に対応する。前記処理１２０５〜１２０８が完了すると、現用系で情報反映が完了している状態になるため、前記処理０８０４と同様の処理で状態フラグＡ２を設定する（処理１２０９）。  そして、Ｓｔａｇｅ  Ｙを実行する（図９、９Ａ）。一方、前記処理１２０４にてＢ２で無い場合は、そのままＳｔａｇｅ  Ｙを実行する（図９、９Ａ）。
以上の図１１、図１２に示される処理によって、図６〜１０で示される副ＶＯＬ情報の一貫性保証処理が行われている最中に障害が発生しても、継続して現用系が実行中の処理を引き継いで副ＶＯＬ情報の一貫性を保証する効果を得る。さらに上記の効果と、図４、図５で示した一貫性保証処理後に障害が発生した場合に系切替が保証される効果から、ＶＯＬレプリカを実行する現用系／待機系コンピュータシステムで障害が発生してもＶＯＬレプリカを含む処理が現用系から待機系に引き継ぐことが可能である高可用性システムを構築することができる効果をもたらす。
【００８０】
以降、現用系で障害が発生しても、待機系が副ＶＯＬにアクセスすることができ、正常に正／副ＶＯＬ双方の業務を引き継ぐことができるようになり、課題を解決することができる。
【００８１】
なお、本実施例では、現用系／待機系に障害が発生した場合について示したが、通信手段０１により利用されるネットワークに障害が発生した場合にも、現用系／待機系の優先度を考慮することで、本実施例の技術を適用することも可能である。
【００８２】
以上述べたように、副ボリュームの変更を生じるボリュームレプリカの実行を契機として、待機系に変更された副ボリューム情報が反映されるので、ボリュームレプリカ実行後に現用系に障害が発生した場合にも、待機系に処理を継続することができる。また、ボリュームレプリカや副ボリューム反映処理を実行中に障害が発生した場合も、障害発生時に行っていた処理を系切替後に引き継ぐことができる。
【００８３】
【発明の効果】
以上述べたように、本発明によれば、ＶＯＬレプリカ手段による副ＶＯＬの変更を待機系に反映することが可能となる。
【図面の簡単な説明】
【図１】本実施例による現用／待機コンピュータシステムモデルの高位のシステムブロック図である。
【図２】現用／待機コンピュータシステムモデルを用いた従来の障害引継システムの高位ブロック図である。
【図３】本実施例によるコンピュータシステムの低位のブロック図である。
【図４】本実施例によるコンピュータシステムで現用系コンピュータがボリュームレプリカ処理のペア分割を実施した場合の現用／待機系コンピュータの手続きの概要を表すフローチャートである。
【図５】本実施例によるコンピュータシステムで現用系コンピュータがボリュームレプリカ処理のペア再構成を実施した場合の現用／待機系コンピュータの手続きの概要を表すフローチャートである。
【図６】現用／待機系コンピュータの前処理のフローチャートである。
【図７】現用／待機系コンピュータの障害監視／系切替処理のフローチャートである。
【図８】現用系コンピュータがボリュームレプリカ処理を実行完了する手続きを表す現用／待機系コンピュータのフローチャートである。
【図９】待機系コンピュータが変更された副ボリューム情報を反映させる処理を実行完了する手続きを表す現用／待機系コンピュータのフローチャートである
【図１０】現用／待機系コンピュータで副ボリューム情報の反映後、障害監視／系切替処理に戻る手続きを表すフローチャートである。
【図１１】障害発生時に現用系コンピュータがボリュームレプリカ処理と副ボリュームを引き継ぐ手続きを表すフローチャートである。
【図１２】障害発生時に現用／待機系コンピュータが現用系コンピュータの引き継いだボリューム情報を待機系コンピュータに引き継ぐ手続きを表すフローチャートである。
【符号の説明】
１００・・現用系コンピュータ
２００・・待機系コンピュータ
１１０、２１０・・アプリケーション
１２０、２２０・・クラスタプログラム
１２１、２２１・・副ボリューム識別情報バッファ
１２２、２２２・・ボリュームレプリカ状態フラグ
１２３、２２３・・通信部
１２４、２２４・・監視部
１２５、２２５・・系切替部
１３０、２３０・・オペレーティングシステム
１３１、２３１・・ディスク管理情報バッファ
１４０、２４０・・ボリュームレプリカ状態ファイル
１５０、２５０・・ディスク管理プログラム
１６０、２７０・・ボリュームレプリカ定義ファイル
３００・・ディスク
３１０・・ボリューム管理部
３２０・・正ボリューム
３３０・・副ボリューム
３２１、３３１・・物理ボリューム識別情報
３２２、３３２・・ボリューム情報
【図１】
2004272318.tif 000003
【図２】
2004272318.tif 000004
【図３】
2004272318.tif 000005
【図４】
2004272318.tif 000006
【図５】
2004272318.tif 000007
【図６】
2004272318.tif 000008
【図７】
2004272318.tif 000009
【図８】
2004272318.tif 000010
【図９】
2004272318.tif 000011
【図１０】
2004272318.tif 000012
【図１１】
2004272318.tif 000013
【図１２】
2004272318.tif 000014