(57)【要約】【課題】階層型冗長ストレージシステムについて、仮想ディスクからみた冗長度を容易に算出することできる冗長度算出方法、ＲＡＩＤ装置及びプログラムを提供する。【解決手段】ディスク装置及びＲＡＩＤ装置には、冗長度が設定されている。最初に、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度の数だけのディスク装置を冗長ディスクに設定し、その他のディスク装置をデータディスクに設定する。次に、冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする。そして、仮想ディスクの冗長度を記憶する。ディスク装置の障害が検出された際に、再度、冗長度が計算される。尚、このＲＡＩＤ装置は、階層型冗長ストレージシステムで用いられる。【選択図】図２
2010033395.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置に接続されるＲＡＩＤ(Redundant Array of Inexpensive Disks)装置における仮想ディスクの冗長度算出方法において、
前記ディスク装置及び前記ＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低い前記ディスク装置から順に、前記ＲＡＩＤ装置の冗長度の数だけの前記ディスク装置を冗長ディスクに設定し、その他の前記ディスク装置をデータディスクに設定する第１のステップと、
前記冗長ディスクに設定された各ディスク装置の冗長度と、前記データディスクに設定されたディスク装置の中での最小冗長度と、前記ＲＡＩＤ装置の冗長度との和を、前記ＲＡＩＤ装置における前記仮想ディスクの冗長度とする第２のステップと
前記仮想ディスクの冗長度を記憶する第３のステップと
を有することを特徴とする仮想ディスクの冗長度算出方法。
【請求項２】
前記ディスク装置の障害が検出された際に、第１から第３のステップが実行されることを特徴とする請求項１に記載の仮想ディスクの冗長度算出方法。
【請求項３】
前記ディスク装置が、当該ＲＡＩＤ装置の下位層に接続されたＲＡＩＤ装置であって、階層型冗長ストレージシステムとして構成されていることを特徴とする請求項１又は２に記載の仮想ディスクの冗長度算出方法。
【請求項４】
前記下位層のディスク装置から受信した冗長度変更メッセージに含まれる冗長度を、前記ディスク装置の冗長度とし、
第３のステップについて、前記仮想ディスクの冗長度が変更された際に、上位層のＲＡＩＤ装置へ、冗長度変更メッセージを送信する
ことを特徴とする請求項１から３のいずれか１項に記載の仮想ディスクの冗長度算出方法。
【請求項５】
複数のディスク装置に接続され、仮想ディスクを提供するＲＡＩＤ装置において、
前記ディスク装置及び前記ＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低い前記ディスク装置から順に、前記ＲＡＩＤ装置の冗長度の数だけの前記ディスク装置を冗長ディスクに設定し、その他の前記ディスク装置をデータディスクに設定する冗長／データディスク設定手段と、
前記冗長ディスクに設定された各ディスク装置の冗長度と、前記データディスクに設定されたディスク装置の中での最小冗長度と、前記ＲＡＩＤ装置の冗長度との和を、前記ＲＡＩＤ装置における前記仮想ディスクの冗長度とする冗長度算出手段と、
前記仮想ディスクの冗長度を記憶するレジストリ手段と
を有することを特徴とするＲＡＩＤ装置。
【請求項６】
前記ディスク装置の障害を検出するディスク監視手段を更に有し、
前記冗長度算出手段は、前記ディスク監視手段によって前記障害が検出された際に、前記冗長度を再計算する
ことを特徴とする請求項５に記載のＲＡＩＤ装置。
【請求項７】
階層型冗長ストレージシステムであって、
請求項５又６に記載された前記ＲＡＩＤ装置の下位層に接続される前記ディスク装置は、ＲＡＩＤ装置であることを特徴とする階層型冗長ストレージシステム。
【請求項８】
前記下位層のディスク装置から受信した冗長度変更メッセージを受信し、該パケットに含まれる冗長度を、前記ディスク装置の冗長度として、前記冗長度算出手段へ通知する冗長度変更メッセージ受信手段と、
前記レジストリ手段に登録される前記仮想ディスクの冗長度が変更された際に、上位層のＲＡＩＤ装置へ、変更された冗長度を含む冗長度変更メッセージを送信する冗長度変更メッセージ送信手段と
を更に有することを特徴とする請求項７に記載の階層型冗長ストレージシステム。
【請求項９】
複数のディスク装置に接続されるＲＡＩＤ装置に搭載されたコンピュータを機能させるプログラムにおいて、
前記ディスク装置及び前記ＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低い前記ディスク装置から順に、前記ＲＡＩＤ装置の冗長度の数だけの前記ディスク装置を冗長ディスクに設定し、その他の前記ディスク装置をデータディスクに設定する冗長／データディスク設定手段と、
前記冗長ディスクに設定された各ディスク装置の冗長度と、前記データディスクに設定されたディスク装置の中での最小冗長度と、前記ＲＡＩＤ装置の冗長度との和を、前記ＲＡＩＤ装置における前記仮想ディスクの冗長度とする冗長度算出手段と、
前記仮想ディスクの冗長度を記憶するレジストリ手段と
してコンピュータを機能させることを特徴とするＲＡＩＤ装置用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層型冗長ストレージシステムにおける冗長度算出方法、ＲＡＩＤ装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ストレージシステムとして代表的なＳＡＮ(Storage Area Network)が提供されており、１つ以上のホスト装置が、ネットワーク及びスイッチを介して、複数のディスク装置にアクセスすることができる。ストレージシステムによれば、ディスク装置に障害が発生してもデータを回復させることができる技術を必要となる。このようなストレージシステムに対応して、ディスク装置に障害が発生した場合、ネットワークを介して利用可能なディスク装置（物理ディスク又は仮想ボリューム）をスペアディスクとして選択し、そのスペアディスクに自動的にデータを複製して、障害回復をする技術がある（例えば特許文献１参照）。
【０００３】
また、単体のストレージ装置の場合、代表的な冗長化技術として、ＲＡＩＤ(Redundant Array of Inexpensive Disks)がある。ＲＡＩＤは、複数のディスクを組み合わせて１つのディスクとして取り扱い、大容量化、高速アクセス化及び高信頼化を実現する。ＲＡＩＤを用いることによって、データが冗長化され、１つ又は２つのディスクに障害が発生しても、そのデータを回復することができる。データを複製するためのスペアディスクがない場合、動的に、ＲＡＩＤの構成ディスク数を減少させることによって、又は、仮想ボリュームを用いることによって、スペアディスクを用意するＲＡＩＤ技術もある（例えば特許文献２参照）。
【０００４】
ＳＡＮシステム又は単体ストレージ装置とは別に、階層型冗長ストレージシステムがある。このシステムは、データを冗長化するＲＡＩＤ装置が、階層化されたものである。
【０００５】
図１は、階層型冗長ストレージシステムの基本構成図である。
【０００６】
図１によれば、複数の物理ディスクが、第１層のＲＡＩＤ装置に接続されている。第１層のＲＡＩＤ装置は、データを冗長化して、第１層の仮想ディスクを構成する。更に、複数の第１層のＲＡＩＤ装置が、第２層のＲＡＩＤ装置に接続されている。第２層のＲＡＩＤ装置は、更にデータを冗長化して、第２層の仮想ディスクを構成する。第２層の仮想ディスクは、複数の仮想ボリュームに区分されている。例えば、サーバは、第２層の仮想ディスクに構成された仮想ボリューム毎に、利用可能なドライブを認識することができる。
【０００７】
【特許文献１】特開２００６−０９９７４４号公報
【特許文献２】特開２００８−００９７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
特許文献１及び２に記載された技術によれば、ストレージ装置単体（ＳＡＮに接続されたストレージ装置単体）で、データを冗長化し且つ回復するためのものであって、冗長化管理装置（ＲＡＩＤ装置）自体が階層化されたものではない。即ち、一方のＲＡＩＤ装置が、他方のＲＡＩＤ装置における障害を考慮するようなものではない。
【０００９】
また、前述した階層型冗長ストレージシステムの場合、最上位層における仮想ディスクが、どの程度の冗長度を備えたものであるかを判断することは難しい。上位階層の冗長化になるに従って、必要となるディスク容量が増加するために、最上位層の仮想ディスクを利用するユーザは、その冗長度を把握する必要がある。特に、物理ディスク装置に障害が発生した際に、物理ディスク装置の交換等の保守管理作業をいつの時点で行うかを判断するには、その時の冗長度を知ることは極めて重要である。階層型冗長ストレージシステムにおける上位層の仮想ディスクの冗長度を知ることができれば、システム全体の冗長度を常に一定以上に保持することができる。
【００１０】
特に、階層型冗長ストレージシステムの場合、物理ディスク装置の障害によって、下位層のストレージ装置における冗長度が変更されるために、上位層のストレージ装置は、その冗長度に対応する必要がある。その冗長度に応じて、障害を発生した物理ディスク装置の交換や、スペアディスクの搭載等の保守管理作業を要する時期を知ることができる。
【００１１】
従って、本発明は、階層型冗長ストレージシステムについて、仮想ディスクからみた冗長度を容易に算出することできる冗長度算出方法、ＲＡＩＤ装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、複数のディスク装置に接続されるＲＡＩＤ装置における仮想ディスクの冗長度算出方法において、
ディスク装置及びＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度の数だけのディスク装置を冗長ディスクに設定し、その他のディスク装置をデータディスクに設定する第１のステップと、
冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする第２のステップと
仮想ディスクの冗長度を記憶する第３のステップと
を有することを特徴とする。
【００１３】
本発明の仮想ディスクの冗長度算出方法における他の実施形態によれば、ディスク装置の障害が検出された際に、第１から第３のステップが実行されることも好ましい。
【００１４】
本発明の仮想ディスクの冗長度算出方法における他の実施形態によれば、ディスク装置が、当該ＲＡＩＤ装置の下位層に接続されたＲＡＩＤ装置であって、階層型冗長ストレージシステムとして構成されていることも好ましい。
【００１５】
本発明の仮想ディスクの冗長度算出方法における他の実施形態によれば、
下位層のディスク装置から受信した冗長度変更メッセージに含まれる冗長度を、ディスク装置の冗長度とし、
第３のステップについて、仮想ディスクの冗長度が変更された際に、上位層のＲＡＩＤ装置へ、冗長度変更メッセージを送信することも好ましい。
【００１６】
本発明によれば、複数のディスク装置に接続され、仮想ディスクを提供するＲＡＩＤ装置において、
ディスク装置及びＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度の数だけのディスク装置を冗長ディスクに設定し、その他のディスク装置をデータディスクに設定する冗長／データディスク設定手段と、
冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする冗長度算出手段と、
仮想ディスクの冗長度を記憶するレジストリ手段と
を有することを特徴とする。
【００１７】
本発明のＲＡＩＤ装置における他の実施形態によれば、
ディスク装置の障害を検出するディスク監視手段を更に有し、
冗長度算出手段は、ディスク監視手段によって障害が検出された際に、冗長度を再計算することも好ましい。
【００１８】
本発明によれば、階層型冗長ストレージシステムであって、前述したＲＡＩＤ装置の下位層に接続されるディスク装置は、ＲＡＩＤ装置であることを特徴とする。
【００１９】
本発明の階層型冗長ストレージシステムにおける他の実施形態によれば、
下位層のディスク装置から受信した冗長度変更メッセージを受信し、該パケットに含まれる冗長度を、ディスク装置の冗長度として、冗長度算出手段へ通知する冗長度変更メッセージ受信手段と、
レジストリ手段に登録される仮想ディスクの冗長度が変更された際に、上位層のＲＡＩＤ装置へ、変更された冗長度を含む冗長度変更メッセージを送信する冗長度変更メッセージ送信手段と
を更に有することも好ましい。
【００２０】
本発明によれば、複数のディスク装置に接続されるＲＡＩＤ装置に搭載されたコンピュータを機能させるプログラムにおいて、
ディスク装置及びＲＡＩＤ装置には、冗長度が設定されており、
冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度の数だけのディスク装置を冗長ディスクに設定し、その他のディスク装置をデータディスクに設定する冗長／データディスク設定手段と、
冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする冗長度算出手段と、
仮想ディスクの冗長度を記憶するレジストリ手段と
してコンピュータを機能させることを特徴とする。
【発明の効果】
【００２１】
本発明の冗長度算出方法、ＲＡＩＤ装置及びプログラムによれば、階層型冗長ストレージシステムについて、仮想ディスクからみた冗長度を容易に算出することできる。
【発明を実施するための最良の形態】
【００２２】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２３】
ＲＡＩＤには、代表的にＲＡＩＤ０、１、０＋１、３、５、６がある。尚、ＲＡＩＤの高速アクセス性については、本発明における冗長度とは異なる観点であるので、ここでは特に説明しない。
【００２４】
［ＲＡＩＤ０］
データを複数のディスクに分散させ、且つ、同時にディスクアクセスをする（ストライピング）ことによって、大容量化及び高速アクセス化を実現する。しかしながら、１つのディスクが故障するだけで、全てのデータを失うこととなる。
【００２５】
［ＲＡＩＤ１］
同じデータを２台のディスクに保存する（ミラーリング）ことによって、一方のディスクが故障しても、他方のディスクによってデータを読み出すことによって、高信頼化を実現する。例えば、第１のデータを複製して２つ生成し、それぞれのディスクに同時に書き込むことによって、２つのディスクはミラーリングされる。尚、利用可能なディスク容量は、実装容量の半分となる。
【００２６】
［ＲＡＩＤ０＋１（ＲＡＩＤ１０，ＲＡＩＤ０１）］
ＲＡＩＤ０及びＲＡＩＤ１の機能を組み合わせたものである。少なくとも４台のディスクを使用し、２つのディスクのセットでＲＡＩＤ１を構成し、更に２つのセットでＲＡＩＤ０を構成する。
【００２７】
［ＲＡＩＤ３］
ｎ台のディスクのうち、ｎ−１台のディスクは、データを分散して書き込むデータディスクとして用い、１台のディスクは、パリティのみを記録する冗長ディスクとして用いる。例えば、ｎ＝５台のディスクで４Ｋバイトのデータを保存する場合、ｎ−１＝４台のディスクには、それぞれ１Ｋバイトずつ同時に書き込み、１台のディスクには、そのパリティのみを記録する。これによって、いずれか１台のディスクが故障してもデータを復旧することができる。また、ＲＡＩＤ１及びＲＡＩＤ０＋１と比較して実装容量に対する大容量化も実現する。
【００２８】
［ＲＡＩＤ５］
ｎ台のディスクに、データと誤り訂正符号とを共に分散させて記録することで、ＲＡＩＤ３におけるパリティディスクの障害発生における問題を回避する。
【００２９】
［ＲＡＩＤ６］
少なくとも４台以上のディスクに、二重のパリティデータを記録する。パリティデータを二重に作成することによって、２つのディスクの障害にも対応できる。
【００３０】
ここで、「冗長度」とは、論理ディスクに属する物理ディスク（ディスク装置）の数から、ホストからみた実際に記憶可能な容量に対応したディスク装置の数を引いて得られた数をいう。例えば、ＲＡＩＤ３で論理ディスクが物理ディスク４台で構成され、１台がパリティ用ディスクであるとき、ホストが記憶可能な容量に対応したディスク装置の数は３で冗長度は「１」である。また、ＲＡＩＤ６で物理ディスクが６台、パリティとして使われるデータがディスク装置２台相当の容量となるときは、ホストが記憶可能な容量に対応したディスク装置の数は４で、冗長度は「２」となる。
【００３１】
図２は、本発明における仮想ディスクの冗長度を算出する説明図である。
【００３２】
（Ｓ２０）図２によれば、ＲＡＩＤ装置（冗長度２）に、冗長度０〜２の複数のディスク装置（物理ディスク又は仮想ディスクのいずれであってもよい）が接続されている。
（１）ディスク装置ａ（冗長度１）
（２）ディスク装置ｂ（冗長度２）
（３）ディスク装置ｃ（冗長度１）
（４）ディスク装置ｄ（冗長度１）
（５）ディスク装置ｅ（冗長度０）
【００３３】
（Ｓ２１）最初に、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度２の数だけのディスク装置を「冗長ディスク」に設定し、その他のディスク装置を「データディスク」に設定する。
（１）ディスク装置ｅ（冗長度０）−＞冗長ディスク
（２）ディスク装置ａ（冗長度１）−＞冗長ディスク
（３）ディスク装置ｃ（冗長度１）−＞データディスク
（４）ディスク装置ｄ（冗長度１）−＞データディスク
（５）ディスク装置ｂ（冗長度２）−＞データディスク
【００３４】
（Ｓ２２）冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝（０＋１）＋１＋２
＝４
従って、図２によれば、仮想ディスクの冗長度は、「４」となる。
【００３５】
（Ｓ２３）仮想ディスクの冗長度「４」は、レジストリに登録される。
【００３６】
図３は、初期状態における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【００３７】
図３によれば、第１層のＲＡＩＤ装置１１〜１５は、第１層の仮想ディスク１１〜１５を構成している。これら第１層の仮想ディスク１１〜１５の上位層として、第２層のＲＡＩＤ装置が、第２層の仮想ディスク２１及び２２を構成している。
【００３８】
最初に、第２層の仮想ディスク２１に注目する。ＲＡＩＤ装置２１（冗長度１）には、以下の３つの第１層の仮想ディスクが接続されている。ここで、図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度１の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１１（冗長度０）      −＞冗長ディスク
第１層の仮想ディスク１２１（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１３１（冗長度１      ）−＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２１の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝０＋１＋１
＝２
従って、ＲＡＩＤ装置２１における仮想ディスクの冗長度は、「２」である。
【００３９】
次に、第２層の仮想ディスク２２に注目する。ＲＡＩＤ装置２２（冗長度２）には、以下の５つの第１層の仮想ディスクが接続されている。ここで、図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度２の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１２（冗長度０）      −＞冗長ディスク
第１層の仮想ディスク１２２（冗長度１）      −＞冗長ディスク
第１層の仮想ディスク１３２（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１４１（冗長度２）      −＞データディスク
第１層の仮想ディスク１５１（冗長度２）      −＞データディスク
データディスクの中での最小冗長度は、１である。ここで、図２のＳ２２によれば、仮想ディスク２２の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝（０＋１）＋１＋２
＝４
従って、ＲＡＩＤ装置２２における仮想ディスクの冗長度は、「４」である。
【００４０】
図４は、第１の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【００４１】
図４によれば、図３と比較して、ＲＡＩＤ装置１４に接続された１つの物理ディスク装置に障害が発生したとする。このとき、この物理ディスク装置の障害によって、ＲＡＩＤ装置１４の冗長度が「２」−＞「１」に変更されたとする。そして、第１層のＲＡＩＤ装置１４は、上位層となる第２層のＲＡＩＤ装置２２へ、冗長度「１」に変更されたことを表す冗長度変更メッセージを送信する。ＲＡＩＤ装置２２は、ＲＡＩＤ装置１４の冗長度が「１」に変更されたことを認識する。このとき、ＲＡＩＤ装置２２は、再度、冗長度を計算する。
【００４２】
第２層の仮想ディスク２２に注目する。図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度２の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１２（冗長度０）      −＞冗長ディスク
第１層の仮想ディスク１２２（冗長度１）      −＞冗長ディスク
第１層の仮想ディスク１３２（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１４１（冗長度１※変更）−＞データディスク
第１層の仮想ディスク１５１（冗長度２）      −＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２２の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝（０＋１）＋１＋２
＝４
従って、ＲＡＩＤ装置２２における仮想ディスクの冗長度は、「４」であり、変更されない。
【００４３】
図５は、第２の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【００４４】
図５によれば、図４と比較して、ＲＡＩＤ装置１１に接続された１つの物理ディスク装置に障害が発生したとする。このとき、この物理ディスク装置の障害によって、ＲＡＩＤ装置１１の冗長度「０」−＞「利用不可」に変更される。そして、第１層のＲＡＩＤ装置１１は、上位層となる第２層のＲＡＩＤ装置２１及び２２へ、「利用不可」に変更されたことを表す冗長度変更メッセージを送信する。ＲＡＩＤ装置２１及び２２は、ＲＡＩＤ装置１１が「利用不可」となったことを認識する。このとき、ＲＡＩＤ装置２１及びＲＡＩＤ装置２２は、再度、冗長度を計算する。
【００４５】
最初に、第２層の仮想ディスク２１に注目する。図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度「０」の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１１（利用不可※変更）
第１層の仮想ディスク１２１（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１３１（冗長度１      ）−＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２１の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝０＋１＋０
＝１
従って、ＲＡＩＤ装置２１における仮想ディスクの冗長度は、「１」に変更される。
【００４６】
次に、第２層の仮想ディスク２２に注目する。図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度１の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１２（利用不可※変更）
第１層の仮想ディスク１２２（冗長度１）      −＞冗長ディスク
第１層の仮想ディスク１３２（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１４１（冗長度１）      −＞データディスク
第１層の仮想ディスク１５１（冗長度２）      −＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２２の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝１＋１＋１
＝３
従って、ＲＡＩＤ装置２２における仮想ディスクの冗長度は、「３」に変更される。
【００４７】
図６は、第３の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【００４８】
図６によれば、図５と比較して、ＲＡＩＤ装置１２に接続された１つの物理ディスク装置に障害が発生したとする。このとき、この物理ディスク装置の障害によって、ＲＡＩＤ装置１２の冗長度「１」−＞「０」に変更される。そして、第１層のＲＡＩＤ装置１２は、上位層となる第２層のＲＡＩＤ装置２１及び２２へ、冗長度「０」に変更されたことを表す冗長度変更メッセージを送信する。ＲＡＩＤ装置２１及び２２は、ＲＡＩＤ装置１２の冗長度が「０」となったことを認識する。このとき、ＲＡＩＤ装置２１及びＲＡＩＤ装置２２は、再度、冗長度を計算する。
【００４９】
最初に、第２層の仮想ディスク２１に注目する。図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度０の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１１（利用不可）
第１層の仮想ディスク１２１（冗長度０※変更：最小）−＞データディスク
第１層の仮想ディスク１３１（冗長度１）            −＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２１の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝０＋０＋０
＝０
従って、ＲＡＩＤ装置２１における仮想ディスクの冗長度は、「０」に変更される。
【００５０】
次に、第２層の仮想ディスク２２に注目する。図２のＳ２１によれば、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度１の数だけのディスク装置が「冗長ディスク」に設定される。
第１層の仮想ディスク１１２（利用不可）
第１層の仮想ディスク１２２（冗長度０※変更）−＞冗長ディスク
第１層の仮想ディスク１３２（冗長度１：最小）−＞データディスク
第１層の仮想ディスク１４１（冗長度１）      −＞データディスク
第１層の仮想ディスク１５１（冗長度２）      −＞データディスク
データディスクの中での最小冗長度は、「１」である。ここで、図２のＳ２２によれば、仮想ディスク２２の冗長度は、以下の式によって表される。
仮想ディスクの冗長度＝冗長ディスクの各ディスクの冗長度＋
データディスクの中での最小冗長度＋
ＲＡＩＤ装置における冗長度
＝０＋１＋１
＝２
従って、ＲＡＩＤ装置２２における仮想ディスクの冗長度は、「２」に変更される。
【００５１】
図７は、本発明におけるＲＡＩＤ装置の機能構成図である。
【００５２】
図７によれば、ＲＡＩＤ装置１は、下位層バスアダプタ部１０１と、上位層バスアダプタ部１０２と、ＲＡＩＤ部１０３と、ディスク監視部１０４と、レジストリ部１０５と、冗長度算出部１１０と、ＲＡＩＤ冗長度制御部１１１と、冗長／データディスク設定部１１２と、冗長度変更メッセージ受信部１１３と、冗長度変更メッセージ送信部１１４とを有する。バスアダプタ以外のこれら機能構成部は、ＲＡＩＤ装置１に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００５３】
階層型冗長ストレージシステムについて、下位層バスアダプタ部１０１は、当該ＲＡＩＤ装置の下位層のディスク装置（物理ディスク又は仮想ディスク）に接続される。上位層バスアダプタ部１０２は、当該ＲＡＩＤ装置の上位層のディスク装置に接続される。ＲＡＩＤ部１０３は、既存のＲＡＩＤ機能を実現し、仮想ディスクから分割されたボリュームを、他の装置へ提供する。ディスク監視部１０４は、下位層のディスク装置に障害が発生したか否かを監視する。レジストリ部１０５は、当該ＲＡＩＤ装置が構成する仮想ディスクの冗長度を記憶する。また、ディスク装置及びＲＡＩＤ部１０３には、冗長度が設定されている。尚、ディスク監視部１０４及びレジストリ部１０５は、当該ＲＡＩＤ装置とは別に、外部に存在するものであってもよい。
【００５４】
ＲＡＩＤ冗長度制御部１１１は、ＲＡＩＤ部１０３の冗長度を制御する。ディスク監視部１０４によってディスク障害が検出された場合、ＲＡＩＤ部１０３の冗長度は、１減分される。ＲＡＩＤ部の冗長度は、冗長度算出部１１０へ通知される。
【００５５】
冗長／データディスク設定部１１２は、冗長度の低いディスク装置から順に、ＲＡＩＤ装置の冗長度の数だけのディスク装置を冗長ディスクに設定し、その他のディスク装置をデータディスクに設定する。
【００５６】
冗長度算出部１１０は、冗長ディスクに設定された各ディスク装置の冗長度と、データディスクに設定されたディスク装置の中での最小冗長度と、ＲＡＩＤ装置の冗長度との和を、ＲＡＩＤ装置における仮想ディスクの冗長度とする。冗長度算出部１１０は、ディスク監視部１０４によって障害が検出された際に、冗長度を再計算する。
【００５７】
冗長度変更メッセージ受信部１１３は、下位層のディスク装置から受信した冗長度変更メッセージを受信し、該パケットに含まれる冗長度を、ディスク装置の冗長度として、冗長度算出部１１０へ通知する。また、冗長度変更メッセージ送信部１１４は、レジストリ部１０５に登録される仮想ディスクの冗長度が変更された際に、上位層のＲＡＩＤ装置へ、変更された冗長度を含む冗長度変更メッセージを送信する。
【００５８】
以上、詳細に説明したように、本発明の冗長度算出方法、ＲＡＩＤ装置及びプログラムによれば、階層型冗長ストレージシステムについて、仮想ディスクからみた冗長度を容易に算出することできる。
【００５９】
従来技術によれば、ＲＡＩＤ装置は、１つ又は２つの物理ディスクの障害を回復させることを目的としており、冗長度を管理するものではない。本発明のＲＡＩＤ装置等によれば、階層冗長ストレージシステムについて、上位層の仮想ディスクにおける冗長度を知ることができるので、ディスク障害が発生した場合であっても、スペアディスクを直ぐに設定すべきか、それともそのまま運用することができるか、を決定することができる。通常、大量のディスク装置に対して、多重障害に対応できるように冗長化されている場合、１つのディスク装置のみであれば、そのまま運用を継続することができ、保守作業の手間を削減することできる。
【００６０】
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００６１】
【図１】階層型冗長ストレージシステムの基本構成図である。
【図２】本発明における仮想ディスクの冗長度を算出する説明図である。
【図３】初期状態における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【図４】第１の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【図５】第２の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【図６】第３の障害発生時における階層型冗長ストレージシステムの冗長度を表すシステム構成図である。
【図７】本発明におけるＲＡＩＤ装置の機能構成図である。
【符号の説明】
【００６２】
１  ＲＡＩＤ装置
１０１  下位層バスアダプタ部
１０２  上位層バスアダプタ部
１０３  ＲＡＩＤ部
１０４  ディスク監視部
１０５  レジストリ部
１１０  冗長度算出部
１１１  ＲＡＩＤ冗長度制御部
１１２  冗長／データディスク設定部
１１３  冗長度変更メッセージ受信部
１１４  冗長度変更メッセージ送信部
【図１】
2010033395.tif 000003
【図２】
2010033395.tif 000004
【図３】
2010033395.tif 000005
【図４】
2010033395.tif 000006
【図５】
2010033395.tif 000007
【図６】
2010033395.tif 000008
【図７】
2010033395.tif 000009