(57)【特許請求の範囲】
【請求項１】
複数ストレージシステムであって、
第１論理ボリュームを含む第１ストレージシステムと、
第２論理ボリュームを含む第２ストレージシステムと、を含み、
前記第１ストレージシステム及び前記第２ストレージシステムは、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供し、
前記一つの仮想ボリュームは、第１状態を有し、
前記第１状態は、前記第１論理ボリュームがプライマリボリュームであり、前記第２論理ボリュームが、前記プライマリボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、
前記第１ストレージシステム及び前記第２ストレージシステムは、それぞれ、前記複数計算機のうちの第１計算機及び第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、
前記第１状態において、データが前記第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記第１論理ボリューム及び前記第２論理ボリュームに格納され、
前記第２ストレージシステムは、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、
前記第２ストレージシステムは、前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、
前記第２ストレージシステムは、前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記第２論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、
前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害である場合、前記第２ストレージシステムは、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す、複数ストレージシステム。
【請求項２】
請求項１に記載の複数ストレージシステムであって、
第３論理ボリュームを含む第３ストレージシステムをさらに含み、
前記第１状態は、さらに、前記第３論理ボリュームが、前記プライマリボリュームとリモートコピー処理のための非同期関係を形成するセカンダリボリュームであることを示し、
前記第１ストレージシステム、前記第２ストレージシステム及び前記第３ストレージシステムは、前記第１ストレージシステム及び前記第２ストレージシステムの障害の発生のために、前記仮想ボリュームの状態を前記第１状態から前記第３論理ボリュームがプライマリボリュームであることを示す状態に変更する、複数ストレージシステム。
【請求項３】
請求項１に記載の複数ストレージシステムであって、
前記第１ストレージシステム及び前記第２ストレージシステムは、前記第１論理ボリューム及び前記第２論理ボリュームの前記仮想ボリュームに対するマッピング情報を格納する、複数ストレージシステム。
【請求項４】
請求項１に記載の複数ストレージシステムであって、
前記状態情報はマルチパス非同期アクセス状態（ＭＰＡＡＳ）の情報を含み、
前記マルチパス非同期アクセス状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、複数ストレージシステム。
【請求項５】
請求項１に記載の複数ストレージシステムであって、
前記状態情報は入力／出力（Ｉ／Ｏ）状態の情報を含み、
前記Ｉ／Ｏ状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、複数ストレージシステム。
【請求項６】
請求項１に記載の複数ストレージシステムであって、
前記状態情報は障害発生を示す物理ストレージ健全性状態の情報を含む、複数ストレージシステム。
【請求項７】
コントローラと、
前記コントローラに制御される複数記憶デバイスと、を含み、
前記コントローラは、前記複数記憶デバイスに対応する論理ボリュームを管理し、
前記コントローラは、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供し、
前記一つの仮想ボリュームは、第１状態を有し、
前記第１状態は、外部ストレージシステムと関連づけられている外部論理ボリュームがプライマリボリュームであり、前記論理ボリュームが、前記外部論理ボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、
前記第１状態において、データが前記複数計算機のうちの第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記外部論理ボリューム及び前記論理ボリュームに格納され、
前記コントローラは、前記複数計算機のうちの第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、
前記コントローラは、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記外部ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、
前記コントローラは、前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、
前記コントローラは、前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、
前記第１計算機から前記第２計算機への引き継ぎ開始後、前記外部ストレージシステムの障害である場合、前記コントローラは、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す、ストレージシステム。
【請求項８】
請求項７に記載のストレージシステムであって、
前記第１状態は、さらに、第２外部ストレージシステムと関連づけられている第２外部論理ボリュームが、前記プライマリボリュームとリモートコピー処理のための非同期関係を形成するセカンダリボリュームであることを示し、
前記コントローラは、前記外部ストレージシステム及び前記ストレージシステムの障害の発生のために、前記仮想ボリュームの状態を前記第１状態から前記第２外部論理ボリュームがプライマリボリュームであることを示す第３状態に変更する、ストレージシステム。
【請求項９】
請求項７に記載のストレージシステムであって、
前記コントローラは、前記外部論理ボリューム及び前記論理ボリュームの前記仮想ボリュームに対するマッピング情報を格納する、ストレージシステム。
【請求項１０】
請求項７に記載のストレージシステムであって、
前記状態情報は、マルチパス非同期アクセス状態（ＭＰＡＡＳ）の情報を含み、
前記マルチパス非同期アクセス状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、ストレージシステム。
【請求項１１】
請求項７に記載のストレージシステムであって、
前記状態情報は入力／出力（Ｉ／Ｏ）状態の情報を含み、
前記Ｉ／Ｏ状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、ストレージシステム。
【請求項１２】
請求項７に記載のストレージシステムであって、
前記状態情報は障害発生を示す物理ストレージ健全性状態の情報を含む、ストレージシステム。
【請求項１３】
プロセスを実行するための命令を格納する計算機読み取り可能な記憶媒体であって、
前記命令は、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供することを含み、
前記一つの仮想ボリュームは、第１状態を有し、
前記第１状態は、第１ストレージシステムと関連付けられている第１論理ボリュームがプライマリボリュームであり、第２ストレージシステムと関連付けられている第２論理ボリュームが、前記プライマリボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、
前記第１状態において、データが前記複数計算機のうちの第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記第１論理ボリューム及び前記第２論理ボリュームに格納され、
前記命令は、
前記複数計算機のうちの第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、
前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、
前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、
前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記第２論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、
前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害である場合、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す、ことを含む、計算機読み取り可能な記憶媒体。
【請求項１４】
請求項１３に記載の計算機読み取り可能な記憶媒体であって、
前記第１状態は、さらに、第３論理ボリュームが、前記プライマリボリュームと前記リモートコピー処理のための非同期関係を形成するセカンダリボリュームであることを示し、
前記命令は、前記第１ストレージシステム及び前記第２ストレージシステムの障害の発生のために、前記仮想ボリュームの状態を前記第１状態から第３論理ボリュームがプライマリボリュームであることを示す第３状態に変更することを含む、計算機読み取り可能な記憶媒体。
【請求項１５】
請求項１３に記載の計算機読み取り可能な記憶媒体であって、
前記命令は、前記第１論理ボリューム及び前記第２論理ボリュームの前記仮想ボリュームに対するマッピング情報を格納することを含む、計算機読み取り可能な記憶媒体。
【請求項１６】
請求項１３に記載の計算機読み取り可能な記憶媒体であって、
前記状態情報はマルチパス非同期アクセス状態（ＭＰＡＡＳ）の情報を含み、
前記マルチパス非同期アクセス状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、計算機読み取り可能な記憶媒体。
【請求項１７】
請求項１３に記載の計算機読み取り可能な記憶媒体であって、
前記状態情報は入力／出力（Ｉ／Ｏ）状態の情報を含み、
前記Ｉ／Ｏ状態は、前記プライマリボリュームに対してアクティブを示し、前記セカンダリボリュームに対してスタンバイを示す、計算機読み取り可能な記憶媒体。
【請求項１８】
請求項１３に記載の計算機読み取り可能な記憶媒体であって、
前記状態情報は障害発生を示す物理ストレージ健全性状態の情報を含む、計算機読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般に、計算機及びストレージシステム、インタフェースプロトコル、並びにディザスタリカバリ技術に関し、特に、ストレージシステム障害時のディザスタリカバリに関する。
【背景技術】
【０００２】
関連技術において、論理ボリュームが、リモートコピーボリュームに関連付けられる。リモートコピーボリュームは、リモートコピーボリュームへのＩ／Ｏを許可する状態、拒否する状態のように、Ｉ／Ｏについての複数の状態と関連づけられる。サーバ管理者は、ディザスタリカバリの間におけるＩ／Ｏエラーを防ぐためのボリューム状態の管理を提供する。
【０００３】
ストレージシステムのためのディザスタリカバリ管理は、様々な問題を提示する。なぜなら、ストレージシステムそれぞれのサーバ管理者は、様々なサーバとストレージシステムの間において設定を調整し、フェイルオーバやフェイルバックを実行するためのテストを行う必要がある場合がある。例えば、ストレージシステムは、プライマリボリュームとセカンダリボリュームの、二つのボリュームタイプと関連付けられ得る。非同期コピー処理の間、いくつかのタイプのコピー処理が存在する。例えば、ビットマップリシンクコピー処理が失敗すると、コピーボリュームにおいて、コピーボリュームと関連するアプリケーションやファイルシステムに対するコンシステンシ問題が発生し得る。ジャーナルコピー処理が失敗すると、コピーボリュームに関連するアプリケーションがコピーボリュームをチェックし、コピーボリュームをチェックポイントまで戻し得る。サーバ管理者は、ボリューム状態を管理するためのカスタムＤＲスクリプトを構成し、各クラスタソフトウェアへの通信を可能とすることができる。
【発明の概要】
【０００４】
ここで説明される実施例は、複数ストレージシステムであって、第１論理ボリュームを含む第１ストレージシステムと、第２論理ボリュームを含む第２ストレージシステムと、を含み、前記第１ストレージシステム及び前記第２ストレージシステムは、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供し、前記一つの仮想ボリュームは、第１状態を有し、前記第１状態は、前記第１論理ボリュームがプライマリボリュームであり、前記第２論理ボリュームが、前記プライマリボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、前記第１ストレージシステム及び前記第２ストレージシステムは、それぞれ、前記複数計算機のうちの第１計算機及び第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、前記第１状態において、データが前記第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記第１論理ボリューム及び前記第２論理ボリュームに格納され、前記第２ストレージシステムは、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、前記第２ストレージシステムは、前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、前記第２ストレージシステムは、前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記第２論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害である場合、前記第２ストレージシステムは、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す。
【０００５】
ここで説明される実施例は、コントローラと、前記コントローラに制御される複数記憶デバイスと、を含むストレージシステムを含み、前記コントローラは、前記複数記憶デバイスに対応する論理ボリュームを管理し、前記コントローラは、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供し、前記一つの仮想ボリュームは、第１状態を有し、前記第１状態は、外部ストレージシステムと関連づけられている外部論理ボリュームがプライマリボリュームであり、前記論理ボリュームが、前記外部論理ボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、前記第１状態において、データが前記複数計算機のうちの第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記外部論理ボリューム及び前記論理ボリュームに格納され、前記コントローラは、前記複数計算機のうちの第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、前記コントローラは、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、前記コントローラは、前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、前記コントローラは、前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害である場合、前記コントローラは、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す。
【０００６】
ここで説明される実施例は、プロセスを実行するための命令を格納する計算機読み取り可能な記憶媒体であって、前記命令は、複数仮想ボリュームから一つの仮想ボリュームを複数計算機に提供することを含み、前記一つの仮想ボリュームは、第１状態を有し、前記第１状態は、第１ストレージシステムと関連付けられている第１論理ボリュームがプライマリボリュームであり、第２ストレージシステムと関連付けられている第２論理ボリュームが、前記プライマリボリュームとリモートコピー処理のためのペア関係を形成するセカンダリボリュームである、ことを示し、前記第１状態において、データが前記複数計算機のうちの第１計算機から前記仮想ボリュームに書き込まれると、前記データはリモートコピー処理に基づき、前記第１論理ボリューム及び前記第２論理ボリュームに格納され、前記命令は、前記複数計算機のうちの第２計算機からの要求に応じて、前記仮想ボリュームの内部ボリュームについての情報とパス状態の情報とを含む状態情報を返し、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害ではない場合、前記セカンダリボリュームを前記プライマリボリュームに再同期させるためにサスペンド処理を開始し、前記サスペンド処理中に前記第２計算機からＩ／Ｏコマンドを受信すると、前記サスペンド処理中であることを示す応答を返し、前記サスペンド処理完了後に前記仮想ボリュームの状態を変更し、前記第２計算機が前記仮想ボリュームのパス状態を更新した後に、前記プライマリボリュームに変更された前記第２論理ボリュームへの前記第２計算機からのＩ／Ｏ処理を実行し、前記第１計算機から前記第２計算機への引き継ぎ開始後、前記第１ストレージシステムの障害である場合、前記セカンダリボリュームの前記プライマリボリュームへの再同期に失敗すると、前記仮想ボリュームの状態を変更した後、前記第２計算機から受信したＩ／Ｏコマンドに対して、回復が必要であることを示す応答を返す、ことを含む。
【図面の簡単な説明】
【０００７】
【図１】図１は、同期または非同期のリモートコピーの構成例。
【図２】図２は、実施例における、同期または非同期のリモートコピー構成のためのストレージ仮想化の構成例。
【図３】図３（ａ）及び３（ｂ）は、本実施例に係る、ストレージシステム及びストレージメモリの構成例を示す。
【図４】図４（ａ）及び４（ｂ）は、本実施例に係る、ホストサーバ及びホストメモリの構成例を示す。
【図５】図５は、本実施例に係る、物理ストレージリソーステーブルを示す。
【図６】図６は、本実施例に係る、仮想ストレージリソーステーブルを示す。
【図７】図７は、本実施例に係る、仮想マルチパステーブルを示す。
【図８】図８は、本実施例に係る、リモートコピーパステーブルを示す。
【図９】図９は、本実施例に係る、ＳＣＳＩ応答例を示す。
【図１０】図１０（ａ）は、本実施例に係る、ＤＲＶＶＯＬコマンドの仮想マルチパス状態を報告／設定するためのデータペイロードを示す。図１０（ｂ）は、本実施例に係る、ＭＰＡＡＳ、Ｉ／Ｏ状態及び内部ＶＯＬ状態の状態値テーブル例を示す。
【図１１】図１１は、マルチパスＩ／Ｏパス変更フローの関連技術例を示す。
【図１２】図１２は、本実施例に係る、ＤＥＶＶＯＬコマンドの仮想マルチパス状態を方向するチャート例である。
【図１３】図１３は、プライマリサイト障害に起因して同期リモートコピーモードへ変更される仮想マルチパスを示す。
【図１４】図１４は、同期コピーＤＲＶＶＯＬのために、仮想マルチパス状態を変更するフローチャート例を示す。
【図１５】図１５は、本実施例に係る、プライマリサイト障害に起因して非同期リモートコピーモードへ変更される仮想マルチパスを示す。
【図１６】図１６は、本実施例において、非同期コピーＤＲＶＶＯＬのために仮想マルチパス状態を変更するフローチャート例を示す。
【図１７】図１７は、本実施例において、３データセンタ構成の同期及び非同期リモートコピーのための仮想マルチパスを、プライマリサイトの障害及び最も近いセカンダリサイトの障害に起因して、変更することを示す。
【図１８】図１８は、本実施例に係る、仮想ストレージのサイト選択フローを示す。
【図１９】図１９は、本実施例において、プライマリサイト障害に起因して、仮想マルチパスを非同期リモートコピーモードに変更することを示す。
【図２０】図２０は、本実施例において、非同期コピーＤＲＶＶＯＬのために仮想マルチパス状態を変更するフローチャート例を示す。
【発明を実施するための形態】
【０００８】
以下の詳細な説明は、本願の図面及び実施例のさらなる詳細を与える。図面間の冗長要素の参照符号及び説明は、明確化のために省略される。本開示を通じて使用される用語は、例として与えられるものであり、これらに限定されるものではない。たとえば、「自動的」との用語の使用は、完全に自動又は半自動の実装を含み、本願を実際に実施する技術分野における当業者の所望の実施に応じて、ユーザ又は管理者が実施におけるいくつかの態様を制御することを含む。ここで説明される実施例は、なんら限定を意図するものではなく、所望の実施に依存して様々な方法での実施が可能である。
【０００９】
実施例において、仮想ストレージを利用して、複数サイトに跨る複数ストレージシステムからなるストレージを仮想化する。仮想ストレージは、仮想マルチパス制御と関連付けられる。仮想マルチパス制御は、物理ストレージ間の仮想パスの状態、プライマリボリューム状態またはセカンダリボリューム状態を持つリモートコピーボリューム状態、並びに、同期コピーモード、ジャーナルコピーモード、及びビットマップリシンクモード等のボリュームコピー処理モード、を管理する。仮想ストレージの仮想マルチパス制御は、仮想マルチパス情報コマンドから得られる仮想マルチパス状態を利用することによって、好ましいサイト、パス、状態、そしてボリュームのホストからの選択を可能とする。仮想化によって、サーバ管理者が、様々なサーバ管理者及びストレージ管理者との間で調整することなく、ディザスタリカバリ構成のセットアップを実行できる。
【００１０】
図１は、同期または非同期リモートコピーボリュームの構成例を示す。構成は、２以上のサイト１ａ、１ｂ、２以上のストレージシステム２ａ、２ｂ、２以上のホスト３ａ、３ｂ、関連するストレージエリアネットワーク（ＳＡＮ）４ａ、４ｂ、リモートコピーパス５、関連するインターネットプロトコル（ＩＰ）ネットワーク６ａ、６ｂ、関連するサイト間ネットワーク７、２以上のコピーペアボリューム８ａ、８ｂ、そして、関連するアプリケーション９を含む。
【００１１】
関連技術において、複数管理者は、それぞれ、プライマリサイト１ａとセカンダリサイト１ｂとを管理する。これは、プライマリサイト１ａの構成要素（例えば、プライマリストレージ２ａ、ホスト３ａ、ストレージネットワーク４ａ、ＩＰネットワーク６ａ等）は、セカンダリサイト１ｂとは異なる識別子を持っている、または、セカンダリサイト１ｂの構成要素と比較して異なる構成に対して構成されているからである。
【００１２】
図２は、本実施例による、同期または非同期リモートコピーボリュームの構成例を示す。本例において、構成は、仮想ストレージ２０を含む。仮想ストレージ２０は、プライマリストレージ２ａとセカンダリストレージ２ｂを含む。プライマリストレージ２ａとセカンダリストレージ２ｂは、それぞれ、各物理ストレージのための通信を可能とする仮想化ソフトウェア２３を有する。仮想化ソフトウェア２３は、プライマリボリューム（ＰＶＯＬ）８ａとセカンダリボリューム（ＳＶＯＬ）８ｂとを、ディザスタリカバリ（ＤＲ）仮想ボリューム（ＶＶＯＬ）２４に対する仮想化ペアとして与える。物理ホスト３ａ、３ｂのそれぞれは、仮想マルチパスソフトウェア２１を有し、仮想マルチパスソフトウェア２１は、ＤＲＶＶＯＬ２４についての情報を共有するように構成されている。
【００１３】
ＤＲＶＶＯＬ２４は、仮想マルチパス状態を有し、仮想マルチパス状態は物理ストレージシステム間へのアクセスを可能にする。例えば、一つのパスが、プライマリ物理ストレージ２ａのＰＶＯＬに与えられアクセス可能に構成される。他のパスは、セカンダリ物理ストレージ２ｂにおけるＳＶＯＬに与えられアクセス不能に構成される。
【００１４】
また、仮想マルチパス状態は、ＰＶＯＬとＳＶＯＬそれぞれの、整合性及び／またはコピー状態を持っている。例えば、ＤＲＶＶＯＬのマルチパス状態から、クラスタソフトウェアは、サイトがアクセス可能な不可能かを認識でき、ＤＲＶＶＯＬがリモートコピー差分データからの同期リモートコピーの状態の下にあることを認識でき、そして、プライマリ物理ストレージの障害及び差分データの消失のためにＤＲＶＶＯＬデータが最新ではないことを認識できる。
【００１５】
図３（ａ）、（ｂ）は、本実施例における、ストレージシステム２とストレージメモリ３３の構成例を示す。物理ストレージシステム２は、ホストからのインタラクションを可能するホストインタフェース（Ｉ／Ｆ）、ＣＰＵ、メモリ、ディスクＩ／Ｆ、ストレージシステム２のための論理ボリュームを形成するように動作する１以上のディスク（ハードディスクドライブ（ＨＤＤ）やソリッドステイトドライブ（ＳＳＤ））、を含む。構成要素は、ＰＣＩ，ＤＤＲ，ＳＣＳＩ等のバスＩ／Ｆによって相互接続される。
【００１６】
ストレージメモリ３３は、ストレージプログラム３４、物理ストレージリソーステーブル５０、仮想ストレージリソーステーブル６０、仮想マルチパステーブル７０、そして、リモートコピーパステーブル８０を格納する。ストレージメモリ３３は、計算機読み取り可能な記憶媒体であり、フラッシュメモリ、ＲＡＭ、ＨＤＤのような有体の媒体を含む。または、ストレージメモリ３３に代えて、例えば、搬送波のような非有体の媒体の形をとる計算機読み取り可能な信号媒体を使用してもよい。ストレージメモリ３３とＣＰＵは、ストレージシステム２のストレージコントローラとして機能するように協働してもよい。
【００１７】
図４（ａ）、（ｂ）は、本実施例に係る、ホストサーバ３とホストメモリ４３の構成例を示す。各物理ホスト３は、計算機として実装でき、ＣＰＵ、メモリ、ストレージシステムに接続するディスクＩ／Ｆ、１以上のＨＤＤを含む、それらは、ＰＣＩ，ＤＤＲ，ＳＣＳＩ等のバスＩ／Ｆによって相互接続される。ホストメモリ４３は、アプリケーションソフトウェア４４、クラスタソフトウェア４５、そして仮想マルチパスソフトウェア４６を格納する。ホストメモリ４３は、計算機読み取り可能な記憶媒体で形成され、フラッシュメモリ、ＲＡＭ、ＨＤＤのような有体の媒体を含む。または、ホストメモリ４３に代えて、例えば、搬送波のような非有体の媒体の形をとる計算機読み取り可能な信号媒体を使用してもよい。ホストメモリ４３とＣＰＵは、ホスト３のホストコントローラとして機能するように協働してもよい。
【００１８】
図５は、本実施例に係る、物理ストレージリソーステーブル５０を示す。テーブル５０は、物理ストレージ識別子（ＰＳＩＤ）５１、論理ユニット番号（ＬＵＮ）５２、ホストポートワールドワイドネーム（ＷＷＮ）ローカルマルチパスリスト５３、相関ポートオフセットＩＤ５４、リモートコピー（ＲＣ）ポートＷＷＮローカルリソースリスト５５、ＤＲＶＶＯＬＬＵＮ５６、ＤＲグルーピングＩＤ５７、を有する。物理ストレージリソーステーブル５０は、アクセスポートのリストと共に、ストレージシステムの論理ボリュームの各仮想ボリュームへのマッピングを与える。
【００１９】
図６は、本実施例に係る、仮想ストレージリソーステーブル６０を示す。テーブル６０は、物理ストレージリソーステーブル５０から拡張され、仮想ストレージ（ＶＳ）ＩＤ６１、仮想相関ポートＩＤ６２、ＤＲ内部ボリューム（ｉＶＯＬ）状態６３を有する。ＤＲＶＶＯＬＬＵＮ５６は、仮想ストレージのＰＶＯＬとＳＶＯＬのペアのペア情報を与える。
【００２０】
ＤＲ内部ボリュームの状態６３は、ＰＶＯＬまたはＳＶＯＬ情報を含み、さらに、ボリュームが同期または非同期リモートコピー処理と関連付けられているかに関する情報を示す。内部ボリューム状態６３は、ボリュームをＰＶＯＬまたはＳＶＯＬとして示し、必要により更新される。例えば、プライマリサイトで障害が発生すると、故障したＰＶＯＬに関連付けられているＳＶＯＬの内部ボリューム状態が、ＰＶＯＬに変更される。
【００２１】
図７は、本実施例に係る、仮想マルチパステーブル７０を示す。テーブル７０は、ＤＲＶＶＯＬＬＵＮ５６のマルチパス状態の情報を管理する。マルチパス非同期アクセス状態（ＭＰＡＡＳ）７１は、ＤＲＶＶＯＬの物理（物理マルチパス内）及び仮想（物理マルチパス間）状態に関する情報を含む。ＤＲ距離オフセットフィールド７２は、距離（例えば、長いまたは短い）またはレイテンシを決定するための情報であり、ファイバチャネルＳＡＮ（ＦＣ−ＳＡＮ）またはＩＰ−ＳＡＮｐｉｎｇ情報によって計算される。例えば、１００ｋｍ以内または５ｍｓレイテンシ以内であれば、同期リモートコピー処理を実行できる。より長い距離の場合、非同期コピー処理が実行され、同期コピー処理は拒否される。ホストＩ／Ｏ状態フィールド７３は、ホストＩ／Ｏ状態（例えば、アクティブ、スタンバイ、オフライン等）を含む。
【００２２】
例えば、プライマリサイトが障害に会うと、ホストＩ／Ｏ状態７３は、プライマリサイトがスタンバイに変更され、セカンダリサイト（例えば、最も近いサイト）がアクティブに変更される。他の例において、プライマリサイト及び最も近いセカンダリサイトの双方が障害に会う場合、より遠くに位置するＳＶＯＬのＭＰＡＡＳがオフライン状態からオンライン状態に変更され、アプリケーションリカバリまたはファイルシステムチェック（ＦＳＣＫ）シーケンスが当該ＳＶＯＬに適用される。より遠くに位置する当該セカンダリＳＶＯＬのＶＯＬ状態５７は、ＳＶＯＬからＰＶＯＬに変更され、ホストＩ／Ｏ状態７３が、オフライン状態からオンライン状態に変更される。
【００２３】
図８は、本実施例に係る、リモートコピーパステーブル８０を示す。テーブル８０は、ＤＲＶＶＯＬＬＵＮ５６に基づく情報を与え、物理ストレージＩＤ５１、リモートコピーポートリスト５５、ＦＣ／ＩＰｐｉｎｇ状態に基づく距離情報８１、ＦＣ／ＩＰＳＡＮネットワーク（ＮＷ）到達可能情報８２、物理ストレージ健全性状態フィールド８３、を有する。物理ストレージ健全性状態フィールド８３は、物理ストレージの健全性状態を示し、所望の実装に依存する様々な状態（グッド、デッド、故障、ビジー等）を示す。
【００２４】
図９は、本実施例に係る、ＳＣＳＩ応答コード９０の例を示す。ＳＣＳＩ応答コード９０は、センスコード、追加状態コード／追加状態コート修飾子（ＡＳＣ／ＡＳＣＱ）を含むことができる。ＳＣＳＩ応答コードは、マルチプルパスＡＡＳ、ＤＲＶＶＯＬ状態、またはホストＩ／Ｏ状態が変更される場合に、状態変化を通知するために使用される。ＳＣＳＩ応答コード９０は、ホストＩ／Ｏが、オフライン、非アクティブまたはＳＶＯＬの内部状態（ホストＩ／Ｏにアクセスしない）の間に受信されると、エラー状態を与えてもよい。
【００２５】
ユースケース例において、「Unit Attention」のセンスコードは、Ｉ／Ｏを返して状態変更を通知し、ホストに仮想マルチパステーブルを得ることを知らせるために使用できる。「State is changed」のＡＳＣ／ＡＳＣＱ９０１は、ＡＡＳ、ＤＲＶＶＯＬ状態または内部ＶＯＬ状態が変更されていることの通知である。ホスト仮想マルチパスソフトウェアは、それにより、新しい状態に更新する。「State is transitioning」のＡＳＣ／ＡＳＣＱ９０２は、ＡＡＳ、ＤＲＶＶＯＬ状態または内部ＶＯＬ状態が変化中であることの通知である。ホスト仮想マルチパスソフトウェアは、それにより、新しい状態に更新することを待つ。
【００２６】
ユースケース例において、「Not Ready」のセンスコードは、Ｉ／Ｏ状態を返してホストに他のパスに再発行させるために使用される。LU not accessのＡＳＣは、ＡＳＣＱの理由からＬＵにアクセスしないことをホストに対して示す。「LU not access, AAS in standby state」のＡＳＣ／ＡＳＣＱ９０３は、物理ストレージの物理マルチパスペアの特定パスの非同期アクセス状態（ＡＡＳ）を示し、さらに、スタンバイ状態を示す。ホストマルチパスソフトウェアは、これにより、ホストＩ／Ｏを、物理マルチパスペアの他の物理パスに経路変更する。
【００２７】
「LU not access, AAS in unavailable state」のＡＳＣ／ＡＳＣＱ９０４は、物理ストレージの物理マルチパスペアの特定パスの非同期アクセス状態（ＡＡＳ）を示し、さらに、利用不可能状態を示す。ホストマルチパスソフトウェアは、これにより、ホストＩ／Ｏを、物理マルチパスペアの他の物理パスに経路変更する。
【００２８】
「LU not access, DRVVOL under resync」のＡＳＣ／ＡＳＣＱ９０５は、ＤＲＶＶＯＬ状態はＳＶＯＬであり、ビットマップ差分コピーを使用するデータ処理中であることを示す。ホスト仮想マルチパスソフトウェアは、これにより、ＰＶＯＬ状態の論理ボリュームにアクセスできる他のパスを検索し、Ｉ／Ｏをそのパスに経路変更する。ＤＲＶＶＯＬがＰＶＯＬ状態ではない場合、ホスト仮想マルチパスソフトウェアは、リシンクコピー処理が終了した後にＤＲＶＶＯＬがＰＶＯＬ状態に変化するのを待つ。
【００２９】
「LU not access, DRVVOL under SVOL pair」のＳＣ／ＡＳＣＱ９０６は、ＤＲＶＶＯＬ状態がＳＶＯＬであり、ジャーナルコピーを使用するデータコピー処理中であることを示す。ホスト仮想マルチパスソフトウェアは、これにより、ＰＶＯＬ状態のボリュームにアクセスできる他のパスを検索し、Ｉ／Ｏをそのパスに経路変更する。ＤＲＶＶＯＬがＰＶＯＬ状態ではない場合、ホスト仮想マルチパスソフトウェアは、ペアスプリットが終了した後にＤＲＶＶＯＬがＰＶＯＬ状態に移行するのを待つ。
【００３０】
「LU not access, internal VOL is OLD data」のＡＳＣ／ＡＳＣＱ９０７は、ＤＲＶＶＯＬ状態がＳＶＯＬであり、そのＳＶＯＬが失敗したジャーナルコピーペアスプリットのために古いデータを格納している、ことを示す。ホスト仮想マルチパスソフトウェアは、これにより、ＦＳＣＫまたはデータベース復旧シーケンスを使用してボリュームを復旧する。
【００３１】
「LU not access, internal VOL mapped to SVOL」のＡＳＣ／ＡＳＣＱ９０８は、ＤＲＶＶＯＬが、最近のローカルコピーバックアップデータを含む他の古いＳＶＯＬにマッピングされていることを示す。ホスト仮想マルチパスソフトウェアは、ボリュームを、ＦＳＣＫまたはデータベース復旧シーケンスを使用することによってボリュームを復旧し、アプリケーションは古いデータを検出し、解析する。
【００３２】
「LU not access, I/O state is offline」のＡＳＣ／ＡＳＣＱ９０９は、ＤＲＶＶＯＬのＩ／Ｏ状態が、ＰＶＯＬからＳＶＯＬへの移行のために、オフラインであることを示す。ホスト仮想マルチパスソフトウェアは、ＰＶＯＬにアクセスできる他のパスに経路変更する、または、ＳＶＯＬからＰＶＯＬへの変化に準備ができてないパスのために、リシンクを待って、内部パスをＤＲＶＶＯＬからＳＶＯＬ仮想パスへ変化させる。
【００３３】
「LU not access, I/O state is offline」のＡＳＣ／ＡＳＣＱ９１０は、ＤＲＶＶＯＬ状態がＳＶＯＬであり、失敗したジャーナルコピーペアスプリットに起因する古いデータを含むことを示す。ホスト仮想マルチパスソフトウェアは、ボリュームを、ＦＳＣＫまたはデータベース復旧シーケンスを使用することによって復旧する。
【００３４】
「Check Condition」のセンスコードは、コマンドパラメータのために使用される。「Illegal Request, Parameter Error」のＡＳＣ／ＡＳＣＱ９１１は、コマンドがパラメータエラーを含むことを示す。
【００３５】
図１０（ａ）は、本実施例に係る、ＤＲＶＶＯＬコマンドの仮想マルチパス状態の報告／設定のためのデータペイロードを示す。ＤＲＶＶＯＬの仮想マルチパスディスクリプタ１００は、仮想パスの数のフィールド１０１と、仮想パスディスクリプタフォーマット１０２の形での１以上のデータペイロードを含む。
【００３６】
仮想パスディスクリプタフォーマット１０２は、仮想相関ポートＩＤ６２、そして、後に続く、仮想パス、内部ボリューム、ＶＶＯＬ、または物理リソース状態情報：ＭＰＡＡＳ７１、Ｉ／Ｏ状態７３、内部ＶＯＬ状態６３、物理ストレージ健全性状態８３、物理ストレージＩＤ５１、物理ストレージ距離７２、好ましいパスビット１０３を含む。
【００３７】
ホストが、仮想マルチパス報告コマンドを発行する場合、ホストは、データペイロード１００を受信し、ホスト仮想マルチパスソフトウェアは仮想ストレージのいずれの仮想パスがアクティブパスであるかを決定するための状態を取得する。
【００３８】
ホストが仮想マルチパス設定コマンドを発行する場合、ホストは、ディスクリプタのリードデータに基づくデータペイロード１００を送信し、ホスト仮想マルチパスソフトウェアは、サーバ管理者が予定されているサイトメンテナンスを実行するときのために、状態を設定する。
【００３９】
図１０（ｂ）は、本実施例に係る、ＭＰＡＡＳ７１、Ｉ／Ｏ状態７３、及び内部ＶＯＬ状態６３からなる状態値テーブル１０９の例を示す。状態値テーブルは、ＭＰＡＡＳ７１、Ｉ／Ｏ状態７３、及び内部ＶＯＬ状態６３に対応付けることができる様々な状態例を示す。
【００４０】
図１１は、マルチパスＩ／Ｏパスの変更フローの関連技術例を示す。フローは、イニシエータポート及びストレージターゲットポート駆動型である。ストレージ２は、マルチパス状態情報５１とストレージボリューム１２を有する。ストレージ２が状態変化をホストサーバ１にポート１１１を介して知らせると、ホストサーバ１は、「Report Target Port Group」ＳＣＳＩコマンド（例えば、技術委員会１０、ＳＣＳＩプライマリコマンド（ Ｔ１０ ＳＰＣ）から定義される）のような、ＳＣＳＩコマンドを発行し、マルチパス状態情報５１、例えば、Ｔ１０ＳＰＣによって定義されるターゲットポートグループディスクリプタを取得する。ターゲットポートグループディスクリプタは、ポートオフセット識別子と、Ｔ１０ＳＰＣによって定義される非同期アクセス状態（ＡＡＳ）とを有する。
【００４１】
ホストサーバ１のマルチパスプログラムは、マルチパス状態情報を、前状態のテーブル１０４から後状態のテーブル１０５に更新する。ストレージプログラムは、マルチパス状態情報を、「パス４がアクティブであり、パス５がオフラインである」状態から、「パス４がオフラインであり、パス５がアクティブである」状態に変更するので、マルチパスプログラムは、Ｉ／Ｏパスを、パス４からパス５に変更する（例えば、ターゲットポートＡ１０２からターゲットポートＢ１０３に変更）。
【００４２】
図１２は、本実施例に係る、ＤＲＶＶＯＬコマンドの仮想マルチパス状態を報告するシーケンス図の例を示す。Ｓ１２０１において、ホストはＩ／Ｏリードまたはライトコマンドを、仮想ストレージのプライマリ物理ストレージに発行する。Ｓ１２０２において、ホストＩ／Ｏ中のストレージシステム警告によりＤＲＶＶＯＬアクセス状態がオフライン状態に変更されることを示す通知が受信された場合、ストレージは対応するＳＣＳＩセンス状態９０を返す。Ｓ１２０３において、ホストＩ／Ｏは、Ｓ１２０２によって、失敗したと示される。ホスト仮想マルチパスソフトウェアは、仮想マルチパス状態報告コマンドを、状態変更通知を与えたストレージに発行する。Ｓ１２０４において、仮想ストレージのプライマリ物理ストレージは、ＤＲＶＶＯＬの仮想マルチパスディスクリプタのＳＣＳＩデータペイロード１００を返す。そのために、仮想ストレージのプライマリ物理ストレージは、仮想マルチパス状態、内部ボリューム状態等のＤＲＶＶＯＬ状態を集める。Ｓ１２０５において、仮想ストレージのプライマリ物理ストレージは、ＳＣＳＩグッド状態を返す。Ｓ１２０６において、プライマリホストは、Ｓ１２０４のＤＲＶＶＯＬ状態ボリュームをチェックすると、ボリュームをアンマウントする。Ｓ１２０７において、ホスト仮想マルチパスソフトウェアは、必要な時にパス情報をチェックする（例えば、一定周期）。
【００４３】
図１３は、プライマリサイトの障害によって、同期リモードコピーモードへ変更される仮想マルチパスを示す。状態１３１は、プライマリサイト障害の前のＤＲＶＶＯＬ仮想マルチパス状態であり、プライマリストレージのＭＰＡＡＳとＩ／Ｏ状態はアクティブであり、セカンダリストレージのＭＰＡＡＳとＩ／Ｏ状態はスタンバイである。状態１３２は、プライマリサイト障害後のＤＲＶＶＯＬ想マルチパス状態であり、プライマリストレージのＭＰＡＡＳとＩ／Ｏ状態はオフラインであり、セカンダリストレージのＭＰＡＡＳとＩ／Ｏ状態はアクティブである。さらなる詳細は、図１４を参照して与えられる。
【００４４】
図１４は、同期コピーＤＲＶＶＯＬのための仮想マルチパス状態を変更するフローチャート例１４００を示す。Ｓ１４０１において、クラスタサイトは、プライマリサイトにおける障害を検出し、アプリケーション引き継ぎを開始する。Ｓ１４０２において、セカンダリストレージが、リモートコピーネットワークの障害なく、プライマリストレージの障害を検出すると（Ｙｅｓ）、フローはＳ１４１０に進み、他の場合（Ｎｏ）、フローはＳ１４０３に進む。Ｓ１４０３において、仮想ストレージのセカンダリ物理ストレージは、ＤＲＶＶＯＬにマッピングされているセカンダリストレージボリュームの内部ＶＯＬ状態を、セカンダリ物理ストレージのＳＶＯＬ状態からＰＶＯＬ状態に変更する。さらに、仮想ストレージのプライマリ物理ストレージは、ＤＲＶＶＯＬの内部ＶＯＬ状態を、プライマリ物理ストレージのＰＶＯＬ状態からＳＶＯＬ状態に変更する。同期コピー処理がスワップされ、コピー元がセカンダリ物理ストレージとなり、コピー先がプライマリ物理ストレージになる。Ｓ１４０４において、仮想ストレージは、ＤＲＶＶＯＬを、プライマリストレージの前のＰＶＯＬからセカンダリストレージの現在のＰＶＯＬに内部的に再マッピングする。Ｓ１４０５において、コピーモードは同期であり、前のＰＶＯＬと前のＳＶＯＬは同じデータセットを格納している。したがって、コピー障害は起きない。仮想ストレージのセカンダリ物理ストレージは、ホストＩ／Ｏ状態をオフラインからアクティブ状態に変更し、ＭＰＡＡＳは、前のＭＰＡＡＳがアクティブ状態でない場合には、アクティブ状態に変更される。Ｓ１４０６において、ホスト仮想マルチパスソフトウェアが仮想マルチパス情報をマルチパス情報のポーリングの間に取得する、または、クラスタソフトウェアがプライマリサイト障害の検出を通信する場合、セカンダリホストの仮想マルチパスソフトウェアは、仮想ストレージのセカンダリ物理ストレージから取得した新しい状態に更新する。セカンダリホストは、ＤＲＶＶＯＬをマウントし、Ｉ／ＯをＤＲＶＶＯＬに発行する。ボリューム状態をチェックし、処理を調整するためのカスタムスクリプトを使用してもよい。
【００４５】
Ｓ１４１０において、セカンダリストレージは、プライマリ物理ストレージ障害のために、プライマリ物理ストレージがアクセス不能であることを検出する。Ｓ１４１１において、同期コピー処理は、プライマリストレージ障害のために、停止される。障害がリモートコピーネットワーク障害の場合、セカンダリストレージは、差分データビットマップの記録を開始し、プライマリ物理ストレージの再同期を試みる。Ｓ１４１２において、仮想ストレージのセカンダリ物理ストレージは、ＤＲＶＶＯＬにマッピングされているセカンダリボリュームの内部ＶＯＬ状態を、セカンダリ物理ストレージのＳＶＯＬからＰＶＯＬ状態に変更する。Ｓ１４１３において、仮想ストレージは、内部的に、ＤＲＶＶＯＬの状態を変更し、仮想マルチパス状態をそれに応じて変更する。状態変化は、Ｓ１４０４とＳ１４０５との間において、プライマリストレージの健全性状態のみ異なる（障害対非障害）、または、Ｓ１４０４とＳ１４０５で同じである。セカンダリホストＩ／Ｏはポーリングを実行し、仮想マルチパス状態を更新し、Ｓ１４０６に進む。
【００４６】
さらに、プライマリホストのアプリケーションは、プライマリストレージ障害を検出するために、ＳＣＳＩ  Ｉ／Ｏのタイムアウトを待つ必要はない。Ｉ／Ｏタイムアウトは、仮想マルチパス状態変化にかかる時間よりも長いからである。仮想ストレージは、物理ストレージ健全性状態を、仮想マルチパス状態変化から検出でき、それにより、物理ストレージ障害を迅速に検出できる。
【００４７】
図１５は、本実施例において、プライマリサイト障害によって、非同期リモートコピーモードへ変更される仮想マルチパスを示す。状態１５３は、プライマリサイト障害前のＤＲＶＶＯＬ仮想マルチパス状態である。プライマリストレージのＭＰＡＡＳとＩ／Ｏ状態はアクティブである。セカンダリストレージのＭＰＡＡＳとＩ／Ｏ状態はスタンバイである。状態１５４は、プライマリサイト障害後のＤＲＶＶＯＬ仮想マルチパス状態である。プライマリストレージのＭＰＡＡＳとＩ／Ｏ状態は、それぞれ、スタンバイとオフラインである。セカンダリストレージのＭＰＡＡＳとＩ／Ｏ状態はアクティブである。ＤＲＶＶＯＬ状態変更処理は、プライマリサイトの差分データが成功裏に送信されるか、ネットワークエラーのために失敗するかによって、異なる。Ｉ／Ｏ状態も、障害状況に応じて変化する。Ｉ／Ｏ状態は、完全リシンクまたはペアスプリットの場合に「オンライン状態」１５５に変化し、リモートコピーネットワーク障害のために完全なコピーオーバーが失敗している場合に「復旧必要」１５６に変更される。詳細は、図１６を参照して説明する。
【００４８】
図１６は、本実施例に係る、非同期コピーＤＲＶＶＯＬのための仮想マルチパス状態を変更するフローチャート例１６００を示す。フローは、図１４のフローに類似する。違いは、障害が検出された後、リモートコピー障害が考慮される点である。下記は図１４から要素の冗長記載を省略し、図１４のフローとの差異のみを示す。Ｓ１６０１において、プライマリサイトで障害が発生すると、クラスタソフトウェアがプライマリサイト障害を検出し、アプリケーション引き継ぎを開始する。Ｓ１６０２において、プライマリストレージで障害が発生している場合（Ｙｅｓ）フローはＳ１６０３に進み、そうでない場合（Ｎｏ）フローはＳ１６１０に進む。Ｓ１６０３において、ＰＶＯＬとＳＶＯＬは、サスペンドされ、プライマリストレージシンクジャーナルデータは、セカンダリサイトのＳＶＯＬに送信される。セカンダリホストがＩ／ＯをＳＶＯＬのセカンダリストレージに発行すると、セカンダリストレージは、リモードコピー処理のためにセカンダリストレージはサスペンド中であり、通知を待っている、ことを示すＳＣＳＩ応答を返す。Ｓ１６０４において、仮想ストレージのＤＲＶＶＯＬは、サスペンド処理を完了する。ＳＶＯＬはＰＶＯＬに同期される。Ｓ１６０５において、仮想ストレージは状態を変更し、ホストは仮想マルチパス状態を更新する。この処理は、図１４におけるＳ１４０５に類似する。Ｓ１６０６において、セカンダリホストは、セカンダリストレージのＰＶＯＬにＩ／Ｏを発行する。
【００４９】
Ｓ１６１０において、プライマリホストは、Ｉ／Ｏ障害を検出し、クラスタソフトウェアはセカンダリホストに通知を与え、セカンダリホストはアプリケーション引き継ぎを開始する。セカンダリホストは、Ｉ／Ｏをセカンダリストレージに発行することを試みる。Ｓ１６１１において、セカンダリ物理ストレージリシンク処理は、プライマリストレージ障害のために、失敗する。Ｓ１６１２において、セカンダリ物理ストレージは状態を変更し、ホストは仮想マルチパス状態を更新する。Ｓ１６１３において、ホストはＩ／Ｏを発行し、セカンダリ物理ストレージは、回復が必要であることを示すＳＣＳＩ状態を返す。Ｓ１６１４において、セカンダリ物理ストレージは、クラスタソフトウェアにデータ復旧の処理が必要であることを通知する。ボリューム状態をチェックし、行為を調整するカスタムスクリプトも、使用してもよい。
【００５０】
図１７は、本実施例において、プライマリサイトの障害と最も近いセカンダリサイトの障害のために、３データセンタ構成の同期及び非同期リモートコピーのための仮想マルチパスを変更することを示す。図１７の例において、パス１７１と１７２のＩ／Ｏ状態は、オフラインに変更され、パス１７３のＩ／Ｏ状態は、オンラインにされる。プライマリサイトとしてしてのリモートセカンダリサイトへの移行のための状態変化は、状態１７４及び１７５において示されている。本構成は、図１４及び図１６で説明された処理の組み合わせにより形成される。仮想ストレージのサイト選択のフローの詳細は、図１８の記述において説明される。
【００５１】
図１８は、本実施例に係る、仮想ストレージのサイト選択フロー１８００を示す。Ｓ１８０１において、プライマリサイトで障害が発生し、クラスタソフトウェアがプライマリサイト障害を検出し、アプリケーション引き継ぎを開始する。Ｓ１８０２において、チェックが実行され、最も近いセカンダリサイトが健全であるかを見る。最も近いセカンダリサイトが健全である場合（ＹＥＳ）、フローはＳ１８０３に進み、図１４のフローを呼び出す。そうではない場合（ＮＯ）、フローはＳ１８１１に進み、図１６のフローを呼び出す。
【００５２】
図１９は、本実施例において、プライマリサイト障害のために、仮想マルチパスを非同期リモートコピーモードに変更することを示す。図１９の例において、プライマリホストが故障し、ネットワーク障害１９１がプライマリ物理ストレージとセカンダリ物理ストレージの間でリシンクプロセスの間に発生すると、セカンダリストレージのＳＶＯＬリシンクプロセスが失敗し１９２、ＳＶＯＬは不明データを含む。この例から復旧するためには、セカンダリストレージは、最新のローカルコピーＳＶＯＬ（バックアップボリューム）１９３を復旧のために選択し、ホストにバックアップボリュームへの新しいマッピングを通知する。ホストアプリケーションは、バックアップボリューム１９３を使用することによって、ボリュームを復旧する。本例のさらなる詳細は、図２０において説明される。
【００５３】
図２０は、本実施例において、非同期コピーディザスタリカバリ（ＤＲ）仮想ボリューム（ＶＶＯＬ）のために、仮想マルチパス状態を変化させるフローチャート例２０００を示す。Ｓ２００１において、プライマリホストがプライマリサイト障害を検出すると、アプリケーションは、セカンダリサイトに移動される。セカンダリホストは、Ｉ／Ｏをセカンダリホストに発行し、セカンダリ物理ストレージは、ＰＶＯＬとＳＶＯＬのサスペンド処理を開始する。Ｓ２００２において、Ｓ２００１のリシンクコピー処理の間、プライマリストレージが故障する、またはリモートコピーネットワークが故障すると、ストレージはリシンクを停止して（Ｙｅｓ）、フローはＳ２０１０に進む。そうでない場合（Ｎｏ）、フローはＳ２００３に進む。
【００５４】
Ｓ２００３において、リシンクコピー処理が成功し、リシンクが完了する。結果は、ＳＶＯＬがＰＶＯＬと同一のデータを格納する。Ｓ２００４において、ＤＲボリュームマッピングが変更される（例えばＳ１６０５に類似）。ホストＩ／Ｏはアプリケーション復旧なしに、再開する。
【００５５】
Ｓ２０１０において、プライマリストレージ障害または復旧ネットワーク障害のために、プライマリストレージがアクティブであっても、リシンクが失敗する。プライマリストレージ障害のため、図１６で記述された復旧処理を使用できる。Ｓ２０１０のためのフローは、復旧ネットワーク障害のための状況を考慮する。Ｓ２０１１において、チェックが実行され、オーバーフローがプライマリストレージジャーナルボリュームにおいて起きたか判定する。起きていない場合（Ｎｏ）、フローはＳ２０１５に進む。そうではない場合、フローはＳ２０１２に進む。
【００５６】
Ｓ２０１５のフローは、リシンク失敗ケースに向けられており、ジャーナルデータのオーバーフローは起きなかった。Ｓ２０１５において、セカンダリストレージサスペンド処理は、完了しており、ジャーナルデータの部分的なリシンクのみが発生した。仮想ストレージは、ホストにリカバリＤＲＶＶＯＬ状態が古いデータであることを通知する。Ｓ２０１６において、仮想ストレージは、ＤＲＶＶＯＬのための内部マッピングを変更する。リシンクコピーデータ処理はＳ２０１０で未完了であるので、ホストはセカンダリストレージのＰＶＯＬの古いデータを復旧する、または、ＰＶＯＬからセカンダリストレージにおけるローカルコピーボリューム１９３に変更する。ホストＩ／Ｏは、アプリケーション復旧の後に再開する。
【００５７】
Ｓ２０１２のフローは、リシンク失敗ケースに向けられており、ジャーナルデータのオーバーフローが発生した。Ｓ２０１２において、セカンダリストレージサスペンド処理は、プライマリボリュームのジャーナルデータのオーバーフロー及びビットマップを使用するコピーデータのために失敗する。この結果、セカンダリストレージのＳＶＯＬのためのデータ不整合が起きる。そのため、ＳＶＯＬは復旧のためにアプリケーションによって使用されることができない。Ｓ２０１３において、セカンダリストレージは、ＳＶＯＬの最新のローカルコピーのバックアップボリュームを選択する。Ｓ２０１４において、セカンダリストレージがＳＶＯＬのローカルコピーを持っていない場合（Ｎｏ）、フローはバックアップボリュームのロールバックのために失敗を示す通知を発行する。そうでない場合（Ｙｅｓ）、古いＳＶＯＬへのロールバックが成功し、フローはＳ２０１５に進む。
【００５８】
さらに、詳細説明のいくつかの部分は、計算機内の処理のアルゴリズム及び記号表現の観点において提供される。これらアルゴリズムの記述及び記号表現は、データ処理技術の当業者によって、最も効果的に技術革新を他の当業者に最も効果的に伝えるために使用される手段である。アルゴリズムは、所望の最終状態又は結果につながる定義された一連のステップである。実施例において、実行されるステップは、実体の結果を得るための実体量の物理的な操作を必要とする。
【００５９】
さらに、本願の他の実施例は、ここに開示された実施例の詳細及び実際を考慮することによって、当業者にとって明らかである。説明された実施例の様々な観点及び／又は構成要素は、単独又は任意の組み合わせで使用することができる。明細書及び実施例は実施例にすぎず、本願の本来の範囲及び精神は以下の請求範囲によって示される。
【図１】
0005968554.tif 000002
【図２】
0005968554.tif 000003
【図３】
0005968554.tif 000004
【図４】
0005968554.tif 000005
【図５】
0005968554.tif 000006
【図６】
0005968554.tif 000007
【図７】
0005968554.tif 000008
【図８】
0005968554.tif 000009
【図９】
0005968554.tif 000010
【図１０】
0005968554.tif 000011
【図１１】
0005968554.tif 000012
【図１２】
0005968554.tif 000013
【図１３】
0005968554.tif 000014
【図１４】
0005968554.tif 000015
【図１５】
0005968554.tif 000016
【図１６】
0005968554.tif 000017
【図１７】
0005968554.tif 000018
【図１８】
0005968554.tif 000019
【図１９】
0005968554.tif 000020
【図２０】
0005968554.tif 000021