(57)【要約】　　　（修正有）【課題】リモートコピーのためのデータ書き込みとコンピューターからのデータ書き込みの排他制御の問題を解決するストレージシステムの制御方法、ストレージシステム、及び記憶装置の提供。【解決手段】第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、第一のコンピュータに接続する第一の記憶装置と、第二のコンピュータに接続する第二の記憶装置と、第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにも記憶し、第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブ中でない場合に第一の記憶デバイスをリザーブする。【選択図】　　　図１
2004078746.tif 000002
【特許請求の範囲】
【請求項１】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにも記憶するように制御しているストレージシステムの制御方法において、
第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブ中でない場合に第一の記憶デバイスをリザーブすること、
を特徴とするストレージシステムの制御方法。
【請求項２】
請求項１に記載のストレージシステムの制御方法において、前記第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に前記第二の記憶デバイスがリザーブ中であるかどうかを調べ、リザーブされている場合に第一の記憶デバイスをリザーブできない旨を第一のコンピュータに通知すること、を特徴とするストレージシステムの制御方法。
【請求項３】
請求項１に記載のストレージシステムの制御方法において、前記第一のコンピュータが、前記リザーブが行われた後、前記第一の記憶装置に前記第一の記憶デバイスに対するデータ書き込み要求を送信し、
前記第一の記憶装置が、前記データ書き込み要求を受信してこれに対応するデータ書き込み処理を前記第一の記憶デバイスに対して行い、
前記第一の記憶装置が、前記データ書き込み処理に対応する複製のためのデータ書き込み要求を前記第二の記憶装置に送信すること、
を特徴とするストレージシステムの制御方法。
【請求項４】
請求項１に記載のストレージシステムの制御方法において、前記第二の記憶装置は、前記第二のコンピュータから前記第二の記憶デバイスに対するリザーブ要求を受信した場合に、前記第二の記憶デバイスがリザーブ中であるかどうかを前記第一の記憶装置に問い合わせ、
前記第一の記憶装置は、前記問い合わせを受信した場合に、前記第二の記憶デバイスがリザーブ中であるかどうかを調べ、リザーブ中でない場合に前記第二の記憶デバイスをリザーブすること、
を特徴とするストレージシステムの制御方法。
【請求項５】
請求項１〜４のいずれかに記載のストレージシステムの制御方法において、前記リザーブ要求はＳＣＳＩ規格におけるリザーブコマンドにより行われることを特徴とするストレージシステムの制御方法。
【請求項６】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムの制御方法において、
第一のコンピュータから第二のコンピュータへのフェールオーバ処理の実行に際し、
第二のコンピュータが、第二の記憶装置に対し、第二の記憶デバイスについての処理中のデータ入出力要求のリセットを指示する第一のメッセージを送信し、第二の記憶装置が、前記第一のメッセージを受信した場合に、第一の記憶装置に第一の記憶デバイスについての処理中のデータ入出力要求に関する情報のリセットを指示する第二のメッセージを送信し、
第一の記憶装置が、前記第二のメッセージを受信した場合に第一の記憶デバイスに対するデータ入出力要求をリセットすること、
を特徴とするストレージシステムの制御方法。
【請求項７】
請求項６に記載のストレージシステムの制御方法において、前記第一の記憶装置は第一の記憶デバイスがリザーブ中であるかどうかを把握し、
前記情報のリセットは、前記第一の記憶デバイスがリザーブ中である旨をリザーブ中でない旨とすることであることを特徴とするストレージシステムの制御方法。
【請求項８】
請求項６に記載のストレージシステムの制御方法において、前記第一の記憶装置は、前記第一のコンピュータからのデータ入出力要求を処理待ちキューに記憶しており、前記情報のリセットは、前記処理待ちキューの内容を前記データ入出力要求が何も登録されていない状態にすることであることを特徴とするストレージシステムの制御方法。
【請求項９】
請求項６に記載のストレージシステムの制御方法において、前記第一の記憶装置が、前記情報のリセットを行った場合に、その旨を前記第二の記憶装置に通知することを特徴とするストレージシステムの制御方法。
【請求項１０】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムの制御方法において、
第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するデータ入出力要求を受信した場合に、その複製先となる第二の記憶デバイスの記憶領域が利用中であるかどうかを調べ、利用中でない場合に前記データ入出力要求に対応するデータ入出力処理を行うことを特徴とするストレージシステムの制御方法。
【請求項１１】
請求項１０に記載のストレージシステムの制御方法において、
前記第二の記憶装置が、前記第二のコンピュータから前記第二の記憶デバイスの記憶領域に対するデータ入出力要求を受信した場合に、前記記憶領域を複製先とする前記第一の記憶デバイスの記憶領域が他のデータ入出力要求により利用中であるかどうかを問い合わせるメッセージを前記第一の記憶装置に送信し、
前記第一の記憶装置は、前記メッセージを受信した場合に、前記第一の記憶デバイスの前記記憶領域が利用中であるかどうかを調べ、その結果を前記第二の記憶装置に通知し、
前記第二の記憶装置は、前記通知が前記記憶領域が利用中でない旨の通知であった場合に前記データ入出力要求に対応する処理を行うことを特徴とするストレージシステムの制御方法。
【請求項１２】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにも記憶するように制御するストレージシステムにおいて、
第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブ中でない場合に第一の記憶デバイスをリザーブする手段と、を備えることを特徴とするストレージシステム。
【請求項１３】
請求項１２に記載のストレージシステムにおいて、
前記第二の記憶装置が、前記第二のコンピュータから前記第二の記憶デバイスに対するリザーブ要求を受信した場合に、前記第二の記憶デバイスがリザーブ中であるかどうかを前記第一の記憶装置に問い合わせる手段と、
前記第一の記憶装置が、前記問い合わせを受信した場合に、前記第二の記憶デバイスがリザーブ中であるかどうかを調べ、リザーブ中でない場合に前記第二の記憶デバイスをリザーブする手段と、を備えることを特徴とするストレージシステム。
【請求項１４】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムにおいて、
第一のコンピュータから第二のコンピュータへのフェールオーバ処理の実行に際し、
第二のコンピュータが、第二の記憶装置に対し、第二の記憶デバイスについての処理中のデータ入出力要求のリセットを指示する第一のメッセージを送信する手段と、
第二の記憶装置が、前記第一のメッセージを受信した場合に、第一の記憶装置に第一の記憶デバイスについての処理中のデータ入出力要求に関する情報のリセットを指示する第二のメッセージを送信する手段と、
第一の記憶装置が、前記第二のメッセージを受信した場合に第一の記憶デバイスに対するデータ入出力要求をリセットする手段と、
を備えることを特徴とするストレージシステム。
【請求項１５】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムにおいて、
第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するデータ入出力要求を受信した場合に、その複製先となる第二の記憶デバイスの記憶領域が利用中であるかどうかを調べ、利用中でない場合に前記データ入出力要求に対応するデータ入出力処理を行う手段と、を備えることを特徴とするストレージシステム。
【請求項１６】
請求項１５に記載のストレージシステムにおいて、
前記第二の記憶装置が、前記第二のコンピュータから前記第二の記憶デバイスの記憶領域に対するデータ入出力要求を受信した場合に、前記記憶領域を複製先または複製元の前記第一の記憶デバイスの記憶領域が他のデータ入出力要求により利用中であるかどうかを問い合わせるメッセージを前記第一の記憶装置に送信する手段と、
前記第一の記憶装置が、前記メッセージを受信した場合に、前記第一の記憶デバイスの前記記憶領域が利用中であるかどうかを調べ、その結果を前記第二の記憶装置に通知する手段と、
前記第二の記憶装置が、前記通知が前記記憶領域が利用中でない旨の通知であった場合に前記データ入出力要求に対応する処理を行う手段と、を備えることを特徴とするストレージシステム。
【請求項１７】
請求項１２〜１６のいずれかに記載のストレージシステムにおいて、
前記第一の記憶装置および前記第二の記憶装置はディスクアレイ装置であり、前記第一の記憶デバイスおよび第二の記憶デバイスはディスクドライブであること、を特徴とするストレージシステム。
【請求項１８】
請求項１２に記載のストレージシステムにおける前記第一の記憶装置として機能する記憶装置であって、
前記第一のコンピュータから前記第一の記憶デバイスに対するリザーブ要求を受信した場合に前記第二の記憶デバイスがリザーブ中であるかどうかを調べる手段と、前記第二の記憶デバイスがリザーブ中でない場合に前記第一の記憶デバイスをリザーブする手段と、を備えることを特徴とする記憶装置。
【請求項１９】
請求項１３に記載のストレージシステムにおける前記第二の記憶装置として機能する記憶装置であって、
前記第二のコンピュータから前記第二の記憶デバイスに対するリザーブ要求を受信した場合に、前記第二の記憶デバイスがリザーブ中であるかどうかを前記第一の記憶装置に問い合わせる手段を備えることを特徴とする記憶装置。
【請求項２０】
請求項１４に記載のストレージシステムにおける前記第二の記憶装置として機能する記憶装置であって、
前記第一のメッセージを受信した場合に、前記第一の記憶装置に前記第一の記憶デバイスについての処理中のデータ入出力要求に関する情報のリセットを指示する第二のメッセージを送信する手段を備えること、を特徴とする記憶装置。
【請求項２１】
請求項１５に記載のストレージシステムにおける前記第一の記憶装置として機能する記憶装置であって、
前記第一のコンピュータから前記第一の記憶デバイスに対するデータ入出力要求を受信した場合に、その複製先となる前記第二の記憶デバイスの記憶領域が利用中であるかどうかを調べ、利用中でない場合に前記データ入出力要求に対応するデータ入出力処理を行う手段と、を備えることを特徴とする記憶装置。
【請求項２２】
請求項１６に記載のストレージシステムにおける前記第二の記憶装置として機能する記憶装置であって、
前記第二のコンピュータから前記第二の記憶デバイスの記憶領域に対するデータ入出力要求を受信した場合に、前記記憶領域を複製先とする前記第一の記憶デバイスの記憶領域が他のデータ入出力要求により利用中であるかどうかを問い合わせるメッセージを前記第一の記憶装置に送信する手段を備えること、を特徴とする記憶装置。
【請求項２３】
請求項１６に記載のストレージシステムにおける前記第一の記憶装置として機能する記憶装置であって、
前記メッセージを受信した場合に、前記第一の記憶デバイスの前記記憶領域が利用中であるかどうかを調べ、その結果を前記第二の記憶装置に通知する手段を備えること、を特徴とする記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ストレージシステムの制御方法、ストレージシステム、及び記憶装置に関する。
【０００２】
【従来の技術】
ＩＴ関連産業の発達に伴い、ディスクアレイ装置に代表される記憶装置に対する需要が急増している。記憶装置は、社会的なインフラとしてその重要さを増しつつあり、記憶装置にはより高度な信頼性や可用性、ディザスタリカバリ性能等が要求されるようになってきている。
【０００３】
このような要求を満たす技術の一つとして、例えば、メインサイトのディスクアレイ装置に記憶しているデータの複製を、これとは遠隔したリモートイトに設置したディスクアレイ装置にも記憶する、いわゆるリモートコピーと呼ばれる技術がある。また、複数のコンピュータが運用されるシステムにおいて、これらコンピュータをクラスタ化することで、システム全体の可用性を向上させる技術がある。なお、クラスタ化は、複数のコンピュータ間で負荷分散を図る目的で行われることもある。
【０００４】
【発明が解決しようとする課題】
ところで、前述したリモートコピーの運用が行われているストレージシステムにおいて、メインサイトとリモートサイトに設置されている各記憶装置に接続しているコンピュータ間でクラスタを構成することも可能であり、このようにリモートコピーとクラスタ化の双方の技術を融合させることで、これらの技術の相乗効果により、ストレージシステムの信頼性や可用性、ディザスタリカバリ性能等のより一層の向上が図られることが期待できる。
【０００５】
しかしながら、このような構成とした場合、メインサイトのコンピュータはメインサイトの記憶装置に、リモートサイトのコンピュータはリモートサイトの記憶装置にそれぞれアクセスし、一方、リモートコピーの運用は、メインサイトやリモートサイトのコンピュータは関与せず、もっぱらメインサイトのディスクアレイ装置とリモートサイトのディスクアレイ装置間で行われる。このため、このようなリモートコピーとクラスタ化の双方を適用する場合には、リモートコピーの複製のための複製元に対するデータ書き込みに応じて発生するリモートサイトの複製先に対するデータ書き込み処理と、複製先のディスクアレイ装置に接続するコンピュータからのデータ書き込み処理との間の排他制御をいかに行うかが問題となる。
【０００６】
本発明はこのような背景に鑑みてなされたもので、前記の問題を解決するストレージシステムの制御方法、ストレージシステム、及び記憶装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
この目的を達成するための、本発明の主たる発明は、第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、
第一のコンピュータに接続する第一の記憶装置と、
第二のコンピュータに接続する第二の記憶装置と、
第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、
第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにも記憶するように制御しているストレージシステムの制御方法において、
第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブ中でない場合に第一の記憶デバイスをリザーブすること、
を特徴とする。
なお、本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【０００８】
【発明の実施の形態】
＝＝＝開示の概要＝＝＝
本明細書および添付図面の記載により、少なくとも、以下の事項が明らかとなる。
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、第一のコンピュータに接続する第一の記憶装置と、第二のコンピュータに接続する第二の記憶装置と、第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにも記憶するように制御しているストレージシステムの制御方法において、第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブ中でない場合に第一の記憶デバイスをリザーブすること、を特徴とするストレージシステムの制御方法。
【０００９】
ここで第一のコンピュータは、例えば、後述するホスト装置１０１Ａであり、第二のコンピュータは、例えば、後述するホスト装置１０１Ｂである。第一の記憶デバイスとは、例えば、後述するディスクドライブ１０３Ａであり、第二の記憶デバイスとは、例えば、後述するディスクドライブ１０３Ｂである。
【００１０】
第一の記憶装置は、例えば、後述するディスクアレイ装置１０２Ａであり、第二の記憶装置は、例えば、後述するディスクアレイ装置１０２Ｂである。また、リザーブ要求はＳＣＳＩ規格におけるリザーブコマンドにより行われる。このように第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、第二の記憶デバイスがリザーブされていない場合に第一の記憶デバイスをリザーブする構成としたため、第一の記憶デバイスに対するリザーブ要求が行われた場合の排他制御が実現される。
【００１１】
また、第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するリザーブ要求を受信した場合に第二の記憶デバイスがリザーブ中であるかどうかを調べ、リザーブされている場合に第一の記憶デバイスをリザーブできない旨を第一のコンピュータに通知する構成としてもよい。これにより第一のコンピュータはリザーブできないことを認知することができる。
【００１２】
また、第一のコンピュータが、リザーブが行われた後、第一の記憶装置に第一の記憶デバイスに対するデータ書き込み要求を送信し、第一の記憶装置が、前記データ書き込み要求を受信してこれに対応するデータ書き込み処理を第一の記憶デバイスに対して行い、第一の記憶装置が、前記データ書き込み処理に対応する複製のためのデータ書き込み要求を第二の記憶装置に送信する構成としてもよい。これにより前記の排他制御がなされた状態で、第一の記憶デバイスに対するデータ書き込みと、その複製のための第二の記憶デバイスへのリモートコピーが可能となる。
【００１３】
また、第二の記憶装置は、第二のコンピュータから第二の記憶デバイスに対するリザーブ要求を受信した場合に、第二の記憶デバイスがリザーブ中であるかどうかを前記第一の記憶装置に問い合わせ、第一の記憶装置は、前記問い合わせを受信した場合に、第二の記憶デバイスがリザーブ中であるかどうかを調べ、リザーブ中でない場合に前記第二の記憶デバイスをリザーブするようにしてもよい。これにより第二の記憶装置が第二のコンピュータから第二の記憶デバイスに対するリザーブ要求を受信した場合においても、排他制御が行われることになる。
【００１４】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、第一のコンピュータに接続する第一の記憶装置と、第二のコンピュータに接続する第二の記憶装置と、第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムの制御方法において、第一のコンピュータから第二のコンピュータへのフェールオーバ処理の実行に際し、第二のコンピュータが、第二の記憶装置に対し、第二の記憶デバイスについての処理中のデータ入出力要求のリセットを指示する第一のメッセージを送信し、第二の記憶装置が、前記第一のメッセージを受信した場合に、第一の記憶装置に第一の記憶デバイスについての処理中のデータ入出力要求に関する情報のリセットを指示する第二のメッセージを送信し、第一の記憶装置が、前記第二のメッセージを受信した場合に第一の記憶デバイスに対するデータ入出力要求をリセットすること、を特徴とするストレージシステムの制御方法。
【００１５】
このようにフェールオーバ処理の実行に際し、第二のコンピュータから第二の記憶装置に対してリセット要求が通知された場合に第二の記憶装置が第二の通信手段を介して第一の記憶装置に通知し、この通知を受信した第一の記憶装置が、データ入出力要求に関する情報をリセットする。このため、クラスタソフトウエアが把握している情報と、第一の記憶装置に残留している処理中のデータ入出力要求に関する情報との間で不整合を生じることが無くなる。また、この仕組みはもっぱら第一の記憶装置および第二の記憶装置側の制御下で行われるため、このような仕組みを設ける場合にクラスタソフトウエアの構成を変更する必要が無く、例えば、第一の記憶装置および第二の記憶装置側の仕様変更のみでこの仕組みを適用することができる。なお、前記の「情報のリセット」とは、例えば、第一の記憶デバイスがリザーブ中である旨をリザーブ中でない旨とすることや、第一のコンピュータからのデータ入出力要求が登録される処理待ちキューの内容を何も登録されていない状態にすることである。また、第一の記憶装置が、前記情報のリセットを行った場合に、その旨を前記第二の記憶装置に通知する構成としてもよい。
【００１６】
第一の通信手段により通信可能に接続されクラスタ化されている第一のコンピュータおよび第二のコンピュータと、第一のコンピュータに接続する第一の記憶装置と、第二のコンピュータに接続する第二の記憶装置と、第一の記憶装置と第二の記憶装置とを通信可能に接続する第二の通信手段と、を備え、第一の記憶装置の第一の記憶デバイスに記憶しているデータの複製を第二の記憶装置の第二の記憶デバイスにおいても記憶するように制御しているストレージシステムの制御方法において、第一の記憶装置が、第一のコンピュータから第一の記憶デバイスに対するデータ入出力要求を受信した場合に、その複製先となる第二の記憶デバイスの記憶領域が利用中であるかどうかを調べ、利用中でない場合に前記データ入出力要求に対応するデータ入出力処理を行うことを特徴とするストレージシステムの制御方法。
【００１７】
このように、第一のコンピュータからデータ入出力要求があった場合に、第一の記憶装置が、データ入出力要求の対象となる第一の記憶デバイスの複製先の第二の記憶デバイスの記憶領域が利用中であるかどうかを確認することで、リモートコピーの複製のために行われるデータ入出力要求と、第二の記憶装置からのデータ入出力要求との間での排他制御が行われることになる。
【００１８】
また、第二の記憶装置が、第二のコンピュータから第二の記憶デバイスの記憶領域に対するデータ入出力要求を受信した場合に、前記記憶領域を複製先または複製元の第一の記憶デバイスの記憶領域が他のデータ入出力要求により利用中であるかどうかを問い合わせるメッセージを前記第一の記憶装置に送信し、第一の記憶装置は、前記メッセージを受信した場合に、第一の記憶デバイスの前記記憶領域が利用中であるかどうかを調べてその結果を第二の記憶装置に通知し、第二の記憶装置は、前記通知が前記記憶領域が利用中でない旨の通知であった場合に前記データ入出力要求に対応する処理を行うようにしてもよい。
【００１９】
このように第二のコンピュータから第二の記憶装置に対するデータ入出力要求があった場合、そのデータ入出力要求に対応するデータ書き込み処理を行う前に、第二の記憶装置が、第一の記憶装置に第二の記憶デバイスとペアを構成している第一の記憶デバイスのリモートコピーの複製先となる記憶領域が利用中であるかどうかを確認するため、リモートコピーの複製のために行われるデータ書き込み要求と、第一の記憶装置からのデータ書き込み要求との間で排他制御が行われることになる。
【００２０】
なお、第一のコンピュータや第二のコンピュータにインストールされこれらにおいて稼働する、クラスタ化の機能を提供するクラスタソフトウエアの中には、クラスタを構成する各コンピュータが同一の記憶装置にアクセスすることを前提として設計され、第一のコンピュータは第一の記憶装置にアクセスし、一方で第二のコンピュータは第二の記憶装置にアクセスするというように、クラスタを構成しているコンピュータがそれぞれ別の記憶装置にアクセスする構成のストレージシステムに対応していないものが存在する。しかしながら、以上に説明した本発明を適用することで、このようなクラスタソフトウエアを用いてクラスタ化が行われている場合でも、リモートコピーの複製のためのデータ書き込み処理と、複製先の第二の記憶装置に接続する第二のコンピュータからのデータ書き込み処理との間での排他制御を確実に行うことが可能となる。
【００２１】
＝＝＝実施例＝＝＝
＜システム構成＞
図１に本発明の一実施例として説明するストレージシステムの概略的な構成を示す。ディスクアレイ装置１０２Ａは、データセンタなどのメインサイト１Ａに設置されている。ディスクアレイ装置１０２Ｂは、メインサイト１Ａとは遠隔したリモートサイト１Ｂに設置されている。
【００２２】
ディスクアレイ装置１０２Ａにはホスト装置１０１Ａが、また、ディスクアレイ装置１０２Ｂにはホスト装置１０１Ｂが、それぞれファイバチャネル（Ｆｉｂｒｅ　Ｃｈａｎｎｅｌ）やＥｔｈｅｒｎｅｔ（登録商標）、ＥＳＣＯＮ（登録商標）（Ｅｎｔｅｒｐｒｉｓｅ　Ｓｙｓｔｅｍｓ　Ｃｏｎｎｅｃｔｉｏｎ）などのプロトコルを用いた通信手段１１０Ａ，１１０Ｂにより接続している。ホスト装置１０１Ａ，１０２Ｂは、パーソナルコンピュータ、ワークステーション、汎用機などのコンピュータである。ホスト装置１０１Ａは必ずしもメインサイト１Ａ内やリモートサイト１Ｂ内に設置されている必要はない。ホスト装置１０１Ａとホスト装置１０２Ｂとは、Ｅｔｈｅｒｎｅｔ（登録商標）などのプロトコルを用いた第一の通信手段１２０により接続している。なお、前記プロトコルは前記以外の他のプロトコルであってもよい。一方、ディスクアレイ装置１０２Ａとディスクアレイ装置１０２Ｂとは、ファイバチャネルやＥｔｈｅｒｎｅｔ（登録商標）などのプロトコルを用いた第二の通信手段１３０により接続している。なお、前記プロトコルは前記以外の他のプロトコルであってもよい。
【００２３】
ディスクアレイ装置１０２Ａ，１０２Ｂは、ＣＰＵ・制御メモリ・キャッシュメモリを備えて構成されディスクアレイ装置１０２Ａ，１０２Ｂが備える各種の機能を制御するコントローラ１５Ａ，１５Ｂと、１台以上のディスクドライブ１０３Ａ，１０３Ｂ、ディスクアレイ装置１０２Ａ，１０２Ｂ間の通信機能を提供するリモート接続インタフェース１６Ａ，１６Ｂ、ホスト装置１０１Ａ，１０１Ｂとの間での通信機能を提供するホストインタフェース１７Ａ，１７Ｂ、コントローラ１５Ａ，１５Ｂとディスクドライブ１０３Ａ，１０３Ｂとの間の通信機能を提供するディスクインタフェース１８Ａ，１８Ｂなどを備えている。
【００２４】
ディスクドライブ１０３Ａ，１０３Ｂは、例えば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙ　ｏｆ　Ｉｎｅｘｐｅｎｓｉｖｅ　Ｄｉｓｋｓ）などの制御方式により制御されていることもある。ディスクドライブ１０３Ａ，１０３Ｂは、ディスクアレイ装置１０２Ａに内蔵されていることもあるし、ＳＣＳＩ規格の通信手段などを介して接続されていることもある。
【００２５】
ディスクアレイ装置１０２Ａは、ホスト装置１０１Ａから送信されてくるデータ入出力要求を受信して、このデータ入出力要求に対応するデータ入出力処理をディスクドライブ１０３Ａに対して行う。なお、データ入出力には、データ書き込み要求とデータ読み出し要求とが含まれる。また、以下の説明において、データ入出力という場合には、データ書き込み要求とデータ読み出し要求のいずれか一方が含まれる場合と、データ書き込み要求およびデータ読み出し要求の双方が含まれる場合とが、含まれるものとする。
【００２６】
ディスクアレイ装置１０２Ａは、ディスクドライブ１０３Ａが提供する記憶領域上に論理ボリュームを編成している。ディスクアレイ装置１０２Ａは、編成されている論理ボリュームとディスクドライブ１０３Ａとの対応を記憶している。また、ディスクアレイ装置１０２Ａは、ディスクアレイ装置１０２Ｂのディスクドライブ１０３Ｂの記憶領域上に編成された論理ボリュームとディスクドライブとの関係を記憶している。
【００２７】
また、ディスクアレイ装置１０２Ｂは、ホスト装置１０１Ｂから送信されてくるデータ入出力要求を受信して、このデータ入出力要求に対応するデータ入出力処理をディスクドライブ１０３Ｂに対して行う。ディスクアレイ装置１０２Ｂは、ディスクドライブ１０３Ｂが提供する記憶領域上に論理ボリュームを編成している。ディスクアレイ装置１０２Ｂは、編成されている論理ボリュームとディスクドライブとの対応を記憶している。
【００２８】
＜リモートコピー＞
このストレージシステムでは、ディスクアレイ装置１０２Ａの論理ボリューム（以下、「正論理ボリューム１０４Ａ」と称する）に記憶するデータの複製を、ディスクアレイ装置１０２Ｂの論理ボリューム（以下、「副論理ボリューム１０４Ｂ」と称する）にも記憶するリモートコピーによる運用が行われている。ディスクアレイ装置１０２Ａは、リモートコピーにおける正論理ボリューム１０４Ａと副論理ボリューム１０４Ｂとの対応をコントローラ１５Ａの制御メモリに記憶している。正論理ボリューム１０４Ａと副論理ボリューム１０４Ｂとの対応は、システムにより自動的に設定される場合もあるし、オペレータ等により手動で設定される場合もある。なお、以下では、正論理ボリューム１０４Ａの記憶領域を提供しているディスクドライブ１０３Ａと、その記憶領域のデータの複製先となる副論理ボリューム１０４Ｂの記憶領域を提供しているディスクドライブ１０３Ｂとの組合せを、ペアを構成しているディスクドライブと表現する。また、正論理ボリューム１０４Ａとこれに対応する副論理ボリューム１０４Ｂとの組合せを、ペアを構成している論理ボリュームと表現することとする。
【００２９】
＜クラスタ＞
ホスト装置１０１Ａ，１０２Ｂでは、クラスタソフトウエアが稼働している。ホスト装置１０１Ａ，１０２Ｂは、第一の通信手段１２０を介してハートビートを通知し合うことによりお互いの稼働状況を監視しており、例えば、ホスト装置１０１Ａに障害が発生してホスト装置１０１Ａからのハートビートが途絶えると、いわゆるフェールオーバ処理が実行され、ホスト装置１０１Ｂがホスト装置１０１Ａの処理の代行処理を開始する。フェールオーバ処理の実行後は、副論理ボリューム１０４Ｂから正論理ボリューム１０４Ａ方向でのリモートコピーによる運用が開始される。なお、本実施例のストレージシステムでは、フェールオーバ処理の実行後に限らず、フェールオーバ処理の実行前であっても副論理ボリューム１０４Ｂから正論理ボリューム１０４Ａへのリモートコピーを実行させるように設定することが可能である。また、正論理ボリューム１０４Ａから副論理ボリューム１０４Ｂ方向へのリモートコピーと、副論理ボリューム１０４Ｂから正論理ボリューム１０４Ａ方向へのリモートコピーの双方を、並行して運用することもできる。
【００３０】
＝＝＝処理説明＝＝＝
つぎに、ホスト装置１０１Ａからディスクアレイ装置１０２Ａに、また、ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂにデータ入出力要求が行われた場合における、このストレージシステムにおいて行われる処理の流れについて説明する。
【００３１】
＜リザーブ＞
ディスクアレイ装置１０２Ａ，１０２Ｂに対して行われるデータ入出力要求には、リザーブ有りのデータ入出力要求と、リザーブ無しのデータ入出力要求とがある。ここでリザーブとは、データ入出力要求の処理のためにディスクドライブ１０３Ａ，１０３Ｂ、もしくは、論理ボリュームを確保することいい、ディスクドライブもしくは論理ボリュームがリザーブ中である場合、そのリザーブを行ったディスクアレイ装置以外の装置からのデータ入出力要求を受け付けない。なお、論理ボリュームを対象としてリザーブがされる場合には、論理ボリュームを構成しているディスクドライブがリザーブされることになる。また、正論理ボリュームに対するリザーブが行われた場合に、この正論理ボリュームとペアを構成している副論理ボリュームもリザーブされるように構成されていることもある。
【００３２】
リザーブは、例えば、データ入出力要求がＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）規格のコマンドを用いて記述される場合には、ホスト装置１０１Ａ，１０１Ｂがディスクアレイ装置１０２Ａ，１０２Ｂにリザーブ（Ｒｅｓｅｒｖｅ）コマンドを送信することで実行される。なお、リザーブ無しのデータ入出力要求は、例えば、クラスタソフトウエアの起動時などにホスト装置１０１Ａ，１０１Ｂからディスクアレイ装置１０２Ａ，１０２Ｂに送信される。ディスクアレイ装置１０２Ａは、自身の各ディスクドライブ１０３Ａとディスクアレイ装置１０２Ｂの各ディスクドライブ１０３Ｂについてのリザーブの状況を、図２に示すリザーブ管理テーブルに記憶している。
【００３３】
また、ディスクアレイ装置１０２Ａは、ディスクドライブ１０３Ａおよびディスクドライブ１０３Ｂの記憶領域の利用状況を、図３に示す資源管理テーブルに記憶している。なお、ディスクアレイ装置１０２Ａは、前記の利用状況を、例えばキャッシュメモリ上の記憶領域の確保状況を監視することにより把握している。
【００３４】
＜リザーブ有りのデータ入出力要求＞
本実施例のストレージシステムにおいて、ホスト装置１０１Ａからディスクアレイ装置１０２Ａに、もしくは、ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂに、リザーブ有りのデータ入出力要求が送信された場合に行われる処理を、図４に示すフローチャートとともに説明する。
【００３５】
（１）ホスト装置１０１Ａからディスクアレイ装置１０２Ａにリザーブ要求が送信された場合
ホスト装置１０１Ａからディスクアレイ装置１０２Ａにディスクドライブ１０３Ａを対象とするリザーブ要求が送信される（Ｓ４０１）。このリザーブ要求を受信すると、ディスクアレイ装置１０２Ａは、リザーブ管理テーブルを参照し、ディスクドライブ１０３Ａのうち前記リザーブ要求で指定されるディスクドライブ１０３Ａとペアを構成している、ディスクドライブ１０３Ｂについてのリザーブの有無を調べる（Ｓ４０２）。ここでディスクドライブ１０３Ｂがリザーブ中であった場合（Ｓ４０３：ＮＯ）、ディスクアレイ装置１０２Ｂは、ホスト装置１０１Ａに対し、前記リザーブ要求についてリザーブできない旨（リザーブ拒否）を通知する（Ｓ４０４）。
【００３６】
一方、ディスクドライブ１０３Ｂがリザーブ中でない場合（Ｓ４０３：ＹＥＳ）、ディスクアレイ装置１０２Ａは、リザーブ管理テーブルの内容を前記リザーブ要求で指定されるディスクドライブ１０３Ａがリザーブ中の内容に更新し（Ｓ４０５）、ホスト装置１０１Ａにリザーブを受け付けた旨（リザーブ受領）を通知する（Ｓ４０６）。
【００３７】
リザーブ受領を受信したホスト装置１０１Ａは、ディスクアレイ装置１０２Ａにデータ入出力要求を送信し（Ｓ４０７）、これを受信したディスクアレイ装置１０２Ａは、このデータ入出力要求についてのデータ入出力処理を実行する。ここでこのデータ入出力要求がデータ書き込み要求であり、ディスクドライブ１０３Ａにデータが書き込まれる場合には、リモートコピーによりディスクドライブ１０３Ｂにも同じデータが書き込まれる（Ｓ４０８，Ｓ４０９）。データ入出力処理の実行後は、ホスト装置１０１Ａからディスクアレイ装置１０２Ａにリリース要求が送信され（Ｓ４１４）、これを受信したディスクアレイ装置１０２Ａは、リザーブ管理テーブルの内容をディスクドライブ１０３Ａがリザーブ無しの内容に更新（Ｓ４１５）する。
【００３８】
（２）ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂにリザーブ要求が送信された場合
ディスクアレイ装置１０２Ｂは、ホスト装置１０１Ｂから送信されたディスクドライブ１０３Ｂについてのリザーブ要求を受信すると（Ｓ４１０）、第二の通信手段１３０を介してディスクドライブ１０３Ｂがリザーブ可能かどうかをディスクアレイ装置１０２Ａに問い合わせる（Ｓ４１１）。ディスクアレイ装置１０２Ａは、前記問い合わせを受信すると、リザーブ管理テーブルを参照し、ディスクドライブ１０３Ｂとペアを構成しているディスクドライブ１０３Ａについてのリザーブの有無を調べる（Ｓ４１２）。ここでディスクドライブ１０３Ａがリザーブ中である場合、ディスクアレイ装置１０２Ａは、ディスクアレイ装置１０２Ｂに、ディスクドライブ１０３Ｂがリザーブできない旨（リザーブ拒否）を通知する（Ｓ４１３）。なお、ディスクアレイ装置１０２Ｂは、（Ｓ４１１）の問い合わせをディスクドライブ１０３Ｂについてのリザーブが許可されるまで繰り返し実行する。
【００３９】
ディスクドライブ１０３Ｂとペアを構成するディスクドライブ１０３Ａがリザーブ中で無い場合、ディスクアレイ装置１０２Ａは、リザーブ管理テーブルの内容をディスクドライブ１０３Ｂがリザーブ有りの内容に更新し（Ｓ４１５）、ディスクアレイ装置１０２Ｂにリザーブを受け付けた旨（リザーブ許可）を通知する（Ｓ４１６）。ディスクアレイ装置１０２Ｂは、リザーブ許可を受信すると、リザーブを受け付けた旨（リザーブ受領）をホスト装置１０１Ｂに通知する（Ｓ４１７）。ホスト装置１０１Ｂは、リザーブ受領を受信すると、データ入出力要求をディスクアレイ装置１０２Ｂに送信し、このデータ入出力要求を受信したディスクアレイ装置１０２Ｂは、前記データ入出力要求についてのリザーブ中のディスクドライブ１０３Ｂを対象とするデータ入出力処理を開始する。
【００４０】
データ入出力処理の実行後、ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂにリリース要求が送信され（Ｓ４１８）、これを受信したディスクアレイ装置１０２Ｂは、ディスクドライブ１０３Ｂについてのリリース指示をディスクアレイ装置１０２Ａに送信する（Ｓ４１９）。ディスクアレイ装置１０２Ａは、このリリース指示を受信すると、リザーブ管理テーブルの内容を、ディスクドライブ１０３Ａがリザーブ無しの内容に更新（Ｓ４２０）する。
【００４１】
このようにホスト装置１０１Ｂからディスクドライブ１０３Ｂに対するリザーブ要求があった場合に、そのデータ入出力要求に対応するデータ入出力処理を行う前に、ディスクアレイ装置１０２Ｂが、ディスクアレイ装置１０２Ａにディスクドライブ１０３Ｂとペアを構成しているディスクドライブ１０３Ａのリザーブの有無を確認するため、ディスクアレイ装置１０２Ｂ側で勝手にディスクドライブ１０３Ｂがリザーブされてしまうことがなく、リモートコピーの複製のために行われるデータ入出力要求と、ディスクアレイ装置１０２Ｂからのデータ入出力要求との間での排他制御が行われることになる。
【００４２】
＜リセット処理＞
前述のフェールオーバ処理が実行される場合、クラスタソフトウエアは、処理完了通知を受領していないデータ入出力要求は未処理とし、そのデータ入出力要求は必要に応じて再処理の対象とする。一方、未処理とされたデータ入出力要求がリザーブ有りのデータ入出力要求である場合、クラスタソフトウエアがそのデータ入出力要求を未処理として取り扱っているにもかかわらず、ホスト装置１０１Ａのリザーブ管理テーブルの内容はリザーブされたままの状態になっており、この状態のままフェールオーバ後の形態での運用が開始されると、クラスタソフトウエアが把握している情報とリザーブ管理テーブルの内容とが不整合が生じ、システムの運用に支障を来すことになる。また、リザーブ管理テーブルの内容だけでなく、ホスト装置１０１Ａの制御メモリなどに記憶されているデータ入出力要求の処理待ちキューにデータ入出力要求が残留している場合にはやはり不整合が生じてシステムの運用に支障を来すことになるから、処理待ちキューの内容もリセットしておく必要もある。
【００４３】
そこで、本実施例におけるストレージシステムでは、フェールオーバ処理が実行され、クラスタソフトウエアがホスト装置１０２Ｂからディスクアレイ装置１０２Ｂにリセット要求を送信した場合に、ディスクアレイ装置１０２Ｂからディスクアレイ装置１０２Ａに第二の通信手段１３０を介してリセット要求を送信し、リザーブ管理テーブルの内容と、処理待ちキューの内容をリセットする仕組みを設けている。この仕組みを図５に示すフローチャートとともに説明する。
【００４４】
前述の図４のフローチャートの説明からも理解されるように、ホスト装置１０１Ａがディスクアレイ装置１０２Ａにリザーブ要求を送信し（Ｓ５０１）、リザーブ対象となるディスクドライブ１０３Ａがリザーブされていなければ、ディスクドライブ１０３Ａがリザーブされることになる（Ｓ５０３）。
ここでこの状態の時にホスト装置１０１Ａにおいて障害が発生すると、ホスト装置１０１Ａからホスト装置１０１Ｂへのフェールオーバ処理が実行される（Ｓ５０４）。
【００４５】
このフェールオーバ処理に際し、クラスタソフトウエアは、ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂにリセット要求を送信する（Ｓ５０５）。このリセット要求を受信したディスクアレイ装置１０２Ｂは、自身が記憶しているリザーブ管理テーブルの内容を全てのディスクドライブ１０３Ａがリザーブ無しの状態となるようにリセットする。また、データ入出力要求の処理待ちキューの内容についても、データ入出力要求が何も登録されていない状態にリセット（Ｓ５０６）する。一方、ディスクアレイ装置１０２Ｂは、前記リセット要求を受信した際、ホスト装置１０１Ｂからリセット要求があったことを第二の通信手段１３０を介してディスクアレイ装置１０２Ａに通知する（Ｓ５０７）。なお、この通知は、図４に示すように（Ｓ５０６）の処理の完了を待って行ってもよいし待たずに行ってもよい。
【００４６】
前記通知を受信したディスクアレイ装置１０２Ａは、リザーブ管理テーブルおよび処理待ちキューの内容をリセットする（Ｓ５０８）。ディスクアレイ装置１０２Ａは、これら初期化処理の完了後、初期化完了通知をディスクアレイ装置１０２Ｂに送信する（Ｓ５０９）。その後、ディスクアレイ装置１０２Ｂは、前記リセット要求に対応する処理が完了した旨をホスト装置１０１Ｂに通知する。
【００４７】
以上に説明したように、本実施例のストレージシステムにおいては、フェールオーバ処理の実行に際し、ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂに対してリセット要求が通知された場合に、その旨をディスクアレイ装置１０２Ｂが第二の通信手段１３０を介してディスクアレイ装置１０２Ａにも通知し、この通知を受信したディスクアレイ装置１０２Ａは、リザーブ管理テーブルの内容と処理待ちキューの内容を初期化する。このため、クラスタソフトウエアが把握している情報と、リザーブ管理テーブルの内容もしくは処理待ちキューの登録内容との間で不整合を生じることが無くなる。
【００４８】
また、以上の処理は、ディスクアレイ装置１０２Ａと、ディスクアレイ装置１０２Ｂとの間で行われ、従って、この仕組みを導入するにあたってクラスタソフトウエアの構成を変更する必要がなく、とくに、安定稼働している現状を維持したいといった要請などにより既存のクラスタソフトウエアを変更することが好ましくないシステムに対しても導入が可能であり、導入コストも低廉に抑えることができる。また、ディスクアレイ装置１０２Ａ，１０２Ｂ側の処理のみによりディスクアレイ装置１０２Ａのリザーブ管理テーブルや処理待ちキューをリセットすることで、クラスタソフトウエアに一切変更を加えることなく、フェールオーバ処理後の運用形態に移行させることが可能となる。
【００４９】
＜リザーブ無しのデータ入出力要求＞
つぎに、ホスト装置１０１Ａ，１０１Ｂからディスクアレイ装置１０２Ａ，１０２Ｂにリザーブ無しのデータ書き込み要求が送信された場合に行われる処理を、図６のフローチャートとともに説明する。
【００５０】
（１）ホスト装置１０１Ａからディスクアレイ装置１０２Ａにデータ書き込み要求が送信された場合
まず、ホスト装置１０１Ａからディスクアレイ装置１０２Ａにディスクドライブ１０３Ａを対象とするデータ書き込み要求が送信される（Ｓ６０１）。ディスクアレイ装置１０２Ａは、前記データ書き込み要求を受信すると、資源管理テーブルを参照し、ディスクドライブ１０３Ａとペアを構成している、ディスクアレイ装置１０２Ｂのディスクドライブ１０３Ｂのリモートコピーによる複製先の記憶領域が利用中であるかどうかを調べる（Ｓ６０２）。ここでその記憶領域が利用中であった場合（Ｓ６０３：ＮＯ）、ディスクアレイ装置１０２Ｂは、ホスト装置１０１Ａに対し、前記データ入出力要求を実行できない旨（リザーブ拒否）を通知する（Ｓ６０４）。
【００５１】
一方、前記記憶領域が利用中でない場合には（Ｓ６０３：ＹＥＳ）、ディスクアレイ装置１０２Ａは、資源管理テーブルの内容を、ディスクドライブ１０３Ａの前記データ書き込み要求の対象となる記憶領域が利用中である旨に更新し、また、前記データ入出力要求に対応するデータ書き込み処理を実行する（Ｓ６０５）。ここでこの処理によりディスクドライブ１０３Ａにデータが書き込まれる場合には、リモートコピーによりディスクドライブ１０３Ｂにも同じデータが書き込まれる。
【００５２】
なお、データ書き込み処理の実行後、ディスクアレイ装置１０２Ａは、資源管理テーブルの内容を、このデータ入出力要求のために確保していたディスクドライブ１０３Ａの記憶領域が利用中でない旨に更新する。
【００５３】
このように、ホスト装置１０１Ａからデータ入出力要求があった場合に、ディスクアレイ装置１０２Ａが、データ入出力要求の対象となるディスクドライブ１０３Ａとペアを構成するディスクドライブ１０３Ｂのリモートコピーによる複製先の記憶領域が他のデータ入出力要求のために利用中であるかどうかを確認するため、リモートコピーの複製のために行われるデータ入出力要求と、ディスクアレイ装置１０２Ｂからのデータ入出力要求との間での排他制御が行われることになる。
【００５４】
（２）ホスト装置１０１Ｂからディスクアレイ装置１０２Ｂにデータ書き込み要求が送信された場合
ディスクアレイ装置１０２Ｂは、ホスト装置１０１Ｂからディスクドライブ１０３Ｂに対するデータ書き込み要求を受信すると（Ｓ６０６）、第二の通信手段１３０を介してディスクドライブ１０３Ｂへのデータ書き込みが可能であるかどうかをディスクアレイ装置１０２Ａに問い合わせる（Ｓ６０７）。ディスクアレイ装置１０２Ａは、前記問い合わせを受信すると、資源管理テーブルを参照し、前記データ入出力要求の対象となるディスクドライブ１０３Ｂの記憶領域のデータのリモートコピーの複製元（もしくは複製先）となるディスクドライブ１０３Ａの記憶領域が利用中であるかどうかを調べる（Ｓ６０８）。ここで前記記憶領域が利用中である場合（Ｓ６０８：ＮＯ）、ディスクアレイ装置１０２Ａは、データ書き込みができない旨（データ書き込み不可）を、ディスクアレイ装置１０２Ｂに通知する（Ｓ６０９）。なお、ディスクアレイ装置１０２Ｂは、データ書き込みが可能となるまで、（Ｓ６０７）の問い合わせを繰り返し実行する。
【００５５】
一方、複製元（もしくは複製先）となるディスクドライブ１０３Ａの記憶領域が利用中でない場合（Ｓ６０８：ＹＥＳ）、ディスクアレイ装置１０２Ａは、資源管理テーブルの内容を、ディスクドライブ１０３Ａの前記データ書き込み要求の対象となる記憶領域が利用中である旨に更新し、また、ディスクアレイ装置１０２Ｂにデータ書き込みが可能となった旨（データ書き込み許可）を通知する（Ｓ６１０）。
【００５６】
データ書き込み許可を受信すると、ディスクアレイ装置１０２Ｂは、前記データ書き込み要求に対応するデータ書き込み処理を実行する（Ｓ６１１）。ここでこのデータ入出力要求によりディスクドライブ１０３Ｂにデータが書き込まれる場合には、リモートコピーによりディスクドライブ１０３Ａにも同じデータが書き込まれる（Ｓ６１２）。すなわち、この場合は副論理ボリュームから正論理ボリュームへのリモートコピーが行われることになる。
【００５７】
このようにホスト装置１０１Ｂからディスクドライブ１０３Ｂに対するデータ書き込み要求があった場合、そのデータ書き込み要求に対応するデータ書き込み処理を行う前に、ディスクアレイ装置１０２Ｂが、ディスクアレイ装置１０２Ａに対し、ディスクドライブ１０３Ｂとペアを構成しているディスクドライブ１０３Ａのリモートコピーの複製元（もしくは複製先）となる記憶領域が利用中であるかどうかを確認するため、リモートコピーの複製のために行われるデータ書き込み要求と、ディスクアレイ装置１０２Ａからのデータ書き込み要求との間の排他制御が行われることになる。
【００５８】
以上、一実施形態に基づき本発明に係るストレージシステムの制御方法等を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは勿論である。
【００５９】
＝＝＝他の実施形態＝＝＝
第一の記憶装置および第二の記憶装置は必ずしも遠隔したサイトに設置されている必要はなく、これは同一ビル内や同一フロア内などに設置されていてもよい。
【００６０】
前述のリセット処理では、リセットする情報としてリザーブ管理テーブルや処理待ちキューについて説明したが、リセットの対象となる情報はこれらに限られるわけではない。
【００６１】
リモートコピーの方式には、データ入出力要求を受信したディスクアレイ装置１０２Ａが、正論理ボリュームと副論理ボリュームの双方についての書き込み完了を確認した場合にホスト装置１０１Ａに完了報告を通知する、いわゆる「同期方式」と、正論理ボリュームへの書き込みが完了すると副論理ボリュームへの書き込みが完了したかどうかに関わらずホスト装置１０１Ａに完了報告を通知する、いわゆる「非同期方式」とがあるが、本発明はいずれの方式で運用されている場合にも適用可能である。
【００６２】
前述の実施例では、ディスクアレイ装置を記憶装置の一例として説明したが、半導体ディスク装置などのディスクアレイ装置以外の記憶装置にも適用することができる。
【００６３】
【発明の効果】
本発明によれば、前述の問題を解決するストレージシステムの制御方法、ストレージシステム、及び記憶装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例によるストレージシステムの概略的な構成を示す図である。
【図２】本発明の一実施例によるリザーブ管理テーブルを示す図である。
【図３】本発明の一実施例による資源管理テーブルを示す図である。
【図４】本発明の一実施例による、リザーブ有りのデータ入出力要求が送信された場合に行われる処理を説明するフローチャートを示す図である。
【図５】本発明の一実施例による、リザーブ管理テーブルの内容と、処理待ちキューの内容をリセットする仕組みを説明するフローチャートである。
【図６】本発明の一実施例による、リザーブ無しのデータ書き込み要求が送信された場合に行われる処理を説明するフローチャートを示す図である。
【符号の説明】
１５Ａ　コントローラ（メインサイト側）
１５Ｂ　コントローラ（リモートサイト側）
１６Ａ　リモート接続インタフェース
１６Ｂ　リモート接続インタフェース
１７Ａ　ホストインタフェース（メインサイト側）
１７Ｂ　ホストインタフェース（リモートサイト側）
１８Ａ　ディスクインタフェース（メインサイト側）
１８Ｂ　ディスクインタフェース（リモートサイト側）
１０１Ａ　ホスト装置（メインサイト側）
１０１Ｂ　ホスト装置（リモートサイト側）
１０２Ａ　ディスクアレイ装置（メインサイト側）
１０２Ｂ　ディスクアレイ装置（リモートサイト側）
１０３Ａ　ディスクドライブ（メインサイト側）
１０３Ｂ　ディスクドライブ（リモートサイト側）
１０４Ａ　正論理ボリューム
１０４Ｂ　副論理ボリューム
１１０　通信手段
１２０　第一の通信手段
１３０　第二の通信手段
【図１】
2004078746.tif 000003
【図２】
2004078746.tif 000004
【図３】
2004078746.tif 000005
【図４】
2004078746.tif 000006
【図５】
2004078746.tif 000007
【図６】
2004078746.tif 000008