JP4315016B2 - コンピュータシステムの系切替方法 - Google Patents

コンピュータシステムの系切替方法 Download PDF

Info

Publication number
JP4315016B2
JP4315016B2 JP2004047177A JP2004047177A JP4315016B2 JP 4315016 B2 JP4315016 B2 JP 4315016B2 JP 2004047177 A JP2004047177 A JP 2004047177A JP 2004047177 A JP2004047177 A JP 2004047177A JP 4315016 B2 JP4315016 B2 JP 4315016B2
Authority
JP
Japan
Prior art keywords
computer
standby
active
failure
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004047177A
Other languages
English (en)
Other versions
JP2005242404A5 (ja
JP2005242404A (ja
Inventor
恒彦 馬場
真二 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004047177A priority Critical patent/JP4315016B2/ja
Priority to US10/942,873 priority patent/US7305578B2/en
Publication of JP2005242404A publication Critical patent/JP2005242404A/ja
Publication of JP2005242404A5 publication Critical patent/JP2005242404A5/ja
Application granted granted Critical
Publication of JP4315016B2 publication Critical patent/JP4315016B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2041Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component

Description

本発明はアプリケーションシステムを構築する障害許容性のあるコンピュータシステムに関し、特にアプリケーションを実行中であるコンピュータのプログラムもしくはオペレーティングシステムに障害があった時に、その実行中のアプリケーションを別のコンピュータに引き継がせる系切替機能を有するプログラムを持つコンピュータシステムに関する。
現代社会において、コンピュータシステムは我々の生活を支える生活基盤として無くてはならない存在となっている。こうしたコンピュータシステムは24時間停止することなく、サービスを継続することが要求される。例えば、銀行などのオンラインシステムの中核処理としてデータベース業務がある。こうしたデータベース業務は絶えず更新されうるため、完全停止することが許されない。
完全停止することが許されないような高信頼性を必要とするコンピュータシステムでは、処理を実行する現用系コンピュータと、現用系に障害が発生した際に処理を引き継ぐ待機系コンピュータとを含む構成をとる。現用系で発生した障害の検出から待機系に処理を引き継ぐ手続きはクラスタプログラムによって提供される。
現用系障害時に待機系が処理を引き継ぐためには、クラスタを構成するコンピュータから待機系となるコンピュータを決定することと、アプリケーションやオペレーティングシステム(OS)が使用しているデータを引き継ぐことが必要となる。また、クラスタプログラムの障害の検出は、一時的な障害や誤検出された障害によって処理の引継ぎが発生するのを防ぐために、障害の検出が繰り返し行われたときに初めて、待機系への処理の引継ぎを開始する仕組みをもつ。
クラスタ構成において、処理の引継ぎ先となる待機系を選択する方法として、例えば、特許文献1(特開2000-47894号)がある。特許文献1では、現用系で障害が発生し、系切替を行なう際に、各コンピュータのCPU負荷と空きメモリを基準とし、待機系のコンピュータを決定する技術が記載される。
処理の引継ぎの手続きとして、現用系に障害が発生してから、待機系がアプリケーションのプログラムを起動する方法がある。これをコールドスタンバイと言う。このコールドスタンバイに対して、処理の引継ぎを高速化する技術として、ホットスタンバイ技術がある。例えば、特許文献2(特開平8-221287号)では、待機系コンピュータは、現用系で障害が発生する前に、引継ぐべきアプリケーションのプログラムを予め読み込んでおくことで、現用系で障害が発生し、待機系が処理を引き継ぐ系切替時間の短縮を図る技術が記載される。
特開2000−47894号公報
特開平8−221287号公報
特許文献1では、クラスタ構成のコンピュータシステムにおいて、現用系障害時に現用系の処理を引き継ぐ待機系の決定は、系切替が行われることが決定した後に行なわれる。一方、特許文献2では、待機系が、現用系の障害発生前に、引継ぐべきプログラムを読み込んでおくことで、引き継ぎに要する処理を高速化する方法について述べられている。すなわち、系切替実施前に、待機系が引き継ぐべきプログラムを読み込まねばならない。
従って、クラスタ構成のコンピュータシステムにおいて、ホットスタンバイ技術を適用し、高速な系切替を実現するためには、全てのコンピュータが、各コンピュータが実行するプログラムを全て読み込んでおくことが必要となる。これは、計算機資源を消費することになり、そのコンピュータで処理しているアプリケーションの動作が遅くなるという問題が生じる。
本発明は、現用/待機系コンピュータを含む高可用性コンピュータシステムであって、現用/待機系が少なくとも一つのディスク装置を共有しているコンピュータシステムにおいて、ホットスタンバイによる高速系切替を実現する機能を提供する。
本発明では、現用系コンピュータで障害が発生した場合に、現用系以外のクラスタ内のコンピュータから、現用系の行なっていた処理を引き継ぐ待機系コンピュータを決定する。障害発生の検出は、現用系以外のコンピュータが現用系を監視する方式でもよいし、現用系が自立的に、エラー率、メモリ余裕度などから異常を検知する方式でもよい。また、待機系コンピュータの決定は、現用系の障害発生を検出した前述のコンピュータが行なう方式でもよいし、この検出したコンピュータが、別のコンピュータに通知を行い、そのコンピュータが行なう方式でもよい。
つぎに、待機系が決定されると、待機系を決定したコンピュータはその待機系になると決定されたコンピュータに決定を通知する。通知を受けたコンピュータは処理を引き継ぐアプリケーションをホットスタンバイが可能な状態にする引継準備処理を行う。この引継系準備処理とは、代表的には現用系コンピュータで実行していたアプリケーションプログラムをディスク装置から読み込むことである。また、現用系/待機系コンピュータで、高可用性データベースシステムを構築している場合には、環境変数や引継ぎによって取り扱わねばならないデータ量に合わせたメモリを確保するのもこの引継準備処理に含めるのが有効である。アプリケーションがホットスタンバイ可能な状態になった後、待機系は、現用系で障害が発生したことが認識され、系切替を行なうか、あるいは、現用系での障害が一時的なものであり、系切替の必要がないか、の通知を待つ。
最初に現用系の障害が検知された後、現用系障害が実際に発生している場合には、連続して障害が検知され続ける。続いて、障害がある一定回数(N回)連続して検知された場合に現用系の障害が確かに発生したと認識がされて、系切替が行なわれる。系切替の手続きでは、障害を認識したコンピュータから、本発明により事前にホットスタンバイが可能な状態にアプリケーションを起動した状態にある待機系コンピュータに対して系切替を行なうように通知され、待機系はそのアプリケーションを起動させることで系切替が行なわれる。
一方、最初に現用系の障害が検知された後、その障害が一時的な障害であった場合には、系切替の契機となるN回にいたる前に現用系の障害が検出されず、正常状態となる。このように連続してN回未満の障害検知である場合には、事前に引継準備処理をおこなった状態、即ちホットスタンバイが可能な状態にアプリケーションを起動した状態にある待機系コンピュータに対して、系切替が行なわれないことが通知され、待機系は起動しホットスタンバイ可能な状態となったアプリケーションを中止し、待機系となっていたコンピュータは一時的に障害の発生した現用系に対する引継準備処理を解消する。以上の手続きにより、待機系コンピュータは現用系の障害が検出される以前の状態、すなわち、どのコンピュータの待機系ともなりうる状態へと戻り、現用系/待機系を含むクラスタは。現用系コンピュータで障害が発生する前のコールドスタンバイ状態に戻る。
一例をあげれば、現用系/待機系コンピュータ間ではクラスタプログラムによってハートビート監視が行なわれており、監視用コンピュータは現用系コンピュータの障害を検知すると、クラスタ内の別のコンピュータから待機系となるコンピュータを決定し、ホットスタンバイ可能な状態にアプリケーションを実行することを待機系に指示する。待機系では、現用系が変更することの無いデータを利用し、アプリケーションをホットスタンバイ可能な状態まで起動し、現用系の障害が認識されるか、あるいは一時的なものであったかの通知を待つ。
待機系に対する通知が、現用系の障害の認識、すなわち、系切替の実行であった場合には、待機系は、現用系が利用していた残りのデータを利用して、アプリケーションの実行を続行することで、現用系の処理を引継ぎ、系切替が完了する。一方、現用系の障害が一時的な障害であった場合には、待機系は系切替のためにホットスタンバイ可能な状態に起動したアプリケーションを停止させ、現用系で障害が発生する以前のコールドスタンバイ状態に戻る。
上記本発明によれば、障害により切替が必要であると判明してから切替に要する時間は、現用系のコンピュータに対応して待機系のコンピュータでもそのアプリケーションをホットスタンバイ可能に常に準備しておくシステムと同等な短い時間となり、即ち切替期間中のデータ喪失が小さく、後の回復処理が軽減する等の効果を有する。なおかつ、常時準備しておくのは現用系で動作するアプリケーションについてはそれを読み込み前の状態(コールドスタンバイもしくはウオームスタンバイ状態)のコンピュータである。したがって計算機資源を有効利用するシステムが得られる。
とくに複数の現用系コンピュータがそれぞれアプリケーション処理を行うクラスタシステムでは、正常動作時に準備しておくのは、それら現用系コンピュータのいずれの待機系にもなりうる少数の予備用のコンピュータでよいので、少ない計算機資源で可用性の高いコンピュータシステムとすることができる。
本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡単化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ/または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。
図1は、従来のクラスタ構成のコンピュータシステムモデルの問題点を示すための高位のシステムブロック図である。
図1では、説明を分かりやすくするため、二桁の番号を用いている。さらに、以降の図2、図3、図7において同様の番号を用いているものがあるが、それらについては特に説明がない場合、図1の説明と同様である。
図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は待機系のクラスタソフト31にアプリケーションを引き継ぐように指示を行なう(図中(9))。指示を受けたクラスタソフト31は、すでにホットスタンバイ状態で待機していたアプリケーション32に指示し(図中(10))、アプリケーション32は、ディスク装置40条のアプリケーションデータ42を読み込み(図中(11))、アプリケーションを起動する(図中(12))ことで、系切替が完了する(図中(13))。
以上の手段をもつ第一の実施例により、図1において現用系障害を確定後に待機系を決定し、コールドスタンバイによる系切替を行なっていたのに対して、障害を検知した時点で待機系を決定し、予め待機系をホットスタンバイ状態にしておくことで、クラスタ構成においてもホットスタンバイによる高速な系切替を実現することが可能となる。
図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:ネットワーク。

Claims (8)

  1. 現用系のコンピュータと、該現用系のコンピュータの処理を引き継ぐべき待機系となりうる複数のコンピュータと、これらコンピュータに接続されたディスク装置であって、該現用系のコンピュータの処理を行なうアプリケーションに必要なデータを保持するディスク装置を含むコンピュータシステムにおける系切替方法であって、
    前記現用系のコンピュータの障害発生を検出したことを第1の契機に、処理を引き継ぐ待機系のコンピュータを決定し、決定したコンピュータに通知するステップ、
    通知をうけたコンピュータが引継準備処理を行なうステップ、
    前記現用系の障害により系切替が必要となったことを第2の契機に、前記引継準備処理をおこなったコンピュータが、前記現用系が実行していた処理を、引き継ぐステップ、及び
    前記現用系の障害が回復し、系切替が不要となったことを第3の契機に、前記待機系のコンピュータの引継準備処理を解消するステップ、
    を含む系切替方法。
  2. 前記引継準備とは前記現用系のコンピュータで稼動していたアプリケーションプログラム
    を前記ディスク装置から読み込む処理であることを特徴とする請求項1の系切替方法。
  3. 前記第1の契機により、前記ディスク装置は系切替準備処理を行うこと特徴とする請求項
    1記載の系切替方法。
  4. 前記ディスク装置が行う系切替準備処理は、系切替でアクセスするデータをディスクから
    キャッシュにプリフェッチする処理を含む請求項3記載の系切替方法。
  5. 現用系のコンピュータと、該現用系のコンピュータの処理を引き継ぐべき待機系となりう
    るコンピュータと、を含むコンピュータシステムにおける系切替方法であって、
    前記現用系のコンピュータの障害発生を検出したことを契機に、処理を引き継ぐ待機系の
    コンピュータを決定し、該待機系のコンピュータが引継準備処理を行なうステップ、
    前記現用系の障害が回復し、系切替が不要となったことを契機に、前記待機系のコンピュ
    ータの引継準備処理を解消するステップ、
    を含む系切替方法。
  6. 前記現用系のコンピュータの障害発生の検出は、前記現用系以外のコンピュータによる監
    視あるいは前記現用系のコンピュータによる異常の検知によって行なわれることを特徴と
    する請求項1又は5記載の系切替方法。
  7. 前記現用系のコンピュータによる異常の検知は、前記現用系のコンピュータのエラー率又
    はメモリ余裕度に基づくことを特徴とする請求項6記載の系切替方法。
  8. 現用系のコンピュータと、該現用系のコンピュータの処理を引き継ぐべき待機系となりう
    るコンピュータとに接続される監視用計算機であって、
    前記現用系のコンピュータの障害発生を検出したことを契機に、処理を引き継ぐ待機系の
    コンピュータを決定し、該待機系のコンピュータにホットスタンバイ処理を指示する手段と、
    前記現用系の障害が回復し、系切替が不要となったことを契機に、前記待機系のコンピュ
    ータにホットスタンバイを解除する指示を行う手段、とを
    を有することを特徴とする監視用計算機。
JP2004047177A 2004-02-24 2004-02-24 コンピュータシステムの系切替方法 Expired - Fee Related JP4315016B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004047177A JP4315016B2 (ja) 2004-02-24 2004-02-24 コンピュータシステムの系切替方法
US10/942,873 US7305578B2 (en) 2004-02-24 2004-09-17 Failover method in a clustered computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004047177A JP4315016B2 (ja) 2004-02-24 2004-02-24 コンピュータシステムの系切替方法

Publications (3)

Publication Number Publication Date
JP2005242404A JP2005242404A (ja) 2005-09-08
JP2005242404A5 JP2005242404A5 (ja) 2007-01-25
JP4315016B2 true JP4315016B2 (ja) 2009-08-19

Family

ID=34908488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004047177A Expired - Fee Related JP4315016B2 (ja) 2004-02-24 2004-02-24 コンピュータシステムの系切替方法

Country Status (2)

Country Link
US (1) US7305578B2 (ja)
JP (1) JP4315016B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2843209B1 (fr) * 2002-08-02 2006-01-06 Cimai Technology Procede de replication d'une application logicielle dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de replication, et systeme multi-ordinateurs ainsi equipe.
JP4392343B2 (ja) * 2004-12-28 2009-12-24 株式会社日立製作所 メッセージ配布方法、待機系ノード装置およびプログラム
JP4249719B2 (ja) * 2005-03-29 2009-04-08 株式会社日立製作所 バックアップシステム、プログラム及びバックアップ方法
US7434104B1 (en) * 2005-03-31 2008-10-07 Unisys Corporation Method and system for efficiently testing core functionality of clustered configurations
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
JP4757669B2 (ja) * 2006-03-15 2011-08-24 日本電気通信システム株式会社 エコーキャンセラ装置及び切替制御方法
US8977252B1 (en) * 2006-07-06 2015-03-10 Gryphonet Ltd. System and method for automatic detection and recovery of malfunction in mobile devices
JP5526784B2 (ja) 2007-12-26 2014-06-18 日本電気株式会社 縮退構成設計システムおよび方法
WO2009081736A1 (ja) 2007-12-26 2009-07-02 Nec Corporation 冗長構成管理システムおよび方法
US8688642B2 (en) * 2010-02-26 2014-04-01 Symantec Corporation Systems and methods for managing application availability
US8738961B2 (en) 2010-08-17 2014-05-27 International Business Machines Corporation High-availability computer cluster with failover support based on a resource map
JP5618792B2 (ja) * 2010-11-30 2014-11-05 三菱電機株式会社 エラー検出修復装置
JP6096423B2 (ja) * 2012-05-23 2017-03-15 日本電気通信システム株式会社 通信システム及び通信システムの冗長切替方法
JP5876780B2 (ja) * 2012-07-06 2016-03-02 株式会社Nttドコモ 加入者データベース切替制御装置、加入者データベースシステム、加入者データベース切替制御装置の制御プログラム、および加入者データベース切替制御装置の制御方法
JP6007988B2 (ja) * 2012-09-27 2016-10-19 日本電気株式会社 予備系装置、運用系装置、冗長構成システム、及び負荷分散方法
CN103425553B (zh) * 2013-09-06 2015-01-28 哈尔滨工业大学 一种双机热备份系统及该系统的故障检测方法
CN105579981B (zh) 2013-09-26 2017-08-25 三菱电机株式会社 通信系统、备用装置以及通信方法
JP2015194971A (ja) * 2014-03-31 2015-11-05 日本信号株式会社 冗長系制御装置
US9846624B2 (en) * 2014-09-26 2017-12-19 Microsoft Technology Licensing, Llc Fast single-master failover
CN105404287B (zh) * 2015-12-27 2018-02-06 彭晔 基于心跳协议的数据采集与监控系统的控制切换方法
JP7149313B2 (ja) 2020-09-28 2022-10-06 株式会社日立製作所 記憶システム及びその制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408649A (en) * 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
JPH08221287A (ja) 1995-02-10 1996-08-30 Hitachi Ltd 系切り替え制御方法
JP3062155B2 (ja) 1998-07-31 2000-07-10 三菱電機株式会社 計算機システム
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6918051B2 (en) * 2001-04-06 2005-07-12 International Business Machines Corporation Node shutdown in clustered computer system
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system

Also Published As

Publication number Publication date
US20050198552A1 (en) 2005-09-08
US7305578B2 (en) 2007-12-04
JP2005242404A (ja) 2005-09-08

Similar Documents

Publication Publication Date Title
JP4315016B2 (ja) コンピュータシステムの系切替方法
JP4529767B2 (ja) クラスタ構成コンピュータシステム及びその系リセット方法
US20060089975A1 (en) Online system recovery system, method and program
JP2001022709A (ja) クラスタシステム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JPH01224846A (ja) プロセス空間切り換え制御方式
JP3025732B2 (ja) 多重化コンピュータシステムの制御方式
JP2002049509A (ja) データ処理システム
JP6109404B2 (ja) 計算機装置及び計算機機構
JP4788516B2 (ja) 動的置き換えシステム、動的置き換え方法およびプログラム
JP2785992B2 (ja) サーバプログラムの管理処理方式
JP3470454B2 (ja) マルチプロセッサシステムの通信制御方法
JP2629415B2 (ja) 相互スタンバイシステムにおける業務処理系切り替え方法
JP2730209B2 (ja) 入出力制御方式
JPH02188863A (ja) マルチプロセッサシステム
JPH08235133A (ja) 多重処理システム
JPS597982B2 (ja) 計算機システムのシステム障害時の再開始方式
JPH07271611A (ja) プロセス自動再起動処理方式
JPH04291628A (ja) 複合サブシステム形オンラインシステムの障害回復方式
JP2513122B2 (ja) ホットスタンバイ切り替えシステム
JP2815730B2 (ja) アダプタ及びコンピュータシステム
JP2013140491A (ja) Os動作装置及びos動作プログラム
JPH01261742A (ja) システム管理装置のエラー処理方法
JPS6341943A (ja) 論理装置のエラ−回復方式
JP2006178552A (ja) 仮想計算機システム
JPS62296264A (ja) デ−タ処理システムの構成制御方式

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090511

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees