(57)【要約】  管理システムが、ホストシステムに接続されたストレージシステム内の複数の論理ボリュームを管理する。複数の論理ボリュームは、ホストシステムに提供される第１の論理ボリュームと、第２の論理ボリュームとを含む。管理システムは、第２の論理ボリュームを、第１の論理ボリュームの複製ボリュームとし、且つ、ホストシステムに提供された論理ボリュームである第１の状態のボリュームとして管理する。管理システムは、第２の論理ボリュームを、第１の論理ボリュームに関連付けられた第２の状態のボリュームに変更する。第２の状態のボリュームは、ホストシステムに提供された論理ボリュームではなく、ホストシステムによる将来の使用のためにスタンバイ状態にある。管理システムは、第１の論理ボリュームにデータが新たに格納される場合、第２の状態のボリュームである第２の論理ボリュームに格納されているデータと、第２の論理ボリュームに関連付けられた第１の論理ボリュームに格納されたデータとの間のデータ差分を管理する。【選択図】図１
2016532927.tif 000002
【特許請求の範囲】
【請求項１】
ストレージシステムと前記ストレージシステムのホストシステムとに接続されたインターフェースユニットと、
前記インターフェースユニットに接続され、複数の論理ボリュームを管理するプロセッサユニットと、
を備え、
前記複数の論理ボリュームは、前記ホストシステムに提供された第１の論理ボリュームと、第２の論理ボリュームとを含み、
前記プロセッサは、前記情報に基づいて、
前記第２の論理ボリュームを、前記第１の論理ボリュームの複製ボリュームとし、且つ、前記ホストシステムに提供されている論理ボリュームである第１の状態のボリュームとして管理し、
前記第２の論理ボリュームを、前記第１の論理ボリュームに関連付けられた第２の状態のボリュームに変更し、前記第２の状態のボリュームは、前記ホストシステムに提供された論理ボリュームではなく、前記ホストシステムによる将来の使用のためにスタンバイ状態にあり、
前記第１の論理ボリュームにデータが新たに格納される場合、前記第２の状態のボリュームである前記第２の論理ボリュームに格納されているデータと、前記第２の論理ボリュームに関連付けられた前記第１の論理ボリュームに格納されたデータとの間のデータ差分を管理する、
管理システム。
【請求項２】
管理されている第２の状態のボリュームが、前記第１の論理ボリュームに関連付けられた前記第２の論理ボリュームを含む場合、前記プロセッサユニットは、前記第１の論理ボリュームを複製することの要求に応答して、前記第２の論理ボリュームを前記ホストシステムに提供する、
請求項１に記載の管理システム。
【請求項３】
前記管理されている第２の状態のボリュームが、前記第１の論理ボリュームに関連付けられた前記第２の論理ボリュームを含まない場合、前記プロセッサユニットは、第３の状態のボリュームを前記ホストシステムに提供し、
前記第３の状態のボリュームは、前記ホストシステムに提供された論理ボリュームでなく、フォーマットされた論理ボリュームである、
請求項２に記載の管理システム。
【請求項４】
前記データ差分が存在する場合、前記プロセッサユニットは、前記第２の論理ボリュームを前記ホストシステムに提供する前に、前記データ差分を前記第１の論理ボリュームに関連付けられた前記第２の論理ボリュームに格納する、
請求項２に記載の管理システム。
【請求項５】
前記第１の論理ボリュームに関連付けられた２以上の第２の状態のボリュームが存在する場合、前記第２の論理ボリュームは、前記２以上の第２の論理ボリュームのうちの、データ差分が最も小さい前記第２の状態のボリュームである、
請求項２に記載の管理システム。
【請求項６】
前記第１の論理ボリュームが前記第２の論理ボリュームに関連付けられていないとき、前記プロセッサユニットは、前記第２の論理ボリュームを第３の状態の論理ボリュームに変更し、
前記第３の状態のボリュームは、前記ホストシステムに提供された論理ボリュームでなく、フォーマット済みの論理ボリュームである、
請求項１に記載の管理システム。
【請求項７】
前記データ差分の量が閾値を超えている場合、前記プロセッサは、前記第２の状態のボリュームであ、前記第１の論理ボリュームに関連付けられた前記第２の論理ボリュームに、前記データ差分を完全に又は部分的に格納する、
請求項１に記載の管理システム。
【請求項８】
前記プロセッサユニットは、前記第２の論理ボリュームに関連付けられた前記第１の論理ボリュームをマイグレーションすることの要求に応答して、前記第２の論理ボリュームを前記ホストシステムに提供する、
請求項２に記載の管理システム。
【請求項９】
前記プロセッサユニットは、前記複製ボリュームを削除することに応答して、前記第２の論理ボリュームを前記第２の状態のボリュームに変更する、
請求項１に記載の管理システム。
【請求項１０】
前記プロセッサユニットは、前記第１の論理ボリュームのＩ／Ｏ間の読出しＩ／Ｏレートが所定の閾値を超えている場合、前記第２の論理ボリュームを前記第２の状態のボリュームとして管理することを決定するように構成される、
請求項１に記載の管理システム。
【請求項１１】
前記第１の論理ボリュームの前記Ｉ／Ｏ間の前記読出しＩ／Ｏレートが所定の閾値以下である場合、前記プロセッサユニットは、前記第２の論理ボリュームを第３の状態のボリュームとして管理することを決定し、
前記第３の状態のボリュームは、前記ホストシステムに提供された論理ボリュームでなく、フォーマット済みの論理ボリュームである、
請求項１０に記載の管理システム。
【請求項１２】
ホストシステムに接続されたストレージシステムであって、
複数の論理ボリュームに含まれる論理ボリュームの基になる複数のストレージデバイスと、
前記複数のストレージデバイス及び前記ホストシステムに接続されたコントローラユニットと、
を備え、
前記複数の論理ボリュームは、前記ホストシステムに提供された第１の論理ボリュームと、第２の論理ボリュームとを含み、
前記コントローラユニットは、
前記第２の論理ボリュームを、前記第１の論理ボリュームの複製ボリュームとなるように制御して、前記第２の論理ボリュームを前記ホストシステムに提供し、
前記第２の論理ボリュームを、前記第１の論理ボリュームの複製ボリュームとなるように制御することと、前記第２の論理ボリュームを前記ホストシステムに提供することとを中止し、
前記第２の論理ボリュームが前記ホストシステムによる将来の使用のためにスタンバイ状態にあるように、前記第２の論理ボリュームを前記第１の論理ボリュームに関連付け、
前記ホストシステムによって前記第１の論理ボリュームにデータが新たに格納される場合、前記第２の状態のボリュームである前記第２の論理ボリュームに格納されているデータと、前記第２の論理ボリュームに関連付けられた前記第１の論理ボリュームに格納されたデータとの間のデータ差分を管理する、
ように構成される、
ストレージシステム。
【請求項１３】
ホストシステムに接続されたストレージシステム内の、前記ホストシステムに提供された第１の論理ボリュームと、第２の論理ボリュームとを含む複数の論理ボリュームを、管理する方法であって、
前記第２の論理ボリュームを、前記第１の論理ボリュームの複製ボリュームとし、且つ、前記ホストシステムに提供されている論理ボリュームである第１の状態のボリュームとして管理し、
前記第２の論理ボリュームを、前記第１の論理ボリュームに関連付けられた第２の状態のボリュームに変更し、前記第２の状態のボリュームは、前記ホストシステムに提供された論理ボリュームではなく、前記ホストシステムによる将来の使用のためにスタンバイ状態にあり、
前記第１の論理ボリュームにデータが新たに格納される場合、前記第２の状態のボリュームである前記第２の論理ボリュームに格納されているデータと、前記第２の論理ボリュームに関連付けられた前記第１の論理ボリュームに格納されたデータとの間のデータ差分を管理する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、論理ボリュームの管理に関する。
【背景技術】
【０００２】
データセンタは、リソースを効率的に利用し、ボトルネック及び障害を迅速に解消又は軽減するために、最近では、データセンタのコンピュータ、ネットワーク及びストレージに、仮想化されたリソースを動的に割り当てるようになっている。詳細には、単一の論理ボリュームでは満たすことができない、サービスの読出し作業負荷需要の予期された又は予期されていない増大を満たすために、ボリュームスケールアウトが実行される。さらに、ディスク性能需要（例えば、ＳＡＴＡからＳＳＤへの変更を要求する）の予期された又は予期されていない増大を満たし、いくつかのストレージの作業負荷の平衡をとるために、ボリュームマイグレーションが実行される。マイグレーションは、ホストと、その提供される論理ボリュームとの間のＩ／Ｏパスにおいて問題が生じるときにサービスを再開するのにも必要とされる場合がある。しかしながら、ボリュームスケールアウト及びボリュームマイグレーションを実行することは、完全なデータコピーが必要とされるため、長い時間がかかる。
【０００３】
他方で、論理ボリューム間で大量のデータ量をコピーすることを回避するために、データ再利用方法が存在する。特許文献１は、アプリケーションデータを削除するコマンドを用いる場合であっても、記憶されたアプリケーションデータが削除されず、同じアプリケーションによる将来の再利用のために記憶されたままにされるシステムを開示している。この方法は、バックアップを作成し、再利用される必要があるアプリケーションデータをリストアするという時間のかかるタスクを回避するものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２０１２／０１７９８２３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１によって開示されている関連技術は、以前に破棄されたデータのコピーとしてデータを再利用する目的で用いられる。しかしながら、この技術は、論理ボリュームのスケールアウト又はマイグレーションのために用いることができない。なぜなら、これらの事例では、少なくとも１つの論理ボリュームが依然としてホストに提供されるためである。したがって、元のデータに対し一旦複製されたデータを再利用するためには、元のデータ間の関係の管理が必要とされる。例えば、論理ボリュームが新たな論理ボリュームにマイグレーションされるとき、通常、元のボリュームは削除される。ソース論理ボリュームにおけるデータが削除されず保持される場合であっても、これを、ホストに提供される、デスティネーション論理ボリューム内のデータのコピーとして用いることができない。なぜなら、特許文献１のシステムにおいて、（１）保持されるデータは、元のデータに関連付けられているのではなく、アプリケーションに関連付けられており、（２）保持されるデータは、関係する元データの変更に応じて更新されないためである。結果として、論理ボリュームスケールアウト及び論理ボリュームマイグレーションのうちの少なくとも１つのような管理オペレーションを実行するときに、時間及びリソースを消費する、論理ボリュームをコピーするタスク、を回避するために、保持されるデータを再利用することが不可能である。論理ボリュームスケールアウト及び論理ボリュームマイグレーションは、ダウンタイム及び性能不良が生じる前に、予期されない問題及び需要を解決するために短時間で行われる必要があるオペレーションである。
【課題を解決するための手段】
【０００６】
管理システムが、ホストシステムに接続されたストレージシステム内の複数の論理ボリュームを管理する。複数の論理ボリュームは、ホストシステムに提供される第１の論理ボリュームと、第２の論理ボリュームとを含む。管理システムは、第２の論理ボリュームを、第１の論理ボリュームの複製ボリュームとし、且つ、ホストシステムに提供された論理ボリュームである第１の状態のボリュームとして管理する。管理システムは、第２の論理ボリュームを、第１の論理ボリュームに関連付けられた第２の状態のボリュームに変更する。第２の状態のボリュームは、ホストシステムに提供された論理ボリュームではなく、ホストシステムによる将来の使用のためにスタンバイ状態にある。管理システムは、第１の論理ボリュームにデータが新たに格納される場合、第２の状態のボリュームである第２の論理ボリュームに格納されているデータと、第２の論理ボリュームに関連付けられた第１の論理ボリュームに格納されたデータとの間のデータ差分を管理する。
【発明の効果】
【０００７】
本発明によれば、データセンタにおいて、自動化プロセス又は管理者は、時間のかかる論理ボリュームコピーを必要とすることなく、スケールアウト及びマイグレーションのうちの少なくとも１つのような計画されていない管理オペレーションを実行することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る、実行された管理オペレーションに応答した、ストレージシステムにおける、ホストと論理ボリュームとの関連付け及び論理ボリューム状態の経時的展開を示す図である。
【図２】実施形態に係る計算機システムの概略構成を示す図である。
【図３】管理計算機において提供される論理ボリューム関連付けテーブルの構成例を示す図である。
【図４】管理計算機において提供される論理ボリュームペアリングテーブルの構成例を示す図である。
【図５】管理計算機において提供される論理ボリューム管理テーブルの構成例を示す図である。
【図６】管理計算機において提供されるストレージ管理テーブルの構成例を示す図である。
【図７】論理ボリューム複製要求が到達する時点において管理計算機によって実行される処理を説明するためのフローチャートを示す図である。
【図８】論理ボリューム削除要求が到達する時点において管理計算機によって実行される処理を説明するためのフローチャートを示す図である。
【図９】管理計算機によって、例えば短い時間間隔で周期的に実行されるプロセスを説明するためのフローチャートを示す図である。
【発明を実施するための形態】
【０００９】
本発明の一実施形態を以下で説明する。
【００１０】
以下の説明において、「ａａａテーブル」という表現を用いて情報を説明するが、情報は、テーブル以外のデータ構造で表すこともできる。データ構造からの独立性を表すために、「ａａａテーブル」という用語は「ａａａ情報」という用語と置き換えることができる。
【００１１】
ＩＤ（識別子）が以下の説明におけるターゲットを識別するための情報として用いられるが、ＩＤは、他の種類の識別情報と置き換えることができる。
【００１２】
以下の説明において、「プログラム」という用語が、プロセスを説明するための主格として用いられることがある。しかしながら、プログラムは、ストレージユニット（例えば、メモリ）及びインターフェースユニット（例えば、通信ポート）のうちの少なくとも１つを用いて決定されたプロセスを実行するプロセッサユニット（例えば、ＣＰＵ（中央処理装置））によって実行される。したがって、プロセスの主体はプロセッサユニットとすることができる。プロセスの一部はハードウェア回路によって実行することができ、プロセッサユニットはハードウェア回路を備えることができる。プログラムはプログラムソースからインストールすることができる。プログラムソースは、例えば、プログラム分散サーバ又はポータブルストレージ媒体とすることができる。
【００１３】
以下の説明では、論理ボリュームを管理し、表示用の情報を表示するように構成された１つ又は複数のコンピュータの集合体を「管理システム」と呼ぶ場合がある。管理計算機が表示用の情報を表示する例では、管理計算機は管理システムとしての役割を果たすことができる。さらに、管理計算機及び表示コンピュータの組合せも、管理システムとしての役割を果たすことができる。管理プロセスの速度及び信頼性を向上させるために、複数のコンピュータを用いて、管理計算機によって実行されるプロセスと同一であるか又は類似したプロセスを達成することができる。この場合、複数のコンピュータ（表示コンピュータが表示用に用いられる場合は表示コンピュータを含む場合がある）が管理システムとしての役割を果たすことができる。実施形態において、管理計算機は管理システムとしての役割を果たすことができる。「管理計算機が情報を表示する」というフレーズは、管理計算機によって保有される表示デバイス上に情報が表示されることを表すこともできるし、表示用の情報が管理計算機に接続された表示コンピュータに送信されることを表すこともできる。後者の場合、表示コンピュータが情報を表示し、この情報は、この表示コンピュータによって保有される表示デバイス上の表示用の情報によって表される。
【００１４】
以下の説明において、「論理ボリューム」という用語は、論理ストレージデバイスを表す。論理ボリュームは、実論理ボリュームとすることもできるし、仮想論理ボリュームとすることもできる。「実論理ボリューム」という用語は、１つ又は複数のＰＤＥＶに基づく論理ボリュームを表す。「ＰＤＥＶ」という用語は、ＨＤＤ（ハードディスクドライブ）又はＳＳＤ（ソリッドステートドライブ）等の不揮発性物理ストレージデバイスの略記である。複数のＰＤＥＶは複数のＲＡＩＤ（独立（又は安価）ディスクの冗長アレイ）グループを形成することができる。ＲＡＩＤグループを「パリティグループ」と呼ぶことができる。「仮想論理ボリューム」の例は、ストレージ仮想化技術に従う論理ボリュームを含むことができ、これは、仮想論理ボリュームと、容量仮想化技術（通常、シンプロビジョニング）に従う論理ボリュームと、元の論理ボリュームのスナップショットとして提供される論理ボリュームとを有するストレージ装置に接続された外部ストレージ装置のストレージリソース（例えば、論理ボリューム）に基づく。
【００１５】
＜実施形態の概要＞
【００１６】
図１に示す図を参照することによって、実施形態の概要が説明される。
【００１７】
図１は、４つの異なる時点におけるストレージシステム内の論理ボリューム２２１２の状態を示す。時点は、早いものから後のものへと順に、（ｔ）、（ｔ＋１）、（ｔ＋２）及び（ｔ＋３）である。各時点は、前の時点から任意の期間が経過した後に生じる。論理ボリュームは、管理計算機によって管理される３つの状態のうちの１つを有する（図５）。３つの状態は、「提供済み」、「スタンバイ」及び「フォーマット済み」である。フォーマット済み論理ボリュームは、データを有さず、ストレージシステムに接続されたホスト計算機２０００等のホストシステムに提供されていない論理ボリュームである。言い換えれば、フォーマット済み論理ボリュームは、ホスト計算機によって管理されず、ホスト計算機によって認識されることが不可能である。（ホストシステムは、図１による例において、Ｈｏｓｔ１及びＨｏｓｔ２という名称の２つのホスト計算機を備える）。フォーマット済み論理ボリュームは、フォーマットされた論理ボリュームとすることができる。スタンバイ論理ボリュームは、データを有し、ホストシステムに提供されていない論理ボリュームである。スタンバイ論理ボリュームは、ホストシステムによる将来の使用のためにスタンバイ状態にある。提供済み論理ボリュームは、データを有し、ホスト計算機２０００に提供されている論理ボリュームである。すなわち、ホスト計算機２０００は、提供済み論理ボリューム内のデータに対する読出しアクセス及び／又は書込みアクセスを有することができる。
【００１８】
時点（ｔ）は、サービスを提供するＨｏｓｔ１という名称のホスト計算機を表す。論理ボリューム１という名称の提供済み論理ボリューム、以後ＬＶ１、がＨｏｓｔ１に接続される（図５）。ＬＶ２及びＬＶ３という名称の２つの論理ボリュームがフォーマット済み状態に留まっている。
【００１９】
時点（ｔ）の後、Ｈｏｓｔ１によって提供されるサービスは、ＬＶ１単独では満たすことができない重い読出し作業負荷に対する一時的な需要を有する。したがって、スケールアウトが要求される。ＬＶ１は、スタンバイ論理ボリュームと一切関連付けられていないので、スケールアウトは以下のように実行される（図７）。（１）管理システムからの要求に応答して、ストレージシステムによって、論理ボリュームＬＶ１に格納されたデータ全体をＬＶ２にコピーし、（２）コピー後に、ストレージシステムによって、自律的に、又は管理システムからの要求に応答して、Ｈｏｓｔ２という名称の別のホスト計算機にＬＶ２を提供する（ＬＶ２はＨｏｓｔ２の代わりにＨｏｓｔ１に提供されてもよい）。結果として、論理ボリュームがコピーされた後に需要が満たされる。これは、論理ボリュームのサイズに依拠してかなり長い時間を要する場合がある。さらに、ＬＶ１をＬＶ２にコピーすることは、ＬＶ１が最も必要とされているとき、ＬＶ１の性能に負の影響を与える場合がある。
【００２０】
時点（ｔ＋１）は、スケールアウトタスクが終了し、ＬＶ２が、Ｈｏｓｔ２に接続された提供済み論理ボリュームであるときの状態を表す。サービスの重い読出し作業負荷は、Ｈｏｓｔ１とＨｏｓｔ２との間で分割され又は平衡をとられる。ＬＶ１及びＬＶ２におけるデータは、論理ボリュームのうちの一方に到達した変化（書込み）を他方の論理ボリュームに伝搬することによって、同じに保たれる。変化は、ストレージシステム、ホストシステム及び管理システムのうちの少なくとも１つによって伝搬することができる。論理ボリュームＬＶ１及びＬＶ２は、ストレージシステムによってそれらの同期が保たれるので、ペアリング関係にあるとみなされる。ＬＶ１の近時の読み書きレートが管理システムによって管理される。読み書きレートは、読出し周波数（例えば、ＩＯＰＳ（１秒あたりのＩ／Ｏ））を読出し周波数及び書込み周波数で除算した値として表される。さらに、ストレージシステムは、ＬＶ１とＬＶ２との間のペアリング関係を管理し、それらのデータの同期を保つことができる。
【００２１】
時点（ｔ＋１）の後、重い読出し作業負荷に対するサービス需要が終了する。ストレージシステムリソースを効率的に用いるために、Ｈｏｓｔ２はサービスから解放され、Ｈｏｓｔ２及びＬＶ２を接続するためのリソースが解放される。管理システムは、ＬＶ１の近時の読み書きレートに基づいて、ＬＶ２がスタンバイ論理ボリュームになるのに適していると判断する。これは、サービスが重い読出し作業負荷を有し、重い書込み作業負荷を有していないことを表す（図８）。また、管理システムは、ストレージシステムに、ＬＶ２のステータスを提供済みからスタンバイに変更することを要求することができる。要求に応答して、ストレージシステムは、ＬＶ２をスタンバイ論理ボリュームとして管理することができる。
【００２２】
ＬＶ２がスタンバイ論理ボリュームになるとき、ＬＶ２は、ＬＶ１と同じデータを保有するが、それらのデータは、書込みがＬＶ１に到達すると異なったものになる。ＬＶ１とＬＶ２との間の関連付け及びデータ差分は、管理システム及びストレージシステムのうちの少なくとも１つによって管理される（図３）。ある条件に達すると、ストレージシステムによって、自律的に、又は管理システムからの要求に応答して、ＬＶ１及びＬＶ２を部分的に又は完全に同期させるために（図９）、異なるデータをＬＶ１からＬＶ２にコピーすることができる。計算機システムの空き領域又はフォーマット済み論理ボリュームがなくなると、スタンバイ論理ボリュームＬＶ２が削除又はフォーマットされる（図７）。
【００２３】
時点（ｔ＋２）は、ＬＶ１及びＬＶ２が関連付けられ、それらのデータ差分が、管理システム及びストレージシステムのうちの少なくとも１つによって管理されるときの状態を表す。ＬＶ１は提供済み論理ボリュームであり、ＬＶ２はスタンバイ論理ボリュームである。時点（ｔ＋２）において、データ差分の量が閾値を超える場合、管理されるデータ差分を、その量が閾値未満となるように、ストレージシステムによって、自律的に、又は管理システムからの要求に応答して、完全に又は部分的にＬＶ１からＬＶ２にコピーすることができる。結果として、時点（ｔ＋２）の後にＬＶ１及びＬＶ２を同期させることが可能である。
【００２４】
時点（ｔ＋２）の後、Ｈｏｓｔ１によって提供されるサービスは、ここでも、ＬＶ１単独では満たすことができない重い読出し作業負荷に対する一時的な需要を有する。したがって、スケールアウトが要求される。ＬＶ１は、スタンバイ論理ボリュームと関連付けられているので、スケールアウトは以下のように短時間で実行される（図７）。（１）ＬＶ１及びＬＶ２を完全に同期させるために、管理されているデータ差分をＬＶ１からＬＶ２にコピーし、（２）コピー後に、ＬＶ２を、Ｈｏｓｔ２という名称のホストに提供する。結果として、需要は、データのごく一部分又は任意の部分をコピーした後に、かなり迅速に満たされる。ＬＶ１がいくつかのスタンバイ論理ボリュームに関連付けられているとき、提供されるのに最も適したボリュームは、ＬＶ１との最も小さなデータ差分を有するスタンバイ論理ボリュームとして選択される。
【００２５】
時点（ｔ＋３）は、時点（ｔ＋１）において表される状態と同様に、スケールアウトタスクが終了したときの状態を表す。
【００２６】
上記の概要において記載されたように、（１）削除されることを要求された論理ボリュームを保持し、（２）保持された論理ボリュームを、ホストに提供されるその元の論理ボリュームに関連付け、（３）論理ボリューム間のデータ差分を管理することによって、元の論理ボリュームの１つの複製された論理ボリュームを、その論理ボリュームが最初に複製されるときにその論理ボリュームの完全なコピーを実行することにより、複数回提供することができる。さらに、実施形態に係る管理システムは、いずれの論理ボリュームが保持されるか、どの程度の期間保持されるか、及びいつ再利用又は削除されるべきであるかを判定する負担に対処するので、管理システムは、オートスケール及びマイグレーション等の自動化されたプロセスによって用いることもでき、論理ボリューム複製及び論理ボリューム削除のオペレーションを要求するスキルのないユーザ及び管理者によって用いることもできる。
【００２７】
＜計算機システムの構成＞
【００２８】
図２は、本発明の実施形態に係る計算機システムの概略構成を示す図である。
【００２９】
計算機システム１００は、ストレージシステムと、ＳＡＮ（ストレージエリアネットワーク）等のネットワークを介してストレージシステムに接続されたホストシステムとを備える。複数の論理ボリューム２２１２を管理する管理システムが、ＬＡＮ（ローカルエリアネットワーク）等の同じ又は別のネットワークを介してストレージシステム及びホストシステムに接続される。
【００３０】
ホストシステムは少なくとも１つのホスト計算機２０００である。ホスト計算機２０００は、ストレージ装置２２００によって提供される論理ボリューム２２１２を用いるコンピュータであり、特に、ホスト計算機２０００は、論理ボリューム２２１２をストレージ装置２２００に指定するＩ／Ｏ（入出力）要求を発行する。ホスト計算機２００は、インターフェースユニットと、ストレージユニットと、入力ユニットと、出力ユニットと、これらに接続されたプロセッサユニットとを備える。インターフェースユニットは、データＩ／Ｆ２０１５及び管理Ｉ／Ｆ２０１６等の少なくとも１つのインターフェースデバイスである。データＩ／Ｆ２０１５（例えば、ＳＡＮのインターフェースデバイス）は、ストレージシステムに接続される。管理Ｉ／Ｆ２０１６（例えば、ＬＡＮのインターフェースデバイス）は、管理システムに接続される。データＩ／Ｆ２０１５及び管理Ｉ／Ｆ２０１６は同じとすることができる。ストレージユニットは、メモリ２０１４等の少なくとも１つのストレージデバイスである。入力ユニットは、キーボード、ポインティングデバイス等の少なくとも１つの入力デバイス２０１１である。出力ユニットは、表示デバイス等の少なくとも１つの出力デバイス２０１３である。プロセッサユニットは、ＣＰＵ２０１２等の少なくとも１つのプロセッサである。メモリ２０１４は、アプリケーション２０２１等のプログラムを記憶し、ＣＰＵ２０１２は、アプリケーション２０２１を実行する。アプリケーション２０２１は、提供済み論理ボリュームを使用するためのプログラムを含む。
【００３１】
ストレージシステムは少なくとも１つのストレージ装置２２００である。ストレージ装置２２００は、複数のディスクデバイス２２１３と、複数のディスクデバイス２２１３に接続されたストレージコントローラユニットとを備える。
【００３２】
各ディスクデバイス２２１３はＰＤＥＶの一例である。複数のディスクデバイス２２１３は、少なくとも１つのＲＡＩＤグループとすることができる。複数の論理ボリューム２２１２は、複数のディスクデバイス２２１３に基づく。
【００３３】
ストレージコントローラユニットは、ディスクコントローラ２２１１等の少なくとも１つのストレージコントローラである。ディスクコントローラ２２１１は、インターフェースユニットと、メモリ２２４４等のストレージユニットと、インターフェースユニット及びストレージユニットに接続されたＣＰＵ２２２３等のプロセッサユニットとを備える。インターフェースユニットは、ホストシステムに接続されたデータＩ／Ｆ２２１１と、管理システムに接続された管理Ｉ／Ｆ２２２２と、複数のディスクデバイス２２１３に接続されたディスクＩ／Ｆ２２１５とを備える。メモリ２２２４は、管理情報２２３１及び制御プログラム２２３２を記憶する。管理情報２２３１は、複数の論理ボリューム２２１２に関する情報である。管理情報２２３１は、テーブル２１２１からテーブル２１２４と同じテーブルを含むことができる。ＣＰＵ２２２３は制御プログラム２２３２を実行する。ディスクコントローラ２２１１は、論理ボリューム２２１２を指定するＩ／Ｏ要求と、論理ボリュームの基礎となるディスクデバイス２２１３における／からの書込み／読出しデータとを受信する。ディスクコントローラ２２１１は、第１の論理ボリュームに格納されたデータと、第１の論理ボリュームとある特定の関係を有する第２の論理ボリュームに格納されたデータとの間のデータ差分を管理する。実施形態において、第１の論理ボリュームは、セカンダリ論理ボリューム（コピー先論理ボリューム）とのペアリング関係を有するプライマリ論理ボリューム（コピー元論理ボリューム）等の提供済み論理ボリュームであるか、又はコピー対を形成していないがスタンバイ論理ボリュームと関連付けられている論理ボリュームである。第２の論理ボリュームは、プライマリ論理ボリュームとペアリング関係を有するセカンダリ論理ボリューム、プライマリ論理ボリュームと関連付けられたスタンバイ論理ボリューム、又はフォーマット済み論理ボリュームである。ディスクコントローラ２２１１は、自律的に、又は管理システムからの要求に応答して、１つのボリュームから別のボリュームへのデータ（全てのデータ又は差分データ）のコピーを実行することによって、同じ対（グループ）内のボリュームを同じに保つように構成される。さらに、ディスクコントローラ２２１１は、自律的に、又は管理システムからの要求に応答して、提供済み論理ボリュームに格納されたデータと、提供済み論理ボリュームに関連付けられたスタンバイ論理ボリュームに格納されたデータとの間のデータ差分を完全に又は部分的にコピーするように構成される。さらに、ディスクコントローラ２２１１は、ホストシステムからＩ／Ｏ要求によって指定された論理ボリューム内のデータ及びこの論理ボリュームからのデータを入力（書込み）及び出力（読出し）するように構成される。さらに、ディスクコントローラ２２１１は、管理システムからの要求に応答して、管理情報２２３１内の情報を設定するように構成される。この種類の処理に必要な情報は、管理情報２２３１に格納される。例えば、管理情報２２３１は、論理ボリュームごとに、ボリュームＩＤ、ボリュームタイプ（例えば、プライマリ、セカンダリ、提供済み又はスタンバイ）、関係付けられたボリュームＩＤ（例えば、ペアリングされたボリュームＩＤ又は関連付けられたスタンバイ論理ボリュームＩＤ）を定義する情報を含むことができる。
【００３４】
上記で定義したように、実施形態において、管理システムは管理計算機２１００である。管理計算機２１００は、インターフェースユニットと、ストレージユニットと、入力ユニットと、出力ユニットと、これらに接続されたプロセッサユニットとを備える。インターフェースユニットは、管理Ｉ／Ｆ２２１５等の少なくとも１つのインターフェースデバイスである。管理Ｉ／Ｆ２２１５はホストシステム及び管理システムに接続される。ストレージユニットは、メモリ２１１４等の少なくとも１つのストレージデバイスである。入力ユニットは、キーボード、ポインティングデバイス等の少なくとも１つの入力デバイス２１１１である。出力ユニットは、表示デバイス等の少なくとも１つの出力デバイス２１１３である。プロセッサユニットは、ＣＰＵ２１１２等の少なくとも１つのプロセッサである。メモリ２１１４はプログラム及び情報を記憶する。情報は、（１）提供済み論理ボリュームと、スタンバイ論理ボリュームと、それらのデータ差分との間の関連付けを管理するための論理ボリューム関連付けテーブル２１２１（図３）、（２）同じデータを含む提供済み論理ボリューム間の関係を管理するための論理ボリュームペアリングテーブル２１２２（図４）、（３）ホストへの論理ボリュームの提供、並びに論理ボリュームの状態及び容量を管理するための論理ボリューム管理テーブル２１２３（図５）、（４）ストレージ装置２２００の容量を管理するためのストレージ管理テーブル２１２４（図６）等である。プログラムは、（１）要求時に論理ボリュームをホストシステムに提供するための論理ボリューム提供プログラム２１２５（図７）、（２）論理ボリューム削除要求に対処するための論理ボリューム削除プログラム２１２６（図８）、及び（３）関連付けられた論理ボリューム間のデータ差分を更新するための差分更新プログラム２１２７（図９）等である。論理ボリューム関連付けテーブル２１２１、論理ボリュームペアリングテーブル２１２２、論理ボリューム管理テーブル２１２３、及びストレージ管理テーブル２１２４によって格納される情報は、論理ボリューム提供プログラム２１２５、論理ボリューム削除プログラム２１２６、及び差分更新プログラム２１２７によって適宜参照され、更新される。
【００３５】
＜論理ボリューム関連付けテーブル２１２１＞
【００３６】
図３は、管理計算機２１００において提供される論理ボリューム関連付けテーブル２１２１の構成例を示す。論理ボリューム関連付けテーブル２１２１は、全てのストレージ装置２２００にわたって、提供済み論理ボリュームと、スタンバイ論理ボリュームと、それらのデータ差分との間の関連付けを管理するテーブルである。論理ボリューム関連付けテーブル２１２１は、構成情報として、論理ボリューム２２１２を識別するための情報である提供済み論理ボリュームＩＤ３００１と、論理ボリューム２２１２を識別するための情報であるスタンバイ論理ボリュームＩＤ３００２と、２つの論理ボリューム間のデータ差分量を表すデータ差分量３３０３と、２つの論理ボリューム間で異なるデータの部分の情報（例えば、データ差分を表すビットマップ）へのポインタであるデータ差分３００４と、提供済み論理ボリュームが重要であるか否かを表す重要フラグ３００５と、重要である提供済み論理ボリュームについて許可される最大データ差分を示すデータ差分閾値３００６を有する。ボリュームＩＤについて、例えば、「Ｖ０１０（ＶＳＰ１）」はストレージＩＤが「ＶＳＰ１」であるストレージ装置が、ＩＤが「Ｖ０１０」である論理ボリュームを有することを表す。
【００３７】
論理ボリューム関連付けテーブル２１２１の行は、提供済み論理ボリュームとスタンバイ論理ボリュームとの間の関連付けを表す。行は、論理ボリュームがスタンバイになるとき、すなわち、関連付けが作成されるときに追加される（図８）。行は、提供済み論理ボリューム及び／又はスタンバイ論理ボリュームが状態を変更するか又は削除されるとき、すなわち、関連付けが解消されたときに削除される（図７、図９）。論理ボリュームは、同時に提供済み且つスタンバイであることができない（図５）。提供済み論理ボリュームは０、１又は複数個のスタンバイ論理ボリュームに関連付けられる。提供済み論理ボリュームがゼロ個のスタンバイ論理ボリュームに関連付けられているとき、提供済み論理ボリュームは、論理ボリューム関連付けテーブル２１２１内に登場しない。提供済み論理ボリュームが１つ又は複数のスタンバイ論理ボリュームに関連付けられているとき、スタンバイ論理ボリュームへの各関連付けが異なる行に登場する。論理ボリューム関連付けテーブル２１２１において、ＩＤ  Ｖ０１０を有する提供済み論理ボリュームが、２つのスタンバイ論理ボリューム：Ｖ０３０及びＶ０２５に関連付けられていることがわかる。スタンバイ論理ボリュームは常に１つの提供済み論理ボリュームに関連付けられ、常に論理ボリューム関連付けテーブル２１２１内の１つの行に登場する。
【００３８】
スタンバイ論理ボリュームは、ＣＰＵ２２１２によって、論理ボリューム関連付けテーブル２１２１において、論理ボリュームペアリングテーブル２１２２（図４）におけるプライマリ論理ボリュームとしても登場する提供済み論理ボリュームに関連付けられることが可能である。論理ボリューム関連付けテーブル２１２１から、ＩＤ「Ｖ１０」を有する論理ボリュームが２つのスタンバイ論理ボリュームに関連付けられていることがわかり、論理ボリュームペアリングテーブル２１２２（図４）から、論理ボリュームＶ１０が同時に、ＩＤ「Ｖ０７０」を有するセカンダリ論理ボリュームのプライマリ論理ボリュームであることがわかる。しかしながら、スタンバイ論理ボリュームは、ＣＰＵ２２１２によって、論理ボリューム関連付けテーブル２１２１において、論理ボリュームペアリングテーブル２１２２におけるセカンダリ論理ボリュームとしても登場する提供済み論理ボリュームに関連付けられることが不可能である。論理ボリューム関連付けテーブル２１２１及び論理ボリュームペアリングテーブル２１２２に登場する提供済み論理ボリュームが、ＣＰＵ２１１２によって役割をプライマリからセカンダリに変更すると、それに応じて、ＣＰＵ２１１２によって論理ボリューム関連付けテーブル２１２１も変更され、スタンバイ論理ボリュームは新たなプライマリ論理ボリュームに関連付けられる。
【００３９】
提供済み論理ボリュームＩＤ３００１及びスタンバイ論理ボリュームＩＤ３００２はそれぞれ、論理ボリューム２２１２及びこの論理ボリュームが属するストレージ装置２２００を識別する。論理ボリューム２２１２は、論理ボリュームが削除されるまで、すなわち空き領域６００２（図６）になるまで決して変化しない、作成時に割り当てられたＩＤを有する。論理ボリュームＩＤは、論理ボリューム関連付けテーブル２１２１、論理ボリュームペアリングテーブル（図４）、及び論理ボリューム管理テーブル（図５）において用いられる。
【００４０】
データ差分量３００３及びデータ差分３００４はそれぞれ、論理ボリューム関連付けテーブル２１２１内の同じ行において識別される提供済み論理ボリュームとスタンバイ論理ボリュームとの間の、異なるデータの量及び異なるデータの部分を表す。双方の値がＣＰＵ２１１２（管理計算機２１００）によって変更される（図９）。スタンバイ論理ボリュームは、関連付けの時点で提供済み論理ボリュームと同じデータを有し、スタンバイ論理ボリュームは、ＣＰＵ２１１２による明示的な同期要求がない限り変化しないので、異なるデータは、ある時点から、例えば、最後の同期から、又は関連付けが行われた時点から、提供済み論理ボリュームにおいて変化したデータとして表すこともできる。データ差分３００４は、情報が格納されている場所、例えば、提供済み論理ボリュームが属するストレージ装置２２００のメモリ２２２４内へのポインタである。情報は、例えば、ビットマップ技術を用いて記憶することができる。論理ボリューム関連付けテーブル２１２１のいくつかの行は、同じ情報、又はメモリリソースを効率的に利用するための組合せをポインティングすることができる。
【００４１】
重要フラグ３００５は、２つの値：「Ｙｅｓ」及び「Ｎｏ」のうちの一方を含む。「Ｙｅｓ」の値は、論理ボリューム関連付けテーブル２１２１内の同じ行によって表される論理ボリューム関連付けが重要であることを表す。「Ｎｏ」の値は、上述の関連付けが重要でないことを表す。このフラグは、関連付けが作成されたときに作成され、任意の時点に変更されることが可能である。フラグは、例えば、管理部が、サービスが達することが可能であるべき最大性能のパラメータを事前に設定するシナリオにおいて、ＣＰＵ２１１２（管理計算機２１００）によって自動的に設定することができ、ＣＰＵ２１１２は、所望の最大性能を迅速に満たすことを可能にするために、重要であると設定されるべきスタンバイ論理ボリューム関連付けの数を決定する。
【００４２】
データ差分閾値３００６は、関連付けが重要フラグ３００５によって重要であるとして設定された行内に設定される値である。「Ｙｅｓ」に設定された重要フラグ３００５を有する行においてデータ差分３００４がデータ差分閾値３００６に達すると、ＣＰＵ２１１２は、提供済み論理ボリュームからスタンバイ論理ボリュームへのデータ差分３００４に基づいて指定されたデータ差分をコピーすることによって、提供済み論理ボリューム及びスタンバイ論理ボリュームに完全に又は部分的に同期することを決める（図９）。
【００４３】
論理ボリューム関連付けテーブル２１２１から、ＩＤ「ＶＳＰ１」を有するストレージ装置に属するＩＤＶ０１０を有する提供済み論理ボリュームが、ＩＤ「ＶＳＰ２」を有するストレージ装置に属するＩＤ「Ｖ０３０」を有するスタンバイ論理ボリュームに関連付けられ、論理ボリューム間に７０ＭＢの異なるデータが存在し、異なるデータの部分の情報は、ポインタ「０ｘ００Ｆ６５０００」によりアクセスされることが可能であり、関連付けが重要であり、データ差分閾値が「１００ＭＢ」に設定されていることがわかる。
【００４４】
＜論理ボリュームペアリングテーブル２１２２＞
【００４５】
図４は、管理計算機２１００において提供される論理ボリュームペアリングテーブル２１２２の構成例を示す。論理ボリュームペアリングテーブル２１２２は、全てのストレージ装置２２００にわたって、提供済み論理ボリューム間のペアリング、及びそれらの近時の読み書きレートを管理するテーブルである。論理ボリュームペアリングテーブル２１２２は、構成情報として、論理ボリューム２２１２を識別するための情報であるプライマリ論理ボリュームＩＤ４００１と、論理ボリューム２２１２を識別するための情報であるセカンダリ論理ボリュームＩＤ４００２と、論理ボリュームの読み書きレートを表す論理ボリューム読み書きレート４００３とを有する。
【００４６】
論理ボリュームペアリングテーブル２１２２の行は、プライマリ論理ボリュームとセカンダリ論理ボリュームとの間のペアリング関係を表し、プライマリ論理ボリュームはセカンダリ論理ボリュームにコピーされ、これらのデータは、例えばストレージシステム、ホストシステム及び管理システムのうちの少なくとも１つによって同期を保たれる（図７）。論理ボリュームのコピーが行われるか、その関連付けられたスタンバイが提供されると、それらのデータの同期を保つ目的で行が追加される（図７）。論理ボリュームペアリングテーブル２１２２に登場する論理ボリュームは提供済み論理ボリュームである。提供済み論理ボリュームは、プライマリ論理ボリュームであるか、セカンダリ論理ボリュームであるか、又はそれらのいずれでもない。提供済み論理ボリュームがプライマリ論理ボリュームでもセカンダリ論理ボリュームでもないとき、この提供済み論理ボリュームは論理ボリュームペアリングテーブル２１２２に登場しない。プライマリ論理ボリュームは１つ又は複数のセカンダリ論理ボリュームにペアリングされ、各ペアリングは１つの行に表される。論理ボリュームペアリングテーブル２１２２において、ＩＤ「Ｖ００１」を有するプライマリ論理ボリュームが２つのスタンバイ論理ボリュームＶ００３及びＶ０１２に関連付けられていることがわかる。セカンダリ論理ボリュームは、１つのプライマリ論理ボリュームにペアリングされ、論理ボリュームペアリングテーブル２１２２内の１つの行に登場する。
【００４７】
行は、対応するペアリング関係が解消されるとき、又は対応するプライマリ論理ボリューム４００１又はセカンダリ論理ボリューム４００２が削除されるか、スタンバイ又はフォーマット済みになると削除される（図８）。プライマリ論理ボリュームがセカンダリ論理ボリュームにコピーされると、プライマリ及びセカンダリの役割がセットされるが、これらの役割は任意の時点において変更することができる。プライマリ論理ボリュームが１つ又は複数のセカンダリ論理ボリュームにペアリングされている間に、このプライマリ論理ボリュームを削除するか、スタンバイにするか、又はフォーマットすることは珍しい（strange）。通例、削除の前にペアリング関係が解消されるか、プライマリ論理ボリュームにペアリングされているセカンダリ論理ボリュームが削除されるか、又は役割が変更される。
【００４８】
プライマリ論理ボリュームＩＤ４００１及びセカンダリ論理ボリュームＩＤ４００２はそれぞれ、論理ボリューム関連付けテーブル２１２１（図３）において用いられている論理ボリュームＩＤと同様に、論理ボリューム２２１２及びこの論理ボリュームが属するストレージ装置２２００を識別する。
【００４９】
論理ボリューム読み書きレート４００３は、論理ボリュームペアリングテーブル２１２２の同じ行内で識別されるプライマリ論理ボリュームの近時のレートを含む。読み書きレートは、読出しＩＯＰＳを、読み書きＩＯＰＳを含む全てのＩＯＰＳによって除算したものとして表される、１から０の値である。レート値が高いほど、より多くの読出しＩＯ及びより少ない書込みＩＯが論理ボリュームを有し、したがって、論理ボリュームはＣＰＵ２１１２によってスタンバイになるのにより適している（図８）。
【００５０】
論理ボリュームペアリングテーブル２１２２から、ＩＤ「ＶＳＰ１」を有するストレージ装置に属するＩＤ「Ｖ０１０」を有するプライマリ論理ボリュームが、ＩＤ「ＶＳＰ２」を有するストレージ装置に属するＩＤ「Ｖ０７０」を有するセカンダリ論理ボリュームに関連付けられ、論理ボリューム読み書きレートが「０．２」であることがわかる。
【００５１】
＜論理ボリューム管理テーブル２１２３＞
【００５２】
図５は、管理計算機２１００において提供される論理ボリューム管理テーブル２１２３の構成例を示す。論理ボリューム管理テーブル２１２３は、全てのストレージ装置２２００にわたって、論理ボリューム、及びホスト計算機へのそれらの論理ボリューム提供を管理するテーブルである。論理ボリューム管理テーブル２１２３は、構成情報として、論理ボリューム２２１２を識別するための情報である論理ボリュームＩＤ５００１と、ＩＤ５００１に基づいて識別される論理ボリュームに格納することができる総データ量である容量５００２と、３つの値：「提供済み」、「スタンバイ」及び「フォーマット済み」のうちの１つを含み、識別される論理ボリューム５００１の状態を表す状態５００３と、ＩＤ５００１に基づいて識別される論理ボリュームが、提供される場合、いずれのホスト計算機に提供されるかを表す提供先ホスト５００４を有する。
【００５３】
各論理ボリュームは、論理ボリューム管理テーブル２１２３内の１つの行によって表される。行は、論理ボリュームが作成されるとき、又は削除されるとき、すなわち空き領域になるときに、追加及び削除される（図７）。容量５００２は、論理ボリュームがサイズ変更されるときに変化する。
【００５４】
状態５００３「フォーマット済み」を有する論理ボリュームは、データを有さず、ホストシステムに提供されない論理ボリュームである。状態５００３「スタンバイ」を有する論理ボリュームは、データを有し、ホストシステムに提供されていない論理ボリュームである。状態５００３「提供済み」を有する論理ボリュームは、データを有する論理ボリュームであり、ホストシステムに接続される。論理ボリュームの状態は、ＣＰＵ２１１２（管理計算機２１００）（図７、図８及び図９）によって変更される。
【００５５】
論理ボリュームＩＤ５００１は、論理ボリューム関連付けテーブル２１２１（図３）において用いられる論理ボリュームＩＤと同様に、論理ボリューム２２１２及びこの論理ボリュームが属する及びストレージ装置２２００を識別する。
【００５６】
図５の構成例に加えて、論理ボリューム関連付けテーブル２１２１は、異なるタイプのディスクデバイス２２１３（例えば、ＳＡＴＡ、ＳＳＤ）を管理することができ、用いられるリソース（ストレージポート、スイッチポート等）等の、論理ボリュームのホストへの提供に関する追加情報を管理することができる。
【００５７】
論理ボリューム管理テーブル２１２３から、ＩＤ「ＶＳＰ１」を有するストレージ装置に属するＩＤ「Ｖ０１０」を有する提供済み論理ボリュームが、「８００ＧＢ」の容量を有し、「Ｈｏｓｔ５」という名称のホスト計算機に提供されることがわかる。
【００５８】
＜ストレージ管理テーブル２１２４＞
【００５９】
図６は、管理計算機２１００において提供されるストレージ管理テーブル２１２４の構成例を示す。ストレージ管理テーブル２１２４は、全てのストレージ装置２２００にわたってストレージ領域を管理するテーブルである。ストレージ管理テーブル２１２４は、構成情報として、ストレージ装置を識別するための情報であるストレージＩＤ６００１と、識別されたストレージ装置６００１内の論理ボリュームに割り当てられていない空きストレージ領域量を表す空き領域６００２と、識別されたストレージ装置６００１内の論理ボリュームに割り当てられ、任意の使用に利用可能な空きストレージ領域の量を表す空き論理ボリューム６００３と、識別されたストレージ装置６００１において論理ボリュームに割り当てられ、ホストシステムに提供されるストレージ領域の量を表す提供済み論理ボリューム６００４を有する。
【００６０】
各ストレージ装置２２００は、ストレージ管理テーブル２１２４内の１つの行によって表される。空き領域６００２内のストレージ領域の量、空き論理ボリューム６００３及び提供済み論理ボリューム６００４は、論理ボリュームが作成され（空き領域が論理ボリュームに割り当てられる）、状態を変更し（図５  ５００３）、削除される（空き領域にされる）ときに変化する。
【００６１】
図６の構成例に加えて、ストレージ管理テーブル２１２４は、様々なタイプのディスクデバイス２２１３（例えば、ＳＡＴＡ、ＳＳＤ）を管理することができる。
【００６２】
ストレージ管理テーブル２１２４から、ＩＤ「ＶＳＰ１」を有するストレージが３０ＴＢの空きストレージ領域と、２ＴＢのフォーマット済み空きストレージ領域と、４ＴＢのスタンバイ空きストレージ領域と、５０ＴＢの提供済みストレージ領域とを有することがわかる。
【００６３】
＜論理ボリューム提供処理＞
【００６４】
図７は、例えば、オートスケール（スケールアウト）又はマイグレーション（新たな論理ボリュームへの元の論理ボリュームのコピー）の目的での、提供済み論理ボリュームのコピーである新たな論理ボリュームのプロビジョニング要求に応答する処理を説明するためのフローチャートである。要求は、入力デバイス２１１１を介して管理者から受信することができる。処理は、入力として、コピーされる提供済み論理ボリュームを受信する。処理は、条件に達したとき（例えば、オートスケール機能が用いられ、性能が所定の限界値未満になるとき）、自動化されたプロセスによって開始される。処理は、エンドユーザによりプロビジョニングサービスを通じて、又は管理者により管理計算機２１００を通じて開始することもできる。
【００６５】
７００１において、論理ボリューム提供プログラム２１２５は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、入力された提供済み論理ボリュームが３００１における少なくとも１つの行に登場するか否かを判断する。登場することは、少なくとも１つのスタンバイ論理ボリュームが、入力された提供済み論理ボリュームに関連付けられていることを意味する。いずれのスタンバイ論理ボリュームも関連付けられていない場合（７００１におけるＮｏ）、処理は７００３に進む。少なくとも１つのスタンバイ論理ボリュームが関連付けられているとき（７００１におけるＹｅｓ）、処理は７００６に進む。
【００６６】
７００２において、論理ボリューム提供プログラム２１２５は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、出力される論理ボリュームとして、入力された提供済み論理ボリュームに関連付けられたスタンバイ論理ボリュームから、最も適したスタンバイ論理ボリュームを選択する。最も適したスタンバイ論理ボリュームは、最も小さなデータ差分３００４（図３）を有するスタンバイ論理ボリュームとして選択される。なぜなら、最も小さいデータ差分は、処理が７００６に達したときの最も短い同期時間を示唆するためである。ディスクデバイス２２１３のタイプ（例えば、ＳＡＴＡ、ＳＳＤ）、例えば、計算機システム１００の現在のボトルネックを回避するためのトポロジ、及び同じストレージ装置２２００内の同じ提供済み論理ボリュームに関連付けられた他のスタンバイ論理ボリュームの存否等の他のパラメータを考慮に入れることができる。
【００６７】
７００３において、論理ボリューム提供プログラム２１２５は、ストレージ管理テーブル２１２４（図６）を参照して、入力された提供済み論理ボリュームのサイズを有する新たな論理ボリュームを提供することができるか否かを判断する。新たな論理ボリュームは、ストレージ装置２２００のうちの１つからの空き容量６００２（図６）、フォーマット済みの空き論理ボリューム６００３（図６）又は双方の組合せにより、必要とされるサイズに到達することができる場合に提供することができる。システムが、空き領域６００２よりもフォーマット済みのボリュームを優先的に選択するポリシーをセットする場合、システムは、新たなボリュームをフォーマットするための時間を節減することができる。新たな論理ボリュームを提供することができるとき（７００３におけるＹｅｓ）、処理は７００５に進む。新たな論理ボリュームを提供することができないとき（７００３におけるＹｅｓ）、処理は７００４に進む。
【００６８】
７００４において、論理ボリューム提供プログラム２１２５は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、削除される、すなわち空き領域にされるか又はフォーマットされるのに最も適したスタンバイ論理ボリュームを選択する。上記で説明したように、スタンバイ論理ボリュームは、現在用いられているボリュームのスタンバイとなるように管理され、他方で、スタンバイ論理ボリューム自体はホストによって用いられない。したがって、空き領域が不足している場合、スタンバイボリュームを用いてホストからの新たなリソース要件を満たすことができる。最も適したスタンバイ論理ボリュームを選択する基準は、例えば、最も大きなデータ差分３００４（図３）及び／又は重要フラグ３００５（図３）を用いるものである。一部分又は全体の選択された論理ボリュームが提供されることを検討するとき、計算機システム１００の論理ボリュームの容量、ディスク２２１３のタイプ（例えば、ＳＡＴＡ、ＳＳＤ）、トポロジ、及び現在のボトルネックも考慮に入れることができる。スタンバイ論理ボリュームは、選択されると、フォーマットされるか又は空き領域にされ、したがって、ストレージ管理テーブル２１２４（図６）内の容量値が変化する。次に、処理は７００３に戻り、再び、空き領域又はフォーマット済み論理ボリュームが十分であるか否かが判断される。入力された提供済み論理ボリュームのサイズを有する新たな論理ボリュームを提供する十分な空き領域がなく、スタンバイ論理ボリュームがない、すなわち、論理ボリューム関連付けテーブルが行を有しないとき、例えば、管理計算機２１００の出力２１１３を通じてシステム１００の管理者に、「領域不十分」メッセージを有するエラーが投げられる。
【００６９】
７００５において、論理ボリューム提供プログラム２１２５はストレージ管理テーブル２１２４（図６）及び論理ボリューム管理テーブル２１２３（図５）を参照して、空き領域６００２（図６）から新たな論理ボリュームを作成することによって、又は必要なサイズを有するフォーマット済み論理ボリューム６００３（図６）を選択することによって、論理ボリュームを出力される論理ボリュームとしてとして選択する。必要なサイズを有する新たな論理ボリュームを作成するために、フォーマット済み論理ボリュームを削除する、すなわち空き領域にすることができる。出力される論理ボリュームが選択されると、入力された提供済み論理ボリューム全体が、出力される論理ボリュームにコピーされる。
【００７０】
７００６において、論理ボリューム提供プログラム２１２５は、論理ボリューム関連付けテーブル２１２１（図３）及びデータ差分３００４（図３）によってポインティングされている情報を参照して、入力された提供済み論理ボリュームから、選択されたスタンバイ論理ボリュームへデータ差分をコピーすることによって、入力された提供済み論理ボリュームと、７００２において選択された出力されるスタンバイ論理ボリュームとの同期をとる。双方の論理ボリュームが既に同期しており、したがってコピーが必要とされない状況が起こり得る。ストレージシステムの現在の状態及びスタンバイ論理ボリュームの現在のデータ差分量３００３に基づいて、同期が完全なコピーよりも時間がかかると判断される場合、同期の代わりに完全なコピーが行われる。
【００７１】
７００７において、論理ボリューム提供プログラム２１２５は、論理ボリューム関連付けテーブル２１２１（図３）から、７００２において選択された出力されるスタンバイ論理ボリュームに対応する行を削除する。
【００７２】
７００８において、論理ボリューム提供プログラム２１２５は、論理ボリュームペアリングテーブル２１２２（図４）に、入力される提供済み論理ボリュームがプライマリ論理ボリュームになり、７００２又は７００５において出力される論理ボリュームとして選択された論理ボリュームがセカンダリ論理ボリュームとなる対関係を表す新たな行を追加する。
【００７３】
スケールアウトを実行するときの通常の状況は、双方の論理ボリュームの同期を保つことであり、マイグレーションを実行するときの通常の状況は、対関係の役割を変更し、次に、論理ボリューム内のデータが変更される前に、入力された論理ボリュームを削除することである。２つの論理ボリュームの同期が保たれない異常な状況では、ペアリング関係は解消される。
【００７４】
入力された論理ボリュームが既に、論理ボリュームペアリングテーブル２１２２（図４）内のプライマリ論理ボリュームＶとペアリングされたセカンダリ論理ボリュームである状況において、追加される新たな行は、論理ボリュームＶがプライマリ論理ボリュームとなり、出力される論理ボリュームがセカンダリ論理ボリュームとなる対関係を表す。これはなぜなら、同じデータを有する１組のペアリングされた論理ボリュームが同じプライマリボリュームにペアリングされることを確実にし、したがってそれらのスタンバイ論理ボリュームの管理を容易にするために、提供済み論理ボリュームは同時にプライマリ且つセカンダリであることができないためである。
【００７５】
７００９において、論理ボリューム提供プログラム２１２５は、出力される論理ボリュームを新たなホスト計算機（又は入力された論理ボリュームを既に認識している同じホスト計算機）に以下のように提供する：（１）論理ボリューム管理テーブル２１２３（図５）において、出力される論理ボリュームの状態を提供済みに変更し、（２）ストレージ管理テーブル２１２４（図６）内のストレージ領域を更新し、（３）Ｉ／Ｏパスを構成し、新たなホストが論理ボリュームに到達することを確実にする（例えば、ポートを割り当て、許可を構成する）ために、対応するディスクコントローラ２２１１に、及びストレージ装置２２００の他のリソースに、及び新たなホスト計算機２００に要求を送信する。
【００７６】
ペアリング関係に応じた同期関数が、プライマリ論理ボリューム又はセカンダリ論理ボリュームが属するストレージ装置２２００内のディスクコントローラ２２１１に要求される。同期関数は他のリソースにおいて構成されてもよい。
【００７７】
さらに、７００３及び７００４によって作成されるサブプロセスは、他の論理ボリュームのコピーでない論理ボリュームの提供を要求するときに用いられる。この場合、要求される領域量が空いているか否かがステップ７００３において判断される。
【００７８】
さらに、計算機システム１００又は各ストレージ装置２２００が、総ストレージ容量からの所定のパーセンテージのフォーマット済み論理ボリュームを保持しているとき、７００３及び７００４のサブプロセスが用いられる。この場合、所定のパーセンテージのフォーマット済み論理ボリュームが存在するか否かは７００３において判断され、存在しない場合、７００４が実行される。このプロセスにより、システムはフォーマットプロセスの待機を回避することができる。
【００７９】
＜論理ボリューム削除処理＞
【００８０】
図８は、例えば、オートスケール（リソースを低減）又はマイグレーション（コピー後に元の論理ボリュームを削除）の目的での、ペアリング関係を有する提供済み論理ボリュームの削除の要求に応答する処理を説明するためのフローチャートである。要求は、入力デバイス２１１１を介して管理者から受信することができる。処理は、入力として、削除される論理ボリュームを受信する。処理は、条件に達すると、自動化されたプロセスによって開始される（例えば、オートスケール）。処理は、エンドユーザによりプロビジョニングサービスを通じて、又は管理者により管理計算機を通じて開始することもできる。
【００８１】
８００１において、論理ボリューム削除プログラム２１２６は、論理ボリュームペアリングテーブル２１２２（図４）を参照して、入力された論理ボリュームがスタンバイ論理ボリュームとなるのに適しているか否かを判断する。これはなぜなら、全ての削除された論理ボリュームがスタンバイになる場合、ストレージ装置２２００は、空き領域及びフォーマット済み論理ボリュームが不足し、空き領域を取得するためにスタンバイ論理ボリュームの削除をトリガーする場合があるためである。結果として、将来に有用となる場合があるスタンバイ論理ボリュームが削除され、将来に用いることができない。これを回避するために、削除されることになるペアリングされた論理ボリュームのうち、有用であると予期されるもののみが保持される。
【００８２】
ペアリングされた論理ボリュームは、対応する論理ボリューム読み書きレート４００３（図４）が所定の閾値を超えている場合、スタンバイになるのに適している。レート値が高いほど、より多くの読出しＩ／Ｏ及びより少ない書込みＩ／Ｏが論理ボリュームを有し、論理ボリュームにおけるデータの変更が少なくなる。したがって、論理ボリュームは、スタンバイになるのにより適している。閾値は、各ストレージ装置２２００について、又は全てのストレージ装置について、管理部によってあらかじめ規定することができる。論理ボリュームキャッシュから推測することができる論理ボリュームの最近のデータ変更レート、以前のスケールアウトオペレーション数、及び現在の空き領域量等の他のパラメータに基づいて適切性を判断することもできる。
【００８３】
入力された論理ボリュームが適切であるとき（８００１におけるＹｅｓ）、処理は８００２に進む。入力された論理ボリュームが適切でないとき（８００１におけるＮｏ）、処理は８００３に進む。
【００８４】
８００２において、論理ボリューム削除プログラム２１２６は、リソースを解放し、管理計算機のテーブルを以下のように更新する：（１）入力された論理ボリュームが提供されたホスト計算機、及びホスト計算機と論理ボリュームとの間の接続を可能にしたリソース（例えば、ストレージポート、スイッチ）を解放することの要求を送信し、（２）論理ボリューム管理テーブル２１２３（図５）において、入力された論理ボリュームの状態をスタンバイに変更し、（３）ストレージ管理テーブル２１２４（図６）を更新し、（４）入力された論理ボリュームが登場する論理ボリュームペアリングテーブル２１２２（図４）における行を除去し、（５）入力された論理ボリュームと提供済み論理ボリュームとの間で異なるものとなるデータを追跡する（異なるものとなるデータの経過は他の場所に格納することができる）ことの要求をディスクコントローラ２２１１に送信し、（６）入力された論理ボリューム３００２と、入力された論理ボリュームとペアリング関係にあるプライマリ論理ボリュームであった提供済み論理ボリューム３００１との間の関連付け、及びディスクコントローラが異なるものとなるデータの経過を格納するロケーションへのポインタ３００４を有する新たな行を、論理ボリューム関連付けテーブル２１２１（図３）に作成する。
【００８５】
８００３において、論理ボリューム削除プログラム２１２６は、ストレージ装置に、入力された論理ボリュームを削除する、すなわち空き領域にするか、又はフォーマットする、すなわちフォーマット済みにするように要求する。処理は、論理ボリューム管理テーブル２１２３（図５）及びストレージ管理テーブル２１２４（図６）を更新する。
【００８６】
＜差分更新処理＞
【００８７】
図９は、スタンバイ論理ボリュームと提供済み論理ボリュームとの間の関連付けを最新に保つ処理を説明するためのフローチャートである。処理は、短い時間間隔においてバックグラウンドで実行される。処理は、データ変更イベントが受信されるときにも実行することができる。処理は、単一のプロセスによって、又はストレージ装置２２００ごと若しくは管理計算機２１００ごとに独立した複数のプロセスによって行うことができる。
【００８８】
９００１において、差分更新プログラム２１２７は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、全てのスタンバイ論理ボリュームを検索する。例えば、処理がストレージ装置２２００ごとに行われる場合、そのストレージ装置２２００のスタンバイ論理ボリュームが検索される。
【００８９】
９００２において、差分更新プログラム２１２７は、９００１において検索されるスタンバイ論理ボリュームの各々を反復する。以後、反復ごとに選択されるスタンバイ論理ボリュームを反復論理ボリュームと呼ぶ。
【００９０】
９００３において、差分更新プログラム２１２７は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、９００２における反復論理ボリュームに関連付けられた論理ボリュームを検索し、論理ボリューム管理テーブル２１２３（図５）を参照して、検索された関連付けられた論理ボリュームが提供済みであるか否かを判断する。関連付けられた論理ボリュームが提供済みであるとき（９００３におけるＹｅｓ）、処理は９００５に進む。関連付けられた論理ボリュームが提供済みでないとき（９００３におけるＮｏ）、すなわち、フォーマット済みであるか、スタンバイ状態にあるか、論理ボリューム管理テーブル２１２３に登場しない場合、処理は９００４に進む。論理ボリューム管理テーブル２１２３（図５）を参照することによって、関連付けられた論理ボリューム及び反復論理ボリュームの容量を比較することができる。例えば、ボリュームスケールアップ又はスケールダウンによって、容量が異なるものとなる場合の選択肢は、処理が９００４に進み、反復論理ボリュームが削除されることである。代替形態は、反復論理ボリュームを、容量に合致するようにサイズ変更し、次に処理が９００５に進み、データ差分を更新することである。
【００９１】
９００４において、差分更新プログラム２１２７は、９００２において、ストレージ装置に、反復論理ボリュームを削除する、すなわち、空き領域にするか、又はフォーマットする、すなわち、フォーマット済みにするように命令する。処理は、論理ボリューム管理テーブル２１２３（図５）及びストレージ管理テーブル２１２４（図６）を更新する。
【００９２】
９００５において、差分更新プログラム２１２７は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、反復論理ボリュームと、その関連付けられた論理ボリュームとの間のデータ差分へのポインタ３００４を検索し、現在のデータ差分量を計算し、論理ボリューム関連付けテーブル２１２１内の対応するデータ差分量３００３を更新する。
【００９３】
９００６において、差分更新プログラム２１２７は、論理ボリューム関連付けテーブル２１２１（図３）を参照して、９００２において、反復された論理ボリュームが同期をとられる必要があるか否かを判断する。この実施形態において、論理ボリュームは、その重要フラグ３００５が「ＹＥＳ」であり、且つデータ差分量３００３がデータ差分閾値３００６に達するか又はこのデータ差分閾値を超えたときに、同期をとられる必要がある。あるいは、全ての論理ボリュームを、それらの重要性を管理することなく同期化されるプロセスの対象にすることが可能である。論理ボリュームが同期をとられる必要があるとき（９００６におけるＹｅｓ）、処理は９００７に進む。論理ボリュームが同期をとられる必要がないとき（９００６におけるＮｏ）、処理は９００２において、次のスタンバイ論理ボリュームをチェックすることの反復を継続する。
【００９４】
９００７において、差分更新プログラム２１２７は、少なくともデータ差分閾値３００６を超えて同期をとるために、論理ボリューム関連付けテーブル２１２１（図３）内の、３００４においてデータ差分値によってポインティングされた情報を参照する。１つの例として、反復論理ボリュームがその関連付けられた論理ボリュームとどの程度同期するかは、計算機システム１００の作業負荷に依拠する。これは、作業負荷が所定の値よりも高い場合、論理ボリュームが部分的にしか同期しないことを意味する。そして、作業負荷が所定の値よりも低い場合、論理ボリュームは完全に同期する。これは、論理ボリュームが、頻繁に変化する１組のファイルと、時々しか変化しない１組のファイルとを有する場合があることに起因する。このとき、頻繁に変化するファイルのサイズがデータ差分閾値未満であるとき、時々変化するファイルの同期しかとらないことが好都合である。頻繁に変化するファイルを毎回コピーするのは効率的でない場合がある。ステップ９００６及び９００７は、システムにとって重要ではないが、これらのステップにより、データ差分量３００３がデータ差分閾値３００６以下に保たれる。したがって、スタンバイ論理ボリュームからホストに対しボリュームを準備するための時間を、所望の時間量未満に保つことができる。
【００９５】
上記で記載したように、実施形態によれば、管理計算機２１００は、論理ボリューム全体をコピーする多くの将来のタスクを回避するために、論理ボリューム全体を別の論理ボリュームにコピーする、大量の時間及びリソースを消費するタスクである実行されたタスクを利用する。実施形態は、管理者にトランスペアレントな管理処理として実施することができる。
【００９６】
したがって、スケールアウト及びマイグレーション等の管理オペレーションが実行されることを可能にして、論理ボリュームの完全なコピーを回避することによって、（１）リソースが効率的に用いられ、（２）ダウンタイム及び性能不良が生じる前に、短時間で、予期されない問題をクリアし、需要を満たすことができる。
【００９７】
上記で一実施形態が記載されたが、本発明は、上記で記載した実施形態に限定されるものではなく、本発明の範囲及び趣旨から逸脱することなく様々な形で変更することができることを理解するべきである。
【符号の説明】
【００９８】
１００  計算機システム
２０００  ホスト計算機
２１００  管理計算機
２２００  ストレージ装置
２２１２  論理ボリューム
【図１】
2016532927.tif 000003
【図２】
2016532927.tif 000004
【図３】
2016532927.tif 000005
【図４】
2016532927.tif 000006
【図５】
2016532927.tif 000007
【図６】
2016532927.tif 000008
【図７】
2016532927.tif 000009
【図８】
2016532927.tif 000010
【図９】
2016532927.tif 000011
【国際調査報告】
2016532927.tif 000012
2016532927.tif 000013
2016532927.tif 000014