(57)【要約】【課題】  外部の記憶資源を内部の記憶資源として仮想化することにより、記憶資源を有効利用し、各ストレージ装置間を複数のパスで切替可能に接続し、信頼性や使い勝手を向上させる。【解決手段】  メインストレージ１には、外部ストレージ２が接続されており、仮想ボリューム１Ａには、実ボリューム２Ａがマッピングされている。各ストレージ１，２間は、複数のパスで接続されている。使用中のパスに障害が発生すると（Ｓ３）、次に優先度の高いパスが選択され（Ｓ４）、このパスを用いて処理が続行される（Ｓ５）。【選択図】        図１
2006178811.tif 000002
【特許請求の範囲】
【請求項１】
ホストによって使用される仮想ボリュームを有する第１ストレージ装置と、
前記第１ストレージ装置と複数の通信パスを介して接続され、前記仮想ボリュームに対応付けられる実ボリュームを有する第２ストレージ装置と、
前記各通信パスによって前記仮想ボリュームと前記実ボリュームとをそれぞれ接続し、前記実ボリュームを前記仮想ボリュームのデータ格納先ボリュームとしてマッピングするマッピング管理部と、
前記マッピング管理部により管理されている前記仮想ボリュームと前記実ボリュームとのマッピング情報に基づいて、前記ホストから前記仮想ボリュームへのアクセス要求を処理する制御部と、を備え、
前記制御部は、前記各通信パスのうち少なくともいずれか一つ以上の通信パスを選択して、前記アクセス要求を処理可能であるストレージシステム。
【請求項２】
前記各通信パスにはそれぞれ予め優先度が設定されており、
前記制御部は、前記優先度に基づいて、使用可能な前記各通信パスのうち少なくともいずれか一つの通信パスを選択して使用する請求項１に記載のストレージシステム。
【請求項３】
前記制御部は、前記各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備え、前記障害検出部により、前記各通信パスのうち使用中の通信パスについて障害の発生が検出された場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択して使用する請求項１に記載のストレージシステム。
【請求項４】
前記マッピング管理部により管理される前記マッピング情報には、少なくとも、前記仮想ボリュームを識別するための仮想ボリューム識別情報と、前記実ボリュームを識別するための実ボリューム識別情報と、前記仮想ボリュームから前記各通信パスをそれぞれ用いて前記実ボリュームにアクセスするための各パス情報と、前記各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、前記各通信パスの優先度を示す優先度情報とが対応付けられている請求項１に記載のストレージシステム。
【請求項５】
前記各パス情報は、前記第１ストレージ装置の有する複数の第１ポートをそれぞれ識別するための第１ポート情報と、前記第２ストレージ装置の有する複数の第２ポートをそれぞれ識別するための第２ポート情報と、前記各第２ポートにそれぞれ対応付けられている論理ユニット番号（LUN）とを対応付けることにより構成されている請求項４に記載のストレージシステム。
【請求項６】
前記第１ストレージ装置に接続される管理装置をさらに設け、この管理装置によって、前記マッピング情報の全部または一部を更新可能とした請求項１に記載のストレージシステム。
【請求項７】
前記管理装置は、前記マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項６に記載のストレージシステム。
【請求項８】
前記第１ストレージ装置に接続される管理装置をさらに設け、この管理装置によって、前記マッピング情報の全部または一部を、前記第１ポートまたは前記第２ポートまたは前記実ボリュームにそれぞれ接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項５に記載のストレージシステム。
【請求項９】
前記管理装置は、少なくとも前記マッピング情報に含まれる前記状態情報を更新可能であり、前記第１ストレージ装置または前記第２ストレージ装置のいずれかまたは両方を計画的に停止させる場合は、この計画的な停止に係わる所定の通信パスの状態を前記使用可能状態から前記使用不能状態に変更させ、前記計画的な停止が終了した場合は、前記所定の通信パスの状態を前記使用可能状態に再び変更させるようになっている請求項６に記載のストレージシステム。
【請求項１０】
前記制御部は、前記各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えており、
前記各通信パスのいずれかにおいて障害の発生が検出された場合、この障害の発生した通信パスの状態が前記使用不能状態に設定されている場合は、前記障害の発生を無視する請求項９に記載のストレージシステム。
【請求項１１】
前記管理装置が前記所定の通信パスの状態を前記使用不能状態に変更した場合でも、前記優先度は固定されている請求項１０に記載のストレージシステム。
【請求項１２】
前記制御部は、前記各通信パスを順番に切替ながら、前記アクセス要求を処理する請求項１に記載のストレージシステム。
【請求項１３】
前記制御部は、前記各通信パスのうちいずれか一つの通信パスを使用して前記アクセス要求を処理する第１モードと、前記各通信パスを順番に切替ながら前記アクセス要求を処理する第２モードとを備えている請求項１に記載のストレージシステム。
【請求項１４】
前記第１ストレージ装置と複数の他の通信パスを介して接続され、前記第１ストレージ装置の有する他の仮想ボリュームに対応付けられる他の実ボリュームを有する第３ストレージ装置を更に備え、
前記制御部は、ストレージ装置単位で、前記第１モードまたは前記第２モードをそれぞれ適用可能である請求項１３に記載のストレージシステム。
【請求項１５】
第１ストレージ装置の有する仮想ボリュームと第２ストレージ装置の有する実ボリュームとを複数の通信パスを介してそれぞれ接続させ、前記仮想ボリュームと前記実ボリュームとの対応関係を示すマッピング情報を管理する第１ステップと、
前記各通信パスのうちいずれか一つの通信パスを用い、前記マッピング情報に基づいて、ホストから前記仮想ボリュームへのアクセス要求を処理する第２ステップと、
前記各通信パスに障害が発生したか否かをそれぞれ検出する第３ステップと、
前記各通信パスのうち使用中の通信パスについて前記障害が発生した場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択する第４ステップと、
前記選択された通信パスを使用して前記ホストからのアクセス要求を処理する第５ステップと、
を含むストレージシステムのパス制御方法。
【請求項１６】
前記マッピング情報には、少なくとも、前記仮想ボリュームを識別するための仮想ボリューム識別情報と、前記実ボリュームを識別するための実ボリューム識別情報と、前記仮想ボリュームから前記各通信パスをそれぞれ用いて前記実ボリュームにアクセスするための各パス情報と、前記各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、前記各通信パスの優先度を示す優先度情報とが対応付けられており、
前記第４ステップは、前記各通信パスのうち、使用可能状態にある通信パスの中で最も前記優先度が高く設定されている通信パスを一つ選択する請求項１５に記載のストレージシステムのパス制御方法。
【請求項１７】
前記マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎にそれぞれ更新可能な第６ステップをさらに備えた請求項１６に記載のストレージシステムのパス制御方法。
【請求項１８】
前記第１ストレージ装置はさらに複数の第１ポートを有し、前記第２ストレージ装置はさらに複数の第２ポートを有し、
前記各パス情報は、前記各第１ポートをそれぞれ識別するための第１ポート情報と、前記各第２ポートをそれぞれ識別するための第２ポート情報とを対応付けることにより構成されており、
前記第６ステップは、前記マッピング情報の全部または一部を、前記第１ポートまたは前記第２ポートにそれぞれ接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項１７に記載のストレージシステムのパス制御方法。
【請求項１９】
ホストからのアクセス要求を処理する第１ストレージ装置と、この第１ストレージ装置に複数の通信パスを介して接続される第２ストレージ装置と、前記第１ストレージ装置に接続される管理装置とを備えたストレージシステムであって、
前記第１ストレージ装置は、
前記第２ストレージ装置の有する記憶デバイスの記憶領域上に前記各通信パスを介してそれぞれ接続される仮想中間記憶デバイスと、
この仮想中間記憶デバイスの記憶領域上に設けられる仮想ボリュームと、
前記ホスト及び前記第２ストレージ装置との間でそれぞれデータ通信を行う通信制御部と、
前記通信制御部により使用されるメモリ部と、
前記メモリ部に格納され、前記仮想中間記憶デバイスに前記第２ストレージ装置の記憶デバイスをマッピングさせるためのマッピングテーブルと、
を備え、
前記制御部は、前記各通信パスのうちいずれか一つの通信パスを用い、前記マッピングテーブルに基づいて、前記ホストから前記仮想ボリュームへのアクセス要求を処理するステップと、
前記各通信パスに障害が発生したか否かをそれぞれ検出するステップと、
前記各通信パスのうち使用中の通信パスについて前記障害が発生した場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択するステップと、
前記選択された通信パスを使用して前記ホストからのアクセス要求を処理するステップとを実行し、
前記管理装置は、前記マッピングテーブルの全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新させる構成管理部を備えている、
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムのパス制御方法に関する。
【背景技術】
【０００２】
例えば、政府、官公庁、地方自治体、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模な記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等から構成される。ディスクアレイ装置は、多数の記憶デバイスをアレイ状に配設して構成されるもので、例えば、RAID（Redundant Array of Independent Disks）に基づく記憶領域を提供する。
【０００３】
記憶デバイス群が提供する物理的な記憶領域上には少なくとも１つ以上の論理ボリューム（論理ユニット）が形成され、この論理ボリュームがホストコンピュータ（より詳しくは、ホストコンピュータ上で稼働するデータベースプログラム）に提供される。ホストコンピュータ（以下、「ホスト」と略記）は、所定のコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
【０００４】
情報化社会の進展等につれて、管理すべきデータは、日々増大する。このため、より高性能、より大容量のストレージ装置が求められており、この市場要求に応えるべく、複数のストレージ装置を用いてストレージシステムを構成する場合がある。
【０００５】
複数のストレージ装置を用いてストレージシステムを構成する場合、既存の旧型ストレージ装置を、新型のストレージ装置に置き換える方法が知られている（特許文献１）。この文献に記載の従来技術では、負荷の少ない時間帯を見計らって、新設のストレージ装置が既存のストレージ装置にデータを移行させるようになっている。
【特許文献１】特表平１０−５０８９６７号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記文献に記載のものでは、単に、既存のストレージ装置を新設のストレージ装置に置き換えるだけのものである。この文献には、一方のストレージ装置が他方のストレージ装置の記憶資源を主体的に利用することにより、ストレージシステム全体の記憶資源を有効に利用する等の観点は、何ら含まれていない。
【０００７】
前記文献に記載のように、旧型のストレージ装置から新型のストレージ装置に完全に移行する場合は、新型のストレージ装置の機能や性能を利用可能である。しかし、データ移行の完了後は、旧型のストレージ装置が無駄になり、旧型のストレージ装置を有効に利用することができない。
【０００８】
本発明は、上記の問題点に鑑みてなされたもので、本発明の一つの目的は、複数のストレージ装置を連携させて記憶資源を有効に利用でき、使い勝手または信頼性を向上できるようにしたストレージシステム及びストレージシステムのパス制御方法を提供することにある。本発明の目的の一つは、複数のストレージ装置を複数の通信パスを介して接続し、ストレージシステムの使用状況に応じて、通信パスを切り替えることができるようにしたストレージシステム及びストレージシステムのパス制御方法を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
上記課題を解決すべく、本発明に従うストレージシステムは、ホストによって使用される仮想ボリュームを有する第１ストレージ装置と、この第１ストレージ装置と複数の通信パスを介して接続され、仮想ボリュームに対応付けられる実ボリュームを有する第２ストレージ装置と、各通信パスによって仮想ボリュームと実ボリュームとをそれぞれ接続し、実ボリュームを仮想ボリュームのデータ格納先ボリュームとしてマッピングするマッピング管理部と、このマッピング管理部により管理されている仮想ボリュームと実ボリュームとのマッピング情報に基づいて、ホストから仮想ボリュームへのアクセス要求を処理する制御部と、を備えている。そして、制御部は、各通信パスのうち少なくともいずれか一つ以上の通信パスを選択して、アクセス要求を処理可能である。
【００１０】
ここで、第１ストレージ装置は、例えば、ディスクアレイサブシステム等のように、記憶資源を内蔵する装置として構成可能である。しかし、これに限らず、第１ストレージ装置は、例えば、インテリジェント化されたファイバチャネルスイッチ等のように構成することもできる。第１ストレージ装置は、ストレージサービスをホストに提供するための物理的な記憶資源を持たない装置として構成可能である。第１ストレージ装置は、実際にデータを格納する物理的なボリュームを有している必要はなく、仮想的なボリュームを設定可能であればよい。
【００１１】
仮想ボリュームと実ボリュームとは、複数の通信パスを介して接続されており、実ボリュームは、仮想ボリュームのデータ格納先ボリュームとして使用される。即ち、ホストが仮想ボリュームにライトデータを書き込む場合、このライトデータは第２ストレージ装置に転送されて、実ボリュームに書き込まれる。また、ホストが仮想ボリュームからデータを読み出す場合、このリードデータは、第２ストレージ装置の実ボリュームから読み出されて、ホストに提供される。もっとも、第１ストレージ装置は、データを一時的にまたは恒久的に記憶可能なメモリを備えることができる。このメモリ内に、ホストから要求されたリードデータが記憶されている場合、第１ストレージ装置は、第２ストレージ装置からリードデータを取得する必要は必ずしもない。
【００１２】
本発明の実施形態では、各通信パスにはそれぞれ予め優先度が設定されている。制御部は、優先度に基づいて、使用可能な各通信パスのうち少なくともいずれか一つの通信パスを選択して使用可能である。例えば、制御部は、使用可能な複数の通信パスのうち、より優先度の高い通信パスを用いて、実ボリュームにアクセスすることができる。
【００１３】
本発明の実施形態では、制御部は、各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えている。障害検出部により、各通信パスのうち使用中の通信パスについて障害の発生が検出された場合は、各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択して使用する。即ち、使用中の通信パスに何らかの障害が発生した場合、制御部は、正常な複数の通信パスのうち優先度の高い通信パスを選択することができる。これに限らず、正常な各通信パスのうち、いずれか一つまたは複数の通信パスを任意に選択することもできる。これにより、使用中の通信パスに障害が発生して使用不能となった場合でも、制御部は、別の通信パスを用いて実ボリュームにアクセスすることができ、ホストからのアクセス要求の処理が中断しない。また、ホストからのアクセス要求を処理しながら、障害の回復作業を行うことができる。
【００１４】
本発明の実施形態では、マッピング管理部により管理されるマッピング情報には、少なくとも、仮想ボリュームを識別するための仮想ボリューム識別情報と、実ボリュームを識別するための実ボリューム識別情報と、仮想ボリュームから各通信パスをそれぞれ用いて実ボリュームにアクセスするための各パス情報と、各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、各通信パスの優先度を示す優先度情報とが対応付けられている。
【００１５】
各パス情報は、第１ストレージ装置の有する複数の第１ポートをそれぞれ識別するための第１ポート情報と、第２ストレージ装置の有する複数の第２ポートをそれぞれ識別するための第２ポート情報と、各第２ポートにそれぞれ対応付けられている論理ユニット番号（LUN）とを対応付けることにより構成可能である。
【００１６】
第１ストレージ装置に接続される管理装置をさらに設けることもできる。そして、この管理装置によって、マッピング情報の全部または一部を更新可能に構成してもよい。
【００１７】
さらに、管理装置は、マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の通信パス毎に、それぞれ更新可能に構成することもできる。ここで、所定の接続点とは、例えば、通信ポート等のように、通信パスに含まれるノードを挙げることができる。
【００１８】
例えば、第１ポートまたは第２ポートまたは実ボリュームにそれぞれ接続されている少なくとも一つ以上の通信パス毎に、それぞれマッピング情報の全部または一部を更新可能に構成してもよい。即ち、第１ポート単位、第２ポート単位、実ボリューム単位のいずれかで、通信パスの構成を管理可能である。ここで、第１ポート単位とは、例えば、各第１ポートにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。同様に、第２ポート単位とは、例えば、各第２ポートにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。同様に、実ボリューム単位とは、例えば、実ボリュームにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。なお、ある一組の実ボリュームと仮想ボリュームに着目すると、各通信パスの一端側は実ボリュームに接続され、各通信パスの他端側は仮想ボリュームに接続されている。従って、実ボリューム単位で通信パスの構成を管理可能な構成は、仮想ボリューム単位で通信パスの構成を管理可能な構成と等価である。
【００１９】
このように、所定の単位で各通信パスの構成を管理可能な構成とすることにより、保守作業の作業効率を向上可能である。例えば、障害が発生した場合や計画的な部品交換作業等を行う場合に、障害や交換に関連する通信パスのみを切断（論理的な切断）させることができる。全ての通信パスが使用不能な場合等を除き、ホストからのアクセス要求の処理が中断することはない。
【００２０】
管理装置は、少なくともマッピング情報に含まれる状態情報を更新可能であり、第１ストレージ装置または第２ストレージ装置のいずれかまたは両方を計画的に停止させる場合は、この計画的な停止に係わる所定の通信パスの状態を使用可能状態から使用不能状態に変更させ、計画的な停止が終了した場合は、所定の通信パスの状態を使用可能状態に再び変更させる構成としてもよい。
【００２１】
そして、制御部は、各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えており、各通信パスのいずれかにおいて障害の発生が検出された場合、この障害の発生した通信パスの状態が使用不能状態に設定されている場合は、障害の発生を無視するように構成してもよい。これにより、例えば、第２ストレージ装置の保守作業を行う際に、保守作業に係る各通信パスの状態をそれぞれ予め使用不能状態に設定しておくことにより、検出された障害を無視することができる。従って、第２ストレージ装置の計画的な保守作業によって、障害発生が検出されてしまい、外部の保守管理センタ等に通知される事態を未然に防止することができる。
【００２２】
管理装置が所定の通信パスの状態を使用不能状態に変更した場合でも、優先度は固定しておくことができる。
【００２３】
本発明の実施形態では、制御部は、各通信パスを順番に切替ながら、アクセス要求を処理することもできる。即ち、制御部は、アクセス要求毎にそれぞれ異なる通信パスを用いて、実ボリュームにアクセスすることができる。これにより、一つの通信パスを用いてアクセス要求を処理する場合よりも、高速に処理を行うことができる。
【００２４】
制御部は、各通信パスのうちいずれか一つの通信パスを使用してアクセス要求を処理する第１モードと、各通信パスを順番に切替ながらアクセス要求を処理する第２モードとを備えることもできる。
【００２５】
第１ストレージ装置と複数の他の通信パスを介して接続され、第１ストレージ装置が有する他の仮想ボリュームに対応付けられる他の実ボリュームを有する第３ストレージ装置を備えている場合、制御部は、ストレージ装置単位で、第１モードまたは第２モードをそれぞれ適用することもできる。即ち、例えば、制御部は、第２ストレージ装置の実ボリュームとの間では第１モードでアクセスし、第３ストレージ装置の他の実ボリュームとの間では第２モードでアクセスすることもできる。従って、例えば、高速処理が要求される仮想ボリュームには第２モードを用いる等のように、仮想ボリュームの使用態様等に応じて、アクセスモードを変えることができる。
【００２６】
本発明の別の観点に従うストレージシステムのパス制御方法は、第１ストレージ装置の有する仮想ボリュームと第２ストレージ装置の有する実ボリュームとを複数の通信パスを介してそれぞれ接続させ、仮想ボリュームと実ボリュームとの対応関係を示すマッピング情報を管理する第１ステップと、各通信パスのうちいずれか一つの通信パスを用い、マッピング情報に基づいて、ホストから仮想ボリュームへのアクセス要求を処理する第２ステップと、各通信パスに障害が発生したか否かをそれぞれ検出する第３ステップと、各通信パスのうち使用中の通信パスについて障害が発生した場合は、各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択する第４ステップと、選択された通信パスを使用してホストからのアクセス要求を処理する第５ステップと、を含む。
【００２７】
第４ステップでは、各通信パスのうち、使用可能状態にある通信パスの中で最も優先度が高く設定されている通信パスを一つ選択することもできる。
【００２８】
マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の通信パス毎にそれぞれ更新可能な第６ステップをさらに備えることもできる。
【００２９】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態では、後述のように、外部に存在する記憶デバイスを自己の仮想的な中間記憶デバイスにマッピングすることにより、外部の記憶デバイスをあたかも自己の内部ボリュームであるかのようにして取り込み、ホストに提供する。
【００３１】
本実施形態のストレージシステムは、例えば、第１ストレージ装置１と、第２ストレージ装置２と、スイッチ３と、ホスト４と、管理装置としての管理端末５とを備えて構成することができる。
【００３２】
第１ストレージ装置１は、例えば、ディスクアレイ装置として構成される。第１ストレージ装置１は、複数の通信ポート（以下「ポート」）P0，EP1〜EP3を備えている。ポートP0は、ホスト４との通信に使用される。各ポートEP1〜EP3は、それぞれ第２ストレージ装置２との通信に使用される外部接続用ポートである。これら各ポートP0，EP1〜EP3は、仮想ボリューム１Ａにそれぞれ接続されている。
【００３３】
ストレージシステムは、例えば、SAN（Storage Area Network）等のように、ファイバチャネルプロトコルに基づいてデータ通信を行うストレージシステムとして構成することができる。管理端末５と第１ストレージ装置１とは、例えば、LAN（Local Area Network）やWAN（Wide Area Netwrok）等のように、TCP/IP（Transmission Control Protocol/Internet Protocol）に基づいてデータ通信を行うネットワークで接続してもよい。以上は例示であって、本発明はプロトコルの種類に限定されるものではない。
【００３４】
第１ストレージ装置１は、仮想ボリューム１Ａと、制御部１Ｂとを備えて構成することができる。仮想ボリューム１Ａは、仮想的な存在であり、データを記憶する実体は、第２ストレージ装置２内に存在する。
【００３５】
即ち、第１ストレージ装置１が有する記憶階層の所定の層に、第２ストレージ装置２の有する実ボリューム２Ａがマッピングされることにより、仮想ボリューム１Ａが構築されている。この仮想ボリューム１Ａは、各外部接続用ポートEP1〜EP3をそれぞれ介して、第２ストレージ装置２の実ボリューム２Ａに接続されている。また、仮想ボリューム１Ａは、ポートP0を介して、ホスト４に接続されている。
【００３６】
制御部１Ｂは、第１ストレージ装置１の全体動作を制御するためのものである。制御部１Ｂは、マッピング情報１Ｃを保持しており、このマッピング情報１Ｃに基づいて、データ入出力等を制御する。
【００３７】
マッピング情報１Ｃには、例えば、仮想ボリューム１Ａを識別するための仮想ボリューム識別情報と、実ボリューム２Ａを識別するための実ボリューム識別情報と、仮想ボリューム１Ａから各通信パス（以下「パス」）をそれぞれ用いて実ボリューム２Ａにアクセスするための各パス情報と、各パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、各パスの優先度を示す優先度情報とを含めることができる。
【００３８】
そして、マッピング情報１Ｃは、管理端末５からの指示によって更新可能である。即ち、管理端末５は、仮想ボリューム１Ａと実ボリューム２Ａとのマッピング関係を定義することができる。
【００３９】
制御部１Ｂは、ホスト４からポートP0を介して、仮想ボリューム１Ａに対するアクセス要求を受信すると、マッピング情報１Ｃに基づいて、第２ストレージ装置２の実ボリューム２Ａにアクセスする。
【００４０】
例えば、ライト要求の場合、制御部１Ｂは、ポートEP1〜EP3のうち所定のポートを介して、ホスト４から受信したライトデータを第２ストレージ装置２に転送し、実ボリューム２Ａに格納させる。また、例えば、リード要求の場合、制御部１Ｂは、ポートEP1〜EP3のうち所定のポートを介して、第２ストレージ装置２にアクセスし、ホスト４から要求されたデータを実ボリューム２Ａから読み出す。従って、ホスト４からは、仮想ボリューム１Ａに直接アクセスしているかのように見える。しかし、実際のデータ格納先ボリュームは、第２ストレージ装置２の実ボリューム２Ａである。
【００４１】
第２ストレージ装置２は、第１ストレージ装置１と同様に、例えば、ディスクアレイ装置として構成される。第２ストレージ装置２は、複数のパスを介して、第１ストレージ装置１に接続されている。
【００４２】
第２ストレージ装置２は、例えば、実ボリューム２Ａと、実ボリューム２Ａにそれぞれ対応付けられた複数の外部ＬＵ２Ｂと、これら各外部ＬＵ２Ｂにそれぞれ対応付けられたポートP1〜P3とを備えることができる。なお、ここで、ホスト４へのストレージサービスは、第１ストレージ装置１によって提供されるため、第１ストレージ装置１がメインストレージとなっている。第２ストレージ装置２は、第１ストレージ装置１の外部に存在する外部ストレージである。従って、ここでは、視点を第１ストレージ装置１に置き、第２ストレージ装置２内のＬＵを「外部ＬＵ」と呼ぶ。
【００４３】
実ボリューム２Ａは、第２ストレージ装置２内に設けられた物理的な記憶デバイスに基づいて設けられるものである。実ボリューム２Ａは、上述のように、第１ストレージ装置１の仮想ボリューム１Ａにマッピングされており、仮想ボリューム１Ａに論理ボリュームとしての実体を提供している。
【００４４】
実ボリューム２Ａには、第１ストレージ装置１と第２ストレージ装置２との間に設けられた各パスがそれぞれ接続されている。即ち、各ポートP1〜P3のいずれを介しても、実ボリューム２Ａにアクセス可能である。
【００４５】
スイッチ３は、第１ストレージ装置１と第２ストレージ装置２との間を接続する中継装置である。スイッチ３は、例えば、ファブリック型スイッチとして構成できる。スイッチ３は、複数の一側ポート及び他側ポートを備えている。各一側ポートと各他側ポートとは、自在に接続可能である。従って、図示の例では、スイッチ３により、９通りの経路を形成することができる。
【００４６】
ここでは、発明の理解のために、３つのパスを設定するものとする。第１のパスは、第１ストレージ装置１のポートEP1と第２ストレージ装置２のポートP1とを直線的に結ぶパスである。このパスは、太線で図１中に示されている。第２のパスは、ポートEP2とポートP2とを直線的に結ぶパスであり、点線で示されている。第３のパスは、ポートEP3とポートP3とを直線的に結ぶパスである。いずれのパスも、その一端側は仮想ボリューム１Ａにそれぞれ接続されており、その他端側は実ボリューム２Ａに接続されている。制御部１Ｂは、どのパスを用いても、実ボリューム２Ａにアクセスすることができる。
【００４７】
次に、ストレージシステムの動作概略について説明する。まず、システム管理者等のユーザは、管理端末５を介して、第１ストレージ装置１にアクセスし、マッピング情報１Ｃを設定する（Ｓ１）。マッピング情報１Ｃが生成されることにより、第１ストレージ装置１内に仮想ボリューム１Ａを生成したり、この仮想ボリューム１Ａに各ポートP0，EP1〜EP3をそれぞれ割当てることができる。さらに、仮想ボリューム１Ａに実ボリューム２Ａをマッピングすることができる。
【００４８】
ここでは、最初、制御部１Ｂは、第２パス（EP2−P2）を用いて、実ボリューム２Ａにアクセスするものとする（Ｓ２）。この使用中の第２パスに障害が発生した場合（Ｓ３）、制御部１Ｂは、この障害発生を検出する。障害としては、例えば、ポートEP2またはポートP2の故障や、ファイバケーブルの断線等を挙げることができる。
【００４９】
制御部１Ｂは、第２パスに障害が発生したことを検出すると、第２パスから第１パス（EP1−P1）に切り替える（Ｓ４）。これにより、ホスト４からのアクセス要求は、第１パスを用いて続行される（Ｓ５）。
【００５０】
ここでは、第１パスに設定されている優先度が、第３パス（EP3−P3）に設定されている優先度よりも高いため、第１パスが選択される。もしも、第３パスの優先度が第１パスのそれよりも高く設定されている場合は、第３パスが選択される。
【００５１】
このように、本実施形態によれば、第１ストレージ装置１が第２ストレージ装置２の有する実ボリューム２Ａを自分自身の仮想ボリューム１Ａとして取り込んで利用することができる。
【００５２】
そして、本実施形態によれば、第１ストレージ装置１と第２ストレージ装置２とを複数のパスでそれぞれ接続し、いずれかのパスを用いて、実ボリューム２Ａにアクセスできるようにしている。従って、使用中のパスに障害が発生した場合は、他の正常なパスに切り替えることにより、ホスト４からのアクセス要求の処理を中断することなく、続行することができ、耐障害性や信頼性が向上する。パスを切り替えて稼働させている間に、故障を回復させる作業を行うことができる。
【００５３】
また、本実施形態によれば、複数のパスを利用できるため、例えば、ポートの交換等のような計画的な保守作業を行うような場合に、ストレージシステムを停止させることなく、保守作業を行うことができる。従って、使い勝手が向上する。以下、本実施形態をより詳細に説明する。
【実施例１】
【００５４】
図２は、本実施例によるストレージシステムの要部の構成を示すブロック図である。このストレージシステムは、それぞれ後述するように、例えば、ホスト１０と、管理端末２０と、管理センタ３０と、複数のストレージ装置１００，２００と、各ストレージ装置１０，２００を接続するスイッチ３００とを含んで構成することができる。
【００５５】
ホスト１０と第１ストレージ装置１００とは、通信ネットワークCN１を介して接続されている。第１ストレージ装置１００と第２ストレージ装置２００とは、複数の通信ネットワークCN２を介してそれぞれ接続されている。
【００５６】
第１ストレージ装置１００と管理端末２０とは、通信ネットワークCN３を介して接続されている。また、第１ストレージ装置１００と管理センタ３０とは、通信ネットワークCN４を介して接続されている。
【００５７】
ホスト１０は、例えば、CPU（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。
【００５８】
ホスト１０は、通信ネットワークCN１を介して第１ストレージ装置１００にアクセスするためのHBA（Host Bus Adapter）１１と、例えば、データベースソフトウェア等のアプリケーションプログラム１２と、を備えている。
【００５９】
通信ネットワークCN１としては、例えば、LAN（Local Area Network）、SAN（Storage Area Network）、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IPプロトコルに従って行われる。ホスト１０がLANを介して第１ストレージ装置１００に接続される場合、ホスト１０は、ファイル名を指定してファイル単位でのデータ入出力を要求する。
【００６０】
ホスト１０がSANを介して第１ストレージ装置１００に接続される場合、ホスト１０は、ファイバチャネルプロトコルに従って、複数のディスクドライブにより提供される記憶領域のデータ管理単位であるブロックを単位としてデータ入出力を要求する。通信ネットワークCN１がLANである場合、HBA１１は、例えばLAN対応のネットワークカードである。通信ネットワークCN１がSANの場合、HBA１１は、例えばホストバスアダプタである。
【００６１】
なお、ホスト１０がメインフレームとして構成される場合、ホスト１０は、例えば、FICON（Fibre Connection：登録商標）、ESCON（Enterprise System Connection：登録商標）、ACONARC（Advanced Connection Architecture：登録商標）、FIBARC（Fibre Connection Architecture：登録商標）等の通信プロトコルに従ってデータ転送を行う。
【００６２】
管理端末２０は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者等のユーザにより操作される。管理端末２０は、通信ネットワークCN３を介して、第１ストレージ装置１００に接続されている。管理端末２０は、例えば、通信ネットワークCN３に接続するためのLANポート２１と、ストレージ管理部２２とを備えて構成することができる。ストレージ管理部２２は、例えば、ソフトウェアとして構成され、第１ストレージ装置１００に各種の指示を与える。この指示によって、第１ストレージ装置１００内の制御情報やテーブル等を書き換えることができる。また、管理端末２０は。第１ストレージ装置１００から各種の情報を取得し、これを端末画面に表示させることもできる。
【００６３】
管理センタ３０は、通信ネットワークCN４を介して第１ストレージ装置１００に接続されている。管理センタ３０は、ストレージシステムの保守を管理するためのコンピュータ装置である。管理センタ３０は、第１ストレージ装置１００から障害発生の通知を受けると、例えば、障害発生の事実を保守要員等に連絡する。
【００６４】
第１ストレージ装置１００は、例えば、ディスクアレイサブシステムとして構成されるものである。但し、これに限らず、第１ストレージ装置１００を、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成してもよい。
【００６５】
第１ストレージ装置１００は、後述のように、第２ストレージ装置２００の有する記憶資源を、自己の論理ボリューム（Logical Unit：図中では「LDEV」と表記）としてホスト１０に提供する。第１ストレージ装置１００は、ストレージシステムにおけるメインストレージであり、ホスト１０へストレージサービスを提供する。これに対し、第２ストレージ装置２００は、メインストレージである第１ストレージ装置１００によって使用される外部ストレージである。
【００６６】
第１ストレージ装置１００は、コントローラと記憶部１６０とに大別することができ、コントローラは、例えば、複数のチャネルアダプタ（以下、「CHA」）１１０と、複数のディスクアダプタ（以下、「DKA」）１２０と、キャッシュメモリ１３０と、共有メモリ１４０と、接続制御部１５０とを備えて構成することができる。後述の図４では、コントローラ１０１として示す。
【００６７】
各CHA１１０は、ホスト１０との間のデータ通信を行うものである。各CHA１１０は、ホスト１０と通信を行うためのポート１１１をそれぞれ複数ずつ備えている。後述のように、各ポート１１１は、例えば、イニシエータポート、ターゲットポート、外部接続用ポート（Externalポート）に分類することができる。イニシエータポートは、ホストとしてコマンドを発行するためのポートである。ターゲットポートは、コマンドを受信して処理するためのポートである。外部接続用ポートは、イニシエータポートの一種であって、第２ストレージ装置２００との接続に使用される。
【００６８】
各CHA１１０は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト１０から受信した各種コマンドを解釈して実行する。各CHA１１０には、それぞれを識別するためのネットワークアドレス（例えば、IPアドレスやWWN）が割り当てられており、各CHA１１０は、それぞれが個別にNAS（Network Attached Storage）として振る舞うことも可能である。複数のホスト１０が存在する場合、各CHA１１０は、各ホスト１０からの要求をそれぞれ個別に受け付けて処理する。
【００６９】
各DKA１２０は、記憶部１６０が有するディスクドライブ１６１との間でデータ授受を行うものである。各DKA１２０は、CHA１１０と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA１２０は、例えば、CHA１１０がホスト１０から受信したデータや第２ストレージ装置２００から読み出されたデータを、所定のディスクドライブ１６１の所定のアドレスに書込む。
【００７０】
また、各DKA１２０は、所定のディスクドライブ１６１の所定のアドレスからデータを読み出し、ホスト１０または第２ストレージ装置２００に送信させる。ディスクドライブ１６１との間でデータ入出力を行う場合、各DKA１２０は、論理的なアドレスを物理的なアドレスに変換する。各DKA１２０は、ディスクドライブ１６１がRAIDに従って管理されている場合は、RAID構成に応じたデータアクセスを行う。例えば、各DKA１２０は、同一のデータを別々のディスクドライブ群（RAIDグループ）にそれぞれ書き込んだり、あるいは、パリティ計算を実行して、データ及びパリティをディスクドライブ群に書き込む。
【００７１】
キャッシュメモリ１３０は、ホスト１０または第２ストレージ装置２００から受信したデータを記憶したり、あるいは、ディスクドライブ１６１から読み出されたデータを記憶するものである。後述のように、キャッシュメモリ１３０の記憶空間を利用して、仮想的な中間記憶デバイスが構築される。
【００７２】
共有メモリ（制御メモリとも呼ばれる）１４０には、第１ストレージ装置１００の作動を制御するために使用される各種の制御情報や構成情報Ｔｃ等が記憶されている。この構成情報Ｔｃには、後述するテーブルＴ１〜Ｔ３等が含まれる。管理端末２０は、共有メモリ１４０内に記憶されている構成情報Ｔｃの全部または一部を書き換えることができるようになっている。
【００７３】
なお、各ディスクドライブ１６１のいずれか一つまたは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１３０と共有メモリ１４０とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００７４】
接続制御部１５０は、各CHA１１０，各DKA１２０，キャッシュメモリ１３０及び共有メモリ１４０を相互に接続させるものである。接続制御部１５０は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【００７５】
記憶部１６０は、複数のディスクドライブ１６１を備えている。ディスクドライブ１６１としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC（Fibre Channel）ディスクやSATA（Serial AT Attachment）ディスク等のように、異種類のディスクを記憶部１６０内に混在させることもできる。
【００７６】
なお、後述のように、第１ストレージ装置１００は、第２ストレージ装置２００の有するディスクドライブ２２０に基づく仮想ボリューム１６３Ｖが形成される。この仮想ボリューム１６３Ｖは、ディスクドライブ１６１に基づく内部ボリューム１６３と同様にホスト１０に提供される。
【００７７】
SVP（サービスプロセッサ）１７０は、内部の通信ネットワークCN５を介して、例えば、各CHA１１０とそれぞれ接続されている。SVP１７０は、いずれか一つまたは複数のCHA１１０を介して、共有メモリ１４０等にアクセスすることもできる。SVP１７０は、LANポート１８０を介して、管理端末２０に接続されている。また、SVP１７０は、例えば、公衆電話回線等の通信ネットワークCN４を介して、管理センタ３０にも接続されている。SVP１７０は、ストレージ装置１００内の各種情報を収集して管理端末２０に出力可能である。また、SVP１７０は、管理端末２０からの指示に応じて、共有メモリ１４０に記憶された構成情報Ｔｃを書き換え、ストレージ装置１００の構成を変更させることができる。
【００７８】
第２ストレージ装置２００は、例えば、コントローラ２１０と、複数のディスクドライブ２２０とを備えて構成することができる。コントローラ２１０は、第２ストレージ装置２００の全体動作を制御するものである。第２ストレージ装置２００は、複数のポート２１１をそれぞれ介して、第１ストレージ装置１００に接続されている。第２ストレージ装置２００と第１ストレージ装置１００とは、複数の通信ネットワークCN２を介して接続されている。通信ネットワークCN２は、例えば、SANやLAN等から構成可能である。
【００７９】
第２ストレージ装置２００は、第１ストレージ装置１００とほぼ同様に構成することもできるし、第１ストレージ装置１００とは異なる構成を備えることもできる。第２ストレージ装置２００のディスクドライブ２２０は、第１ストレージ装置１００の内部記憶デバイスとして扱われるようになっている。
【００８０】
スイッチ３００は、第１ストレージ装置１００と第２ストレージ装置２００との間に設けられている。スイッチ２００は、例えば、ファイバチャネルスイッチとして構成することができる。スイッチ２００は、複数のポートを備えており、各ポートの接続を自在に切替可能となっている。スイッチ２００の一方のポート群は、第１ストレージ装置１００の有する複数の外部接続用ポートにそれぞれ接続されている。スイッチ２００の他方のポート群は、第２ストレージ装置２００の有する複数のターゲットポート２１１にそれぞれ接続されている。第１ストレージ装置１００と第２ストレージ装置２００とは、例えば、最大８個のパスを用いて、接続することができる。
【００８１】
図３を参照する。図３は、第１ストレージ装置１００及び第２ストレージ装置２００の論理的な記憶構造に着目した構成説明図である。まず、第１ストレージ装置１００の構成から先に説明する。
【００８２】
第１ストレージ装置１００の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクである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は、論理ボリュームである。LDEV１６３は、例えば、VDEV１６２を固定長で分割することにより構成することができる。なお、図３中、V−VOL１６２上に設定されるLDEVには、符号「１６３Ｖ」を与えている。しかし、特に両者を区別する必要が無い場合等には、その由来を問わずにLDEV１６３と呼ぶ。
【００８７】
ホスト１０がオープン系ホストの場合、LDEV１６３がLU１６４にマッピングされることにより、ホスト１０は、LDEV１６３を一つの物理的なディスクとして認識する。オープン系のホストは、LUN（Logical Unit Number ）や論理ブロックアドレスを指定することにより、所望のLDEV１６３にアクセスする。なお、メインフレーム系ホストの場合は、LDEV１６３を直接認識する。
【００８８】
LU１６４は、SCSIの論理ユニットとして認識可能なデバイスである。各LU１６４は、ターゲットポート１１１Ａを介して、ホスト１０にそれぞれ接続可能である。各LU１６４には、少なくとも一つ以上のLDEV１６３をそれぞれ関連付けることができる。なお、一つのLU１６４に複数のLDEV１６３を関連付けることにより、LUサイズを仮想的に拡張することもできる。
【００８９】
CMD（Command Device）１６５は、ホスト１０上で稼働するI/O制御プログラムとストレージ装置１００のコントローラ（CHA１１０，DKA１２０等）との間で、コマンドやステータスを受け渡すために使用される専用のLUである。例えば、ホスト１０は、コマンドをCMD１６５に書き込むことができる。ストレージ装置１００のコントローラは、CMD１６５に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD１６５に書き込む。ホスト１０は、CMD１６５に書き込まれたステータスを読出して確認し、次に実行すべき処理内容をCMD１６５に書き込む。このようにして、ホスト１０は、CMD１６５を介して、ストレージ装置１００に各種の指示を与えることができる。
【００９０】
なお、ホスト１０から受信したコマンドを、CMD１６５に格納することなく、処理することもできる。また、実体のデバイス（LU）を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト１０からのコマンドを受け付けて処理するように構成してもよい。即ち、例えば、CHA１１０は、ホスト１０から受信したコマンドを共有メモリ１４０に書き込み、この共有メモリ１４０に記憶されたコマンドを、CHA１１０又はDKA１２０が処理する。その処理結果は共有メモリ１４０に書き込まれ、CHA１１０からホスト１０に送信される。
【００９１】
さて、第１ストレージ装置１００には、複数（例えば、８個程度）の外部接続用ポート（Externalポート）１１１Ｂが設けられている。これら各Externalポート１１１Ｂは、それぞれ通信ネットワークCN２を介して、第２ストレージ装置２００の各ポート２１１に接続されている。また、各Externalポート１１１Ｂは、V−VOL１６２Ｖにもそれぞれ接続されている。V−VOL１６２Ｖは、複数のパスを介して、第２ストレージ装置２００にそれぞれ接続されている。
【００９２】
第２ストレージ装置２００は、例えば、複数のPDEV２２０と、各PDEV２２０の提供する記憶領域上に設定されたVDEV２３０と、VDEV２３０上に少なくとも一つ以上設定可能なLDEV２４０とを備えて構成することができる。各LDEV２４０は、LU２５０にそれぞれ関連付けられている。また、各LU２５０は、各ターゲットポート２１１にそれぞれ対応付けられている。
【００９３】
ここで、第２ストレージ装置２００の各LU２５０は、共通のLDEV２４０にそれぞれ接続されている。また、各LU２５０は、各ポート２１１から各通信ネットワークCN２を介して、各Externalポート１１１Ｂにそれぞれ接続されている。上述のように、各Externalポート１１１Ｂは、共通のV−VOL１６２Ｖにそれぞれ接続されている。
【００９４】
従って、第２ストレージ装置２００のLDEV２４０は、複数のパスを介して、V-VOL１６２Ｖにそれぞれ対応付けられている。これにより、第２ストレージ装置２００内のLDEV２４０は、第１ストレージ装置１００の記憶資源として、複数のパスからそれぞれ利用可能となっている。図３中では、１組のV−VOL１６２Ｖ及びLDEV２４０を示すが、他のV−VOL１６２Ｖ及び他のLDEV２４０の組を設けることもできる。
【００９５】
なお、VDEV１６２，V-VOL１６２Ｖには、RAID構成を適用することができる。即ち、１つのディスクドライブを複数のVDEV１６２，V-VOL１６２Ｖに割り当てることもできるし（スライシング）、複数のディスクドライブから１つのVDEV１６２，V-VOL１６２Ｖを形成することもできる（ストライピング）。
【００９６】
第１ストレージ装置１００の「LDEV２」または「LDEV３」は、実内部ボリュームに相当し、「LDEV１」は仮想ボリュームに該当する。第２ストレージ装置２００の「LDEV」は、実ボリュームに該当する。なお、第１ストレージ装置１００を中心に観た場合、第２ストレージ装置２００は外部ストレージとなり、第２ストレージ装置２００の論理ボリューム２４０は外部ボリュームとなる。また、第１ストレージ装置１００から観た場合、第２ストレージ装置２００の各ポート２１１は外部ポートとなり、第１ストレージ装置１００の有するポート１１１Ｂは内部ポートとなる。
【００９７】
図４を参照する。図４は、本実施例の機能構成に着目した構成説明図である。第１ストレージ装置１００のコントローラ１０１は、各CHA１１０及び各DKA１２０と、キャッシュメモリ１３０及び共有メモリ１４０等から構成される。
【００９８】
このコントローラ１０１は、その共有メモリ１４０内に、後述の外部デバイス情報テーブルＴ１等を含む構成情報を格納している。第１ストレージ装置１００には、仮想ボリューム１６３Ｖが設けられている。なお、第１ストレージ装置１００は、図３中に示した内部ボリューム「LDEV２」，「LDEV３」を備えることもできるが、本発明の要旨ではないので、以下の説明では省略する。
【００９９】
V−VOL１６２Ｖに設定された仮想ボリューム１６３Ｖ（LDEV1）は、LU１６４に割り当てられて、ホスト１０からのアクセスに提供される。ホスト１０は、この仮想ボリューム１６３Ｖを対象として、データの書込みやデータの読み出しを指示する。
【０１００】
また、上述の通り、V−VOL１６２Ｖは、各Externalポート１１１Ｂにそれぞれ接続されており、複数のパスを介して、第２ストレージ装置２００の実ボリューム２４０（LDEV）にそれぞれ接続されている。
【０１０１】
第２ストレージ装置２００は、実ボリューム２４０を備えている。実ボリューム２４０は、ディスクドライブ２２０の記憶領域に基づいて生成されたものである。実ボリューム２４０は、複数のパスを介して、第１ストレージ装置１００のV−VOL１６２Ｖに接続されている。
【０１０２】
スイッチ３００は、第１ストレージ装置１００と第２ストレージ装置２００との間に位置し、これら各ストレージ装置１００，２００間を接続する。スイッチ３００は、複数の一側ポート３１１，３１２，３１３と、複数の他側ポート３２１，３２２，３２３とを備えている。各一側ポート３１１〜３１３は、第１ストレージ装置１００の各Externalポート１１１Ｂ（EP1〜EP3）にそれぞれ接続されている。各他側ポート３２１〜３２３は、第２ストレージ装置２００の各ターゲットポート２１１（TP1〜TP3）にそれぞれ接続されている。
【０１０３】
図４中では、一例として、３つのパスが示されている。第１パスは、V−VOL１６２Ｖを起点とし、ポートEP1，ポート３１１，ポート３２１，ポートTP1を順に経て、LDEV２４０に至る。同様に、第２パスは、V−VOL１６２Ｖを起点とし、ポートEP2，ポート３１２，ポート３２２，ポートTP2を順に経て、LDEV２４０に至る。同様に、第３パスは、V−VOL１６２Ｖを起点とし、ポートEP3，ポート３１３，ポート３２３，ポートTP3を順に経て、LDEV２４０に至る。なお、パスの数は３個に限られない。
【０１０４】
管理端末２０のストレージ管理部２２は、パスの構成を管理する。ストレージ管理部２２は、例えば、所定のコマンドを第１ストレージ装置１００に送信することにより、外部デバイス情報テーブルＴ１の内容を書き換えて、パスの設定や削除等を行う。
【０１０５】
図５を参照する。図５は、第２ストレージ装置２００の実ボリューム２４０を第１ストレージ装置１００の仮想ボリューム１６３Ｖにマッピングするための外部デバイス情報テーブルＴ１の一例を示す。外部デバイス情報テーブルＴ１は、「マッピング情報」または「マッピングテーブル」の一例に該当する。
【０１０６】
外部デバイス情報テーブルＴ１は、例えば、V-VOL１６２Ｖを識別するための「VDEV番号」と、どのパスが有効であるかを示す「有効パスフラグ」（図中「有効パス」と略記）と、外部デバイスを識別するための情報と、外部接続パス情報テーブルとを、それぞれ対応付けることにより、構成することができる。
【０１０７】
有効パスフラグは、V−VOL１６２Ｖと実ボリューム２４０との間に張られた各パスのうち、いずれのパスが有効であるか否かを示す情報である。フラグに「１」のセットされたパスは有効であり、「０」にリセットされたフラグは無効である。但し、そのパスが有効であっても、使用できるとは限らない。後述のように、有効なパスは、「通常状態（Normal）」と、「切断状態（Disconnect）」とのいずれかの状態を有する。切断状態のパスは、有効なパスとして存在するものの、使用することはできない。
【０１０８】
外部デバイスを識別するための情報としては、例えば、シャーシ情報と、デバイス識別情報と、実ボリューム２４０の記憶容量と、実ボリューム２４０の種別を示すデバイス種別情報とを挙げることができる。
【０１０９】
シャーシ情報は、第２ストレージ装置２００を識別するための情報であり、例えば、ベンダ名、製品名、シリアル番号等が含まれる。デバイス識別情報とは、実ボリューム２４０を識別するための情報である。デバイス種別情報は、例えば、テープ系デバイスであるかディスク系デバイスであるか等の種別を示す。
【０１１０】
以上のVDEV番号とデバイス識別情報とにより、パスの始点であるV−VOL１６２Ｖとパスの終点である実ボリューム２４０とをそれぞれ特定することができる。そして、外部接続パス情報には、これら各ボリューム１６２Ｖ，２４０間を結ぶ複数のパスについて、具体的な構成が示されている。
【０１１１】
外部接続パス情報テーブルは、例えば、各パスに付された番号（パス番号）と、Externalポートを識別する情報（ポート番号やWWN等）と、第２ストレージ装置２００のポート（外部ポート）２１１を識別するためのWWNと、第２ストレージ装置２００のLUNを識別するためのLUN番号と、パスの状態と、パスの優先度とを、それぞれ対応付けることにより、構成することができる。
【０１１２】
パスの状態としては、例えば、通常状態（Normal）と切断状態（Disconnect）とを挙げることができる。通常状態にあるパスは、実ボリューム２４０へのアクセスに使用することができる。切断状態にあるパスは、論理的に切断されており、実ボリューム２４０へのアクセスに使用することはできない。
【０１１３】
優先度は、各パスの使用順位を示す情報である。ここでは、優先度が高くなるほど、数字が小さくなっている。各パスは、それぞれ異なる優先度を有する。優先度は、例えば、現在使用中のパスが障害等で使用不能となった場合に、代替パスを選択するための情報の一つとして使用される。
【０１１４】
図５に示すような外部接続パス情報テーブルを外部デバイス情報テーブルＴ１に内蔵させることにより、このテーブルＴ１を参照するだけで、コントローラ１０１は、実ボリューム２４０へアクセスするためのパスを特定することができる。なお、外部接続パス情報テーブルを外部デバイス情報テーブルＴ１から切り離し、両者を別々のテーブルとして構成してもよい。
【０１１５】
図６を参照して、各種テーブルを利用してデータが変換される様子を説明する。図６の上部に示すように、ホスト１０は、所定のターゲットポート１１１Ａに対し、LUN番号（LUN＃）及び論理ブロックアドレス（LBA）を指定してデータを送信する。
【０１１６】
第１ストレージ装置１００は、ホスト１０から入力されたデータ（LUN＃＋LBA）を、図６（ａ）に示す変換テーブルＴ２に基づいて、VDEV用のデータに変換する。この変換テーブルＴ２は、第１ストレージ装置１００内のLUNを指定するデータを、VDEV用データに変換するためのLUN−LDEV−VDEV変換テーブルである。
【０１１７】
この変換テーブルＴ２は、例えば、LUN番号（LUN＃）と、そのLUNに対応するLDEVの番号（LDEV＃）及び最大スロット数と、LDEVに対応するVDEV（V-VOLを含む）の番号（VDEV＃）及び最大スロット数等を対応付けることにより構成される。この変換テーブルＴ２を参照することにより、ホスト１０からのデータ（LUN＃＋LBA）は、VDEV用のデータ（VDEV＃＋SLOT＃＋SUBBLOCK＃）に変換される。
【０１１８】
次に、第１ストレージ装置１００は、図６（ｂ）に示すように、外部デバイス情報テーブルＴ１を参照する。これにより、第１ストレージ装置１００は、VDEV用のデータを、第２ストレージ装置２００のLUN用に送信して記憶させるためのデータに変換する。なお、説明の便宜上、図６（ｂ）では、図５に示す外部デバイス情報テーブルＴ１の構成が部分的に示されている。
【０１１９】
外部デバイス情報テーブルＴ１には、例えば、VDEVの番号（VDEV＃）と、有効パスフラグと、VDEVからのデータを第２ストレージ装置２００に送信するためのExternalポートの番号と、第２ストレージ装置２００のポートを特定するためのWWNと、そのポートを介してアクセス可能なLUNと、パスの状態及び優先度がそれぞれ対応付けられている。
【０１２０】
この外部デバイス情報テーブルＴ１に基づいて、第１ストレージ装置１００は、ライトデータの宛先情報を、Externalポート番号＃＋WWN＋LUN＃＋LBAの形式に変換する。このように宛先情報が変更されたデータは、指定されたExternalポート１１１Ｂから通信ネットワークCN２を介して、相手方のポート２１１に到達する。そして、データは、LDEV２４０の所定の場所に格納される。
【０１２１】
なお、仮想ボリューム１６３Ｖにアクセス可否の属性を設定する場合は、アクセス属性管理テーブルを共有メモリ１４０に記憶させる。その詳細は割愛するが、アクセス属性としては、例えば、「リード/ライト可能」、「ライト抑止（リードオンリー）」、「リード/ライト不可」、「空き容量０」、「コピー先設定不可」及び「隠蔽」等を挙げることができる。
【０１２２】
「リード/ライト可能」とは、ボリュームへの読み書きが可能である状態を示す。「ライト抑止」とは、ボリュームへの書込みが禁止され、読出しは許可される状態を示す。「リード/ライト不可」とは、ボリュームへの読み書きが禁止される状態を示す。「空き容量０」とは、ボリューム残量の問合せに対して、実際に空き容量がある場合でも、残量０（満杯）と応答する状態を示す。「コピー先設定不可」とは、そのボリュームをコピー先ボリューム（セカンダリボリューム）に設定することができない状態を示す。「隠蔽」とは、イニシエータから認識することができない状態を示す。
【０１２３】
次に、図７及び図８に基づいて、第１ストレージ装置１００と第２ストレージ装置２００との間のデータ入出力について説明する。図７は、データ書込み時の処理を示す模式図である。ホスト１０は、アクセス権限を有する論理ボリューム（LDEV）１６３Ｖにデータを書き込むことができる。例えば、SANの中に仮想的なSANサブネットを設定するゾーニングや、アクセス可能なLUNのリストをホスト１０が保持するLUNマスキングという手法により、ホスト１０を特定のLDEVに対してのみアクセスさせるように設定できる。
【０１２４】
ホスト１０がデータを書き込もうとするボリューム１６３Ｖが、V-VOL１６２Ｖを介して外部のボリューム２４０に接続されている場合は、図７に示すような流れでデータが書き込まれる。図７（ａ）は記憶階層を中心に示す流れ図であり、図７（ｂ）はキャッシュメモリ１３０の使われ方を中心に示す流れ図である。
【０１２５】
ホスト１０は、書込み対象のボリューム１６３Ｖを特定するLDEV番号と、このボリューム１６３Ｖにアクセスするためのポート１１１Ａを特定するWWNとを明示して、ライトコマンド（Write）を発行する（Ｓ２１）。第１ストレージ装置１００は、ホスト１０からのライトコマンドを受信すると、第２ストレージ装置２００に送信するためのライトコマンドを生成し、第２ストレージ装置２００に送信する（Ｓ２２）。第１ストレージ装置１００は、ホスト１０から受信したライトコマンド中のアドレス情報等を、外部ボリューム２４０に合わせて変更することにより、新たなライトコマンドを生成する。
【０１２６】
ホスト１０は、ライトデータを第１ストレージ装置２００に送信する（Ｓ２３）。第１ストレージ装置１００に受信されたライトデータは、ボリューム１６３ＶからV-VOL１６２Ｖを介して（Ｓ２４）、第２ストレージ装置２００に転送される（Ｓ２６）。ここで、第１ストレージ装置１００は、ホスト１０からのデータをキャッシュメモリ１３０に格納した時点で、ホスト１０に対し書込み完了の応答（Good）を返す（Ｓ２５）。
【０１２７】
第２ストレージ装置２００は、第１ストレージ装置１００からライトデータを受信した時点で（あるいはディスクドライブ２２０に書込みを終えた時点で）、書込み完了報告を第１ストレージ装置１００に送信する（Ｓ２６）。即ち、第１ストレージ装置１００がホスト１０に対して書込み完了を報告する時期（Ｓ２５）と、実際にデータがディスクドライブ２２０に記憶される時期とは相違する（非同期方式）。従って、ホスト１０は、実際にライトデータがディスクドライブ２２０に格納される前に、データ書込み処理から解放され、別の処理を行うことができる。
【０１２８】
図７（ｂ）を参照する。キャッシュメモリ１３０には、多数のサブブロックが設けられている。第１ストレージ装置１００は、ホスト１０から指定された論理ブロックアドレスをサブブロックのアドレスに変換し、キャッシュメモリ１３０の所定箇所にデータを格納する（Ｓ２４）。換言すれば、V-VOL１６２Ｖ及びVDEV１６２は、それぞれキャッシュメモリ１３０の記憶空間に設けられた論理的な存在である。
【０１２９】
図８を参照して、第２ストレージ装置２００の外部ボリューム２４０からデータを読み出す場合の流れを説明する。まず、ホスト１０は、ポート１１１Ａを指定して第１ストレージ装置１００にデータの読み出しコマンド（Read）を送信する（Ｓ３１）。第１ストレージ装置１００は、リードコマンドを受信すると、要求されたデータを第２ストレージ装置２００から読み出すべく、新たなリードコマンドを生成する。
【０１３０】
そして、第１ストレージ装置１００は、生成したリードコマンドを第２ストレージ装置２００に送信する（Ｓ３２）。第２ストレージ装置２００は、第１ストレージ装置１００から受信したリードコマンドに応じて、要求されたデータをディスクドライブ２２０から読み出す。第２ストレージ装置２００は、この読出したデータを第１ストレージ装置１００に送信し（Ｓ３３）、正常に読み出しが完了した旨を報告する（Ｓ３５）。図８（ｂ）に示すように、第１ストレージ装置１００は、第２ストレージ装置２００から受信したデータを、キャッシュメモリ１３０の所定の場所に格納させる（Ｓ３４）。
【０１３１】
第１ストレージ装置１００は、キャッシュメモリ１３０に格納されたデータを読み出し、アドレス変換を行った後、LUN１６４等を介してホスト１０にデータを送信し（Ｓ３６）、読み出し完了報告を行う（Ｓ３７）。これらデータ読み出し時の一連の処理では、図６と共に述べた変換操作が逆向きで行われる。
【０１３２】
図８では、ホスト１０からの要求に応じて、第２ストレージ装置２００からデータを読み出し、キャッシュメモリ１３０に保存するかのように示している。しかし、これに限らず、第２ストレージ装置２００のボリューム２４０に記憶されているデータの全部または一部を、予めキャッシュメモリ１３０に記憶させておくこともできる。この場合、ホスト１０からのリードコマンドに対し、直ちにキャッシュメモリ１３０からデータを読み出してホスト１０に送信することができる。
【０１３３】
図９は、第２ストレージ装置２００の構成情報を取得するための処理の概要を示すフローチャートである。まず、第１ストレージ装置１００は、CHA１１０のExternalポート１１１Ｂを介して、第２ストレージ装置２００にログインする（Ｓ４１）。第２ストレージ装置２００が、第１ストレージ装置１００のログインに対して応答を返すことにより、ログインが完了する（Ｓ４２）。次に、第１ストレージ装置１００は、例えば、SCSI（Small Computer System Interface）規格で定められている照会コマンド（inquiryコマンド）を、第２ストレージ装置２００に送信し、第２ストレージ装置２００のボリューム２４０について詳細な情報を求める（Ｓ４３）。
【０１３４】
照会コマンドは、照会先の装置の種類及び構成を明らかにするために用いられるもので、照会先装置（第２ストレージ装置２００）の有する階層を透過してその物理的構造を把握することができる。照会コマンドを使用することにより、第１ストレージ装置１００は、例えば、装置名、デバイスタイプ、製造番号（プロダクトＩＤ）、LDEV番号、各種バージョン情報、ベンダＩＤ等の情報を第２ストレージ装置２００からそれぞれ取得することができる（Ｓ４４）。第２ストレージ装置２００は、問合せされた情報を第１ストレージ装置１００に送信し、応答する（Ｓ４５）。
【０１３５】
第１ストレージ装置１００は、第２ストレージ装置２００から取得した情報を、外部デバイス情報テーブルＴ１の所定箇所に登録する（Ｓ４６）。第１ストレージ装置１００は、第２ストレージ装置２００からボリューム２４０の記憶容量を読み出す（Ｓ４７）。第２ストレージ装置２００は、第１ストレージ装置１００からの問合せに対して、ボリューム２４０の記憶容量を返信し（Ｓ４８）、応答を返す（Ｓ４９）。第１ストレージ装置１００は、ボリューム２４０の記憶容量を外部デバイス情報テーブルＴ１の所定箇所に登録する（Ｓ５０）。以上の処理等を行うことにより、外部デバイス情報テーブルＴ１を構築できる。
【０１３６】
図１０は、V−VOL１６２Ｖと外部ボリューム２４０とを結ぶパスを設定する処理の概要を示すフローチャートである。この処理は、例えば、管理端末２０のストレージ管理部２２によって実行することができる。
【０１３７】
管理端末２０の端末画面には、例えば、パス設定を行うための画面が表示される。この画面を操作することにより、システム管理者等のユーザは、パスの追加を行うか、またはパスの削除を行うかを選択することができる。
【０１３８】
パスの追加を行う場合（S61：YES）、ユーザは、追加しようとするパスの各パラメータをそれぞれ指定する（Ｓ６２）。パラメータとしては、例えば、VDEV番号、有効パスフラグ、Externalポート番号、WWN、外部LUN番号及び優先度を挙げることができる。
【０１３９】
管理端末２０は、パスの追加に必要なパラメータがそれぞれ指定されると（Ｓ６２）、パス追加用のコマンドを生成し、このコマンドを通信ネットワークCN３を介して第２ストレージ装置２００に送信する（Ｓ６３）。
【０１４０】
図１０の下側に、パスを追加する場合のコマンド４０１の例を示す。パス追加用のコマンド「Set Alternate Path」の各パラメータには、ユーザによって指定された値がそれぞれ格納されている。第１ストレージ装置１００は、このコマンドを受信すると、外部デバイス情報テーブルＴ１に新たなパスを追加する。図５に示す外部デバイス情報テーブルＴ１の構成と比較すると明らかなように、コマンド４０１には、新たなパスの構成を定義するために必要な殆どの情報が含まれている。換言すれば、コマンド４０１には、テーブルＴ１の一行分の配列がほぼ含まれている。従って、第１ストレージ装置１００は、コマンド４０１を受信すると、このコマンド４０１に含まれる情報をテーブルＴ１に登録するだけでよく、比較的簡単にパスを追加することができる。
【０１４１】
一方、ユーザがパスの削除を希望する場合（S61：NO，S64：YES）、ユーザは、削除しようとするパスを選択する（Ｓ６５）。管理端末２０は、有効パスフラグの各ビットのうち、選択されたパスに対応するビットを０にリセットする（Ｓ６６）。管理端末２０は、削除用のコマンド４０２を生成し、このコマンド４０２を第１ストレージ装置１００に送信する（Ｓ６７）。
【０１４２】
図１０の下側に示すように、パス削除用のコマンド４０２は、パス追加用のコマンド４０１と同様に構成されている。但し、パス削除用コマンド４０２のパラメータとしては、例えば、削除対象の有効パスフラグ及びVDEV番号のみが実質的に含まれており、他のパラメータはヌル状態となっている。例えば、第３パスを削除する場合、３番目のビットがリセットされた有効パスフラグが生成される。第１ストレージ装置１００は、有効パスフラグの状態を確認し、第３パスの情報を外部デバイス情報テーブルＴ１から削除する。
【０１４３】
図１１は、外部接続パスの更新処理の概略を示すフローチャートである。この処理では、例えば、パスの切断（Disconnect）、または、切断されたパスの回復のいずれかを行うことができる。本処理も、管理端末２０のストレージ管理部２２により実行される。
【０１４４】
ユーザは、管理端末２０の端末画面に表示されたパス更新画面により、パスの切断またはパスの回復のいずれを行うか選択することができる。パスの切断を行う場合（S71：YES）、ユーザは、切断するパスのパラメータをそれぞれ指定する（Ｓ７２）。パラメータとしては、例えば、VDEV番号、Externalポート番号、WWN、外部LUN番号等を挙げることができる。ここで、優先度を指定する必要はない。パスを論理的に切断する場合、優先度はそのまま維持されるためである。管理端末２０は、パス切断に使用するパラメータを取得すると、パス切断用のコマンド４１１を生成し、これを第１ストレージ装置１００に送信する（Ｓ７３）。
【０１４５】
パス切断用コマンド４１１は、例えば、パスの切断指令であることを示す情報（Disconnect）と、VDEV番号、Externalポート番号、WWN、外部LUN番号、操作結果を含んで構成することができる。操作結果の欄には、第１ストレージ装置１００から返される状態が格納される。即ち、第１ストレージ装置１００から返信されたコマンド４１１Ａに示すように、パスの論理的な切断が正常に完了した場合、操作結果の欄には、「正常」を示す情報が格納される。
【０１４６】
なお、切断されたパスは、第１ストレージ装置１００による定期的な監視対象から外される。また、切断されたパスは、データ転送に使用することはできない。パスを切断した場合でも、そのパスの優先度は変化しないが、代替パスとして選択されることはない。従って、切断されたパスについては、Ｉ／Ｏ前の接続状態チェックも行われない。
【０１４７】
一方、ユーザがパスの回復を希望する場合（S71：NO，S74：YES）、ユーザは、回復させるパスを特定するためのパラメータをそれぞれ入力する（Ｓ７５）。このパラメータは、Ｓ７２で述べたものと同様である。管理端末２０は、パス回復用のコマンド４１２を生成し、これを第１ストレージ装置１００に送信する（Ｓ７６）。
【０１４８】
パス回復用コマンド（Check Paths）は、コマンド種別を示す情報を除いて、パス切断用コマンド４１１と同様に構成可能である。第１ストレージ装置１００がパスの回復操作に成功すると、第１ストレージ装置１００から管理端末２０にコマンド４１２Ａが返信され、その操作結果の欄には、「正常」を示す情報が格納される。
【０１４９】
図１２は、Writeコマンドの処理中に障害が発生した場合の全体動作の概略を示すシーケンスフローチャートである。
【０１５０】
ホスト１０は、第１ストレージ装置１００に向けて、仮想ボリューム１６３Ｖを書込み対象とするライトコマンドを発行し、ライトデータを送信する（Ｓ８１）。第１ストレージ装置１００は、ホスト１０から受信したライトデータをキャッシュメモリ１３０に記憶させる（Ｓ８２）。第１ストレージ装置１００は、ライトデータをキャッシュメモリ１３０に記憶させた後、直ちに、ホスト１０に処理完了を報告する（Ｓ８３）。
【０１５１】
また、第１ストレージ装置１００は、外部デバイス情報テーブルＴ１を参照して新たなライトコマンドを生成し、各Externalポート１１１Ｂのうち特定のExternalポート１１１Ｂを介して、第２ストレージ装置２００に送信する（Ｓ８４）。データ通信に使用される特定のExternalポート１１１Ｂは、例えば、現在使用可能なパスのうち最も高い優先度を有するパスのポートである。
【０１５２】
第２ストレージ装置２００は、第１ストレージ装置１００からライトデータを受信すると、これをキャッシュメモリに記憶し（Ｓ８５）、処理完了を応答する（Ｓ８６）。第２ストレージ装置２００は、適当なタイミングで、キャッシュされたライトデータを所定のディスクドライブ２２０に書き込み、ディステージさせる（Ｓ８７）。
【０１５３】
一方、ホスト１０は、第１ストレージ装置１００からの処理完了通知を受信すると（Ｓ８３）、新たなライトコマンド及びライトデータを第１ストレージ装置１００に送信する（Ｓ８８）。前記同様に、第１ストレージ装置１００は、ライトデータをキャッシュメモリ１３０に記憶させた後（Ｓ８９）、ホスト１０に処理完了を報告する（Ｓ９０）。
【０１５４】
第１ストレージ装置１００は、障害が発生したか否かを監視している（Ｓ９１）。障害発生を検出した場合（S91：YES）、第１ストレージ装置１００は、外部デバイス情報テーブルＴ１を参照し（Ｓ９２）、現在使用中のパスの優先度の次に高い優先度を有するパスを選択する（Ｓ９３）。即ち、第１ストレージ装置１００は、障害の発生したパスに代えて、使用可能なパスのうち最も高い優先度を有するパスを一つ選択する。そして、第１ストレージ装置１００は、前記同様に、ライトコマンドを第２ストレージ装置２００に送信する（Ｓ９４）。第２ストレージ装置２００は、第１ストレージ装置１００からのライトデータをキャッシュメモリに記憶させ（Ｓ９５）、第１ストレージ装置１００に処理完了を報告する（Ｓ９６）。
【０１５５】
なお、図１２では、説明の便宜のために、Ｓ９０の後で、障害発生を監視するかのように示したが、実際には、ライトコマンドの処理プロセスとは別のプロセスとして、障害検出が実行される。
【０１５６】
以上詳述した通り、本実施例によれば、外部のボリューム２４０をV-VOL１６２Ｖにマッピングすることにより、外部のボリューム２４０を第１ストレージ装置１００内の論理ボリューム１６３Ｖであるかのように取り扱うことができる。従って、第２ストレージ装置２００の記憶資源を第１ストレージ装置１００に統合して有効に利用できる。
【０１５７】
本実施例では、第１ストレージ装置１００と第２ストレージ装置２００とを複数のパスでそれぞれ接続し、現在使用中のパスに障害が発生した場合は、別のパスを用いる構成を採用する。従って、ポートの故障やファイバケーブルの断線等が生じた場合でも、代替パスに切り替えて、ホスト１０からのアクセス要求を処理することができる。これにより、障害が発生した場合でも、外部のボリューム２４０へのアクセスパスを常に確保することができる。従って、障害発生中も、アクセス要求の処理を続行させることができ、この間に障害復旧作業を行うことができ、信頼性や耐障害性等を向上させることができる。
【０１５８】
本実施例では、各パスに予め優先度をそれぞれ設定し、優先度の高いパスを優先的に使用する構成としている。従って、障害が発生した場合に、速やかに代替パスを決定することができる。また、例えば、優先度はユーザが事前に指定可能なため、ストレージシステムの環境に応じて、各パスに優先度を設定することができる。
【０１５９】
本実施例では、複数のパスを利用して外部ボリューム２４０へアクセス可能な構成を採用する。従って、障害が発生した場合に限らず、計画的な保守作業の場合にも、効果を奏する。即ち、CHA１１０やファイバケーブルを交換等する場合、この保守作業に係るパスを事前に切断状態とし、次に優先度の高いパスを選択させる。これにより、外部のストレージ装置２００とのパスを確保しながら、保守作業を行うことができる。第１ストレージ装置１００は、常に、第２ストレージ装置２００へのアクセスに使用するパスを確保するように、優先度に基づいてパスを選択する。
【実施例２】
【０１６０】
図１３〜図１５に基づいて、第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に相当する。本実施例では、第１ストレージ装置１００と第２ストレージ装置２００とを複数のパスで接続し、これら各パスを順番に切替ながら、ホスト１０からのアクセス要求を処理するようになっている。
【０１６１】
図１３は、WWN情報管理テーブルＴ３の一例を示す説明図である。WWN情報管理テーブルＴ３は、外部ストレージである第２ストレージ装置２００の交替パスモード（使用モード）を管理するための情報である。
【０１６２】
交替パスモードとしては、例えば、シングルパスモードとマルチパスモードとを挙げることができる。シングルパスモードは、第１実施例で述べたように、複数のパスの中からいずれか一つのパスを選択して使用するモードである。マルチパスモードは、後述のように、複数のパスを順番に切替ながら使用するモードである。
【０１６３】
交替パスモードは、例えば、ストレージ装置単位に設定可能である。第２ストージ装置２００をシングルパスモードで使用する場合、図１３に示すように、第２ストレージ装置２００の各ポート２１１のWWNには、シングルパスモードがそれぞれ設定される。第２ストレージ装置２００をマルチパスモードで使用する場合、各ポート２１１を識別するためのWWNには、それぞれマルチパスモードが設定される。
【０１６４】
なお、図１３中では、複数のストレージ装置について、ストレージ装置単位で交替パスモードをそれぞれ設定する様子が示されている。但し、場合によっては、同一のストレージ装置内で、異なる種類の交替パスモードを混在させることも可能である。
【０１６５】
次に、図１４は、マルチパスモードによるWriteコマンド処理の概略を示すフローチャートである。第１ストレージ装置１００は、ホスト１０からライトコマンド及びライトデータをそれぞれ受信すると（S101：YES）、ライトデータをキャッシュメモリ１３０に記憶させ（Ｓ１０２）、処理完了をホスト１０に報告する（Ｓ１０３）。
【０１６６】
第１ストレージ装置１００は、障害が発生したか否かを監視している（Ｓ１０４）。障害が発生した場合（S104：YES）、第１ストレージ装置１００は、障害の検出されたパスに係るExternalポート１１１Ｂを閉塞させる（Ｓ１０５）。そして、第１ストレージ装置１００は、使用可能なパスの中から、次のパスに切り替える（Ｓ１０６）。障害が検出されない場合（S104：NO）、第１ストレージ装置１００は、Ｓ１０５をスキップし、次のパスに切り替える（Ｓ１０６）。
【０１６７】
第１ストレージ装置１００は、切り替えたパスを用いて、第２ストレージ装置２００にライトコマンドを送信し（Ｓ１０７）、第２ストレージ装置２００からの処理完了通知を待つ（Ｓ１０８）。第２ストレージ装置２００から処理完了報告を受信すると（S108：YES）、本処理を終了する。引き続きホスト１０からライトコマンドが発行された場合は、Ｓ１０１以下の各ステップが再び繰り返される。
【０１６８】
図１５は、マルチパスモードで運用する場合の模式図である。第１ストレージ装置１００のコントローラ１０１は、WWN情報管理テーブルＴ３及び外部デバイス情報テーブルＴ１を参照することにより、複数のパスP1〜P8を順番に切替ながら、第２ストレージ装置２００にアクセスする。即ち、障害が発生していない場合、各アクセス処理の度に、例えば、P1、P2、P3、P4...の順番で、パスが切り替えて使用される。従って、ホスト１０から多数のアクセスが要求された場合でも、各パスP1〜P8の待ち行列をそれぞれ短くできるため、高速に処理を行うことができる。一方、いずれかのパスに障害が検出された場合、そのパスは閉塞され、使用不能となる。この場合、第１ストレージ装置１００は、正常なパスだけを順番に切替ながら、第２ストレージ装置２００にアクセスする。
【０１６９】
このように、本実施例では、第１ストレージ装置１００と第２ストレージ装置２００とを接続する複数のパスを順番に切替ながら、ホスト１０からのアクセス要求を処理することができる。従って、第１実施例よりも高速に処理することができ、ストレージシステムの応答性を高めることができる。
【０１７０】
また、いずれかのパスに障害が検出された場合でも、そのパスを除いて運用を継続するため、耐障害性を向上させることができる。さらに、いずれかのパスを保守作業しながら、他のパスを順番に切り替えて処理を継続することもでき、高速応答性を確保しつつ、信頼性や保守性をより向上させることができる。
【実施例３】
【０１７１】
図１６〜図１９に基づいて第３実施例を説明する。本実施例では、所定の単位でパスの操作を可能としている。
【０１７２】
図１６は、パスの操作処理の概略を示すフローチャートである。本処理は、管理端末２０のストレージ管理部２２により実行することができる。まず、ユーザは、パスの構成を操作する画面を呼び出し（Ｓ１１０）、メニューを選択する（Ｓ１１１）。
【０１７３】
操作メニューとしては、例えば、Externalポート単位でパスの構成を操作するメニューと、外部ストレージのポート単位でパスの構成を操作するメニューと、外部ボリューム２４０の単位でパスの構成を操作するメニューとを挙げることができる。
【０１７４】
Externalポート単位での操作をユーザが希望した場合、ユーザは、操作を希望するExternalポートを選択する（Ｓ１１２）。管理端末２０は、選択されたExternalポートに接続されている全てのパスの構成を一覧形式で表示させる（Ｓ１１３）。ユーザは、表示された全てのパスまたは一部のパスを選択し、その構成変更を指示する（Ｓ１１４）。構成変更としては、例えば、パスの削除、パス状態の変更（Disconnect→Normal，Normal→Disconnect）等を挙げることができる。
【０１７５】
管理端末２０は、ユーザからの要求に応えて、ユーザの要求する内容を実現するコマンドを生成し、このコマンドを第１ストレージ装置１００に送信する（Ｓ１２４）。このコマンドの詳細は、図１０及び図１１と共に既に述べた。
【０１７６】
ユーザが外部ストレージのポート単位（外部ポート単位）でパスの構成変更を希望する場合も前記同様に、構成変更を希望する外部ポートをユーザが選択する（Ｓ１３１）。管理端末２０は、選択された外部ポートに接続されている全てのパスの構成を一覧形式で表示させる（Ｓ１３２）。ユーザは、表示された中から全部または一部のパスを選択し、構成変更を要求する（Ｓ１３３）。管理端末２０は、必要なコマンドを生成して、第１ストレージ装置１００に送信する（Ｓ１３４）。
【０１７７】
同様に、ユーザが外部ボリューム単位でのパスの構成変更を希望する場合、ユーザは、所望の外部ボリュームを選択する（Ｓ１４１）。管理端末２０は、選択された外部ボリュームに接続されている全てのパスの構成を一覧形式で表示させる（Ｓ１４２）。ユーザは、表示されたパスの中から全部または一部のパスを選択し、構成変更を要求することができる（Ｓ１４３）。管理端末２０は、要求された内容を実現させるためのコマンドを生成し、第１ストレージ装置１００に送信する（Ｓ１４４）。
【０１７８】
なお、複数のパスについて構成変更を指示する場合は、図１０，図１１で述べたようなコマンドを各パス毎にそれぞれ生成し、第１ストレージ装置１００に送信する。
【０１７９】
図１７は、Externalポート単位でパスの構成変更を指示する場合の画面例である。領域Ｇ１の下側には、複数のタブメニューＢ１〜Ｂ３が設けられている。ユーザが、Externalポートの表示を指示するためのタブメニューＢ３を選択すると、領域Ｇ１には、複数のExternalポートが一覧表示される。この中から、ユーザは、所望のExternalポートをいずれか一つ選択することができる。
【０１８０】
ユーザがExternalポートを選択すると（Ｇ１１）、このポートに接続されている全てのパスの構成が、領域Ｇ２に一覧表示される。ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数（全部を含む。以下同様）を選択することができる。そして、例えば、コンテキストメニューのような形態で提供される操作メニューＭ１により、ユーザは、パスの回復やパスの切断等を指示することができる。
【０１８１】
図１８は、外部ポート単位でパスの構成変更を指示する場合の画面例である。ユーザが、外部ポートの表示を指示するためのタブメニューＢ２を選択すると、領域Ｇ１には、複数の外部ポートが一覧表示される。この中から、ユーザは、所望の外部ポートをいずれか一つ選択することができる。
【０１８２】
ユーザが外部ポートを選択すると（Ｇ１２）、このポートに接続されている全てのパスの構成が、領域Ｇ２に一覧表示される。前記同様に、ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数を選択可能である。そして、ユーザは、操作メニューＭ１によって、パスの回復やパスの切断等を指示する。
【０１８３】
図１９は、外部ボリューム単位でパスの構成変更を指示する場合の画面例である。ユーザが、外部ボリュームの表示を指示するためのタブメニューＢ１を選択すると、領域Ｇ１には、外部ボリュームが一覧表示される。この中から、ユーザは、所望の外部ボリュームをいずれか一つ選択することができる。
【０１８４】
ユーザが外部ボリュームを選択すると（Ｇ１３）、このボリューム２４０に接続されている全てのパスの構成が、領域Ｇ２に一覧表示される。ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数を選択することができる。ユーザは、操作メニューＭ１によって、パスの回復やパスの切断等を指示する。
【０１８５】
このように本実施例では、所定の単位でパスの構成変更操作を行えるようにした。従って、例えば、保守作業等を行う場合に、その作業に関連する全てのパスを一括して切断状態に変更し、作業を行うことができる。この場合、使用可能なパスが残存していれば、保守作業とストレージサービスとを両立させることもできる。
【実施例４】
【０１８６】
図２０，図２１に基づいて、第４実施例を説明する。本実施例では、第２ストレージ装置２００を計画的に停止させたような場合に、障害発生と誤って認識されるのを未然に防止できるようにしている。
【０１８７】
図２０は、外部ストレージとしての第２ストレージ装置２００を計画的に保守する場合の保守作業手順を示す概略フローチャートである。まず、ホスト１０から第１ストレージ装置１００へのアクセス要求（Ｉ／Ｏ）を停止させる（Ｓ１５１）。
【０１８８】
次に、第１ストレージ装置１００と第２ストレージ装置２００とを結ぶ各パスの状態をそれぞれ切断状態に変更させる（Ｓ１５２）。この場合、前記実施例で述べたように、外部ポート単位または外部ボリューム単位で、パスの構成を変更することにより、作業性を高めることができる。
【０１８９】
このようにして保守準備を終えた後、保守要員は、第２ストレージ装置２００の保守作業を開始する（Ｓ１５３）。保守作業を終えると（S154：YES）、切断されたパスの状態をそれぞれ通常状態に回復させる（Ｓ１５５）。そして、ホスト１０から第１ストレージ装置１００へのアクセス要求を許可する（Ｓ１５６）。
【０１９０】
図２１は、障害検出処理の概略を示すフローチャートである。この処理は、第１ストレージ装置１００のコントローラ１０１により実行可能である。第１ストレージ装置１００は、外部ストレージ（第２ストレージ装置２００）との接続に使用されるパスであるか否かを判定する（Ｓ１６１）。
【０１９１】
外部接続用のパスでない場合（S161：NO）、第１ストレージ装置１００は、そのパスに障害が発生しているか否かを判定する（Ｓ１６２）。障害が検出された場合（S162：YES）、第１ストレージ装置１００は管理センタ３０に障害発生を通知する（Ｓ１６３）。管理センタ３０は、この通知を受信すると、例えば、保守要員に連絡する。
【０１９２】
一方、外部接続用のパスである場合（S161：YES）、第１ストレージ装置１００は、そのパスが切断状態（Disconnect）であるか否かを判定する（Ｓ１６４）。その外部接続用パスが論理的に切断されていない場合（S164：NO）、第１ストレージ装置１００は、既に述べたＳ１６２に移る。
【０１９３】
これに対し、その外部接続用パスが切断状態にある場合（S164：YES）、第１ストレージ装置１００は、障害が発生したか否かを判定することなく、本処理を終了する。即ち、論理的に切断された外部接続用のパスは、障害検出処理の対象とならず、無視される。
【０１９４】
従って、本実施例では、外部ストレージの保守作業を行う前に、外部接続用パスの状態を切断状態に変更させることにより、誤った通知が管理センタ３０に送信されるのを未然に防止することができ、使い勝手が向上する。
【実施例５】
【０１９５】
図２２は、第５実施例に係るストレージシステムの模式図である。図２２に示すように、第１ストレージ装置１００には、第２ストレージ装置２００に加えて、第３ストレージ装置２００Ａを接続することができる。
【０１９６】
第１ストレージ装置１００内には、複数のV−VOL１６２Ｖが設けられており、これら各V−VOL１６２Ｖには、それぞれ異なる外部ストレージ２００，２００Ａ内のボリューム２４０，２４０Ａがマッピングされている。
【０１９７】
そして、第２ストレージ装置２００は、マルチパスモードで運用されており、第３ストレージ装置２００Ａはシングルパスモードで運用されている。従って、例えば、高速応答性が要求される場合は、第２ストレージ装置２００のボリュームを利用し、高速応答性よりも耐障害性が重視されるような場合は、第３ストレージ装置２００Ａのボリュームを利用することができる。
【０１９８】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、シングルパスモードとマルチパスモードとを、運用途中で動的に切り替えることも可能である。また、例えば、それぞれ複数のパスを有する複数のグループを形成し、各パスグループ毎にそれぞれシングルパスモードまたはマルチパスモードを適用可能な場合もある。
【図面の簡単な説明】
【０１９９】
【図１】本発明の実施例に係わるストレージシステムの全体構成を示すブロック図である。
【図２】ストレージシステムのブロック図である。
【図３】ストレージシステムの記憶構造を模式的に示す説明図である。
【図４】ストレージシステムの機能構成の概略を示す説明図である。
【図５】外部デバイス情報テーブルの構成例を示す説明図である。
【図６】仮想ボリュームとして取り込まれた外部ボリュームにデータを書き込む場合のアドレス変換の様子を示す説明図である。
【図７】仮想ボリュームとして使用される外部の記憶デバイスにデータを書き込む場合の概念図である。
【図８】仮想ボリュームとして使用される外部の記憶デバイスからデータを読み出す場合の概念図である。
【図９】第２ストレージ装置の情報を取得する処理を示すフローチャートである。
【図１０】パス設定処理のフローチャートである。
【図１１】外部パス接続情報の更新処理を示すフローチャートである。
【図１２】Writeコマンドを処理する場合の全体動作を示すシーケンスフローチャートである。
【図１３】第２実施例に係り、WWN情報管理テーブルを示す説明図である。
【図１４】マルチパスモードでWriteコマンドを処理する場合のフローチャートである。
【図１５】マルチパスモードで運用されるストレージシステムの模式図である。
【図１６】第３実施例に係り、所定の単位でパスの構成変更を操作する処理を示すフローチャートである。
【図１７】Externalポート単位でパスの構成を変更する画面例である。
【図１８】外部ポート単位でパスの構成を変更する画面例である。
【図１９】外部ボリューム単位でパスの構成を変更する画面例である。
【図２０】第４実施例に係り、外部ストレージの保守作業手順を示すフローチャートである。
【図２１】障害監視処理を示すフローチャートである。
【図２２】第５実施例に係るストレージシステムの模式図である。
【符号の説明】
【０２００】
１，２…ストレージ装置、１Ａ…仮想ボリューム、１Ｂ…制御部、１Ｃ…マッピング情報、EP1〜EP3…外部接続用ポート、２Ａ…実ボリューム、２Ｂ…外部LUN、P1〜P3…ポート、３…スイッチ、４…ホスト、５…管理端末、１０…ホスト、１１…HBA、１２…アプリケーションプログラム、２０…管理端末、２１…ポート、２２…ストレージ管理部、３０…管理センタ、１００…第１ストレージ装置（メインストレージ）、１０１…コントローラ、１１０…チャネルアダプタ（CHA）、１１１Ａ…ターゲットポート、１１１Ｂ…外部接続用ポート（Externalポート）、１２０…ディスクアダプタ（DKA）、１３０…キャッシュメモリ、１４０…共有メモリ、１５０…接続制御部、１６０…記憶部、１６１…ディスクドライブ（PDEV）、１６２Ｖ…中間仮想記憶デバイス（V−VOL）、１６３…内部ボリューム（LDEV）、１６３Ｖ…仮想ボリューム、１６４…LU、１６５…コマンドデバイス（CMD）、２００…第２ストレージ装置（外部ストレージ）、２１０…コントローラ、２１１…ポート、２２０…ディスクドライブ、２４０…論理ボリューム（LDEV）、Ｔ１…外部デバイス情報テーブル
【図１】
2006178811.tif 000003
【図２】
2006178811.tif 000004
【図３】
2006178811.tif 000005
【図４】
2006178811.tif 000006
【図５】
2006178811.tif 000007
【図６】
2006178811.tif 000008
【図７】
2006178811.tif 000009
【図８】
2006178811.tif 000010
【図９】
2006178811.tif 000011
【図１０】
2006178811.tif 000012
【図１１】
2006178811.tif 000013
【図１２】
2006178811.tif 000014
【図１３】
2006178811.tif 000015
【図１４】
2006178811.tif 000016
【図１５】
2006178811.tif 000017
【図１６】
2006178811.tif 000018
【図１７】
2006178811.tif 000019
【図１８】
2006178811.tif 000020
【図１９】
2006178811.tif 000021
【図２０】
2006178811.tif 000022
【図２１】
2006178811.tif 000023
【図２２】
2006178811.tif 000024