(57)【要約】【課題】ボリューム間でのデータの書込順序の一貫性を保ちつつリモートコピーを効率的に行うこと。【解決手段】ＰＵ＃１は、グループ情報に基づいて、時点ｔ１の各ボリュームＰ１，Ｐ２のスナップショットを作成するとともに、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ１），Ａ２（ｔ１）を作成する。ＰＵ＃１は、ボリュームＰ１，Ｐ２のスナップショットのデータをコピー先に転送する。ＰＵ＃１は、時点ｔ１以降の時点ｔ２の各ボリュームＰ１，Ｐ２のスナップショットを作成するとともに、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ２），Ａ２（ｔ２）を作成する。ＰＵ＃１は、時点ｔ２の各ボリュームＰ１，Ｐ２の差分データをコピー先に転送する。【選択図】図２
2015064802.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置内のストレージユニットを制御するストレージ制御装置であって、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部と、
前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成するとともに、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する制御を行う制御部と、
を有することを特徴とするストレージ制御装置。
【請求項２】
前記制御部は、
定期的または不定期に前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成するとともに、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の差分データを前記コピー先のストレージ装置に転送することを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記制御部は、
他のストレージ装置からコピー元のボリュームのスナップショットのデータを受信したことに応じて、コピー先のボリュームに前記データを格納し、前記コピー元のボリュームの差分データを受信したことに応じて、前記コピー先のボリュームに対する更新データを差分データとして格納する差分格納領域を作成して、受信した前記差分データを前記差分格納領域に格納し、前記コピー先のボリュームのスナップショットを作成することを特徴とする請求項１または２に記載のストレージ制御装置。
【請求項４】
前記制御部は、
前記コピー元のボリュームのスナップショットのデータを受信したことに応じて、前記コピー先のボリュームに前記データを格納し、前記コピー先のボリュームに対する更新データを差分データとして格納する差分格納領域を作成して、前記コピー先のボリュームのスナップショットを作成することを特徴とする請求項３に記載のストレージ制御装置。
【請求項５】
前記制御部は、
前記コピー先のストレージ装置内のストレージ制御装置群のうちの前記各々のボリュームのコピー先のボリュームが存在するストレージ制御装置との通信が不能となった場合、前記ストレージ制御装置群のうちの特定のストレージ制御装置に、前記コピー先のボリュームの移動先のストレージ制御装置を問い合わせることを特徴とする請求項１〜４のいずれか一つに記載のストレージ制御装置。
【請求項６】
前記制御部は、
前記ボリューム群のいずれかのボリュームが前記ストレージ装置内の自装置とは異なる他のストレージ制御装置に存在する場合、前記ある時点の前記いずれかのボリュームのスナップショットの作成指示を前記他のストレージ制御装置に通知し、当該作成指示を通知したことに応じて、前記ある時点の前記ボリューム群のうちの自装置に存在するボリュームのスナップショットを作成するとともに、前記ある時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記ボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記いずれかのボリュームのスナップショットの作成指示を前記他のストレージ制御装置に通知し、当該作成指示を通知したことに応じて、前記いずれかの時点の前記ボリュームのスナップショットを作成して、前記いずれかの時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記ボリュームの差分データを前記コピー先のストレージ装置に転送することを特徴とする請求項１〜５のいずれか一つに記載のストレージ制御装置。
【請求項７】
前記制御部は、
前記ある時点の前記ボリューム群のうちの自装置に存在するボリュームのスナップショットの作成指示を他のストレージ制御装置から受け付けたことに応じて、前記ある時点の前記ボリュームのスナップショットを作成するとともに、前記ある時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記ボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記ボリュームのスナップショットの作成指示を前記他のストレージ制御装置から受け付けたことに応じて、前記いずれかの時点の前記ボリュームのスナップショットを作成して、前記いずれかの時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記ボリュームの差分データを前記コピー先のストレージ装置に転送することを特徴とする請求項６に記載のストレージ制御装置。
【請求項８】
ストレージ装置内のストレージユニットを制御するストレージ制御装置が、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部に記憶された前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成して、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する、
制御を行うことを特徴とする制御方法。
【請求項９】
ストレージ装置内のストレージユニットを制御するストレージ制御装置に、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部に記憶された前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成して、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する、
制御を行わせることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、制御方法および制御プログラムに関する。
【背景技術】
【０００２】
従来、物理的な記憶装置のボリューム構成や記憶容量に縛られることなく、自由なボリューム構成、記憶容量の記憶装置を実現することができるストレージシステムとして、仮想化環境向けのストレージ装置がある。仮想化環境向けのストレージ装置は、装置内部に物理的な記憶装置に対するアクセスを制御する実ストレージ装置を有し、実ストレージ装置を管理するプロセッサにより仮想的なボリュームを作成する。
【０００３】
また、災害対策などを目的として、あるストレージ装置（ローカルサイト）のデータを遠隔地のストレージ装置（リモートサイト）に転送するリモートコピーが行われる場合がある。リモートコピーにおいて、コピー元（ボリューム）のデータを定期的にコピー先（ボリューム）に転送するには、まず、開始時点のコピー元のデータをコピー先に転送し、コピー元へのデータ更新分を逐次コピー先に転送するという手順を踏む。
【０００４】
どのような方式でデータを逐次転送するかは、どの時点のデータがリモートサイトに届いている必要があるかという要求事項次第である。例えば、コピー元のデータが更新される都度転送するというＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）に同期した転送であってもよく、Ｉ／Ｏと非同期な定期的な時間間隔での転送であってもよく、Ｉ／Ｏと非同期な非定期な時間間隔での転送であってもよい。
【０００５】
ただし、災害対策としてコピー先にデータ転送することを想定した場合、コピー元のデータが整合性を持ってコピー先に届いていることが要求される。Ｉ／Ｏ同期方式が理想的であるが、リモートサイトが遠隔地であればあるほどデータ転送時に遅延の影響を大きく受けるため、業務サーバ等からのＩ／Ｏと同期させてのデータ転送は難しい。
【０００６】
このため、現実的にはリモートサイトへのデータ転送は非同期転送となる。この場合、同期転送のようなリアルタイムでの整合性は保てないものの、整合性を保ってデータ転送したいボリュームをグルーピングして一定時間間隔ごとにボリューム間で書込順序の一貫性を保障するコンシステンシーグループが利用されることがある。
【０００７】
コンシステンシーグループの考え方を利用して差分データを転送するには、同一グループに属するボリューム群に対する静止点を取ることになる。また、静止点としてのデータを確保するためには、業務サーバ等からの当該ボリューム群に対するデータ更新要求は抑止することになる。
【０００８】
関連する先行技術としては、例えば、順序無保証式のリモートコピーを行う場合に、一方の記憶装置システムのデータが破損しても他の記憶装置システムにおいてデータを回復するためのデータコピーシステムがある。データコピーシステムは、ホストコンピュータから正記憶装置システムの主論理ボリュームへのデータの書き込みが終了した時点で整合性を検査する。そして、データコピーシステムは、整合性が保証された時点の主論理ボリュームの状態を記録したスナップショットを作成し、スナップショットを用いて正記憶装置システムと副記憶装置システムの間でリモートコピーを実行する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−２９３４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術によれば、コンシステンシーグループに属するボリューム群のリモートコピーを行う際に、ボリューム間での書込順序の一貫性を保つための処理がボトルネックとなり、業務サーバ等からのＩ／Ｏ遅延を招くという問題がある。例えば、コンシステンシーグループに属するボリューム間での書込順序の一貫性を保つために、ボリューム群に対する更新データを一つの格納領域に格納すると、その格納領域へのアクセスが集中してボトルネックとなる。
【００１１】
一つの側面では、本発明は、ボリューム間でのデータの書込順序の一貫性を保ちつつリモートコピーを効率的に行うことができるストレージ制御装置、制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一側面によれば、ストレージ装置内のストレージユニットを制御するストレージ制御装置が、コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成して、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する制御を行うストレージ制御装置、制御方法および制御プログラムが提案される。
【発明の効果】
【００１３】
本発明の一態様によれば、ボリューム間でのデータの書込順序の一貫性を保ちつつリモートコピーを効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。
【図２】図２は、コピー元のストレージ装置１０１の動作例を示す説明図である。
【図３】図３は、コピー先のストレージ装置１０２の動作例を示す説明図である。
【図４】図４は、ＰＵ等のハードウェア構成例を示すブロック図である。
【図５】図５は、ＰＵ＃ｉの機能的構成例を示すブロック図である。
【図６】図６は、コピー先のボリュームＳｋのスナップショットの作成例を示す説明図である。
【図７】図７は、コピー元のストレージ装置１０１の制御処理手順の一例を示すフローチャートである。
【図８】図８は、コピー先のストレージ装置１０１の制御処理手順の一例を示すフローチャートである。
【図９】図９は、ストレージシステムＳＭのシステム構成例を示す説明図である。
【図１０】図１０は、ＶＤＩＳＫの構成例を示す説明図である。
【図１１】図１１は、実施例にかかるＰＵの機能的構成例を示す説明図である。
【図１２】図１２は、コンシステンシーグループ管理テーブル７００の記憶内容の一例を示す説明図である。
【図１３】図１３は、コンシステンシーグループ管理テーブル７００の更新例を示す説明図（その１）である。
【図１４】図１４は、コンシステンシーグループ管理テーブル７００の更新例を示す説明図（その２）である。
【図１５】図１５は、ボリュームインデックステーブル１５００の記憶内容の一例を示す説明図である。
【図１６】図１６は、ミラーボリュームインデックステーブル１６００の記憶内容の一例を示す説明図である。
【図１７】図１７は、ボリュームセグメントテーブル１７００の記憶内容の一例を示す説明図である。
【図１８】図１８は、再配置計画テーブル７２０の記憶内容の一例を示す説明図である。
【図１９】図１９は、ボリュームの再配置計画例を示す説明図である。
【図２０】図２０は、ボリュームの再配置例を示す説明図（その１）である。
【図２１】図２１は、ボリュームの配置例を示す説明図である。
【図２２】図２２は、ボリュームインデックステーブル１５００の更新例を示す説明図である。
【図２３】図２３は、ボリュームセグメントテーブル１７００の更新例を示す説明図である。
【図２４】図２４は、再配置計画テーブル７２０の更新例を示す説明図である。
【図２５】図２５は、ボリュームの再配置例を示す説明図（その２）である。
【図２６】図２６は、ストレージシステムＳＭ間のリモートコピー処理手順の一例を示すシーケンス図（その１）である。
【図２７】図２７は、ストレージシステムＳＭ間のリモートコピー処理手順の一例を示すシーケンス図（その２）である。
【図２８】図２８は、ストレージシステムＳＭ間のリモートコピー処理手順の一例を示すシーケンス図（その３）である。
【図２９】図２９は、ストレージシステムＳＭ間のリモートコピー処理手順の一例を示すシーケンス図（その４）である。
【図３０】図３０は、ストレージシステムＳＭ間のフェイルオーバ時のリモートコピー処理手順の一例を示すシーケンス図（その１）である。
【図３１】図３１は、ストレージシステムＳＭ間のフェイルオーバ時のリモートコピー処理手順の一例を示すシーケンス図（その２）である。
【図３２】図３２は、ストレージシステムＳＭのノード増設処理手順の一例を示すシーケンス図（その１）である。
【図３３】図３３は、ストレージシステムＳＭのノード増設処理手順の一例を示すシーケンス図（その２）である。
【図３４】図３４は、ストレージシステムＳＭの再配置処理手順の一例を示すシーケンス図（その１）である。
【図３５】図３５は、ストレージシステムＳＭの再配置処理手順の一例を示すシーケンス図（その２）である。
【図３６】図３６は、ストレージシステムＳＭの再配置処理手順の一例を示すシーケンス図（その３）である。
【図３７】図３７は、ストレージシステムＳＭの再配置処理手順の一例を示すシーケンス図（その４）である。
【図３８】図３８は、ストレージシステムＳＭの第１再配置停止処理手順の一例を示すシーケンス図である。
【図３９】図３９は、ストレージシステムＳＭの第２再配置停止処理手順の一例を示すシーケンス図である。
【図４０】図４０は、ストレージシステムＳＭの再配置一時停止処理手順の一例を示すシーケンス図である。
【図４１】図４１は、ストレージシステムＳＭの再配置再開処理手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下に図面を参照して、本発明にかかるストレージ制御装置、制御方法および制御プログラムの実施の形態を詳細に説明する。なお、本明細書では、ストレージ制御装置を「ＰＵ（Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）」と表記し、ストレージユニットを「ＳＵ（Ｓｔｏｒａｇｅ  Ｕｎｉｔ）」と表記し、スイッチを「ＳＷ（Ｓｗｉｔｃｈ）」と表記する場合がある。
【００１６】
（制御方法の一実施例）
図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。図１において、ストレージ装置１０１は、ＰＵ＃１〜＃３と、ＳＵ＃１，＃２と、ＳＷ＃１，＃２と、を含む。ここで、ＰＵ＃１は、ストレージ装置１０１内の他のＰＵ（例えば、ＰＵ＃２，＃３）を管理し、ストレージ装置全体を制御するマスタ制御部として動作する。
【００１７】
各ＰＵ＃１〜＃３は、自配下のＳＵ＃１，＃２を制御するコンピュータである。各ＰＵ＃１〜＃３は、業務サーバ等の上位装置から自配下のＳＵ＃１，＃２に対するアクセス（Ｉ／Ｏ）を受け付け、受け付けたアクセスを処理する。
【００１８】
ＳＵ＃１，＃２は、それぞれストレージを有し、各ストレージに対するＩ／Ｏを制御するコンピュータである。ストレージは、一以上の記憶装置Ｄを含む。記憶装置Ｄは、例えば、ハードディスク、光ディスク、フラッシュメモリ、磁気テープなどの物理的な記憶装置であってもよく、また、論理的な記憶装置であるＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）であってもよい。
【００１９】
ＳＷ＃１，＃２は、スイッチング機能を有するコンピュータである。ＳＷ＃１，＃２は、受信したデータの宛先に対応する経路（ポート）を選択してデータを中継する。ストレージ装置１０１では、例えば、冗長化されたＳＷ＃１，＃２を介してＰＵ＃１〜＃３とＳＵ＃１，＃２がフルメッシュ接続される。
【００２０】
これにより、ストレージ装置１０１内の全ＰＵから全ＳＵへのアクセスが可能となり、ＰＵの故障等の障害発生時における縮退運転が可能となる。なお、縮退運転とは、システムに障害が発生したときに性能や機能を部分的に停止させた状態で稼働を続行することである。
【００２１】
同様に、ストレージ装置１０２は、ＰＵ＃１，＃２と、ＳＵ＃１，＃２と、ＳＷ＃１，＃２と、を含む。ストレージ装置１０１内の各ＰＵとストレージ装置１０２内の各ＰＵは、ＳＷ１０３，１０４を介して、リモートコピーのためのデータ転送用回線により接続される。
【００２２】
なお、図１では、ストレージ装置１０１が３つのＰＵを含む場合を例に挙げて説明したが、１以上であれば幾つのＰＵを含んでいてもよい。また、ストレージ装置１０１が２つのＳＵを含む場合を例に挙げて説明したが、１以上であれば幾つのＳＵを含んでいてもよい。ストレージ装置１０２についても同様である。
【００２３】
ここで、ストレージ装置１０１内のボリュームＰ１，Ｐ２と、ストレージ装置１０２内のボリュームＳ１，Ｓ２は、コンシステンシーグループＧ１に属するボリューム群である。ボリュームとは、各ストレージ装置１０１，１０２の管理単位となる記憶領域である。例えば、ボリュームは、複数の物理的な記憶装置または記憶装置（例えば、ハードディスク）内のパーティションをグループ化して、仮想的に一つのボリュームとした論理ボリュームであってもよい。
【００２４】
コンシステンシーグループとは、すべてのレプリケーションセットのプライマリボリューム間において書込順序の一貫性を確保するためにグループ化されたレプリケーションセットの集合である。レプリケーションセットとは、レプリケーション関係を持つボリュームのペアであり、物理的に分離されたプライマリボリュームとセカンダリボリュームで構成される。
【００２５】
図１の例では、ボリュームＰ１，Ｐ２がプライマリボリュームであり、ボリュームＳ１，Ｓ２がセカンダリボリュームである。また、ボリュームＰ１とボリュームＳ１のペアおよびボリュームＰ２とボリュームＳ２のペアが、それぞれレプリケーション関係を持つボリュームのペアである。
【００２６】
ここで、複数のＰＵが複数のＳＵを利用して仮想的なボリュームを構成する場合、コンシステンシー（書込順序の一貫性）を保ちたいボリュームが複数のＰＵに分散したり、ボリュームの実データが複数のＳＵに分散する状況が起こり得る。また、コンシステンシーグループに属するボリューム群のリモートコピーを実施する場合、業務サーバからのデータ更新要求を抑止しつつ、データ転送のための差分データを確保する、すなわち、当該ボリューム群の静止点を取ることになる。
【００２７】
このため、リモートコピーを実施する際は、ＰＵ間の連携にかかる通信オーバーヘッドをいかに抑えるかだけでなく、業務サーバからのＩ／Ｏにできるだけ影響を与えることなく、静止点を確保したデータをいかに退避するかが重要となる。
【００２８】
コンシステンシーグループに属するボリューム群のデータのコンシステンシーを保つためには、例えば、全ＰＵまたは各ＰＵに対するボリューム群への更新データ情報（例えば、更新データ、更新位置等）を一つの格納領域に格納することが考えられる。ただし、ＰＵの揮発性メモリ上のみで更新データ情報を保持しておくと、ＰＵがダウンした場合に更新データ情報を失うため、ＰＵの不揮発性メモリやＳＵのストレージに更新データ情報を保存することになる。
【００２９】
ところが、業務サーバからの更新データ情報を一つの格納領域に順序性を保って格納するということは、格納処理にかかる時間が長くなると、業務サーバからのＩ／Ｏを待たせてしまう原因となる。キャッシュを持たないＰＵの場合は、ボリュームに対する更新があると、その都度更新データ情報をＳＵに書き込むことになり、この格納処理がボトルネックとなってしまう。
【００３０】
そこで、本実施の形態では、ストレージ装置１０１は、コンシステンシーグループに属する各ボリュームのスナップショットを同時に作成するとともに、各ボリュームに対する更新データを差分データとして格納する格納領域を作成する。そして、ストレージ装置１０１は、各ボリュームのスナップショットのデータをコピー先に転送する。これにより、コンシステンシーグループに属するボリューム間でのデータのコンシステンシーを保ちつつリモートコピーを効率的に行う。
【００３１】
以下、図２および図３を用いて、ストレージ装置１０１，１０２間でコンシステンシーグループＧ１に属するボリューム群のリモートコピーを行う場合のストレージ装置１０１，１０２の動作例について説明する。
【００３２】
まず、図２を用いて、コピー元のストレージ装置１０１の動作例について説明する。図２は、コピー元のストレージ装置１０１の動作例を示す説明図である。
【００３３】
（２−１）ストレージ装置１０１のＰＵ＃１は、グループ情報に基づいて、時点ｔ１の各ボリュームＰ１，Ｐ２のスナップショットを作成するとともに、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ１），Ａ２（ｔ１）を作成する。ここで、グループ情報は、コンシステンシーグループに属するコピー元のボリューム群を特定する情報である。
【００３４】
グループ情報は、例えば、コンシステンシーグループに属するコピー元のボリュームとコピー先のボリュームとの対応関係を示す。図１の例では、グループ情報は、コンシステンシーグループＧ１に属するコピー元のボリュームＰ１，Ｐ２とコピー先のボリュームＳ１，Ｓ２とのそれぞれの対応関係を示す。
【００３５】
グループ情報は、例えば、ストレージ装置１０１，１０２のＳＵ１，ＳＵ２に記憶される。スナップショットを作成するとは、ある時点ｔにおけるボリューム上のデータを確保することである。また、差分格納領域Ａ１（ｔ），Ａ２（ｔ）は、時点ｔ以降の各ボリュームＰ１，Ｐ２に対する更新データを差分データとして格納する格納領域である。
【００３６】
図１の例では、コンシステンシーグループＧ１に属するコピー元のボリュームＰ１，Ｐ２のうち、ボリュームＰ１はストレージ装置１０１のＰＵ＃１に存在し、ボリュームＰ２はストレージ装置１０１のＰＵ＃２に存在する。この場合、ストレージ装置１０１のＰＵ＃１は、時点ｔ１のボリュームＰ２のスナップショットの作成指示をＰＵ＃２に通知する。そして、ストレージ装置１０１のＰＵ＃１は、時点ｔ１のボリュームＰ１のスナップショットを作成するとともに、ボリュームＰ１の差分格納領域Ａ１（ｔ１）を作成する。
【００３７】
具体的には、例えば、ＰＵ＃１は、ボリュームＰ１をリネームして、スナップショットのマスタボリュームとなるボリュームｓｎａｐ１（ｔ１）を作成する。ボリュームｓｎａｐ１（ｔ１）は、ＲｅａｄＯｎｌｙ属性のボリュームとなる。また、ＰＵ＃１は、時点ｔ１以降のボリュームＰ１に対する更新データを差分データとして格納する空のボリュームを差分格納領域Ａ１（ｔ１）として作成する。
【００３８】
この結果、ボリュームｓｎａｐ１（ｔ１）と差分格納領域Ａ１（ｔ１）とを連携させた論理的なボリュームＰ１を生成することができる。例えば、ストレージ装置１０１は、ボリュームＰ１に対するＲｅａｄ要求に対して、差分格納領域Ａ１（ｔ１）に対象となるデータが存在しない場合は、ボリュームｓｎａｐ１（ｔ１）からデータを読み出す。一方、差分格納領域Ａ１（ｔ１）にデータが存在する場合は、ストレージ装置１０１は、差分格納領域Ａ１（ｔ１）からデータを読み出す。
【００３９】
また、ストレージ装置１０１は、ボリュームＰ１に対するＷｒｉｔｅ要求に対しては、差分格納領域Ａ１（ｔ１）にデータを書き込む。これにより、新たな論理的なボリュームＰ１は、スナップショット作成前のデータと、スナップショット作成後の更新データをマージした形のボリュームとして見える。
【００４０】
一方、ストレージ装置１０１のＰＵ＃２は、時点ｔ１のボリュームＰ２のスナップショットの作成指示を受け付けたことに応じて、時点ｔ１のボリュームＰ２のスナップショットを作成するとともに、ボリュームＰ２の差分格納領域Ａ２（ｔ１）を作成する。
【００４１】
具体的には、例えば、ＰＵ＃２は、ボリュームＰ２をリネームして、ボリュームＰ２のマスタボリュームとなるボリュームｓｎａｐ２（ｔ１）を作成する。ボリュームｓｎａｐ２（ｔ１）は、ＲｅａｄＯｎｌｙ属性のボリュームとなる。また、ＰＵ＃２は、時点ｔ１以降のボリュームＰ２に対する更新データを差分データとして格納する空のボリュームを差分格納領域Ａ２（ｔ１）として作成する。
【００４２】
時点ｔ１において、ＰＵ＃１，＃２は、業務サーバ等の上位装置からの各ボリュームＰ１，Ｐ２に対するＩ／Ｏを抑止する。業務サーバ等の上位装置からのＩ／Ｏは、各ＰＵ＃１，＃２が、時点ｔ１の各ボリュームＰ１，Ｐ２のスナップショットを作成し、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ１），Ａ２（ｔ１）を作成した時点で再開する。時点ｔ１は、任意に設定可能である。
【００４３】
（２−２）ストレージ装置１０１のＰＵ＃１は、ボリュームＰ１，Ｐ２のスナップショットのデータをコピー先のストレージ装置１０２に転送する。図１の例では、ストレージ装置１０１のＰＵ＃１は、作成したボリュームＰ１のスナップショットのデータを、コピー先のボリュームＳ１が存在するストレージ装置１０２のＰＵ＃１に転送する。また、ストレージ装置１０１のＰＵ＃２は、作成したボリュームＰ２のスナップショットのデータを、コピー先のボリュームＳ２が存在するストレージ装置１０２のＰＵ＃２に転送する。
【００４４】
（２−３）ストレージ装置１０１のＰＵ＃１は、時点ｔ１以降の時点ｔ２の各ボリュームＰ１，Ｐ２のスナップショットを作成するとともに、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ２），Ａ２（ｔ２）を作成する。時点ｔ２は、時点ｔ１以降のいずれかの時点であり、任意に設定可能である。
【００４５】
図１の例では、ストレージ装置１０１のＰＵ＃１は、時点ｔ２のボリュームＰ２のスナップショットの作成指示をＰＵ＃２に通知する。そして、ストレージ装置１０１のＰＵ＃１は、時点ｔ２のボリュームＰ１のスナップショットを作成するとともに、ボリュームＰ１の差分格納領域Ａ１（ｔ２）を作成する。
【００４６】
一方、ストレージ装置１０１のＰＵ＃２は、時点ｔ２のボリュームＰ２のスナップショットの作成指示を受け付けたことに応じて、時点ｔ２のボリュームＰ２のスナップショットを作成するとともに、ボリュームＰ２の差分格納領域Ａ２（ｔ２）を作成する。この結果、ボリュームｓｎａｐ１（ｔ２）と差分格納領域Ａ１（ｔ２）とを連携させた論理的なボリュームＰ１と、ボリュームｓｎａｐ２（ｔ２）と差分格納領域Ａ２（ｔ２）とを連携させた論理的なボリュームＰ２が生成される。
【００４７】
また、時点ｔ２において業務サーバ等の上位装置からのＩ／Ｏは抑止することになる。業務サーバ等の上位装置からのＩ／Ｏは、時点ｔ２の各ボリュームＰ１，Ｐ２のスナップショットの作成が完了し、各ボリュームＰ１，Ｐ２の差分格納領域Ａ１（ｔ２），Ａ２（ｔ２）の作成が完了した時点で再開する。
【００４８】
（２−４）ストレージ装置１０１のＰＵ＃１は、時点ｔ２の各ボリュームＰ１，Ｐ２の差分データをコピー先のストレージ装置１０２に転送する。図１の例では、ストレージ装置１０１のＰＵ＃１は、時点ｔ２のボリュームＰ１の差分データをコピー先のストレージ装置１０２のＰＵ＃１に転送する。ここで、時点ｔ２のボリュームＰ１の差分データは、時点ｔ１から時点ｔ２までのボリュームＰ１に対する更新データであり、差分格納領域Ａ１（ｔ１）に格納された差分データである。
【００４９】
また、ストレージ装置１０１のＰＵ＃２は、時点ｔ２のボリュームＰ２の差分データをコピー先のストレージ装置１０２のＰＵ＃２に転送する。ここで、時点ｔ２のボリュームＰ２の差分データは、時点ｔ１から時点ｔ２までのボリュームＰ２に対する更新データであり、差分格納領域Ａ２（ｔ１）に格納された差分データである。
【００５０】
つぎに、図３を用いて、コピー先のストレージ装置１０２の動作例について説明する。図３は、コピー先のストレージ装置１０２の動作例を示す説明図である。
【００５１】
（３−１）ストレージ装置１０２のＰＵ＃１は、ストレージ装置１０１のＰＵ＃１から、時点ｔ１のコピー元のボリュームＰ１のスナップショットのデータを受信したことに応じて、受信したデータをコピー先のボリュームＳ１に格納する。
【００５２】
また、ストレージ装置１０２のＰＵ＃２は、ストレージ装置１０１のＰＵ＃２から、時点ｔ１のコピー元のボリュームＰ２のスナップショットのデータを受信したことに応じて、受信したデータをコピー先のボリュームＳ２に格納する。
【００５３】
（３−２）ストレージ装置１０２のＰＵ＃１は、ストレージ装置１０１のＰＵ＃１から、時点ｔ２のコピー元のボリュームＰ１の差分データを受信したことに応じて、差分格納領域Ａ１’（ｔ１）を作成する。差分格納領域Ａ１’（ｔ）は、時点ｔ以降のボリュームＳ１に対する更新データを差分データとして格納する格納領域である。そして、ストレージ装置１０２のＰＵ＃１は、受信した差分データを、作成した差分格納領域Ａ１’（ｔ１）に格納する。
【００５４】
また、ストレージ装置１０２のＰＵ＃２は、ストレージ装置１０１のＰＵ＃２から、時点ｔ２のコピー元のボリュームＰ２の差分データを受信したことに応じて、差分格納領域Ａ２’（ｔ１）を作成する。差分格納領域Ａ２’（ｔ）は、時点ｔ以降のボリュームＳ２に対する更新データを差分データとして格納する格納領域である。そして、ストレージ装置１０２のＰＵ＃２は、受信した差分データを、作成した差分格納領域Ａ２’（ｔ１）に格納する。
【００５５】
（３−３）ストレージ装置１０２のＰＵ＃１は、コピー先のボリュームＳ１のスナップショットを作成する。具体的には、例えば、ＰＵ＃１は、ボリュームＳ１をリネームして、ボリュームＳ１のマスタボリュームとなるボリュームｓｎａｐ１（ｔ１）を作成する。
【００５６】
また、ストレージ装置１０２のＰＵ＃２は、コピー先のボリュームＳ２のスナップショットを作成する。具体的には、例えば、ＰＵ＃２は、ボリュームＳ２をリネームして、ボリュームＳ２のマスタボリュームとなるボリュームｓｎａｐ２（ｔ１）を作成する。
【００５７】
これらのことから、ＰＵ＃１によれば、コンシステンシーグループＧ１に属するボリュームＰ１，Ｐ２のスナップショットを同時に取ることができ、コンシステンシーグループＧ１に属するボリューム間でのデータの書込順序の一貫性を保つことができる。また、ボリューム間でのデータの書込順序の一貫性を保つためのアクセスを差分格納領域Ａ１（ｔ１），Ａ２（ｔ１）に分散させてアクセスの一極集中を回避でき、業務サーバ等の上位装置からのＩ／Ｏ遅延を防ぐことができる。また、リモートサイトにおいて、ローカルサイトから転送されたデータをスナップショットの形で参照可能にすることができる。
【００５８】
（ＰＵ等のハードウェア構成例）
つぎに、図１に示したストレージ装置１０１，１０２のＰＵ、ＳＵ、ＳＷ等のコンピュータ（ここでは、単に「ＰＵ等」と称する）のハードウェア構成例について説明する。
【００５９】
図４は、ＰＵ等のハードウェア構成例を示すブロック図である。図４において、ＰＵ等は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、メモリ４０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０３と、を有する。また、各構成部はバス４１０によってそれぞれ接続されている。
【００６０】
ここで、ＣＰＵ４０１は、ＰＵ等の全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。より具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やファームウェアなどのプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されているプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させることになる。
【００６１】
Ｉ／Ｆ４０３は、他のコンピュータからのデータの入出力を制御する。具体的には、例えば、Ｉ／Ｆ４０３は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークに接続され、このネットワークを介して他のコンピュータに接続される。そして、Ｉ／Ｆ４０３は、ネットワークと内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
【００６２】
以下の説明では、各ストレージ装置１０１，１０２内の一以上のＰＵを「ＰＵ＃１〜＃ｎ」と表記し（ｎは、１以上の自然数）、ＰＵ＃１〜＃ｎのうちの任意のＰＵを「ＰＵ＃ｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。
【００６３】
（ＰＵ＃ｉの機能的構成例）
つぎに、ストレージ装置１０１のマスタ制御部となるＰＵ＃ｉの機能的構成例について説明する。ただし、ストレージ装置１０１において、ＰＵ＃ｉがダウンした場合は、他のＰＵ＃ｊ（ｊ≠ｉ、ｊ＝１，２，…，ｎ）が、ＰＵ＃ｉの機能を引き継ぐ。
【００６４】
図５は、ＰＵ＃ｉの機能的構成例を示すブロック図である。図５において、ＰＵ＃ｉは、記憶部５０１と、作成部５０２と、通信制御部５０３と、を含む構成である。作成部５０２〜通信制御部５０３は、具体的には、例えば、図４に示したメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【００６５】
＜ストレージ装置１０１がコピー元のストレージ装置＞
まず、ストレージ装置１０１がコピー元のストレージ装置である場合の各機能部について説明する。また、ストレージ装置１０２をコピー先のストレージ装置とする。
【００６６】
記憶部５０１は、ストレージ装置１０１の記憶領域の構成を示す構成情報を記憶する。ここで、構成情報は、コンシステンシーグループＧのグループ情報を含む。グループ情報は、コンシステンシーグループＧに属するコピー元のボリューム群を特定する情報であり、例えば、コンシステンシーグループＧに属するコピー元のボリュームＰとコピー先のボリュームＳとの対応関係を示す。
【００６７】
グループ情報には、例えば、コピー元のボリュームＰが存在するストレージ装置１０１内のＰＵ＃ｉを特定する情報が含まれていてもよく、コピー先のボリュームＳが存在するストレージ装置１０２内のＰＵ＃ｉを特定する情報が含まれていてもよい。ＰＵ＃ｉを特定する情報は、例えば、ＰＵ＃ｉのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスである。
【００６８】
また、構成情報は、例えば、ストレージ装置１０１内のＳＵの記憶領域の割当状況を示す割当情報を含むことにしてもよい。割当情報は、例えば、ボリュームがストレージ装置１０１内のどのＳＵのどの記憶装置Ｄに割り当てられているかを示す情報である。構成情報は、例えば、ストレージ装置１０１内のＳＵに記憶されている。ＰＵ＃ｉは、例えば、ストレージ装置１０１内のＳＵから構成情報を読み出して記憶部５０１に記憶する。
【００６９】
以下の説明では、コンシステンシーグループＧに属するコピー元のボリューム群を「ボリュームＰ１〜ＰＫ」と表記し（Ｋは、２以上の自然数）、ボリュームＰ１〜ＰＫのうちの任意のボリュームを「ボリュームＰｋ」と表記する場合がある（ｋ＝１，２，…，Ｋ）。また、コンシステンシーグループＧに属するコピー先のボリューム群を「ボリュームＳ１〜ＳＫ」と表記し、ボリュームＳ１〜ＳＫのうちの任意のボリュームを「ボリュームＳｋ」と表記する場合がある。
【００７０】
作成部５０２は、グループ情報に基づいて、時点ｔ１のコピー元のボリュームＰ１〜ＰＫの各ボリュームＰｋのスナップショットを作成するとともに、各ボリュームＰｋの差分格納領域Ａｋ（ｔ１）を作成する。ここで、差分格納領域Ａｋ（ｔ）は、時点ｔ以降のボリュームＰｋに対する更新データを差分データとして格納する格納領域である。差分格納領域Ａｋ（ｔ）は、例えば、シンプロビジョニングボリュームによって実現される。
【００７１】
具体的には、例えば、まず、作成部５０２は、ボリュームＰ１〜ＰＫの中に自ＰＵとは異なる他のＰＵ＃ｊに存在するボリュームＰｋがあるか否かを判断する。ボリュームＰｋが存在するＰＵは、作成部５０２が、グループ情報から特定してもよく、各ＰＵ＃１〜＃ｎに問い合わせることで特定してもよい。
【００７２】
ここで、他のＰＵ＃ｊに存在するボリュームＰｋがない場合、作成部５０２は、時点ｔ１の自ＰＵに存在する各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔ１）〜ＡＫ（ｔ１）を作成する。時点ｔ１のボリュームＰｋのスナップショットのデータは、時点ｔ１のボリュームＰｋのデータそのものである。
【００７３】
一方、他のＰＵ＃ｊに存在するボリュームＰｋがある場合、作成部５０２は、時点ｔ１のボリュームＰｋのスナップショットの作成指示を他のＰＵ＃ｊに通知する。そして、作成部５０２は、時点ｔ１の自ＰＵに存在する各ボリュームＰｋのスナップショットを作成するとともに、各ボリュームＰｋの差分格納領域Ａｋ（ｔ１）を作成する。
【００７４】
時点ｔ１において、ボリュームＰｋが存在する各ＰＵは、業務サーバ等の上位装置からのボリュームＰｋに対するＩ／Ｏを抑止する。そして、各ＰＵは、時点ｔ１の各ボリュームＰｋのスナップショットを作成し、各ボリュームＰｋの差分格納領域Ａｋ（ｔ１）を作成した時点で、業務サーバ等の上位装置からのＩ／Ｏを再開する。抑止中のＩ／Ｏは、例えば、各ＰＵのキャッシュ等に退避しておくことにしてもよい。
【００７５】
通信制御部５０３は、時点ｔ１のコピー元のボリュームＰ１〜ＰＫの各ボリュームＰｋのスナップショットのデータをコピー先のストレージ装置１０２に転送する。具体的には、例えば、通信制御部５０３は、割当情報を参照して、作成部５０２によって作成された時点ｔ１の自ＰＵに存在するボリュームＰｋのスナップショットのデータをＳＵから読み出す。
【００７６】
そして、通信制御部５０３は、読み出したデータを、コピー先のボリュームＳｋが存在するストレージ装置１０２内のＰＵに転送する。コピー先のボリュームＳｋが存在するＰＵは、通信制御部５０３が、グループ情報から特定してもよく、コピー先のストレージ装置１０２内の各ＰＵ＃１〜＃ｎに問い合わせることで特定してもよい。
【００７７】
また、作成部５０２は、時点ｔ１以降の時点ｔ２のコピー元のボリュームＰ１〜ＰＫの各ボリュームＰｋのスナップショットを作成するとともに、各ボリュームＰｋの差分格納領域Ａｋ（ｔ２）を作成する。具体的には、例えば、まず、作成部５０２は、ボリュームＰ１〜ＰＫの中に自ＰＵとは異なる他のＰＵ＃ｊに存在するボリュームＰｋがあるか否かを判断する。
【００７８】
ここで、他のＰＵ＃ｊに存在するボリュームＰｋがない場合、作成部５０２は、時点ｔ２の自ＰＵに存在する各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔ２）〜ＡＫ（ｔ２）を作成する。この際、作成部５０２は、時点ｔ１のボリュームＰｋのスナップショットのデータと、差分格納領域Ａｋ（ｔ１）に格納された差分データとに基づいて、時点ｔ２のボリュームＰｋのスナップショットを作成する。
【００７９】
一方、他のＰＵ＃ｊに存在するボリュームＰｋがある場合、作成部５０２は、時点ｔ２のボリュームＰｋのスナップショットの作成指示を他のＰＵ＃ｊに通知する。そして、作成部５０２は、時点ｔ２の自ＰＵに存在する各ボリュームＰｋのスナップショットを作成するとともに、各ボリュームＰｋの差分格納領域Ａｋ（ｔ２）を作成する。
【００８０】
通信制御部５０３は、時点ｔ２のコピー元のボリュームＰ１〜ＰＫの各ボリュームＰｋの差分データを、コピー先のストレージ装置１０２に転送する。具体的には、例えば、通信制御部５０３は、割当情報を参照して、自ＰＵに存在するボリュームＰｋの差分格納領域Ａｋ（ｔ１）のデータをＳＵから読み出す。そして、通信制御部５０３は、読み出したデータを、コピー先のボリュームＳｋが存在するストレージ装置１０２内のＰＵに転送する。
【００８１】
また、作成部５０２は、定期的または不定期に時点ｔ１以降のいずれかの時点ｔｐのコピー元の各ボリュームＰｋのスナップショットを作成するとともに、各ボリュームＰｋの差分格納領域Ａｋ（ｔｐ）を作成することにしてもよい（ｐは、２以上の自然数）。この場合、通信制御部５０３は、時点ｔｐのコピー元の各ボリュームＰｋの差分データを、コピー先のストレージ装置１０２に転送する。
【００８２】
時点ｔｐは、任意に設定可能である。例えば、時点ｔｐは、時点ｔ１以降の一定時間間隔ごとの時点であってもよい。一定時間は、任意に設定可能であり、例えば、数分、数時間、数日などに設定される。
【００８３】
ＰＵ＃ｉがマスタ制御部ではない場合には、ＰＵ＃ｉは、ストレージ装置１０１のマスタ制御部となる他のＰＵ＃ｊから、時点ｔ１の自ＰＵに存在するボリュームＰｋのスナップショットの作成指示を受け付ける。この場合、作成部５０２は、時点ｔ１の自ＰＵに存在するボリュームＰｋのスナップショットを作成するとともに、ボリュームＰｋの差分格納領域Ａｋ（ｔ１）を作成する。そして、通信制御部５０３は、時点ｔ１のボリュームＰｋのスナップショットのデータをコピー先のストレージ装置１０２に転送する。
【００８４】
この際、ＰＵ＃ｉは、他のＰＵ＃ｊからスナップショットの作成指示を受け付けたことに応じて、業務サーバ等の上位装置からのボリュームＰｋに対するＩ／Ｏを抑止する。そして、ＰＵ＃ｉは、時点ｔ１のボリュームＰｋを作成し、ボリュームＰｋの差分格納領域Ａｋ（ｔ１）を作成した時点で、業務サーバ等の上位装置からのＩ／Ｏを再開する。
【００８５】
また、ＰＵ＃ｉがマスタ制御部ではない場合、ＰＵ＃ｉは、ストレージ装置１０１のマスタ制御部となる他のＰＵ＃ｊから、時点ｔｐの自ＰＵに存在するボリュームＰｋのスナップショットの作成指示を受け付ける。この場合、作成部５０２は、スナップショットの作成指示を受け付けたことに応じて、時点ｔｐの自ＰＵに存在するボリュームＰｋのスナップショットを作成するとともに、ボリュームＰｋの差分格納領域Ａｋ（ｔｐ）を作成する。そして、通信制御部５０３は、ボリュームＰｋの差分格納領域Ａｋ（ｔ（ｐ−１））のデータをコピー先のストレージ装置１０２に転送する。
【００８６】
この際、ＰＵ＃ｉは、他のＰＵ＃ｊからスナップショットの作成指示を受け付けたことに応じて、業務サーバ等の上位装置からのボリュームＰｋに対するＩ／Ｏを抑止する。そして、ＰＵ＃ｉは、時点ｔｐのボリュームＰｋを作成し、ボリュームＰｋの差分格納領域Ａｋ（ｔｐ）を作成した時点で、業務サーバ等の上位装置からのＩ／Ｏを再開する。
【００８７】
ここで、ストレージ装置１０１，１０２がそれぞれ複数のＰＵを含む場合、ストレージ装置１０１，１０２が同一のＰＵ構成であっても、コピー元のボリュームＰｋが存在するＰＵとコピー先のボリュームＳｋが存在するＰＵの関係が、１対１になるとは限らない。
【００８８】
例えば、ストレージ装置１０１のＰＵ＃１上に２つのボリュームがあり、いずれもリモートコピー対象であるとすると、それらのボリュームの相手（コピー先のボリューム）が、ストレージ装置１０２内の１つのＰＵ上に存在しているとは限らない。また、ストレージ装置１０１，１０２のＰＵ構成が異なる場合もある。
【００８９】
このため、コピー元・コピー先のリモートコピー関係（以下、「セッション」と称する）を結ぶ場合に、ストレージ装置１０１が、ストレージ装置１０２内のどのＰＵにコピー先のボリュームＳｋが存在するかを効率的に把握できることが望ましい。
【００９０】
さらに、ＰＵ故障や回線異常などの何らかの不具合により、セッション関係を結んだコピー先のボリュームＳｋが存在するストレージ装置１０２内のＰＵとの通信が不能となる場合がある。この場合、異常ＰＵ上のボリュームＳｋは、正常動作している別のＰＵにフェイルオーバする。フェイルオーバとは、例えば、あるＰＵに異常が発生した場合に、別のＰＵが、異常ＰＵに代わって処理やデータを引き継ぐ機能である。
【００９１】
そこで、通信制御部５０３は、コピー先のストレージ装置１０２内のＰＵ＃１〜＃ｎのうちのいずれかのＰＵ（以下、「代表ＰＵ」と称する）に、コピー先のボリュームＳｋが存在するＰＵを問い合わせることにしてもよい。また、通信制御部５０３は、コピー先のボリュームＳｋが存在するＰＵとの通信が不能となった場合に、代表ＰＵに、コピー先のボリュームＳｋの移動先のＰＵ（フェイルオーバ先のＰＵ）を問い合わせることにしてもよい。
【００９２】
ここで、代表ＰＵは、コピー先のストレージ装置１０２内のＰＵ＃１〜＃ｎのうちの特定のＰＵであり、例えば、ストレージ装置１０２のマスタ制御部となるＰＵである。代表ＰＵには代表アドレスが割り振られる。代表アドレスは、コピー先のストレージ装置１０２内の代表ＰＵに割り振られたリモートコピー用の論理的なＩＰアドレスである。代表アドレスは、例えば、コンシステンシーグループＧのグループ情報に含まれる。
【００９３】
代表ＰＵは、例えば、リモートコピーを開始する際に、他のＰＵと通信してコピー先のボリュームＳの情報を収集することにより、コピー先のボリュームＳがどのＰＵ上に存在しているかを把握する。コピー先のストレージ装置１０２の代表ＰＵおよび代表アドレスは任意に設定可能である。また、代表ＰＵがダウンした場合は、コピー先のストレージ装置１０２内の他のＰＵが、代表ＰＵの機能を引き継ぐ。
【００９４】
通信制御部５０３は、代表アドレスを用いて、コピー先のストレージ装置１０２内の代表ＰＵと通信することにより、コピー先のボリュームＳｋが存在するＰＵや、コピー先のボリュームＳｋの移動先のＰＵを問い合わせることができる。これにより、コピー元・コピー先のセッション関係を結ぶ際、あるいは、セッション関係が切れた際に、コピー先のストレージ装置１０２内の個々のＰＵに対して問い合わせを行う必要がなくなり、接続先のＰＵを効率的に探すことができる。
【００９５】
＜ストレージ装置１０１がコピー先のストレージ装置＞
つぎに、ストレージ装置１０１がコピー先のストレージ装置である場合の各機能部について説明する。また、ストレージ装置１０２をコピー元のストレージ装置とする。
【００９６】
作成部５０２は、ストレージ装置１０２から時点ｔ１のコピー元のボリュームＰｋのスナップショットのデータを受信したことに応じて、受信したデータを、コピー先のボリュームＳｋに格納する。
【００９７】
また、作成部５０２は、時点ｔ１以降の時点ｔｐのコピー元のボリュームＰｋの差分データを受信したことに応じて、ボリュームＳｋの差分格納領域Ａｋ’（ｔ（ｐ−１））を作成して、受信した差分データを差分格納領域Ａｋ’（ｔ（ｐ−１））に格納する。そして、作成部５０２は、時点ｔ（ｐ−１）のコピー先のボリュームＳｋのスナップショットを作成する。
【００９８】
なお、リモートコピーの実施中においてはコピー先のボリュームＳｋに対するアクセスは禁止とする。Ｗｒｉｔｅ要求を許可しないのは、スナップショット形式を採用しているため、マスタとなるスナップショットとしてのデータが変更されるとコピー元のデータを失うためである。
【００９９】
一方、Ｒｅａｄ要求を許可しないのは、業務サーバのＯＳが特定のＯＳである場合に不具合が発生してしまうためである。ここで、特定のＯＳは、Ｒｅａｄのみ可能なボリュームに対してもＷｒｉｔｅ要求を発行してしまうＯＳである。特定のＯＳの場合、Ｒｅａｄ要求のみを許可してもＷｒｉｔｅ要求が発行され、Ｗｒｉｔｅに失敗した旨のエラーログが業務サーバ上のイベントログに大量に記録されるという不具合が発生する。
【０１００】
ところが、このアクセス制限を設けることにより、コピー先には初回の転送が終わったデータが存在しているのに参照ができないという問題が生じる。データが参照可能となるのは、次回の差分転送がされて、コピー先のボリュームＳｋがスナップショットの扱いになってからである。
【０１０１】
そこで、作成部５０２は、時点ｔ１のコピー元のボリュームＰｋのスナップショットのデータを受信したことに応じて、受信したデータを、コピー先のボリュームＳｋに格納し、ボリュームＳｋの差分格納領域Ａｋ’（ｔ１）を作成して、時点ｔ１のコピー先のボリュームＳｋのスナップショットを作成することにしてもよい。ここで、図６を用いて、コピー先のボリュームＳｋのスナップショットの作成例について説明する。
【０１０２】
図６は、コピー先のボリュームＳｋのスナップショットの作成例を示す説明図である。（６−１）作成部５０２は、時点ｔ１のコピー元のボリュームＰｋのスナップショットのデータを受信したことに応じて、受信したデータを、コピー先のボリュームＳｋに格納する。
【０１０３】
（６−２）作成部５０２は、ボリュームＳｋの差分格納領域Ａｋ’（ｔ１）を作成する。この差分格納領域Ａｋ’（ｔ１）は、ダミー（空）の格納領域である。
【０１０４】
（６−３）作成部５０２は、時点ｔ１のコピー先のボリュームＳｋのスナップショットを作成する。具体的には、例えば、作成部５０２は、ボリュームＳｋをリネームして、ボリュームＳｋのマスタボリュームとなるボリュームｓｎａｐ１（ｔ１）を作成する。これにより、ボリュームＳｋ（ボリュームｓｎａｐ１（ｔ１））のデータが参照可能となる。
【０１０５】
このように、コピー元からの初回のデータ転送が終わった時点で、作成部５０２が、ダミー（空の）の差分格納領域Ａｋ’（ｔ１）を併せて作成し、即座に転送が完了したボリュームＳｋをスナップショットの扱いとする。これにより、初回のデータ転送が終わった時点でボリュームＳｋがスナップショットの扱いとなり、初回のデータ転送完了後に、コピー先にて転送されたデータの参照が可能となる。
【０１０６】
ただし、本来スナップショットは、ＲｅａｄＯｎｌｙ属性として、データの更新をさせないボリュームである。このため、２回目のデータ転送でスナップショットとなったボリュームＳｋへのＷｒｉｔｅ要求は禁止される。しかし、上述したように、特定のＯＳがインストールされた業務サーバにボリュームＳｋをマウントさせるためには、Ｗｒｉｔｅ可能なボリュームである必要がある。
【０１０７】
そのため、ＰＵ＃ｉは、Ｒｅａｄ／Ｗｒｉｔｅ可能なスナップショットの差分クローンを作成し、業務サーバにはあたかもそのスナップショットを割り当てたかのように見せることにより、（擬似）スナップショットへのＲｅａｄ／Ｗｒｉｔｅを可能とする。ただし、ＰＵ＃ｉは、差分クローンにデータがＷｒｉｔｅされたとしても、該データを元のスナップショットへ書き戻すことはせず破棄する。
【０１０８】
また、時点ｔ１以降において、作成部５０２は、例えば、時点ｔｐのコピー元のボリュームＰｋの差分データを受信した場合、受信した差分データを、差分格納領域Ａｋ’（ｔ（ｐ−１））に格納する。つぎに、作成部５０２は、ボリュームＳｋの差分格納領域Ａｋ’（ｔｐ）を作成する。そして、作成部５０２は、時点ｔ（ｐ−１）のコピー先のボリュームＳｋのスナップショットのデータと差分格納領域Ａｋ’（ｔ（ｐ−１））に格納された差分データに基づいて、時点ｔｐのコピー先のボリュームＳｋのスナップショットを作成する。
【０１０９】
（ストレージ装置１０１の制御処理手順）
つぎに、ストレージ装置１０１の制御処理手順について説明する。まず、ストレージ装置１０１がコピー元のストレージ装置である場合の制御処理手順について説明する。また、ストレージ装置１０２をコピー先のストレージ装置とする。
【０１１０】
図７は、コピー元のストレージ装置１０１の制御処理手順の一例を示すフローチャートである。図７のフローチャートにおいて、まず、ストレージ装置１０１は、時点ｔｐの「ｐ」を「ｐ＝１」とする（ステップＳ７０１）。
【０１１１】
そして、ストレージ装置１０１は、グループ情報に基づいて、時点ｔｐの各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔｐ）〜ＡＫ（ｔｐ）を作成する（ステップＳ７０２）。つぎに、ストレージ装置１０１は、時点ｔｐの各ボリュームＰ１〜ＰＫのスナップショットのデータをコピー先のストレージ装置１０２に転送する（ステップＳ７０３）。
【０１１２】
そして、ストレージ装置１０１は、時点ｔｐから一定時間が経過したか否かを判断する（ステップＳ７０４）。ここで、ストレージ装置１０１は、一定時間が経過するのを待って（ステップＳ７０４：Ｎｏ）、一定時間が経過した場合（ステップＳ７０４：Ｙｅｓ）、時点ｔｐの「ｐ」をインクリメントする（ステップＳ７０５）。
【０１１３】
つぎに、ストレージ装置１０１は、時点ｔｐの各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔｐ）〜ＡＫ（ｔｐ）を作成する（ステップＳ７０６）。そして、ストレージ装置１０１は、時点ｔｐの各ボリュームＰ１〜ＰＫの差分データを、コピー先のストレージ装置１０２に転送する（ステップＳ７０７）。
【０１１４】
つぎに、ストレージ装置１０１は、ストレージ装置１０１，１０２間のリモートコピーが終了したか否かを判断する（ステップＳ７０８）。ここで、リモートコピーが終了していない場合（ステップＳ７０８：Ｎｏ）、ストレージ装置１０１は、ステップＳ７０４に戻る。
【０１１５】
一方、リモートコピーが終了した場合（ステップＳ７０８：Ｙｅｓ）、ストレージ装置１０１は、本フローチャートによる一連の処理を終了する。
【０１１６】
これにより、定期的にボリュームＰ１〜ＰＫのスナップショットを同時に取ることができ、一定時間間隔ごとのコンシステンシーグループＧに属するボリューム間でのデータの書込順序の一貫性を保つことができる。
【０１１７】
つぎに、ストレージ装置１０１がコピー先のストレージ装置である場合の制御処理手順について説明する。また、ストレージ装置１０２をコピー元のストレージ装置とする。
【０１１８】
図８は、コピー先のストレージ装置１０１の制御処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、ストレージ装置１０１は、時点ｔｐの「ｐ」を「ｐ＝１」とする（ステップＳ８０１）。
【０１１９】
そして、ストレージ装置１０１は、コピー元のストレージ装置１０２から、コピー元のボリュームＰｋのスナップショットのデータを受信したか否かを判断する（ステップＳ８０２）。ここで、ストレージ装置１０１は、コピー元のボリュームＰｋのスナップショットのデータを受信するのを待つ（ステップＳ８０２：Ｎｏ）。
【０１２０】
そして、ストレージ装置１０１は、コピー元のボリュームＰｋのスナップショットのデータを受信した場合（ステップＳ８０２：Ｙｅｓ）、受信したデータを、コピー先のボリュームＳｋに格納する（ステップＳ８０３）。つぎに、ストレージ装置１０１は、ボリュームＳｋの差分格納領域Ａｋ’（ｔｐ）を作成する（ステップＳ８０４）。
【０１２１】
そして、ストレージ装置１０１は、時点ｔｐのコピー先のボリュームＳｋのスナップショットを作成する（ステップＳ８０５）。つぎに、ストレージ装置１０１は、コピー元のストレージ装置１０２から、コピー元のボリュームＰｋの差分データを受信したか否かを判断する（ステップＳ８０６）。
【０１２２】
ここで、コピー元のボリュームＰｋの差分データを受信した場合（ステップＳ８０６：Ｙｅｓ）、ストレージ装置１０１は、受信した差分データを差分格納領域Ａｋ’（ｔｐ）に格納する（ステップＳ８０７）。そして、時点ｔｐの「ｐ」をインクリメントして（ステップＳ８０８）、ステップＳ８０４に戻る。
【０１２３】
また、ステップＳ８０６において、コピー元のボリュームＰｋの差分データを受信していない場合（ステップＳ８０６：Ｎｏ）、ストレージ装置１０１は、ストレージ装置１０１，１０２間のリモートコピーが終了したか否かを判断する（ステップＳ８０９）。ここで、リモートコピーが終了していない場合（ステップＳ８０９：Ｎｏ）、ストレージ装置１０１は、ステップＳ８０６に戻る。
【０１２４】
一方、リモートコピーが終了した場合（ステップＳ８０９：Ｙｅｓ）、ストレージ装置１０１は、本フローチャートによる一連の処理を終了する。
【０１２５】
これにより、コピー元のボリュームＰｋのデータを、コピー先のボリュームＳｋに転送することができる。また、初回のデータ転送が終わった時点でボリュームＳｋがスナップショットの扱いとなり、初回のデータ転送完了後に、コピー先にて転送されたデータの参照を可能にすることができる。
【０１２６】
以上説明したように、実施の形態にかかるストレージ装置１０１によれば、時点ｔ１のコピー元の各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔ１）〜ＡＫ（ｔ１）を作成することができる。そして、ストレージ装置１０１によれば、時点ｔ１の各ボリュームＰ１〜ＰＫのスナップショットのデータをコピー先のストレージ装置１０２に転送することができる。
【０１２７】
これにより、コンシステンシーグループＧに属するボリュームＰ１〜ＰＫのスナップショットを同時に取ることができ、コンシステンシーグループＧに属するボリューム間でのデータの書込順序の一貫性を保つことができる。また、各ボリュームＰ１〜ＰＫに対する更新データを差分データとして格納する際のアクセスを差分格納領域Ａ１（ｔ１）〜ＡＫ（ｔ１）に分散させてアクセスの一極集中を回避でき、業務サーバ等の上位装置からのＩ／Ｏ遅延を防ぐことができる。
【０１２８】
また、ストレージ装置１０１によれば、定期的または不定期に時点ｔ１以降の時点ｔｐの各ボリュームＰ１〜ＰＫのスナップショットを作成するとともに、各ボリュームＰ１〜ＰＫの差分格納領域Ａ１（ｔｐ）〜ＡＫ（ｔｐ）を作成することができる。そして、ストレージ装置１０１によれば、時点ｔｐの各ボリュームＰ１〜ＰＫの差分データを、コピー先のストレージ装置１０２に転送することができる。
【０１２９】
これにより、任意の時間間隔で、コンシステンシーグループＧに属するボリューム間でコンシステンシーが保たれた更新データを保障することができる。
【０１３０】
また、ストレージ装置１０１によれば、ストレージ装置１０２から、コピー元のボリュームＰｋのスナップショットのデータを受信したことに応じて、受信したデータを、コピー先のボリュームＳｋに格納することができる。また、ストレージ装置１０１によれば、ストレージ装置１０２から、コピー元のボリュームＰｋの差分データを受信したことに応じて、差分格納領域Ａｋ’（ｔ（ｐ−１））を作成し、受信した差分データを差分格納領域Ａｋ’（ｔ（ｐ−１））に格納することができる。そして、ストレージ装置１０１によれば、コピー先のボリュームＳｋのスナップショットを作成することができる。
【０１３１】
これにより、ストレージ装置１０２からコピー元のボリュームＰｋの差分データが転送されてきた時点で、コピー先のボリュームＳｋがスナップショット扱いとなり、コピー先のボリュームＳｋのデータを参照可能にすることができる。
【０１３２】
また、ストレージ装置１０１によれば、時点ｔｐのコピー元のボリュームＰｋのスナップショットのデータを受信したことに応じて、コピー先のボリュームＳｋの差分格納領域Ａｋ’（ｔｐ）を作成して、ボリュームＳｋのスナップショットを作成することができる。これにより、初回のデータ転送が終わった時点でボリュームＳｋがスナップショットの扱いとなり、初回のデータ転送完了後に、コピー先にて転送されたデータの参照が可能となる。
【０１３３】
また、ストレージ装置１０１によれば、代表アドレスを用いて、コピー先のストレージ装置１０２内の代表ＰＵと通信することにより、コピー先のボリュームＳｋが存在するＰＵや、コピー先のボリュームＳｋの移動先のＰＵを問い合わせることができる。これにより、コピー元・コピー先のセッション関係を結ぶ際、あるいは、セッション関係が切れた際に、コピー先のストレージ装置１０２内の個々のＰＵに対して問い合わせを行う必要がなくなり、接続先のＰＵを効率的に探すことができる。
【０１３４】
これらのことから、実施の形態にかかるストレージ装置１０１によれば、コンシステンシーグループＧに属するボリューム間でのデータの書込順序の一貫性を保ちつつリモートコピーを効率的に行うことができる。
【０１３５】
（実施例）
つぎに、実施の形態にかかるストレージ装置１０１の実施例について説明する。実施例では、ストレージ装置１０１をスケールアウト型の仮想化環境向けのストレージシステムＳＭに適用した場合を例に挙げて説明する。
【０１３６】
（ストレージシステムＳＭのシステム構成例）
図９は、ストレージシステムＳＭのシステム構成例を示す説明図である。図９において、ストレージシステムＳＭは、ＰＵ＃１，＃２と、ＳＷ＃１，＃２と、ＳＵ＃１と、を含む。ここで、ＰＵ＃１，＃２は、ＳＵ＃１を制御するコンピュータであり、例えば、後述する業務サーバＢＳや管理サーバＭＳからアクセス可能である。
【０１３７】
ＳＷ＃１，＃２は、スイッチング機能を有するコンピュータである。ＳＵ＃１は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）＃１〜＃４を有し、ＲＡＩＤ＃１〜＃４に対するアクセスを制御するコンピュータである。各ＲＡＩＤ＃１〜＃４は、複数の記憶装置（例えば、ハードディスク）をまとめて一つの記憶装置としたＲＡＩＤグループである。具体的には、各ＲＡＩＤ＃１〜＃４は、それぞれ２つのＬＵＮで構成される。
【０１３８】
ストレージシステムＳＭは、ワイドストライピングによるデータアクセスを行う。ワイドストライピングによれば、アクセス集中による性能低下を抑止し、サーバ等の上位装置からのストレージシステムＳＭへのアクセス量やボリュームの物理的位置を意識した複雑な性能設計を行うことなく、安定した性能を確保することができる。
【０１３９】
また、ストレージシステムＳＭは、ストレージシステムＳＭに要求される記憶容量の増加にともなって、装置全体の記憶領域を拡張することができる。例えば、ストレージシステムＳＭでは、ＰＵとＳＵを１セットとして、装置全体の記憶領域を拡張することができる。
【０１４０】
以下の説明では、ＰＵとＳＵを１セットとする拡張セット（ＰＵ＋ＳＵ）を、ストレージシステムＳＭに追加することを「スケールアウト」と表記する場合がある。また、ストレージシステムＳＭに含まれるＰＵ＃１，＃２とＳＷ＃１，＃２とＳＵ＃１を「基本ノード」と表記し、ストレージシステムＳＭに追加される拡張セットを「増設ノード」と表記する場合がある。また、ストレージシステムＳＭにより提供される仮想的なボリュームを「ＶＤＩＳＫ」と表記する場合がある。
【０１４１】
（ＶＤＩＳＫの構成例）
図１０は、ＶＤＩＳＫの構成例を示す説明図である。図１０において、ＶＤＩＳＫ＃ｉは、セグメントセット＃１〜＃ｎの集合体である（ｉ：自然数、ｎ：２以上の自然数）。各セグメントセット＃１〜＃ｎは、８個のセグメント＃１〜＃８の集合体である。ここでは、各セグメントセット＃１〜＃８の容量は、例えば、２［ＧＢ］であり、また、各セグメント＃１〜＃８の容量は、例えば、２５６［ＭＢ］である。
【０１４２】
図９に示したストレージシステムＳＭを例に挙げると、各セグメント＃１〜＃８は、ＳＵ＃１内のＬＵＮ＃１〜＃８ごとに割り当てられる。ユーザのデータは、固定長のストリップ（１［ＭＢ］）単位で記録される。また、このストリップはセグメント＃１〜＃８を順に利用する形でストライピングされる。
【０１４３】
（ストレージシステムＳＭ内のＰＵの機能的構成例）
図１１は、実施例にかかるＰＵの機能的構成例を示す説明図である。図１１において、ストレージシステムＳＭは、基本ノードＮ１と、増設ノードＮ２と、を含む。図１１では、ストレージシステムＳＭに増設ノードＮ２を増設した直後、すなわち、スケールアウト直後のストレージシステムＳＭの状態を表す。基本ノードＮ１は、ＰＵ＃１，＃２と、ＳＵ＃１と、を含む。増設ノードＮ２は、ＰＵ＃３と、ＳＵ＃２と、を含む。
【０１４４】
基本ノードＮ１内のＰＵ＃１，＃２と、増設ノードＮ２内のＰＵ＃３と、管理サーバＭＳとは、管理用ＬＡＮを介して接続される。管理サーバＭＳは、ストレージシステムＳＭの管理者が使用するコンピュータであり、装置管理ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を有する。
【０１４５】
また、基本ノードＮ１内のＰＵ＃１，＃２と、増設ノードＮ２内のＰＵ＃３と、業務サーバＢＳとは、Ｉ／Ｏ用ＬＡＮを介して接続される。業務サーバＢＳは、業務用のアプリケーションがインストールされたコンピュータである。
【０１４６】
また、ＰＵ＃１，＃２，＃３と、ＳＵ＃１，＃２とは、Ｉ／Ｏ用ＬＡＮおよび内部管理ＬＡＮを介して接続される。各ＳＵ＃１，＃２は、構成管理ＤＢ＃１，＃２と、ストレージ制御部＃１，＃２とを有する。ストレージ制御部＃１，＃２は、ストレージ制御プログラムをＣＰＵが実行することにより実現される。ストレージ制御プログラムは、各ＳＵ＃１，＃２内のＳＴ（ストレージ）に対するアクセスを制御するプログラムである。
【０１４７】
構成管理ＤＢ＃１，＃２は、コンシステンシーグループ管理テーブル７００と、ボリューム管理テーブル７１０と、再配置計画テーブル７２０と、を含む。ここで、コンシステンシーグループ管理テーブル７００は、コンシステンシーグループＧを管理する情報である（図１２参照）。上述したグループ情報は、例えば、コンシステンシーグループ管理テーブル７００に相当する。
【０１４８】
ボリューム管理テーブル７１０は、ボリュームインデックステーブル１５００（図１５参照）と、ミラーボリュームインデックステーブル１６００（図１６参照）と、ボリュームセグメントテーブル１７００（図１７参照）と、を含む。上述した割当情報は、例えば、ボリューム管理テーブル７１０に相当する。
【０１４９】
ボリュームインデックステーブル１５００は、ボリューム（ＶＤＩＳＫ）を管理するテーブルである。ミラーボリュームインデックステーブル１６００は、ミラーボリュームを管理するテーブルである。ボリュームセグメントテーブル１７００は、ボリュームのセグメントを管理するテーブルである。各テーブル７００，１５００，１６００，１７００は、ボリューム番号をインデックスとして関連付けられる。
【０１５０】
また、再配置計画テーブル７２０は、ＶＤＩＳＫを構成する各セグメントをどこへ配置するかを計画した計画後の配置先のストレージ装置（ＳＵ）、ＬＵＮ番号および再配置状況を管理するテーブルである。既に再配置が完了した（もしくは、再配置が不要な）セグメントの再配置状況については「再配置完了（もしくは、再配置不要）」とする。また、現状再配置中のセグメントの再配置状況については「再配置中」とし、今後再配置されるセグメントの再配置状況については「再配置待」とする。
【０１５１】
再配置の一時停止中は、ＰＵ＃１は、再配置計画テーブル７２０を削除することなく保持しておく。再配置が停止された場合は、ＰＵ＃１は、再配置計画テーブル７２０を破棄する。また、再配置の一時停止中にボリューム（ＶＤＩＳＫ）が削除された場合、ＰＵ＃１は、ボリューム管理テーブル７１０のボリュームインデックステーブル１５００から該当レコードを削除するとともに、再配置計画テーブル７２０から該当レコードを削除する。なお、ボリューム管理テーブル７１０と再配置計画テーブル７２０についての詳細な説明は、図１５〜図１８を用いて後述する。
【０１５２】
ＰＵ＃１は、Ｉ／Ｏ制御部＃１と、ＰＵ制御部＃１と、クラスタ制御Ｍと、装置管理ＧＵＩ制御部＃１と、ＰＵ負荷監視部＃１と、ＳＵ制御部＃１と、ボリューム管理Ｍと、ボリューム管理Ａ＃１と、を含む。また、ＰＵ＃１は、コンシステンシーグループ管理テーブル７００と、ボリューム管理テーブル７１０と、再配置計画テーブル７２０と、を有する。
【０１５３】
ＰＵ＃１は、例えば、構成管理ＤＢ＃１（または、構成管理ＤＢ＃２）から、コンシステンシーグループ管理テーブル７００、ボリューム管理テーブル７１０および再配置計画テーブル７２０を読み出して使用する。図５に示した作成部５０２および通信制御部５０３は、例えば、Ｉ／Ｏ制御部＃１、クラスタ制御Ｍ、ＳＵ制御部＃１、ボリューム管理Ｍ、ボリューム管理Ａ＃１等により実現される。
【０１５４】
また、ＰＵ＃２は、Ｉ／Ｏ制御部＃２と、ＰＵ制御部＃２と、クラスタ制御部＃２と、ＰＵ負荷監視部＃２と、ＳＵ制御部＃２と、ボリューム管理Ａ＃２と、を含む。また、ＰＵ＃３は、Ｉ／Ｏ制御部＃３と、ＰＵ制御部＃３と、クラスタ制御部＃３と、ＰＵ負荷監視部＃３と、ＳＵ制御部＃３と、ボリューム管理Ａ＃３と、を含む。
【０１５５】
ここで、Ｉ／Ｏ制御部＃１〜＃３は、業務サーバＢＳからのＩ／Ｏ要求を受け付けて処理する。ＰＵ制御部＃１〜＃３は、各ＰＵ＃１〜＃３を制御する。クラスタ制御Ｍは、ＰＵ同士をクラスタリングする。ここでは、ＰＵ＃１とＰＵ＃２とＰＵ＃３とでクラスタが形成されている。クラスタ制御部＃２，＃３は、クラスタ制御ＭによってクラスタリングされたＰＵ＃１〜＃３を認識する。また、クラスタ制御Ｍは、ストレージ装置間のリモートコピーを制御する。
【０１５６】
装置管理ＧＵＩ制御部＃１は、管理サーバＭＳからの指示に従って、ストレージシステム１００の状態を判断したり、新規ボリュームを作成したりする。ＰＵ負荷監視部＃１〜＃３は、各ＰＵ＃１〜＃３にかかる負荷を監視する。ＳＵ制御部＃１〜＃３は、各ＳＵ＃１，＃２を制御する。
【０１５７】
ボリューム管理Ｍは、ボリューム管理Ａ＃１〜＃３を制御する。具体的には、例えば、ボリューム管理Ｍは、再配置制御スレッドを起動して、ボリューム管理Ａ＃１〜＃３に実行させる。ボリューム管理Ａ＃１〜＃３は、ボリューム管理Ｍの制御に従って、ボリュームを管理する。
【０１５８】
なお、ストレージシステム１００において、ＰＵ＃１がダウンした場合は、例えば、ＰＵ＃２またはＰＵ＃３が、ＰＵ＃１の機能を引き継ぐ。また、業務サーバＢＳ、管理サーバＭＳのハードウェア構成は、例えば、ＣＰＵ、メモリ、磁気ディスクドライブ、磁気ディスク、ディスプレイ、Ｉ／Ｆ、キーボード、マウス等により実現される。
【０１５９】
（コンシステンシーグループ管理テーブル７００の記憶内容）
ここで、コンシステンシーグループ管理テーブル７００の記憶内容について説明する。
【０１６０】
図１２は、コンシステンシーグループ管理テーブル７００の記憶内容の一例を示す説明図である。図１２において、コンシステンシーグループ管理テーブル７００は、エントリ番号、グループ名、ペア数、代表アドレス、コピー元のボリューム番号、コピー先のボリューム番号、チャンク数およびステータスを表す。
【０１６１】
ここで、エントリ番号は、コンシステンシーグループＧのエントリ番号である。グループ名は、コンシステンシーグループＧの名称である。ペア数は、コンシステンシーグループＧに登録されているコピー元のボリュームＰ（ＶＤＩＳＫ）とコピー先のボリュームＳ（ＶＤＩＳＫ）のペアの総数である。代表アドレスは、コピー先のストレージ装置内の代表ＰＵに割り振られたリモートコピー用の論理的なＩＰアドレスである。代表ＰＵおよび代表アドレスは任意に設定可能である。
【０１６２】
コピー元のボリューム番号は、コピー元のボリュームＰの識別子である。コピー先のボリューム番号は、コピー先のボリュームＳの識別子である。チャンク数は、コピー元のデータのうちコピー先への転送が完了したチャンクの数である。ステータスは、コピー元のボリュームＰとコピー先のボリュームＳの状態を示す。ステータスには、例えば、Ａｃｔｉｖｅ、Ｒｅｓｅｒｖｅｄ、Ｈａｌｔ、Ｓｕｓｐｅｎｄ、ＥｒｒｏｒＳｕｓｐｅｎｄ等の状態が設定される。
【０１６３】
Ａｃｔｉｖｅは、リモートコピー中であることを示す状態である。Ｒｅｓｅｒｖｅｄは、リモートコピー用に予約済みであることを示す状態である。Ｈａｌｔは、不慮の事故等により回線異常が発生してリモートコピーが一時停止していることを示す状態である。Ｓｕｓｐｅｎｄは、意図的にリモートコピーを一時停止している状態である。ＥｒｒｏｒＳｕｓｐｅｎｄは、コピー元のデータが壊れていることを示す状態である。
【０１６４】
コンシステンシーグループ管理テーブル７００によれば、例えば、コンシステンシーグループＧ１のグループ名「Ｋａｉｋｅｉ−１」、ペア数「ｎ」および代表アドレス「ｘｘｘｘ」を特定することができる。また、コンシステンシーグループＧ１に属するコピー元のボリュームＰとコピー先のボリュームＳとの対応関係を特定することができる。
【０１６５】
（コンシステンシーグループ管理テーブル７００の更新例）
つぎに、コンシステンシーグループ管理テーブル７００の更新例について説明する。ここでは、ＰＵ＃１が、グループ名「Ｋａｉｋｅｉ−１」のコンシステンシーグループＧ１のグループ作成指示を受け付けた場合のコンシステンシーグループ管理テーブル７００の更新例について説明する。ただし、コンシステンシーグループＧ１に属するボリューム群を、ボリュームＰ１，Ｐ２，Ｓ１，Ｓ２とする。
【０１６６】
図１３および図１４は、コンシステンシーグループ管理テーブル７００の更新例を示す説明図である。図１３に示す（ｉ）において、コンシステンシーグループ管理テーブル７００は、コンシステンシーグループＧが未設定の状態である。
【０１６７】
図１３に示す（ｉｉ）において、ＰＵ＃１は、コンシステンシーグループＧ１のグループ作成指示を受け付けると、コンシステンシーグループ管理テーブル７００に、エントリ番号「１」、グループ名「Ｋａｉｋｅｉ−１」、ペア数「０」および代表アドレス「ｘｘｘｘ」を設定する。グループ名「Ｋａｉｋｅｉ−１」および代表アドレス「ｘｘｘｘ」は、例えば、管理サーバＭＳのユーザによって指定される。代表アドレス「ｘｘｘｘ」は、ＰＵ＃１が、リモートサイト（コピー先のストレージシステムＳＭ）に問い合わせることにしてもよい。
【０１６８】
図１３に示す（ｉｉｉ）において、ＰＵ＃１は、コンシステンシーグループ管理テーブル７００に、リモートコピーを実施するコピー元のボリュームＰ１とコピー先のボリュームＳ１とのペアを登録する。そして、ＰＵ＃１は、ペア数をインクリメントし、ステータスを「Ｒｅｓｅｒｖｅｄ」に設定する。この時点のチャンク数は「０」である。
【０１６９】
図１４に示す（ｉｖ）において、ＰＵ＃１は、コンシステンシーグループ管理テーブル７００に、リモートコピーを実施するコピー元のボリュームＰ２とコピー先のボリュームＳ２とのペアを登録する。そして、ＰＵ＃１は、ペア数をインクリメントし、ステータスを「Ｒｅｓｅｒｖｅ」に設定する。この時点のチャンク数は「０」である。
【０１７０】
図１４に示す（ｖ）において、コピー元のボリュームＰとコピー先のボリュームＳとのセッションを確立すると、ＰＵ＃１は、ステータスを「Ａｃｔｉｖｅ」に設定する。
【０１７１】
図１４に示す（ｖｉ）において、コピー先のストレージ装置へのチャンク単位のデータ転送が完了する度に、ＰＵ＃１は、チャンク数を更新する。
【０１７２】
（ボリューム管理テーブル７１０の記憶内容）
つぎに、図１５〜図１７を用いて、ボリューム管理テーブル７１０の記憶内容について説明する。上述した構成情報は、例えば、ボリューム管理テーブル７１０に相当する。
【０１７３】
図１５は、ボリュームインデックステーブル１５００の記憶内容の一例を示す説明図である。図１５において、ボリュームインデックステーブル１５００は、ボリューム番号、ボリューム名、稼働ＰＵ番号、ボリューム属性、ボリュームサイズ、ボリューム状態および再配置状況のフィールドを有する。各フィールドに情報を設定することで、ボリューム情報１５００−１〜１５００−ｎがレコードとして記憶される。
【０１７４】
ここで、ボリューム番号は、ＶＤＩＳＫの識別子である。ボリューム名は、ＶＤＩＳＫの名称である。稼働ＰＵ番号は、ＶＤＩＳＫが稼働しているＰＵの識別子である。ボリューム属性は、ＶＤＩＳＫの属性である。ボリュームサイズは、業務サーバＢＳからみたＶＤＩＳＫのサイズ（ＧＢ）である。ボリューム状態は、ＶＤＩＳＫにアクセスできるか否かを示す状態である。再配置状況は、ＶＤＩＳＫの再配置状況を示す。
【０１７５】
例えば、ボリューム情報１５００−１は、ＶＤＩＳＫ１のボリューム名「Ｖｄｉｓｋ１」、稼働ＰＵ番号「１」、ボリューム属性「シンプロボリューム」、ボリュームサイズ「５００」、ボリューム状態「正常」および再配置状況「再配置中」を示している。なお、ボリューム情報１５００−ｎのように、ボリューム名が「ＮＵＬＬ」のボリューム情報は、未作成のＶＤＩＳＫの情報である。
【０１７６】
図１６は、ミラーボリュームインデックステーブル１６００の記憶内容の一例を示す説明図である。図１６において、ミラーボリュームインデックステーブル１６００は、ボリューム番号、ミラー数、ミラーボリューム番号１およびミラーボリューム番号２のフィールドを有する。各フィールドに情報を設定することで、ミラーボリューム情報（例えば、ミラーボリューム情報１６００−１，１６００−２）がレコードとして記憶される。
【０１７７】
ここで、ボリューム番号は、ミラーボリュームの識別子である。ミラー数は、ミラーリングするボリュームの数である。ミラーボリューム番号１，２は、ミラーボリュームの実体であるＶＤＩＳＫの識別子である。例えば、ミラーボリューム情報１６００−１は、ＶＤＩＳＫ２のミラー数「２」、ミラーボリューム番号１「１２７」およびミラーボリューム番号２「１２８」を示している。
【０１７８】
図１７は、ボリュームセグメントテーブル１７００の記憶内容の一例を示す説明図である。図１７において、ボリュームセグメントテーブル１７００は、ボリューム番号、セグメントセット番号、セグメント番号、ストレージ装置、ＬＵＮ番号、セグメント状態および再配置状況のフィールドを有する。各フィールドに情報を設定することで、セグメント情報（例えば、セグメント情報１７００−１，１７００−２）がレコードとして記憶される。
【０１７９】
ここで、ボリューム番号は、ＶＤＩＳＫの識別子である。セグメントセット番号は、ＶＤＩＳＫを構成するセグメントセットの識別子である。セグメント番号は、セグメントセットを構成するセグメントの識別子である。ストレージ装置は、セグメントが属するＳＵの識別子である。ＬＵＮ番号は、セグメントが割り当てられたＬＵＮの識別子である。セグメント状態は、セグメントにアクセスできるか否かを示す状態である。再配置状況は、セグメントの再配置状況を示す。
【０１８０】
例えば、セグメント情報１７００−１は、ＶＤＩＳＫ１のセグメントセット１のセグメント１のストレージ装置「１」、ＬＵＮ番号「１」、セグメント状態「有効」および再配置状況「ブランク（空）」を示している。
【０１８１】
（再配置計画テーブル７２０の記憶内容）
つぎに、図１８を用いて、再配置計画テーブル７２０の記憶内容について説明する。
【０１８２】
図１８は、再配置計画テーブル７２０の記憶内容の一例を示す説明図である。図１８において、再配置計画テーブル７２０は、ボリューム番号、セグメントセット番号、セグメント番号、現ストレージ装置、現ＬＵＮ番号、再配置ストレージ装置、再配置ＬＵＮ番号および再配置状況のフィールドを有する。各フィールドに情報を設定することで、再配置計画情報（例えば、再配置計画情報１８００−１〜１８００−５）がレコードとして記憶される。
【０１８３】
ここで、ボリューム番号は、ＶＤＩＳＫの識別子である。セグメントセット番号は、ＶＤＩＳＫを構成するセグメントセットの識別子である。セグメント番号は、セグメントセットを構成するセグメントの識別子である。現ストレージ装置は、再配置前のセグメントが属するＳＵの識別子である。現ＬＵＮ番号は、再配置前のセグメントが割り当てられたＬＵＮの識別子である。再配置ストレージ装置は、再配置後のセグメントが属するＳＵの識別子である。再配置ＬＵＮ番号は、再配置後のセグメントが割り当てられるＬＵＮの識別子である。再配置状況は、セグメントの再配置状況を示す。
【０１８４】
例えば、再配置計画情報１８００−１は、ＶＤＩＳＫ１のセグメントセット１のセグメント１の現ストレージ装置「１」、現ＬＵＮ番号「１」、再配置ストレージ装置「１」、再配置ＬＵＮ番号「１」および再配置状況「再配置不要」を示している。
【０１８５】
（セグメントの割当量ｑの偏りの判定例）
つぎに、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑの偏りの判定例について説明する。割当量ｑに偏りがある状態とは、割当中のセグメントを再配置したほうが望ましい程度にセグメントの割当状況が偏っている状態である。ＰＵ＃１は、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑを監視し、「偏りあり」と検出した場合に、装置管理ＧＵＩ制御部により、偏りが発生している旨を通知する。監視契機としては、例えば、ノードの増設にともなうシステム構成変更時、定期的な監視時間の到来、ＳＵの搭載量の増加時などがある。
【０１８６】
具体的には、例えば、まず、ＰＵ＃１は、ボリューム管理テーブル７１０を参照して、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑを算出する。つぎに、ＰＵ＃１は、ストレージシステムＳＭ内の全ＬＵＮのうち、セグメントの割当量ｑが最大であるＬＵＮの最大割当量ｑmaxとセグメントの割当量ｑが最小であるＬＵＮの最小割当量ｑminとを特定する。
【０１８７】
そして、ＰＵ＃１は、最大割当量ｑmaxと最小割当量ｑminとの差分ｄが、最大割当量ｑmaxの所定の割合α以上、かつ、差分ｄが所定のサイズβ以上である場合に、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑに偏りがあると判定する。所定の割合αおよびサイズβは、任意に設定可能である。割合αは、例えば、５〜１０［％］程度の値に設定される。サイズβは、例えば、６４［ＧＢ］や１２８［ＧＢ］程度の値に設定される。
【０１８８】
なお、各ＬＵＮのセグメントの割当量ｑは、例えば、各ＬＵＮに割り当てられているボリュームのセグメント数から求めることができる。例えば、セグメントの容量を２５６［ＭＢ］とし、あるＬＵＮに割り当てられているセグメント数が「２」の場合、このＬＵＮの割当量ｑは５１２［ＭＢ］となる。セグメントは、所定容量で規定された管理単位の記憶領域であり、ホストからボリュームへの記録再生指示アドレス（ＬＢＡ）等の位置情報で管理される。
【０１８９】
（ボリュームの再配置計画）
つぎに、ボリューム（ＶＤＩＳＫ）の再配置計画について説明する。ＰＵ＃１は、ＳＵを構成するＬＵＮにおけるセグメントの割当量ｑにより再配置計画を立てる。このため、増設されるＳＵの搭載容量が既存のＳＵの搭載容量と異なる場合であっても均等な再配置を行うことができる。
【０１９０】
図１９は、ボリュームの再配置計画例を示す説明図である。図１９の１項に示すように、８．４［ＴＢ］の基本セット（ＳＵ＃１）に、８．４［ＴＢ］の拡張セット（ＳＵ＃２）を増設する場合を想定する。この場合、ＰＵ＃１は、ＳＵ＃１とＳＵ＃２との間で各ＬＵＮのセグメントの割当量ｑが均等になるように分散配置する。
【０１９１】
図１９の２項に示すように、８．４［ＴＢ］の基本セット（ＳＵ＃１）に、１６．８［ＴＢ］の拡張セット（ＳＵ＃２）を増設する場合を想定する。この場合、ＰＵ＃１は、ＳＵ＃１とＳＵ＃２との間で各ＬＵＮのセグメントの割当量ｑが均等になるように分散配置する。
【０１９２】
図１９の３項に示すように、８．４［ＴＢ］の基本セット（ＳＵ＃１）と８．４［ＴＢ］の拡張セット（ＳＵ＃２）に、１６．８［ＴＢ］の拡張セット（ＳＵ＃３）を増設する場合を想定する。この場合、ＰＵ＃１は、ＳＵ＃１とＳＵ＃２とＳＵ＃３との間で各ＬＵＮのセグメントの割当量ｑが均等になるように分散配置する。なお、ここでは、ＰＵとＳＵを１セットとする拡張セットを増設する場合について説明したが、ＳＵのみを拡張セットとして増設することにしてもよい。
【０１９３】
ここで、図２０を用いて、スケールアウトによって増設されるＳＵ＃２に対して、既存のボリュームがどのように再配置されるのかを説明する。ここでは、スケールアウト後に自動で再配置処理が起動される場合について説明するが、管理サーバＭＳのＧＵＩ画面から再配置指示を手動で行うこともできる。
【０１９４】
図２０は、ボリュームの再配置例を示す説明図（その１）である。図２０において、ボリューム１を構成するセグメントＡ０〜Ａ３１と、ボリューム２を構成するセグメントＢ０〜Ｂ１５とがＳＵ＃１に配置されている（図２０中、再配置前）。なお、図２０中、各ＳＵ＃１，＃２内の円柱は、各ＳＵ＃１，＃２内のＬＵＮを表す。
【０１９５】
まず、ＰＵ＃１は、ＳＵ＃１とＳＵ＃２との間で各ＬＵＮのセグメントの割当量ｑが均等になるように再配置計画テーブル７２０を作成する（図２０中、再配置の案）。なお、各セグメントの配置位置は暫定的なものである。
【０１９６】
つぎに、ＰＵ＃１は、再配置計画テーブル７２０を参照して、ボリューム１のセグメントＡ０〜Ａ３１について再配置する。ここでは、ボリューム１のセグメントＡ８〜Ａ１５およびＡ２４〜Ａ３１がＳＵ＃２に再配置されている（図２０中、再配置中）。
【０１９７】
つぎに、ＰＵ＃１は、再配置計画テーブル７２０を参照して、ボリューム２のセグメントＢ０〜Ｂ１５について再配置する。ここでは、ボリューム２のセグメントＢ８〜Ｂ１５がＳＵ＃２に再配置されている（図２０中、再配置後）。これにより、ＳＵ＃１とＳＵ＃２とで物理容量としては均等となる。
【０１９８】
なお、ＬＵＮの使用状況は不連続に見えるが、ボリュームがワイドストライピングされたセグメントで構成されていれば性能面で問題はない。すなわち、ＬＵＮの使用状況の不連続性は性能面に影響しない。このため、不要な移動処理を避ける意味でもセグメントＡ１６〜Ａ２３やセグメントＢ０〜Ｂ７を移動させないほうが、装置として無駄な処理を削減することができる。
【０１９９】
また、各ＰＵや各ＳＵの保守点検等で一時的に再配置処理を止めたい場合のために、ストレージシステムＳＭは、再配置処理の一時停止機能および再開機能を有する。また、ストレージシステムＳＭは、再配置処理の停止機能を有する。ただし、再配置処理を停止すると、一度計画した再配置計画を破棄することになり、再配置を再度実行する際に、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑの偏り判定および再計画テーブル作成の処理が実行されることとなる。
【０２００】
これに対し、一時停止機能を利用した場合は、再配置の一時停止中、ＰＵ＃１は、ボリュームの再配置のために立てた再配置計画を破棄せずに保持しておく。そして、ＰＵ＃１は、再開指示を受けた場合に、ボリューム管理テーブル７１０および再配置計画テーブル７２０を参照して、再開すべきエントリから再配置処理を継続する。これにより、再配置中の一時停止および一時停止からの再開が可能となる。
【０２０１】
（各種テーブル７１０，７２０の更新例）
つぎに、図２１〜図２４を用いて、各種テーブル７１０，７２０の更新例について説明する。
【０２０２】
図２１は、ボリュームの配置例を示す説明図である。図２１において、ＶＤＩＳＫ１を構成するセグメント＃１〜＃１６がＳＵ＃１に配置されている。また、基本ノードＮ１に、ＰＵ＃３とＳＵ＃２をセットとする増設ノードＮ２が増設されている。この場合、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑに偏りが生じるため、ＶＤＩＳＫ１の再配置処理が行われる。
【０２０３】
図２２は、ボリュームインデックステーブル１５００の更新例を示す説明図である。図２２において、基本ノードＮ１に増設ノードＮ２が増設されると、ボリュームインデックステーブル１５００内のボリューム情報２２００−１の再配置状況が「再配置待」から「再配置中」に更新される。
【０２０４】
図２３は、ボリュームセグメントテーブル１７００の更新例を示す説明図である。図２３の（２３−１）において、ボリュームセグメントテーブル１７００には、ボリューム番号「１」のＶＤＩＳＫ１のセグメント情報が記憶されている。セグメントセットを構成する８つのセグメントは、基本的には異なる８つのＬＵＮに連続に配置される（例えば、図２３中、実線枠）。
【０２０５】
ただし、ＶＤＩＳＫ１を作成する前に作成済みのボリュームがあると、そのボリュームに割り当てられていたＬＵＮを削除するタイミングでＶＤＩＳＫ１にＬＵＮが割り当てられる場合がある。この場合、連番でＬＵＮが空いていないと、セグメントセットを構成するセグメントが配置されるＬＵＮが平準化されないことがある（例えば、図２３中、点線枠）。
【０２０６】
図２３の（２３−２）において、ＰＵ＃１のボリューム管理Ｍは、再配置計画テーブル７２０（例えば、後述の図２４参照）が作成されると、ボリュームセグメントテーブル１７００の再配置状況を「再配置処理中」とする。つぎに、ボリューム管理Ｍは、再配置計画テーブル７２０を参照して、再配置状況が「再配置待ち」となっているセグメントについて、各ＰＵ用に再配置制御スレッドを生成し、再配置を実施する。
【０２０７】
各ＰＵの再配置制御スレッドは、再配置すべきセグメントについてボリューム管理Ａに再配置のためのコピー処理を指示する。ボリューム管理Ｍは、ボリューム管理Ａから再配置制御スレッドに対してコピー完了を応答してきたら、再配置計画テーブル７２０の再配置状況を「再配置完了」に変更するとともに、ボリュームセグメントテーブル１７００の再配置状況を「ブランク」に変更する。
【０２０８】
図２４は、再配置計画テーブル７２０の更新例を示す説明図である。図２４の（２４−１）において、ＰＵ＃１は、ＶＤＩＳＫ１のセグメントセット単位ですべてのＳＵに割り付け、かつ、セグメントを割り付ける。また、ＰＵ＃１は、ＬＵＮ番号についても連続ＬＵＮを利用するように割り付けるように計画を立てる。具体的には、例えば、ＰＵ＃１は、偶数セグメントをＳＵ＃２の連続ＬＵＮに割り付けるように計画する。また、ＰＵ＃１は、奇数セグメントをＳＵ＃１の連続ＬＵＮに割り付けるように計画する。
【０２０９】
図２４の（２４−２）において、ＰＵ＃１は、上述したように機械的に再配置計画を立てた後、再配置によるデータ移動のためのコピー処理が少なくなるように再配置計画の見直しを行う。具体的には、例えば、ＰＵ＃１は、現状（現ストレージ装置および現ＬＵＮ番号）と、再配置後（再配置ストレージ装置および再配置ＬＵＮ番号）とをセグメントセット単位で比べる。
【０２１０】
例えば、セグメントセット番号３については、現ＬＵＮ番号と再配置ＬＵＮ番号がすべて不一致であるが、現ＬＵＮ番号を見ると２つのセグメントが同じＬＵＮ番号に割り当たっている以外は、異なるＬＵＮに割り振られている。このため、ＰＵ＃１は、同じＬＵＮに２つのセグメントが割り付けられているものだけをその他のＬＵＮに割り振るように再計画する（ＬＵＮ番号的にはセグメント順ではないが、異なるＬＵＮに割り付けられているならば性能影響はないと判断）。
【０２１１】
再配置すべきセグメントについては、ＰＵ＃１は、再配置状況を「再配置待ち」とし、かつ、ボリュームセグメントテーブル１７００の再配置状況を「再配置処理中」とする。また、再配置不要なセグメントについては、ＰＵ＃１は、再配置計画テーブル７２０の再配置状況を「再配置不要」とする。
【０２１２】
（同一ＳＵ内の再配置計画）
つぎに、同一ＳＵにおいて再配置によるセグメント移動のためのコピー処理が少なくなるようにする再配置計画について説明する。同一ＳＵ内の再配置計画は、例えば、ＳＵ間で各ＬＵＮのセグメントの割当量ｑが均等になるようにするＳＵ間の再配置計画が行われた後に作成される。
【０２１３】
図２５は、ボリュームの再配置例を示す説明図（その２）である。図２５において、あるＳＵ（例えば、ＳＵ＃１）内にセグメントａ〜ｐから構成されるセグメントセットが「再配置前」のように配置されていたとする。この場合、例えば、ＰＵ＃１は、「再配置の案」のように、セグメントの未使用領域（図２５中、白抜き四角）とセグメント移動により空くセグメントを利用してセグメントａ〜ｈを整列させることができる。なお、図２５中、黒塗り四角は、セグメントの使用中領域である。
【０２１４】
ただし、セグメントａ〜ｄおよびセグメントｅ〜ｇが互いに異なるＲＡＩＤグループに配置されているので、セグメントｈだけを別のＲＡＩＤグループに移動すればＩＯアクセス性能の観点からは十分改善される。このため、ＰＵ＃１は、セグメントｈだけを移動させる再配置計画を立てる。
【０２１５】
この結果、「再配置後」のように、セグメントｈだけが別のＬＵＮに移動されて、ＬＵＮ間で均等になる。このように、同一ＳＵにおいて再配置によるセグメント移動のためのコピー処理が少なくなるようにする再配置計画を立てることにより、余分なセグメントの移動を抑えつつ、アクセス性能を向上させることができる。また、再配置のためにＰＵ／ＳＵ間のアクセスも削減することができる。
【０２１６】
（再配置処理の具体的処理内容）
つぎに、ボリュームの再配置処理の具体的な処理内容の一例について説明する。各ＰＵは、再配置処理によるセグメント移動による内部的な回線帯域の使用、および各ＰＵのＣＰＵ負荷の影響により業務の運用に支障が出ないように、再配置処理を制御する。
【０２１７】
具体的には、例えば、ＰＵ（例えば、ＰＵ＃１）は、業務サーバＢＳからの１秒当たりのアクセス数（ＩＯＰＳ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｐｅｒ  Ｓｅｃｏｎｄ）が、ＰＵが処理できる最大ＩＯＰＳに達しているか否かを判断する。ここで、業務サーバＢＳからのＩＯＰＳが最大ＩＯＰＳに達している場合、ＰＵは、再配置処理をせず業務ＩＯを優先させる。
【０２１８】
一方、業務サーバＢＳからのＩＯＰＳが最大ＩＯＰＳに達していない場合は、ＰＵは、空きのＩＯＰＳ分を利用して再配置処理を行う。なお、空きのＩＯＰＳとは、最大ＩＯＰＳから現ＩＯＰＳを引いたものである。これにより、業務停止することなく、また、業務への影響を最小限に抑えつつボリュームの再配置を行うことができる。
【０２１９】
ただし、再配置処理の実行によるＰＵ／ＳＵ間の帯域利用およびＰＵのＣＰＵ負荷が増大することにより、業務ＩＯのＩＯＰＳが減少することが考えられる。そこで、ＰＵは、現ＩＯＰＳとＰＵの最大ＩＯＰＳの差分だけをみるのではなく、再配置処理により現ＩＯＰＳの減少率が所定の割合（例えば、１５［％］）を超える場合には、再配置処理を間引くことにより業務のＩＯＰＳを維持できるようにしてもよい。
【０２２０】
具体的には、例えば、ＰＵは、以下のように、現ＩＯＰＳが最大ＩＯＰＳの９５％以上である場合は再配置処理を抑止するために処理中にスリープ（例えば、１〜５［秒］程度待つ）を入れることにしてもよい。なお、ｘは、ＰＵの最大ＩＯＰＳであり、ｙは、現ＩＯＰＳである。また、ＰＵの最大ＩＯＰＳは、予め設定されている。
【０２２１】
０．９５ｘ≦ｙ  ・・・再配置処理をスリープさせる
０．９５ｘ＞ｙ  ・・・再配置処理を稼働させる
【０２２２】
また、ＰＵは、再配置を稼働させたことにより、「０．８５（直前ｙ）≦（現ｙ）」となった場合も、例えば、再配置処理中にスリープを入れることにより業務への影響を抑える。なお、「直前ｙ」は、例えば、再配置処理直前の現ＩＯＰＳである。
【０２２３】
（ストレージシステムＳＭの各種処理手順）
つぎに、ストレージシステムＳＭの各種処理手順について説明する。まず、ストレージシステムＳＭのリモートコピー処理手順について説明する。ここでは、ストレージシステムＳＭの基本ノードＮ１（以下、「ローカルサイト」と称する）と、他のストレージシステムＳＭの基本ノードＮ１（以下、「リモートサイト」と称する）との間のリモートコピーを例に挙げて説明する。
【０２２４】
＜リモートコピー処理手順＞
図２６〜図２９は、ストレージシステムＳＭ間のリモートコピー処理手順の一例を示すシーケンス図である。図２６のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、ユーザの操作入力により、リモートコピーの準備を行う（ステップＳ２６０１）。具体的には、例えば、装置管理ＧＵＩは、コンシステンシーグループＧのグループ名、ペア数、代表アドレスおよび代表アドレスを割り振るＰＵ番号等の指定を受け付ける。そして、装置管理ＧＵＩは、ローカルサイトのＰＵ＃１の装置管理ＧＵＩ管理部＃１に、コンシステンシーグループＧの作成指示を通知する。
【０２２５】
そして、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、管理サーバＭＳの装置管理ＧＵＩからのグループ作成指示を受け付けると、コンシステンシーグループＧを作成する（ステップＳ２６０２）。具体的には、例えば、クラスタ制御Ｍは、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｉｉ）参照）。
【０２２６】
つぎに、管理サーバＭＳの装置管理ＧＵＩは、ユーザの操作入力により、コンシステンシーグループＧに属するコピー元のボリュームＰとコピー先のボリュームＳのペアを設定する（ステップＳ２６０３）。具体的には、例えば、装置管理ＧＵＩは、コピー元のボリュームＰのボリューム番号とコピー先のボリュームＳのボリューム番号を受け付ける。
【０２２７】
そして、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、コピー元のボリュームＰとコピー先のボリュームＳをコンシステンシーグループＧに登録する（ステップＳ２６０４）。具体的には、例えば、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、コピー元のボリュームＰをリモートコピー対象にするとともに、リモートサイトのＰＵ＃１のクラスタ制御Ｍと通信して、コピー先のボリュームＳをリモートコピー対象にする。そして、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｉｉｉ）参照）。ステップＳ２６０３およびステップＳ２６０４は、コンシステンシーグループＧに登録するペア数分だけ繰り返す。
【０２２８】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、ローカルサイトのＰＵ＃１のクラスタ制御Ｍの初期化指示に応じて、コピー先のボリュームＳの初期設定を行う（ステップＳ２６０５）。なお、リモートサイトのＰＵ＃１は、ローカルサイト内のコピー先のＰＵ（ＰＵ＃１，＃２のいずれか一方のＰＵ）と通信する。
【０２２９】
図２７のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、ユーザの操作入力により、コンシステンシーグループＧのリモートコピーを起動する（ステップＳ２７０１）。そして、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、ローカルサイトのＰＵ＃１のクラスタ制御Ｍのセッション状態設定指示に応じて、コピー元のボリュームＰとコピー先のボリュームＳのセッション状態（ステータス）をＡｃｔｉｖｅに変更する（ステップＳ２７０２）。この際、ローカルサイトのＰＵ＃１は、リモートサイト内のコピー先のＰＵ（ＰＵ＃１，＃２のいずれか一方のＰＵ）だけと通信する。
【０２３０】
そして、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｖ）参照）。同様に、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｖ）参照）。
【０２３１】
また、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、ローカルサイトのＰＵ＃１のクラスタ制御Ｍのセッション状態設定指示に応じて、コピー元のボリュームＰとコピー先のボリュームＳのセッション状態をＡｃｔｉｖｅに変更する（ステップＳ２７０３）。この際、ローカルサイトのＰＵ＃２は、リモートサイト内のコピー先のＰＵ（ＰＵ＃１，＃２のいずれか一方のＰＵ）だけと通信する。
【０２３２】
そして、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｖ）参照）。同様に、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、構成管理ＤＢ＃１内のコンシステンシーグループ管理テーブル７００を更新する（例えば、図１３（ｖ）参照）。
【０２３３】
図２８のシーケンス図において、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃１のボリューム管理Ｍに、コピー元のボリュームＰのスナップショットの作成指示を通知する（ステップＳ２８０１）。この結果、ローカルサイトのＰＵ＃１のボリューム管理Ｍは、コンシステンシーグループ管理テーブル７００を参照して、ローカルサイトのＰＵ＃１，＃２のボリューム管理Ａ＃１，＃２に、コピー元のボリュームＰのスナップショットの作成指示を通知する。
【０２３４】
そして、ローカルサイトのＰＵ＃１，＃２のボリューム管理Ａ＃１，＃２は、コピー元のボリュームＰのスナップショットを作成する（ステップＳ２８０２）。この結果、ローカルサイトのＰＵ＃１のボリューム管理Ｍは、スナップショット作成に伴う構成管理ＤＢ＃１の更新を行う。
【０２３５】
つぎに、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１に、コピー元のボリュームＰのデータ転送処理指示を通知する（ステップＳ２８０３）。初回（時点ｔ１）のデータ転送処理指示は、時点ｔ１のコピー元のボリュームＰのスナップショットのデータを、コピー先のＰＵ（リモートサイトのＰＵ＃１またはＰＵ＃２）に転送するよう指示するものである。２回目以降（時点ｔｐ）のデータ転送処理指示は、時点ｔｐのコピー元のボリュームＰの差分データ、すなわち、ボリュームＰの差分格納領域Ａ（ｔ（ｐ−１））のデータを、コピー先のＰＵ（リモートサイトのＰＵ＃１またはＰＵ＃２）に転送するよう指示するものである。
【０２３６】
そして、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、データ転送処理指示に応じて、ＳＵ＃１から転送データを読み出して（ステップＳ２８０４）、コピー先のＰＵ（リモートサイトのＰＵ＃１またはＰＵ＃２）に転送する（ステップＳ２８０５）。ステップＳ２８０４およびステップＳ２８０５は、転送データ分繰り返す。
【０２３７】
つぎに、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１から転送データを受信したことに応じて、受信した転送データをＳＵ＃１に格納する（ステップＳ２８０６）。
【０２３８】
具体的には、例えば、初回（時点ｔ１）のデータ転送処理時は、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、時点ｔ１のコピー元のボリュームＰのスナップショットのデータを、コピー先のボリュームＳｋに格納するまた、２回目以降（時点ｔｐ）のデータ転送処理時は、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、時点ｔｐのコピー元のボリュームＰｋの差分データを、ボリュームＳの差分格納領域Ａ’（ｔ（ｐ−１））に格納する。
【０２３９】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、Ｉ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）からデータ転送完了通知を受け付けたことに応じて、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）に、転送データをスナップショットとして構築指示を通知する（ステップＳ２８０７）。
【０２４０】
そして、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）は、コピー先のボリュームＳのスナップショットを作成する（ステップＳ２８０８）。
【０２４１】
図２９のシーケンス図において、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２に、コピー元のボリュームＰのデータ転送処理指示を通知する（ステップＳ２９０１）。
【０２４２】
そして、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃２は、データ転送処理指示に応じて、ＳＵ＃１から転送データを読み出して（ステップＳ２９０２）、コピー先のＰＵ（リモートサイトのＰＵ＃１またはＰＵ＃２）に転送する（ステップＳ２９０３）。ステップＳ２９０２およびステップＳ２９０３は、転送データ分繰り返す。
【０２４３】
つぎに、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃２から転送データを受信したことに応じて、受信した転送データをＳＵ＃１に格納する（ステップＳ２９０４）。
【０２４４】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、Ｉ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）からデータ転送完了通知を受け付けたことに応じて、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）に、転送データをスナップショットとして構築指示を通知する（ステップＳ２９０５）。
【０２４５】
そして、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）は、コピー先のボリュームＳのスナップショットを作成する（ステップＳ２９０６）。
【０２４６】
以降、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、コンシステンシーを保障するための時間間隔ごとに、ローカルサイトのＰＵ＃１のボリューム管理Ｍに、コピー元のボリュームＰのスナップショットの作成指示を通知する。この結果、図２８に示したステップＳ２８０１〜Ｓ２８０８および図２９に示したステップＳ２９０１〜Ｓ２９０６の処理が、コンシステンシーを保障するための時間間隔ごとに繰り返される。
【０２４７】
これにより、定期的にコンシステンシーグループＧに属するボリュームＰ１〜ＰＫのスナップショットを同時に取ることができ、一定時間間隔ごとのボリューム間でのデータの書込順序の一貫性を保つことができる。
【０２４８】
＜フェイルオーバ時のリモートコピー処理手順＞
つぎに、ストレージシステムＳＭ間のリモートコピーの実施中にコピー先のボリュームＳがフェイルオーバした場合のリモートコピー処理手順について説明する。ここでは、リモートサイトのＰＵ＃１がダウンして、リモートサイトのＰＵ＃２にフェイルオーバした場合を例に挙げて説明する。
【０２４９】
図３０および図３１は、ストレージシステムＳＭ間のフェイルオーバ時のリモートコピー処理手順の一例を示すシーケンス図である。図３０のシーケンス図において、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃１のボリューム管理Ｍに、コピー元のボリュームＰのスナップショットの作成指示を通知する（ステップＳ３００１）。
【０２５０】
そして、ローカルサイトのＰＵ＃１，＃２のボリューム管理Ａ＃１，＃２は、コピー元のボリュームＰのスナップショットを作成する（ステップＳ３００２）。つぎに、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１に、コピー元のボリュームＰのデータ転送処理指示を通知する（ステップＳ３００３）。
【０２５１】
そして、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、データ転送処理指示に応じて、ＳＵ＃１から転送データを読み出して（ステップＳ３００４）、コピー先のＰＵ（リモートサイトのＰＵ＃１またはＰＵ＃２）に転送する（ステップＳ３００５）。ステップＳ３００４およびステップＳ３００５は、転送データ分繰り返す。
【０２５２】
つぎに、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）は、ローカルサイトのＰＵ＃１のＩ／Ｏ制御部＃１から転送データを受信したことに応じて、受信した転送データをＳＵ＃１に格納する（ステップＳ３００６）。
【０２５３】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、ＰＵ＃１のＩ／Ｏ制御部＃１（または、ＰＵ＃２のＩ／Ｏ制御部＃２）からデータ転送完了通知を受け付けたことに応じて、ＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）に、転送データをスナップショットとして構築指示を通知する（ステップＳ３００７）。
【０２５４】
そして、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１（または、ＰＵ＃２のボリューム管理Ａ＃２）は、コピー先のボリュームＳのスナップショットを作成する（ステップＳ３００８）。
【０２５５】
ここで、リモートサイトのＰＵ＃２がダウン（または、コピー先のボリュームＳがＰＵ＃２上に存在しない）した場合を想定する。
【０２５６】
図３１のシーケンス図において、ローカルサイトのＰＵ＃１のクラスタ制御Ｍは、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２に、コピー元のボリュームＰのデータ転送処理指示を通知する（ステップＳ３１０１）。
【０２５７】
・リモートサイトのＰＵ＃１に転送する場合
ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、データ転送処理指示に応じて、ＳＵ＃１から転送データを読み出して（ステップＳ３１０２）、コピー先であるリモートサイトのＰＵ＃１に転送する（ステップＳ３１０３）。
【０２５８】
つぎに、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２から転送データを受信したことに応じて、受信した転送データをＳＵ＃１に格納する（ステップＳ３１０４）。
【０２５９】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、Ｉ／Ｏ制御部＃１からデータ転送完了通知を受け付けたことに応じて、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１に、転送データをスナップショットとして構築指示を通知する（ステップＳ３１０５）。そして、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１は、コピー先のボリュームＳのスナップショットを作成する（ステップＳ３１０６）。
【０２６０】
・リモートサイトのＰＵ＃２に転送する場合
ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、データ転送処理指示に応じて、ＳＵ＃１から転送データを読み出して（ステップＳ３１０２）、コピー先であるリモートサイトのＰＵ＃２に転送する（ステップＳ３１０３）。
【０２６１】
ここで、リモートサイトのＰＵ＃２との通信が不能の場合、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、コンシステンシーグループ管理テーブル７００に登録された代表アドレスを用いて、代表ＰＵ（ここでは、ＰＵ＃１）に、コピー先のボリュームＳの移動先のＰＵを問い合わせる（ステップＳ３１０７）。
【０２６２】
リモートサイトの代表ＰＵ（ＰＵ＃１）のクラスタ制御Ｍは、移動先のＰＵの問い合わせを受け受けたことに応じて、コピー先のボリュームＳの移動先のＰＵ＃１を通知する（ステップＳ３１０８）。なお、コピー先のボリュームＳの移動先のＰＵは、代表ＰＵが管理している。
【０２６３】
そして、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２は、リモートサイトの代表ＰＵ（ＰＵ＃１）から通知された移動先のＰＵ＃１に、ＳＵ＃１から読み出した転送データを転送する（ステップＳ３１０９）。
【０２６４】
つぎに、リモートサイトのＰＵ＃１のＩ／Ｏ制御部＃１は、ローカルサイトのＰＵ＃２のＩ／Ｏ制御部＃２から転送データを受信したことに応じて、受信した転送データをＳＵ＃１に格納する（ステップＳ３１１０）。
【０２６５】
つぎに、リモートサイトのＰＵ＃１のボリューム管理Ｍは、Ｉ／Ｏ制御部＃１からデータ転送完了通知を受け付けたことに応じて、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１に、転送データをスナップショットとして構築指示を通知する（ステップＳ３１１１）。そして、リモートサイトのＰＵ＃１のボリューム管理Ａ＃１は、コピー先のボリュームＳのスナップショットを作成する（ステップＳ３１１２）。
【０２６６】
これにより、コピー元・コピー先のセッション関係が切れた際に、コピー先のストレージ装置１０２内の個々のＰＵに対して問い合わせを行うことなく、接続先のＰＵを効率的に探すことができる。
【０２６７】
＜ノード増設処理手順＞
つぎに、ストレージシステムＳＭのノード増設処理手順について説明する。ここでは、基本ノードＮ１に増設ノードＮ２を追加する場合を例に挙げて、ストレージシステムＳＭのノード増設処理手順について説明する。
【０２６８】
図３２および図３３は、ストレージシステムＳＭのノード増設処理手順の一例を示すシーケンス図である。図３２のシーケンス図において、ＣＥ（Ｃｕｓｔｏｍｅｒ  Ｅｎｇｉｎｅｅｒ）は、基本ノードＮ１に増設ノードＮ２を物理的に接続し、ＳＵ＃２の電源を投入する（ステップＳ３２０１）。
【０２６９】
クラスタ制御Ｍは、ＳＵ＃２の増設を検出する（ステップＳ３２０２）。クラスタ制御Ｍは、装置管理ＧＵＩ制御部＃１にＳＵ＃２の増設検出を通知する（ステップＳ３２０３）。装置管理ＧＵＩ制御部＃１は、ＳＵ増設検出事象を管理サーバＭＳのＧＵＩに出力する（ステップＳ３２０４）。
【０２７０】
クラスタ制御Ｍは、ＳＵ＃２のストレージ制御部＃２に対して、新たな管理用ＩＰアドレスの割り付けを指示する（ステップＳ３２０５）。ＳＵ＃２のストレージ制御部＃２は、管理用ＩＰアドレスを指示された値に設定する（ステップＳ３２０６）。クラスタ制御Ｍは、ＰＵ＃１のＳＵ制御部＃１とＰＵ＃２のＳＵ制御部＃２にＳＵ＃２への接続を指示する（ステップＳ３２０７）。
【０２７１】
ＳＵ制御部＃１は、ＳＵ＃２の管理ＤＢ用のＬＵＮおよびユーザデータ用のＬＵＮを検出する（ステップＳ３２０８）。ＳＵ制御部＃２は、ＳＵ＃２の管理ＤＢ用のＬＵＮおよびユーザデータ用のＬＵＮを検出する（ステップＳ３２０９）。ＳＵ制御部＃１は、検出したＬＵＮに対してログイン処理を行う（ステップＳ３２１０）。ＳＵ制御部＃２は、検出したＬＵＮに対してログイン処理を行う（ステップＳ３２１１）。
【０２７２】
ＳＵ制御部＃１は、ＳＵ＃２との接続完了をクラスタ制御Ｍに通知する（ステップＳ３２１２）。ＳＵ制御部＃２は、ＳＵ＃２との接続完了をクラスタ制御Ｍに通知する（ステップＳ３２１３）。クラスタ制御Ｍは、装置管理ＧＵＩ制御部＃１にＳＵ＃２の追加完了を通知する（ステップＳ３２１４）。装置管理ＧＵＩ制御部＃１は、ＳＵ追加完了事象を管理サーバＭＳのＧＵＩに出力する（ステップＳ３２１５）。
【０２７３】
ＣＥは、増設ノードＮ２のＰＵ＃３の電源を投入する（ステップＳ３２１６）。クラスタ制御Ｍは、ＰＵ＃３の増設を検出すると、装置管理ＧＵＩ制御部＃１にＰＵ＃３の増設検出を通知する（ステップＳ３２１７）。装置管理ＧＵＩ制御部＃１は、ＰＵ検出事象を管理サーバＭＳのＧＵＩに出力する（ステップＳ３２１８）。
【０２７４】
図３３のシーケンス図において、クラスタ制御Ｍは、検出したＰＵ＃３のＩＰアドレスの設定をＰＵ制御部＃３に指示する（ステップＳ３２１９）。ＰＵ制御部＃３は、ＩＰアドレスを管理用ＩＰアドレスに変更する（ステップＳ３２２０）。クラスタ制御Ｍは、ＰＵ＃３のＳＵ制御部＃３にＳＵ＃１およびＳＵ＃２への接続を指示する（ステップＳ３２２１）。
【０２７５】
ＳＵ制御部＃３は、ＳＵ＃１の管理ＤＢ用のＬＵＮおよびユーザデータ用のＬＵＮを検出する（ステップＳ３２２２）。ＳＵ制御部＃３は、検出したＬＵＮに対してログイン処理を行う（ステップＳ３２２３）。ＳＵ制御部＃３は、ＳＵ＃２の管理ＤＢ用のＬＵＮおよびユーザデータ用のＬＵＮを検出する（ステップＳ３２２４）。
【０２７６】
ＳＵ制御部＃３は、検出したＬＵＮに対してログイン処理を行う（ステップＳ３２２５）。ＳＵ制御部＃３は、ＳＵ＃１およびＳＵ＃２との接続完了をクラスタ制御Ｍに通知する（ステップＳ３２２６）。クラスタ制御Ｍは、ＰＵ＃２のクラスタ制御部＃２およびＰＵ＃３のクラスタ制御部＃３に対してクラスタ変更を指示する（ステップＳ３２２７）。
【０２７７】
クラスタ制御Ｍは、ＰＵ＃３をクラスタ管理情報に組み込むことにより、クラスタ構成をＰＵ＃１，＃２，＃３に更新する（ステップＳ３２２８）。クラスタ制御部＃２は、ＰＵ＃３をクラスタ管理情報に組み込むことにより、クラスタ構成をＰＵ＃１，＃２，＃３に更新する（ステップＳ３２２９）。クラスタ制御部＃３は、ＰＵ＃３をクラスタ管理情報に組み込むことにより、クラスタ構成をＰＵ＃１，＃２，＃３に更新する（ステップＳ３２３０）。
【０２７８】
クラスタ制御Ｍは、装置管理ＧＵＩ制御部＃１にＰＵ＃３の追加完了を通知する（ステップＳ３２３１）。装置管理ＧＵＩ制御部＃１は、ＰＵ追加完了事象を管理サーバＭＳのＧＵＩに出力する（ステップＳ３２３２）。装置管理ＧＵＩ制御部＃１は、スケールアウトボタンを管理サーバＭＳのＧＵＩに出力する（ステップＳ３２３３）。
【０２７９】
利用者が、接続および内部的な装置組み込みが完了したことを了承する意味で、管理サーバＭＳのＧＵＩ上の「スケールアウトボタン」をクリックすると増設処理が完了する。スケールアウトの完了指示により、ストレージシステムＳＭとしてのストレージ容量はＳＵ＃２の分だけ増加し、ＳＵ＃２上にも新たなデータを格納できるようになる。
【０２８０】
＜再配置処理手順＞
つぎに、ストレージシステムＳＭの再配置処理手順について説明する。再配置処理は、例えば、ストレージシステムＳＭのスケールアウト完了後、または管理サーバＭＳのＧＵＩ画面から再配置指示を行った場合に実行される。
【０２８１】
図３４〜図３７は、ストレージシステムＳＭの再配置処理手順の一例を示すシーケンス図である。図３４のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、スケールアウト指示または再配置指示をＰＵ＃１の装置管理ＧＵＩ制御部＃１に通知する（ステップＳ３４０１）。スケールアウト指示は、例えば、ＧＵＩ画面上の「スケールアウトボタン」がクリックされると通知される。また、再配置指示は、例えば、ＧＵＩ画面上の「再配置ボタン」がクリックされると通知される。
【０２８２】
ＰＵ＃１の装置管理ＧＵＩ制御部＃１は、スケールアウト指示を受け付けたか否かを判断する（ステップＳ３４０２）。ここで、スケールアウト指示を受け付けた場合（ステップＳ３４０２：Ｙｅｓ）、装置管理ＧＵＩ制御部＃１からボリューム管理Ｍにスケールアウト指示が通知され、ボリューム管理Ｍは、追加されたＳＵ＃２の容量分をストレージシステムＳＭ全体の容量に加えて、ＳＵ＃２の領域も利用できる状態にする（ステップＳ３４０３）。
【０２８３】
一方、再配置指示を受け付けた場合（ステップＳ３４０２：Ｎｏ）、装置管理ＧＵＩ制御部＃１は、ボリューム管理Ｍに再配置指示を通知する（ステップＳ３４０４）。ボリューム管理Ｍは、構成管理ＤＢからボリューム管理テーブル７１０を読み出す（ステップＳ３４０５）。
【０２８４】
図３５のシーケンス図において、ボリューム管理Ｍは、ボリューム管理テーブル７１０を参照して、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑを算出する（ステップＳ３４０６）。ボリューム管理Ｍは、算出した各ＬＵＮのセグメントの割当量ｑに基づいて、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑに偏りがあるか否かを判断する（ステップＳ３４０７）。
【０２８５】
ここで、偏りがない場合（ステップＳ３４０７：Ｎｏ）、ボリューム管理Ｍは、図３７のステップＳ３４１９に移行する。一方、偏りがある場合（ステップＳ３４０７：Ｙｅｓ）、ボリューム管理Ｍは、再配置計画を立てて再配置計画テーブル７２０を作成する（ステップＳ３４０８）。この際、ボリューム管理Ｍは、再配置すべきセグメントについて、再配置計画テーブル７２０の再配置状況を「再配置待ち」にするとともに、ボリュームセグメントテーブル１７００の再配置状況を「再配置処理中」にする。
【０２８６】
ボリューム管理Ｍは、再配置計画テーブル７２０を参照して、各ＰＵ＃１，＃２，＃３の再配置制御スレッドを生成する（ステップＳ３４０９）。各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、ボリューム管理Ｍから指示されたボリュームの再配置をセグメント単位で各ＰＵ＃１，＃２，＃３のボリューム管理Ａ＃１，＃２，＃３に指示する（ステップＳ３４１０）。
【０２８７】
具体的には、例えば、各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、各ＰＵ＃１，＃２，＃３のボリューム管理Ａ＃１，＃２，＃３に再配置すべきディスク情報（ディスクを特定するための情報、移動すべきセグメント）および移動先の情報を通知する。
【０２８８】
図３６のシーケンス図において、各ボリューム管理Ａ＃１，＃２，＃３は、業務ＩＯの現ＩＯＰＳが最大ＩＯＰＳの９５％以上か否かを判断する（ステップＳ３４１１）。ここで、現ＩＯＰＳが最大ＩＯＰＳの９５％以上の場合（ステップＳ３４１１：Ｙｅｓ）、各ボリューム管理Ａ＃１，＃２，＃３は、一定時間スリープして（ステップＳ３４１２）、ステップＳ３４１１に戻る。
【０２８９】
一方、現ＩＯＰＳが最大ＩＯＰＳの９５％未満の場合（ステップＳ３４１１：Ｎｏ）、各ボリューム管理Ａ＃１，＃２，＃３は、指示に従ってセグメントのコピーを行うことにより、指示されたセグメントを更新する（ステップＳ３４１３）。
【０２９０】
各ボリューム管理Ａ＃１，＃２，＃３は、業務ＩＯのＩＯＰＳが１５％ダウンしたか否かを判断する（ステップＳ３４１４）。ここで、１５％ダウンした場合（ステップＳ３４１４：Ｙｅｓ）、各ボリューム管理Ａ＃１，＃２，＃３は、一定時間スリープして（ステップＳ３４１５）、ステップＳ３４１４に戻る。
【０２９１】
一方、１５％ダウンしていない場合（ステップＳ３４１４：Ｎｏ）、各ボリューム管理Ａ＃１，＃２，＃３は、指示を依頼してきた各ＰＵ＃１，＃２，＃３の再配置制御スレッドに対してコピー完了を通知する（ステップＳ３４１６）。なお、コピー完了の通知を受けた再配置制御スレッドは、コピー完了したセグメントについて、再配置計画テーブル７２０の再配置状況を「再配置完了」にするとともに、ボリュームセグメントテーブル１７００の再配置状況をブランクにする。
【０２９２】
図３７のシーケンス図において、各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、再配置計画テーブル７２０を参照して、再配置していない残セグメントがあるか否かを判断する（ステップＳ３４１７）。ここで、残セグメントがある場合（ステップＳ３４１７：Ｙｅｓ）、各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、図３５に示したステップＳ３４１０に戻る。
【０２９３】
一方、残セグメントがない場合（ステップＳ３４１７：Ｎｏ）、各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、ボリュームの再配置完了をボリューム管理Ｍに通知する。ボリューム管理Ｍは、再配置計画テーブル７２０を参照して、未処理のボリュームがあるか否かを判断する（ステップＳ３４１８）。
【０２９４】
ここで、未処理のボリュームがある場合（ステップＳ３４１８：Ｙｅｓ）、ボリューム管理Ｍは、図３５に示したステップＳ３４０９に戻る。一方、未処理のボリュームがない場合（ステップＳ３４１８：Ｎｏ）、ボリューム管理Ｍは、再配置指示を契機として動作したか否かを判断する（ステップＳ３４１９）。
【０２９５】
ここで、再配置指示を契機として動作した場合（ステップＳ３４１９：Ｙｅｓ）、ストレージシステムＳＭは一連の処理を終了する。一方、スケールアウト指示を契機として動作した場合（ステップＳ３４１９：Ｎｏ）、ボリューム管理Ｍは、一定時間スリープして（ステップＳ３４２０）、図３４に示したステップＳ３４０５に戻る。
【０２９６】
これにより、ＳＵ間で各ＬＵＮのセグメントの割当量ｑが均等になるようにボリュームの再配置を行うことができる。また、スケールアウト指示を契機として動作した場合には、ストレージシステムＳＭ内の各ＬＵＮのセグメントの割当量ｑに偏りがあるか否かを定期的に判断してボリュームの再配置を行うことができる。
【０２９７】
＜再配置停止処理手順＞
つぎに、ストレージシステムＳＭの再配置停止処理手順について説明する。まず、管理サーバＭＳのユーザにより再配置処理の停止指示が行われる場合の再配置停止処理手順について説明する。
【０２９８】
図３８は、ストレージシステムＳＭの第１再配置停止処理手順の一例を示すシーケンス図である。図３８のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、再配置処理の停止指示を受け付けた場合、再配置処理の停止指示をＰＵ＃１の装置管理ＧＵＩ制御部＃１に通知する（ステップＳ３８０１）。
【０２９９】
装置管理ＧＵＩ制御部＃１は、再配置処理の停止指示を受け付けた場合、再配置処理の停止指示をボリューム管理Ｍに通知する（ステップＳ３８０２）。ボリューム管理Ｍは、ボリューム管理テーブル７１０および再配置計画テーブル７２０の再配置状況を「再配置済」に変更する（ステップＳ３８０３）。
【０３００】
ボリューム管理Ｍは、再配置処理を実施中の各ＰＵ＃１，＃２，＃３の再配置制御スレッドに対して再配置処理の停止指示を通知する（ステップＳ３８０４）。各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、仕掛け中の再配置処理を中止する（ステップＳ３８０５）。ボリューム管理Ｍは、再配置計画テーブル７２０を破棄して（ステップＳ３８０６）、ストレージシステムＳＭは一連の処理を終了する。これにより、管理サーバＭＳのユーザにより、実施中の再配置処理を任意のタイミングで停止することができる。
【０３０１】
つぎに、再配置の停止事象が発生した場合のストレージシステムＳＭの再配置停止処理手順について説明する。再配置の停止事象としては、例えば、新たなスケールアウトが実施された場合、ＲＡＩＤグループが閉塞した場合、ＳＵにおけるＬＵＮが削除された場合などがある。
【０３０２】
図３９は、ストレージシステムＳＭの第２再配置停止処理手順の一例を示すシーケンス図である。図３９のシーケンス図において、ボリューム管理Ｍは、再配置の停止事象が発生した場合、ボリューム管理テーブル７１０および再配置計画テーブル７２０の再配置状況を「再配置済」に変更する（ステップＳ３９０１）。
【０３０３】
ボリューム管理Ｍは、再配置処理を実施中の各ＰＵ＃１，＃２，＃３の再配置制御スレッドに対して再配置処理の停止指示を通知する（ステップＳ３９０２）。各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、仕掛け中の再配置処理を中止する（ステップＳ３９０３）。ボリューム管理Ｍは、再配置計画テーブル７２０を破棄して（ステップＳ３９０４）、ストレージシステムＳＭは一連の処理を終了する。これにより、再配置の停止事象が発生した場合に、実施中の再配置処理を停止することができる。
【０３０４】
＜再配置一時停止処理手順＞
つぎに、ストレージシステムＳＭの再配置一時停止処理手順について説明する。再配置一時停止処理は、例えば、各ＰＵや各ＳＵの保守点検等で一時的に再配置処理を止めたい場合に行われる。
【０３０５】
図４０は、ストレージシステムＳＭの再配置一時停止処理手順の一例を示すシーケンス図である。図４０のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、再配置処理の一時停止指示を受け付けた場合、再配置処理の一時停止指示をＰＵ＃１の装置管理ＧＵＩ制御部＃１に通知する（ステップＳ４００１）。
【０３０６】
装置管理ＧＵＩ制御部＃１は、再配置処理の一時停止指示を受け付けた場合、再配置処理の一時停止指示をボリューム管理Ｍに通知する（ステップＳ４００２）。ボリューム管理Ｍは、ボリューム管理テーブル７１０および再配置計画テーブル７２０の再配置状況が「再配置中」のエントリについて、再配置状況を「一時停止」に変更する（ステップＳ４００３）。
【０３０７】
ボリューム管理Ｍは、再配置処理を実施中の各ＰＵ＃１，＃２，＃３の再配置制御スレッドに対して再配置処理の停止指示を通知する（ステップＳ４００４）。各ＰＵ＃１，＃２，＃３の再配置制御スレッドは、仕掛け中の再配置処理を中止して（ステップＳ４００５）、ストレージシステムＳＭは一連の処理を終了する。これにより、管理サーバＭＳのユーザにより、実施中の再配置処理を任意のタイミングで一時停止することができる。
【０３０８】
＜再配置再開処理手順＞
つぎに、ストレージシステムＳＭの再配置再開処理手順について説明する。再配置再開処理は、例えば、各ＰＵや各ＳＵの保守点検等で一時的に再配置処理を止めた後に再配置を再開する場合に行われる。
【０３０９】
図４１は、ストレージシステムＳＭの再配置再開処理手順の一例を示すシーケンス図である。図４１のシーケンス図において、管理サーバＭＳの装置管理ＧＵＩは、再配置処理の再開指示を受け付けた場合、再配置処理の再開指示をＰＵ＃１の装置管理ＧＵＩ制御部＃１に通知する（ステップＳ４１０１）。
【０３１０】
装置管理ＧＵＩ制御部＃１は、再配置処理の再開指示を受け付けた場合、再配置処理の再開指示をボリューム管理Ｍに通知する（ステップＳ４１０２）。ボリューム管理Ｍは、ボリューム管理テーブル７１０および再配置計画テーブル７２０の再配置状況が「一時停止」のエントリを検索して（ステップＳ４１０３）、図３５に示したステップＳ３４０９に移行する。これにより、管理サーバＭＳのユーザにより、一時停止中の再配置処理を任意のタイミングで再開することができる。
【０３１１】
以上説明したように、実施例にかかるストレージシステムＳＭによれば、コンシステンシーグループＧに属するボリューム間でのデータの書込順序の一貫性を保ちつつリモートコピーを効率的に行うことができる。また、ストレージシステムＳＭによれば、スケールアウト前に格納されたデータについても、ストレージシステムＳＭ内のＳＵ全体に再割り当てすることができる。これにより、スケールアウト後のストレージシステムＳＭが有するポテンシャルに相当するアクセス性能の向上を図ることができる。
【０３１２】
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０３１３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０３１４】
（付記１）ストレージ装置内のストレージユニットを制御するストレージ制御装置であって、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部と、
前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成するとともに、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する制御を行う制御部と、
を有することを特徴とするストレージ制御装置。
【０３１５】
（付記２）前記制御部は、
定期的または不定期に前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成するとともに、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の差分データを前記コピー先のストレージ装置に転送することを特徴とする付記１に記載のストレージ制御装置。
【０３１６】
（付記３）前記制御部は、
他のストレージ装置からコピー元のボリュームのスナップショットのデータを受信したことに応じて、コピー先のボリュームに前記データを格納し、前記コピー元のボリュームの差分データを受信したことに応じて、前記コピー先のボリュームに対する更新データを差分データとして格納する差分格納領域を作成して、受信した前記差分データを前記差分格納領域に格納し、前記コピー先のボリュームのスナップショットを作成することを特徴とする付記１または２に記載のストレージ制御装置。
【０３１７】
（付記４）前記制御部は、
前記コピー元のボリュームのスナップショットのデータを受信したことに応じて、前記コピー先のボリュームに前記データを格納し、前記コピー先のボリュームに対する更新データを差分データとして格納する差分格納領域を作成して、前記コピー先のボリュームのスナップショットを作成することを特徴とする付記３に記載のストレージ制御装置。
【０３１８】
（付記５）前記制御部は、
前記コピー先のストレージ装置内のストレージ制御装置群のうちの前記各々のボリュームのコピー先のボリュームが存在するストレージ制御装置との通信が不能となった場合、前記ストレージ制御装置群のうちの特定のストレージ制御装置に、前記コピー先のボリュームの移動先のストレージ制御装置を問い合わせることを特徴とする付記１〜４のいずれか一つに記載のストレージ制御装置。
【０３１９】
（付記６）前記制御部は、
前記ボリューム群のいずれかのボリュームが前記ストレージ装置内の自装置とは異なる他のストレージ制御装置に存在する場合、前記ある時点の前記いずれかのボリュームのスナップショットの作成指示を前記他のストレージ制御装置に通知し、当該作成指示を通知したことに応じて、前記ある時点の前記ボリューム群のうちの自装置に存在するボリュームのスナップショットを作成するとともに、前記ある時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記ボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記いずれかのボリュームのスナップショットの作成指示を前記他のストレージ制御装置に通知し、当該作成指示を通知したことに応じて、前記いずれかの時点の前記ボリュームのスナップショットを作成して、前記いずれかの時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記ボリュームの差分データを前記コピー先のストレージ装置に転送することを特徴とする付記１〜５のいずれか一つに記載のストレージ制御装置。
【０３２０】
（付記７）前記制御部は、
前記ある時点の前記ボリューム群のうちの自装置に存在するボリュームのスナップショットの作成指示を他のストレージ制御装置から受け付けたことに応じて、前記ある時点の前記ボリュームのスナップショットを作成するとともに、前記ある時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記ボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記ボリュームのスナップショットの作成指示を前記他のストレージ制御装置から受け付けたことに応じて、前記いずれかの時点の前記ボリュームのスナップショットを作成して、前記いずれかの時点以降の前記ボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記ボリュームの差分データを前記コピー先のストレージ装置に転送することを特徴とする付記６に記載のストレージ制御装置。
【０３２１】
（付記８）ストレージ装置内のストレージユニットを制御するストレージ制御装置が、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部に記憶された前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成して、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する、
制御を行うことを特徴とする制御方法。
【０３２２】
（付記９）ストレージ装置内のストレージユニットを制御するストレージ制御装置に、
コンシステンシーグループに属するコピー元のボリューム群を特定するグループ情報を記憶する記憶部に記憶された前記グループ情報に基づいて、ある時点の前記ボリューム群の各々のボリュームのスナップショットを作成するとともに、前記ある時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記各々のボリュームのスナップショットのデータをコピー先のストレージ装置に転送し、
前記ある時点以降のいずれかの時点の前記各々のボリュームのスナップショットを作成して、前記いずれかの時点以降の前記各々のボリュームに対する更新データを差分データとして格納する各々の差分格納領域を作成して、前記いずれかの時点の前記各々のボリュームの差分データを前記コピー先のストレージ装置に転送する、
制御を行わせることを特徴とする制御プログラム。
【符号の説明】
【０３２３】
１０１，１０２  ストレージ装置
５０１  記憶部
５０２  作成部
５０３  通信制御部
【図１】
2015064802.tif 000003
【図２】
2015064802.tif 000004
【図３】
2015064802.tif 000005
【図４】
2015064802.tif 000006
【図５】
2015064802.tif 000007
【図６】
2015064802.tif 000008
【図７】
2015064802.tif 000009
【図８】
2015064802.tif 000010
【図９】
2015064802.tif 000011
【図１０】
2015064802.tif 000012
【図１１】
2015064802.tif 000013
【図１２】
2015064802.tif 000014
【図１３】
2015064802.tif 000015
【図１４】
2015064802.tif 000016
【図１５】
2015064802.tif 000017
【図１６】
2015064802.tif 000018
【図１７】
2015064802.tif 000019
【図１８】
2015064802.tif 000020
【図１９】
2015064802.tif 000021
【図２０】
2015064802.tif 000022
【図２１】
2015064802.tif 000023
【図２２】
2015064802.tif 000024
【図２３】
2015064802.tif 000025
【図２４】
2015064802.tif 000026
【図２５】
2015064802.tif 000027
【図２６】
2015064802.tif 000028
【図２７】
2015064802.tif 000029
【図２８】
2015064802.tif 000030
【図２９】
2015064802.tif 000031
【図３０】
2015064802.tif 000032
【図３１】
2015064802.tif 000033
【図３２】
2015064802.tif 000034
【図３３】
2015064802.tif 000035
【図３４】
2015064802.tif 000036
【図３５】
2015064802.tif 000037
【図３６】
2015064802.tif 000038
【図３７】
2015064802.tif 000039
【図３８】
2015064802.tif 000040
【図３９】
2015064802.tif 000041
【図４０】
2015064802.tif 000042
【図４１】
2015064802.tif 000043