(57)【特許請求の範囲】
【請求項１】
それぞれ複数のパーティションを含む複数の記憶デバイス、及び、前記複数の記憶デバイスのいずれかが故障した際に代替として用いられる予備の記憶デバイスと接続され、
前記複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築手段と、
新たな記憶デバイスが追加された場合に、当該新たに追加された記憶デバイスと、前記予備の記憶デバイスのうち、記憶容量が小さい方のデバイスを追加デバイスとして、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素としてＲＡＩＤ論理ディスクを再構築し、その全体の記憶容量を増加させる再構築手段と、
を含むディスク制御装置であって、
前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さい記憶デバイスであってよく、
前記再構築手段は、前記予備の記憶デバイスを前記追加デバイスとして前記再構築に使用する場合、前記新たに追加された記憶デバイスを新たな予備の記憶デバイスに設定する
ことを特徴とするディスク制御装置。
【請求項２】
請求項１に記載のディスク制御装置において、
前記構築手段は、前記複数の記憶デバイスのそれぞれを、予め定められた単位容量のパーティションに分割し、
前記追加デバイスは、記憶容量が前記単位容量より大きい
ことを特徴とするディスク制御装置。
【請求項３】
請求項１又は２に記載のディスク制御装置において、
前記構築手段は、前記複数の記憶デバイスのそれぞれから、当該記憶デバイスの性能に関する情報を取得し、当該取得した性能に関する情報を用いて、ＲＡＩＤ論理ディスクの構成要素の候補となるパーティションを含む記憶デバイスを選択する
ことを特徴とするディスク制御装置。
【請求項４】
請求項１から３のいずれかに記載のディスク制御装置において、
前記構築手段は、前記複数の記憶デバイスのそれぞれについて、当該記憶デバイス内において複数のパーティションそれぞれが占める物理的な媒体上の位置の情報を用いて、ＲＡＩＤ論理ディスクを構成するパーティションを選択する
ことを特徴とするディスク制御装置。
【請求項５】
請求項１から４のいずれかに記載のディスク制御装置において、
前記ＲＡＩＤ論理ディスクの構築に先立って、ＲＡＩＤ論理ディスクを構築した場合にユーザーが使用可能な記憶容量の情報を、故障が許容される記憶デバイスの数ごとに並べてユーザーに提示する手段をさらに含む
ことを特徴とするディスク制御装置。
【請求項６】
構築手段が、それぞれ複数のパーティションを含む複数の記憶デバイスに対して、当該複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築ステップと、
再構築手段が、新たな記憶デバイスが追加された場合に、当該新たに追加された記憶デバイスと、前記複数の記憶デバイスのいずれかが故障した際に代替として用いるために用意された予備の記憶デバイスのうち、記憶容量が小さい方のデバイスを追加デバイスとして、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素として新たにＲＡＩＤ論理ディスクを再構築し、その全体の記憶容量を増加させる再構築ステップと、
を含み、
前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さい記憶デバイスであってよく、
前記再構築ステップにおいて、前記予備の記憶デバイスを前記追加デバイスとして前記再構築に使用する場合、前記新たに追加された記憶デバイスを新たな予備の記憶デバイスに設定する
ことを特徴とするディスク制御方法。
【請求項７】
それぞれ複数のパーティションを含む複数の記憶デバイス、及び、前記複数の記憶デバイスのいずれかが故障した際に代替として用いられる予備の記憶デバイスと接続されるコンピュータを、
前記複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築手段、及び、
新たな記憶デバイスが追加された場合に、当該新たに追加された記憶デバイスと、前記予備の記憶デバイスのうち、記憶容量が小さい方のデバイスを追加デバイスとして、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素として新たにＲＡＩＤ論理ディスクを再構築し、その全体の記憶容量を増加させる再構築手段、
として機能させるためのプログラムであって、
前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さい記憶デバイスであってよく、
前記再構築手段は、前記予備の記憶デバイスを前記追加デバイスとして前記再構築に使用する場合、前記新たに追加された記憶デバイスを新たな予備の記憶デバイスに設定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）技術により、複数の記憶デバイスを用いて論理ディスク（ＲＡＩＤ論理ディスク）を構築するディスク制御装置、ディスク制御方法、及びプログラムに関する。
【背景技術】
【０００２】
複数の記憶デバイスを用いて論理ディスクを構築するＲＡＩＤ技術が知られている。また、ＲＡＩＤにより既に論理ディスクを構築済みの記憶デバイス群に対して、後から新規の記憶デバイスを追加することで、追加された記憶デバイスを含めて新たな論理ディスクを再構築する技術もある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００４／０７３７４７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のＲＡＩＤ技術では、最初に論理ディスクを構築する際に、複数の記憶デバイスのうち、最小容量の記憶デバイスを基準として論理ディスクの記憶容量が決定される。そのため、新規に記憶デバイスを追加する場合、既存の記憶デバイス群のうちの最小容量の記憶デバイスよりも小さな容量の記憶デバイスを追加することが制限されていた。
【０００５】
本発明は上記実情に鑑みて為されたもので、新たな記憶デバイスを追加して論理ディスクの再構築を行う場合に、多様な記憶デバイスの追加を可能とするディスク制御装置、ディスク制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るディスク制御装置は、それぞれ複数のパーティションを含む複数の記憶デバイスと接続され、前記複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築手段と、新たな記憶デバイスが追加デバイスとして追加された場合に、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素としてＲＡＩＤ論理ディスクを再構築する再構築手段と、を含むディスク制御装置であって、前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さいことを特徴する。
【０００７】
また、前記ディスク制御装置において、前記構築手段は、前記複数の記憶デバイスのそれぞれを、予め定められた単位容量のパーティションに分割し、前記追加デバイスは、記憶容量が前記単位容量より大きいこととしてもよい。
【０００８】
また、前記ディスク制御装置において、前記構築手段は、前記複数の記憶デバイスのそれぞれから、当該記憶デバイスの性能に関する情報を取得し、当該取得した性能に関する情報を用いて、ＲＡＩＤ論理ディスクの構成要素の候補となるパーティションを含む記憶デバイスを選択することとしてもよい。
【０００９】
また、前記ディスク制御装置において、前記構築手段は、前記複数の記憶デバイスのそれぞれについて、当該記憶デバイス内において複数のパーティションそれぞれが占める位置の情報を用いて、ＲＡＩＤ論理ディスクを構成するパーティションを選択することとしてもよい。
【００１０】
また、前記ディスク制御装置は、前記ＲＡＩＤ論理ディスクの構築に先立って、ＲＡＩＤ論理ディスクを構築した場合にユーザーが使用可能な記憶容量の情報を、故障が許容される記憶デバイスの数ごとに並べてユーザーに提示する手段をさらに含むこととしてもよい。
【００１１】
また、本発明の一態様に係るディスク制御方法は、それぞれ複数のパーティションを含む複数の記憶デバイスに対して、当該複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築ステップと、新たな記憶デバイスが追加デバイスとして追加された場合に、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素として新たにＲＡＩＤ論理ディスクを再構築する再構築ステップと、を含み、前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さいことを特徴とする。
【００１２】
また、本発明の一態様に係るプログラムは、それぞれ複数のパーティションを含む複数の記憶デバイスと接続されるコンピュータを、前記複数の記憶デバイスに含まれる複数のパーティションのうちの一部のパーティションを構成要素として、ＲＡＩＤに基づく仮想的なＲＡＩＤ論理ディスクを少なくとも一つ構築する構築手段、及び、新たな記憶デバイスが追加デバイスとして追加された場合に、当該追加デバイスに含まれる少なくとも一つのパーティションと、前記複数の記憶デバイスに含まれる複数のパーティションのうち、前記ＲＡＩＤ論理ディスクを構成する複数のパーティション、又は前記ＲＡＩＤ論理ディスクを構成しないパーティションと、を構成要素として新たにＲＡＩＤ論理ディスクを再構築する再構築手段、として機能させるためのプログラムであって、前記追加デバイスは、前記複数の記憶デバイスのうち記憶容量が最も小さな記憶デバイスよりも記憶容量が小さいことを特徴とする。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に格納されてよい。
【発明の効果】
【００１３】
本発明によると、新たな記憶デバイスを追加して論理ディスクの再構築を行う場合に、従来は制限されていた記憶容量の記憶デバイスを追加することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るディスク制御装置を含むディスクシステムの全体概要図である。
【図２】本発明の実施の形態に係るディスク制御装置の機能ブロック図である。
【図３】論理ディスクの構成の一例を示す図である。
【図４】図３に示す構成に対して追加ハードディスクが追加された場合の論理ディスクの構成の一例を示す図である。
【図５】論理ディスクの構築に使用されるハードディスクの選択を受け付けるための画面の一例を示す図である。
【図６】故障許容数の選択を受け付けるための画面の一例を示す図である。
【図７】変形例における論理ディスクの構成の一例を示す図である。
【図８】図７に示す構成に対して追加ハードディスクが追加された場合の論理ディスクの構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
本発明の一実施形態に係るディスク制御装置１は、複数の記憶デバイスを制御して、ＲＡＩＤ技術に基づく論理ディスク（ＲＡＩＤ論理ディスク）を構築する。ＲＡＩＤ論理ディスクは、コンピュータによる読み取りや書き込みの対象となるデータを格納する仮想的な情報記憶媒体であって、複数の記憶デバイスによって構築される。以下では、本実施形態に係るディスク制御装置１が構築するＲＡＩＤ論理ディスクを単に論理ディスクと表記する。
【００１６】
本実施形態に係るディスク制御装置１は、データの冗長性を確保するために、原則として１つの論理ディスクを複数の記憶デバイスにまたがって構築する。より具体的に、ディスク制御装置１は、ＲＡＩＤ１、ＲＡＩＤ５、及びＲＡＩＤ６のいずれかのＲＡＩＤレベルで論理ディスクを構築するものとする。ＲＡＩＤ１では、２台の記憶デバイスを構成要素として論理ディスクが構築され、２台の記憶デバイスのそれぞれに同一のデータが書き込まれる（ミラーリング）。これにより、一方の記憶デバイスに故障が発生した場合にも、他方の記憶デバイスに記録されたデータを用いて処理を続行することができる。
【００１７】
ＲＡＩＤ５では、３台以上の記憶デバイスを構成要素として論理ディスクが構築される。そして、書き込み対象のデータはブロックに分割されて、ブロック単位で３台以上の記憶デバイスに分散記録される。さらに、各ブロックのデータを記録する際には、そのデータに基づいてパリティが生成され、ＲＡＩＤ５を構成する記憶デバイスのうちの１台にはパリティが、残りの記憶デバイスにはブロック内のデータが分散記録される。これにより、ＲＡＩＤ５を構成する記憶デバイスのうちの１台が故障しても、残った記憶デバイスに記録されているデータやパリティを用いて元のデータを復元することができる。
【００１８】
ＲＡＩＤ６では、４台以上の記憶デバイスを構成要素として論理ディスクが構築される。ＲＡＩＤ６の場合、書き込まれるデータに対してブロック単位で２種のパリティが生成され、ＲＡＩＤ６を構成する記憶デバイスのうちの２台の記憶デバイスにパリティが記録され、その他の記憶デバイスに元のデータが分散記録される。このためＲＡＩＤ６の方式によれば、ＲＡＩＤ１及びＲＡＩＤ５の場合と異なり、２台の記憶デバイスに故障が発生した場合でも、残った記憶デバイスに記録されているデータやパリティから元のデータを復元することができる。
【００１９】
図１は、本実施形態に係るディスク制御装置１を含むディスクシステムの全体概要図である。本ディスクシステムは、ディスク制御装置１と、当該ディスク制御装置１に接続される複数のハードディスク２と、ディスク制御装置１を介してハードディスク２に対してアクセスするクライアント装置３と、を含んで構成されている。このディスクシステムにより、クライアント装置３のユーザーは、ディスク制御装置１が構築した論理ディスクに対するデータの読み書きを行うことができる。
【００２０】
ディスク制御装置１は、図１に示すように、制御部１１と、メモリ１２と、Ｉ／Ｏ部１３と、通信部１４と、を含んで構成される。本実施形態では、ディスク制御装置１は、物理的な記憶デバイスである複数のハードディスク２と接続されており、これらのハードディスク２を用いて論理ディスクを構築するものとする。さらにディスク制御装置１は、ＮＡＳ（Network Attached Storage）等であって、ＬＡＮ等の通信ネットワークを介してクライアント装置３と接続されているものとする。クライアント装置３は、パーソナルコンピュータやスマートフォン等、ＬＡＮを介してディスク制御装置１にアクセス可能な各種の情報処理装置であってよい。本実施形態では、クライアント装置３が、ディスク制御装置１によって構築された論理ディスクに対してデータの書き込みやデータの読み出しを行う。
【００２１】
制御部１１は、ＣＰＵ等であって、メモリ１２に記憶されるプログラムに従って各種の情報処理を行う。メモリ１２は、ＲＡＭや不揮発性メモリ等であって、制御部１１が実行するプログラムを格納する。
【００２２】
Ｉ／Ｏ部１３は、ハードディスク２に対してアクセスするためのインタフェースであって、ＳＣＳＩ、ＩＤＥ、ＳＡＴＡなど各種の規格に対応したものであってよい。ディスク制御装置１は、その筐体内部にハードディスク２を格納できるように構成されてもよいし、筐体外部のハードディスク２とデータ通信可能に接続されてもよい。いずれの場合にも、ディスク制御装置１はＩ／Ｏ部１３を介して各ハードディスク２に対するデータの書き込みや読み出しを行う。
【００２３】
通信部１４は、外部のコンピュータとのデータ通信のためのインタフェースであって、ディスク制御装置１がＮＡＳの場合にはＬＡＮカード等であってよい。ディスク制御装置１は、通信部１４を介してクライアント装置３から論理ディスクへのアクセス要求を受け付ける。
【００２４】
以下、ディスク制御装置１が実現する機能について、説明する。ディスク制御装置１は、機能的に、図２に示すように、論理ディスク構築部２１と、再構築部２２と、ディスクアクセス部２３と、論理ディスク制御部２４と、ユーザーインタフェース部２５と、を含んで構成されている。これらの機能は、制御部１１がメモリ１２に格納されたプログラムを実行することにより実現される。このプログラムは、ディスク制御装置１の工場出荷時からメモリ１２に記憶されるものであってもよいし、インターネット等の通信回線を介してディスク制御装置１に提供されてもよい。また、光ディスク等のコンピュータ読み取り可能な情報記憶媒体に格納されてディスク制御装置１に提供されてもよい。
【００２５】
論理ディスク構築部２１は、ディスク制御装置１の使用が開始される際などのタイミングで、まだ論理ディスクの構築が行われていない状態の複数のハードディスク２を対象として、初回の論理ディスク構築を行う。このとき論理ディスク構築部２１は、各ハードディスク２の記憶領域を複数のパーティションに分割し、このパーティションを単位として複数の論理ディスクを構築する。すなわち、各論理ディスクは、複数のハードディスク２全体に含まれる複数のパーティションのうち、一部のパーティションを構成要素として構築されることになる。
【００２６】
さらに本実施形態では、論理ディスク構築部２１は、各ハードディスク２を予め定められた単位容量のパーティションに分割するものとする。これにより、各パーティションの記憶容量は、全て単位容量に一致することになる。
【００２７】
具体例として、ディスク制御装置１に記憶容量１．５ＴＢのハードディスク２Ａ、記憶容量２ＴＢのハードディスク２Ｂ、及び記憶容量３ＴＢのハードディスク２Ｃの３台のハードディスク２が接続されており、単位容量は１ＴＢに設定されている場合について、図３を用いて説明する。この場合、論理ディスク構築部２１は、ハードディスク２Ａ内にパーティションＡ１を、ハードディスク２Ｂ内にパーティションＢ１、及びパーティションＢ２の２つのパーティションを、ハードディスク２Ｃ内にパーティションＣ１、パーティションＣ２、及びパーティションＣ３の３つのパーティションを、それぞれ確保する。これら６つのパーティションは、いずれも１ＴＢの記憶容量を持つ。なお、図中斜線部で示されるように、この例ではハードディスク２Ａ内に０．５ＴＢ分の記憶容量が余ることになるが、この記憶容量は１ＴＢに満たず、単位容量分のパーティションを確保することができない。そのため、この０．５ＴＢはデータの書き込めない空き領域となり、ＲＡＩＤ機能の管理対象外とされる。
【００２８】
この例において論理ディスク構築部２１は、パーティションＡ１、パーティションＢ１、及びパーティションＣ１を構成要素としてＲＡＩＤ５の論理ディスクＬ１を構築する。また、パーティションＢ２、及びパーティションＣ２を構成要素としてＲＡＩＤ１の論理ディスクＬ２を構築する。
【００２９】
ここで、パーティションＣ３は余剰パーティションとなり、論理ディスクの構築には用いられないことになる。ただし、パーティションＣ３は、後に新たなハードディスク２がディスク制御装置１に接続された場合に、この新たなハードディスク２とともに論理ディスクを構成する可能性がある。そこで論理ディスク構築部２１は、このパーティションＣ３を、将来的にＲＡＩＤ１の論理ディスクを構築するために用いられる拡張用の予約領域として設定し、論理ディスク構築に使用される他のパーティションとともに管理することとする。これにより、ディスク制御装置１の外部からパーティションＣ３への直接のアクセスを制限し、冗長性が確保されていないパーティションにデータが記憶されないようにすることができる。以下では、このＲＡＩＤ１構築のための予約領域の状態を「Ｒ１−」と表記する。なお、ディスク制御装置１に１台のハードディスク２しか接続されていない場合、このハードディスク２内の全パーティションをアクセスが制限される予約領域に設定してしまうと、新たなハードディスク２が追加されて冗長性を確保できるようになるまでデータの書き込みが一切できなくなってしまう。そこで論理ディスク構築部２１は、ディスク制御装置１にまだ１台のハードディスク２しか接続されていない場合には、例外的にＲ１−のパーティションをデータ書き込み可能な論理ディスクとして設定してもよい。
【００３０】
また、本実施形態では、論理ディスク構築部２１が論理ディスクを構築する前に、故障しても記録データの復元が可能なハードディスク２の台数（以下、故障許容数という）が予め定められるものとする。故障許容数のパラメーターは、ユーザーからの指示などに基づいて、１及び２のいずれかに設定される。故障許容数が１に設定された場合、１台までの故障に耐えるようにデータを冗長化すればよいので、論理ディスク構築部２１はＲＡＩＤ１又はＲＡＩＤ５の論理ディスクを構築する。このとき、論理ディスクの構築に用いられない余剰パーティションはＲ１−として管理される。なお、前述した図３の例は、この故障許容数が１の場合の構成例を示している。一方、故障許容数が２の場合、論理ディスク構築部２１は構築する論理ディスクのＲＡＩＤレベルをＲＡＩＤ６にする必要がある。このため、ハードディスク２の数が４台に満たない間は論理ディスクを構築することはできず、３台以下のハードディスク２内のパーティションは全てＲＡＩＤ６構築のための予約領域として管理されることになる。
【００３１】
なお、論理ディスク構築部２１は、ディスク制御装置１に接続されたハードディスク２の全てを論理ディスクの構築に用いるとは限らない。例えば、ユーザーの指示等に応じて、いずれかのハードディスク２をスペアディスクに設定してもよい。ここでスペアディスクは、ディスク制御装置１に接続される複数のハードディスク２のうち、論理ディスク構築部２１による論理ディスク構築の際には使用されず、論理ディスクを構成するハードディスク２に故障が発生した場合にその代替として用いられる予備の記憶デバイスである。また、論理ディスク構築部２１は、ディスク制御装置１に接続されたハードディスク２の一部を、論理ディスクの構成要素としてもスペアディスクとしても使用せずに管理対象外としてもよい。管理対象外とされたハードディスク２は、単独でクライアント装置３からアクセスされることになる。この場合、論理ディスク構築部２１は、所与の基準にしたがって論理ディスク構築に用いるハードディスク２の候補を選択してもよい。このような候補の選択基準の具体例については、後述する。
【００３２】
再構築部２２は、接続済みのハードディスク２を用いて論理ディスク構築部２１が論理ディスクを構築した後に、新たなハードディスクがディスク制御装置１に接続された場合に、この新たなハードディスクを受け付けて論理ディスクの再構築を行う。以下では、論理ディスク構築部２１による論理ディスクの構築後に新たに接続されるハードディスクを、追加ハードディスク２ｎと表記する。再構築部２２は、既存のハードディスク２、及び追加ハードディスク２ｎを構成要素として、これらのハードディスクにまたがった論理ディスクを再構築する。
【００３３】
本実施形態において、再構築部２２が再構築に使用することのできる追加ハードディスク２ｎの記憶容量Ｃｎは、既存の各ハードディスク２の記憶容量のうちの最小容量Ｃminよりも小さな容量であってよい。ただし、記憶容量Ｃｎは、少なくとも既存のハードディスク２内に確保された各パーティションの記憶容量のうちの最小容量よりは大きな容量である必要がある。特に本実施形態では全てのパーティションが単位容量に一致するように確保されているので、追加ハードディスク２ｎの記憶容量Ｃｎはこの単位容量以上でなければならない。再構築部２２は、追加ハードディスク２ｎが新たに接続された場合、その記憶容量を参照して、当該追加ハードディスク２ｎを再構築に使用可能か否かを判定する。そして、使用可能と判定した場合には追加ハードディスク２ｎを再構築対象として受け付けて、以下に詳述するような再構築処理を実行する。一方、使用不可と判定した場合には、当該追加ハードディスク２ｎを使用した再構築処理を中止するか、あるいは、新たな単位容量の値を設定するための画面をユーザーに提示し、または新たな単位容量の値の指定をユーザーから受け付けてもよい。
【００３４】
具体例として、前述の図３に示す構成に追加ハードディスク２ｎを追加する場合、その記憶容量Ｃｎは３台のハードディスク２のうちの最小容量Ｃminである１．５ＴＢより小さくてもよいが、単位容量１ＴＢ以上である必要がある。単位容量１ＴＢ以上であれば、追加ハードディスク２ｎ内に単位容量１ＴＢのパーティションを確保し、そのパーティションと、既に構築済みの複数の論理ディスクのいずれかを構成するパーティション、又は論理ディスクを構成しないパーティションと、を構成要素として論理ディスクを再構築することができる。
【００３５】
ここで、再構築部２２が再構築を行う際における論理ディスクの再構築ルールについて説明する。
【００３６】
まず、故障許容数が１の場合の再構築ルールについて説明する。既存のハードディスク２内にＲ１−のパーティション（すなわち、論理ディスクを構成しないパーティション）が存在する場合、再構築部２２は、追加ハードディスク２ｎ内に新たに確保したパーティションの少なくとも一つを、優先的にこのＲ１−のパーティションと組み合わせて、ＲＡＩＤ１の論理ディスクを新規に構築する。これにより、それまでデータ書き込みに使用できていなかったパーティションを論理ディスクとして利用できるようになる。
【００３７】
また、既存のハードディスク２内にＲ１−のパーティションが存在せず、ＲＡＩＤ１の論理ディスクが構築されている場合、再構築部２２は、ＲＡＩＤ１の論理ディスクを構成する２つのパーティションに追加ハードディスク２ｎの新たなパーティションを加えて、論理ディスクを再構築する。このとき、論理ディスクの構成要素となるパーティションは３つになるので、再構築部２２はＲＡＩＤ１の論理ディスクをＲＡＩＤ５の論理ディスクに拡張することになる。
【００３８】
また、既存のハードディスク２内にＲ１−のパーティション、及びＲＡＩＤ１の論理ディスクのいずれも存在せず、論理ディスクがＲＡＩＤ５で構築されている場合、再構築部２２は、ＲＡＩＤ５の論理ディスクを構成する３以上のパーティションに追加ハードディスク２ｎのパーティションを加えて、ＲＡＩＤ５の論理ディスクを再構築する。このとき、再構築されたＲＡＩＤ５の論理ディスクは、再構築前のものよりパーティション数が１増え、その分記憶容量が増加することになる。なお、ＲＡＩＤ５の論理ディスクが複数存在している場合、再構築部２２は、追加ハードディスク２ｎのパーティションを追加して再構築の対象とする論理ディスクを、所与の基準に従って選択する。この所与の基準は、例えば、構成要素となるパーティション数が少ない論理ディスクを優先して選択する基準などであってよい。
【００３９】
図４は、以上説明した再構築ルールに従って再構築部２２が再構築を行った後の論理ディスクの構成例を示している。ここでは、図３の構成例で示すように論理ディスクが予め構築されており、そこに２．５ＴＢの追加ハードディスク２ｎが追加されたものとしている。追加ハードディスク２ｎ内には、それぞれ単位容量１ＴＢのパーティションＮ１及びＮ２が確保される。そして、パーティションＮ１がＲ１−のパーティションＣ３と組み合わされて、ＲＡＩＤ１の論理ディスクＬ３が新たに構築される。一方、パーティションＮ２は論理ディスクＬ２を構成していたパーティションＢ２及びＣ２と組み合わされて、これら３つのパーティションにより論理ディスクＬ２の再構築が行われる。これにより、論理ディスクＬ２のＲＡＩＤレベルはＲＡＩＤ１からＲＡＩＤ５に変更され、その記憶容量が拡張される。
【００４０】
次に、故障許容数が２の場合の論理ディスクの再構築ルールについて説明する。故障許容数が２の場合、論理ディスクは全てＲＡＩＤ６で構築される必要があるので、既存のハードディスク２内に含まれるパーティションは、ＲＡＩＤ６の論理ディスクを構成するパーティションか、論理ディスクに用いられていない予約領域のパーティションか、のいずれかである。この場合、再構築部２２は、３台のハードディスク２に分散された３つの予約領域が既に存在していれば、これらの予約領域に追加ハードディスク２ｎ内のパーティションを加えて、新規にＲＡＩＤ６の論理ディスクを構築する。一方、ＲＡＩＤ６の論理ディスクを新規に生成可能な予約領域が存在しない場合には、再構築部２２は、既存のＲＡＩＤ６論理ディスクを構成する４以上のパーティションに追加ハードディスク２ｎ内のパーティションを加えて、ＲＡＩＤ６の論理ディスクを再構築する。この場合も、ＲＡＩＤ５の論理ディスクを再構築する場合と同様に、構成要素となるパーティション数が少ない論理ディスクを優先するなどの基準で、再構築の対象となる論理ディスクを選択してもよい。
【００４１】
なお、ディスク制御装置１がＲＡＩＤ５やＲＡＩＤ６の論理ディスクを構築する場合には、その構成要素となるパーティションの数に上限が設けられることとしてもよい。故障許容数が１であって、パーティション数が上限に達したＲＡＩＤ５の論理ディスクだけが存在する状態で追加ハードディスク２ｎが追加された場合、再構築部２２は、追加ハードディスク２ｎ内のパーティションをＲ１−に設定する。また、故障許容数が２であって、パーティション数が上限に達したＲＡＩＤ６の論理ディスクだけが存在する状態で追加ハードディスク２ｎが追加された場合、再構築部２２は、追加ハードディスク２ｎ内のパーティションを将来ＲＡＩＤ６の論理ディスクを構築するための予約領域に設定する。
【００４２】
また、複数の追加ハードディスク２ｎが同時期にディスク制御装置１に追加接続された場合、例えば再構築部２２は、これらの追加ハードディスク２ｎが順に一つずつ追加されたと場合と同様の判定基準で、どのパーティションを組み合わせて論理ディスクを再構築するかを決定する。この場合において、追加された複数の追加ハードディスク２ｎのうち、どの追加ハードディスク２ｎが先に追加されたものとして判定を行うかは、各追加ハードディスク２ｎの記憶容量に応じて決定してもよい。具体的に、例えば再構築部２２は、記憶容量の小さな追加ハードディスク２ｎから先に追加されたものとして、再構築の順序を決定する。
【００４３】
ディスクアクセス部２３は、クライアント装置３からのアクセス要求に応じて、論理ディスクへのアクセスを行う。このときディスクアクセス部２３は、アクセス要求の対象となった論理ディスクが実際にどのハードディスク２によって構成されているかに応じて、アクセス対象のハードディスク２を特定し、アクセス要求の内容に応じたデータの書き込みや読み出しを行う。また、ハードディスク２にデータを書き込む際には、論理ディスクのＲＡＩＤレベルに応じて、同じデータを異なるハードディスク２に書き込んだり、ブロック単位で書き込みデータのパリティを生成し、複数のハードディスク２に分散記録したりする。これによりクライアント装置３は、実際の物理的なハードディスク２の構成を考慮する必要なく、論理ディスク構築部２１が構築した論理ディスクに対してデータを格納したり、論理ディスクに格納されているデータを読み出したりすることができる。
【００４４】
論理ディスク制御部２４は、論理ディスク構築部２１及び再構築部２２によって構築された論理ディスクの制御を行う。具体的に、論理ディスク制御部２４は、ディスク制御装置１に接続されたいずれかのハードディスク２になんらかの故障が発生した場合に、この故障が発生したハードディスク２（以下、故障ディスクという）を切り離して、残ったハードディスク２を用いて処理を続行するよう制御する。ここで故障ディスクは、ディスク制御装置１から正常にアクセスできなくなったハードディスク２であって、物理的に故障が発生したハードディスク２に限らず、ディスク制御装置１との接続が切断されたハードディスク２などを含んでもよい。
【００４５】
故障ディスクがある状態では冗長性が確保されないため、ユーザーは故障ディスクを正常なハードディスク２と交換する必要がある。以下、故障ディスクと交換されてディスク制御装置１に接続されるハードディスク２を交換ディスクという。通常、この交換ディスクは、故障ディスクの記憶容量以上の記憶容量を備えている必要がある。そうでないと、故障ディスクと同様のパーティションを交換ディスク内に確保し、故障ディスクに格納されていた全ての情報を交換ディスクに再格納することができないからである。なお、交換ディスクに格納すべき情報は、他のハードディスク２に記憶されているデータから再生成することができる。ここで、交換ディスクの記憶容量が故障ディスクの記憶容量より単位容量以上大きな場合、単位容量の大きさの新たなパーティションを交換ディスク内に確保することができる。この新規のパーティションは、追加ハードディスク２ｎが追加された場合と同様の再構築ルールで、既存の論理ディスクの再構築に用いられることとしてよい。
【００４６】
また、ディスク制御装置１にスペアディスクが接続されている場合、論理ディスク制御部２４は、そのスペアディスクを故障ディスクと交換して故障の復旧を行うこともできる。いずれのハードディスク２にも故障が発生せず正常動作している間は、スペアディスクは未使用となっているが、いずれかのハードディスク２が故障ディスクとなった場合、論理ディスク制御部２４は、その故障ディスクの代わりとしてスペアディスクの使用を開始する。そして、手動で交換ディスクが追加された場合と同様にして、故障ディスクに記憶されていた情報をスペアディスク内に格納する。
【００４７】
なお、どのハードディスク２に故障が発生した場合にもスペアディスクを故障ディスクの代替として機能させるために、スペアディスクは論理ディスク構築に使用される全てのハードディスク２のうちの最大容量Ｃmax以上の記憶容量を備えることが望ましい。また、複数のスペアディスクがディスク制御装置１に接続されている場合、既存のハードディスク２に故障が発生した際には、複数のスペアディスクのうち、最も記憶容量が小さいスペアディスクを優先して故障ディスクの交換に使用するものとする。これにより、スペアディスクの記憶容量が、既存のハードディスク２の最大容量Ｃmax以上であるという条件を維持することができる。
【００４８】
さらに、スペアディスクが接続されている状態で追加ハードディスク２ｎがさらに接続された場合、再構築部２２は、追加ハードディスク２ｎを使用して論理ディスクの再構築を行うのではなく、それまで接続されていたスペアディスクを使用して論理ディスクの再構築を行ってもよい。接続済みのスペアディスクよりも記憶容量の大きな追加ハードディスク２ｎが新たに接続された場合、この追加ハードディスク２ｎをそのまま使用して再構築を行ってしまうと、スペアディスクが論理ディスク構築に使用されている既存のハードディスク２の最大容量Ｃmaxより大きな記憶容量を持つという条件が満たされなくなってしまう。そのため、スペアディスクを追加ハードディスク２ｎの代わりに論理ディスクの再構築に使用し、追加ハードディスク２ｎは新たなスペアディスクに設定することで、スペアディスクが既存のハードディスク２の最大容量Ｃmax以上の記憶容量を備えている状態を保つことができる。
【００４９】
以上の説明では、交換ディスクやスペアディスクが故障ディスク以上の記憶容量を持つ必要があるものとしている。しかしながら本実施形態では、必ずしも交換ディスクやスペアディスクの記憶容量が故障ディスクの記憶容量以上でなくともよい。これは、各ハードディスク２が複数のパーティションに分割され、パーティション単位で論理ディスクが構築されるためである。そのため、例えば図３におけるハードディスク２Ａのように、どのパーティションにも属さない空き領域を含んだハードディスク２が故障した場合、その故障ディスク内の論理ディスク構築に用いられているパーティション以上の記憶容量を備える交換ディスクであれば、その故障ディスクと交換することができる。具体的に、図３の例の場合、単位容量１ＴＢ以上の記憶容量を備える交換ディスクであれば、たとえその記憶容量がハードディスク２Ａの記憶容量１．５ＴＢ未満であっても、ハードディスク２Ａに故障が発生した場合にその代替として機能する。また、仮に交換ディスクの記憶容量が故障ディスク内で論理ディスク構築に使用されている全パーティションの記憶容量より小さい場合であっても、その交換ディスクは故障ディスク内の一部のパーティションより大きな記憶容量を備えていれば、部分的に故障ディスクの代替として機能することができる。例えば図３の例においてハードディスク２Ｂに故障が発生した場合、単位容量１ＴＢ以上だが２ＴＢに満たない記憶容量の交換ディスクが接続されれば、故障ディスクの全パーティションを代替することはできないものの、一部のパーティション（例えばパーティションＢ１）の代替としてその交換ディスクを利用することができる。スペアディスクについても同様に、必ずしも接続済みのハードディスク２の最大容量Ｃmax以上の記憶容量を備えておらずとも、故障ディスクと交換してその一部又は全部の機能を代替することができる。
【００５０】
ユーザーインタフェース部２５は、論理ディスクの構築や制御を行う上で必要な指示をユーザーから受け付け、その指示内容を論理ディスク構築部２１、再構築部２２、及び論理ディスク制御部２４のそれぞれに対して出力する。また、ユーザーインタフェース部２５は、ユーザーからの指示を受け付けたり、構築される論理ディスクに関する各種の情報をユーザーに提供したりするための管理画面を、ユーザーが閲覧するディスプレイに表示させる制御を行う。
【００５１】
具体的に、例えばユーザーインタフェース部２５は、ウェブアプリケーションプログラムによって実現されてもよい。この場合、クライアント装置３を使用するユーザーは、クライアント装置３上でウェブブラウザプログラムを起動し、このウェブブラウザプログラムを介してディスク制御装置１にアクセスする。これにより、ユーザーインタフェース部２５が提供する情報を示す管理画面をクライアント装置３に接続されたディスプレイ上で閲覧することができる。あるいはユーザーは、クライアント装置３上でディスク制御装置１の管理用のプログラムを起動することによって、ディスク制御装置１にアクセスしてもよい。この場合にも、クライアント装置３に接続されたディスプレイには、ユーザーインタフェース部２５の制御に基づいて、ハードディスク２の状態や論理ディスクの構成などに関する情報が表示される。なお、ユーザーインタフェース部２５がユーザーに提示する画面のいくつかの具体例について、後に詳しく説明する。
【００５２】
ここで、論理ディスク構築部２１が論理ディスクの構築に用いるハードディスク２の候補を選択する場合の具体例について、説明する。前述したように、論理ディスク構築部２１は、必ずしもディスク制御装置１に接続された全てのハードディスク２を論理ディスクの構築に用いずともよい。そこで、論理ディスク構築部２１は、所与の基準に従って論理ディスク構築に使用する候補となるハードディスク２（すなわち、論理ディスクの構成要素の候補となるパーティションを含むハードディスク２。以下、候補ディスクという）を接続された全ハードディスク２の中から選択してもよい。この場合の選択基準については、以下に詳しく説明する。この選択された候補ディスクは、ユーザーインタフェース部２５によってユーザーに提示される。ユーザーは、提示された候補ディスクをそのまま指定して論理ディスクの構築を指示してもよいし、提示された候補ディスクを参考に自分自身で実際に論理ディスクの構築に使用するハードディスク２を選択してもよい。なお、ここではユーザーが最終的に論理ディスク構築に使用するハードディスク２を決定することとするが、論理ディスク構築部２１は候補ディスクをそのまま使用対象として論理ディスクを構築してもよい。
【００５３】
以下、論理ディスク構築部２１が候補ディスクを選択する際の選択基準の具体例について、説明する。この例では、論理ディスク構築部２１は、ディスク制御装置１に接続されたハードディスク２のそれぞれから、そのハードディスク２の性能に関する情報を取得する。そして、取得した性能に関する情報を用いて候補ディスクを選択する。
【００５４】
性能に関する情報としては、例えばハードディスク２の製造メーカーの情報やジオメトリ情報など、ハードディスク２の基本的な仕様に関する情報が挙げられる。このような情報を特定することによって、ハードディスク２がデータを読み書きする際の速度などの性能を推定することが可能になる。また、性能に関する情報は、より直接的にそのハードディスク２の性能を示す、スループットやシークタイムなどの情報であってもよい。このような情報は、例えばＳ．Ｍ．Ａ．Ｒ．Ｔ．技術を利用して各ハードディスク２から取得することができる。
【００５５】
各ハードディスク２の性能に関する情報を取得した論理ディスク構築部２１は、候補ディスクの平均性能が高くなるように、あるいは、候補ディスク間の性能のばらつきが小さくなるように、候補ディスクを選択する。他のハードディスク２より大きく性能が劣るハードディスク２を論理ディスク構築の対象に加えてしまうと、そのハードディスク２がボトルネックとなって論理ディスクに対するアクセス性能が低下してしまうためである。そのため論理ディスク構築部２１は、比較的性能が近いハードディスク２をグループ化して候補ディスクとして選択し、他のハードディスク２との間の性能差が大きいハードディスク２は候補ディスクから除外する。これにより、候補ディスクを対象として論理ディスクを構築した際に、候補ディスク以外のハードディスク２も含めて論理ディスクを構築した場合と比較して、論理ディスクへのデータの読み書きの性能を向上させることができる。
【００５６】
また、論理ディスク構築部２１は、論理ディスク構築の対象として決定されたハードディスク２内の各パーティションをどのように組み合わせて論理ディスクを構築するかについても、所与の基準にしたがって決定してもよい。この場合の基準の具体例としては、各パーティションがハードディスク２内で占める物理的な位置に関する基準が挙げられる。各パーティションの物理的な位置によって、そのアクセス性能が変化するためである。
【００５７】
具体的に、論理ディスク構築部２１は、これから構築する論理ディスクの構成要素となるハードディスク２を決定した後、そのハードディスク２内のどのパーティションを論理ディスクの構成要素として利用するかを、各パーティションがハードディスク２内で占める位置の情報を用いて決定する。このとき論理ディスク構築部２１は、同じ論理ディスクを構成するパーティション同士の性能が近くなるように、論理ディスク構築に使用するパーティションを決定することが望ましい。一般に、一つのハードディスク２内におけるデータの読み書きの速度は、ディスクの外周側で速く、ディスクの中心に近づくにつれて低下する。そのため、構成要素となるハードディスク２自体の性能が同程度の場合、互いに近い位置に確保されたパーティション同士を組み合わせることで、同じ論理ディスクを構成するパーティションの性能差を小さくすることができる。また、論理ディスク構築部２１は、各ハードディスク２内の最外周に近いパーティションから順に論理ディスクの構築に使用することとしてもよい。これにより、アクセス性能がよいと推定されるパーティションを優先的に利用することができる。
【００５８】
具体例として、図３の例と同様のハードディスク２が接続されている場合において、ハードディスク２Ｂは外周から順にパーティションＢ１、及びパーティションＢ２が確保されているが、ハードディスク２Ｃは逆に内周から順にパーティションＣ１、パーティションＣ２、及びパーティションＣ３が確保されており、パーティションＣ３が最外周に位置するものとする。この場合、論理ディスク構築部２１は、図３と異なり、以下に説明する組み合わせで論理ディスクを構築する。すなわち、各ハードディスク２の最外周に位置するパーティションＡ１、パーティションＢ１、及びパーティションＣ３を構成要素として論理ディスクＬ１を構築する。そして、パーティションＢ２及びパーティションＣ２を構成要素として論理ディスクＬ２を構築し、ハードディスク２Ｃ内で最も性能が低いと推定されるパーティションＣ１をＲ１−とする。これにより、同じ論理ディスク内における各パーティションの性能差を小さくすることができる。
【００５９】
以下、ユーザーインタフェース部２５の制御によってユーザーに提示される画面の具体例について、説明する。ユーザーインタフェース部２５は、初回の論理ディスク構築に先立って、故障許容数のパラメーターをいくつに設定するか、パーティションの単位容量の値をどれだけにするか、またどのハードディスク２を使用して論理ディスクを構築するか、などの指定をユーザーから受け付けてもよい。さらに、これらのパラメーターをユーザーから受け付けるにあたって、判断材料となる情報をユーザーに提示してもよい。
【００６０】
特に、故障許容数のパラメーターをいくつに設定するかは、ユーザーが利用可能な記憶容量に大きく影響する。故障許容数を大きくするためにはそれだけ記憶されるデータの冗長度を上げる必要があり、その分構築される論理ディスクの記憶容量を減らしてしまうからである。また、どのハードディスク２を使用して論理ディスクを構築するかも、当然ながら論理ディスクの記憶容量に影響する。そのため、ユーザーからハードディスク２の選択や故障許容数のパラメーター設定を受け付ける際には、その設定による影響をわかりやすくユーザーに提示することが望ましい。そこでユーザーインタフェース部２５は、論理ディスク構築部２１による論理ディスクの構築に先立って、論理ディスク構築に使用するハードディスク２の選択を受け付けるとともに、選択されたハードディスク２を用いて論理ディスクを構築した場合にユーザーが使用可能な記憶容量の情報を、故障許容数ごとに並べてユーザーに提示する表示制御を行う。
【００６１】
図５は、このような表示制御によってユーザーに提示される画面の一例を示す図である。この図の例では、接続されているハードディスク２の一覧が画面上方に表示されており、各ハードディスク２の左側に選択用のチェックボックスが設けられている。また、各ハードディスク２のモデル名、サイズも一覧表示されている。
【００６２】
さらに画面下方には、選択されたハードディスク２を用いて論理ディスクを構築した場合に使用可能な記憶容量が直感的に分かりやすいようにグラフ形式で表示されている。具体的に、上段のグラフは故障許容数のパラメーターを１に設定した場合に使用可能な論理ディスクの記憶容量を示しており、中段のグラフは故障許容数のパラメーターを２に設定した場合に使用可能な論理ディスクの記憶容量を示している。また、図中の「データ保護用」は冗長性の確保のために使用される領域（ミラーデータやパリティデータが格納される領域）を示している。ユーザーが各ハードディスク２に対応するチェックボックスのオン／オフを切り替えると、この切り替えに伴ってこれらのグラフの内容はリアルタイムで変更される。これによりユーザーは、グラフの表示を確認しながら、論理ディスク構築に使用するハードディスク２を選択することができる。なお、ユーザーが３台以下のハードディスク２しか選択していない状態では、故障許容数として２を選択することはできない。この場合、中段のグラフを非表示にしてもよいし、使用可能な記憶容量を表示する代わりに４台以上のハードディスク２を選択する必要がある旨のメッセージを表示してもよい。
【００６３】
さらに、下段のグラフは、前述したように性能に関する情報を用いて論理ディスク構築部２１が選択した候補ディスクを使用して論理ディスクを構築した場合に使用可能な記憶容量を示している。この図の例では、ディスクＡ、ディスクＢ、及びディスクＤがディスクＣよりも性能が高いと判定されており、この３台の候補ディスクがパフォーマンスを優先させたい場合の推奨構成とされている。そこで下段のグラフは、この構成を採用した場合に使用可能な容量を、ユーザーが選択したハードディスク２を使用する場合と比較可能な態様で示している。なお、下段のグラフにおける「使用していない領域」は、選択されないハードディスク２（ここではディスクＣ）の記憶容量を示しており、データ保護用の記憶容量とは区別可能に表示されている。また、この記憶容量が「使用していない領域」に該当する理由をユーザーが容易に把握できるように、候補ディスクとして選択されなかったハードディスク２のディスク名（ディスク３）がこの「使用していない領域」に対応する位置に表示されている。
【００６４】
なお、グラフの下方には論理ディスク構築に使用可能な最低の記憶容量が表示されている。ここで表示される記憶容量は、パーティションを確保する際の単位容量に一致している。
【００６５】
この図５に例示する表示がされた状態でユーザーが論理ディスク構築に使用するハードディスク２を選択し、画面下方に表示されている「次へ」ボタンを押下した場合、故障許容数のパラメーターを選択可能な状態であれば、続いてユーザーインタフェース部２５はその選択を受け付ける画面を表示する。図６はこの画面の一例を示している。この図の例でも、図５に示されていたのと同様のグラフを表示することによって、論理ディスクを構築した際に使用可能な記憶容量の情報が、故障許容数ごとに並べてユーザーに提示される。これによりユーザーは、それぞれの選択をした場合に利用可能な記憶容量を直感的に把握しながら、故障許容数を選択することができる。
【００６６】
以上説明した本発明の実施の形態に係るディスク制御装置１によれば、接続されるハードディスク２内に複数のパーティションが確保され、そのパーティションを構成要素として論理ディスクが構築されるので、論理ディスク構築に使用したハードディスク２より小さな記憶容量の追加ハードディスク２ｎが追加された場合であっても、この追加ハードディスク２ｎを既存の論理ディスクの拡張に利用することができる。
【００６７】
なお、本発明の実施の形態は、以上説明したものに限られない。以下では、今までの説明とは異なり、ディスク制御装置１に対して既存のハードディスク２以上の記憶容量の追加ハードディスク２ｎだけを追加可能に制限する場合の変形例について、説明する。
【００６８】
本変形例に係るディスク制御装置１では、再構築部２２による再構築に利用される追加ハードディスク２ｎの記憶容量Ｃｎが、論理ディスク構築部２１による論理ディスクの構築に用いられた各ハードディスク２の記憶容量のうちの最大容量Ｃmax以上であることが要請される。このような条件を設けることにより、追加可能なハードディスク２の記憶容量は制限されるが、単位容量ごとにパーティションを確保する必要がなくなり、記憶容量を効率的に使用することができる。
【００６９】
具体例として、図３と同様にそれぞれ１．５ＴＢ、２ＴＢ、３ＴＢの記憶容量を持つ３台のハードディスク２Ａ、２Ｂ、及び２Ｃが接続されている場合について、図７を用いて説明する。本変形例に係るディスク制御装置１においては、論理ディスク構築部２１は、最小容量のハードディスク２Ａ内に１つのパーティションＡ１のみを確保する。また、ハードディスク２Ｂ及び２Ｃにも、パーティションＡ１と同じ１．５ＴＢのパーティションＢ１及びＣ１をそれぞれ確保する。そして、これら３つのパーティションＡ１、Ｂ１、及びＣ１を構成要素としてＲＡＩＤ５の論理ディスクＬ１を構築する。また、ハードディスク２Ｂに余っている０．５ＴＢの空き領域を利用してパーティションＢ２を確保し、ハードディスク２Ｃにも同じ記憶容量のパーティションＣ２を確保する。そして、パーティションＢ２及びＣ２を構成要素としてＲＡＩＤ１の論理ディスクＬ２を構築する。ハードディスク２Ｃに残った１ＴＢの空き領域は、Ｒ１−のパーティションＣ３として管理される。
【００７０】
さらに、この図７の構成に対して追加ハードディスク２ｎが接続された場合に再構築部２２が行う論理ディスクの再構築について、図８を用いて説明する。本変形例では追加ハードディスク２ｎの記憶容量は既存の各ハードディスク２の記憶容量より大きくなければならないため、追加ハードディスク２ｎは３ＴＢ以上である必要がある。図８では具体的に４ＴＢの追加ハードディスク２ｎが接続されたものとしている。この例では、既存のハードディスク２のうちの最大容量のハードディスク２Ｃのパーティション構成に合わせて、追加ハードディスク２ｎ内にも１．５ＴＢのパーティションＮ１、０．５ＴＢのパーティションＮ２、及び１ＴＢのパーティションＮ３が確保される。また、残る１ＴＢの空き領域は、Ｒ１−のパーティションＮ４として確保される。そして、パーティションＮ１は論理ディスクＬ１の拡張に、パーティションＮ２は論理ディスクＬ２の拡張に、それぞれ用いられる。また、パーティションＮ３はパーティションＣ３とともに新たなＲＡＩＤ１の論理ディスクＬ３の構築に用いられる。
【００７１】
このように、追加ハードディスク２ｎの記憶容量Ｃｎが既存のハードディスク２のうちの最大容量Ｃmax以上であることを条件とすることで、追加ハードディスク２ｎが接続された際に、既存の論理ディスクの全てを拡張対象とすることができる。
【００７２】
なお、本変形例でも、ディスク制御装置１に接続されるスペアディスクは、論理ディスク構築に使用されている既存のハードディスク２の最大容量Ｃmax以上の記憶容量を備えることが要請される。また、複数のスペアディスクが接続されている場合、既存のハードディスク２に故障が発生した際には、複数のスペアディスクのうち、最も記憶容量が小さいスペアディスクが優先して交換対象として使用される。さらに、スペアディスクが接続されている状態で追加ハードディスク２ｎがさらに接続された場合、スペアディスクの記憶容量が追加ハードディスク２ｎの記憶容量より小さければ、再構築部２２は追加ハードディスク２ｎではなくスペアディスクを使用して論理ディスクの再構築を行い、追加ハードディスク２ｎを新たなスペアディスクに設定する。これにより、スペアディスク、及び追加ハードディスク２ｎの記憶容量が既存のハードディスク２の最大容量Ｃmaxより大きな状態を保つことができ、前述した再構築ルールで論理ディスクの再構築を行うことができる。
【００７３】
なお、以上の説明においては、ディスク制御装置１に接続される記憶デバイスはハードディスク２であるものとしたが、これに限らず、例えばＳＳＤ（solid state drive）など、各種の情報記憶媒体がディスク制御装置１に接続され、論理ディスク構築部２１による論理ディスク構築に用いられることとしてもよい。同様に、再構築部２２も、ハードディスク２以外の記憶デバイスが追加された場合に、その追加された記憶デバイスを用いて論理ディスクの再構築を行うこととしてよい。
【００７４】
また、以上の説明では、ディスク制御装置１はＮＡＳであり、ＬＡＮ等の通信ネットワークを介してクライアント装置３と接続されるものとしたが、これに限らず、ディスク制御装置１の各機能はパーソナルコンピュータ等の情報処理装置にインストールされたプログラムによって実現されてもよい。この場合、必ずしもユーザーが利用するクライアント装置３とディスク制御装置１とが分離している必要はなく、ユーザーが使用する一つのコンピュータ上で論理ディスクが構築され、構築された論理ディスクへのアクセスが行われることとしてもよい。また、以上説明したディスク制御装置１の各機能の少なくとも一部は、専用のＩＣチップなどによってハードウェア的に実現されてもよい。
【００７５】
また、以上の説明ではディスク制御装置１はＲＡＩＤ１、ＲＡＩＤ５、及びＲＡＩＤ６の３種類の論理ディスクを構築することとしたが、これに限らず、他のＲＡＩＤレベルの論理ディスクを構築してもよい。
【符号の説明】
【００７６】
１  ディスク制御装置、２  ハードディスク、３  クライアント装置、１１  制御部、１２  メモリ、１３  Ｉ／Ｏ部、１４  通信部、２１  論理ディスク構築部、２２  再構築部、２３  ディスクアクセス部、２４  論理ディスク制御部、２５  ユーザーインタフェース部。
【図１】
0006497891.tif 000002
【図２】
0006497891.tif 000003
【図３】
0006497891.tif 000004
【図４】
0006497891.tif 000005
【図５】
0006497891.tif 000006
【図６】
0006497891.tif 000007
【図７】
0006497891.tif 000008
【図８】
0006497891.tif 000009