(57)【特許請求の範囲】
【請求項１】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を１つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記所定の閾値を超えた場合、前記割当済みの前記プールの記憶容量のうち未使用の記憶領域を解放し、当該解放した記憶領域を用いて前記プールの未割当ての記憶容量を増加する増加手段を備え、
前記増加手段で未割当ての記憶容量を増加させても前記割当済みの前記プールの記憶容量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段による処理を行う、ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記
縮退した冗長性を回復する回復手段と、
を備えることを特徴とする請求項１又は２記載のストレージ装置。
【請求項４】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を１つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プールを用いてデータを記憶するストレージ装置及びプール容量拡張方法に関する。
【背景技術】
【０００２】
ストレージ装置に用いられる機能の１つにシンプロビジョニングと呼ばれる機能が知られている。シンプロビジョニング機能は、ホスト計算機へ大容量の仮想容量の論理ディスクを割り当てておき、論理ディスクに書き込まれたデータ量に応じて、自動的にプールの領域を論理ディスクに割り当てる機能である。
【０００３】
このシンプロビジョニング機能を有するストレージ装置においては、一般的に、プールの容量監視を行い、プールの割当済領域の容量が閾値を超えた場合にストレージ装置の管理者に通報を行い、物理ディスクを追加購入してストレージ装置へ搭載し、プールに物理ディスクを組み込み、プールの容量を拡張することにより、ホスト計算機の書き込みに対して割り当てる領域が無くならないようにし、業務を継続可能とする運用を行っている。
【０００４】
しかしながら、ストレージ装置の運用状況によっては、割当済領域の容量が閾値を超え、空き容量が無くなりつつあるにも関わらず、プールに組み込むための空き物理ディスクが無く、更に物理ディスクの追加購入に時間がかかる場合も想定される。このような場合は、プールに物理ディスクを組み込むまで業務を停止しなければならなかった。
【０００５】
このような事態を回避するために、別のプールの冗長性を解除して物理ディスクを確保し、容量不足になっているプールへ確保した物理ディスクを組み込むことで、プールの空き容量を増加させる技術が知られている（例えば、特許文献１参照）。しかし、この技術では、他のプールの冗長性を解除できない場合、プールの空き容量を増加させることができない。
【０００６】
また、他の技術として、容量不足になっているプールの冗長性を解除するように、プールのＲＡＩＤレベルを変更して、プールの空き容量を増加させる技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３４３９２４号公報
【特許文献２】特開２００９−０３７３０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献２に記載の技術では、ＲＡＩＤレベルを変更する必要があり、ＲＡＩＤレベルを変更できない環境の場合、プールの空き容量を増加させることができず、結局、プールに物理ディスクを組み込むまで業務を停止しなければならないという問題を解決することができない。ＲＡＩＤレベルを変更できない環境の一例としては、データ改ざん防止の目的で論理ディスクの属性が変更できなくなっており、プール中に変更不可能な領域が設定されている環境が挙げられる。
【０００９】
つまり、特許文献１及び２に記載の技術では、他のプールの冗長性を解除できず、かつ容量不足になっているプールのＲＡＩＤレベルの変更を行なえない環境では、ホスト計算機から論理ディスクへのＩ／Ｏを継続させたまま、かつ、データの冗長性を残したままで、プール容量を拡張することができないという課題があった。
【００１０】
本発明は、上記事情に鑑みてなされたものであり、その目的は、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのＲＡＩＤレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのＩ／Ｏを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びプール容量拡張方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を１つ縮退することにより得られる物理ディスクをプールから切り離す切り離し手段と、切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、消去手段でデータを消去した物理ディスクをプールに組み込む組み込み手段と、組み込み手段で組み込んだ物理ディスクを用いてプールの記憶容量を拡張する拡張手段と、を備えることを特徴とする。
【００１２】
他の本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を１つ縮退することにより得られる物理ディスクをプールから切り離すステップと、切り離した物理ディスクのデータを消去するステップと、データを消去した物理ディスクをプールに組み込むステップと、組み込んだ物理ディスクを用いてプールの記憶容量を拡張するステップと、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によると、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのＲＡＩＤレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのＩ／Ｏを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びびプール容量拡張方法を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るストレージシステムの構成を概略的に示す図である。
【図２】同実施の形態に係るプール情報テーブルの一例を示す図である。
【図３】同実施の形態に係る物理ディスク情報テーブルの一例を示す図である。
【図４】同実施の形態に係るマッピングテーブルの一例を示す図である。
【図５】同実施の形態に係る容量監視手段の処理を示すフローチャートである。
【図６】図５におけるステップＳ１２０の処理を示すフローチャートである。
【図７】図６におけるステップＳ２００の処理を示すフローチャートである。
【図８】図６におけるステップＳ２３０の処理を示すフローチャートである。
【図９】図６におけるステップＳ２４０の処理を示すフローチャートである。
【図１０】図６におけるステップＳ２５０及び図１２におけるステップＳ８００の処理を示すフローチャートである。
【図１１】図６におけるステップＳ２６０の処理を示すフローチャートである。
【図１２】同実施の形態に係る構成制御手段の処理を示すフローチャートである。
【図１３】図１２におけるステップＳ８１０の処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
図１は、ホスト計算機１００とストレージ装置２００とを有するストレージシステムの構成を概略的に示す図である。
【００１６】
ストレージ装置２００は、物理ディスク群２３０から構成されるプール２２０と、プール２２０に構築される論理ディスク群２１０とを備える。また、プール２２０には、仮想容量論理ディスク２１１に割り当てられた領域である割当済領域２２１、及び仮想容量論理ディスク２１１に未割当の領域である未割当領域２２２を有している。
【００１７】
また、ストレージ装置２００は、割当済領域２２１の容量を閾値監視する容量監視手段２４１と、割当済領域２２１のうちホスト計算機１００から未使用の領域を解放し未割当領域２２２へ移す領域解放手段２４２と、プール２２０に対して物理ディスクを組み込む物理ディスク組込み手段２４５と、プール２２０から物理ディスク２３１を切り離す物理ディスク切り離し手段２４６と、物理ディスク２３１内部のデータを消去する物理ディスクデータ消去手段２４７と、プール２２０に組み込んだ物理ディスク２３１を用いてプールの容量を拡張するプール容量拡張手段２４３と、プール２２０に組み込んだ物理ディスク２３１を用いてプール２２０の冗長性を回復するプール冗長性回復手段２４４と、物理ディスク２３１のプール２２０への割り当て状態を管理する物理ディスク情報テーブル２５１と、プール２２０の状態、容量、構成する物理ディスク２３１を管理するプール情報テーブル２５０と、プール２２０の容量拡張を管理するマッピングテーブル２５２と、容量監視手段２４１、プール情報テーブル２５０及び物理ディスク情報テーブル２５１とを用いてプール２２０の構成を制御する構成制御手段２４０とを備える。
【００１８】
なお、プール２２０に格納されるデータは複数のブロックに分割される。また、本実施の形態では、プール２２０はＲＡＩＤ６が構成されており、１つのブロックは６つのストライプに分割されている。なお、本実施の形態ではプール２２０のＲＡＩＤレベルはＲＡＩＤ６とするが、他のＲＡＩＤレベルであっても２以上の冗長性があれば応用可能である。
【００１９】
なお、プール２２０は、複数の物理ディスク２３１により冗長化されて構成される仮想記憶媒体である。
【００２０】
また、仮想容量論理ディスク２１１は、ストレージ装置２００におけるホスト計算機１００から見たアクセス単位であり、プール２２０の領域を分割して構築される。また、仮想容量論理ディスク２１１のデータは、仮想容量論理ディスク２１１を構築するプール２２０上の領域と対応付けられた物理ディスク群２３０内の物理ディスク２３１に格納される。
【００２１】
更に、ＲＡＩＤ６は、データを構成するブロックをいくつかのストライプに分割し、ＲＡＩＤを構成する各物理ディスク２３１にストライプを分散格納するＲＡＩＤ方式である。この時、１ブロックに対して２つのパリティデータを生成し各物理ディスク２３１に分散格納する。
【００２２】
図２は、プール情報テーブル２５０の一例を示す図である。プール情報テーブル２５０は、プール２２０を識別するプール番号と、プール２２０の状態と、プール２２０を構成する物理ディスク２３１の物理ディスク番号と、プール２２０の割当済領域２２１の容量の閾値超えの状態を識別する閾値超え状態の対から構成される。
【００２３】
図３は、物理ディスク情報テーブル２５１の一例を示す図である。物理ディスク情報テーブル２５１は、物理ディスク２３１を識別する物理ディスク番号と、物理ディスク２３１が組み込まれているプール２２０を識別するプール番号の対から構成される。
【００２４】
図４は、マッピングテーブル２５２の一例を示す図である。マッピングテーブル２５２は、プール２２０の容量拡張又はプール２２０の冗長性回復の際に使用するテーブルである。
【００２５】
マッピングテーブル２５２は、データのコピー元となるブロックを識別するブロック番号、データのコピー元となるブロック中のストライプを識別するストライプ番号、データのコピー元となるストライプが格納されている物理ディスク２３１を識別する物理ディスク番号、ストライプのコピーの状態を識別するコピー状態、データのコピー先となるブロック中のストライプを識別するコピー先ストライプ番号、データのコピー先となるブロックを識別するコピー先ブロック番号、データのコピー先となるストライプを格納する物理ディスクを識別するコピー先物理ディスク番号の対から構成される。
【００２６】
次に、ストレージ装置２００が実行する処理について図５乃至図１３を参照しながら説明する。
【００２７】
図５は容量監視手段２４１の処理を示すフローチャートである。容量監視手段２４１は、ユーザからプール２２０に対する容量監視の指示及び閾値の指示に基づいて、割当済領域２２１の容量を取得する（Ｓ１００）。
【００２８】
次に、容量監視手段２４１は、割当済領域２２１の容量が設定された閾値を超えているか否かを判定する（Ｓ１１０）。
【００２９】
割当済領域２２１の容量が設定された閾値を超えていると判定した場合は（Ｓ１１０：ＹＥＳ）、容量監視手段２４１は、構成制御手段２４０へプール番号と、閾値の値と共に、閾値超えを報告する（Ｓ１２０）。
【００３０】
このように構成制御手段２４０へ報告を行った場合（Ｓ１２０）、又は、割当済領域２２１の容量が設定された閾値を超えていないと判定した場合は（Ｓ１１０：ＮＯ）、容量監視手段２４１は、ユーザから容量監視終了の指示が出ているか否かを判定する（Ｓ１３０）。
【００３１】
ユーザから容量監視終了の指示が出ていないと判定した場合（Ｓ１３０：ＮＯ）、容量監視手段２４１は、Ｓ１００のステップに戻って容量の監視を継続する。
【００３２】
一方、ユーザから容量監視終了の指示が出ていると判定した場合（Ｓ１３０：ＹＥＳ）、容量監視手段２４１は、容量を監視する処理を終了する。
【００３３】
図６は既述のステップＳ１２０において、容量監視手段２４１から閾値超えの報告を受けた場合に、構成制御手段２４０が実行する処理を示すフローチャートである。
【００３４】
構成制御手段２４０は、容量監視手段２４１から閾値超えの報告を受けた場合、領域解放手段２４２へ閾値の値と共に割当済領域２２１の中でホスト計算機１００によって使用されてない未使用記憶領域を解放するように要求する（Ｓ２００）。
【００３５】
次に、構成制御手段２４０は、領域解放手段２４２が未使用記憶領域を解放した後のプール２２０の状態をプール情報テーブル２５０に書き込み、閾値超えが解決されているか否かを判定する（Ｓ２１０）。閾値超えが解決されていると判定した場合は（Ｓ２１０：ＹＥＳ）、構成制御手段２４０は、この処理を終了する。
【００３６】
閾値超えが解決されていないと判定した場合は（Ｓ２１０：ＮＯ）、構成制御手段２４０は、物理ディスク情報テーブル２５１を参照し、いずれのプール２２０にも組み込まれていない物理ディスク２３１があるか否かを判定する（Ｓ２２０）。
【００３７】
該当する物理ディスク２３１がないと判定した場合（Ｓ２２０：ＮＯ）、構成制御手段２４０は、プール情報テーブル２５０を参照し、プール２２０を構成している物理ディスク２３１を１つ選択し、物理ディスク切り離し手段２４６へ当該選択した物理ディスク２３１の物理ディスク番号、プール２２０のプール番号とを伝え、プール２２０から物理ディスクを１つ切り離すように要求する（Ｓ２３０）。
【００３８】
次に、構成制御手段２４０は、プール２２０から切り離した物理ディスク２３１の物理ディスク番号と共に切り離し完了の報告を物理ディスク切り離し手段２４６から受けた場合、プール情報テーブル２５０において、プール２２０に該当するレコードにて、プール２２０の状態を「冗長性縮退」に遷移して、切り離した物理ディスク２３１の番号を消去する。また、構成制御手段２４０は、物理ディスク情報テーブル２５１において、切り離した物理ディスク２３１に該当するレコードからプール２２０の番号を消去する。更に、構成制御手段２４０は、物理ディスク番号を物理ディスクデータ消去手段２４７へ伝え、当該物理ディスク２３１内のデータ消去を要求する（Ｓ２４０）。
【００３９】
既述のステップＳ２２０でいずれのプール２２０にも組み込まれていない物理ディスク２３１が存在すると判定した場合（Ｓ２２０：ＹＥＳ）、又は、既述のステップＳ２４０の処理完了後に物理ディスクデータ消去手段２４７からデータ消去完了の報告を受けた場合、構成制御手段２４０は、対象となる物理ディスク２３１の物理ディスク番号、プール２２０のプール番号を伝え、プール２２０への物理ディスク組み込みを物理ディスク組込み手段２４５へ要求する（Ｓ２５０）。
【００４０】
次に、構成制御手段２４０は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段２４５から受けた場合、プール情報テーブル２５０において、プール２２０に該当するレコードに組み込んだ物理ディスク２３１の物理ディスク番号を書き込む。また、構成制御手段２４０は、物理ディスク情報テーブル２５１において、組み込んだ物理ディスク２３１に該当するレコードにプール２２０のプール番号を書き込む。さらに、構成制御手段２４０は、組み込んだ物理ディスクの物理ディスク番号、プール２２０のプール番号、プール２２０の閾値をプール容量拡張手段２４３へ伝え、プール２２０の容量拡張をプール容量拡張手段２４３へ要求する。プール容量拡張手段２４３からプール２２０の閾値超えの状態と共にプール容量拡張完了の報告を受けとった場合、構成制御手段２４０は、プール２２０の閾値超えの状態をプール情報テーブル２５０に書き込み、処理を終了する（Ｓ２６０）。
【００４１】
図７は既述のステップＳ２００における領域解放手段２４２の処理を示すフローチャートである。
【００４２】
領域解放手段２４２は、構成制御手段２４０から領域解放の指示を受けた場合、割当済領域２２１の領域内にホスト計算機１００が使用していない未使用記憶領域を解放する（Ｓ３００）。
【００４３】
次に、領域解放完了後、領域解放手段２４２は、割当済領域２２１の容量と構成制御手段２４０から伝えられた閾値の値を比較し、閾値が解消されたか否かを、構成制御手段２４０へ報告し、処理を終了する（Ｓ３１０）。
【００４４】
図８は既述のステップＳ２３０における物理ディスク切り離し手段２４６の処理を示すフローチャートである。
【００４５】
物理ディスク切り離し手段２４６は、プール番号、物理ディスク番号と共に物理ディスク切り離しの指示を構成制御手段２４０から受けた場合、プール２２０から対象の物理ディスク２３１を切り離し、当該物理ディスク２３１の切り離し完了を構成制御手段２４０へ報告して、処理を終了する（Ｓ４００）。
【００４６】
図９は、既述のステップＳ２４０における物理ディスクデータ消去手段２４７の処理を示すフローチャートである。
【００４７】
物理ディスクデータ消去手段２４７は、物理ディスク番号と共に物理ディスクデータ消去の指示を構成制御手段２４０から受けた場合、対象の物理ディスク２３１のデータを消去し、物理ディスク２３１のデータ消去完了を構成制御手段２４０へ報告して、処理を終了する（Ｓ５００）。
【００４８】
図１０は、既述のステップＳ２５０及び後述する図１２のＳ８００における物理ディスク組込み手段２４５の処理を示すフローチャートである。
【００４９】
物理ディスク組込み手段２４５は、プール番号、物理ディスク番号と共に物理ディスク組込みの指示を構成制御手段２４０から受けた場合、プール２２０へ対象の物理ディスク２３１を組込み、物理ディスク２３１の組込み完了を構成制御手段２４０へ報告して、処理を終了する（Ｓ６００）。
【００５０】
図１１は、既述のステップＳ２６０におけるプール容量拡張手段２４３の処理を示すフローチャートである。
【００５１】
プール２２０に格納されるデータは複数のブロックに分割されており、また、プール２２０はＲＡＩＤ６であり、１つのブロックは６つのストライプに分割されている。プール容量拡張手段２４３は、プール番号、物理ディスク番号及びプール容量拡張の指示を構成制御手段２４０から受けた場合、プール２２０内のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク２３１の物理ディスク番号とをマッピングテーブル２５２に格納する（Ｓ７００）。この時、ストライプが格納されている物理ディスク２３１がプール２２０に存在していなければ、物理ディスク番号ではなく「−」（ハイフン）がマッピングテーブル２５２に格納される（Ｓ７００）。
【００５２】
次に、プール容量拡張手段２４３は、各ブロックの先頭ストライプに対して、ストライプのコピー先領域を追加した物理ディスク２３１上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル２５２に格納する（Ｓ７１０）。
【００５３】
次に、プール容量拡張手段２４３は、各ブロックの先頭のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする（Ｓ７２０）。コピー中はマッピングテーブル２５２において、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー元とコピー先の両方のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク２３１がプール２２０に無い場合は、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【００５４】
プール容量拡張手段２４３は、全てのブロックの先頭ストライプについてコピー完了後、コピー元の領域内のデータを消去する（Ｓ７３０）。この後、ホスト計算機１００から新たなデータの書き込みがあった場合は、消去して確保した領域を割り当てる。
【００５５】
コピー元の領域内のデータ消去完了後、プール容量拡張手段２４３は、割当済領域２２１の容量と構成制御手段２４０から伝えられた閾値の値を比較し、閾値が解消されたかどうかを、構成制御手段２４０へプール容量拡張完了と共に報告し、処理を終了する（Ｓ７４０）。
【００５６】
図１２は、ストレージ装置２００に物理ディスク２３１が新たに搭載された後、プール２２０の冗長性を回復する際の構成制御手段２４０の処理を示すフローチャートである。
【００５７】
構成制御手段２４０は、ユーザからのプール冗長性回復の指示を受けた場合、対象の物理ディスク２３１の物理ディスク番号、プール２２０のプール番号を物理ディスク組込み手段２４５へ伝え、プール２２０への物理ディスク２３１の組み込みを要求する（Ｓ８００）。
【００５８】
次に、構成制御手段２４０は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段２４５から受けとった場合、プール情報テーブル２５０において、プール２２０に該当するレコードに組み込んだ物理ディスク２３１の物理ディスク番号を書き込む。また、構成制御手段２４０は、物理ディスク情報テーブル２５１において、組み込んだ物理ディスクに該当するレコードにプール２２０の番号を書き込む。更に、構成制御手段２４０は、組み込んだ物理ディスク２３１の物理ディスク番号、プール２２０のプール番号をプール冗長性回復手段２４４へ伝え、プール２２０の冗長性回復を要求する。プール冗長性回復手段２４４からプール冗長性回復完了の報告を受けた場合、構成制御手段２４０は、プール情報テーブル２５０において、プール２２０に該当するレコードにて、プール２２０の状態を「正常」にして、処理を終了する（Ｓ８１０）。
【００５９】
図１３は、既述のステップＳ８１０におけるプール冗長性回復手段２４４の処理を示すフローチャートである。
【００６０】
プール冗長性回復手段２４４は、プール番号、物理ディスク番号と共にプール冗長性回復の指示を構成制御手段２４０から受けとった場合、プール２２０のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク２３１の物理ディスク番号をマッピングテーブル２５２に格納する（Ｓ９００）。この時、ストライプが格納されている物理ディスク２３１がプール２２０に存在していなければ、物理ディスク番号ではなく「−」（ハイフン）を格納する。
【００６１】
次に、プール冗長性回復手段２４４は、マッピングテーブル２５２に格納されたレコードのうち、物理ディスク番号が「−」になっているレコードのストライプに対して、ストライプのコピー先領域を追加された物理ディスク上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル２５２に格納する（Ｓ９１０）。
【００６２】
次に、プール冗長性回復手段２４４は、対象のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする（Ｓ９２０）。コピー中はマッピングテーブル２５２にて、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー先のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク２３１がプール２２０に無いため、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【００６３】
全ての対象のストライプについてコピー完了後、プール冗長性回復手段２４４は、構成制御手段２４０へプール冗長性回復完了を報告する（Ｓ９２０）。
【００６４】
以上のように構成されたストレージ装置２００は、プール２２０内の割当済領域２２１の容量が閾値を超えた場合、ホスト計算機１００からの指示に基づいて、未割当領域２２２を解放する処理を行ない、この処理を実施した後、割当済領域２２１の容量がまだ閾値を超えている場合は、物理ディスク群２３０内の物理ディスク２３１をチェックする。ストレージ装置２００は、いずれのプール２２０にも組み込まれていない物理ディスク２３１がある場合、閾値を超えたプール２２０に当該物理ディスク２３１を組込み、プール２２０の容量を拡張して、プール２２０の未割当領域２２２を増加させる。
【００６５】
一方、ストレージ装置２００は、いずれのプール２２０にも組み込まれていない物理ディスク２３１が無い場合、閾値を超えたプール２２０（ＲＡＩＤ６が構成されており冗長性が２以上ある。）を構成する物理ディスク２３１を切り離して、プール２２０の冗長性を１つ縮退した状態にする。ストレージ装置２００は、この切り離した物理ディスク２３１の内部のデータを消去した後、当該物理ディスク２３１をプール２２０に組み込み、この組み込まれた物理ディスク２３１を用いてプール２２０の容量を拡張する。
【００６６】
更に、ストレージ装置２００は、物理ディスク２３１が新たに追加搭載された場合は、当該追加した物理ディスク２３１を冗長性が１つ縮退したプール２２０に組み込んで、ＲＡＩＤの冗長性を１つ戻し、プール２２０の冗長性を回復させる。
【００６７】
従って、ストレージ装置２００は、ホスト計算機１００から仮想容量論理ディスク２１１へのＩ／Ｏを継続させたまま、かつ、データの冗長性を残したまま、プール２２０を構成している物理ディスク２３１のみを使用し、かつ、冗長性を保持しつつプール２２０の容量を拡張することができる。
【００６８】
更に、ストレージ装置２００は、物理ディスク２３１を追加搭載し、プール２２０に組み込みことにより、縮退前のＲＡＩＤの冗長性を回復することができる。
【００６９】
なお、上記の実施の形態においては、物理ディスク２３１の追加によるプール２２０の容量を拡張する処理の前に、未使用記憶領域を解放する処理を行う場合で説明したが、例えば、未使用記憶領域が残りわずかである場合は、未使用記憶領域を解放する処理をパスするようにしても良い。
【００７０】
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【００７１】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７２】
（付記１）
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を１つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【００７３】
（付記２）
前記所定の閾値を超えた場合、前記プールの未割当ての記憶領域を解放し、当該解放した記憶領域を用いて前記プールの割当済みの記憶容量を増加する増加手段を備え、
前記増加手段で割当済みの記憶容量を増加させても前記データの量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段を行う、ことを特徴とする付記１記載のストレージ装置。
【００７４】
（付記３）
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記縮退した冗長性を回復する回復手段と、
を備えることを特徴とする付記１又は２記載のストレージ装置。
【００７５】
（付記４）
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて２以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を１つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【産業上の利用可能性】
【００７６】
本発明は、プールの容量を拡張することができるストレージ装置及びプール容量拡張方法に広く適用可能である。
【符号の説明】
【００７７】
１００・・・ホスト
２００・・・ストレージ装置
２１０・・・論理ディスク群
２１１・・・仮想容量論理ディスク
２２０・・・プール
２２１・・・割当済領域
２２２・・・未割当領域
２３０・・・物理ディスク群
２３１・・・物理ディスク
２４０・・・構成制御手段
２４１・・・容量監視手段
２４２・・・領域解放手段
２４３・・・プール容量拡張手段
２４４・・・プール冗長性回復手段
２４５・・・物理ディスク組み込み手段
２４６・・・物理ディスク切り離し手段
２４７・・・物理ディスクデータ消去手段
２５０・・・プール情報テーブル
２５１・・・物理ディスク情報テーブル
２５２・・・マッピングテーブル
【図１】
0005776277.tif 000002
【図２】
0005776277.tif 000003
【図３】
0005776277.tif 000004
【図４】
0005776277.tif 000005
【図５】
0005776277.tif 000006
【図６】
0005776277.tif 000007
【図７】
0005776277.tif 000008
【図８】
0005776277.tif 000009
【図９】
0005776277.tif 000010
【図１０】
0005776277.tif 000011
【図１１】
0005776277.tif 000012
【図１２】
0005776277.tif 000013
【図１３】
0005776277.tif 000014