説明

ストレージシステム及びストレージシステムのパス制御方法

【課題】 外部の記憶資源を内部の記憶資源として仮想化することにより、記憶資源を有効利用し、各ストレージ装置間を複数のパスで切替可能に接続し、信頼性や使い勝手を向上させる。
【解決手段】 メインストレージ1には、外部ストレージ2が接続されており、仮想ボリューム1Aには、実ボリューム2Aがマッピングされている。各ストレージ1,2間は、複数のパスで接続されている。使用中のパスに障害が発生すると(S3)、次に優先度の高いパスが選択され(S4)、このパスを用いて処理が続行される(S5)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージシステム及びストレージシステムのパス制御方法に関する。
【背景技術】
【0002】
例えば、政府、官公庁、地方自治体、企業、教育機関等では、多種多量のデータを取り扱うために、比較的大規模な記憶システムを用いてデータを管理する。この記憶システムは、例えば、ディスクアレイ装置等から構成される。ディスクアレイ装置は、多数の記憶デバイスをアレイ状に配設して構成されるもので、例えば、RAID(Redundant Array of Independent Disks)に基づく記憶領域を提供する。
【0003】
記憶デバイス群が提供する物理的な記憶領域上には少なくとも1つ以上の論理ボリューム(論理ユニット)が形成され、この論理ボリュームがホストコンピュータ(より詳しくは、ホストコンピュータ上で稼働するデータベースプログラム)に提供される。ホストコンピュータ(以下、「ホスト」と略記)は、所定のコマンドを送信することにより、論理ボリュームに対してデータの書込み、読み出しを行うことができる。
【0004】
情報化社会の進展等につれて、管理すべきデータは、日々増大する。このため、より高性能、より大容量のストレージ装置が求められており、この市場要求に応えるべく、複数のストレージ装置を用いてストレージシステムを構成する場合がある。
【0005】
複数のストレージ装置を用いてストレージシステムを構成する場合、既存の旧型ストレージ装置を、新型のストレージ装置に置き換える方法が知られている(特許文献1)。この文献に記載の従来技術では、負荷の少ない時間帯を見計らって、新設のストレージ装置が既存のストレージ装置にデータを移行させるようになっている。
【特許文献1】特表平10−508967号
【発明の開示】
【発明が解決しようとする課題】
【0006】
前記文献に記載のものでは、単に、既存のストレージ装置を新設のストレージ装置に置き換えるだけのものである。この文献には、一方のストレージ装置が他方のストレージ装置の記憶資源を主体的に利用することにより、ストレージシステム全体の記憶資源を有効に利用する等の観点は、何ら含まれていない。
【0007】
前記文献に記載のように、旧型のストレージ装置から新型のストレージ装置に完全に移行する場合は、新型のストレージ装置の機能や性能を利用可能である。しかし、データ移行の完了後は、旧型のストレージ装置が無駄になり、旧型のストレージ装置を有効に利用することができない。
【0008】
本発明は、上記の問題点に鑑みてなされたもので、本発明の一つの目的は、複数のストレージ装置を連携させて記憶資源を有効に利用でき、使い勝手または信頼性を向上できるようにしたストレージシステム及びストレージシステムのパス制御方法を提供することにある。本発明の目的の一つは、複数のストレージ装置を複数の通信パスを介して接続し、ストレージシステムの使用状況に応じて、通信パスを切り替えることができるようにしたストレージシステム及びストレージシステムのパス制御方法を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【0009】
上記課題を解決すべく、本発明に従うストレージシステムは、ホストによって使用される仮想ボリュームを有する第1ストレージ装置と、この第1ストレージ装置と複数の通信パスを介して接続され、仮想ボリュームに対応付けられる実ボリュームを有する第2ストレージ装置と、各通信パスによって仮想ボリュームと実ボリュームとをそれぞれ接続し、実ボリュームを仮想ボリュームのデータ格納先ボリュームとしてマッピングするマッピング管理部と、このマッピング管理部により管理されている仮想ボリュームと実ボリュームとのマッピング情報に基づいて、ホストから仮想ボリュームへのアクセス要求を処理する制御部と、を備えている。そして、制御部は、各通信パスのうち少なくともいずれか一つ以上の通信パスを選択して、アクセス要求を処理可能である。
【0010】
ここで、第1ストレージ装置は、例えば、ディスクアレイサブシステム等のように、記憶資源を内蔵する装置として構成可能である。しかし、これに限らず、第1ストレージ装置は、例えば、インテリジェント化されたファイバチャネルスイッチ等のように構成することもできる。第1ストレージ装置は、ストレージサービスをホストに提供するための物理的な記憶資源を持たない装置として構成可能である。第1ストレージ装置は、実際にデータを格納する物理的なボリュームを有している必要はなく、仮想的なボリュームを設定可能であればよい。
【0011】
仮想ボリュームと実ボリュームとは、複数の通信パスを介して接続されており、実ボリュームは、仮想ボリュームのデータ格納先ボリュームとして使用される。即ち、ホストが仮想ボリュームにライトデータを書き込む場合、このライトデータは第2ストレージ装置に転送されて、実ボリュームに書き込まれる。また、ホストが仮想ボリュームからデータを読み出す場合、このリードデータは、第2ストレージ装置の実ボリュームから読み出されて、ホストに提供される。もっとも、第1ストレージ装置は、データを一時的にまたは恒久的に記憶可能なメモリを備えることができる。このメモリ内に、ホストから要求されたリードデータが記憶されている場合、第1ストレージ装置は、第2ストレージ装置からリードデータを取得する必要は必ずしもない。
【0012】
本発明の実施形態では、各通信パスにはそれぞれ予め優先度が設定されている。制御部は、優先度に基づいて、使用可能な各通信パスのうち少なくともいずれか一つの通信パスを選択して使用可能である。例えば、制御部は、使用可能な複数の通信パスのうち、より優先度の高い通信パスを用いて、実ボリュームにアクセスすることができる。
【0013】
本発明の実施形態では、制御部は、各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えている。障害検出部により、各通信パスのうち使用中の通信パスについて障害の発生が検出された場合は、各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択して使用する。即ち、使用中の通信パスに何らかの障害が発生した場合、制御部は、正常な複数の通信パスのうち優先度の高い通信パスを選択することができる。これに限らず、正常な各通信パスのうち、いずれか一つまたは複数の通信パスを任意に選択することもできる。これにより、使用中の通信パスに障害が発生して使用不能となった場合でも、制御部は、別の通信パスを用いて実ボリュームにアクセスすることができ、ホストからのアクセス要求の処理が中断しない。また、ホストからのアクセス要求を処理しながら、障害の回復作業を行うことができる。
【0014】
本発明の実施形態では、マッピング管理部により管理されるマッピング情報には、少なくとも、仮想ボリュームを識別するための仮想ボリューム識別情報と、実ボリュームを識別するための実ボリューム識別情報と、仮想ボリュームから各通信パスをそれぞれ用いて実ボリュームにアクセスするための各パス情報と、各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、各通信パスの優先度を示す優先度情報とが対応付けられている。
【0015】
各パス情報は、第1ストレージ装置の有する複数の第1ポートをそれぞれ識別するための第1ポート情報と、第2ストレージ装置の有する複数の第2ポートをそれぞれ識別するための第2ポート情報と、各第2ポートにそれぞれ対応付けられている論理ユニット番号(LUN)とを対応付けることにより構成可能である。
【0016】
第1ストレージ装置に接続される管理装置をさらに設けることもできる。そして、この管理装置によって、マッピング情報の全部または一部を更新可能に構成してもよい。
【0017】
さらに、管理装置は、マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の通信パス毎に、それぞれ更新可能に構成することもできる。ここで、所定の接続点とは、例えば、通信ポート等のように、通信パスに含まれるノードを挙げることができる。
【0018】
例えば、第1ポートまたは第2ポートまたは実ボリュームにそれぞれ接続されている少なくとも一つ以上の通信パス毎に、それぞれマッピング情報の全部または一部を更新可能に構成してもよい。即ち、第1ポート単位、第2ポート単位、実ボリューム単位のいずれかで、通信パスの構成を管理可能である。ここで、第1ポート単位とは、例えば、各第1ポートにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。同様に、第2ポート単位とは、例えば、各第2ポートにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。同様に、実ボリューム単位とは、例えば、実ボリュームにそれぞれ接続されている通信パスの全部または一部を対象に、マッピング情報を更新可能であることを意味する。なお、ある一組の実ボリュームと仮想ボリュームに着目すると、各通信パスの一端側は実ボリュームに接続され、各通信パスの他端側は仮想ボリュームに接続されている。従って、実ボリューム単位で通信パスの構成を管理可能な構成は、仮想ボリューム単位で通信パスの構成を管理可能な構成と等価である。
【0019】
このように、所定の単位で各通信パスの構成を管理可能な構成とすることにより、保守作業の作業効率を向上可能である。例えば、障害が発生した場合や計画的な部品交換作業等を行う場合に、障害や交換に関連する通信パスのみを切断(論理的な切断)させることができる。全ての通信パスが使用不能な場合等を除き、ホストからのアクセス要求の処理が中断することはない。
【0020】
管理装置は、少なくともマッピング情報に含まれる状態情報を更新可能であり、第1ストレージ装置または第2ストレージ装置のいずれかまたは両方を計画的に停止させる場合は、この計画的な停止に係わる所定の通信パスの状態を使用可能状態から使用不能状態に変更させ、計画的な停止が終了した場合は、所定の通信パスの状態を使用可能状態に再び変更させる構成としてもよい。
【0021】
そして、制御部は、各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えており、各通信パスのいずれかにおいて障害の発生が検出された場合、この障害の発生した通信パスの状態が使用不能状態に設定されている場合は、障害の発生を無視するように構成してもよい。これにより、例えば、第2ストレージ装置の保守作業を行う際に、保守作業に係る各通信パスの状態をそれぞれ予め使用不能状態に設定しておくことにより、検出された障害を無視することができる。従って、第2ストレージ装置の計画的な保守作業によって、障害発生が検出されてしまい、外部の保守管理センタ等に通知される事態を未然に防止することができる。
【0022】
管理装置が所定の通信パスの状態を使用不能状態に変更した場合でも、優先度は固定しておくことができる。
【0023】
本発明の実施形態では、制御部は、各通信パスを順番に切替ながら、アクセス要求を処理することもできる。即ち、制御部は、アクセス要求毎にそれぞれ異なる通信パスを用いて、実ボリュームにアクセスすることができる。これにより、一つの通信パスを用いてアクセス要求を処理する場合よりも、高速に処理を行うことができる。
【0024】
制御部は、各通信パスのうちいずれか一つの通信パスを使用してアクセス要求を処理する第1モードと、各通信パスを順番に切替ながらアクセス要求を処理する第2モードとを備えることもできる。
【0025】
第1ストレージ装置と複数の他の通信パスを介して接続され、第1ストレージ装置が有する他の仮想ボリュームに対応付けられる他の実ボリュームを有する第3ストレージ装置を備えている場合、制御部は、ストレージ装置単位で、第1モードまたは第2モードをそれぞれ適用することもできる。即ち、例えば、制御部は、第2ストレージ装置の実ボリュームとの間では第1モードでアクセスし、第3ストレージ装置の他の実ボリュームとの間では第2モードでアクセスすることもできる。従って、例えば、高速処理が要求される仮想ボリュームには第2モードを用いる等のように、仮想ボリュームの使用態様等に応じて、アクセスモードを変えることができる。
【0026】
本発明の別の観点に従うストレージシステムのパス制御方法は、第1ストレージ装置の有する仮想ボリュームと第2ストレージ装置の有する実ボリュームとを複数の通信パスを介してそれぞれ接続させ、仮想ボリュームと実ボリュームとの対応関係を示すマッピング情報を管理する第1ステップと、各通信パスのうちいずれか一つの通信パスを用い、マッピング情報に基づいて、ホストから仮想ボリュームへのアクセス要求を処理する第2ステップと、各通信パスに障害が発生したか否かをそれぞれ検出する第3ステップと、各通信パスのうち使用中の通信パスについて障害が発生した場合は、各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択する第4ステップと、選択された通信パスを使用してホストからのアクセス要求を処理する第5ステップと、を含む。
【0027】
第4ステップでは、各通信パスのうち、使用可能状態にある通信パスの中で最も優先度が高く設定されている通信パスを一つ選択することもできる。
【0028】
マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の通信パス毎にそれぞれ更新可能な第6ステップをさらに備えることもできる。
【0029】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【発明を実施するための最良の形態】
【0030】
図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態では、後述のように、外部に存在する記憶デバイスを自己の仮想的な中間記憶デバイスにマッピングすることにより、外部の記憶デバイスをあたかも自己の内部ボリュームであるかのようにして取り込み、ホストに提供する。
【0031】
本実施形態のストレージシステムは、例えば、第1ストレージ装置1と、第2ストレージ装置2と、スイッチ3と、ホスト4と、管理装置としての管理端末5とを備えて構成することができる。
【0032】
第1ストレージ装置1は、例えば、ディスクアレイ装置として構成される。第1ストレージ装置1は、複数の通信ポート(以下「ポート」)P0,EP1〜EP3を備えている。ポートP0は、ホスト4との通信に使用される。各ポートEP1〜EP3は、それぞれ第2ストレージ装置2との通信に使用される外部接続用ポートである。これら各ポートP0,EP1〜EP3は、仮想ボリューム1Aにそれぞれ接続されている。
【0033】
ストレージシステムは、例えば、SAN(Storage Area Network)等のように、ファイバチャネルプロトコルに基づいてデータ通信を行うストレージシステムとして構成することができる。管理端末5と第1ストレージ装置1とは、例えば、LAN(Local Area Network)やWAN(Wide Area Netwrok)等のように、TCP/IP(Transmission Control Protocol/Internet Protocol)に基づいてデータ通信を行うネットワークで接続してもよい。以上は例示であって、本発明はプロトコルの種類に限定されるものではない。
【0034】
第1ストレージ装置1は、仮想ボリューム1Aと、制御部1Bとを備えて構成することができる。仮想ボリューム1Aは、仮想的な存在であり、データを記憶する実体は、第2ストレージ装置2内に存在する。
【0035】
即ち、第1ストレージ装置1が有する記憶階層の所定の層に、第2ストレージ装置2の有する実ボリューム2Aがマッピングされることにより、仮想ボリューム1Aが構築されている。この仮想ボリューム1Aは、各外部接続用ポートEP1〜EP3をそれぞれ介して、第2ストレージ装置2の実ボリューム2Aに接続されている。また、仮想ボリューム1Aは、ポートP0を介して、ホスト4に接続されている。
【0036】
制御部1Bは、第1ストレージ装置1の全体動作を制御するためのものである。制御部1Bは、マッピング情報1Cを保持しており、このマッピング情報1Cに基づいて、データ入出力等を制御する。
【0037】
マッピング情報1Cには、例えば、仮想ボリューム1Aを識別するための仮想ボリューム識別情報と、実ボリューム2Aを識別するための実ボリューム識別情報と、仮想ボリューム1Aから各通信パス(以下「パス」)をそれぞれ用いて実ボリューム2Aにアクセスするための各パス情報と、各パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、各パスの優先度を示す優先度情報とを含めることができる。
【0038】
そして、マッピング情報1Cは、管理端末5からの指示によって更新可能である。即ち、管理端末5は、仮想ボリューム1Aと実ボリューム2Aとのマッピング関係を定義することができる。
【0039】
制御部1Bは、ホスト4からポートP0を介して、仮想ボリューム1Aに対するアクセス要求を受信すると、マッピング情報1Cに基づいて、第2ストレージ装置2の実ボリューム2Aにアクセスする。
【0040】
例えば、ライト要求の場合、制御部1Bは、ポートEP1〜EP3のうち所定のポートを介して、ホスト4から受信したライトデータを第2ストレージ装置2に転送し、実ボリューム2Aに格納させる。また、例えば、リード要求の場合、制御部1Bは、ポートEP1〜EP3のうち所定のポートを介して、第2ストレージ装置2にアクセスし、ホスト4から要求されたデータを実ボリューム2Aから読み出す。従って、ホスト4からは、仮想ボリューム1Aに直接アクセスしているかのように見える。しかし、実際のデータ格納先ボリュームは、第2ストレージ装置2の実ボリューム2Aである。
【0041】
第2ストレージ装置2は、第1ストレージ装置1と同様に、例えば、ディスクアレイ装置として構成される。第2ストレージ装置2は、複数のパスを介して、第1ストレージ装置1に接続されている。
【0042】
第2ストレージ装置2は、例えば、実ボリューム2Aと、実ボリューム2Aにそれぞれ対応付けられた複数の外部LU2Bと、これら各外部LU2Bにそれぞれ対応付けられたポートP1〜P3とを備えることができる。なお、ここで、ホスト4へのストレージサービスは、第1ストレージ装置1によって提供されるため、第1ストレージ装置1がメインストレージとなっている。第2ストレージ装置2は、第1ストレージ装置1の外部に存在する外部ストレージである。従って、ここでは、視点を第1ストレージ装置1に置き、第2ストレージ装置2内のLUを「外部LU」と呼ぶ。
【0043】
実ボリューム2Aは、第2ストレージ装置2内に設けられた物理的な記憶デバイスに基づいて設けられるものである。実ボリューム2Aは、上述のように、第1ストレージ装置1の仮想ボリューム1Aにマッピングされており、仮想ボリューム1Aに論理ボリュームとしての実体を提供している。
【0044】
実ボリューム2Aには、第1ストレージ装置1と第2ストレージ装置2との間に設けられた各パスがそれぞれ接続されている。即ち、各ポートP1〜P3のいずれを介しても、実ボリューム2Aにアクセス可能である。
【0045】
スイッチ3は、第1ストレージ装置1と第2ストレージ装置2との間を接続する中継装置である。スイッチ3は、例えば、ファブリック型スイッチとして構成できる。スイッチ3は、複数の一側ポート及び他側ポートを備えている。各一側ポートと各他側ポートとは、自在に接続可能である。従って、図示の例では、スイッチ3により、9通りの経路を形成することができる。
【0046】
ここでは、発明の理解のために、3つのパスを設定するものとする。第1のパスは、第1ストレージ装置1のポートEP1と第2ストレージ装置2のポートP1とを直線的に結ぶパスである。このパスは、太線で図1中に示されている。第2のパスは、ポートEP2とポートP2とを直線的に結ぶパスであり、点線で示されている。第3のパスは、ポートEP3とポートP3とを直線的に結ぶパスである。いずれのパスも、その一端側は仮想ボリューム1Aにそれぞれ接続されており、その他端側は実ボリューム2Aに接続されている。制御部1Bは、どのパスを用いても、実ボリューム2Aにアクセスすることができる。
【0047】
次に、ストレージシステムの動作概略について説明する。まず、システム管理者等のユーザは、管理端末5を介して、第1ストレージ装置1にアクセスし、マッピング情報1Cを設定する(S1)。マッピング情報1Cが生成されることにより、第1ストレージ装置1内に仮想ボリューム1Aを生成したり、この仮想ボリューム1Aに各ポートP0,EP1〜EP3をそれぞれ割当てることができる。さらに、仮想ボリューム1Aに実ボリューム2Aをマッピングすることができる。
【0048】
ここでは、最初、制御部1Bは、第2パス(EP2−P2)を用いて、実ボリューム2Aにアクセスするものとする(S2)。この使用中の第2パスに障害が発生した場合(S3)、制御部1Bは、この障害発生を検出する。障害としては、例えば、ポートEP2またはポートP2の故障や、ファイバケーブルの断線等を挙げることができる。
【0049】
制御部1Bは、第2パスに障害が発生したことを検出すると、第2パスから第1パス(EP1−P1)に切り替える(S4)。これにより、ホスト4からのアクセス要求は、第1パスを用いて続行される(S5)。
【0050】
ここでは、第1パスに設定されている優先度が、第3パス(EP3−P3)に設定されている優先度よりも高いため、第1パスが選択される。もしも、第3パスの優先度が第1パスのそれよりも高く設定されている場合は、第3パスが選択される。
【0051】
このように、本実施形態によれば、第1ストレージ装置1が第2ストレージ装置2の有する実ボリューム2Aを自分自身の仮想ボリューム1Aとして取り込んで利用することができる。
【0052】
そして、本実施形態によれば、第1ストレージ装置1と第2ストレージ装置2とを複数のパスでそれぞれ接続し、いずれかのパスを用いて、実ボリューム2Aにアクセスできるようにしている。従って、使用中のパスに障害が発生した場合は、他の正常なパスに切り替えることにより、ホスト4からのアクセス要求の処理を中断することなく、続行することができ、耐障害性や信頼性が向上する。パスを切り替えて稼働させている間に、故障を回復させる作業を行うことができる。
【0053】
また、本実施形態によれば、複数のパスを利用できるため、例えば、ポートの交換等のような計画的な保守作業を行うような場合に、ストレージシステムを停止させることなく、保守作業を行うことができる。従って、使い勝手が向上する。以下、本実施形態をより詳細に説明する。
【実施例1】
【0054】
図2は、本実施例によるストレージシステムの要部の構成を示すブロック図である。このストレージシステムは、それぞれ後述するように、例えば、ホスト10と、管理端末20と、管理センタ30と、複数のストレージ装置100,200と、各ストレージ装置10,200を接続するスイッチ300とを含んで構成することができる。
【0055】
ホスト10と第1ストレージ装置100とは、通信ネットワークCN1を介して接続されている。第1ストレージ装置100と第2ストレージ装置200とは、複数の通信ネットワークCN2を介してそれぞれ接続されている。
【0056】
第1ストレージ装置100と管理端末20とは、通信ネットワークCN3を介して接続されている。また、第1ストレージ装置100と管理センタ30とは、通信ネットワークCN4を介して接続されている。
【0057】
ホスト10は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。
【0058】
ホスト10は、通信ネットワークCN1を介して第1ストレージ装置100にアクセスするためのHBA(Host Bus Adapter)11と、例えば、データベースソフトウェア等のアプリケーションプログラム12と、を備えている。
【0059】
通信ネットワークCN1としては、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。LANを介するデータ通信は、例えば、TCP/IPプロトコルに従って行われる。ホスト10がLANを介して第1ストレージ装置100に接続される場合、ホスト10は、ファイル名を指定してファイル単位でのデータ入出力を要求する。
【0060】
ホスト10がSANを介して第1ストレージ装置100に接続される場合、ホスト10は、ファイバチャネルプロトコルに従って、複数のディスクドライブにより提供される記憶領域のデータ管理単位であるブロックを単位としてデータ入出力を要求する。通信ネットワークCN1がLANである場合、HBA11は、例えばLAN対応のネットワークカードである。通信ネットワークCN1がSANの場合、HBA11は、例えばホストバスアダプタである。
【0061】
なお、ホスト10がメインフレームとして構成される場合、ホスト10は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従ってデータ転送を行う。
【0062】
管理端末20は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者等のユーザにより操作される。管理端末20は、通信ネットワークCN3を介して、第1ストレージ装置100に接続されている。管理端末20は、例えば、通信ネットワークCN3に接続するためのLANポート21と、ストレージ管理部22とを備えて構成することができる。ストレージ管理部22は、例えば、ソフトウェアとして構成され、第1ストレージ装置100に各種の指示を与える。この指示によって、第1ストレージ装置100内の制御情報やテーブル等を書き換えることができる。また、管理端末20は。第1ストレージ装置100から各種の情報を取得し、これを端末画面に表示させることもできる。
【0063】
管理センタ30は、通信ネットワークCN4を介して第1ストレージ装置100に接続されている。管理センタ30は、ストレージシステムの保守を管理するためのコンピュータ装置である。管理センタ30は、第1ストレージ装置100から障害発生の通知を受けると、例えば、障害発生の事実を保守要員等に連絡する。
【0064】
第1ストレージ装置100は、例えば、ディスクアレイサブシステムとして構成されるものである。但し、これに限らず、第1ストレージ装置100を、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成してもよい。
【0065】
第1ストレージ装置100は、後述のように、第2ストレージ装置200の有する記憶資源を、自己の論理ボリューム(Logical Unit:図中では「LDEV」と表記)としてホスト10に提供する。第1ストレージ装置100は、ストレージシステムにおけるメインストレージであり、ホスト10へストレージサービスを提供する。これに対し、第2ストレージ装置200は、メインストレージである第1ストレージ装置100によって使用される外部ストレージである。
【0066】
第1ストレージ装置100は、コントローラと記憶部160とに大別することができ、コントローラは、例えば、複数のチャネルアダプタ(以下、「CHA」)110と、複数のディスクアダプタ(以下、「DKA」)120と、キャッシュメモリ130と、共有メモリ140と、接続制御部150とを備えて構成することができる。後述の図4では、コントローラ101として示す。
【0067】
各CHA110は、ホスト10との間のデータ通信を行うものである。各CHA110は、ホスト10と通信を行うためのポート111をそれぞれ複数ずつ備えている。後述のように、各ポート111は、例えば、イニシエータポート、ターゲットポート、外部接続用ポート(Externalポート)に分類することができる。イニシエータポートは、ホストとしてコマンドを発行するためのポートである。ターゲットポートは、コマンドを受信して処理するためのポートである。外部接続用ポートは、イニシエータポートの一種であって、第2ストレージ装置200との接続に使用される。
【0068】
各CHA110は、それぞれCPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、ホスト10から受信した各種コマンドを解釈して実行する。各CHA110には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられており、各CHA110は、それぞれが個別にNAS(Network Attached Storage)として振る舞うことも可能である。複数のホスト10が存在する場合、各CHA110は、各ホスト10からの要求をそれぞれ個別に受け付けて処理する。
【0069】
各DKA120は、記憶部160が有するディスクドライブ161との間でデータ授受を行うものである。各DKA120は、CHA110と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。各DKA120は、例えば、CHA110がホスト10から受信したデータや第2ストレージ装置200から読み出されたデータを、所定のディスクドライブ161の所定のアドレスに書込む。
【0070】
また、各DKA120は、所定のディスクドライブ161の所定のアドレスからデータを読み出し、ホスト10または第2ストレージ装置200に送信させる。ディスクドライブ161との間でデータ入出力を行う場合、各DKA120は、論理的なアドレスを物理的なアドレスに変換する。各DKA120は、ディスクドライブ161がRAIDに従って管理されている場合は、RAID構成に応じたデータアクセスを行う。例えば、各DKA120は、同一のデータを別々のディスクドライブ群(RAIDグループ)にそれぞれ書き込んだり、あるいは、パリティ計算を実行して、データ及びパリティをディスクドライブ群に書き込む。
【0071】
キャッシュメモリ130は、ホスト10または第2ストレージ装置200から受信したデータを記憶したり、あるいは、ディスクドライブ161から読み出されたデータを記憶するものである。後述のように、キャッシュメモリ130の記憶空間を利用して、仮想的な中間記憶デバイスが構築される。
【0072】
共有メモリ(制御メモリとも呼ばれる)140には、第1ストレージ装置100の作動を制御するために使用される各種の制御情報や構成情報Tc等が記憶されている。この構成情報Tcには、後述するテーブルT1〜T3等が含まれる。管理端末20は、共有メモリ140内に記憶されている構成情報Tcの全部または一部を書き換えることができるようになっている。
【0073】
なお、各ディスクドライブ161のいずれか一つまたは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ130と共有メモリ140とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【0074】
接続制御部150は、各CHA110,各DKA120,キャッシュメモリ130及び共有メモリ140を相互に接続させるものである。接続制御部150は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【0075】
記憶部160は、複数のディスクドライブ161を備えている。ディスクドライブ161としては、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶デバイス及びこれらの均等物を用いることができる。また、例えば、FC(Fibre Channel)ディスクやSATA(Serial AT Attachment)ディスク等のように、異種類のディスクを記憶部160内に混在させることもできる。
【0076】
なお、後述のように、第1ストレージ装置100は、第2ストレージ装置200の有するディスクドライブ220に基づく仮想ボリューム163Vが形成される。この仮想ボリューム163Vは、ディスクドライブ161に基づく内部ボリューム163と同様にホスト10に提供される。
【0077】
SVP(サービスプロセッサ)170は、内部の通信ネットワークCN5を介して、例えば、各CHA110とそれぞれ接続されている。SVP170は、いずれか一つまたは複数のCHA110を介して、共有メモリ140等にアクセスすることもできる。SVP170は、LANポート180を介して、管理端末20に接続されている。また、SVP170は、例えば、公衆電話回線等の通信ネットワークCN4を介して、管理センタ30にも接続されている。SVP170は、ストレージ装置100内の各種情報を収集して管理端末20に出力可能である。また、SVP170は、管理端末20からの指示に応じて、共有メモリ140に記憶された構成情報Tcを書き換え、ストレージ装置100の構成を変更させることができる。
【0078】
第2ストレージ装置200は、例えば、コントローラ210と、複数のディスクドライブ220とを備えて構成することができる。コントローラ210は、第2ストレージ装置200の全体動作を制御するものである。第2ストレージ装置200は、複数のポート211をそれぞれ介して、第1ストレージ装置100に接続されている。第2ストレージ装置200と第1ストレージ装置100とは、複数の通信ネットワークCN2を介して接続されている。通信ネットワークCN2は、例えば、SANやLAN等から構成可能である。
【0079】
第2ストレージ装置200は、第1ストレージ装置100とほぼ同様に構成することもできるし、第1ストレージ装置100とは異なる構成を備えることもできる。第2ストレージ装置200のディスクドライブ220は、第1ストレージ装置100の内部記憶デバイスとして扱われるようになっている。
【0080】
スイッチ300は、第1ストレージ装置100と第2ストレージ装置200との間に設けられている。スイッチ200は、例えば、ファイバチャネルスイッチとして構成することができる。スイッチ200は、複数のポートを備えており、各ポートの接続を自在に切替可能となっている。スイッチ200の一方のポート群は、第1ストレージ装置100の有する複数の外部接続用ポートにそれぞれ接続されている。スイッチ200の他方のポート群は、第2ストレージ装置200の有する複数のターゲットポート211にそれぞれ接続されている。第1ストレージ装置100と第2ストレージ装置200とは、例えば、最大8個のパスを用いて、接続することができる。
【0081】
図3を参照する。図3は、第1ストレージ装置100及び第2ストレージ装置200の論理的な記憶構造に着目した構成説明図である。まず、第1ストレージ装置100の構成から先に説明する。
【0082】
第1ストレージ装置100の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別することができる。物理的記憶階層は、物理的なディスクであるPDEV(Physical Device)161により構成される。PDEVは、ディスクドライブに該当する。
【0083】
論理的記憶階層は、複数の(例えば2種類の)階層から構成することができる。一つの論理的階層は、VDEV(Virtual Device)162と、VDEV162のように扱われる仮想的なVDEV(以下、「V−VOL」とも呼ぶ)162Vとから構成可能である。他の一つの論理的階層は、LDEV(Logical Device)163から構成することができる。
【0084】
VDEV162は、例えば、4個1組(3D+1P)、8個1組(7D+1P)等のような所定数のPDEV161をグループ化して構成される。グループに属する各PDEV161がそれぞれ提供する記憶領域が集合して、一つのRAID記憶領域が形成される。このRAID記憶領域がVDEV162となる。
【0085】
VDEV162が物理的な記憶領域上に構築されるのと対照的に、V−VOL162Vは、物理的な記憶領域を直接的には必要としない仮想的な中間記憶デバイスである。V−VOL162Vは、物理的な記憶領域に直接関係づけられるものではなく、第2ストレージ装置200のLU(Logical Unit)をマッピングするための受け皿となる。
【0086】
LDEV163は、VDEV162またはV−VOL162V上に、それぞれ少なくとも一つ以上設けることができる。LDEVは、論理ボリュームである。LDEV163は、例えば、VDEV162を固定長で分割することにより構成することができる。なお、図3中、V−VOL162上に設定されるLDEVには、符号「163V」を与えている。しかし、特に両者を区別する必要が無い場合等には、その由来を問わずにLDEV163と呼ぶ。
【0087】
ホスト10がオープン系ホストの場合、LDEV163がLU164にマッピングされることにより、ホスト10は、LDEV163を一つの物理的なディスクとして認識する。オープン系のホストは、LUN(Logical Unit Number )や論理ブロックアドレスを指定することにより、所望のLDEV163にアクセスする。なお、メインフレーム系ホストの場合は、LDEV163を直接認識する。
【0088】
LU164は、SCSIの論理ユニットとして認識可能なデバイスである。各LU164は、ターゲットポート111Aを介して、ホスト10にそれぞれ接続可能である。各LU164には、少なくとも一つ以上のLDEV163をそれぞれ関連付けることができる。なお、一つのLU164に複数のLDEV163を関連付けることにより、LUサイズを仮想的に拡張することもできる。
【0089】
CMD(Command Device)165は、ホスト10上で稼働するI/O制御プログラムとストレージ装置100のコントローラ(CHA110,DKA120等)との間で、コマンドやステータスを受け渡すために使用される専用のLUである。例えば、ホスト10は、コマンドをCMD165に書き込むことができる。ストレージ装置100のコントローラは、CMD165に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてCMD165に書き込む。ホスト10は、CMD165に書き込まれたステータスを読出して確認し、次に実行すべき処理内容をCMD165に書き込む。このようにして、ホスト10は、CMD165を介して、ストレージ装置100に各種の指示を与えることができる。
【0090】
なお、ホスト10から受信したコマンドを、CMD165に格納することなく、処理することもできる。また、実体のデバイス(LU)を定義せずに、CMDを仮想的なデバイスとして生成し、ホスト10からのコマンドを受け付けて処理するように構成してもよい。即ち、例えば、CHA110は、ホスト10から受信したコマンドを共有メモリ140に書き込み、この共有メモリ140に記憶されたコマンドを、CHA110又はDKA120が処理する。その処理結果は共有メモリ140に書き込まれ、CHA110からホスト10に送信される。
【0091】
さて、第1ストレージ装置100には、複数(例えば、8個程度)の外部接続用ポート(Externalポート)111Bが設けられている。これら各Externalポート111Bは、それぞれ通信ネットワークCN2を介して、第2ストレージ装置200の各ポート211に接続されている。また、各Externalポート111Bは、V−VOL162Vにもそれぞれ接続されている。V−VOL162Vは、複数のパスを介して、第2ストレージ装置200にそれぞれ接続されている。
【0092】
第2ストレージ装置200は、例えば、複数のPDEV220と、各PDEV220の提供する記憶領域上に設定されたVDEV230と、VDEV230上に少なくとも一つ以上設定可能なLDEV240とを備えて構成することができる。各LDEV240は、LU250にそれぞれ関連付けられている。また、各LU250は、各ターゲットポート211にそれぞれ対応付けられている。
【0093】
ここで、第2ストレージ装置200の各LU250は、共通のLDEV240にそれぞれ接続されている。また、各LU250は、各ポート211から各通信ネットワークCN2を介して、各Externalポート111Bにそれぞれ接続されている。上述のように、各Externalポート111Bは、共通のV−VOL162Vにそれぞれ接続されている。
【0094】
従って、第2ストレージ装置200のLDEV240は、複数のパスを介して、V-VOL162Vにそれぞれ対応付けられている。これにより、第2ストレージ装置200内のLDEV240は、第1ストレージ装置100の記憶資源として、複数のパスからそれぞれ利用可能となっている。図3中では、1組のV−VOL162V及びLDEV240を示すが、他のV−VOL162V及び他のLDEV240の組を設けることもできる。
【0095】
なお、VDEV162,V-VOL162Vには、RAID構成を適用することができる。即ち、1つのディスクドライブを複数のVDEV162,V-VOL162Vに割り当てることもできるし(スライシング)、複数のディスクドライブから1つのVDEV162,V-VOL162Vを形成することもできる(ストライピング)。
【0096】
第1ストレージ装置100の「LDEV2」または「LDEV3」は、実内部ボリュームに相当し、「LDEV1」は仮想ボリュームに該当する。第2ストレージ装置200の「LDEV」は、実ボリュームに該当する。なお、第1ストレージ装置100を中心に観た場合、第2ストレージ装置200は外部ストレージとなり、第2ストレージ装置200の論理ボリューム240は外部ボリュームとなる。また、第1ストレージ装置100から観た場合、第2ストレージ装置200の各ポート211は外部ポートとなり、第1ストレージ装置100の有するポート111Bは内部ポートとなる。
【0097】
図4を参照する。図4は、本実施例の機能構成に着目した構成説明図である。第1ストレージ装置100のコントローラ101は、各CHA110及び各DKA120と、キャッシュメモリ130及び共有メモリ140等から構成される。
【0098】
このコントローラ101は、その共有メモリ140内に、後述の外部デバイス情報テーブルT1等を含む構成情報を格納している。第1ストレージ装置100には、仮想ボリューム163Vが設けられている。なお、第1ストレージ装置100は、図3中に示した内部ボリューム「LDEV2」,「LDEV3」を備えることもできるが、本発明の要旨ではないので、以下の説明では省略する。
【0099】
V−VOL162Vに設定された仮想ボリューム163V(LDEV1)は、LU164に割り当てられて、ホスト10からのアクセスに提供される。ホスト10は、この仮想ボリューム163Vを対象として、データの書込みやデータの読み出しを指示する。
【0100】
また、上述の通り、V−VOL162Vは、各Externalポート111Bにそれぞれ接続されており、複数のパスを介して、第2ストレージ装置200の実ボリューム240(LDEV)にそれぞれ接続されている。
【0101】
第2ストレージ装置200は、実ボリューム240を備えている。実ボリューム240は、ディスクドライブ220の記憶領域に基づいて生成されたものである。実ボリューム240は、複数のパスを介して、第1ストレージ装置100のV−VOL162Vに接続されている。
【0102】
スイッチ300は、第1ストレージ装置100と第2ストレージ装置200との間に位置し、これら各ストレージ装置100,200間を接続する。スイッチ300は、複数の一側ポート311,312,313と、複数の他側ポート321,322,323とを備えている。各一側ポート311〜313は、第1ストレージ装置100の各Externalポート111B(EP1〜EP3)にそれぞれ接続されている。各他側ポート321〜323は、第2ストレージ装置200の各ターゲットポート211(TP1〜TP3)にそれぞれ接続されている。
【0103】
図4中では、一例として、3つのパスが示されている。第1パスは、V−VOL162Vを起点とし、ポートEP1,ポート311,ポート321,ポートTP1を順に経て、LDEV240に至る。同様に、第2パスは、V−VOL162Vを起点とし、ポートEP2,ポート312,ポート322,ポートTP2を順に経て、LDEV240に至る。同様に、第3パスは、V−VOL162Vを起点とし、ポートEP3,ポート313,ポート323,ポートTP3を順に経て、LDEV240に至る。なお、パスの数は3個に限られない。
【0104】
管理端末20のストレージ管理部22は、パスの構成を管理する。ストレージ管理部22は、例えば、所定のコマンドを第1ストレージ装置100に送信することにより、外部デバイス情報テーブルT1の内容を書き換えて、パスの設定や削除等を行う。
【0105】
図5を参照する。図5は、第2ストレージ装置200の実ボリューム240を第1ストレージ装置100の仮想ボリューム163Vにマッピングするための外部デバイス情報テーブルT1の一例を示す。外部デバイス情報テーブルT1は、「マッピング情報」または「マッピングテーブル」の一例に該当する。
【0106】
外部デバイス情報テーブルT1は、例えば、V-VOL162Vを識別するための「VDEV番号」と、どのパスが有効であるかを示す「有効パスフラグ」(図中「有効パス」と略記)と、外部デバイスを識別するための情報と、外部接続パス情報テーブルとを、それぞれ対応付けることにより、構成することができる。
【0107】
有効パスフラグは、V−VOL162Vと実ボリューム240との間に張られた各パスのうち、いずれのパスが有効であるか否かを示す情報である。フラグに「1」のセットされたパスは有効であり、「0」にリセットされたフラグは無効である。但し、そのパスが有効であっても、使用できるとは限らない。後述のように、有効なパスは、「通常状態(Normal)」と、「切断状態(Disconnect)」とのいずれかの状態を有する。切断状態のパスは、有効なパスとして存在するものの、使用することはできない。
【0108】
外部デバイスを識別するための情報としては、例えば、シャーシ情報と、デバイス識別情報と、実ボリューム240の記憶容量と、実ボリューム240の種別を示すデバイス種別情報とを挙げることができる。
【0109】
シャーシ情報は、第2ストレージ装置200を識別するための情報であり、例えば、ベンダ名、製品名、シリアル番号等が含まれる。デバイス識別情報とは、実ボリューム240を識別するための情報である。デバイス種別情報は、例えば、テープ系デバイスであるかディスク系デバイスであるか等の種別を示す。
【0110】
以上のVDEV番号とデバイス識別情報とにより、パスの始点であるV−VOL162Vとパスの終点である実ボリューム240とをそれぞれ特定することができる。そして、外部接続パス情報には、これら各ボリューム162V,240間を結ぶ複数のパスについて、具体的な構成が示されている。
【0111】
外部接続パス情報テーブルは、例えば、各パスに付された番号(パス番号)と、Externalポートを識別する情報(ポート番号やWWN等)と、第2ストレージ装置200のポート(外部ポート)211を識別するためのWWNと、第2ストレージ装置200のLUNを識別するためのLUN番号と、パスの状態と、パスの優先度とを、それぞれ対応付けることにより、構成することができる。
【0112】
パスの状態としては、例えば、通常状態(Normal)と切断状態(Disconnect)とを挙げることができる。通常状態にあるパスは、実ボリューム240へのアクセスに使用することができる。切断状態にあるパスは、論理的に切断されており、実ボリューム240へのアクセスに使用することはできない。
【0113】
優先度は、各パスの使用順位を示す情報である。ここでは、優先度が高くなるほど、数字が小さくなっている。各パスは、それぞれ異なる優先度を有する。優先度は、例えば、現在使用中のパスが障害等で使用不能となった場合に、代替パスを選択するための情報の一つとして使用される。
【0114】
図5に示すような外部接続パス情報テーブルを外部デバイス情報テーブルT1に内蔵させることにより、このテーブルT1を参照するだけで、コントローラ101は、実ボリューム240へアクセスするためのパスを特定することができる。なお、外部接続パス情報テーブルを外部デバイス情報テーブルT1から切り離し、両者を別々のテーブルとして構成してもよい。
【0115】
図6を参照して、各種テーブルを利用してデータが変換される様子を説明する。図6の上部に示すように、ホスト10は、所定のターゲットポート111Aに対し、LUN番号(LUN#)及び論理ブロックアドレス(LBA)を指定してデータを送信する。
【0116】
第1ストレージ装置100は、ホスト10から入力されたデータ(LUN#+LBA)を、図6(a)に示す変換テーブルT2に基づいて、VDEV用のデータに変換する。この変換テーブルT2は、第1ストレージ装置100内のLUNを指定するデータを、VDEV用データに変換するためのLUN−LDEV−VDEV変換テーブルである。
【0117】
この変換テーブルT2は、例えば、LUN番号(LUN#)と、そのLUNに対応するLDEVの番号(LDEV#)及び最大スロット数と、LDEVに対応するVDEV(V-VOLを含む)の番号(VDEV#)及び最大スロット数等を対応付けることにより構成される。この変換テーブルT2を参照することにより、ホスト10からのデータ(LUN#+LBA)は、VDEV用のデータ(VDEV#+SLOT#+SUBBLOCK#)に変換される。
【0118】
次に、第1ストレージ装置100は、図6(b)に示すように、外部デバイス情報テーブルT1を参照する。これにより、第1ストレージ装置100は、VDEV用のデータを、第2ストレージ装置200のLUN用に送信して記憶させるためのデータに変換する。なお、説明の便宜上、図6(b)では、図5に示す外部デバイス情報テーブルT1の構成が部分的に示されている。
【0119】
外部デバイス情報テーブルT1には、例えば、VDEVの番号(VDEV#)と、有効パスフラグと、VDEVからのデータを第2ストレージ装置200に送信するためのExternalポートの番号と、第2ストレージ装置200のポートを特定するためのWWNと、そのポートを介してアクセス可能なLUNと、パスの状態及び優先度がそれぞれ対応付けられている。
【0120】
この外部デバイス情報テーブルT1に基づいて、第1ストレージ装置100は、ライトデータの宛先情報を、Externalポート番号#+WWN+LUN#+LBAの形式に変換する。このように宛先情報が変更されたデータは、指定されたExternalポート111Bから通信ネットワークCN2を介して、相手方のポート211に到達する。そして、データは、LDEV240の所定の場所に格納される。
【0121】
なお、仮想ボリューム163Vにアクセス可否の属性を設定する場合は、アクセス属性管理テーブルを共有メモリ140に記憶させる。その詳細は割愛するが、アクセス属性としては、例えば、「リード/ライト可能」、「ライト抑止(リードオンリー)」、「リード/ライト不可」、「空き容量0」、「コピー先設定不可」及び「隠蔽」等を挙げることができる。
【0122】
「リード/ライト可能」とは、ボリュームへの読み書きが可能である状態を示す。「ライト抑止」とは、ボリュームへの書込みが禁止され、読出しは許可される状態を示す。「リード/ライト不可」とは、ボリュームへの読み書きが禁止される状態を示す。「空き容量0」とは、ボリューム残量の問合せに対して、実際に空き容量がある場合でも、残量0(満杯)と応答する状態を示す。「コピー先設定不可」とは、そのボリュームをコピー先ボリューム(セカンダリボリューム)に設定することができない状態を示す。「隠蔽」とは、イニシエータから認識することができない状態を示す。
【0123】
次に、図7及び図8に基づいて、第1ストレージ装置100と第2ストレージ装置200との間のデータ入出力について説明する。図7は、データ書込み時の処理を示す模式図である。ホスト10は、アクセス権限を有する論理ボリューム(LDEV)163Vにデータを書き込むことができる。例えば、SANの中に仮想的なSANサブネットを設定するゾーニングや、アクセス可能なLUNのリストをホスト10が保持するLUNマスキングという手法により、ホスト10を特定のLDEVに対してのみアクセスさせるように設定できる。
【0124】
ホスト10がデータを書き込もうとするボリューム163Vが、V-VOL162Vを介して外部のボリューム240に接続されている場合は、図7に示すような流れでデータが書き込まれる。図7(a)は記憶階層を中心に示す流れ図であり、図7(b)はキャッシュメモリ130の使われ方を中心に示す流れ図である。
【0125】
ホスト10は、書込み対象のボリューム163Vを特定するLDEV番号と、このボリューム163Vにアクセスするためのポート111Aを特定するWWNとを明示して、ライトコマンド(Write)を発行する(S21)。第1ストレージ装置100は、ホスト10からのライトコマンドを受信すると、第2ストレージ装置200に送信するためのライトコマンドを生成し、第2ストレージ装置200に送信する(S22)。第1ストレージ装置100は、ホスト10から受信したライトコマンド中のアドレス情報等を、外部ボリューム240に合わせて変更することにより、新たなライトコマンドを生成する。
【0126】
ホスト10は、ライトデータを第1ストレージ装置200に送信する(S23)。第1ストレージ装置100に受信されたライトデータは、ボリューム163VからV-VOL162Vを介して(S24)、第2ストレージ装置200に転送される(S26)。ここで、第1ストレージ装置100は、ホスト10からのデータをキャッシュメモリ130に格納した時点で、ホスト10に対し書込み完了の応答(Good)を返す(S25)。
【0127】
第2ストレージ装置200は、第1ストレージ装置100からライトデータを受信した時点で(あるいはディスクドライブ220に書込みを終えた時点で)、書込み完了報告を第1ストレージ装置100に送信する(S26)。即ち、第1ストレージ装置100がホスト10に対して書込み完了を報告する時期(S25)と、実際にデータがディスクドライブ220に記憶される時期とは相違する(非同期方式)。従って、ホスト10は、実際にライトデータがディスクドライブ220に格納される前に、データ書込み処理から解放され、別の処理を行うことができる。
【0128】
図7(b)を参照する。キャッシュメモリ130には、多数のサブブロックが設けられている。第1ストレージ装置100は、ホスト10から指定された論理ブロックアドレスをサブブロックのアドレスに変換し、キャッシュメモリ130の所定箇所にデータを格納する(S24)。換言すれば、V-VOL162V及びVDEV162は、それぞれキャッシュメモリ130の記憶空間に設けられた論理的な存在である。
【0129】
図8を参照して、第2ストレージ装置200の外部ボリューム240からデータを読み出す場合の流れを説明する。まず、ホスト10は、ポート111Aを指定して第1ストレージ装置100にデータの読み出しコマンド(Read)を送信する(S31)。第1ストレージ装置100は、リードコマンドを受信すると、要求されたデータを第2ストレージ装置200から読み出すべく、新たなリードコマンドを生成する。
【0130】
そして、第1ストレージ装置100は、生成したリードコマンドを第2ストレージ装置200に送信する(S32)。第2ストレージ装置200は、第1ストレージ装置100から受信したリードコマンドに応じて、要求されたデータをディスクドライブ220から読み出す。第2ストレージ装置200は、この読出したデータを第1ストレージ装置100に送信し(S33)、正常に読み出しが完了した旨を報告する(S35)。図8(b)に示すように、第1ストレージ装置100は、第2ストレージ装置200から受信したデータを、キャッシュメモリ130の所定の場所に格納させる(S34)。
【0131】
第1ストレージ装置100は、キャッシュメモリ130に格納されたデータを読み出し、アドレス変換を行った後、LUN164等を介してホスト10にデータを送信し(S36)、読み出し完了報告を行う(S37)。これらデータ読み出し時の一連の処理では、図6と共に述べた変換操作が逆向きで行われる。
【0132】
図8では、ホスト10からの要求に応じて、第2ストレージ装置200からデータを読み出し、キャッシュメモリ130に保存するかのように示している。しかし、これに限らず、第2ストレージ装置200のボリューム240に記憶されているデータの全部または一部を、予めキャッシュメモリ130に記憶させておくこともできる。この場合、ホスト10からのリードコマンドに対し、直ちにキャッシュメモリ130からデータを読み出してホスト10に送信することができる。
【0133】
図9は、第2ストレージ装置200の構成情報を取得するための処理の概要を示すフローチャートである。まず、第1ストレージ装置100は、CHA110のExternalポート111Bを介して、第2ストレージ装置200にログインする(S41)。第2ストレージ装置200が、第1ストレージ装置100のログインに対して応答を返すことにより、ログインが完了する(S42)。次に、第1ストレージ装置100は、例えば、SCSI(Small Computer System Interface)規格で定められている照会コマンド(inquiryコマンド)を、第2ストレージ装置200に送信し、第2ストレージ装置200のボリューム240について詳細な情報を求める(S43)。
【0134】
照会コマンドは、照会先の装置の種類及び構成を明らかにするために用いられるもので、照会先装置(第2ストレージ装置200)の有する階層を透過してその物理的構造を把握することができる。照会コマンドを使用することにより、第1ストレージ装置100は、例えば、装置名、デバイスタイプ、製造番号(プロダクトID)、LDEV番号、各種バージョン情報、ベンダID等の情報を第2ストレージ装置200からそれぞれ取得することができる(S44)。第2ストレージ装置200は、問合せされた情報を第1ストレージ装置100に送信し、応答する(S45)。
【0135】
第1ストレージ装置100は、第2ストレージ装置200から取得した情報を、外部デバイス情報テーブルT1の所定箇所に登録する(S46)。第1ストレージ装置100は、第2ストレージ装置200からボリューム240の記憶容量を読み出す(S47)。第2ストレージ装置200は、第1ストレージ装置100からの問合せに対して、ボリューム240の記憶容量を返信し(S48)、応答を返す(S49)。第1ストレージ装置100は、ボリューム240の記憶容量を外部デバイス情報テーブルT1の所定箇所に登録する(S50)。以上の処理等を行うことにより、外部デバイス情報テーブルT1を構築できる。
【0136】
図10は、V−VOL162Vと外部ボリューム240とを結ぶパスを設定する処理の概要を示すフローチャートである。この処理は、例えば、管理端末20のストレージ管理部22によって実行することができる。
【0137】
管理端末20の端末画面には、例えば、パス設定を行うための画面が表示される。この画面を操作することにより、システム管理者等のユーザは、パスの追加を行うか、またはパスの削除を行うかを選択することができる。
【0138】
パスの追加を行う場合(S61:YES)、ユーザは、追加しようとするパスの各パラメータをそれぞれ指定する(S62)。パラメータとしては、例えば、VDEV番号、有効パスフラグ、Externalポート番号、WWN、外部LUN番号及び優先度を挙げることができる。
【0139】
管理端末20は、パスの追加に必要なパラメータがそれぞれ指定されると(S62)、パス追加用のコマンドを生成し、このコマンドを通信ネットワークCN3を介して第2ストレージ装置200に送信する(S63)。
【0140】
図10の下側に、パスを追加する場合のコマンド401の例を示す。パス追加用のコマンド「Set Alternate Path」の各パラメータには、ユーザによって指定された値がそれぞれ格納されている。第1ストレージ装置100は、このコマンドを受信すると、外部デバイス情報テーブルT1に新たなパスを追加する。図5に示す外部デバイス情報テーブルT1の構成と比較すると明らかなように、コマンド401には、新たなパスの構成を定義するために必要な殆どの情報が含まれている。換言すれば、コマンド401には、テーブルT1の一行分の配列がほぼ含まれている。従って、第1ストレージ装置100は、コマンド401を受信すると、このコマンド401に含まれる情報をテーブルT1に登録するだけでよく、比較的簡単にパスを追加することができる。
【0141】
一方、ユーザがパスの削除を希望する場合(S61:NO,S64:YES)、ユーザは、削除しようとするパスを選択する(S65)。管理端末20は、有効パスフラグの各ビットのうち、選択されたパスに対応するビットを0にリセットする(S66)。管理端末20は、削除用のコマンド402を生成し、このコマンド402を第1ストレージ装置100に送信する(S67)。
【0142】
図10の下側に示すように、パス削除用のコマンド402は、パス追加用のコマンド401と同様に構成されている。但し、パス削除用コマンド402のパラメータとしては、例えば、削除対象の有効パスフラグ及びVDEV番号のみが実質的に含まれており、他のパラメータはヌル状態となっている。例えば、第3パスを削除する場合、3番目のビットがリセットされた有効パスフラグが生成される。第1ストレージ装置100は、有効パスフラグの状態を確認し、第3パスの情報を外部デバイス情報テーブルT1から削除する。
【0143】
図11は、外部接続パスの更新処理の概略を示すフローチャートである。この処理では、例えば、パスの切断(Disconnect)、または、切断されたパスの回復のいずれかを行うことができる。本処理も、管理端末20のストレージ管理部22により実行される。
【0144】
ユーザは、管理端末20の端末画面に表示されたパス更新画面により、パスの切断またはパスの回復のいずれを行うか選択することができる。パスの切断を行う場合(S71:YES)、ユーザは、切断するパスのパラメータをそれぞれ指定する(S72)。パラメータとしては、例えば、VDEV番号、Externalポート番号、WWN、外部LUN番号等を挙げることができる。ここで、優先度を指定する必要はない。パスを論理的に切断する場合、優先度はそのまま維持されるためである。管理端末20は、パス切断に使用するパラメータを取得すると、パス切断用のコマンド411を生成し、これを第1ストレージ装置100に送信する(S73)。
【0145】
パス切断用コマンド411は、例えば、パスの切断指令であることを示す情報(Disconnect)と、VDEV番号、Externalポート番号、WWN、外部LUN番号、操作結果を含んで構成することができる。操作結果の欄には、第1ストレージ装置100から返される状態が格納される。即ち、第1ストレージ装置100から返信されたコマンド411Aに示すように、パスの論理的な切断が正常に完了した場合、操作結果の欄には、「正常」を示す情報が格納される。
【0146】
なお、切断されたパスは、第1ストレージ装置100による定期的な監視対象から外される。また、切断されたパスは、データ転送に使用することはできない。パスを切断した場合でも、そのパスの優先度は変化しないが、代替パスとして選択されることはない。従って、切断されたパスについては、I/O前の接続状態チェックも行われない。
【0147】
一方、ユーザがパスの回復を希望する場合(S71:NO,S74:YES)、ユーザは、回復させるパスを特定するためのパラメータをそれぞれ入力する(S75)。このパラメータは、S72で述べたものと同様である。管理端末20は、パス回復用のコマンド412を生成し、これを第1ストレージ装置100に送信する(S76)。
【0148】
パス回復用コマンド(Check Paths)は、コマンド種別を示す情報を除いて、パス切断用コマンド411と同様に構成可能である。第1ストレージ装置100がパスの回復操作に成功すると、第1ストレージ装置100から管理端末20にコマンド412Aが返信され、その操作結果の欄には、「正常」を示す情報が格納される。
【0149】
図12は、Writeコマンドの処理中に障害が発生した場合の全体動作の概略を示すシーケンスフローチャートである。
【0150】
ホスト10は、第1ストレージ装置100に向けて、仮想ボリューム163Vを書込み対象とするライトコマンドを発行し、ライトデータを送信する(S81)。第1ストレージ装置100は、ホスト10から受信したライトデータをキャッシュメモリ130に記憶させる(S82)。第1ストレージ装置100は、ライトデータをキャッシュメモリ130に記憶させた後、直ちに、ホスト10に処理完了を報告する(S83)。
【0151】
また、第1ストレージ装置100は、外部デバイス情報テーブルT1を参照して新たなライトコマンドを生成し、各Externalポート111Bのうち特定のExternalポート111Bを介して、第2ストレージ装置200に送信する(S84)。データ通信に使用される特定のExternalポート111Bは、例えば、現在使用可能なパスのうち最も高い優先度を有するパスのポートである。
【0152】
第2ストレージ装置200は、第1ストレージ装置100からライトデータを受信すると、これをキャッシュメモリに記憶し(S85)、処理完了を応答する(S86)。第2ストレージ装置200は、適当なタイミングで、キャッシュされたライトデータを所定のディスクドライブ220に書き込み、ディステージさせる(S87)。
【0153】
一方、ホスト10は、第1ストレージ装置100からの処理完了通知を受信すると(S83)、新たなライトコマンド及びライトデータを第1ストレージ装置100に送信する(S88)。前記同様に、第1ストレージ装置100は、ライトデータをキャッシュメモリ130に記憶させた後(S89)、ホスト10に処理完了を報告する(S90)。
【0154】
第1ストレージ装置100は、障害が発生したか否かを監視している(S91)。障害発生を検出した場合(S91:YES)、第1ストレージ装置100は、外部デバイス情報テーブルT1を参照し(S92)、現在使用中のパスの優先度の次に高い優先度を有するパスを選択する(S93)。即ち、第1ストレージ装置100は、障害の発生したパスに代えて、使用可能なパスのうち最も高い優先度を有するパスを一つ選択する。そして、第1ストレージ装置100は、前記同様に、ライトコマンドを第2ストレージ装置200に送信する(S94)。第2ストレージ装置200は、第1ストレージ装置100からのライトデータをキャッシュメモリに記憶させ(S95)、第1ストレージ装置100に処理完了を報告する(S96)。
【0155】
なお、図12では、説明の便宜のために、S90の後で、障害発生を監視するかのように示したが、実際には、ライトコマンドの処理プロセスとは別のプロセスとして、障害検出が実行される。
【0156】
以上詳述した通り、本実施例によれば、外部のボリューム240をV-VOL162Vにマッピングすることにより、外部のボリューム240を第1ストレージ装置100内の論理ボリューム163Vであるかのように取り扱うことができる。従って、第2ストレージ装置200の記憶資源を第1ストレージ装置100に統合して有効に利用できる。
【0157】
本実施例では、第1ストレージ装置100と第2ストレージ装置200とを複数のパスでそれぞれ接続し、現在使用中のパスに障害が発生した場合は、別のパスを用いる構成を採用する。従って、ポートの故障やファイバケーブルの断線等が生じた場合でも、代替パスに切り替えて、ホスト10からのアクセス要求を処理することができる。これにより、障害が発生した場合でも、外部のボリューム240へのアクセスパスを常に確保することができる。従って、障害発生中も、アクセス要求の処理を続行させることができ、この間に障害復旧作業を行うことができ、信頼性や耐障害性等を向上させることができる。
【0158】
本実施例では、各パスに予め優先度をそれぞれ設定し、優先度の高いパスを優先的に使用する構成としている。従って、障害が発生した場合に、速やかに代替パスを決定することができる。また、例えば、優先度はユーザが事前に指定可能なため、ストレージシステムの環境に応じて、各パスに優先度を設定することができる。
【0159】
本実施例では、複数のパスを利用して外部ボリューム240へアクセス可能な構成を採用する。従って、障害が発生した場合に限らず、計画的な保守作業の場合にも、効果を奏する。即ち、CHA110やファイバケーブルを交換等する場合、この保守作業に係るパスを事前に切断状態とし、次に優先度の高いパスを選択させる。これにより、外部のストレージ装置200とのパスを確保しながら、保守作業を行うことができる。第1ストレージ装置100は、常に、第2ストレージ装置200へのアクセスに使用するパスを確保するように、優先度に基づいてパスを選択する。
【実施例2】
【0160】
図13〜図15に基づいて、第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に相当する。本実施例では、第1ストレージ装置100と第2ストレージ装置200とを複数のパスで接続し、これら各パスを順番に切替ながら、ホスト10からのアクセス要求を処理するようになっている。
【0161】
図13は、WWN情報管理テーブルT3の一例を示す説明図である。WWN情報管理テーブルT3は、外部ストレージである第2ストレージ装置200の交替パスモード(使用モード)を管理するための情報である。
【0162】
交替パスモードとしては、例えば、シングルパスモードとマルチパスモードとを挙げることができる。シングルパスモードは、第1実施例で述べたように、複数のパスの中からいずれか一つのパスを選択して使用するモードである。マルチパスモードは、後述のように、複数のパスを順番に切替ながら使用するモードである。
【0163】
交替パスモードは、例えば、ストレージ装置単位に設定可能である。第2ストージ装置200をシングルパスモードで使用する場合、図13に示すように、第2ストレージ装置200の各ポート211のWWNには、シングルパスモードがそれぞれ設定される。第2ストレージ装置200をマルチパスモードで使用する場合、各ポート211を識別するためのWWNには、それぞれマルチパスモードが設定される。
【0164】
なお、図13中では、複数のストレージ装置について、ストレージ装置単位で交替パスモードをそれぞれ設定する様子が示されている。但し、場合によっては、同一のストレージ装置内で、異なる種類の交替パスモードを混在させることも可能である。
【0165】
次に、図14は、マルチパスモードによるWriteコマンド処理の概略を示すフローチャートである。第1ストレージ装置100は、ホスト10からライトコマンド及びライトデータをそれぞれ受信すると(S101:YES)、ライトデータをキャッシュメモリ130に記憶させ(S102)、処理完了をホスト10に報告する(S103)。
【0166】
第1ストレージ装置100は、障害が発生したか否かを監視している(S104)。障害が発生した場合(S104:YES)、第1ストレージ装置100は、障害の検出されたパスに係るExternalポート111Bを閉塞させる(S105)。そして、第1ストレージ装置100は、使用可能なパスの中から、次のパスに切り替える(S106)。障害が検出されない場合(S104:NO)、第1ストレージ装置100は、S105をスキップし、次のパスに切り替える(S106)。
【0167】
第1ストレージ装置100は、切り替えたパスを用いて、第2ストレージ装置200にライトコマンドを送信し(S107)、第2ストレージ装置200からの処理完了通知を待つ(S108)。第2ストレージ装置200から処理完了報告を受信すると(S108:YES)、本処理を終了する。引き続きホスト10からライトコマンドが発行された場合は、S101以下の各ステップが再び繰り返される。
【0168】
図15は、マルチパスモードで運用する場合の模式図である。第1ストレージ装置100のコントローラ101は、WWN情報管理テーブルT3及び外部デバイス情報テーブルT1を参照することにより、複数のパスP1〜P8を順番に切替ながら、第2ストレージ装置200にアクセスする。即ち、障害が発生していない場合、各アクセス処理の度に、例えば、P1、P2、P3、P4...の順番で、パスが切り替えて使用される。従って、ホスト10から多数のアクセスが要求された場合でも、各パスP1〜P8の待ち行列をそれぞれ短くできるため、高速に処理を行うことができる。一方、いずれかのパスに障害が検出された場合、そのパスは閉塞され、使用不能となる。この場合、第1ストレージ装置100は、正常なパスだけを順番に切替ながら、第2ストレージ装置200にアクセスする。
【0169】
このように、本実施例では、第1ストレージ装置100と第2ストレージ装置200とを接続する複数のパスを順番に切替ながら、ホスト10からのアクセス要求を処理することができる。従って、第1実施例よりも高速に処理することができ、ストレージシステムの応答性を高めることができる。
【0170】
また、いずれかのパスに障害が検出された場合でも、そのパスを除いて運用を継続するため、耐障害性を向上させることができる。さらに、いずれかのパスを保守作業しながら、他のパスを順番に切り替えて処理を継続することもでき、高速応答性を確保しつつ、信頼性や保守性をより向上させることができる。
【実施例3】
【0171】
図16〜図19に基づいて第3実施例を説明する。本実施例では、所定の単位でパスの操作を可能としている。
【0172】
図16は、パスの操作処理の概略を示すフローチャートである。本処理は、管理端末20のストレージ管理部22により実行することができる。まず、ユーザは、パスの構成を操作する画面を呼び出し(S110)、メニューを選択する(S111)。
【0173】
操作メニューとしては、例えば、Externalポート単位でパスの構成を操作するメニューと、外部ストレージのポート単位でパスの構成を操作するメニューと、外部ボリューム240の単位でパスの構成を操作するメニューとを挙げることができる。
【0174】
Externalポート単位での操作をユーザが希望した場合、ユーザは、操作を希望するExternalポートを選択する(S112)。管理端末20は、選択されたExternalポートに接続されている全てのパスの構成を一覧形式で表示させる(S113)。ユーザは、表示された全てのパスまたは一部のパスを選択し、その構成変更を指示する(S114)。構成変更としては、例えば、パスの削除、パス状態の変更(Disconnect→Normal,Normal→Disconnect)等を挙げることができる。
【0175】
管理端末20は、ユーザからの要求に応えて、ユーザの要求する内容を実現するコマンドを生成し、このコマンドを第1ストレージ装置100に送信する(S124)。このコマンドの詳細は、図10及び図11と共に既に述べた。
【0176】
ユーザが外部ストレージのポート単位(外部ポート単位)でパスの構成変更を希望する場合も前記同様に、構成変更を希望する外部ポートをユーザが選択する(S131)。管理端末20は、選択された外部ポートに接続されている全てのパスの構成を一覧形式で表示させる(S132)。ユーザは、表示された中から全部または一部のパスを選択し、構成変更を要求する(S133)。管理端末20は、必要なコマンドを生成して、第1ストレージ装置100に送信する(S134)。
【0177】
同様に、ユーザが外部ボリューム単位でのパスの構成変更を希望する場合、ユーザは、所望の外部ボリュームを選択する(S141)。管理端末20は、選択された外部ボリュームに接続されている全てのパスの構成を一覧形式で表示させる(S142)。ユーザは、表示されたパスの中から全部または一部のパスを選択し、構成変更を要求することができる(S143)。管理端末20は、要求された内容を実現させるためのコマンドを生成し、第1ストレージ装置100に送信する(S144)。
【0178】
なお、複数のパスについて構成変更を指示する場合は、図10,図11で述べたようなコマンドを各パス毎にそれぞれ生成し、第1ストレージ装置100に送信する。
【0179】
図17は、Externalポート単位でパスの構成変更を指示する場合の画面例である。領域G1の下側には、複数のタブメニューB1〜B3が設けられている。ユーザが、Externalポートの表示を指示するためのタブメニューB3を選択すると、領域G1には、複数のExternalポートが一覧表示される。この中から、ユーザは、所望のExternalポートをいずれか一つ選択することができる。
【0180】
ユーザがExternalポートを選択すると(G11)、このポートに接続されている全てのパスの構成が、領域G2に一覧表示される。ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数(全部を含む。以下同様)を選択することができる。そして、例えば、コンテキストメニューのような形態で提供される操作メニューM1により、ユーザは、パスの回復やパスの切断等を指示することができる。
【0181】
図18は、外部ポート単位でパスの構成変更を指示する場合の画面例である。ユーザが、外部ポートの表示を指示するためのタブメニューB2を選択すると、領域G1には、複数の外部ポートが一覧表示される。この中から、ユーザは、所望の外部ポートをいずれか一つ選択することができる。
【0182】
ユーザが外部ポートを選択すると(G12)、このポートに接続されている全てのパスの構成が、領域G2に一覧表示される。前記同様に、ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数を選択可能である。そして、ユーザは、操作メニューM1によって、パスの回復やパスの切断等を指示する。
【0183】
図19は、外部ボリューム単位でパスの構成変更を指示する場合の画面例である。ユーザが、外部ボリュームの表示を指示するためのタブメニューB1を選択すると、領域G1には、外部ボリュームが一覧表示される。この中から、ユーザは、所望の外部ボリュームをいずれか一つ選択することができる。
【0184】
ユーザが外部ボリュームを選択すると(G13)、このボリューム240に接続されている全てのパスの構成が、領域G2に一覧表示される。ユーザは、表示されたパスの中から構成変更を希望するパスをいずれか一つまたは複数を選択することができる。ユーザは、操作メニューM1によって、パスの回復やパスの切断等を指示する。
【0185】
このように本実施例では、所定の単位でパスの構成変更操作を行えるようにした。従って、例えば、保守作業等を行う場合に、その作業に関連する全てのパスを一括して切断状態に変更し、作業を行うことができる。この場合、使用可能なパスが残存していれば、保守作業とストレージサービスとを両立させることもできる。
【実施例4】
【0186】
図20,図21に基づいて、第4実施例を説明する。本実施例では、第2ストレージ装置200を計画的に停止させたような場合に、障害発生と誤って認識されるのを未然に防止できるようにしている。
【0187】
図20は、外部ストレージとしての第2ストレージ装置200を計画的に保守する場合の保守作業手順を示す概略フローチャートである。まず、ホスト10から第1ストレージ装置100へのアクセス要求(I/O)を停止させる(S151)。
【0188】
次に、第1ストレージ装置100と第2ストレージ装置200とを結ぶ各パスの状態をそれぞれ切断状態に変更させる(S152)。この場合、前記実施例で述べたように、外部ポート単位または外部ボリューム単位で、パスの構成を変更することにより、作業性を高めることができる。
【0189】
このようにして保守準備を終えた後、保守要員は、第2ストレージ装置200の保守作業を開始する(S153)。保守作業を終えると(S154:YES)、切断されたパスの状態をそれぞれ通常状態に回復させる(S155)。そして、ホスト10から第1ストレージ装置100へのアクセス要求を許可する(S156)。
【0190】
図21は、障害検出処理の概略を示すフローチャートである。この処理は、第1ストレージ装置100のコントローラ101により実行可能である。第1ストレージ装置100は、外部ストレージ(第2ストレージ装置200)との接続に使用されるパスであるか否かを判定する(S161)。
【0191】
外部接続用のパスでない場合(S161:NO)、第1ストレージ装置100は、そのパスに障害が発生しているか否かを判定する(S162)。障害が検出された場合(S162:YES)、第1ストレージ装置100は管理センタ30に障害発生を通知する(S163)。管理センタ30は、この通知を受信すると、例えば、保守要員に連絡する。
【0192】
一方、外部接続用のパスである場合(S161:YES)、第1ストレージ装置100は、そのパスが切断状態(Disconnect)であるか否かを判定する(S164)。その外部接続用パスが論理的に切断されていない場合(S164:NO)、第1ストレージ装置100は、既に述べたS162に移る。
【0193】
これに対し、その外部接続用パスが切断状態にある場合(S164:YES)、第1ストレージ装置100は、障害が発生したか否かを判定することなく、本処理を終了する。即ち、論理的に切断された外部接続用のパスは、障害検出処理の対象とならず、無視される。
【0194】
従って、本実施例では、外部ストレージの保守作業を行う前に、外部接続用パスの状態を切断状態に変更させることにより、誤った通知が管理センタ30に送信されるのを未然に防止することができ、使い勝手が向上する。
【実施例5】
【0195】
図22は、第5実施例に係るストレージシステムの模式図である。図22に示すように、第1ストレージ装置100には、第2ストレージ装置200に加えて、第3ストレージ装置200Aを接続することができる。
【0196】
第1ストレージ装置100内には、複数のV−VOL162Vが設けられており、これら各V−VOL162Vには、それぞれ異なる外部ストレージ200,200A内のボリューム240,240Aがマッピングされている。
【0197】
そして、第2ストレージ装置200は、マルチパスモードで運用されており、第3ストレージ装置200Aはシングルパスモードで運用されている。従って、例えば、高速応答性が要求される場合は、第2ストレージ装置200のボリュームを利用し、高速応答性よりも耐障害性が重視されるような場合は、第3ストレージ装置200Aのボリュームを利用することができる。
【0198】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、シングルパスモードとマルチパスモードとを、運用途中で動的に切り替えることも可能である。また、例えば、それぞれ複数のパスを有する複数のグループを形成し、各パスグループ毎にそれぞれシングルパスモードまたはマルチパスモードを適用可能な場合もある。
【図面の簡単な説明】
【0199】
【図1】本発明の実施例に係わるストレージシステムの全体構成を示すブロック図である。
【図2】ストレージシステムのブロック図である。
【図3】ストレージシステムの記憶構造を模式的に示す説明図である。
【図4】ストレージシステムの機能構成の概略を示す説明図である。
【図5】外部デバイス情報テーブルの構成例を示す説明図である。
【図6】仮想ボリュームとして取り込まれた外部ボリュームにデータを書き込む場合のアドレス変換の様子を示す説明図である。
【図7】仮想ボリュームとして使用される外部の記憶デバイスにデータを書き込む場合の概念図である。
【図8】仮想ボリュームとして使用される外部の記憶デバイスからデータを読み出す場合の概念図である。
【図9】第2ストレージ装置の情報を取得する処理を示すフローチャートである。
【図10】パス設定処理のフローチャートである。
【図11】外部パス接続情報の更新処理を示すフローチャートである。
【図12】Writeコマンドを処理する場合の全体動作を示すシーケンスフローチャートである。
【図13】第2実施例に係り、WWN情報管理テーブルを示す説明図である。
【図14】マルチパスモードでWriteコマンドを処理する場合のフローチャートである。
【図15】マルチパスモードで運用されるストレージシステムの模式図である。
【図16】第3実施例に係り、所定の単位でパスの構成変更を操作する処理を示すフローチャートである。
【図17】Externalポート単位でパスの構成を変更する画面例である。
【図18】外部ポート単位でパスの構成を変更する画面例である。
【図19】外部ボリューム単位でパスの構成を変更する画面例である。
【図20】第4実施例に係り、外部ストレージの保守作業手順を示すフローチャートである。
【図21】障害監視処理を示すフローチャートである。
【図22】第5実施例に係るストレージシステムの模式図である。
【符号の説明】
【0200】
1,2…ストレージ装置、1A…仮想ボリューム、1B…制御部、1C…マッピング情報、EP1〜EP3…外部接続用ポート、2A…実ボリューム、2B…外部LUN、P1〜P3…ポート、3…スイッチ、4…ホスト、5…管理端末、10…ホスト、11…HBA、12…アプリケーションプログラム、20…管理端末、21…ポート、22…ストレージ管理部、30…管理センタ、100…第1ストレージ装置(メインストレージ)、101…コントローラ、110…チャネルアダプタ(CHA)、111A…ターゲットポート、111B…外部接続用ポート(Externalポート)、120…ディスクアダプタ(DKA)、130…キャッシュメモリ、140…共有メモリ、150…接続制御部、160…記憶部、161…ディスクドライブ(PDEV)、162V…中間仮想記憶デバイス(V−VOL)、163…内部ボリューム(LDEV)、163V…仮想ボリューム、164…LU、165…コマンドデバイス(CMD)、200…第2ストレージ装置(外部ストレージ)、210…コントローラ、211…ポート、220…ディスクドライブ、240…論理ボリューム(LDEV)、T1…外部デバイス情報テーブル

【特許請求の範囲】
【請求項1】
ホストによって使用される仮想ボリュームを有する第1ストレージ装置と、
前記第1ストレージ装置と複数の通信パスを介して接続され、前記仮想ボリュームに対応付けられる実ボリュームを有する第2ストレージ装置と、
前記各通信パスによって前記仮想ボリュームと前記実ボリュームとをそれぞれ接続し、前記実ボリュームを前記仮想ボリュームのデータ格納先ボリュームとしてマッピングするマッピング管理部と、
前記マッピング管理部により管理されている前記仮想ボリュームと前記実ボリュームとのマッピング情報に基づいて、前記ホストから前記仮想ボリュームへのアクセス要求を処理する制御部と、を備え、
前記制御部は、前記各通信パスのうち少なくともいずれか一つ以上の通信パスを選択して、前記アクセス要求を処理可能であるストレージシステム。
【請求項2】
前記各通信パスにはそれぞれ予め優先度が設定されており、
前記制御部は、前記優先度に基づいて、使用可能な前記各通信パスのうち少なくともいずれか一つの通信パスを選択して使用する請求項1に記載のストレージシステム。
【請求項3】
前記制御部は、前記各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備え、前記障害検出部により、前記各通信パスのうち使用中の通信パスについて障害の発生が検出された場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択して使用する請求項1に記載のストレージシステム。
【請求項4】
前記マッピング管理部により管理される前記マッピング情報には、少なくとも、前記仮想ボリュームを識別するための仮想ボリューム識別情報と、前記実ボリュームを識別するための実ボリューム識別情報と、前記仮想ボリュームから前記各通信パスをそれぞれ用いて前記実ボリュームにアクセスするための各パス情報と、前記各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、前記各通信パスの優先度を示す優先度情報とが対応付けられている請求項1に記載のストレージシステム。
【請求項5】
前記各パス情報は、前記第1ストレージ装置の有する複数の第1ポートをそれぞれ識別するための第1ポート情報と、前記第2ストレージ装置の有する複数の第2ポートをそれぞれ識別するための第2ポート情報と、前記各第2ポートにそれぞれ対応付けられている論理ユニット番号(LUN)とを対応付けることにより構成されている請求項4に記載のストレージシステム。
【請求項6】
前記第1ストレージ装置に接続される管理装置をさらに設け、この管理装置によって、前記マッピング情報の全部または一部を更新可能とした請求項1に記載のストレージシステム。
【請求項7】
前記管理装置は、前記マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項6に記載のストレージシステム。
【請求項8】
前記第1ストレージ装置に接続される管理装置をさらに設け、この管理装置によって、前記マッピング情報の全部または一部を、前記第1ポートまたは前記第2ポートまたは前記実ボリュームにそれぞれ接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項5に記載のストレージシステム。
【請求項9】
前記管理装置は、少なくとも前記マッピング情報に含まれる前記状態情報を更新可能であり、前記第1ストレージ装置または前記第2ストレージ装置のいずれかまたは両方を計画的に停止させる場合は、この計画的な停止に係わる所定の通信パスの状態を前記使用可能状態から前記使用不能状態に変更させ、前記計画的な停止が終了した場合は、前記所定の通信パスの状態を前記使用可能状態に再び変更させるようになっている請求項6に記載のストレージシステム。
【請求項10】
前記制御部は、前記各通信パスに障害が発生したか否かをそれぞれ検出する障害検出部をさらに備えており、
前記各通信パスのいずれかにおいて障害の発生が検出された場合、この障害の発生した通信パスの状態が前記使用不能状態に設定されている場合は、前記障害の発生を無視する請求項9に記載のストレージシステム。
【請求項11】
前記管理装置が前記所定の通信パスの状態を前記使用不能状態に変更した場合でも、前記優先度は固定されている請求項10に記載のストレージシステム。
【請求項12】
前記制御部は、前記各通信パスを順番に切替ながら、前記アクセス要求を処理する請求項1に記載のストレージシステム。
【請求項13】
前記制御部は、前記各通信パスのうちいずれか一つの通信パスを使用して前記アクセス要求を処理する第1モードと、前記各通信パスを順番に切替ながら前記アクセス要求を処理する第2モードとを備えている請求項1に記載のストレージシステム。
【請求項14】
前記第1ストレージ装置と複数の他の通信パスを介して接続され、前記第1ストレージ装置の有する他の仮想ボリュームに対応付けられる他の実ボリュームを有する第3ストレージ装置を更に備え、
前記制御部は、ストレージ装置単位で、前記第1モードまたは前記第2モードをそれぞれ適用可能である請求項13に記載のストレージシステム。
【請求項15】
第1ストレージ装置の有する仮想ボリュームと第2ストレージ装置の有する実ボリュームとを複数の通信パスを介してそれぞれ接続させ、前記仮想ボリュームと前記実ボリュームとの対応関係を示すマッピング情報を管理する第1ステップと、
前記各通信パスのうちいずれか一つの通信パスを用い、前記マッピング情報に基づいて、ホストから前記仮想ボリュームへのアクセス要求を処理する第2ステップと、
前記各通信パスに障害が発生したか否かをそれぞれ検出する第3ステップと、
前記各通信パスのうち使用中の通信パスについて前記障害が発生した場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択する第4ステップと、
前記選択された通信パスを使用して前記ホストからのアクセス要求を処理する第5ステップと、
を含むストレージシステムのパス制御方法。
【請求項16】
前記マッピング情報には、少なくとも、前記仮想ボリュームを識別するための仮想ボリューム識別情報と、前記実ボリュームを識別するための実ボリューム識別情報と、前記仮想ボリュームから前記各通信パスをそれぞれ用いて前記実ボリュームにアクセスするための各パス情報と、前記各通信パスが使用可能状態であるか使用不能状態であるかを示す状態情報と、前記各通信パスの優先度を示す優先度情報とが対応付けられており、
前記第4ステップは、前記各通信パスのうち、使用可能状態にある通信パスの中で最も前記優先度が高く設定されている通信パスを一つ選択する請求項15に記載のストレージシステムのパス制御方法。
【請求項17】
前記マッピング情報の全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎にそれぞれ更新可能な第6ステップをさらに備えた請求項16に記載のストレージシステムのパス制御方法。
【請求項18】
前記第1ストレージ装置はさらに複数の第1ポートを有し、前記第2ストレージ装置はさらに複数の第2ポートを有し、
前記各パス情報は、前記各第1ポートをそれぞれ識別するための第1ポート情報と、前記各第2ポートをそれぞれ識別するための第2ポート情報とを対応付けることにより構成されており、
前記第6ステップは、前記マッピング情報の全部または一部を、前記第1ポートまたは前記第2ポートにそれぞれ接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新可能である請求項17に記載のストレージシステムのパス制御方法。
【請求項19】
ホストからのアクセス要求を処理する第1ストレージ装置と、この第1ストレージ装置に複数の通信パスを介して接続される第2ストレージ装置と、前記第1ストレージ装置に接続される管理装置とを備えたストレージシステムであって、
前記第1ストレージ装置は、
前記第2ストレージ装置の有する記憶デバイスの記憶領域上に前記各通信パスを介してそれぞれ接続される仮想中間記憶デバイスと、
この仮想中間記憶デバイスの記憶領域上に設けられる仮想ボリュームと、
前記ホスト及び前記第2ストレージ装置との間でそれぞれデータ通信を行う通信制御部と、
前記通信制御部により使用されるメモリ部と、
前記メモリ部に格納され、前記仮想中間記憶デバイスに前記第2ストレージ装置の記憶デバイスをマッピングさせるためのマッピングテーブルと、
を備え、
前記制御部は、前記各通信パスのうちいずれか一つの通信パスを用い、前記マッピングテーブルに基づいて、前記ホストから前記仮想ボリュームへのアクセス要求を処理するステップと、
前記各通信パスに障害が発生したか否かをそれぞれ検出するステップと、
前記各通信パスのうち使用中の通信パスについて前記障害が発生した場合は、前記各通信パスのうち使用可能な通信パスを少なくともいずれか一つ選択するステップと、
前記選択された通信パスを使用して前記ホストからのアクセス要求を処理するステップとを実行し、
前記管理装置は、前記マッピングテーブルの全部または一部を、予め設定された所定の接続点に接続されている少なくとも一つ以上の前記通信パス毎に、それぞれ更新させる構成管理部を備えている、
ストレージシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2006−178811(P2006−178811A)
【公開日】平成18年7月6日(2006.7.6)
【国際特許分類】
【出願番号】特願2004−372713(P2004−372713)
【出願日】平成16年12月24日(2004.12.24)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】