JP2004021318A - ディスクアレイ装置、及びその制御方法 - Google Patents
ディスクアレイ装置、及びその制御方法 Download PDFInfo
- Publication number
- JP2004021318A JP2004021318A JP2002171663A JP2002171663A JP2004021318A JP 2004021318 A JP2004021318 A JP 2004021318A JP 2002171663 A JP2002171663 A JP 2002171663A JP 2002171663 A JP2002171663 A JP 2002171663A JP 2004021318 A JP2004021318 A JP 2004021318A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- disk array
- interest
- array
- disks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】接続されたディスクの使用効率を向上させること。
【解決手段】障害が発生したディスクを検知した場合(S201)、このディスクアレイが修復可能な構成であるか否か(S203)、スペアディスクが存在する否かのチェックを行う(S204)。スペアディスクが存在しない場合、一台でディスクアレイを構成しているディスクを検索し(S209)、このディスク(Freeディスク)が存在する場合、Freeディスクをスペアディスクとして利用可能であるか否かを判断し(S210)、使用可能である場合、Freeディスクをスペアディスクとして用い、データを修復する(S206)。
【選択図】 図2
【解決手段】障害が発生したディスクを検知した場合(S201)、このディスクアレイが修復可能な構成であるか否か(S203)、スペアディスクが存在する否かのチェックを行う(S204)。スペアディスクが存在しない場合、一台でディスクアレイを構成しているディスクを検索し(S209)、このディスク(Freeディスク)が存在する場合、Freeディスクをスペアディスクとして利用可能であるか否かを判断し(S210)、使用可能である場合、Freeディスクをスペアディスクとして用い、データを修復する(S206)。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明はディスクアレイ装置、及びその制御方法に関するものである。
【0002】
【従来の技術】
ディスクアレイ装置は、アレイ構成された複数のディスクを並列アクセスすることによりアクセススピード等の性能の向上を図り、さらに冗長データを付加して、1台のディスク故障に対して消失データの自動回復が可能な、高性能、高信頼性ディスクシステムである。
【0003】
ディスクアレイ装置の構成例としては、Paterson等の論文によりRAID(Redundant Arrays of Inexpensive Disks)と呼ばれるディスクアレイ形態が提示されている。なかでも、冗長データを付加して、1台のディスク故障に対して消失データの自動回復が可能な構成として、RAID1、RAID5と呼ばれる種類が広く知られている。また、ディスクが故障した場合の回復処理(リカバリ)を、システムを停止することなく実行するために、ホットスタンバイのスペアディスク(ホットスペアディスク)を常備していることが多い。
【0004】
この種のディスクアレイ装置は、RAID5を例にとると図5に示す構成を備える。図5は従来のディスクアレイ装置の基本構成を示すブロック図である。同図のディスクアレイ装置は、ディスクアレイ装置10を制御するためのディスクアレイコントローラ11と、データを格納するためのディスク41〜44とから構成されている。ディスクアレイコントローラ11は、ホストコンピュータ(図示せず)と接続するためのホストインタフェース12、ディスクアレイコントローラ11を制御するためのCPU13、制御手続きを記憶したROM14、データの一時記憶などに用いられるRAM15、ディスクを接続するためのディスクインタフェース16、ディスクアレイの構成情報を記憶した制御用フラッシュメモリ20とから構成されている。また制御用フラッシュメモリ20には、ディスクアレイの構成情報であるディスク管理テーブル21が格納されている。
【0005】
ディスク管理テーブル21は、ディスクアレイを指し示すためのアレイ番号22、RAIDのモードを示すモード23、アレイを構成するディスクを装填するためのスロット番号24、ディスクの状態を示すHDD状態25とからなる。
【0006】
アレイ番号22はディスクアレイを指し示すためのものであり、ディスクアレイが一つ構成されていればARY1、二つ構成されていれば「ARY1」、「ARY2」というように設定される。モード23は、RAID1、RAID5などRAIDのモードや、スペアディスクであることを示す「Spare」が設定される。スロット番号24は、ディスクを装填するためのスロット番号を示す。HDD状態25は、スロットにディスクが装填されているか否かの状態、またディスクにエラーが生じたときにその状態を表す。同図では「有」となっているが、これは何のトラブルも生じていないことを示す。
【0007】
図5に示すディスクアレイ装置は、ディスク41〜44の、4つのディスクからなるディスクアレイ40「ARY1」が1つ構成されており、スロット番号HD1〜3に接続されたディスク41〜43の3つのディスクがRAID5、スロット番号HD4に接続されたディスク44がスペアディスクとなっている。この構成において、ディスク41〜43のうちの1つのディスクに障害が発生すると、スペアディスクとなっているディスク44を使用してディスクに記憶されたデータの回復処理が行われる。
【0008】
この回復処理の動作について、図6のフローチャートに従って説明する。図6は上記構成を備えるディスクアレイ装置が行う、障害が発生したディスクに記憶されたデータの回復処理のフローチャートである。
【0009】
CPU13は常にディスク41,42,43に障害が発生しているか否かを監視し、障害の発生を検知した場合(ステップS601)、ディスク管理テーブル20内の該当するディスクのHDD状態を「エラー」に変更する(ステップS602)。次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがRAID1またはRAID5であるか否かを判断し(ステップS603)、修復可能な構成(RAID1またはRAID5)であれば、修復に利用するためのスペアディスクが存在するか否かの判断を行う(ステップS604)。スペアディスクが存在すれば、ホストコンピュータに対して「データディスクに障害が発生し、スペアディスクを用いてデータの修復を行う」旨を通知し(ステップS605)、データの修復を行う(ステップS606)。データの修復が完了したら、ディスク管理テーブル20において障害が発生したディスクのHDD状態を「有」に変更し(ステップS607)、ホストコンピュータに対してデータの修復が完了したことを通知し(ステップS608)、修復処理を終了する。
【0010】
また、ステップS603において、障害が発生したディスクアレイが修復不可能な構成、すなわち、モードがFreeまたはRAID0であった場合は、ホストコンピュータに対して障害が発生したことを通知し(ステップS608)、処理を終了する。
【0011】
【発明が解決しようとする課題】
上述したように、データディスクとは別にホットスペアディスクを備えた従来のディスクアレイシステムでは、RAIDを構成するデータディスクに障害が発生しても、その障害ディスクに代えてホットスペアディスクを用いることで、システムを停止することなく対処できる。
【0012】
しかし、ホットスペアディスクは、他のディスクに障害が発生しない状態では何ら利用されず、またホットスペアディスクの実装スロットも有効に利用されていない。
【0013】
このように従来のディスクアレイ装置では、ホットスペアディスクは、そのホットスペアディスク本来の目的のみにしか使用されないため、他のディスクに障害が発生しない通常の状態では全く利用されず、またホットスペアディスクの実装スロットも有効に利用されないことから無駄であるという問題があった。
【0014】
そこで、ホットスペアディスクを有効に利用するための方法として、特開平10−260788号公報で提案されているディスクアレイシステムでは、ホットスペアディスクに、データディスクより記憶容量が大きいディスクを用いて、その記憶容量が多い部分(データディスクの記憶容量とスペアディスクの記憶容量との差分)の領域を、ディスクアレイコントローラの動作に必要なファームウェアをバージョンアップするためのバージョンアップ用コントローラファームウェアの格納領域として利用する方法が提案されている。しかし、上記の方法ではホットスペアディスクに記憶容量の大きいディスクを用いなければならないという制約があり、また記憶容量が多い部分の領域のみを活用することしかできず、ホットスペアディスク全体を有効に活用しているとは言いがたい部分があった。
【0015】
本発明は以上の問題を鑑みてなされたものであり、接続されたディスクの使用効率を向上させることを目的とする。
【0016】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置は以下の構成を備える。
【0017】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知手段と、
当該検知手段が注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復手段とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【0018】
また好ましくは更に、前記複数のディスクを管理するための管理テーブルを格納する格納手段を備え、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする。
【0019】
また好ましくは更に前記1つのディスクにより構成されるディスクアレイを検索する検索手段と、
当該検索手段により検索したディスクアレイを構成する1つのディスクが使用可能であるか否かを判断する判断手段と
を備えることを特徴とする。
【0020】
また好ましくは前記判断手段は、前記検索手段により検索した1つのディスクが使用されているか否かを判断し、使用されていない場合、当該1つのディスクが使用可能であると判断することを特徴とする。
【0021】
また好ましくは前記判断手段は、前記検索手段により検索した1つのディスクの使用容量と、前記注目ディスクの空き容量とを比較し、前記注目ディスクの空き容量の方が大きい場合、前記1つのディスクが保持するデータを前記注目ディスクにコピーし、コピー後、前記1つのディスクが保持する全てのデータを消去することを特徴とする。
【0022】
また好ましくは更に前記管理テーブルにおいて、前記判断手段により使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更手段を備えることを特徴とする。
【0023】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置の制御方法は以下の構成を備える。
【0024】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置の制御方法であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知工程と、
当該検知工程で注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復工程とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【0025】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0026】
[第1の実施形態]
図1は本発明の第1の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。本実施形態に係るディスクアレイ装置100はRAID5を構成するものであり、ディスクアレイコントローラ101と、ディスクアレイコントローラ101内のディスクインタフェース106に接続されたディスク142〜145とから構成されている。また、ディスク142〜144の3つのディスクでディスクアレイ140が組まれ、ディスク145の1つでディスクアレイ141が組まれている。また「HD1」、「HD2」、「HD3」、「HD4」は夫々のディスクをディスクインタフェース106に接続するためのスロットの番号である。
【0027】
ディスクアレイコントローラ101は、ホストコンピュータ(図示せず)と接続するためのホストインタフェース102、CPU103、ROM104、RAM105、ディスクを接続するためのディスクインタフェース106、ディスクアレイの構成情報と状態を記憶するための制御用フラッシュメモリ120とから構成されている。
【0028】
制御用フラッシュメモリ120には、ディスクアレイの構成情報と状態を記憶するためのディスク管理テーブル121が格納されている。ディスク管理テーブル121には、ディスクアレイの番号を管理するためのアレイ番号122と、ディスクアレイのモードを管理するためのモード123と、ディスクスロットの番号を管理するためのスロット番号124と、ディスクの状態を表すためのHDD状態125が格納され、管理されている。
【0029】
アレイ番号122における「ARY1」、「ARY2」とは、ディスクアレイコントローラ101に2つのディスクアレイが設定されていることを示している。ここでは「ARY1」がディスクアレイ140に、「ARY2」がディスクアレイ141に相当する。
【0030】
「ARY1」は、モード123で示されるように「RAID5」を構成し、HD1〜HD3のスロット番号に装着されたディスク142〜144が接続されていることを示している。HDD状態125が「有」とは、正常に動作するディスクが装着されていることを示している。
【0031】
「ARY2」のディスクアレイのモード「Free」とは、一つのディスクが独立して使用されることを示している。本実施形態に係るディスクアレイ装置101では、一つのディスクを独立して使用する場合も、一つのディスクアレイ(ここでは「ARY2」)として取り扱う。
【0032】
各ディスクアレイは、オペレーティングシステムに対して、一つのディスクアレイがあたかも一つのディスクであるかのように動作する。例えばオペレーティングシステムがWindows(登録商標)であった場合、「ARY1」を「Cドライブ」として、「ARY2」を「Dドライブ」としてWindows(登録商標)から扱うことができる。
【0033】
また、ディスクスロットHD1〜HD4は、ディスクの活線挿抜が可能な構造になっており、オペレーティングシステムの動作中に抜き差しが可能なリムーバブルメディアと接続することができる。
【0034】
次に、ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合にディスクアレイ装置が行う処理について、同処理のフローチャートを示す図2と、同処理の進行に伴って書き換えられるディスク管理テーブル121の状態遷移を示す図3とを用いて以下説明する。なお、ディスクの障害とは、ここでは物理的にディスクが破損したレベルの障害であって、使用不可能となるレベルを指す。また、図2に示したフローチャートに従った回復処理のプログラムはROM104に格納されており、RAM105に読み出され、CPU103により実行されることで、本実施形態に係るディスクアレイ装置は以下の回復処理を行うことができる。
【0035】
まず、全てのディスクが正常に動作している場合のディスク管理テーブル121の様子は図3(a)に示すとおりである。すなわち同図のテーブルは図1に示したディスク管理テーブル121の状態と一致している。
【0036】
この状態においてCPU103はディスクインタフェース106に接続されているディスクを常にチェックしており、全てのディスクが正常に動作しているかを監視している。そして障害が発生したディスクを検知した場合(ステップS201)、まずディスク管理テーブル121において障害が発生したディスクのスロット番号を特定し、このスロット番号に対応するディスクのHDD状態を「有」から「エラー」に変更する(ステップS202)。例えば、スロットHD3に接続されたディスク144に障害が発生した場合、図3(b)に示すように、HD3のHDD状態を「エラー」に変更する。以下、HD3のディスクに障害が発生したものとして説明するが、これに限定されるものではなく、他のディスクでも良いことは以下の説明より明白である。
【0037】
次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがRAID1またはRAID5であるか否かを判断し(ステップS203)、修復可能な構成(RAID1またはRAID5)であれば、修復に利用するためのスペアディスクがディスクインタフェース106に接続されているか否かのチェックを行う(ステップS204)。そしてディスクインタフェース106にスペアディスクが接続されている場合、ステップS205からステップS208までの処理を行うが、各ステップにおける処理の内容は、上記ステップS605からステップS608までの各ステップにおける処理の内容と同じであるので、説明を省略する。すなわち、ディスクに障害が発生した場合に、スペアディスクが存在する場合には、従来と同様の処理を行う。
【0038】
一方、ステップS304においてのチェックで、ディスクインタフェース106にスペアディスクが接続されていない場合、ディスクインタフェース106に一台でディスクアレイを構成しているディスクを検索する(ステップS209)。すなわちディスク管理テーブル121を参照して、モード123が「Free」となっているディスク(Freeディスク)を検索する。本実施形態ではこのFreeディスクはディスク145となる。なお、ディスクインタフェース106にFreeディスクが1台のみである場合には、本ステップでは検索は行わずに、このディスクを特定する処理を行う。
【0039】
そしてモード123が「Free」であるディスク(ディスク145)が存在する場合、更にFreeディスクをスペアディスクとして利用可能であるか否かを判断する(ステップS210)。Freeディスクをスペアディスクとして利用可能であるという条件としては、Freeディスクが使用されていない(データを格納していない)ことが条件となる。他にも例えばオペレーティングシステムがWindows(登録商標)XPであった場合、
・ ハードディスクが全くフォーマットされていない。
【0040】
・ 「FAT」または「NTFS」フォーマットで、フォルダやファイルが存在しない。
の場合にFreeディスクが使用されていないと判断する。
【0041】
逆にFreeディスクが使用されているという判断には、
・ 「FAT」または「NTFS」フォーマットで、フォルダやファイルが存在する。
【0042】
・ 「FAT」または「NTFS」フォーマット以外のフォーマットである。ことが挙げられる。
【0043】
そしてFreeディスクが使用可能であるとステップS210で判断された場合、処理をステップS211に進め、ディスク管理テーブル121におけるFreeディスクのHDD状態を「なし」に変更する(ステップS211)。HDD状態が「なし」とは、CPU103からは接続されていないディスク(アクセス不可能なディスク)と判断される状態を示す。これはステップS211でHDD状態を「なし」に変更しないと、ステップS210で使用されていないディスクを見つけても、このディスクをスペアディスクとして用いる前にこのディスクが使用されてしまうかもしれないからである。よって、ステップS211により、使用されていないディスクを確保することができると共に、ホストコンピュータに対して、ホストコンピュータの動作に影響を与えることなくFreeディスク(すなわちARY2を構成しているディスク145)が存在しないようにすることができる。ステップS211で行われる上記処理の結果のディスク管理テーブル121を図3(c)に示す。
【0044】
次に、FreeディスクをARY1のスペアディスクとしてディスク管理テーブル121を変更する(ステップS212)。このときのディスク管理テーブル121を図3(d)に示す。以上のステップの処理により、常に使用されることのないスペアディスクを予め設定しなくても、必要に応じてスペアディスクを用意することができるので、ディスク全体の使用効率を上記従来よりも向上させることができる。
【0045】
そして処理をステップS205に進め、ステップS205では「RAIDを構成しているディスクに障害が発生したので、使用していなかったFreeディスクをスペアディスクに割り当て障害の回復を開始する」旨を示す信号をホストコンピュータに対して送信(通知)する。
【0046】
そしてステップS206では、データの修復を行う。本実施形態ではモードはRAID5であるので、周知の通り、HD3のディスクと同じディスクアレイ(ARY1)内でHD3のディスク以外のディスクには、HD3のディスクが格納するデータを修復するための冗長データが格納されている。本実施形態ではHD3のディスクであるディスク144に格納されたデータを修復するための冗長データはディスク142,143に格納されているので、これらのディスク142,143に格納された冗長データをからディスク144が格納していたデータを修復することができる。
【0047】
具体的にはFreeディスクのモードをディスク142,143と同様の「RAID5」に変更すると共に、HD3のディスクのモードを「Error」に変更する。このようにすることで、RAID5を構成していたHD3のディスクの変わりにFreeディスクを用いることができる。そしてこのFreeディスクをARY1のスペアディスクとして用い、Freeディスクにディスク142,143に格納された冗長データをコピーし、従来の方法と同様にディスク144の格納するデータを修復する。修復開始と共にCPU103は、ディスク管理テーブル121においてFreeディスクのHDD状態を「修復中」と変更する。ステップS206によって変更されたディスク管理テーブル121を図3(e)に示す。
【0048】
そしてデータの修復が完了すると、CPU103は更にディスク管理テーブル121においてFreeディスクのHDD状態を「有」と変更する(ステップS207)。ステップS206により変更されたディスク管理テーブル121を図3(f)に示す。以上の処理の結果、ARY1を構成するディスクはディスク142,143,145となり、ディスク145はスペアディスクとして用いられると共に、障害が発生したディスク144の変わりとして用いられることになる。そして修復が完了したことをホストコンピュータに対して通知し(ステップS208)、障害からの回復処理を終了する。
【0049】
以上の説明により、本実施形態に係るディスクアレイ装置によって、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【0050】
なお、本実施形態では障害のレベルとしてディスクが使用不可能なレベルとしたが、例えばデータのみが破損してディスクは使用可能である場合、上記処理により修復したデータをデータが破損したディスクに戻す処理を行う。
【0051】
[第2の実施形態]
上記第1の実施形態では、Freeディスクが使用されていない場合にのみこのFreeディスクを使用していたが、本実施形態ではFreeディスクが使用されている場合についても同様の処理を行うディスクアレイ装置について説明する。しか資本実施形態におけるディスクの障害のレベルは、格納するデータが破損してはいるが、ディスクそのものは機能するレベルを指すものとする。なお本実施形態係るディスクアレイ装置の基本構成は図1と同じものとする。
【0052】
ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本実施形態に係るディスクアレイ装置が行う処理について、図4に示す同処理のフローチャートを参照して説明する。
【0053】
ステップS401〜ステップS409までの各ステップの処理は、上記ステップS201〜ステップS209までの各ステップの処理と同じであるため、その詳細な説明は省略する。
【0054】
RAIDを構成するディスクに障害が発生し(ステップS401)、装置にFreeディスクが存在する場合(ステップS409)、障害が発生したRAIDディスクの空き容量と、Freeディスクの使用容量とを比較し(ステップS410)、RAIDディスクの空き容量の方が大きければ、Freeディスクを書き込み禁止とした後、Freeディスクの内容(即ち、使用しているデータ)をRAIDディスクにコピーし、コピー後、Freeディスクが保持する全てのデータを消去する(ステップS411)。このようにすることで、Freeディスクを第1の実施形態におけるFreeディスクと同様に、「使用されていないディスク」とすることができる。そしてステップS412,S413ではステップS211,S212と同様に、Freeディスクの状態を「なし」に設定し(ステップS412)、FreeディスクをARY1のスペアディスクとしてディスク管理テーブル121を変更する(ステップS413)。
【0055】
以降の処理は第1の実施形態と同じであるが最後に、ステップS411でRAIDディスクにコピーされたデータをFreeディスクに戻す処理を行う。
【0056】
以上の説明により、本実施形態に係るディスクアレイ装置によって、Freeディスクが使用されている場合でも、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【0057】
[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【0058】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0059】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0060】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0061】
【発明の効果】
以上説明したように、本発明によって、接続されたディスクの使用効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。
【図2】ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本発明の第1の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図3】図3に示したフローチャートに従った処理の進行に伴って書き換えられるディスク管理テーブル121の状態遷移を示す図である。
【図4】ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本発明の第2の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図5】従来のディスクアレイ装置の基本構成を示すブロック図である。
【図6】図5に示したディスクアレイ装置が行う回復処理のフローチャートである。
【発明の属する技術分野】
本発明はディスクアレイ装置、及びその制御方法に関するものである。
【0002】
【従来の技術】
ディスクアレイ装置は、アレイ構成された複数のディスクを並列アクセスすることによりアクセススピード等の性能の向上を図り、さらに冗長データを付加して、1台のディスク故障に対して消失データの自動回復が可能な、高性能、高信頼性ディスクシステムである。
【0003】
ディスクアレイ装置の構成例としては、Paterson等の論文によりRAID(Redundant Arrays of Inexpensive Disks)と呼ばれるディスクアレイ形態が提示されている。なかでも、冗長データを付加して、1台のディスク故障に対して消失データの自動回復が可能な構成として、RAID1、RAID5と呼ばれる種類が広く知られている。また、ディスクが故障した場合の回復処理(リカバリ)を、システムを停止することなく実行するために、ホットスタンバイのスペアディスク(ホットスペアディスク)を常備していることが多い。
【0004】
この種のディスクアレイ装置は、RAID5を例にとると図5に示す構成を備える。図5は従来のディスクアレイ装置の基本構成を示すブロック図である。同図のディスクアレイ装置は、ディスクアレイ装置10を制御するためのディスクアレイコントローラ11と、データを格納するためのディスク41〜44とから構成されている。ディスクアレイコントローラ11は、ホストコンピュータ(図示せず)と接続するためのホストインタフェース12、ディスクアレイコントローラ11を制御するためのCPU13、制御手続きを記憶したROM14、データの一時記憶などに用いられるRAM15、ディスクを接続するためのディスクインタフェース16、ディスクアレイの構成情報を記憶した制御用フラッシュメモリ20とから構成されている。また制御用フラッシュメモリ20には、ディスクアレイの構成情報であるディスク管理テーブル21が格納されている。
【0005】
ディスク管理テーブル21は、ディスクアレイを指し示すためのアレイ番号22、RAIDのモードを示すモード23、アレイを構成するディスクを装填するためのスロット番号24、ディスクの状態を示すHDD状態25とからなる。
【0006】
アレイ番号22はディスクアレイを指し示すためのものであり、ディスクアレイが一つ構成されていればARY1、二つ構成されていれば「ARY1」、「ARY2」というように設定される。モード23は、RAID1、RAID5などRAIDのモードや、スペアディスクであることを示す「Spare」が設定される。スロット番号24は、ディスクを装填するためのスロット番号を示す。HDD状態25は、スロットにディスクが装填されているか否かの状態、またディスクにエラーが生じたときにその状態を表す。同図では「有」となっているが、これは何のトラブルも生じていないことを示す。
【0007】
図5に示すディスクアレイ装置は、ディスク41〜44の、4つのディスクからなるディスクアレイ40「ARY1」が1つ構成されており、スロット番号HD1〜3に接続されたディスク41〜43の3つのディスクがRAID5、スロット番号HD4に接続されたディスク44がスペアディスクとなっている。この構成において、ディスク41〜43のうちの1つのディスクに障害が発生すると、スペアディスクとなっているディスク44を使用してディスクに記憶されたデータの回復処理が行われる。
【0008】
この回復処理の動作について、図6のフローチャートに従って説明する。図6は上記構成を備えるディスクアレイ装置が行う、障害が発生したディスクに記憶されたデータの回復処理のフローチャートである。
【0009】
CPU13は常にディスク41,42,43に障害が発生しているか否かを監視し、障害の発生を検知した場合(ステップS601)、ディスク管理テーブル20内の該当するディスクのHDD状態を「エラー」に変更する(ステップS602)。次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがRAID1またはRAID5であるか否かを判断し(ステップS603)、修復可能な構成(RAID1またはRAID5)であれば、修復に利用するためのスペアディスクが存在するか否かの判断を行う(ステップS604)。スペアディスクが存在すれば、ホストコンピュータに対して「データディスクに障害が発生し、スペアディスクを用いてデータの修復を行う」旨を通知し(ステップS605)、データの修復を行う(ステップS606)。データの修復が完了したら、ディスク管理テーブル20において障害が発生したディスクのHDD状態を「有」に変更し(ステップS607)、ホストコンピュータに対してデータの修復が完了したことを通知し(ステップS608)、修復処理を終了する。
【0010】
また、ステップS603において、障害が発生したディスクアレイが修復不可能な構成、すなわち、モードがFreeまたはRAID0であった場合は、ホストコンピュータに対して障害が発生したことを通知し(ステップS608)、処理を終了する。
【0011】
【発明が解決しようとする課題】
上述したように、データディスクとは別にホットスペアディスクを備えた従来のディスクアレイシステムでは、RAIDを構成するデータディスクに障害が発生しても、その障害ディスクに代えてホットスペアディスクを用いることで、システムを停止することなく対処できる。
【0012】
しかし、ホットスペアディスクは、他のディスクに障害が発生しない状態では何ら利用されず、またホットスペアディスクの実装スロットも有効に利用されていない。
【0013】
このように従来のディスクアレイ装置では、ホットスペアディスクは、そのホットスペアディスク本来の目的のみにしか使用されないため、他のディスクに障害が発生しない通常の状態では全く利用されず、またホットスペアディスクの実装スロットも有効に利用されないことから無駄であるという問題があった。
【0014】
そこで、ホットスペアディスクを有効に利用するための方法として、特開平10−260788号公報で提案されているディスクアレイシステムでは、ホットスペアディスクに、データディスクより記憶容量が大きいディスクを用いて、その記憶容量が多い部分(データディスクの記憶容量とスペアディスクの記憶容量との差分)の領域を、ディスクアレイコントローラの動作に必要なファームウェアをバージョンアップするためのバージョンアップ用コントローラファームウェアの格納領域として利用する方法が提案されている。しかし、上記の方法ではホットスペアディスクに記憶容量の大きいディスクを用いなければならないという制約があり、また記憶容量が多い部分の領域のみを活用することしかできず、ホットスペアディスク全体を有効に活用しているとは言いがたい部分があった。
【0015】
本発明は以上の問題を鑑みてなされたものであり、接続されたディスクの使用効率を向上させることを目的とする。
【0016】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置は以下の構成を備える。
【0017】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知手段と、
当該検知手段が注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復手段とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【0018】
また好ましくは更に、前記複数のディスクを管理するための管理テーブルを格納する格納手段を備え、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする。
【0019】
また好ましくは更に前記1つのディスクにより構成されるディスクアレイを検索する検索手段と、
当該検索手段により検索したディスクアレイを構成する1つのディスクが使用可能であるか否かを判断する判断手段と
を備えることを特徴とする。
【0020】
また好ましくは前記判断手段は、前記検索手段により検索した1つのディスクが使用されているか否かを判断し、使用されていない場合、当該1つのディスクが使用可能であると判断することを特徴とする。
【0021】
また好ましくは前記判断手段は、前記検索手段により検索した1つのディスクの使用容量と、前記注目ディスクの空き容量とを比較し、前記注目ディスクの空き容量の方が大きい場合、前記1つのディスクが保持するデータを前記注目ディスクにコピーし、コピー後、前記1つのディスクが保持する全てのデータを消去することを特徴とする。
【0022】
また好ましくは更に前記管理テーブルにおいて、前記判断手段により使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更手段を備えることを特徴とする。
【0023】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置の制御方法は以下の構成を備える。
【0024】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置の制御方法であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知工程と、
当該検知工程で注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復工程とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【0025】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【0026】
[第1の実施形態]
図1は本発明の第1の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。本実施形態に係るディスクアレイ装置100はRAID5を構成するものであり、ディスクアレイコントローラ101と、ディスクアレイコントローラ101内のディスクインタフェース106に接続されたディスク142〜145とから構成されている。また、ディスク142〜144の3つのディスクでディスクアレイ140が組まれ、ディスク145の1つでディスクアレイ141が組まれている。また「HD1」、「HD2」、「HD3」、「HD4」は夫々のディスクをディスクインタフェース106に接続するためのスロットの番号である。
【0027】
ディスクアレイコントローラ101は、ホストコンピュータ(図示せず)と接続するためのホストインタフェース102、CPU103、ROM104、RAM105、ディスクを接続するためのディスクインタフェース106、ディスクアレイの構成情報と状態を記憶するための制御用フラッシュメモリ120とから構成されている。
【0028】
制御用フラッシュメモリ120には、ディスクアレイの構成情報と状態を記憶するためのディスク管理テーブル121が格納されている。ディスク管理テーブル121には、ディスクアレイの番号を管理するためのアレイ番号122と、ディスクアレイのモードを管理するためのモード123と、ディスクスロットの番号を管理するためのスロット番号124と、ディスクの状態を表すためのHDD状態125が格納され、管理されている。
【0029】
アレイ番号122における「ARY1」、「ARY2」とは、ディスクアレイコントローラ101に2つのディスクアレイが設定されていることを示している。ここでは「ARY1」がディスクアレイ140に、「ARY2」がディスクアレイ141に相当する。
【0030】
「ARY1」は、モード123で示されるように「RAID5」を構成し、HD1〜HD3のスロット番号に装着されたディスク142〜144が接続されていることを示している。HDD状態125が「有」とは、正常に動作するディスクが装着されていることを示している。
【0031】
「ARY2」のディスクアレイのモード「Free」とは、一つのディスクが独立して使用されることを示している。本実施形態に係るディスクアレイ装置101では、一つのディスクを独立して使用する場合も、一つのディスクアレイ(ここでは「ARY2」)として取り扱う。
【0032】
各ディスクアレイは、オペレーティングシステムに対して、一つのディスクアレイがあたかも一つのディスクであるかのように動作する。例えばオペレーティングシステムがWindows(登録商標)であった場合、「ARY1」を「Cドライブ」として、「ARY2」を「Dドライブ」としてWindows(登録商標)から扱うことができる。
【0033】
また、ディスクスロットHD1〜HD4は、ディスクの活線挿抜が可能な構造になっており、オペレーティングシステムの動作中に抜き差しが可能なリムーバブルメディアと接続することができる。
【0034】
次に、ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合にディスクアレイ装置が行う処理について、同処理のフローチャートを示す図2と、同処理の進行に伴って書き換えられるディスク管理テーブル121の状態遷移を示す図3とを用いて以下説明する。なお、ディスクの障害とは、ここでは物理的にディスクが破損したレベルの障害であって、使用不可能となるレベルを指す。また、図2に示したフローチャートに従った回復処理のプログラムはROM104に格納されており、RAM105に読み出され、CPU103により実行されることで、本実施形態に係るディスクアレイ装置は以下の回復処理を行うことができる。
【0035】
まず、全てのディスクが正常に動作している場合のディスク管理テーブル121の様子は図3(a)に示すとおりである。すなわち同図のテーブルは図1に示したディスク管理テーブル121の状態と一致している。
【0036】
この状態においてCPU103はディスクインタフェース106に接続されているディスクを常にチェックしており、全てのディスクが正常に動作しているかを監視している。そして障害が発生したディスクを検知した場合(ステップS201)、まずディスク管理テーブル121において障害が発生したディスクのスロット番号を特定し、このスロット番号に対応するディスクのHDD状態を「有」から「エラー」に変更する(ステップS202)。例えば、スロットHD3に接続されたディスク144に障害が発生した場合、図3(b)に示すように、HD3のHDD状態を「エラー」に変更する。以下、HD3のディスクに障害が発生したものとして説明するが、これに限定されるものではなく、他のディスクでも良いことは以下の説明より明白である。
【0037】
次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがRAID1またはRAID5であるか否かを判断し(ステップS203)、修復可能な構成(RAID1またはRAID5)であれば、修復に利用するためのスペアディスクがディスクインタフェース106に接続されているか否かのチェックを行う(ステップS204)。そしてディスクインタフェース106にスペアディスクが接続されている場合、ステップS205からステップS208までの処理を行うが、各ステップにおける処理の内容は、上記ステップS605からステップS608までの各ステップにおける処理の内容と同じであるので、説明を省略する。すなわち、ディスクに障害が発生した場合に、スペアディスクが存在する場合には、従来と同様の処理を行う。
【0038】
一方、ステップS304においてのチェックで、ディスクインタフェース106にスペアディスクが接続されていない場合、ディスクインタフェース106に一台でディスクアレイを構成しているディスクを検索する(ステップS209)。すなわちディスク管理テーブル121を参照して、モード123が「Free」となっているディスク(Freeディスク)を検索する。本実施形態ではこのFreeディスクはディスク145となる。なお、ディスクインタフェース106にFreeディスクが1台のみである場合には、本ステップでは検索は行わずに、このディスクを特定する処理を行う。
【0039】
そしてモード123が「Free」であるディスク(ディスク145)が存在する場合、更にFreeディスクをスペアディスクとして利用可能であるか否かを判断する(ステップS210)。Freeディスクをスペアディスクとして利用可能であるという条件としては、Freeディスクが使用されていない(データを格納していない)ことが条件となる。他にも例えばオペレーティングシステムがWindows(登録商標)XPであった場合、
・ ハードディスクが全くフォーマットされていない。
【0040】
・ 「FAT」または「NTFS」フォーマットで、フォルダやファイルが存在しない。
の場合にFreeディスクが使用されていないと判断する。
【0041】
逆にFreeディスクが使用されているという判断には、
・ 「FAT」または「NTFS」フォーマットで、フォルダやファイルが存在する。
【0042】
・ 「FAT」または「NTFS」フォーマット以外のフォーマットである。ことが挙げられる。
【0043】
そしてFreeディスクが使用可能であるとステップS210で判断された場合、処理をステップS211に進め、ディスク管理テーブル121におけるFreeディスクのHDD状態を「なし」に変更する(ステップS211)。HDD状態が「なし」とは、CPU103からは接続されていないディスク(アクセス不可能なディスク)と判断される状態を示す。これはステップS211でHDD状態を「なし」に変更しないと、ステップS210で使用されていないディスクを見つけても、このディスクをスペアディスクとして用いる前にこのディスクが使用されてしまうかもしれないからである。よって、ステップS211により、使用されていないディスクを確保することができると共に、ホストコンピュータに対して、ホストコンピュータの動作に影響を与えることなくFreeディスク(すなわちARY2を構成しているディスク145)が存在しないようにすることができる。ステップS211で行われる上記処理の結果のディスク管理テーブル121を図3(c)に示す。
【0044】
次に、FreeディスクをARY1のスペアディスクとしてディスク管理テーブル121を変更する(ステップS212)。このときのディスク管理テーブル121を図3(d)に示す。以上のステップの処理により、常に使用されることのないスペアディスクを予め設定しなくても、必要に応じてスペアディスクを用意することができるので、ディスク全体の使用効率を上記従来よりも向上させることができる。
【0045】
そして処理をステップS205に進め、ステップS205では「RAIDを構成しているディスクに障害が発生したので、使用していなかったFreeディスクをスペアディスクに割り当て障害の回復を開始する」旨を示す信号をホストコンピュータに対して送信(通知)する。
【0046】
そしてステップS206では、データの修復を行う。本実施形態ではモードはRAID5であるので、周知の通り、HD3のディスクと同じディスクアレイ(ARY1)内でHD3のディスク以外のディスクには、HD3のディスクが格納するデータを修復するための冗長データが格納されている。本実施形態ではHD3のディスクであるディスク144に格納されたデータを修復するための冗長データはディスク142,143に格納されているので、これらのディスク142,143に格納された冗長データをからディスク144が格納していたデータを修復することができる。
【0047】
具体的にはFreeディスクのモードをディスク142,143と同様の「RAID5」に変更すると共に、HD3のディスクのモードを「Error」に変更する。このようにすることで、RAID5を構成していたHD3のディスクの変わりにFreeディスクを用いることができる。そしてこのFreeディスクをARY1のスペアディスクとして用い、Freeディスクにディスク142,143に格納された冗長データをコピーし、従来の方法と同様にディスク144の格納するデータを修復する。修復開始と共にCPU103は、ディスク管理テーブル121においてFreeディスクのHDD状態を「修復中」と変更する。ステップS206によって変更されたディスク管理テーブル121を図3(e)に示す。
【0048】
そしてデータの修復が完了すると、CPU103は更にディスク管理テーブル121においてFreeディスクのHDD状態を「有」と変更する(ステップS207)。ステップS206により変更されたディスク管理テーブル121を図3(f)に示す。以上の処理の結果、ARY1を構成するディスクはディスク142,143,145となり、ディスク145はスペアディスクとして用いられると共に、障害が発生したディスク144の変わりとして用いられることになる。そして修復が完了したことをホストコンピュータに対して通知し(ステップS208)、障害からの回復処理を終了する。
【0049】
以上の説明により、本実施形態に係るディスクアレイ装置によって、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【0050】
なお、本実施形態では障害のレベルとしてディスクが使用不可能なレベルとしたが、例えばデータのみが破損してディスクは使用可能である場合、上記処理により修復したデータをデータが破損したディスクに戻す処理を行う。
【0051】
[第2の実施形態]
上記第1の実施形態では、Freeディスクが使用されていない場合にのみこのFreeディスクを使用していたが、本実施形態ではFreeディスクが使用されている場合についても同様の処理を行うディスクアレイ装置について説明する。しか資本実施形態におけるディスクの障害のレベルは、格納するデータが破損してはいるが、ディスクそのものは機能するレベルを指すものとする。なお本実施形態係るディスクアレイ装置の基本構成は図1と同じものとする。
【0052】
ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本実施形態に係るディスクアレイ装置が行う処理について、図4に示す同処理のフローチャートを参照して説明する。
【0053】
ステップS401〜ステップS409までの各ステップの処理は、上記ステップS201〜ステップS209までの各ステップの処理と同じであるため、その詳細な説明は省略する。
【0054】
RAIDを構成するディスクに障害が発生し(ステップS401)、装置にFreeディスクが存在する場合(ステップS409)、障害が発生したRAIDディスクの空き容量と、Freeディスクの使用容量とを比較し(ステップS410)、RAIDディスクの空き容量の方が大きければ、Freeディスクを書き込み禁止とした後、Freeディスクの内容(即ち、使用しているデータ)をRAIDディスクにコピーし、コピー後、Freeディスクが保持する全てのデータを消去する(ステップS411)。このようにすることで、Freeディスクを第1の実施形態におけるFreeディスクと同様に、「使用されていないディスク」とすることができる。そしてステップS412,S413ではステップS211,S212と同様に、Freeディスクの状態を「なし」に設定し(ステップS412)、FreeディスクをARY1のスペアディスクとしてディスク管理テーブル121を変更する(ステップS413)。
【0055】
以降の処理は第1の実施形態と同じであるが最後に、ステップS411でRAIDディスクにコピーされたデータをFreeディスクに戻す処理を行う。
【0056】
以上の説明により、本実施形態に係るディスクアレイ装置によって、Freeディスクが使用されている場合でも、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【0057】
[他の実施形態]
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【0058】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0059】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0060】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0061】
【発明の効果】
以上説明したように、本発明によって、接続されたディスクの使用効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。
【図2】ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本発明の第1の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図3】図3に示したフローチャートに従った処理の進行に伴って書き換えられるディスク管理テーブル121の状態遷移を示す図である。
【図4】ディスクアレイコントローラ101に接続されたRAID5を構成するディスク(ディスク142,143,144)の中の一つに障害が発生した場合に、本発明の第2の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図5】従来のディスクアレイ装置の基本構成を示すブロック図である。
【図6】図5に示したディスクアレイ装置が行う回復処理のフローチャートである。
Claims (14)
- 複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知手段と、
当該検知手段が注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復手段とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とするディスクアレイ装置。 - 更に、前記複数のディスクを管理するための管理テーブルを格納する格納手段を備え、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする請求項1に記載のディスクアレイ装置。 - 前記検知手段は、前記管理テーブルにおいて前記夫々のディスクの状態を示す情報を参照することで、夫々のディスクの障害の有無を検知することを特徴とする請求項2に記載のディスクアレイ装置。
- 更に前記1つのディスクにより構成されるディスクアレイを検索する検索手段と、
当該検索手段により検索したディスクアレイを構成する1つのディスクが使用可能であるか否かを判断する判断手段と
を備えることを特徴とする請求項2に記載のディスクアレイ装置。 - 前記判断手段は、前記検索手段により検索した1つのディスクが使用されているか否かを判断し、使用されていない場合、当該1つのディスクが使用可能であると判断することを特徴とする請求項4に記載のディスクアレイ装置。
- 前記判断手段は、前記検索手段により検索した1つのディスクの使用容量と、前記注目ディスクの空き容量とを比較し、前記注目ディスクの空き容量の方が大きい場合、前記1つのディスクが保持するデータを前記注目ディスクにコピーし、コピー後、前記1つのディスクが保持する全てのデータを消去することを特徴とする請求項4に記載のディスクアレイ装置。
- 更に前記管理テーブルにおいて、前記判断手段により使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更手段を備えることを特徴とする請求項1乃至6のいずれか1項に記載のディスクアレイ装置。
- 複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び1つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置の制御方法であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知工程と、
当該検知工程で注目ディスクの障害を検知した場合、前記1つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復工程とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記1台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とするディスクアレイ装置の制御方法。 - 更に、前記複数のディスクを管理するための管理テーブルをメモリに格納しておき、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする請求項8に記載のディスクアレイ装置の制御方法。 - 更に前記1つのディスクにより構成されるディスクアレイを検索する検索工程と、
当該検索工程で検索したディスクアレイを構成する1つのディスクが使用可能であるか否かを判断する判断工程と
を備えることを特徴とする請求項9に記載のディスクアレイ装置の制御方法。 - 更に前記管理テーブルにおいて、前記判断工程で使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更工程を備えることを特徴とする請求項8乃至10のいずれか1項に記載のディスクアレイ装置の制御方法。
- コンピュータを請求項1乃至7のいずれか1項に記載のディスクアレイ装置として機能させることを特徴とするプログラム。
- コンピュータに請求項8乃至11のいずれか1項に記載のディスクアレイ装置の制御方法を実行させるためのプログラム。
- 請求項12または13に記載のプログラムを格納する記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002171663A JP2004021318A (ja) | 2002-06-12 | 2002-06-12 | ディスクアレイ装置、及びその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002171663A JP2004021318A (ja) | 2002-06-12 | 2002-06-12 | ディスクアレイ装置、及びその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021318A true JP2004021318A (ja) | 2004-01-22 |
Family
ID=31171458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002171663A Withdrawn JP2004021318A (ja) | 2002-06-12 | 2002-06-12 | ディスクアレイ装置、及びその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004021318A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244501A (ja) * | 2005-03-02 | 2006-09-14 | Internatl Business Mach Corp <Ibm> | カスケード・コピー・ターゲティング機能及び高められた完全性をもつストレージ・システム |
US7500136B2 (en) | 2006-06-05 | 2009-03-03 | International Business Machines Corporation | Replacing member disks of disk arrays with spare disks |
JP2015187824A (ja) * | 2014-03-27 | 2015-10-29 | 日本電気株式会社 | ディスク制御システムおよびディスク制御方法 |
-
2002
- 2002-06-12 JP JP2002171663A patent/JP2004021318A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244501A (ja) * | 2005-03-02 | 2006-09-14 | Internatl Business Mach Corp <Ibm> | カスケード・コピー・ターゲティング機能及び高められた完全性をもつストレージ・システム |
US7500136B2 (en) | 2006-06-05 | 2009-03-03 | International Business Machines Corporation | Replacing member disks of disk arrays with spare disks |
JP2015187824A (ja) * | 2014-03-27 | 2015-10-29 | 日本電気株式会社 | ディスク制御システムおよびディスク制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5089958A (en) | Fault tolerant computer backup system | |
US7107486B2 (en) | Restore method for backup | |
JP4371771B2 (ja) | 不揮発性メモリシステムにおいて用いられる電力管理ブロック | |
JP3682256B2 (ja) | ディスクアレイ装置及び同装置におけるパリティ処理方法 | |
JP4267353B2 (ja) | データ移行支援システム、および、データ移行支援方法 | |
US20050114728A1 (en) | Disk array system and a method of avoiding failure of the disk array system | |
US20050229033A1 (en) | Disk array controller and information processing apparatus | |
JP6064608B2 (ja) | ストレージ装置、バックアッププログラム、およびバックアップ方法 | |
KR20050015972A (ko) | 컴퓨터 시스템의 부팅 제어 장치 및 방법 | |
US20120198287A1 (en) | File system error detection and recovery framework | |
US20140075240A1 (en) | Storage apparatus, computer product, and storage control method | |
US20060077726A1 (en) | Data transfer method, storage apparatus and computer-readable storage medium | |
US20140379983A1 (en) | Storage system, control apparatus, and control method | |
JP4633886B2 (ja) | ディスクアレイ装置 | |
US20100313069A1 (en) | Computer system and failure recovery method | |
US20040236907A1 (en) | Method and apparatus for managing computer storage devices for improved operational availability | |
US6363457B1 (en) | Method and system for non-disruptive addition and deletion of logical devices | |
JP4905510B2 (ja) | ストレージ制御装置及びストレージ装置のデータ回復方法 | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
JPH08249218A (ja) | ファイル制御装置及びデータ書き込み方法 | |
KR100853941B1 (ko) | 멀티미디어 저장장치와 데이터 복구방법 | |
JP2006079219A (ja) | ディスクアレイ制御装置およびディスクアレイ制御方法 | |
JP4667225B2 (ja) | 制御装置およびコピー制御方法 | |
JP2004021318A (ja) | ディスクアレイ装置、及びその制御方法 | |
KR20110039416A (ko) | 인터럽트된 기록 복구를 위한 데이터 저장 방법, 장치 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |