(57)【要約】【課題】  自動的にファイルシステム内の種々の破損を検出し、システム管理者に破損を通知する。【解決手段】  ファイルシステム（２０５，２０７，２０９）についての詳細な情報がプローブプロセス（２０３）によって集められる。ファイルシステムが破損しているかまたはアクセス不可能な場合、ファイルシステムを不良とマークし（１１１）、システム管理者に通知し、ファイルシステムが修復されるまで、再びそのシステムについての情報を収集する試みを停止する。   【選択図】図１
2004152280.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのファイルシステムに接続されたホスト上で実行されているオペレーティングシステムを特定するステップと、
オペレーティングシステムのタイプに応じて、前記少なくとも１つのファイルシステムに対してファイルシステムプローブを実行するステップと、
前記少なくとも１つのファイルシステムのそれぞれにオープンファイルを追加することによって、応答性について前記少なくとも１つのファイルシステムのそれぞれをテストするステップであって、前記追加は、プローブ試行の選択された回数だけ、選択されたプローブ間隔にわたって試みられる、ステップと、
前記破損ファイルシステムのテストの１つが選択されたプローブ間隔で最大プローブ試行回数を越え、かつ前記ファイルシステムプローブによってファイルの破損が特定された場合、所与のファイルシステムが破損しているという通知を送信するステップと、
を含む破損ファイルシステム検出方法。
【請求項２】
前記オペレーティングシステムのタイプがＵＮＩＸ（登録商標）である場合、前記ファイルシステムプローブによって前記ホストのｉノードテーブルの破損が特定される、請求項１に記載の破損ファイルシステム検出方法。
【請求項３】
前記オペレーティングシステムのタイプがＷｉｎｄｏｗｓ（登録商標）である場合、前記ファイルシステムプローブによって前記ホストのＦＡＴテーブルの破損が特定される、請求項１に記載の破損ファイルシステム検出方法。
【請求項４】
前記選択されたプローブ間隔が１秒であり、様々な計算負荷に合わせて再構成可能である、請求項１に記載の破損ファイルシステム検出方法。
【請求項５】
前記選択されたプローブ試行回数は３００であり、様々な計算負荷に合わせて再構成可能である、請求項１に記載の破損ファイルシステム検出方法。
【請求項６】
前記通知を送信するステップは、
イベントを作成し、
前記イベントに対応するアクションを実行することをさらに含み、
前記アクションは、ファイルシステム破損通知の電子メール送信、少なくとも一人の選ばれた個人へのページング、およびアプリケーションプロセスへの警告の通知からなるグループから選択される、請求項１に記載の破損ファイルシステム検出方法。
【請求項７】
ホストコンピュータ上で実行される破損ファイルシステム検出装置であって、
ファイルシステムの破損を検出するため、システムに一意の識別子を特定するシステム非依存のコンピュータコードと、
プローブプロセスを実行するコンピュータコードと、を備え、
前記プローブプロセスは、前記ホストコンピュータ上で実行され、少なくとも１つのファイルシステム上のファイルを開き、該開いたファイルへのデータの追加を試み、マルチレベルタイムアウト機構を用いて前記プローブされたファイルシステムが適切に機能しているか否かを判定する、破損ファイルシステム検出装置。
【請求項８】
前記ホストコンピュータはコンピュータネットワークを介して少なくとも１つのシステムに接続され、
前記プローブプロセスは、前記コンピュータネットワークを介して前記少なくとも１つのファイルシステムにアクセスする、請求項７に記載の破損ファイルシステム検出装置。
【請求項９】
前記マルチレベルタイムアウト機構は、追加を試行するためのユーザ選択可能な間隔および成功する追加を試行するためのユーザ選択可能な最大回数を含む、請求項８に記載の破損ファイルシステム検出装置。
【請求項１０】
ファイルシステムが破損している場合、アクションを実行する手段をさらに備える請求項８に記載の破損ファイルシステム検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルシステムの破損を検出する方法および装置に関する。
【背景技術】
【０００２】
コンピュータをネットワーク上で動作させている間、コンピュータアプリケーションプロセスは、様々なシステムコールによってホストコンピュータのファイルシステムにアクセスする必要がある。従来のシステムでは、ファイルシステムが破損すると、ファイルシステム資源へのアクセスを要求するソフトウェアは、多くの場合キルすることもできずハングアップするか、または終了することになる。ファイルシステムの問題要素は、不良ディスクセクタ、不良ｉノードテーブル、満杯のｉノードテーブル、不良ＦＡＴテーブル等である。ソフトウェアが一旦ハングアップしてしまうと、ユーザは再開のためにシステムをリブートする必要がある。システムがリブートされると、オペレーティングシステム（ＯＳ）は破損ファイルシステムをマウントから除外する。ソフトウェアが一旦ハングアップしてしまうと、通常、ユーザが個人でシステムをリブートするか、または破損したファイルシステムを修復する必要がある。
【０００３】
破損ファイルシステムに伴う問題は、広く使用されているストレージエリアネットワーク（ＳＡＮ）の場合にはさらに重大である。今日、ＳＡＮの格納ファイルシステムにアクセスしようとするネットワーク装置の数は増加し続けている。ＳＡＮの利点、例えばストレージの拡張性、可用性および柔軟性は、ＩＴ業界全体がこのストレージトポロジを採用するにつれより明確になりつつある。ＳＡＮがストレージ要件の成長に適応して成長するにつれ、スタッフを増員せずにこの基幹業務資源を管理する作業が困難になっている。
【０００４】
顧客によるＳＡＮの管理を支援するために、総称してOpen View Storage Area Manager（OVSAM）と呼ばれるＳＡＮ管理ソフトウェア製品の強力かつ統合されたスイートが開発されており、Hewlett-Packard（登録商標）社から市販されている。これら製品は、ＳＡＮの一元管理ソリューションを提供する。これら製品は、自動的に記憶装置を発見し、装置およびホストを相互接続して、ユーザがより少ない労力でより多くのストレージを予防的に管理できるようにする。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本明細書に記載するシステムおよび方法は、自動的にファイルシステム内の種々の破損を検出し、システム管理者に破損を通知する。
【課題を解決するための手段】
【０００６】
ファイルシステムについての詳細な情報は、プローブプロセスによって集められる。ファイルシステムが破損しているか、またはアクセス不可能な場合、本システムおよび本方法は、ファイルシステムを不良とマークし、システム管理者に通知し、次いでファイルシステムが修復されるまで、再びそのシステムについての情報を収集する試みを停止する。
【発明を実施するための最良の形態】
【０００７】
本明細書に記載する装置および方法の特徴は、システムの健康状態を調査（プローブ）することである。ファイルシステムのプロービングは、開いたデータファイルにデータを追加することによって行われる。ファイルは、プローブプロセスによって開かれる。開いたデータファイルへのデータの追加が、調整可能な時間間隔（例えば、ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ、デフォルトは１秒）内で成功する場合、ファイルシステムは良好に機能しており、ユーザに応答するものとみなされる。ファイルシステムが時間間隔以内に外部ユーザに応答しない場合、指定された試行回数（例えば、ＭＡＸ＿ＰＲＯＢＥ、デフォルトは３００回）分プローブが続けられる。ファイルシステムが、ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ×ＭＡＸ＿ＰＲＯＢＥという選択された時間期間後でも依然として開いたデータファイルにデータを追加することができない場合、ファイルシステムは破損しているとみなされる。
【０００８】
これより図１を参照して、参照番号１００で全体的に示される、ファイルシステムをプローブして内部の破損を検出する例示的な方法の流れ図を示す。説明する方法は種々のオペレーティングシステムで動作するが、各オペレーティングシステムはファイルシステムの破損を示すそれぞれ独自のインジケータを有する。例えば、ＵＮＩＸ（登録商標）およびＬｉｎｕｘ（登録商標）はｉノードテーブルを使用する。ステップ１０１において判定されるように、対象コンピュータのオペレーティングシステムがＵＮＩＸまたはＬｉｎｕｘである場合、ステップ１０３において、ｉノードテーブルが満杯または不良であるか否かが判定される。ステップ１０３を、ファイルシステム破損の固有のインジケータを有する任意のオペレーティングシステム用に仕様変更可能なことは当業者には明らかであろう。例えば、Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムの場合、ＦＡＴテーブルがチェックされる。ｉノードテーブルまたはＦＡＴテーブルをチェックすることは、開いたファイルにデータを追加することと異なる。オペレーティングシステムのＡＰＩに依拠して、このような情報が見つけ出される。さらに、テストされるファイルシステムが破損する原因には他の原因もあり、例えば、ハードディスクの取り出しが早すぎた場合などがある。不良テーブルに関するテストの結果が不合格であった場合、プローブプロセスは、ステップ１０５において、ファイルシステム上の開いたファイルにデータを追加しようと試みる。プローブプロセスは基本的に、書き込み／追加を試みることによって基本的なファイル情報を集めようとする。すなわち、プローブプロセスは基本的に、開いたファイルにデータを追加することによってファイルシステムの健康状態を調べようとする。プロセスは、すぐに（ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ×ＭＡＸ＿ＰＲＯＶＥ時間以内）戻らない場合、バイトをメインプロセスにストリーミングして戻す。同じバイト数がある特定の時間内に戻ってこない場合、ファイルシステムを破損とマークすることができる。書き込みが指定された時間間隔ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ以内に成功した場合、ステップ１０９において、ファイルシステムはＯＫと宣言される。書き込みが指定時間以内に成功しなかった場合、ステップ１０７において、試行回数が指定された最大数ＭＡＸ＿ＰＲＯＢＥを越えているか否かが判定される。書き込み／追加が成功することなく最大試行回数を越えた場合、またはｉノードテーブルが満杯または不良である場合、ステップ１１１において、ファイルシステム破損メッセージがシステム管理者に提示される。最大試行回数が越えなかった場合、プローブプロセスはステップ１０５に戻り、さらに書き込み／追加を試みる。
【０００９】
例示的な方法では、この検出機構を応答性良くかつ汎用的にするべく、２つのタイムアウトしきい値を使用する。ファイルシステムが良好に動作している場合、検出結果はかなりの早さで、すなわちＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ以内に戻される。ファイルシステムが、例えば上に述べたＭＡＸ＿ＰＲＯＢＥ＝３００秒以内にデータを書き込むことができなかった場合、ファイルシステムが何等かの理由により不調であるとかなり安全に推定することができる。例示的な実施形態では、２つのタイムアウトしきい値（ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬおよびＭＡＸ＿ＰＲＯＢＥ）は、ファイルシステムは動作しているが、デフォルト時間以内にデータファイルにデータが書き込まれなかったという極端な場合、例えばシステム負荷が極端に大きい場合に対処するように構成可能である。従って、しきい値ＭＡＸ＿ＰＲＯＢＥはより大きな数に設定することができる。プロービングの応答性をより良くするため、ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬはより小さい数、例えば１００ミリ秒に設定することができる。
【００１０】
一実施形態では、ファイルシステム破損機構の実施は、Open View Storage Area Management（ＯＶＳＡＭ）3.0のストレージビルダに組み込まれる。上に述べたように、デフォルトしきい値（ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ＝１秒、ＭＡＸ＿ＰＲＯＢＥ＝３００）がテストで用いられる。プローブプロセスは、ファイル収集の間常にオンであり、プロセスがハングアップしないように保証する。本実施形態では、ＯＶＳＡＭストレージビルダのためにデータを収集する必要がない場合、プローブプロセスはオフにされる。破損ファイルシステムが修正されると、グラフィックユーザインタフェース（ＧＵＩ）またはコマンドラインインタフェース（ＣＬＵＩ）を介してプローブシステムに通知することができ、その破損ファイルシステムに対するファイル収集を再び行えるようにする。
【００１１】
本システムおよび本方法は、システムに依存しない。一実施形態はＪＡＶＡ（登録商標）で書かれ、Ｗｉｎｄｏｗｓ（登録商標）用およびＵＮＩＸ（登録商標）用に異なるネイティブコードを有する。例示的な実施形態では、プローブプロセスは、ＵＮＩＸ（登録商標）およびＷｉｎｄｏｗｓ（登録商標）上のネイティブコードとして実装され、Ｃを使用して開いたデータファイルにデータを追加する。この実施形態におけるファイルシステムの破損を検出する枠組みはＪＡＶＡ（登録商標）コードとして書かれる。
【００１２】
次に図２を参照して、いくつかのファイルシステムを有する例示的なストレージエリアネットワーク２００を示す。例示的なネットワーク２００では、ホストＣＰＵ２０１がファイルシステム２０５、２０７、および２０９のネットワークに接続される。ファイルシステムＦＳ１  ２０５が破損したものと仮定する。ホストＣＰＵ２０１がファイルシステムＦＳ１  ２０５にアクセスしようとする場合、アクセスすることはできず、通常、ＦＳ１  ２０５にアクセスを求めるアプリケーションはハングアップし戻らなくなる。ファイルシステムが破損していることを知ってそれを迂回するか、またはより迅速に演算から戻ることは、アプリケーションにとって都合がよい。３つのファイルシステム２０５、２０７、および２０９がそれぞれマウントされたホストＣＰＵ２０１上で、プローブプロセス２０３が実行されている。プローブプロセス２０３は各ファイルシステム毎にデータファイルを作成し、データをそれぞれに追加してファイルシステムの状態をプローブする。上に述べたように、ファイルシステムは、ＰＲＯＢＥ＿ＩＮＴＥＲＶＡＬ＊ＭＡＸ＿ＰＲＯＢＥという間隔内で追加が成功しなかった場合に破損しているとみなされる。
【００１３】
プローブプロセスソフトウェアは、接続（アタッチ）されているすべてのファイルシステムを訪れて情報を検索し、各ファイルシステムに残っている容量を見つけ出す。このプロセスは、イベントおよびイベントに関連付けられている所望のアクションを送出する。アクションはユーザ選択可能であり、電子メール送信、ページング、または単にアプリケーションプロセスへの警告という形をとってもよい。ファイルの収集が行われるとき、予防措置としてプローブプロセスを常にオンにしておき、アプリケーションソフトウェアがハングアップしないことを保証する。破損ファイルシステムが修正されると、ユーザはこのファイルシステムをチェックすることができ、次いでファイルシステムのディスクが再び収集される。
【００１４】
記載したシステムおよび方法がコンピュータネットワーク上の複数のファイルシステムに拡張可能なことは、当業者に明らかであろう。プローブプロセスは通常、所与のファイルシステムを制御するホストコンピュータに常駐する。しかし、ファイルシステム上でオペレーティングシステムＡＰＩを実行可能なネットワーク上の任意のコンピュータが、プローブプロセスをホストすることができる。
【００１５】
上に述べたように、この破損ファイルシステム検出の利点は、システムに依存しないことである。同じ概念をすべてのファイルシステムに引き継ぐことができる。別の利点は、マルチレベルタイムアウト機構を使用することである。このような機構は、良好なファイルシステムにもたらされるパフォーマンスペナルティがそれほど大きくなく、破損ファイルシステムをかなり素早く検出することができるという大きな利点を有する。さらなる利点は、タイムアウトしきい値がユーザ選択可能なことである。このため、タイムアウトを様々な作業負荷に適合させることができる。
【００１６】
本明細書で使用された用語および説明は、例示としてのみ記載されており、限定を意味するものではない。
【図面の簡単な説明】
【００１７】
【図１】破損についてファイルシステムを監視する例示的なプロセスの流れ図である。
【図２】３つのファイルシステムを有する例示的なストレージエリアネットワークを示すブロック図である。
【符号の説明】
【００１８】
２０１    ホストＣＰＵ
２０３    プローブ
２０５、２０７、２０９    ファイルシステム
【図１】
2004152280.tif 000003
【図２】
2004152280.tif 000004