(57)【要約】【課題】  ストレージシステムの障害を計算機に通知する処理の負荷を軽減することを目的とする。【解決手段】ストレージシステム１００Rは、障害を検出すると、ストレージシステム１００RLと通信可能なストレージシステム１００Lを特定し、障害情報をストレージシステム１００Ｌに送信する。ストレージシステム１００Ｌは、送信された障害情報を受信すると、ストレージシステム１００Ｒと同様の処理により障害情報をストレージシステム１００Ｐに送信する。ホストコンピュータ２００と通信可能なストレージシステム１００Ｐは、送信された障害情報を受信すると、受信した障害情報をホストコンピュータ２００に通知する。【選択図】  図２４
2006127217.tif 000002
【特許請求の範囲】
【請求項１】
計算機と、前記計算機と通信可能な第１のストレージシステムと、前記第１のストレージシステムと通信可能な第２のストレージシステムとを備える計算機システムであって、
前記第２のストレージシステムは、
前記第２のストレージシステムと通信可能な第１のストレージシステムを特定し、
前記第２のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第１のストレージシステムは、
前記送信された障害情報を前記計算機に通知することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムは、さらに、
前記第２のストレージシステムと通信可能な第３のストレージシステムを備え、
前記第３のストレージシステムは、
前記第３のストレージシステムと通信可能な第２のストレージシステムを特定し、
前記第３のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第２のストレージシステムは、さらに、
前記第３のストレージシステムから前記障害情報を受信し、
前記受信した障害情報を前記第１のストレージシステムに送信する計算機システム。
【請求項３】
請求項２に記載の計算機システムにおいて、
前記計算機は、
前記第１のストレージシステムおよび前記第２のストレージシステムを介して、前記第３のストレージシステムに制御コマンドを送信し、
前記第２のストレージシステムおよび前記第３のストレージシステムは記憶部を備え、
前記制御コマンドを受信した際に、前記制御コマンドを送信した送信元のストレージシステムを前記記憶部に記録し、
前記第２のストレージシステムおよび前記第３のストレージシステムによって特定されるストレージシステムは、前記記録された送信元のストレージシステムである計算機システム。
【請求項４】
請求項３に記載の計算機システムにおいて、
いずれかの前記ストレージシステムが有する複数の記憶領域の中の２つの記憶領域を、一方から他方へ複製処理が行われる２つの記憶領域の組み合わせであるコピーペアに設定可能であり、
前記制御コマンドは、前記コピーペアを定義するペア定義情報を含むと共に、前記ペア定義情報により定義されるコピーペアの設定をストレージシステムに命じるコピーペア設定コマンドであり、
前記記録された送信元のストレージシステムは、前記ストレージシステムと、前記コピーペア設定コマンドに含まれる前記ペア定義情報とを関連付けて記録され、
前記第２のストレージシステムおよび前記第３のストレージシステムによるストレージシステムの特定は、前記関連付けて記録された前記ペア定義情報を用いて実行される計算機システム。
【請求項５】
請求項１に記載の計算機システムにおいて、
前記第１のストレージシステムは、前記第２のストレージシステムから送信された障害情報を、前記第１のストレージシステムの記憶領域の障害として通知する計算機システム。
【請求項６】
請求項１に記載の計算機システムにおいて、
前記第１のストレージシステムは、前記計算機に仮想的な記憶領域を提供し、
前記計算機から前記仮想的な記憶領域へのアクセスに応じ、前記第２のストレージシステムから送信された障害情報に基づいて障害の内容を通知する計算機システム。
【請求項７】
請求項１に記載の計算機システムにおいて、
前記第１のストレージシステムは、前記障害情報として障害が発生したことを通知し、前記通知を受信した前記計算機から、障害の内容について問い合わせがあった場合に、前記問い合わせに対する応答として前記障害の内容を通知する計算機システム。
【請求項８】
請求項１に記載の計算機システムにおいて、
前記障害情報は、前記ストレージシステムのいずれかが有する記憶領域の障害情報または各ストレージシステムを接続してデータを送信するデータ回線の障害情報である計算機システム。
【請求項９】
請求項１に記載の計算機システムにおいて、
前記計算機は、データの送受信を行うデータ回線によって前記第１のストレージシステムに接続されると共に、前記データの送受信を行うホスト計算機であり、
前記障害情報の通知は、前記データ回線を介して実行される計算機システム。
【請求項１０】
請求項１に記載の計算機システムは、さらに、
前記計算機とは別に、データの送受信を行うデータ回線によって前記第１のストレージシステムに接続されると共に、前記データの送受信を行うホスト計算機を備える計算機システム。
【請求項１１】
請求項１０に記載の計算機システムにおいて、
前記計算機は、前記データ回線とは異なる通信回線によって前記第１のストレージシステムに接続され、
前記障害情報の通知は、前記通信回線を介して実行される計算機システム。
【請求項１２】
請求項１に記載の計算機システムにおいて、
前記第２のストレージシステムが、前記通知した障害情報に関する障害が回復したことを知らせる障害回復情報を取得した場合には、
前記第２のストレージシステムは、さらに、
前記特定されたストレージシステムに、前記取得した障害回復情報を送信し、
前記第１のストレージシステムは、さらに、
前記送信された障害回復情報を前記計算機に通知する計算機システム。
【請求項１３】
ストレージシステムであって、
外部装置と通信可能な第１のインタフェースと、
第１の外部ストレージシステムと通信可能な第２のインタフェースと、
前記第１のインタフェースと前記第２のインタフェースとに接続される制御部と、
前記制御部に接続される複数の記憶装置とを備え、
前記制御部は、
前記第１の外部ストレージシステムの障害に関する障害情報を受信し、
前記ストレージシステム自身に発生した障害を検出し、
前記外部装置が計算機である場合には、前記受信した障害情報または前記検出された障害に関する障害情報を前記第１のインタフェースを介して前記計算機に通知し、
前記外部装置が前記計算機に至る通信経路上に配置されている第２の外部ストレージシステムである場合には、前記受信した障害情報または前記検出された障害に関する障害情報を前記第１のインタフェースを介して前記第２のストレージシステムに通知することを特徴とするストレージシステム。
【請求項１４】
計算機と、前記計算機と通信可能な第１のストレージシステムと、前記第１のストレージシステムと通信可能な第２のストレージシステムとを備える計算機システムにおいて、障害を管理する方法であって、
前記第２のストレージシステムは、
前記第２のストレージシステムと通信可能な第１のストレージシステムを特定し、
前記第２のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第１のストレージシステムは、
前記送信された障害情報を前記計算機に通知する方法。
【請求項１５】
請求項１４に記載の方法において、
前記計算機システムが前記第２のストレージシステムと通信可能な第３のストレージシステムを備える場合には、
前記第３のストレージシステムは、
前記第３のストレージシステムと通信可能な第２のストレージシステムを特定し、
前記第３のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第２のストレージシステムは、さらに、
前記第３のストレージシステムから前記障害情報を受信し、
前記受信した障害情報を前記第１のストレージシステムに送信する方法。
【請求項１６】
表示装置を備える計算機と、前記計算機と通信可能な第１のストレージシステムと、前記第１のストレージシステムと通信可能な第２のストレージシステムとを備える計算機システムにおいて、障害を表示する表示方法であって、
前記第２のストレージシステムは、
前記第２のストレージシステムと通信可能な第１のストレージシステムを特定し、
前記第２のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第１のストレージシステムは、
前記送信された障害情報を前記計算機に通知し、
前記計算機は、
前記通知された障害情報を用いて前記発生した障害を特定し、
前記特定した障害を前記表示装置に表示する表示方法。
【請求項１７】
請求項１５に記載の方法において、
前記計算機システムが前記第２のストレージシステムと通信可能な第３のストレージシステムを備える場合には、
前記第３のストレージシステムは、
前記第３のストレージシステムと通信可能な第２のストレージシステムを特定し、
前記第３のストレージシステム自身に発生した障害を検出し、
前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、
前記第２のストレージシステムは、さらに、
前記第３のストレージシステムから前記障害情報を受信し、
前記受信した障害情報を前記第１のストレージシステムに送信する表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機とストレージシステムとから構成される計算機システムに関し、特に、障害を管理する技術に関する。
【背景技術】
【０００２】
計算機と、データを格納するストレージシステムとを備える計算機システムにおいて、データの信頼性を高めるために、リモートコピー技術が一般的に用いられている。このようなリモートコピー技術が用いられる計算機システムには、データ回線（例えば、ファイバチャネル）により接続されネットワークを構成する複数のストレージシステムと、これら複数のストレージシステムの一部に接続された計算機とを備えるものがある。このような計算機システムには、計算機と接続されているストレージシステムと、計算機に接続されていないストレージシステムとが存在している。
【０００３】
ここで、Ｃａｓｃａｄｅコマンドを用いて計算機に接続されていないストレージシステムを制御する技術が知られている。具体的には、計算機は、ストレージシステムに対する命令と共に、制御対象のストレージシステムまでの通信経路情報が記載されたＣａｓｃａｄｅコマンドを発行する。発行されたＣａｓｃａｄｅコマンドは、転送経路情報に従って、計算機に接続されたストレージシステムから制御対象のストレージシステムまで、ストレージシステムのネットワーク上を送信される。制御対象のストレージシステムは、送信されたＣａｓｃａｄｅコマンドに従った処理を実行する。処理結果等の応答は、Ｃａｓｃａｄｅコマンドの送信経路を逆にたどって、制御対象のストレージシステムから計算機まで送信される（例えば特許文献１）。
【０００４】
【特許文献１】米国特許６５２９９４４Ｂ１号公報
【０００５】
従来の計算機システムでは、上述したＣａｓｃａｄｅコマンドを用いて、計算機に接続されていないストレージシステムにおいて発生した障害を計算機に通知させていた。すなわち、計算機が、当該ストレージシステム宛に障害の通知を要求するＣａｓｃａｄｅコマンドを定期的に発行し、Ｃａｓｃａｄｅコマンドに対する応答として、その当該ストレージシステムにおいて発生した障害を計算機に通知させていた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の計算機システムでは、計算機において、障害の有無に関わらず、Ｃａｓｃａｄｅコマンドの発行、応答の処理が定期的に発生するため、計算機の負荷が大きくなるおそれがあった。また、各ストレージシステム（ネットワークの末端に接続されているものを除くストレージシステム）においても、ストレージシステム自身における障害に関する処理のみならず、他のストレージシステムにおける障害に関する送信も処理する必要があるため、これらのストレージシステムの負荷も同様に大きくなるおそれがあった。また、ストレージシステムの障害は、一般的に、コピー元とコピー先の２つの記憶領域の組み合わせ（コピーペア）を一単位として管理されるため、Ｃａｓｃａｄｅコマンドもコピーペアごとに発行される。かかる場合には、特に、多量のコピーペアを有する大容量のストレージシステムを備える計算機システムにおいて、障害のための処理負荷が非常に大きくなるという問題があった。
【０００７】
本発明は、上述した従来の課題を解決するためになされたものであり、計算機システムにおいて、ストレージシステムの障害を計算機に通知する処理の負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題の少なくとも一部を解決するために、本発明の第１の態様は、計算機と、前記計算機と通信可能な第１のストレージシステムと、前記第１のストレージシステムと通信可能な第２のストレージシステムとを備える計算機システムを提供する。本発明の第１の態様に係る計算機システムは、前記第２のストレージシステムは、前記第２のストレージシステムと通信可能な第１のストレージシステムを特定し、前記第２のストレージシステム自身に発生した障害を検出し、前記特定されたストレージシステムに、前記検出された障害に関する障害情報を送信し、前記第１のストレージシステムは、前記送信された障害情報を前記計算機に通知することを特徴とする。
【０００９】
本発明の第１の態様に係る計算機システムによれば、第２のストレージシステムは、自身に発生した障害情報を、第１のストレージシステムに送信する。第１のストレージシステムは、送信された障害情報を計算機に通知する。この結果、計算機が第２のストレージシステムに対して指示や問い合わせ等の処理をしなくても、第２のストレージシステムからの障害情報が、計算機に通知される。したがって、計算機が第２のストレージシステムの障害情報を取得するための処理負荷が軽減される。
【００１０】
上記計算機システムは、さらに、第２のストレージシステムと通信可能な第３のストレージシステムを備えても良く、かかる場合には、第３のストレージシステムは、自身と通信可能な第２のストレージシステムを特定し、自身に発生した障害に障害情報を特定した第２のストレージシステムに送信する。そして、第２のストレージシステムは、さらに、第３のストレージシステムから送信された障害情報を第１のストレージシステムに送信することが好ましい。
【００１１】
かかる場合には、第３のストレージシステムの障害情報は、最終的には第１のストレージシステムに送信され、第１のストレージシステムから計算機に通知される。この結果、計算機が第３のストレージシステムに対して指示や問い合わせ等の処理をしなくても、第３のストレージシステムからの障害情報が、計算機に通知される。したがって、計算機が第３のストレージシステムの障害情報を取得するための処理負荷が軽減される。
【００１２】
本発明の第２の態様は、ストレージシステムを提供する。本発明の第２の態様に係るストレージシステムは、外部装置と通信可能な第１のインタフェースと、第１の外部ストレージシステムと通信可能な第２のインタフェースと、前記第１のインタフェースと前記第２のインタフェースとに接続される制御部と、前記制御部に接続される複数の記憶装置とを備え、前記制御部は、前記第１のストレージシステムの障害に関する障害情報を受信し、前記ストレージシステム自身に発生した障害を検出し、前記外部装置が計算機である場合には、前記受信した障害情報または前記検出された障害に関する障害情報を前記第１のインタフェースを介して前記計算機に通知し、前記外部装置が前記計算機に至る通信経路上に配置されている第２のストレージシステムである場合には、前記受信した障害情報または前記検出された障害に関する障害情報を前記第１のインタフェースを介して前記第２の外部ストレージシステムに通知することを特徴とする。
【００１３】
本発明の第２の態様に係るストレージシステムは、取得した障害情報（自身において検出された障害または他のストレージシステムから受信した障害情報）を、計算機または計算機に至る通信経路上に配置されている他のストレージシステム（本明細書では外部ストレージシステムともいう。）に送信する。この結果、当該ストレージシステムによって計算機システムを構成すれば、各ストレージシステムにおける障害情報は、計算機に至る通信経路を順次送信され、最終的には計算機に通知される。この結果、計算機が各ストレージシステムに対して指示や問い合わせ等の処理をしなくても、障害情報が計算機に通知され、計算機の処理負荷が軽減される。
【００１４】
また、本発明は、上記計算機システムにおける計算機が表示装置を備え、計算機が、通知された障害情報を用いて発生した障害を特定し、特定した障害を表示装置に表示する表示方法としても実現することができる。こうすれば、計算機は、ストレージシステムに対して指示や問い合わせ等の処理をしなくても、ストレージシステムの障害を表示することができる。したがって、計算機がストレージシステムの障害を表示するための処理負荷が軽減される。
【００１５】
本発明は、これ以外にも種々の態様で実現することができる。例えば、障害を管理する方法、これらの方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。さらに、本発明の第２および第３の態様に係る表示方法は、表示プログラム、表示プログラムを記録した記録媒体等の形態で実現することができる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施の形態を図面を参照しつつ、実施例に基づいて説明する。
【００１７】
Ａ．実施例：
・計算機システムの構成：
図１〜図４を参照して、本実施例に係る計算機システム、計算機システムを構成するストレージシステム、ホストコンピュータのハードウェア構成について説明する。図１は本実施例に係る計算機システムの概略構成を示す説明図である。図２は本実施例に係るホストコンピュータの内部構成を示すブロック図である。図３は本実施例に係るストレージシステムのホストアダプタの内部構成を示すブロック図である。図４は、本実施例に係るストレージシステムの共有メモリの内部構成を示すブロック図である。
【００１８】
本実施例に係る計算機システム１０００は、計算機としてのホストコンピュータ２００と、ストレージシステム１００Ｐ、１００Ｌ、１００Ｒを備えている。ホストコンピュータ２００と、ストレージシステム１００Ｐとは、データの処理活動を行うプロダクションサイトに設置されている。また、ストレージシステム１００Ｌは、プロダクションサイトの近隣にあるローカルサイトに設置されている。また、ストレージシステム１００Ｒは、プロダクションサイトから遠隔にあるリモートサイトに設置されている。
【００１９】
なお、本明細書では、ストレージシステムと、各構成要素と、各種の情報およびプログラムとを表す符号の末尾に、それが存するサイトを識別する符号を付加している。すなわち、それぞれを表す符号の末尾に、プロダクションサイトに存するものには「Ｐ」の符号を、ローカルサイトに存するものには「Ｌ」の符号を、リモートサイトに存するものには「Ｒ」の符号を、それぞれ付加している。また、本明細書中の説明において、特にサイトによって区別する必要のないときは、符号の末尾に付加したサイトを識別する符号を省略している。
【００２０】
ホストコンピュータ２００は、プロダクションサイトのストレージシステム１００Ｐとデータ回線３０によって接続されている。また、プロダクションサイトおよびリモートサイトのストレージシステム１００Ｐおよび１００Ｒは、それぞれローカルサイトのストレージシステム１００Ｌとデータ回線３０によって接続されている。データ回線３０は、接続されている機器間で各ストレージシステムに格納されるデータや、後述する各ストレージシステムを制御するコマンドの送受信を行う回線（例えば、ＳＣＳＩ、ファイバチャネル等）である。すなわち、ストレージシステム１００Ｐは、ホストコンピュータ２００と、他のストレージシステム１００を介さずに通信可能なストレージシステムである。一方、ストレージシステム１００Ｌは、ストレージシステム１００Ｐと通信可能なストレージシステムである。そして、ストレージシステム１００Ｒは、ストレージシステム１００Ｌと通信可能なストレージシステムである。
【００２１】
ホストコンピュータ２００は、計算機システム１０００内のすべてのストレージシステム１００を制御すると共に、データ処理業務を実行する。例えば、ホストコンピュータ２００は、ホストコンピュータ２００に接続されたストレージシステム１００Ｐとの間でデータのやりとりを行うと共に、ストレージシステム１００Ｐ、１００Ｌ、１００Ｒに対する種々の制御・設定を行う。
【００２２】
ホストコンピュータ２００は、図２に示すように、ＣＰＵ２１０と、メモリ２２０と、表示装置２４０と、ストレージシステム１００とのデータ、コマンドの送受信を実行するためのＩ／Ｏユニット２３０とを備えている。Ｉ／Ｏユニット２３０は、複数のＩ／Ｏポートを備えており、複数のデータ回線３０を接続可能である（図示は２本）。メモリ２２０は、ＣＰＵ２１０によって実行される各種アプリケーションプログラム（図示は省略する）、記憶装置情報２２６、制御下にある各記憶装置１００の接続構成を示すルート情報２２７、各記憶装置１００に設定されている全てのコピーペアおよびコピーグループの情報であるグループ情報２２８、各ストレージシステム間に設定されている全てのパスの情報であるパス情報２２９、ストレージシステム１００Ｐから通知された障害情報を記録している障害管理テーブル３００を格納している。メモリ２２０は、さらに、各ストレージシステム１００を制御するストレージ制御プログラム２２１を格納している。
【００２３】
ストレージ制御プログラムは、後述する各種コマンドを、ホストコンピュータ２００から制御対象のストレージシステム１００に送信する制御コマンド送信モジュール２２１１と、制御コマンドに対するコマンド応答を受信するコマンド応答受信モジュール２２１２と、後述する障害情報を用いて発生した障害を特定して表示装置２４０に表示する障害表示モジュール２２１３とを備えている。
【００２４】
各ストレージシステム１００は、２つかそれ以上のホストアダプタ１１０、１２０、キャッシュメモリ１３０、共有メモリ１４０、２つかそれ以上のディスクアダプタ１５０、１６０、クロスバスイッチ１７０、記憶装置としての複数のハードディスクドライブ（ＨＤＤ）１８０、サービスプロセッサ（ＳＶＰ）１９０を備えている。ＳＶＰ１９０、ＨＤＤ１８０を除く各構成要素１１０〜１６０は、クロスバスイッチ１７０によって選択的に接続される。
【００２５】
ホストアダプタ１１０は、ストレージシステム１００と外部の機器（例えば、ホストコンピュータ２００または他のストレージシステム１００）とのデータの送受信およびストレージシステム１００全体の制御を担当する制御部である。ホストアダプタ１１０は、図３に示すように、ＣＰＵ１１１、メモリ１１２、外部の機器（例えば、ホストコンピュータ２００または他のストレージシステム１００）とデータ・コマンド等の送受信を実行するためのＩ／Ｏユニット１１３、クロスバスイッチ１７０を介してストレージシステム１００内の他の構成要素とデータ等の送受信を実行するためのＩ／Ｏユニット１１４とを備えている。Ｉ／Ｏユニット１１３は、複数のＩ／Ｏポートを備えており、外部と接続するための複数のデータ回線３０を接続可能である（図示は２本）。Ｉ／Ｏユニット１１３は、さらに、複数のＩ／Ｏポートごとに後述するデータ回線（物理パス）の状態を認識し、正常でない場合には、ホストアダプタ１１０（ＣＰＵ１１０）に対してその状態を通知（以下、物理パス状態通知という。）する回路を備えている（図示は省略する）。Ｉ／Ｏユニット１１３は、ホストコンピュータ２００またはホストコンピュータ２００に至る通信経路上に配置されている他のストレージシステム１００と通信可能なインタフェースである。メモリ１１２は、ホストアダプタ１１０と外部の機器または内部の構成要素との通信を制御するプログラム（図示省略）と共に、障害情報の送信・通知を担当するプログラムである障害通知マネージャ５０と、ストレージシステム１００内部の障害の管理を担当するプログラムである障害管理マネージャ６０とを備える。
【００２６】
障害通知マネージャ５０は、障害情報を送信・通知する宛先となるホストコンピュータ２００またはストレージシステム１００を特定する送信先特定モジュール５１と、他のストレージシステムから送信された障害情報を受信する障害情報受信モジュール５３と、障害情報を通信可能な他のストレージシステムに送信する障害情報送信モジュール５４と、障害情報を通信可能なホストコンピュータ２００に通知する障害情報通知モジュール５５とを備えている。送信先特定モジュール５１は、後述するコマンド（制御命令）を送信した送信元を特定する情報を後述する障害通知用テーブル１４４に、障害情報を送信する経路情報として記録する経路情報記録モジュール５２を備えている。
【００２７】
ホストアダプタ１１０は、ストレージシステム１００Ｐのホストアダプタ１１０Ｐのようにホストコンピュータ２００と接続されることも、ストレージシステム１００Ｌのホストアダプタ１１０Ｌのように他のストレージシステム１００と接続されることもできるように構成されている。上述した障害通知マネージャ５０の障害情報通知モジュール５５は、ホストアダプタ１１０Ｐのようにホストコンピュータ２００と接続されたホストアダプタ１００において機能するモジュールである。一方、障害情報送信モジュール５４は、ホストアダプタ１１０Ｌのように他のストレージシステム１００と接続されたホストアダプタ１００において機能する。
【００２８】
もう一つのホストアダプタ１２０は、上述したホストアダプタ１１０と同様の構成を有しているため、図３において、かっこ書きで符号を付し、詳しい説明を省略する。ここで、ホストアダプタ１２０に備えられたＩ／Ｏユニット１２３は、図１のように計算機システムを構成した場合には、ホストコンピュータ２００と接続されていないストレージシステム（本実施例では、ストレージシステム１００Ｌまたは１００Ｒ）と通信可能なインタフェースであり、接続されたストレージシステムから送信される障害情報（詳細は後述）を受信するインタフェースである。
【００２９】
キャッシュメモリ１３０は、ＨＤＤ１８０に書き込むデータ、ＨＤＤ２６から読み出したデータを一時的に格納する。
【００３０】
共有メモリ１４０は、図４に示すように、ホストアダプタ１１０、１２０、ディスクアダプタ１５０、１６０が共有するメモリであり、後述するボリューム情報１４１、ペア情報１４２、パス情報１４３、障害通知用テーブル１４４といった各種情報を格納している。また、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐにおける１４０Ｐには、さらに、障害管理用テーブル１４５Ｐが格納されている。
【００３１】
ディスクアダプタ１５０、１６０は、各ＨＤＤ１８０にそれぞれ接続されており、ＨＤＤ１８０に対するデータの書き込み、ＨＤＤ１８０からのデータの読み出しを制御する。ディスクアダプタ１５０、１６０もまた、ホストアダプタ１１０と同様にしてＣＰＵ、メモリ、Ｉ／Ｏユニットを備えている。
【００３２】
ＳＶＰ１９０は、周知のプロセッサであり、ストレージシステム１００全体の保守を担当している。ＳＶＰ１９０は、図示しないが、ストレージシステム１００内の各構成要素（ディスクアダプタ１５０、１６０、ホストアダプタ１１０、１２０等）と制御線で接続（例えば、Ethernet（登録商標）接続）され、各構成要素と通信可能である。また、ＳＶＰ１９０には、ＳＶＰ端末９０を接続可能（例えば、ＲＳ−２３２Ｃ接続、Ethernet接続）であり、ユーザーは、ＳＶＰ端末９０を介して、ストレージシステム１００に対して保守関連の制御を行うことや、ストレージシステム１００における保守関連の情報を取得することが可能である。
【００３３】
図５〜図８を参照して、共有メモリ１４０に格納される各種情報について説明すると共に、各記憶装１００に設定されるボリュームについて説明する。図５は共有メモリ１４０に格納される各種情報の一例を示す説明図である。図５では、プロダクションサイトのストレージシステム１００Ｐの共有メモリ１４０Ｐに格納される情報を例に挙げて示している。図５（ａ）はボリューム情報１４１Ｐを、図５（ｂ）はペア情報１４２Ｐを、図５（ｃ）はパス情報１４３Ｐをそれぞれ示している。図６は、各ストレージシステム１００に設定されるコピーペアの構成を概念的に示す説明図である。図７は、各ストレージシステム１００の共有メモリ１４０に格納される障害通知用テーブル１４４Ｐ、１４４Ｌ、１４４Ｒを示す説明図である。図８は、各ストレージシステム１００の共有メモリ１４０に格納される障害管理用テーブル１４５を示す説明図である。
【００３４】
本実施例に係る各ストレージシステム１００では、図５に示すボリューム情報１４１と、ペア情報１４２と、パス情報１４３とによって、各ストレージシステムに設定されているコピーペアを管理している。例えば、図６に示すようにコピーペアが設定されているものとして説明を進める。ここで、コピーペアとは、一の論理ボリューム（以下、正ボリュームという。）と、一の論理ボリュームに格納されたデータの複製が格納される（コピーされる）他の論理ボリューム（以下、副ボリュームという。）との組み合わせをいう。コピーペアが設定されると、定期的に、全部コピーや差分コピー等のコピー処理が、コピーペア間において実行される。これによって、ストレージシステム１００に格納されたデータの信頼性が高められる。ここで、全部コピーとは、コピーペアの正ボリュームに格納されたデータ全部を副ボリュームにコピーすることを意味している。一方、差分コピーとは、正ボリュームに格納されたデータの内、更新されたデータのみを副ボリュームにコピーすることを意味している。ここで、図１で示す複数のＨＤＤ１８０の管理を容易にするため、計算機システム１０００では、図１で示す複数のＨＤＤ１８０を１つの論理的な記憶領域と見なし、この論理的な記憶領域を多数の記憶領域に分割して管理している。上述した論理ボリュームとは、分割されたそれぞれの記憶領域のことをいう。本明細書において単にボリュームという場合には、この論理ボリュームをいうものとする。
【００３５】
ボリューム情報１４１は、ストレージシステムのボリュームを管理するための情報であり、図５（ａ）に示すように、ボリューム番号、ボリューム状態、コピー種別、ペア番号、グループ番号、ＨＤＤ番号、容量を含んでいる。ボリューム番号は、ボリュームを識別する識別子であり、ボリュームごとに付与されている。図６に示す例では、Ｐ１〜Ｐ５がそれぞれストレージシステム１００Ｐにおけるボリューム番号１〜５に対応するボリュームを示している。本明細書では、図６に示すように、ストレージシステムを示す符号（Ｐ、Ｌ、Ｒ）とボリューム番号との組み合わせによりボリュームを区別するものとする。例えば、ストレージシステム１００Ｒにおけるボリューム番号３のボリュームをボリュームＲ３と表す。
【００３６】
ボリューム状態は、ボリュームの状態が、例えば、正常、異常、未使用のいずれであるかを示している。正常とは、ボリュームはコピーペアを形成して正常に動作していることを示している。異常とは、ボリュームはコピーペアを形成しているが、データの読み出しまたは書き込みに支障があることを示している。例えば、そのボリュームに対応するＨＤＤ１８０が故障しており動作しない場合に、異常とされる。未使用とは、そのボリュームは、コピーペアを形成していないことを示している。ただし、そのボリュームが障害通知用ボリュームやコマンドデバイスとして割り当てられている場合は、コマンドデバイスであることや、障害通知用ボリュームであることが示される。
【００３７】
障害通知用ボリュームは、図６において破線で示しているが、後述する障害通知において用いられる。障害通知用ボリュームは、いわゆる仮想ボリュームである。仮想ボリュームとは、論理アドレスを有しておりホストコンピュータ２００から存在を認識できるが、ＨＤＤの物理アドレスと対応付けられておらず実際の書き込みや読み込みはできない仮想的なボリュームをいう。障害通知用ボリュームは、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐにのみ設定され、本実施例においては、図６に示すように、記憶装置１００Ｐのボリューム番号０番が、障害通知用ボリュームとして設定されている。ホストコンピュータ２００は、後述するように、障害通知用ボリューム宛に制御コマンドを送信することによって、障害通知用ボリュームにアクセスすることができる。
【００３８】
コマンドデバイスは、ホストコンピュータ２００が、各障害通知用ボリュームに対して後述するコマンドを送信（接続されていない障害通知用ボリュームに対しては、直接送信できないので、他の記憶装置を介して送信する。）する際に、コマンドの送信先として指定されるボリュームであり、他の論理ボリュームとは異なる特殊なボリュームである。各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒのそれぞれにおいて、ボリュームの１つが、コマンドデバイスとして割り当てられる。本実施例においては、図６に示すように、ボリューム番号１のボリュームＰ１、Ｌ１、Ｒ１がそれぞれストレージシステム１００Ｐ、１００Ｌ、１００Ｒのコマンドデバイスとして割り当てられている。また、本実施例においては、後に詳述する障害情報の送信においても、コマンドデバイスが、障害情報の送信先としても指定される。なお、コマンドデバイスは、制御や障害監視に関連する処理にのみ用いられ、通常のデータの格納には用いられない。
【００３９】
コピー種別は、そのボリュームが形成しているコピーペアの種別を示す。コピーペアの種別には、ローカルミラー（ＬＭ）とリモートコピー（ＲＣ）がある。ローカルミラーとは、同じストレージシステム１００のボリュームによって形成されるコピーペアである。例えば、図６におけるボリュームＰ２とボリュームＰ３は、ローカルミラーを形成している。図６では、白抜きの矢印で結ばれたボリュームどうしは、ローカルミラーを形成していることを示す。リモートコピーとは、一のストレージシステム１００のボリュームと他のストレージシステム１００のボリュームによって形成されるコピーペアである。例えば、図６におけるボリュームＰ３とボリュームＬ２はリモートコピーを形成している。図６では、ハッチングされた矢印で結ばれたボリュームどうしは、リモートコピーを形成していることを示す。リモートコピーは、さらに、同期型のリモートコピー（同期ＲＣ）と、非同期型のリモートコピー（非同期ＲＣ）の２種類がある。簡単に説明すると、同期型のリモートコピーは、正ボリュームにデータ書き込み命令があると、正ボリュームにデータを書き込み、さらに、副ボリュームにデータを書き込んだ後に、データ書き込み命令の実行が終了とされる。これに対し、非同期型のリモートコピーは、正ボリュームにデータ書き込み命令があると、正ボリュームにデータを書き込んだ後に、データ書き込み命令の実行は終了され、副ボリュームへのデータの書き込みは、バックグラウンドで行われる。
【００４０】
ペア番号は、コピーペアを識別する識別子であり、本実施例では、コピー種別ごとに採番される。例えば、ローカルミラーの１番、２番・・、同期型のリモートコピーの１番、２番・・、というように各コピーペアに付与される。
【００４１】
グループ番号は、コピーグループを識別する識別子である。ここで、コピーグループとは、同じ種別の１以上のコピーペアから構成されるグループをいう。コピーペアをコピーグループ単位で制御・管理することで、計算機システム１００の制御・管理を容易化することができる。図６において、一点波線で囲まれたグループＧｒ−ＬＭは、ローカルミラーのコピーグループを示している。また、実線で囲まれたグループＧｒ−ＲＣは、リモートコピーのコピーグループを示している。ＨＤＤ番号は、そのボリュームに対応するＨＤＤ１８０を識別する識別子である。容量は、ボリュームの記憶容量（例えば、３ギガバイト）を示す。
【００４２】
このようなボリュームに関する情報については、さらに、詳細な情報（例えば、ボリュームと対応するＨＤＤの物理アドレスを記録したアドレスマップや、アクセス可能なＩ／Ｏポート情報等）も別のテーブルに記録されているが、これらについては説明を省略する。
【００４３】
ペア情報１４２は、そのストレージシステムのボリュームが形成するコピーペアを管理するための情報であり、図５（ｂ）に示すように、コピー種別、ペア番号、ペア状態、正ボリューム識別情報、副ボリューム識別情報、グループ番号とを含む。コピー種別、ペア番号、グループ番号は、上述したボリューム情報１４１における同名の情報と同じものである。ペア状態は、正常、異常、未使用、コピー未、コピー中のいずれかの値を取る。ペア状態が正常の場合には、コピー処理が正常に行われていることを意味する。ペア状態が異常の場合には、例えば、ストレージシステム間のデータ回線３０の断線による障害によって、コピー処理を行うことができないことを意味する。ペア状態が未使用の場合には、そのペア番号の情報は有効でないことを意味する。ペア状態がコピー中の場合には、後述する初期コピー処理中であることを意味する。ペア状態がコピー未の場合には、初期コピー処理が未だ実行されていないことを意味する。
【００４４】
パス情報１４３は、そのストレージシステムのボリュームが形成するリモートコピーのコピーペアにおいて、そのストレージシステムのボリュームと他のストレージシステムのボリュームとを結ぶ論理パスを管理するための情報である。論理パスには、そのストレージシステムと他のストレージシステムとをホストアダプタ（１１０または１２０）のＩ／Ｏユニット（１１３または１２３）を介して接続している複数のデータ回線３０（物理パスともいう。）のうちの少なくとも１本が割り当てられる。以下、単にパスという場合には、論理パスのことをいうものとする。本実施例では、パスは、リモートコピーのコピーグループごとに設定されており、コピーグループに含まれるコピーペアは、全て同じ論理パスが設定される。図６において、パスＬＰは、リモートコピーのコピーグループＧｒ−ＲＣにおいて設定されたパスを示す。
【００４５】
パス情報１４３は、パス番号、コピー種別、グループ番号、物理パス割り当て情報を含む。パス番号は、パスを識別する識別子であり、パスごとに付される番号である。コピー種別、グループ番号は、上述したボリューム情報１４１における同名の情報と同じものである。物理パス割り当て情報は、そのパスに割り当てられるデータ回線３０（物理パス）を定義する情報（以下、パス定義情報という。）である。データ回線３０（物理パス）は、そのデータ回線が接続されている両端のＩ／Ｏポートを指定することで定義される。すなわち、図５（ｃ）に示すように、正と副の両ボリュームを有するストレージシステムと、ストレージシステムに備えられたＩ／Ｏポート（図３におけるホストアダプタのＩ／Ｏユニット１１４（１２４）に備えられたＩ／Ｏポートの１つが該当する）を識別するＩ／Ｏポート番号とがそれぞれ記録されている。
【００４６】
障害通知用テーブル１４４について説明する。障害通知用テーブル１４４は、後述する障害通知処理において、ストレージシステムが障害情報を取得した際に、その障害情報を他のストレージシステムに送信またはホストコンピュータ２００に通知する際に、その送信・通知先を特定するために用いられる情報（以下、障害通知経路情報という。）を記録したテーブルである。障害通知経路情報は、図７に示すように、障害情報送信先と、ペア定義情報を含む。障害情報送信先としては、取得した障害情報を送信または通知すべきストレージシステムのコマンドデバイス、またはホストコンピュータが記録されている。ペア定義情報は、取得した障害情報がどのコピーペアに関する障害情報であるかを特定するために用いられる情報であり、上述した障害情報送信先と関連付けられて記録されている。ペア定義情報は、図７に示すように、コピーペアを特定するのに必要な、コピー種別、正と副の両ボリュームの属するストレージシステムおよびボリューム番号を含む。
【００４７】
障害管理用テーブル１４５Ｐについて説明する。障害管理用テーブルは、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐの共有メモリ１４０Ｐにのみ格納されている情報であり、ホストコンピュータ２００に通知するための障害情報が記録されている。ホストコンピュータ２００と直接接続されていないストレージシステム１００Ｌ、１００Ｒの共有メモリ１４０Ｌ、１４０Ｒには記録されていない。障害情報の記録は、本実施例では、図８に示すように障害が発生した障害部位（ボリューム、パス）を特定する情報と、障害種類（ボリューム障害、タイムアウト）が記録されている。
【００４８】
図９および図１０を参照して、ホストコンピュータ２００のメモリ２２０に格納される各種情報について説明する。図９は、ホストコンピュータ２００のメモリ２２０に格納される各種情報の一例を示す第１の説明図である。図１０は、ホストコンピュータ２００のメモリ２２０に格納される各種情報の一例を示す第２の説明図である。
【００４９】
記憶装置情報２２６（図９（ａ）参照）は、ストレージシステムおよびストレージシステムのボリュームの一覧表である。ホストコンピュータ２００は、記憶装置情報２２６を参照することにより、自己の管理下にあるストレージシステムおよびストレージシステムのボリュームを把握できる。
【００５０】
ルート情報２２７（図９（ｂ）参照）は、ホストコンピュータ２００から各ストレージシステムまでの接続経路を示している。本実施例では、各ストレージシステムは、ホストコンピュータから直列に、ストレージシステム１００Ｐ−ストレージシステム１００Ｌ−ストレージシステム１００Ｒの順番で連結されているので、接続経路は、図９（ｂ）に示すように、１つ（ルート番号１）しかない。ストレージシステムの接続の構成が複雑な場合には、複数の接続経路が記録されるが、それについては後述する。ルート情報には、ホストコンピュータ２００から接続されている順番に、ストレージシステム１００の識別子（本実施例ではＰ、Ｌ等）とコマンドデバイスの識別子（本実施例では、コマンドデバイスが割り当てられているボリューム番号１）がそれぞれ記録されている。ルート情報２２７に記録された接続経路が、コマンドの通信経路となる。従って、ホストコンピュータ２００は、ルート情報２２７を参照することにより、コマンドの通信経路を認識することができる。コマンドデバイスの識別子が記録されているのは、上述したようにコマンドは、コマンドデバイスを発行先として発行されるからである。
【００５１】
グループ情報２２８（図９（ｃ）参照）は、項目としては、上述した各ストレージシステムの共有メモリ１４０に備えられたペア情報１４２と同じものである。ただし、ペア情報１４２は、その情報が備えられているストレージシステムのボリュームが形成するコピーペアの情報のみを含んでいるが、グループ情報２２８は、ホストコンピュータ２００の管理下にある全てのコピーペアの情報を含んでいる。すなわち、本実施例の場合、グループ情報２２８は、ストレージシステム１００Ｐ、１００Ｌ、１００Ｒのそれぞれのペア情報１４２Ｐ、１４２Ｌ、１４２Ｒを合わせた情報である。ホストコンピュータ２００は、グループ情報２２８を参照することによって、管理下にある全てのコピーペアを把握することができる。ここで、本情報をペア情報といわず、グループ情報というのは、ユーザーの便宜等のため、ホストコンピュータ２００において、コピーペアは、コピーグループ単位で管理されるためである。
【００５２】
パス情報２２９（図１０（ａ）参照）は、項目としては、上述した各ストレージシステムの共有メモリ１４０に備えられたパス情報１４３と同じものである。ただし、共有メモリ１４０のパス情報１４２は、その情報が備えられているストレージシステムのボリュームが形成するコピーペア（リモートコピー）に関するパス情報のみを含んでいるが、ホストコンピュータ２００のパス２２９は、ホストコンピュータ２００の管理下にある全てのコピーペア（リモートコピー）に関するパス情報を含んでいる。すなわち、本実施例の場合、パス情報２２９は、ストレージシステム１００Ｐ、１００Ｌ、１００Ｒのそれぞれのパス情報１４３Ｐ、１４３Ｌ、１４３Ｒを合わせた情報である。ホストコンピュータ２００は、パス情報２２９を参照することによって、管理下にある全てのパスを把握することができる。
【００５３】
障害管理用テーブル３００（図１０（ｂ）参照）は、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐから通知された障害情報が記録されている。したがって、項目としては、上述したストレージシステム１００Ｐの共有メモリ１４０Ｐに格納されている障害管理用テーブル１４５Ｐと同じである。ホストコンピュータ２００は、障害管理用テーブル３００を参照することによって、管理下にある各ストレージシステム１００における障害を管理する。
【００５４】
・計算機システムの動作
・ストレージシステムの制御：
図１１〜図１４を参照して、ホストコンピュータ２００（ＣＰＵ２１０）がストレージシステム１００Ｐ、１００Ｌ、１００Ｒを制御するための処理（以下、ストレージシステム制御処理という。）について、先ず説明する。図１１は、ホストコンピュータ２００が実行するストレージシステム制御処理の処理ルーチンを示すフローチャートである。図１２は、ホストコンピュータ２００が生成するコマンドチェーンを概念的に示す説明図である。図１３は、コマンドを受信したストレージシステム１００のホストアダプタ１１０が実行するコマンド受信処理の処理ルーチンを示すフローチャートである。図１４は、コマンドチェーンが、リモートサイトのストレージシステム１００Ｒまで送信される様子を概念的に示す説明図である。ストレージシステム制御処理は、ストレージシステムを制御する制御コマンド（以下、単にコマンドという。）を、制御対象のストレージシステムに送信する処理である。
【００５５】
ホストコンピュータ２００は、ストレージシステム制御処理を開始すると、先ず、制御内容を取得する（ステップＳ１１）。制御内容は、例えば、ユーザーからの指示がホストコンピュータ２００に入力されることによって、取得される。制御内容には、例えば、ストレージシステム１００のコピーペアに対する制御であるコピーペア制御や、上述した障害通知用ボリュームＰ０に対する制御である障害通知用ボリューム制御がある。コピーペア制御には、例えば、ストレージシステム１００にコピーペアを設定してコピー処理を開始させるコピーペア設定命令、既に設定されたコピーペアを解消してコピー処理を終了させるコピーペア終了命令、既に設定されコピーを実行中のコピーペアにコピー処理を一時中止させるコピー中止命令、一時中止状態にあるコピーペアにコピー処理を再開させるコピー再開命令等がある。
【００５６】
また、障害通知用ボリューム制御には、障害通知用ボリュームを設定させる障害ボリューム設定命令、障害通知用ボリュームを削除させる障害通知用ボリューム削除命令、後述する障害通知用ボリュームに状態を通知をさせる障害通知用ボリューム状態通知命令等がある。
【００５７】
どのような制御内容であっても、基本的な制御処理の流れは同様である。以下では、ストレージシステム１００Ｒにおいて、ボリュームＲ２を正ボリューム、ボリュームＲ３を副ボリュームとするローカルミラー（ＬＭ）をコピーペアとして設定するコピーペア設定命令を制御内容として取得した場合を具体例に説明する（図１１参照）。
【００５８】
制御内容を取得すると、ホストコンピュータ２００は、上述したルート情報２２７を参照して、コマンドの通信経路を特定する（ステップＳ１２）。本具体例では、制御の対象がホストコンピュータ２００に接続されていないストレージシステム１００Ｒである制御（以下、リモート制御という。）である。したがって、コマンドを他のストレージシステムを介してストレージシステム１００Ｒまで、送信しなければならないため、ルート情報２２７のルート番号１に示されている接続経路、具体的には、ホストコンピュータ２００−ストレージシステム１００ＰのコマンドデバイスＰ１−ストレージシステム１００ＬのコマンドデバイスＬ１−ストレージシステム１００ＲのコマンドデバイスＲ１という接続経路を通信経路として特定する。制御の対象がホストコンピュータ２００と通信可能なストレージシステム１００Ｐである制御の（以下、ローカル制御という。）場合には、通信経路は、単に、ホストコンピュータ２００−ストレージシステム１００ＰのコマンドデバイスＰ１となる。
【００５９】
通信経路を特定すると、ホストコンピュータ２００は、取得した制御内容および特定した通信経路に基づいて、制御命令を記録したコマンドを生成する（ステップＳ１３）。リモート制御の場合は、コマンドは、概念的には、図１２に示すように、制御内容指示コマンドＣ１と、送信指示コマンドＣ２およびＣ３と、リモート指示コマンドＣ４とが連結された構造を有したコマンドチェーンＣＣとなる。コマンドチェーンＣＣを構成する各コマンドＣ１〜Ｃ４は、宛先が記録されたヘッド部と、指示内容および指示内容を実行するために必要な付加情報を記録したボディ部からなる。
【００６０】
ヘッド部には、コマンドが最初に発行される宛先（本実施例では、ストレージシステム１００ＰのコマンドデバイスＰ１）が記録され、全てのコマンドＣ１〜Ｃ４において同じである。
【００６１】
制御内容指示コマンドＣ１は、最終的な送信先（本具体例では、ストレージシステム１００Ｒ）に制御内容を指示するコマンドである。制御内容指示コマンドＣ１のボディ部には、指示内容として「コピーペア設定」が記録され、付加情報として設定すべきコピーペアを定義する情報（以下、ペア定義情報という。）として正ボリューム、副ボリューム、コピー種別が記録されている。設定するコピーペアがリモートコピーである場合には、さらに、使用するパスを定義するパス定義情報も記録される。
【００６２】
送信指示コマンドＣ２、Ｃ３は、発行されたコマンドチェーンＣＣを受信したストレージシステムに対して、他のストレージシステムへの送信を指示するコマンドである。送信指示コマンドＣ２、Ｃ３のボディ部には、指示内容として「送信」が記録され、付加情報として送信先が記録されている。送信指示コマンドＣ２、Ｃ３は、送信されるステップの数だけコマンドチェーンＣＣに連結されている。すなわち、この具体例では、コマンドチェーンＣＣは、ストレージシステム１００ＰのコマンドデバイスＰ１からストレージシステム１００ＬのコマンドデバイスＬ１へ送信されるステップ（以下、送信１という。図１４参照。）と、ストレージシステム１００ＬのコマンドデバイスＬ１からストレージシステム１００ＲのコマンドデバイスＲへ送信されるステップ（以下送信２という。図１４参照。）の２つのステップが必要であるので、２つの送信指示コマンドＣ２（送信１を指示）およびＣ３（送信２を指示）がコマンドチェーンＣＣに連結されている。リモート指示コマンドＣ４は、コマンドチェーンＣＣが、リモート制御用のコマンドチェーンであることをホストコンピュータ２００と通信可能なストレージシステム１００Ｐに知らせるコマンドである。リモート指示コマンドＣ４のボディ部には、指示内容として「リモート」が記録され、付加情報としては、リモート制御であることを知らせる先（本具体例では、ストレージシステム１００ＲのコマンドデバイスＲ１）が記録されている。
【００６３】
一方、ローカル制御の場合には、コマンドは、送信指示コマンドＣ２、Ｃ３や、リモート指示コマンドＣ４は不要であるので、制御内容指示コマンドＣ１だけからなる構造になる。
【００６４】
コマンドを生成すると、ホストコンピュータ２００は、生成したコマンドを、ストレージシステム１００Ｐに送信して（ステップＳ１４）、本処理を終了する。
【００６５】
続いて、図１３を参照して、上述したコマンドを受信したストレージシステム１００のホストアダプタ１１０が実行するコマンド（制御命令）受信処理について説明する。コマンド受信処理は、基本的には、全てのストレージシステム１００で同様に行われるので、各サイトごとに区別せずにまとめて説明する。ただし、サイトの異なるストレージシステムごとに異なる部分は、その都度説明する。
【００６６】
ホストアダプタ１１０は、コマンドを受信すると、コマンドが自ストレージシステムに対する命令であるか否かを判断する（ステップＳ２１）。ホストアダプタ１１０は、取得したコマンドが、リモート指示コマンドＣ４や送信指示コマンドＣ２，Ｃ３が、１つでも連結されたコマンドチェーンである場合には、コマンドは自ストレージシステムに対する命令ではないと判断する（ステップＳ２１：ＮＯ）。そうすると、ホストアダプタ１１０は、コマンドチェーンを構成する送信指示コマンドに記録されているコマンドの送信先を取得する（ステップＳ２２）。
【００６７】
送信先を取得すると、ホストアダプタ１１０は、取得した送信先にコマンドを送信する（ステップＳ２３）。例えば、上述した図１２に示すコマンドチェーンＣＣを取得したストレージシステム１００Ｐのホストアダプタ１１０Ｐは、ストレージシステム１００ＬのコマンドデバイスＬ１宛にコマンドを送信する。この際、ホストアダプタ１１０は、送信先を取得した送信指示コマンドをコマンドチェーンから除去して送信する。なお、ホストコンピュータ２００に通信可能なストレージシステム１００Ｐのホストアダプタ１１０Ｐは、リモート指示コマンドＣ４もコマンドチェーンから除去する。
【００６８】
一方で、ホストアダプタ１１０は、取得したコマンドが、リモート指示コマンドＣ４や送信指示コマンドＣ２，Ｃ３が１つも連結されていない制御内容指示コマンドＣ１のみからなるコマンドである場合には、コマンドは自ストレージシステムに対する命令であると判断する（ステップＳ２１：ＹＥＳ）。そうすると、ホストアダプタ１１０は、制御内容指示コマンドＣ１に記録された制御内容に従って、指示された制御命令を実行する（ステップＳ２４）。そして、ホストアダプタ１１０は、制御命令の実行結果を生成し、コマンドに対する応答（以下、コマンド応答という。）として、コマンドの送信元に対して送信する（ステップＳ２５）。
【００６９】
図１４を参照して、図１２に示すコマンドチェーンＣＣが、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおいて上述したコマンド（制御命令）受信処理が実行された結果について説明する。図１４に示すように、図１２に示すコマンドチェーンＣＣをコマンドとして取得したストレージシステム１００Ｐのホストアダプタ１１０Ｐは、コマンド（コマンドチェーンＣＣ）にリモート指示コマンドＣ４や送信指示コマンドＣ２，Ｃ３が連結されているので、自ストレージシステムに対する命令ではないと判断する（ステップＳ２１：ＮＯ）。ホストアダプタ１１０Ｐは、送信指示コマンドＣ３に記録されたストレージシステム１００ＬのコマンドデバイスＬ１を送信先として取得する（ステップＳ２２）。ホストアダプタ１１０Ｐは、リモート指示コマンドＣ４と送信指示コマンドＣ３を除去したコマンドをストレージシステム１００Ｌに送信する（ステップＳ２３）。
【００７０】
ストレージシステム１１０Ｐから送信されたコマンドを受信したストレージシステム１００Ｌのホストアダプタ１１０Ｌは、受信したコマンドに、送信指示コマンドＣ２が連結されているので、やはり、自ストレージシステムに対する命令ではないと判断する（ステップＳ２１：ＮＯ）。ホストアダプタ１１０Ｌは、送信指示コマンドＣ２に記録されたストレージシステム１００ＲのコマンドデバイスＲ１を送信先として取得する（ステップＳ２２）。ホストアダプタ１１０Ｌは、送信指示コマンドＣ２を除去したコマンドをストレージシステム１００Ｌに送信する（ステップＳ２３）。
【００７１】
ストレージシステム１１０Ｌから送信されたコマンドを受信したストレージシステム１００Ｒのホストアダプタ１１０Ｒは、受信したコマンドは、制御内容指示コマンドＣ１のみからなるコマンドであるので、自ストレージシステムに対する命令であると判断する（ステップＳ２１：ＹＥＳ）。ホストアダプタ１１０Ｒは、制御内容指示コマンドＣ１に記録された制御内容に従い、ボリュームＲ２とボリュームＲ３から構成されるローカルコピーのコピーペアを設定する（ステップＳ２４）。ホストアダプタ１１０Ｒは、コピーペアの設定に成功した場合には成功したことを、失敗した場合には失敗したことを記録したコマンド応答を生成して、コマンドの送信元であるストレージシステム１００Ｌに対して送信する（ステップＳ２５）。
【００７２】
コマンド応答は、図１４に示すように、コマンドが送信されてきたルートを逆にたどるように送信され、最終的に、ホストコンピュータ２００にまで送信される。コマンド応答の送信は、コマンドを受信した各ストレージシステムのホストアダプタ１１０が、コマンド応答が送信されてくるまで、コマンドの送信元を共有メモリ１４０に一時的に記憶しておくことによって実行される。
【００７３】
・障害通知用ボリュームの生成処理：
上述したストレージシステム制御処理（図１１参照）や、コマンド受信処理（図１３参照）によって、上述したコピーペア制御を始め種々の制御処理を実行することができる。これらの制御処理のうち、図１５および図１６を参照して、後述する障害通知において用いる障害通知用ボリュームを生成する処理（以下、障害通知用ボリューム生成処理という。）について説明する。図１５は、障害通知用ボリューム生成処理の処理ルーチンを示すフローチャートである。図１６は、障害通知用ボリューム生成処理に用いられるコマンドとコマンド応答の一例を示す説明図である。図１５においては、説明の便宜のため、ホストコンピュータ２００において実行される処理と、ストレージシステム１００Ｐにおいて実行される処理とを並べて示している。
【００７４】
障害通知用ボリューム生成処理が開始されると、ホストコンピュータ２００は、障害通知用ボリュームを定義する（ステップＳ３１）。障害通知用ボリュームは、上述したように仮想ボリュームであるが、通常のボリュームと同様に、ボリュームの識別子を割り当てる。本実施例では、図６に示すように、ボリューム番号０を障害通知用ボリュームの識別子として割り当てている。障害通知用ボリュームは、ホストコンピュータ２００に通信可能なストレージシステムにのみ生成されるので、本実施例では、ストレージシステム１００Ｐに生成される。従って、本実施例では、障害通知用ボリュームは、「ストレージシステム１００Ｐのボリューム番号０」と定義される（障害通知用ボリュームＰ０と表記する。）。ホストコンピュータ２００は、後述する状態通知処理等に用いるため、障害通知用ボリュームの定義を記録しておく。例えば、上述した障害管理用テーブル３００に記録しておけば良い。
【００７５】
ホストコンピュータ２００は、定義した障害通知用ボリュームＰ０の生成を制御内容とするコマンド（以下、障害通知用ボリューム生成コマンドという。）を生成する（ステップＳ３２）。図１６（ａ）は、障害通知用ボリューム生成コマンドの一例を示している。なお、このコマンドは、ローカル制御であるので、送信指示コマンド等は連結されておらず、制御内容指示コマンドＣ１のみから構成されている。ホストコンピュータ２００は、生成した障害通知用ボリューム生成コマンドをストレージシステム１００Ｐに送信する（ステップＳ３３）。
【００７６】
ストレージシステム１００Ｐのホストアダプタ１１０Ｐは、障害通知用ボリューム生成コマンドを受信する（ステップＳ３４）と、コマンドを解析して障害通知用ボリュームの定義情報を取得して、共有メモリ１４０Ｐのボリューム情報１４１Ｐに障害通知用ボリュームについて記録する（ステップＳ３５）。例えば、図５（ａ）に示すボリューム情報１４１Ｐの最上段のように、ボリューム番号は「０」、ボリューム状態は「障害通知用」と記録される。障害通知用ボリュームは、仮想ボリュームであり、コピーペアを構成しない特殊なボリュームであるので、それ以外の項目には何も記録されず、ＨＤＤ１８０の物理アドレスも割り当てられない。
【００７７】
ホストアダプタ１１０Ｐは、障害通知用ボリュームを、通常のボリュームと同様にホストコンピュータ２００から認識可能にするボリューム表示処理を実行する（ステップＳ３６）。具体的には、ホストアダプタ１１０Ｐは、ホストコンピュータ２００と接続されているＩ／Ｏユニット２３０のＩ／Ｏポートに障害通知用ボリュームを関連付けして、ホストコンピュータ２００が障害通知用ボリュームにアクセス可能にする。例えば、ホストコンピュータ２００とＩ／Ｏポートとの接続がＳＣＳＩであれば、Ｉ／Ｏポートに障害通知用ボリュームのＬＵＮ（Logical Unit Number）を対応付ける手続きが該当する。また、ホストコンピュータ２００とＩ／Ｏポートとの接続がファイバチャネルであれば、Ｉ／Ｏポート（チャネルデバイス）に障害通知用ボリュームのデバイスを関連付ける手続きが該当する。
【００７８】
ホストアダプタ１１０Ｐは、上述の処理（ステップＳ３５〜Ｓ３６）の結果（正しく完了またはエラー発生等）をコマンド応答Ｒ１としてホストコンピュータ２００に送信して本処理を終了する（ステップＳ３７）。図１６（ｂ）に、コマンド応答Ｒ１の一例を示す。ホストコンピュータ２００は、ストレージシステム１００Ｐからのコマンド応答Ｒ１を受信して本処理を完了する（ステップＳ３８）
【００７９】
また、ホストコンピュータ２００において、障害通知用ボリュームの定義（ステップＳ３１）を実行せず、ボリュームを定義する情報を含まない障害通知用ボリューム生成コマンドＣ１（図１６（ｃ）参照）を生成しても良い。かかる場合には、障害通知用ボリューム生成コマンドを受信したストレージシステム１００Ｐのホストアダプタ１１０Ｐが、障害通知用ボリュームを定義し、ボリュームを定義する情報を含めたコマンド応答Ｒ１（図１６（ｄ）参照）をホストコンピュータ２００に送信する。
【００８０】
なお、ホストコンピュータ２００は、一度生成された障害通知用ボリュームを、障害通知用ボリューム削除コマンドを送信することで削除することもできる。かかる場合には、障害通知用ボリューム削除コマンドを受信したストレージシステム１００Ｐのホストアダプタ１１０Ｐが、上述した処理を無効化する（ボリューム情報１４１Ｐから障害通知用ボリュームの記録を削除、障害通知用ボリュームのＩ／Ｏポートへの関連付けを解除）。
【００８１】
・障害検出処理：
次に、図１７および図１８を参照して、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおける障害検出処理について説明する。図１７は、ペア状態管理処理の処理ルーチンを示すフローチャートである。図１８は、パス状態管理処理の処理ルーチンを示すフローチャートである。
【００８２】
障害検出処理は、ホストアダプタ１１０（ＣＰＵ１１１）がメモリ１１２に備えられたプログラムである障害管理マネージャ６０を起動して実行する処理である。障害検出処理は、ストレージシステムの状態を監視し、ストレージシステムに障害が発生した場合には、その障害を検出して後述する障害通知マネージャ５０を呼び出す処理である。障害検出処理には、上述したコピーペアの状態をペア情報１４２を用いて管理するペア状態管理処理と、上述したパスの状態をパス情報１４３を用いて管理するパス状態管理処理とがあり、これら２つの処理は、並列に実行される。障害検出処理は、全てのストレージシステム１００Ｐ、１００Ｌ、１００Ｒで同様に行われるので、各サイトごとに区別せずにまとめて説明する。障害管理マネージャ６０は、各ストレージシステムが動作している間は、基本的に常時起動されており、障害検出処理は常時実行されている。
【００８３】
まず、図１７に示すペア状態管理処理について説明する。本処理が実行されると、ホストアダプタ１１０は、そのストレージシステム１００内のディスクアダプタ１５０からコピーペアの状態通知が有るか否かを常に監視する（ステップＳ４１）。ディスクアダプタ１５０は、上述したように、ＨＤＤ１８０に対するデータの書き込み、ＨＤＤ１８０からのデータの読み出しを制御しており、上述した全部コピーや差分コピーといったコピー処理を実行している。このため、ディスクアダプタ１５０は、例えば、コピーペアを形成するボリュームに対応するＨＤＤ１８０が故障して読み出しができなくなる等、コピーペアに生じる状態の変化を最初に認識する。ディスクアダプタ１５０は、コピーペアの状態に変化が有った場合には、その状態の情報をコピーペアを特定する情報と共に、共有メモリ１４０の所定の領域に書き込むことによってホストアダプタ１１０にその状態を通知する。そして、ホストアダプタ１１０は、共有メモリ１４０の所定の領域を監視することによって、ディスクアダプタ１５０からの状態通知が有るか否かを知ることができる。すなわち、ホストアダプタ１１０は、コピーペアに何等かの障害があった場合には、この状態通知を介して、その障害を検出することができる。
【００８４】
ホストアダプタ１１０は、ディスクアダプタ１５０からの状態通知が有った場合（ステップＳ４１：ＹＥＳ）には、共有メモリ１４０に記録されたディスクアダプタ１５０からのコピーペアの状態通知を取得する（ステップＳ４２）。
【００８５】
ホストアダプタ１１０は、取得したコピーペアの状態通知に基づいて、共有メモリ１４０に格納されているペア情報１４２の「ペア状態」（図５（ｂ）参照）を更新する（ステップＳ４３）。
【００８６】
ホストアダプタ１１０は、取得したコピーペアの状態通知が、異常であることを通知するものであるか否かを判断する（ステップＳ４４）。ホストアダプタ１１０は、ペア状態が異常である場合（ステップＳ４４：ＹＥＳ）には、上述した障害通知マネージャ５０を呼び出す（ステップＳ４５）。ホストアダプタ１１０は、ペア状態が異常ではない場合にはステップＳ４１にリターンし、ディスクアダプタ１５０からコピーペアの状態通知が有るか否かを監視する状態に戻る。
【００８７】
次に、図１８に示すパス状態管理処理について説明する。本処理が実行されると、ホストアダプタ１１０は、外部（ホストコンピュータ２００や他のストレージシステム（本明細書では、外部ストレージシステムともいう。））と接続されるデータ回線３０（物理パス）が接続されているＩ／Ｏユニット１１３から、上述した物理パス状態通知が有るか否かを常に監視する（ステップＳ５１）。物理パス状態通知は、例えば、データ回線３０（物理パス）が、上述したタイムアウトの状態に陥った場合等にＩ／Ｏユニット１１３から通知されるものである。物理パス状態通知が有った場合（ステップＳ５１：ＹＥＳ）には、ホストアダプタ１１０は、通知されたデータ回線３０（物理パス）の状態を取得する（ステップＳ５２）。すなわち、ホストアダプタ１１０は、データ回線３０（物理パス）に何等かの障害があった場合には、この物理パス状態通知を介して、その障害を検出することができる。
【００８８】
ホストアダプタ１１０は、取得した物理パスの状態に基づいて、上述したパス情報１４３において、当該データ回線３０（物理パス）と対応する論理パスの「パス状態」（図５（ｃ）参照）を更新する（ステップＳ５３）。
【００８９】
ホストアダプタ１１０は、取得したデータ回線３０（物理パス）の状態が、対応する論理パスのパス状態は異常であることを通知するものであるか否かを判断する（ステップＳ５４）。ホストアダプタ１１０は、パス状態が異常である場合（ステップＳ５４：ＹＥＳ）には、上述した障害通知マネージャ５０を呼び出す（ステップＳ５５）。ホストアダプタ１１０は、パス状態が異常ではない場合にはステップＳ５１にリターンし、Ｉ／Ｏユニット１１３から物理パス状態通知が有るか否かを監視する状態に戻る。
【００９０】
なお、障害通知マネージャ５０が呼び出された（ステップＳ４５またはＳ５５）場合における処理については、後述する障害通知関連処理において詳細を説明する。
【００９１】
・障害通知関連処理：
続いて、図１９〜図２４を参照して、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおける障害通知関連処理について説明する。図１９は、障害通知関連処理の処理ルーチンを示すフローチャートである。図２０は、障害通知経路情報管理処理の処理ルーチンを示すフローチャートである。図２１は、自障害通知処理の処理ルーチンを示すフローチャートである。図２２は、ストレージシステムから送信・通知される障害情報の一例を示す説明図である。図２３は、他障害通知処理の処理ルーチンを示すフローチャートである。図２４は、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおいて、障害通知関連処理が実行された結果、リモートサイトのストレージシステム１００Ｒにおける障害情報がホストコンピュータ２００に通知される様子を概念的に示す説明図である。
【００９２】
障害通知関連処理は、基本的には、全てのストレージシステム１００で同様に行われるので、区別せずにまとめて説明する。ただし、ストレージシステム１００ごとに異なる部分は、その都度説明する。障害通知関連処理は、各ストレージシステム１００のコピーペアに生じた障害を、ホストコンピュータ２００に通知するための処理である。本処理は、ホストアダプタ１１０（ＣＰＵ１１１）がメモリ１１２に備えられたプログラムである障害通知マネージャ５０を起動して実行する処理である。障害通知マネージャ５０は、各ストレージシステムが動作している間は、基本的に常時起動されており、本処理は常時実行されている。
【００９３】
ホストアダプタ１１０は、コマンド（制御命令）を受信すると（ステップＳ１０１：ＹＥＳ）、上述したコマンド受信処理（図１３参照）に加えて、障害通知マネージャ５０の処理として、障害通知経路情報管理処理（ステップＳ１０２）を実行する。障害通知経路情報管理処理は、上述した障害通知用テーブル１４４に記録された障害通知経路情報を管理する処理である（図２０参照）。
【００９４】
障害通知経路情報管理処理を開始すると、ホストアダプタ１１０は、受信したコマンドが上述したコピーペア設定命令であるか否かを判断する（ステップＳ２０１）。受信したコマンドがコピーペア設定命令である場合（ステップＳ２０１：ＹＥＳ）には、ホストアダプタ１１０は、そのコマンドにより設定されコピー処理が開始されるコピーペアに関する障害通知経路情報を作成して、共有メモリ１４０に格納されている障害通知用テーブル１４４に記録する（ステップＳ２０２）。障害通知経路情報として記録する内容は、図７を参照して説明した障害情報送信先と、ペア定義情報である。
【００９５】
記録装置１００Ｐにおいては、障害情報送信先として、コマンドの送信元であるホストコンピュータ２００を記録する。ストレージシステム１００Ｌまたはストレージシステム１００Ｒにおいては、障害情報送信先として、コマンドを受信したストレージシステムと通信可能なストレージシステムであって、受信したコマンドを送信した送信元のストレージシステムを特定する情報（以下、送信元ストレージシステム情報という。）を記録する。本実施例では、送信元のストレージシステムのコマンドデバイス（例えば、Ｐ１やＬ１）を記録する。さらに、いずれのストレージシステムにおいても、コマンドに含まれているペア定義情報（図１２参照）を障害情報送信先と関連付けて記録する。
【００９６】
図１２に示すコピーペア設定命令のコマンド（ストレージシステム１００Ｒにおいて、ボリュームＲ２を正ボリューム、ボリュームＲ３を副ボリュームとするローカルミラー（ＬＭ）をコピーペアとして設定するコマンド）を受信した場合を具体例として説明する。ストレージシステム１００Ｐにおいては、障害通知用テーブル１４４Ｐに、図７（ａ）において、ハッチングされている番号８の情報を記録する。すなわち、障害情報送信先として、ストレージシステム１００Ｐにコマンドを送信した送信元であるホストコンピュータ２００が記録され、ペア定義情報として、コマンドに含まれるペア定義情報（コピー種別＝ローカルミラー（ＬＭ）、正ボリューム＝ボリュームＲ２、副ボリューム＝ボリュームＲ３）が記録される。ストレージシステム１００Ｌにおいては、障害通知用テーブル１４４Ｌに、図７（ｂ）において、ハッチングされている番号５の情報を記録する。すなわち、障害情報送信先として、ストレージシステム１００Ｌにコマンドを送信した送信元であるストレージシステム１００ＰのコマンドデバイスＰ１が記録され、ペア定義情報として、同様にコマンドに含まれるペア定義情報が記録される。そして、ストレージシステム１００Ｒにおいては、障害通知用テーブル１４４Ｒに、図７（ｃ）において、ハッチングされている番号１の情報を記録する。すなわち、障害情報送信先として、ストレージシステム１００Ｒにコマンドを送信した送信元であるストレージシステム１００ＬのコマンドデバイスＬ１が記録され、ペア定義情報として、同様にコマンドに含まれるペア定義情報が記録される。
【００９７】
コマンドの通信経路上においてコマンドを受信した各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒによって、本処理が実行される。したがって、図１２に示すコマンドが、ストレージシステム１００Ｒまで送信されてコピーペアが設定された時点で、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおいて、それぞれの障害通知用テーブル１４４Ｐ、１４４Ｌ、１４４Ｒに上述したハッチングされた障害通知経路情報が記録されることとなる。
【００９８】
図２０に戻って説明を続けると、ホストアダプタ１１０は、障害通知経路情報を作成、記録する（ステップＳ２０２）と、障害通知経路情報管理処理を終了して、図１９の障害通知関連処理にリターンする。
【００９９】
受信したコマンドがコピーペア設定命令でない場合（ステップＳ２０１：ＮＯ）には、ホストアダプタ１１０は、受信したコマンドが上述したコピーペア終了命令であるか否かを判断する（ステップＳ２０３）。受信したコマンドがコピーペア終了命令である場合（ステップＳ２０３：ＹＥＳ）には、ホストアダプタ１１０は、そのコマンドによりコピー処理が終了されるコピーペアに関する障害通知経路情報を、障害通知用テーブル１４４から削除する（ステップＳ２０４）。すなわち、ホストアダプタ１１０は、そのコマンドに含まれるコピー定義情報を取得して、障害通知用テーブル１４４に記録された障害通知経路情報のうち、取得したペア定義情報と一致するペア定義情報を含むものを削除する。
【０１００】
コマンドの通信経路上においてコマンドを受信した各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒによって、本処理が実行される。従って、例えば、上述した図１２に示すコマンドによって設定されたコピーペアを終了させるコマンドが、ストレージシステム１００Ｒに送信されてコピーペアの終了が実行された時点で、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおいて、それぞれの障害通知用テーブル１４４Ｐ、１４４Ｌ、１４４Ｒから上述したハッチングされた障害通知経路情報が削除されることとなる。
【０１０１】
ホストアダプタ１１０は、障害通知経路情報を削除する（ステップＳ２０３）と、障害通知経路情報管理処理を終了して、図１９の障害通知関連処理にリターンする。ホストアダプタ１１０は、受信したコマンドが、コピーペア設定命令あるいはコピーペア終了命令以外の命令（例えば、コピー中止命令やコピー再開命令）である場合には、何もしないことになる。
【０１０２】
ホストアダプタ１１０は、コマンドを受信していない場合（ステップＳ１０１：ＮＯ）には、上述した障害管理マネージャ６０の処理（ペア状態管理処理およびパス状態管理処理）における障害通知マネージャ５０の呼び出し（図１７：ステップＳ４５または図１８：ステップＳ５５）が有るか否かを判断する（ステップＳ１０３）。これらの呼び出しが有る場合（ステップＳ１０３：ＹＥＳ）には、ホストアダプタ１１０は、そのストレージシステム１００自身に発生した障害を通知する自障害通知処理（図２１参照）を実行する（ステップＳ１０４）。
【０１０３】
ホストアダプタ１１０は、自障害通知処理を開始すると、障害管理マネージャ６０から障害内容を取得する（ステップＳ３０１）。取得される障害内容は、例えば、ペア状態が異常である場合には、異常であるコピーペアのペア定義情報とペアの異常に関する情報が含まれる。ペアの異常に関する情報とは、例えば、ローカルミラーの場合には、正ボリュームと副ボリュームのいずれが異常であるかを示す情報が含まれる。また、リモートコピーの場合には、正ボリュームが異常であるか否かを示す情報が含まれる。リモートコピーの場合には、副ボリュームは、他のストレージシステム１００に存在するので、副ボリュームが異常であるか否かは直接は解らないため、かかる情報は含まれない。また、パス状態が異常である場合には、異常であるパスを定義するパス定義情報と、パスの異常に関する情報が含まれる。パスの異常に関する情報は、そのパスに対応するデータ回線３０（物理パス）が回線断あるいは通信過負荷の状態にあるため、そのパスを利用してデータを送信して一定時間が経過してもデータの送信が完了しないこと（いわゆるタイムアウト）を示す情報が含まれる。
【０１０４】
ホストアダプタ１１０は、障害内容を取得すると、送信・通知するための障害情報を作成する（ステップＳ３０２）。障害情報は、図２２に示すように、障害が発生した部位（ボリュームまたはパス）を特定する情報（以下、障害部位情報という。）、障害種類（ボリューム障害、パスのタイムアウト等）が含まれる。図２２（ａ）は、ボリューム障害の場合における障害情報の一例を示し、図２２（ｂ）は、パス障害の場合における障害情報の一例を示している。
【０１０５】
ホストアダプタ１１０は、取得した障害内容がローカルミラーの障害の場合またはパスの異常である場合は、取得した障害内容から障害情報を作成することができる。一方、リモートコピーの障害の場合は、障害部位を特定するため、ホストアダプタ１１０は、さらに、そのリモートコピーのコピーペアのパスをペア情報１４２とパス情報１４３を参照して特定し、特定されたパスの状態をパス情報１４３から取得する。そして、ホストアダプタ１１０は、リモートコピーのコピーペアにおいて、正ボリュームが異常である場合には、正ボリュームのボリューム障害と判断し、パスが異常である場合には、パスの障害（上述したタイムアウト等）と判断し、正ボリュームもパスも異常ではない場合には、副ボリューム（他のストレージシステムのボリューム）のボリューム障害であると判断して、障害情報を作成する。上述したように、他のストレージシステムのボリューム障害は、直接には解らないからである。
【０１０６】
障害情報を作成すると、ホストアダプタ１１０は、障害通知用テーブル１４４を参照して障害情報を送信・通知する宛先を特定する（ステップＳ３０３）。具体的には、ホストアダプタ１１０は、作成した障害情報に含まれる障害部位情報と、障害通知用テーブル１４４に含まれるペア定義情報と、パス情報１４３Ｐを参照して、その障害情報に係る障害部位が含まれるコピーペアに対応する障害通知経路情報を障害通知用テーブル１４４から検索する。例えば、図２２（ａ）に示す障害情報の場合であれば、この障害情報を作成したホストアダプタ１１０Ｒは、図７（ｃ）に示す障害通知用テーブル１４４Ｒから番号１の障害通知経路情報を検索し、この障害情報を送信する宛先は、ストレージシステム１００ＬのコマンドデバイスＬ１であることを特定する。図２２（ｂ）に示す障害情報の場合であれば、この障害情報を作成したホストアダプタ１１０Ｌは、図７（ｂ）に示す障害通知用テーブル１４４Ｌから番号３の障害通知経路情報を検索し、この障害情報を送信する宛先は、ストレージシステム１００ＰのコマンドデバイスＰ１であることを特定する。このように、ホストコンピュータ２００と接続されていないストレージシステム１００Ｌやストレージシステム１００Ｒの場合には、そのストレージシステムと通信可能な他のストレージシステムが特定される。一方、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐの場合には、ホストコンピュータ２００が特定される（図７（ａ）参照）。
【０１０７】
続いて、ホストアダプタ１１０は、ステップＳ３０２において作成した障害情報の内容を、障害履歴として記録しておく（ステップＳ３０４）。例えば、コマンドデバイスに障害履歴ログを作成して、障害履歴を記録しても良い。そして、ホストアダプタ１１０は、ステップＳ３０２において作成した障害情報を、ステップＳ３０３において特定した宛先に送信・通知して（ステップＳ３０５）、図１９に示す障害通知関連処理にリターンする。例えば、ホストアダプタ１１０は、図２２（ａ）（ｂ）に示すように、障害情報に特定した宛先（Ｌ１やＰ１）をヘッダ部として付加したものを、当該宛先に送信する。
【０１０８】
ホストアダプタ１１０は、障害管理マネージャ６０からの呼び出しがない場合（ステップＳ１０３：ＮＯ）には、そのストレージシステムと通信可能な他のストレージシステムから送信された障害情報を受信したか否かを判断する（ステップＳ１０５）。ストレージシステム１００Ｌを例にして説明すると、障害情報がストレージシステム１００Ｒからストレージシステム１００Ｌに送信（上述したステップＳ３０５参照）されると、ストレージシステム１００Ｒと接続されているストレージシステム１００Ｌのホストアダプタ１２０Ｌは、送信された障害情報を、障害情報が送信されてきたことを表すフラグと共に、共有メモリ１４０Ｌに格納する。ホストアダプタ１１０Ｌは、共有メモリ１４０Ｌを調査して、当該フラグを発見した場合に、他のストレージシステムから障害情報を受信したと判断する。他のストレージシステムから障害情報を受信したと判断した場合には、ホストアダプタ１１０は、他障害通知処理（図２３参照）を実行する（ステップＳ１０６）。
【０１０９】
ホストアダプタ１１０は、他障害通知処理を開始すると、先ず、共有メモリ１４０から他のストレージシステムから送信された障害情報を取得する（ステップＳ４０１）。取得される障害情報は、他のストレージシステムにおいて上述した自障害通知処理が実行されることによって作成され送信された障害情報であり、上述した図２２に示すものである。
【０１１０】
障害情報を取得すると、ホストアダプタ１１０は、障害通知用テーブル１４４を参照して取得した障害情報を送信・通知する宛先を特定する（ステップＳ４０２）。具体的には、上述した自障害通知処理におけるステップＳ３０３の処理と同様に、ホストアダプタ１１０は、取得した障害情報に係る障害部位情報と、障害通知用テーブル１４４に含まれるペア定義情報と、パス情報１４３を参照して、取得した障害情報に係る障害部位を含むコピーペアに対応する障害通知経路情報を障害通知用テーブル１４４から検索する。例えば、図２２（ａ）に示す障害情報の場合であれば、ストレージシステム１００Ｒから送信されたこの障害情報を取得したストレージシステム１００Ｌのホストアダプタ１１０Ｌは、図７（ｂ）に示す障害通知用テーブル１４４Ｌから番号５の障害通知経路情報を検索し、この障害情報を送信する宛先は、ストレージシステム１００ＰのコマンドデバイスＰ１であることを特定する。さらに、ストレージシステム１００Ｌから送信されたこの障害情報を取得したストレージシステム１００Ｐのホストアダプタ１１０Ｐは、図７（ａ）に示す障害通知用テーブル１４４Ｐから番号８の障害通知経路情報を検索し、この障害情報を送信する宛先は、ホストコンピュータ２００であることを特定する。このように、自障害通知処理と同様に、ホストコンピュータ２００と接続されていないストレージシステム１００Ｌやストレージシステム１００Ｒの場合には、そのストレージシステムと通信可能な他のストレージシステムが特定される。一方、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐの場合には、ホストコンピュータ２００が特定される（図７（ａ）参照）。
【０１１１】
続いて、ホストアダプタ１１０は、ステップＳ４０１において取得した障害情報の内容を、ステップＳ４０２において特定した宛先に送信・通知して（ステップＳ４０３）、図１９に示す障害通知関連処理にリターンする。例えば、ホストアダプタ１１０は、取得した障害情報にヘッダとして付加された宛先を、ステップＳ４０２において特定した宛先に変更して、当該宛先に送信する。
【０１１２】
以上説明してきた障害通知関連処理は、簡単に言えば、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒの各ホストアダプタ１１０が、コマンド受信の有無、そのストレージシステム自身における障害の有無（障害管理マネージャ６０からの呼び出しの有無）、他のストレージシステムから送信された障害情報の有無、常に監視しており、コマンド受信が有った場合にはその内容に応じて障害通知経路情報の記録や削除を実行し（障害通知経路情報管理処理）、ストレージシステム自身における障害が有った場合にはその障害情報を送信または通知し（自障害通知処理）、他のストレージシステムから送信された障害情報が有った場合には、その障害情報を送信または通知する（他障害通知処理）ものである。
【０１１３】
図２４を参照して、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒにおいて、障害通知関連処理が実行された結果、リモートサイトのストレージシステム１００Ｒにおける障害情報がホストコンピュータ２００に通知される仕組みを簡単に説明する。図２４に示すように、ストレージシステム１００Ｒにおいてローカルミラーを形成するボリュームＲ３にボリューム障害が発生したとする。そうすると、ストレージシステム１００Ｒのホストアダプタ１１０Ｒは、上述した自障害通知処理（図２１参照）を実行し、その障害情報がストレージシステム１００Ｌ（のコマンドデバイスＬ１）に送信される。すると、障害情報が送信されたストレージシステム１００Ｌのホストアダプタ１１０Ｌは、他障害通知処理（図２３参照）を実行し、送信された障害情報が、さらに、ストレージシステム１００Ｐ（のコマンドデバイスＰ１）に送信される。すると、障害情報が送信されたストレージシステム１００Ｐのホストアダプタ１１０Ｐは、他障害通知処理（図２３参照）を実行し、送信された障害情報を、ホストコンピュータ２００に通知する。
【０１１４】
ホストコンピュータ２００と通信可能なストレージシステム１００Ｐからホストコンピュータ２００への障害情報の通知について、さらに詳しく説明する。ホストコンピュータ２００は、汎用のＯＳ（Ｗｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）等）によって動作している場合には、ストレージ制御ソフトを当該ＯＳ上で起動しており、ホストコンピュータ２００の入出力は、ＯＳによって制御されている。したがって、ストレージシステム１００Ｐから障害情報を通知するには、ホストコンピュータ２００のＯＳがサポートしている（認識できる）形式で、障害情報を通知する工夫が必要となる。一般的に、ＯＳは、当該ＯＳが搭載されたコンピュータ２００に直接接続されている機器（本実施例では、ストレージシステム１００Ｐ）のみを認識しており、直接接続されている機器の障害情報の入力はサポートしている。一方で、ＯＳは、直接接続されていない機器（本実施例では、ストレージシステム１００Ｌおよびストレージシステム１００Ｒ）を認識することができず、直接接続されていない機器の障害情報の入力はサポートしていない。このため、かかる場合には、ストレージシステム１００Ｐのホストアダプタ１１０Ｐは、ストレージシステム１００Ｐ自身の障害情報についても、他のストレージシステムから送信された障害情報についても、ストレージシステム１００Ｐ自身の障害情報としてホストコンピュータ２００に通知する。本実施例では、ストレージシステム１００Ｐのホストアダプタ１１０Ｐは、上述した障害通知用ボリュームＰ０の障害として障害情報をホストコンピュータ２００に通知する。他の態様としては、ホストアダプタ１１０Ｐは、ストレージシステム１００ＰのコマンドデバイスＰ１の障害として、障害情報をホストコンピュータ２００に通知しても良い。
【０１１５】
さらに、ホストコンピュータ２００のＯＳがサポートしている形式によって、障害情報（障害の具体的内容を含む障害情報）を直接通知できる場合と、障害が発生したことは通知できても、障害の内容等を含む障害情報は通知できない場合がある。前者の場合は、他のストレージシステムから送信されてきた障害情報の内容をそのまま、ホストコンピュータ２００への障害通知に記録して通知する（以下、この通知方式を直接通知方式という。）。後者の場合には、ストレージシステム１００Ｐは、障害の内容等を含む障害情報を、上述した障害通知用テーブル１４５Ｐに記録しておき、ホストコンピュータ２００には、障害が発生したことのみを通知する。この場合には、ホストコンピュータ２００から、障害の内容について問い合わせをして、ストレージシステム１００Ｐに問い合わせに対する応答として障害の内容を通知させる処理が必要となる（以下、この通知方式を２段階通知方式という。）。
【０１１６】
・障害通知を受信したホストコンピュータ２００における処理：
続いて、図２５〜図２７を参照して障害通知を受信したホストコンピュータ２００における処理（以下、障害情報受信後処理という。）について説明する。図２５は、ホストコンピュータ２００が実行する障害情報受信後処理の処理ルーチンを示すフローチャートである。図２５には、説明の便宜のため、上述した２段階通知方式の場合において、ストレージシステム１００Ｐにおいて実行される状態通知処理の処理ルーチンについても合わせて示した。図２６は、状態通知コマンドおよび状態通知コマンドに対するコマンド応答の一例を示す説明図である。図２７は、ホストコンピュータ２００の表示装置２４０に表示されるグラフィックの一例を示す説明図である。
【０１１７】
障害通知を受信すると（ステップＳ５０１）、ホストコンピュータ２００は、障害内容を特定する（ステップＳ５０４）。ここで、障害内容を特定するためには、具体的な障害情報（上述した障害部位情報や障害種類情報）を取得する必要がある。したがって、上述した２段階通知方式の場合には、ステップＳ５０４に先だって、具体的な障害情報を取得するための処理（ステップＳ５０２およびＳ５０３）が必要となる。一方、上述した直接通知方式の場合には、ステップＳ５０２およびＳ５０３は必要ない。
【０１１８】
ここで、まず、２段階通知方式の場合におけるステップＳ５０２およびＳ５０３の処理について、これに対応するストレージシステム１００Ｐのホストアダプタ１１０Ｐの処理を含めて説明する。２段階通知方式においては、ホストコンピュータ２００は、具体的な障害情報についてストレージシステム１００Ｐに問い合わせる処理として、状態通知コマンドをストレージシステム１００Ｐに送信する（ステップＳ５０２）。これは、上述したコマンドを用いたストレージシステム制御処理の１つである。図２６（ａ）に、送信する状態通知コマンドの一例を示す。このコマンドは、上述したローカル制御にあたるのでコマンドチェーンではなく、制御内容指示コマンドＣ１のみからなるコマンドである。図２６（ａ）に示すように、指示内容は、状態通知とし、対象のボリュームは、障害通知用ボリュームＰ０を指定する。
【０１１９】
これを受信したストレージシステム１００Ｐのホストアダプタ１１０Ｐは、指示内容（状態通知）と対象のボリューム（障害通知用ボリュームＰ０）から、具体的な障害情報についての問い合わせであることを認識し、障害管理用テーブル１４５Ｐを参照して具体的な障害情報を取得する（ステップＳ６０２）。そして、取得した具体的な障害情報を記録したコマンド応答を生成して、ホストコンピュータ２００に送信する（ステップＳ６０４）。図２６（ｂ）に、送信するコマンド応答Ｒ１の一例を示す。図２６（ｂ）に示すように、応答内容は、状態通知の応答とし、障害部位（ボリューム、パス等）、障害種類（ボリューム障害、タイムアウト）が記録される。図２６（ｂ）は、１つの障害についてのみ記録されているが、複数の障害について記録しても良い。
【０１２０】
ホストコンピュータ２００は、ホストアダプタ１１０Ｐから送信されたコマンド応答Ｒ１を受信する（ステップＳ５０３）。これによって、ホストコンピュータ２００は、具体的な障害情報を取得する。なお、２段階通知方式の場合には、障害通知がなされた後にホストコンピュータ２００のＣＰＵ２１０の負荷が小さいときや、ユーザから要求入力を受けたときに、障害情報を取得することができるので、障害情報の取得のタイミングがより柔軟になる。
【０１２１】
ステップＳ５０４以降の処理は、直接通知方式と２段階通知方式とで共通する処理である。ホストコンピュータ２００は、取得した障害情報を障害管理用テーブル３００に記録する（ステップＳ５０４）。ホストコンピュータ２００は、取得した障害情報と、記憶装置情報２２６、グループ情報２２８を参照して次ステップで表示する障害内容を特定する（ステップＳ５０５）。例えば、図２６（ｂ）に示す障害情報（ボリュームＲ３のボリューム障害）を取得した場合には、当該障害は、「ストレージシステム１００Ｒのローカルミラー（グループ番号３）の副ボリュームにおける障害である」ことを特定する。
【０１２２】
ホストコンピュータ２００は、続いて、特定した障害をホストコンピュータ２００の表示装置２４０に表示する（ステップＳ５０６）。表示装置２４０には、例えば、図２７に示すように、各ストレージシステム１００Ｐ、１００Ｌ、１００Ｒに存在するボリュームがコピーペアの形成状況と共にグラフィック表示されている。図２７では、矢印によってコピーペアの形成関係が示されている。障害の表示は、例えば、図２７に示すように、特定された障害の部位のグラフィック（図２７に示す例では、ストレージシステム１００ＲのボリュームＲ３）の点滅あるいは色変更を行う。また、その障害を表すグラフィックがユーザーによってクリックされた場合に、障害の詳細を文字情報で表示することとしても良い。
【０１２３】
障害の表示の他の態様としては、障害通知用ボリュームＰ０のグラフィックを表示装置２４０に表示しておいても良い。ここで、障害通知用ボリュームＰ０は、上述したように仮想ボリュームであるため、他のボリューム（実ボリューム）と区別して表示することが好ましい。例えば、他のボリュームと異なる色を用いて表示する。そして、障害発生時には、同様に、当該障害通知用ボリュームＰ０のグラフィックの点滅あるいは色変更を行い、障害通知用ボリュームＰ０のグラフィックがユーザーによってクリックされた場合に、障害の詳細を文字情報で表示する。
【０１２４】
・障害回復処理：
図２８〜図３１を参照して、上述した障害情報の表示によってユーザーが障害を認識した後に実行される障害回復処理について説明する。図２８は、障害回復処理の処理ルーチンを示すフローチャートである。図２９は、障害回復情報の一例を示す説明図である。図３０は、リモートサイトのストレージシステム１００Ｒにおける障害回復情報がホストコンピュータ２００に通知される様子を概念的に示す説明図である。図３１は、障害回復情報受信後処理の処理ルーチンを示すフローチャートである。
【０１２５】
まず、ユーザーは、表示装置２４０等によって障害が発生したことを知ると、障害を回復させる処置をとる。例えば、ユーザーは、障害が発生したストレージシステム１００のＳＶＰ１９０を、ＳＶＰ端末９０を介して操作することによって、さらに詳細な障害情報の入手や、障害部位の確認等が可能である。その後、ユーザーは、必要な障害回復のための処置をとる。例えば、発生した障害がボリューム障害である場合には、障害の発生したボリュームに対応するＨＤＤ１８０の動作確認をＳＶＰ１９０を操作して実行し、ＨＤＤ１８０の故障が確認されれば、これを交換するか、あるいは、他の正常なＨＤＤ１８０をボリュームに割り当てれば良い。また、発生した障害がパスのタイムアウトで有る場合には、そのパスを構成するデータ回線３０（物理パス）の状態確認をＳＶＰ１９０を操作して実行し、データ回線３０（物理パス）の断線が生じていれば、これを交換するか、あるいは、他の正常なデータ回線３０（物理パス）をパスに割り当てても良い。パスのタイムアウトが、データ回線３０（物理パス）の断線か、過負荷であるかは、例えば、データ回線３０の状態確認を複数回行い、複数回実施しても状態がタイムアウトであればデータ回線３０（物理パス）の断線であると判断できる。
【０１２６】
ユーザーは、必要な回復処置を実行した後、ＳＶＰ１９０を操作して障害関連情報の更新を指示する。すると、ＳＶＰ１９０は、障害関連情報の更新指示を障害の回復処置がなされたストレージシステム１００のホストアダプタ１１０に送信する（ステップＳ１００１）。
【０１２７】
ホストアダプタ１１０は、障害関連情報の更新指示を受信すると、障害関連情報の更新を実行する（ステップＳ１００２）。更新の対象となる障害関連情報とは、例えば、共有メモリ１４０に格納されたボリューム情報１４１Ｐ（図５（ａ）参照）、ペア情報１４２Ｐ（図５（ｂ）参照）、パス情報１４３Ｐ（図５（ｃ）参照）である。具体的には、障害のあったボリュームに対応するＨＤＤ１８０を交換した場合には、そのボリュームの「ボリューム状態」を「異常」から「正常」に戻すこと等がある。
【０１２８】
ユーザーは、障害関連情報の更新がなされた後、ＳＶＰ１９０を操作して障害回復情報のホストコンピュータ２００への通知を指示する。すると、ＳＶＰ１９０は、障害回復情報の通知指示を障害の回復処置がなされたストレージシステム１００のホストアダプタ１１０に送信する（ステップＳ１００３）。
【０１２９】
ホストアダプタ１１０は、障害回復情報の通知指示を受信すると、障害回復情報通知処理を実行する（ステップＳ１００４）。障害回復情報通知処理は、上述した障害情報を通知する処理（図２１〜図２３参照）と同様の処理によって実行される。異なる点は、通知される情報が、障害情報ではなく、障害回復情報である点だけである。図３０に通知される障害回復情報の一例を示す。図３０は、障害状態になっていたストレージシステム１００ＲのボリュームＲ３が回復したことを示す障害回復情報である。
【０１３０】
図３０を参照して障害回復情報の通知について簡単に説明する。具体例として、ストレージシステム１００ＲのボリュームＲ３の障害が回復した場合における障害回復情報の通知を説明する。上述した障害が発生した場合における障害情報の通知（図２４参照）と同じように、ストレージシステム１００Ｒは、障害通知用テーブル１４４Ｒを参照して障害回復情報を送信する宛先を特定する（本具体例においては、ストレージシステム１００ＬのコマンドデバイスＬ１が特定される。）。そして、ホストアダプタ１１０Ｒは、特定した宛先に障害回復情報を送信する。ストレージシステム１００Ｒから送信された障害回復情報を受信したストレージシステム１００Ｌのホストアダプタ１１０Ｌは、やはり、障害情報を受信した場合と同様に、障害通知用テーブル１４４Ｌを参照して障害回復情報を送信する宛先を特定する（本具体例においては、ストレージシステム１００ＰのコマンドデバイスＰ１が特定される。）。そして、ホストアダプタ１１０Ｌは、特定した宛先に障害回復情報を送信する。
【０１３１】
ストレージシステム１００Ｌから送信された障害回復情報を受信したストレージシステム１００Ｐのホストアダプタ１１０Ｐは、受信した障害回復情報をホストコンピュータ２００に通知する。障害回復情報の通知は、やはり、障害情報の通知と同様に、障害通知用ボリュームＰ０の障害の回復として通知される。そして、障害回復情報の通知は、障害情報の通知と同様に直接通知方式と２段階通知方式とがある。
【０１３２】
図３１を参照して、障害回復情報を受信したホストコンピュータ２００における処理（以下、障害情報受信後処理という。）について説明する。障害回復情報を受信すると、ホストコンピュータ２００は、障害回復情報を取得する（ステップＳ２００１）。直接通知方式の場合は、通知された障害回復情報をそのまま取得する。２段階通知方式の場合には、障害情報の場合と同様、ストレージシステム１００Ｐに対して、具体的な障害回復情報について問い合わせをするコマンドを送信し、このコマンドにたいするコマンド応答として具体的な障害回復情報を取得する。障害回復情報を取得すると、ホストコンピュータ２００は、障害回復情報を参照して、回復した障害についての障害情報を削除する（ステップＳ２００２）。すなわち、ホストコンピュータ２００は、障害管理用テーブルに記録されている障害情報のうち、障害回復情報により障害が回復したことが通知された障害について該当する障害情報を削除する。
【０１３３】
以上の処理によって、ホストコンピュータ２００、各ストレージシステム１００共に、障害が発生する以前の状態に全て回復されたこととなる。
【０１３４】
以上説明した本実施例に係る計算機システムによれば、ホストコンピュータ２００と他のストレージシステム１００を介して間接的に接続されているストレージシステム１００（例えば、ストレージシステム１００Ｒ）に障害が発生すると、その障害情報は、ストレージシステム１００からホストコンピュータ２００に至る接続経路（例えば、ストレージシステム１００Ｒ−ストレージシステム１００Ｌ−ストレージシステム１００Ｐ−ホストコンピュータ２００という経路）を通信経路として送信されていき、最終的にはホストコンピュータ２００に通知される。この結果、ホストコンピュータ２００が障害が発生したストレージシステム１００に対して指示や問い合わせ等の処理をしなくても、ストレージシステム１００からの障害情報が、ホストコンピュータ２００に通知される。したがって、ホストコンピュータ２００がストレージシステム１００の障害情報を取得するための処理負荷が軽減される。
【０１３５】
また、ホストコンピュータ２００からストレージシステム１００にコピーペア設定命令を制御内容とするコマンドを送信する際に、ホストコンピュータ２００から制御対象のストレージシステム１００に至る通信経路上において、制御コマンドを受信した各ストレージシステム１００において、障害通知用テーブル１４４に、送信元ストレージシステム情報とペア定義情報とを関連付けて記録しておき、これらを用いて、上述したように障害情報が送信・通知されるので、ホストコンピュータ２００は、障害情報を取得するために特別な処理をする必要がない。
【０１３６】
また、ストレージシステム１００Ｐは、他のストレージシステムの障害であっても、自ストレージシステムの障害通知用ボリュームＰ０の障害としてホストコンピュータ２００に通知するので、ホストコンピュータ２００のＯＳが他のストレージシステムの障害情報の通知をサポートしていなくても、ホストコンピュータ２００と通信可能なストレージシステム１００Ｐの障害情報の通知さえサポートしていれば、他のストレージシステムの障害情報を通知することができる。さらに、直接通知方式と２段階通知方式をＯＳに応じて使い分けることで、種々のＯＳに対応できる。
【０１３７】
また、障害通知用ボリュームＰ０には、仮想ボリュームを用いるので、ストレージシステム１００Ｐの記憶領域を無駄に用いることもない。
【０１３８】
Ｂ．変形例
・変形例１：
上記実施例では、ストレージシステム１００Ｐに通知された障害情報は、ホストコンピュータ２００に通知されたが、ホストコンピュータ２００に代えて、あるいは、ホストコンピュータ２００と共に、他の機器に対して通知されても良い。図３２は、変形例１に係る計算機システムの概略構成を示す説明図である。図３２（ａ）においては、プロダクションサイトにおけるハードウエア構成のみを示し、他のサイトの構成は図示を省略しているが、他のサイトの構成は上記実施例と同じである。また、図３２（ａ）においては、ストレージシステム１００Ｐのハードウエア構成について、一部構成要素（共有メモリ１４０、ディスクアダプタ１５０等）の図示を省略しているが、省略されている構成については、上記実施例と同じである。図３２（ａ）に示すように、この変形例１に係る計算機システムは、ストレージ制御計算機５００を備えている。ストレージ制御計算機５００は、ローカルエリアネットワーク（ＬＡＮ(例えば、Ethernet））を介して、ストレージシステム１００ＰのＳＶＰ１９０Ｐおよびホストコンピュータ２００に接続されている。
【０１３９】
ストレージ制御計算機５００は、図３２（ｂ）に示すように、ホストコンピュータ２００同様に、ＣＰＵ５１０と、メモリ５２０と、表示装置５４０とを備えている。ストレージ制御計算機５００は、また、ＬＡＮに接続するためのＩ／Ｏポート５３０とを備えている。メモリ５２０は、記憶装置情報５２６、ルート情報５２７、グループ情報５２８、パス情報５２９、障害管理用テーブル３００、ストレージ制御プログラム５２１を格納している。これらは、実施例においてホストコンピュータ２００のメモリ２２０に格納されている同名の情報、プログラムと同じものである。
【０１４０】
変形例１に係る計算機システムは、ストレージ制御プログラム５２１を実行することによって、上記実施例においてホストコンピュータ２００が実行していたシステム内の各ストレージシステム１００を制御する処理（ストレージシステム制御処理（図１１参照）、障害通知用ボリュームの生成処理（図１５参照）、障害情報受信後処理（図２５参照）、障害情報受信後処理（図３１参照））を全て実行することができる。各種コマンドは、ホストコンピュータ２００を介して送信され、各種コマンド応答は、ホストコンピュータ２００を介して受信される。
【０１４１】
これによって、ホストコンピュータ２００は、各ストレージシステム１００の制御を実行する必要がなくなり、ホストコンピュータ２００のリソースを、データ処理業務のみに集中させることができる。
【０１４２】
変形例１に係る計算機システムにおいては、上記実施例においてホストコンピュータ２００に通知されていた障害情報を、ストレージシステム１００ＰのＳＶＰ１９０Ｐを介してストレージ制御計算機５００に通知させる。具体的には、障害情報を受信したホストアダプタ１１０Ｐは、障害情報の通知を実行する際、ホストコンピュータ２００に代えて、ＳＶＰ１９０に通知することとすれば良い。あるいは、ＳＶＰ１９０Ｐが、定期的にホストアダプタ１１０Ｐに問い合わせて、ホストアダプタ１１０Ｐが受信した障害情報を取得することとしても良い。
【０１４３】
ＳＶＰ１９０Ｐは、ＳＮＭＰ（Simple Network Management Protocol）や、ＣＩＭ(Common Information Model)等のネットワーク管理手法を利用して、障害情報をＬＡＮを介して、ストレージ制御計算機５００に通知する（図３２（ａ）に示す通知ルートＲｔ１が該当する）。これらの手法を利用すれば、非同期に（自発的に）障害情報をストレージ制御計算機５００に通知することができる。
【０１４４】
さらに、ＳＶＰ１９０Ｐは、ＳＶＰ端末９０Ｐに対しても障害情報を通知することとしても良い（図３２（ａ）に示す通知ルートＲｔ２が該当する）。こうすると、ユーザーは、ＳＶＰ端末９０Ｐからも障害情報を得ることができる。
【０１４５】
なお、障害回復情報（図２９参照）についても、上述した障害情報同様に、ＳＶＰ１９０Ｐからストレージ制御計算機５００およびＳＶＰ端末９０Ｐに通知される。
【０１４６】
・変形例２：
上記実施例の計算機システム１０００の構成は、あくまで一例であり、計算機システム１０００に含まれるストレージシステム１００の配置および接続関係は、様々な構成とすることが可能である。例えば、上記実施例では、計算機システム１０００は、プロダクションサイト、ローカルサイトおよびリモートサイトの３つのサイトから構成されているが、計算機システム１０００は、２つのサイトから、あるいは４つ以上のサイトから構成されるとすることも可能である。また、それぞれのサイトの地理的な位置関係についても、任意の関係とすることが可能である。
【０１４７】
また、上記実施例では、各サイトに１つのストレージシステム１００が設置されているが、計算機システム１０００は、各サイトに２つ以上のストレージシステム１００が設置された構成とすることも可能である。
【０１４８】
また、上記実施例では、各ストレージシステム１００ごとに２つのホストアダプタ１１０が備えられており、ホストアダプタ１１０ごとに外部機器（ホストコンピュータ２００または他のストレージシステム１００）が接続されているが、各ストレージシステム１００ごとに３以上のホストアダプタ１１０を備え、さらに多数のホストコンピュータ２００や他のストレージシステム１００を接続することも可能である。
【０１４９】
図３３は、変形例２に係る計算機システムの概略構成を示す説明図である。図３３において、各ストレージシステム１００の構成要素は、ホストアダプタ１１０、１２０のみを示し、他の構成要素については、図示を省略しているが、上記実施例と同じである。変形例２に係る計算機システム２０００は、プロダクションサイトに設置された２つのストレージシステム１００Ｐ１、１００Ｐ２、ローカルサイトに設置された１つのストレージシステム１００Ｌ、リモートサイトに設置された２つのストレージシステム１００Ｒ１、１００Ｒ２を備えている。また、変形例２に係る計算機システム２０００は、３つのホストコンピュータ２００Ｐ１、２００Ｐ２、２００Ｒ１を備えている。
【０１５０】
プロダクションサイトおよびリモートサイトのストレージシステム１００Ｐ１、１００Ｐ２、１００Ｒ１、１００Ｒ２は、それぞれローカルサイトのストレージシステム１００Ｌとデータ回線３０によって接続されている。また、ホストコンピュータ２００Ｐ１はストレージシステム１００Ｐ１に、ホストコンピュータ２００Ｐ２はストレージシステム１００Ｐ２に、ホストコンピュータ２００Ｒ２はストレージシステム１００Ｒ２に、それぞれデータ回線３０によって接続されている。
【０１５１】
それぞれのホストコンピュータ２００は、接続されていないストレージシステム１００も含め、全てのストレージシステム１００に対して、実施例で説明した各種コマンドを送信することによって、全てのストレージシステム１００を制御することができる。図３４に、３つのホストコンピュータ２００Ｐ１、２００Ｐ２、２００Ｒ１のメモリに格納されているルート情報２２７Ｐ１、２２７Ｐ２、２２７Ｒ１をそれぞれ示す。実施例に係る計算機システム１０００においては、３つのストレージシステム１００が直列に接続されているのみであるため、ルート情報２２７には、１つのルートしか記録されていないが、変形例２に係る計算機システム２０００においては、各ホストコンピュータ２００が全てのストレージシステム１００に対してコマンドを送信するために必要な３つのルートがルート情報２２７Ｐ１、２２７Ｐ２、２２７Ｒ１それぞれに記録されている。
【０１５２】
各ストレージシステム１００で、上述した障害通知関連処理（図１９〜図２４参照）が実行されることによって、各ストレージシステム１００のいずれかで発生した障害は、その障害が発生したコピーペアを管理するホストコンピュータ２００に正しく通知される。例えば、ホストコンピュータ２００Ｐ２が、コピーペア設定命令を制御内容とするコマンドをストレージシステム１００Ｒ１に送信して、ストレージシステム１００Ｒ１にコピーペアを設定するとする。その際、コマンドは、図３４（ｂ）に示すルート情報２２７Ｐ２に記録されたルート番号１のルート（ホストコンピュータ２００Ｐ２−ストレージシステム１００Ｐ２−ストレージシステム１００Ｌ−ストレージシステム１００Ｒ１）を通って、ストレージシステム１００Ｒ１に送信される。そして、そのコマンドによって設定されたコピーペアに関する障害（ボリューム障害やパス障害）の障害情報は、上述した障害通知関連処理（図１９〜図２４参照）によって、コマンドの通信経路を逆方向にたどるルート（ストレージシステム１００Ｒ１−ストレージシステム１００Ｌ−ストレージシステム１００Ｐ２−ホストコンピュータ２００Ｐ２）を通って、コピーペアを管理する（設定した）ホストコンピュータ２００Ｐ２に通知される。そのコピーペアを管理していないホストコンピュータ２００Ｐ１やホストコンピュータ２００Ｒ１に誤って障害情報が通知され、コピーペアを管理する（設定した）ホストコンピュータ２００Ｐ２には通知されないという事態は発生しない。障害回復情報についても同様である。
【０１５３】
・その他の変形例：
上記実施例において、障害通知用ボリュームの生成および削除（図１５、図１６参照）は、ホストコンピュータ２００がコマンドをホストアダプタ１１０Ｐに送信することによって実行されるが、ストレージシステム１００ＰのＳＶＰ１９０が障害通知用ボリュームの生成および削除のコマンドをホストアダプタ１１０Ｐに送信することによっても実行可能にしても良い。障害に関係する処理は、ユーザーがＳＶＰ端末９０を介して保守用の計算機であるＳＶＰ１９０を操作することによって、実行できることが好ましいからである。
【０１５４】
上記実施例における障害通知経路情報管理処理（図２０参照）においては、ホストアダプタ１１０がコピーペア終了命令のコマンドを受信した場合には、ホストアダプタ１１０は、障害通知用テーブル１４４から該当する障害通知経路情報を削除する（図２０：ステップＳ２０４）こととしている。これに代えて、ホストアダプタ１１０は、コピーペア終了命令のコマンドを受信した場合には、該当する障害通知経路情報をＦＩＦＯ（First In First Out）キュー処理によって、所定数個分だけ維持することとしても良い。例えば、実施例においては削除していた障害通知経路情報を１０個までは維持することとし、１０を超えるコピーペア終了命令を受信した場合には、最初に受信したコピーペア終了命令に対応する障害通知経路情報から順次削除していけば良い。かかる場合には、コピー処理終了後において発生した障害についてもホストコンピュータ２００に通知可能になる。
【０１５５】
以上、実施例および変形例に基づき本発明に係る計算機システム、ストレージシステム、計算機システムの制御方法を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
【図面の簡単な説明】
【０１５６】
【図１】実施例に係る計算機システムの概略構成を示す説明図である。
【図２】実施例に係るホストコンピュータの内部構成を示すブロック図である。
【図３】実施例に係るストレージシステムのホストアダプタの内部構成を示すブロック図である。
【図４】実施例に係るストレージシステムの共有メモリの内部構成を示すブロック図である。
【図５】共有メモリに格納される各種情報の一例を示す説明図である。
【図６】各ストレージシステムに設定されるコピーペアの構成を概念的に示す説明図である。
【図７】共有メモリに格納される障害通知用テーブルの一例を示す説明図である。
【図８】共有メモリに格納される障害管理用テーブルを示す説明図である。
【図９】ホストコンピュータのメモリに格納される各種情報の一例を示す第１の説明図である。
【図１０】ホストコンピュータのメモリに格納される各種情報の一例を示す第２の説明図である。
【図１１】ストレージシステム制御処理の処理ルーチンを示すフローチャートである。
【図１２】ホストコンピュータが生成するコマンドチェーンを概念的に示す説明図である。
【図１３】コマンドを受信したストレージシステムのホストアダプタが実行するコマンド受信処理の処理ルーチンを示すフローチャートである。
【図１４】コマンドチェーンが、リモートサイトのストレージシステムまで送信される様子を概念的に示す説明図である。
【図１５】障害通知用ボリューム生成処理の処理ルーチンを示すフローチャートである。
【図１６】障害通知用ボリューム生成処理に用いられるコマンドとコマンド応答の一例を示す説明図である。
【図１７】ペア状態管理処理の処理ルーチンを示すフローチャートである。
【図１８】パス状態管理処理の処理ルーチンを示すフローチャートである。
【図１９】障害通知関連処理の処理ルーチンを示すフローチャートである。
【図２０】障害通知経路情報管理処理の処理ルーチンを示すフローチャートである。
【図２１】自障害通知処理の処理ルーチンを示すフローチャートである。
【図２２】ストレージシステムから送信・通知される障害情報の一例を示す説明図である。
【図２３】他障害通知処理の処理ルーチンを示すフローチャートである。
【図２４】各ストレージシステムにおいて、障害通知関連処理が実行された結果、リモートサイトのストレージシステムにおける障害情報がホストコンピュータに通知される様子を概念的に示す説明図である。
【図２５】障害情報受信後処理の処理ルーチンを示すフローチャートである。
【図２６】状態通知コマンドおよび状態通知コマンドに対するコマンド応答の一例を示す説明図である。
【図２７】ホストコンピュータの表示装置に表示されるグラフィックの一例を示す説明図である。
【図２８】障害回復処理の処理ルーチンを示すフローチャートである。
【図２９】障害回復情報の一例を示す説明図である。
【図３０】リモートサイトのストレージシステムにおける障害回復情報がホストコンピュータに通知される様子を概念的に示す説明図である。
【図３１】障害回復情報受信後処理の処理ルーチンを示すフローチャートである。
【図３２】変形例１に係る計算機システムの概略構成を示す説明図である。
【図３３】変形例２に係る計算機システムの概略構成を示す説明図である。
【図３４】３つのホストコンピュータのメモリに格納されているルート情報をそれぞれ示す説明図である。
【符号の説明】
【０１５７】
３０…データ回線（物理パス）
９０…ＳＶＰ端末
１００…ストレージシステム
１１０、１２０…ホストアダプタ
１１１…ＣＰＵ
１１２…メモリ
１１３、１１４…Ｉ／Ｏユニット
１３０…キャッシュメモリ
１４０…共有メモリ
１４１…ボリューム情報
１４２…ペア情報
１４３…パス情報
１４４…障害通知用テーブル
１４５Ｐ…障害管理用テーブル
１５０、１６０…ディスクアダプタ
１７０…クロスバスイッチ
１８０…ＨＤＤ
１９０…ＳＶＰ
２００…ホストコンピュータ
２１０…ＣＰＵ
２２０…メモリ
２２１…ストレージ制御プログラム
２２６…記憶装置情報
２２７…ルート情報
２２８…グループ情報
２２９…パス情報
３００…障害管理テーブル
２３０…Ｉ／Ｏユニット
２４０…表示装置
５００…ストレージ制御計算機
５２０…メモリ
５２１…ストレージ制御プログラム
５２６…記憶装置情報
５２７…ルート情報
５２８…グループ情報
５２９…パス情報
６００…障害管理テーブル
５３０…Ｉ／Ｏポート
１０００…計算機システム
２０００…計算機システム
ＬＡＮ…ローカルエリアネットワーク
【図１】
2006127217.tif 000003
【図２】
2006127217.tif 000004
【図３】
2006127217.tif 000005
【図４】
2006127217.tif 000006
【図５】
2006127217.tif 000007
【図６】
2006127217.tif 000008
【図７】
2006127217.tif 000009
【図８】
2006127217.tif 000010
【図９】
2006127217.tif 000011
【図１０】
2006127217.tif 000012
【図１１】
2006127217.tif 000013
【図１２】
2006127217.tif 000014
【図１３】
2006127217.tif 000015
【図１４】
2006127217.tif 000016
【図１５】
2006127217.tif 000017
【図１６】
2006127217.tif 000018
【図１７】
2006127217.tif 000019
【図１８】
2006127217.tif 000020
【図１９】
2006127217.tif 000021
【図２０】
2006127217.tif 000022
【図２１】
2006127217.tif 000023
【図２２】
2006127217.tif 000024
【図２３】
2006127217.tif 000025
【図２４】
2006127217.tif 000026
【図２５】
2006127217.tif 000027
【図２６】
2006127217.tif 000028
【図２７】
2006127217.tif 000029
【図２８】
2006127217.tif 000030
【図２９】
2006127217.tif 000031
【図３０】
2006127217.tif 000032
【図３１】
2006127217.tif 000033
【図３２】
2006127217.tif 000034
【図３３】
2006127217.tif 000035
【図３４】
2006127217.tif 000036