(57)【特許請求の範囲】
【請求項１】
複数のホストと、前記複数のホストによりアクセス可能な共有ファイルと、前記複数のホストが共有ファイルを排他的にアクセスするための排他制御を行うファイル排他制御装置とからなるファイルシステムであって、
前記ファイル排他制御装置は、
複数の排他制御ユニットと、
前記複数の排他制御ユニットの排他制御情報を互いにバックアップする手段と、
障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築する手段と
を有し、
前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、前記再構築する手段は、マスタ／スレーブの構成に再構築する
ことを特徴とするファイルシステム。
【請求項２】
複数のホストと、前記複数のホストによりアクセス可能な共有ファイルと、前記複数のホストが共有ファイルを排他的にアクセスするための排他制御を行うファイル排他制御装置とからなるファイルシステムの管理方法であって、
前記ファイル排他制御装置に、複数の排他制御ユニットを設け、
前記複数の排他制御ユニットの排他制御情報を互いにバックアップし、
障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築し、
前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、マスタ／スレーブの構成に再構築する
ことを特徴とするファイルシステムの管理方法。
【請求項３】
複数のホストを共有ファイルに排他的にアクセスさせるためのファイル排他制御装置であって、
複数の排他制御ユニットと、
前記複数の排他制御ユニットの排他制御情報を互いにバックアップする手段と、
障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築する手段と
を備え、
前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、前記再構築する手段は、マスタ／スレーブの構成に再構築する
ことを特徴とするファイル排他制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のホストによる共有ファイルへのアクセスを制御するファイルシステム、当該ファイルシステムの管理方法、当該ファイルシステムを構成するファイル排他制御装置に関する。
【背景技術】
【０００２】
複数のホストが共有ファイルにアクセスするファイルシステムでは、共有ファイルに矛盾が生じないように、ファイル排他制御装置による排他制御が行われる。このようなファイル排他制御装置に障害が発生すると、その障害が共有ファイルへのアクセスに影響を与え、ファイルシステムの運用が停止されてしまう可能性がある。そこで、信頼性の向上を図るために、ハードウェアの二重化を行い、ファイル排他制御装置の動作中において、二重化されたハードウェアに排他制御テーブルのコピーを行って、障害に備える方法が提案されている（例えば特許文献１）。
【０００３】
また、ファイル排他制御装置を複数用意し、運用系／待機系を構成することでホスト側の制御により、障害検出時のファイル排他制御装置の切り替えをソフトウェアにより実現するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４９３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述のハードウェア二重化方式では、相互バックアップ機能の故障等、被疑が何れの排他制御ユニットなのか判断できない場合がある。また、運用系と待機系とをソフトウェアにより切り替えを行う方法に関しても、障害要因を通知したファイル排他制御装置を切り離すためには、待機系として予め定義されているファイル排他制御装置が必要である。従って、ファイル排他制御装置が単体構成の場合には、運用系と待機系とをソフトウェアにより切り替えを行う方法を用いることはできない。
【０００６】
また、ハードウェア二重化方式の共通部の故障時において、単純なアルゴリズムでは、排他制御ユニットを番号順に優先的に残すなどといった処理が行われている。この場合、被疑のユニットを外す可能性が高く、残されたユニットに障害が発生していることが想定される。このように、残されたユニットに障害が発生していると、ファイル排他制御装置のダウンとなり、最悪の場合には、共有ファイルへのアクセスができなくなり、システム全体の継続が困難となってしまう。
【０００７】
本発明は、上述の課題を解決することのできるファイルシステム、ファイルシステムの管理方法、ファイル排他制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００８】
この発明は上述した課題を解決するためになされたもので、本発明の一態様によるファイルシステムは、複数のホストと、前記複数のホストによりアクセス可能な共有ファイルと、前記複数のホストが共有ファイルを排他的にアクセスするための排他制御を行うファイル排他制御装置とからなるファイルシステムであって、前記ファイル排他制御装置は、複数の排他制御ユニットと、前記複数の排他制御ユニットの排他制御情報を互いにバックアップする手段と、障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築する手段とを有し、前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、前記再構築する手段は、マスタ／スレーブの構成に再構築することを特徴とする。
【０００９】
また、本発明の一態様によるファイルシステムの管理方法は、複数のホストと、前記複数のホストによりアクセス可能な共有ファイルと、前記複数のホストが共有ファイルを排他的にアクセスするための排他制御を行うファイル排他制御装置とからなるファイルシステムの管理方法であって、前記ファイル排他制御装置に、複数の排他制御ユニットを設け、前記複数の排他制御ユニットの排他制御情報を互いにバックアップし、障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築し、前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、マスタ／スレーブの構成に再構築することを特徴とする。
【００１０】
また、本発明の一態様によるファイル排他制御装置は、複数のホストを共有ファイルに排他的にアクセスさせるためのファイル排他制御装置であって、複数の排他制御ユニットと、前記複数の排他制御ユニットの排他制御情報を互いにバックアップする手段と、障害の発生の有無に応じて、前記複数の排他制御ユニットの構成を再構築する手段とを備え、前記複数の排他制御ユニットは、通常時には負荷分散を可能とするように動作する構成とし、障害部位が特定できない場合に、前記再構築する手段は、マスタ／スレーブの構成に再構築することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数のホストにより共有ファイルをアクセスするファイルシステムにおいて、障害が発生したときの信頼性の向上を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態におけるファイルシステムの概略構成を示すブロック図である。
【図２】同実施形態におけるファイルシステムの各部の概略構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら説明する。図１は、本発明の一実施形態におけるファイルシステムの概略構成を示すブロック図である。本発明は、図１に示すように、複数のホスト（図１の例では、２ａおよび２ｂ）から共有ファイル（図１の例では、共有ファイル３）を排他的にアクセスするファイルシステムに適用される。
【００１４】
図１において、ホスト２ａ、２ｂは、それぞれが共有ファイル３を利用している。ファイル排他制御装置１ａおよび１ｂは、上位インタフェースによりホスト２ａおよび２ｂと接続されている。そして、ファイル排他制御装置１ａおよび１ｂは、ホスト２ａ、２ｂが行う、共有ファイル３へのアクセスを排他制御する。ファイル排他制御装置１ａと１ｂとは、ネットワークを介して互いに接続されている。
【００１５】
図２は、本発明を適用可能なファイルシステムの各部の概略構成を示すブロック図である。同図に示すように、ファイル排他制御装置１ａは、その内部に、ハードウェアにて実現される２つの排他制御ユニット１０ａ、１０ｂを有している。２つの排他制御ユニット１０ａ、１０ｂは、通常時には、別々の処理を並行的に実行し、負荷分散による効率化を行っており、また、互いの排他制御テーブル１１４の情報を互いにバックアップしている。また、２つの排他制御ユニット１０ａ、１０ｂは、何れかに障害が発生し、且つ、どちらの障害か特定できない場合に、マスタ／スレーブの構成に再構築される。
ファイル排他制御装置１ｂも、同様の構成を有する。
【００１６】
図１において、通常業務時に、例えば、ホスト２ａが共有ファイル３へのアクセスを必要とする場合、ホスト２ａは、例えばファイル排他制御装置１ａに対してファイル利用権取得要求を行う。ファイル排他制御装置１ａは、ホスト２ａからのファイル利用権取得要求に対して、そのファイルが利用可能かどうかを判定し、利用可能なら、利用許可通知をホスト２ａに送る。ホスト２ａは、利用許可通知を受けると、共有ファイル３上の対象ファイルに対しアクセスを行い、アクセスが終了すると、利用権放棄要求を、ファイル排他制御装置１ａに送る。上述と同様な処理により、ホスト２ｂも、ファイル排他制御装置１ａにファイル利用権取得要求を送り、利用許可を取得して、共有ファイル３を利用することができる。
【００１７】
次に、図２を参照してホスト２ａ、２ｂについて説明する。
同図に示すように、ホスト２ａ、２ｂは、業務処理部２０１と、ファイル管理部２０２と、ファイル管理テーブル２０３と、排他制御ＩＦ（Interface）部２０４と、ファイル管理テーブル転送部２０５と、排他制御構成テーブル２０６とを有している。
【００１８】
業務処理部２０１は、通常の業務を行うための処理部である。ファイル管理部２０２は、共有ファイル３上のファイルを管理する。
ファイル管理テーブル２０３は、ファイル管理用のテーブルである。ファイル管理テーブル２０３には、業務上の管理（タスク）単位で共有ファイル３上のファイルのアクセス権に関する情報が格納されている。
【００１９】
排他制御ＩＦ部２０４は、ファイル排他制御装置１ａ、１ｂとのデータ通信及び障害通知を行う。
ファイル管理テーブル転送部２０５は、待機系の排他制御ユニット１０ａ又は１０ｂ（又はファイル排他制御装置１ａ又は１ｂ）にホスト内のファイル管理テーブル２０３の情報を転送する。
【００２０】
排他制御構成テーブル２０６は、排他制御ユニット１０ａ、１０ｂから通知された排他制御構成情報を格納するためのテーブルである。排他制御構成テーブル２０６は、ファイルシステムを構成するファイル排他制御装置１ａ、１ｂの接続情報、マスタ／スレーブを示す情報、ファイル排他制御装置１ａ、１ｂ内の２つの排他制御ユニット１０ａ、１０ｂのマスタ／スレーブ関係を示す情報などを格納している。
【００２１】
次に、ファイル排他制御装置１ａ及び１ｂについて説明する。図２に示すように、ファイル排他制御装置１ａ及び１ｂは、内部に２つの排他制御ユニット１０ａ、１０ｂを有している。
各排他制御ユニット１０ａ及び１０ｂは、ホストＩＦ部１１０と、排他制御部１１１と、テーブル構成更新制御部１１２と、障害復旧制御部１１３と、排他制御テーブル１１４と、排他制御装置間ＩＦ部１１５と、ユニット間ＩＦ部１１６と、障害要因管理テーブル１１７とを有している。
ホストＩＦ部１１０は、各ホスト２ａ、２ｂとの通信を行う。排他制御部１１１は、ホスト２ａ、２ｂから通知された共有ファイル利用に関するファイル利用権の取得要求を排他制御する。
【００２２】
テーブル構成更新制御部１１２は、ホスト２ａ、２ｂからの指示により排他制御ユニット１０ａ、１０ｂ内の排他制御テーブル１１４を再構築する。
障害復旧制御部１１３は、障害を検出してホスト２ａ、２ｂに対し終了事象報告／注意事象報告を行う。
【００２３】
排他制御テーブル１１４は、排他制御部１１１でファイルを排他制御するのに用いられる。排他制御テーブル１１４には、共有ファイル３上のファイルアクセス単位にファイルの使用中／空き／待ち状態／ホスト番号／有効時間／アクセス優先度などといった情報が格納されている。なお、「空き」は、ファイルが誰からも（どのホストからも）使用されていない状態であり、「待ち状態」はアクセス要求がキューに溜まっている状態である。
【００２４】
排他制御装置間ＩＦ部１１５は、ファイルシステムに複数のファイル排他制御装置が設けられている場合に、各ファイル排他制御装置（図２の例ではファイル排他制御装置１ａ、１ｂ）間を接続する。ユニット間ＩＦ部１１６は、ファイル排他制御装置１ａ、１ｂ内の排他制御ユニット１０ａ、１０ｂを互いに接続する。
【００２５】
障害要因管理テーブル１１７は、障害要因／状況対応表を含み、被疑特定情報を判断するのに用いられる。すなわち、障害要因管理テーブル１１７の内容は、エラーコードと、被疑箇所との対であり、障害要因管理テーブル１１７に保存される被疑箇所としては、ＣＰＵのキャッシュ、バスのターミネータなど、可能な限り、被疑箇所が具体的に示されている。
【００２６】
図２において、ホスト２ａ及びホスト２ｂは、通常業務時に共有ファイル３へのアクセスが必要となると、ファイル利用権取得要求を創出してファイル排他制御装置１ａ、１ｂに送信し、ファイル利用権を取得する。ここでは、ファイル排他制御装置１ａ、１ｂはマスタ／スレーブの関係になっている。以下では、ホスト２ａがファイル排他制御装置１ａにファイル利用権取得要求を出して、共有ファイル３をアクセスする場合を例に説明する。
【００２７】
ホスト２ａの業務処理部２０１は、ファイル管理部２０２に依頼して対象のファイルへのアクセスを行う。ホスト２ａのファイル管理部２０２は、ファイル排他制御装置１ａの排他制御ユニット１０ａ（又は１０ｂ）にファイル利用権取得要求を行う。ここでは、ホスト２ａのファイル管理部２０２は、ファイル排他制御装置１ａの排他制御ユニット１０ａにファイル利用権取得要求を行うものとする。
【００２８】
排他制御ユニット１０ａのホストＩＦ部１１０は、ホスト２ａからのファイル利用権取得要求を受け取ると、このファイル利用権取得要求を排他制御部１１１に送る。排他制御部１１１は、ホスト２ａから送られてきたファイル利用権取得要求に対して、排他制御テーブル１１４を用いて排他制御を行う。前述したように、排他制御テーブル１１４には、共有ファイル３上のファイルアクセス単位にファイルの使用中／空き／待ち状態／ホスト番号／有効時間／アクセス優先度などといった情報が格納されている。排他制御部１１１は、ホストからのファイル利用権の取得／放棄といった共有ファイル３上のファイルアクセスに関するホスト間の排他制御を行っている。
【００２９】
ここで、排他制御ユニット１０ａの排他制御部１１１は、ホスト２ａから送られてきたファイル利用権取得要求に対して利用可能と判定すると、ホストＩＦ部１１０を通じてホスト２ａに利用許可通知を送る。
ホスト２ａのファイル管理部２０２は、排他制御ユニットから利用許可通知を受け取ると、共有ファイル３上の対象ファイルに対しアクセスを行い、その結果を業務処理部２０１に返す。業務処理部２０１は、共有ファイル３へのアクセスが終了した時点で、利用権放棄要求をファイル排他制御装置１ａに送る。
【００３０】
次に、ファイルシステム９００における障害発生処理について説明する。例えば、ホスト２ａがファイル排他制御装置１ａの排他制御ユニット１０ａに対して共有ファイル３上のファイル利用権の取得を要求し、排他制御ユニット１０ａがその要求を処理している最中に、障害が発生したとする。この場合、排他制御ユニット１０ａの障害復旧制御部１１３は、排他制御ユニット１０ａの障害要因管理テーブル１１７内の障害要因／状況対応表を元に被疑特定情報を判断し、ホスト２ａに対し注意事象報告として対象となる部位の切り離し要求を通知する。
【００３１】
ホスト２ａは、排他制御ユニット１０ａから通知された注意事象報告を元に障害が発生した部位の切り離しを判断する。
排他制御ユニット１０ａ内は、自装置内に障害箇所があると判断される場合は、排他制御テーブル１１４をユニット間ＩＦ部１１６経由で、対となる排他制御ユニット１０ｂへ自動的に転送する。このバックアップ処理は、通常時においてもテーブル情報の変化に合わせて実施されている。
【００３２】
ホスト２ａは、障害部位を特定できる場合には、対象の排他制御部を切り離すのみである。これは、対となる排他制御情報が相互バックアップされているため継続動作が可能だからである。
【００３３】
次に障害部位が特定できない障害要因だった場合、排他制御ユニット１０ａの障害復旧制御部１１３は、ホスト２ａに対し、その旨を通知する。このとき、障害が発生している部位の切り離しを通知するのではなく、排他制御テーブル１１４の再構築依頼を通知する。
ホスト２ａは、排他制御ユニット１０ａから排他制御テーブル１１４の再構築依頼を受け付けると、ファイル管理部２０２によりファイル管理テーブル２０３上の共有ファイルに関する情報を待機系ファイル排他制御装置（例えばファイル排他制御装置１ｂ）へ転送する。
【００３４】
ここで、図２では、待機系のファイル排他制御装置１ｂが存在しているが、このような待機系のファイル排他制御装置が存在しない場合がある。待機系のファイル排他制御装置が存在しないシステム（つまり、ファイル排他制御装置が１台で構成されたファイルシステム）では、共有ファイルに関する情報を転送すべき相手がいない。
【００３５】
ファイルシステム９００において、待機系のファイル排他制御装置が存在しない場合、ファイル排他制御装置１０ａは、２つの排他制御ユニット１０ａ、１０ｂのうち、一方を待機系の排他制御ユニットとして定義するようにしている。
ここで、排他制御ユニット１０ａ、１０ｂの構成に関する情報は、排他制御構成テーブル２０６内に保存されている。この排他制御構成テーブル２０６を元に、待機系のファイル排他制御装置が定義されておらず、注意事象報告内容から障害部位がどちらの排他制御ユニット１０ａ、１０ｂか特定できない場合、障害を検出したファイル排他制御装置１ａ内の２つの排他制御ユニット１０ａ、１０ｂのうちの一方を待機系の排他制御ユニットとして、マスタ／スレーブの関係に定義し直す。
【００３６】
ホスト２ａは、共有ファイル３に関する管理すべき情報としてファイル管理テーブル２０３を運用系で定義された排他制御ユニット１０ａ又は１０ｂに対し転送する。排他制御ユニット１０ａ又は１０ｂは、各ホスト２ａから転送されたファイル管理テーブル２０３の情報を元にテーブル構成更新制御部１１２により排他制御テーブル１１４を再構築する。ファイル排他制御装置１ａは、再構築が完了すると、ホスト２ａに対して再構築が完了した旨を報告する。
【００３７】
再構築時におけるマスタとなる排他制御ユニット１０ａ、１０ｂの選択は、どのように行っても良い。また、マスタと定義した排他制御ユニット１０ａ又は１０ｂに障害が発生した場合、マスタとスレーブとの入れ替えが行われる。
【００３８】
複数のファイル排他制御装置１ａ、１ｂで構成されるシステムにおいては、排他制御ユニット１０ａ、１０ｂが検出した障害は、排他制御装置間ＩＦ部１１５を経由して、全てのファイル排他制御装置１ａ、１ｂに通知されることにより、同期の取れた情報を各ファイル排他制御装置１ａ、１ｂが持つことができる。
【００３９】
以上説明したように、ファイルシステム９００では、ファイル排他制御装置１ａ、１ｂの内部に２つの排他制御ユニット１０ａ、１０ｂが設けられ、通常時には、排他制御ユニット１０ａ、１０ｂが負荷分散を可能とするように並行的に動作し、排他制御ユニット１０ａ、１０ｂのうちのどちらか一方が故障した場合は、対となる他方の排他制御ユニットに排他制御に必要な情報を引き継ぎ可能な状態となっている。このような構成では、１つの排他制御ユニットに障害が発生しても、待機系のファイルユニットに処理を引き継ぐソフトウェアリカバリ機能がサポート可能となる。
【００４０】
ここで、障害の発生した排他制御ユニットを切り離す方法では、どちらの排他制御ユニットに障害が発生しているかを特定できない場合に、切り離しを行うことができない、あるいは、どちらかに決めて切り離しを行うと、障害の発生している側を残してしまったときに、システムダウンの恐れがある。
これに対して、本発明では、障害が発生している場合に、排他制御ユニットをマスタ／スレーブ方式に再定義しているため、マスタにしたシステムに障害が発生していても、マスタとスレーブとを切り替えることで、障害に対する対応処理が可能である。
【００４１】
このように、本発明によれば、複数のホストにより共有ファイルをアクセスするファイルシステムにおいて、障害が発生したときの信頼性の向上を図ることができる。特にファイル排他制御装置が単体構成のファイルシステムにおいて、信頼性の向上を図ることができる。また、通常時は分散制御を行って処理効率の向上を図ることができる。
【００４２】
なお、ファイル排他制御装置１ａおよび１ｂの全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４３】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００４４】
１ａ、１ｂ：ファイル排他制御装置
２ａ、２ｂ：ホスト
１０ａ、１０ｂ：排他制御ユニット
１１０：ホストＩＦ部
１１１：排他制御部
１１２：テーブル構成更新制御部
１１３：障害復旧制御部
１１４：排他制御テーブル
１１５：排他制御装置間ＩＦ部
１１６：ユニット間ＩＦ部
１１７：障害要因管理テーブル
２０１：業務処理部
２０２：ファイル管理部
２０３：ファイル管理テーブル
２０４：排他制御ＩＦ部
２０５：ファイル管理テーブル転送部
２０６：排他制御構成テーブル
【図１】
0005703902.tif 000002
【図２】
0005703902.tif 000003