(57)【要約】【課題】  外部接続とリモートコピーの共通点を利用した新規な記憶制御技術を提供する。【解決手段】  三台以上のストレージシステムのうちの一つを始点ストレージシステムとし、別の一つを終点ストレージシステムとした複数の経路の中から少なくとも一つの経路が選択される。選択された経路に従って、仮想ボリュームに対応付けられた外部ボリュームに対してデータを書込む外部接続処理、及び／又は、コピー元ボリュームに書かれるデータをコピー先ボリュームに書き込むリモートコピー処理が少なくとも一回行われる。これにより、始点ストレージシステムが受信したデータが、終点ストレージシステム内の論理ボリュームに書き込まれる。【選択図】図２
2007042008.tif 000002
【特許請求の範囲】
【請求項１】
三台以上のストレージシステムの各々が、少なくとも一つの論理ボリュームとして、仮想的な論理ボリュームである仮想ボリューム、及び／又は、実体的な論理ボリュームである実ボリュームを備え、
或るストレージシステム内の前記仮想ボリュームと、別のストレージシステム内の前記実ボリュームである外部ボリュームとを対応付け、
或るストレージシステム内の論理ボリュームをコピー元とし、別のストレージシステム内の論理ボリュームをコピー先としたボリュームペアを形成し、
前記三台以上のストレージシステムのうちの一つを始点ストレージシステムとし、別の一つを終点ストレージシステムとした複数の経路の中から少なくとも一つの経路を選択し、
前記始点ストレージシステム内の論理ボリュームの指定と書込み対象データとを含んだ書込み要求を前記始点ストレージシステムが受信し、
前記選択された経路に従って、前記仮想ボリュームに対応付けられた前記外部ボリュームに対して前記書込み対象データを書込む外部接続処理、及び／又は、コピー元ボリュームに書かれる前記書込み対象データをコピー先ボリュームに書き込むリモートコピー処理を少なくとも一回行うことにより、前記始点ストレージシステムが受信した書込み要求中の書込み対象データを、前記終点ストレージシステム内の論理ボリュームに書き込む、
記憶制御方法。
【請求項２】
前記複数の経路のうちの少なくとも前記選択された経路の接続状態を把握し、
前記把握された接続状態に応じて、前記選択された経路を別の経路に切り替える、
請求項１記載の記憶制御方法。
【請求項３】
前記複数の経路の各々の負荷を把握し、
前記把握された各負荷に応じて、前記選択された経路を別の経路に切り替える、
請求項１記載の記憶制御方法。
【請求項４】
前記リモートコピー処理が済んだ書込み対象データか否かを管理し、
前記複数の経路のうちの少なくとも前記選択された経路の接続状態を把握し、
前記複数の経路の各々の負荷を把握し、
前記把握された接続状態及び／又は各負荷に応じて、前記選択された経路を別の経路に切り替え、
経路の切替後、経路の切替を前記接続状態に応じて行った場合、前記リモートコピー処理の済んだ書込み対象データについて再度リモートコピー処理を行い、経路の切替を前記各負荷に応じて行った場合、前記リモートコピー処理が済んでいない書込み対象データについてリモートコピー処理を行う、
請求項１記載の記憶制御方法。
【請求項５】
各ストレージシステムが、接続先情報を記憶し、
前記接続先情報は、書込み対象データの送信先となる接続先ストレージシステムのＩＤと、その接続先ストレージシステムに対して書込み対象データを外部接続処理とリモートコピー処理のどちらで送信するかを表す接続種別とを含んでおり、
各ストレージシステムの前記接続先情報に基づいて、どのストレージシステムとどのストレージシステムとがどのような接続種別で接続されているかの経路要素を複数個含んだ前記複数の経路を構築する、
請求項１記載の記憶制御方法。
【請求項６】
前記複数の経路のうち、前記選択した経路を含む二以上の経路を使用して、前記外部接続処理及び前記リモートコピー処理を行い、且つ、それら二以上の経路では、コピー元ボリュームに対する書込み要求の処理と同期でリモートコピー処理を実行する同期型リモートコピーと、コピー元ボリュームに対する書込み要求の処理とは非同期でリモートコピー処理を実行する非同期型リモートコピーとの両方を行う、
請求項１記載の記憶制御方法。
【請求項７】
三台以上のストレージシステムを備える記憶制御システムにおけるストレージシステムにおいて、
前記三台以上のストレージシステムの各々が、少なくとも一つの論理ボリュームとして、仮想的な論理ボリュームである仮想ボリューム、及び／又は、実体的な論理ボリュームである実ボリュームを備え、
或るストレージシステム内の前記仮想ボリュームと、別のストレージシステム内の前記実ボリュームである外部ボリュームとが対応付けられ、
或るストレージシステム内の論理ボリュームをコピー元とし、別のストレージシステム内の論理ボリュームをコピー先としたボリュームペアが形成され、
コンピュータプログラムを記憶した記憶資源と、
前記記憶資源からコンピュータプログラムを読込んで実行する少なくとも一つのプロセッサと
を有し、
前記記憶資源が、前記三台以上のストレージシステムのうちの一つを始点ストレージシステムとし、別の一つを終点ストレージシステムとした複数の経路に関する情報を記憶し、
前記プロセッサが、
論理ボリュームの指定と書込み対象データとを含んだ書込み要求を受信し、
前記複数の経路の中から少なくとも一つの経路を選択し、
前記選択された経路に従がって、前記仮想ボリュームに対応付けられた前記外部ボリュームに対して前記書込み対象データを書込む外部接続処理と、コピー元ボリュームに書かれる前記書込み対象データをコピー先ボリュームに書き込むリモートコピー処理とのいずれか一方を行う、
ストレージシステム。
【請求項８】
三台以上のストレージシステムの各々が、少なくとも一つの論理ボリュームとして、仮想的な論理ボリュームである仮想ボリューム、及び／又は、実体的な論理ボリュームである実ボリュームを備え、
或るストレージシステム内の前記仮想ボリュームと、別のストレージシステム内の前記実ボリュームである外部ボリュームとが対応付けられ、
或るストレージシステム内の論理ボリュームをコピー元とし、別のストレージシステム内の論理ボリュームをコピー先としたボリュームペアが形成され、
前記三台以上のストレージシステムのうちの一つを始点ストレージシステムとし、別の一つを終点ストレージシステムとした複数の経路を特定し、
前記特定された複数の経路の中から少なくとも一つの経路を選択する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
各ストレージシステムが、接続先情報を記憶し、
前記接続先情報は、書込み対象データの送信先となる接続先ストレージシステムのＩＤと、その接続先ストレージシステムに対して書込み対象データを外部接続処理とリモートコピー処理のどちらで送信するかを表す接続種別とを含んでおり、
前記複数の経路の特定では、各ストレージシステムの前記接続先情報に基づいて、どのストレージシステムとどのストレージシステムとがどのような接続種別で接続されているかの経路要素を複数個含んだ前記複数の経路を構築する、
請求項８記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの記憶技術に関し、具体的には、複数のストレージシステムを備えた記憶制御システムにおけるデータ記憶制御に関する。
【背景技術】
【０００２】
例えば、以下の技術が知られている。すなわち、第１ストレージ装置と第２ストレージ装置とが互いに接続され、且つ、第２ストレージ装置とホスト計算機とが互いに接続されている。第１ストレージ装置が有する第１論理デバイスに、第２ストレージ装置が有する第２論理デバイスが対応付けられる。第２論理デバイスは、ホスト計算機で認識される。第２ストレージ装置は、ホスト計算機から第２論理デバイスへのリード要求を受けた場合、そのリード要求を、その第２論理デバイスに対応付けられている第１論理デバイスへのリード要求に変換し、変換後のリード要求を第１ストレージ装置に送信する。第２ストレージ装置は、第１ストレージ装置から入出力完了報告を受けた場合、第２論理デバイスへの入出力要求に対する完了報告を、ホスト計算機に送信する。
【０００３】
このような技術は、例えば、特開２００４−２２０４５０号公報に開示されている。
【０００４】
【特許文献１】特開２００４−２２０４５０号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記のような記憶制御方式では、例えば、ホスト装置から、第二のストレージシステムの第二の論理デバイスへデータの書込み要求が発行された場合、そのデータは、第二のストレージシステムによって、第二の論理デバイスに対応付けられた、第一のストレージシステムの第一の論理デバイスに書き込まれる。第二の論理デバイスは、例えば、仮想デバイス或いは仮想ボリュームと呼ばれることがあり、第一の論理デバイスは、例えば、外部デバイス或いは外部ボリュームと呼ばれることがある。故に、このような記憶制御方式を、本明細書では、便宜上、「外部接続」と呼ぶことにする。
【０００６】
また、ストレージシステム同士を接続した場合に行われる記憶制御方式として、例えば、リモートコピーがある。リモートコピーの具体例を説明すると、以下の通りである。すなわち、例えば、ホスト装置がプライマリのストレージシステムに接続される。プライマリのストレージシステムがセカンダリのストレージシステムに接続される。プライマリのストレージシステムが有するプライマリの論理デバイスと、セカンダリのストレージシステムが有するセカンダリの論理デバイスとがペアにされる。プライマリのストレージシステムが、プライマリの論理デバイスに対するデータの書込み要求を受けた場合には、そのデータをプライマリの論理デバイスに書き、それと同期で又は非同期で、そのデータを、プライマリの論理デバイスとペアにされたセカンダリの論理デバイスに対して転送する。セカンダリのストレージシステムは、プライマリのストレージシステムから転送されて来たデータを受け、そのデータを、セカンダリの論理デバイスに書込む。
【０００７】
外部接続とリモートコピーは、互いに通信可能に接続された複数のストレージシステムにより行われるという点で共通する。
【０００８】
本発明の一つの目的は、外部接続とリモートコピーの共通点を利用した新規な記憶制御技術を提供することにある。
【０００９】
本発明の他の目的は、後の説明から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本発明の第一の側面に従がう記憶制御方法では、三台以上のストレージシステムの各々が、少なくとも一つの論理ボリュームとして、仮想的な論理ボリュームである仮想ボリューム、及び／又は、実体的な論理ボリュームである実ボリュームを備える。或るストレージシステム内の前記仮想ボリュームと、別のストレージシステム内の前記実ボリュームである外部ボリュームとが対応付けられる。或るストレージシステム内の論理ボリュームをコピー元とし、別のストレージシステム内の論理ボリュームをコピー先としたボリュームペアが形成される。前記三台以上のストレージシステムのうちの一つを始点ストレージシステムとし、別の一つを終点ストレージシステムとした複数の経路の中から少なくとも一つの経路が選択される（複数の経路のうちの少なくとも一つの経路には、また別の一つ以上のストレージシステムを中継点ストレージシステムとした経路がある）。前記始点ストレージシステム内の論理ボリュームの指定と書込み対象データとを含んだ書込み要求を前記始点ストレージシステムが受信する。前記選択された経路に従って、前記仮想ボリュームに対応付けられた前記外部ボリュームに対して前記書込み対象データを書込む外部接続処理、及び／又は、コピー元ボリュームに書かれる前記書込み対象データをコピー先ボリュームに書き込むリモートコピー処理が少なくとも一回行われることにより、前記始点ストレージシステムが受信した書込み要求中の書込み対象データが、少なくとも、前記終点ストレージシステム内の論理ボリュームに書き込まれる。
【００１１】
一つの実施態様では、前記複数の経路のうちの少なくとも前記選択された経路の接続状態が把握され、前記把握された接続状態に応じて、前記選択された経路が別の経路に切り替えられてもよい。
【００１２】
一つの実施態様では、前記複数の経路の各々の負荷が把握され、前記把握された各負荷に応じて、前記選択された経路が別の経路に切り替えられてもよい。
【００１３】
一つの実施態様では、前記リモートコピー処理が済んだ書込み対象データか否かが管理され、前記複数の経路のうちの少なくとも前記選択された経路の接続状態が把握され、前記複数の経路の各々の負荷が把握され、前記把握された接続状態及び／又は各負荷に応じて、前記選択された経路が別の経路に切り替えられてもよい。そして、経路の切替後、経路の切替を前記接続状態に応じて行った場合、前記リモートコピー処理の済んだ書込み対象データについて再度リモートコピー処理が行われ、経路の切替を前記各負荷に応じて行った場合、前記リモートコピー処理が済んでいない書込み対象データについてリモートコピー処理が行われてもよい。
【００１４】
一つの実施態様では、各ストレージシステムが、接続先情報を記憶してもよい。前記接続先情報は、書込み対象データの送信先となる接続先ストレージシステムのＩＤと、その接続先ストレージシステムに対して書込み対象データを外部接続処理とリモートコピー処理のどちらで送信するかを表す接続種別とを含んでいてもよい。この場合、各ストレージシステムの前記接続先情報に基づいて、どのストレージシステムとどのストレージシステムとがどのような接続種別で接続されているかの経路要素を複数個含んだ前記複数の経路が構築されてもよい。
【００１５】
一つの実施態様では、前記複数の経路のうち、前記選択した経路を含む二以上の経路を使用して、前記外部接続処理及び前記リモートコピー処理が行われ、且つ、それら二以上の経路では、コピー元ボリュームに対する書込み要求の処理と同期でリモートコピー処理を実行する同期型リモートコピーと、コピー元ボリュームに対する書込み要求の処理とは非同期でリモートコピー処理を実行する非同期型リモートコピーとの両方が行われてもよい。
【００１６】
上述した記憶制御方法は、ハードウェア、コンピュータプログラム又はそれらの組み合わせによって実現することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。
【発明の効果】
【００１７】
本発明によれば、外部接続とリモートコピーの共通点を利用した新規な記憶制御技術が提供される。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の一実施形態に係る記憶制御システムのハードウェア構成の概要を示す。
【００１９】
管理サーバ１１と、第一〜第四のストレージシステム３３Ａ〜３３Ｄとが、第一の通信ネットワーク、例えばＬＡＮ（Local Area Network）４７に接続されている。業務サーバ１と、第一のストレージシステム３３Ａとが、第二の通信ネットワーク、例えば第一のＳＡＮ（Storage Area Network）に接続されている。第一のストレージシステム３３Ａと第三のストレージシステム３３Ｃとが、第三の通信ネットワーク、例えば第二のＳＡＮ４３に接続されている。第二のストレージシステム３３Ｂと第四のストレージシステム３３Ｄとが、第四の通信ネットワーク、例えば、第二のＳＡＮ４３に接続された第四のＳＡＮ４５に接続されている。第一〜第四の通信ネットワークのうちの二以上の通信ネットワークは、一つの同一の通信ネットワークであっても良い。具体的には、例えば、第二のＳＡＮ４３と第三のＳＡＮ４５は、共通のＳＡＮであっても良い。
【００２０】
管理サーバ１１は、種々のコンピュータプログラムを記憶することができる記憶資源（例えばメモリ１７やハードディスクドライブ（ＨＤＤ）１５）や、記憶資源からコンピュータプログラムを読込んで実行するＣＰＵ１３や、ＬＡＮ４７に接続されるＬＡＮポート１９等のハードウェア資源を備えるコンピュータマシンである。
【００２１】
業務サーバ１も、同様に、種々のコンピュータプログラムを記憶することができる記憶資源（例えばメモリ７やＨＤＤ５）や、記憶資源からコンピュータプログラムを読込んで実行するＣＰＵ３や、ＳＡＮ４１に接続されるファイバチャネルポート（ＦＣポート）９等のハードウェア資源を備えるコンピュータマシンである。
【００２２】
第一〜第四のストレージシステム３３Ａ〜３３Ｄは、有する機能が異なっていても、ハードウェア構成を同じにすることができる。説明を分かり易くするため、第一〜第四のストレージシステム３３Ａ〜３３Ｄのハードウェア構成は実質的に同じとする。故に、第一のストレージシステム３３Ａを代表的に例に採り説明する。なお、図１では、第一〜第四のストレージシステム３３Ａ〜３３Ｄにおいて、同一種類の構成要素については、同一の親番号と異なる枝符号との組み合わせで表すことにより、区別することとする。しかし、同一種類の構成要素を区別することなく説明する場合には、親番号のみを用いることとする。
【００２３】
第一のストレージシステム３３Ａは、制御装置３１Ａと、複数のＨＤＤ２９Ａ、２９Ａ、…とを備える。制御装置３３Ａは、第一のストレージシステム３３Ａの動作を制御する装置である。制御装置３３Ａは、例えば、第一のＳＡＮ４１に接続されるＦＣポート２１や、ＬＡＮ４７に接続されるＬＡＮポート２２や、各ＨＤＤ２９Ａに接続されるＦＣポート２４、２５や、第二のＳＡＮ４３に接続されるＦＣポート２８や、ＣＰＵ２５や、メモリ２７を備えることができる。メモリ２７は、例えば、第一のストレージシステム３３Ａが行う処理の制御に必要とされる制御情報（例えば後述の接続ストレージ管理表）が記憶される制御領域と、業務サーバ１とＨＤＤ２９Ａとの間でやり取りされるデータを一時的に記憶するためのキャッシュ領域とを有する。
【００２４】
以上が、本実施形態に係る記憶制御システムのハードウェア構成についての説明である。続いて、本実施形態の概要について説明する。
【００２５】
図２は、本発明の一実施形態の概要の説明図である。
【００２６】
業務サーバ１には、アプリケーションプログラム５１や、図示しないオペレーティングシステム（ＯＳ）等の種々のコンピュータプログラムが備えられている。業務サーバ１では、例えば、アプリケーション５１がＯＳに対してＩ／Ｏ要求（入出力要求）を発行することにより、アクセス先を指定したＩ／Ｏ要求（データの書込み要求又は読出し要求である入出力要求）をＯＳから第一のストレージシステム３３Ａに発行する処理が行われる。業務サーバ１は、アクセス先として、後述する仮想ボリューム６９Ａを指定することができる。換言すれば、この実施形態では、業務サーバ１からＩ／Ｏ要求を受信することができるストレージシステムが第一のストレージシステム３３Ａとなる。
【００２７】
第一〜第四のストレージシステム３３Ａ〜３３Ｄには、複数の論理ボリュームが用意される。論理ボリュームの種類としては、例えば、ＨＤＤ２９等の物理的な記憶資源上に設けられた実体のある論理ボリュームである実ボリューム６８や、必ずしも物理的な記憶資源上に設けられていない仮想的な論理ボリュームである仮想ボリューム６９とがある。以下、実ボリュームについては、例えば、自分であるストレージシステムに存在する場合には、「内部ボリューム」と呼び、自分ではない他のストレージシステムに存在する場合には、「外部ボリューム」と呼ぶことにする。
【００２８】
第一〜第四のストレージシステム３３Ａ〜３３Ｄのうちの少なくとも第一及び第二のストレージシステム３３Ａ及び３３Ｂが、外部接続機能を有している必要がある。外部接続機能とは、他のストレージシステムが有する記憶資源（典型的には外部ボリューム）を、自分が有する記憶資源（典型的には仮想ボリューム）として提供する機能である。従がって、例えば、仮想ボリュームに対する書込み要求が発行された場合、その仮想ボリュームに対応付けられた外部ボリュームに対する書込み要求が発行され、その結果、仮想ボリュームに対する書込み要求中のデータが、外部ボリュームに書かれることになる。
【００２９】
また、第一〜第四のストレージシステム３３Ａ〜３３Ｄのうちの少なくとも第一、第三及び第四のストレージシステム３３Ａ、３３Ｃ及び３３Ｄが、リモートコピー機能を有している必要がある。リモートコピー機能とは、自分が有する記憶資源（典型的にはプライマリの論理ボリューム）に対してデータが書き込まれる場合に、そのデータを、他のストレージシステムに転送することで、その記憶資源に対応付けられた、他のストレージシステム内の記憶資源（典型的にはセカンダリの論理ボリューム）に書き込む機能である。
【００３０】
この実施形態では、業務サーバ１からＩ／Ｏ要求を受け付ける第一ストレージシステム３３Ａが、間接的に、換言すれば、他のストレージシステム３３Ｂ又は３３Ｃを介して、第四のストレージシステム３３Ｄの内部ボリューム６８Ｄにアクセスすることができる。そして、この実施形態では、第一のストレージシステム３３Ａから第四のストレージシステム３３Ｄの内部ボリューム６８Ｄまでの経路として、第二のストレージシステムを経由する第一の経路と、第三のストレージシステム３３Ｃを経由する第二の経路との２通りの経路を用意することができる。更に、この実施形態では、各経路の状況に応じて、２通りの経路の中から、データの転送速度がより速いと予想される最適な経路が自動的に選択され、選択された方の経路を介して、第一のストレージシステム３３Ａから第四のストレージシステム３３Ｄの内部ボリューム６８Ｄへのアクセスを行うことができる。以下、具体的に説明する。
【００３１】
この実施形態では、例えば、第一のストレージシステム３３Ａに、ボリュームＩＤ「１」を有する仮想ボリューム６９Ａが用意されており、第二のストレージシステム３３Ｂに、ボリュームＩＤ「１０」を有する仮想ボリューム６９Ｂが用意されており、第三のストレージシステム３３Ｃに、ボリュームＩＤ「５」を有する内部ボリューム６８Ｃが用意されており、第四のストレージシステム３３Ｄに、ボリュームＩＤ「５０」を有する内部ボリューム６８Ｄが用意されているとする。そして、仮想ボリューム６９Ａには、仮想ボリューム６９Ｂ及び内部ボリューム６８Ｃが対応付けられており、仮想ボリューム６９Ｂには、仮想ボリューム６９Ａ及び内部ボリューム６８Ｄが対応付けられており、内部ボリューム６８Ｃと内部ボリューム６８Ｄとが互いに対応付けられているとする。
【００３２】
ここで、例えば、第一のストレージシステム３３Ａが、仮想ボリューム６９Ａを指定した書込み要求と書込み対象データとを業務サーバ１から受けた場合には、第一及び第二の経路のうちのどちらが選択されたかに応じた処理が行われる（この選択は、例えば、第一のストレージシステム３３Ａが書込み要求を受けたタイミングで行われても良いし、別のタイミングで行われても良い）。以下、具体的に説明する。
【００３３】
（１）第一の経路が選択された場合。
【００３４】
第一のストレージシステム３３Ａ（正確には制御装置３１Ａ）は、仮想ボリューム６９Ａに対応付けられている仮想ボリューム６９Ｂを特定し、受信した書込み対象データを仮想ボリューム６９Ｂに書き込むためのリモートコピー要求を、第二のストレージシステム３３Ｂに送信する。第二のストレージシステム３３Ｂが、リモートコピー要求及び書込み対象データを受信し、そのリモートコピー要求で指定されている仮想ボリューム６９Ｂに対応付けられた外部ボリューム（第四のストレージシステム３３Ｄにとっては内部ボリューム）６８Ｄを特定し、その外部ボリューム６８Ｄを指定した書込み要求を生成し、その書込み要求と書込み対象データとを、第四のストレージシステム６８Ｄに送信する。第四のストレージシステム３３Ｄは、書込み要求及び書込み対象データを受信し、受信した書込み対象データを、受信した書込み要求で指定されている内部ボリューム６８Ｄに書き込む。以上の処理により、業務サーバ１から送信された書込み対象データが、内部ボリューム６８Ｄに書き込まれる。なお、第四のストレージシステム６８Ｄは、例えば、リモートコピー要求と、内部ボリューム６８Ｄに書き込まれた書込み対象データとを、第三のストレージシステム３３Ｃに発行しても良い。この場合、内部ボリューム６８Ｃにも、業務サーバ１から送信された書込み対象データが書き込まれる。
【００３５】
（２）第二の経路が選択された場合。
【００３６】
第一のストレージシステム３３Ａが、仮想ボリューム６９Ａに対応付けられた外部ボリューム６８Ｃを特定し、その外部ボリューム６８Ｃを指定した書込み要求を生成し、その書込み要求と書込み対象データとを、第三のストレージシステム６８Ｃに送信する。第三のストレージシステム３３Ｃは、書込み要求及び書込み対象データを受信し、受信した書込み対象データを、受信した書込み要求で指定されている内部ボリューム６８Ｃに書き込む。また、第三のストレージシステム３３Ｃは、内部ボリューム６８Ｃに対応付けられている内部ボリューム６８Ｄを特定し、受信した書込み対象データを内部ボリューム６８Ｄに書き込むためのリモートコピー要求を、第四のストレージシステム３３Ｄに送信する。以上の処理により、業務サーバ１から送信された書込み対象データが、内部ボリューム６８Ｃと６８Ｄとの両方に書き込まれる。
【００３７】
以上のように、第一の経路と第二の経路のどちらが選択されたかによって、この記憶制御システムにおいて行われる処理が異なる。そして、第一の経路と第二の経路のどちらを選択するかは、例えば、管理サーバ１１に備えられている管理プログラム１１がＣＰＵ１３に読込まれて実行されることにより行うことができる。
【００３８】
以下、本実施形態についてより詳細に説明する。
【００３９】
図３は、本発明の一実施形態に係る記憶制御システムの機能ブロック図である。
【００４０】
第一のストレージシステム３３Ａと第二のストレージシステム３３Ｂとは、実質的に同じであるので、第一のストレージシステム３３Ａを代表的に例に採り説明する。制御装置３１Ａのメモリ２７が、例えば、制御プログラム６１Ａ、接続ストレージ管理表６２Ａ、ボリューム一覧表６３Ａ、外部ボリューム管理表６４Ａ、接続状態管理表６５Ａ、コピーボリューム管理表６６Ａ及び経路管理表６７Ａを記憶することができる。制御プログラム６１Ａは、制御装置３１Ａの動作を制御するためのプログラムであって、ＣＰＵ２３に読込まれて実行される。
【００４１】
第三のストレージシステム３３Ｃと第四のストレージシステム３３Ｄとは、実質的に同じであるので、第三のストレージシステム３３Ｃを代表的に例に採り説明する。制御装置３１Ｃのメモリ２７が、例えば、制御プログラム６１Ｃ、接続ストレージ管理表６２Ｃ、ボリューム一覧表６３Ｃ、接続状態管理表６５Ｃ及びコピーボリューム管理表６６Ｃを記憶することができる。制御プログラム６１Ｃは、制御装置３１Ｃの動作を制御するためのプログラムであって、ＣＰＵ２３に読込まれて実行される。
【００４２】
上述した各表６２〜６７は、電子的な表であって、その内容は、全てのストレージシステム３３Ａ〜３３Ｄにおいて共通の内容であっても良いが、各ストレージシステム３３毎に特有の内容であっても良い。以下、各表６２〜６７の具体的な構成例について説明する。
【００４３】
図４Ａは、ボリューム一覧表６３Ｄの構成例を示す。
【００４４】
ボリューム一覧表６３については、ボリューム一覧表６３Ｄを代表的に例に採り説明する。ボリューム一覧表６３Ｄは、それを有する第四のストレージシステム３３Ｄに存在する論理ボリューム６８、６９を管理するための表である。ボリューム一覧表６３Ｄには、例えば、各論理ボリューム毎に、その論理ボリュームのＩＤと、その論理ボリュームのタイプ（例えば内部か仮想か）と、その論理ボリュームの記憶容量とが記録される。
【００４５】
図４Ｂは、接続ストレージ管理表６３Ａの構成例を示す。図４Ｃは、接続ストレージ管理表６３Ｂの構成例を示す。図４Ｄは、接続ストレージ管理表６３Ｃの構成例を示す。図４Ｅは、接続ストレージ管理表６３Ｄの構成例を示す。
【００４６】
接続ストレージ管理表６３は、それを有するストレージシステム３３がどのストレージシステムとどのような形態で接続されているかを管理するための表である。接続ストレージ管理表６３には、例えば、接続先のストレージシステムのＩＤと、接続タイプとが記録される。接続タイプとしては、例えば、接続先に対して外部接続に従う記憶制御が行われることを意味する「外部」と、接続先に対してリモートコピーに従う記憶制御が行われることを意味する「リモート」とがある。
【００４７】
図４Ｂによれば、第一のストレージシステム３３Ａが、ＩＤ「６００」が割り当てられた第三のストレージシステム３３Ｃに対して外部接続に従う記憶制御を行え、ＩＤ「１５０００」が割り当てられた第二のストレージシステム３３Ｂに対してリモートコピーに従う記憶制御を行えることがわかる。図４Ｃによれば、第二のストレージシステム３３Ｃが、ＩＤ「６５０」が割り当てられた第四のストレージシステム３３Ｄに対して外部接続に従う記憶制御を行え、ＩＤ「１００００」が割り当てられた第一のストレージシステム３３Ａに対してリモートコピーに従う記憶制御を行えることがわかる。図４Ｄによれば、第三のストレージシステム３３Ｃが、ＩＤ「６５０」が割り当てられた第四のストレージシステム３３Ｄに対してリモートコピーに従う記憶制御を行えることがわかる。図４Ｅによれば、第四のストレージシステム３３Ｄが、ＩＤ「６００」が割り当てられた第三のストレージシステム３３Ｃに対してリモートコピーに従う記憶制御を行えることがわかる。
【００４８】
図４Ｆは、外部ボリューム管理表６４Ａの構成例を示す。図５Ａは、外部ボリューム管理表６４Ｂの構成例を示す。
【００４９】
外部ボリューム管理表６４は、外部接続を管理するための表であり、具体的には、それを有するストレージシステム３３内のどの論理ボリュームがどのストレージシステム３３内のどの外部ボリュームに対応付けられているかを管理するための表である。外部ボリューム管理表６４には、例えば、それを有するストレージシステム３３内の論理ボリュームのＩＤと、そのストレージシステム３３の接続先である他のストレージシステム３３のＩＤと、外部ボリュームのＩＤとが登録される。
【００５０】
図４Ｆによれば、ＩＤ「１」の仮想ボリューム６９Ａが、第三のストレージシステム３３Ｃ内の、ＩＤ「１０」が割り当てられた外部ボリューム６８Ｃに対応付けられていることがわかる。図５Ａによれば、ＩＤ「５」の仮想ボリューム６９Ｂが、第四のストレージシステム３３Ｃ内の、ＩＤ「５０」が割り当てられた外部ボリューム６８Ｄに対応付けられていることがわかる。
【００５１】
図５Ｂは、経路管理表６７Ａの構成例である。
【００５２】
経路管理表６７については、経路管理表６７Ａを代表的に例に採り説明する。経路管理表６７Ａは、それを有する第一のストレージシステム３３Ａが関わる複数の経路を管理するための表である。この実施形態では、第一のストレージシステム３３Ａが関わる経路は２つなので、２つの経路の各々を管理するための経路管理データが、経路管理表６７Ａに存在する。各経路管理データには、例えば、経路ＩＤ、システム１のシステムＩＤ、１−２間タイプ、システム２のシステムＩＤ、２−３間タイプ、及びシステム３のシステムＩＤが含まれる。システム１とは、経路の始点となるストレージシステム（ここでは第一のストレージシステム３３Ａ）のことである。システム３とは、経路の終点となるストレージシステム（ここでは第四のストレージシステム３３Ｄ）のことである。システム２とは、システム１とシステム３と間の中継点となるストレージシステム（ここでは第二又は第三のストレージシステム３３Ｂ又は３３Ｃ）のことである。１−２間タイプとは、システム１のシステム２に対する接続タイプ（例えば外部かリモートか）のことであり、具体的には、システム１からシステム２に対してどのような記憶制御が行われるのかを表す。２−３間タイプとは、システム２のシステム３に対する接続タイプのことである。
【００５３】
図５Ｃは、接続状態管理表６５Ａの構成例を示す。
【００５４】
接続状態管理表６５については、接続状態管理表６５Ａを代表的に例に採り説明する。接続状態管理表６５Ａは、各接続先ストレージシステム毎に、接続状態がどのようになっているか（例えば正常か異常か）を表す情報である。この図５Ｃによれば、第一のストレージシステム３３Ａが、第二及び第三のストレージシステム３３Ｂ及び３３Ｃのいずれにも正常に接続されていることがわかる。この状態において、例えば、第一のストレージシステム３３Ａが、第三のストレージシステム３３Ｂにアクセスできなくなったことを検出したならば、接続先ストレージシステムＩＤ「６００」に対応した状態を「正常」から「異常」に更新することができる。
【００５５】
図５Ｄは、コピーボリューム管理表６６Ｃの構成例を示す。
【００５６】
第三及び第四のストレージシステム３３Ｃ、３３Ｄ内のコピーボリューム管理表６６Ｃ及び６６Ｄは、同じ構成にすることができるので、コピーボリューム管理表６６Ｃを代表的に例に採り説明する。コピーボリューム管理表６６Ｃは、それを有する第三のストレージシステム３３Ｃ内のどの論理ボリュームが、どのストレージシステム内のどの論理ボリュームとペアにされているかを管理するための表である。例えば、コピーボリューム管理表６６Ｃには、コピー元のストレージシステム（ここでは第三のストレージシステム３３Ｃ）のＩＤと、コピー元の論理ボリューム（例えば内部ボリューム６８Ｃ）のＩＤと、コピー先のストレージシステム（ここでは第四のストレージシステム３３Ｄ）のＩＤと、コピー先の論理ボリューム（例えば内部ボリューム６８Ｄ）のＩＤと、コピータイプ／タイミングとが記録される。コピータイプ／タイミングは、コピーのタイプ（例えば、リモートコピーか、或いは、同一のストレージシステム内でのボリューム間コピーである内部コピーか）と、コピーのタイミング（例えば同期か非同期か）を表す。
【００５７】
コピーのタイミングが「同期」の場合、リモートコピーであれば（つまり同期型のリモートコピーでは）、例えば、ストレージシステム３３Ｃは、内部ボリューム６８Ｃに対する書込み要求を受けた場合に、書込み要求に従う書込み処理の実行タイミングと実質的に同じタイミング（例えば、書込み対象データをキャッシュ領域に蓄積したタイミング、又は、書込み対象データを内部ボリューム６８Ｃに書き込んだタイミング）で、書込み対象データのリモートコピー要求を第四のストレージシステム３３Ｄに送信する。そして、ストレージシステム３３Ｃは、第四のストレージシステム３３Ｄから所定の応答を受けた場合に、書込み要求元（例えばストレージシステム３３Ａ）に、書込み完了を返す。
【００５８】
一方、コピーのタイミングが「非同期」の場合、リモートコピーであれば（つまり非同期型のリモートコピーでは）、例えば、ストレージシステム３３Ｃは、内部ボリューム６８Ｃに対する書込み要求に従う書込み処理の実行タイミングとは異なるタイミングで、書込み対象データのリモートコピー要求を第四のストレージシステム３３Ｄに送信する。ストレージシステム３３Ｃは、書込み要求を受けた場合に、書込み完了報告を、書込み要求元（例えばストレージシステム３３Ａ）に返すことができる。非同期のリモートコピーの場合、例えば、ストレージシステム３３Ｃは、未コピーの書込み対象データを、メモリ２７に用意された所定の記憶領域であるサイドファイルに蓄積し、所定のタイミングで、サイドファイルに蓄積された未コピーの書込み対象データを第四のストレージシステム３３Ｄに送信することができる（すなわち、内部ボリューム６８Ｃからわざわざ未コピーのデータを読み出さなくても良い）。
【００５９】
図６Ａは、コピーボリューム管理表６６Ａの構成例を示す。
【００６０】
業務サーバ１側に位置する第一及び第二のストレージシステム３３Ａ、３３Ｂ内のコピーボリューム管理表６６Ａ及び６６Ｂは、同じ構成にすることができるので、コピーボリューム管理表６６Ａを代表的に例に採り説明する。コピーボリューム管理表６６Ａには、各仮想ボリューム毎に、その仮想ボリュームが関わる各経路においてどのようなリモートコピーが行われるかが記録される。例えば、図６Ａによれば、ＩＤ「１」を有する仮想ボリューム６９Ａについて、経路ＩＤが「２」である第二の経路では、第三のストレージシステム（ＩＤ「６００」）内の内部ボリューム６８Ｃ（ＩＤ「１０」）から第四のストレージシステム（ＩＤ「６５０」）内の内部ボリューム６８Ｄ（ＩＤ「５０」）に同期型のリモートコピーが行われることがわかる。
【００６１】
図６Ｂは、書込み要求及びリモートコピー要求の構成例を示す。
【００６２】
すなわち、書込み要求及びリモートコピー要求には、例えば、要求先となるストレージシステムのＩＤと、論理ボリュームのＩＤと、書込み対象のデータとが含まれている。
【００６３】
具体的には、例えば、業務サーバ１は、第一のストレージシステム３３ＡのＩＤと、仮想ボリューム６９ＡのＩＤと、書込み対象データＡとを含んだ書込み要求を、第一のストレージシステム３３Ａに発行することができる。この場合、第一のストレージシステム３３Ａは、仮想ボリューム６９Ａに対応した外部ボリューム６８Ｃが存在することを外部ボリューム管理表６４Ａから特定し、第三のストレージシステム３３ＣのＩＤと、外部ボリューム６８ＣのＩＤと、書込み対象データＡとを含んだ書込み要求を生成し、その書込み要求を、第三のストレージシステム３３Ｃに発行することができる。また、第一のストレージシステム３３Ａは、仮想ボリューム６９Ａとボリュームペアを構成するボリューム６９Ｂが存在することをコピーボリューム管理表６６Ａから特定し、第二のストレージシステム３３ＢのＩＤと、仮想ボリューム６９ＢのＩＤと、書込み対象データＡとを含んだリモートコピー要求を生成し、そのリモートコピー要求を、第二のストレージシステム３３Ｂに発行することができる。
【００６４】
図６Ｃは、リモートコピー作成要求メッセージの構成例を示す。図６Ｄは、リモートコピー環境設定要求メッセージの構成例を示す。これらの構成例については、後述する。
【００６５】
さて、本実施形態に係る記憶制御システムでは、種々の処理が行われるが、それらの処理は、リモートコピーボリューム作成処理と、リモートコピー実行処理との２つに大別することができる。ボリュームペア作成処理では、例えば、リモートコピーボリューム（コピー元ボリュームとペアを成すコピー先ボリューム）を作成するために必要な情報を管理者に提供するための処理や、管理者から要求されたリモートコピーボリュームを作成するための処理が行われる。リモートコピー実行処理では、例えば、リモートコピーにおいて必要に応じて代替経路を管理者に提示する処理や、管理者の要求に応じてリモートコピーのための経路を変更する処理や、ボリュームペア間でのデータ転送が行われる。
【００６６】
以下、リモートコピーボリューム作成処理と、リモートコピー実行処理とについて説明する。
【００６７】
まず、リモートコピーボリューム作成処理の流れについて、大まかに説明する。本処理を実現するプログラムは、管理プログラム５３であっても、制御プログラム６１Ａ〜６１Ｄであっても良い。以降の説明では、管理プログラム５３であるものとする。
【００６８】
（１）管理サーバ１１のオペレータである管理者は、管理サーバ１１上で、リモートコピーのためのボリュームペア（すなわち、コピー元ボリュームとコピー先ボリューム）を選択する。この場合、管理者が選択したボリュームが仮想ボリュームである場合、管理サーバ１１は、その仮想ボリュームに対応する外部ボリュームを管理者に示す。また、管理者が選択したボリュームが外部ボリュームである場合、管理サーバ１１は、その外部ボリュームに対応する仮想ボリュームを管理者に示す。
【００６９】
（２）管理者は、コピー元ボリュームとコピー先ボリュームとを決定し、管理サーバにリモートコピーボリュームを作成するためのリモートコピー作成要求を発行する。
【００７０】
（３）管理サーバ１１は、リモートコピー作成要求を受け付けると、外部ストレージシステム（接続タイプが「外部」である接続先ストレージシステム）経由も含め、リモートコピーボリュームを作成可能な経路を探し、管理サーバ１１のディスプレイ画面に表示する（つまり管理者に示す）。
【００７１】
（４）また、管理サーバ１１は、各ストレージシステム３３Ａ〜３３Ｄの負荷状況や接続状態（例えば正常か異常か）を調べ、最適な経路をディスプレイ画面に表示する。
【００７２】
（５）リモートコピーのための経路が決定し、コピー元ボリュームのコピーであるコピー先ボリュームを実際に作成するとき場合、管理サーバ１１は、その作成が外部ストレージシステム経由であれば、外部ストレージシステムに、リモートコピー用の環境設定を指示した上で、外部ストレージシステムにリモートコピーの作成を要求する。
【００７３】
上記（１）の処理が必要な理由としては、例えば以下の通りである。すなわち、仮想ボリューム６９は、内部ボリューム６８と同様に扱うことができる。そのため、通常、管理者は、ボリュームが仮想ボリュームかどうか、また、それに対応する外部ボリュームがどのボリュームかを意識しない。しかし、リモートコピーボリュームを作成する場合、管理者は、どのストレージシステム間でリモートコピーボリュームを作成するかを把握しておく必要がある。そのため、上記（１）のように、仮想ボリュームとそれに対応する外部ボリュームを示すようにする。
【００７４】
また、管理者がコピー先ボリュームとして外部ボリュームを選択したとき、それに対応する仮想ボリュームを示す理由は、業務サーバ側のストレージシステム３３Ａ、３３Ｂ（例えばいわゆる新型のストレージシステム）からコピー先ボリュームを利用できるようにするためである。
【００７５】
リモートコピーボリューム作成処理では、例えば、ボリューム対応関係検索処理（図７参照）、経路探索処理（図８参照）、経路決定処理（図９参照）、及びコピーボリューム作成実行処理（図１０参照）が行われる。以下、各処理について詳細に説明する。
【００７６】
図７は、ボリューム対応関係検索処理の流れの一例を示す。この図に示す処理は、この図に示す処理は、管理サーバ１１において管理プログラム５３がＣＰＵ１３によって実行されることにより行われる。
【００７７】
管理プログラム５３を実行するＣＰＵ（以下、便宜上、「管理ＣＰＵ」と称する）１３は、当該ボリュームのボリュームタイプが「内部」か否かの識別を行う（ステップＳ１）。具体的には、例えば、管理ＣＰＵ１３は、各ストレージシステム３３Ａ〜３３Ｄの制御プログラム６１Ａ〜６１Ｄに所定の指令を出すことで、ＬＡＮ４７を介して、ボリューム一覧表６３Ａ〜６３Ｄを取得することができる。管理ＣＰＵ１３は、取得したボリューム一覧表６３Ａ〜６３Ｄに基づいて、各ストレージシステム３３Ａ〜３３Ｄ内の複数の論理ボリュームを選択可能に表示したＧＵＩ（Graphical User Interface）を、例えば、管理サーバ１１のディスプレイ画面に表示することができる。管理ＣＰＵ１３は、そのＧＵＩ上で或る論理ボリュームの選択を受けた場合、選択された論理ボリュームのＩＤに対応したボリュームタイプを、ボリューム一覧表６３Ａ〜６３Ｄから識別することができる。
【００７８】
Ｓ１でＹＥＳの場合について説明する。なお、ここの説明では、説明を分かり易くするために、当該ボリュームは内部ボリューム６８Ｃであるとする。管理ＣＰＵ１３は、各ストレージシステム３３Ａ〜３３Ｄから接続ストレージ管理表６２Ａ〜６２Ｄを取得する（Ｓ２）。そして、管理ＣＰＵ１３は、取得した接続ストレージ管理表６２Ａ〜６２Ｄを参照し、当該ボリューム６８Ｃを有するストレージシステム３３Ｃに対する接続タイプが「外部接続」であるストレージシステム３３Ａを識別する（Ｓ３）。次に、管理ＣＰＵ１３は、識別されたストレージシステム３３Ａから外部ボリューム管理表６４Ａを取得する（Ｓ４）。管理ＣＰＵ１３は、取得した外部ボリューム管理表６４Ａから、当該ボリューム６８Ｃを外部ボリュームとして設定している仮想ボリュームを探す（Ｓ５）。仮想ボリューム６９Ａが特定された場合（Ｓ６でＹＥＳ）、管理ＣＰＵ１３は、特定された仮想ボリューム６９ＡのボリュームＩＤに対応するストレージシステム３３ＡのストレージシステムＩＤをボリューム一覧表６３Ａから特定し、特定されたボリュームＩＤ及びストレージシステムＩＤを提供（例えば表示）することができる（Ｓ７）。
【００７９】
Ｓ１でＮＯの場合について説明する。なお、ここの説明では、説明を分かり易くするために、当該ボリュームは仮想ボリューム６９Ａであるとする。管理ＣＰＵ１３は、当該ボリュームのボリュームタイプが「仮想」か否かを識別する（Ｓ８）。「仮想」であると識別した場合（Ｓ８でＹＥＳ）、管理ＣＰＵ１３は、当該ボリューム６９Ａを有するストレージシステム３３Ａから外部ボリューム管理表６４Ａを取得し、外部ボリューム管理表６４Ａから、当該ボリューム６９Ａに対応するストレージシステムと外部ボリュームとを探す（Ｓ９）。その結果が、外部ボリューム６８Ｃが見つかれば（Ｓ１０でＹＥＳ）、管理ＣＰＵ１３は、その外部ボリューム６８ＣのボリュームＩＤと、その外部ボリューム６８Ｃを有するストレージシステム３３ＣのストレージシステムＩＤとを提供（例えば表示）する（Ｓ１１）。
【００８０】
図８は、経路探索処理の流れの一例を示す。この図に示す処理も、管理ＣＰＵ１３が実行することができる。
【００８１】
管理ＣＰＵ１３は、例えば、図６Ｃに例示したリモートコピー作成要求メッセージの入力を管理者から受けることで、この図に示す処理を開始することができる。リモートコピー作成要求メッセージは、ボリュームペアを設定するための要求である。リモートコピー作成要求メッセージには、例えば、図６Ｃに例示するように、コピー元システムＩＤ、コピー元ボリュームＩＤ、コピー先システムＩＤ、コピー先ボリュームＩＤ及び経路ＩＤが含まれる。ここでは、例えば、リモートコピー作成要求メッセージは、ストレージシステム３３Ａに対するものであり、コピー元システムＩＤ「６００」、コピー元ボリュームＩＤ「１０」、コピー先システムＩＤ「６５０」及びコピー先ボリュームＩＤ「５０」を含んでいるものとする。すなわち、第三ストレージシステム３３Ｃの内部ボリューム６８Ｃがコピー元として指定され、第四ストレージシステム３３Ｄの内部ボリューム６８Ｄがコピー先として指定されているとする。この指定は、例えば、管理ＣＰＵ１３が、ボリューム一覧表６３Ａ〜６３Ｄに基づいて複数のボリュームを選択可能に表示し、ボリュームの選択を受け付けることで、行うことができる。また、ここでのリモートコピー作成要求メッセージには、未だ経路の設定が行われていないので、経路ＩＤはヌルデータであるとする。
【００８２】
管理ＣＰＵ１３は、始点ストレージシステムの接続ストレージ管理表上の全レコードについて、Ｓ２２〜Ｓ３１の処理を行う。なお、「始点ストレージシステム」とは、経路の始点となるストレージシステムのことである。管理ＣＰＵ１３は、例えば、上記のように、ストレージシステム３３Ａに対するリモートコピー作成要求メッセージを受けた場合には、始点ストレージシステムを、第一のストレージシステム３３Ａであるとする。故に、接続ストレージ管理表は６２Ａ（図４Ｂ参照）であるとする。
【００８３】
管理ＣＰＵ１３は、接続ストレージ管理表６２Ａ上の或るレコードにおいて、接続タイプとして「外部」と書かれていれば（Ｓ２２でＹＥＳ）、その接続タイプに対応した第三のストレージシステム３３Ｃの接続ストレージ管理表６２Ｃから、接続タイプ「リモート」を含んだレコードを取得する（Ｓ２３）。そして、管理ＣＰＵ１３は、取得したレコード中の接続先ストレージシステムＩＤが、指定されたコピー先ストレージシステムＩＤと同じかどうかを調べる（Ｓ２４）。その結果、同じであれば（Ｓ２５でＹＥＳ）、管理ＣＰＵ１３は、管理サーバ１１の記憶資源上に用意された経路管理表６７Ａに経路管理データを登録する（Ｓ２６）。ここで登録される経路管理データは、図５Ｂにおいて二行目のレコードとなる。すなわち、経路ＩＤとして「２」が割り当てられ、システム１のシステムＩＤは、始点ストレージシステムである第一のストレージシステム３３ＡのＩＤとされ、システム２のシステムＩＤは、接続タイプ「外部」に対応した第三のストレージシステム３３ＣのＩＤとされ、システム３のシステムＩＤは、接続タイプ「リモート」に対応したストレージシステムＩＤ（つまり第四のストレージシステム３３ＤのＩＤ）とされる。
【００８４】
管理ＣＰＵ１３は、接続ストレージ管理表６２Ａ上の或るレコードにおいて、接続タイプとして「リモート」と書かれていれば（Ｓ２２でＮＯ、Ｓ２７でＹＥＳ）、その接続タイプに対応した第二のストレージシステム３３Ｂの接続ストレージ管理表６２Ｂから、接続タイプ「外部」を含んだレコードを取得する（Ｓ２８）。そして、管理ＣＰＵ１３は、取得したレコード中の接続先ストレージシステムＩＤが、コピー先ストレージシステムＩＤと同じかどうかを調べる（Ｓ２９）。その結果、同じであれば（Ｓ３０でＹＥＳ）、管理ＣＰＵ１３は、管理サーバ１１の記憶資源上に用意された経路管理表６７Ａに経路管理データを登録する（Ｓ３１）。ここで登録される経路管理データは、図５Ｂにおいて一行目のレコードとなる。すなわち、経路ＩＤとして「１」が割り当てられ、システム１のシステムＩＤは、始点ストレージシステムである第一のストレージシステム３３ＡのＩＤとされ、システム２のシステムＩＤは、接続タイプ「リモート」に対応した第二のストレージシステム３３ＢのＩＤとされ、システム３のシステムＩＤは、接続タイプ「外部」に対応したストレージシステムＩＤ（つまり第四のストレージシステム３３ＤのＩＤ）とされる。
【００８５】
接続ストレージ管理表６２Ａの全レコードについて、上記のＳ２２〜Ｓ３１が行われたならば、管理ＣＰＵ１３は、管理サーバ１１の記憶資源上に用意された経路管理表６７Ａを提供する（Ｓ３２）。例えば、管理ＣＰＵ１３は、その経路管理表６７Ａを表示したり、第一のストレージシステム３３Ａに送信したりすることができる。
【００８６】
図９は、経路決定処理の流れの一例を示す。この図に示す処理は、例えば、デフォルトの経路を設定する場合に行うことができるが、リモートコピーが行われている最中にも行うことができる。この図に示す処理も、管理ＣＰＵ１３が実行することができる（それに限らず、例えば、制御プログラム６１Ａを読込んで実行するＣＰＵ２３によって行われても良い）。なお、以下の説明では、図９の処理流れを理解し易くするために、利用される経路管理表は６７Ａとする。
【００８７】
管理ＣＰＵ１３は、経路管理表６７Ａにおける全レコード、換言すれば、経路管理表６７Ａで定義されている全ての経路について、Ｓ４１及びＳ４２の処理を行う。すなわち、管理ＣＰＵ１３は、経路管理表６７Ａにおける一つのレコードが表す経路上の各ストレージシステム（始点及び終点を含む）から、接続状態（具体的には、そのストレージシステム３３における接続状態管理表６５に記録されている状態）を取得する（Ｓ４１）。また、管理ＣＰＵ１３は、同経路上の各ストレージシステムから、負荷状況を取得する（Ｓ４２）。ここで、接続状態の取得方法としては、例えば、（Ａ）ＬＡＮ４７経由で取得する方法、（Ｂ）ストレージシステム経由で取得する方法（例えば、ストレージシステム３３Ｄからはストレージシステム３３Ｃを経由して取得する方法）、又は、（Ｃ）ＳＡＮ４３、４５を構成するファイバチャネルスイッチから取得する方法を採用することができる。また、負荷状況の取得方法としては、上記（Ａ）又は（Ｂ）の方法を採用することができる。また、取得される負荷状況としては、例えば、そのストレージシステム３３におけるコンピュータリソースの使用状況、具体的には、例えば、ＣＰＵ２３の使用状況、メモリ２７（特に上記サイドファイル）の使用状況である。使用状況は、例えば、使用率である。
【００８８】
管理ＣＰＵ１３は、経路管理表６７Ａにおける全レコードについてＳ４１及びＳ４２を行った後、接続状態が「正常」である経路を見出し（Ｓ４３）、見出された経路の中から、負荷が最も低い経路を見出す（Ｓ４４）。管理ＣＰＵ１３は、例えば、Ｓ４３で見出された各経路毎に、経路上に存在する複数のストレージシステムの負荷の平均値を算出し、算出された平均値が最も低いものを、負荷が最も低い経路とすることができる。
【００８９】
管理ＣＰＵ１３は、Ｓ４４で見出された経路の経路ＩＤを提供する（Ｓ４５）。例えば、管理ＣＰＵ１３は、その経路ＩＤを表示したり、経路管理表６７Ａを有する第一のストレージシステム３３Ａに通知したりすることができる。
【００９０】
図１０は、コピーボリューム作成実行処理の流れの一例を示す。この図に示す処理も、管理ＣＰＵ１３が行うことができる。
【００９１】
管理ＣＰＵ２３は、リモートコピー作成要求メッセージを受ける（Ｓ５１）。ここでは、例えば、リモートコピー作成要求メッセージは、ストレージシステム３３Ａに対するものであり、コピー元システムＩＤ「６００」、コピー元ボリュームＩＤ「１０」、コピー先システムＩＤ「６５０」、コピー先ボリュームＩＤ「５０」及び経路ＩＤ「２」を含んでいるものとする。
【００９２】
管理ＣＰＵ２３は、リモートコピー作成要求メッセージに含まれている経路ＩＤを有した経路管理データを経路管理表６７Ａから検索し、検索された経路管理データから、外部ストレージシステム（接続タイプが「外部」となった接続先、例えば第三のストレージシステム３３Ｃ）を使ったリモートコピーかどうかを判断する（Ｓ５２）。具体的には、管理ＣＰＵ１３は、検索された経路管理データにおける１−２間タイプを参照して、それが「外部」か否かを判断する。
【００９３】
Ｓ５２でＹＥＳの場合、管理ＣＰＵ１３は、外部ストレージシステム３３Ｃに、リモートコピーの環境が設定されているかどうかを問い合わせる（Ｓ５３）。
【００９４】
その結果、未設定との回答が得られた場合には（Ｓ５４でＹＥＳ）、管理ＣＰＵ１３は、外部ストレージシステム３３Ｃにリモートコピー環境設定要求メッセージを送信する（Ｓ５５）。リモートコピー環境設定要求メッセージは、リモートコピーを実行するための環境設定を行うことの要求である。リモートコピー環境設定要求メッセージには、例えば、図６Ｄに例示するように、ローカル側のストレージシステムのポート番号（例えば、外部ストレージシステム３３ＣのＦＣポートの番号）、リモート側のストレージシステム（例えば、第四のストレージシステム３３Ｄ）のシステムＩＤ、リモート側のストレージシステムのポート番号（例えば、第四のストレージシステム３３ＤのＦＣポートの番号）が含まれている。外部ストレージシステム３３Ｃは、例えば、そのリモートコピー環境設定要求メッセージに従がって、リモートコピーのための環境設定を行い（具体的には、例えば、リモートコピー環境設定要求メッセージに含まれている情報を記憶する）、それが済んだことを示すリモートコピー環境設定応答メッセージを管理サーバ１１に送信する。管理ＣＰＵ１３は、そのリモートコピー環境設定応答メッセージを受信する（Ｓ５６）。
【００９５】
次に、管理ＣＰＵ１３は、リモートコピー作成要求メッセージを外部ストレージシステム３３Ｃに送信する。ここで送信されるリモートコピー作成要求メッセージは、Ｓ５１で受信したリモートコピー作成要求メッセージと同じメッセージにすることができる。外部ストレージシステム３３Ｃは、そのリモートコピー作成要求メッセージを受信し、そのリモートコピー作成要求メッセージに従がって、例えば、コピー元ボリュームＩＤを有する内部ボリューム６８Ｃと全く同じ内部ボリュームであって、コピー先ボリュームＩＤを有する内部ボリューム６８Ｄを第四のストレージシステム３３Ｄに用意させる。また、外部ストレージシステム３３Ｃは、リモートコピー作成要求メッセージに含まれている種々の情報をコピーボリューム管理表６６Ｃに書き込む。外部ストレージシステム３３Ｃは、リモートコピー作成応答メッセージを管理サーバ１１に送信する。管理ＣＰＵ１３は、そのリモートコピー作成応答メッセージを受信する（Ｓ５８）。
【００９６】
その後、管理ＣＰＵ１３は、作成したリモートコピーに関する情報をコピーボリューム管理表６６Ａに登録する（Ｓ６１）。具体的には、例えば、管理ＣＰＵ１３は、Ｓ５１で受信したリモートコピー作成要求メッセージに含まれている種々の情報や、そのメッセージ内のコピー元ボリュームＩＤと一致する仮想ボリュームＩＤ（外部ボリューム管理表６４Ａに登録されているボリュームＩＤ）を、コピーボリューム管理表６６Ａに登録する。コピータイプとしては、例えば、経路管理表６７Ａにおける２−３間タイプ「リモート」が登録されても良い。コピータイミングとしては、例えば、デフォルトのタイミング、或いは管理者等から指定されたタイミングが登録されても良い。
【００９７】
Ｓ６１の後、管理ＣＰＵ１３は、Ｓ５１で受信したリモートコピー作成要求メッセージの送信元に、リモートコピー作成応答メッセージを提供する（Ｓ６２）。
【００９８】
ところで、上記のＳ５２でＮＯの場合、管理ＣＰＵ１３は、リモート側ストレージシステム（ここでは第二のストレージシステム３３Ｂ）に、リモートコピー作成要求メッセージを送信する（Ｓ５９）。これにより、リモート側ストレージシステム３３Ｂにおいて、この図１０に示す処理が行われて、管理ＣＰＵ１３は、リモート側ストレージシステム３３Ｂから、リモートコピー作成応答メッセージを受信する（Ｓ６０）。その後、管理ＣＰＵ１３は、前述したＳ６１以降の処理を行う。
【００９９】
以上が、リモートコピーボリューム作成処理の流れの一例である。次に、リモートコピー実行処理について説明する。リモートコピー実行処理では、例えば、経路切替処理（図１１参照）及びリモートコピー処理（図１２参照）が行われる。以下、各処理について詳細に説明する。
【０１００】
図１１は、経路切替処理の流れの一例を示す。この図に示す処理は、例えば、本実施形態に係る記憶制御システムの稼動中に（例えば、リモートコピーが行われている最中に）、第一のストレージシステム３３Ａの制御プログラム６１Ａを読込んで実行するＣＰＵ（以下、制御ＣＰＵ）２３、又は管理サーバ１１の管理ＣＰＵ１３が実行することができる。以下、制御ＣＰＵ２３が実行するものとして説明する。
【０１０１】
制御ＣＰＵ２３は、コピーボリューム管理表６６Ａから、当該リモートコピー（例えば、現在参照している一行目のレコードに関わるリモートコピー）で使用されている経路（例えば経路ＩＤ「２」）を判別する（Ｓ７１）。
【０１０２】
次に、制御ＣＰＵ２３は、判別した経路上のストレージシステム（例えば３３Ｃ及び３３Ｄ）から、接続状態及び負荷状況を取得する（Ｓ７２及びＳ７３）。制御ＣＰＵ２３は、取得された接続状態が「異常」を示しているか否か、又は、負荷が高いか否かを判定する（Ｓ７４）。負荷が高いか否かの判定は、例えば、取得されたメモリ使用率が所定使用率より高いか否か、或いは、取得されたＣＰＵ使用率が所定使用率より高いか否かの判定である。
【０１０３】
Ｓ７４でＹＥＳの場合、制御ＣＰＵ２３は、代替経路を見出し、見出された代替経路（例えばそれの経路ＩＤ）を、管理サーバ１１に通知する（Ｓ７６）。ここで、見出すべき代替経路としては、経路管理表６６Ａにおいて、システム１のシステムＩＤ（つまり始点のシステムＩＤ）及びシステム３のシステムＩＤ（つまり終点のシステムＩＤ）が、Ｓ７１で判別された経路システム１のシステムＩＤ及びシステム３のシステムＩＤと同じであるものである。
【０１０４】
その通知を受けた管理サーバ１１では、例えば、管理プログラム５３に記述された所定の計算式により、或いは、管理サーバ１１を利用する管理者の判断により、見出された代替経路への接続要求を発行するか否かが決定される。発行すると決定された場合、制御ＣＰＵ２３は、管理サーバ１１から、代替経路への切替要求を受信する。
【０１０５】
制御ＣＰＵ２３は、Ｓ７６の後、代替経路への切替要求を受信した場合（Ｓ７７でＹＥＳ）、当該リモートコピーを行っているストレージシステム３３Ｃに、リモートコピーの中断を指示する（Ｓ７８）。これにより、リモートコピーが中断される。
【０１０６】
制御ＣＰＵ２３は、中断したリモートコピーに関するレコードをコピーボリューム管理表６６Ａから削除する（Ｓ７９）。その後、例えば、図８及び図１０の処理が行われることにより、代替経路でのリモートコピーが作成され（Ｓ８０）、作成されたリモートコピーに関する情報が、コピーボリューム管理表６６Ａに登録され（Ｓ８１）、リモートコピー作成応答メッセージが、管理サーバ１１に返信される（Ｓ８２）。
【０１０７】
以上が、経路切替処理の流れの一例についての説明である。なお、この流れでは、例えば、Ｓ７４でＹＥＳの場合、代替経路が見出されたら、Ｓ７６及びＳ７７を経ることなくＳ７８が行われても良い。また、例えば、コピーボリューム管理表６６Ａには、図８及び図１０の処理により、予め、各経路毎に、その経路を使用するリモートコピーに関する情報を登録しておき、Ｓ７８の後、Ｓ７９以降の処理が行われることなく、代替経路を利用したリモートコピーが開始されても良い。
【０１０８】
図１２は、リモートコピー処理の流れの一例を示す。
【０１０９】
制御ＣＰＵ２３が、書込み要求（図６Ｂ参照）を受信した場合（Ｓ９１）、コピーボリューム管理表６６を参照し、書込み要求で指定されている当該ボリュームがリモートコピー対象かどうかを調べる（Ｓ９２）。具体的には、例えば、制御ＣＰＵ２３は、コピーボリューム管理表６６を参照し、当該ボリュームがコピー元ボリュームかどうかを調べる。或いは、例えば、管理ＣＰＵ１３又は制御ＣＰＵ２３が、現在選択されている経路の経路ＩＤ（例えば、図９の処理で見出された代替経路への変更前の経路ＩＤ）を、メモリ２７に設定しておき、制御ＣＰＵ２３が、経路管理表６７Ａを参照し、その経路ＩＤを含んだレコードにおける１−２間タイプを識別し、識別されたタイプがリモートかどうかを調べる。
【０１１０】
Ｓ９２の結果、リモートコピー対象であれば（Ｓ９３でＹＥＳ）、制御ＣＰＵ２３は、同期型か否かを調べ（Ｓ９４）、同期型であれば（Ｓ９４でＹＥＳ）、直ちにコピー先ボリュームに書込み対象データを転送し（Ｓ９５）、書込み応答を、Ｓ９１の書込み要求の発行元に返信する（Ｓ９６）。Ｓ９４で、非同期型であれば（Ｓ９４でＹＥＳ）、制御ＣＰＵ２３は、例えば、Ｓ９１で受信した書込み要求中の書込み対象データを上記サイドファイルに蓄積し、Ｓ９５を行うことなくＳ９６を実行する。
【０１１１】
Ｓ９２の結果、リモートコピー対象でなければ（Ｓ９３でＮＯ）、制御ＣＰＵ２３は、外部ボリューム管理表６４を参照し、書込み要求で指定されている当該ボリュームが仮想ボリュームかどうかを調べる（Ｓ９７）。その結果、仮想ボリュームであれば（Ｓ９８でＹＥＳ）、制御ＣＰＵ２３は、仮想ボリュームに対応する外部ボリュームを外部ボリューム管理表６４から見出し（Ｓ９９）、その外部ボリュームのＩＤを含んだ書込み要求を、外部ストレージシステムに発行する（Ｓ１００）。その後、制御ＣＰＵ２３は、その書込み要求の応答（例えば書込み完了報告）を、外部ストレージシステムから受信する（Ｓ１０１）。
【０１１２】
以上、上述した実施形態によれば、外部接続とリモートコピーとの共通点を利用した新規な記憶制御技術が提供される。すなわち、第一のストレージシステム３３Ａの仮想ボリューム６９Ａと、第四のストレージシステム３３Ｄの内部ボリューム６８Ｄとの間には、第二のストレージシステム３３Ｂを経由する第一の経路と、第三のストレージシステム３３Ｃを経由する第二の経路とが用意される。第一の経路と第二の経路のどちらを使用するかが、管理サーバ１１又は第一のストレージシステム３３Ａによって選択され、仮想ボリューム６９Ａに対してデータの書込み要求が発行された場合、選択された方の経路で、そのデータを内部ボリューム６８Ｄに書き込むことができる。
【０１１３】
また、上述した実施形態によれば、経路の選択は、ストレージシステム間の接続状態及び経路の負荷状況に基づいて行われる。具体的には、例えば、管理サーバ１１又はストレージシステム３３Ａが、第一の経路を選択した後、各経路の接続状態及び負荷を収集し、第一の経路で障害が発生した（例えばストレージシステム３３Ｂで障害が発生した）、及び／又は、第一の経路の負荷よりも第二の経路の負荷の方が低いと判断した場合に、第一の経路から第二の経路に切り替える。以後、第二の経路に沿って、仮想ボリューム６９Ａに対する書込み対象のデータが、内部ボリューム６８Ｄに格納される。これにより、記憶制御システムのスループット（単位時間当たりに内部ボリューム６８Ｄに書き込めるデータ量）の低下を抑えることができる。
【０１１４】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０１１５】
例えば、図１３Ａ及び図１３Ｂに例示するように、第一の経路と第二の経路との両方を使用してリモートコピーが行われても良い。その際、第一の経路と第二の経路の選択は、リモートコピータイプの選択となる。例えば、図１３Ａに例示するように、第一の経路が選択された場合、第一の経路で同期型リモートコピーが行われ、第二の経路で非同期型リモートコピーが行われても良い。同様に、例えば、図１３Ｂに例示するように、第二の経路が選択された場合、第二の経路で同期型リモートコピーが行われ、第一の経路で非同期型リモートコピーが行われても良い。また、例えば、記憶制御システムの稼動中に、第一の経路及び第二の経路のリモートコピータイプの切替が行われても良い（すなわち、図１３Ａと図１３Ｂとの相互切替が行われても良い）。また、例えば、図１３Ａにおいて、第一の経路よりも第二の経路の負荷の方が低いことが判断された場合には、図１３Ｂのように、第一の経路で非同期型リモートコピーとし、第二の経路で同期型リモートコピーとされても良い。
【０１１６】
また、例えば、図１４Ａに例示するように、代替経路への変更が行われた場合、その変更の理由（原因）が、接続状態が障害になっていたためである場合には（Ｓ１１１でＹＥＳ）、リモートコピーが完全にやり直され（Ｓ１１２）、一方、負荷が高くなった等の別の理由である場合には（Ｓ１１１でＮＯ）、未コピー分のデータのみがリモートコピーされても良い（Ｓ１１３）。具体的には、例えば、第一ストレージシステム３３Ａは、ストレージシステム３３Ｂ、３３Ｃへの転送済みのデータと未転送のデータとを管理しており、Ｓ１１１でＹＥＳの場合には、転送済みのデータを代替経路に従がって転送してもよい。一方、Ｓ１１１でＮＯの場合には、第一ストレージシステム３３Ａは、未転送のデータのみを代替経路に従がって転送しても良い。
【０１１７】
また、例えば、各ストレージシステム３３Ａ、３３Ｂは、二台以上のストレージシステムに対して外部接続に従うデータの書込みを行うことができる。例えば、図１４Ｂに例示するように、第一のストレージシステム３３Ａには、仮想ボリュームＥ´に対応した外部ボリュームＥを有する第五のストレージシステム３３Ｅが接続されても良い。また、第二のストレージシステム３３Ｂには、仮想ボリュームＦ´に対応した外部ボリュームＦを有する第六のストレージシステム３３Ｆに接続されても良い。この場合、外部ボリュームＥ，Ｆ間のリモートコピーの経路として、例えば、「３３Ａ→３３Ｂ→３３Ｆ」という経路と、「３３Ａ→３３Ｃ→３３Ｄ→３３Ｆ」という経路が選択的に使用されても良い。
【０１１８】
また、例えば、図１５に示すように、三台のストレージシステムにより、記憶制御システムが構成されても良い。ここでは、「３３Ａ→３３Ｃ→３３Ｂ」という経路と、「３３Ａ→３３Ｂ」という経路が、選択的に使用されても良い。また、この場合、第一のストレージシステム３３Ａは、第三ストレージシステム３３Ｃに対しては接続タイプが「外部」であること認識した場合、仮想ボリューム６９Ａに対応付けられている外部ボリューム６８Ｃを業務サーバ１に提供することができる。一方、第一のストレージシステム３３Ａは、第二ストレージシステム３３Ｂに対しては接続タイプが「リモート」であること認識した場合、仮想ボリューム６９Ａに対応付けられている内部ボリューム６８Ｂを業務サーバ１に提供しない。
【図面の簡単な説明】
【０１１９】
【図１】図１は、本発明の一実施形態に係る記憶制御システムのハードウェア構成の概要を示す。
【図２】図２は、本発明の一実施形態の概要の説明図である。
【図３】図３は、本発明の一実施形態に係る記憶制御システムの機能ブロック図である。
【図４】図４Ａは、ボリューム一覧表６３Ｄの構成例を示す。図４Ｂは、接続ストレージ管理表６３Ａの構成例を示す。図４Ｃは、接続ストレージ管理表６３Ｂの構成例を示す。図４Ｄは、接続ストレージ管理表６３Ｃの構成例を示す。図４Ｅは、接続ストレージ管理表６３Ｄの構成例を示す。図４Ｆは、外部ボリューム管理表６４Ａの構成例を示す。
【図５】図５Ａは、外部ボリューム管理表６４Ｂの構成例を示す。図５Ｂは、経路管理表６７Ａの構成例である。図５Ｃは、接続状態管理表６５Ａの構成例を示す。図５Ｄは、コピーボリューム管理表６６Ｃの構成例を示す。
【図６】図６Ａは、コピーボリューム管理表６６Ａの構成例を示す。図６Ｂは、書込み要求及びリモートコピー要求の構成例を示す。図６Ｃは、リモートコピー作成要求メッセージの構成例を示す。図６Ｄは、リモートコピー環境設定要求メッセージの構成例を示す。
【図７】図７は、ボリューム対応関係検索処理の流れの一例を示す。
【図８】図８は、経路探索処理の流れの一例を示す。
【図９】図９は、経路決定処理の流れの一例を示す。
【図１０】図１０は、コピーボリューム作成実行処理の流れの一例を示す。
【図１１】図１１は、経路切替処理の流れの一例を示す。
【図１２】図１２は、リモートコピー処理の流れの一例を示す。
【図１３】図１３Ａは、本発明の別の実施形態に係る記憶制御システムにおいて行われる一つの処理を示す。図１３Ｂは、同実施形態に係る記憶制御システムにおいて行われる別の処理を示す。
【図１４】図１４Ａは、本発明のまた別の実施形態に係る記憶制御システムにおいて行われる一つの処理の一例を示す。図１４Ｂは、本発明の更に別の実施形態に係る記憶制御システムの構成例を示す。
【図１５】図１５は、本発明の更にまた別の実施形態に係る記憶制御システムを示す。
【符号の説明】
【０１２０】
１…業務サーバ  ３…ＣＰＵ  ５…ハードディスクドライブ（ＨＤＤ）  ７…メモリ  １１…管理サーバ  １３…ＣＰＵ  １５…ＨＤＤ  １７…メモリ  ２９Ａ、２９Ｂ、２９Ｃ、２９Ｄ…ＨＤＤ  ３１Ａ、３１Ｂ、３１Ｃ、３１Ｄ…制御装置  ３３Ａ、３３Ｂ、３３Ｃ、３３Ｄ…ストレージシステム  ４１、４３、４５…ＳＡＮ  ４７…ＬＡＮ  ６８Ａ、６８Ｂ、６８Ｃ、６８Ｄ…内部ボリューム（外部ボリューム）  ６９Ａ、６９Ｂ、６９Ｃ、６９Ｄ…仮想ボリューム
【図１】
2007042008.tif 000003
【図２】
2007042008.tif 000004
【図３】
2007042008.tif 000005
【図４】
2007042008.tif 000006
【図５】
2007042008.tif 000007
【図６】
2007042008.tif 000008
【図７】
2007042008.tif 000009
【図８】
2007042008.tif 000010
【図９】
2007042008.tif 000011
【図１０】
2007042008.tif 000012
【図１１】
2007042008.tif 000013
【図１２】
2007042008.tif 000014
【図１３】
2007042008.tif 000015
【図１４】
2007042008.tif 000016
【図１５】
2007042008.tif 000017