(57)【要約】【課題】故障の前兆のディスク装置を縮退させることなく、ＲＡＩＤの冗長性を保ったまま、システムの性能低下を防ぐ制御方法等を提供すること。【解決手段】ＲＡＩＤ１構成のディスク装置からのコマンド応答時間を検出し、応答時間からディスクの故障の前兆を判断し、故障予測をしたときにプライマリ／セカンダリ制御により冗長性を保持する。【選択図】図１
2009217362.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＩＤ１構成のディスク装置からのコマンド応答時間を検出する手段と、応答時間からディスクの故障の前兆を判断する手段と、故障予測をしたときにプライマリ／セカンダリ制御により冗長性を保持する手段を備えることを特徴とするディスクアレイ装置。
【請求項２】
ディスク装置はＲＡＩＤ５構成を備えることを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
ディスク装置からのレスポンスから故障の前兆の有無を判断する判断処理手段を有し、前兆があった場合は縮退させずにＲＡＩＤ１の状態で冗長性を保ったまま、リード処理をロードバランスからプライマリ／セカンダリの制御に移行するＲＡＩＤ制御移行処理手段を有し、リード処理はプライマリのディスク装置からのみ実行することを特徴とする請求項１または２記載のディスクアレイ装置。
【請求項４】
ＲＡＩＤ１構成のディスク装置からのコマンド応答時間を検出するステップと、応答時間からディスクの故障の前兆を判断するステップと、故障予測をしたときにプライマリ／セカンダリ制御により冗長性を保持するステップとを有することを特徴とする制御方法。
【請求項５】
ディスク装置はＲＡＩＤ５構成を備えることを特徴とする請求項４記載の制御方法。
【請求項６】
ディスク装置からのレスポンスから故障の前兆の有無を判断する判断処理ステップを有し、前兆があった場合は縮退させずにＲＡＩＤ１の状態で冗長性を保ったまま、リード処理をロードバランスからプライマリ／セカンダリの制御に移行するＲＡＩＤ制御移行処理ステップを有し、リード処理はプライマリのディスク装置からのみ実行することを特徴とする請求項４または５記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ１のシステムにおいてＲＡＩＤ１を構成しているディスク装置のレスポンスから故障の前兆を判断し、前兆があった場合は、縮退させずにＲＡＩＤの制御方法をロードバランスからプライマリ／セカンダリ制御に移行することで故障の前兆があるディスクに起因したリード性能の低下を防ぎ、ＲＡＩＤ１の状態で冗長性を保つ技術に関する。
【背景技術】
【０００２】
ＲＡＩＤ１のリード処理は、ＲＡＩＤを構成する２台のディスク装置にロードバランスしてＩ／Ｏを分散させるのが一般的である。もし、リード対象のティすく装置に故障の前兆があった場合、Ｉ／Ｏエラーやリトライが発生することがあり、そのためリード処理が完了するまでに時間がかかってしまい、システム性能が低下する問題がある。ＲＡＩＤはリトライで救えるようなケースを故障と判断しないため、故障と判断してＨＤＤを切り離すまでは、このシステム性能の低下が継続することになる。
【０００３】
関連技術として、プライマリ・ボリュームがオフラインになると、たとえディスク・システム内にいくつかのセカンダリ・ボリュームが備わっている場合であっても、そのオンライン・トランザクションを中止することが可能な技術が提案されている。その構成は、ディスクの複数グループとして組織化された複数の物理ドライブを包含するマルチ・ディスク・システム。各グループは、複数の論理ボリュームとしてアクセスされる。論理ドライブの１つはプライマリ・ボリュームと見なされ、そのほかの１ないしは複数の論理ボリュームはセカンダリ・ボリュームと見なされ、これらはともにミラーリング・グループを構成する。メモリ内に収められるデータが、これらの編成を記録している。プライマリ・ボリュームを含むディスク・グループに障害が発生すると、セカンダリ・ボリュームを選択するためにこのデータが参照される（例えば、特許文献１参照）。
【特許文献１】特開２００２−１８２８６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の問題を回避するためにディスク装置の故障を判断する基準を厳しくして切り離すようにすると、ＲＡＩＤの縮退が頻繁に発生し、ＲＡＩＤの冗長性が失われてしまう問題がある。
【０００５】
第１の課題は、ディスク故障の前兆は故障ではないため、縮退させないことである。
【０００６】
第２の課題は、縮退させないため、故障の前兆があるディスク装置に対してＩ／Ｏが発行され、システムの性能低下が発生することである。
【０００７】
第３の課題は、故障の前兆のディスク装置を縮退させると縮退は頻繁に発生し、ＲＡＩＤの冗長性が失われてしまうことである。
【０００８】
本発明は、以上のような課題を解決するためになされたもので、故障の前兆のディスク装置を縮退させることなく、ＲＡＩＤの冗長性を保ったまま、システムの性能低下を防ぐディスクアレイ装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のディスクアレイ装置は、ＲＡＩＤ１構成のディスク装置からのコマンド応答時間を検出する手段と、応答時間からディスクの故障の前兆を判断する手段と、故障予測をしたときにプライマリ／セカンダリ制御により冗長性を保持する手段を備えることを特徴とする。
【００１０】
また、本発明の制御方法は、ＲＡＩＤ１構成のディスク装置からのコマンド応答時間を検出するステップと、応答時間からディスクの故障の前兆を判断するステップと、故障予測をしたときにプライマリ／セカンダリ制御により冗長性を保持するステップとを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、故障の前兆のディスク装置を縮退させることなく、ＲＡＩＤの冗長性を保ったまま、システムの性能低下を防ぐディスクアレイ装置および制御方法を提供することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の第一の実施の形態について図面を参照して詳細に説明する。図１にＲＡＩＤ１のシステムコンポーネント図として示す本実施の形態におけるＲＡＩＤ１の制御システムは、ディスク装置１（５）とディスク装置２（６）の２台のディスク装置から構成される。
【００１３】
（１）はオペレーティングシステム、（２）はＲＡＩＤコントローラ（３）を制御するドライバ、（３）はＲＡＩＤ１を制御するＲＡＩＤコントローラ、（４）はＲＡＩＤコントローラ上でＲＡＩＤの制御処理を行うＲＡＩＤ制御部、（５）はＲＡＩＤ１を構成するディスク装置１、（６）はＲＡＩＤ１を構成するディスク装置２である。
【００１４】
（７）はドライバ（２）からＲＡＩＤ１に対して発行されたＩ／Ｏ、（８）はＲＡＩＤ１に発行したＩ／Ｏのレスポンス、（９）はディスク装置（５）に発行されたＩ／Ｏ、（１０）はディスク装置（６）に発行されたＩ／Ｏ、（１１）はディスク装置（５）に発行されたＩ／Ｏのレスポンス、（１２）はディスク装置（６）に発行されたＩ／Ｏのレスポンス、（１３）はレスポンス（（１１）、（１２））からディスク故障の前兆を判断する処理、（１４）はＲＡＩＤ１の制御方法をロードバランスからプライマリ／セカンダリの制御に移行する処理を示す。
【００１５】
ＲＡＩＤ１に対するＩ／Ｏは、オペレーティングシステム（１）上のドライバ（２）からＲＡＩＤコントローラ（３）のＲＡＩＤ制御部（４）に発行（７）される。リード処理のＩ／Ｏは、ＲＡＩＤ制御部（４）がロードバランスしてディスク装置１（５）かディスク装置２（６）のどちらか（（９）または（１０））に発行する。そのレスポンス（（１１）または（１２））はＲＡＩＤ制御部（（１４））からドライバ（（１２））に返る(（８）)。
【００１６】
以下に図面を参照して本実施の形態の動作を詳細に説明する。
図１において、ディスク装置１（５）に故障の前兆がある場合にディスク装置１（５）にリード処理（９）を発行すると、レスポンス（１１）がエラーになったり、レスポンス（１１）が返えるまでに時間がかかったりすることがある。レスポンス（１１）が正常終了でない場合は、ＲＡＩＤ制御部（４）のエラー処理としてリトライ（再度（９）を発行）などを実行する。そのため、ドライバ（２）にＩ／Ｏの完了が返る（８）までに時間がかかり、システム性能が低下する。ＲＡＩＤ制御部（４）は、エラー処理が実行された場合でもエラー処理の結果が正常であれば、ディスク装置（５）を縮退させないため、再度、ディスク装置１（５）にリード処理のＩ／Ｏが発行（９）された場合、同様にシステム性能の低下が発生する。
【００１７】
関連技術では故障の前兆があるディスク装置１（５）を縮退させることになるが、縮退させた場合、ＲＡＩＤの冗長性が失われてしまう。また故障の判断基準が厳しかった場合、頻繁に縮退が発生する可能性がある。
【００１８】
本実施の形態では、ＲＡＩＤ制御部（４）に判断処理（１３）とＲＡＩＤ制御移行処理（１４）を組み込み、判断処理（１３）でレスポンス（（１１）または（１２））の状況から故障の前兆があるか判断する。前兆がある場合は縮退させずに、ＲＡＩＤ制御移行処理（１４）によりロードバランスを中止して、ディスク装置１（５）に故障の前兆がある場合は、ディスク装置１（５）をセカンダリ、残りのもう１台のディスク装置２（６）をプライマリとし、ディスク装置２（６）に故障の前兆がある場合は、ディスク装置２（６）をセカンダリ、残りのもう１台のディスク装置１（５）をプライマリとする、プライマリ／セカンダリ制御に移行する。プライマリ／セカンダリ制御移行後は、リード処理はプライマリのディスク装置のみに発行する。故障の前兆があるディスク装置はセカンダリとし、リード処理は発行しないため、システム性能の低下は発生しない。
【００１９】
図２は、本発明の処理の流れを示した図である。
ドライバはリード処理のＩ／ＯをＲＡＩＤコントローラに発行（１）する。Ｉ／ＯはＲＡＩＤコントローラ上のＲＡＩＤ制御部が受け取り、リード処理のＩ／Ｏを発行するディスク装置をロードバランスで決定（２）し、発行（３）する。ディスク装置で処理されたＩ／ＯはＲＡＩＤ制御部に返る（４）。ＲＡＩＤ制御部では返ってきたレスポンスが正常か異常か判断（５）する。
【００２０】
判断（５）の結果が異常（６）の場合は、ＲＡＩＤ制御移行処理でロードバランス制御からプライマリ／セカンダリ制御への変更、異常レスポンスが返ってきたディスク装置をセカンダリ、残りのディスク装置をプライマリに設定（７）する。プライマリ／セカンダリ制御にＲＡＩＤ制御が移行したことをＲＡＩＤ制御部で保持（８）する。その後、リード処理のＩ／Ｏ結果をドライバに返し（９）、ドライバでＩ／Ｏを受けて取り（１１）、リード処理は終了する。
【００２１】
判断（５）の結果が正常（１０）の場合は、ＲＡＩＤ制御部からリード処理のＩ／Ｏ結果をドライバに返し（９）、ドライバでＩ／Ｏを受け取り（１１）、リード処理は終了する。
【００２２】
プライマリ／セカンダリ制御に移行後は、ドライバから発行（１２）されたリード処理のＩ／Ｏは、ＲＡＩＤ制御部が受け取り、リード処理のＩ／Ｏをプライマリに設定されているディスク装置（１３）に発行（１４）する。プライマリのディスク装置で処理されたＩ／ＯはＲＡＩＤ制御部に返る（１５）。ＲＡＩＤ制御部はリード処理のＩ／Ｏ結果をドライバに返し（１６）、ドライバでＩ／Ｏを受け取り（１７）、リード処理は終了する。
【００２３】
以上説明したように、本実施の形態においては、以下に記載するような効果を奏する。
第１の効果は、ディスク装置の故障の前兆を判断し、前兆がある場合でも縮退させずにロードバランスからプライマリ／セカンダリの制御に移行することで、ＲＡＩＤ１の冗長性を保つことである。
【００２４】
第２の効果は、ロードバランスからプライマリ／セカンダリの制御に移行しているので、故障の前兆のあるディスク装置がある場合でもシステムの性能低下が発生しないことである。
【００２５】
本発明の他の実施の形態として、他のＲＡＩＤレベルでも類似の効果を得られる。
例えば、ＲＡＩＤ５はデータとパリティに分散してデータを記憶しており、１台のディスク装置に故障の前兆があった場合、故障のディスク装置にはリードを発行しないようにして、残りのディスク装置からデータ、パリティをリードしてデータを生成することで、同様の効果を得られる。ただし、データの生成処理の時間が余分に必要になるため、僅かではあるが性能は低下する。
【００２６】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係るシステム構成を示す図である。
【図２】本発明の実施の形態に係る処理動作を示すフローチャートである。
【符号の説明】
【００２８】
１    オペレーティングシステム
２    ドライバ
３    ＲＡＩＤコントローラ
４    ＲＡＩＤ制御部
５    ディスク装置１
６    ディスク装置２
【図１】
2009217362.tif 000003
【図２】
2009217362.tif 000004