(57)【特許請求の範囲】
【請求項１】
同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、前記ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおけるディスク間のデータ退避方法であって、
前記複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、
前記ディスク制御手段は、
前記代替ディスクの記憶容量を検出してコピー元とするディスクの記憶容量と比較し、
比較結果が、代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているか否かを調べ、
パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出し、
前記使用されている各パーティションの記憶容量の和と前記代替ディスクの記憶容量とを比較し、
比較結果が、使用されている各パーティションの記憶容量の和≦代替ディスクの記憶容量の場合には該使用されている各パーティションの内容を前記代替ディスクにコピーするように前記ディスクアレイ装置を制御する、
ことを特徴とするディスク間のデータ退避方法。
【請求項２】
同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ホストコンピュータに接続され前記ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおけるディスク間のデータ退避方法であって、
前記複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、
前記ホストコンピュータは、
前記代替ディスクの記憶容量を検出してコピー元とするディスクの記憶容量と比較し、
比較結果が、代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているか否かを調べ、
パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出し、
前記使用されている各パーティションの記憶容量の和と前記代替ディスクの記憶容量とを比較し、
比較結果が、使用されている各パーティションの記憶容量の和≦代替ディスクの記憶容量の場合には該使用されている各パーティションの内容を前記代替ディスクにコピーするように前記ディスクアレイ装置を制御する、
ことを特徴とするディスク間のデータ退避方法。
【請求項３】
同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、前記ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおいて、
前記複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、
コンピュータに、
前記複数のディスクのうち交換された代替ディスクの記憶容量を検出させ、検出された代替ディスクの記憶容量と前記複数のディスクのうちコピー元とするディスクの記憶容量を比較させるステップ、
上記ステップでの比較結果が代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているかを調べさせるステップ、
パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出させるステップ、
前記使用されているパーティションの記憶容量の和と前記代替ディスクの記憶容量とを比較させるステップ、
上記ステップでの比較結果が、使用されているパーティションの記憶容量の和≦代替ディスクの記憶容量の場合には前記使用されている各パーティションの内容を前記代替ディスクにコピーするように前記ディスクアレイ装置を制御させるステップ、
を実行させるためのプログラム。
【請求項４】
同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ホストコンピュータに接続され前記ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおいて、
前記複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、
前記ホストコンピュータに、
前記複数のディスクのうち交換された代替ディスクの記憶容量を検出させ、検出された代替ディスクの記憶容量と前記複数のディスクのうちコピー元とするディスクの記憶容量を比較させるステップ、
上記ステップでの比較結果が代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているかを調べさせるステップ、
パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出させるステップ、
前記使用されているパーティションの記憶容量の和と前記代替ディスクの記憶容量とを比較させるステップ、
上記ステップでの比較結果が、使用されているパーティションの記憶容量の和≦代替ディスクの記憶容量の場合には前記使用されている各パーティションの内容を前記代替ディスクにコピーするように前記ディスクアレイ装置を制御させるステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＲＡＩＤシステムにおけるディスク間のデータ退避技術に関する。
【０００２】
【従来の技術】
ディスクをアレイ上に構成したディスクアレイ装置において、データを分割して複数のディスクに格納し、高速アクセスと高信頼性を実現する技術としてＲＡＩＤ（Redundant Arrays of Independent(Inexpensive) Disks）がある。ＲＡＩＤは分割格納と障害対策の方式の違いによって幾つかのレベルに分類されており、米国カリフォルニア大学バークレイ校のパターソン博士（Dr.Patterson）らの論文では５種類のＲＡＩＤが定義されている。
【０００３】
なお、その中ではＲＡＩＤ０は含まれていないが、その有用性からＲＡＩＤ０はＲＡＩＤの一種として考えられているので、現在ではＲＡＩＤはＲＡＩＤ０〜ＲＡＩＤ５の６レベルに分類されている。そして、レベルによってディスク容量の使用効率やデータアクセスの効率などが異なっている。
【０００４】
すなわち、 ＲＡＩＤ０→ストライピング； ＲＡＩＤ１→ミラーリング（二重化）； ＲＡＩＤ２→ストライピング（バイト）とハミングコードによるＥＣＣ； ＲＡＩＤ３→ストライピング（バイト）とパリティドライブ固定； ＲＡＩＤ４→ストライピング（ブロック）とパリティドライブ固定； ＲＡＩＤ５→ストライピング（ブロック）とパリティドライブ分散。例えば、ＲＡＩＤ１ではディスクの二重化（ミラーリング）を行なう（非特許文献１参照）。
【０００５】
従来、ＲＡＩＤシステムでは、ディスクに故障が発生した場合、「コピー先ディスクの容量≧コピー元ディスクのメモリ容量」であることを条件としていた。例えば、図４に示すように「コピー先ディスク４２の容量＜コピー元ディスク４１のメモリ容量」の場合、例えば、コピー元ディスクのメモリ容量が２０ＫＢでコピー先ディスクのメモリ容量が１０ＫＢの場合はコピーできない。
【０００６】
これに対し、ディスク状記憶媒体の容量に依存することなく保守の自由度を広げ、更に効率良く動作させることのできるディスク記憶装置及びその制御方法がある（例えば、特許文献１参照）。また、新たに組み込んだ容量の大きいディスクの増加容量分の領域を有効に利用できるディスクアレイ装置が開示されている（例えば、特許文献２参照）。また、処理速度に差のあるディスクを接続した場合の処理速度の平準化に係わる技術がある（例えば、特許文献３）。
【０００７】
【特許文献１】
特開平１１−６６６９２号公報
【特許文献２】
特開平１１−１２６１３７号公報
【特許文献３】
特開平８−６９３５９号公報
【非特許文献１】
Patterson,D.A,Gibson,G,Katz,R.H,"A Case for Redundant Arrays of Inexpensive Disks(RAID),"Report No.UCB/CSD 87/391,Computer Science Division,University of California Berkeley 1987
【０００８】
【発明が解決しようとする課題】
ＲＡＩＤシステムでは複数のディスクを使用しているが、そのうちの１台のディスクが故障した場合、通電中にディスクの入れ替え（ホットスワッピング）を行う場合がある。その際、故障したディスクと新たに入れ替えたディスク（コピー先ディスク）の容量が同じであることが望ましい。また、実際には入れ替えたディスクの容量が同じでない場合もあるが、このような場合でも可能な限り速やかにＲＡＩＤシステムの再構築（リビルド）を行う必要がある。
【０００９】
前述したように、従来、ＲＡＩＤシステムでは、ディスクに故障が発生した場合、新たに交換したディスクのメモリ容量≧コピー元のディスクの使用領域の容量の場合には、交換したディスクへのコピー動作を行うのでＲＡＩＤシステムの再構築は問題なく行うことができるが、新たに交換したディスクのメモリ容量＜コピー元のディスクの使用領域の容量の場合には、ディスクのコピー動作を行わないため実際に使っている容量が小さい場合でもコピーができないのでＲＡＩＤシステムの再構築ができないといった問題点があった。
【００１０】
また、コピー先のディスクを容量の大きいディスクにすると、ＲＡＩＤ１ではマスターディスクより大きな容量の２重化用ディスクが存在することとなり、コピー先のディスクの容量とマスターディスクの容量の差分の不使用領域が発生し、経済的な面でも不都合があった。
【００１１】
また、上記特許文献１に開示の技術では、ＲＡＩＤ０のように細切れでデータをストライブする技術には適合するもののＲＡＩＤ１のようなミラーリング技術には適合しないといった問題点がある。また、上記特許文献２に開示の技術では、新たに組み込んだディスクの容量が元のディスクの容量より小さい場合に付いては開示されていない。また、上記特許文献３に記載の技術では容量の差に付いては何ら記載がなく、容量の異なるディスク間の退避技術について解決を与えるものではない。
【００１２】
本発明は上記従来技術の問題点を解決するためになされたものであり、コピー先ディスクのメモリ容量がコピー元ディスクのメモリ容量より小さい場合にもコピーを可能としたディスク間のデータ退避方法、及びプログラムの提供を目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するために、請求項１記載の発明では、同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおけるディスク間のデータ退避方法であって、複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、ディスク制御手段は、代替ディスクの記憶容量を検出してコピー元とするディスクの記憶容量と比較し、比較結果が、代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているか否かを調べ、パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出し、
使用されている各パーティションの記憶容量の和と代替ディスクの記憶容量とを比較し、比較結果が、使用されている各パーティションの記憶容量の和≦代替ディスクの記憶容量の場合には該使用されている各パーティションの内容を代替ディスクにコピーするようにディスクアレイ装置を制御する、ことを特徴とするディスク間のデータ退避方法を提供する。
【００１４】
また、請求項２記載の発明では、同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ホストコンピュータに接続されディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおけるディスク間のデータ退避方法であって、複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、ホストコンピュータは、代替ディスクの記憶容量を検出してコピー元とするディスクの記憶容量と比較し、比較結果が、代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているか否かを調べ、パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出し、使用されている各パーティションの記憶容量の和と代替ディスクの記憶容量とを比較し、比較結果が、使用されている各パーティションの記憶容量の和≦代替ディスクの記憶容量の場合には該使用されている各パーティションの内容を代替ディスクにコピーするようにディスクアレイ装置を制御する、ことを特徴とするディスク間のデータ退避方法を提供する。
【００１５】
また、請求項３記載の発明では、同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおいて、複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、コンピュータに、複数のディスクのうち交換された代替ディスクの記憶容量を検出させ、検出された代替ディスクの記憶容量と複数のディスクのうちコピー元とするディスクの記憶容量を比較させるステップ、上記ステップでの比較結果が代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているかを調べさせるステップ、パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出させるステップ、使用されているパーティションの記憶容量の和と代替ディスクの記憶容量とを比較させるステップ、上記ステップでの比較結果が、使用されているパーティションの記憶容量の和≦代替ディスクの記憶容量の場合には使用されている各パーティションの内容を代替ディスクにコピーするようにディスクアレイ装置を制御させるステップ、を実行させるためのプログラムを提供する。
【００１６】
また、請求項４記載の発明では、同一のデータが書き込まれる複数のディスクからなるディスクアレイ装置と、ホストコンピュータに接続されディスクアレイ装置を制御するディスク制御手段と、を備えたディスクアレイシステムにおいて、複数のディスクのうち、故障したディスクが代替ディスクと交換されたとき、ホストコンピュータに、複数のディスクのうち交換された代替ディスクの記憶容量を検出させ、検出された代替ディスクの記憶容量と複数のディスクのうちコピー元とするディスクの記憶容量を比較させるステップ、上記ステップでの比較結果が代替ディスクの記憶容量＜コピー元とするディスクの記憶容量の場合にはコピー元とするディスクにパーティションが設けられているかを調べさせるステップ、パーティションが設けられている場合には該コピー元とするディスクに設けられているパーティションのうち使用されている各パーティションの記憶容量の和を算出させるステップ、使用されているパーティションの記憶容量の和と代替ディスクの記憶容量とを比較させるステップ、上記ステップでの比較結果が、使用されているパーティションの記憶容量の和≦代替ディスクの記憶容量の場合には使用されている各パーティションの内容を代替ディスクにコピーするようにディスクアレイ装置を制御させるステップ、を実行させるためのプログラムを提供する。
【００１７】
【発明の実施の形態】
図１はＲＡＩＤ１のディスクアレイ装置を備えたコンピュータシステムの構成例を示すブロック図であり、コンピュータシステム１０はホストコンピュータ１１、ホストコンピュータ１１に内蔵または外付けされ、ディスクアレイ装置１３の制御を行うＲＡＩＤ制御ユニット１２、およびディスクアレイ装置１３からなり、ディスクアレイ装置１３はディスク１３１、１３２からなるＲＡＩＤ１（ミラーリング）構成をなしている。
【００１８】
ホストコンピュータ１１は、装置全体の動作を制御するＣＰＵ、内部メモリとしてのＲＡＭや計時装置等及び図示しない周辺装置を備えている。
【００１９】
ＲＡＩＤ制御ユニット１２は、ディスクアレイ装置１３の駆動制御及びアクセス制御を行い、ホットスワップが行われると故障しなかったディスクの内容を入れ替えたディスクにコピーするようにディスクアレイ装置１３を制御する。
【００２０】
ディスクアレイ装置１３は２台のディスク（ＨＤＤ１、ＨＤＤ２）によるＲＡＩＤ１（ミラーリング）構成をなし、いずれかのディスクに故障が発生するとホットスワップ、つまり、故障が発生したディスクの入れ替えを行うことができる。
【００２１】
図２は本発明に基づくデータ退避方法の説明図であり、コピー元のディスク１３１の記憶領域がパーティション（分割記憶領域）Ｐ１、Ｐ２、・・に分割されて使用されている場合、本発明では、コピー先ディスク１３２のメモリ容量＜コピー元のディスク１３１のメモリ容量であっても「コピー元のディスク１３１のパーティションのうち使用されているパーティション（例えば、Ｐ１、Ｐ２）の容量の和（Ｐ１＋Ｐ２）≦コピー先のディスク１３２のメモリ容量」ならば、ホットスワップが行われた場合、それら部分記憶領域（Ｐ１、Ｐ２）の内容をコピー先ディスク１３２にコピーする。
【００２２】
なお、パーティションはディスク（ハードディスク）内の分割領域であり、一台のディスクを複数の領域に区切ってあたかも複数台のディスクがあるかのように利用できる。ディスクのパーティションは、ディスク装置のインストール時に、通常、ＯＳ（オペレーティングシステム）のコマンド「Ｆｄｉｓｋ」により設定できる。また、ディスク容量はディスクの所定のセクタに記憶されている。
【００２３】
なお、図５（ａ）に示すようにＲＡＩＤシステムで使用中のスレーブＨＤＤ（ハードディスク）２に故障が生じた場合は、故障したスレーブＨＤＤ２を通電のまま新たなスレーブＨＤＤ２’と交換（ホットスワッピング）するが、この際、図５（ｂ）に示すようにスレーブＨＤＤ２’の容量がマスターＨＤＤ１のファイルの使用領域の容量より大きければ図５（ｃ）に示すようにマスターＨＤＤ１の使用領域の内容をスレーブＨＤＤ２’にコピーすることができるが、図５（ｄ）に示すようにマスターＨＤＤ１のファイルの使用領域が拡大してスレーブＨＤＤ２’のメモリ容量より大きくなるとマスターＨＤＤ１の使用領域の内容をスレーブＨＤＤ２’にコピーすることができず、ＲＡＩＤ１は破綻することとなる。つまり、使用しているファイル容量で判断すると、ファイルは増加するのでＲＡＩＤ１動作（データの二重化：ミラーリング）が破綻するが、本発明のように「使用しているパーティションサイズで判断する」ように構成することによりＲＡＩＤ１動作の破綻を回避することができる。
【００２４】
図３は、本発明に基づく、ホットスワップ時のディスク間のデータ退避動作の一実施例を示すフローチャートであり、以下、図１、２に基いて説明する。
【００２５】
ＲＡＩＤ１システムで、ホットスワッピングにより故障ディスクが交換されるとＲＡＩＤ制御ユニット１２はマスターディスク（コピー元ディスク１３１）と交換されたディスク（コピー先ディスク１３２：この例ではスレーブディスク）の所定のセクタにアクセスし、記憶されているディスク容量情報を元に容量の大小を比較する。マスターディスクの容量≦スレーブディスクの容量の場合はステップＳ６に進み、マスターディスクの容量＞スレーブディスクの容量の場合はステップＳ２に進む（ステップＳ１）。
【００２６】
マスターディスクの容量＞スレーブディスクの容量の場合は、ＲＡＩＤ制御ユニット１２はパーティションの有無を調べ、パーティションがない場合は処理を終了し（つまり、コピー動作を行なわず）、パーティションがある場合はステップＳ３に進む（ステップＳ２）。
【００２７】
マスターディスクにパーティションがある場合は、ＲＡＩＤ制御ユニット１２は使用されているパーティション（図２の例ではＰ１、Ｐ２）の総容量（Ｐ１＋Ｐ２）とスレーブディスクの容量を取得し（ステップＳ３）、使用されているパーティションの総容量とスレーブディスクの容量を比較し、比較結果が、使用されているパーティションの総容量＞スレーブディスクの容量の場合は処理を終了し（つまり、コピー動作を行なわず）、使用されているパーティションの総容量≦スレーブディスクの容量の場合はステップＳ５に進む（ステップＳ４）。
【００２８】
使用されているパーティションの総容量≦スレーブディスクの容量の場合は、ＲＡＩＤ制御ユニット１２は使用されているパーティションの内容全部（図２の例ではＰ１、Ｐ２）をスレーブディスクにコピーし、コピー後は動作を終了する（ステップＳ５）。
【００２９】
マスターディスクの容量≦スレーブディスクの容量の場合はマスターディスク全体をスレーブディスクにコピーし、コピー後は動作を終了する（ステップＳ６）。
【００３０】
上記構成により、ＲＡＩＤ１システムにおいて、故障ディスクを取りかえる際、代替ディスクの容量が小さい場合でもリビルド（再構築）が可能となる。
【００３１】
なお、上記図３のフローチャートの説明ではＲＡＩＤ制御ユニット１２がデータ退避制御を行うものとして説明したが、ホストコンピュータ１２側でデータ退避制御を行うようにしてもよい。
【００３２】
また、図３のフローチャートではホットスワップにより交換されたディスクについて説明したが、本発明のデータ退避方法は電源遮断状態で交換されたディスクの場合についても適用できる。例えば、ディスクアレイが３台のディスクで構成される場合、内１台のディスクが故障した場合、残りの２台で使用されているパーティションの各記憶容量の総和は等しいはずであるから、図３のステップＳ３でいずれか１台のディスクをコピー元ディスクとしてそのディスクのパーティションの各記憶容量を取得し、ステップＳ４で代替ディスクの容量と比較すればよい。
【００３３】
また、上記説明では２台のディスクを使用するＲＡＩＤ１システムの例について説明したが２台に限定されず３台以上のディスクを用いる場合にも適用できる。また、ＲＡＩＤ１に限定されず、ＲＡＩＤ２〜ＲＡＩＤ５についても適用できる。
【００３４】
以上、本発明の一実施例について説明したが本発明は上記実施例に限定されるものではなく、種々の変形実施が可能であることはいうまでもない。
【００３５】
【発明の効果】
上記説明したように、本発明によれば、ＲＡＩＤシステムにおいて、故障ディスクを取りかえる際、代替ディスクの容量が小さい場合でもリビルドを可能とし、ＲＡＩＤ１レベルの機能を維持できる。
【００３６】
また、ＲＡＩＤシステムにおいて、新規に設置する代替ディスクの容量を気にすることなく、ＲＡＩＤ機能をリビルドすることができる。
【００３７】
また、故障時に、コピー元ディスク（マスターディスク）と容量が等しいか大きいディスクをコピー先ディスク（代替ディスク）としなくてもよいので、緊急時の対応が容易となる。また、代替ディスクとして、コピー元ディスクより容量が大きいコピー先ディスクを使わなくてもよいので故障発生時のコストが低減される。
【図面の簡単な説明】
【図１】ＲＡＩＤ１のディスクアレイ装置を備えたコンピュータシステムの構成例を示すブロック図である。
【図２】本発明に基づくデータ退避方法の説明図である。
【図３】ホットスワップ時のディスク間のデータ退避動作の一実施例を示すフローチャートである。
【図４】新たなコピー先ディスクの容量がコピー元ディスクの容量より小さい場合の説明図である。
【図５】ファイルコピーによりデータ回避を行う場合のＲＡＩＤ１破綻の説明図である。
【符号の説明】
１１  ホストコンピュータ
１２  ＲＡＩＤ制御ユニット（ＲＡＩＤ制御装置）
１３  ディスクアレイ装置
１３１  コピー元ディスク（マスターディスク）
１３２  コピー先ディスク（スレーブディスク）
【図１】
0004413509.tif 000002
【図２】
0004413509.tif 000003
【図３】
0004413509.tif 000004
【図４】
0004413509.tif 000005
【図５】
0004413509.tif 000006