(57)【要約】【課題】  複数のサブネットワークに種々のストレージ装置が分散して配置されているヘテロジニアスなストレージ環境下において、各ストレージ装置の情報を一つのストレージ装置内で一元的に管理する。【解決手段】  広域ネットワークは、サブネットワーク４Ａ〜４Ｄを備えており、各サブネットワークには複数のストレージ装置５が設けられている。接続元となるストレージ装置１は、ユーザから入力された条件に基づいて（S1）、問合せコマンドを発行し、各外部ストレージ装置５からストレージ情報を収集する（S2）。ユーザの希望条件に合致する外部リソース（ボリューム）が抽出されると（S3）、この外部リソースは管理端末５に表示される（S4）。ユーザが所望の外部リソースを選択すると、この外部リソースは、仮想的な中間ボリューム８に接続されて、ホスト３に提供される。【選択図】        図１
2006309483.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して他の複数のストレージ装置にそれぞれ接続可能なストレージ装置であって、
前記他の各ストレージ装置に関するストレージ情報をそれぞれ管理するストレージ情報管理部と、
論理ボリュームに接続される中間ボリュームと、
入力された抽出条件に基づいて、前記ストレージ情報管理部によって管理されている前記各ストレージ情報を検索することにより、前記他の各ストレージ装置の中から前記抽出条件に合致する所定のストレージ装置を抽出する抽出部と、
前記抽出部によって抽出された前記所定のストレージ装置を提示する提示部と、
前記提示部によって提示された前記所定のストレージ装置が選択された場合には、前記所定のストレージ装置の有する記憶デバイスを前記中間ボリュームに接続し、前記中間ボリュームを前記論理ボリュームに接続させる接続制御部と、
を備えたことを特徴とするストレージ装置。
【請求項２】
前記通信ネットワークは、複数のサブネットワークを含んでおり、これら各サブネットワークのうちいずれか一つのサブネットワークに前記ストレージ装置が設けられ、他の各サブネットワークには、前記他のストレージ装置がそれぞれ少なくとも一つずつ設けられている請求項１に記載のストレージ装置。
【請求項３】
前記ストレージ情報管理部は、問合せコマンドを前記他の各ストレージ装置にそれぞれ発行することにより、前記他の各ストレージ装置から前記ストレージ情報をそれぞれ取得して管理する請求項１に記載のストレージ装置。
【請求項４】
前記ストレージ情報管理部は、前記抽出条件が入力された場合に、前記各ストレージ情報を取得済であるか否かを判定し、前記各ストレージ情報を取得していないと判定した場合は、問合せコマンドを前記他の各ストレージ装置にそれぞれ発行することにより、前記他の各ストレージ装置から前記ストレージ情報をそれぞれ取得して管理する請求項１に記載のストレージ装置。
【請求項５】
前記ストレージ情報管理部は、前記他の各ストレージ装置の構成変更を検出した場合、この構成変更に係る他のストレージ装置に問合せコマンドを発行することにより、前記構成変更に係る他のストレージ装置からストレージ情報を取得する請求項１に記載のストレージ装置。
【請求項６】
前記ストレージ情報管理部は、前記問合せコマンドに対する前記他の各ストレージ装置の応答状態をそれぞれ検出して管理可能である請求項３〜請求項５のいずれか１項に記載のストレージ装置。
【請求項７】
前記ストレージ情報管理部は、前記抽出条件に応じて前記問合せコマンドを発行することができる請求項３〜請求項５のいずれか１項に記載のストレージ装置。
【請求項８】
前記抽出条件は、前記他の各ストレージ装置の複数の属性のうち、いずれか一つ以上の属性を含んで構成される請求項１に記載のストレージ装置。
【請求項９】
前記抽出条件には、前記他の各ストレージ装置が属するクラス種別、前記他の各ストレージ装置が有する記憶デバイスの種別、前記他の各ストレージ装置のベンダ名、前記他の各ストレージ装置の有する空き容量のうち、いずれか一つ以上が含まれている請求項１に記載のストレージ装置。
【請求項１０】
前記提示部は、前記所定のストレージ装置が複数検出された場合は、それら全てを提示する請求項１に記載のストレージ装置。
【請求項１１】
前記接続制御部は、前記記憶デバイスの有する物理的な記憶領域を前記中間ボリュームを介して前記論理ボリュームに割り当てるように、前記中間ボリュームを介して前記記憶デバイスと前記論理ボリュームとを接続させる請求項１に記載のストレージ装置。
【請求項１２】
前記ストレージ情報管理部は、前記問合せコマンドに対する前記他の各ストレージ装置の応答状態をそれぞれ検出して管理可能であり、
前記接続制御部は、前記ストレージ情報管理部によって管理されている前記他の各ストレージ装置の応答状態に基づいて、前記所定のストレージ装置の有する記憶デバイスと前記論理ボリュームとの間の転送モードを制御する請求項１に記載のストレージ装置。
【請求項１３】
前記接続制御部は、前記選択された所定のストレージ装置からの応答時間が所定の基準時間以上の場合に非同期転送モードを選択し、前記選択された所定のストレージ装置からの応答時間が前記所定の基準値未満の場合に同期転送モードを選択する請求項１２に記載のストレージ装置。
【請求項１４】
前記接続制御部は、前記記憶デバイスと前記論理ボリュームとを前記中間ボリュームを介して接続させた場合に、前記他の各ストレージ装置による前記記憶デバイスの利用を禁止させる請求項１に記載のストレージ装置。
【請求項１５】
それぞれ少なくとも一つ以上のストレージ装置が設けられている複数のサブネットワークを備えたストレージシステムであって、
前記各ストレージ装置のうち少なくとも一つのストレージ装置は、
前記各サブネットワークを介して前記他の各ストレージ装置とそれぞれ通信するための通信ポートを有する制御部と、
前記制御部によって使用されるメモリと、
前記メモリに記憶された接続制御テーブルと、
前記制御部によって生成される論理ボリュームと、
前記制御部によって生成され、前記接続制御テーブルによって前記論理ボリュームに論理的に接続される中間ボリュームと、を備えており、
前記制御部は、
他の各ストレージ装置に関するストレージ情報をそれぞれ取得し、これら取得した各ストレージ情報を前記メモリに記憶させて管理するストレージ情報管理部と、
前記制御部に接続された管理端末から入力された抽出条件に基づいて、前記ストレージ情報管理部によって管理されている前記各ストレージ情報を検索することにより、前記他の各ストレージ装置の中から前記抽出条件に合致する所定のストレージ装置を抽出する抽出部と、
前記抽出部によって抽出された前記所定のストレージ装置を前記管理端末を介して提示する提示部と、
前記提示部によって提示された前記所定のストレージ装置が前記管理端末を介して選択された場合には、前記接続制御テーブルの登録内容を更新させることにより、前記所定のストレージ装置の有する記憶デバイスを前記中間ボリュームを介して前記論理ボリュームに接続させる接続制御部と、
を備えたことを特徴とするストレージシステム。
【請求項１６】
さらに、前記制御部は、他の通信ポートを介して上位装置と通信可能であり、
前記他の通信ポートと前記上位装置とを接続する通信ネットワークは、前記他の各ストレージ装置に接続される通信ネットワークから独立している請求項１５に記載のストレージシステム。
【請求項１７】
複数種類のストレージ装置がネットワーク上に混在してなるストレージシステムを、前記各ストレージ装置のうち管理機能を備えたストレージ装置で管理させるための方法であって、
前記管理機能を備えたストレージ装置は、
抽出条件の入力を受け付けるステップと、
前記抽出条件が入力された場合には、前記各ストレージ装置のストレージ情報を管理するためのデータベースが生成されているか否かを判定するステップと、
前記データベースが生成されていない場合には、問合せコマンドを発行することにより、前記各ストレージ装置から前記各ストレージ情報をそれぞれ取得して、前記データベースを生成するステップと、
前記抽出条件に基づいて、前記データベースを検索することにより、前記抽出条件に合致する所定のストレージ装置を抽出するステップと、
前記抽出された所定のストレージ装置を提示するステップと、
前記提示された所定のストレージ装置が選択されたか否かを判定するステップと、
前記所定のストレージ装置が選択された場合は、前記所定のストレージ装置の有する記憶デバイスを、前記管理機能を備えたストレージ装置の有する中間ボリュームを介して、前記管理機能を備えたストレージ装置の有する論理ボリュームに論理的に接続させるステップと、
前記各ストレージ装置の構成変更が検出された場合には、この構成変更に係るストレージ装置のストレージ情報を取得し、前記データベースを更新させるステップと、
をそれぞれ実行するストレージシステムの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージシステムに関する。
【背景技術】
【０００２】
例えば、政府機関、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模なストレージシステムを用いてデータを管理する。このストレージシステムは、例えば、ディスクアレイ装置等のストレージ装置を備えて構成される。例えば、ストレージ装置は、多数の記憶デバイスをアレイ状に配設して構成されるもので、RAID（Redundant Array of Inexpensive Disks）に基づく記憶領域を提供する。記憶デバイス群が提供する物理的な記憶領域上には少なくとも１つ以上の論理ボリュームが形成され、この論理ボリュームがホストコンピュータ（以下、「ホスト」と略記）に提供される。ホストは、ライトコマンドやリードコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
【０００３】
企業等で管理すべきデータは、日々増大する。このため、企業等では、例えば、ストレージシステムに新たなストレージ装置を配備して、ストレージシステムを拡張する。新型のストレージ装置をストレージシステムに導入する方法としては、２通り考えられる。一つは、旧型のストレージ装置と新型のストレージ装置とを置き換える方法である（特許文献１）。他の一つは、旧型のストレージ装置と新型のストレージ装置とを併存させる方法である。
【０００４】
ところが、旧型のストレージ装置から新型のストレージ装置に完全に移行させる場合は、旧型のストレージ装置を活用することができない。これに対し、旧型のストレージ装置と新型のストレージ装置との併存を図る場合は、ストレージシステムの構成が複雑化し、管理運用の手間が大きくなる。
【０００５】
そこで、ホストと第１ストレージ装置とを接続すると共に、第１ストレージ装置と第２ストレージ装置とを接続し、ホストからのアクセス要求を第１ストレージ装置が代表して処理するようにした技術も知られている（特許文献２）。この技術では、第２ストレージ装置を対象とするコマンドも第１ストレージ装置が受け付けて、処理を代行する。必要があれば、第１ストレージ装置は、第２ストレージ装置にコマンドを発行し、その処理結果を受信してホストに送信する。
【特許文献１】特表平１０−５０８９６７号公報
【特許文献２】特開２００４−００５３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記文献に記載のように、第１ストレージ装置と第２ストレージ装置とを直列的に接続し、ホストからのアクセス要求を第１ストレージ装置が受け付けることにより、旧型のストレージ装置の記憶資源を有効に利用することができる。
【０００７】
ところで、近年では、それぞれストレージ装置を備えた複数のサブネットワークを連携させて、より広域なストレージネットワークを構築することも考えられている。このような広域のストレージシステムでは、多種多様なストレージ装置が混在し易く、いわゆるヘテロジニアスなストレージ環境が形成される。ヘテロジニアスなストレージ環境下で、各ストレージ装置を管理し、運用するのには手間がかかる。
【０００８】
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的の一つは、所望のストレージ装置を比較的簡単に選択して、複数のストレージ装置を連携させて使用することができるようにしたストレージ装置及びストレージシステムを提供することにある。本発明の他の目的は、種々のストレージ装置が混在するヘテロジニアスな環境下で、所望のストレージ装置を比較的簡単に検出して利用することができるようにしたストレージ装置及びストレージシステムを提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明に従うストレージ装置は、通信ネットワークを介して他の複数のストレージ装置にそれぞれ接続可能なストレージ装置であって、他の各ストレージ装置に関するストレージ情報をそれぞれ管理するストレージ情報管理部と、論理ボリュームに接続される中間ボリュームと、入力された抽出条件に基づいて、ストレージ情報管理部によって管理されている各ストレージ情報を検索することにより、他の各ストレージ装置の中から抽出条件に合致する所定のストレージ装置を抽出する抽出部と、抽出部によって抽出された所定のストレージ装置を提示する提示部と、提示部によって提示された所定のストレージ装置が選択された場合には、所定のストレージ装置の有する記憶デバイスを中間ボリュームに接続し、中間ボリュームを論理ボリュームに接続させる接続制御部と、を備えたことを特徴とする。
【００１０】
通信ネットワークは、複数のサブネットワークを含むことができる。これら各サブネットワークのうちいずれか一つのサブネットワークに、前記ストレージ装置を設け、他の各サブネットワークには、他の各ストレージ装置をそれぞれ少なくとも一つずつ設けることができる。
【００１１】
ストレージ情報管理部は、問合せコマンドを他の各ストレージ装置にそれぞれ発行することにより、他の各ストレージ装置からストレージ情報をそれぞれ取得して管理することができる。
【００１２】
ストレージ情報管理部は、抽出条件が入力された場合に、各ストレージ情報を取得済であるか否かを判定し、各ストレージ情報を取得していないと判定した場合は、問合せコマンドを他の各ストレージ装置にそれぞれ発行することにより、他の各ストレージ装置からストレージ情報をそれぞれ取得して管理することもできる。
【００１３】
ストレージ情報管理部は、他の各ストレージ装置の構成変更を検出した場合、この構成変更に係る他のストレージ装置に問合せコマンドを発行することにより、構成変更に係る他のストレージ装置からストレージ情報を取得することもできる。
【００１４】
ストレージ情報管理部は、問合せコマンドに対する他の各ストレージ装置の応答状態をそれぞれ検出して管理することもできる。
【００１５】
ストレージ情報管理部は、抽出条件に応じて問合せコマンドを発行可能である。抽出条件に応じて問合せコマンドを発行するとは、SCSIコマンドを例に挙げると、Inquiryコマンド、ReadCapacityコマンド、ReportLUNコマンド、TestUnitReadyコマンド等のように、抽出条件に含まれている各属性を他の各ストレージ装置から取得するために、取得対象の属性に応じて問合せコマンドを発行することを意味する。
【００１６】
抽出条件には、他の各ストレージ装置が属するクラス種別、他の各ストレージ装置が有する記憶デバイスの種別、他の各ストレージ装置のベンダ名、他の各ストレージ装置の有する空き容量のうち、いずれか一つ以上が含まれていてもよい。
【００１７】
提示部は、所定のストレージ装置が複数検出された場合は、それら全てを提示することができる。抽出条件は、所望の構成を備えたストレージ装置（所定のストレージ装置）を抽出するために使用される。抽出条件には、ユーザの所望する属性が一つまたは複数含まれている。
従って、指定された属性を備える他のストレージ装置は全て抽出され、ユーザにより選択される候補ストレージ装置となる。このように、特定のストレージ装置を直接指定するのではなく、候補となる所定のストレージ装置を複数抽出可能である。従って、提示部は、抽出された全ての所定のストレージ装置をユーザに提示する。
【００１８】
接続制御部は、記憶デバイスの有する物理的な記憶領域を中間ボリュームを介して論理ボリュームに割り当てるように、中間ボリュームを介して記憶デバイスと論理ボリュームとを接続させることができる。
即ち、論理ボリュームの有する記憶空間は、中間ボリュームの有する記憶空間を介して、記憶デバイスの物理的な記憶領域に割り付けられる。論理ボリュームの記憶空間のアドレスを指定してデータの入出力を行う場合、そのアドレスは中間ボリュームの記憶空間を介して、記憶デバイスの物理的な記憶領域のアドレスに変換される。
【００１９】
ストレージ情報管理部は、問合せコマンドに対する他の各ストレージ装置の応答状態をそれぞれ検出して管理可能である。そして、接続制御部は、ストレージ情報管理部によって管理されている他の各ストレージ装置の応答状態に基づいて、所定のストレージ装置の有する記憶デバイスと論理ボリュームとの間の転送モードを制御可能である。
【００２０】
接続制御部は、選択された所定のストレージ装置からの応答時間が所定の基準時間以上の場合に非同期転送モードを選択し、選択された所定のストレージ装置からの応答時間が所定の基準値未満の場合に同期転送モードを選択することができる。
非同期転送モードとは、論理ボリュームにデータを書き込む場合、そのデータを記憶デバイスの対応する位置に書き込むよりも前に書込み完了を報告するモードである。同期転送モードとは、論理ボリュームにデータを書き込む場合、そのデータを記憶デバイスの対応する位置に書き込んだことを確認してから、書込み完了を報告するモードである。
【００２１】
接続制御部は、記憶デバイスと論理ボリュームとを中間ボリュームを介して接続させた場合に、他の各ストレージ装置による記憶デバイスの利用を禁止可能である。記憶デバイスの利用を禁止させる方法としては、例えば、他のストレージ装置からの問合せコマンドに応答しないように、記憶デバイスのアクセス属性を設定することが考えられる。他の方法としては、例えば、その記憶デバイスが既に利用されていることを示す情報を、他の各ストレージ装置に通知することが考えられる。
【００２２】
本発明の別の観点に従うストレージシステムは、それぞれ少なくとも一つ以上のストレージ装置が設けられている複数のサブネットワークを備えたストレージシステムであって、各ストレージ装置のうち少なくとも一つのストレージ装置は、各サブネットワークを介して他の各ストレージ装置とそれぞれ通信するための通信ポートを有する制御部と、制御部によって使用されるメモリと、メモリに記憶された接続制御テーブルと、制御部によって生成される論理ボリュームと、制御部によって生成され、接続制御テーブルによって論理ボリュームに論理的に接続される中間ボリュームと、を備えている。そして、制御部は、他の各ストレージ装置に関するストレージ情報をそれぞれ取得し、これら取得した各ストレージ情報をメモリに記憶させて管理するストレージ情報管理部と、制御部に接続された管理端末から入力された抽出条件に基づいて、ストレージ情報管理部によって管理されている各ストレージ情報を検索することにより、他の各ストレージ装置の中から抽出条件に合致する所定のストレージ装置を抽出する抽出部と、抽出部によって抽出された所定のストレージ装置を管理端末を介して提示する提示部と、提示部によって提示された所定のストレージ装置が管理端末を介して選択された場合には、接続制御テーブルの登録内容を更新させることにより、所定のストレージ装置の有する記憶デバイスを中間ボリュームを介して論理ボリュームに接続させる接続制御部と、を備える。
【００２３】
さらに、制御部は、他の通信ポートを介して上位装置と通信可能であり、他の通信ポートと上位装置とを接続する通信ネットワークは、他の各ストレージ装置に接続される通信ネットワークから独立して構成可能である。即ち、制御部と上位装置との間の通信ネットワークと、制御部と他の各ストレージ装置の間の通信ネットワークとを、互いに独立させて構成することができる。これにより、制御部と他の各ストレージ装置との通信が、上位装置と制御部との間の通信ネットワークに影響を与えることなく、上位装置への応答性を確保しながら、他の複数のストレージ装置を管理することができる。
【００２４】
本発明の他の観点に従うストレージシステムの管理方法は、複数種類のストレージ装置がネットワーク上に混在してなるストレージシステムを、各ストレージ装置のうち管理機能を備えたストレージ装置で管理させるための方法であって、管理機能を備えたストレージ装置は、抽出条件の入力を受け付けるステップと、抽出条件が入力された場合には、各ストレージ装置のストレージ情報を管理するためのデータベースが生成されているか否かを判定するステップと、データベースが生成されていない場合には、問合せコマンドを発行することにより、各ストレージ装置から各ストレージ情報をそれぞれ取得して、データベースを生成するステップと、抽出条件に基づいて、データベースを検索することにより、抽出条件に合致する所定のストレージ装置を抽出するステップと、抽出された所定のストレージ装置を提示するステップと、提示された所定のストレージ装置が選択されたか否かを判定するステップと、所定のストレージ装置が選択された場合は、所定のストレージ装置の有する記憶デバイスを、管理機能を備えたストレージ装置の有する中間ボリュームを介して、管理機能を備えたストレージ装置の有する論理ボリュームに論理的に接続させるステップと、各ストレージ装置の構成変更が検出された場合には、この構成変更に係るストレージ装置のストレージ情報を取得し、データベースを更新させるステップと、
をそれぞれ実行する。
【００２５】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の実施形態の全体概要を示す構成説明図である。図１の下側に示すように、このストレージシステムは、複数のサブネットワーク４Ａ，４Ｂ，４Ｃ，４Ｄを備えている。各サブネットワーク４Ａ〜４Ｄは、それぞれ一つまたは複数のストレージ装置５を備えている。
【００２７】
各サブネットワーク４Ａ〜４Ｄは、例えば、FC_SAN（Fibre Channel_Storage Area Network）、IP_SAN（Internet Protocol_SAN）、LAN（Local Area Network）、WAN（Wide Area Network）等のネットワークとして構成されている。そして、各サブネットワーク４Ａ〜４Ｄ間は、例えば、ファイバチャネル、インターネットまたは専用回線等を介して、接続されている。各サブネットワーク４Ａ〜４Ｄは、それぞれ異なるネットワークとして構成してもよい。例えば、FC_SANに基づいて構成されるサブネットワークと、IP_SANに基づいて構成されるサブネットワークとが共存してもよい。
【００２８】
サブネットワーク４Ａには、接続元ストレージ装置１が設けられている。接続元ストレージ装置１は、ネットワーク上に分散する他のストレージ装置５に接続することにより、そのストレージ装置５が有する記憶資源を自己の記憶資源として取り込むことができるようになっている。接続元ストレージ装置１は、例えば、メインストレージ装置１と呼び変えることもできる。
【００２９】
接続元ストレージ装置１は、サブネットワーク４Ａ〜４Ｄとは異なる通信ネットワークを介して、管理端末２に接続されている。また、接続元ストレージ装置１は、別の通信ネットワークを介して、ホスト３に接続されている。
【００３０】
接続元ストレージ装置１は、例えば、希望条件受付部１Ａと、外部リソース管理部１Ｂと、外部リソースデータベース（図中、データベースをDBと略記）１Ｃと、外部リソース抽出部１Ｄと、外部リソース提示部１Ｅと、接続設定部１Ｆとを備えて構成することができる。
【００３１】
ここで、外部リソースとは、接続元ストレージ装置１の外部に存在する記憶資源を意味する。具体的には、他のストレージ装置５の有する記憶デバイスが、外部リソースに該当する。なお、接続元ストレージ装置１の外部に存在する他のストレージ装置５は、外部ストレージ装置５と呼ぶこともできる。
【００３２】
希望条件受付部１Ａは、外部リソースに関するユーザからの条件を受け付ける。ユーザは、管理端末２を介して、所望の条件を接続元ストレージ装置１に入力することができる（Ｓ１）。ユーザは、例えば、製品の種別（エンタープライズクラス、ミッドレンジクラス、エントリクラス等）、デバイス種別（ディスクドライブ、テープドライブ等）、ベンダ名、空き容量のサイズ、LUN (Logical Unit Number) の数等のように、所望の属性を一つまたは複数指定することができる。あるいは、ユーザは、「低速な記憶デバイスを有するストレージ装置」、「I/O（Input/Output）の少ないストレージ装置」等のように、より曖昧な条件を指定することもできる。このユーザにより入力される希望条件は、「抽出条件」に該当する。
【００３３】
外部リソース情報管理部１Ｂは、ユーザからの希望条件が入力されると、問合せコマンドを発行することにより、ネットワーク上に分散する各ストレージ装置５の構成に関する情報（ストレージ情報）を収集する（Ｓ２）。収集された各ストレージ情報は、外部リソースデータベース１Ｃに登録される。
【００３４】
ここで、問合せコマンドは、収集対象の項目に応じて選択される。例えば、デバイス種別やベンダ名等を取得する場合は、Inquiryコマンドが使用される。空き容量のサイズを取得する場合は、ReadCapacityコマンドが使用される。LUN数を取得する場合は、ReportLUNコマンドが使用される。そのストレージ装置５が存在するか否かを確認する場合は、TestUnitReadyコマンドが使用される。なお、以上は、SCSI（Small Computer System Interface）コマンドの場合の例示であり、本発明はこれらのコマンドに限定されない。
【００３５】
問合せコマンドは、ユーザから入力された条件に応じて、発行することができる。例えば、ユーザが「ディスクドライブを有するストレージ装置」の抽出を希望する場合、ストレージ装置の存在とデバイス種別を取得できれば足りる。従って、例えば、空き容量のサイズ等の希望条件に含まれていない他の属性を取得する必要は、必ずしもない。必要な場合に、必要な問合せコマンドだけを発行すればよい。
ストレージ装置５をストレージ装置１に接続するために必要な情報が欠落している場合、欠落した情報をそのストレージ装置５のみに問い合わせて、取得すればよい。これにより、外部リソースデータベース１Ｃが構築されていない段階でも、抽出時間を短くすることができ、ユーザに結果を速やかに提示することができる。
【００３６】
外部リソース抽出部１Ｄは、ユーザから指定された条件に基づいて、外部リソースデータベース１Ｃを検索し、該当するストレージ装置５を全て抽出する（Ｓ３）。もしも、ユーザの指定した条件が「エンタープライズクラスのストレージ装置」の場合、各サブネットワーク４Ａ〜４Ｄに分散する各ストレージ装置５の中から、エンタープライズクラスのストレージ装置が全て抽出される。
【００３７】
外部リソース提示部１Ｅは、外部リソース抽出部１Ｄによって抽出された結果を、ユーザに提示する（Ｓ４）。例えば、外部リソース提示部１Ｅは、抽出結果を管理端末２の画面上にリスト表示させる。管理端末２の画面には、ユーザの指定条件を満たす外部ボリューム群６のみが表示される。ユーザの指定条件を一つでも満たさないボリューム群７は、ユーザに開示されない。本実施形態では、指定条件を全て満たす外部ボリューム群６のみをユーザに開示することにより、ユーザの選択を支援する。
【００３８】
ここで、外部ボリュームとは、接続元ストレージ装置１の外部に位置するボリュームを意味する。これに対し、内部ボリュームとは、接続元ストレージ装置１の内部に存在するボリュームを意味する。そして、接続元ストレージ装置１は、外部ボリュームを仮想的な内部ボリュームとして取り込むことができる。
【００３９】
ユーザは、管理端末２の画面に表示された外部ボリューム群６の中から、所望の外部ボリュームを１つまたは複数選択する（Ｓ５）。図１に示す例では、サブネットワーク４Ｄに存在するストレージ装置５の有するボリュームが選択されている。
【００４０】
接続設定部１Ｆは、ユーザによって外部ボリュームが選択されると、この選択された外部ボリュームをLU９に接続させる（Ｓ６）。接続設定部１Ｆは、選択された外部ボリュームを仮想ボリューム（V-VOL）８に接続し、仮想ボリューム８とLU９とを接続させる。仮想ボリューム８は、「中間ボリューム」に該当する。仮想ボリューム８は、仮想的な中間記憶デバイスと呼び変えることもできる。LU９とは、論理ボリュームである。以下の説明では、LU９を論理ボリューム９と呼ぶ場合がある。
【００４１】
具体的には、接続設定部１Ｆは、選択された外部ボリュームにアクセスするためのパス情報を、LU９に関連づける。外部ボリュームの有する物理的な記憶領域は、仮想ボリューム８を介して、LU９に対応付けられる。なお、接続設定部１Ｆが接続設定を行う際に、その接続設定に必要な情報の一部が外部リソースデータベース１Ｃに登録されていない場合、接続設定部１Ｆは、その不足している情報の取得を外部リソース管理部１Ｂに要求することができる（Ｓ６Ａ）。
【００４２】
外部ボリュームとLU９との接続が完了し、かつ、ホスト３とLU９との間のパスが設定されると、ホスト３は、LU９を利用することができる（Ｓ７）。例えば、LU９を対象とするライトコマンドがホスト３から発行されると、このライトデータは、仮想ボリューム８を介して外部ボリュームに転送され、外部ボリュームの所定位置に書き込まれる。リードコマンドの場合、外部のストレージ装置５からリードデータが読み出されて、ホスト３に送信される。
なお、ホスト３から要求されたリードデータが接続元ストレージ装置１にキャッシュされている場合は、外部ボリュームからデータを読み出す必要はない。このように、ホスト３は、実際にデータの記憶されている位置が接続元ストレージ装置１の内部であるか外部であるかを全く意識することなく、論理ボリューム（LU）９を利用できる。
【００４３】
ネットワーク上の各ストレージ装置５の構成が変化した場合、接続元ストレージ装置１は、構成が変更されたストレージ装置５から状態変更通知を受け取る（Ｓ８）。これにより、外部リソース情報管理部１Ｂは、構成が変更されたストレージ装置５に問合せコマンドを発行し、ストレージ情報を取得する。外部リソース情報管理部１Ｂは、新たに取得したストレージ情報により、外部リソースデータベース１Ｃを更新させる（Ｓ９）。
【００４４】
以上の通り、本実施形態では、ユーザは、サブネットワーク４Ａ〜４Ｄ上に分散する複数のストレージ装置５の中から、希望のストレージ装置５について簡単に指定することができる（Ｓ１）。そして、本実施形態では、ユーザの希望条件に合致するストレージ装置５を全て抽出して（Ｓ３）、ユーザに提示することができる（Ｓ４）。さらに、本実施形態では、ユーザによって選択された外部ボリュームを（Ｓ５）、論理ボリューム９に対応付けることにより（Ｓ６）、ホスト３は、そのボリュームを利用できる（Ｓ７）。
【００４５】
ここで、仮想ボリューム８を介さずに、外部ボリュームの記憶領域を直接論理ボリューム９に接続する構成も考えられる。しかし、この場合は、外部ボリュームの性質や構造等によって、論理ボリューム９の性能や使い勝手が制限される。例えば、直接対応付ける場合、外部ボリュームのサイズが１００ＭＢならば、論理ボリューム９のサイズも１００ＭＢとなる。同様に、外部ボリュームの性質や構造が直接的に論理ボリューム９に影響するため、使い勝手が低くなる。
これに対し、本実施形態では、外部ボリュームと論理ボリューム９とを仮想ボリューム８を介して接続するため、外部ボリュームの性質や構造による影響が論理ボリューム９に直接及ぶのを防止できる。また、接続元ストレージ装置１の有する種々の機能や性能を利用できるため、使い勝手も向上する。以下、本実施形態をより詳細に説明する。
【実施例１】
【００４６】
図２は、本実施例によるストレージシステムの全体概要を示す説明図である。先に図１との対応関係について説明すると、図２中のメインストレージ装置１００は、図１中の接続元ストレージ装置１に対応する。同様に、図２中の外部ストレージ装置２００，２０１，２０２は、図１中のストレージ装置５に対応する。図２中のホスト１０は、図１中のホスト３に対応する。図２中の管理端末２０は、図１中の管理端末２に対応する。図２中のサブネットワーク４００，４０１，４０２は、図１中のサブネットワーク４Ａ〜４Ｄに対応する。なお、図２では、３個のサブネットワークのみを示すが、図１と同様に、ストレージシステムは、４個以上のサブネットワークを備えることもできる。
【００４７】
図２の中央部に示すサブネットワーク４００には、メインストレージ装置１００及び他の複数のストレージ装置２００がそれぞれ設けられている。これら各ストレージ装置１００，２００は、例えば、スイッチ３００によって相互に接続されている。
【００４８】
同様に、図２の左側に示すサブネットワーク４０１には、スイッチ３０１によって相互に接続された複数のストレージ装置２０１が設けられている。図２の右側に示すサブネットワーク４０２には、スイッチ３０２によって相互に接続された複数のストレージ装置２０２が設けられている。
【００４９】
ここで、一つの例として、サブネットワーク４００，４０１は、FC_SANに基づいて構成されており、他のサブネットワーク４０２は、IP_SANに基づいて構成されている。そして、各サブネットワーク４００，４０１，４０２間を接続するネットワーク間ネットワークとしては、例えば、ファイバチャネル、専用回線、公衆回線、インターネット等を用いることができる。
【００５０】
なお、図中では、説明の便宜上、プロトコル変換用のゲートウェイ等の細部構成を省略している。また、図中では、それぞれスイッチ３００，３０１，３０２を一つずつ示しているが、複数のスイッチを備えることもできる。さらに、各サブネットワーク４００，４０１，４０２は、ループ構造であってもよい。
【００５１】
これら各サブネットワーク４００，４０１，４０２は、例えば、ストレージドメインと呼ぶこともできる。ここで、ストレージドメインとは、例えば、複数のストレージ装置を備えたストレージネットワークの管理上の単位領域として定義することができる。
【００５２】
例えば、サブネットワーク４００は本社に、他のサブネットワーク４０１，４０２は支社や工場等に、それぞれ設けることができる。あるいは、例えば、サブネットワーク４００を情報システム部に、サブネットワーク４０１を開発部に、サブネットワーク４０２を営業部に、それぞれ配置することもできる。
【００５３】
図３は、ストレージシステムの全体構成を示すブロック図である。ストレージシステムは、例えば、ホスト１０と、管理端末２０と、メインストレージ装置１００と、外部ストレージ装置２００，２０１，２０２（２０２は図２参照）とを備えて構成できる。
【００５４】
ホスト１０は、例えば、CPU（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置である。ホスト１０は、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成することができる。なお、図中では、ホスト１０を一つだけ示しているが、実際には、複数のホスト１０を設けることができる。
【００５５】
ホスト１０は、通信ネットワークCN１を介してメインストレージ装置１００にアクセスするためのHBA（Host Bus Adapter）１１と、パス制御プログラム１２と、アプリケーションプログラム１３とを備えることができる。
【００５６】
通信ネットワークCN１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネット、専用回線等を場合に応じて適宜使用できる。LANの場合、例えば、TCP/IPプロトコルに従ってデータ転送を行うことができる。この場合、ホスト１０は、ファイル名を指定してファイル単位でのデータ入出力を要求する。
【００５７】
ホスト１０がSANを介してメインストレージ装置１００に接続される場合、ホスト１０は、ファイバチャネルプロトコルに基づいて、データ転送を行うことができる。SANの場合、ホスト１０は、ディスクドライブ１６１のデータ管理単位であるブロックを単位として、メインストレージ装置１００にデータ入出力を要求する。
【００５８】
通信ネットワークCN１がLANの場合、HBA１１は、例えばLAN対応のネットワークカードである。これに対し、通信ネットワークCN１がSANの場合、HBA１１は、例えばホストバスアダプタである。
【００５９】
管理端末２０は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者や保守員等のユーザにより操作される。管理端末２０は、通信ネットワークCN２を介して、メインストレージ装置１００に接続されている。
【００６０】
メインストレージ装置１００は、例えば、ディスクアレイサブシステムとして構成されるものである。但し、これに限らず、メインストレージ装置１００を、例えば、高機能化されたスイッチ装置（ファイバチャネルスイッチ等）として構成することもできる。メインストレージ装置１００は、各外部ストレージ装置２００，２０１，２０２とスイッチ３００，３０１，３０２等を介して、それぞれ接続されている。メインストレージ装置１００は、後述のように、外部ストレージ装置２００，２０１，２０２の有する記憶資源を自己の論理ボリューム（Logical Unit）としてホスト１０に提供することができる。従って、メインストレージ装置１００は、実ボリュームを備えている必要は必ずしもない。
【００６１】
メインストレージ装置１００は、制御部と記憶部１６０とに大別できる。制御部は、例えば、複数のチャネルアダプタ（以下、「CHA」）１１０と、複数のディスクアダプタ（以下、「DKA」）１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０とを備えて構成可能である。
【００６２】
各CHA１１０は、ホスト１０との間のデータ通信を行う。各CHA１１０は、ホスト１０と通信を行うための通信ポート１１１をそれぞれ少なくとも一つ以上備える。各CHA１１０は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各CHA１１０は、ホスト１０から受信したリードコマンドやライトコマンド等の各種コマンドを解釈して実行する。
【００６３】
各CHA１１０には、それぞれを識別するためのネットワークアドレス（例えば、IPアドレスやWWN）が割り当てられており、各CHA１１０は、それぞれが個別にNAS（Network Attached Storage）として振る舞うこともできる。複数のホスト１０が存在する場合、各CHA１１０は、各ホスト１０からの要求をそれぞれ個別に受け付けて処理する。
【００６４】
各DKA１２０は、記憶部１６０が有するディスクドライブ１６１との間でデータ授受を行う。各DKA１２０は、CHA１１０と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA１２０は、例えば、CHA１１０がホスト１０から受信したデータや外部ストレージ装置２００，２０１，２０２から読み出されたデータを、所定のディスクドライブ１６１に書込む。また、各DKA１２０は、所定のディスクドライブ１６１からデータを読み出し、ホスト１０または外部ストレージ装置２００，２０１，２０２に送信することもできる。ディスクドライブ１６１との間でデータ入出力を行う場合、各DKA１２０は、論理的なアドレスを物理的なアドレスに変換する。
【００６５】
各DKA１２０は、ディスクドライブ１６１がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、各DKA１２０は、同一のデータを別々のディスクドライブ群（RAIDグループ）にそれぞれ書き込んだり（RAID１等）、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に書き込む（RAID５等）。
【００６６】
キャッシュメモリ１３０は、ホスト１０または外部ストレージ装置２００，２０１，２０２から受信したデータを記憶する。また、キャッシュメモリ１３０は、ディスクドライブ１６１から読み出されたデータを記憶する。後述のように、キャッシュメモリ１３０の記憶空間を利用して、仮想的な中間記憶デバイスが構築される。
【００６７】
共有メモリ（制御メモリとも呼ばれる場合もある）１４０には、メインストレージ装置１００の作動に使用するための各種制御情報等が格納される。また、共有メモリ１４０には、ワーク領域が設定されるほか、後述する各種テーブル類も格納される。
【００６８】
なお、ディスクドライブ１６１のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１３０と共有メモリ１４０とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００６９】
接続制御部１５０は、各CHA１１０，各DKA１２０，キャッシュメモリ１３０及び共有メモリ１４０を相互に接続させる。接続制御部１５０は、例えば、クロスバスイッチ等として構成可能である。
【００７０】
記憶部１６０は、複数のディスクドライブ１６１を備えている。ディスクドライブ１６１としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC（Fibre Channel）ディスクやSATA（Serial AT Attachment）ディスク等のように、異種類のディスクを記憶部１６０内に混在させることもできる。
【００７１】
サービスプロセッサ（SVP）１７０は、LAN等の内部ネットワークCN５を介して、各CHA１１０とそれぞれ接続されている。SVP１７０は、CHA１１０を介して、共有メモリ１４０やDKA１２０とデータ授受を行うことができる。SVP１７０は、メインストレージ装置１００内の各種情報を採取して、管理端末２０に提供する。
【００７２】
外部ストレージ装置２００を例に挙げて、外部ストレージ装置の構成を説明する。外部ストレージ装置２００は、例えば、コントローラ２１０と、複数のディスクドライブ２２０とを備えて構成できる。外部ストレージ装置２００は、通信ポート２１１から通信ネットワークCN４を介して、メインストレージ装置１００に接続されている。通信ネットワークCN４は、例えば、SANやLAN等から構成可能である。
【００７３】
外部ストレージ装置２００は、メインストレージ装置１００とほぼ同様の構成を備えることもできるし、または、メインストレージ装置１００よりも簡易な構成を採用することもできる。外部ストレージ装置２００のディスクドライブ２２０の全部または一部は、メインストレージ装置１００の内部記憶デバイスとして扱われる場合がある。他の外部ストレージ装置２０１，２０２も、外部ストレージ装置２００と同様に構成可能であるため、その説明を省略する。
【００７４】
ここで、ストレージシステムのネットワーク構成に留意すべきである。図２，図３で示した通り、ホスト１０とメインストレージ装置１００とを接続する通信ネットワークCN１と、各ストレージ装置１００，２００，２０１，２０２が接続される通信ネットワークCN３，CN４等とは、別々の通信ネットワークとして構成されている。また、各サブネットワーク４００，４０１，４０２を相互に接続するネットワーク間ネットワーク（CN３等）も、互いに独立した通信ネットワークとして構成されている。
【００７５】
図４を参照する。図４は、ストレージシステムの記憶構造を示す説明図である。図４では、ネットワーク上に分散した多数の外部ストレージ装置のうち、外部ストレージ装置２００を例に挙げる。まず、メインストレージ装置１００の構成を説明する。
【００７６】
メインストレージ装置１００の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクであるPDEV（Physical Device）１６１により構成される。PDEVは、ディスクドライブ１６１に該当する。
【００７７】
論理的記憶階層は、複数の（例えば２種類の）階層から構成可能である。一つの論理的階層は、VDEV（Virtual Device）１６２と、VDEV１６２のように扱われる仮想的なVDEV（以下、「V-VOL」とも呼ぶ）１６３とから構成可能である。他の一つの論理的階層は、LDEV（Logical Device）１６４から構成することができる。
【００７８】
VDEV１６２は、例えば、４個１組（３Ｄ＋１Ｐ）、８個１組（７Ｄ＋１Ｐ）等のような所定数のPDEV１６１をグループ化して構成される。グループに属する各PDEV１６１がそれぞれ提供する記憶領域が集合して一つのRAID記憶領域が形成される。このRAID記憶領域がVDEV１６２となる。
【００７９】
VDEV１６２が物理的な記憶領域上に構築されるのと対照的に、V-VOL１６３は、物理的な記憶領域を必要としない仮想的な中間記憶デバイスである。V-VOL１６３は、物理的な記憶領域に直接関係づけられるものではなく、外部ストレージ装置２００のLU（Logical Unit）をマッピングするための受け皿となる。
【００８０】
LDEV１６４は、VDEV１６２またはV-VOL１６３上に、それぞれ少なくとも一つ以上設けることができる。LDEV１６４は、例えば、VDEV１６２を固定長で分割することにより構成することができる。ホスト１０がオープン系ホストの場合、LDEV１６４がLU１６５にマッピングされることにより、ホスト１０は、LDEV１６４を一つの物理的なディスクとして認識する。オープン系のホストは、LUN（Logical Unit Number ）や論理ブロックアドレスを指定することにより、所望のLDEV１６４にアクセスする。なお、メインフレーム系ホストの場合は、LDEV１６４を直接認識する。
【００８１】
LU１６５は、SCSIの論理ユニットとして認識可能なデバイスである。各LU１６５は、ターゲットポート１１１Ａを介してホスト１０に接続される。各LU１６５には、少なくとも一つ以上のLDEV１６４をそれぞれ関連付けることができる。なお、一つのLU１６５に複数のLDEV１６４を関連付けることにより、LUサイズを仮想的に拡張することもできる。
【００８２】
CMD（Command Device）１６６は、ホスト１０上で稼働するI/O制御プログラムとストレージ装置１００との間で、コマンドやステータスを受け渡すために使用される専用のLUである。
【００８３】
ホスト１０からのコマンドは、CMD１６６に書き込まれる。ストレージ装置１００は、CMD１６６に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD１６６に書き込む。ホスト１０は、CMD１６６に書き込まれたステータスを読み出して確認し、次に実行すべき処理内容をCMD１６６に書き込む。このようにして、ホスト１０は、CMD１６６を介して、ストレージ装置１００に各種の指示を与えることができる。
【００８４】
なお、ホスト１０から受信したコマンドを、CMD１６６に格納することなく、ストレージ装置１００は直接的に処理することもできる。また、実体のデバイス（LU）を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト１０からのコマンドを受け付けて処理するように構成してもよい。即ち、例えば、CHA１１０は、ホスト１０から受信したコマンドを共有メモリ１４０に書き込み、この共有メモリ１４０に記憶されたコマンドを、CHA１１０又はDKA１２０が処理する。その処理結果は共有メモリ１４０に書き込まれ、CHA１１０からホスト１０に送信される。
【００８５】
メインストレージ装置１００の有する外部接続用のイニシエータポート（External Port）１１１Ｂには、通信ネットワークCN３を介して、外部ストレージ装置２００が接続されている。
外部ストレージ装置２００は、複数のPDEV２２０と、PDEV２２０の提供する記憶領域上に設定されたVDEV２３０と、VDEV２３０上に少なくとも一つ以上設定可能なLDEV２４０とを備えている。そして、各LDEV２４０は、LU２５０にそれぞれ関連付けられている。PDEV２２０は、図３中のディスクドライブ２２０に該当する。
【００８６】
外部ストレージ装置２００のLU２５０（即ち、LDEV２４０）は、V-VOL１６３にマッピングされている。例えば、外部ストレージ装置２００の「LDEV１」，「LDEV２」は、外部ストレージ装置２００の「LU１」，「LU２」を介して、メインストレージ装置１００の「V-VOL１」，「V-VOL２」にそれぞれ関連づけられている。「V-VOL１」，「V-VOL２」は、それぞれ「LDEV３」，「LDEV４」に関連づけられており、ホスト１０は、これらのボリュームを、「LU３」，「LU４」を介して、利用可能となっている。
【００８７】
なお、VDEV１６２，V-VOL１６３には、RAID構成を適用できる。即ち、一つのディスクドライブ１６１を複数のVDEV１６２，V-VOL１６３に割り当てることもできるし（スライシング）、複数のディスクドライブ１６１から一つのVDEV１６２，V-VOL１６３を形成することもできる（ストライピング）。
【００８８】
図５は、所望の外部ボリュームを抽出するための条件を指定する抽出条件指定画面Ｇ１の例を示す説明図である。この画面Ｇ１は、例えば、SVP（Service Processor）１７０により提供される。
抽出条件指定画面Ｇ１では、例えば、サブシステムクラスと、デバイスタイプと、ベンダ名と、記憶容量及びLUN数のように、各項目毎にそれぞれ所望の条件を選択できるようになっている。
【００８９】
「サブシステムクラス」とは、外部ストレージ装置２００，２０１，２０２がそれぞれ属するクラスの種別を意味する。サブシステムクラスとしては、例えば、エンタープライズクラス、ミッドレンジクラス、エントリークラス等を挙げることができる。なお、いずれのサブシステムクラスでも構わない場合、ユーザは、「不問」を選択できる。
【００９０】
「デバイスタイプ」とは、外部ストレージ装置２００，２０１，２０２の備える記憶デバイスの種別を意味する。デバイスタイプとしては、例えば、磁気ディスク、磁気テープ、光ディスク等を挙げることができる。なお、いずれのデバイスタイプでも良い場合、ユーザは、「不問」を選択する。
【００９１】
「ベンダ名」は、外部ストレージ装置２００，２０１，２０２をそれぞれ提供するベンダーの名称を意味する。いずれのベンダーでも良い場合、ユーザは、「不問」を選択することができる。
「記憶容量」とは、ユーザが所望する空き容量を意味する。ユーザは、必要な記憶容量の値を直接的に入力できる。「LUN数」とは、ユーザが所望するLUNの数を意味する。ユーザは、必要なLUN数を直接的に入力できる。これに代えて、例えば、「100GB」、「300GB」、「500GB」等のように、予め用意された複数段階の選択肢の中から、必要な空き容量やLUN数を有する値を選択するようにしてもよい。なお、記憶容量やLUN数について問わない場合、ユーザは、記憶容量やLUN数の値を入力する必要はない。
【００９２】
このように、抽出条件指定画面Ｇ１は、ユーザの所望する属性を一つまたは複数指定することにより、所望の属性を備えた外部ストレージ装置を選択可能となっている。通常の場合、ユーザは、少なくとも一つ以上の属性（条件）を指定する。ユーザが、一つも条件を選択しない場合、エラー処理を行うことができる。あるいは、ユーザが一つも条件を指定しない場合、ネットワーク上に分散する全ての外部ストレージ装置２００，２０１，２０２を検出することもできる。
【００９３】
ここで、留意すべき点は、ユーザは、特定の外部ストレージ装置を直接的に指定するのではなく、所望の条件を指定する点である。例えば、図２中のサブネットワーク４００のみが存在し、ストレージネットワークがそれほど大規模ではない場合、ストレージネットワークの構成に精通したユーザであれば、所望の外部ストレージ装置を直ちに特定することも可能である。
【００９４】
これに対し、図２に示すように、多くのサブネットワーク４００，４０１，４０２が連携して大規模なストレージネットワークが構成されている場合、ユーザがストレージネットワークの構成に精通するのには多くの努力を必要とする。従って、ユーザが、所望の外部ストレージ装置を自力で発見するのは難しくなる。さらに、大規模なストレージネットワーク上に多種多様な外部ストレージ装置が混在するヘテロジニアスな環境下で、所望の外部ストレージ装置をユーザが自力で発見するのは、ますます難しい。
【００９５】
そこで、本実施形態では、図５に示すような抽出条件指定画面Ｇ１を用意している。これにより、所望の外部ストレージ装置をユーザが直ちに特定できない場合でも、ユーザの希望する条件を備えた外部ストレージ装置を検索可能としている。従って、ストレージネットワークの構成に精通していないユーザであっても、所望の外部ストレージ装置を検出して利用することができる。
【００９６】
図６は、外部リソース探索条件管理テーブルＴ１の構成例を示す説明図である。この管理テーブルＴ１は、抽出条件指定画面Ｇ１に対応して構成される。管理テーブルＴ１は、例えば、共有メモリ１４０に記憶される。管理テーブルＴ１は、例えば、抽出条件の各項目（図中「項目１」）と、これら各項目における選択肢（図中「項目２」）と、各選択肢のコードと、各選択肢が指定されたか否かを示すフラグとを、備えて構成される。
【００９７】
抽出条件指定画面Ｇ１において、ユーザにより指定された条件には、そのフラグに「１」がセットされる。また、ユーザが数値を入力して「記憶容量」や「LUN数」を指定した場合、その数値は「コード」欄に格納される。
【００９８】
図７は、サブシステムクラス判別テーブルＴ２の構成例を示す説明図である。この判別テーブルＴ２は、例えば、共有メモリ１４０に記憶される。判別テーブルＴ２は、ネットワーク上に分散配置された各外部ストレージ装置がいずれのサブシステムクラスに属するのかを判別するために使用される。判別テーブルＴ２には、市場に投入されている各ベンダの各装置名が予め登録されている。
この判別テーブルＴ２の内容は、例えば、管理端末２０から入力される最新データによって更新可能である。判別テーブルＴ２には、各ベンダから提供されている各装置名が、それぞれクラス分けして登録されている。各装置の名称は、例えば、アスキーコードを用いて表現することができる。
【００９９】
図８は、外部リソース管理データベースＴ３の構成例を示す説明図である。外部リソース管理データベースＴ３は、ネットワーク上に分散配置された各外部ストレージ装置に関する情報（ストレージ情報）を管理するためのものである。外部リソース管理データベースＴ３は、例えば、共有メモリ１４０に記憶される。
【０１００】
外部リソース管理データベースＴ３は、例えば、装置番号と、装置名称と、ベンダID（識別情報）と、製品番号（型番）と、LUN数と、LUN番号と、WWNと、デバイスタイプと、記憶容量（サイズ）とを、対応付けることにより構成することができる。
【０１０１】
装置番号は、例えば、ストレージシステム内で一意にストレージ装置を特定可能な番号である。装置名は、そのストレージ装置のベンダによって与えられている名称である。これに代えて、例えば、システム管理者等のユーザによってニックネームが設定されている場合は、そのニックネームを用いることもできる。ベンダIDは、少なくともストレージシステム内でベンダを一意に特定可能な情報である。製品番号は、そのストレージ装置のベンダによって与えられている情報である。
【０１０２】
LUN数は、そのストレージ装置が有するLUNの総数を示す。LUN番号は、そのストレージ装置が有する各LUNをそれぞれ識別するための情報である。WWNは、そのストレージ装置の各ポートをそれぞれ識別するための情報である。デバイスタイプは、そのストレージ装置が有する各論理ボリュームを構成する記憶デバイスの種別を示す情報である。サイズは、そのストレージ装置が有する各論理ボリュームの空き容量を示す情報である。なお、WWNに代えて、例えば、IPアドレス等で各ポートを識別する場合もある。
【０１０３】
図９は、外部ボリュームへの接続管理テーブル（マッピングテーブル）Ｔ４の構成例を示す説明図である。この管理テーブルＴ４は、外部ストレージ装置２００，２０１，２０２の有する論理ボリュームを、メインストレージ装置１００の仮想的な中間ボリューム（V-VOL）１６３に接続して取り込むために使用される。
【０１０４】
接続管理テーブルＴ４は、例えば、VDEV番号と、デバイスタイプと、サイズと、WWNと、LUN番号と、装置番号と、ベンダIDとを対応付けることにより構成される。VDEV番号は、V-VOL１６３をメインストレージ装置１００内で識別するための情報である。デバイスタイプは、V-VOL１６３に関連づけられる外部の記憶デバイスの種別を示す情報である。サイズは、V-VOL１６３の容量を示す情報である。WWNは、その外部ボリュームが接続されているポートを特定するための情報である。LUN番号は、その外部ボリュームを特定するための情報である。装置番号は、その外部ボリュームが存在するストレージ装置を特定するための情報である。ベンダIDは、そのストレージ装置のベンダを特定する情報である。
【０１０５】
このように、V-VOL１６３を特定するVDEV番号に、外部ボリュームのポート番号やWWN及びLUN番号を関連づけることにより、V-VOL１６３に外部ストレージ装置のボリュームを接続させることができる。この管理テーブルＴ４を参照することにより、V-VOL１６３に関連するアクセス要求を処理することができる。アクセス処理の一例は後述する。
【０１０６】
次に、図１０は、外部ボリュームの応答性能管理テーブルＴ５の構成例を示す説明図である。この管理テーブルＴ５は、外部ストレージ装置の有するボリュームの応答性能を管理する。詳細はさらに後述するが、本実施形態では、各外部ストレージ装置からストレージ情報をそれぞれ収集する際に、各外部ストレージ装置の応答性能を調査して、その調査結果を記憶する。
【０１０７】
応答性能管理テーブルＴ５は、例えば、装置番号と、ベンダIDと、LUN数と、応答時間の積算値と、コマンド発行数と、応答時間の閾値とを対応付けることにより構成することができる。
【０１０８】
メインストレージ装置１００は、必要に応じて、一つまたは複数のコマンドを各外部ストレージ装置にそれぞれ発行する。ここで発行されるコマンドは、各外部ストレージ装置の構成等を取得するための問合せコマンドである。
【０１０９】
「装置番号」、「ベンダID」及び「LUN数」については既に述べた通りである。「コマンド発行数」とは、その外部ストレージ装置に対して発行されたコマンドの総数である。「応答時間積算値」とは、その外部ストレージ装置に向けて発行されたコマンドに対する応答時間の積算値である。その外部ストレージ装置が、各コマンドの処理に要した各応答時間の総和が記憶される。「応答時間閾値」とは、応答時間の積算値をコマンド発行数で除算した値（＝１コマンドあたりの平均応答時間）と比較するための基準値である。
【０１１０】
ユーザが所望の外部ストレージ装置を探索すべく、外部ストレージ装置の抽出を指示すると、メインストレージ装置１００は、各外部ストレージ装置に向けて、問合せコマンドを発行する。各外部ストレージ装置は、この問合せコマンドに応答し、問われた内容をメインストレージ装置１００にそれぞれ回答する。
【０１１１】
このとき、各外部ストレージ装置の応答時間は、各外部ストレージ装置の状況等に応じて、それぞれ異なる。例えば、メインストレージ装置１００と外部ストレージ装置との間の距離が遠い場合、データ転送に遅延が生じるため、その外部ストレージ装置の応答時間は長くなる。また、外部ストレージ装置のCPU性能が低い場合やキャッシュメモリが少ない場合、あるいは、外部ストレージ装置のI/O負荷が大きい場合にも、その外部ストレージ装置からの応答が遅れることがある。
【０１１２】
このように、メインストレージ装置１００と外部ストレージ装置との距離や外部ストレージ装置の性能等により、各外部ストレージ装置の応答性能は相違する。応答の遅い外部ストレージ装置をメインストレージ装置１００に接続する場合は、この応答遅延を考慮する必要がある。そこで、メインストレージ装置１００は、各外部ストレージ装置からストレージ情報を収集する際に、各外部ストレージ装置の応答性能を監視し、応答性能管理テーブルＴ５に記憶する。
なお、外部ストレージ装置がメインストレージ装置１００に接続された後も、その外部ストレージ装置の応答性能を引き続き監視することもできる。
【０１１３】
図１１は、外部リソースの探索結果をユーザに提示するための探索結果画面Ｇ２を示す説明図である。この探索結果画面Ｇ２では、ユーザが画面Ｇ１で指定した各条件を満たす外部ボリューム（外部リソース）の情報が表示される。ユーザは、探索結果画面Ｇ２の表示内容を確認し、利用する外部ボリュームを一つまたは複数選択する。
【０１１４】
次に、図１２は、外部ボリュームを探索して利用するまでの全体処理を示すフローチャートである。メインストレージ装置１００は、管理端末２０から外部リソースの探索要求（抽出要求）が入力されたか否かを判定する（Ｓ１１）。
【０１１５】
管理端末２０から外部リソースの探索が要求された場合（S11：YES）、メインストレージ装置１００は、外部リソース管理データベースＴ３が構築されているか否かを判定する（Ｓ１２）。
【０１１６】
外部リソース管理データベースＴ３が未だ生成されていない場合（S12：NO）、メインストレージ装置１００は、リソース問合せコマンドを発行する（Ｓ１３）。そして、メインストレージ装置１００は、各外部ストレージ装置からの応答を受信し（S14：YES）、受信内容を外部リソース管理データベースＴ３に登録する（Ｓ１５）。
【０１１７】
Ｓ１３〜Ｓ１５のステップを実行することにより、外部リソース管理データベースＴ３の全部または一部が構築される。この時点では、少なくともユーザから指定された条件に対応する情報のみを各外部ストレージ装置からそれぞれ取得できれば足り、外部リソース管理データベースＴ３の全体を完成させる必要はない。なお、Ｓ１３〜Ｓ１５のより詳細な一例については、さらに後述する。
【０１１８】
ユーザの希望するリソース抽出が可能な程度に外部リソース管理データベースＴ３が生成された場合、または、必要な内容を備えた外部リソース管理データベースＴ３が既に生成されている場合（S12：YES）、メインストレージ装置１００は、ユーザから指定された条件に基づいて検索を行う（Ｓ１６）。この検索については後述する。
【０１１９】
メインストレージ装置１００は、ユーザの希望条件に合致する外部リソース（外部ボリューム）がストレージネットワーク上に存在するか否かを判定する（Ｓ１７）。ユーザの希望に合致する外部リソースが存在する場合（S17：YES）、メインストレージ装置１００は、管理端末２０の画面に探索結果画面Ｇ２を表示させ、発見された全ての外部リソースをユーザに提示する（Ｓ１８）。
【０１２０】
続いて、メインストレージ装置１００は、ユーザが外部リソースを選択したか否かを判定する（Ｓ１９）。ユーザは、管理端末２０の画面を見て、利用したい外部ボリュームを一つまたは複数選択し、その選択結果を管理端末２０からメインストレージ装置１００に入力する。
【０１２１】
メインストレージ装置１００は、ユーザによって選択された外部ボリュームをV-VOL１６３に関連づけ、メインストレージ装置１００のLU１６５と外部ボリュームとをV-VOL１６３を介して接続させる（Ｓ２０）。
【０１２２】
なお、ユーザの希望する条件に合致する外部リソースが一つも存在しない場合（S17：NO）、メインストレージ装置１００は、エラー処理を行うことができる（Ｓ２１）。このエラー処理では、例えば、「ご希望の外部リソースを発見できませんでした。抽出条件を代えて再度試みて下さい。」等のような所定のエラーメッセージを、管理端末２０の画面に表示させることができる。
【０１２３】
図１３は、図１２中のＳ１３〜Ｓ１５を詳細に示すフローチャートである。まず、メインストレージ装置１００は、各外部ストレージ装置に向けて、その存在を確認するためのコマンド（”Test Unit Ready”）を発行する（Ｓ３１）。この存在確認コマンドは、第１の問合せコマンドと呼ぶことができる。正常に動作している各外部ストレージ装置は、このコマンドへの返信として、Goodステータスを有するReady応答を返す（Ｓ３２）。
【０１２４】
次に、メインストレージ装置１００は、その存在が確認された各外部ストレージ装置に向けて、第２の問合せコマンド（”Inquiry”）を発行する（Ｓ３３）。この問合せコマンドを受信した各外部ストレージ装置は、例えば、装置名、製品番号、デバイスタイプ、ベンダ情報等のストレージ情報をメインストレージ装置１００に送信する（Ｓ３４）。
【０１２５】
メインストレージ装置１００は、各外部ストレージ装置から取得した装置名やデバイスタイプ等の情報を外部リソース管理データベースＴ３に登録する（Ｓ３５）。また、メインストレージ装置１００は、外部ストレージ装置に向けて発行されたコマンドの数及びコマンドへの応答時間を、応答性能管理テーブルＴ５に登録する（Ｓ３５）。
【０１２６】
次に、メインストレージ装置１００は、各外部ストレージ装置に向けて、第３の問合せコマンド（”Read Capacity”）を発行する（Ｓ３６）。各外部ストレージ装置は、記憶容量に関する情報をメインストレージ装置１００に送信する（Ｓ３７）。メインストレージ装置１００は、各外部ストレージ装置から取得した記憶容量に関する情報を、外部リソース管理データベースＴ３に登録する（Ｓ３８）。また、メインストレージ装置１００は、”Read Capacity”コマンドに対する各外部ストレージ装置の応答時間を、応答性能管理テーブルＴ５に登録させると共に、テーブルＴ５中のコマンド発行数を１つだけ増加させる（Ｓ３８）。
【０１２７】
なお、もしもユーザの指定条件に、「記憶容量」が含まれていない場合は、”Read Capacity”コマンドの発行をとりやめてもよい。但し、外部ボリュームをV-VOL１６３に接続する際には、その外部ボリュームの記憶容量の値を取得している必要がある。
【０１２８】
メインストレージ装置１００は、その必要がある場合、第４の問合せコマンド（”Report LUN”）を各外部ストレージ装置１００に送信する（Ｓ３９）。各外部ストレージ装置は、LUN数やLUN番号をメインストレージ装置１００に送信する（Ｓ４０）。メインストレージ装置１００は、各外部ストレージ装置から取得したLUN数等を外部リソース管理データベースＴ３に登録する（Ｓ４１）。また、メインストレージ装置１００は、”Report LUN”コマンドに対する各外部ストレージ装置の応答時間を応答性能管理テーブルＴ５に登録させると共に、テーブルＴ５中のコマンド発行数を１つだけ増加させる（Ｓ４１）。なお、ユーザの指定条件に「LUN数」が含まれていない場合、少なくともこの時点では、”Report LUN”コマンドを発行する必要はない。
【０１２９】
このようにして、メインストレージ装置１００は、複数の問合せコマンドを各外部ストレージ装置に向けて段階的に発行することにより、各外部ストレージ装置から必要な情報だけを取得できるようになっている。そして、メインストレージ装置１００は、外部リソース管理データベースＴ３を編集し、この処理を終了させる（Ｓ４２）。
【０１３０】
図１４は、外部リソース管理データベースＴ３を自動的に更新させるための処理を示すフローチャートである。
外部リソース管理データベースＴ３がいったん完成した場合でも、その後にネットワーク上のストレージ構成が変化した場合は、現況に合わせて管理テーブルＴ３を更新させる必要がある。特に、複数のサブネットワーク４００，４０１，４０２を備え、種々のストレージ装置１００，２００，２０１，２０２が混在するストレージシステムの場合は、システム環境の変動が比較的多い。そこで、以下に述べるように、本実施形態では、ネットワーク上のノード（ストレージ装置）変化を検出し、この検出をトリガとして外部リソース管理データベースＴ３を最新の内容に更新させる。
【０１３１】
ネットワーク上の各外部ストレージ装置に変化が発生した場合、例えば、RSCN（Registered State Change Notification）や、LIP（Loop Initialization Primitive）等の状態変更通知が変更元から発行される。同一のサブネットワーク内では、そのサブネットワークに所属する他のノードに対し、LIPによって状態変更発生がそれぞれ通知される。他のサブネットワークで発生した状態変更は、RSCNによって通知される。なお、これら以外に、例えば、SCR（State Change Registration）やSCN（State Change Notification）も知られている。なお、状態変更通知は、変更に係るストレージ装置から出力される場合と、変更に係るストレージ装置が参加するサブネットワークの管理装置（例えば、スイッチ３００，３０１，３０２）から出力される場合とが考えられる。
【０１３２】
このような状態変更通知は、例えば、外部ストレージ装置がサブネットワークから切り離された場合や外部ストレージ装置がサブネットワークに接続された場合のように、ファブリック（サブネットワーク）への接続状態が変更されたときに、出力される。
【０１３３】
メインストレージ装置１００は、RSCN等の状態変更通知を受信すると（Ｓ５１）、その状態変更を発生させたサブネットワークに対して、自発的に”Inquiry”コマンドを送信する（Ｓ５２）。図１４では、状態変更を発生させた外部ストレージ装置に直接”Inquiry”コマンドを送信するかのように示しているが、実際には、その外部ストレージ装置が設けられているサブネットワークに対して”Inquiry”コマンドが送信される。
【０１３４】
そのサブネットワークに設けられている各外部ストレージ装置は、装置名や製品番号、デバイスタイプ等の情報をメインストレージ装置１００に送信する（Ｓ５３）。以下、図１３で述べたと同様に、メインストレージ装置１００は、各外部ストレージ装置からそれぞれ取得した情報によって、外部リソース管理データベースＴ３の記憶内容を更新させ（Ｓ５４）、応答性能管理テーブルＴ５も更新させる（Ｓ５４）。即ち、外部リソース管理データベースＴ３の更新の際に、応答性能管理テーブルＴ５も更新する。
【０１３５】
次に、メインストレージ装置１００は、”Read Capacity”コマンドを発行し（Ｓ５５）、そのサブネットワーク上の各外部ストレージ装置に対して記憶容量を問い合わせる。各外部ストレージ装置は、メインストレージ装置１００に記憶容量の値をそれぞれ送信する（Ｓ５６）。メインストレージ装置１００は、各外部ストレージ装置から取得した記憶容量に基づいて、外部リソース管理データベースＴ３を更新させる（Ｓ５７）。また、メインストレージ装置１００は、応答性能管理テーブルＴ５も更新させる（Ｓ５７）。
【０１３６】
続いて、メインストレージ装置１００は、”Report LUN”コマンドを各外部ストレージ装置１００に送信する（Ｓ５８）。各外部ストレージ装置は、LUN数やLUN番号をメインストレージ装置１００に送信する（Ｓ５９）。メインストレージ装置１００は、各外部ストレージ装置から取得したLUN数等に基づいて、外部リソース管理データベースＴ３の記憶内容を更新させると共に、応答性能管理テーブルＴ５の内容も更新させる（Ｓ６０）。そして、最後に、メインストレージ装置１００は、外部リソース管理データベースＴ３を編集し、この更新処理を終了させる（Ｓ６１）。
【０１３７】
このように、更新処理は、ユーザから指定された条件に基づいて実行されるものではなく、ネットワーク上のノード変化をトリガとして実行されるものである。従って、外部リソース管理データベースＴ３を構築する場合とは異なり、各問合せコマンド（Inquiry、Read Capacity、Report LUN）がそれぞれ発行される。
【０１３８】
図１５は、外部リソース抽出処理の一例を示すフローチャートである。このフローチャートは、図１２中のＳ１６に対応する。
メインストレージ装置１００は、外部リソース探索条件管理テーブルＴ１を参照し（Ｓ７１）、フラグのセットされている最初の条件を選択する（Ｓ７２）。メインストレージ装置１００は、選択された条件に基づいて、外部リソース管理データベースＴ３を検索し（Ｓ７３）、その条件を満たす外部リソースが存在するか否かを判定する（Ｓ７４）。
【０１３９】
その条件を満たす外部リソースが一つも存在しない場合（S74：NO）、メインストレージ装置１００は、抽出処理を終了させる。これに対し、その条件を満たす外部リソースが存在する場合（S74：YES）、メインストレージ装置１００は、その外部リソースを抽出して一時的に記憶する（Ｓ７５）。
【０１４０】
そして、メインストレージ装置１００は、探索条件管理テーブルＴ１を参照し、次の条件が指定されているか否かを判定する（Ｓ７６）。次の条件が指定されている場合（S76：YES）、メインストレージ装置１００は、その条件を選択し（Ｓ７７）、その条件に基づいて外部リソース管理データベースＴ３を検索する（Ｓ７３）。以下同様に、ユーザによって指定された各条件について、それぞれの条件を満たす外部リソースを絞り込んでいく（Ｓ７４，Ｓ７５）。ユーザから指定された全ての条件について検索を終えると（S76：NO）、メインストレージ装置１００は、全条件に合致する外部リソースに関する情報を出力する（Ｓ７８）。
【０１４１】
図１６は、転送モード設定処理を示すフローチャートである。本実施例では、外部ボリュームを探索する際に外部ストレージ装置の応答性能を監視する。そして、外部ボリュームを選択して実際に利用する際に、その外部ボリュームが存在する外部ストレージ装置の応答性能を考慮して、転送モード（リモートコピーモード）を決定する。転送モードとしては、非同期転送モードと同期転送モードとを挙げることができる。
【０１４２】
同期転送モードの場合は、ホスト１０からのライト要求をメインストレージ装置１００が受信すると、メインストレージ装置１００は、ホスト１０から受信したライトデータをキャッシュメモリ１３０に記憶させた後、通信ネットワークを経由して外部ストレージ装置にライトデータを転送する。外部ストレージ装置は、ライトデータを受信してキャッシュメモリに記憶すると、応答信号をメインストレージ装置１００に送信する。メインストレージ装置１００は、外部ストレージ装置からの応答信号を受信すると、書込み完了報告をホスト１０に送信する。
【０１４３】
このように、同期転送モードでは、外部ストレージ装置へライトデータを転送した後で、ライトコマンドの処理完了をホスト１０に通知する。従って、同期転送モードでは、外部ストレージ装置からの応答を待つ時間だけ遅延が生じる。このため、同期転送モードは、メインストレージ装置１００と外部ストレージ装置との距離が比較的短距離である場合に適している。逆に、メインストレージ装置１００と外部ストレージ装置とが遠く離れている場合は、応答遅延や伝播遅延の問題から、一般的に同期転送モードは適さない。
【０１４４】
これに対し、非同期転送モードの場合、メインストレージ装置１００は、ホスト１０からのライト要求を受信すると、ライトデータをキャッシュメモリ１３０に記憶させた後、直ちにホスト１０に書込み完了報告を行う。メインストレージ装置１００は、ホスト１０へ書込み完了報告を行った後で、外部ストレージ装置にライトデータを転送する。ホスト１０への書込み完了報告と外部ストレージ装置へのデータ転送とは、非同期で行われる。従って、非同期転送モードの場合は、メインストレージ装置１００と外部ストレージ装置との距離とは無関係に、速やかに書込み完了報告をホスト１０に送信できる。このため、非同期転送モードは、メインストレージ装置１００と外部ストレージ装置とが比較的遠距離である場合に適している。
【０１４５】
図１６に戻る。まず、メインストレージ装置１００は、接続先のボリュームを特定する（Ｓ８１）。接続先ボリュームとは、V-VOL１６３に関連づけられる外部ボリュームを意味する。メインストレージ装置１００は、外部リソース管理データベースＴ３を参照して、接続先ボリュームの装置番号を取得する（Ｓ８２）。続いて、メインストレージ装置１００は、その装置番号に基づいて、応答性能管理テーブルＴ５を参照し、その接続先ボリュームを備える外部ストレージ装置の応答時間（平均応答時間）を取得する（Ｓ８３）。この平均応答時間は、応答性能管理テーブルＴ５中の応答時間積算値をコマンド発行数で除算することにより、求めることができる。
【０１４６】
そして、メインストレージ装置１００は、その外部ストレージ装置の応答時間と所定の閾値とを比較する（Ｓ８４）。この所定の閾値とは、応答性能管理テーブルＴ５中の応答時間閾値である。応答時間閾値は、各外部ストレージ装置毎にそれぞれ個別に設定することができる。
【０１４７】
その外部ストレージ装置の平均応答時間が所定の応答時間閾値以上である場合（S84：YES）、メインストレージ装置１００は、非同期転送モードを選択する（Ｓ８５）。これに対し、その外部ストレージ装置の平均応答時間が所定の応答時間閾値未満である場合（S84：NO）、メインストレージ装置１００は、同期転送モードを選択する（Ｓ８６）。
【０１４８】
そして、メインストレージ装置１００は、その外部ストレージ装置の有する外部ボリュームをV-VOL１６３に関連づける（Ｓ８７）。また、メインストレージ装置１００は、そのV-VOL１６３に関連づけられるLU１６５にホスト１０がアクセスできるように、ホスト１０との間のパスを設定する（Ｓ８８）。
【０１４９】
図１７は、非同期転送モードに設定された場合の更新処理を示す説明図である。ホスト１０は、メインストレージ装置１００の所定のLU１６５に、ライトコマンドを発行する（Ｓ１０１）。LU１６５は、V-VOL１６３を介して、外部ストレージ装置２００のLU２５０に関連づけられている。即ち、メインストレージ装置１００のLU１６５は、ホスト１０からのアクセス対象であるが、実際にデータを記憶しているのは外部LU２５０である。従って、例えば、LU１６５を「アクセス先論理記憶デバイス」と、LU２５０を「データ格納先論理記憶デバイス」と、それぞれ呼ぶこともできる。
【０１５０】
メインストレージ装置１００は、ホスト１０からのライトコマンドを受信すると、そのライトコマンドが対象としているLUを特定し、接続管理テーブルＴ４を参照して、そのLUが外部ボリュームに関連づけられているか否かを判定する。外部ボリュームに関連づけられているLUへのライトコマンドである場合、メインストレージ装置１００は、その外部ボリュームを有する外部ストレージ装置２００に向けて、ライトコマンドを送信する（Ｓ１０２）。ここでは、各外部ストレージ装置２００，２０１，２０２のうち、外部ストレージ装置２００を例に挙げて説明する。
【０１５１】
ライトコマンドの発行後に、ホスト１０は、LU１６５を書込み対象とするライトデータを、メインストレージ装置１００に送信する（Ｓ１０３）。メインストレージ装置１００は、ホスト１０から受信したライトデータをキャッシュメモリ１３０に一時記憶させる（Ｓ１０４）。メインストレージ装置１００は、ライトデータをキャッシュメモリ１３０に記憶させると、ホスト１０に書込み完了を報告する（Ｓ１０５）。
【０１５２】
メインストレージ装置１００は、アドレス変換等を行ってから、キャッシュメモリ１３０に記憶されたライトデータを外部ストレージ装置２００に送信する（Ｓ１０６）。外部ストレージ装置２００は、メインストレージ装置１００から受信したライトデータを、キャッシュメモリに記憶させる。そして、外部ストレージ装置２００は、メインストレージ装置１００に、書込み完了を報告する（Ｓ１０７）。外部ストレージ装置２００は、例えば、I/O等の少ない時期を見計らって、キャッシュメモリに記憶されたライトデータを記憶デバイス２２０に書き込む（ディステージ処理）。
このように、非同期転送モードでは、ホスト１０からライトデータを受信した後、短い応答時間δ１で、ホスト１０へ書込み完了を応答することができる。
【０１５３】
図１８は、同期転送モードが選択された場合の更新処理を示す説明図である。ホスト１０から発行されたライトコマンドを受信すると（Ｓ１１１）、メインストレージ装置１００は、そのライトコマンドのアクセス先ボリューム（LU１６５）に関連づけられている外部ボリューム（LU２５０）を特定し、その外部ボリュームに向けてライトコマンドを発行する（Ｓ１１２）。
【０１５４】
メインストレージ装置１００は、ホスト１０からのライトデータを受信すると（Ｓ１１３）、このライトデータをキャッシュメモリ１３０に記憶させる（Ｓ１１４）。メインストレージ装置１００は、キャッシュメモリ１３０に記憶されたライトデータを、外部ボリュームに書き込ませるべく、外部ストレージ装置２００に転送する（Ｓ１１５）。外部ストレージ装置２００は、ライトデータをキャッシュメモリに記憶させた後で、メインストレージ装置１００に書込み完了を報告する（Ｓ１１６）。メインストレージ装置１００は、外部ストレージ装置２００での書込み完了を確認すると、ホスト１０に書込み完了を報告する（Ｓ１１７）。
【０１５５】
このように、同期転送モードでは、外部ストレージ装置２００での処理を待ってから、ホスト１０に書込み完了を報告するため、応答時間δ２が長くなる。同期転送モードの応答時間δ２は、非同期転送モードの応答時間δ１よりも長い（δ２≧δ１）。
【０１５６】
以上詳述した通り、本実施例によれば、サブネットワーク４００，４０１，４０２上に種々のストレージ装置１００，２００，２０１，２０２が分散配置されているヘテロジニアスな環境下であっても、ユーザは、利用したい外部ボリュームを容易に探索することができ、使い勝手が向上する。
【０１５７】
また、広域ネットワーク上に分散する各種ストレージ装置の情報をメインストレージ装置１００内で一元的に管理することができる。そして、メインストレージ装置１００は、ユーザにより選択された外部ボリュームを取り込み、それがあたかも自身の内部ボリュームであるかのようにして、ホスト１０に提供することができる。
【０１５８】
これにより、本実施例では、メインストレージ装置１００の有する各種機能を利用しながら、外部ボリュームへのデータ入出力を行うことができ、ストレージシステムの資源を有効に利用することができる。種々の機能としては、上述したリモートコピー機能のほかに、データマイグレーション機能、LUNセキュリティ機能等を挙げることができる。データマイグレーション機能とは、データの利用状況等に応じて、ボリュームを移動させる機能である。本実施例では、例えば、V-VOL１６３に関連づけられている複数の外部ボリューム間で、ボリューム移動を行うことができる。これにより、例えば、利用頻度の低いボリュームを、より安価な記憶デバイスの記憶領域に移動させることができる。LUNセキュリティ機能とは、ホスト１０からボリュームへのアクセスを制御する機能である。ホスト１０は、予め定められたボリュームにのみアクセスすることができる。
【０１５９】
また、本実施例では、ユーザの希望条件に応じて、問合せコマンドを発行することができるため、直ちに必要な範囲で外部リソース管理データベースＴ３を生成することができ、ユーザの希望条件に合致する外部リソースを比較的短時間で抽出できる。
【実施例２】
【０１６０】
図１９，図２０に基づいて、本発明の第２実施例を説明する。本実施例を含む以下の実施例は、上述した第１実施例の変形例に相当する。本実施例では、メインストレージ装置１００がネットワーク上に複数存在する場合にも対応できるようにしている。
【０１６１】
図１９は、本実施例による転送モード設定処理を示すフローチャートである。この処理は、図１６に示す各ステップＳ８１〜Ｓ８８を全て含んでいる。
広域ネットワーク上にメインストレージ装置１００が複数存在する場合、もしも、一方のメインストレージ装置１００が先に使用している外部ボリュームを、他方のメインストレージ装置が後から使用できるとすると、データの不整合が発生する。そこで、本実施例では、一方のメインストレージ装置１００が外部ボリュームをV-VOL１６３に接続して使用を開始した場合は（Ｓ８７）、その外部ボリュームに所定のアクセス属性を設定し（Ｓ８８）、他のメインストレージ装置から利用できないようにする。
【０１６２】
所定のアクセス属性としては、「隠蔽」を挙げることができる。「隠蔽」モードに設定された外部ボリュームは、Inquiryコマンド等の問合せコマンドが入力された場合でも、そのコマンドに応答しない。
【０１６３】
図２０は、外部ストレージ装置の処理を示すフローチャートである。外部ストレージ装置は、問合せコマンドを受信すると（S131:YES）、問合せ対象の外部ボリュームにアクセス属性（例えば「隠蔽」）が設定されているか否かを判定する（Ｓ１３２）。
【０１６４】
問合せコマンドに対して応答しないアクセス属性が設定されている場合（S132:YES）、外部ストレージ装置は、その問合せコマンドが接続元のメインストレージ装置１００から発行されたものであるか否かを判定する（Ｓ１３３）。即ち、その外部ボリュームにアクセス属性を設定したメインストレージ装置１００からの問合せコマンドであるか否かを判定する。
【０１６５】
アクセス属性を設定したメインストレージ装置１００からの問合せコマンドではない場合（S133：NO）、外部ストレージ装置は、その外部ボリュームに対する問合せコマンドを無視することができる。
【０１６６】
これに対し、そのアクセス属性を設定したメインストレージ装置１００からの問合せコマンドである場合（S133：YES）、または、その外部ボリュームにアクセス属性が設定されていない場合（S132:NO）、外部ストレージ装置は、その問合せコマンドに応答し、所定の情報を送信する（Ｓ１３４）。
【０１６７】
なお、他のメインストレージ装置からの利用を阻止するためのアクセス属性としては、「隠蔽」に限らない。例えば、「容量０」の属性でもよい。「容量０」とは、”Read Capacity”コマンドに対して、空き容量が全くない旨を応答させる属性である。空き容量が無い外部ボリュームは、他のメインストレージ装置から使用されない。
【０１６８】
このように、本実施例では、その外部ボリュームの利用を先に開始したメインストレージ装置が、そのまま排他的に利用し続けることができる。従って、広域ネットワーク上にメインストレージ装置が複数存在する場合でも、データ不整合等が生じるのを防止することができ、より使い勝手が向上する。
【実施例３】
【０１６９】
図２１に基づいて、第３実施例を説明する。本実施例は、図１３で述べた処理の具体例を示す。
図２１は、外部リソース管理データベースＴ３を構築するために、各外部ストレージ装置に問合せコマンドを発行するための処理を示すフローチャートである。
【０１７０】
メインストレージ装置１００は、探索条件管理テーブルＴ１を参照し（Ｓ１４１）、フラグがセットされている最初の条件を選択する（Ｓ１４２）。メインストレージ装置１００は、条件−コマンド対応テーブルＴ６を参照し（Ｓ１４３）、選択された条件に対応する問合せコマンドを各外部ストレージ装置に送信する（Ｓ１４４）。
【０１７１】
条件−コマンド対応テーブルＴ６とは、図２１中に示すように、ユーザが指定可能な各条件と、その条件に関する情報を取得するために用いるコマンドとを対応づけたテーブルである。
【０１７２】
メインストレージ装置１００は、各外部ストレージ装置からの応答を待ち（Ｓ１４５）、各外部ストレージ装置から応答があった場合（S145：YES）、各外部ストレージ装置から取得した情報を外部リソース管理データベースＴ３に登録させる（Ｓ１４６）。
【０１７３】
そして、メインストレージ装置１００は、次の条件が指定されているか否かを判定する（Ｓ１４７）。次の条件が指定されている場合（S147：YES）、メインストレージ装置１００は、その条件を選択して（Ｓ１４８）、Ｓ１４３に戻る。
【０１７４】
このように、ユーザによって指定された各条件毎に、その条件に対応する問合せコマンドが各外部ストレージ装置に送信される。従って、ユーザの指定条件と無関係の問合せコマンドは、少なくともこの時点では、各外部ストレージ装置に送信されない。なお、探索条件管理テーブルＴ１の全体を最初に解析して、問合せコマンドを送信する前に、必要な問合せコマンドを全て抽出する構成でもよい。
【０１７５】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１７６】
【図１】本発明の実施形態の全体概念を示す説明図である。
【図２】ストレージシステムの概略構造を示す説明図である。
【図３】ストレージシステムのブロック図である。
【図４】記憶構造を模式的に示す説明図である。
【図５】ユーザが所望の条件を指定するための画面を示す説明図である。
【図６】外部リソース探索条件管理テーブルの構成を示す説明図である。
【図７】サブシステムクラス判別テーブルの構成を示す説明図である。
【図８】外部リソース管理テーブルの構成を示す説明図である。
【図９】外部ボリュームへの接続管理テーブルを示す説明図である。
【図１０】外部ストレージ装置の応答性能を管理するテーブルの説明図である。
【図１１】外部リソースの探索結果を表示する画面を示す説明図である。
【図１２】ストレージシステムの処理概略を示すフローチャートである。
【図１３】各外部ストレージ装置からストレージ情報を収集して外部リソース管理データベースを生成する場合の処理を示すフローチャートである。
【図１４】ストレージ上のノード変化に基づいて外部リソース管理データベースを更新させる処理を示すフローチャートである。
【図１５】外部リソース抽出処理を示すフローチャートである。
【図１６】外部ストレージ装置の応答性能に基づいて、転送モードを設定するための処理を示すフローチャートである。
【図１７】非同期転送モードによるリモートコピーの方法を示す説明図である。
【図１８】同期転送モードによるリモートコピーの方法を示す説明図である。
【図１９】転送モード設定処理の別の例を示すフローチャートである。
【図２０】外部ストレージ装置が問合せコマンドを受信した場合の処理を示すフローチャートである。
【図２１】ユーザの指定条件に応じて問合せコマンドを発行し、外部リソース管理データベースを生成する処理を示すフローチャートである。
【符号の説明】
【０１７７】
１…メインストレージ装置（接続元ストレージ装置）、１Ａ…希望条件受付部、１Ｂ…外部リソース情報管理部、１Ｂ…外部リソース管理部、１Ｃ…外部リソースデータベース、１Ｄ…外部リソース抽出部、１Ｅ…外部リソース提示部、１Ｆ…接続設定部、２…管理端末、３…ホスト、４Ａ，４Ｂ，４Ｃ，４Ｄ…サブネットワーク、５…外部ストレージ装置、６…ユーザの希望条件に合致する外部ボリューム群、７…ユーザの希望条件に合致しないボリューム群、８…仮想ボリューム（V-VOL）、９…論理ボリューム、１０…ホスト、１１…ホストバスアダプタ（HBA）、１２…パス制御プログラム、１３…アプリケーションプログラム、２０…管理端末、１００…メインストレージ装置、１１０…チャネルアダプタ（CHA）、１１１…通信ポート、１１１Ａ…ターゲットポート、１１１Ｂ…外部接続ポート、１２０…ディスクアダプタ（DKA）、１３０…キャッシュメモリ、１４０…共有メモリ、１５０…接続制御部、１６０…記憶部、１６１…ディスクドライブ（PDEV）、１６２…VDEV、１６３…V-VOL、１６４…論理ボリューム（LDEV）、１６５…論理ユニット（LU）、１６６…コマンドデバイス、１７０…サービスプロセッサ（SVP）、２００，２０１，２０２…外部ストレージ装置、２１０…コントローラ、２１１…通信ポート、２２０…ディスクドライブ、３００，３０１，３０２…スイッチ、４００，４０１，４０２…サブネットワーク、Ｇ１…抽出条件指定画面、Ｇ２…探索結果画面、Ｔ１…外部リソース探索条件管理テーブル、Ｔ２…サブシステムクラス判別テーブル、Ｔ３…外部リソース管理データベース、Ｔ４…接続管理テーブル、Ｔ５…応答性能管理テーブル、Ｔ６…条件−コマンド対応テーブル
【図１】
2006309483.tif 000003
【図２】
2006309483.tif 000004
【図３】
2006309483.tif 000005
【図４】
2006309483.tif 000006
【図５】
2006309483.tif 000007
【図６】
2006309483.tif 000008
【図７】
2006309483.tif 000009
【図８】
2006309483.tif 000010
【図９】
2006309483.tif 000011
【図１０】
2006309483.tif 000012
【図１１】
2006309483.tif 000013
【図１２】
2006309483.tif 000014
【図１３】
2006309483.tif 000015
【図１４】
2006309483.tif 000016
【図１５】
2006309483.tif 000017
【図１６】
2006309483.tif 000018
【図１７】
2006309483.tif 000019
【図１８】
2006309483.tif 000020
【図１９】
2006309483.tif 000021
【図２０】
2006309483.tif 000022
【図２１】
2006309483.tif 000023