(57)【要約】【課題】複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置に物理ディスクの追加による容量拡張を行う場合に、格納されたデータを破壊することなく容量拡張を行うことを目的とする。【解決手段】容量拡張後の各論理ボリュームの容量指定を受け付け、該容量指定に基づき容量拡張後の各論理ボリュームの先頭および末尾ＬＢＡの移動方向を求め、各論理ボリュームで先頭、及び末尾ＬＢＡの移動方向が異なる場合は、当該論理ボリュームをＬＢＡが移動しない位置で分割し、ＬＢＡの移動方向と共に分割した論理ボリュームを容量拡張管理テーブルに登録し、物理ディスクが追加された場合は、先頭論理ボリュームからＬＢＡの移動方向を確認し、ＬＢＡが前に移動する場合はＬＢＡ順に再配置し、ＬＢＡが後に移動する場合は、ＬＢＡが後に移動する論理ボリュームの最後からＬＢＡと逆順に再配置することを特徴とする。【選択図】図１
2008003857.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置に、容量拡張後の各論理ボリュームの容量を指定して物理ディスクを追加し、論理ボリュームの容量を拡張する方法であって、
容量拡張後の各論理ボリュームの容量指定を受け付け、
先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録し、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録し、
容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録し、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録し、
容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録し、
物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取り、
順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動し、
順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動し、
前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動することを特徴とする、論理ボリューム容量拡張方法。
【請求項２】
複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置を制御するコンピュータに、ストレージ装置の容量拡張後の各論理ボリュームの容量を指定して物理ディスクを追加し、論理ボリュームの容量拡張を実行させるプログラムであって、
容量拡張後の各論理ボリュームの容量指定を受け付けるステップと、
先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録するステップと、
物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取るステップと、
順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動させるステップと、
順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動させるステップと、
前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動させるステップとを有することを特徴とする、論理ボリューム容量拡張プログラム。
【請求項３】
ＣＰＵと、メモリと、ＲＡＩＤグループを構成する物理ディスク群と、追加する物理ディスクを収容する領域を備えたストレージ装置であって、
メモリには、少なくともＣＰＵに容量拡張管理テーブル作成を実行させるプログラムと、ＣＰＵに容量拡張処理を実行させるプログラムと、容量拡張管理テーブルとを保持し、
容量拡張管理テーブル作成プログラムは、
容量拡張後の各論理ボリュームの容量指定を受け付けるステップと、
先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録するステップと、
容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録するステップとを有し、
容量拡張処理プログラムは、
物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取るステップと、
順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動させるステップと、
順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動させるステップと、
前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動させるステップとを有することを特徴とする、ストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ装置の容量拡張を行う方法、プログラム、およびストレージ装置に関し、特に、複数の物理ディスクで構成したＲＡＩＤ（Ｒｅｄｕｎｄｅｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）グループ上に複数の論理ボリュームが設定されているストレージ装置の運用中であっても、物理ディスク追加による論理ボリュームの活性容量拡張（Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ  Ｅｘｐａｎｓｉｏｎ、ＬＤＥ）を可能としたストレージ装置の容量拡張方法、プログラム、およびストレージ装置に関する。
【背景技術】
【０００２】
従来、活性状態であっても、物理的にディスクを追加することによりストレージの容量を拡張する方法が開示されている。（特許文献１、２参照）
【特許文献１】特開平８−２１２０１８号公報
【特許文献２】特表２０００−５１１３２２号公報  図１０は、特許文献１に記載の、容量拡張前の（物理的な）ディスク上のデータ・ブロック、およびパリティ・ブロックの様子（従来例１）を示し、図１１は、従来例１における容量拡張後の（物理的な）ディスク上の、再配置されたデータ・ブロック、およびパリティ・ブロックの様子を示す。
【０００３】
図１２は、特許文献２に記載の、容量拡張前のディスク（ディスク０、１、および２）上の（物理的な）ディスク上のデータ・ブロック、およびパリティ・ブロックの様子（従来例２）、図１３は、従来例２における容量拡張後の（物理的な）ディスク上のデータ・ブロック、およびパリティ・ブロックの様子、図１４は、従来例２における制約条件を示す。
【０００４】
従来例２においては、レベル５ＲＡＩＤアレイの記憶容量拡張が、Ａ）アレイの行に、追加された組のディスク（ディスク３、および４）上に存在するパリティ・ブロックなしの新しいデータ・ブロック（Ｄ１０からＤ１９）を追加するステップと、Ｂ）図１４に示すごとく、新しいデータ・ブロックを、アレイの各行におけるそれらの内容の排他的論理和が、０になるように初期化するステップとによって行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＲＡＩＤ構成のストレージ装置では一般に、図１５に示す容量拡張例（均等拡張）の左側（ＬＤＥ前のＲＡＩＤグループ）のごとく、物理ディスクＰ＃０、Ｐ＃１、Ｐ＃２、Ｐ＃３上に、複数の論理ボリューム、例えば容量がｍ０ＧＢ（ギガバイト）の論理ボリュームＬ＃０、容量がｍ１ＧＢの論理ボリュームＬ＃１、容量がｍ２ＧＢの論理ボリュームＬ＃２、を設定して運用する。
【０００６】
このような運用において、物理ディスク＃Ｐ４を追加することで容量を拡張することが可能である。図１５の右側（ＬＤＥ後のＲＡＩＤグループ）の例は、各論理ボリュームの容量を均等に拡張する例を示す。
【０００７】
一方、図１６は、各論理ボリュームの容量は変えずに、新たな論理ボリュームＬ＃３を追加する、容量拡張例（論理ボリューム追加）を、図１７は、最後の論理ボリュームのみ（図１７の例では論理ボリュームＬ＃２のみ）容量拡張する、容量拡張例（最後の論理ボリューム容量拡張）を示す。
【０００８】
図１５に示す均等拡張の例では、容量拡張前の各論理ボリュームに割当てられた物理ディスクＰ＃０〜Ｐ＃３上のロジカルブロックアドレス（ＬＢＡ）に追加して、各論理ボリュームに物理ディスクＰ＃４のＬＢＡを均等に配分して再配置すれば、データの再配置は各論理ボリュームの領域内で発生するため、各論理ボリュームデータが格納されていても、他の論理ボリュームのデータと干渉することはない。
【０００９】
図１６に示す論理ボリューム追加の例では、論理ボリュームＬ＃０の処理については図１５に示す例の処理と同様である。論理ボリュームＬ＃１の処理では、先頭ＬＢＡが、容量拡張前の論理ボリュームＬ＃０の領域に上書きする形で配置されるが、論理ボリュームＬ＃０のデータは既に再配置されているため、データ破壊とはならない。論理ボリュームＬ＃２の処理についても同様である。
【００１０】
図１７に示す、最後の論理ボリューム容量拡張の例は、途中経過は図１６に示す例と同様で、物理ディスクＰ＃４追加によって拡張された容量は、すべて最後の論理ボリュームＬ＃２に追加されるため、データ破壊とはならない。
【００１１】
しかし実際の運用においては、図１８に示すごとく、物理ディスク上の前側に配置された論理ボリューム、例えば先頭の論理ボリュームの容量を拡張する、あるいは図１９に示すごとく、複数の論理ボリュームの容量を拡張する等、様々な要求がある。このような場合においても、各論理ボリュームに格納されているデータを破壊することなく再配置して容量拡張を行う必要がある。
【００１２】
図１８に示す例の場合、容量拡張後の容量指定にしたがって単純にＬＢＡ順に再配置すると、図２０に示すごとく、再配置前の論理ボリュームＬ＃２の領域に、論理ボリュームＬ＃１のデータを上書きする為、論理ボリュームＬ＃２のデータが破壊されてしまう。
【００１３】
特許文献１に記載の方法では、物理的なディスク上のデータ・ブロック、およびパリティ・ブロックを再配置するにあたり、新たなパリティを計算して拡張アレイに書き込むが、物理的なディスク上に設定された論理ボリュームについては考慮されていない。
【００１４】
また、特許文献２に記載の方法では、例えば、Ａ）アレイの行に、追加された組のディスク（ディスク３、および４）上に存在するパリティ・ブロックなしの新しいデータ・ブロック（Ｄ１０からＤ１９）を追加することで、最初の組のディスク上の元のデータ・ブロック、およびパリティ・ブロックの再書き込みを不要とするが、物理的なディスク上に設定された論理ボリュームについては考慮されていない。
【００１５】
本発明は、複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置に物理ディスク追加による容量拡張を行う場合に、格納されたデータを破壊することなく、ストレージ装置の容量拡張を行う方法、プログラム、およびストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
第一の発明は、複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置に、容量拡張後の各論理ボリュームの容量を指定して物理ディスクを追加し、論理ボリュームの容量を拡張する方法であって、容量拡張後の各論理ボリュームの容量指定を受け付け、先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録し、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録し、容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録し、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録し、容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録し、物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取り、順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動し、順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動し、前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動することを特徴とする。
【００１７】
第二の発明は、複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置を制御するコンピュータに、ストレージ装置の容量拡張後の各論理ボリュームの容量を指定して物理ディスクを追加し、論理ボリュームの容量拡張を実行させるプログラムであって、容量拡張後の各論理ボリュームの容量指定を受け付けるステップと、先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録するステップと、物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取るステップと、順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動させるステップと、順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動させるステップと、前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動させるステップとを有することを特徴とする特徴とする。
【００１８】
第三の発明は、ＣＰＵと、メモリと、ＲＡＩＤグループを構成する物理ディスク群と、追加する物理ディスクを収容する領域を備えたストレージ装置であって、メモリには、少なくともＣＰＵに容量拡張管理テーブル作成を実行させるプログラムと、ＣＰＵに容量拡張処理を実行させるプログラムと、容量拡張管理テーブルとを保持し、容量拡張管理テーブル作成プログラムは、容量拡張後の各論理ボリュームの容量指定を受け付けるステップと、先頭のＬＢＡに設定された論理ボリュームから順に容量拡張前後の各論理ボリュームの先頭、および末尾ＬＢＡを求めて容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動しない論理ボリュームは順序を「正順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡが後に移動せず、末尾ＬＢＡが後に移動する論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半の順序を「正順」、後半の順序を「逆順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡ、および末尾ＬＢＡが後に移動する論理ボリュームは順序を「逆順」として容量拡張管理テーブルに登録するステップと、容量拡張後に先頭ＬＢＡが後に移動し、末尾ＬＢＡが後に移動しない論理ボリュームは、容量拡張前後でＬＢＡが変化しない位置で該論理ボリュームを分割し、前半を「逆順」、後半を「正順」として容量拡張管理テーブルに登録するステップとを有し、容量拡張処理プログラムは、物理ディスクが追加された場合、容量拡張管理テーブルに登録された先頭論理ボリュームの順序を読み取るステップと、順序が「正順」の場合は、該論理ボリュームの容量拡張前の先頭ＬＢＡから順に容量拡張後のＬＢＡに移動させるステップと、順序が「逆順」の場合はさらに、次の論理ボリュームから「逆順」の論理ボリュームの連続の最後を検索し、該最後の論理ボリュームの容量拡張前末尾ＬＢＡから逆順に容量拡張後のＬＢＡに移動させるステップと、前記論理ボリュームの移動処理を繰り返して全論理ボリュームについて容量拡張前のＬＢＡから容量拡張後のＬＢＡに移動させるステップとを有することを特徴とする。
【発明の効果】
【００１９】
本発明により、複数の物理ディスクで構成したＲＡＩＤグループ上に複数の論理ボリュームが設定されたストレージ装置の運用中であっても、ストレージ装置に物理ディスクの追加による容量拡張を行うことが可能となる。
【発明を実施するための最良の形態】
【００２０】
図１に、容量拡張に先立ち指定される、容量拡張後の各論理ボリュームの容量を基に容量拡張管理テーブルを作成するフロー例を示す。
【００２１】
ストレージ装置は、図１のステップＳ１で、ＬＤＥ後の各論理ボリュームの容量指定を受け付ける。
【００２２】
ステップＳ２で、ＲＡＩＤグループ上の論理ボリュームに容量拡張管理テーブル未作成のボリュームがあるか確認し、未作成のボリュームが無い場合は処理を終了し、未作成のボリュームがある場合はステップＳ３に進む。
【００２３】
ステップＳ３で当該論理ボリュームの容量拡張前後の構成での先頭、および末尾ＬＢＡを計算し、ステップＳ４で容量拡張後に先頭ＬＢＡが後に移動するか確認し、後に移動する場合はステップＳ８に進み、後に移動しない場合はステップＳ５に進む。
【００２４】
ステップＳ５で容量拡張後にデータ末尾ＬＢＡが後に移動するか確認し、後に移動しない場合は順序を「正順」とし、ステップＳ１１に進み、後に移動する場合はステップＳ７に進み、容量拡張前後でＬＢＡが変化しない位置を求め、当該論理ボリュームを当該位置で分割し、前半の順序を「正順」とし、後半の順序を「逆順」としステップＳ１１に進む。
【００２５】
ステップＳ８で容量拡張後にデータ末尾ＬＢＡが後に移動するか確認し、後に移動する場合は順序を「逆順」とし、ステップＳ１１に進み、後に移動しない場合はステップＳ１０に進み、容量拡張前後でＬＢＡが変化しない位置を求め、当該論理ボリュームを当該位置で分割し、前半の順序を「逆順」とし、後半の順序を「正順」としステップＳ１１に進む。
【００２６】
ステップＳ１１では、当該論理ボリュームの先頭ＬＢＡ、データ末尾ＬＢＡ、および順序を容量拡張管理テーブルに登録し、ステップＳ２に戻る。
【００２７】
図２は、作成された容量拡張管理テーブルに従って容量拡張処理を行うフロー例を示す。ステップＳ２１で物理ディスクの追加を確認するとステップＳ２２に進み、容量拡張管理テーブルに未処理の論理ボリュームがあるかを確認し、未処理の論理ボリュームが無い場合には終了し、未処理の論理ボリュームがある場合はステップＳ２３に進む。
【００２８】
ステップＳ２３で、容量拡張管理テーブル上の未処理論理ボリュームのうち、先頭にある論理ボリュームの順序を確認し、順序が「正順」でない場合はステップＳ２５に進み、順序が「正順」の場合はステップＳ２４に進み、当該論理ボリュームを先頭から順に容量拡張前のＬＢＡから容量拡張後のＬＢＡに再配置し、ステップＳ２２に戻る。
【００２９】
ステップＳ２５では、次の論理ボリュームの順序を確認し、「逆順」の場合は更に次の論理ボリュームの順序を確認し、「逆順」でない場合は、ステップＳ２６に進み、当該論理ボリュームから「逆順」の先頭論理ボリュームまで、末尾から逆順に容量拡張前のＬＢＡから容量拡張後のＬＢＡに再配置し、ステップＳ２２にもどる。
【００３０】
本発明によるストレージ装置例を図３に示す。本発明によるストレージ装置は、少なくともストレージ装置の制御を行うＣＰＵ１と、メモリ２と、ＲＡＩＤグループを構成する物理ディスク群６〜９と、追加する物理ディスクを収容する領域１０を備え、メモリ２には、少なくともＣＰＵ１に容量拡張管理テーブルの作成を実行させるプログラム３、ＣＰＵ１に容量拡張処理を実行させるプログラム４、容量拡張管理テーブル５を保持する。
【実施例１】
【００３１】
図４は、各ディスクの容量が、ＬＢＡ単位で１８００（１６進７０８）の物理ディスクＰ＃０、Ｐ＃１、Ｐ＃２、Ｐ＃３で構成するＲＡＩＤグループ上に、各論理ボリュームの容量が、ＬＢＡ単位で２４００（１６進９６０）の論理ボリュームＬ＃０、Ｌ＃１、Ｌ＃２が設定されているストレージ装置に、物理ディスク＃０と容量が等しい物理ディスクＰ＃４を追加し、論理ボリュームＬ＃１、および論理ボリュームＬ＃２の容量を拡張する実施例１を示す。
【００３２】
ストレージ装置が、図５に示す容量拡張管理テーブルの容量拡張後の各倫理ボリュームの容量指定を受け付けると、図１に示す容量拡張管理テーブル作成を開始する。
【００３３】
実施例１の場合、論理ボリュームＬ＃０は容量が変わらないため、Ｐ＃４の追加によりデータ末尾ＬＢＡは５９９（１６進２５７）から４７９（１６進１ＤＦ）となり、処理の順序は「正順」となる。
【００３４】
論理ボリュームＬ＃１は、先頭のＬＢＡが４８０（１６進１Ｅ０）、データ末尾のＬＢＡが９５９（１６進３ＢＦ）となり、処理の順序は「正順」となる。
【００３５】
しかし、論理ボリュームＬ＃１は容量が拡張され、末尾のＬＢＡが１２５９（１６進４ＥＢ）となる。
【００３６】
このため、論理ボリュームＬ＃２は、容量拡張後の先頭ＬＢＡが１２６０（１６進４ＥＣ）、データ末尾ＬＢＡが１７３９（１６進６ＣＢ）となる。すなわち、論理ボリュームＬ＃２は、容量拡張前後で先頭ＬＢＡが後に移動し、データ末尾のＬＢＡが前に移動するため、容量拡張前後でＬＢＡが移動しない位置、この場合はＬＢＡが１５００（１６進５ＤＢ）で分割し、前半を「Ｌ＃２−１」とし、「逆順」後半を「Ｌ＃２−２」とし、「正順」として容量拡張管理テーブルに登録する。
【００３７】
容量拡張管理テーブルが完成すると、ストレージ装置は図２に示す容量拡張処理フローを開始する。物理ディスクが追加されると、図５に示す容量拡張管理テーブルの処理順序にしたがってデータの再配置を行う。
【００３８】
図６は、実施例１の活性容量拡張結果を示し、容量拡張前後での各物理ディスクと、各論理ボリュームの配置、および処理の順序を示す。
【実施例２】
【００３９】
図７は、実施例１で用いた容量拡張前のストレージ装置に本発明を適用し、図１８、図２０に示したデータ破壊を起こす例（先頭論理ボリュームの容量拡張例）を処理した例を示し、実施例２で作成される容量拡張管理テーブルを図８に示す。
【００４０】
この場合、論理ボリュームＬ＃０のデータ末尾ＬＢＡは、図５に示す容量拡張管理テーブルと同様で、５９９（１６進２５７）から４８０（１６進１ＤＦ）となり、処理の順序は「正順」となる。
【００４１】
論理ボリュームＬ＃１は、先頭のＬＢＡが８４０（１６進３４８）、データ末尾のＬＢＡが１３１９（１６進５２７）となり、処理の順序は「逆順」となる。
【００４２】
論理ボリュームＬ＃２は、先頭のＬＢＡが１３２０（１６進５２８）、データ末尾のＬＢＡが１８００（１６進７０７）となり、処理の順序は「逆順」となる。
【００４３】
この例では、論理ボリュームの分割は起こらない。
【００４４】
容量拡張管理テーブルが完成すると、ストレージ装置は図２に示す容量拡張処理フローを開始する。物理ディスクが追加されると、図８に示す容量拡張管理テーブルの処理順序にしたがってデータの再配置を行う。
【００４５】
図９は、実施例２の容量拡張結果を示し、容量拡張前後での各物理ディスクと、各論理ボリュームの配置、および処理の順序を示す。
【図面の簡単な説明】
【００４６】
【図１】容量拡張管理テーブル作成フロー例
【図２】容量拡張処理フロー例
【図３】本発明によるストレージ装置例
【図４】実施例１
【図５】実施例１の容量拡張管理テーブル
【図６】実施例１の容量拡張結果
【図７】実施例２
【図８】実施例２の容量拡張管理テーブル
【図９】実施例２の容量拡張結果
【図１０】従来例１（容量拡張前）
【図１１】従来例１（容量拡張後）
【図１２】従来例２（容量拡張前）
【図１３】従来例２（容量拡張後）
【図１４】従来例２の制約条件
【図１５】容量拡張例（均等拡張）
【図１６】容量拡張例（論理ボリューム追加）
【図１７】容量拡張例（最後の論理ボリューム容量拡張）
【図１８】容量拡張例（先頭の論理ボリューム容量拡張）
【図１９】容量拡張例（複数の論理ボリューム容量拡張）
【図２０】容量拡張によるデータ破壊例
【符号の説明】
【００４７】
１    ＣＰＵ
２    メモリ
３    容量拡張管理テーブル作成プログラム
４    容量拡張処理プログラム
５    容量拡張管理テーブル
６、７、８、９    ＲＡＩＤグループを構成するディスク群
１０    追加する物理ディスクを収容する領域
【図１】
2008003857.tif 000003
【図２】
2008003857.tif 000004
【図３】
2008003857.tif 000005
【図４】
2008003857.tif 000006
【図５】
2008003857.tif 000007
【図６】
2008003857.tif 000008
【図７】
2008003857.tif 000009
【図８】
2008003857.tif 000010
【図９】
2008003857.tif 000011
【図１０】
2008003857.tif 000012
【図１１】
2008003857.tif 000013
【図１２】
2008003857.tif 000014
【図１３】
2008003857.tif 000015
【図１４】
2008003857.tif 000016
【図１５】
2008003857.tif 000017
【図１６】
2008003857.tif 000018
【図１７】
2008003857.tif 000019
【図１８】
2008003857.tif 000020
【図１９】
2008003857.tif 000021
【図２０】
2008003857.tif 000022