(57)【特許請求の範囲】
【請求項１】
ＬＡＮ上にＬＡＮケーブルを介して接続された複数のノードが共有資源を制御し、前記複数のノード間を相互に接続した障害検出用回線により該複数のノードの障害検出を行い、障害の発生したノードによる前記共有資源の制御を排他するコンピュータシステムにおける共有資源の排他利用方法において、
前記複数のノードは、
前記障害検出用回線が正常に機能するか否かを監視し、
前記障害検出用回線が正常に機能していないことを検出した場合には、前記複数のノードから前記共有資源に対して該共有資源の占有を指示するコマンドを発行し、
占有権を取得したノードが、前記共有資源を制御する
ことを特徴とするコンピュータシステムにおける共有資源の排他利用方法。
【請求項２】
前記共有資源と複数のノードを接続するケーブルはＳＣＳＩケーブルであり、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項１記載のコンピュータシステムにおける共有資源の排他利用方法。
【請求項３】
前記共有資源と複数のノードを接続するケーブルはＦＣケーブルであり、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項１記載のコンピュータシステムにおける共有資源の排他利用方法。
【請求項４】
前記共有資源と複数のノードを接続するケーブルはＳＣＳＩケーブルであると共に、前記共有資源はＬＡＮケーブルに接続され、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項１記載のコンピュータシステムにおける共有資源の排他利用方法。
【請求項５】
前記共有資源は、磁気ディスク装置であることを特徴とする請求項１乃至請求項４の何れか１つに記載のコンピュータシステムにおける共有資源の排他利用方法。
【請求項６】
前記ＬＡＮケーブルは、Ethernetケーブルであることを特徴とする請求項１乃至請求項５の何れか１つに記載のコンピュータシステムにおける共有資源の排他利用方法。
【請求項７】
ＬＡＮ上にＬＡＮケーブルを介して接続され、共有資源を制御する複数のノードと、前記複数のノード間を相互に接続し、該複数のノードの障害検出に用いられる障害検出用回線とを備え、障害の発生したノードによる前記共有資源の制御を排他するコンピュータシステムにおいて、
前記複数のノードが、前記障害検出用回線が正常に機能するか否かを監視する機能正否監視手段を備え、
該機能正否監視手段が、前記障害検出用回線が正常に機能していないことを検出した場合には、前記複数のノードから前記共有資源に対して該共有資源の占有を指示するコマンドを発行し、占有権を取得したノードが前記共有資源を制御することを特徴とするコンピュータシステム。
【請求項８】
前記共有資源と複数のノードを接続するケーブルはＳＣＳＩケーブルであり、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項７記載のコンピュータシステム。
【請求項９】
前記共有資源と複数のノードを接続するケーブルはＦＣケーブルであり、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項７記載のコンピュータシステム。
【請求項１０】
前記共有資源と複数のノードを接続するケーブルはＳＣＳＩケーブルであると共に、前記共有資源はＬＡＮケーブルに接続され、前記占有を指示するコマンドはＳＣＳＩコマンドであることを特徴とする請求項７記載のコンピュータシステム。
【請求項１１】
前記共有資源は、磁気ディスク装置であることを特徴とする請求項７乃至請求項１０の何れか１つに記載のコンピュータシステム。
【請求項１２】
前記ＬＡＮケーブルは、Ethernetケーブルであることを特徴とする請求項７乃至請求項１１の何れか１つに記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムにおける共有資源の排他利用方式に関し、特にハートビート回線の障害時に、共有ディスクへ排他的にアクセスする場合であっても、共有ディスクに論理ディスクを確保することを不要にしたコンピュータシステムにおける共有資源の排他利用方法、及びそのコンピュータシステムに関する。
【０００２】
【従来の技術】
コンピュータのクラスタ・システムの一つに、複数のノード（パソコン等のコンピュータ本体）がディスク（外部記憶装置等）を共有する方式がある。
従来の方式を、図１を借用して説明する。図１は本願発明の実施例のシステム構成図である。
図１において、第１ノード１は第１ＳＣＳＩケーブル５により共有ディスク４と接続され、第２ノード２は第２ＳＣＳＩケーブル６により共有ディスク４と接続されている。また、第１ノード１と第２ノード２はハートビート回線３で接続され、各ノードが正常に稼動しているか等の情報を交換している。
【０００３】
第１ノード１に障害が発生した場合は、ハートビート回線３での情報交換により、第１ノード１で行われていたサービスが第２ノード２で行われるようになる。この時、第１ノード１が第１ＳＣＳＩケーブル５によりアクセスしていた共有ディスク４も、第２ノード２が第２ＳＣＳＩケーブル６によりアクセスするようになる。
この様に、ハートビート回線３が「正常に機能している場合」はクラスタを構成する各ノードに障害が発生しても、共有ディスク４は各ノードから排他的にアクセスされ、中のデータが破壊される事はない。
【０００４】
ハートビート回線３が「正常に機能していない場合」は、第１ノード１から第２ノード２が正常に機能しているか否か、第２ノード２から第１ノード１が正常に機能しているか否かの確認が出来ず、それぞれ他ノードに障害が発生した事とみなされ、第１ノード１は第２ノード２で行われていたサービスを行うようになり、第２ノード２は第１ノード１で行われていたサービスを行うようになる。この結果、第１ノード１と第２ノード２で同じサービスが実行されるようになり、共有ディスク４へのアクセスも、第１ノード１と第２ノード２の双方から行われるようになり、中のデータを破壊してしまう。
【０００５】
これを防ぐために従来は、ハートビート回線３での通信が途絶えた場合、第１ノード１及び第２ノード２は、それぞれ第１ＳＣＳＩケーブル５，第２ＳＣＳＩケーブル６より共有ディスク４の特定の論理ディスクに対して書き込みを行い、先に書き込みを行ったノードがそれ以降共有ディスク４に対してアクセスを行うようにしていた。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の方式においては、ハートビート回線３での通信が途絶えた後、各ノードが共有ディスク４の特定の論理ディスクへ書き込みを行うため、この特定の論理ディスクをこの目的のためだけに用意しなくてはならないと言う事である。この論理ディスクはクラスタを構成するノードのうち、どのノードが共有ディスク４へアクセスしても良いかを決定するためだけの物であり、その為だけに最低でも共有ディスク４に構成できる最小の論理ディスクを割り当てなければならないのは無駄である。
【０００７】
そこで本発明の課題は、例えばハートビート回線の障害時に、共有ディスクへ排他的にアクセスする場合であっても、共有ディスクに論理ディスクを確保することを不要にしたコンピュータシステムにおける共有資源の排他利用方法、及びそのコンピュータシステムを提供することである。
【０００８】
【課題を解決するための手段】
前記課題を解決するために本発明は、ＬＡＮ上にＬＡＮケーブルを介して接続された複数のノードが共有資源を制御し、前記複数のノード間を相互に接続した障害検出用回線により該複数のノードの障害検出を行い、障害の発生したノードによる前記共有資源の制御を排他するコンピュータシステムにおける共有資源の排他利用方法において、
前記複数のノードは、
前記障害検出用回線が正常に機能するか否かを監視し、
前記障害検出用回線が正常に機能していないことを検出した場合には、前記複数のノードから前記共有資源に対して該共有資源の占有を指示するコマンドを発行し、
占有権を取得したノードが、前記共有資源を制御することを特徴とする。
【０００９】
このようにすれば、障害検出用回線が正常に機能していないことを検出した場合には、複数のノードから共有資源に対して該共有資源の占有を指示するコマンドを発行し、占有権を取得したノードが共有資源の制御を可能にしているので、たとえ障害検出用回線が障害を起した場合であっても、占有権を取得したノードのみが共有資源を制御可能となる。従って、共有資源（共有ディスク）の無駄な使用をすること無しに、共有資源のデータ等の破壊防止ができる。
【００１０】
【発明の実施の形態】
以下、本発明を図示の実施例に基づいて説明する。
（１）第１実施例
図１を参照すると、本発明の第１実施例としてのクラスタ・システムが示されている。
図１において、第１ノード１は，クラスタ・システムを構成するノードのうちの一つである。
同様に、第２ノード２もクラスタ・システムを構成するノードのうちの一つである。第１，第２ノードとしては、例えば、パソコン等のコンピュータ本体等がある。第１，第２ノードは、次に説明するハートビート回線が正常に機能するか否かを監視する機能正否監視手段を備える（図示省略）。
【００１１】
クラスタ・システム内には、クラスタの各ノードからアクセスする事が出来る「磁気ディスク装置」からなる「共有資源」である共有ディスク４があり、共有ディスク４は第１ノード１とは第１ＳＣＳＩケーブル５により接続され、第２ノード２とは第２ＳＣＳＩケーブル６により接続されている。なお、ＳＣＳＩケーブルは、ＳＣＳＩ−１，ＳＣＳＩ−２，ＳＣＳＩ−３規格の何れのものでもよい。
また、クラスタ・システム内の各ノードは「障害検出用回線」であるハートビート回線３で接続されて、各ノード間で各ノードで実行しているサービスの状況やノードが正常に機能しているか等の情報を通信している。
７は、「ＬＡＮケーブル」であるＥｔｈｅｒｎｅｔケーブルである。なお、Ｅｔｈｅｒｎｅｔケーブルに低速から高速まで各種のものがあるが、何れのものでもよい。
【００１２】
次に、本実施例の動作を説明する。
図１において、ハートビート回線３に障害が発生し第１ノード１と第２ノード２間の通信が途絶えると、第１ノード１からは第２ノード２が正常に機能しているかどうかが判らなくなり、第２ノード２からは第１ノード１が正常に機能しているかどうかが判らなくなる。
各ノードは他ノードで実行していたサービスをフェイルオーバー（故障したノードの処理を、代替ノードが引き継ぐこと）して自ノードで実行する必要があるかどうかを判断しなければならない。
【００１３】
そこで、第１ノード１は第１ＳＣＳＩケーブル５で接続された、第２ノード２は第２ＳＣＳＩケーブル６で接続された共有ディスク４に対してＳＣＳＩ  コマンドの  「占有を指示するコマンド」であるＲＥＳＥＲＶＥ  コマンド  ［５６ｈ］  （ＳＣＳＩ規格）を発行し、共有ディスク４を占有状態に設定できたノードのみが共有ディスク４をアクセス出来るようになる。
【００１４】
（２）第２実施例
本発明の第２実施例として、その基本的構成は上記の通りであるが、共有ディスクを占有状態に設定するコマンドの送信方法についてさらに工夫している。
その構成を図２に示す。図２において、第１ノード１は第１ＦＣケーブル１５により共有ディスク４と接続され第２ノード２は第２ＦＣケーブル１６により共有ディスク４と接続されている。なお、ＦＣケーブルはＦｉｂｅｒ  Ｃｈａｎｎｅｌケーブルである。
【００１５】
ハートビート回線３に障害が発生すると、第１ノード１は第１ＦＣケーブル１５で接続された共有ディスク４に対し、また第２ノード２は第２ＦＣケーブル１６で接続された共有ディスク４に対してＳＣＳＩコマンドの  ＲＥＳＥＲＶＥ  コマンド  ［５６ｈ］  を発行し、共有ディスク４を占有状態に設定できたノードのみが共有ディスク４をアクセス出来るようになる。
このように、本実施例では、クラスタ・システムでの共有ディスク４に対して各ノードとＦＣケーブル１５，１６を通してＳＣＳＩコマンドで占有状態に設定する為、ハートビート回線３に障害が発生しても、共有ディスクを排他的に利用できる効果を有する。
【００１６】
（３）第３実施例
別の構成を図３に示す。図３において、第１ノード１及び第２ノード２はＥｔｈｅｒｎｅｔケーブル７により共有ディスク４と接続されている。
ハートビート回線に障害が発生すると、第１ノード１及び第２ノード２は、Ｅｔｈｅｒｎｅｔケーブル７に接続された共有ディスク４に対してＳＣＳＩコマンドの  ＲＥＳＥＲＶＥ  コマンド  ［５６ｈ］  を発行し、共有ディスク４を占有状態に設定できたノードのみが共有ディスク４をアクセス出来るようになる。
このように、本実施例では、クラスタ・システムでの共有ディスク４に対して各ノードとＥｔｈｅｒｎｅｔ  ケーブルを通してＳＣＳＩコマンドで占有状態に設定する為、ハートビート回線３に障害が発生しても、共有ディスクを排他的に利用できる効果を有する。
【００１７】
なお、前記各実施例では共有資源として共有ディスクの場合を説明したが、例えば共有資源としてはプリンタ，磁気テープ装置等の場合であっても、本発明を適用可能であるのは勿論である。
【００１８】
【発明の効果】
以上説明したように本発明によれば、クラスタ・システムでの共有資源（共有ディスク）に対して各ノードと各種ケーブル（ＳＣＳＩケーブル等）を通して占有を指示するコマンド（ＳＣＳＩコマンド）で占有状態に設定する為、障害検出用回線（ハートビート回線）に障害が発生しても、共有ディスク上に論理ディスク領域を占有することなく、共有ディスクを排他的に利用できる効果を有する。
【図面の簡単な説明】
【図１】本発明の第１実施例のシステム構成図である。
【図２】本発明の第２実施例のシステム構成図である。
【図３】本発明の第３実施例のシステム構成図である。
【符号の説明】
１  第１ノード
２  第２ノード
３  ハートビート回線
４  共有ディスク
５  第１ＳＣＳＩケーブル
６  第２ＳＣＳＩケーブル
７  Ｅｔｈｅｒｎｅｔ
【図１】
0003573092.tif 000002
【図２】
0003573092.tif 000003
【図３】
0003573092.tif 000004