(57)【要約】【課題】クラスタ構成の高可用性コンピュータシステムにおいて現用系コンピュータで障害が発生した場合に、ホットスタンバイによる系切替を実現することのできる高可用性コンピュータシステムを提供する。【解決手段】現用系に障害が発生したことを検知した時刻において、待機系が引継準備処理をしておき、現用系の障害が確定した時に、引継準備完了状態から系切替を行なうことで、系切替の高速化を実現する。【選択図】図２
2005242404.tif 000002
【特許請求の範囲】
【請求項１】
現用系のコンピュータと、該現用系のコンピュータの処理を引き継ぐべき待機系となりうる複数のコンピュータと、これらコンピュータに接続されたディスク装置であって、該現用系のコンピュータの処理を行なうアプリケーションに必要なファイルを保持するディスク装置を含むコンピュータシステムにおける系切替方法であって、
前記現用系のコンピュータの障害発生を検出したことを第１の契機に、処理を引き継ぐ待機系のコンピュータを決定し、決定したコンピュータに通知するステップ、
通知をうけたコンピュータが引継準備処理を行なうステップ、
前記現用系の障害により系切替が必要となったことを第２の契機に、前記引継準備処理をおこなったコンピュータが、前記現用系が実行していた処理を、引き継ぐステップ、
を含む系切替方法。
【請求項２】
前記引継準備とは前記現用系のコンピュータで稼動していたアプリケーションプログラムを前記ディスク装置から読み込む処理であることを特徴とする請求項１の系切替方法。
【請求項３】
前記第１の契機により、前記ディスク装置は系切替準備処理を行うこと特徴とする請求項１記載の系切替方法。
【請求項４】
前記ディスク装置が行う系切替準備処理は、系切替でアクセスするデータをディスクからキャッシュにプリフェッチする処理を含む請求項３記載の系切替方法。
【請求項５】
現用系のコンピュータと、該現用系のコンピュータの処理を引き継ぐべき待機系となりうる複数のコンピュータと、これらコンピュピューに接続されたディスク装置であって、該現用系のコンピュータの処理を行なうアプリケーションに必要なファイルを含むディスク装置を含むコンピュータシステムにおける系切替方法であって、
前記現用系のコンピュータの障害発生を検出したことを契機に、処理を引き継ぐ待機系のコンピュータを決定し、該待機系のコンピュータが引継準備処理を行なうステップ、
前記現用系の障害が回復し、系切替が不要となったことを契機に、前記待機系のコンピュータの引継準備処理を解消するステップ、
を含む系切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションシステムを構築する障害許容性のあるコンピュータシステムに関し、特にアプリケーションを実行中であるコンピュータのプログラムもしくはオペレーティングシステムに障害があった時に、その実行中のアプリケーションを別のコンピュータに引き継がせる系切替機能を有するプログラムを持つコンピュータシステムに関する。
【背景技術】
【０００２】
現代社会において、コンピュータシステムは我々の生活を支える生活基盤として無くてはならない存在となっている。こうしたコンピュータシステムは24時間停止することなく、サービスを継続することが要求される。例えば、銀行などのオンラインシステムの中核処理としてデータベース業務がある。こうしたデータベース業務は絶えず更新されうるため、完全停止することが許されない。
【０００３】
完全停止することが許されないような高信頼性を必要とするコンピュータシステムでは、処理を実行する現用系コンピュータと、現用系に障害が発生した際に処理を引き継ぐ待機系コンピュータとを含む構成をとる。現用系で発生した障害の検出から待機系に処理を引き継ぐ手続きはクラスタプログラムによって提供される。
【０００４】
現用系障害時に待機系が処理を引き継ぐためには、クラスタを構成するコンピュータから待機系となるコンピュータを決定することと、アプリケーションやオペレーティングシステム（OS）が使用しているデータを引き継ぐことが必要となる。また、クラスタプログラムの障害の検出は、一時的な障害や誤検出された障害によって処理の引継ぎが発生するのを防ぐために、障害の検出が繰り返し行われたときに初めて、待機系への処理の引継ぎを開始する仕組みをもつ。
【０００５】
クラスタ構成において、処理の引継ぎ先となる待機系を選択する方法として、例えば、特許文献１(特開2000-47894号)がある。特許文献１では、現用系で障害が発生し、系切替を行なう際に、各コンピュータのCPU負荷と空きメモリを基準とし、待機系のコンピュータを決定する技術が記載される。
【０００６】
処理の引継ぎの手続きとして、現用系に障害が発生してから、待機系がアプリケーションのプログラムを起動する方法がある。これをコールドスタンバイと言う。このコールドスタンバイに対して、処理の引継ぎを高速化する技術として、ホットスタンバイ技術がある。例えば、特許文献２(特開平8-221287号)では、待機系コンピュータは、現用系で障害が発生する前に、引継ぐべきアプリケーションのプログラムを予め読み込んでおくことで、現用系で障害が発生し、待機系が処理を引き継ぐ系切替時間の短縮を図る技術が記載される。
【０００７】
【特許文献１】特開２０００−４７８９４号公報
【０００８】
【特許文献２】特開平８−２２１２８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１では、クラスタ構成のコンピュータシステムにおいて、現用系障害時に現用系の処理を引き継ぐ待機系の決定は、系切替が行われることが決定した後に行なわれる。一方、特許文献２では、待機系が、現用系の障害発生前に、引継ぐべきプログラムを読み込んでおくことで、引き継ぎに要する処理を高速化する方法について述べられている。すなわち、系切替実施前に、待機系が引き継ぐべきプログラムを読み込まねばならない。
【００１０】
従って、クラスタ構成のコンピュータシステムにおいて、ホットスタンバイ技術を適用し、高速な系切替を実現するためには、全てのコンピュータが、各コンピュータが実行するプログラムを全て読み込んでおくことが必要となる。これは、計算機資源を消費することになり、そのコンピュータで処理しているアプリケーションの動作が遅くなるという問題が生じる。
【課題を解決するための手段】
【００１１】
本発明は、現用／待機系コンピュータを含む高可用性コンピュータシステムであって、現用／待機系が少なくとも一つのディスク装置を共有しているコンピュータシステムにおいて、ホットスタンバイによる高速系切替を実現する機能を提供する。
本発明では、現用系コンピュータで障害が発生した場合に、現用系以外のクラスタ内のコンピュータから、現用系の行なっていた処理を引き継ぐ待機系コンピュータを決定する。障害発生の検出は、現用系以外のコンピュータが現用系を監視する方式でもよいし、現用系が自立的に、エラー率、メモリ余裕度などから異常を検知する方式でもよい。また、待機系コンピュータの決定は、現用系の障害発生を検出した前述のコンピュータが行なう方式でもよいし、この検出したコンピュータが、別のコンピュータに通知を行い、そのコンピュータが行なう方式でもよい。
【００１２】
つぎに、待機系が決定されると、待機系を決定したコンピュータはその待機系になると決定されたコンピュータに決定を通知する。通知を受けたコンピュータは処理を引き継ぐアプリケーションをホットスタンバイが可能な状態にする引継準備処理を行う。この引継系準備処理とは、代表的には現用系コンピュータで実行していたアプリケーションプログラムをディスク装置から読み込むことである。また、現用系／待機系コンピュータで、高可用性データベースシステムを構築している場合には、環境変数や引継ぎによって取り扱わねばならないデータ量に合わせたメモリを確保するのもこの引継準備処理に含めるのが有効である。アプリケーションがホットスタンバイ可能な状態になった後、待機系は、現用系で障害が発生したことが認識され、系切替を行なうか、あるいは、現用系での障害が一時的なものであり、系切替の必要がないか、の通知を待つ。
【００１３】
最初に現用系の障害が検知された後、現用系障害が実際に発生している場合には、連続して障害が検知され続ける。続いて、障害がある一定回数（N回）連続して検知された場合に現用系の障害が確かに発生したと認識がされて、系切替が行なわれる。系切替の手続きでは、障害を認識したコンピュータから、本発明により事前にホットスタンバイが可能な状態にアプリケーションを起動した状態にある待機系コンピュータに対して系切替を行なうように通知され、待機系はそのアプリケーションを起動させることで系切替が行なわれる。
【００１４】
一方、最初に現用系の障害が検知された後、その障害が一時的な障害であった場合には、系切替の契機となるN回にいたる前に現用系の障害が検出されず、正常状態となる。このように連続してN回未満の障害検知である場合には、事前に引継準備処理をおこなった状態、即ちホットスタンバイが可能な状態にアプリケーションを起動した状態にある待機系コンピュータに対して、系切替が行なわれないことが通知され、待機系は起動しホットスタンバイ可能な状態となったアプリケーションを中止し、待機系となっていたコンピュータは一時的に障害の発生した現用系に対する引継準備処理を解消する。以上の手続きにより、待機系コンピュータは現用系の障害が検出される以前の状態、すなわち、どのコンピュータの待機系ともなりうる状態へと戻り、現用系／待機系を含むクラスタは。現用系コンピュータで障害が発生する前のコールドスタンバイ状態に戻る。
【００１５】
一例をあげれば、現用系／待機系コンピュータ間ではクラスタプログラムによってハートビート監視が行なわれており、監視用コンピュータは現用系コンピュータの障害を検知すると、クラスタ内の別のコンピュータから待機系となるコンピュータを決定し、ホットスタンバイ可能な状態にアプリケーションを実行することを待機系に指示する。待機系では、現用系が変更することの無いデータを利用し、アプリケーションをホットスタンバイ可能な状態まで起動し、現用系の障害が認識されるか、あるいは一時的なものであったかの通知を待つ。
【００１６】
待機系に対する通知が、現用系の障害の認識、すなわち、系切替の実行であった場合には、待機系は、現用系が利用していた残りのデータを利用して、アプリケーションの実行を続行することで、現用系の処理を引継ぎ、系切替が完了する。一方、現用系の障害が一時的な障害であった場合には、待機系は系切替のためにホットスタンバイ可能な状態に起動したアプリケーションを停止させ、現用系で障害が発生する以前のコールドスタンバイ状態に戻る。
【発明の効果】
【００１７】
上記本発明によれば、障害により切替が必要であると判明してから切替に要する時間は、現用系のコンピュータに対応して待機系のコンピュータでもそのアプリケーションをホットスタンバイ可能に常に準備しておくシステムと同等な短い時間となり、即ち切替期間中のデータ喪失が小さく、後の回復処理が軽減する等の効果を有する。なおかつ、常時準備しておくのは現用系で動作するアプリケーションについてはそれを読み込み前の状態（コールドスタンバイもしくはウオームスタンバイ状態）のコンピュータである。したがって計算機資源を有効利用するシステムが得られる。
【００１８】
とくに複数の現用系コンピュータがそれぞれアプリケーション処理を行うクラスタシステムでは、正常動作時に準備しておくのは、それら現用系コンピュータのいずれの待機系にもなりうる少数の予備用のコンピュータでよいので、少ない計算機資源で可用性の高いコンピュータシステムとすることができる。
【発明を実施するための最良の形態】
【００１９】
本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡単化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ／または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。
【００２０】
図1は、従来のクラスタ構成のコンピュータシステムモデルの問題点を示すための高位のシステムブロック図である。
図1では、説明を分かりやすくするため、二桁の番号を用いている。さらに、以降の図2、図3、図7において同様の番号を用いているものがあるが、それらについては特に説明がない場合、図１の説明と同様である。
【００２１】
図1で、高可用性コンピュータシステムは、現用系コンピュータ10、監視系コンピュータ20、待機系コンピュータ30、これらのコンピュータに共有されるディスク装置40によって構成される。各コンピュータは、クラスタソフト11、21，31を含んでいる。クラスタソフト11、21、31は、他のコンピュータ上のクラスタソフトと、ネットワーク90を介したHB（ハートビート）監視を行い、他のコンピュータの障害を検知する機能をもつ。ディスク装置40は、各コンピュータ10、20、30と接続され、現用系が実行するアプリケーションのプログラム41とアプリケーションが利用するデータ42とを有する。前記監視系コンピュータ20上のクラスタソフト21は、現用系コンピュータ10において障害が発生した場合(図中(1))、前記HB監視91によって、現用系コンピュータの障害を検知する(図中(2))。
【００２２】
ここで、クラスタソフトによる系切替では、一時的な障害や誤検出された障害によって処理の引継ぎ（系切替）が発生するのを防ぐために、障害の検出が繰り返し行われたときに初めて、障害が発生したことを確定し（図中(3)）、系切替を行なう。前記クラスタソフト21は、現用系の障害を確定すると、現用系のアプリケーション12を引き継ぐ待機系コンピュータ30を決定し（図中(4)）、待機系コンピュータ30上のクラスタソフト31に対してアプリケーションを引き継ぐように指示を行なう（図中(5)）。指示を受けた前記クラスタソフト31は、ディスク装置40から引継ぎアプリケーションのプログラム41を読み込み（図中(6)）、アプリケーション32を起動する（図中(7)）。  その後、アプリケーション32は、ディスク装置40からアプリケーションデータ43を読み込み（図中(8)）、実行すること（図中(9)）で系切替が完了する（図中(10)）。この一連のクラスタ構成における系切替は、各コンピュータの役割が入れ替わっても、実現される。
前記の系切替において、系切替を高速化するホットスタンバイ技術を適用するためには、現用系の障害確定（図中(3)）時には、待機系決定（図中(4)）前であるため、任意のコンピュータのアプリケーションに対してホットスタンバイを行なっておく必要があるが、計算機資源を消費し、本来実行すべきアプリケーションの動作を圧迫してしまうため、実用的でない、という問題がある。
【００２３】
図2は、本発明の第一の実施例であるクラスタ構成のコンピュータシステムモデルである。
図2では、現用系コンピュータ10で障害が発生すると（図中(1)）、監視系コンピュータ20上のクラスタソフト21が障害を検知する（図中(2)）。クラスタソフト21は、障害を検知すると、すぐに現用系の処理を引き継ぐ待機系コンピュータ30を決定し（図中(3)）、待機系のクラスタソフト31に対して、アプリケーションをホットスタンバイ状態にするように指示を行なう（図中(4)）。指示を受けたクラスタソフト31は、アプリケーションのホットスタンバイ起動を行なう（図中(5)）。ここれにより、ディスク装置40からアプリケーションのプログラム41が読み込まれ（図中(6)）、アプリケーションがホットスタンバイ切替可能な状態まで起動された状態となる（図中(7)）。
【００２４】
一方、ホットスタンバイ化の指示をした監視系のクラスタソフト21は、さらに一定回数、連続して障害を検知すると、現用系の障害が確定する（図中(8)）。障害が確定すると、監視系のクラスタソフト21は待機系のクラスタソフト3１にアプリケーションを引き継ぐように指示を行なう（図中(9)）。指示を受けたクラスタソフト31は、すでにホットスタンバイ状態で待機していたアプリケーション32に指示し（図中(10)）、アプリケーション32は、ディスク装置40条のアプリケーションデータ42を読み込み（図中(11)）、アプリケーションを起動する（図中(12)）ことで、系切替が完了する（図中(13)）。
【００２５】
以上の手段をもつ第一の実施例により、図１において現用系障害を確定後に待機系を決定し、コールドスタンバイによる系切替を行なっていたのに対して、障害を検知した時点で待機系を決定し、予め待機系をホットスタンバイ状態にしておくことで、クラスタ構成においてもホットスタンバイによる高速な系切替を実現することが可能となる。
【００２６】
図3は、本発明の第二の実施例であるクラスタ構成のコンピュータシステムモデルである。
図3では、現用系コンピュータ10で障害が発生したが（図中(1)）、その後障害が回復した場合（図中(7)）のシステムモデルをあらわしている。
図3において、現用系障害の発生(図中(1))から待機系コンピュータ30でアプリケーション32がホットスタンバイ状態になる（図中(7)）までの処理は、図2と同様の処理で行なわれる。現用系の障害が回復すると（図中(8)）、クラスタソフト21は障害回復を検知する（図中(9)）。検知後、クラスタソフト21は、待機系コンピュータ30のクラスタソフト31に対して、ホットスタンバイ状態を解除するように指示し（図中(10)）、すでに決定されていた待機系の状態を破棄する（図中(11)）。
【００２７】
一方、ホットスタンバイ解除の指示を受けたクラスタソフト31は、すでにホットスタンバイ状態にあるアプリケーション32に対して停止を指示し（図中(12)）、アプリケーションを終了させる（図中(13)。
以上の手段を持つ第二の実施例により、図2において現用系障害が確定しないで障害が回復した場合に、ホットスタンバイ化した待機系を解除し、障害が発生する前の状態、すなわち、待機系が任意のシステムに対して可能であるクラスタシステムに戻すことが可能となる。
【００２８】
図4、図5、図6は、本発明の第一、及び、第二の実施例におけるコンピュータシステムにおいて、監視系・待機系コンピュータのクラスタソフトの動作を表した処理フロー図である。
図4は、監視系コンピュータ20のクラスタソフト21の動作を表している。クラスタソフトは、障害検出処理101を開始し、現用系コンピュータ10の障害監視処理102を行ない、障害を検知したかどうかについて判断処理103を行なう。
【００２９】
判断処理103の結果、障害を検知した場合には処理104が実行される。処理104では、障害が連続して検知されたかを判断する。判断の結果、連続した見地ではない場合には、ホットスタンバイ状態の待機系を準備するホットスタンバイ開始処理105を実行する。一方、障害が連続して検知されている場合には、連続N回検出され、障害が確定できるかどうかの判断処理106を行なう。
判断処理106の結果、障害が確定した場合には、処理105でホットスタンバイ状態にある待機系に系切替を行なう処理107を行なう。障害が確定しなかった場合には、再び障害監視処理102に戻り、障害が確定するまで障害の監視を続ける。
【００３０】
一方、判断処理103の結果、現用系に障害が発生していない場合には、処理108が実行される。処理108では、事前に現用系の障害を検知していた状態から障害が回復した状態に遷移したかどうかの判断処理が行なわれる。事前に障害を検知していた場合には、待機系がホットスタンバイ状態にあるが、現用系の障害は回復しているため、ホットスタンバイ状態を解除する処理109が行なわれる。一方、連続して障害を検知していなかった場合には、障害監視処理102に戻り、現用系の障害監視を継続する。
【００３１】
図5は、監視系コンピュータ20が待機系コンピュータ30をホットスタンバイ化するまでの動作を表した処理フロー図である。図5左は、監視系のクラスタソフト21の処理フローを、図5右は、待機系のクラスタソフト31の処理フローを表している。
【００３２】
図5左では、図4の処理105により、ホットスタンバイ化処理が開始され(処理201)、待機系となるコンピュータ30をクラスタ内のコンピュータから決定する処理202が行なわれる。処理202の後、決定した待機系のクラスタソフト31に対してホットスタンバイ化を指示し（処理203）、通信901を介して待機系のクラスタ31に通知される。一方、図5右では、待機系のクラスタソフト31は、どの現用系コンピュータに対して待機系コンピュータとなるのか決定するのを待機している（処理501）。処理501で、監視系のクラスタソフト21より通信901により、現用系コンピュータ10の待機系としてホットスタンバイ化するように指示を受け取ると、ホットスタンバイ化処理502を行なう。ホットスタンバイ化処理502は図4(5)、(6)、(7)に相当しており、アプリケーションの起動処理503が行なわれ、ホットスタンバイ状態で現用系障害が監視系のクラスタソフト21によって確定されるまで待つ（処理504）。
【００３３】
図6は、現用系コンピュータの障害の確定／回復に応じて、監視系コンピュータ20のクラスタソフト21と、待機系コンピュータ30のクラスタソフト31が行なう動作を表した処理フロー図である。図6左、及び、図6右は、それぞれ、監視系のクラスタソフト21が現用系コンピュータの障害が確定した／回復した場合に行なう処理を表しており、図4中の処理107、処理109で実行される。図6中は、待機系のクラスタソフト31が監視系コンピュータの動作を表しており、図5中の処理506で実行される。
図6で、待機系のクラスタソフト31は、ホットスタンバイ状態で待機しており（図5の処理506）、監視系のクラスタソフト21が現用系コンピュータ10の障害を判断した結果が通信されるのを待つ（処理601）。通信結果を受けると、クラスタソフト31は、指示の結果から障害が確定したか／回復したかを判断する（処理602）。
【００３４】
まず、監視系のクラスタ21が現用系障害を確定した場合には、図4の系切替処理107として処理301が実行される。処理301では、通信902によって、系切替を実行するように待機系のクラスタソフト31に指示する。通信902を受けたクラスタソフト31は処理602により、障害が確定したことを判断し、系切替を実施する（処理603）。
【００３５】
一方、監視系のクラスタ21が、現用系の障害からの回復を検知した場合には、図4のホットスタンバイ状態解除処理109として、処理402を実行する。処理402では、通信903によって、待機系のアプリケーション32のホットスタンバイ状態を解除するように待機系のクラスタソフト31に指示する。処理402後は、処理202で行なった待機系コンピュータ30の決定を解除する。通信903を受けたクラスタソフト31は処理602により、障害が回復したことを判断し、ホットスタンバイ状態の解除処理604を行なう。処理604は、例えば、図5のホットスタンバイ処理502において、アプリケーション起動処理503を行なっていた場合には、アプリケーションの終了処理605を含む。
【００３６】
図7は、本発明の第一の実施例において、待機系コンピュータがホットスタンバイ状態になる処理にディスク装置に対する処理を追加した第三の実施例を説明するクラスタ構成のコンピュータシステムモデルである。
図7は図中の処理(5)、処理(6−A)は、図2における処理(5)、処理(6)と同様の手続きであり、待機系コンピュータがホットスタンバイ状態を完了するまでの処理を示している。
図7では、ディスク装置40は、ディスクコントローラ43、ディスクキャッシュ44、アプリケーションデータ先読み設定ファイル45を含む。ディスクコントローラ43は、例えば、ディスク装置40内のデータをディスクキャッシュ44に読み込む機能をもつ。また、アプリケーションデータ先読み設定ファイル45は、図2で行われる処理(11)のアプリケーションデータの読み込みで必要とされるデータを定義している。
処理(6−A)の実行後、クラスタソフトウェア31はアプリケーションデータ先読み設定ファイル45を読み込み（図中(6−B)）、ファイル45に定義されたデータをディスクキャッシュ44に読み込むように、ディスクコントローラ43に指示を出す（図中(6−C)）。指示を受けたコントローラ43は、指定されたデータをディスクキャッシュに読み込む（図中(6−D)）。
【００３７】
以上の手段をもつ第三の実施例により、第一の実施例において、現用系の障害が確定し、系切替が行なわれる場合に、読み込まれるアプリケーションデータがディスク装置のディスクキャッシュに充填されるため、高速にアプリケーションデータを読み出すことが可能となり、高速な系切替を実現することが可能となる。
【００３８】
図8は、本発明の第三の実施例における動作を表した処理フロー図である。
図8は、図5におけるホットスタンバイ化処理502に対応する処理フローを記している。処理503、処理504は、図5と同様の処理である。処理503の終了後、ストレージに対して系切替準備処理を行なうように指示し（処理505）、処理504を行なうことでホットスタンバイ化処理502が終了する。たとえば、この処理505としては、図7における処理(6−B)、処理(6−C)、処理(6−D)からなる一連の処理であっても良い。
【００３９】
図7、図8では、ディスクキャッシュに読み込むデータを決定する方法として、先読み設定ファイルに定義することによって、読み込む処理フローを示した。この他に、この他に、現用系コンピュータのアプリケーションのデータへのアクセス頻度を利用する方法などであっても良い。
以上、第三の実施例では、待機系をホットスタンバイ状態にする処理の中に、ディスク装置の系切替準備処理を含めることにより、系切替の際にディスク装置に対して行なわれる処理を高速に実行する系切替を実現することのできる機能を有するシステムが実現される。
【００４０】
本実施例では、監視系コンピュータ20のクラスタソフト21が現用系コンピュータ10の状態を監視して異常を検出する構成とした。この他に、現用系コンピュータのクラスタソフト11が自立分散的に自分の異常を検出する構成とすることも可能である。
また、本実施例では、監視系コンピュータ20とは異なる待機系コンピュータ30が系切替によって処理を引き継ぐ構成とした。この他に、監視系コンピュータと待機系コンピュータが同一のコンピュータである構成としてもよい。
【００４１】
さらに、本実施例では、待機系コンピュータ30では、現用系コンピュータ10で実行されていたアプリケーション12を新たにアプリケーション32として、起動する方法を用いた。この他に、待機系コンピュータで引き継ぐアプリケーションと同一のアプリケーションがすでに実行中である場合は、実行中のアプリケーションが処理するデータを新たに追加する方法を用いても良い。
加えて、本実施例では、説明を容易にするためにホットスタンバイによる系切替の方法として、アプリケーションのプログラムを予めロードしておく方法を用いているが、ホットスタンバイの方法、アプリケーションの種類を制限するものではない。
【００４２】
以上に述べた本発明の実施例によれば、以下のような効果がある。
まず、クラスタ構成の高可用性コンピュータシステムにおいて、現用系に障害が発生したことを検知したことを契機として、系切替先となる待機系を決定し、この待機系が系切替準備処理をしておき、現用系の障害が確定した時に、系切替準備完了状態にある待機系に系切替を行なうことで、高速な系切替を実現することが可能となる。
さらに、系切替準備処理において、ディスク装置が系切替準備を行なう処理を含むことで、高速な系切替を実現することが可能となる。
さらに、ディスクキャッシュに系切替時に利用するデータを充填する方法により、前記のディスク装置の系切替準備処理を実現することが可能となる。
さらに、待機系が引継準備処理をした後に、現用系の障害が回復した場合には、引継準備状態から待機系を回復させることで、障害が回復した場合には、障害発生前と同じ状態に戻る系切替を実現することが可能となる。
【産業上の利用可能性】
【００４３】
以上のように、本発明は少ないシステムコストで実質的にホットスタンバイによる系切替を実現する高可用性コンピュータシステムを提供する。したがってクラスタコンピューティングの分野で広く適用が期待される。
【図面の簡単な説明】
【００４４】
【図１】従来のクラスタ構成のコンピュータシステムモデルの問題点を示すための高位のシステムブロック図である。
【図２】本発明の実施例において、系切替が行なわれる場合におけるクラスタ構成のコンピュータシステムモデルの高位のシステムブロック図である。
【図３】本発明の第二の実施例において、障害が回復し、系切替が行なわれない場合におけるクラスタ構成のコンピュータシステムモデルの高位のシステムブロック図である。
【図４】本発明の第一と第二の実施例において、監視系コンピュータのクラスタソフトが現用系障害を検知する処理を説明した処理フロー図である。
【図５】本発明の第一と第二の実施例において、待機系コンピュータのクラスタソフトが待機系をホットスタンバイ状態にする処理を説明した処理フロー図である。
【図６】本発明の第一の実施例において、待機系コンピュータのクラスタソフトがホットスタンバイ状態から系切替を実行する処理と、本発明の第二の実施例において、ホットスタンバイ状態を解除する処理とを説明した処理フロー図である。
【図７】本発明の第三の実施例において、待機系をホットスタンバイにする処理に、系切替準備処理をディスク装置に指示する処理を含むコンピュータシステムモデルの高位のシステムブロック図である。
【図８】本発明の第三の実施例において、待機系をホットスタンバイにする処理に含まれる、系切替準備処理をディスク装置に指示する処理を説明する処理フロー図である。
【符号の説明】
【００４５】
10：現用系コンピュータ
20：監視コンピュータ
30：待機系コンピュータ
11、21、31：クラスタソフト
12、32：アプリケーション
40：ディスク装置
41：アプリケーションのプログラム
42：アプリケーションのデータ
43 ：ディスクコントローラ
44 ：ディスクキャッシュ
45 ：アプリケーション先読み設定ファイル
90：ネットワーク。
【図１】
2005242404.tif 000003
【図２】
2005242404.tif 000004
【図３】
2005242404.tif 000005
【図４】
2005242404.tif 000006
【図５】
2005242404.tif 000007
【図６】
2005242404.tif 000008
【図７】
2005242404.tif 000009
【図８】
2005242404.tif 000010