(57)【要約】      （修正有）【課題】メインサイトのストレージ装置の異常によりメインサイトからのハートビットメッセージの送信が途絶えた場合に、リモートサイトのコンピュータシステムは、異常が発生しているメインサイトのストレージ装置であることを特定できるようにする。【解決手段】第１ストレージ装置は第１記憶ボリュームにデータが書き込まれるとその複製を第２ストレージ装置に送信する複製データ送信部を備え、第２ストレージ装置は複製データ送信部により送信されるデータの複製を第２記憶ボリュームに書き込む複製データ受信部を備え、第１ストレージ装置は第１ハートビートメッセージを第１記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部を備え、第２ストレージ装置は複製データ受信部により第２記憶ボリュームへ書き込まれる第１ハートビートメッセージの複製の検知を行うディスクハートビート検知部を備える。【選択図】    図５
2005196467.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する第１の記憶ボリュームを有する第１のストレージ装置と、
前記第１のストレージ装置と通信可能に接続され、データを記憶する第２の記憶ボリュームを有する第２のストレージ装置と、
を備え、
前記第１のストレージ装置は、
前記第１の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第２のストレージ装置に送信する複製データ送信部
を備え、
前記第２のストレージ装置は、
前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第２の記憶ボリュームに書き込む複製データ受信部
を備え、
前記第１のストレージ装置は、
第１のハートビートメッセージを前記第１の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部
を備え、
前記第２のストレージ装置は、
前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第１のハートビートメッセージの複製の検知を行うディスクハートビート検知部
を備えることを特徴とするストレージシステム。
【請求項２】
前記第１のストレージ装置には第１の情報処理装置が通信可能に接続され、
前記第２のストレージ装置には第２の情報処理装置が通信可能に接続され、
前記第１の情報処理装置は、
前記第１の記憶ボリュームへの第２のハートビートメッセージの書き込み要求を前記第１のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部
を備え、
前記第１のストレージ装置は、
前記第２のハートビートメッセージの書き込み要求に応じて、前記第２のハートビートメッセージを前記第１の記憶ボリュームに書き込むノードハートビート書き込み部
を備え、
前記第２のストレージ装置は、
前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第２のハートビートメッセージの複製を前記第２の情報処理装置に送信するノードハートビート送信部
を備え、
前記第２の情報処理装置は、
前記ノードハートビート送信部により送信される前記第２のハートビートメッセージの複製の検知を行うノードハートビート検知部
を備えることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記第１のストレージ装置は、
前記第１のハートビートメッセージであるディスクハートビート信号を作成するディスクハートビート作成部
を備えることを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記第１の情報処理装置は、
前記第２のハートビートメッセージであるノードハートビート信号を作成するノードハートビート作成部
を備えることを特徴とする請求項２に記載のストレージシステム。
【請求項５】
前記第２のストレージ装置は、
前記ディスクハートビート検知部による前記第１のハートビートメッセージの複製の検知の結果を前記第２の情報処理装置に送信するディスクハートビート検知結果送信部
を備え、
前記第２の情報処理装置は、
前記ディスクハートビート検知結果送信部により送信される前記第１のハートビートメッセージの複製の検知の結果と、前記ノードハートビート検知部による前記第２のハートビートメッセージの複製の検知の結果とに応じて、前記第１の情報処理装置及び前記第１のストレージ装置を含んで構成される第１のコンピュータシステムの動作状態を判定する動作状態判定部
を備えることを特徴とする請求項２に記載のストレージシステム。
【請求項６】
前記第２の情報処理装置は、
前記第１のコンピュータシステムの動作状態に応じて、前記第２の情報処理装置及び前記第２のストレージ装置を含んで構成される第２のコンピュータシステムに、前記第１のコンピュータシステムにおける情報処理をフェイルオーバさせるフェイルオーバ制御部
を備えることを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記第２の情報処理装置は、
前記第１のコンピュータシステムの動作状態をユーザインタフェースに出力する動作状態表示部
を備えることを特徴とする請求項５に記載のストレージシステム。
【請求項８】
前記第１のハートビートメッセージは、
前記第１のハートビートメッセージの識別情報、
前記第１のハートビートメッセージが作成された時刻を示す情報、
前記第１のハートビートメッセージが書き込まれる前記第１の記憶ボリュームの記憶位置を示す情報、
及び、前記第１のハートビートメッセージが書き込まれる前記第２の記憶ボリュームの記憶位置を示す情報、
の少なくともいずれかを含んで構成されること
を特徴とする請求項１に記載のストレージシステム。
【請求項９】
データを記憶する第１の記憶ボリュームを有する第１のストレージ装置と、
前記第１のストレージ装置と通信可能に接続され、データを記憶する第２の記憶ボリュームを有する第２のストレージ装置と、
を備え、
前記第１のストレージ装置は、
前記第１の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第２のストレージ装置に送信する複製データ送信部
を備え、
前記第２のストレージ装置は、
前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第２の記憶ボリュームに書き込む複製データ受信部
を備えるストレージシステムの制御方法であって、
前記第１のストレージ装置が、第１のハートビートメッセージを前記第１の記憶ボリュームに所定時間以内の間隔で繰り返し書き込み、
前記第２のストレージ装置が、前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第１のハートビートメッセージの複製の検知を行うこと
を特徴とするストレージシステムの制御方法。
【請求項１０】
前記第１のストレージ装置には第１の情報処理装置が通信可能に接続され、
前記第２のストレージ装置には第２の情報処理装置が通信可能に接続され、
前記第１の情報処理装置が、前記第１のストレージ装置に、前記第１の記憶ボリュームへの第２のハートビートメッセージの書き込み要求を所定時間以内の間隔で繰り返し送信し、
前記第１のストレージ装置が、前記第２のハートビートメッセージの書き込み要求に応じて、前記第２のハートビートメッセージを前記第１の記憶ボリュームに書き込み、
前記第２のストレージ装置が、前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第２のハートビートメッセージの複製を前記第２の情報処理装置に送信し、
前記第２の情報処理装置が、前記第２のストレージ装置から送信される前記第２のハートビートメッセージの複製の検知を行うこと
を特徴とする請求項９に記載のストレージシステムの制御方法。
【請求項１１】
前記第１のストレージ装置は、
前記第１のハートビートメッセージであるディスクハートビート信号を作成するディスクハートビート作成部
を備えることを特徴とする請求項９に記載のストレージシステムの制御方法。
【請求項１２】
前記第１の情報処理装置は、
前記第２のハートビートメッセージであるノードハートビート信号を作成するノードハートビート作成部
を備えることを特徴とする請求項１０に記載のストレージシステムの制御方法。
【請求項１３】
前記第２のストレージ装置が、前記第１のハートビートメッセージの複製の検知の結果を前記第２の情報処理装置に送信し、
前記第２の情報処理装置が、前記第２のストレージ装置から送信される前記第１のハートビートメッセージの複製の検知の結果と、前記第２のハートビートメッセージの複製の検知の結果とに応じて、前記第１の情報処理装置及び前記第１のストレージ装置を含んで構成される第１のコンピュータシステムの動作状態を判定すること
を特徴とする請求項１０に記載のストレージシステムの制御方法。
【請求項１４】
前記第２の情報処理装置が、前記第１のコンピュータシステムの動作状態に応じて、前記第２の情報処理装置及び前記第２のストレージ装置を含んで構成される第２のコンピュータシステムに、前記第１のコンピュータシステムにおける情報処理をフェイルオーバさせること
を特徴とする請求項１３に記載のストレージシステムの制御方法。
【請求項１５】
前記第２の情報処理装置が、前記第１のコンピュータシステムの動作状態をユーザインタフェースに出力すること
を特徴とする請求項１３に記載のストレージシステムの制御方法。
【請求項１６】
前記第１のハートビートメッセージは、
前記第１のハートビートメッセージの識別情報、
前記第１のハートビートメッセージが作成された時刻を示す情報、
前記第１のハートビートメッセージが書き込まれる前記第１の記憶ボリュームの記憶位置を示す情報、
及び、前記第１のハートビートメッセージが書き込まれる前記第２の記憶ボリュームの記憶位置を示す情報、
の少なくともいずれかを含んで構成されること
を特徴とする請求項９に記載のストレージシステムの制御方法。
【請求項１７】
データを記憶する第１の記憶ボリュームを有する第１のストレージ装置、及び前記第１のストレージ装置と通信可能に接続される第１の情報処理装置を備える第１のコンピュータシステムと、
前記第１のストレージ装置と通信可能に接続され、データを記憶する第２の記憶ボリュームを有する第２のストレージ装置、及び前記第２のストレージ装置と通信可能に接続される第２の情報処理装置を備える第２のコンピュータシステムと、
を備え、
前記第１のストレージ装置は、
前記第１の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第２のストレージ装置に送信する複製データ送信部
を備え、
前記第２のストレージ装置は、
前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第２の記憶ボリュームに書き込む複製データ受信部
を備え、
前記第１のストレージ装置は、
所定時間以内の間隔で繰り返し第１のハートビートメッセージを作成するディスクハートビート作成部と、
前記第１のハートビートメッセージを前記第１の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部と
を備え、
前記第２のストレージ装置は、
前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第１のハートビートメッセージの複製の検知を行うディスクハートビート検知部と、
前記ディスクハートビート検知部による前記第１のハートビートメッセージの複製の検知の結果を前記第２の情報処理装置に送信するディスクハートビート検知結果送信部と、
を備え、
前記第１の情報処理装置は、
所定時間以内の間隔で繰り返し第２のハートビートメッセージを作成するノードハートビート作成部と、
前記第１の記憶ボリュームへの前記第２のハートビートメッセージの書き込み要求を前記第１のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部と
を備え、
前記第１のストレージ装置は、
前記第２のハートビートメッセージの書き込み要求に応じて、前記第２のハートビートメッセージを前記第１の記憶ボリュームに書き込むノードハートビート書き込み部
を備え、
前記第２のストレージ装置は、
前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第２のハートビートメッセージの複製を前記第２の情報処理装置に送信するノードハートビート送信部
を備え、
前記第２の情報処理装置は、
前記ノードハートビート送信部により送信される前記第２のハートビートメッセージの複製の検知を行うノードハートビート検知部と、
前記ノードハートビート検知部による前記第２のハートビートメッセージの複製の検知の結果と、前記ディスクハートビート検知結果送信部により送信される前記第１のハートビートメッセージの複製の検知の結果とに応じて、前記第１のコンピュータシステムの動作状態を判定する動作状態判定部と、
前記第１のコンピュータシステムの動作状態に応じて、前記第２のコンピュータシステムに、前記第１のコンピュータシステムにおける情報処理をフェイルオーバさせるフェイルオーバ実行部と、
を備えること
を特徴とするストレージシステム。
【請求項１８】
前記第１のハートビートメッセージは、
前記第１のハートビートメッセージの識別情報、
前記第１のハートビートメッセージが作成された時刻を示す情報、
前記第１のハートビートメッセージが書き込まれる前記第１の記憶ボリュームの記憶位置を示す情報、
及び、前記第１のハートビートメッセージが書き込まれる前記第２の記憶ボリュームの記憶位置を示す情報、
の少なくともいずれかを含んで構成され、
前記第２のハートビートメッセージは、
前記第２のハートビートメッセージの識別情報、
前記第２のハートビートメッセージが作成された時刻を示す情報、
前記第２のハートビートメッセージが書き込まれる前記第１の記憶ボリュームの記憶位置を示す情報、
及び、前記第２のハートビートメッセージが書き込まれる前記第２の記憶ボリュームの記憶位置を示す情報、
の少なくともいずれかを含んで構成されること
を特徴とする請求項１７に記載のストレージシステム。
【請求項１９】
データを記憶する第２の記憶ボリュームに対するデータの読み書きを制御する第２のストレージ制御装置と通信可能に接続され、データを記憶する第１、第３の記憶ボリュームに対するデータの読み書きを制御する第１のストレージ制御装置であって、
前記第１の記憶ボリュームにデータが書き込まれると、当該データの複製を前記第２のストレージ制御装置に送信する複製データ送信部と、
第１のハートビートメッセージを前記第１の記憶ボリュームに書き込むディスクハートビート書き込み部と、
前記第２のストレージ制御装置により前記第２の記憶ボリュームに書き込まれた第２のハートビートメッセージの複製を、前記第２のストレージ制御装置から受信し、当該複製を前記第３の記憶ボリュームに書き込む複製データ受信部と、
前記複製データ受信部により前記第３の記憶ボリュームへ書き込まれる前記第２のハートビートメッセージの複製の検知を行うディスクハートビート検知部と、
を備えることを特徴とするストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置に関する。
【背景技術】
【０００２】
近年の情報技術の進歩により、大地震等の災害発生時にコンピュータシステムを構成するストレージ装置に記憶されるデータの消失を回避するため、レプリケーションと呼ばれる技術が用いられるようになっている。レプリケーションは、メインサイトのコンピュータシステムが備えるストレージ装置の記憶ボリュームに記憶されるデータの複製を、リモートサイトのコンピュータシステムが備えるストレージ装置の記憶ボリュームに記憶するための技術である。
【０００３】
また、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知した場合には、リモートサイトのコンピュータシステムが、それまでメインサイトのコンピュータシステムにより行われていた情報処理を引き継いで行う技術も開発されている。
【０００４】
メインサイトのコンピュータシステムが備える情報処理装置は、ハートビートメッセージと呼ばれる所定のデータをリモートサイトのコンピュータシステムに所定時間以内の間隔で繰り返し送信する。このハートビートメッセージの送信を、レプリケーションの技術を利用して行う技術も開発されている。
【特許文献１】特開２００２−３１２１８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この場合、リモートサイトのコンピュータシステムは、メインサイトからのハートビートメッセージの送信が途絶えたことを検知することにより、メインサイトのコンピュータシステムに異常が発生したことを検知することができる。しかしながら、メインサイトのストレージ装置の異常によりメインサイトからのハートビートメッセージの送信が途絶えた場合に、リモートサイトのコンピュータシステムは、異常が発生しているのがメインサイトのストレージ装置であることを特定することができない。
【０００６】
本発明は上記課題を鑑みてなされたものであり、ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置を提供することを主たる目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、データを記憶する第１の記憶ボリュームを有する第１のストレージ装置と、前記第１のストレージ装置と通信可能に接続され、データを記憶する第２の記憶ボリュームを有する第２のストレージ装置と、を備え、前記第１のストレージ装置は、前記第１の記憶ボリュームにデータが書き込まれると、前記データの複製を前記第２のストレージ装置に送信する複製データ送信部を備え、前記第２のストレージ装置は、前記複製データ送信部により送信される前記データの複製を受信し、前記データの複製を前記第２の記憶ボリュームに書き込む複製データ受信部を備え、前記第１のストレージ装置は、第１のハートビートメッセージを前記第１の記憶ボリュームに所定時間以内の間隔で繰り返し書き込むディスクハートビート書き込み部を備え、前記第２のストレージ装置は、前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第１のハートビートメッセージの複製の検知を行うディスクハートビート検知部を備えることを特徴とするストレージシステムに関する。
【０００８】
ここで、前記第１のストレージ装置には第１の情報処理装置が通信可能に接続され、前記第２のストレージ装置には第２の情報処理装置が通信可能に接続され、前記第１の情報処理装置は、前記第１の記憶ボリュームへの第２のハートビートメッセージの書き込み要求を前記第１のストレージ装置に所定時間以内の間隔で繰り返し送信するノードハートビート書き込み要求部を備え、前記第１のストレージ装置は、前記第２のハートビートメッセージの書き込み要求に応じて、前記第２のハートビートメッセージを前記第１の記憶ボリュームに書き込むノードハートビート書き込み部を備え、前記第２のストレージ装置は、前記複製データ受信部により前記第２の記憶ボリュームへ書き込まれる前記第２のハートビートメッセージの複製を前記第２の情報処理装置に送信するノードハートビート送信部を備え、前記第２の情報処理装置は、前記ノードハートビート送信部により送信される前記第２のハートビートメッセージの複製の検知を行うノードハートビート検知部を備えるようにすることもできる。
【０００９】
なお、以下第１のハートビートメッセージをディスクハートビート信号、第２のハートビートメッセージをノードハートビート信号とも記す。
【００１０】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１１】
ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
＝＝＝全体構成例＝＝＝
まず、本実施の形態に係るストレージシステム４００の全体構成を示すブロック図を図１に示す。  
本実施の形態に係るストレージシステム４００は、情報処理装置Ａ（第１の情報処理装置）（１００）及びストレージ装置Ａ（第１のストレージ装置）（２００）と、情報処理装置Ｂ（第２の情報処理装置）（１００）及びストレージ装置Ｂ（第２のストレージ装置）（２００）とを含んで構成される。
【００１３】
情報処理装置Ａ（１００）とストレージ装置Ａ（２００）とは、メインサイト（プライマリサイト）に設置されるコンピュータシステム（第１のコンピュータシステム）を構成する。また情報処理装置Ｂ（１００）とストレージ装置Ｂ（２００）とは、リモートサイト（セカンダリサイト）に設置されるコンピュータシステム（第２のコンピュータシステム）を構成する。
【００１４】
情報処理装置Ａ（１００）は、ストレージ装置Ａ（２００）が備える記憶ボリューム２３０により提供される記憶資源を利用し、各種の情報処理サービスを提供するための情報機器である。情報処理装置Ａ（１００）により提供される情報処理サービスとしては、例えば銀行の自動預金預け払いサービスや、航空機の座席予約サービス等とすることができる。情報処理装置Ａ（１００）とストレージ装置Ａ（２００）とが設置される場所をメインサイトと呼ぶ。
【００１５】
記憶ボリューム２３０は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む、データを記憶するための記憶領域である。
【００１６】
一方、情報処理装置Ｂ（１００）は、災害の発生などによりメインサイトに設置される情報処理装置Ａ（１００）による情報処理サービスの提供ができない状態になったときに、情報処理装置Ａ（１００）が行っていた情報処理サービスの提供を引き継いで行うための情報機器である。その際、情報処理装置Ｂ（１００）はストレージ装置Ｂ（２００）が備える記憶ボリューム２３０により提供される記憶資源を利用することにより情報処理サービスの提供を行う。そのためストレージ装置Ａ（２００）が備える記憶ボリューム２３０に記憶されているデータの複製は、ストレージ装置Ｂ（２００）が備える記憶ボリューム２３０にも記憶されている。ストレージ装置Ａ（２００）に記憶されているデータの複製をストレージ装置Ｂ（２００）に記憶するために、レプリケーションの制御が行われる。レプリケーションの制御が行われる場合には、ストレージ装置Ａ（２００）の記憶ボリューム２３０にデータが書き込まれると、ストレージ装置Ａ（２００）は、そのデータの複製をストレージ装置Ｂ（２００）に送信する。そしてストレージ装置Ｂ（２００）は、ストレージ装置Ａ（２００）から送信されるそのデータの複製を受信し、そのデータの複製をストレージ装置Ｂ（２００）の記憶ボリューム２３０に書き込む。レプリケーションの制御については後述する。情報処理装置Ｂ（１００）とストレージ装置Ｂ（２００）とが設置される場所をリモートサイトと呼ぶ。
【００１７】
なお情報処理装置Ｂ（１００）は、情報処理装置Ａ（１００）により提供される情報処理サービスを引き継いで行うだけでなく、独自の情報処理サービスの提供を行う様にすることもできる。この場合は、災害の発生により、情報処理装置Ｂ（１００）による情報処理サービスの提供が行えない状態になった際に、情報処理装置Ａ（１００）に情報処理サービスの提供を引き継いで行わせる様にすることもできる。この場合、２つのコンピュータシステムは、互いに自己のコンピュータシステムがメインサイトに設置されるコンピュータシステムとなり、相手側のコンピュータシステムがリモートサイトに設置されるコンピュータシステムとなる。ここでは説明の簡略化のため、上述したように情報処理装置Ａ（１００）とストレージ装置Ａ（２００）とが設置される場所をメインサイトとし、情報処理装置Ｂ（１００）とストレージ装置Ｂ（２００）とが設置される場所をリモートサイトとする。
【００１８】
メインサイトに設置される情報処理装置Ａ（１００）と、リモートサイトに設置される情報処理装置Ｂ（１００）とは、第１のネットワーク３００で通信可能に接続されている。また、メインサイトに設置されるストレージ装置Ａ（２００）と、リモートサイトに設置されるストレージ装置Ｂ（２００）とは、第２のネットワーク３１０で通信可能に接続されている。上述したレプリケーションの制御は第２のネットワーク３１０を介してデータの複製が送信されることにより行われる。また情報処理装置Ａ（１００）とストレージ装置Ａ（２００）との間は、入出力パスＡ（３３０）で通信可能に接続されている。情報処理装置Ｂ１００）とストレージ装置Ｂ（２００）との間も、入出力パスＢ（３３０）で通信可能に接続されている。
【００１９】
第１のネットワーク３００としては、例えばＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）通信プロトコルにより通信が行われるＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）とすることができる。
【００２０】
また第２のネットワーク３１０としては、例えばファイバチャネル通信プロトコルにより通信が行われるＳＡＮ（Storage Area Network）とすることができる。入出力パス３３０も、例えばファイバチャネル通信プロトコルにより通信が行われるＳＡＮとすることができる。もちろん、例えばＦＩＣＯＮ（Fibre Connection）（登録商標）やＥＳＣＯＮ(Enterprise System Connection) （登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture）（登録商標）、ｉＳＣＳＩ（Internet Small Computer Systems Interface）等の通信プロトコルを用いるようにすることもできる。ストレージ装置Ａ（２００）とストレージ装置Ｂ（２００）との間を、このような信頼性の高い通信プロトコルを用いて第２のネットワーク３１０で接続することにより、メインサイトのストレージ装置Ａ（２００）とリモートサイトのストレージ装置Ｂ（２００）との間のデータの送受信を高信頼に行うことが可能となる。
【００２１】
＝＝＝情報処理装置＝＝＝
次に、本実施の形態に係る情報処理装置１００の構成を示すブロック図を図２に示す。なお本実施の形態に係る情報処理装置１００には、情報処理装置Ａ（１００）と情報処理装置Ｂ（１００）とがあるが、いずれも基本的な構成は同様であるため、特に両者を区別する必要がない場合には、情報処理装置１００と記す。
【００２２】
情報処理装置１００は、ＣＰＵ１１０、メモリ１２０、ポート１３０、記録媒体読取装置１４０、入力装置１５０、出力装置１６０、記憶装置１７０を備える。
【００２３】
ＣＰＵ１１０は情報処理装置１００の全体の制御を司るもので、メモリ１２０に記憶されたアプリケーションプログラム１９０を実行することにより上述した各種情報処理サービスの提供を行う。またＣＰＵ１１０は、メモリ１２０に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるハートビート制御プログラム１９１や、ノードハートビート制御プログラム１９２、ストレージ管理プログラム１９３、クラスタリング制御プログラム１９６、オペレーティングシステム１９７を実行する。  
例えばＣＰＵ１１０によりハートビート制御プログラム１９１が実行されることにより、動作状態判定部や動作状態表示部が実現される。また例えばＣＰＵ１１０によりノードハートビート制御プログラム１９２が実行されることにより、ノードハートビート書き込み要求部や、ノードハートビート検知部、ノードハートビート作成部が実現される。また例えばＣＰＵ１１０によりクラスタリング制御プログラム１９６が実行されることにより、フェイルオーバ制御部が実現される。またメモリ１２０には、ハートビート状態テーブル１９４、活性化／不活性化メッセージ１９５、ハートビート判定テーブル１９８が記憶される。これらの詳細は後述する。なお、ハートビート制御プログラム１９１や、ノードハートビート制御プログラム１９２、ストレージ管理プログラム１９３、クラスタリング制御プログラム１９６、オペレーティングシステム１９７は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。
【００２４】
記録媒体読取装置１４０は、記録媒体１７０に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ１２０や記憶装置１７０に格納される。従って、例えば記録媒体１７０に記録されたハートビート制御プログラム１９１や、ノードハートビート制御プログラム１９２、ストレージ管理プログラム１９３、クラスタリング制御プログラム１９６、オペレーティングシステム１９７を、記録媒体読取装置１４０を用いて上記記録媒体１７０から読み取って、メモリ１２０や記憶装置１８０に記憶するようにすることができる。記録媒体１７０としてはフレキシブルディスクや磁気テープ、ＣＤ−ＲＯＭ、半導体メモリ等を用いることができる。記録媒体読取装置１４０は情報処理装置１００に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置１８０は、例えばハードディスク装置や半導体記憶装置等である。ハートビート制御プログラム１９１や、ノードハートビート制御プログラム１９２、ストレージ管理プログラム１９３、クラスタリング制御プログラム１９６、オペレーティングシステム１９７、ハートビート状態テーブル１９４、活性化／不活性化メッセージ１９５、ハートビート判定テーブル１９８は、記憶装置１８０に記憶されるようにすることもできる。  
入力装置１５０はオペレータ等による情報処理装置１００へのデータ入力等のために用いられるユーザインタフェースである。入力装置１５０としては例えばキーボードやマウス等を用いることができる。出力装置１６０は情報を外部に出力するためのユーザインタフェースである。出力装置１６０としては例えばディスプレイやプリンタ等を用いることができる。ポート１３０は通信を行うための装置である。例えば第１のネットワーク３００を介して行う他の情報処理装置１００との通信や、ストレージ装置２００に対するデータ入出力要求の送信などは、ポート１３０を介して行われるようにすることができる。また例えば、アプリケーションプログラム１９０や、ハートビート制御プログラム１９１、ノードハートビート制御プログラム１９２、ストレージ管理プログラム１９３、クラスタリング制御プログラム１９６、オペレーティングシステム１９７を、ポート１３０を通じて他の情報処理装置１００から受信して、メモリ１２０や記憶装置１８０に記憶するようにすることもできる。
【００２５】
＝＝＝ストレージ装置＝＝＝
次に本実施の形態に係るストレージ装置２００について、図１を用いて説明する。なお本実施の形態に係るストレージ装置２００には、ストレージ装置Ａ（２００）とストレージ装置Ｂ（２００）とがあるが、いずれも基本的な構成は同様であるため、特に両者を区別する必要がない場合には、ストレージ装置２００と記す。
【００２６】
ストレージ装置２００は、ディスク制御装置（ストレージ制御装置）２１０と、ディスク駆動装置２２０と、管理端末２６０とを備える。  
ディスク制御装置２１０は、情報処理装置１００や他のストレージ装置２００との間で通信を行い、ディスク駆動装置２２０が備える記憶ボリューム２３０に対するデータの読み書きを制御する。例えば情報処理装置１００からデータの書き込み要求を受信し、ディスク駆動装置２２０が備える記憶ボリューム２３０に対するデータの書き込み処理を行う。  
ディスク制御装置２１０は、ＣＰＵ２１１、メモリ２１２、ＦＣ  Ｉ／Ｆ（Fibre Channel InterFace）２１３、ディスクＩ／Ｆ（ディスクInterFace）２１４を備える。
【００２７】
ＣＰＵ２１１は、ディスク制御装置２１０の全体の制御を司るもので、メモリ２１２に記憶された、本実施の形態に係る各種の動作を行うためのコードから構成されるディスクハートビート制御プログラム２１５や、レプリケーション制御プログラム２１７、ストレージ制御プログラム２１８を実行する。  
例えばＣＰＵ２１１によりディスクハートビート制御プログラム２１５が実行されることにより、ディスクハートビート書き込み部やディスクハートビート検知部、ディスクハートビート作成部が実現される。また例えばＣＰＵ２１１によりレプリケーション制御プログラム２１７が実行されることにより、複製データ送信部や複製データ受信部が実現される。また例えばＣＰＵ２１１によりストレージ制御プログラム２１８が実行されることにより、ノードハートビート書き込み部や、ノードハートビート送信部、ディスクハートビート検知結果送信部が実現される。またメモリ２１２にはペア管理テーブル２１６が記憶されている。詳細は後述する。なお、ディスクハートビート制御プログラム２１５や、レプリケーション制御プログラム２１７、ストレージ制御プログラム２１８は、それぞれ個別のプログラムとすることもできるし、これらのプログラムの少なくとも一部が同一プログラムにより構成されるようにすることもできる。また各プログラムが複数のプログラムにより構成されるようにすることもできる。ＦＣ  Ｉ／Ｆ２１３は情報処理装置１００や他のストレージ装置２００と通信を行うためのインタフェース機能を有する。ディスクＩ／Ｆ２１４はディスク駆動装置２２０とデータの授受を行うためのインタフェース機能を有する。
【００２８】
なお、第２のネットワーク３１０で通信可能に接続されたディスク制御装置Ａ（２１０）とディスク制御装置Ｂ（２１０）とを、ストレージ制御システムとも記す。
【００２９】
ディスク駆動装置２２０はデータを記憶する記憶ボリューム２３０を有する。記憶ボリューム２３０は、ハードディスクドライブ等により提供される物理的な記憶領域である物理ボリュームと、物理ボリューム上に論理的に設定される記憶領域である論理ボリュームとを含む記憶領域である。図１では、ストレージ装置Ａ（２００）においてはＬＵ０１、ＬＵ０２、ＬＵ０３の３つの記憶ボリューム（第１の記憶ボリューム、第３の記憶ボリューム）２３０が示され、ストレージ装置Ｂ（２００）においてはＬＵ１１、ＬＵ１２、ＬＵ１３の３つの記憶ボリューム（第２の記憶ボリューム）２３０が示されている。
【００３０】
管理端末２６０は、ストレージ装置２００の保守管理を行うための情報機器である。管理端末２６０はストレージ装置２００に内蔵されるように構成することもできるし、外付けされるように構成することもできる。また管理端末２６０はストレージ装置２００の保守・管理を専用に行うコンピュータとすることもできるし、汎用のコンピュータに保守・管理機能を持たせたものとすることもできる。
【００３１】
管理端末２６０の構成を示すブロック図を図３に示す。  
管理端末２６０は、ＣＰＵ２６１、メモリ２６２、ポート２６３、記録媒体読取装置２６４、入力装置２６５、出力装置２６６、記憶装置２６８を備える。
【００３２】
ＣＰＵ２６１は管理端末２６０の全体の制御を司るもので、メモリ２６２に格納された、本実施の形態に係る各種の動作を行うためのコードから構成される制御プログラム２６９を実行することによりストレージ装置２００の保守管理機能等を実現する。  
記録媒体読取装置２６４は、記録媒体２６７に記録されているプログラムやデータを読み取るための装置である。読み取られたプログラムやデータはメモリ２６２や記憶装置２６８に格納される。従って、例えば記録媒体２６７に記録された制御プログラム２６９やディスクハートビート制御プログラム２１５、レプリケーション制御プログラム２１７、ストレージ制御プログラム２１８を、記録媒体読取装置２６４を用いて上記記録媒体２６７から読み取って、メモリ２６２や記憶装置２６８に記憶することができる。記録媒体２６７としてはフレキシブルディスクやＣＤ−ＲＯＭ、磁気テープ、半導体メモリ等を用いることができる。記録媒体読取装置２６４は管理端末２６０に内蔵されている形態とすることもできるし、外付されている形態とすることもできる。記憶装置２６８は、例えばハードディスク装置や半導体記憶装置等とすることができる。制御プログラム２６９は記憶装置２６８に記憶されるようにすることもできる。  
入力装置２６５はオペレータ等による管理端末２６０へのデータ入力等のために用いられるユーザインタフェースである。入力装置２６５としては例えばキーボードやマウス等を用いることができる。出力装置２６６は情報を外部に出力するためのユーザインタフェースである。出力装置２６６としては例えばディスプレイやプリンタ等を用いることができる。ポート２６３は情報処理装置１００やストレージ装置２００と通信を行うための装置である。これにより例えば、制御プログラム２６９やディスクハートビート制御プログラム２１５、レプリケーション制御プログラム２１７、ストレージ制御プログラム２１８を、情報処理装置１００からポート２６３を通じて受信してメモリ２６２や記憶装置２６８に記憶することができる。またメモリ２６２や記憶装置２６８に記憶されたディスクハートビート制御プログラム２１５やレプリケーション制御プログラム２１７、ストレージ制御プログラム２１８を、ポート２６３を通じてディスク制御装置２１０に送信して、ディスク制御装置２１０のメモリ２１２に記憶させるようにすることもできる。
【００３３】
なお、本実施の形態に係る管理端末２６０の機能を情報処理装置１００に設けるようにすることもできる。この場合、管理端末２６０を設けない構成とすることもできる。またこの場合、ストレージ装置２００の保守管理は情報処理装置１００を用いて行われることになる。
【００３４】
＝＝＝レプリケーション制御＝＝＝
次に本実施の形態に係るストレージシステム４００において行われるレプリケーションの制御について説明する。レプリケーションの制御は、ディスク制御装置２１０のＣＰＵ２１１が、レプリケーション制御プログラム２１７を実行することにより行うことができる。レプリケーションの対象となる記憶ボリューム２３０や、レプリケーションの制御の方式等は、ペア管理テーブル２１６に定義されている。ペア管理テーブル２１６は、例えば情報処理装置１００においてストレージ管理プログラム１９３が実行されることにより、情報処理装置１００を操作するオペレータ等により入力装置１５０から入力されたデータに基づいて、作成されるようにすることができる。なお、ストレージ管理プログラム１９３を管理端末２６０に備える様にし、管理端末２６０のＣＰＵ２６１にストレージ管理プログラム１９３を実行させるようにすることにより、管理端末２６０を操作するオペレータ等により入力装置２６５から入力されたデータに基づいて、ペア管理テーブル２１６が作成されるようにすることもできる。
【００３５】
ペア管理テーブル２１６を図４に示す。  
ペア管理テーブル２１６は、「ペア種類」欄、「複製方式」欄、「複製元装置」欄、「複製先装置」欄、「複製元ボリューム」欄、「複製先ボリューム」欄、「ペア状態」欄を備える。
【００３６】
ペアとは２つの記憶ボリューム２３０により形成される記憶ボリューム２３０の組み合わせを言う。また、ペアを形成する２つの記憶ボリューム２３０が同一のストレージ装置２００にある場合を「ローカルペア」、異なるストレージ装置２００にある場合を「リモートペア」と記す。ペアを形成する記憶ボリューム２３０は、一方を主記憶ボリューム２３０、他方を副記憶ボリューム２３０として管理される。主記憶ボリューム２３０にデータが書き込まれるとそのデータの複製が副記憶ボリューム２３０に書き込まれる。一つの主記憶ボリューム２３０に対して複数の副記憶ボリューム２３０を組み合わせることも可能である。
【００３７】
ストレージ管理プログラム１９３を実行する情報処理装置２００が、データの複製元となるストレージ装置Ａ（２００）にリモートペアの形成を指示すると、ストレージ装置Ａ（２００）はペア管理テーブル２１６を更新する。その後ストレージ装置Ａ（２００）は、データの複製先となるストレージ装置Ｂ（２００）にリモートペアの形成を指示する。そしてストレージ装置Ｂ（２００）は、ストレージ装置Ｂ（２００）内のメモリ２１２のペア管理テーブル２１６を更新する。
【００３８】
ペア管理テーブル２１６の「ペア種類」欄は当該ペアがローカルペアであるかリモートペアであるかを示す。「複製方式」欄は、当該ペアがリモートペアである場合に、レプリケーションの方式が同期方式であるか非同期方式であるかを示す。「複製元装置」欄と「複製先装置」欄は、当該ペアがリモートペアである場合に、複製元のストレージ装置２００と複製先のストレージ装置２００を示す。「複製元ボリューム」欄は当該ペアの主記憶ボリューム２３０の識別番号を、「複製先ボリューム」欄は当該ペアの副記憶ボリューム２３０の識別番号を示す。記憶ボリューム２３０の識別番号としては、例えばＬＵＮ（Logical Unit Number）とすることができる。
【００３９】
「ペア状態」欄は当該ペアの状態を示す。ペアの状態としては、「ペア中」、「スプリット中」、及び「リシンク中」がある。  
「ペア中」の場合は、情報処理装置１００から主記憶ボリューム２３０に書き込まれたデータの複製は副記憶ボリューム２３０にも書き込まれる。このような主記憶ボリューム２３０と副論理ボリューム２３０との対応付けにより、主記憶ボリューム２３０に記憶されている内容と副記憶ボリューム２３０に記憶されている内容との同一性を確保することができる。  
「スプリット中」の場合は、情報処理装置１００から主記憶ボリューム２３０にデータが書き込まれても副記憶ボリューム２３０には反映されない。  
「リシンク中」は「スプリット中」から「ペア中」に移行する途中の状態である。すなわち、「スプリット中」に主記憶ボリューム２３０に対してなされたデータの更新を副論理ボリューム２３０に反映している状態である。反映が完了すると当該ペアの状態は「ペア中」になる。
【００４０】
上記ペアの形成、ペアのスプリット、及びペアのリシンクは、ストレージ制御プログラム１９３が実行されている情報処理装置１００に対して入力装置１５０からオペレータが指示入力を与えることにより行われるようにすることができる。オペレータにより与えられた指示入力はディスク制御装置２１０に送信される。ディスク制御装置２１０は、レプリケーション制御プログラム２１７を実行して、上記指示に従って、ペアの形成やペア状態の変更を行う。ディスク制御装置２１０は、形成したペアのペア状態に応じて、例えば「ペア中」の主記憶ボリューム２３０に対してデータの書き込み要求を情報処理装置１００から受信した場合には、データを主記憶ボリューム２３０に書き込むと共に、ペア管理テーブル２１６を参照して、そのデータの複製が書き込まれる記憶ボリュームＢ（２３０）を特定し、そのデータの複製をストレージ装置Ｂ（２００）に送信する。そしてストレージ装置Ｂ（２００）は、送信されたこのデータの複製を受信し、そのデータの複製を記憶ボリュームＢ（２３０）に書き込む。
【００４１】
以上のレプリケーションの制御を行うことによって、メインサイトのコンピュータシステムのデータを、リモートサイトのコンピュータシステムに記憶しておくようにすることが可能となる。
【００４２】
＝＝＝クラスタ制御＝＝＝
次に、本実施の形態に係るストレージシステム４００で行われるクラスタ制御について説明する。
【００４３】
本実施の形態に係る情報処理装置Ａ（１００）及び情報処理装置Ｂ（１００）は、互いにクラスタリング制御プログラム１９６を実行することにより、クラスタ制御を行う。クラスタ制御とは、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知した場合には、リモートサイトのコンピュータシステムが、それまでメインサイトのコンピュータシステムにより行われていた情報処理を引き継いで行うための制御をいう。なお情報処理を引き継ぐことをフェイルオーバするともいう。
【００４４】
ここで、メインサイトのコンピュータシステムが停止したことをリモートサイトのコンピュータシステムが検知するために、通常、メインサイトのコンピュータシステムは、リモートサイトのコンピュータシステムに対して、ハートビート信号（ハートビートメッセージ）と呼ばれる所定のデータを、所定時間以内の間隔で繰り返し送信する。リモートサイトのコンピュータシステムは、メインサイトのコンピュータシステムから送信されるハートビート信号を検知することにより、メインサイトのコンピュータシステムの動作状態を判定することができる。例えばリモートサイトのコンピュータシステムは、所定時間以上待ってもメインサイトのコンピュータシステムからのハートビート信号を検知できない場合には、メインサイトのコンピュータシステムに異常が発生したと判定することができる。
【００４５】
＝＝＝ハートビート信号の送受信＝＝＝
次に本実施の形態に係るストレージシステム４００において行われるハートビート信号の送受信の制御について、図５乃至図１４を用いて説明する。
【００４６】
まず本実施の形態に係るハートビート信号の送受信の制御を説明するためのシステム構成図を図５に示す。図５に示すシステム構成図は、図１に示したシステム構成図と比較して、メインサイト及びリモートサイトのそれぞれにおいて、複数の情報処理装置１００を備えている点が異なる。この場合、例えばメインサイトのそれぞれの情報処理装置Ａ（１００）間において互いにハートビート信号の授受を行うことにより、メインサイト内の情報処理装置Ａ（１００）においてクラスタ制御を行うようにすることができる。すなわち、メインサイト内のある情報処理装置Ａ（１００）が動作を停止したことを、メインサイト内の他の情報処理装置Ａ（１００）が検知した場合、それまでその情報処理装置Ａ（１００）が行っていた情報処理を、メインサイト内の他の情報処理装置Ａ（１００）が引き継いで行うようにすることができる。リモートサイトの情報処理装置Ｂ（１００）についても同様である。
【００４７】
また図５に示す「マイクロ制御ＶＯＬ（VOLume）」、「ハートビートＰＶＯＬ（Primary VOLume）」、「ユーザＰＶＯＬ」、「ハートビートＳＶＯＬ（Secondary VOLume）」、「ユーザＳＶＯＬ」は、それぞれ記憶ボリューム２３０である。  
マイクロ制御ＶＯＬ（２３０）は、本実施の形態に係るハートビート信号の送受信の制御を行う際に用いられる記憶ボリューム２３０である。マイクロ制御ＶＯＬ（２３０）には、ハートビート状態テーブル１９４が記憶される。詳細は後述する。  
ハートビートＰＶＯＬ（２３０）及びハートビートＳＶＯＬ（２３０）は、レプリケーションのペアを構成しており、それぞれ主記憶ボリューム２３０及び副記憶ボリューム２３０である。ハートビートＰＶＯＬ（２３０）には、ハートビート信号２３２が書き込まれる。そうすると、そのハートビート信号２３２の複製がペアを構成するハートビートＳＶＯＬ（２３０）に書き込まれる。  
ユーザＰＶＯＬ（２３０）及びユーザＳＶＯＬ（２３０）は、レプリケーションのペアを構成しており、それぞれ主記憶ボリューム２３０及び副記憶ボリューム２３０である。ユーザＰＶＯＬ（２３０）には、情報処理装置１００でアプリケーションプログラム１９０が実行されることにより生成される各種データが書き込まれる。そうすると、そのデータの複製が、ペアを構成するユーザＳＶＯＬ（２３０）に書き込まれる。
【００４８】
本実施の形態に係るハートビート信号２３２の送受信は、オペレーティングシステム１９７の制御の下、情報処理装置１００でハートビート制御プログラム１９１及びノードハートビート制御プログラム１９２が実行され、ストレージ装置２００でディスクハートビート制御プログラム２１５、ストレージ制御プログラム２１８、及びレプリケーション制御プログラム２１７が実行されることにより行われる。
【００４９】
オペレーティングシステム１９７は、情報処理装置１００でハートビート制御プログラム１９１等の各種プログラムが実行される際のＡＰＩ（Application Program Interface）を提供する。例えばオペレーティングシステム１９７は、記憶ボリューム２３０に対する”ＯＰＥＮ”、”ＲＥＡＤ”、”ＷＲＩＴＥ”、”ＣＬＯＳＥ”を提供する。この場合、例えばノードハートビート制御プログラム１９２がストレージ装置（２００）のハートビートＰＶＯＬ（２３０）にハートビート信号２３２を書き込む場合には、ハートビートＰＶＯＬ（２３０）へのポインタを得る際に”ＯＰＥＮ”を、ハートビート信号２３２を書き込む際に”ＷＲＩＴＥ”を、ハートビートＰＶＯＬ（２３０）へのポインタを放棄する際に”ＣＬＯＳＥ”を利用する。またノードハートビート制御プログラム１９２がストレージ装置（２００）のハートビートＳＶＯＬ（２３０）からハートビート信号２３２を読み出す場合には、ハートビートＳＶＯＬ（２３０）へのポインタを得る際に”ＯＰＥＮ”を、ハートビート信号２３２を読みだす際に”ＲＥＡＤ”を、ハートビートＳＶＯＬ（２３０）へのポインタを放棄する際に”ＣＬＯＳＥ”を利用する。
【００５０】
ハートビート制御プログラム１９１は、情報処理装置１００のメモリ１２０に記憶される活性化／不活性化メッセージ１９５やハートビート状態テーブル１９４の作成、更新、ストレージ装置２００のマイクロ制御ボリューム２３０に記憶されるハートビート状態テーブル１９４の作成、更新等を行う。活性化／不活性化メッセージ１９５の作成や更新は、例えば情報処理装置１００の入力装置１５０からオペレータによって入力されたデータに基づいて行われるようにすることができる。ハートビート状態テーブル１９４の作成、更新は、例えば活性化／不活性化メッセージ１９５の内容に基づいて行われるようにすることができる。またリモートサイトの情報処理装置１００で実行されるハートビート制御プログラム１９１は、メインサイトのコンピュータシステムから送信されてくるハートビート信号２３２の検知の結果に応じて、メインサイトのコンピュータシステムの動作状態を判定する。詳細は後述する。
【００５１】
ノードハートビート制御プログラム１９２は、メモリ１２０に記憶されたハートビート状態テーブル１９４に基づいて、ストレージ装置２００に対して、所定時間以内の間隔で繰り返し、ハートビートＰＶＯＬ（２３０）に対するハートビート信号（第２のハートビートメッセージ、以下ノードハートビート信号２３２とも記す）２３２の書き込み要求を送信する。このノードハートビート信号２３２は、ストレージ装置２００によってハートビートＰＶＯＬ（２３０）に書き込まれる。またノードハートビート制御プログラム１９２は、メモリ１２０に記憶されたハートビート状態テーブル１９４に基づいて、ストレージ装置２００に対して、ハートビートＳＶＯＬ（２３０）に書き込まれたノードハートビート信号２３２の複製の読み出し要求を送信する。このノードハートビート信号２３２の複製は、ストレージ装置２００によってハートビートＳＶＯＬ（２３０）から読みだされ、情報処理装置１００に送信される。そしてノードハートビート制御プログラム１９２は、ストレージ装置２００から送信されたノードハートビート信号２３２の複製の検知を行う。そしてメモリ１２０のハートビート状態テーブル１９４の内容を更新する。詳細は後述する。
【００５２】
ディスクハートビート制御プログラム２１５は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４に基づいて、所定時間以内の間隔で繰り返し、ハートビートＰＶＯＬ（２３０）に対してハートビート信号（第１のハートビートメッセージ、以下ディスクハートビート信号２３２とも記す）２３２の書き込みを行う。ここでディスクハートビート制御プログラム２１５によってディスクハートビート信号２３２が書き込まれるハートビートＰＶＯＬ（２３０）は、ノードハートビート制御プログラム１９２によって送信されるノードハートビート信号２３２が書き込まれるハートビートＰＶＯＬ（２３０）と同じ記憶ボリューム２３０とすることもできるし、異なる記憶ボリューム２３０とすることもできる。またディスクハートビート制御プログラム２１５は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４に基づいて、ハートビートＳＶＯＬ（２３０）に書き込まれたディスクハートビート信号２３２の複製を読みだして、その検知を行う。そしてマイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４の内容を更新する。詳細は後述する。
【００５３】
レプリケーション制御プログラム２１７は、ペア管理テーブル２１６に基づいて、ハートビートＰＶＯＬ（２３０）にハートビート信号２３２が書き込まれると、そのハートビート信号２３２の複製を第２のネットワーク３１０を介してリモートサイトのストレージ装置２００に送信する。またレプリケーション制御プログラム２１７は、第２のネットワーク３１０を介してメインサイトのストレージ装置２００から送信されたハートビート信号２３２の複製を受信し、そのハートビート信号２３２の複製をハートビートＳＶＯＬ（２３０）に書き込む。
【００５４】
ストレージ制御プログラム２１８は、情報処理装置１００から送信されるノードハートビート信号２３２の書き込み要求に応じて、そのノードハートビート信号２３２をハートビートＰＶＯＬ（２３０）に書き込む。また情報処理装置１００から送信されるノードハートビート信号２３２の複製の読み出し要求に応じて、そのノードハートビート信号２３２の複製をハートビートＳＶＯＬ（２３０）から読みだして、情報処理装置１００に送信する。またディスクハートビート信号２３２の複製の検知の結果を情報処理装置１００に送信する。
【００５５】
＝＝＝活性化／不活性化メッセージ＝＝＝
次に本実施の形態に係る活性化／不活性化メッセージ１９５を図６に示す。  
上述したように活性化／不活性化メッセージ１９５は、メインサイトの情報処理装置１００の入力装置１５０からオペレータによって入力されたデータに基づいて作成される。活性化／不活性化メッセージ１９５の作成は、オペレータからデータの入力がある毎に行われる。つまりオペレータは、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で任意の数の種類のハートビート信号２３２が送受信されるようにすることができる。
【００５６】
活性化／不活性化メッセージ１９５は、「活性化／不活性化種別」欄、「ディスクハートビート／ノードハートビート種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄を備える。
【００５７】
「活性化／不活性化種別」欄は、ハートビート信号２３２の送受信を行うか行わないかを示す。ハートビート信号２３２の送受信を行うようにすることをハートビート信号２３２を活性化するという。ハートビート信号２３２の送受信を行わないようにすることをハートビート信号２３２を不活性化するという。「活性化／不活性化種別」欄に記載される値としては、例えば”ＡＣＴＩＶＡＴＥ”、又は”ＤＥＡＣＴＩＶＡＴＥ”とすることができる。”ＡＣＴＩＶＡＴＥ”の場合はハートビート信号２３２が活性化され、”ＤＥＡＣＴＩＶＡＴＥ”の場合はハートビート信号２３２が不活性化されることを示す。
【００５８】
「ディスクハートビート／ノードハートビート種別」欄は、活性化又は不活性化されるハートビート信号２３２がノードハートビート信号２３２なのかディスクハートビート信号なのかを示す。「ディスクハートビート／ノードハートビート種別」欄に記載される値としては、例えば”ＤＩＳＫ  ＨＥＡＲＴＢＥＡＴ”、又は”ＮＯＤＥ  ＨＥＡＲＴＢＥＡＴ”とすることができる。”ＤＩＳＫ  ＨＥＡＲＴＢＥＡＴ”の場合は、活性化又は不活性化されるハートビート信号２３２はディスクハートビート信号２３２であることを示し、”ＮＯＤＥ  ＨＥＡＲＴＢＥＡＴ”の場合は、活性化又は不活性化されるハートビート信号２３２はノードハートビート信号２３２であることを示す。
【００５９】
「ローカルデバイスアドレス」欄は、ハートビート信号２３２が書き込まれるハートビートＰＶＯＬ（２３０）のアドレス（記憶位置）を示す。  
「リモートデバイスアドレス」欄は、ハートビート信号２３２が書き込まれるハートビートＳＶＯＬ（２３０）のアドレス（記憶位置）を示す。
【００６０】
ハートビート制御プログラム１９１は、オペレータにより入力されたデータに基づいて作成した活性化／不活性化メッセージ１９５をリモートサイトの情報処理装置１００に送信する。活性化／不活性化メッセージ１９５のリモートサイトの情報処理装置１００への送信は、第１のネットワーク３００を介して行われるようにすることもできるし、第２のネットワーク３１０を介して行われるようにすることもできる。第２のネットワーク３１０を介して行われるようにする場合には、レプリケーションによって行われるようにすることもできる。
【００６１】
＝＝＝ハートビート状態テーブル＝＝＝
続いてメインサイトの情報処理装置１００、及びリモートサイトの情報処理装置１００はそれぞれ、活性化／不活性化メッセージ１９５に基づいて、ハートビート状態テーブル１９４を作成、更新する。本実施の形態に係るハートビート状態テーブルを図７に示す。
【００６２】
ハートビート状態テーブル１９４は、ノードハートビート信号２３２の状態を示す部分と、ディスクハートビート信号２３２の状態を示す部分とを備える。  
ノードハートビート信号２３２の状態を示す部分は、「ノードハートビート状態」欄、「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄を備える。「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄は、ノードハートビート信号２３２の種類の数毎に一つ以上設けられる。つまり、ノードハートビート信号２３２の種類は、「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の記載の組み合わせにより特定される。
【００６３】
「ノードハートビート状態」欄は、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、ノードハートビート信号２３２の送受信が行われているか否かを示す。「ノードハートビート状態」欄に記載される値としては、”ＥＮＡＢＬＥ”、又は”ＦＡＩＬＥＤ”とすることができる。”ＥＮＡＢＬＥ”の場合は、少なくとも一種類以上のノードハートビート信号２３２の送受信が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で行われていることを示す。”ＦＡＩＬＥＤ”の場合は、ノードハートビート信号２３２の送受信が全く行われていないことを示す。
【００６４】
「Ｐ／Ｓ種別」欄は、ノードハートビート信号２３２が送信されるべきものなのか、受信されるべきものなのかを示す。すなわち、引き続く「ローカルデバイスアドレス」欄がハートビートＰＶＯＬ（２３０）であるのか、ハートビートＳＶＯＬ（２３０）であるのかを示す。「Ｐ／Ｓ種別」欄に記載される値としては、”ＰＶＯＬ”、又は”ＳＶＯＬ”とすることができる。活性化／不活性化メッセージ１９５を作成した情報処理装置１００は「Ｐ／Ｓ種別」欄を”ＰＶＯＬ”とする。活性化／不活性化メッセージ１９５を送信された情報処理装置１００は「Ｐ／Ｓ種別」欄を”ＳＶＯＬ”とする。
【００６５】
「ローカルデバイスアドレス」欄は、同一コンピュータシステム内のストレージ装置２００が備える記憶ボリューム２３０における、ノードハートビート信号２３２が書き込まれるアドレスを示す。「Ｐ／Ｓ種別」欄が”ＰＶＯＬ”の場合には、「ローカルデバイスアドレス」欄に記載されたアドレスに書き込まれたノードハートビート信号２３２が、レプリケーション制御プログラム２１７によって他のストレージ装置２００に送信される。「Ｐ／Ｓ種別」欄が”ＳＶＯＬ”の場合には、「ローカルデバイスアドレス」欄に記載されたアドレスに、レプリケーション制御プログラム２１７によって他のストレージ装置２００から送信されたノードハートビート信号２３２が書き込まれる。
【００６６】
「リモートデバイスアドレス」欄は、異なるコンピュータシステム内のストレージ装置２００が備える記憶ボリューム２３０における、ノードハートビート信号２３２が書き込まれるアドレスを示す。
【００６７】
「デバイス状態」欄は、ノードハートビート信号２３２が正しく送受信されているか否かを示す。「デバイス状態」欄に記載される値としては、”ＥＮＡＢＬＥ”、又は”ＦＡＩＬＥＤ”とすることができる。”ＥＮＡＢＬＥ”の場合は、ノードハートビート信号２３２が正しく送受信されていることを示す。”ＦＡＩＬＥＤ”の場合は、ノードハートビート信号２３２が正しく送受信されていないことを示す。
【００６８】
全ての種類のノードハートビート信号２３２について、「デバイス状態」欄が”ＦＡＩＬＥＤ”となった場合は、ノードハートビート信号２３２の全ての送受信が正しく行われていないことになるので、「ノードハートビート状態」欄には”ＦＡＩＬＥＤ”が記載される。  
なお、ノードハートビート信号２３２が正しく送受信されているか否かについての判断方法については後述する。
【００６９】
ディスクハートビート信号２３２の状態を示す部分は、「ディスクハートビート状態」欄、「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄を備える。「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄は、ディスクハートビート信号２３２の種類の数毎に一つ以上設けられる。つまり、ディスクハートビート信号２３２の種類は、「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の記載の組み合わせにより特定される。
【００７０】
「ディスクハートビート状態」欄は、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、ディスクハートビート信号２３２の送受信が行われているか否かを示す。「ディスクハートビート状態」欄に記載される値としては、”ＥＮＡＢＬＥ”、又は”ＦＡＩＬＥＤ”とすることができる。”ＥＮＡＢＬＥ”の場合は、少なくとも一種類以上のディスクハートビート信号２３２の送受信が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で行われていることを示す。”ＦＡＩＬＥＤ”の場合は、ディスクハートビート信号２３２の送受信が全く行われていないことを示す。
【００７１】
「Ｐ／Ｓ種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄、「デバイス状態」欄については、ノードハートビート信号２３２の状態を示す部分と同様である。
【００７２】
なお、マイクロ制御ＶＯＬ２３０に記憶されるハートビート状態テーブル１９４は、ディスクハートビート信号２３２の状態を示す部分のみとするようにすることもできる。これにより、ディスクハートビート信号２３２の状態をより少ない記憶容量で管理することが可能となる。
【００７３】
＝＝＝ハートビート信号＝＝＝
ノードハートビート制御プログラム１９２は、メモリ１２０に記憶されたハートビート状態テーブル１９４に基づいて、ノードハートビート信号２３２を作成し、ストレージ装置２００に対して、所定時間以内の間隔、例えば１分以内の間隔で、繰り返し、ハートビートＰＶＯＬ（２３０）に対するノードハートビート信号２３２の書き込み要求を送信する。ノードハートビート信号２３２は、ストレージ装置２００で実行されるストレージ制御プログラム２１８によってハートビートＰＶＯＬ（２３０）に書き込まれる。
【００７４】
またディスクハートビート制御プログラム２１５は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４に基づいて、ディスクハートビート信号２３２を作成し、所定時間以内の間隔、例えば１分以内の間隔で、繰り返し、ハートビートＰＶＯＬ（２３０）に対してディスクハートビート信号２３２の書き込みを行う。
【００７５】
本実施の形態に係るノードハートビート信号２３２、及びディスクハートビート信号２３２を図８に示す。図８に示すように、本実施の形態に係るノードハートビート信号２３２、及びディスクハートビート信号２３２は、「通し番号」欄、「時刻」欄、「ディスクハートビート／ノードハートビート種別」欄、「ローカルデバイスアドレス」欄、「リモートデバイスアドレス」欄の少なくともいずれかを含んで構成される。
【００７６】
「通し番号」欄は、ハートビートＰＶＯＬ（２３０）に所定時間以内の間隔で繰り返し書き込まれる同一種類のハートビート信号２３２のそれぞれを識別するための識別情報が記載される欄である。通し番号は、例えばハートビートＰＶＯＬ（２３０）に順に書き込まれるハートビート信号２３２毎に１ずつ値が増えてゆくように付される番号とすることができる。
【００７７】
「時刻」欄は、ノードハートビート制御プログラム１９２、あるいはディスクハートビート制御プログラム２１５によって、ハートビート信号２３２が作成された時刻を示す情報が記載される欄である。時刻は、例えばハートビート信号２３２の作成日時とすることもできるし、ある基準日時からの差分を示す情報とすることもできる。
【００７８】
「ディスクハートビート／ノードハートビート種別」欄は、ノードハートビート制御プログラム１９２によって作成されたノードハートビート信号２３２であるのか、ディスクハートビート制御プログラム２１５によって作成されたディスクハートビート信号２３２であるのかを示す情報が記載される欄である。
【００７９】
「ローカルデバイスアドレス」欄は、当該ハートビート信号２３２が書き込まれるハートビートＰＶＯＬ（２３０）の記憶位置を示す情報が記載される欄である。  
「リモートデバイスアドレス」欄は、当該ハートビート信号２３２が書き込まれるハートビートＳＶＯＬ（２３０）の記憶位置を示す情報が記載される欄である。
【００８０】
＝＝＝ノードハートビート信号が正しく送受信されているか否かの確認＝＝＝
リモートサイトの情報処理装置１００で実行されるノードハートビート制御プログラム１９２は、ハートビート状態テーブル１９４を参照し、「Ｐ／Ｓ種別」欄が”ＳＶＯＬ”であり、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるものについて、それぞれ、「ローカルデバイスアドレス」欄に記載されているアドレスを指定して、ストレージ装置２００に対して、ノードハートビート信号２３２の複製の読み出し要求を送信する。この読み出し要求の送信は、所定時間毎に、例えば１分間隔で行うようにすることができる。このノードハートビート信号２３２の複製は、ストレージ装置２００によってハートビートＳＶＯＬ（２３０）から読みだされ、情報処理装置１００に送信される。そしてノードハートビート制御プログラム１９２は、ハートビートＳＶＯＬ（２３０）から読みだされたノードハートビート信号２３２の複製の内容と、ハートビート状態テーブル１９４におけるそのノードハートビート信号２３２に対応する内容とを比較することにより、ノードハートビート信号２３２が正しく送受信されているか否かを判断する。
【００８１】
具体的には、ノードハートビート信号２３２の「リモートデバイスアドレス」欄の記載内容と、ハートビート状態テーブル１９４におけるそのノードハートビート信号２３２に対応する「リモートデバイスアドレス」欄の記載内容が一致するか否か、ノードハートビート信号２３２の「ローカルデバイスアドレス」欄の記載内容と、ハートビート状態テーブル１９４におけるそのノードハートビート信号２３２に対応する「ローカルデバイスアドレス」欄の記載内容が一致するか否か、ノードハートビート信号２３２の「ディスクハートビート／ノードハートビート種別」欄の記載内容が”ＮＯＤＥ  ＨＥＡＲＴＢＥＡＴ”であるか否かを比較する。さらに、ノードハートビート信号２３２の「通し番号」欄に記載された値が、前回に受信したノードハートビート信号２３２よりも増加しているか否かを確認する。
【００８２】
ノードハートビート信号２３２とハートビート状態テーブル１９４の上記各欄の記載内容が全て一致し、かつ、ノードハートビート信号２３２の「ディスクハートビート／ノードハートビート種別」欄の記載内容が”ＮＯＤＥ  ＨＥＡＲＴＢＥＡＴ”であり、かつ、ノードハートビート信号２３２の「通し番号」欄に記載された値が、前回に受信したノードハートビート信号２３２よりも増加している場合に、ノードハートビート制御プログラム１９２は、ノードハートビート信号２３２が正しく送受信されていると判断する。  
そしてノードハートビート制御プログラム１９２は、ノードハートビート信号２３２が正しく送受信されているか否かに応じて、ハートビート状態テーブル１９４の「デバイス状態」欄に”ＥＮＡＢＬＥ”、あるいは”ＦＡＩＬＥＤ”を記載する。  
ノードハートビート制御プログラム１９２は、ハートビート状態テーブル１９４のノードハートビート信号２３２の状態を示す部分について、全ての「デバイス状態」欄が”ＦＡＩＬＥＤ”である場合には、「ノードハートビート状態」欄に”ＦＡＩＬＥＤ”を記載する。
【００８３】
＝＝＝ディスクハートビート信号が正しく送受信されているか否かの確認＝＝＝
ディスクハートビート制御プログラム２１５は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４を参照し、「Ｐ／Ｓ種別」欄が”ＳＶＯＬ”であり、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるものについて、それぞれ、「ローカルデバイスアドレス」欄に記載されているハートビートＳＶＯＬ（２３０）のアドレスから、ディスクハートビート信号２３２の複製を読みだす。この読み出しは、所定時間毎に、例えば１分間隔で行うようにすることができる。そしてディスクハートビート制御プログラム２１５は、ハートビートＳＶＯＬ（２３０）から読みだされたディスクハートビート信号２３２の複製の内容と、ハートビート状態テーブル１９４におけるそのディスクハートビート信号２３２に対応する内容とを比較することにより、ディスクハートビート信号２３２が正しく送受信されているか否かを判断する。
【００８４】
具体的には、ディスクハートビート信号２３２の「リモートデバイスアドレス」欄の記載内容と、ハートビート状態テーブル１９４におけるそのディスクハートビート信号２３２に対応する「リモートデバイスアドレス」欄の記載内容が一致するか否か、ディスクハートビート信号２３２の「ローカルデバイスアドレス」欄の記載内容と、ハートビート状態テーブル１９４におけるそのディスクハートビート信号２３２に対応する「ローカルデバイスアドレス」欄の記載内容が一致するか否か、ディスクハートビート信号２３２の「ディスクハートビート／ノードハートビート種別」欄の記載内容が”ＤＩＳＫ  ＨＥＡＲＴＢＥＡＴ”であるか否かを比較する。さらに、ディスクハートビート信号２３２の「通し番号」欄に記載された値が、前回に受信したディスクハートビート信号２３２よりも増加しているか否かを確認する。
【００８５】
ディスクハートビート信号２３２とハートビート状態テーブル１９４の上記各欄の記載内容が全て一致し、かつ、ディスクハートビート信号２３２の「ディスクハートビート／ノードハートビート種別」欄の記載内容が”ＤＩＳＫ  ＨＥＡＲＴＢＥＡＴ”であり、かつ、ディスクハートビート信号２３２の「通し番号」欄に記載された値が、前回に受信したディスクハートビート信号２３２よりも増加している場合に、ディスクハートビート制御プログラム１９２は、ディスクハートビート信号２３２が正しく送受信されていると判断する。  
そしてディスクハートビート制御プログラム２１５は、ディスクハートビート信号２３２が正しく送受信されているか否かに応じて、ハートビート状態テーブル１９４の「デバイス状態」欄に”ＥＮＡＢＬＥ”、あるいは”ＦＡＩＬＥＤ”を記載する。  
ディスクハートビート制御プログラム２１５は、ハートビート状態テーブル１９４のディスクハートビート信号２３２の状態を示す部分について、全ての「デバイス状態」欄が”ＦＡＩＬＥＤ”である場合には、「ディスクハートビート状態」欄に”ＦＡＩＬＥＤ”を記載する。
【００８６】
＝＝＝メインサイトのコンピュータシステムの動作状態の判定＝＝＝
リモートサイトの情報処理装置１００で実行されるハートビート制御プログラム１９１は、リモートサイトのストレージ装置２００に対して、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４の読み出し要求を送信する。この読み出し要求の送信は、所定時間毎に、例えば１分間隔で行うようにすることができる。そしてストレージ装置２００は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４を情報処理装置１００に送信する。ハートビート制御プログラム１９１は、ストレージ装置２００から送信されたハートビート状態テーブル１９４のうち、ディスクハートビート信号２３２の状態を示す部分を、メモリ１２０に記憶されるハートビート状態テーブル１９４に反映する。そしてハートビート制御プログラム１９１は、ノードハートビート信号２３２及びディスクハートビート信号２３２が、メインサイトのコンピュータシステムとリモートサイトのコンピュータシステムとの間で、正しく送受信されているか否かを確認する。これにより、ハートビート制御プログラム１９１は、ディスクハートビート信号２３２の複製の検知の結果と、ノードハートビート信号２３２の複製の検知の結果とに応じて、メインサイトのコンピュータシステムの動作状態を判定する。
【００８７】
さらにリモートサイトの情報処理装置１００は、メインサイトのコンピュータシステムの動作状態に応じてフェイルオーバを行う必要があるか否かを判定し、必要に応じてリモートサイトのコンピュータシステムに、メインサイトのコンピュータシステムにおける情報処理をフェイルオーバさせる。フェイルオーバの実行はクラスタリング制御プログラム１９６により行うことができる。詳細は後述する。
【００８８】
＝＝＝ハートビート信号の活性化／不活性化＝＝＝
次に、ハートビート信号２３２を活性化する場合の処理の流れ、及びハートビート信号２３２を不活性化する場合の処理の流れについて説明する。まずハートビート信号２３２を活性化する場合の処理の流れについて、図９に示すフローチャートを参照しながら説明する。
【００８９】
まずハートビート制御プログラム１９１は、メインサイトの情報処理装置１００の入力装置１５０に対してオペレータから入力されたデータに基づいて、活性化／不活性化メッセージ１９５を作成する。  
オペレータからの指示がハートビート信号２３２の活性化である場合には、ハートビート制御プログラム１９１は、ハートビート用ミラーが生成されているか否かを確認する（S1000）。ハートビート用ミラーとは、レプリケーションのペアが形成されているハートビートＰＶＯＬ（２３０）とハートビートＳＶＯＬ（２３０）とのことをいう。ハートビート用ミラーが生成されていない場合には、ハートビート用ミラーを生成する（S1001）。ハートビート用ミラーの生成は、レプリケーション制御プログラム２１７により行われるようにすることもできる。
【００９０】
ハートビート用ミラーが生成されたらハートビート制御プログラム１９１は、メインサイトの情報処理装置１００のメモリ１２０に記憶されているハートビート状態テーブル１９４を更新する（S1002）。例えば、ハートビート状態テーブル１９４の「ノードハートビート状態」欄を”ＥＮＡＢＬＥ”に変更する。なお、図９その他の図面において記載されている生産系サイトはメインサイトである。また待機系サイトはリモートサイトである。
【００９１】
つづいてハートビート制御プログラム１９１は、オペレータから活性化の指示を受けたのがディスクハートビート信号２３２であるのか否かを確認する（S1003）。もしディスクハートビート信号２３２の活性化の指示を受けた場合には”YES”に進み、マイクロ制御ＶＯＬ（２３０）に記憶されているハートビート状態テーブル１９４を更新する（S1004）。例えば、ハートビート状態テーブル１９４の「ディスクハートビート状態」欄を”ＥＮＡＢＬＥ”に変更する。
【００９２】
そしてハートビート制御プログラム１９１は、活性化／不活性化メッセージ１９５をリモートサイトのコンピュータシステムに送信する（S1005）。リモートサイトのコンピュータシステムの情報処理装置２００で実行されるハートビート制御プログラム１９１は、上記と同様の手順に従い、リモートサイトのコンピュータシステム内のハートビート状態テーブル１９４を更新する（S1006）。
【００９３】
次にハートビート信号２３２を不活性化する場合の処理の流れについて、図１０に示すフローチャートを参照しながら説明する。
【００９４】
まずハートビート制御プログラム１９１は、メインサイトの情報処理装置１００の入力装置１５０に対してオペレータから入力されたデータに基づいて、活性化／不活性化メッセージ１９５を作成する。
【００９５】
オペレータからの指示がハートビート信号２３２の不活性化である場合には、ハートビート制御プログラム１９１は、メインサイトの情報処理装置１００のメモリ１２０に記憶されているハートビート状態テーブル１９４を更新する（S2000）。例えば、ハートビート状態テーブル１９４の「ノードハートビート状態」欄を”ＦＡＩＬＥＤ”に変更する。
【００９６】
つづいてハートビート制御プログラム１９１は、オペレータから不活性化の指示を受けたのがディスクハートビート信号２３２であるのか否かを確認する（S2001）。もしディスクハートビート信号２３２の不活性化の指示を受けた場合には”YES”に進み、マイクロ制御ＶＯＬ（２３０）に記憶されているハートビート状態テーブル１９４を更新する（S2002）。例えば、ハートビート状態テーブル１９４の「ディスクハートビート状態」欄を”ＦＡＩＬＥＤ”に変更する。
【００９７】
そしてハートビート制御プログラム１９１は、活性化／不活性化メッセージ１９５をリモートサイトのコンピュータシステムに送信する（S2003）。リモートサイトのコンピュータシステムの情報処理装置２００で実行されるハートビート制御プログラム１９１は、上記と同様の手順に従い、リモートサイトのコンピュータシステム内のハートビート状態テーブル１９４を更新する（S2004）。
【００９８】
そしてハートビート制御プログラム１９１は、不要なハートビート用ミラーが存在するか否かを確認する（S2005）。不要なハートビート用ミラーが存在する場合には削除する（S2006）。不要なハートビート用ミラーの削除は、レプリケーション制御プログラム２１７により行われるようにすることもできる。
【００９９】
＝＝＝ノードハートビート信号の送信＝＝＝
以上の処理により、ノードハートビート信号２３２の活性化が行われると、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するノードハートビート信号２３２の送信が開始される。ノードハートビート信号２３２を送信する際の処理の流れについて、図１１に示すフローチャートを参照しながら説明する。
【０１００】
まずノードハートビート制御プログラム１９２は、メモリ１２０に記憶されたハートビート状態テーブル１９４のうち、ノードハートビート信号２３２の状態を示す部分を参照し、「Ｐ／Ｓ種別」欄が”ＰＶＯＬ”であり、かつ、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるものについて、「ローカルデバイスアドレス」欄に記載されたハートビートＰＶＯＬ（２３０）のアドレスを特定する（S3000）。そしてそのハートビートＰＶＯＬ（２３０）のアドレスを指定して、ストレージ装置２００に対して、ノードハートビート信号２３２の書き込み要求を送信する。このノードハートビート信号２３２は、ストレージ装置２００で実行されるストレージ制御プログラム２１８によってハートビートＰＶＯＬ（２３０）に書き込まれる（S3001）。そしてレプリケーション制御プログラム２１７は、ペア管理テーブル２１６に基づいて、ハートビートＰＶＯＬ（２３０）に書き込まれたノードハートビート信号２３２を、第２のネットワーク３１０を介してリモートサイトのストレージ装置２００に送信する。レプリケーション制御プログラム２１７は、第２のネットワーク３１０を介してメインサイトのストレージ装置２００から送信されたノードハートビート信号２３２を、ハートビートＳＶＯＬ（２３０）に書き込む（S3002）。これにより、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するノードハートビート信号２３２の送信を行うことができる。なお図１１その他の図面において記載されている遠隔ミラーはレプリケーション制御プログラム２１７である。
【０１０１】
なお以上の処理は、メモリ１２０に記憶されたハートビート状態テーブル１９４のノードハートビート信号２３２の状態を示す部分の「Ｐ／Ｓ種別」欄が”ＰＶＯＬ”であり、かつ、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるもののそれぞれについて行われる。
【０１０２】
＝＝＝ディスクハートビート信号の送信＝＝＝
また、ディスクハートビート信号２３２の活性化が行われると、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するディスクハートビート信号２３２の送信が開始される。ディスクハートビート信号２３２を送信する際の処理の流れについて、図１２に示すフローチャートを参照しながら説明する。
【０１０３】
まずディスクハートビート制御プログラム２１５は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４のうち、ディスクハートビート信号２３２の状態を示す部分を参照し、「Ｐ／Ｓ種別」欄が”ＰＶＯＬ”であり、かつ、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるものについて、「ローカルデバイスアドレス」欄に記載されたハートビートＰＶＯＬ（２３０）のアドレスを特定する（S4000）。そしてそのハートビートＰＶＯＬ（２３０）のアドレスに対してディスクハートビート信号２３２の書き込みを行う（S4001）。そしてレプリケーション制御プログラム２１７は、ペア管理テーブル２１６に基づいて、ハートビートＰＶＯＬ（２３０）に書き込まれたディスクハートビート信号２３２を、第２のネットワーク３１０を介してリモートサイトのストレージ装置２００に送信する。レプリケーション制御プログラム２１７は、第２のネットワーク３１０を介してメインサイトのストレージ装置２００から送信されたディスクハートビート信号２３２を、ハートビートＳＶＯＬ（２３０）に書き込む（S4002）。これにより、メインサイトのコンピュータシステムからリモートサイトのコンピュータシステムに対するディスクハートビート信号２３２の送信を行うことができる。
【０１０４】
なお以上の処理は、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４のディスクハートビート信号２３２の状態を示す部分の「Ｐ／Ｓ種別」欄が”ＰＶＯＬ”であり、かつ、「デバイス状態」欄が”ＥＮＡＢＬＥ”であるもののそれぞれについて行われる。
【０１０５】
＝＝＝ディスクハートビート信号の受信＝＝＝
続いてディスクハートビート信号２３２を受信する際の処理の流れについて、図１３に示すフローチャートを参照しながら説明する。
【０１０６】
まず、ディスクハートビート制御プログラム２１５は、上述したように、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４に記載された内容と、ハートビートＳＶＯＬ（２３０）に書き込まれたディスクハートビート信号２３２の内容とを比較することにより、ディスクハートビート信号２３２が正常であるか否かを調べる（S5000）。ディスクハートビート信号２３２が正常でない場合は、S5001にて”NO”に進み、マイクロ制御ＶＯＬ（２３０）に記憶されているハートビート状態テーブル１９４の内容を更新する（S5002）。更新は、ハートビート状態テーブル１９４の「デバイス状態」欄に”ＦＡＩＬＥＤ”を記載することにより行う。
【０１０７】
＝＝＝ノードハートビート信号の受信＝＝＝
次にノードハートビート信号２３２を受信する際の処理の流れについて、図１４に示すフローチャートを参照しながら説明する。
【０１０８】
まず、ノードハートビート制御プログラム１９２は、上述したように、メモリ１２０に記憶されたハートビート状態テーブル１９４に基づいて、ストレージ装置２００に対して、ハートビートＳＶＯＬ（２３０）に書き込まれたノードハートビート信号２３２の複製の読み出し要求を送信する。このノードハートビート信号２３２の複製は、ストレージ装置２００で実行されるストレージ制御プログラム２１８によってハートビートＳＶＯＬ（２３０）から読みだされ、情報処理装置１００に送信される。そしてノードハートビート制御プログラム１９２は、メモリ１２０に記憶されたハートビート状態テーブル１９４に記載された内容と、ノードハートビート信号２３２の内容とを比較することにより、ノードハートビート信号２３２が正常であるか否かを調べる（S6000）。ノードハートビート信号２３２が正常でない場合は、S6001にて”NO”に進み、メモリ１２０に記憶されているハートビート状態テーブル１９４の内容を更新する（S6002）。更新は、ハートビート状態テーブル１９４の「デバイス状態」欄に”ＦＡＩＬＥＤ”を記載することにより行う。
【０１０９】
一方、ハートビート制御プログラム１９１は、ストレージ装置２００に対して、マイクロ制御ＶＯＬ（２３０）に記憶されたハートビート状態テーブル１９４の読み出し要求を送信する。ハートビート制御プログラム１９１は、ストレージ装置２００で実行されるストレージ制御プログラム２１８により送信されたハートビート状態テーブル１９４のうち、ディスクハートビート信号２３２の状態を示す部分を、メモリ１２０に記憶されるハートビート状態テーブル１９４に反映する（S6003）。そしてハートビート制御プログラム１９１は、メインサイトのコンピュータシステムの動作状態を判定し、故障部位を特定する（S6004）。
【０１１０】
故障部位の特定は、例えば図１５に示すハートビート判定テーブル１９８を参照することにより行うことができる。図１５において、ノードハートビート信号２３２が「ＯＫ」とは、ハートビート状態テーブル１９４の「ノードハートビート状態」欄が”ＥＮＡＢＬＥ”である状態をいう。またノードハートビート信号２３２が「ＮＧ」とは、ハートビート状態テーブル１９４の「ノードハートビート状態」欄が”ＦＡＩＬＥＤ”である状態をいう。ディスクハートビート信号２３２についても同様である。
【０１１１】
そして、ノードハートビート信号２３２及びディスクハートビート信号２３２の送受信がそれぞれ正常に行われたか否かに応じて、ハートビート判定テーブル１９８の「１」、「２」、「３」、「４」のいずれかに分類され、故障部位が特定される。
【０１１２】
例えば、図１６に示す構成のストレージシステム４００において、ノードハートビート信号２３２及びディスクハートビート信号２３２の送受信がおこなわれる場合には、図１７に示すように故障部位が特定できる。
【０１１３】
図１７において、丸印が記載された部位は異常ではないことを示し、黒三角印が記載された部位は異常である可能性があることを示す。例えばノードハートビート信号２３２は正常に送受信されているのだが、ディスクハートビート信号２３２が正しく送受信されていない場合には、図１５に示すハートビート判定テーブル１９８の「３」に分類されるので、メインサイトのストレージ装置２００のディスク制御装置２１０が異常であるということが即座に判定できる。また例えばディスクハートビート信号２３２は正常に送受信されているのだが、ノードハートビート信号２３２が正しく送受信されていない場合には、図１５に示すハートビート判定テーブル１９８の「２」に分類されるので、メインサイトの情報処理装置１００が異常であるか、メインサイトの情報処理装置１００とストレージ装置２００とを接続する入出力パス３３０が異常であるかのどちらかであるということが即座に判定できる。
【０１１４】
また例えば、図１８に示す構成のストレージシステム４００においては、図１９に示すように故障部位を詳細に特定することができる。
【０１１５】
さらに、例えば図２０に示すように複数のノードハートビート信号２３２を送受信するようにする場合には、さらに詳細な故障部位の特定が可能となる。この場合のハートビート判定テーブル１９８は図２１に示すようになる。そして、ノードハートビート信号２３２及びディスクハートビート信号２３２の送受信がそれぞれ正常に行われたか否かに応じて、ハートビート判定テーブル１９８の「１」乃至「８」のいずれかに詳細に分類され、故障部位を詳細に特定することができる。
【０１１６】
以上のようにして故障部位が特定されると、ハートビート制御プログラム１９１は、メインサイトのコンピュータシステムの動作状態をユーザインタフェースに出力する。また故障部位に応じた処理を実行する（S6005）。動作状態の出力は、例えば図２３に示すように、情報処理装置１００の出力装置１６０であるディスプレイの画面上に表示されるウインドウを通じて行うようにすることができる。また管理端末２６０の出力装置２６６であるディスプレイの画面上に表示されるウインドウを通じて行うようにすることもできる。このように本実施の形態におけるストレージシステム４００においては、故障部位が即座に特定され、ユーザインタフェースに出力されるので、故障部位の迅速な特定、保守管理負担の軽減、コンピュータシステムの信頼性の向上を図ることが可能となる。
【０１１７】
またハートビート制御プログラム１９１は、故障部位に応じて例えばフェイルオーバを行うか行わないかを決定し、必要な場合にはクラスタリング制御プログラム１９６にフェイルオーバを行わせるようにすることができる。例えば、図２０に示すストレージシステム４００の構成において、ディスクハートビート信号２３２は正常に送受信されているが、２つのノードハートビート信号２３２の送受信がいずれも正常に行われていない場合には、黒三角印の部位に異常が発生しているか否かを、例えば診断プログラムを実行することにより一つずつ確認してゆき、最終的にメインサイトの情報処理装置２００に異常が発生していると判断した場合には、フェイルオーバを行うようにすることもできる。
【０１１８】
以上のように、本実施の形態に係るストレージシステム４００においては、リモートサイトのコンピュータシステムは、メインサイトのコンピュータシステムからディスクハートビート信号２３２が送信されないことを検知することにより、メインサイトのストレージ装置２００に異常が発生したことを検知することができる。これにより、メインサイトのストレージ装置２００の異常をいち早く検知、特定することが可能となる。このため迅速な障害対応が可能となり、保守管理負担の軽減や、保守サービスの向上、さらにはコンピュータシステムの信頼性の向上を図ることが可能となる。
【０１１９】
さらに本実施の形態に係るストレージシステム４００においては、ディスクハートビート信号２３２の送受信に加え、ノードハートビート信号２３２の送受信を組み合わせることにより、コンピュータシステムにおける異常箇所の特定をより容易に、より詳細に、より正確に特定することが可能となる。またクラスタ制御を行う場合に、障害検出時の動作を特定することが可能となる。例えばハートビート状態テーブル１９４の「ノードハートビート状態」が”ＦＡＩＬＥＤ”であり、「ディスクハートビート状態」が”ＥＮＡＢＬＥ”の場合は、メインサイトの情報処理装置Ａ（１００）での情報処理が続行できないと判断し、リモートサイトの情報処理装置Ｂ（１００）での処理に切り替えることができる。このように、従来は情報処理サービスの提供の継続が不可能となっていた場合にも、情報処理サービスの提供を継続して行うことを可能とすることができる。
【０１２０】
また本実施の形態に係るストレージシステム４００は、これらのハートビート信号２３２の送受信を高信頼な第２のネットワーク３１０を介して行うので、信頼性の向上を図ることも可能となるのである。
【０１２１】
以上発明を実施するための最良の形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【０１２２】
【図１】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図２】本実施の形態に係る情報処理装置の構成を示すブロック図である。
【図３】本実施の形態に係る管理端末の構成を示すブロック図である。
【図４】本実施の形態に係るペア管理テーブルを示す図である。
【図５】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図６】本実施の形態に係る活性化／不活性化メッセージを示す図である。
【図７】本実施の形態に係るハートビート状態テーブルを示す図である。
【図８】本実施の形態に係るハートビート信号を示す図である。
【図９】本実施の形態に係るハートビート信号の活性化の処理の流れを示すフローチャートである。
【図１０】本実施の形態に係るハートビート信号の不活性化の処理の流れを示すフローチャートである。
【図１１】本実施の形態に係るノードハートビート信号の送信の処理の流れを示すフローチャートである。
【図１２】本実施の形態に係るディスクハートビート信号の送信の処理の流れを示すフローチャートである。
【図１３】本実施の形態に係るディスクハートビート信号の受信の処理の流れを示すフローチャートである。
【図１４】本実施の形態に係るノードハートビート信号の受信の処理の流れを示すフローチャートである。
【図１５】本実施の形態に係るハートビート判定テーブルを示す図である。
【図１６】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図１７】本実施の形態に係るハートビート判定テーブルを示す図である。
【図１８】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図１９】本実施の形態に係るハートビート判定テーブルを示す図である。
【図２０】本実施の形態に係るストレージシステムの全体構成を示すブロック図である。
【図２１】本実施の形態に係るハートビート判定テーブルを示す図である。
【図２２】本実施の形態に係るハートビート判定テーブルを示す図である。
【図２３】本実施の形態に係るコンピュータシステムの動作状態がユーザインタフェースに出力された様子を示す図である。
【符号の説明】
【０１２３】
１００    情報処理装置
１９１    ハートビート制御プログラム
１９２    ノードハートビート制御プログラム
１９３    ストレージ管理プログラム
１９４    ハートビート状態テーブル
１９５    活性化不活性化メッセージ
１９６    クラスタリング制御プログラム
１９７    オペレーティングシステム
１９８    ハートビート判定テーブル
２００    ストレージ装置
２１５    ディスクハートビート制御プログラム
２１６    ペア管理テーブル
２１７    レプリケーション制御プログラム
２１８    ストレージ制御プログラム
２３２    ハートビート信号
２６０    管理端末
２６９    制御プログラム
３００    第１のネットワーク
３１０    第２のネットワーク
３３０    入出力パス
４００    ストレージシステム
【図１】
2005196467.tif 000003
【図２】
2005196467.tif 000004
【図３】
2005196467.tif 000005
【図４】
2005196467.tif 000006
【図５】
2005196467.tif 000007
【図６】
2005196467.tif 000008
【図７】
2005196467.tif 000009
【図８】
2005196467.tif 000010
【図９】
2005196467.tif 000011
【図１０】
2005196467.tif 000012
【図１１】
2005196467.tif 000013
【図１２】
2005196467.tif 000014
【図１３】
2005196467.tif 000015
【図１４】
2005196467.tif 000016
【図１５】
2005196467.tif 000017
【図１６】
2005196467.tif 000018
【図１７】
2005196467.tif 000019
【図１８】
2005196467.tif 000020
【図１９】
2005196467.tif 000021
【図２０】
2005196467.tif 000022
【図２１】
2005196467.tif 000023
【図２２】
2005196467.tif 000024
【図２３】
2005196467.tif 000025