(57)【要約】【課題】共有ディスクを使用する二重化サーバを、簡素な構成で実現すると共に、相互のサーバの障害検知を素早く正確に行うことを可能とする、二重化サーバの障害検知方式及びその方法を提供する。【解決手段】ＬＡＮ回線で相互に接続された２台のサーバと、２台の前記サーバが共有する共有ディスクとを備え、何れか一方の前記サーバが現用系として動作し、他方の前記サーバが待機系として動作する二重化サーバの障害検知方式であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知手段を備える。【選択図】　　　図１
2004021608.tif 000002
【特許請求の範囲】
【請求項１】
ＬＡＮ回線で相互に接続された２台のサーバと、２台の前記サーバが共有する共有ディスクとを備え、何れか一方の前記サーバが現用系として動作し、他方の前記サーバが待機系として動作する二重化サーバの障害検知方式であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知手段を備える、ことを特徴とする二重化サーバの障害検知方式。
【請求項２】
前記障害検知手段は、現用系として動作中に前記共有ディスク内の前記マウントフラグ領域に周期的にタイムスタンプを書込む書込み手段と、待機系として動作中に前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行う読出し手段と、から構成されることを特徴とする請求項１に記載の二重化サーバの障害検知方式。
【請求項３】
前記書込み手段は自サーバが現用系として動作している場合に動作し、自サーバが現用系として動作を開始した時に前記共有ディスクをマウントし、自サーバに障害が発生していない間は周期的に前記共有ディスク内の前記マウントフラグ領域にタイムスタンプを書込み、自サーバに障害が発生した時には、前記共有ディスクをアンマウントして自サーバを現用系から待機系へと移行させる処理を行い、前記読出し手段は自サーバが待機系として動作している場合に動作し、前記共有ディスク内の前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行い、前記タイムスタンプが更新されていないと判定した時には、自サーバを待機系から現用系へと移行させる処理を行う、ことを特徴とする請求項２に記載の二重化サーバの障害検知方式。
【請求項４】
ＬＡＮ回線で相互に接続された複数ｎ台のサーバと、複数ｎ台の前記サーバが共有する共有ディスクとを備え、何れか１台の前記サーバが現用系として動作し、他の（ｎ−１）台の前記サーバが待機系として動作する二重化サーバの障害検知方式であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知手段を備える、ことを特徴とする二重化サーバの障害検知方式。
【請求項５】
ＬＡＮ回線で相互に接続された２台のサーバと、２台の前記サーバが共有する共有ディスクとを備え、何れか一方の前記サーバが現用系として動作し、他方の前記サーバが待機系として動作する二重化サーバの障害検知方法であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知ステップを実行する、ことを特徴とする二重化サーバの障害検知方法。
【請求項６】
前記障害検知ステップは、現用系として動作中に前記共有ディスク内の前記マウントフラグ領域に周期的にタイムスタンプを書込む書込みステップと、待機系として動作中に前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行う読出しステップと、を含むことを特徴とする請求項５に記載の二重化サーバの障害検知方法。
【請求項７】
前記書込みステップは自サーバが現用系として動作している場合に実行され、自サーバが現用系として動作を開始した時に前記共有ディスクをマウントし、自サーバに障害が発生していない間は周期的に前記共有ディスク内の前記マウントフラグ領域にタイムスタンプを書込み、自サーバに障害が発生した時には、前記共有ディスクをアンマウントして自サーバを現用系から待機系へと移行させる処理を実行し、前記読出しステップは自サーバが待機系として動作している場合に実行され、前記共有ディスク内の前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行い、前記タイムスタンプが更新されていないと判定した時には、自サーバを待機系から現用系へと移行させる処理を実行する、ことを特徴とする請求項６に記載の二重化サーバの障害検知方法。
【請求項８】
ＬＡＮ回線で相互に接続された複数ｎ台のサーバと、複数ｎ台の前記サーバが共有する共有ディスクとを備え、何れか１台の前記サーバが現用系として動作し、他の（ｎ−１）台の前記サーバが待機系として動作する二重化サーバの障害検知方法であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知ステップを実行する、ことを特徴とする二重化サーバの障害検知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は二重化サーバの障害検知方式及びその方法に関し、特に共有ディスクを使用する二重化サーバにおいて、障害検知を素早く正確に行うことを可能とする、二重化サーバの障害検知方式及びその方法に関する。
【０００２】
【従来の技術】
コンピュータなどの資源装置、例えばディスク装置などを、複数のコンピュータによって共有し、複数のコンピュータから該資源装置を共通に使用することが、一般的に行われるようになってきている。このような資源装置の共有方式の一例として、特開平０１−１７５０２２号公報記載の「共有ディスク制御装置」が知られている。この公報では、複数のシステムから独立して存在し、かつ共有される共有資源装置の割り当てを制御する、共有ディスク制御装置に関する技術が記載されている。
【０００３】
また、複数のコンピュータの内の何れかを現用系とし、他を待機系として運用するコンピュータの二重化についても、一般的に行われるようになってきており、このような現用系と待機系とを備えるシステムの一例として、特開平０８−２５６１７３号公報記載の「ＬＡＮ間接続装置及び接続方式」が知られている。この公報では、現用系から待機系の切り替えに要する時間を短縮するＬＡＮ間接続装置に関する技術が記載されている。
【０００４】
【発明が解決しようとする課題】
上述した特開平０１−１７５０２２号公報記載の資源装置の共有方式においては、資源装置であるところの共有ディスクの制御を、ハードウエアを介して行っているため、共有ディスク制御装置やディスクコントローラなどの高機能ハードウエアが必須のものとなってしまう、という課題を有している。
【０００５】
また、上述した特開平０８−２５６１７３号公報記載の現用系／待機系システムにおいては、現用系の障害検知の方式として、待機系から現用系に対して定期的にｐｉｎｇ試験を実行し、ｐｉｎｇの応答がない場合に現用系の障害と判断する仕組みを使用している。しかし、この方式では、現用系の障害原因が、現用系のハードウエアにあるのか、現用系に接続するＬＡＮ回線にあるのかを判定できない、という課題を有している。
【０００６】
本発明の目的は、共有ディスクを使用する二重化サーバを、簡素な構成で実現すると共に、相互のサーバの障害検知を素早く正確に行うことを可能とする、二重化サーバの障害検知方式及びその方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の二重化サーバの障害検知方式は、ＬＡＮ回線で相互に接続された２台のサーバと、２台の前記サーバが共有する共有ディスクとを備え、何れか一方の前記サーバが現用系として動作し、他方の前記サーバが待機系として動作する二重化サーバの障害検知方式であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知手段を備える、ことを特徴とする。
【０００８】
また、前記障害検知手段は、現用系として動作中に前記共有ディスク内の前記マウントフラグ領域に周期的にタイムスタンプを書込む書込み手段と、待機系として動作中に前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行う読出し手段と、から構成されることを特徴とする。
【０００９】
さらに、前記書込み手段は自サーバが現用系として動作している場合に動作し、自サーバが現用系として動作を開始した時に前記共有ディスクをマウントし、自サーバに障害が発生していない間は周期的に前記共有ディスク内の前記マウントフラグ領域にタイムスタンプを書込み、自サーバに障害が発生した時には、前記共有ディスクをアンマウントして自サーバを現用系から待機系へと移行させる処理を行い、前記読出し手段は自サーバが待機系として動作している場合に動作し、前記共有ディスク内の前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行い、前記タイムスタンプが更新されていないと判定した時には、自サーバを待機系から現用系へと移行させる処理を行う、ことを特徴とする。
【００１０】
また、ＬＡＮ回線で相互に接続された複数ｎ台のサーバと、複数ｎ台の前記サーバが共有する共有ディスクとを備え、何れか１台の前記サーバが現用系として動作し、他の（ｎ−１）台の前記サーバが待機系として動作する二重化サーバの障害検知方式であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知手段を備える、ことを特徴とする。
【００１１】
本発明の二重化サーバの障害検知方法は、ＬＡＮ回線で相互に接続された２台のサーバと、２台の前記サーバが共有する共有ディスクとを備え、何れか一方の前記サーバが現用系として動作し、他方の前記サーバが待機系として動作する二重化サーバの障害検知方法であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知ステップを実行する、ことを特徴とする。
【００１２】
また、前記障害検知ステップは、現用系として動作中に前記共有ディスク内の前記マウントフラグ領域に周期的にタイムスタンプを書込む書込みステップと、待機系として動作中に前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行う読出しステップと、を含むことを特徴とする。
【００１３】
さらに、前記書込みステップは自サーバが現用系として動作している場合に実行され、自サーバが現用系として動作を開始した時に前記共有ディスクをマウントし、自サーバに障害が発生していない間は周期的に前記共有ディスク内の前記マウントフラグ領域にタイムスタンプを書込み、自サーバに障害が発生した時には、前記共有ディスクをアンマウントして自サーバを現用系から待機系へと移行させる処理を実行し、前記読出しステップは自サーバが待機系として動作している場合に実行され、前記共有ディスク内の前記マウントフラグ領域内の前記タイムスタンプを周期的に読み出して前記タイムスタンプが更新されているか否かのチェックを行い、前記タイムスタンプが更新されていないと判定した時には、自サーバを待機系から現用系へと移行させる処理を実行する、ことを特徴とする。
【００１４】
また、ＬＡＮ回線で相互に接続された複数ｎ台のサーバと、複数ｎ台の前記サーバが共有する共有ディスクとを備え、何れか１台の前記サーバが現用系として動作し、他の（ｎ−１）台の前記サーバが待機系として動作する二重化サーバの障害検知方法であって、前記サーバの各々が、前記共有ディスク内にマウントフラグ領域を作成し、前記マウントフラグ領域のタイムスタンプが周期的に更新されていることを監視し、現用系として動作中の前記サーバの障害発生を検知する障害検知ステップを実行する、ことを特徴とする。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１６】
図１は、本発明の二重化サーバの障害検知方式の一実施形態を示すブロック図である。
【００１７】
図１に示す本実施の形態は、２台のサーバ１１、サーバ１２と、サーバ１１、サーバ１２が共有する情報記録媒体であるところの共有ディスク２と、サーバ１１とサーバ１２及び図示しない他のコンピュータや通信装置などとを接続する通信回線であるところのＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ：ラン）回線３と、から構成されている。
【００１８】
サーバ１１とサーバ１２は、それぞれ独立に動作可能な同一機能を有する情報処理装置であり、サーバ１１とサーバ１２とにより二重化サーバとして動作するよう構成されている。サーバ１１とサーバ１２とで二重化構成となっている為、一方が現用系として運用されている時には他方は待機系となるようになっており、現用系に障害が発生して正常運用が不可能となった場合には、待機系はこれを検知して現用系となるよう切り替わるようになっている。
【００１９】
共有ディスク２は、情報の書込み／読出しが可能な情報記録媒体（例えば、磁気ディスク、半導体ディスク、光ディスク、など）で構成されており、共有データ領域２１とマウントフラグ領域２２とを備えている。
【００２０】
共有データ領域２１は、サーバ１１或いはサーバ１２が、運用中に必要となる情報を、書込み或いは読み出すことが可能な記憶領域である。
【００２１】
マウントフラグ領域２２は、日時情報であるところのタイムスタンプを書込み或いは読み出すことが可能な記憶領域である。サーバ１１或いはサーバ１２は、現用系となっている時にはマウントフラグ領域２２にタイムスタンプを書込み、待機系となっているときには前記タイムスタンプを読み出して、現用系が正常に運用されているか否かを判定するようになっている。なお、本実施形態においては、各サーバ１１、１２はそれぞれ固有のサーバ識別番号を有しており、サーバ識別番号と日時情報とを対にしたものをタイムスタンプとして書き込むようになっている。
【００２２】
そして、図１に示した本実施形態においては、サーバ１１は、現在現用系となっており、共有ディスク２を自身が使用できるようにマウントしており（共有ディスクのマウント中）、共有データ領域２１を利用して運用中となっているものとする。また、周期的にマウントフラグ領域２２内にタイムスタンプを書込み、タイムスタンプを更新している。
【００２３】
サーバ１２は、現在待機系となっており、共有ディスク２をマウントしていない状態（アンマウント中）にある。また、サーバ１２は、周期的にマウントフラグ領域２２内のタイムスタンプを読み出し、タイムスタンプが確実に更新されているかのチェックを行っている。
【００２４】
次に、図２を参照して、本実施形態の動作について詳細に説明する。
【００２５】
図２は、図１の実施形態の動作を説明するフローチャートである。
【００２６】
先ず、サーバ１１（すなわち現用系）が共有ディスク２をマウントし（図２のステップＡ１）、共有ディスク２を自身が使用できるようにして、運用を開始する。
【００２７】
そして、サーバ１１自身に障害が発生しているか否かの判定を行う（ステップＡ２）。障害が発生していない通常運用時には（ステップＡ２でＮＯ）、サーバ１１は、自身が共有ディスク２をマウントしている事をサーバ１２（すなわち待機系）に通知するため、マウントフラグ領域２２にタイムスタンプ（サーバ識別番号と現在日時）を書込むことによりタイムスタンプの更新を行う（ステップＡ３）。その後、予め定められた一定時間待った後（ステップＡ４）、再度ステップＡ２に戻る。ステップＡ２で障害発生が検知されなければ、再度ステップＡ３によりタイムスタンプの更新を行う。すなわち、サーバ１１に障害が発生していない通常運用時には、マウントフラグ領域２２のタイムスタンプを周期的（ステップＡ４の一定時間ごと）に更新するよう動作していることとなる。
【００２８】
一方、サーバ１２（すなわち待機系）は、待機している間、マウントフラグ領域２２のタイムスタンプを読み出し、タイムスタンプが更新されているかを判定する（図２のステップＢ１）。ステップＢ１における判定は、前回の判定時に読み出したタイムスタンプ（旧タイムスタンプ）と今回の判定時に読み出したタイムスタンプ（新タイムスタンプ）とを比較し、両者のサーバ識別番号が同一で、かつ、両者の現在日時情報が新タイムスタンプ＞旧タイムスタンプとなっていれば、新タイムスタンプは更新されている、と判定する。タイムスタンプが更新されている場合には（ステップＢ１でＹＥＳ）、予め定められた一定時間待った後（ステップＢ２）、再度ステップＢ１に戻る。すなわち、サーバ１２においては、ステップＢ１でタイムスタンプが更新されていると判定される場合には、周期的（ステップＢ２の一定時間ごと）にマウントフラグ領域２２のタイムスタンプをチェックする動作を行っている。そして、ステップＢ１でタイムスタンプが更新されていると判定されている間は、サーバ１１（すなわち現用系）に障害は発生していないものと判断し、待機系のままの状態を継続する。
【００２９】
仮に、ここで、サーバ１２（待機系）が何らかの他の障害を検出したとしても、マウントフラグ領域２２のタイムスタンプが更新されている間は、サーバ１１（現用系）には障害は発生していないと判定し、サーバ１２は待機系のままの状態を継続する。前述の何らかの他の障害とは、ＬＡＮ回線３の障害ではあるが、サーバ１１は運用中を継続しておりＬＡＮ回線３からは切り離されてはいない、といった場合の障害である。
【００３０】
次に、図２のステップＡ２でサーバ１１自身に障害が発生した場合の動作について説明する。
【００３１】
サーバ１１に障害が発生した場合は（ステップＡ２でＹＥＳ）、サーバ１１は現用系としての運用を終了する必要があるため、それまでマウントしていた共有ディスク２をアンマウント（自身が使用していない状態に戻す）処理を行い（ステップＡ５）、それまで現用系として運用していた状態から待機系へと移行する処理を行い（ステップＡ６）、処理を終了する。サーバ１１が待機系となることにより、それまで周期的に更新していたマウントフラグ領域２２のタイムスタンプは、更新されなくなる。
【００３２】
他方、サーバ１２は、マウントフラグ領域２２のタイムスタンプが一定時間更新されないことを検出すると（ステップＢ１でＮＯ）、それまで待機系であった状態から現用系へと移行する処理を行い（ステップＢ３）、その後、現用系としての動作を行うようになる。
【００３３】
ステップＡ２で検出される障害とは、サーバ１１自身に発生した障害である場合や、或いは、ＬＡＮ回線３に障害が発生してサーバ１１がＬＡＮ回線３から切り離された、といった場合の障害である。
【００３４】
以上詳述したように、本実施形態によれば、待機系における障害検知を素早く正確に行うことが可能となる、という効果を有している。その理由は、待機系としてのサーバは、マウントフラグ領域のタイムスタンプをチェックするだけで、現用系に移行するか否かを判定できるためである。また、障害検知の方式が簡素な構成で実現されているため、障害検知用プログラムもシンプルな構造となり、従って、障害復旧の保守作業も行い易くなる、という更なる効果を有するものとなる。
【００３５】
次に、図３を参照して、本発明の第２の実施形態について説明する。
【００３６】
図３は、本発明の第２の実施形態を示すブロック図である。なお、図３において図１に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略するものとする。
【００３７】
図３に示す第２の実施の形態は、複数ｎ台のサーバ１１、サーバ１２、、、サーバ１ｎと、サーバ１１〜サーバ１ｎが共有する情報記録媒体であるところの共有ディスク２と、サーバ１１〜サーバ１ｎ及び図示しない他のコンピュータや通信装置などとを接続する通信回線であるところのＬＡＮ回線３と、から構成されている。
【００３８】
サーバ１１〜サーバ１ｎは、それぞれ独立に動作可能な同一機能を有する情報処理装置であり、図３においては、サーバ１１が現在現用系となっており、共有ディスク２を自身が使用できるようにマウントしており、共有データ領域２１を利用して運用中となっている。また周期的にマウントフラグ領域２２内にタイムスタンプを書込み、タイムスタンプを更新している。サーバ１２〜サーバ１ｎは全て現在待機系となっており、共有ディスク２をマウントしていない。また、サーバ１２〜サーバ１ｎはそれぞれ、周期的にマウントフラグ領域２２内のタイムスタンプを読み出し、タイムスタンプが確実に更新されているかのチェックを行っている。
【００３９】
図３の第２の実施形態の動作については、図２で述べた第１の実施形態の動作と同一であるため詳細については省略するものとする。但し、現用系として運用中のサーバ１１に障害が発生した場合、この障害は待機系であるサーバ１２〜サーバ１ｎで検知される。そして、サーバ１２〜サーバ１ｎの内の何れか１台が現用系となるよう移行を行うものとなるが、どの１台が現用系となるかは、例えば、各サーバ１１〜１ｎに固有のサーバ識別番号を利用し、サーバ識別番号の昇順で現用系へと移行する、というように各サーバ１１〜１ｎ間で取り決めを行っておけばよい。
【００４０】
【発明の効果】
以上説明したように、本発明の二重化サーバの障害検知方式及びその方法は、現用系サーバが周期的にタイムスタンプを更新し、待機系サーバはこのタイムスタンプのチェックを行うだけで、現用系の障害を検知できるので、サーバ相互間の障害検知を、簡素な構成で素早く正確に行うことが可能となる、という効果を有している。
【図面の簡単な説明】
【図１】本発明の二重化サーバの障害検知方式の一実施形態を示すブロック図である。
【図２】図１の実施形態の動作を説明するフローチャートである。
【図３】本発明の第２の実施形態を示すブロック図である。
【符号の説明】
１１、１２、１ｎ　　サーバ
２　　共有ディスク
２１　　共有データ領域
２２　　マウントフラグ領域
３　　ＬＡＮ回線
【図１】
2004021608.tif 000003
【図２】
2004021608.tif 000004
【図３】
2004021608.tif 000005