(57)【要約】【課題】  本発明のストレージシステムは、複数のサイト間でリモートを行い、障害が発生した場合には新たなコピー経路を検出して、リモートコピーを再開する。【解決手段】ストレージシステムは、複数のサイト１を含んでいる。各サイト１は、ホスト２及び記憶制御装置３を備える。各サイト１の制御部４は、コピー制御部５と、障害検出部６と、候補検出部７と、再開制御部８を備える。障害検出部６は、リモートコピー構成に生じた障害を検出する。候補検出部７は、コピー経路の候補を検出する。再開制御部８は、各サイト１で検出されたコピー経路候補の中から、いずれか一つのコピー経路を用いてリモートコピーを再開させる。【選択図】        図１
2008299481.tif 000002
【特許請求の範囲】
【請求項１】
複数の拠点を有するストレージシステムにおいて、
前記各拠点のうち所定の複数の拠点間に予めそれぞれ設定される通信経路と、
前記各拠点のうち予め選択される複数の拠点と前記各通信経路のうち予め選択される複数の通信経路とを用いて構成されるコピー経路によって、前記予め選択される複数の拠点間でデータをコピーさせるためのコピー制御部と、
前記コピー制御部によるデータコピーに障害が発生したか否かを検出するための障害検出部と、
前記障害検出部によって前記障害の発生が検出された場合、少なくとも一つのコピー経路候補を検出する候補検出部と、
前記候補検出部により検出される前記コピー経路候補が複数ある場合、これら複数のコピー経路候補の中から一つを新コピー経路として選択し、この新コピー経路を用いて前記コピー制御部によるデータコピーを再開させる再開制御部と、
を備えるストレージシステム。
【請求項２】
前記コピー制御部、前記障害検出部、前記候補検出部及び前記再開制御部は、前記複数の拠点のそれぞれに設けられている請求項１に記載のストレージシステム。
【請求項３】
前記障害検出部は、前記各拠点間で通信される死活確認信号の有無または前記データコピーに関する通信の成否の少なくともいずれか一方に基づいて、前記障害の発生を検出する請求項１に記載のストレージシステム。
【請求項４】
前記候補検出部は、使用可能な通信経路及び使用可能な拠点に関する情報に基づいて、前記データコピーに利用可能な経路を少なくとも一つ以上検出し、この検出された利用可能経路を予め設定される第１評価基準に基づいてそれぞれ評価し、評価結果が最も優れている利用可能候補を前記コピー経路候補として検出する請求項１に記載のストレージシステム。
【請求項５】
前記候補検出部は、前記第１評価基準による評価結果が同一の利用可能経路が複数存在する場合、予め設定される第２評価基準によっていずれか一つの利用可能経路を前記コピー経路候補として検出する請求項４に記載のストレージシステム。
【請求項６】
前記第１評価基準は、前記利用可能経路に含まれる拠点の数の大小であり、前記利用可能経路に含まれる拠点の数が大きいほど優れた評価結果を得るようになっている請求項４に記載のストレージシステム。
【請求項７】
前記第１評価基準は、前記利用可能経路に含まれる拠点又は通信経路に予め設定される重みの大小である請求項４に記載のストレージシステム。
【請求項８】
前記第１評価基準は、前記利用可能経路に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である請求項４に記載のストレージシステム。
【請求項９】
前記重みとして、前記利用可能経路に含まれる拠点にデータが記憶されるまでに要する時間、または、前記利用可能経路に含まれる拠点の復旧に要する時間の少なくともいずれか一方が使用される請求項７に記載のストレージシステム。
【請求項１０】
前記第２評価基準は、前記利用可能経路に含まれる拠点又は通信経路に予め設定される重みの大小である請求項５に記載のストレージシステム。
【請求項１１】
前記第２評価基準は、前記利用可能経路に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である請求項５に記載のストレージシステム。
【請求項１２】
前記候補検出部が複数存在し、これら各候補検出部がそれぞれ前記コピー経路候補を検出する場合、前記再開制御部は、予め設定される第３評価基準に基づいて前記各コピー経路候補をそれぞれ評価し、評価の結果が最も優れているコピー経路候補を前記新コピー経路として選択する請求項１に記載のストレージシステム。
【請求項１３】
前記第３評価基準は、前記コピー経路候補に含まれる拠点の数の大小であり、前記コピー経路候補に含まれる拠点の数が大きいほど優れた評価結果を得るようになっている請求項１２に記載のストレージシステム。
【請求項１４】
前記第３評価基準は、前記コピー経路候補に含まれる拠点又は通信経路に予め設定される重みの大小である請求項１２に記載のストレージシステム。
【請求項１５】
前記第３評価基準は、前記コピー経路候補に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である請求項１２に記載のストレージシステム。
【請求項１６】
前記再開制御部は、前記選択された新コピー経路の使用可否を診断する診断部を備えている請求項１に記載のストレージシステム。
【請求項１７】
前記診断部は、前記選択された新コピー経路に含まれる拠点の数が予め設定される所定値を越えている場合に、前記選択された新コピー経路の使用を許可する請求項１６に記載のストレージシステム。
【請求項１８】
前記コピー経路の各要素毎に障害を模擬的に発生させ、この模擬的障害が発生した場合に選択され得る新コピー経路について評価するシミュレーション部を備えた請求項１に記載のストレージシステム。
【請求項１９】
Ｎ個（Ｎは４以上の自然数）の拠点を有するストレージシステムにおいて、
（１）前記各拠点は、外部装置からのアクセス要求に基づいて記憶デバイスにデータを読み書きする記憶制御装置とをそれぞれ備えており、
（２）前記各拠点のうち所定の拠点間には、予め設定された方向にデータをコピーするための第１通信経路がそれぞれ設定されており、
（３）前記各拠点は、データコピーに使用するための管理情報を、他の拠点との間で交換するための第２通信経路を介して相互に接続されており、
（４）前記記憶制御装置には、
前記各拠点のうち予め選択される複数の拠点内の各記憶制御装置と前記各第１通信経路のうち予め選択される複数の第１通信経路とから構成されるコピー経路により、前記予め選択される複数の記憶制御装置間において所定の順序で、データをコピーさせるためのコピー制御部と、
前記コピー制御部によるデータコピーに障害が発生したか否かを検出するための障害検出部と、
前記障害検出部によって前記障害の発生が検出された場合、前記第２通信経路を介して他の拠点内の各記憶制御装置から収集した前記管理情報と、予め設定される第１評価基準及び第２評価基準とに基づいて、自拠点を起点とするコピー経路候補を少なくとも１つ検出するための候補検出部と、
他の各拠点内の各記憶制御装置においてそれぞれ検出される各コピー経路候補を前記第２通信経路を介して取得することにより、前記自拠点で検出されたコピー経路候補と前記他の各拠点でそれぞれ検出された各コピー経路候補との中から、第３評価基準に基づいて、いずれか１つのコピー経路候補を新コピー経路として選択し、かつ、選択された新コピー経路に含まれる記憶制御装置の数が予め設定された所定値を越えている場合に、前記新コピー経路を用いて前記コピー制御部によるデータコピーを再開させるための、再開制御部と、
がそれぞれ設けられている、ストレージシステム。
【請求項２０】
複数の拠点間でデータをコピーするための方法であって、
前記各拠点のうち所定の複数の拠点間には、データコピーに使用可能な通信経路がそれぞれ予め設定されており、
前記各拠点では、
前記各拠点のうち予め選択される複数の拠点と前記各通信経路のうち予め選択される複数の通信経路とから構成されるコピー経路を用いることにより、データコピーを行うステップであって、予め設定されているコピー元の拠点からデータを受信し、この受信したデータを自拠点内に記憶し、さらに、前記受信したデータを予め設定されているコピー先の拠点に送信させるステップと、
前記データコピーに障害が発生したか否かを検出するステップと、
前記障害の発生が検出された場合、自拠点を起点とするコピー経路候補を少なくとも１つ検出するステップと、
他の各拠点でそれぞれ検出されるコピー経路候補と自拠点で検出されるコピー経路候補の中から、いずれか１つのコピー経路候補を新コピー経路として選択するステップと、
前記選択される新コピー経路の使用可否を診断するステップと、
前記選択される新コピー経路の使用が許可された場合、この新コピー経路を用いて前記データコピーを再開させる旨を他の拠点に通知するステップと、
をそれぞれ実行可能である、複数拠点間でのデータコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及び複数拠点間でのデータコピー方法に関する。
【背景技術】
【０００２】
ストレージシステムは、例えば、ディスクアレイサブシステム等と呼ばれる記憶制御装置を少なくとも１つ備えており、ホストコンピュータ（以下、「ホスト」）に、データストレージサービスを提供する。記憶制御装置は、例えば、多数のディスクドライブをアレイ状に配設し、RAID（Redundant Array of Independent Disks）に基づく記憶領域を構築することができる。
【０００３】
また、いわゆるディザスタリカバリシステムとして知られているように、広域災害等に備えて、メインサイトから遠く離れた場所にバックアップサイトを設置することも可能である。バックアップサイトには、バックアップ用の記憶制御装置が設置され、この記憶制御装置にはメインサイトと同一のデータ群が記憶される。
【０００４】
第１従来技術では、メインサイトの記憶制御装置からバックアップサイトの別の記憶制御装置にデータをリモートコピーすることにより、広域災害等に備えることができるようになっている（特許文献１）。これにより、メインサイトが障害等で停止した場合でも、バックアップサイトによってデータ処理サービスを継続することができる。しかし、メインサイトが復旧する前に、唯一のバックアップサイトに障害が発生した場合には、データ処理サービスをホストに提供することができない。
【０００５】
そこで、バックアップサイトを複数設け、メインサイトが停止した場合でも、システムの冗長性を確保できるようにした、第２従来技術が提案されている（特許文献２）。この第２従来技術では、その段落番号０００８〜００１０に記載されているように、正記憶制御装置に複数の副記憶制御装置をそれぞれ接続する。正記憶制御装置の記憶内容が更新された場合、この更新内容は直ちに一方の副記憶制御装置に送信され、一方の副記憶制御装置の記憶内容に反映される。また、正記憶制御装置の記憶内容はジャーナルデータとして保存され、他方の副記憶制御装置は、このジャーナルデータを適宜読出して、自己の記憶内容に反映させる。そして、一方の副記憶制御装置は、正記憶制御装置からのデータ更新命令に基づいてジャーナルデータを作成し、このジャーナルデータを保存する。正記憶制御装置が停止した場合、他方の副記憶制御装置は、一方の副記憶制御装置からジャーナルデータを読出し、自己の記憶内容を更新させる。
【特許文献１】特開２００５−２１５８８５号広報
【特許文献２】特開２００５−８４９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術では、２つのサイト（拠点）または３つのサイトによって、データのコピーを保持するため、災害等への耐性を高めることができる。しかし、３個のサイトを設ける場合でも、いずれか１つまたは２つのサイトで障害が発生すると、データ保護の信頼性が低下する。そこで、データ保護の信頼性を高めるべく、より多くのサイトでデータのコピーをそれぞれ保有することが求められるであろう。
【０００７】
複数のサイト間にリモートコピー用のコピー経路を設定し、各サイトにデータをコピーする構成の場合、一部のサイトやサイト間の通信経路に障害が発生したときには、正常なサイト及び通信経路を用いて、コピー経路を再構成する必要がある。しかし、リモートコピーに関わるサイト数が多くなればなるほど、障害発生後におけるコピー経路の再構成は難しくなる。ホストから書き込まれるデータの順序や、リモートコピーの方向を意識してコピー経路を再構成する必要があるためである。
【０００８】
本発明は上記課題に鑑みてなされたもので、その目的は、データコピーに関与する拠点の数が増大した場合でも、複数拠点間に跨るコピー経路を比較的速やかに再構成し、信頼性を維持できるようにしたストレージシステム及び複数拠点間でのデータコピー方法を提供することにある。本発明の他の目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明の一つの観点に従う、複数の拠点を有するストレージシステムは、各拠点のうち所定の複数の拠点間に予めそれぞれ設定される通信経路と、各拠点のうち予め選択される複数の拠点と各通信経路のうち予め選択される複数の通信経路とを用いて構成されるコピー経路によって、予め選択される複数の拠点間でデータをコピーさせるためのコピー制御部と、コピー制御部によるデータコピーに障害が発生したか否かを検出するための障害検出部と、障害検出部によって障害の発生が検出された場合、少なくとも一つのコピー経路候補を検出する候補検出部と、候補検出部により検出されるコピー経路候補が複数ある場合、これら複数のコピー経路候補の中から一つを新コピー経路として選択し、この新コピー経路を用いてコピー制御部によるデータコピーを再開させる再開制御部と、を備える。
【００１０】
本発明の実施形態では、コピー制御部、障害検出部、候補検出部及び再開制御部は、複数の拠点のそれぞれに設けられている。
【００１１】
本発明の実施形態では、障害検出部は、各拠点間で通信される死活確認信号の有無またはデータコピーに関する通信の成否の少なくともいずれか一方に基づいて、障害の発生を検出する。
【００１２】
本発明の実施形態では、候補検出部は、使用可能な通信経路及び使用可能な拠点に関する情報に基づいて、データコピーに利用可能な経路を少なくとも一つ以上検出し、この検出された利用可能経路を予め設定される第１評価基準に基づいてそれぞれ評価し、評価結果が最も優れている利用可能候補をコピー経路候補として検出する。
【００１３】
本発明の実施形態では、候補検出部は、第１評価基準による評価結果が同一の利用可能経路が複数存在する場合、予め設定される第２評価基準によっていずれか一つの利用可能経路をコピー経路候補として検出する。
【００１４】
本発明の実施形態では、第１評価基準は、利用可能経路に含まれる拠点の数の大小であり、利用可能経路に含まれる拠点の数が大きいほど優れた評価結果を得る。
【００１５】
本発明の実施形態では、第１評価基準は、利用可能経路に含まれる拠点又は通信経路に予め設定される重みの大小である。
【００１６】
本発明の実施形態では、第１評価基準は、利用可能経路に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である。
【００１７】
重みとして、利用可能経路に含まれる拠点にデータが記憶されるまでに要する時間、または、利用可能経路に含まれる拠点の復旧に要する時間の少なくともいずれか一方を使用することができる。
【００１８】
本発明の実施形態では、第２評価基準は、利用可能経路に含まれる拠点又は通信経路に予め設定される重みの大小である。
【００１９】
本発明の実施形態では、第２評価基準は、利用可能経路に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である。
【００２０】
本発明の実施形態では、候補検出部が複数存在し、これら各候補検出部がそれぞれコピー経路候補を検出する場合、再開制御部は、予め設定される第３評価基準に基づいて各コピー経路候補をそれぞれ評価し、評価の結果が最も優れているコピー経路候補を新コピー経路として選択する。
【００２１】
本発明の実施形態では、第３評価基準は、コピー経路候補に含まれる拠点の数の大小であり、コピー経路候補に含まれる拠点の数が大きいほど優れた評価結果を得る。
【００２２】
本発明の実施形態では、第３評価基準は、コピー経路候補に含まれる拠点又は通信経路に予め設定される重みの大小である。
【００２３】
本発明の実施形態では、第３評価基準は、コピー経路候補に含まれる拠点又は通信経路に予め設定される優先度またはペナルティの大小である。
【００２４】
再開制御部は、選択された新コピー経路の使用可否を診断する診断部を備えることもできる。診断部は、選択された新コピー経路に含まれる拠点の数が予め設定される所定値を越えている場合に、選択された新コピー経路の使用を許可する。
【００２５】
本発明の実施形態では、コピー経路の各要素毎に障害を模擬的に発生させ、この模擬的障害が発生した場合に選択され得る新コピー経路について評価するシミュレーション部を備える。
【００２６】
本発明の他の観点に従う、Ｎ個（Ｎは４以上の自然数）の拠点を有するストレージシステムは、（１）各拠点は、外部装置からのアクセス要求に基づいて記憶デバイスにデータを読み書きする記憶制御装置とをそれぞれ備えており、（２）各拠点のうち所定の拠点間には、予め設定された方向にデータをコピーするための第１通信経路がそれぞれ設定されており、（３）各拠点は、データコピーに使用するための管理情報を、他の拠点との間で交換するための第２通信経路を介して相互に接続されており、（４）記憶制御装置には、  各拠点のうち予め選択される複数の拠点内の各記憶制御装置と各第１通信経路のうち予め選択される複数の第１通信経路とから構成されるコピー経路により、予め選択される複数の記憶制御装置間において所定の順序で、データをコピーさせるためのコピー制御部と、コピー制御部によるデータコピーに障害が発生したか否かを検出するための障害検出部と、障害検出部によって障害の発生が検出された場合、第２通信経路を介して他の拠点内の各記憶制御装置から収集した管理情報と、予め設定される第１評価基準及び第２評価基準とに基づいて、自拠点を起点とするコピー経路候補を少なくとも１つ検出するための候補検出部と、他の各拠点内の各記憶制御装置においてそれぞれ検出される各コピー経路候補を第２通信経路を介して取得することにより、自拠点で検出されたコピー経路候補と他の各拠点でそれぞれ検出された各コピー経路候補との中から、第３評価基準に基づいて、いずれか１つのコピー経路候補を新コピー経路として選択し、かつ、選択された新コピー経路に含まれる記憶制御装置の数が予め設定された所定値を越えている場合に、新コピー経路を用いてコピー制御部によるデータコピーを再開させるための、再開制御部と、がそれぞれ設けられている。
【００２７】
本発明のさらに別の観点に従う、複数の拠点間でデータをコピーするための方法は、各拠点のうち所定の複数の拠点間には、データコピーに使用可能な通信経路がそれぞれ予め設定されており、各拠点では、各拠点のうち予め選択される複数の拠点と各通信経路のうち予め選択される複数の通信経路とから構成されるコピー経路を用いることにより、データコピーを行うステップであって、予め設定されているコピー元の拠点からデータを受信し、この受信したデータを自拠点内に記憶し、さらに、受信したデータを予め設定されているコピー先の拠点に送信させるステップと、データコピーに障害が発生したか否かを検出するステップと、障害の発生が検出された場合、自拠点を起点とするコピー経路候補を少なくとも１つ検出するステップと、他の各拠点でそれぞれ検出されるコピー経路候補と自拠点で検出されるコピー経路候補の中から、いずれか１つのコピー経路候補を新コピー経路として選択するステップと、選択される新コピー経路の使用可否を診断するステップと、選択される新コピー経路の使用が許可された場合、この新コピー経路を用いてデータコピーを再開させる旨を他の拠点に通知するステップと、をそれぞれ実行可能である。
【００２８】
本発明の手段、機能、ステップの少なくとも一部は、マイクロコンピュータにより読み込まれて実行されるコンピュータプログラムとして構成できる場合がある。このようなコンピュータプログラムは、例えば、ハードディスクや光ディスク等のような記憶媒体に固定して流通させることができる。または、インターネット等のような通信ネットワークを介して、コンピュータプログラムを供給することもできる。さらに、本発明の上述した特徴を適宜組み合わせることもできる。
【発明を実施するための最良の形態】
【００２９】
以下、図面に基づき、本発明の実施の形態を説明する。図１は、本実施形態の全体概念を示す説明図である。図１（ａ）は、通常時の状態を示す。ストレージシステムは、複数のサイト１（１）〜１（Ｎ）を含んでいる。以下の説明では、各サイトを区別する必要が無い場合等に単にサイト１と呼び、（１）〜（Ｎ）の符号を省略する。
【００３０】
各サイト１は、少なくとも１つ以上のホスト２及び記憶制御装置３をそれぞれ備えて構成される。ホスト２は「外部装置」または上位装置に対応する。記憶制御装置３は、ストレージ装置と呼ぶこともできる。
【００３１】
ホスト２及び記憶制御装置３の詳細な構成は、後述の実施例で明らかにされる。先に簡単に説明すると、ホスト２は、例えば、サーバコンピュータやメインフレームコンピュータのように構成され、データベース管理プログラムのようなアプリケーションプログラム（以下、アプリケーション）を備えている。記憶制御装置３は、例えば、ハードディスクドライブやフラッシュメモリデバイスのような記憶デバイスを備えており、記憶デバイスの物理的記憶領域上に設定される論理的な記憶領域（論理ボリューム）をホスト２に提供する。ホスト２のアプリケーションは、論理ボリュームにデータを読み書きする。
【００３２】
各サイト１のうち所定のサイト１間には、通信経路P1-2、P2-3、P1-4，P5-N（以下、通信経路Ｐと総称する場合がある）等が予め設定されている。この通信経路は、リモートコピーのために使用されるもので、コピー可能な方向も予め設定される。例えば、サイト１（１）とサイト１（２）の間に設定される通信経路P1-2は、サイト１（１）からサイト１（２）へのデータコピー及びサイト１（２）からサイト１（１）へのデータコピーの両方が可能なように設定されている。サイト１（２）とサイト１（３）との間に設定される通信経路P2-3は、サイト１（２）からサイト１（３）へのデータコピーのみが可能であり、その逆に、サイト１（３）からサイト１（２）にデータをコピーすることはできないように設定されている。このように、各リモートコピー用の通信経路Ｐには、コピー元サイトと、コピー先サイトと、コピー可能な方向とがそれぞれ設定される。
【００３３】
各サイト１の記憶制御装置３は、制御部４をそれぞれ備える。制御部４は、コピー制御部５と、障害検出部６と、候補検出部７と、再開制御部８とを備えている。なお、これ以外に、ホスト２からのアクセス要求を受け付けて論理ボリュームにデータを読み書きするための機能も備える。
【００３４】
コピー制御部５は、予め設定されたコピー元サイト１からライトデータを受信し、受信したライトデータを論理ボリュームに記憶し、受信したライトデータを予め設定されたコピー先サイト１に転送する。サイト１（２）内のコピー制御部５を例に挙げると、コピー元サイトはサイト１（１）であり、コピー先サイトはサイト１（３）である。サイト１（１）は、ストレージシステムにおけるリモートコピーの起点となるサイトであり、コピー元サイトは存在しない。サイト１（４）は、ストレージシステムにおけるリモートコピーの終点となるサイトであり、コピー先サイトは存在しない。
【００３５】
各サイト１のコピー制御部５には、コピー元サイト及びコピー先サイトに関する情報が予め設定されている。これにより、ストレージシステム全体としては、例えば、サイト１（１）→サイト１（２）→サイト１（３）→サイト１（Ｎ）→サイト１（５）→サイト１（４）のコピー経路が設定されており、この順番でデータがコピーされていく。
【００３６】
より詳しくは、第１コピーＣ１では、サイト１（１）の記憶制御装置３にホスト２から書き込まれたライトデータがサイト１（２）の記憶制御装置３に送信され、サイト１（２）の記憶制御装置３内に記憶される。第２コピーＣ２では、サイト１（２）の記憶制御装置３からサイト１（３）の記憶制御装置３にライトデータが送信され、サイト１（３）の記憶制御装置３に記憶される。以下同様に、ライトデータは、第３コピーＣ３によってサイト１（Ｎ）の記憶制御装置３に記憶され、第４コピーＣ４によってサイト１（５）の記憶制御装置３に記憶され、第５コピーＣ５によってサイト１（４）の記憶制御装置３に記憶される。
【００３７】
障害検出部６は、上述のリモートコピー構成に障害が発生したか否かを検出する。例えば、各サイト１間でハートビート通信のような死活を確認するための通信を定期的に行うことにより、障害検出部６は、障害の発生を検出することができる。あるいは、障害検出部６は、リモートコピーが正常に行われなかったことを検出することにより、障害の発生を検出することもできる。死活の確認とは、サイトが生存しているか否かを確認すること、即ち、そのサイトの機能が停止しているか否かを判別することを意味する。
【００３８】
候補検出部７は、障害の発生が検出されると、自サイトを起点とする新たなコピー経路の候補を検出する。コピー経路候補を検出する方法は後述の実施例で詳細に述べる。簡単に説明すると、例えば、各サイト１に予め設定されている通信経路Ｐに関する情報（即ち、どのサイトにコピー可能か等の情報）を正常な各サイト１からそれぞれ収集することにより、自サイトを起点としてリモートコピー可能な経路を検出可能である。例えば、サイト１（１）に障害が発生した場合、サイト１（２）〜サイト１（Ｎ）の各候補検出部７は、それぞれのサイトを起点とするコピー経路の候補をそれぞれ検出する。
【００３９】
図１（ｂ）は、各サイトでそれぞれ検出されるコピー経路候補を示す。図１（ｂ）中の数字は、サイト１を識別するための番号を示す。例えば、「２」はサイト１（２）を、「３」はサイト１（３）をそれぞれ示している。図示の例では、サイト１（２）を起点とするコピー経路候補として、ＣＰ１とＣＰ２の２個が検出される。ＣＰ１は、サイト１（２）→サイト１（３）→サイト１（Ｎ）→サイト１（５）→サイト１（４）の順番で、データをコピーさせるコピー経路候補である。ＣＰ２は、サイト１（２）→サイト１（５）→サイト１（４）の順番で、データをコピーさせるコピー経路候補である。サイト１（３）を起点とするコピー経路候補ＣＰ３は、サイト１（３）→サイト１（Ｎ）→サイト１（５）→サイト１（４）の順番でデータをコピーさせる。同様に、他のサイト１（４），サイト１（５）及びサイト１（Ｎ）のそれぞれにおいても、図示のように、コピー経路候補ＣＰ４，ＣＰ５，ＣＰ６，ＣＰ７が検出される。
【００４０】
各サイト１の候補検出部７は、複数のコピー経路候補が検出された場合、予め設定される評価基準に基づいて、いずれのコピー経路候補が最適であるかを判断し、最適と判断されたコピー経路候補を１つ選択する。例えば、候補検出部７は、コピー経路候補に含まれるサイト１の数が多いほど優れたコピー経路候補であると判断する。従って、候補検出部７は、サイト１を最も多く含むコピー経路候補を検出する。
【００４１】
再開制御部８は、各サイト１でそれぞれ検出されたコピー経路候補を取得し、この中から最適と判断するコピー経路候補を、新コピー経路として選択する。いずれのコピー経路候補が最適であるかは、予め設定される評価基準に基づいて選択される。例えば、再開制御部８は、コピー経路候補の選択に使用される評価基準と同様に、最も多くのサイトを含むコピー経路候補を新コピー経路として選択する。
【００４２】
サイト１を同数含むコピー経路候補が複数存在する場合、再開制御部８は、別の評価基準を用いて、いずれか１つを選択できる。別の選択基準としては、例えば、ユーザにより予め設定される優先度やペナルティ、重みの大小等を挙げることができる。例えば、同数のサイトを含むコピー経路候補が複数存在する場合、より優先度の高い方、よりペナルティの低い方、より重みの多い方（あるいは少ない方）が選ばれる。重みとしては、例えば、リモートコピーによって送信されるデータが記憶され、
【００４３】
同様に、候補検出部７も、それぞれ同数のサイト１を含む、コピー可能な経路が複数存在する場合、別の評価基準を用いていずれか１つを選択することができる。なお、上記各評価基準のいずれを主に使用するか等は、適宜設定することができる。後述の実施例では、それぞれ異なる評価基準を用いて、コピー経路を選出する例を幾つか示す。
【００４４】
再開制御部８は、新コピー経路の使用の可否について診断する。即ち、再開制御部８は、その選択された新コピー経路を用いてリモートコピーを再開させるのが適切であるか否かを判断する。再開制御部８は、例えば、新コピー経路に含まれるサイト１の数が予め設定される所定値以上であるか否かという基準に基づいて、診断することができる。図示の例では、最もサイト数の多いコピー経路候補ＣＰ１が新コピー経路として選択され、その使用が適切であると判断される。なお、後述の実施例では、別の診断基準についても説明する。
【００４５】
再開制御部８は、新コピー経路の使用が適切であると判断した場合、この新コピー経路を用いてリモートコピーを再開する旨を、他の各サイト１の記憶制御装置３に通知し、リモートコピーを再開させる。図１（ｃ）は、新コピー経路ＣＰ１を用いてリモートコピーが再開される様子を示す。
【００４６】
ホスト２は、新たに起点となった記憶制御装置３の論理ボリュームにライト要求を発行する。例えば、新たに起点となったサイト１（２）のホスト２が、障害の発生したサイト１（１）のホスト２に代わって業務を引き継ぎ、ライトコマンド等を発行する。新たに発行されたライトデータは、新たなコピー経路を介して、複数のサイト１に順番に記憶されていく。
【００４７】
本実施形態では、複数のサイト１間で実行されるリモートコピーに障害が発生した場合でも、リモートコピーに使用可能な経路の中からコピー経路の候補を検出し、検出されたコピー経路の候補の中から新コピー経路を選択し、新コピー経路を用いてリモートコピーを再開させることができる。これにより、耐障害性が向上し、データ保護の信頼性を維持することができる。
【００４８】
本実施形態では、各サイト１がぞれぞれコピー経路候補を検出し、いずれのコピー経路候補を新コピー経路とすべきか判断するため、ストレージシステム全体を管理するための管理装置を別に設ける必要がない。即ち、本実施形態では、ストレージシステムの各サイト１は、それぞれ自律的に、リモートコピーを復旧させるための新たなコピー構成を判断し、サイト１間で調停することができる。従って、障害が同時に複数発生した場合でも、対応可能である。
【００４９】
本実施形態では、リモートコピーの方向も考慮して新コピー経路を探索し、かつ、新コピー経路の使用可否を診断してから、リモートコピーを再開させる。従って、リモートコピーに関与する各サイト１間で、データの整合性が失われるのを防止でき、信頼性を維持することができる。本実施形態をさらに詳述する。
【実施例１】
【００５０】
図２は、本発明に係るストレージシステムの全体構成を示す説明図である。ストレージシステムは、複数の（例えば４つ以上の）サイト１（１）〜１（Ｎ）を備えている。各サイト１は、「記憶制御装置」としてのストレージ１０と、ホスト２０とをそれぞれ備えており、ストレージ１０とホスト２０とは、例えば、SAN（Storage Area Network）等のサイト内ネットワークＣＮ１を介して接続されている。
【００５１】
図１で述べたように、各サイト１のうち所定のサイト間は、リモートコピー用の通信経路Ｐを介して接続されている。リモートコピー用の通信経路Ｐには、コピー方向（データを送信可能な方向）が予め設定されている。各サイト１は、例えば、インターネット等の管理用ネットワークＣＮ２を介して接続されている。このネットワークＣＮ２を介して、各サイト１は、他のサイト１の死活を確認する。
【００５２】
図１との対応関係を述べると、例えば、ストレージ１０は図１中の記憶制御装置３に、ホスト２０は図１中のホスト２に、コントローラ１１０（図３参照）は図１中の制御部４に、それぞれ対応する。
【００５３】
図３は、ストレージ１０及びホスト２０のハードウェア構成の例をそれぞれ示す説明図である。先にホスト２０の構成を説明する。ホスト２０は、例えば、サーバコンピュータやメインフレームマシンのようなコンピュータ装置として構成される。ホスト２０は、例えば、プロセッサ（図中、CPU）２１と、メモリ２２と、第１通信部（図中、LAN-I/F）２３と、ユーザインターフェース部（図中、UI）２４と、第２通信部（図中、I/F）２５と、補助記憶装置（図中、HDD）２６とを備えて構成される。
【００５４】
プロセッサ２１は、メモリ２２や補助記憶装置２６に記憶されたコンピュータプログラムを読み込んで実行し、これにより、所定の機能を実現する。メモリ２２または補助記憶装置２６には、ストレージ１０を使用するアプリケーションプログラム、ストレージ１０を管理するためのプログラム等が記憶される。さらに、メモリ２２または補助記憶装置２６には、後述するリモートコピーの障害から回復するために使用される各種のテーブル等を記憶させることもできる。
【００５５】
第１通信部２３は、管理用ネットワークＣＮ２を介して、他のサイト１のホスト２０と管理情報を交換する。管理情報としては、他のサイトの死活を確認する情報（ハートビート信号）、コピー経路の再構成等に使用する情報等を挙げることができる。
【００５６】
ユーザインターフェース部２４は、ユーザに情報を提供するための情報出力部と、ユーザからの情報を受け取るための情報入力部とを備える。情報出力部としては、例えば、ディスプレイ装置、音声出力装置等を挙げることができる。情報入力部としては、例えば、キーボードスイッチ、ポインティングデバイス、タッチパネル、マイクロフォン等を挙げることができる。
【００５７】
第２通信部２５は、サイト内ネットワークＣＮ１を介して、ストレージ１０との間で通信を行うためのものである。ホスト２０は、第２通信部２５及びサイト内ネットワークＣＮ１を介して、ストレージ１０にデータを書き込んだり、ストレージ１０からデータを読み出すことができる。
【００５８】
ストレージ１０の構成を説明する。ストレージ１０は、例えば、ストレージ１０の動作を制御するコントローラ１１０と、コントローラ１１０によって制御される記憶部１２０とから構成される。
【００５９】
コントローラ１１０は、少なくとも一つ以上のチャネルアダプタ（以下、ＣＨＡ）１１１と、少なくとも一つ以上のディスクアダプタ（以下、ＤＫＡ）１１２と、少なくとも一つ以上のキャッシュメモリ（図中、ＣＭ）１１３と、少なくとも一つ以上の共有メモリ（図中、ＳＭ）１１４と、接続部１１５と、サービスプロセッサ（以下、ＳＶＰ）１１６と、記憶部１２０とを備えて構成可能である。
【００６０】
ＣＨＡ１１１は、ホスト２０との間のデータ授受を行うための上位通信制御部であり、例えば、マイクロプロセッサやローカルメモリ、データ転送回路等を備えて構成することができる。ＣＨＡ１１１は、通信ポート１１１Ａを備えている。
【００６１】
一つのＣＨＡ（１）１１１は、ホスト２０との通信を処理するために使用される。このＣＨＡ（１）１１１の通信ポート１１１Ａは、ターゲットポートとなっており、ネットワークＣＮ１を介して、ホスト２０の第２通信部２５に接続される。
【００６２】
他の一つのＣＨＡ（２）１１１は、他のサイト１内のストレージ１０との間の通信を処理するために使用される。即ち、ＣＨＡ（２）１１１は、リモートコピーを行うために使用される。
【００６３】
ＤＫＡ１１２は、記憶部１２０との間のデータ授受を行うための下位通信制御部であり、例えば、マイクロプロセッサやローカルメモリ、データ転送回路等を備えて構成可能である。ＤＫＡ１１２は、ＣＨＡ１１１と別の制御基板として構成してもよいし、同一の制御基板上にＣＨＡ１１１の機能とＤＫＡ１１２の機能とを混載することもできる。
【００６４】
キャッシュメモリ１１３は、例えば、ホスト２０から受信したデータや一時的な管理用の情報等を記憶するメモリである。共有メモリ１１４は、例えば、ストレージ１０を制御するための各種制御情報を記憶するメモリである。制御情報の一部は、ＣＨＡ１１１内のローカルメモリやＤＫＡ１１２内のローカルメモリにもコピーされる。制御情報には、後述するテーブル等を含めることもできる。
【００６５】
キャッシュメモリ１１３及び共有メモリ１１４は、それぞれ別々のメモリ基板として構成してもよいし、同一のメモリ基板上にキャッシュメモリ１１３と共有メモリ１１４と混載してもよい。
【００６６】
接続部１１５は、各ＣＨＡ１１１，各ＤＫＡ１１２，キャッシュメモリ１１３及び共有メモリ１１４を相互に接続するためのものである。接続部１１５は、例えば、バスやクロスバスイッチ等として構成される。
【００６７】
ＳＶＰ１１６は、ストレージ１０の各種状態を監視したり、管理端末３０からの指示に応じて制御情報を書き換えるものである。ＳＶＰ１１６は、例えば、装置内ネットワークＣＮ３を介して、各ＣＨＡ１１１にそれぞれ接続されている。ＳＶＰ１１６は、いずれか一つのＣＨＡ１１１を介して、ＤＫＡ１１２や共有メモリ１１４等の情報を得ることもできる。なお、装置内ネットワークＣＮ３によって、ＳＶＰ１１６を、各ＣＨＡ１１１及び各ＤＫＡ１１２にそれぞれ接続させる構成でもよい。
【００６８】
記憶部１２０は、複数のディスクドライブ１２１を備えている。ディスクドライブ１２１は「記憶デバイス」に対応する。ディスクドライブ１２１としては、例えば、ハードディスクドライブ、半導体メモリドライブ（フラッシュメモリデバイスを含む）、ホログラフィックメモリドライブ、光ディスクドライブ、光磁気ディスクドライブ、磁気テープドライブ等を挙げることができる。
【００６９】
ディスクドライブ１２１の有する物理的な記憶領域を仮想化することにより、少なくとも一つ以上の論理的な記憶領域を生成することができる。この論理的な記憶領域は、論理ボリューム１２２と呼ばれる。ホスト２０は、論理ボリューム１２２をアクセス対象としてアクセスする。
【００７０】
先にストレージ１０内の動作について簡単に説明する。ホスト２０がリードコマンドを発行した場合、ＣＨＡ１１１は、ホスト２０から要求されたデータがキャッシュメモリ１１３上に存在するか否かを確認する。そのデータがキャッシュメモリ１１３上に記憶されている場合、ＣＨＡ１１１は、そのデータをキャッシュメモリ１１３から読み出して、ホスト２０に送信する。
【００７１】
これに対し、ホスト２０から要求されたデータがキャッシュメモリ１１３上に存在しない場合、ＣＨＡ１１１は、そのデータの読出しをＤＫＡ１１２に要求する。ＣＨＡ１１１からＤＫＡ１１２への指示は、共有メモリ１１４を介して行われる。共有メモリ１１４を随時参照しているＤＫＡ１１２は、ＣＨＡ１１１からの指示を発見すると、そのデータをディスクドライブ１２１から読み出して、キャッシュメモリ１１３に記憶させる。ディスクドライブ１２１に記憶されているデータをキャッシュメモリ１１３にコピーする処理をステージング処理と呼ぶ。ステージング処理の完了は、共有メモリ１１４を介して、ＣＨＡ１１１に通知される。ステージングの際に、ＤＫＡ１１２は、物理アドレスを論理アドレス（LBA：Logical Block Address）に変換する。なお、例えば、所定時間以上アクセスされていないディスクドライブ１２１については、電源供給を停止したり、回転数を低下させることができる。これにより記憶部１２０の消費電力を少なくできる。
【００７２】
ホスト２０がライトコマンドを発行した場合、ＣＨＡ１１１は、キャッシュメモリ１１３の空き容量等を確認し、ライトデータの受信が可能であれば、ホスト２０からライトデータを受信する。ＣＨＡ１１１は、受信したライトデータをキャッシュメモリ１１３に記憶させる。また、ＣＨＡ１１１は、そのデータを論理ボリューム１２２に書き込むべき旨をＤＫＡ１１２に指示する。この指示は、共有メモリ１１４を介して行われる。共有メモリ１１４を介して各種指示や報告を伝達することにより、比較的簡単な構成で、複数のＣＨＡ１１１，ＤＫＡ１１２をそれぞれ独立して並行的に動作させることができる。
【００７３】
ＤＫＡ１１２は、共有メモリ１１４を介してライトコマンドを発見すると、キャッシュメモリ１１３に記憶されているライトデータを論理ボリューム１２２に書き込む。より詳しくは、ＤＫＡ１１２は、そのライトデータの論理アドレスを物理アドレスに変換し、書込み先の論理ボリューム１２２を構成するディスクドライブ１２１の所定の場所に、ライトデータを記憶させる。その論理ボリュームがRAID構成を有する場合、ライトデータは複数のディスクドライブ１２１に分散して書き込まれる。キャッシュメモリ１１３からディスクドライブ１２１へのデータ転送をディステージ処理と呼ぶ。ディステージ処理の完了は、共有メモリ１１４を介して、ＣＨＡ１１１に通知される。ＣＨＡ１１１は、ホスト２０にライトコマンドの処理が完了した旨を報告する。
【００７４】
なお、ディステージ処理は、ストレージ１０の処理負荷やキャッシュメモリ１１３の空き容量等に基づいて、適当なタイミングで行うことができる。ライトコマンドの受信時に直ちにディステージ処理を行う必要はない。ディステージ処理を終えた後でホスト２０にライトコマンドの処理完了を報告する方式を同期方式と呼び、ディステージ処理の完了前にライトコマンドの処理完了をホスト２０に報告する方式を非同期方式と呼ぶ。
【００７５】
ホスト２０から発行されたライトコマンドの書込み先が、リモートコピーの対象となっている論理ボリューム１２２である場合、ホスト２０から受信したライトデータは、その書込み対象の論理ボリューム１２２に記憶されるだけではなく、予めリモートコピーのペアとして設定された、コピー先ボリュームにも送信される。ＣＨＡ１１１は、ホスト２０からのライトコマンド及びライトデータにシーケンス番号を対応付けて、リモートコピー先の論理ボリューム１２２（他サイト内に存在する論理ボリューム）に送信する。
【００７６】
管理端末３０は、例えば、ストレージ１０の構成変更を指示したり、ストレージ１０の内部状態を収集して端末画面に表示させるためのコンピュータ装置である。管理端末３０は、ＳＶＰ１１６を介して、ストレージ１０に指示を与えたり、ストレージ１０から情報を取得する。なお、ストレージ１０を管理するための機能は、ホスト２０内に設けることもできる。
【００７７】
図４は、ストレージシステムの機能構成を模式的に示す説明図である。各サイト１は、例えば、コピー制御部２００，障害検出部２１０，情報収集部２２０，コピー経路評価部２３０，コピー経路候補検出部２４０及び新コピー経路決定部２５０という各機能をそれぞれ備える。
【００７８】
図１との対応関係を説明する。コピー制御部２００は図１中のコピー制御部５に、障害検出部２１０は図１中の障害検出部６に、情報収集部２２０とコピー経路評価部２３０及びコピー経路候補検出部２４０は図１中の候補検出部７に、新コピー経路決定部２５０は図１中の再開制御部８に、それぞれ対応する。これらの各機能２００〜２５０は、ストレージ１０またはホスト２０内のソフトウェアによって実現可能である。図４に示すように、各サイト１には、上述の各機能２００〜２５０がそれぞれ設けられている。各サイト１は、それぞれ各機能２００〜２５０を実行可能である。
【００７９】
図５は、ストレージシステム内に存在する、リモートコピーが可能な経路を示す説明図である。上述のように、ストレージシステム内には、リモートコピー可能な方向が規定されたリモートコピー用通信経路Ｐが予め設定されている。従って、利用可能な通信経路Ｐの組合せによって、複数の利用可能なリモートコピー経路（コピー経路と略す場合がある）が存在する。各リモートコピー経路を識別するために、ストレージシステム内で一意の経路ＩＤ（図中、PID）を付すことができる。
【００８０】
例えば、サイト１（１）を起点とするリモートコピー経路（コピー経路と略す場合がある）には、ＰＩＤ１、ＰＩＤ２及びＰＩＤ３の３つがある。図５に示す通り、ＰＩＤ１は、サイト１（１）→サイト１（２）→サイト１（３）→サイト１（Ｎ）→サイト１（５）→サイト１（４）の順番で、ライトデータをコピーする経路である。ＰＩＤ２は、サイト１（１）→サイト１（２）→サイト１（５）→サイト１（４）の順番で、ライトデータをコピーする経路である。ＰＩＤ３は、サイト１（１）→サイト１（４）→サイト１（５）の順番で、ライトデータをコピーする経路である。
【００８１】
サイト１（２）を起点とするコピー経路には、ＰＩＤ４、ＰＩＤ５及びＰＩＤ６の３つがある。サイト１（３）を起点とするコピー経路は、ＰＩＤ７の１つである。サイト１（４）を起点とするコピー経路には、ＰＩＤ８、ＰＩＤ９及びＰＩＤ１０の３つがある。サイト１（５）を起点とするコピー経路は、ＰＩＤ１１の１つだけである。サイト１（Ｎ）を起点とするコピー経路は、ＰＩＤ１２及びＰＩＤ１３の２つである。
【００８２】
１３種類のコピー経路ＰＩＤ１〜ＰＩＤ１３のうち、本実施例では、ＰＩＤ１がリモートコピー経路として採用されている。現在使用中のコピー経路を、以下の説明では、アクティブ経路と呼ぶ場合がある。
【００８３】
図６は、各サイト１にそれぞれ保持されているコピー先情報テーブルＴ１を示す説明図である。各サイト１は、それぞれ自分のサイトに関するコピー先情報テーブルＴ１のみを保持する。例えば、サイト１（１）はテーブルＴ１（１）を、サイト１（２）はテーブルＴ１（２）を、サイト１（３）はテーブルＴ１（３）を、それぞれ予め保持する。
【００８４】
コピー先情報テーブルＴ１は、自サイトからデータを送信可能なサイト、つまり、自サイトからリモートコピーが可能なサイトを管理する。コピー先情報テーブルＴ１は、コピー元のサイトを識別する情報（例えば、サイト番号）Ｃ１１と、コピー可能なサイトの数Ｃ１２と、コピー可能なサイトを識別する情報Ｃ１３とを対応付けて管理する。なお、図６に示されていない他の情報をテーブルＴ１で管理する構成でもよい。例えば、コピー先サイトが複数存在する場合、現在使用中のリモートコピーにおいて送信すべきサイトを他のコピー先サイトと区別するためのフラグを設けることもできる。
【００８５】
テーブルＴ１（１）を例に挙げると、サイト１（１）からサイト１（２）またはサイト１（４）にデータを送信可能である。テーブルＴ１（２）の場合、サイト１（２）からサイト１（１），サイト１（３），サイト１（５）にデータを送信可能である。
【００８６】
図７は、サイト情報テーブルＴ２を示す説明図である。このテーブルＴ２は、各サイト１でそれぞれ保持される。サイト情報テーブルＴ２は、各サイト１が他の各サイト１との間でハートビート通信を行ったり、後述する新コピー経路に関する調停を行うために使用される。
【００８７】
サイト情報テーブルＴ２は、例えば、サイト数Ｃ２１と、サイト番号Ｃ２２と、ＩＰアドレスＣ２３と、優先度Ｃ２４と、死活判定Ｃ２５と、テーブル作成フラグＣ２６と、カウントＣ２７と、経路ＩＤ
Ｃ２８とを対応付けて管理する。
【００８８】
サイト数Ｃ２１とは、ストレージシステム内に含まれるサイト１の数である。サイト番号Ｃ２２とは、ストレージシステム内の各サイトを識別するための番号である。ＩＰアドレスＣ２３とは、そのサイトに予め設定されるＩＰアドレスを示す。優先度Ｃ２４とは、そのサイトに予め設定される優先度を示す。死活判定Ｃ２５とは、そのサイトが機能を停止しているか否かの判定結果を示す。テーブル作成フラグＣ２６とは、そのサイトにおいて後述のテーブルＴ３及びＴ４が作成されたか否かを示す。カウントＣ２７とは、そのサイトで選出されたコピー経路候補に含まれるサイトの数を示す。経路ＩＤ
Ｃ２８とは、そのサイトで選出されたコピー経路候補を識別するための情報である。
【００８９】
以上の各項目Ｃ２１〜Ｃ２８のうち、Ｃ２１〜Ｃ２４は予め設定される。残りの項目Ｃ２５〜Ｃ２８は、新コピー経路の調停を行う際に設定される。図７の上側には、テーブルＴ２の通常時の状態が示されている。図７の下側には、テーブルＴ２の、障害発生時における状態が示されている。
【００９０】
図８は、障害発生後に各サイト１でそれぞれ作成されるテーブルＴ３，Ｔ４を示す説明図である。ストレージシステムのリモートコピーに障害が発生した場合、各サイト１は、コピー経路管理テーブルＴ３及び経路構成管理テーブルＴ４をそれぞれ作成する。但し、各サイト１は、自サイトに関するテーブルのみ作成する。図８には、サイト１（２）によって作成されるテーブルＴ３（２），Ｔ４（２）が示されている。図９には、サイト１（Ｎ）によって作成されるテーブルＴ３（Ｎ），Ｔ４が示されている。他のサイトについても同様に、障害が発生した場合、自サイトに関するテーブルＴ３，Ｔ４がそれぞれ作成される。
【００９１】
コピー経路管理テーブルＴ３は、そのサイトを起点とする、リモートコピー可能な経路を管理するものである。テーブルＴ３は、例えば、コピー経路数Ｃ３１と、経路ＩＤ
Ｃ３２と、カウントＣ３３と、次サイトの優先度Ｃ３４とを対応付けている。
【００９２】
コピー経路数Ｃ３１とは、そのサイトを起点とするコピー可能な経路の総数を示す。カウントＣ３３とは、リモートコピー可能な経路に含まれる、機能を停止していないサイトの数を示す。次サイトの優先度Ｃ３４とは、最初のコピー先サイトに設定されている優先度を示す。
【００９３】
サイト１（２）を例に挙げて説明する。テーブルＴ３（２）は、ストレージシステム内のリモートコピーに障害が発生した場合に、サイト１（２）内で作成される。このテーブルＴ３（２）には、サイト１（２）を起点とするリモートコピー可能な経路についての各種情報が記憶される。次サイトとは、サイト１（２）からのデータを最初に受信するサイトであり、経路ＰＩＤ５の場合、次サイトはサイト１（３）となる。経路ＰＩＤ６の場合、次サイトはサイト１（５）となる。
【００９４】
本実施例では、アクティブ経路の起点であったサイト１（１）に障害が発生し、サイト１（１）が完全に機能を停止した場合を例に挙げて説明する。図５に示すように、経路ＰＩＤ４では、次サイトはサイト１（１）である。従って、経路ＰＩＤ４は使用することができないため、カウントＣ３３には「０」が設定される。次サイトであるサイト１（１）は機能を停止しているため、Ｃ３４に優先度は設定されない。
【００９５】
経路構成テーブルＴ４について説明する。経路構成テーブルＴ４は、リモートコピーに使用可能な経路の構成を管理する。経路構成テーブルＴ４は、例えば、経路ＩＤ
Ｃ４１と、経路上のサイト数Ｃ４２と、第１接続先サイトＣ４３と、第２接続先サイトＣ４４と、第３接続先サイトＣ４５と、第４接続先サイトＣ４６と、第５接続先サイトＣ４７・・・を備えている。
【００９６】
経路上のサイト数Ｃ４２は、リモートコピーに使用可能な経路に含まれるサイトの総数である。但し、サイト数Ｃ４２には、起点のサイトは含まれない。また、サイト数Ｃ４２では、そのサイトが機能を停止しているか否かは問わない。ハートビート通信を行ってサイトの死活を確認する場合に使用される。Ｃ４３〜Ｃ４７には、リモートコピーされる順番で、サイト番号が設定される。説明の便宜上、第５接続先サイトＣ４７までを示すが、これに限らず、ストレージシステムに含まれるサイトの総数に応じた数だけ接続先サイトの項目を設けることができる。
【００９７】
図１０は、ストレージシステムのリモートコピーに障害が発生した様子を示す説明図である。通常時には、サイト１（１）→サイト１（２）→サイト１（３）→サイト１（Ｎ）→サイト１（５）→サイト１（４）の経路ＰＩＤ１をアクティブ経路として、リモートコピーが実行されている。天災等によりサイト１（１）が機能を停止したと仮定する。
【００９８】
図１１は、障害発生によって、リモートコピーに使用可能な経路が減少する様子を示す説明図である。サイト１（１）が停止した場合、サイト１（１）を含む経路は全て障害による影響を受ける。さらに、リモートコピーは、予め設定される所定の順番でデータをコピーしていくため、コピー経路の上流側（コピー方向の上流側）で障害が発生した場合、下流側のサイトにデータをコピーすることはできない。
【００９９】
従って、経路ＰＩＤ１〜ＰＩＤ３は、最も上流に位置するサイト１（１）が停止するため、全く使用することができなくなる。ＰＩＤ４は、サイト１（２）の次に位置するサイト１（１）が停止するため、実質的に使用することができなくなる。また、ＰＩＤ１３では、サイト１（１）の停止によって、サイト１（１）の下流に位置するサイト１（２）及びサイト１（３）にデータを送信することはできなくなる。従って、ＰＩＤ１３の場合、その経路上に存在するサイトの総数は「５」であるが（起点サイトであるサイト１（Ｎ）を除く）、活動しているサイトの数は「２」となる。
【０１００】
図１２は、各サイト１において、コピー経路候補をそれぞれ検出する様子を示す説明図である。各サイト１は、例えば、そのサイトを起点としてリモートコピーに使用可能な各通信経路のうち、機能を停止していないサイトの数が最も多い通信経路を、コピー経路候補として選択する。
【０１０１】
サイト１（２）では、ＰＩＤ５に含まれる有効なサイトの数（活動中のサイトの数）が「４」であり、ＰＩＤ６に含まれる有効なサイトの数が「２」であるため、ＰＩＤ５がコピー経路候補として選択される。つまり、経路ＰＩＤ５は、サイト１（２）によって推薦される経路となる。
【０１０２】
同様にして、サイト１（３）では経路ＰＩＤ７が、サイト１（４）では経路ＰＩＤ１０が、サイト１（５）では経路ＰＩＤ１１が、サイト１（Ｎ）では経路ＰＩＤ１３が、それぞれ選ばれる。
【０１０３】
本実施例では、後述のように、各サイト１でそれぞれ選択されたコピー経路候補が他の各サイト１に通知される。各サイト１は、全てのコピー経路候補の中から最も適切なコピー経路候補を新コピー経路として選択する。本実施例では、サイト１（２）を起点とする経路ＰＩＤ５が新コピー経路として選択される。
【０１０４】
図１３は、リモートコピーに生じた障害から回復する際の全体の流れを示すフローチャートである。以下に示す各フローチャートは、本発明の理解及び実施に必要な範囲で処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。いわゆる当業者であれば、各フローチャート中のステップを入れ替えたり、変更等することができるであろう。
【０１０５】
ストレージシステムは、ユーザにより設定された条件で、複数のサイト１間でリモートコピーを実行する（Ｓ１０）。障害が検出されると（Ｓ１１）、正常に機能している各サイト１は、他の各サイト１から情報を収集して、テーブルＴ３，Ｔ４をそれぞれ生成する（Ｓ１２）。
【０１０６】
各サイト１は、リモートコピー可能な経路をそれぞれ評価し（Ｓ１３）、コピー経路候補をそれぞれ検出する（Ｓ１４）。各サイト１は、他の各サイト１で選ばれたコピー経路候補を取得し、全てのコピー経路候補の中から最も適切なコピー経路候補を新コピー経路として選択する（Ｓ１５）。これにより、ストレージシステムは、新コピー経路を用いて、リモートコピーを再開する（Ｓ１０）。
【０１０７】
図１４は、図１３中のＳ１０の詳細を示すフローチャートである。ストレージ１０は、送信元サイト内のストレージ１０からリモートコピーの対象となるデータを受信すると（Ｓ２０）、このデータを論理ボリューム１２２に記憶させる（Ｓ２１）。ストレージ１０は、送信元から受信したデータをキャッシュメモリ１１３に記憶すればよく、ディスクドライブ１２１に書き込む必要はない。ディステージ処理は、別のタイミングで行うことができる。
【０１０８】
ストレージ１０は、例えば、コピー先情報テーブルＴ１を参照することにより、現在使用中のリモートコピー経路を確認し（Ｓ２２）、次サイトに送信するか否かを判定する（Ｓ２３）。自サイトがリモートコピーの終点の場合（S23:NO）、Ｓ２６に移る。
【０１０９】
送信すべきサイトがある場合（S23:YES）、ストレージ１０は、リモートコピーの対象となっているデータを、コピー先サイト（次サイト）内のストレージ１０にに送信する（Ｓ２４）。ストレージ１０は、コピー先サイト内のストレージ１０から処理完了通知を受領するまで待機する（Ｓ２５）。コピー先サイトから、処理が完了した旨の通知を受領すると（S25:YES）、ストレージ１０は、処理が完了した旨をコピー元サイトに通知する（Ｓ２６）。
【０１１０】
図１５は、図１３中のＳ１１の詳細を示すフローチャートである。ホスト２０は、他のサイト内のホスト２０との間で行われるハートビート通信が正常であるか否かを判定する（Ｓ３０）。各サイト１のホスト２０は、管理用ネットワークＣＮ２を用いて、定期的にハートビート信号を送受している。何らかの障害が発生した場合、障害の発生したサイトからはハートビート信号が送信されない。従って、ハートビート信号を受信したか否かに基づいて、障害が発生したか否かを判定可能である。なお、各サイト１間の物理的な距離や通信ネットワークの混雑度、あるいは、ホスト２０の負荷等によって、ハートビート信号の送信が一時的に遅れる場合もある。そこで、Ｓ３０では、このような一時的なハートビート信号の遅れを検出しないようにすることもできる。
【０１１１】
続いて、ホスト２０は、リモートコピー処理が正常に行われているか否かを判定する（Ｓ３１）。何らかの障害がリモートコピーの経路上で発生している場合、処理完了通知がホスト２０に届かないため、障害の発生を検出することができる。
【０１１２】
ホスト２０は、ハートビート通信に異常を認めた場合（S30:NO）、または、リモートコピー処理に異常を認めた場合（S31:NO）のいずれかの場合に、障害の発生を検出する（Ｓ３２）。なお、図１５に示す処理は、後述の実施例から明らかなように、ストレージ１０で実行することもできる。
【０１１３】
図１６は、図１３中のＳ１２の詳細を示すフローチャートである。本処理は、各サイト１のホスト２０によって実行可能である。但し、ストレージ１０によって実行させる構成も可能である。
【０１１４】
ホスト２０は、正常に機能している他の各サイトについて、Ｓ４１〜Ｓ４４のステップを実行する（Ｓ４０）。まず、ホスト２０は、対象サイト内のホスト２０にハートビート信号を送信し（Ｓ４１）、対象サイトから応答があったか否かを判定する（Ｓ４２）。対象サイトから応答があった場合（S42:YES）、ホスト２０は、対象サイトは生存していると判定する（Ｓ４３）。即ち、ホスト２０は、ハートビート信号に応答した対象サイトが正常に活動していると判断する（Ｓ４３）。
【０１１５】
ホスト２０は、対象サイトが保持しているコピー先情報テーブルＴ１を対象サイトから取得する（Ｓ４４）。ホスト２０は、サイト情報テーブルＴ２の項目Ｃ２５に、対象サイトが正常に活動している旨を示す情報を記憶する（Ｓ４４）。これに対し、ハートビート信号に対する応答が無かった場合（S42:NO）、ホスト２０は、対象サイトは停止中であると判定する（Ｓ４５）。ホスト２０は、サイト情報テーブルＴ２の項目Ｃ２５に、対象サイトが停止している旨を示す情報を記憶する（Ｓ４５）。
【０１１６】
前記Ｓ４１〜Ｓ４５は、他の全てのサイトについて実行される。これにより、サイト情報テーブルＴ２には、どのサイトが正常に活動しており、どのサイトが停止しているかが記憶される。
【０１１７】
ホスト２０は、自サイトで保有するコピー先情報テーブルＴ１、及び、正常に活動している他の各サイトからそれぞれ取得したコピー先情報テーブルＴ１に基づいて、自サイトを起点とするコピー経路管理テーブルＴ３及び経路構成テーブルＴ４をそれぞれ生成する（Ｓ４６）。ホスト２０は、テーブルＴ３及びテーブルＴ４の作成が完了した旨を、正常に活動している他の各サイトにそれぞれ通知する（Ｓ４７）。
【０１１８】
ホスト２０は、正常に活動している他の各サイトから、テーブルＴ３及びＴ４の作成を完了した旨の通知を受領したか否かを判定する（Ｓ４８）。他のサイトから完了通知を受領すると（S48:YES）、ホスト２０は、サイト情報テーブルＴ２の項目Ｃ２６に、テーブルＴ３，Ｔ４が作成された旨を示す情報を記録する（Ｓ４９）。ホスト２０は、活動中の他の全てのサイトから、テーブルを作成した旨の通知を受領するまで、Ｓ４８，Ｓ４９を繰り返す（Ｓ５０）。活動中の他の全てのサイトから通知を受領すると（S50:YES）、本処理は終了する。
【０１１９】
図１７は、図１３中のＳ１３の詳細を示すフローチャートである。本処理は、例えば、ホスト２０によって実行される。しかし、既に述べた通り、本実施例に示す各フローチャートをストレージ１０で実行することも可能である。
【０１２０】
ホスト２０は、自サイトを起点とする各コピー経路（図１７に示すコピー経路とは、「リモートコピーに使用可能な経路」を意味する）について、Ｓ６１〜Ｓ６７のステップをそれぞれ実行する（Ｓ６０）。
【０１２１】
ホスト２０は、処理対象のコピー経路について、最初のコピー先サイトにハートビート信号を送信する（Ｓ６１）。次に、ホスト２０は、最初のコピー先サイト（即ち、自サイトの次に位置するサイト）がハートビート信号に対する応答を返したか否かを判定する（Ｓ６２）。応答があった場合（S62:YES）、ホスト２０は、その最初のコピー先サイトにデータをコピーさせることが可能か否かを判定する（Ｓ６３）。コピー可能であると判断した場合（S63:YES）、ホスト２０は、処理対象のコピー経路上で生存しているサイトの数を示すカウントＣ３３の値を、１つインクリメントさせる（Ｓ６４）。
【０１２２】
ホスト２０は、処理対象のコピー経路上の全サイトについて、リモートコピーの実行可否を判断したか否かを判定する（Ｓ６５）。未確認のサイトが残っている場合（S65:YES）、ホスト２０は、処理対象のコピー経路上のさらに次のサイトに向けて、ハートビート信号を送信する（Ｓ６６）。
【０１２３】
全てのサイトについてリモートコピーの実行可否を判断した場合（S65:YES）、ホスト２０は、処理対象のコピー経路を次のコピー経路に移し（Ｓ６７）、Ｓ６１〜Ｓ６６を繰り返す。
【０１２４】
Ｓ６２またはＳ６３で「NO」と判定された場合、Ｓ６７に移り、処理対象のコピー経路を次のコピー経路に切り替える。リモートコピーは順番に行う必要があるため、コピー経路上のいずれかのサイトがリモートコピー不能である場合、それより下流のサイトについて検査する必要は無いためである。
【０１２５】
例えば、図１１を参照して、サイト１（３）のホスト２０が本処理を実行する場合を説明する。ホスト２０は、サイト１（Ｎ）にハートビート信号を送信し（Ｓ６１）、その応答を確認した場合（S62:YES）、サイト１（Ｎ）でリモートコピーの実行が可能か否かを確認する（Ｓ６３）。サイト１（Ｎ）をリモートコピー処理に使用できる場合（S63:YES）、ホスト２０は、コピー経路管理テーブルＴ４（３）の経路ＰＩＤ７に関するカウントＣ３３に「１」を設定する（Ｓ６４）。
【０１２６】
以下同様に、ホスト２０は、次のサイト１（５）、さらに次のサイト１（４）についても、リモートコピーに使用可能か否かを判定し（Ｓ６２，Ｓ６３）、カウントＣ３３の値を１つずつ増加させる（Ｓ６４）。
【０１２７】
図５に示すように、経路ＰＩＤ７において、サイト１（４）の下流にはサイト１（１）が位置している。しかし、サイト１（１）には障害が発生している。従って、ホスト２０が、サイト１（１）にハートビート信号を送信しても（Ｓ６６）、サイト１（１）から応答は返らない（S62:NO）。そこで、ホスト２０は、経路ＰＩＤ７に関する検査（リモートコピーに使用可能か否かの確認作業）を終了し、次の経路に移る（Ｓ６７）。しかし、サイト１（３）を起点とするリモートコピー可能な経路はＰＩＤ７だけのため、本処理は終了する。
【０１２８】
図１８は、図１３中のＳ１４の詳細を示すフローチャートである。ホスト２０は、コピー経路管理テーブルＴ３を参照し（Ｓ７０）、テーブルＴ３に登録されている各経路ＩＤ（Ｃ３２）のうち、カウントＣ３３の値が最大の経路ＩＤを検出する（Ｓ７１）。
【０１２９】
ホスト２０は、カウントＣ３３の値が最大の経路ＩＤが複数検出されたか否かを判定する（Ｓ７２）。カウントＣ３３の値が最大の経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有する経路をコピー経路候補として選択し（Ｓ７３）、選択されたコピー経路候補を、サイト情報テーブルＴ２の項目Ｃ２８に記録させる（Ｓ７５）。
【０１３０】
これに対し、カウントＣ３３の値が最大の経路ＩＤが複数検出された場合（S72:YES）、ホスト２０は、いずれか優先度Ｃ３４の高い方の経路ＩＤを有する経路を、コピー経路候補として選択する（Ｓ７４）。つまり、経路上に生存するサイト数が同数の場合、次サイトの優先度がより高い方の経路が、コピー経路候補として選択される。
【０１３１】
なお、本実施例では、次サイトの優先度によって優劣を決しているが、これに限らず、例えば、その経路上に存在する各サイトの優先度の合計値によって優劣を決する構成としてもよい。
【０１３２】
図１９は、図１３中のＳ１５の詳細を示すフローチャートである。ホスト２０は、他の各サイト１でそれぞれ選出されたコピー経路候補の経路ＩＤ及びそのカウント値を問合せる（Ｓ８０）。この問合せに対して他のサイトから応答があった場合（S81:YES）、ホスト２０は、他の各サイトで選出されたコピー経路候補のカウント値及び経路ＩＤを、サイト情報テーブルＴ２の項目Ｃ２７，Ｃ２８にそれぞれ登録する（Ｓ８２）。前記問合せに対する応答がないサイトについては（S81:NO）、ホスト２０は、サイト情報テーブルＴ２のカウント値Ｃ２７に「０」を設定する（Ｓ８３）。
【０１３３】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、最大のカウント値を有する経路ＩＤを検出する（Ｓ８４）。ホスト２０は、最大のカウント値を有する経路ＩＤが複数検出されたか否かを判定する（Ｓ８５）。最大のカウント値を有する経路ＩＤが１つだけ検出された場合（S85:NO）、ホスト２０は、その経路ＩＤを有するコピー経路候補を新コピー経路として選択する（Ｓ８６）。
【０１３４】
最大のカウント値を有する経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７）。
【０１３５】
ホスト２０は、Ｓ８６またはＳ８７のいずれかで選択された新コピー経路の起点となるサイトが、自サイトであるか否かを判定する（Ｓ８８）。新コピー経路の起点が自サイトではない場合（S88:NO）、本処理は終了する。
【０１３６】
新コピー経路の起点が自サイトである場合（S88:YES）、ホスト２０は、新コピー経路の使用が適切であるか否かを診断する。ホスト２０は、新コピー経路に含まれているサイト１の数が、予め設定された所定値Ｍ以上であるか否かを判定する（Ｓ８９）。所定値Ｍとしては、例えば、ストレージシステムに含まれるサイトの総数Ｎの半分以上の値として設定される（Ｍ＞Ｎ／２）。サイトが正常に活動しているか否かは問わない。障害発生前にストレージシステムに含まれていたサイトの総数Ｎの過半数の値を所定値Ｍとして設定することができる。これにより、障害によって、ストレージシステムが複数の島に分断された場合でも、各島でそれぞれリモートコピーが再開されるのを防止することができ、データの整合性を維持することができる。
【０１３７】
新コピー経路に含まれるサイトの数が所定値Ｍ以上の場合（S89:YES）、ホスト２０は、ユーザ（管理者）に対して、新コピー経路が選択されリモートコピーが再開される旨を通知する（Ｓ９０）。ホスト２０は、リモートコピーの再開に使用される新コピー経路を他の各サイト１に通知し（Ｓ９１）、他の各サイトからの応答を確認した後で、リモートコピー処理を再開させる（Ｓ９２）。
【０１３８】
これに対し、新コピー経路に含まれるサイトの数が所定値Ｍ未満の場合（S89:NO）、ホスト２０は、リモートコピーを再開できない旨をユーザに通知する（Ｓ９３）。
【０１３９】
図２０は、障害によってストレージシステムが分断される様子を模式的に示す説明図である。図２０（ａ）は、通常時の状態を示す。通常時には、アクティブ経路を用いて、Ｎ個のサイト間でリモートコピーが実施されている。
【０１４０】
図２０（ｂ）は、サイト１（１）に障害が発生した場合を示す。この場合は、上述した各処理により、新コピー経路が選択され、リモートコピーが再開される。
【０１４１】
図２０（ｃ）は、サイト１（Ｎ）とサイト１（５）の間の通信経路に障害が発生し、ストレージシステムが２つの島に分断された場合を示す。第１の島には、サイト１（１）、サイト１（２）、サイト１（Ｎ）が含まれている。第２の島には、サイト１（４）、サイト１（５）が含まれている。そして、第１の島と第２の島との間を接続する別の通信経路は存在しないものとする。
【０１４２】
この場合、第１の島と第２の島とで、それぞれ新コピー経路を選択してリモートコピーを再開すると、データの整合性を維持することができない。別々のリモートコピーを各島で勝手に再開させた場合、サイト１（Ｎ）とサイト１（５）との間の通信障害が回復した後で、問題を抱えることになる。そこで、本実施例では、所定値Ｍ以上のサイトを有する新コピー経路のみを用いてリモートコピーを再開させる。従って、図２０（ｄ）に示す例では、第１の島でのみリモートコピーは再開され、第２の島ではリモートコピーは再開されない。
【０１４３】
本実施例は上述のように構成されるため、以下の効果を奏する。本実施例では、複数のサイト１間で実行されるリモートコピーに障害が発生した場合でも、リモートコピーに使用可能な経路の中からコピー経路の候補を検出し、検出されたコピー経路の候補の中から新コピー経路を選択し、新コピー経路を用いてリモートコピーを再開できる。これにより、耐障害性が向上し、データ保護の信頼性を維持することができる。
【０１４４】
本実施例では、各サイト１がぞれぞれコピー経路候補を検出し、いずれのコピー経路候補を新コピー経路とすべきか判断するため、ストレージシステム全体を管理するための管理装置を別に設ける必要がない。即ち、本実施例では、ストレージシステムの各サイト１は、それぞれ自律的に、リモートコピーを復旧させるための新たなコピー構成を判断し、サイト１間で調停することができる。従って、障害が同時に複数発生した場合でも、対応可能である。
【０１４５】
本実施例では、リモートコピーの方向も考慮して新コピー経路を探索し、かつ、新コピー経路の使用可否を診断してから、リモートコピーを再開させる。従って、リモートコピーに関与する各サイト１間で、データの整合性が失われるのを防止でき、信頼性を維持することができる。
【０１４６】
本実施例では、選択された新コピー経路を使用することが適切であるか否かを診断し、使用が適切であると判断された場合のみ、リモートコピーを再開させる。従って、リモートコピーシステムが複数の島に分断された場合でも、データの整合性を維持し、かつ、できるだけ多くのサイトにデータのコピーを残すことができる。
【実施例２】
【０１４７】
図２１〜図２６に基づいて本発明の第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に相当する。なお、以下の説明では、重複した説明を割愛し、特徴的な部分を中心に説明する。
【０１４８】
図２１は、コピー先情報テーブルＴ１Ａの例を示す説明図である。テーブルＴ１Ａの項目Ｃ１４に示すように、本実施例では、コピー経路上のサイト数（カウント値）に代えて、「重み」に基づいてコピー経路を選択する。重みは、例えば、ユーザによって予め設定される。
【０１４９】
図２２は、サイト情報テーブルＴ２Ａを示す。このテーブルＴ２Ａでは、各コピー経路候補の重みの合計値Ｃ２９で管理している。図２３は、コピー経路管理テーブルＴ３Ａ及び経路情報テーブルＴ４Ａを示す。テーブルＴ３Ａでは、自サイトを起点とする各コピー経路について、重みの合計値Ｃ３５及び優先度Ｃ３４を管理する。経路構成テーブルＴ４Ａには、コピー経路上の各サイトについて、重みがそれぞれ記録されている。
【０１５０】
図２４は、コピー経路を評価する処理を示すフローチャートである。本フローチャートは、図１７に示すフローチャートと共通のステップを多く備える。本実施例の特徴的な部分に注目すると、ホスト２０は、コピー先サイトにデータをコピーさせることが可能であると判定した場合（S63:YES）、そのコピー先サイトに関連づけられている重みを取得して、重み合計値Ｃ３５に加算する（Ｓ６４Ａ１）。さらに、ホスト２０は、処理対象のコピー経路上で生存しているサイトの数を示すカウントＣ３３の値を、１つインクリメントさせる（Ｓ６４Ａ２）。
【０１５１】
図２５は、コピー経路候補を選択するための処理を示すフローチャートである。本フローチャートは、図１８に示すフローチャートと共通のステップを備える。ホスト２０は、コピー経路管理テーブルＴ３に登録されている各経路ＩＤ（Ｃ３２）のうち、重み合計値Ｃ３５の値が最大の経路ＩＤを検出する（Ｓ７１Ａ）。
【０１５２】
ホスト２０は、重み合計値Ｃ３５の値が最大である経路ＩＤを複数検出したか否かを判定する（Ｓ７２）。重み合計値Ｃ３５の値が最大の経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有する経路をコピー経路候補として選択し（Ｓ７３Ａ）、選択されたコピー経路候補を、サイト情報テーブルＴ２の項目Ｃ２８に記録させる（Ｓ７５）。重み合計値Ｃ３５の値が最大の経路ＩＤを複数検出した場合（S72:YES）、ホスト２０は、いずれか優先度Ｃ３４の高い方の経路ＩＤを有する経路を、コピー経路候補として選択する（Ｓ７４）。
【０１５３】
図２６は、新コピー経路を決定するための処理を示すフローチャートである。本フローチャートは、図１９に示すフローチャートと共通のステップを備える。ホスト２０は、他の各サイト１でそれぞれ選出されたコピー経路候補の経路ＩＤとカウント値及び重み合計値を問合せる（Ｓ８０Ａ）。この問合せに対して他のサイトから応答があった場合（S81:YES）、ホスト２０は、他の各サイトで選出されたコピー経路候補のカウント値と重み合計値及び経路ＩＤを、サイト情報テーブルＴ２にそれぞれ登録する（Ｓ８２Ａ）。前記問合せに対する応答がないサイトについては（S81:NO）、ホスト２０は、サイト情報テーブルＴ２のカウント値及び重み合計の欄にそれぞれ「０」を設定する（Ｓ８３Ａ）。
【０１５４】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、最大の重み合計値を有する経路ＩＤを検出する（Ｓ８４Ａ）。ホスト２０は、最大の重み合計値を有する経路ＩＤが複数検出されたか否かを判定する（Ｓ８５）。最大の重み合計値を有する経路ＩＤが１つだけ検出された場合（S85:NO）、ホスト２０は、その経路ＩＤを有するコピー経路候補を新コピー経路として選択する（Ｓ８６Ａ）。最大の重み合計値を有する経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７）。
【０１５５】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。さらに、本実施例では、ユーザが予め設定可能な「重み」に基づいて、新コピー経路を決定するため、使い勝手が向上する。例えば、ユーザは、データのコピーを保持させたい重要なサイトに、予め大きな重みを設定しておくことができる。
【実施例３】
【０１５６】
図２７，図２８に基づいて、第３実施例を説明する。本実施例では、競合するコピー経路が複数存在する場合に、重み合計値の大小に基づいていずれか一つのコピー経路を選択する。
【０１５７】
図２７は、本実施例によるコピー経路候補の選択処理を示すフローチャートである。本処理は、図１８に示すフローチャートと共通のステップを備える。ホスト２０は、コピー経路管理テーブルＴ３に登録されている各経路ＩＤ（Ｃ３２）のうち、カウントＣ３３の値が最大の経路ＩＤを検出する（Ｓ７１）。
【０１５８】
ホスト２０は、カウントＣ３３の値が最大の経路ＩＤが複数検出されたか否かを判定する（Ｓ７２）。カウントＣ３３の値が最大の経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有する経路をコピー経路候補として選択する（Ｓ７３）。カウントＣ３３の値が最大の経路ＩＤが複数検出された場合（S72:YES）、ホスト２０は、いずれか重み合計値の大きい方の経路ＩＤを有する経路を、コピー経路候補として選択する（Ｓ７４Ａ）。
【０１５９】
図２８は、新コピー経路を決定するための処理を示すフローチャートである。本フローチャートは、図１９，図２６に示すフローチャートと共通のステップを備える。ホスト２０は、他の各サイト１でそれぞれ選出されたコピー経路候補の経路ＩＤとカウント値及び重み合計値を問合せる（Ｓ８０Ａ）。
【０１６０】
この問合せに対して他のサイトから応答があった場合（S81:YES）、ホスト２０は、他の各サイトで選出されたコピー経路候補のカウント値と重み合計値及び経路ＩＤを、サイト情報テーブルＴ２にそれぞれ登録する（Ｓ８２Ａ）。前記問合せに対する応答がないサイトについては（S81:NO）、ホスト２０は、サイト情報テーブルＴ２のカウント値及び重み合計の欄にそれぞれ「０」を設定する（Ｓ８３Ａ）。
【０１６１】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、最大のカウント値を有する経路ＩＤを検出する（Ｓ８４）。ホスト２０は、最大のカウント値を有する経路ＩＤが複数検出されたか否かを判定する（Ｓ８５）。最大の重み合計値を有する経路ＩＤが１つだけ検出された場合（S85:NO）、ホスト２０は、その経路ＩＤを有するコピー経路候補を新コピー経路として選択する（Ｓ８６）。
【０１６２】
最大のカウント値を有する経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか重み合計値の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７Ａ）。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例４】
【０１６３】
図２９に基づいて第４実施例を説明する。本実施例では、選択された新コピー経路の使用が適切か否かを診断するために、重み合計値を使用する。一例として第２実施例に適用する場合を説明するが、これに限らず、他の実施例にも適用することができる。以下に述べる各実施例も同様に、図示された実施例に限定されず、他の実施例に適用することもできる。
【０１６４】
図２９は、新コピー経路を決定するための処理を示すフローチャートである。本フローチャートは、図２６に示すフローチャートと共通のステップを備える。本実施例では、Ｓ８８で「NO」と判定された後、ホスト２０は、新コピー経路の重み合計値が、予め設定されている所定値Ｍ１以上であるか否かを判定する（Ｓ８９Ａ）。
【０１６５】
このように構成される本実施例でも前記第１実施例と同様の効果を奏する。さらに、本実施例では、新コピー経路の使用可否を重み合計値に基づいて判断するため、ユーザの使い勝手が向上する。
【０１６６】
例えば、ユーザは、高性能のストレージ１０や多数の保守員等を備える主要拠点に高い重みを設定することにより、ストレージシステムが複数の島に分断された場合でも、主要拠点を多く含む方の島でリモートコピーを再開させることができる。
【実施例５】
【０１６７】
図３０に基づいて第５実施例を説明する。本実施例では、前記第４実施例を前記第３実施例に適用する場合を説明する。
【０１６８】
図３０は、新コピー経路を決定するための処理を示すフローチャートである。本フローチャートは、図２８に示すフローチャートと共通のステップを備える。
【０１６９】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、最大のカウント値を有する経路ＩＤを検出する（Ｓ８４）。最大のカウント値を有する経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか重み合計値の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７Ａ）。
【０１７０】
そして、ホスト２０は、新コピー経路の重み合計値が、予め設定されている所定値Ｍ１以上であるか否かを判定する（Ｓ８９Ａ）。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例６】
【０１７１】
図３１に基づいて第６実施例を説明する。本実施例では、カウント値に代えて、優先度の高いコピー経路を選択する。図３１は、コピー経路候補を選択するための処理を示すフローチャートである。本フローチャートは、図１８に示すフローチャートと共通のステップを備えている。
【０１７２】
ホスト２０は、コピー経路管理テーブルＴ３に登録されている各経路ＩＤ（Ｃ３２）のうち、優先度Ｃ３４の値が最大の経路ＩＤを検出する（Ｓ７１Ｂ）。ホスト２０は、優先度Ｃ３４の値が最大の経路ＩＤが複数検出されたか否かを判定する（Ｓ７２）。優先度Ｃ３４の値が最大の経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有する経路をコピー経路候補として選択する（Ｓ７３Ｂ）。
【０１７３】
優先度Ｃ３４の値が最大の経路ＩＤが複数検出された場合（S72:YES）、ホスト２０は、いずれか重み合計値の高い方の経路ＩＤを有する経路を、コピー経路候補として選択する（Ｓ７４Ｂ）。
【０１７４】
なお、図示は省略するが、いわゆる当業者であれば理解できるように、新コピー経路を決定する処理においても、まず優先度に基づいて判断し、優先度だけで優劣を決する事ができない場合に、重み合計値に基づいて判断することができる。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例７】
【０１７５】
図３２〜図３７に基づいて第７実施例を説明する。本実施例では、優先度に代えて、ペナルティを主な評価基準として使用する。ペナルティは、例えば、ユーザによって予め設定される。
【０１７６】
図３２は、コピー先情報テーブルＴ１Ｂを示す説明図である。このテーブルＴ１Ｂは、前記第１実施例における優先度に代えて、ペナルティＣ１４Ａを管理する。図３３に示すように、サイト情報テーブルＴ２Ｂは、優先度に代えて、ペナルティの合計値Ｃ２９Ａを管理する。
【０１７７】
図３４に示すように、コピー経路管理テーブルＴ３Ｂではペナルティの合計値Ｃ３５Ａを管理し、経路構成テーブルＴ４Ｂではコピー経路上に存在する各サイトのペナルティを管理する。
【０１７８】
コピー経路管理テーブルＴ３Ｂは、サイトの優先度も合わせて管理している。本実施例では、コピー経路候補を選択する処理や新コピー経路を決定する処理において、ペナルティだけでは判断できない場合の、副次的基準として「優先度」を使用する。
【０１７９】
図３５は、コピー経路を評価する処理を示すフローチャートである。ホスト２０は、リモートコピーに利用可能な経路についてペナルティを加算し（Ｓ６４Ｃ１）、カウント値を１つインクリメントさせる（Ｓ６４Ｃ２）。
【０１８０】
図３６は、コピー経路候補を選択する処理を示すフローチャートである。ホスト２０は、リモートコピーに利用可能な各経路のうち、ペナルティの合計値が最小である経路ＩＤを検出する（Ｓ７１Ｃ）。
【０１８１】
ペナルティの合計値が最小である経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有するコピー経路をコピー経路候補として選択する（Ｓ７３Ｃ）。ペナルティの合計値が最小である経路ＩＤが複数検出された場合（S72:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路をコピー経路候補として選択する（Ｓ７４）。
【０１８２】
図３７は、新コピー経路を決定するための処理を示すフローチャートである。ホスト２０は、他の各サイト１でそれぞれ選出されたコピー経路候補の経路ＩＤとカウント値及びペナルティの合計値を問合せる（Ｓ８０Ｃ）。ホスト２０は、他の各サイトで選出されたコピー経路候補のカウント値とペナルティの合計値及び経路ＩＤを、サイト情報テーブルＴ２にそれぞれ登録する（Ｓ８２Ｃ）。応答がないサイトについては（S81:NO）、ホスト２０は、サイト情報テーブルＴ２のカウント値及びペナルティの合計値の欄にそれぞれ「０」を設定する（Ｓ８３Ｃ）。
【０１８３】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、最小のペナルティの合計値を有する経路ＩＤを検出する（Ｓ８４Ｃ）。ホスト２０は、最小のペナルティの合計値を有する経路ＩＤが複数検出されたか否かを判定する（Ｓ８５）。最小のペナルティの合計値を有する経路ＩＤが１つだけ検出された場合（S85:NO）、ホスト２０は、その経路ＩＤを有するコピー経路候補を新コピー経路として選択する（Ｓ８６Ｃ）。最小のペナルティの合計値を有する経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７）。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例８】
【０１８４】
図３８〜図４３に基づいて第８実施例を説明する。本実施例では、「重み」の一例として、データ反映時間を使用する。データ反映時間とは、コピー先サイトに転送されたデータがコピー先サイトに記憶されるまでに要する時間である。データ反映時間は、予め実測しておくことができる。あるいは、一つまたは複数の指標に基づいて、データ反映時間を推測する構成でもよい。
【０１８５】
図３８に示すように、コピー先情報テーブルＴ１Ｄは、データ反映時間を管理するための項目Ｃ１４Ｄを備えている。図３９に示すように、サイト情報テーブルＴ２Ｄは、データ反映時間の合計値を管理するための項目Ｃ２９Ｄを備える。図４０に示すように、コピー経路管理テーブルＴ３Ｄは、データ反映時間の合計値を管理するための項目Ｃ３５Ｄを備える。経路構成テーブルＴ４Ｄは、各サイトを識別する情報と共に、そのサイトに設定されたデータ反映時間を管理する。
【０１８６】
図４１は、コピー経路を評価する処理を示すフローチャートである。ホスト２０は、リモートコピーに利用可能な経路について、データ反映時間を加算し（Ｓ６４Ｄ１）、カウント値を１つインクリメントさせる（Ｓ６４Ｄ２）。
【０１８７】
図４２は、コピー経路候補を選択する処理を示すフローチャートである。ホスト２０は、リモートコピーに利用可能な各経路のうち、データ反映時間の合計値が最小である経路ＩＤを検出する（Ｓ７１Ｄ）。データ反映時間の合計値が最小である経路ＩＤが１つだけ検出された場合（S72:NO）、ホスト２０は、その経路ＩＤを有するコピー経路をコピー経路候補として選択する（Ｓ７３Ｄ）。データ反映時間の合計値が最小である経路ＩＤが複数検出された場合（S72:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路をコピー経路候補として選択する（Ｓ７４）。
【０１８８】
図４３は、新コピー経路を決定するための処理を示すフローチャートである。ホスト２０は、他の各サイト１でそれぞれ選出されたコピー経路候補の経路ＩＤとカウント値及びデータ反映時間の合計値を問合せる（Ｓ８０Ｄ）。ホスト２０は、他の各サイトで選出されたコピー経路候補のカウント値とデータ反映時間の合計値及び経路ＩＤを、サイト情報テーブルＴ２にそれぞれ登録する（Ｓ８２Ｄ）。応答がないサイトについては（S81:NO）、ホスト２０は、サイト情報テーブルＴ２のカウント値及びデータ反映時間の合計値の欄にそれぞれ「０」を設定する（Ｓ８３Ｄ）。
【０１８９】
ホスト２０は、サイト情報テーブルＴ２に登録された各経路ＩＤのうち、のデータ反映時間の合計値が最小である経路ＩＤを検出する（Ｓ８４Ｄ）。ホスト２０は、データ反映時間の合計値が最小である経路ＩＤが複数検出されたか否かを判定する（Ｓ８５）。データ反映時間の合計値が最小である経路ＩＤが１つだけ検出された場合（S85:NO）、ホスト２０は、その経路ＩＤを有するコピー経路候補を新コピー経路として選択する（Ｓ８６Ｄ）。データ反映時間の合計値が最小である経路ＩＤが複数検出された場合（S85:YES）、ホスト２０は、いずれか優先度の高い方の経路ＩＤを有するコピー経路候補を、新コピー経路として選択する（Ｓ８７）。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例９】
【０１９０】
図４４に基づいて第９実施例を説明する。本実施例では、「重み」の別の例として、「復旧時間」を使用する。復旧時間とは、スタンバイ状態から立ち上げるために要する時間を意味する。復旧時間は、例えば、アプリケーションプログラムを立ち上げるのに必要な時間、そのサイトに配置されている保守員の数や保守員の質等を考慮して、予め設定することができる。
【０１９１】
他の構成は、前記第８実施例と同様に構成できる。第８実施例中の「データ反映時間」を「復旧時間」に置き換えばよい。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例１０】
【０１９２】
図４５〜図４７に基づいて第１０実施例を説明する。本実施例では、同一のコピー元サイトから複数のコピー先サイトにデータを転送する場合について説明する。図４５は、本実施例によるストレージシステムの一部を示す説明図である。
【０１９３】
コピー元サイト１（ＳＡ）は、複数のコピー先サイト１（ＳＢ），１（ＳＣ）にそれぞれ接続されており、同一のライトデータを各コピー先サイト１（ＳＢ），１（ＳＣ）に転送するようになっている。このような一つのコピー元サイトから複数のコピー先サイトにデータを転送する構成を、以下の説明ではマルチターゲット構成と呼ぶ場合がある。
【０１９４】
図４６は、前記第１実施例の構成に適用した場合を示す。例えば、サイト１（１）は、リモートコピー対象のデータをサイト１（２）及びサイト１（４）に同時に送信する。サイト１（２）は、リモートコピー対象のデータをサイト１（３）及びサイト１（５）に同時に送信する。
【０１９５】
図４７は、コピー経路管理テーブルＴ３Ｆ及び経理構成テーブルＴ４Ｆの例を示す説明図である。サイト１（１）に関する経路構成テーブルＴ４Ｆ（１）に着目すると、最初のコピー先サイト（第１接続先サイト）として、サイト１（２）及びサイト１（４）が設定されている。次の接続先サイト（第２接続先サイト）として、サイト１（３）及びサイト１（５）が設定されている。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例１１】
【０１９６】
図４８〜図５０に基づいて第１１実施例を説明する。本実施例では、非同期方式でリモートコピーを実行する。前記第１実施例では、コピー先サイトからの完了通知を受領した後でコピー元サイトはホスト２０に処理完了を通知する、という同期方式のリモートコピーを説明した。同期方式の場合、各サイトにデータが行き渡るのを確認してから、ホスト２０に処理完了が報告される。従って、各サイトでそれぞれ保持されるデータを一致させることができる。この反面、コピー先サイトからの応答（処理完了通知）を待つ必要があるため、ホスト２０に処理完了を報告するまでに時間を要する。例えば、リモートコピーに関連するサイトの数が増加するほど、あるいは、各サイト間の物理的距離が長くなるほど、ホスト２０に処理完了を報告するまでの時間がかかる。
【０１９７】
これに対し、非同期方式でリモートコピーを行う場合は、コピー先サイトからの応答を待たずに、ホスト２０に処理完了を報告することができる。従って、リモートコピーシステムの応答性能を、同期方式よりも改善することができる。しかし、コピー先サイトでの処理が完了したか否かを確認しないため、各サイトで保持されているデータが同一であるか否かを保証することはできない。
【０１９８】
図４８は、本実施例によるデータコピー処理を示すフローチャートである。ストレージ１０は、送信元のストレージ１０からデータを受信すると（Ｓ２０）、このデータを論理ボリューム１２２に記憶させる（Ｓ２１）。ストレージ１０は、送信元のストレージ１０に、処理完了を報告する（Ｓ２７Ｇ）。
【０１９９】
ストレージ１０は、現在使用中のリモートコピー経路を確認し（Ｓ２２）、次サイトに送信するか否かを判定する（Ｓ２３）。自サイトがリモートコピーの終点の場合（S23:NO）、Ｓ２６に移る。
【０２００】
送信すべきサイトがある場合（S23:YES）、ストレージ１０は、リモートコピーの対象となっているデータを、コピー先サイト（次サイト）内のストレージ１０にに送信する（Ｓ２４）。ストレージ１０は、コピー先サイト内のストレージ１０から処理完了通知を受領すると（Ｓ２５Ｇ）、本処理を終了する。
【０２０１】
図４９は、新コピー経路を決定する処理を示すフローチャートである。本処理では、ホスト２０は、リモートコピーの再開に使用される新コピー経路を他の各サイト１に通知する（Ｓ９１）。そして、ホスト２０は、他の各サイトからの応答を確認して、各サイト間でのデータを同期させた後で、リモートコピー処理を再開させる（Ｓ９２Ｇ）。
【０２０２】
図５０は、図４９中のＳ９２Ｇの詳細を示すフローチャートである。ホスト２０は、再開されるリモートコピーに関連する他の各サイトに、それぞれのサイトで保持されている最新データに設定されたシーケンス番号を問い合わせる（Ｓ１００）。
【０２０３】
ホスト２０は、他の各サイトから最新データのシーケンス番号をそれぞれ受領し（Ｓ１０１）、リモートコピーに関連する全てのサイト（自サイトを含む）において、最新のシーケンス番号を検出する（Ｓ１０２）。
【０２０４】
ホスト２０は、自サイトで保有するデータのシーケンス番号が最新であるか否かを判定し（Ｓ１０３）、自サイトに関するシーケンス番号が最新ではない場合（S103:NO）、最新のシーケンス番号を有する他のサイトに、自サイトのデータとの差分のデータを要求する（Ｓ１０４）。最新データを有するサイトを基準サイトと呼ぶこともできる。ホスト２０は、基準サイトから受領した差分データを論理ボリューム１２２に書込み、自サイトで保持するデータを最新内容に更新させる（Ｓ１０５）。
【０２０５】
ホスト２０は、他の各サイトに、データの同期処理（Ｓ１０５）が完了した旨をそれぞれ通知する（Ｓ１０６）。ホスト２０は、他の各サイトから、データ同期処理の完了を示す通知を受信するまで待機する（Ｓ１０７）。サイト間でデータが同期したことを確認すると（S107:YES）、ホスト２０は、新コピー経路を用いて、リモートコピーを再開させる（Ｓ１０８）。なお、自サイトで保持するデータのシーケンス番号が最新である場合（S103:YES）、Ｓ１０６に移る。
【０２０６】
具体的に述べると、例えば、サイト１（２）で保有する最新データのシーケンス番号が＃１００，サイト１（３）で保有する最新データのシーケンス番号が＃９５、サイト１（４）で保有する最新データのシーケンス番号が＃９０の場合、最新のシーケンス番号は、サイト１（２）の＃１００である。サイト１（２）は、リモートコピー再開前に実行される同期処理の基準サイトとなる。
【０２０７】
サイト１（３）は、＃９６から＃１００までの差分データをサイト１（２）に要求し、サイト１（３）で保持されるデータを最新内容に更新する。同様に、サイト１（４）は、＃９１から＃１００までの差分データをサイト１（２）から取得して、サイト１（４）で保持されるデータを最新内容に更新する。このようにして、各サイト１（２），１（３）及び１（４）間で、データを同期させることができる。各サイト１（２），１（３），１（４）間でデータの同期が完了した後、リモートコピーが再開される。
【０２０８】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。さらに、本実施例では、非同期方式で、複数のサイト間でリモートコピーを行うことができる。従って、サイト数が多い場合や、サイト間が物理的に遠く離れている場合、サイト間の通信速度が区々である場合でも、比較的速やかにリモートコピーを行うことができる。また、障害発生時には、各サイトに記憶されているデータを同期させてからリモートコピーを再開するため、信頼性のあるリモートコピーを行うことができる。
【実施例１２】
【０２０９】
図５１に基づいて第１２実施例を説明する。本実施例では、リモートコピー対象のデータを受信するサイト１（ＳＣ）は、コピー元となり得る複数のサイト１（ＳＡ），１（ＳＢ）のいずれか一方から、リモート対象データを受信することができる。
【０２１０】
図５１は、本実施例のストレージシステムの一部を示す説明図である。各サイト１（ＳＡ），１（ＳＢ），１（ＳＣ）はそれぞれ通信経路を介して接続されている。サイト１（ＳＡ）は、サイト１（ＳＢ）及びサイト１（ＳＣ）にデータをそれぞれ送信することができる。サイト１（ＳＢ）は、サイト１（ＳＣ）にデータを送信可能である。従って、サイト１（ＳＣ）は、サイト１（ＳＡ）及びサイト１（ＳＢ）からデータを受信することができるようになっている。
【０２１１】
サイト１（ＳＣ）は、データ（SEQ#１，SEQ#２）をサイト１（ＳＡ）から受領し、データ（SEQ#３）をサイト１（ＳＢ）から受領する。例えば、サイト１（ＳＢ）とサイト１（ＳＣ）の間の通信速度の方が、サイト１（ＳＡ）とサイト１（ＳＣ）の間の通信速度よりも速いような場合に、サイト１（ＳＣ）は、コピー元サイトをサイト１（ＳＡ）からサイト１（ＳＢ）に切り替えることができる。
【実施例１３】
【０２１２】
図５２に基づいて第１３実施例を説明する。本実施例では、各サイト１内のストレージ１０は、管理用ネットワークＣＮ２を介して、それぞれ接続されている。即ち、各ストレージ１０は、上述したリモートコピーを再開させるための機能を備えている。
【０２１３】
従って、本実施例では、リモートコピーに使用可能な経路の調査、コピー経路候補の選択、新コピー経路の決定等の各処理は、各ストレージ１０によって実行される。各サイト１のホスト２０は、リモートコピーの再開について意識する必要は無く、指示を発行する必要も無い。リモートコピーに障害が発生した場合、各ストレージ１０は、自分に接続されたホスト２０からのアクセス要求（特にライト要求）を受け付けないようにし、リモートコピーが再開された後で、アクセス要求を受け付けるようにすればよい。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例１４】
【０２１４】
図５３に基づいて第１４実施例を説明する。本実施例では、各ホスト２０Ａの内部に、ストレージ１１の機能を内蔵させる。つまり、各ホスト２０Ａは、例えば、NAS（Network Attached Storage）サーバのように構成される。本実施例では、データコピー処理も含めて全ての処理を、各ホスト２０Ａで実行することができる。このように構成される本実施例も前記第１実施例と同様の効果を奏する。
【実施例１５】
【０２１５】
図５４に基づいて第１５実施例を説明する。本実施例では、ユーザによって設定されたリモートコピー構成が障害に耐えうるか否かを事前に評価する。図５４は、リモートコピー経路のシミュレーションを行う処理を示すフローチャートである。この処理は、例えば、ホスト２０で実行させることができる。
【０２１６】
ホスト２０は、ユーザによって設定されるリモートコピー構成を取得し（Ｓ２００）、各サイトや各サイト間の通信経路に仮想的な障害を発生させる（Ｓ２０１）。ホスト２０は、仮想的な障害から回復するために選択されるであろう新コピー経路を予測し（Ｓ２０２）、評価用テーブルＴ１０を用いて、予測結果を評価する（Ｓ２０３）。
【０２１７】
評価用テーブルＴ１０は、例えば、新コピー経路上に存在するサイトの数（カウント）、各サイトにデータが反映するまでに要する時間、各サイトの復旧に要する時間等の各指標毎に、予め点数が設定されている。ホスト２０は、仮想的な障害に対抗するために選択される新コピー経路について、カウントやデータ反映時間、復旧時間に基づいた評価を与える。
【０２１８】
ホスト２０は、評価の点数が所定値以下となる新コピー経路が存在するか否かを判定する（Ｓ２０４）。ユーザにより設定されたリモートコピー構成において発生し得る各新コピー経路の評価点が所定値を越えている場合（S204:NO）、ホスト２０は、予測結果及び評価をユーザに通知する（Ｓ２０５）。
【０２１９】
予想される新コピー経路の一部に所定値以下の評価点を有する新コピー経路がある場合（S204:YES）、ホスト２０は、予測結果及び評価をユーザに通知すると共に、リモートコピー構成を一部変更して、Ｓ２０１に戻る（Ｓ２０６）。つまり、ユーザによって設定されたリモートコピー構成を自動的に修正しながら、障害に対する評価を算出する。なお、リモートコピー構成を修正する場合、ユーザによって予め設定された「重み」や「優先度」を考慮することができる。
【０２２０】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。さらに、本実施例では、リモートコピー構成の耐障害性を事前に評価することができるため、ユーザの使い勝手が向上する。
【０２２１】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、各実施例を適宜組み合わせて使用することができる。また、通信プロトコルとして、SANやLANを例示したが、これに限定されるものではなく、例えば、iSCSI、ESCON（登録商標）、FICON（登録商標）等の他のプロトコルにも適用することができる。
【図面の簡単な説明】
【０２２２】
【図１】本発明の実施形態の全体概要を示す説明図である。
【図２】第１実施例に係るストレージシステムの全体構成を示す説明図である。
【図３】ストレージ及びホストの構成を示す説明図である。
【図４】サイトの機能構成を示す説明図である。
【図５】各サイトを起点とするリモートコピー可能な経路を示す説明図である。
【図６】コピー先情報テーブルを示す説明図である。
【図７】サイト情報テーブルを示す説明図である。
【図８】コピー経路管理テーブル及び経路構成テーブルを示す説明図である。
【図９】別のサイトに保持される、図８と同様のテーブルを示す説明図である。
【図１０】リモートコピーに障害が生じた場合を示す説明図である。
【図１１】各サイトを起点とする、リモートコピーに利用可能な経路を示す説明図である。
【図１２】各サイトでそれぞれ選出されたコピー経路候補の中から新コピー経路が選ばれる様子を示す説明図である。
【図１３】ストレージシステムで行われる処理の全体の流れを示すフローチャートである。
【図１４】データコピー処理を示すフローチャートである。
【図１５】障害検出処理を示すフローチャートである。
【図１６】情報収集処理を示すフローチャートである。
【図１７】コピー経路を評価する処理を示すフローチャートである。
【図１８】コピー経路候補を選択する処理を示すフローチャートである。
【図１９】新コピー経路を決定する処理を示すフローチャートである。
【図２０】ストレージシステムが複数の島に分断される様子を示す説明図である。
【図２１】第２実施例に係るストレージシステムで使用されるコピー先情報テーブルを示す説明図である。
【図２２】サイト情報テーブルを示す説明図である。
【図２３】コピー経路管理テーブル及び経路構成テーブルを示す説明図である。
【図２４】コピー経路を評価する処理を示すフローチャートである。
【図２５】コピー経路候補を選択する処理を示すフローチャートである。
【図２６】新コピー経路を決定する処理を示すフローチャートである。
【図２７】第３実施例に係るストレージシステムで実行される、コピー経路候補を選択する処理を示すフローチャートである。
【図２８】新コピー経路を決定する処理を示すフローチャートである。
【図２９】第４実施例に係るストレージシステムで実行される、新コピー経路を決定する処理を示すフローチャートである。
【図３０】第５実施例に係るストレージシステムで実行される、新コピー経路を決定する処理を示すフローチャートである。
【図３１】第６実施例に係るストレージシステムで実行される、コピー経路候補を選択する処理を示すフローチャートである。
【図３２】第７実施例に係るストレージシステムで使用される、コピー先情報テーブルを示す説明図である。
【図３３】サイト情報テーブルを示す説明図である。
【図３４】コピー経路管理テーブル及び経路構成テーブルを示す説明図である。
【図３５】コピー経路を評価する処理を示すフローチャートである。
【図３６】コピー経路候補を選択する処理を示すフローチャートである。
【図３７】新コピー経路を決定する処理を示すフローチャートである。
【図３８】第８実施例に係るストレージシステムで使用される、コピー先情報テーブルを示す説明図である。
【図３９】サイト情報テーブルを示す説明図である。
【図４０】コピー経路管理テーブル及び経路構成テーブルを示す説明図である。
【図４１】コピー経路を評価する処理を示すフローチャートである。
【図４２】コピー経路候補を選択する処理を示すフローチャートである。
【図４３】新コピー経路を決定する処理を示すフローチャートである。
【図４４】第９実施例に係るストレージシステムで使用される、コピー先情報テーブルを示す説明図である。
【図４５】第１０実施例に係るストレージシステムの一部を示す説明図である。
【図４６】一つのコピー元サイトから複数のコピー先サイトにデータが送信される様子を示す説明図である。
【図４７】コピー経路管理テーブル及び経路構成テーブルを示す説明図である。
【図４８】第１１実施例に係るストレージシステムで実行される、データコピー処理を示すフローチャートである。
【図４９】新コピー経路を決定する処理を示すフローチャートである。
【図５０】各サイト間でデータを同期させる処理を示すフローチャートである。
【図５１】第１２実施例に係るストレージシステムの一部を示す説明図である。
【図５２】第１３実施例に係るストレージシステムを示す説明図である。
【図５３】第１４実施例に係るストレージシステムを示す説明図である。
【図５４】第１５実施例に係るストレージシステムで実行される、リモートコピー経路の耐障害性をシミュレーションする処理を示すフローチャートである。
【符号の説明】
【０２２３】
１…サイト、２…ホスト、３…記憶制御装置、４…制御部、５…コピー制御部、６…障害検出部、７…候補検出部、８…再開制御部、１０，１１…ストレージ、２０，２０Ａ…ホスト、２１…プロセッサ、２２…メモリ、２３，２５…通信部、２４…ユーザインターフェース部、２６…補助記憶装置、３０…管理端末、１１０…コントローラ、１１１…チャネルアダプタ（ＣＨＡ）、１１２…ディスクアダプタ（ＤＫＡ）、１１３…キャッシュメモリ、１１４…共有メモリ、１１５…接続部、１２０…記憶部、１２１…ディスクドライブ、１２２…論理ボリューム、２００…コピー制御部、２１０…障害検出部、２２０…情報収集部、２３０…コピー経路評価部、２４０…コピー経路候補検出部、２５０…新コピー経路決定部、Ｔ…テーブル、ＣＮ…通信ネットワーク。
【図１】
2008299481.tif 000003
【図２】
2008299481.tif 000004
【図３】
2008299481.tif 000005
【図４】
2008299481.tif 000006
【図５】
2008299481.tif 000007
【図６】
2008299481.tif 000008
【図７】
2008299481.tif 000009
【図８】
2008299481.tif 000010
【図９】
2008299481.tif 000011
【図１０】
2008299481.tif 000012
【図１１】
2008299481.tif 000013
【図１２】
2008299481.tif 000014
【図１３】
2008299481.tif 000015
【図１４】
2008299481.tif 000016
【図１５】
2008299481.tif 000017
【図１６】
2008299481.tif 000018
【図１７】
2008299481.tif 000019
【図１８】
2008299481.tif 000020
【図１９】
2008299481.tif 000021
【図２０】
2008299481.tif 000022
【図２１】
2008299481.tif 000023
【図２２】
2008299481.tif 000024
【図２３】
2008299481.tif 000025
【図２４】
2008299481.tif 000026
【図２５】
2008299481.tif 000027
【図２６】
2008299481.tif 000028
【図２７】
2008299481.tif 000029
【図２８】
2008299481.tif 000030
【図２９】
2008299481.tif 000031
【図３０】
2008299481.tif 000032
【図３１】
2008299481.tif 000033
【図３２】
2008299481.tif 000034
【図３３】
2008299481.tif 000035
【図３４】
2008299481.tif 000036
【図３５】
2008299481.tif 000037
【図３６】
2008299481.tif 000038
【図３７】
2008299481.tif 000039
【図３８】
2008299481.tif 000040
【図３９】
2008299481.tif 000041
【図４０】
2008299481.tif 000042
【図４１】
2008299481.tif 000043
【図４２】
2008299481.tif 000044
【図４３】
2008299481.tif 000045
【図４４】
2008299481.tif 000046
【図４５】
2008299481.tif 000047
【図４６】
2008299481.tif 000048
【図４７】
2008299481.tif 000049
【図４８】
2008299481.tif 000050
【図４９】
2008299481.tif 000051
【図５０】
2008299481.tif 000052
【図５１】
2008299481.tif 000053
【図５２】
2008299481.tif 000054
【図５３】
2008299481.tif 000055
【図５４】
2008299481.tif 000056