ストレージ装置及びプール容量拡張方法
【課題】他のプールの冗長性を解除できず、かつ、容量不足になっているプールのRAIDレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張する。
【解決手段】ストレージ装置は、プールと、当該プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性を保持するストレージ装置は、上位装置に割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離し、その物理ディスクのデータを消去し、当該消去した物理ディスクをプールに組み込み、プールの記憶容量を拡張する。
【解決手段】ストレージ装置は、プールと、当該プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性を保持するストレージ装置は、上位装置に割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離し、その物理ディスクのデータを消去し、当該消去した物理ディスクをプールに組み込み、プールの記憶容量を拡張する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プールを用いてデータを記憶するストレージ装置及びプール容量拡張方法に関する。
【背景技術】
【0002】
ストレージ装置に用いられる機能の1つにシンプロビジョニングと呼ばれる機能が知られている。シンプロビジョニング機能は、ホスト計算機へ大容量の仮想容量の論理ディスクを割り当てておき、論理ディスクに書き込まれたデータ量に応じて、自動的にプールの領域を論理ディスクに割り当てる機能である。
【0003】
このシンプロビジョニング機能を有するストレージ装置においては、一般的に、プールの容量監視を行い、プールの割当済領域の容量が閾値を超えた場合にストレージ装置の管理者に通報を行い、物理ディスクを追加購入してストレージ装置へ搭載し、プールに物理ディスクを組み込み、プールの容量を拡張することにより、ホスト計算機の書き込みに対して割り当てる領域が無くならないようにし、業務を継続可能とする運用を行っている。
【0004】
しかしながら、ストレージ装置の運用状況によっては、割当済領域の容量が閾値を超え、空き容量が無くなりつつあるにも関わらず、プールに組み込むための空き物理ディスクが無く、更に物理ディスクの追加購入に時間がかかる場合も想定される。このような場合は、プールに物理ディスクを組み込むまで業務を停止しなければならなかった。
【0005】
このような事態を回避するために、別のプールの冗長性を解除して物理ディスクを確保し、容量不足になっているプールへ確保した物理ディスクを組み込むことで、プールの空き容量を増加させる技術が知られている(例えば、特許文献1参照)。しかし、この技術では、他のプールの冗長性を解除できない場合、プールの空き容量を増加させることができない。
【0006】
また、他の技術として、容量不足になっているプールの冗長性を解除するように、プールのRAIDレベルを変更して、プールの空き容量を増加させる技術が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−343924号公報
【特許文献2】特開2009−037304号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献2に記載の技術では、RAIDレベルを変更する必要があり、RAIDレベルを変更できない環境の場合、プールの空き容量を増加させることができず、結局、プールに物理ディスクを組み込むまで業務を停止しなければならないという問題を解決することができない。RAIDレベルを変更できない環境の一例としては、データ改ざん防止の目的で論理ディスクの属性が変更できなくなっており、プール中に変更不可能な領域が設定されている環境が挙げられる。
【0009】
つまり、特許文献1及び2に記載の技術では、他のプールの冗長性を解除できず、かつ容量不足になっているプールのRAIDレベルの変更を行なえない環境では、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで、プール容量を拡張することができないという課題があった。
【0010】
本発明は、上記事情に鑑みてなされたものであり、その目的は、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのRAIDレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びプール容量拡張方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離す切り離し手段と、切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、消去手段でデータを消去した物理ディスクをプールに組み込む組み込み手段と、組み込み手段で組み込んだ物理ディスクを用いてプールの記憶容量を拡張する拡張手段と、を備えることを特徴とする。
【0012】
他の本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離すステップと、切り離した物理ディスクのデータを消去するステップと、データを消去した物理ディスクをプールに組み込むステップと、組み込んだ物理ディスクを用いてプールの記憶容量を拡張するステップと、を有することを特徴とする。
【発明の効果】
【0013】
本発明によると、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのRAIDレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びびプール容量拡張方法を提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施の形態に係るストレージシステムの構成を概略的に示す図である。
【図2】同実施の形態に係るプール情報テーブルの一例を示す図である。
【図3】同実施の形態に係る物理ディスク情報テーブルの一例を示す図である。
【図4】同実施の形態に係るマッピングテーブルの一例を示す図である。
【図5】同実施の形態に係る容量監視手段の処理を示すフローチャートである。
【図6】図5におけるステップS120の処理を示すフローチャートである。
【図7】図6におけるステップS200の処理を示すフローチャートである。
【図8】図6におけるステップS230の処理を示すフローチャートである。
【図9】図6におけるステップS240の処理を示すフローチャートである。
【図10】図6におけるステップS250及び図12におけるステップS800の処理を示すフローチャートである。
【図11】図6におけるステップS260の処理を示すフローチャートである。
【図12】同実施の形態に係る構成制御手段の処理を示すフローチャートである。
【図13】図12におけるステップS810の処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
図1は、ホスト計算機100とストレージ装置200とを有するストレージシステムの構成を概略的に示す図である。
【0016】
ストレージ装置200は、物理ディスク群230から構成されるプール220と、プール220に構築される論理ディスク群210とを備える。また、プール220には、仮想容量論理ディスク211に割り当てられた領域である割当済領域221、及び仮想容量論理ディスク211に未割当の領域である未割当領域222を有している。
【0017】
また、ストレージ装置200は、割当済領域221の容量を閾値監視する容量監視手段241と、割当済領域221のうちホスト計算機100から未使用の領域を解放し割当済領域221へ移す領域解放手段242と、プール220に対して物理ディスクを組み込む物理ディスク組込み手段245と、プール220から物理ディスク231を切り離す物理ディスク切り離し手段246と、物理ディスク231内部のデータを消去する物理ディスクデータ消去手段247と、プール220に組み込んだ物理ディスク231を用いてプールの容量を拡張するプール容量拡張手段243と、プール220に組み込んだ物理ディスク231を用いてプール220の冗長性を回復するプール冗長性回復手段244と、物理ディスク231のプール220への割り当て状態を管理する物理ディスク情報テーブル251と、プール220の状態、容量、構成する物理ディスク231を管理するプール情報テーブル250と、プール220の容量拡張を管理するマッピングテーブル252と、容量監視手段241、プール情報テーブル250及び物理ディスク情報テーブル251とを用いてプール220の構成を制御する構成制御手段240とを備える。
【0018】
なお、プール220に格納されるデータは複数のブロックに分割される。また、本実施の形態では、プール220はRAID6が構成されており、1つのブロックは6つのストライプに分割されている。なお、本実施の形態ではプール220のRAIDレベルはRAID6とするが、他のRAIDレベルであっても2以上の冗長性があれば応用可能である。
【0019】
なお、プール220は、複数の物理ディスク231により冗長化されて構成される仮想記憶媒体である。
【0020】
また、仮想容量論理ディスク211は、ストレージ装置200におけるホスト計算機100から見たアクセス単位であり、プール220の領域を分割して構築される。また、仮想容量論理ディスク211のデータは、仮想容量論理ディスク211を構築するプール220上の領域と対応付けられた物理ディスク群230内の物理ディスク231に格納される。
【0021】
更に、RAID6は、データを構成するブロックをいくつかのストライプに分割し、RAIDを構成する各物理ディスク231にストライプを分散格納するRAID方式である。この時、1ブロックに対して2つのパリティデータを生成し各物理ディスク231に分散格納する。
【0022】
図2は、プール情報テーブル250の一例を示す図である。プール情報テーブル250は、プール220を識別するプール番号と、プール220の状態と、プール220を構成する物理ディスク231の物理ディスク番号と、プール220の割当済領域221の容量の閾値超えの状態を識別する閾値超え状態の対から構成される。
【0023】
図3は、物理ディスク情報テーブル251の一例を示す図である。物理ディスク情報テーブル251は、物理ディスク231を識別する物理ディスク番号と、物理ディスク231が組み込まれているプール220を識別するプール番号の対から構成される。
【0024】
図4は、マッピングテーブル252の一例を示す図である。マッピングテーブル252は、プール220の容量拡張又はプール220の冗長性回復の際に使用するテーブルである。
【0025】
マッピングテーブル252は、データのコピー元となるブロックを識別するブロック番号、データのコピー元となるブロック中のストライプを識別するストライプ番号、データのコピー元となるストライプが格納されている物理ディスク231を識別する物理ディスク番号、ストライプのコピーの状態を識別するコピー状態、データのコピー先となるブロック中のストライプを識別するコピー先ストライプ番号、データのコピー先となるブロックを識別するコピー先ブロック番号、データのコピー先となるストライプを格納する物理ディスクを識別するコピー先物理ディスク番号の対から構成される。
【0026】
次に、ストレージ装置200が実行する処理について図5乃至図13を参照しながら説明する。
【0027】
図5は容量監視手段241の処理を示すフローチャートである。容量監視手段241は、ユーザからプール220に対する容量監視の指示及び閾値の指示に基づいて、割当済領域221の容量を取得する(S100)。
【0028】
次に、容量監視手段241は、割当済領域221の容量が設定された閾値を超えているか否かを判定する(S110)。
【0029】
割当済領域221の容量が設定された閾値を超えていると判定した場合は(S110:YES)、容量監視手段241は、構成制御手段240へプール番号と、閾値の値と共に、閾値超えを報告する(S120)。
【0030】
このように構成制御手段240へ報告を行った場合(S120)、又は、割当済領域221の容量が設定された閾値を超えていないと判定した場合は(S110:NO)、容量監視手段241は、ユーザから容量監視終了の指示が出ているか否かを判定する(S130)。
【0031】
ユーザから容量監視終了の指示が出ていないと判定した場合(S130:NO)、容量監視手段241は、S100のステップに戻って容量の監視を継続する。
【0032】
一方、ユーザから容量監視終了の指示が出ていると判定した場合(S130:YES)、容量監視手段241は、容量を監視する処理を終了する。
【0033】
図6は既述のステップS120において、容量監視手段241から閾値超えの報告を受けた場合に、構成制御手段240が実行する処理を示すフローチャートである。
【0034】
構成制御手段240は、容量監視手段241から閾値超えの報告を受けた場合、領域解放手段242へ閾値の値と共に割当済領域221の中でホスト計算機100によって使用されてない未割当領域222を解放するように要求する(S200)。
【0035】
次に、構成制御手段240は、領域解放手段242から受け取った未割当領域222を解放した後のプール220の状態をプール情報テーブル250に書き込み、閾値超えが解決されているか否かを判定する(S210)。閾値超えが解決されていると判定した場合は(S210:YES)、構成制御手段240は、この処理を終了する。
【0036】
閾値超えが解決されていないと判定した場合は(S210:NO)、構成制御手段240は、物理ディスク情報テーブル251を参照し、いずれのプール220にも組み込まれていない物理ディスク231があるか否かを判定する(S220)。
【0037】
該当する物理ディスク231がないと判定した場合(S220:NO)、構成制御手段240は、プール情報テーブル250を参照し、プール220を構成している物理ディスク231を1つ選択し、物理ディスク切り離し手段246へ当該選択した物理ディスク231の物理ディスク番号、プール220のプール番号とを伝え、プール220から物理ディスクを1つ切り離すように要求する(S230)。
【0038】
次に、構成制御手段240は、プール220から切り離した物理ディスク231の物理ディスク番号と共に切り離し完了の報告を物理ディスク切り離し手段246から受けた場合、プール情報テーブル250において、プール220に該当するレコードにて、プール220の状態を「冗長性縮退」に遷移して、切り離した物理ディスク231の番号を消去する。また、構成制御手段240は、物理ディスク情報テーブル251において、切り離した物理ディスク231に該当するレコードからプール220の番号を消去する。更に、構成制御手段240は、物理ディスク番号を物理ディスクデータ消去手段247へ伝え、当該物理ディスク231内のデータ消去を要求する(S240)。
【0039】
既述のステップS220でいずれのプール220にも組み込まれていない物理ディスク231が存在すると判定した場合(S220:YES)、又は、既述のステップS240の処理完了後に物理ディスクデータ消去手段247からデータ消去完了の報告を受けた場合、構成制御手段240は、対象となる物理ディスク231の物理ディスク番号、プール220のプール番号を伝え、プール220への物理ディスク組み込みを物理ディスク組込み手段245へ要求する(S250)。
【0040】
次に、構成制御手段240は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段245から受けた場合、プール情報テーブル250において、プール220に該当するレコードに組み込んだ物理ディスク231の物理ディスク番号を書き込む。また、構成制御手段240は、物理ディスク情報テーブル251において、組み込んだ物理ディスク231に該当するレコードにプール220のプール番号を書き込む。さらに、構成制御手段240は、組み込んだ物理ディスクの物理ディスク番号、プール220のプール番号、プール220の閾値をプール容量拡張手段243へ伝え、プール220の容量拡張をプール容量拡張手段243へ要求する。プール容量拡張手段243からプール220の閾値超えの状態と共にプール容量拡張完了の報告を受けとった場合、構成制御手段240は、プール220の閾値超えの状態をプール情報テーブル250に書き込み、処理を終了する(S260)。
【0041】
図7は既述のステップS200における領域解放手段242の処理を示すフローチャートである。
【0042】
領域解放手段242は、構成制御手段240から領域解放の指示を受けた場合、割当済領域221の領域内にホスト計算機100が使用していない未割当領域222を解放する(S300)。
【0043】
次に、領域解放完了後、領域解放手段242は、割当済領域221の容量と構成制御手段240から伝えられた閾値の値を比較し、閾値が解消されたか否かを、構成制御手段240へ報告し、処理を終了する(S310)。
【0044】
図8は既述のステップS230における物理ディスク切り離し手段246の処理を示すフローチャートである。
【0045】
物理ディスク切り離し手段246は、プール番号、物理ディスク番号と共に物理ディスク切り離しの指示を構成制御手段240から受けた場合、プール220から対象の物理ディスク231を切り離し、当該物理ディスク231の切り離し完了を構成制御手段240へ報告して、処理を終了する(S400)。
【0046】
図9は、既述のステップS240における物理ディスクデータ消去手段247の処理を示すフローチャートである。
【0047】
物理ディスクデータ消去手段247は、物理ディスク番号と共に物理ディスクデータ消去の指示を構成制御手段240から受けた場合、対象の物理ディスク231のデータを消去し、物理ディスク231のデータ消去完了を構成制御手段240へ報告して、処理を終了する(S500)。
【0048】
図10は、既述のステップS250及び後述する図12のS800における物理ディスク組込み手段245の処理を示すフローチャートである。
【0049】
物理ディスク組込み手段245は、プール番号、物理ディスク番号と共に物理ディスク組込みの指示を構成制御手段240から受けた場合、プール220へ対象の物理ディスク231を組込み、物理ディスク231の組込み完了を構成制御手段240へ報告して、処理を終了する(S600)。
【0050】
図11は、既述のステップS260におけるプール容量拡張手段243の処理を示すフローチャートである。
【0051】
プール220に格納されるデータは複数のブロックに分割されており、また、プール220はRAID6であり、1つのブロックは6つのストライプに分割されている。プール容量拡張手段243は、プール番号、物理ディスク番号及びプール容量拡張の指示を構成制御手段240から受けた場合、プール220内のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク231の物理ディスク番号とをマッピングテーブル252に格納する(S700)。この時、ストライプが格納されている物理ディスク231がプール220に存在していなければ、物理ディスク番号ではなく「−」(ハイフン)がマッピングテーブル252に格納される(S700)。
【0052】
次に、プール容量拡張手段243は、各ブロックの先頭ストライプに対して、ストライプのコピー先領域を追加した物理ディスク231上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル252に格納する(S710)。
【0053】
次に、プール容量拡張手段243は、各ブロックの先頭のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする(S720)。コピー中はマッピングテーブル252において、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー元とコピー先の両方のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク231がプール220に無い場合は、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【0054】
プール容量拡張手段243は、全てのブロックの先頭ストライプについてコピー完了後、コピー元の領域内のデータを消去する(S730)。この後、ホスト計算機100から新たなデータの書き込みがあった場合は、消去して確保した領域を割り当てる。
【0055】
コピー元の領域内のデータ消去完了後、プール容量拡張手段243は、割当済領域221の容量と構成制御手段240から伝えられた閾値の値を比較し、閾値が解消されたかどうかを、構成制御手段240へプール容量拡張完了と共に報告し、処理を終了する(S740)。
【0056】
図12は、ストレージ装置200に物理ディスク231が新たに搭載された後、プール220の冗長性を回復する際の構成制御手段240の処理を示すフローチャートである。
【0057】
構成制御手段240は、ユーザからのプール冗長性回復の指示を受けた場合、対象の物理ディスク231の物理ディスク番号、プール220のプール番号を物理ディスク組込み手段245へ伝え、プール220への物理ディスク231の組み込みを要求する(S800)。
【0058】
次に、構成制御手段240は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段245から受けとった場合、プール情報テーブル250において、プール220に該当するレコードに組み込んだ物理ディスク231の物理ディスク番号を書き込む。また、構成制御手段240は、物理ディスク情報テーブル251において、組み込んだ物理ディスクに該当するレコードにプール220の番号を書き込む。更に、構成制御手段240は、組み込んだ物理ディスク231の物理ディスク番号、プール220のプール番号をプール冗長性回復手段244へ伝え、プール220の冗長性回復を要求する。プール冗長性回復手段244からプール冗長性回復完了の報告を受けた場合、構成制御手段240は、プール情報テーブル250において、プール220に該当するレコードにて、プール220の状態を「正常」にして、処理を終了する(S810)。
【0059】
図13は、既述のステップS810におけるプール冗長性回復手段244の処理を示すフローチャートである。
【0060】
プール冗長性回復手段244は、プール番号、物理ディスク番号と共にプール冗長性回復の指示を構成制御手段240から受けとった場合、プール220のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク231の物理ディスク番号をマッピングテーブル252に格納する(S900)。この時、ストライプが格納されている物理ディスク231がプール220に存在していなければ、物理ディスク番号ではなく「−」(ハイフン)を格納する。
【0061】
次に、プール冗長性回復手段244は、マッピングテーブル252に格納されたレコードのうち、物理ディスク番号が「−」になっているレコードのストライプに対して、ストライプのコピー先領域を追加された物理ディスク上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル252に格納する(S910)。
【0062】
次に、プール冗長性回復手段244は、対象のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする(S920)。コピー中はマッピングテーブル252にて、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー先のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク231がプール220に無いため、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【0063】
全ての対象のストライプについてコピー完了後、プール冗長性回復手段244は、構成制御手段240へプール冗長性回復完了を報告する(S920)。
【0064】
以上のように構成されたストレージ装置200は、プール220内の割当済領域221の容量が閾値を超えた場合、ホスト計算機100からの指示に基づいて、未割当領域222を解放する処理を行ない、この処理を実施した後、割当済領域221の容量がまだ閾値を超えている場合は、物理ディスク群230内の物理ディスク231をチェックする。ストレージ装置200は、いずれのプール220にも組み込まれていない物理ディスク231がある場合、閾値を超えたプール220に当該物理ディスク231を組込み、プール220の容量を拡張して、プール220の未割当領域222を増加させる。
【0065】
一方、ストレージ装置200は、いずれのプール220にも組み込まれていない物理ディスク231が無い場合、閾値を超えたプール220(RAID6が構成されており冗長性が2以上ある。)を構成する物理ディスク231を切り離して、プール220の冗長性を1つ縮退した状態にする。ストレージ装置200は、この切り離した物理ディスク231の内部のデータを消去した後、当該物理ディスク231をプール220に組み込み、この組み込まれた物理ディスク231を用いてプール220の容量を拡張する。
【0066】
更に、ストレージ装置200は、物理ディスク231が新たに追加搭載された場合は、当該追加した物理ディスク231を冗長性が1つ縮退したプール220に組み込んで、RAIDの冗長性を1つ戻し、プール220の冗長性を回復させる。
【0067】
従って、ストレージ装置200は、ホスト計算機100から仮想容量論理ディスク211へのI/Oを継続させたまま、かつ、データの冗長性を残したまま、プール220を構成している物理ディスク231のみを使用し、かつ、冗長性を保持しつつプール220の容量を拡張することができる。
【0068】
更に、ストレージ装置200は、物理ディスク231を追加搭載し、プール220に組み込みことにより、縮退前のRAIDの冗長性を回復することができる。
【0069】
なお、上記の実施の形態においては、物理ディスク231の追加によるプール220の容量を拡張する処理の前に、未割当領域222を解放する処理を行う場合で説明したが、例えば、未割当領域222の領域が残りわずかである場合は、未割当領域222を解放する処理をパスするようにしても良い。
【0070】
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【0071】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0072】
(付記1)
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【0073】
(付記2)
前記所定の閾値を超えた場合、前記プールの未割当ての記憶領域を解放し、当該解放した記憶領域を用いて前記プールの割当済みの記憶容量を増加する増加手段を備え、
前記増加手段で割当済みの記憶容量を増加させても前記データの量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段を行う、ことを特徴とする付記1記載のストレージ装置。
【0074】
(付記3)
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記縮退した冗長性を回復する回復手段と、
を備えることを特徴とする付記1又は2記載のストレージ装置。
【0075】
(付記4)
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【産業上の利用可能性】
【0076】
本発明は、プールの容量を拡張することができるストレージ装置及びプール容量拡張方法に広く適用可能である。
【符号の説明】
【0077】
100・・・ホスト
200・・・ストレージ装置
210・・・論理ディスク群
211・・・仮想容量論理ディスク
220・・・プール
221・・・割当済領域
222・・・未割当領域
230・・・物理ディスク群
231・・・物理ディスク
240・・・構成制御手段
241・・・容量監視手段
242・・・領域解放手段
243・・・プール容量拡張手段
244・・・プール冗長性回復手段
245・・・物理ディスク組み込み手段
246・・・物理ディスク切り離し手段
247・・・物理ディスクデータ消去手段
250・・・プール情報テーブル
251・・・物理ディスク情報テーブル
252・・・マッピングテーブル
【技術分野】
【0001】
本発明は、プールを用いてデータを記憶するストレージ装置及びプール容量拡張方法に関する。
【背景技術】
【0002】
ストレージ装置に用いられる機能の1つにシンプロビジョニングと呼ばれる機能が知られている。シンプロビジョニング機能は、ホスト計算機へ大容量の仮想容量の論理ディスクを割り当てておき、論理ディスクに書き込まれたデータ量に応じて、自動的にプールの領域を論理ディスクに割り当てる機能である。
【0003】
このシンプロビジョニング機能を有するストレージ装置においては、一般的に、プールの容量監視を行い、プールの割当済領域の容量が閾値を超えた場合にストレージ装置の管理者に通報を行い、物理ディスクを追加購入してストレージ装置へ搭載し、プールに物理ディスクを組み込み、プールの容量を拡張することにより、ホスト計算機の書き込みに対して割り当てる領域が無くならないようにし、業務を継続可能とする運用を行っている。
【0004】
しかしながら、ストレージ装置の運用状況によっては、割当済領域の容量が閾値を超え、空き容量が無くなりつつあるにも関わらず、プールに組み込むための空き物理ディスクが無く、更に物理ディスクの追加購入に時間がかかる場合も想定される。このような場合は、プールに物理ディスクを組み込むまで業務を停止しなければならなかった。
【0005】
このような事態を回避するために、別のプールの冗長性を解除して物理ディスクを確保し、容量不足になっているプールへ確保した物理ディスクを組み込むことで、プールの空き容量を増加させる技術が知られている(例えば、特許文献1参照)。しかし、この技術では、他のプールの冗長性を解除できない場合、プールの空き容量を増加させることができない。
【0006】
また、他の技術として、容量不足になっているプールの冗長性を解除するように、プールのRAIDレベルを変更して、プールの空き容量を増加させる技術が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−343924号公報
【特許文献2】特開2009−037304号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、特許文献2に記載の技術では、RAIDレベルを変更する必要があり、RAIDレベルを変更できない環境の場合、プールの空き容量を増加させることができず、結局、プールに物理ディスクを組み込むまで業務を停止しなければならないという問題を解決することができない。RAIDレベルを変更できない環境の一例としては、データ改ざん防止の目的で論理ディスクの属性が変更できなくなっており、プール中に変更不可能な領域が設定されている環境が挙げられる。
【0009】
つまり、特許文献1及び2に記載の技術では、他のプールの冗長性を解除できず、かつ容量不足になっているプールのRAIDレベルの変更を行なえない環境では、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで、プール容量を拡張することができないという課題があった。
【0010】
本発明は、上記事情に鑑みてなされたものであり、その目的は、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのRAIDレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びプール容量拡張方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離す切り離し手段と、切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、消去手段でデータを消去した物理ディスクをプールに組み込む組み込み手段と、組み込み手段で組み込んだ物理ディスクを用いてプールの記憶容量を拡張する拡張手段と、を備えることを特徴とする。
【0012】
他の本発明は、複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって記憶容量を拡張可能なプールと、プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、上位装置へ割当済みのプールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、プールを構成する物理ディスクのうち冗長性を1つ縮退することにより得られる物理ディスクをプールから切り離すステップと、切り離した物理ディスクのデータを消去するステップと、データを消去した物理ディスクをプールに組み込むステップと、組み込んだ物理ディスクを用いてプールの記憶容量を拡張するステップと、を有することを特徴とする。
【発明の効果】
【0013】
本発明によると、他のプールの冗長性を解除できず、かつ、容量不足になっているプールのRAIDレベルの変更を行なえない環境において、ホスト計算機から論理ディスクへのI/Oを継続させたまま、かつ、データの冗長性を残したままで容易にプール容量を拡張することができるストレージ装置及びびプール容量拡張方法を提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の実施の形態に係るストレージシステムの構成を概略的に示す図である。
【図2】同実施の形態に係るプール情報テーブルの一例を示す図である。
【図3】同実施の形態に係る物理ディスク情報テーブルの一例を示す図である。
【図4】同実施の形態に係るマッピングテーブルの一例を示す図である。
【図5】同実施の形態に係る容量監視手段の処理を示すフローチャートである。
【図6】図5におけるステップS120の処理を示すフローチャートである。
【図7】図6におけるステップS200の処理を示すフローチャートである。
【図8】図6におけるステップS230の処理を示すフローチャートである。
【図9】図6におけるステップS240の処理を示すフローチャートである。
【図10】図6におけるステップS250及び図12におけるステップS800の処理を示すフローチャートである。
【図11】図6におけるステップS260の処理を示すフローチャートである。
【図12】同実施の形態に係る構成制御手段の処理を示すフローチャートである。
【図13】図12におけるステップS810の処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
図1は、ホスト計算機100とストレージ装置200とを有するストレージシステムの構成を概略的に示す図である。
【0016】
ストレージ装置200は、物理ディスク群230から構成されるプール220と、プール220に構築される論理ディスク群210とを備える。また、プール220には、仮想容量論理ディスク211に割り当てられた領域である割当済領域221、及び仮想容量論理ディスク211に未割当の領域である未割当領域222を有している。
【0017】
また、ストレージ装置200は、割当済領域221の容量を閾値監視する容量監視手段241と、割当済領域221のうちホスト計算機100から未使用の領域を解放し割当済領域221へ移す領域解放手段242と、プール220に対して物理ディスクを組み込む物理ディスク組込み手段245と、プール220から物理ディスク231を切り離す物理ディスク切り離し手段246と、物理ディスク231内部のデータを消去する物理ディスクデータ消去手段247と、プール220に組み込んだ物理ディスク231を用いてプールの容量を拡張するプール容量拡張手段243と、プール220に組み込んだ物理ディスク231を用いてプール220の冗長性を回復するプール冗長性回復手段244と、物理ディスク231のプール220への割り当て状態を管理する物理ディスク情報テーブル251と、プール220の状態、容量、構成する物理ディスク231を管理するプール情報テーブル250と、プール220の容量拡張を管理するマッピングテーブル252と、容量監視手段241、プール情報テーブル250及び物理ディスク情報テーブル251とを用いてプール220の構成を制御する構成制御手段240とを備える。
【0018】
なお、プール220に格納されるデータは複数のブロックに分割される。また、本実施の形態では、プール220はRAID6が構成されており、1つのブロックは6つのストライプに分割されている。なお、本実施の形態ではプール220のRAIDレベルはRAID6とするが、他のRAIDレベルであっても2以上の冗長性があれば応用可能である。
【0019】
なお、プール220は、複数の物理ディスク231により冗長化されて構成される仮想記憶媒体である。
【0020】
また、仮想容量論理ディスク211は、ストレージ装置200におけるホスト計算機100から見たアクセス単位であり、プール220の領域を分割して構築される。また、仮想容量論理ディスク211のデータは、仮想容量論理ディスク211を構築するプール220上の領域と対応付けられた物理ディスク群230内の物理ディスク231に格納される。
【0021】
更に、RAID6は、データを構成するブロックをいくつかのストライプに分割し、RAIDを構成する各物理ディスク231にストライプを分散格納するRAID方式である。この時、1ブロックに対して2つのパリティデータを生成し各物理ディスク231に分散格納する。
【0022】
図2は、プール情報テーブル250の一例を示す図である。プール情報テーブル250は、プール220を識別するプール番号と、プール220の状態と、プール220を構成する物理ディスク231の物理ディスク番号と、プール220の割当済領域221の容量の閾値超えの状態を識別する閾値超え状態の対から構成される。
【0023】
図3は、物理ディスク情報テーブル251の一例を示す図である。物理ディスク情報テーブル251は、物理ディスク231を識別する物理ディスク番号と、物理ディスク231が組み込まれているプール220を識別するプール番号の対から構成される。
【0024】
図4は、マッピングテーブル252の一例を示す図である。マッピングテーブル252は、プール220の容量拡張又はプール220の冗長性回復の際に使用するテーブルである。
【0025】
マッピングテーブル252は、データのコピー元となるブロックを識別するブロック番号、データのコピー元となるブロック中のストライプを識別するストライプ番号、データのコピー元となるストライプが格納されている物理ディスク231を識別する物理ディスク番号、ストライプのコピーの状態を識別するコピー状態、データのコピー先となるブロック中のストライプを識別するコピー先ストライプ番号、データのコピー先となるブロックを識別するコピー先ブロック番号、データのコピー先となるストライプを格納する物理ディスクを識別するコピー先物理ディスク番号の対から構成される。
【0026】
次に、ストレージ装置200が実行する処理について図5乃至図13を参照しながら説明する。
【0027】
図5は容量監視手段241の処理を示すフローチャートである。容量監視手段241は、ユーザからプール220に対する容量監視の指示及び閾値の指示に基づいて、割当済領域221の容量を取得する(S100)。
【0028】
次に、容量監視手段241は、割当済領域221の容量が設定された閾値を超えているか否かを判定する(S110)。
【0029】
割当済領域221の容量が設定された閾値を超えていると判定した場合は(S110:YES)、容量監視手段241は、構成制御手段240へプール番号と、閾値の値と共に、閾値超えを報告する(S120)。
【0030】
このように構成制御手段240へ報告を行った場合(S120)、又は、割当済領域221の容量が設定された閾値を超えていないと判定した場合は(S110:NO)、容量監視手段241は、ユーザから容量監視終了の指示が出ているか否かを判定する(S130)。
【0031】
ユーザから容量監視終了の指示が出ていないと判定した場合(S130:NO)、容量監視手段241は、S100のステップに戻って容量の監視を継続する。
【0032】
一方、ユーザから容量監視終了の指示が出ていると判定した場合(S130:YES)、容量監視手段241は、容量を監視する処理を終了する。
【0033】
図6は既述のステップS120において、容量監視手段241から閾値超えの報告を受けた場合に、構成制御手段240が実行する処理を示すフローチャートである。
【0034】
構成制御手段240は、容量監視手段241から閾値超えの報告を受けた場合、領域解放手段242へ閾値の値と共に割当済領域221の中でホスト計算機100によって使用されてない未割当領域222を解放するように要求する(S200)。
【0035】
次に、構成制御手段240は、領域解放手段242から受け取った未割当領域222を解放した後のプール220の状態をプール情報テーブル250に書き込み、閾値超えが解決されているか否かを判定する(S210)。閾値超えが解決されていると判定した場合は(S210:YES)、構成制御手段240は、この処理を終了する。
【0036】
閾値超えが解決されていないと判定した場合は(S210:NO)、構成制御手段240は、物理ディスク情報テーブル251を参照し、いずれのプール220にも組み込まれていない物理ディスク231があるか否かを判定する(S220)。
【0037】
該当する物理ディスク231がないと判定した場合(S220:NO)、構成制御手段240は、プール情報テーブル250を参照し、プール220を構成している物理ディスク231を1つ選択し、物理ディスク切り離し手段246へ当該選択した物理ディスク231の物理ディスク番号、プール220のプール番号とを伝え、プール220から物理ディスクを1つ切り離すように要求する(S230)。
【0038】
次に、構成制御手段240は、プール220から切り離した物理ディスク231の物理ディスク番号と共に切り離し完了の報告を物理ディスク切り離し手段246から受けた場合、プール情報テーブル250において、プール220に該当するレコードにて、プール220の状態を「冗長性縮退」に遷移して、切り離した物理ディスク231の番号を消去する。また、構成制御手段240は、物理ディスク情報テーブル251において、切り離した物理ディスク231に該当するレコードからプール220の番号を消去する。更に、構成制御手段240は、物理ディスク番号を物理ディスクデータ消去手段247へ伝え、当該物理ディスク231内のデータ消去を要求する(S240)。
【0039】
既述のステップS220でいずれのプール220にも組み込まれていない物理ディスク231が存在すると判定した場合(S220:YES)、又は、既述のステップS240の処理完了後に物理ディスクデータ消去手段247からデータ消去完了の報告を受けた場合、構成制御手段240は、対象となる物理ディスク231の物理ディスク番号、プール220のプール番号を伝え、プール220への物理ディスク組み込みを物理ディスク組込み手段245へ要求する(S250)。
【0040】
次に、構成制御手段240は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段245から受けた場合、プール情報テーブル250において、プール220に該当するレコードに組み込んだ物理ディスク231の物理ディスク番号を書き込む。また、構成制御手段240は、物理ディスク情報テーブル251において、組み込んだ物理ディスク231に該当するレコードにプール220のプール番号を書き込む。さらに、構成制御手段240は、組み込んだ物理ディスクの物理ディスク番号、プール220のプール番号、プール220の閾値をプール容量拡張手段243へ伝え、プール220の容量拡張をプール容量拡張手段243へ要求する。プール容量拡張手段243からプール220の閾値超えの状態と共にプール容量拡張完了の報告を受けとった場合、構成制御手段240は、プール220の閾値超えの状態をプール情報テーブル250に書き込み、処理を終了する(S260)。
【0041】
図7は既述のステップS200における領域解放手段242の処理を示すフローチャートである。
【0042】
領域解放手段242は、構成制御手段240から領域解放の指示を受けた場合、割当済領域221の領域内にホスト計算機100が使用していない未割当領域222を解放する(S300)。
【0043】
次に、領域解放完了後、領域解放手段242は、割当済領域221の容量と構成制御手段240から伝えられた閾値の値を比較し、閾値が解消されたか否かを、構成制御手段240へ報告し、処理を終了する(S310)。
【0044】
図8は既述のステップS230における物理ディスク切り離し手段246の処理を示すフローチャートである。
【0045】
物理ディスク切り離し手段246は、プール番号、物理ディスク番号と共に物理ディスク切り離しの指示を構成制御手段240から受けた場合、プール220から対象の物理ディスク231を切り離し、当該物理ディスク231の切り離し完了を構成制御手段240へ報告して、処理を終了する(S400)。
【0046】
図9は、既述のステップS240における物理ディスクデータ消去手段247の処理を示すフローチャートである。
【0047】
物理ディスクデータ消去手段247は、物理ディスク番号と共に物理ディスクデータ消去の指示を構成制御手段240から受けた場合、対象の物理ディスク231のデータを消去し、物理ディスク231のデータ消去完了を構成制御手段240へ報告して、処理を終了する(S500)。
【0048】
図10は、既述のステップS250及び後述する図12のS800における物理ディスク組込み手段245の処理を示すフローチャートである。
【0049】
物理ディスク組込み手段245は、プール番号、物理ディスク番号と共に物理ディスク組込みの指示を構成制御手段240から受けた場合、プール220へ対象の物理ディスク231を組込み、物理ディスク231の組込み完了を構成制御手段240へ報告して、処理を終了する(S600)。
【0050】
図11は、既述のステップS260におけるプール容量拡張手段243の処理を示すフローチャートである。
【0051】
プール220に格納されるデータは複数のブロックに分割されており、また、プール220はRAID6であり、1つのブロックは6つのストライプに分割されている。プール容量拡張手段243は、プール番号、物理ディスク番号及びプール容量拡張の指示を構成制御手段240から受けた場合、プール220内のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク231の物理ディスク番号とをマッピングテーブル252に格納する(S700)。この時、ストライプが格納されている物理ディスク231がプール220に存在していなければ、物理ディスク番号ではなく「−」(ハイフン)がマッピングテーブル252に格納される(S700)。
【0052】
次に、プール容量拡張手段243は、各ブロックの先頭ストライプに対して、ストライプのコピー先領域を追加した物理ディスク231上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル252に格納する(S710)。
【0053】
次に、プール容量拡張手段243は、各ブロックの先頭のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする(S720)。コピー中はマッピングテーブル252において、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー元とコピー先の両方のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク231がプール220に無い場合は、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【0054】
プール容量拡張手段243は、全てのブロックの先頭ストライプについてコピー完了後、コピー元の領域内のデータを消去する(S730)。この後、ホスト計算機100から新たなデータの書き込みがあった場合は、消去して確保した領域を割り当てる。
【0055】
コピー元の領域内のデータ消去完了後、プール容量拡張手段243は、割当済領域221の容量と構成制御手段240から伝えられた閾値の値を比較し、閾値が解消されたかどうかを、構成制御手段240へプール容量拡張完了と共に報告し、処理を終了する(S740)。
【0056】
図12は、ストレージ装置200に物理ディスク231が新たに搭載された後、プール220の冗長性を回復する際の構成制御手段240の処理を示すフローチャートである。
【0057】
構成制御手段240は、ユーザからのプール冗長性回復の指示を受けた場合、対象の物理ディスク231の物理ディスク番号、プール220のプール番号を物理ディスク組込み手段245へ伝え、プール220への物理ディスク231の組み込みを要求する(S800)。
【0058】
次に、構成制御手段240は、物理ディスク組み込み完了の報告を物理ディスク組み込み手段245から受けとった場合、プール情報テーブル250において、プール220に該当するレコードに組み込んだ物理ディスク231の物理ディスク番号を書き込む。また、構成制御手段240は、物理ディスク情報テーブル251において、組み込んだ物理ディスクに該当するレコードにプール220の番号を書き込む。更に、構成制御手段240は、組み込んだ物理ディスク231の物理ディスク番号、プール220のプール番号をプール冗長性回復手段244へ伝え、プール220の冗長性回復を要求する。プール冗長性回復手段244からプール冗長性回復完了の報告を受けた場合、構成制御手段240は、プール情報テーブル250において、プール220に該当するレコードにて、プール220の状態を「正常」にして、処理を終了する(S810)。
【0059】
図13は、既述のステップS810におけるプール冗長性回復手段244の処理を示すフローチャートである。
【0060】
プール冗長性回復手段244は、プール番号、物理ディスク番号と共にプール冗長性回復の指示を構成制御手段240から受けとった場合、プール220のデータの各ブロックの番号と、ブロックを構成する各ストライプの番号と、ストライプが格納されている物理ディスク231の物理ディスク番号をマッピングテーブル252に格納する(S900)。この時、ストライプが格納されている物理ディスク231がプール220に存在していなければ、物理ディスク番号ではなく「−」(ハイフン)を格納する。
【0061】
次に、プール冗長性回復手段244は、マッピングテーブル252に格納されたレコードのうち、物理ディスク番号が「−」になっているレコードのストライプに対して、ストライプのコピー先領域を追加された物理ディスク上に確保し、当該コピー先領域に対応するブロック番号、ストライプ番号、物理ディスク番号をマッピングテーブル252に格納する(S910)。
【0062】
次に、プール冗長性回復手段244は、対象のストライプの領域を、コピー先ブロック番号、コピー先ストライプ番号、コピー先物理ディスク番号が示す領域へコピーする(S920)。コピー中はマッピングテーブル252にて、コピー中のストライプに該当するレコードの状態を「コピー中」とする。コピー実行中のストライプを含むブロックへ書き込みがあった場合は、コピー先のストライプの領域へデータを書き込む。このとき、コピー元のストライプの領域を格納している物理ディスク231がプール220に無いため、同じブロックを構成する他のストライプから、コピー元のストライプのデータを復元した後にコピーする。コピー完了後、該当するレコードの状態を「コピー完了」にする。
【0063】
全ての対象のストライプについてコピー完了後、プール冗長性回復手段244は、構成制御手段240へプール冗長性回復完了を報告する(S920)。
【0064】
以上のように構成されたストレージ装置200は、プール220内の割当済領域221の容量が閾値を超えた場合、ホスト計算機100からの指示に基づいて、未割当領域222を解放する処理を行ない、この処理を実施した後、割当済領域221の容量がまだ閾値を超えている場合は、物理ディスク群230内の物理ディスク231をチェックする。ストレージ装置200は、いずれのプール220にも組み込まれていない物理ディスク231がある場合、閾値を超えたプール220に当該物理ディスク231を組込み、プール220の容量を拡張して、プール220の未割当領域222を増加させる。
【0065】
一方、ストレージ装置200は、いずれのプール220にも組み込まれていない物理ディスク231が無い場合、閾値を超えたプール220(RAID6が構成されており冗長性が2以上ある。)を構成する物理ディスク231を切り離して、プール220の冗長性を1つ縮退した状態にする。ストレージ装置200は、この切り離した物理ディスク231の内部のデータを消去した後、当該物理ディスク231をプール220に組み込み、この組み込まれた物理ディスク231を用いてプール220の容量を拡張する。
【0066】
更に、ストレージ装置200は、物理ディスク231が新たに追加搭載された場合は、当該追加した物理ディスク231を冗長性が1つ縮退したプール220に組み込んで、RAIDの冗長性を1つ戻し、プール220の冗長性を回復させる。
【0067】
従って、ストレージ装置200は、ホスト計算機100から仮想容量論理ディスク211へのI/Oを継続させたまま、かつ、データの冗長性を残したまま、プール220を構成している物理ディスク231のみを使用し、かつ、冗長性を保持しつつプール220の容量を拡張することができる。
【0068】
更に、ストレージ装置200は、物理ディスク231を追加搭載し、プール220に組み込みことにより、縮退前のRAIDの冗長性を回復することができる。
【0069】
なお、上記の実施の形態においては、物理ディスク231の追加によるプール220の容量を拡張する処理の前に、未割当領域222を解放する処理を行う場合で説明したが、例えば、未割当領域222の領域が残りわずかである場合は、未割当領域222を解放する処理をパスするようにしても良い。
【0070】
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【0071】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0072】
(付記1)
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【0073】
(付記2)
前記所定の閾値を超えた場合、前記プールの未割当ての記憶領域を解放し、当該解放した記憶領域を用いて前記プールの割当済みの記憶容量を増加する増加手段を備え、
前記増加手段で割当済みの記憶容量を増加させても前記データの量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段を行う、ことを特徴とする付記1記載のストレージ装置。
【0074】
(付記3)
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記縮退した冗長性を回復する回復手段と、
を備えることを特徴とする付記1又は2記載のストレージ装置。
【0075】
(付記4)
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【産業上の利用可能性】
【0076】
本発明は、プールの容量を拡張することができるストレージ装置及びプール容量拡張方法に広く適用可能である。
【符号の説明】
【0077】
100・・・ホスト
200・・・ストレージ装置
210・・・論理ディスク群
211・・・仮想容量論理ディスク
220・・・プール
221・・・割当済領域
222・・・未割当領域
230・・・物理ディスク群
231・・・物理ディスク
240・・・構成制御手段
241・・・容量監視手段
242・・・領域解放手段
243・・・プール容量拡張手段
244・・・プール冗長性回復手段
245・・・物理ディスク組み込み手段
246・・・物理ディスク切り離し手段
247・・・物理ディスクデータ消去手段
250・・・プール情報テーブル
251・・・物理ディスク情報テーブル
252・・・マッピングテーブル
【特許請求の範囲】
【請求項1】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【請求項2】
前記所定の閾値を超えた場合、前記プールの未割当ての記憶領域を解放し、当該解放した記憶領域を用いて前記プールの割当済みの記憶容量を増加する増加手段を備え、
前記増加手段で割当済みの記憶容量を増加させても前記データの量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段を行う、ことを特徴とする請求項1記載のストレージ装置。
【請求項3】
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記縮退した冗長性を回復する回復手段と、
を備えることを特徴とする請求項1又は2記載のストレージ装置。
【請求項4】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【請求項1】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離す切り離し手段と、
前記切り離し手段で切り離した物理ディスクのデータを消去する消去手段と、
前記消去手段でデータを消去した物理ディスクを前記プールに組み込む組み込み手段と、
前記組み込み手段で組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張する拡張手段と、
を備えることを特徴とするストレージ装置。
【請求項2】
前記所定の閾値を超えた場合、前記プールの未割当ての記憶領域を解放し、当該解放した記憶領域を用いて前記プールの割当済みの記憶容量を増加する増加手段を備え、
前記増加手段で割当済みの記憶容量を増加させても前記データの量が前記所定の閾値を超えている場合、前記切り離し手段、前記消去手段、前記組み込み手段、前記拡張手段を行う、ことを特徴とする請求項1記載のストレージ装置。
【請求項3】
物理ディスクを搭載する搭載手段と、
前記搭載手段で搭載された物理ディスクを用いて前記プールの記憶容量を拡張し、前記縮退した冗長性を回復する回復手段と、
を備えることを特徴とする請求項1又は2記載のストレージ装置。
【請求項4】
複数の物理ディスクの記憶容量に基づいて構成されるとともに、物理ディスクの追加によって前記記憶容量を拡張可能なプールと、前記プールの記憶容量を用いて仮想的な論理ディスクを構成し、当該論理ディスクに基づいて2以上の冗長性が保持されるストレージ装置のプール容量拡張方法であって、
上位装置へ割当済みの前記プールの記憶容量に記憶されるデータの量が所定の閾値を超えた場合、前記プールを構成する物理ディスクのうち前記冗長性を1つ縮退することにより得られる物理ディスクを前記プールから切り離すステップと、
前記切り離した物理ディスクのデータを消去するステップと、
前記データを消去した物理ディスクを前記プールに組み込むステップと、
前記組み込んだ物理ディスクを用いて前記プールの記憶容量を拡張するステップと、
を有することを特徴とするプール容量拡張方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−216107(P2012−216107A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−81480(P2011−81480)
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]