(57)【要約】【課題】ＲＡＩＤ５構成のディスクアレイシステムにおいて、ハードディスクの追加による容量拡張処理実行中のハードディスク１台障害の発生に対して、容量拡張処理を継続させ、ＲＡＩＤシステムとしてデータの復旧を図る。【解決手段】ＲＡＩＤ５の容量拡張実行中、容量拡張がどこまえ完了したかを示す拡張完了アドレスをＲＡＩＤコントローラ上のメモリに記憶させる。この拡張完了アドレスは、分散されたデータが全てのハードディスクに配置された時点で更新される。ハードディスク１台障害が発生したときに、この拡張完了アドレスを使用して、ＲＡＩＤ５の再構築法に従いデータ復旧する。拡張完了アドレスまでは追加したハードディスクを含めて再構築を実行し、拡張完了アドレス以降は追加したハードディスクを含めずに再構築を実行する。再構築完了後、容量拡張を継続させる。【選択図】  図１
2004185256.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＩＤ５のディスクアレイシステムにおいて、ハードディスクを１台または複数台追加しての容量拡張実行中に、容量拡張が完了したアドレスを記憶する制御部を持つＲＡＩＤシステム。
【請求項２】
前記ＲＡＩＤシステムにおいて、容量拡張実行中に１台のハードディスクが障害になったとき、容量拡張が完了したアドレスの前後でＲＡＩＤ５の再構築の方式を変更するＲＡＩＤシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスクアレイシステムにおける障害発生時の復旧方法に関する。
【０００２】
【従来の技術】
従来、ディスクアレイシステムにおいて複数台のハードディスクにデータを分割して配置するＲＡＩＤ０やＲＡＩＤ５では、ハードディスクを１台または複数台追加して、容量拡張を行う事が可能である。
【０００３】
特開２０００−１０７３８号公報に示されているようにＲＡＩＤ５構成のディスクアレイシステムにおける記憶容量拡張方法が知られている。
【０００４】
以下、容量拡張の手順として、既存のＲＡＩＤ５がハードディスクＮ台で構成され、ハードディスクをＭ台追加して容量拡張を行う場合について説明する。既存のＲＡＩＤ５では、ＨＤＤ＃１、＃２から＃Ｎの内部で分割されたデータがＮ−１台に配置され、残りの１台にパリティデータが配置されている。この分割されたデータをストライピングデータと呼び、Ｎ−１個のストライピングデータとこれに対応する１個のパリティデータのグループをストライピングセットと呼ぶ。
【０００５】
容量拡張は、既存のＲＡＩＤ５のストライピングセットに対して、ストライピングデータをＭ個増やし、Ｎ＋Ｍ−１台のストライピングデータに対応するパリティデータをＮ＋Ｍ台のハードディスクに再配置するものである。これにより、既存のデータを保持した状態でＲＡＩＤ５を構成するハードディスク台数を増設し、使用できる記憶領域を拡張する事ができる。
【０００６】
【特許文献１】
特開２０００−１０７３８号公報
【０００７】
【発明が解決しようとする課題】
しかし、このような拡張方法においては、拡張処理の途中でハードディスク障害が発生したときに、拡張処理が中断されるが、この時点では分割されるデータ配列がディスクアレイ内部で一致していないため、ＲＡＩＤシステムとしてのデータ復旧が不可能となる。
【０００８】
本発明は、ＲＡＩＤ５システムにおける容量拡張処理の途中で１台のハードディスク障害が発生したときに、ＲＡＩＤ５の再構築方法を利用して拡張処理の継続させ、ＲＡＩＤシステムとしてデータ復旧させる事を目的とする。
【０００９】
【課題を解決するための手段】
本発明のＲＡＩＤシステムは、ＲＡＩＤ５の容量拡張実行中に拡張処理が完了したアドレスを格納する記憶する制御部を備えている。
【００１０】
さらに、拡張処理の完了は、分散されたデータが全てのハードディスクに配置された時点でアドレス更新される。
【００１１】
さらに、ハードディスク１台障害が発生したときは、障害ハードディスクを新規品に入れ替えてＲＡＩＤ５の再構築を実行できる。
【００１２】
さらに、再構築処理は、拡張処理が完了したアドレスまでは追加したハードディスクを含めて再構築を実行し、拡張処理未完のアドレス以降は追加したハードディスクを含めずに再構築を実行する。
【００１３】
さらに、再構築処理が完了後は、容量拡張処理を継続する。
【００１４】
【発明の実施の形態】
以下、本発明実施の形態を図面を用いて説明する。
【００１５】
図２は、本実施形態の概略を示すブロック図である。ＲＡＩＤシステム２０１は、ＲＡＩＤコントローラ２０２とＲＡＩＤコントローラに繋がるハードディスクＨＤＤ＃１（２０４）、ＨＤＤ＃２（２０５）、ＨＤＤ＃３（２０６）よりＲＡＩＤ５が構成される。なお、ＲＡＩＤ５ではＨＤＤは３台以上でも構成する事が可能である。ＲＡＩＤ５のストライピングデータをＤ１、Ｄ２、…とし、パリティデータをＰ１−２、Ｐ３−４…とする。ストライピングデータとそれに対応するパリティデータのグループをストライピングセットＳ０、Ｓ１、…とする。ＲＡＩＤコントローラ２０２上には容量拡張を完了したストライプセットを格納する拡張完了ストライプセット記憶部２０３を有する。
【００１６】
図３は、本発明における容量拡張の方法を示すフローチャートである。ステップ３０１より容量拡張が開始されると、初期値として既存のハードディスク台数（既存ＨＤＤ数＝Ｎ）と追加されたハードディスク台数（追加ＨＤＤ数＝Ｍ）、拡張ストライプセットＳ＝０さらにストライプセット用インデックスｉ＝０が設定される（ステップ３０２）。容量拡張が実行されると、パリティ計算とデータ再配置が実行される（ステップ３０３）。次に、Ｎ＋Ｍ台目のハードディスクにデータを書き込んだかをチェックする（ステップ３０４）。書き込みが完了していない場合は、ステップ３０３の容量拡張実行へ戻る。ステップ３０４にて書き込みが完了したときは、それがＮ＋Ｍ番目のハードディスクの最終アドレスかどうかをチェックする（ステップ３０５）。最終アドレスであれば、容量拡張終了となる（ステップ３０６）。ステップ３０５にて最終アドレスで無い場合、現在書き込み完了されたストライプセットＳｉが拡張完了ストライプセット記憶部に入力される（ステップ３０７）その後、ステップ３０８にてストライプセット用インデックスが繰り上げられ、ステップ３０３容量拡張実行へ戻る。ステップ３０３０からステップ３０８の繰り返しにより、常にどのストライプセットまで容量拡張が完了しているか、記憶される事になる。
【００１７】
図１は、容量拡張中にハードディスク障害が発生したときの復旧手順を示すフローチャートである。既存ハードディスク台数がＮ台（既存ＨＤＤ数＝Ｎ）、追加ハードディスク台数がＭ台（追加ＨＤＤ数＝Ｍ）にて容量拡張を実行しており、容量拡張がストライピングセットＳｉまで完了しているとする（ステップ１０１）。このとき、ステップ１０２の通り１台ハードディスク（ＨＤＤ＃ｎとする）が故障すると、ステップ１０３にて容量拡張が停止する。次にＲＡＩＤ５のデータ再構築法であるリビルドを行うために、ＨＤＤ＃ｎのハードディスクを新規ハードディスク（ＨＤＤ＃ｎ’とする）に交換する（ステップ１０４）。ステップ１０５にてストライピングセットがＳ０からＳｉまでは、Ｎ＋Ｍ台でリビルドを行う。ストライピングセットがＳｉ＋１から最終ストライピングセットＳＪまではＮ台でのリビルドを行う。この処理により、容量拡張途中であってもデータ復旧が可能となる。リビルド完了後（ステップ１０６）、容量拡張を継続する（ステップ１０７）。
【００１８】
【発明の効果】
本発明によれば、ＲＡＩＤ５での容量拡張実行中にハードディスク１台障害が発生しても、障害発生前の状態に復旧することにより、容量拡張を継続し、ＲＡＩＤシステムとしてデータ復旧できる効果がある。
【図面の簡単な説明】
【図１】本発明の実施形態における障害復旧手順を示すフローチャート。
【図２】本発明の実施形態を示すＲＡＩＤシステムの構成に関する図。
【図３】本発明の実施形態における容量拡張処理を示すフローチャート。
【符号の説明】
２０１…ＲＡＩＤシステム、２０２…ＲＡＩＤコントローラ、２０３…拡張完了ストライプセット記憶部、２０４〜２０６…ハードディスク。
【図１】
2004185256.tif 000003
【図２】
2004185256.tif 000004
【図３】
2004185256.tif 000005