(57)【特許請求の範囲】
【請求項１】
物理的な記憶容量以上の仮想的な記憶容量を論理ディスクとして上位装置に提供可能なストレージ装置であって、
１以上の物理ディスクにより前記物理的な記憶容量を提供するプールと、
前記プールの物理的な記憶容量の使用率を示す割当て率を予め設定する設定手段と、
前記プールの物理的な記憶容量の使用率が前記割当て率以上となったか否かを監視する監視手段と、
前記監視手段により前記使用率が前記割当て率以上となったことが監視されると、複数の選択基準のうち予め指定された選択基準及び前記複数の選択基準それぞれに対応付けられる、未使用の物理ディスクを取得して行なわれる第１容量拡張処理、ホットスペアディスクとして用いられる物理ディスクを取得して行なわれる第２容量拡張処理、及び他のプールの物理ディスクを取得して行なわれる第３容量拡張処理を含む容量拡張処理の使用の有無に関する設定に基づいて物理ディスクを自動選択し、１の選択基準及び当該選択基準に対応付けられた前記設定に基づいて物理ディスクを選択できない場合、予め指定された順序で前記選択基準を切替えて物理ディスクを自動選択する選択手段と、
前記選択手段で自動選択した物理ディスクを用いて前記物理的な記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記自動選択される物理ディスクは、前記プールを構成していない、かつホットスペアの対象となっていない物理ディスクであることを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記自動選択される物理ディスクは、ホットスペアの対象となっている物理ディスクであることを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記プールは複数あり、
前記自動選択される物理ディスクは、他のプールにおいてＲＡＩＤを構成している物理ディスクであることを特徴とする請求項１に記載のストレージ装置。
【請求項５】
物理的な記憶容量以上の仮想的な記憶容量を論理ディスクとして上位装置に提供可能なストレージ装置の記憶容量拡張方法であって、
１以上の物理ディスクにより前記物理的な記憶容量を提供するプールの使用率が前記プールに予め設定した使用率を示す割当て率以上となったか否かを監視するステップと、
前記使用率が前記割当て率以上となったことが監視されると、複数の選択基準のうち予め指定された選択基準及び前記複数の選択基準それぞれに対応付けられる、未使用の物理ディスクを取得して行なわれる第１容量拡張処理、ホットスペアディスクとして用いられる物理ディスクを取得して行なわれる第２容量拡張処理、及び他のプールの物理ディスクを取得して行なわれる第３容量拡張処理を含む容量拡張処理の使用の有無に関する設定に基づいて物理ディスクを自動選択し、１の選択基準及び当該選択基準に対応づけられた前記設定に基づいて選択可能な物理ディスクがない場合、予め指定された順序で前記選択基準を切替えて物理ディスクを自動選択するステップと、
前記自動選択した物理ディスクを用いて前記物理的な記憶容量を拡張するステップと、
を有することを特徴とするストレージ装置の記憶容量拡張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理的な記憶容量以上の仮想的な記憶容量を上位装置に提供するストレージ装置及びそのストレージ装置の記憶容量拡張方法に関する。
【背景技術】
【０００２】
シンプロビジョニング機能を有するストレージ装置では、実際に搭載した物理ディスクの記憶容量よりもホストに見せる仮想的な論理ディスクの記憶容量を大きく設定しておき、必要なときに必要な分だけ物理ディスクの記憶容量を取得することで、初期投資にかかる費用の抑制及び省電力化によるランニングコストの低減を図っている。
【０００３】
また、記憶容量を追加する技術として、例えば、特許文献１では、ボリューム追加イベントが発生した場合、追加対象以外のボリュームについて各ボリューム毎の収集された使用容量を基に、当該各ボリューム毎に、将来の或る時刻に必要となるであろう容量を予測し、予測された容量と、既にボリュームに割り当てられている記憶容量群の容量とから不必要容量を算出し、算出された一以上の不必要容量に基づいて、追加対象ボリュームに要求される容量を満たすだけの記憶容量があるか否かを判断して、不必要容量分の記憶容量を追加対象ボリュームに割り当てることが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４１５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ストレージ装置でシンプロビジョニング機能を使用するときは、物理的な記憶容量の不足を防止するために物理的な記憶容量の閾値監視などをおこなって、記憶容量が不足する前に保守介入によって物理ディスクを追加して記憶容量を増やす運用を行っている。
【０００６】
しかしながら、物理ディスクの記憶容量がどれくらい必要となるかを事前に予測することは困難なため、保守介入による物理ディスクの追加が間に合わない事態も想定される。この場合、ストレージ装置はライトコマンドの処理を継続できないため、ライトコマンドのエラー送信又は論理ディスクをオフラインとしてホストにみせるためのステータスの返却等を行うが、ホストの種類によっては誤動作したり、あるいは重度の障害が発生する可能性がある。
【０００７】
また、シンプロビジョニング機能を有するストレージ装置に上記特許文献１の技術を適用したとしても、要求される容量を満たす記憶容量を一定の基準に基づいて追加対象ボリュームに割り当てることはできるが、当該一定の基準を満たす記憶容量がないと判断された場合は、追加対象ボリュームに記憶容量を割り当てることができない。
【０００８】
このようにボリュームに記憶容量を追加することができず、更に、既述の保守介入が間に合わない場合は、物理的な記憶容量が不足しライトコマンドの書き込みができない事態が生じるため、ホストの誤作動や重度の障害が生じる可能性がある。
【０００９】
本発明は、物理的な記憶容量の不足による障害の発生を防止できるストレージ装置及びそのストレージ装置の記憶容量拡張方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、物理的な記憶容量以上の仮想的な記憶容量を論理ディスクとして上位装置に提供可能なストレージ装置であって、１以上の物理ディスクにより前記物理的な記憶容量を提供するプールと、前記プールの物理的な記憶容量の使用率を示す割当て率を予め設定する設定手段と、前記プールの物理的な記憶容量の使用率が前記割当て率以上となったか否かを監視する監視手段と、前記監視手段により前記使用率が前記割当て率以上となったことが監視されると、複数の選択基準のうち予め指定された選択基準で物理ディスクを自動選択する選択手段と、前記選択手段で選択した物理ディスクを用いて前記物理的な記憶容量を拡張する拡張手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によると、物理的な記憶容量の不足による障害の発生を防止できるストレージ装置及びそのストレージ装置の記憶容量拡張方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係わるストレージシステムの構成を示す図である。
【図２】同実施の形態に係わる設定値管理テーブルを示す図である。
【図３】同実施の形態に係わる優先度設定テーブルを示す図である。
【図４】同実施の形態に係わる記憶容量拡張の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。
【００１４】
図１は、ストレージシステム１の構成を示す図である。図１に示すように、ストレージシステム１は、上位装置であるホスト１０と、ストレージ装置であるディスクアレイ装置２０を含んで構成されている。
【００１５】
ホスト１０は、ディスクアレイ装置２０に対してライトコマンド等の各種コマンドを送信したり、ディスクアレイ装置２０からリードデータ及び各種ステータス等の情報を受信する。
【００１６】
ディスクアレイ装置２０は、ホスト１０から受信したライトコマンドに基づくデータを記憶する。また、ディスクアレイ装置２０は、コントローラ部２００と、ディスク部３００とから構成されている。
【００１７】
コントローラ部２００は、ホストコントローラ２１０、制御部２２０、ディスクコントローラ２３０及びキャッシュメモリ２４０を含んでおり、ディスク部３００は、１以上の物理ディスク３０１、物理ディスク３０２及び物理ディスク３０３を含んでいる。
【００１８】
先ず、ディスク部３００について説明する。
【００１９】
ディスク部３００は、１以上（例えば、５つ）の物理ディスク３０１によって構成されるプール３１０ａ乃至３１０nを有しており、当該プール３１０ａ乃至３１０nはそれぞれ所定の物理的な記憶容量を有している。
【００２０】
物理ディスク３０２は、未使用、かつ、プール３１０ａ乃至３１０nを構成しない物理ディスクであり、更に、ホットスペアの対象としても設定されていない物理ディスクである。
【００２１】
物理ディスク３０３は、ホットスペアの対象として設定されている物理ディスクである。この物理ディスク３０３は、プール３１０ａ乃至３１０ｎで共有されるホットスペアとなっている。また、図１では、物理ディスク３０３は、１つしか図示していないが、複数の物理ディスク３０３を有する構成でも良い。なお、ホットスペアに関する技術は従来よりあるものと同様であるため詳細な説明は省略する。
【００２２】
次に、コントローラ部２００について説明する。
【００２３】
ホストコントローラ２１０は、ホスト１０から受信したコマンドに基づく処理を実行する。例えば、ホストコントローラ２１０は、ホスト１０からライトコマンドを受信した場合に、この受信したライトコマンドに基づいてデータをディスク部３００内に記憶するための受信処理を行い、また、ホスト１０からリードコマンドを受信した場合は、この受信したリードコマンドに基づいてデータをディスク部３００内から読み出すための受信処理を行う。
【００２４】
制御部２２０は、従来と同様に、ストレージ装置としての機能及びシンプロビジョニング機能を実現するための機能を有しており、その他に、設定手段である設定値管理部２２１、優先度設定部２２２、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４、他プールディスク取得部２２５、監視手段である監視部２２６、選択手段である選択部２２７、拡張手段である拡張部２２８及びアラーム送信部２２９により実現される機能を有している。
【００２５】
これら設定値管理部２２１、優先度設定部２２２、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４、他プールディスク取得部２２５、監視部２２６、選択部２２７、拡張部２２８及びアラーム送信部２２９の実現する機能は、図示しないＣＰＵが記憶部に記憶されたプログラムを実行することにより実現される。これらの機能の詳細については後述する。
【００２６】
また、シンプロビジョニング機能は、１以上の物理ディスクにより構成されるプールが提供する物理的な記憶容量以上の仮想的な記憶容量を論理ディスクとしてホスト１０に提供する機能である。このシンプロビジョニング機能については従来よりあるものと同様であるため説明は省略する。
【００２７】
さらに、本実施の形態のディスクアレイ装置２０においては、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５のいずれかによって物理ディスクを取得することにより、プールの物理的な記憶容量を拡張するための物理ディスクを自動選択できるようになっている。この物理ディスクを自動選択する処理の詳細については後述する。
【００２８】
ディスクコントローラ２３０は、ホストコントローラ２１０が受信処理したコマンドに基づいて、ディスク部３００内の物理ディスク３０１にデータを記憶したり、ディスク部３００内の物理ディスク３０１に記憶しているデータを読み出す処理を実行する。
【００２９】
キャッシュメモリ２４０は、各種データを保存するメモリである。キャッシュメモリ２４０には、ユーザエリア２４１と制御情報エリア２４２とが設けられている。また、制御情報エリア２４２には、論理ディスク情報管理テーブル２４３、プール情報管理テーブル２４４ａ乃至２４４ｎ、物理容量マップ２４５ａ乃至２４５ｎ、設定値管理テーブル２４６及び優先度設定テーブル２４７が設けられている。
【００３０】
ユーザエリア２４１には、ディスクアレイ装置２０を使用するユーザに応じたデータが記憶される。
【００３１】
次に、制御情報エリア２４２に設けられた論理ディスク情報管理テーブル２４３、プール情報管理テーブル２４４ａ乃至２４４ｎ、物理容量マップ２４５ａ乃至２４５ｎ、設定値管理テーブル２４６及び優先度設定テーブル２４７について説明する。
【００３２】
論理ディスク情報管理テーブル２４３は、ホスト１０からのアクセス単位である論理ディスクを管理する。
【００３３】
プール情報管理テーブル２４４ａ乃至２４４ｎは、それぞれプール３１０ａ乃至プール３１０nまでのプールに関する情報を管理するテーブルである。プール情報管理テーブル２４４ａ乃至２４４ｎは、いくつかの物理ディスク３０１により構成されるＲＡＩＤの冗長構成を管理する。
【００３４】
物理容量マップ２４５ａ乃至２４５ｎは、それぞれ論理ディスク情報管理テーブル２４３で管理される論理ディスクと物理ディスク３０１との対応関係及び物理ディスク３０１の論理ディスクと対応する記憶領域が「未使用」であるか「使用済み」であるかを示すフラグを記憶する。
【００３５】
上記の論理ディスク情報管理テーブル２４３、プール情報管理テーブル２２４ａ乃至２４４ｎ及び物理容量マップ２４５ａ乃至２４５ｎは、従来よりある論理ディスク情報管理テーブル、プール情報管理テーブル、物理容量マップと同様である。
【００３６】
設定値管理テーブル２４６は、プール毎に設定される各種設定値を管理するテーブルであり、例えば、図２に示すように、プール番号を記憶するフィールド２４６ａ、アラーム設定値を記憶するフィールド２４６ｂ、物理的な記憶容量（物理容量）を記憶するフィールド２４６ｃ、ＲＡＩＤ構成情報を記憶するフィールド２４６ｄ、冗長ディスク数を記憶するフィールド２４６ｅ、割当て率を記憶するフィールド２４６ｆ、拡張対象フラグを記憶するフィールド２４６ｇが設けられている。
【００３７】
フィールド２４６ａに記憶されるプール番号は、各プールを識別するための番号である。フィールド２４６ａに記憶されている番号０乃至番号ｎは、それぞれ、プール３１０ａ乃至３１０ｎと対応している。
【００３８】
フィールド２４６ｂに記憶されるアラーム設定値は、プール３１０ａ乃至３１０ｎから提供される物理的な記憶容量のうち所定の記憶容量が使用された場合に、ホスト１０にアラームを送信するための閾値である。当該アラーム設定値はユーザが任意に設定可能である。
【００３９】
フィールド２４６ｃに記憶される物理的な記憶容量は、プール３１０ａ乃至３１０ｎから提供される物理的な記憶容量を示している。
【００４０】
フィールド２４６ｄに記憶されるＲＡＩＤ構成情報は、プール３１０ａ乃至３１０ｎに構成されるＲＡＩＤの構成を示す情報である。
【００４１】
フィールド２４６ｅに記憶される冗長ディスク数は、プール３１０ａ乃至３１０ｎでそれぞれいくつディスクが故障してもデータの信頼性を保つことができるかを示す数である。例えば、ＲＡＩＤ５は冗長ディスク数が１であり、ＲＡＩＤ６は冗長ディスク数が２である。
【００４２】
フィールド２４６ｆに記憶される割当て率は、プール３１０ａ乃至３１０ｎに対して予め設定される所定の使用率を示している。本実施の形態においては、割当て率は、プール３１０ａ乃至３１０ｎにおいて、それぞれプールを構成する物理ディスクから提供される物理的な記憶容量と、当該物理的な記憶容量に対してユーザが予め設定する使用済みの記憶容量との割合である。
【００４３】
フィールド２４６ｇに記憶される拡張対象フラグは、物理的な記憶容量を拡張する必要があるか否かを示すフラグである。例えば、拡張対象フラグは、初期状態では「０」であるが、プールの物理的な記憶容量を拡張する必要がある場合には「１」に設定され、当該プールの物理的な記憶容量の拡張が終了すると再び「０」に設定される。
【００４４】
次に優先度設定テーブル２４７について説明する。優先度設定テーブル２４７は、複数の選択基準のうち予め指定された選択基準で物理ディスクを自動選択する際に用いられるテーブルである。
【００４５】
優先度設定テーブル２４７は、図３に示すように、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５について、それぞれ、「使用する」又は「使用しない」並びに優先度「１」乃至「３」のいずれかが設定されている。
【００４６】
図３に示す例では、未使用ディスク取得部２２３には、「使用する」及び優先度「１」が設定されている。また、ホットスペアディスク取得部２２４には、「使用しない」及び優先度「３」が設定されている。さらに、他プールディスク取得部２２５には、「使用する」及び優先度「２」が設定されている。
【００４７】
次に、制御部２２０について説明する。
【００４８】
設定値管理部２２１は、ホスト１０を介したユーザの指示に基づいて、設定値管理テーブル２４６に値を設定する。本実施の形態では、各プール毎に、アラーム設定値、物理的な記憶容量、ＲＡＩＤ構成情報、冗長ディスク数及び割当て率を設定する。
【００４９】
なお、プールの物理的な記憶容量、ＲＡＩＤ構成情報、及び冗長ディスク数は、プール作成時に所定の管理情報に基づいて自動的に設定されるようにしても良い。
【００５０】
優先度設定部２２２は、ホスト１０を介したユーザの指示に基づいて、優先度設定テーブル２４７に値を設定する。本実施の形態では、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５について、それぞれ「使用する」／「使用しない」を設定するとともに、優先度を設定する。
【００５１】
未使用ディスク取得部２２３は、未使用の物理ディスク、例えば、プールに構成されるものではなく、かつ、ホットスペアの対象となっていない物理ディスクで、かつ、記憶容量の拡張が必要とされているプールの条件（例えば、記憶容量）と合致するものをディスク部３００内から取得する。
【００５２】
ホットスペアディスク取得部２２４は、ホットスペアディスクとして設定されている物理ディスクのうち、未使用、かつ、記憶容量の拡張が必要とされているプールの条件（例えば、記憶容量）と合致するものを検索し、ホットスペアの対象となっている属性を未使用の物理ディスクの属性に変更することにより、未使用の物理ディスクを取得する。
【００５３】
他プールディスク取得部２２５は、他のプールにおいてＲＡＩＤを構成している物理ディスクを取得する。本実施の形態では、他プールディスク取得部２２５は、設定値管理テーブル２４６を検索し、記憶容量の拡張が必要とされているプールの条件（例えば、記憶容量）と合致し、かつ、冗長ディスク数が２以上（例えば、ＲＡＩＤ６が設定されているプール）で物理的な記憶領域としての使用率が低いプールを検索する。そして、他プールディスク取得部２２５は当該検索したプールに属している物理ディスクの１台を当該時点でディスクアレイ装置２０に物理ディスク３０１を未搭載の位置の番号の物理ディスクとプール情報管理テーブル上で交換して未使用の物理ディスクを作り出すことにより、未使用の物理ディスクを取得する。
【００５４】
なお、未使用の物理ディスクの取得元のプールは、冗長度をひとつ落とした状態（例えば、ＲＡＩＤ６からＲＡＩＤ５）で運用されるので、後日、保守作業で当該プールに物理ディスク３０１を１つ追加する作業を行なうことにより、再び、冗長ディスク数を高く（ＲＡＩＤ６に）して運用することが可能となる。
【００５５】
監視部２２６は、常にバックグラウンドで動作し、プール毎に物理的な記憶容量の使用率が割当て率以上となったか否かを監視する。
【００５６】
本実施の形態では、監視部２２６は、物理容量マップ２４５ａ乃至２４５ｎを用いてプール毎の物理的な記憶容量の使用率を監視し、当該物理容量マップの物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４６ｆに記憶されている割当て率以上となった場合に、設定値管理テーブル２４６の拡張対象フラグを「０」から「１」にする。なお、物理的な記憶容量の使用率は、例えば、各物理容量マップの使用済みのフラグ（例えば、「１」）及び未使用のフラグ（例えば、「０」）の合計と、使用済みのフラグ（例えば、「１」）の合計とから算出することができる。
【００５７】
選択部２２７は、監視部２２６により使用率が割当て率以上となったことが監視されると、複数の選択基準のうち予め指定された選択基準で物理ディスクを自動選択する。また、選択部２２７は、１の選択基準で選択可能な物理ディスクがない場合、予め指定した順序で選択基準を切替える。
【００５８】
本実施の形態では、選択部２２７は、設定値管理テーブル２４６の拡張対象フラグが「１」となった場合に、優先度設定テーブル２４７で設定された「使用する」／「使用しない」及び優先度を基準として、既述の未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５のいずれかによって取得される物理ディスクを、物理的な記憶領域を拡張するための物理ディスクとして選択する。また、選択部２２７は、当該選択可能な物理ディスクがない場合は、優先度設定テーブル２４７の設定に応じて選択基準を替える。
【００５９】
拡張部２２８は、選択部２２７で選択した物理ディスクを用いて物理的な記憶容量を拡張する。
【００６０】
本実施の形態では、拡張部２２８は、選択部２２７により選択された物理ディスクを用いて、設定値管理テーブル２４６の拡張フラグが「１」となっているプールに当該物理ディスクを追加して、当該プールの物理的な記憶容量を拡張し、その拡張後に設定値管理テーブル２４６の拡張対象フラグを「１」から「０」にする。
【００６１】
アラーム送信部２２９は、プールの物理的な記憶容量の使用容量がアラーム設定値以上であるときにホスト１０にアラームを送信する。
【００６２】
次に、以上のように構成されたディスクアレイ装置２０において、プールに物理ディスクを追加して当該プールの物理的な記憶容量を拡張する際の処理を、図４を参照しながら説明する。
【００６３】
監視部２２６は、常にバックグラウンドで動作しており、物理容量マップにおける物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４６ｆに記憶された割当て率以上となったか否かを監視する監視処理をプール毎に行っている（Ｓ１０１）。
【００６４】
そして、監視部２２６は、物理容量マップにおける物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４６ｆに記憶された割当て率以上となったか否かを判断する（Ｓ１０２）。
【００６５】
物理容量マップにおける物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４６ｆに記憶された割当て率以上でない場合には（Ｓ１０２：ＮＯ）、ステップＳ１０１へ戻り、監視部２２６は、次のプールに対する監視処理を行う。
【００６６】
一方、物理容量マップにおける物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４６ｆに記憶された割当て率以上となった場合には（Ｓ１０２：ＹＥＳ）、監視部２２６は、当該プールの設定値管理テーブル２４６のフィールド２４６ｇに拡張対象フラグ「１」を設定する（Ｓ１０３）。
【００６７】
このように拡張対象フラグが「１」に設定されると、選択部２２７は、優先度設定テーブル２４７を参照する（Ｓ１０４）。
【００６８】
そして、選択部２２７は、優先度設定テーブル２４７に設定された「使用する」／「使用しない」及び優先度の設定に応じて、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５のうちのいずれかの取得部（以下、物理ディスク取得部と称する。）を選択する（Ｓ１０５）。このように物理ディスク取得部が選択され、既述のように所定の条件に合致する物理ディスクが検索されて取得された物理ディスクが、物理的な記憶容量を拡張するための物理ディスクとして選択される。
【００６９】
次に、選択部２２８は、物理ディスク取得部を選択できたか否かを判断する（Ｓ１０６）。
【００７０】
物理ディスク取得部を選択できたと判断した場合は（Ｓ１０６：ＹＥＳ）、選択部２２７は、当該選択した物理ディスク取得部で物理的な記憶容量を拡張するための条件（例えば、記憶容量）に合致する物理ディスクを選択できたか否かを判断する（Ｓ１０７）。
【００７１】
条件に合致する物理ディスクを選択できた場合は（Ｓ１０７：ＹＥＳ）、拡張部２２８は、当該選択した物理ディスクを当該プールに追加する処理を行い、当該プールで提供する物理的な記憶容量を拡張し（Ｓ１０８）、設定値管理テーブル２４６の拡張対象フラグを「１」から「０」にする（Ｓ１０９）。そして、この処理を終了し、監視部２２６によるステップＳ１０１の監視処理を再び開始する。
【００７２】
また、条件に合致する未使用の物理ディスクを選択できなかった場合は（Ｓ１０７：ＮＯ）、容量拡張部２２３は、再度、ステップＳ１０５乃至Ｓ１０７の処理を繰り返す。この際、優先度設定テーブル２４７に応じて、物理ディスク取得部の選択基準が切替えられる。
【００７３】
一方、ステップＳ１０６において、物理ディスク取得部を選択できなかったと判断した場合（Ｓ１０６：ＮＯ）、すなわち、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４及び他プールディスク取得部２２５の全てが既に選択済みあるいは選択不能（本実施の形態では、「使用しない」が設定されている場合）のいずれかであった場合は、アラーム送信部２２９は、当該プールの使用済みの物理的な記憶容量が設定値管理テーブル２４６のフィールド２４６ｂに記憶されるアラーム設定値を超えているか否かを判断する（Ｓ１１０）。
【００７４】
アラーム設定値を超えていると判断した場合は（Ｓ１１０：ＹＥＳ）、アラーム送信部２２９は、アラームをホスト１０へ送信する（Ｓ１１１）。アラーム設定値を超えていないと判断した場合は（Ｓ１１０：ＮＯ）、アラーム送信部２２９はこの処理を終了し、監視部２２６はステップＳ１０１の監視処理を再び開始する。
【００７５】
次に、以上のように構成されたディスクアレイ装置２０がプールの物理的な記憶容量を拡張する場合の例について説明する。
【００７６】
ディスクアレイ装置２０は、ホスト１０から論理ディスクを介して発行されるライトコマンドに対して、当該論理ディスクと対応するプールの物理容量マップに未使用のフラグがあれば、当該未使用のフラグと対応する記憶領域に使用済みのフラグをセットし、プール情報管理テーブルで管理されているＲＡＩＤ構成情報に従い、ＲＡＩＤのデータ変換を行なった後、対象となる物理ディスク３０１に対してデータの書き込みを行なう。
【００７７】
この際、当該物理容量マップの物理的な記憶容量の使用率が設定値管理テーブル２４６のフィールド２４４ｆに設定されている割当て率以上となると、監視部２２６により、当該プールの拡張対象フラグが「０」から「１」に設定される。これにより、当該プールは物理的な記憶容量の拡張対象となる。
【００７８】
そして、選択部２２７により、優先度設定テーブル２４７が参照された後、「使用する」及び優先度「１」が設定された未使用ディスク取得部２２３が選択され、条件に合致する物理ディスクが検索されることにより、物理的な記憶領域を拡張するための物理ディスクが選択される。
【００７９】
選択できた場合は、拡張部２２８により、当該選択した物理ディスクがプールに追加され、物理的な記憶容量が拡張される。このように物理的な記憶容量が拡張されると、拡張部２２８により、当該プールの設定値管理テーブル２４６の拡張対象フラグは「１」から「０」に設定される。
【００８０】
一方、選択できなかった場合は、選択部２２７により、再び優先度設定テーブル２４７が参照され、「使用する」及び優先度「２」が設定された他プールディスク取得部２２５が選択され、条件に合致する物理ディスクが検索されることにより、物理的な記憶領域を拡張するための物理ディスクが選択される。
【００８１】
選択きた場合は、拡張部２２８により、当該選択した物理ディスクがプールに追加され、物理的な記憶領域が拡張される。このように物理的な記憶容量が拡張されると、拡張部２２８により、設定値管理テーブル２４６の拡張対象フラグは、「１」から「０」に設定される。
【００８２】
一方、選択できなかった場合は、選択部２２７により、再び優先度設定テーブル２４７が参照されるが、本実施の形態では、これ以上選択可能な物理ディスク取得部はない。したがって、物理的な記憶容量を拡張するための物理ディスクを選択することができず、当該プールの物理的な記憶容量の拡張は行なわれない。
【００８３】
そして、アラーム送信部２２９により、当該プールの使用済みの記憶容量が設定値管理テーブル２４６のアラーム設定値を超えているか否かが判断され、アラーム設定値を超えている場合にアラームがホスト１０に送信される。
【００８４】
なお、物理容量の拡張がされなかった場合は設定値管理テーブル２４６の拡張対象フラグが「１」から「０」にリセットされない。したがって、監視部２２６の監視処理によって拡張対象フラグが再び「１」であることが確認された場合は、ディスクアレイ装置２０は、上述した処理を再度行う。そして、再び物理的な記憶領域が拡張できない場合は、当該プールの使用済みの記憶容量が設定値管理テーブル２４６のアラーム設定値を超えたままであるため、ディスクアレイ装置２０は、ホスト１０へアラームを再び送信する。
【００８５】
このように、ディスクアレイ装置２０はアラームを送信し続けた後、当該プールの物理容量マップに未使用のフラグの領域がなくなったときに、ホスト１０に対して、ライトコマンドのエラー又は論理ディスクオフラインとしてみせるためのステータスを送信する。
【００８６】
この実施の形態のディスクアレイ装置２０によると、監視部２２６によりプールの物理的な記憶容量の使用率が割当て率以上となったことが監視されると、複数の選択基準のうち予め指定された選択基準で物理ディスクを自動選択し、当該選択した物理ディスクを用いて当該プールの物理的な記憶容量を拡張することができるので、物理的な記憶容量の拡張について柔軟な運用を図ることができる。
【００８７】
したがって、ディスクアレイ装置２０は、物理的な記憶容量が不足する事態をできるだけ回避し、物理的な記憶容量の不足による障害の発生を防止することができる。
【００８８】
また、当該プールの物理的な記憶容量を拡張できない場合は、設定値管理テーブル２４６の拡張対象フラグが「１」のままとなるので、監視部２２６が当該拡張対象フラグ「１」を見つける都度、使用した記憶容量がアラーム設定値を超えている場合には、アラームがホスト１０に対して送信される。
【００８９】
なお、上記実施の形態では、物理ディスクの取得方法として、未使用ディスク取得部２２３、ホットスペアディスク取得部２２４、他プールディスク取得部２２５の３つの方法がある場合で説明しているが、これに限られるものではない。
【００９０】
また、本実施の形態では、優先度設定テーブル２４７において優先度に加えて、「使用する」／「使用しない」が設定可能となっている場合で説明したが、「使用する」／「使用しない」の設定は設けず、優先度のみ設定するような構成としても良い。
【００９１】
さらに、未使用物理ディスク取得部２２３を「使用する」かつ優先度「１」、ホットスペアディスク取得部２２４を「使用しない」かつ優先度「３」及び他プール物理ディスク取得部２２５を「使用する」かつ優先度「２」と設定した場合で説明したが、これに限られるものではなく、「使用する」／「使用しない」の設定及び優先順位の設定は、ユーザが自由に設定可能である。
【産業上の利用可能性】
【００９２】
物理的な記憶容量以上の仮想的な記憶容量を上位装置に提供するストレージ装置について広く適用することができる。
【符号の説明】
【００９３】
１・・・・・ストレージシステム
１０・・・・ホスト
２０・・・・ディスクアレイ装置
２００・・・コントローラ部
２２１・・・設定値管理部
２２２・・・優先度設定部
２２３・・・未使用ディスク取得部
２２４・・・ホットスペアディスク取得部
２２５・・・他プールディスク取得部
２２６・・・監視部
２２７・・・選択部
２２８・・・拡張部
２２９・・・アラーム送信部
２４３・・・論理ディスク情報管理テーブル
２４４ａ〜２４４ｎ・・・プール情報管理テーブル
２４５ａ〜２４５ｎ・・・物理容量マップ
２４６・・・設定値管理テーブル
２４７・・・優先度設定テーブル
３００・・・ディスク部
３０１〜３０３・・・物理ディスク
３１０ａ〜３１０ｎ・・・プール
【図１】
0005540692.tif 000002
【図２】
0005540692.tif 000003
【図３】
0005540692.tif 000004
【図４】
0005540692.tif 000005