(57)【要約】【課題】専用インターフェースで接続されたリモートコピーシステムでは、障害を起こしたディスクシステムが復旧するまでの間、信頼性が低下する。【解決手段】そこで、プライマリディスクシステム障害時に、ストレージエリアネットワークに接続された予備ディスクシステムと交換する。その結果、高い信頼性を持つリモートコピーシステムが得られる。【選択図】  図１
2007128551.tif 000002
【特許請求の範囲】
【請求項１】
ストレージエリアネットワークと、該ストレージエリアネットワークに接続されたホストコンピュータと、上記ストレージエリアネットワークに接続されたプライマリ記憶装置及びセカンダリ記憶装置とを有し、上記プライマリ記憶装置は該ホストコンピュータからの書きこみ要求に応じて該書きこみ要求を実行するとともに上記セカンダリ記憶装置に書きこみコマンドを転送してリモートコピーを実行し、該プライマリ記憶装置または上記セカンダリ記憶装置のいずれかに障害が発生した場合、障害が発生した記憶装置を予備記憶装置に交換することを特徴とするストレージエリアネットワークシステム。
【請求項２】
該プライマリ記憶装置障害時に、該セカンダリ記憶装置をプライマリ記憶装置とし、該予備記憶装置をセカンダリ記憶装置とすることを特徴とする請求項１記載のストレージエリアネットワークシステム。
【請求項３】
該予備記憶装置への切替は、該ホストコンピュータが行うことを特徴とする請求項１記載のストレージエリアネットワークシステム。
【請求項４】
ストレージエリアネットワークと、該ストレージエリアネットワークに接続されたプライマリ記憶装置と、該ストレージエリアネットワークに接続されたセカンダリ記憶装置及び複数の予備記憶装置とを有し、該セカンダリ記憶装置に障害が発生した場合に該複数の予備記憶装置のそれぞれについてホストコンピュータとの距離とプライマリディスクシステムとの距離の積を求め、この数値が最も大きい予備記憶装置を新たにセカンダリ記憶装置とすることを特徴とするストレージエリアネットワークシステム。
【請求項５】
ストレージエリアネットワークと、該ストレージエリアネットワークに接続されたホストコンピュータと、該ストレージエリアネットワークに接続されたプライマリ記憶装置及びセカンダリ記憶装置とを有し、該プライマリ記憶装置は該ホストコンピュータの書きこみ要求に応じて該書きこみ要求を実行するとともにセカンダリ記憶装置に書きこみコマンドを転送し、該セカンダリ記憶装置は複数のホストコンピュータインタフェースを持つとともに、該プライマリ記憶装置障害時に、該プライマリ記憶装置の装置識別子を該複数のホストコンピュータインタフェースの内ひとつに割当てることを特徴とするストレージエリアネットワークシステム。
【請求項６】
該プライマリ記憶装置障害時に、該プライマリ記憶装置のホストコンピュータインタフェースを無効にすることを特徴とする請求項５記載のストレージエリアネットワークシステム。
【請求項７】
ホストコンピュータとセカンダリ記憶装置が接続されたストレージエリアネットワークに接続され、該ホストコンピュータの書きこみ要求に応じて該書きこみ要求を実行するとともに上記セカンダリ記憶装置に書きこみ要求のコマンドを転送するリモートコピーをする際に、該ホストコンピュータからのコマンドをそのままストレージエリアネットワークを介して上記セカンダリ記憶装置に転送し直すことを特徴とするプライマリ記憶装置。
【請求項８】
ホストコンピュータとプライマリ記憶装置が接続されたストレージエリアネットワークに接続され、該ホストコンピュータから上記プライマリ記憶装置に書きこみ要求のコマンドが送信されると、該コマンドを受け付けることを特徴とするセカンダリ記憶装置。
【請求項９】
第１と第２の記憶装置に接続されたストレージエリアネットワークに接続され、上記第１の記憶装置をプライマリ記憶装置と定義し、上記第２の記憶装置を上記プライマリ記憶装置のリモートコピー先となるセカンダリ記憶装置と定義し、上記第１の記憶装置の障害を検知した場合に上記第２の記憶装置をプライマリ記憶装置と定義を変えることを特徴とするホストコンピュータ。
【請求項１０】
請求項９において、上記第１の記憶装置の障害が復旧した場合に該第１の記憶装置をセカンダリ記憶装置と定義することを特徴とするホストコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置であるディスクシステムがストレージエリアネットワークに接続された場合のリモートコピーを行うストレージエリアネットワークに関する。
【背景技術】
【０００２】
計算機のデータを記憶する装置として、コストパフォーマンスが高い磁気ディスク装置が一般的に使用される。磁気ディスクは２．５インチや３．５インチ程度の複数の磁気円盤と、各磁気円盤の両面に設けられた磁気ヘッドによりデータが読み書きされる機構である。
【０００３】
磁気ディスクは、機械的動作を伴うため処理の時間は１０ｍ秒程度とプロセッサの処理速度などと比較すると遅い。プロセッサが高速化されても、ディスクが高速化されないとシステム全体の性能が向上しないケースも多い。この問題を解決する手段としてディスクアレイがある。ディスクアレイは、「Ｕｎｄｅｒｓｔａｎｄｉｎｇ Ｉ／Ｏ Ｓｕｂｓｙｓｔｅｍｓ Ｆｉｒｓｔ Ｅｄｉｔｉｏｎ」，Ｗ．Ｄａｖｉｄ Ｓｃｈｗａｄｅｒｅｒ，Ａｎｄｒｅｗ Ｗ． Ｗｉｌｓｏｎ，Ｊｒ．著，ｐａｇｅ２７１〜２９１に述べられているように、複数のドライブにデータを分散して配置するとともに冗長データもドライブに格納することで、性能と信頼性を向上させる方式である。大規模なシステムでは、要求される全ドライブ容量も大きくなり、性能と信頼性が同時に要求されるためディスクアレイが使用される。
【０００４】
ディスクアレイが装置単体の信頼性を高めているのに対し、複数のディスクアレイを使用し広域に渡って高い信頼性を得る方法が、ＵＳＰ５８７０５３７にて述べられている。ＵＳＰ５８７０５３７では、２台のディスク制御装置は、メインフレーム専用光インターフェース（ＥＳＣＯＮ）で接続され、一つはプライマリディスク装置、もう一つはセカンダリディスク装置として定義される。ホストコンピュータは２台あり、一つはプライマリディスク装置とセカンダリディスク装置に接続され、もう一つはセカンダリディスク装置のみに接続されている。リモートコピーでは、プライマリディスク装置に接続されたホストコンピュータから、プライマリディスク装置に対して書きこみ要求が発行されると、プライマリディスク装置はセカンダリディスク装置に、前述のＥＳＣＯＮを介して書きこみ要求を転送し、セカンダリディスク装置に同じデータが格納される。こうすることで、片方のストレージに障害が発生しても、もう片方のストレージで処理が継続される。さらに、ＵＳＰ５８７０５３７では、リモートコピーシステムに障害が発生した場合の動作が記述されており、プライマリディスク装置に障害が発生した場合、セカンダリディスク装置にホストコンピュータからのパスを切りかえることで処理が継続されること、およびプライマリディスク装置が障害から復旧した場合、セカンダリディスク装置とプライマリディスク装置が入れ替えられることが述べられている。
【０００５】
【特許文献１】米国特許第５８７０５３７号
【非特許文献１】「Ｕｎｄｅｒｓｔａｎｄｉｎｇ Ｉ／Ｏ Ｓｕｂｓｙｓｔｅｍｓ Ｆｉｒｓｔ Ｅｄｉｔｉｏｎ」，Ｗ．Ｄａｖｉｄ Ｓｃｈｗａｄｅｒｅｒ，Ａｎｄｒｅｗ Ｗ． Ｗｉｌｓｏｎ，Ｊｒ．著，ｐａｇｅ２７１〜２９１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ディスクアレイが高速化に対応し、ディスクアレイとホストコンピュータを接続するインターフェースとしてファイバチャネルが有望視されている。ファイバチャネルは、従来一般的に使用されていたＳＣＳＩ（Ｓｍａｌｌ Ｃｏｍｐｕｔｅｒ Ｓｙｓｔｅｍ Ｉｎｔｅｒｆａｃｅ）の欠点である性能と接続性に優れている。特に、接続性はＳＣＳＩが数１０ｍまでしか接続距離が伸ばせないのに対し、ファイバチャネルは数Ｋｍまで伸ばすことができ、また、接続可能な装置数も数倍と多い。ファイバチャネルは広範囲のデバイスやホストコンピュータを接続できることで、ホストコンピュータ間のデータ通信に用いられているローカルエリアネットワークに対応し、ストレージエリアネットワークと呼ばれることもある。ファイバチャネルは、規格化されており、規格に合ったデバイスやホストコンピュータであれば、ストレージエリアネットワークに接続することができる。例えば、ファイバチャネルインタフェースを持つ複数のディスクアレイと複数のホストコンピュータを接続すること等が可能となる。
【０００７】
しかし、前述のＵＳＰ５８７０５３７の場合、ディスク装置間は専用インタフェースで接続される形態であるため、ストレージエリアネットワークを介したリモートコピーには対応していない。また、プライマリディスク装置またはセカンダリディスク装置に障害が発生した場合、ＵＳＰ５８７０５３７では障害が発生した装置を修復するまでリモートコピーのペアが復旧しない。これは、ディスク装置間を専用インターフェースで接続しているためである。リモートコピーのペアとなる装置を専用インターフェースで接続した場合、専用インターフェースで接続されたディスク装置間でしかデータ転送ができないためである。また、ＵＳＰ５８７０５３７では、プライマリディスク装置に障害が発生した場合、ホストコンピュータが入出力先をセカンダリディスク装置に切りかえることでホストコンピュータの処理を継続しているが、ホストコンピュータ側で切り替え処理が必要となり、入出力のオーバヘッドが増加する問題がある。さらに、ＵＳＰ５８７０５３７では、ホストコンピュータとディスク装置の接続パスとリモートコピーのためのディスク装置間の接続パスが異なっている。そのため、リモートコピー時にパスを渡るオーバヘッドが増加する。
【０００８】
なお、ＵＳＰ５８７０５３７にはプライマリディスク装置が復旧した場合の記載がない。しかし、プライマリサイトとセカンダリサイトが離れている点、及び、セカンダリホストコンピュータがセカンダリディスク装置にしかアクセスできないことから、障害復旧時には、プライマリホストコンピュータはプライマリディスク装置に入出力先を切替えるものと思われる。
【課題を解決するための手段】
【０００９】
上記問題を解決するために、ストレージエリアネットワークを介してリモートコピーを行うようにするとともに、リモートコピーに関する記憶装置に障害が発生した場合、障害発生した記憶装置の代わりとしてストレージエリアネットワークに接続された予備記憶装置を割当てる。また記憶装置であるディスク装置に、ホストコンピュータとの接続を制御するホストコンピュータアダプタを２つ設け、プライマリディスク装置またはセカンダリディスク装置に障害が発生した場合、２つのホストコンピュータアダプタの内ひとつを障害が発生したディスク装置の装置ＩＤに変更することで、ホストコンピュータを変更することなく処理を継続させる。さらに、ホストコンピュータから転送されたコマンドを、変更を加えることなくストレージエリアネットワークへ転送し直すプライマリディスク装置と、自装置ＩＤとは異なるコマンドを受け付けセカンダリディスク装置を設ける。
【発明の効果】
【００１０】
従来の方式に従った処理に比べ、セカンダリへのパケット送信を早めることができるため、リモートコピーのレスポンスを高速化できる。
【発明を実施するための最良の形態】
【００１１】
［実施例１］
図１は、本発明によるストレージエリアネットワーク環境におけるリモートコピーシステムの概略構成図を示している。１０１はローカルエリアネットワークであり、１０２，１０３はそれぞれホストコンピュータである。１０５，１０６，１０７はそれぞれディスクシステムである。ホストコンピュータ１０２，１０３とディスクシステム１０５，１０６，１０７はストレージエリアネットワーク１０４に接続される。主に、ローカルエリアネットワーク１０１はホストコンピュータ間の通信に利用され、ストレージエリアネットワーク１０４はディスクシステム１０５，１０６，１０７とホストコンピュータ１０２，１０３間、またはディスクシステム１０５，１０６，１０７間のデータ通信に用いられる。一般に、ローカルネットワーク１０１よりストレージエリアネットワーク１０４の方がデータ転送性能が高い。従って、ストレージエリアネットワークの方が大規模なデータ転送に向く。ホストコンピュータ１０２，１０３内のディスクシステム入出力制御プログラムは、ホストコンピュータ１０２，１０３内で実行されているアプリケーションプログラム（図示せず）の入出力要求をディスクシステムに発行する機能を有する。ディスクシステム１０５，１０６，１０７内は、ディスク制御装置１０８，１０９，１１０とディスク１１１，１１２，１１３から構成される。ディスク制御装置１０８，１０９，１１０は、ホストコンピュータ１０２，１０３から発行された入出力要求を解釈／実行するハードウェアであり、ディスク１１１，１１２，１１３はホストコンピュータ１０２，１０３から転送されたデータを格納する機能を有する。ディスク制御装置１０８，１０９，１１０内はホストコンピュータアダプタ１１４，１１５，１１６とキャッシュ１１７，１１８，１１９とディスクアダプタ１２０，１２１，１２２から構成される。ホストコンピュータアダプタ１１４，１１５，１１６はホストコンピュータ１０２，１０３から発行されたコマンドを受信し解釈する機能を有し、ディスクアダプタ１２０，１２１，１２２はホストコンピュータアダプタ１１４，１１５，１１６の解釈結果に基づきディスク１１１，１１２，１１３に対して入出力を実行する機能を有する。キャッシュ１１７，１１８，１１９は、ディスク１１１，１１２，１１３から読み込まれたデータを一時的に格納したり、ホストコンピュータ１０２，１０３から転送された書込みデータを一時的に格納する領域である。再度同一データの読み込みがホストコンピュータ１０２，１０３から要求された場合に、キャッシュ１１７，１１８，１１９からホストコンピュータ１０２，１０３へデータを返送することで入出力レスポンスを高速化することが可能となる。またホストコンピュータ１０２，１０３へはキャッシュ１１７，１１８，１１９へデータが格納された時点で書き込み完了報告を行うため、書き込みを高速に行ったように見せることができる。図１では、ディスクシステム１０５がリモートコピーにおけるプライマリディスクシステムであり、ディスクシステム１０６がセカンダリディスクシステムである。また、ディスクシステム１０７は、予備ディスクシステムであり、プライマリディスクシステム１０５またはセカンダリディスクシステム１０６のいずれかに障害が発生した場合の交替用である。ホストコンピュータ１０２，１０３はリモートコピーシステムが正常な場合は、プライマリディスクシステム１０５に対して、入出力要求を発行する。ホストコンピュータ１０２，１０３からプライマリディスクシステム１０５に対して書き込み要求が発行されると、プライマリディスクシステムはストレージエリアネットワーク１０４を介して書き込みデータをセカンダリディスクシステム１０６に転送する。その結果、プライマリディスクシステム１０５とセカンダリディスクシステム１０６には、同じデータが格納される。プライマリディスクシステム１０５からセカンダリディスクシステム１０６へのデータ転送はホストコンピュータ１０２，１０３が意識すること無く実行される。
【００１２】
図２は、ディスクシステムの詳細な構成を示している。ディスクシステム１０５，１０６，１０７は、ディスク制御装置２０１とディスク２０７，２０８、２０９，２１０から構成される。ディスク制御装置内はホストコンピュータアダプタ２０２、２０３とディスクキャッシュ２０４とディスクアダプタ２０５，２０６から構成される。ホストコンピュータアダプタ２０２、２０３とディスクキャッシュ２０４とディスクアダプタ２０５，２０６はバス２１１で接続され、それぞれの構成要素間でバス２１１を介して通信することができる。ホストコンピュータアダプタ２０２，２０３はホストコンピュータ１０２，１０３から発行されたコマンドを受信し解釈する機能を有し、一つのディスク制御装置２０１内に複数設けることができる。ディスクアダプタ２０５，２０６はホストコンピュータアダプタ２０２，２０３の解釈結果に基づきディスク２０７，２０８，２０９，２１０に対して入出力を実行する機能を有するが、ホストコンピュータアダプタ２０２，２０３と同様に一つのディスク制御装置２０１内に複数設けることができる。ホストコンピュータアダプタ２０２，２０３やディスクアダプタ２０５，２０６を複数設けることによって、処理の負荷分散が可能になり、また信頼性も向上する。
【００１３】
図３は、ホストコンピュータ１０２，１０３内のプログラムの構成を示している。最も上位に位置するプログラムはアプリケーションプログラム３０１である。アプリケーションプログラム３０１は、通常はユーザが記述したプログラムであり、ディスクシステム１０５，１０６，１０７に対する入出力要求の発端となる処理を行う。ミドルプログラムは、データベースなどのアプリケーションプログラム３０１とオペレーティングシステム３０３の中間に位置する。オペレーティングシステム３０３は、ホストコンピュータの管理やハードウェアの制御を行うプログラムであり、ホストコンピュータ上のプログラム階層では最も下位に位置する。オペレーティングシステム３０３内には、ファイルシステム３０４とディスク入出力制御プログラム３０５がある。
【００１４】
図４，５は、本発明の特徴の一つを示している。図４は、ストレージエリアネットワーク４０１環境の正常時のリモートコピーの形態を示している。ディスクシステム１（４０２）はプライマリディスクシステム、ディスクシステム２（４０３）はセカンダリディスクシステム、ディスクシステム３（４０４）は予備ディスクとして定義されている。図５は、プライマリディスクシステム５０２に障害が発生した場合に、本発明によってリモートコピーの定義がどのように変更されるかを示している。本発明では、プライマリディスクシステム５０２に障害が発生すると、セカンダリシステムとして定義されていたディスクシステムをプライマリディスクシステムとして定義し直し、また、予備ディスクシステム５０４をセカンダリディスクシステムとして定義する。こうすることで、障害が発生したディスクシステムが修復されるまで、２重化ができない従来システムと異なり、高い信頼性を得ることができるようになる。
【００１５】
本実施例では、図４から図５の形態への変更は、ホストコンピュータが指示する。ホストコンピュータ内には、図６に示すリモートコピーのための、ホストコンピュータリモートコピー管理テーブルが格納されている。カラム６０１は、リモートコピーに関係するディスクシステムのデバイス識別子を示している。カラム６０２は、ホストコンピュータとの距離を示している。カラム６０３はプライマリディスクシステムとの距離を示している。カラム６０４は、現在の属性を示している。例えば、デバイスＩＤが０１のディスクシステムはプライマリディスクシステムとして定義されており、デバイスＩＤが０３のディスクシステムは、デバイスＩＤが０１のディスクシステムのセカンダリディスクシステムと定義されている。その他のディスクシステムは予備ディスクシステムとして定義されている。カラム６０２，６０３は、主に予備ディスクをプライマリディスクシステムやセカンダリディスクシステムに割当てる時に参照される。リモートコピーは、遠距離に配置されたディスクシステム間で同じデータを保持することに大きな意味がある。ディスクシステムの構成部品やファームウェアの誤動作によるディスクシステム障害を防ぐことが目的であれば、ディスクシステムの二重化で対応可能である。しかし、大規模な電源障害や災害などによりシステムが動作不可能になることを防ぐには、二重化されたディスクシステムをできるだけ遠距離においた方が信頼性を高くできる。これは、同時に障害が発生する確率を小さくできるためである。従来のリモートコピーシステムでは、リモートコピーのために専用のインターフェースケーブルを設置していたため、頻繁にシステムを変更することができなかった。そのため、カラム６０２，６０３の距離に関する情報は必要ない。しかし、本発明によるストレージエリアネットワーク環境のリモートコピーシステムでは、動的に構成を変更することができる。そのため、リモートコピーシステムに新しく構成を追加する場合は、ディスクシステムがどこに配置されているかを把握しておき、適切なディスクシステムを選択する必要がある。
【００１６】
図７は、ホストコンピュータ１０２，１０３内のディスクシステム入出力制御プログラムのフローを示している。ステップ７０１は、ディスクシステムへ入出力要求を発行する。ステップ７０２は、ステップ７０１で発行された入出力要求の終了判定を行う。正常に終了した場合は、本プログラムを終了する。正常にしなかった場合は、ステップ７０３に進む。ステップ７０３は、エラーが発生した入出力システムがリモートコピーとして定義されているかどうか判断する。これは、図６のホストコンピュータリモートコピー管理テーブルを参照することで判別できる。リモートコピーとして定義されていない入出力システムの場合は、ステップ７０４に進み、ファイルシステム（図３の３０４）に対してエラーを報告する（ステップ７０４）。一方、エラーが発生したシステムがリモートコピーシステムの構成要素の一つであった場合は、ステップ７０５に進む。ステップ７０５は、エラーが発生した入出力システムがプライマリディスクシステム化どうかを判別する。これは、図６のホストコンピュータリモートコピー管理テーブルを参照することで判別できる。プライマリディスクシステムがエラーを起こした場合はステップ７０６に進み、そうでない場合は７０７に進む。ステップ７０６は、予備ディスクシステムをセカンダリディスクシステムとして定義する。本ステップでは、図６のホストコンピュータリモートコピー管理テーブルの更新と、変更を各ディスクシステムへ伝える。ステップ７０８では、これまでセカンダリディスクシステムだったディスクシステムをプライマリディスクシステムに定義し直す。ステップ７０９では、エラーを起こした入出力要求を再発行する。一方、ステップ７０７は、セカンダリディスクシステムが障害を起こした場合に実行され、ステップ７０６と同じように、セカンダリディスクシステムを割当てることを意味する。こうすることで、プライマリディスクシステムにエラーが発生しても、即座にリモートコピーシステム構成を再構築することができる。
【００１７】
図８，９は、本発明におけるリモートコピーシステムへの、予備ディスクシステム追加方法を示している。図８の８０１はホストコンピュータ、８０３はプライマリディスクシステム、８０２，８０４は予備ディスクシステムである。例えば、新たにセカンダリシステムを追加する場合、８０２および８０４のいずれかを選択することができる。リモートコピーシステムを効果的に運用するためには、リモートコピーシステムの各構成要素が、どこに配置されているかが重要な指標になる。リモートコピーは、遠距離に配置されたディスクシステム間で同じデータを保持することに大きな意味がある。ディスクシステムの構成部品やファームウェアの誤動作によるディスクシステム障害を防ぐことが目的であれば、距離を意識しないディスクシステムの二重化で対応可能である。しかし、電源障害や災害などによりシステムが動作不可能になることを防ぐには、二重化されたディスクシステムをできるだけ遠距離においた方が信頼性を高くできる。これは、遠距離に装置を配置した方が、電源障害や災害時に、同時障害が発生する確率を小さくできるためである。図８では、ホストコンピュータ８０１と予備ディスクシステム８０２の距離（８０５）よりも、ホストコンピュータ８０１と予備ディスクシステム８０４の距離（８０７）の方が遠距離である。一方、予備ディスクシステム８０２とプライマリディスクシステム８０３の距離（８０６）と、予備ディスクシステム８０４とプライマリディスクシステム８０３の距離（８０８）はほぼ同じである。遠隔地にディスクシステムを置くことで障害に備えることに重点を置けば、図８の例では予備ディスクシステム８０４をセカンダリディスクシステムに割当てるほうがより高い信頼性を得ることができる。図７は、本実施例における、予備ディスクシステムの選択方法を示したフローである。ステップ９０１では、図６のホストコンピュータリモートコピー管理テーブルから予備ディスクとして定義されたディスクシステムを抽出する。ステップ９０２では、ステップ９０１で抽出された予備ディスクシステムのホストコンピュータとの距離とプライマリディスクシステムとの距離の積を求め、この数値が最も大きい予備ディスクシステムを選択する。このフローは、図９のステップ７０６および７０７に適用することができる。このようにして、予備ディスクを選択することで、効果的なリモートコピーシステムを構築することができるようになる。本実施例では、ディスクシステム間の距離だけでなく、ホストシステムとディスクシステム間の距離を離すことができる。従来のリモートコピーシステムのようにディスクシステム間だけが遠距離に配置されるだけでなく、ディスクシステムとホスト間も遠距離に配置できるため、従来のリモートコピーシステムに比べ、より信頼性が高いリモートコピーシステムを提供できる。本発明のポイントの一つは、ストレージエリアネットワーク環境においてリモートコピーシステムに新しく構成を追加する場合は、距離を考慮したほうがより効果的なシステムを構築可能なことである。こうすることで、電源障害や災害などによりシステムが動作不可能になる確率を小さくできるため、より高い信頼性を得ることができるようになる。
【００１８】
図１０，１１は、本発明の特徴の一つを示している。本発明の特徴の一つは、プライマリシステムに障害が発生しても、ホストコンピュータ上のいかなるプログラムも変更すること無く運用が継続できることである。図１０は、本発明における正常時のリモートコピー構成を示している。１００１はプライマリディスクシステムであり、１００２はセカンダリディスクシステムである。プライマリディスクシステム１００１内にはホストコンピュータアダプタ１００３があり、またセカンダリディスクアレイ１００２内には２つのホストコンピュータアダプタ１００４，１００５がある。それぞれのホストコンピュータアダプタ１００３，１００４，１００５はストレージエリアネットワーク１０１０に接続されている。ホストコンピュータアダプタ１００３，１００５は、それぞれストレージエリアネットワーク１０１０内で固有の装置ＩＤが付けられており、ホストコンピュータアダプタ１００３は装置ＩＤ１、ホストコンピュータアダプタ１００５は装置ＩＤ２である。ホストコンピュータアダプタ１００４は、正常時には無効となっている。ホストコンピュータ（図示せず）から、プライマリディスクシステム１００１に対して書込み要求が発生すると、ホストコンピュータアダプタ１００３は、ストレージエリアネットワーク１０１０を介してデータをホストコンピュータアダプタ１００５に転送することでリモートコピーを行う。一方、図１１はプライマリディスクアレイに障害が発生した図を示している。この場合、前述の通り、従来セカンダリディスクシステムとして動作していたディスクシステムはプライマリディスクシステムに属性が変更される。障害が発生したディスクシステム１１０１のホストコンピュータアダプタ１１０３が持っていた装置ＩＤを、プライマリディスクシステム１１０２内のホストコンピュータアダプタ１１０４が引き継ぐ。その一方で、障害が発生したディスクシステム１１０１内のホストコンピュータアダプタ１１０３は無効化する。こうすることで、ホストコンピュータ（図示せず）から発行された入出力要求は、新しいプライマリディスクシステム１１０２で処理可能となり、ホストコンピュータ内のさまざまなプログラムを変更することなく処理を継続できる。
【００１９】
上記処理を実現するために、各ディスクシステム内には図１２に示す、ホストコンピュータアダプタリモートコピー管理テーブルを格納してある。カラム１２０１はデバイス（装置）ＩＤであり、カラム１２０２はリモートコピーシステムの属性であり、カラム１２０３は、リモートコピー対象ボリウムである。単一のディスクシステムでも、複数のボリウムを定義できる装置が一般的であり、ユーザはボリウムの用途に応じてリモートコピーをするか否かを選択することができる。このために、カラム１２０３の対象ボリウムが必要となる。
【００２０】
図１３は、セカンダリディスクシステム内のホストコンピュータアダプタで実行されるプライマリ移行処理フローを示している。ステップ１３０１は、プライマリディスクシステムのデバイスＩＤを取得する。これは図１２の、ホストコンピュータアダプタリモートコピー管理テーブルを参照することで取得することができる。ステップ１３０２は、セカンダリディスクシステム内の無効化されているホストコンピュータアダプタのデバイスＩＤを、ステップ１３０１で取得したデバイスＩＤに変更する。ステップ１３０３はセカンダリディスクシステム内の無効化されているホストコンピュータアダプタをプライマリディスクシステムとする。ステップ１３０４は、セカンダリディスクシステム内の無効化されているホストコンピュータアダプタを有効にする。こうすることで、プライマリディスクシステムに障害が発生しても、ホストコンピュータのハードやソフトを変更する必要はなく、かつホストコンピュータ上のプログラムを停止させる必要もなくなる。
【００２１】
図１４から図２０は、本発明の特徴の一つであるリモートコピーの高速化手法を示している。ストレージエリアネットワーク環境におけるリモートコピーは、従来のリモートコピーと構成が大きく異なっている。例えば、従来のリモートコピーは、プライマリディスクシステムとセカンダリディスクシステム間のデータ転送は専用のケーブルを用いて行われていた。そのため、ホストコンピュータとプライマリディスクシステム間、およびプライマリディスクシステムとセカンダリディスクシステム間は別のケーブルで接続される形態である。しかし、ストレージエリアネットワークはホストコンピュータ，プライマリディスクシステム，セカンダリディスクシステムが同一のケーブルで接続される。従来のリモートコピーでは、異なる２本のケーブルでリモートコピーシステムを構築していたため、プライマリディスクシステム内には、２つのホストコンピュータアダプタが必要である。この２つのホストコンピュータアダプタ間での通信オーバヘッドによりリモートコピーの性能が劣化していた。図１４から図２０では、単一のホストコンピュータアダプタでリモートコピーを実現し、かつさらなる高速化について述べる。
【００２２】
図１４はプライマリディスクシステム側のホストコンピュータアダプタ内の処理フローを示している。ステップ１４０１は、ホストコンピュータからストレージエリアネットワークを介してパケット形式で転送された入出力要求を受信する。ステップ１４０２では要求コマンドが書込み要求かどうか判断する。書込み要求であればステップ１４０３に進み、そうでなければステップ１４０５に進む。ステップ１４０５は、読込み要求を実行し処理を終了する。ステップ１４０３では、ステップ１４０１で受信したパケットをストレージエリアネットワークに転送し直す。これは、後で述べるセカンダリディスクシステムが受信することになる。ここでの特徴は、プライマリディスクシステムが受信したパケットをそのままの形式で再送することにある。こうすることで、コマンドの解析やパケット形式の変更といったオーバヘッドを無くすことができる。ステップ１４０４は、プライマリディスクシステム内でホストコンピュータの書込みコマンドを実行する。ステップ１４０６は、書込みコマンドがリモートコピーの対象ボリウムに対して行われたかどうかを判断する。これは、図１２のホストコンピュータアダプタリモートコピー管理テーブルを参照することで判断できる。リモートコピーの対象ボリウムに対する書込みであればステップ１４０７に進み、そうでなければ終了する。ステップ１４０７でセカンダリディスクシステムからのリモートコピー終了を待ち、その後処理は終了する。
【００２３】
図１５は、セカンダリディスクシステム側のリモートコピー処理フローを示している。ステップ１５０１は、ストレージエリアネットワークを介してパケット形式で転送された入出力要求を受信する。ステップ１５０２では、転送された入出力要求がプライマリディスクアレイから転送された書込みコマンドかどうかを判断する。これは、図１２のホストコンピュータアダプタリモートコピー管理テーブルを参照することで判断できる。ここでの特徴は、受信したパケットは、前述の通りプライマリディスクシステムが受信したパケットをそのまま転送し直しているため、パケット内はプライマリディスクシステムに対する情報がはいっている。そのため、ステップ１５０２では、プライマリディスクシステムに対する要求を、セカンダリディスクシステムが受信することを意味している。ステップ１５０４は受信したコマンドがリモートコピー対象ボリウムかどうか判断する。
これは、図１２のホストコンピュータアダプタリモートコピー管理テーブルを参照することで判断できる。リモートコピーの対象ボリウムに対する書込みであればステップ１５０５に進み、そうでなければ終了する。ステップ１５０５では、受信したコマンドに従がって書き込みを実行する。ステップ１５０７では、セカンダリディスクシステム内の書込み処理が終了したことを、プライマリディスクシステムに通知し、終了する。ステップ１５０３，１５０６は、プライマリディスクシステム以外の装置から転送された通常の入出力を実行し終了する。
【００２４】
図１６，１７，１８は、図１５におけるステップ１５０１およびステップ１５０２を、さらに詳細に述べた図である。図１６は、ホストコンピュータアダプタ１６０１をさらに詳細化した図である。１６０２はインターフェース制御ＬＳＩであり、１６０３は制御プロセッサであり、１６０４はメモリであり、１６０５はバス制御ＬＳＩである。インターフェースＬＳＩ（１６０２）は、ストレージエリアネットワークとの通信を制御するＬＳＩである。主に、ストレージエリアネットワークの通信プロトコル制御を行う。制御プロセッサ１６０３は、ホストコンピュータアダプタ１６０１の主要な制御を行い、実行すべきプログラムはメモリ１６０４に格納されている。バス制御ＬＳＩは、ストレージシステム内のバス（図２の２１１）を制御するＬＳＩである。図１５のステップ１５０１と１５０２は、主にインターフェース制御ＬＳＩ内の処理を示している。図１５のステップ１５０１，１５０２以外のステップは、全て制御プロセッサ１６０３によって実行される。
【００２５】
図１７は、図１４および図１５で述べたリモートコピーの構成例を示している。ホストコンピュータ１７０１とプライマリディスクシステム１７０３とセカンダリディスクシステム１７０４はストレージエリアネットワーク１７０２に接続されている。ホストコンピュータ１７０１の装置ＩＤは０であり、プライマリディスクシステム１７０３内のホストコンピュータアダプタの装置ＩＤは１であり、セカンダリディスクシステム１７０４内のホストコンピュータアダプタの装置ＩＤは２とする。ストレージエリアネットワーク１７０２内は図１８に示すようなパケット形式でデータが転送される。１８０１はフレームの先頭を示すフィールドであり、１８０２はフレームヘッダであり、１８０３はＩ／Ｏコマンドやデータが格納され、１８０４はパケット内のデータに誤りが無いかどうかをチェックするためのコードが格納されており、１８０５はフレームの終わりを示すフィールドである。フレームヘッダ内はさらに、送信先デバイスＩＤ（１８０６），送信元デバイスＩＤ（１８０７），および制御フィールドから構成される。例えば、図１７において、ホストコンピュータ１７０１からプライマリディスクシステム１７０３にパケットが転送される際には、送信先デバイスＩＤには１が格納され、送信元デバイスＩＤには０が格納される。入出力コマンドは１８０３内に格納されている。
【００２６】
図１９は、発明におけるリモートコピーの一実施例の動作例を示している。１９０１はホストコンピュータの動作を示しており、１９０２はプライマリディスクシステムの動作を示しており、１９０３はセカンダリディスクシステムの動作を示している。最初にホストコンピュータから書き込みコマンドが発行される（１９０４）。このコマンドはプライマリディスクシステムが受信する（１９０５）。送信先ＩＤはプライマリディスクシステムの１が格納され、送信元ＩＤはホストコンピュータを示す０が格納されている。このコマンドは直ちにセカンダリディスクシステムに転送され、セカンダリディスクシステムが受信する（１９０７）。プライマリディスクシステムはパケットの送信が終了すると書き込みコマンドの実行を開始する（１９０８）。セカンダリディスクシステムが受信したパケットは、１９０５で受信した内容と同じである。そのため、送信先ＩＤはプライマリディスクシステムを示す１が格納され、送信元ＩＤはホストコンピュータを示す０が格納されている。このパケットをセカンダリシステムが受けて実行すべきコマンドかどうか判断し（１９０９）、実行すべきコマンドであればそのコマンドを実行する（１９１０）。セカンダリディスクシステムの書込み処理が終了すると、終了報告をプライマリディスクシステムに転送する（１９１１）。プライマリディスクシステムは、セカンダリディスクシステムからの終了通知を待って（１９１２）、プライマリとセカンダリの両方で書き込み処理が完了したことを確かめてホストコンピュータに書き込み完了通知を発行する（１９１３）。これにより、本発明によりリモートコピーが完了する（１９１４）。
【００２７】
図２０は、本発明におけるリモートコピーの性能と従来のリモートコピーと同じフローにしたがって処理した場合の性能を比較した図である。従来は、プライマリ側で、パケット受信（２００１），コマンド解析（２００２）の後、セカンダリに対してパケットを送信する（２００３）。プライマリ側では、書込み処理を行い（２００４）、セカンダリ側の書込み処理が終了するのを待つ（２００５）。セカンダリ側では、パケットを受信（２００７）、コマンド解析（２００８），書込み処理（２００９）の後、プライマリに終了を報告する。プライマリ側では、終了通知パケットを受信し（２００５）、ホストコンピュータに対して書き込み処理の終了を報告する（２００６）。これに対し、本発明における実施例では、プライマリ側ではホストコンピュータ発行のパケットを受信（２０１０）した後、すぐにセカンダリに対してパケットを送信する（２０１１）。セカンダリ側では、このパケットを受信し（２０１６）、コマンド解析（２０１７），書込み処理を実行（２０１８）する。一方、プライマリ側では、セカンダリに対してパケット送信（２０１１）後、コマンド解析（２０１２）、書込み処理実行（２０１３）の後、セカンダリ側の書込み処理を待って（２０１４）、ホストコンピュータに終了通知を発行する（２０１５）。
【００２８】
本発明では、従来の方式に従った処理に比べ、セカンダリへのパケット送信を早めることができるため、リモートコピーのレスポンスを高速化できる。
【００２９】
また、本実施例の他の効果として、従来のリモートコピーではできなかった、
複数のホストコンピュータによるリモートコピーシステムの共有がある。図１に示すように、ストレージエリアネットワーク１０１には複数のホストコンピュータ（１０２，１０３）を接続することができる。複数のホストコンピュータは、互いにリモートコピーシステムを共有できる。そのため、本実施例で述べたリモートコピーシステムでは、例えばホストコンピュータ１０２に障害が発生した場合でも、ホストコンピュータ１０３が図６に示すホストコンピュータリモートコピー管理テーブルを保持しておくことで、ホストコンピュータ１０２と同じリモートコピーシステム構成のままホストコンピュータ１０３は処理を引き継ぐことができる。従来リモートコピーシステムでは、セカンダリディスクシステムに接続されたホストコンピュータはセカンダリディスクシステムしかアクセスすることができなかったが、本実施例では複数のホストコンピュータから、同じ構成のリモートコピーシステムを共有できるため、より信頼性が高いリモートコピーシステムを構築することができる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の実施例１における全体構成図を示す図である。
【図２】図２は、ディスクシステムの構成図を示す図である。
【図３】図３は、ホストコンピュータプログラムの階層を示す図である。
【図４】図４は、正常時のリモートコピー構成を示す図である。
【図５】図５は、障害時のリモートコピー構成を示す図である。
【図６】図６は、ホストコンピュータリモートコピー管理テーブルを示す図である。
【図７】図７は、ディスクシステム制御プログラムのフロー示す図である。
【図８】図８は、ストレージエリアネットワークと装置の距離の関係を示す図である。
【図９】図９は、セカンダリディスクシステム選択処理フローを示す図である。
【図１０】図１０は、正常時のリモートコピー構成を示す図である。
【図１１】図１１は、障害時のリモートコピー構成を示す図である。
【図１２】図１２は、ホストコンピュータアダプタリモートコピー管理テーブルを示す図である。
【図１３】図１３は、ホストコンピュータアダプタプライマリ移行処理フローを示す図である。
【図１４】図１４は、プライマリリモートコピー処理フローを示す図である。
【図１５】図１５は、セカンダリリモートコピー処理フローを示す図である。
【図１６】図１６は、ホストコンピュータアダプタの構成を示す図である。
【図１７】図１７は、リモートコピーシステム構成例を示す図である。
【図１８】図１８は、コマンドパケット構成を示す図である。
【図１９】図１９は、リモートコピーの処理フローを示す図である。
【図２０】図２０は、性能比較を示す図である。
【符号の説明】
【００３１】
１０１  ローカルエリアネットワーク
１０２、１０３  ホスト
１０４  ストレージエリアネットワーク
１０５、１０６、１０７  ディスクシステム
１０８、１０９、１１０  ディスク制御装置
１１１、１１２、１１３  ディスク
【図１】
2007128551.tif 000003
【図２】
2007128551.tif 000004
【図３】
2007128551.tif 000005
【図４】
2007128551.tif 000006
【図５】
2007128551.tif 000007
【図６】
2007128551.tif 000008
【図７】
2007128551.tif 000009
【図８】
2007128551.tif 000010
【図９】
2007128551.tif 000011
【図１０】
2007128551.tif 000012
【図１１】
2007128551.tif 000013
【図１２】
2007128551.tif 000014
【図１３】
2007128551.tif 000015
【図１４】
2007128551.tif 000016
【図１５】
2007128551.tif 000017
【図１６】
2007128551.tif 000018
【図１７】
2007128551.tif 000019
【図１８】
2007128551.tif 000020
【図１９】
2007128551.tif 000021
【図２０】
2007128551.tif 000022
【手続補正書】
【提出日】平成19年2月9日(2007.2.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージシステムであって、
計算機と、
第1の記憶装置と、
第２の記憶装置と、
複数の第３の記憶装置と、
前記計算機と前記第1の記憶装置と前記第２の記憶装置と前記複数の第３の記憶装置を接続するストレージエリアネットワークと、を有し、
前記第１の記憶装置は、前記計算機からの書き込み要求に応じて該書き込み要求を実行するとともに前記第２の記憶装置に書き込みコマンドを転送し、
前記計算機は、前記第１の記憶装置、前記第２の記憶装置、前記第３の記憶装置の装置識別子と、前記第１の記憶装置、前記第２の記憶装置、前記第３の記憶装置ががそれぞれプライマリ記憶装置、該プライマリ記憶装置とペアを構成するセカンダリ記憶装置、予備記憶装置として機能することを示した管理テーブルを有し、
前記計算機は、前記第２の記憶装置に障害が発生した場合、前記管理テーブルに基づき、前記第３の記憶装置のそれぞれについて前記計算機との距離及び前記第１の記憶装置との距離の積を算出し、その算出値が最大の記憶装置を新たに第２の記憶装置となるよう前記管理テーブルを更新し、障害が発生した前記第２の記憶装置に割り当てられている装置識別子を前記新たな第２の記憶装置のインタフェースに設定するよう制御することを特徴とするストレージシステム。
【請求項２】
ストレージシステムであって、
計算機と、
前記計算機に接続されるネットワークと、
前記ネットワークに接続されるインタフェースを有する第1の記憶装置と、
前記ネットワークに接続される複数のインタフェースを有する第２の記憶装置と、を有し、
前記第１の記憶装置は、前記計算機からの書き込み要求に応じて該書き込み要求を実行するとともに前記第２の記憶装置に書き込みコマンドを転送し、
前記第１の記憶装置、前記第２の記憶装置のそれぞれは、前記第１の記憶装置、前記第２の記憶装置のそれぞれの装置識別子と、当該装置識別子に対応して前記第１の記憶装置、前記第２の記憶装置がプライマリ記憶装置、該プライマリ記憶装置とペアを構成するセカンダリ記憶装置のいずれかとして機能するかを定めた属性とを定めたコピー管理テーブルを有し、
前記第２の記憶装置は、前記コピー管理テーブルに基づいてプライマリ記憶装置と定められた前記第１の記憶装置のインタフェースに設定されている装置識別子を取得し、前記第２の記憶装置に取得した前記装置識別子を設定することを特徴とするストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、
前記第２の記憶装置は、複数のインタフェースを有し、前記複数のインタフェースのうちの１つのインタフェースに前記取得した装置識別子を設定するとともに有効とし、前記第２の記憶装置がプライマリ記憶装置となるよう前記コピー管理テーブルを更新することを特徴とするストレージシステム。
【請求項４】
請求項２記載のストレージシステムであって、
前記コピー管理テーブルには、前記第１の記憶装置、前記第２の記憶装置のそれぞれの装置識別子と、当該装置識別子に対応して前記第１の記憶装置、前記第２の記憶装置がプライマリ記憶装置、該プライマリ記憶装置とペアを構成するセカンダリ記憶装置のいずれかとして機能するかを定めた属性と、前記プライマリ記憶装置として機能する記憶装置内でコピー対象となるボリュームとが規定されていることを特徴とするストレージシステム。
【請求項５】
計算機が接続されるストレージエリアネットワークと接続する複数の第１のインタフェースと、複数のディスク装置と接続する複数の第２のインタフェースと、前記第１のインタフェース又は前記第２のインタフェースから入出力されるデータを格納するキャッシュメモリとを有した記憶制御装置であって、
前記記憶制御装置は、
自記憶装置と、前記ストレージエリアネットワークに接続された他の記憶制御装置の装置識別子と、当該装置識別子に対応して前記自記憶制御装置、前記他の記憶制御装置がプライマリ記憶装置、該プライマリ記憶装置とペアを構成するセカンダリ記憶装置のいずれかとして機能するかを定めた属性とを定めたコピー管理テーブルを有し、
前記コピー管理テーブルに基づいてプライマリ記憶装置と定められた前記他の記憶制御装置のインタフェースに設定されている装置識別子を取得し、自記憶制御装置のインタフェースに取得した前記装置識別子を設定することを特徴とする記憶制御装置。
【請求項６】
請求項５記載の記憶制御装置であって、
前記記憶制御装置は、前記複数のインタフェースのうちの１つのインタフェースに前記取得した装置識別子を設定するとともに有効とし、自記憶制御装置がプライマリ記憶装置となるよう前記コピー管理テーブルを更新することを特徴とする記憶制御装置。
【請求項７】
請求項５記載の記憶制御装置であって、
前記コピー管理テーブルには、自記憶制御装置及び前記他の記憶制御装置のそれぞれの装置識別子と、当該装置識別子に対応して自記憶制御装置及び前記他の記憶制御装置が前記第１の記憶装置、前記第２の記憶装置がプライマリ記憶装置、該プライマリ記憶装置とペアを構成するセカンダリ記憶装置のいずれかとして機能するかを定めた属性と、前記プライマリ記憶装置として機能する記憶装置内でコピー対象となるボリュームとが規定されていることを特徴とする記憶制御装置。