(57)【要約】【課題】各ノードが保持しなければならない情報量を少なくできるようにする。【解決手段】ノード１０-i（ｉ＝１，２，３）のＬＰＭＴ１２２-iは、論理ボリュームを構成する複数の論理エクステントのうちノード１０-iが有する物理ボリューム内の物理エクステントに格納される論理エクステントに付与されるＩＰアドレスを当該物理エクステントに対応付けて保持する。ノード１０-iのＩＯマネージャ１１２-iは、ホストから要求されたアクセス先を示す論理アドレスの論理ボリューム内の位置に基づき、対応する論理エクステントに付与されたＩＰアドレスを特定する。ノード１０-iのＴＣＰ／ＩＰモジュール１１３-iは、特定されたＩＰアドレスがＬＰＭＴ１２２-iに存在しない場合、ＡＲＰ要求をブロードキャストして、当該ＡＲＰ要求の指定するＩＰアドレスが存在するＬＰＭＴを含む他のノードから、当該他のノードに固有の物理アドレスを取得する。【選択図】      図１
2008097112.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理エクステントから構成される論理ボリュームをホストに対して提供するストレージシステムにおいて、
前記論理エクステントを格納可能な複数の物理エクステントに分割して管理される物理ボリュームを有する複数のノードであって、固有の物理アドレスを有し、上位レイヤ通信プロトコルにＴＣＰ／ＩＰを適用するネットワークによって相互接続される複数のノードと、
前記論理ボリュームの構成を管理する構成管理手段であって、当該論理ボリュームに固有のネットワークアドレスを論理ボリュームネットワークアドレスとして割り当てる構成管理手段とを具備し、
前記複数のノードの各々は、
前記論理ボリュームを構成する複数の論理エクステントのうちの当該ノードが有する前記物理ボリューム内の物理エクステントに格納される論理エクステントに割り当てられるＩＰアドレスであって、当該論理エクステントの前記論理ボリューム内の位置に対応する、前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内のＩＰアドレスを、当該物理エクステントに対応付けて保持するＩＰアドレステーブルと、
前記ネットワークを介して送信され、指定のＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を受信し、前記指定のＩＰアドレスが当該ノードの前記ＩＰアドレステーブルに保持されている場合に、当該ノードに固有の物理アドレスを前記アドレス解決プロトコル要求の要求元のノードに返すアドレス解決プロトコルモジュールと、
前記ホストから要求されたアクセス先を示す論理アドレスの前記論理ボリューム内の位置に基づいて、当該論理アドレスが属する前記論理ボリューム内の論理エクステントに割り当てられたＩＰアドレスを特定し、当該特定されたＩＰアドレスが当該ノードの前記ＩＰアドレステーブルに保持されているかを判定する入出力マネージャと、
前記特定されたＩＰアドレスが当該ノードの前記ＩＰアドレステーブルに保持されていない場合、前記特定されたＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を前記ネットワーク上にブロードキャストして、前記複数のノードのうち、前記特定されたＩＰアドレスを保持する前記ＩＰアドレステーブルを有するノードの前記アドレス解決プロトコルモジュールから物理アドレスを取得し、当該取得された物理アドレスで特定されるノードに対して、前記特定されたＩＰアドレスが割り当てられている論理エクステントに対するアクセスを依頼するＴＣＰ／ＩＰモジュールとを含む
ことを特徴とするストレージシステム。
【請求項２】
前記複数のノードの各々は、前記論理ボリュームを構成する複数の論理エクステントに割り当てられる連続するＩＰアドレスのうちの先頭ＩＰアドレスを特定するための、前記論理ブロックＩＰアドレスを有する論理ボリューム管理情報を保持する論理ボリューム管理テーブルを含み、
前記構成管理手段は、前記論理ボリュームを構成する前記複数の論理エクステントに対し、前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内のＩＰアドレスを、前記論理ボリューム管理情報によって特定される先頭ＩＰアドレスから、当該複数の論理エクステントの前記論理ボリューム内の配置順に割り当て、
前記入出力マネージャは、前記ホストから要求されたアクセス先を示す論理アドレスが属する論理エクステントの論理ブロック内の相対位置及び前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内の前記論理ボリューム管理情報によって特定される先頭ＩＰアドレスに基づき、当該論理エクステントに割り当てられるＩＰアドレスを特定する
ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記複数のノードの各々は、前記論理ボリュームを構成する複数の論理エクステントに割り当てられるＩＰアドレスを、当該論理エクステントに属する論理アドレスの範囲と対応付けて保持する論理エクステント管理テーブルを含み、
前記入出力マネージャは、前記論理エクステント管理テーブルを参照することにより、前記ホストから要求されたアクセス先を示す論理アドレスを含む論理アドレスの範囲と対応付けられている、当該論理アドレスの範囲の論理エクステントに割り当てられているＩＰアドレスを特定する
ことを特徴とする請求項１記載のストレージシステム。
【請求項４】
前記複数のノードの各々は、前記アドレス解決プロトコル要求による問い合わせに対して取得された、論理エクステントに割り当てられたＩＰアドレスに対応付けられる物理アドレスを、当該論理エクステントと対応付けて保持するアドレス解決プロトコルテーブルを含み、
前記ＴＣＰ／ＩＰモジュールは、前記特定されたＩＰアドレスが当該ノードの前記ＩＰアドレステーブルに保持されていない場合、前記アドレス解決プロトコルテーブルを参照し、前記特定されたＩＰアドレスに対応付けられる物理アドレスが前記アドレス解決プロトコルテーブルに保持されていないならば前記アドレス解決プロトコル要求を前記ネットワーク上にブロードキャストして前記物理アドレスを取得し、当該取得された物理アドレスを前記特定されたＩＰアドレスが割り当てられている論理エクステントと対応付けて前記アドレス解決プロトコルテーブルに追加し、前記特定されたＩＰアドレスに対応付けられる物理アドレスが前記アドレス解決プロトコルテーブルに保持されているならば当該物理アドレスを当該アドレス解決プロトコルテーブルから取得する
ことを特徴とする請求項１記載のストレージシステム。
【請求項５】
前記複数のノードの各々は、当該ノードに固有のＩＰアドレスであって、前記論理ボリュームを構成する複数の論理エクステントに割り当てられる前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内のＩＰアドレス以外のＩＰアドレスと、当該ノードに固有の物理アドレスとの対、及び当該ノードが有する物理ボリューム内の物理エクステントに格納される論理エクステントに割り当てられているＩＰアドレスと、当該ノードに固有の物理アドレスとの対を保持するインタフェイステーブルを含み、
前記ＴＣＰ／ＩＰモジュールは、前記特定されたＩＰアドレスに対応付けられる物理アドレスが前記アドレス解決プロトコルテーブルに保持されていない場合、前記インタフェイステーブルを参照して、当該ノードに固有のＩＰアドレス及び物理アドレスを取得して、当該取得されたＩＰアドレス及び物理アドレスを送信元とし、前記特定されたＩＰアドレスを送信先とする前記アドレス解決プロトコル要求を生成して、当該生成されたアドレス解決プロトコル要求を前記ネットワーク上にブロードキャストし、
前記アドレス解決プロトコルモジュールは、他のノードからブロードキャストされたアドレス解決プロトコル要求を受信した場合、当該アドレス解決プロトコル要求の送信先のＩＰアドレスが前記インタフェイステーブルに保持されているかを判定し、保持されている場合に、当該アドレス解決プロトコル要求の送信先のＩＰアドレスを当該アドレス解決プロトコル要求の送信先の物理アドレスと対応付けて前記アドレス解決プロトコルに登録すると共に、前記インタフェイステーブルに保持されている当該アドレス解決プロトコル要求の送信先のＩＰアドレス及び物理アドレスを送信元とし、当該アドレス解決プロトコル要求の送信元のＩＰアドレス及び物理アドレスを送信先とする応答を要求元に返す
ことを特徴とする請求項４記載のストレージシステム。
【請求項６】
前記複数のノードの各々は、前記特定されたＩＰアドレスが当該ノードの前記ＩＰアドレステーブルに保持されている場合、前記ＩＰアドレステーブルによって前記特定されたＩＰアドレスと対応付けられている物理ボリューム内の物理エクステントを特定して、当該特定された物理ボリューム内の物理エクステントに対してアクセスする入出力ドライバを含み、
前記構成管理手段は、前記論理ボリューム内の任意の論理エクステントを移動元として決定すると共に、当該論理エクステントの移動先の、ノード、物理ボリューム及び当該物理ボリューム内の物理エクステントを決定して、前記移動先の物理エクステントに、前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内の未使用のＩＰアドレスを仮論理エクステントＩＰアドレスとして割り当て、前記移動先のノードの前記ＩＰアドレステーブルに前記仮論理エクステントＩＰアドレスを前記決定された物理ボリューム内の物理エクステントに対応付けて登録すると共に、前記移動先のノードの前記インタフェイステーブルに前記仮論理エクステントＩＰアドレスと前記移動先のノードに固有の物理アドレスとの対を登録し
前記移動元のノードの前記入出力ドライバは、前記移動元の論理エクステントのデータを読み込み、
前記移動元のノードの前記ＴＣＰ／ＩＰモジュールは、前記アドレス解決プロトコルテーブルに前記仮論理エクステントＩＰアドレスが保持されていない場合、前記仮論理エクステントＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を前記ネットワーク上にブロードキャストして、前記仮論理エクステントＩＰアドレスに対応付けられる物理アドレスを取得することにより、当該物理アドレスで特定される前記移動先のノードに対して、前記仮論理エクステントＩＰアドレスが割り当てられている論理エクステントに前記読み込まれたデータを書き込むことを依頼し、
前記移動先のノードの前記入出力ドライバは、当該移動先のノードの前記ＩＰアドレステーブルを参照して、前記仮論理エクステントＩＰアドレスと対応付けられている物理ボリューム内の物理エクステントを特定し、当該特定された物理ボリューム内の物理エクステントに前記依頼されたデータを書き込む
ことを特徴とする請求項５記載のストレージシステム。
【請求項７】
前記構成管理手段は、前記移動先のノードの前記入出力ドライバによる書き込み完了に応じて、前記移動先のノードの前記インタフェイステーブルに登録されている前記仮論理エクステントＩＰアドレスを前記移動元の論理エクステントのＩＰアドレスに書き換えると共に、前記移動先のノードの前記ＩＰアドレステーブルに前記移動先の物理ボリューム内の物理エクステントに対応付けて保持されている前記仮論理エクステントＩＰアドレスを前記移動元の論理エクステントのＩＰアドレスに書き換え、且つ当該書き換え前に前記移動先のノードの前記インタフェイステーブルに既に登録されている前記移動元の論理エクステントのＩＰアドレス及び物理アドレスの対を削除すると共に、当該書き換え前に前記移動先のノードの前記ＩＰアドレステーブルに既に登録されている前記移動元の論理エクステントのＩＰアドレスを削除することを特徴とする請求項６記載のストレージシステム。
【請求項８】
論理エクステントを格納可能な複数の物理エクステントに分割して管理される物理ボリュームを有する複数のノードであって、固有の物理アドレスを有し、上位レイヤ通信プロトコルにＴＣＰ／ＩＰを適用するネットワークによって相互接続される複数のノードと、前記論理ボリュームの構成を管理する構成管理手段であって、当該論理ボリュームに固有のネットワークアドレスを論理ボリュームネットワークアドレスとして割り当てる構成管理手段とを備え、複数の論理エクステントから構成される論理ボリュームをホストに対して提供するストレージシステムに適用される論理ボリューム管理方法において、
前記論理ボリュームの構成時に、前記複数のノードの各々に、前記論理ボリュームを構成する複数の論理エクステントのうちの当該ノードが有する前記物理ボリューム内の物理エクステントに格納される論理エクステントに割り当てられるＩＰアドレスであって、当該論理エクステントの前記論理ボリューム内の位置に対応する、前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内のＩＰアドレスを、当該物理エクステントに対応付けて保持するＩＰアドレステーブルを、前記構成管理手段または当該ノード自身が設定するステップと、
前記複数のノードのうち、前記ホストからのアクセス要求を受けたノードが、当該アクセス要求で指定されたアクセス先を示す論理アドレスの前記論理ボリューム内の位置に基づいて、当該論理アドレスが属する前記論理ボリューム内の論理エクステントに割り当てられたＩＰアドレスを特定するステップと、
前記特定されたＩＰアドレスが前記アクセス要求を受けたノードの前記ＩＰアドレステーブルに保持されているかを、前記アクセス要求を受けたノードが判定するステップと、
前記特定されたＩＰアドレスが前記アクセス要求を受けたノードの前記ＩＰアドレステーブルに保持されていない場合、前記特定されたＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を前記アクセス要求を受けたノードが前記ネットワーク上にブロードキャストするステップと、
前記複数のノードのうちの前記アドレス解決プロトコル要求を受信したノードの前記ＩＰアドレステーブルに前記特定されたＩＰアドレスが保持されている場合、当該アドレス解決プロトコル要求を受信したノードに固有の物理アドレスを当該アドレス解決プロトコル要求を受信したノードから前記アドレス解決プロトコル要求の要求元のノードに返すステップと、
前記物理アドレスが返された前記要求元のノードが、当該取得された物理アドレスで特定されるノードに対して、前記特定されたＩＰアドレスが割り当てられている論理エクステントに対するアクセスを依頼するステップと
を具備することを特徴とする論理ボリューム管理方法。
【請求項９】
前記特定されたＩＰアドレスが前記アクセス要求を受けたノードの前記ＩＰアドレステーブルに保持されている場合、前記アクセス要求を受けたノードが、前記ＩＰアドレステーブルによって前記特定されたＩＰアドレスと対応付けられている物理ボリューム内の物理エクステントを特定して、当該特定された物理ボリューム内の物理エクステントに対してアクセスするステップを更に具備することを特徴とする請求項８記載の論理ボリューム管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の論理エクステントから構成される論理ボリュームをホストに対して提供するストレージシステム及び同システムに適用される論理ボリューム管理方法に関する。
【背景技術】
【０００２】
近年、ネットワークにより相互に接続された複数のストレージ装置（例えばディスクストレージ装置）を有するストレージシステムが開発されている。この種のストレージシステムの１つとして、ストレージクラスタ（ストレージクラスタシステム）が知られている。
【０００３】
ストレージクラスタの特徴は、複数のストレージ装置（以下、ノードと称する）の各々に存在する記憶領域（以下、物理ボリュームと称する）を、当該ノードを超えて統合する（束ねる）ことで、ノード間にまたがった横断的・仮想的な少なくとも１つの記憶領域（以下、論理ボリュームと称する）をホストに提供することにある。ここでのボリュームは、ブロック単位でアクセスされるブロックボリュームであるとする。
【０００４】
ストレージクラスタを構成するノードは、常時稼動のストレージ装置である。つまり、ノードの参加・離脱は、運用中の計画的参加・離脱や、故障による突然の離脱による程度である。このためストレージクラスタでは、例えば毎日の電源ＯＮ／ＯＦＦによるような、頻繁なノードの参加・離脱はない。
【０００５】
ストレージクラスタにおいては、データ（の断片）を物理ボリューム内や、別のノードの物理ボリュームをまたがって、（自動／手動を問わず）適切に移動／コピーすることは、頻繁に起きる。これは、ホストからの論理ボリュームへのアクセス透過性を保障しながら、ストレージクラスタを構成するノードの突発的停止やディスク故障などに備えたデータの冗長化や、アクセス性能・信頼性の向上などの目的による。
【０００６】
一方、ホストは、ストレージクラスタ内の任意の１つのノードに対してパスを張ってアクセスするだけで、複数のノードをまたがって構成された論理ボリューム全体に対してアクセスすることができる。ここで、ホストがパスを張っているノードで障害が発生して、当該障害が発生したノード（障害ノード）が停止したものとする。この場合でも、障害ノードに格納されているデータがストレージクラスタ内の他のノード（生存ノード）に冗長化されていれば、ホストは任意の生存ノードに対してパスを張り直すことで、論理ボリュームに対するアクセスを継続することができる。
【０００７】
このようなストレージクラスタを構築するには、論理ボリューム上のデータが、どのノードのどの物理ボリューム上の、どの位置に配置されているかを管理するための仕組みが必要になる。
【０００８】
一般に、ストレージクラスタのノードは、機能的にコントローラ部とストレージ部とから構成される。コントローラ部はホストとのパスを管理しアクセスを受け付ける。ホストはどのコントローラ部に対してパスを張っても、同じ論理ボリュームにアクセスすることができる。ストレージ部はデータを蓄える物理ボリュームを有する。
【０００９】
ボリューム（ブロックボリューム）は、エクステントと呼ばれる、固定長のブロックの集合により構成される。各ノードのストレージ部は少なくとも１つの物理ボリュームを管理する。一方、各ノードのコントローラ部は、物理ボリュームを構成する物理エクステントと、論理ボリュームの論理エクステント（論理ボリュームを構成する任意長の領域）とをマッピングテーブルにより対応付けて管理する。これにより、論理ボリューム（論理ボリューム空間）が構成される。このようなマッピングテーブルによる物理エクステントと論理エクステントとの対応付けは、例えば特許文献１にも記載されている。
【００１０】
上述のマッピングテーブルを、論理エクステント−物理エクステントマッピングテーブル（ＬＰＭＴ：Logical Extent to Physical Extent Mapping Table）と呼ぶ。ＬＰＭＴは、論理ボリュームの論理エクステントが、どのノード（ストレージ）の物理ボリュームの、どの物理エクステントから構成されているか、その対応付けを管理するのに用いられる。
【００１１】
ストレージクラスタ内の全てのノードのコントローラ部は、それぞれ同一内容のＬＰＭＴを保持する。また各ノードは、ＬＰＭＴにより全論理ボリューム分を管理する。つまり各ノードのコントローラ部は、全てのノードの物理ボリューム／物理エクステント分のエントリを持ったＬＰＭＴを管理する。これらの理由は、ホストからコントローラ部へのパスが、別のコントローラ部に切り替わった際に、直ちに同一の論理ボリュームへのアクセスを継続可能とするためである。論理ボリュームを作成する際には、各ノードのストレージ部及びコントローラ部とは別の手段である構成管理部が、どのノードのどの物理ボリュームの、どの物理エクステントから、論理ボリュームを構成するか決定して、各コントローラ部上にＬＰＭＴを設定する。
【００１２】
さて、ストレージクラスタ（ストレージシステム）では、当該クラスタ内のあるノード（以下、第１のノードと称する）が有する例えば第１の物理ボリュームの第１の物理エクステントに格納（配置）されていた第１の論理エクステントを、別のノード（以下、第２のノードと称する）が有する例えば第２の物理ボリュームの第２の物理エクステントに移動（マイグレーション）することが発生する。このような移動は、第１のノードのストレージの負荷を軽減するなどの目的で行われる。また、上記特許文献１に記載されているように、あるノードのストレージに対するアクセス性能を向上させるために、当該ノードのある物理エクステントに格納されていた第１の論理エクステントを、当該ノードの別の物理エクステントに移動することもある。この移動により、ストレージクラスタのアクセス性能及び信頼性を向上することが可能となる。
【００１３】
つまりストレージクラスタでは、当該ストレージクラスタのアクセス性能・信頼性向上のために、論理エクステントを同じストレージ内の別の物理エクステントへ、また別のストレージの物理エクステントへの移動／コピーが発生する。この場合、従来技術では、ストレージクラスタの各コントローラ部が互いに同期をとって、自身が管理するＬＰＭＴを一斉（同時）に更新する。例えば、上述したような、第１のノードにおけるの第１の物理ボリュームの第１の物理エクステントに格納されていた第１の論理エクステントを、第２のノードにおける第２の物理ボリュームの第２の物理エクステントに移動する場合であれば、全てのノードのＬＰＭＴの、第１のノード／第１の物理ボリューム／第１の物理エクステントのエントリと、第２のノード／第２の物理ボリューム／第２の物理エクステントのエントリとが更新される。
【特許文献１】特開平９−６２４５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記したように従来のストレージクラスタ（ストレージシステム）では、当該クラスタを構成する各ノード（ストレージ装置）のコントローラ部は、論理ボリュームの論理エクステントが、どのノードの物理ボリュームの、どの物理エクステントから構成されているかを示したＬＭＰＴ（論理エクステント−物理エクステントマッピングテーブル）を管理する。このＬＭＰＴは、ストレージクラスタ内の全てのノードの物理ボリューム／物理エクステント分のエントリを持つ。このため、ＬＰＭＴのサイズは、ストレージクラスタを構成する全てのノードでの物理ボリュームの数と、その物理ボリュームを構成するエクステントの数に比例して大きくなる。つまり各ノードがメモリ上に保持しなければならない情報量が、ＬＰＭＴのために増大する。
【００１５】
また従来のストレージクラスタでは、ノード内、ノード間を問わず、エクステントの移動／コピーが発生した場合、全てのノードのコントローラ部は、自身が管理するＬＰＭＴを一斉（同時）に更新する必要がある。しかし、各コントローラ部のＬＰＭＴが同一となるように同時に更新することは、更新処理の増大を招き、アクセス性能に悪影響を及ぼす。
【００１６】
本発明は上記事情を考慮してなされたものでその目的は、各ノードが保持しなければならない情報量を少なくできるストレージシステム及び同システムに適用される論理ボリューム管理方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の１つの観点によれば、複数の論理エクステントから構成される論理ボリュームをホストに対して提供するストレージシステムが提供される。このシステムは、前記論理エクステントを格納可能な複数の物理エクステントに分割して管理される物理ボリュームを有する複数のノードであって、固有の物理アドレスを有し、上位レイヤ通信プロトコルにＴＣＰ／ＩＰを適用するネットワークによって相互接続される複数のノードと、前記論理ボリュームの構成を管理する構成管理手段であって、当該論理ボリュームに固有のネットワークアドレスを論理ボリュームネットワークアドレスとして割り当てる構成管理手段とを具備する。前記複数のノードの各々は、ＩＰアドレステーブルと、アドレス解決プロトコルモジュールと、入出力マネージャと、ＴＣＰ／ＩＰモジュールとを含む。前記ＩＰアドレステーブルは、前記論理ボリュームを構成する複数の論理エクステントのうちの当該ＩＰアドレステーブルを含むノード（自ノード）が有する前記物理ボリューム内の物理エクステントに格納される論理エクステントに割り当てられるＩＰアドレスであって、当該論理エクステントの前記論理ボリューム内の位置に対応する、前記論理ボリュームネットワークアドレスの指定するネットワークアドレス空間内のＩＰアドレスを、当該物理エクステントに対応付けて保持する。前記アドレス解決プロトコルモジュールは、前記ネットワークを介して送信され、指定のＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を受信し、前記指定のＩＰアドレスが自ノードの前記ＩＰアドレステーブルに保持されている場合に、当該ノードに固有の物理アドレスを前記アドレス解決プロトコル要求の要求元のノードに返す。前記入出力マネージャは、前記ホストから要求されたアクセス先を示す論理アドレスの前記論理ボリューム内の位置に基づいて、当該論理アドレスが属する前記論理ボリューム内の論理エクステントに割り当てられたＩＰアドレスを特定し、当該特定されたＩＰアドレスが自ノードの前記ＩＰアドレステーブルに保持されているかを判定する。前記ＴＣＰ／ＩＰモジュールは、前記特定されたＩＰアドレスが自ノードの前記ＩＰアドレステーブルに保持されていない場合、前記特定されたＩＰアドレスに対応付けられる物理アドレスへの解決を問い合わせるアドレス解決プロトコル要求を前記ネットワーク上にブロードキャストして、前記複数のノードのうち、前記特定されたＩＰアドレスを保持する前記ＩＰアドレステーブルを有するノードの前記アドレス解決プロトコルモジュールから物理アドレスを取得し、当該取得された物理アドレスで特定されるノードに対して、前記特定されたＩＰアドレスが割り当てられている論理エクステントに対するアクセスを依頼する。
【発明の効果】
【００１８】
本発明によれば、ストレージクラスタ内の各ノードが有するＩＰアドレステーブル（即ち従来技術における論理エクステント−物理エクステントマッピングテーブルに相当するＩＰアドレステーブル）は、そのノードが管理する論理エクステントに対応する物理ボリューム／物理エクステント分のエントリだけを持てば良いため、各ノードが保持しなければならない情報量を少なくすることができる。これにより、ストレージクラスタを構成するノード数に応じて当該情報量が増加することを抑えることができ、且つ論理エクステントの移動・コピーに際して、各ノードが管理する情報の更新作業量を少なくして、アクセス性能を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るストレージクラスタ構成のストレージシステムの構成を示すブロック図である。図１のストレージシステム（以下、ストレージクラスタと称する）は、複数、例えば３台のストレージ装置（以下、ノードと称する）１０-1，１０-2及び１０-3（＃１，＃２及び＃３）から構成される。ノード１０-1，１０-2及び１０-3は、ファイバチャネル、イーサネット（登録商標）、ＳＣＳＩ（Small Computer System Interface）またはｉＳＣＳＩのようなインタフェイス２０によって、ストレージクラスタを利用するホスト（ホストコンピュータ）と接続されている。
【００２０】
ノード１０-1，１０-2及び１０-3は、それぞれ、コントローラ部１１-1，１１-2及び１１-3と、ストレージ部１２-1，１２-2及び１２-3とから構成される。ストレージ部１２-i（ｉ＝１，２，３）は、論理エクステントを物理ボリューム上に格納する。つまりストレージ部１２-iを含むノード１０-iは、論理エクステントを所有する。
【００２１】
コントローラ部１１-i（ｉ＝１，２，３）は、ストレージ部１２-1，１２-2及び１２-3の物理ボリュームを統合することで、ホストに対して論理ボリュームを提供する。つまり、コントローラ部１１-iを含む各ノード１０-iは、ホストに対して論理エクステントから構成される論理ボリュームを提供する。換言するならば、各ノード１０-iは論理ボリュームを構成する。コントローラ部１１-iはホストからのアクセス要求を受け付ける。アクセス要求は、アクセスされるべき論理ボリューム内の位置を示す論理アドレス、例えばアクセスされるべき論理ボリューム内の論理ブロックを示す論理ブロックアドレス（ＬＢＡ）を含む。コントローラ部１１-iは、要求された論理ブロックを含む論理エクステントが格納されている（物理ボリュームを有する）ノードを探し出し、そのノードのストレージに対してアクセスを行う。
【００２２】
図１のストレージクラスタは、当該ストレージクラスタを構成するノード１０-1〜１０-3とは別に、当該ストレージクラスタの構成（当該ストレージクラスタによってホストに提供される論理ボリュームの構成）を計画・管理する構成管理部３０を有する。構成管理部３０は、ユーザからの論理ボリュームの作成／削除の要求の受け付け、クラスタ全体の状態監視を行う。構成管理部３０はまた、例えばパフォーマンス向上のために、ある論理エクステントを管理するノードを別のノードに変更する場合、つまり、ある論理エクステントを別のノードに移動する場合に、移動元ノード及び移動先ノードの選択と移動元ノード及び移動先ノードへの移動指示を行う。構成管理部３０は、パーソナルコンピュータ（ＰＣ）などを用いて実現される管理用の端末、或いはノード１０-1〜１０-3のいずれか１つの上で動作することが好ましい。図１の例では、構成管理部３０はノード１０-1で動作する。もしノード１０-1が故障した場合、構成管理部３０は周知のクラスタ制御により、ノード１０-2またはノード１０-3に移動して動作する。
【００２３】
コントローラ部１１-1，１１-2，１１-3は、それぞれ、ターゲットインタフェイス１１１-1，１１１-2，１１１-3、ＩＯ（入出力）マネージャ１１２-1，１１２-2，１１２-3、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）モジュール１１３-1，１１３-2，１１３-3及びイーサネットコントローラ１１４-1，１１４-2，１１４-3の各処理部と、論理ボリューム管理テーブル（ＬＶＭＴ：Logical Volume Management Table）１１５-1，１１５-2，１１５-3、イーサネットインタフェイス管理テーブル（ＥＩＭＴ：Ethernet（登録商標） Interface Management Table)１１６-1，１１６-2，１１６-3及びアドレス解決プロトコル（ＡＲＰ：Address Resolution Protocol）テーブル１１７-1，１１７-2，１１７-3の各テーブルを含む。
【００２４】
ノード１０-1，１０-2，１０-3は、それぞれイーサネットコントローラ１１４-1，１１４-2，１１４-3を介してネットワーク４０に接続されている。本実施形態において、ネットワーク４０は、イーサネットと呼ばれる、ＣＳＭＡ／ＣＤ（Carrier Sense Multiple Access with Collision Detection）方式のローカルエリアネットワークである。ネットワーク４０では、下位レイヤプロトコル（下位レイヤ通信プロトコル）としてイーサネットが用いられ、上位レイヤプロトコル（上位レイヤ通信プロトコル）としてＴＣＰ／ＩＰが用いられるものとする。下位レイヤプロトコル（イーサネット）で送受信される情報（イーサネットフレーム）の送信元アドレス及び送信先（宛先）アドレスには、ＭＡＣアドレスと呼ばれる物理アドレス（下位レイヤアドレス）が用いられる。上位レイヤプロトコル（ＴＣＰ／ＩＰ）で送受信される情報（ＴＣＰ／ＩＰパケット）の送信元アドレス及び送信先（宛先）アドレスには、ＩＰアドレスと呼ばれる上位レイヤアドレスが用いられる。ＴＣＰ／ＩＰパケットは、イーサネットフレームに包まれて送信される。
【００２５】
ストレージ部１２-1，１２-2，１２-3は、それぞれ、ＩＯドライバ１２１-1，１２１-2，１２１-3、論理エクステント−物理エクステントマッピングテーブル（ＬＰＭＴ：Logical Extent to Physical Extent Mapping Table）１２２-1，１２２-2，１２２-3及びディスク（ディスク装置）１２３-1，１２３-2，１２３-3を含む。ここでは、各ストレージ部１２-iに含まれるディスク１２３-iの数が２であり、各ディスク１２３-iが物理ボリュームを提供するものとする。
【００２６】
次に、ノード１０-i（ｉ＝１，２，３）の中で管理・参照される各テーブル、即ちＬＶＭＴ１１５-i、ＥＩＭＴ１１６-i、ＡＲＰテーブル１１７-i及びＬＰＭＴ１２２-iについて説明する。
【００２７】
まず、ＬＶＭＴ１１５-iについて説明する。ＬＶＭＴ１１５-iは、論理ボリュームの基本的な管理情報（論理ボリューム管理情報）を保持する。構成管理部３０は論理ボリュームを作成する際に、ユーザからの指示に従い、論理ボリュームＩＤ、論理ボリュームサイズ、論理エクステントサイズ、論理ボリュームに割り当てるネットワークアドレス及び論理ボリュームを構成可能な最大ノード数を決定する。決定された情報は、論理ボリューム管理情報を構成する。構成管理部３０は、論理ボリューム管理情報を格納したＬＶＭＴを生成し、当該ＬＶＭＴを、図１のストレージクラスタを構成する全てのノード１０-iにＬＶＭＴ１１５-iとして一律に配布して設定する。
【００２８】
図２は、ＬＶＭＴ１１５-iのデータ構造例を示す。ＬＶＭＴ１１５-iのエントリは、ＬＶＩＤ（Logical Volume ID：論理ボリュームＩＤ）、ＬＶＳＩＺＥ（Logical Volume Size：論理ボリュームサイズ）、ＬＥＳＩＺＥ（Logical Extent Size：論理エクステントサイズ）、ＬＶＮＡ（Logical Volume Network Address）及びＬＶＮＯＤＥの各項目を有する。
【００２９】
ＬＶＩＤには、ホストに提供される論理ボリュームに固有のＩＤ（論理ボリュームＩＤ）が設定される。ＬＶＳＩＺＥには、論理ボリュームのサイズ（を表す情報）が設定される。ＬＥＳＩＺＥには、論理ボリュームを構成する論理エクステントのサイズ（を表す情報）が設定される。ＬＶＳＩＺＥ／ＬＥＳＩＺＥにより、論理ボリュームを構成する論理エクステントの数が求められる。
【００３０】
ＬＶＮＡには、論理ボリュームに割り当てられたネットワークアドレス（ＩＰネットワークアドレス）及びサブネットマスクが設定される。本実施形態では、ネットワークアドレスで指定される仮想的なネットワークに後述する最大ノード数と論理ボリュームを構成する論理エクステント数（ＬＶＳＩＺＥ／ＬＥＳＩＺＥ）を収容できるだけのホストアドレス（ＩＰアドレス）の空間（論理ボリュームのネットワークアドレス空間）を確保する必要がある。ＬＶＮＯＤＥは、論理ボリュームを構成する論理エクステントを所有可能なノード数として最大何ノードまで含めるか（つまり最大ノード数）を定義する。この定義により、論理ボリュームのネットワークアドレス空間（ＩＰネットワークアドレス空間）の中から、先頭からＬＶＮＯＤＥ個分までのホストアドレス（ＩＰアドレス）が、当該論理ボリュームを提供するストレージクラスタを構成する各ノードに1つずつ割り当てられる。また、ＬＶＮＯＤＥ＋１個目以降のホストアドレス（ＩＰアドレス）が、論理ボリュームを構成する各論理エクステントに１つずつ割り当てられる。
【００３１】
図３はＬＶＭＴ１１５-iによって管理される論理ボリュームの例を示す。図３に示される論理ボリュームは、２ＴＢのサイズを持ち（ＬＶＳＩＺＥ＝２ＴＢ）、そのサイズを５１２ＭＢの４つの論理エクステントに切り分けることによって管理される（ＬＥＳＩＺＥ＝５１２ＭＢ）。この論理ボリュームには、論理ボリュームＩＤとして１（ＬＶＩＤ＝１）が割り当てられている。図３の例では、この論理ボリュームを構成する（論理エクステントを所有できる）ノードの最大数（最大ノード数）は、将来の論理エクステント数増加（論理ボリュームサイズの拡張）を見越して１０ノード（ＬＶｎｏｄｅ＝１０）と定義されている。論理ボリュームを構成する各論理エクステントには、識別情報としての例えばシリアルの論理エクステント番号が当該論理ボリューム内の配置順に割り当てられる。また論理ボリュームのネットワークアドレス（論理ボリュームネットワークアドレス）として、１９２．１６８．１．０／２４が割り当てられている。ここでは、ＩＰアドレスとしてＩＰｖ４（IP version 4）アドレスが用いられている。１９２．１６８．１．０／２４における“２４”は、サブネットマスクのビット数を示す。なお、ＩＰアドレスに、ＩＰｖ４アドレス以外のアドレス、例えばＩＰｖ６（IP version 6）アドレスを用いることも可能である。
【００３２】
図３の論理ボリュームを管理するＬＶＭＴ１１５-iの例を図４に示す。ここでは、図３の論理ボリューム以外の論理ボリュームは図１のストレージクラスタに存在しないものとする。
【００３３】
本実施形態において、１つの論理ボリュームには、１つのユニークなネットワークアドレス空間（ＩＰネットワークアドレス空間）を設定しなければならない（この例ではＬＶＮＡ＝１９２．１６８．１．０／２４）。先に述べたように、このネットワークアドレス空間内のホストアドレス（ＩＰアドレス）のうち、先頭ホストアドレス（この例では１９２．１６８．１．１／２４）から最大ノード数分（ＬＶＮＯＤＥ＝１０）のホストアドレスが、論理ボリューム（を提供するストレージクラスタ）を構成するノード１つずつに割り当てられる。このホストアドレス（ＩＰアドレス）を「コンテナＩＰアドレス」と呼ぶ。この例では、１９２．１６８．１．１／２４〜１９２．１６８．１．１０／２４までがコンテナＩＰアドレスとして使用される。
【００３４】
また、上述のネットワークアドレス空間内のホストアドレス（ＩＰアドレス）のうち、コンテナＩＰアドレスとして使用されていないホストアドレス（この例では１９２．１６８．１．１１／２４〜１９２．１６８．１．２５４／２４）が、論理エクステントの先頭から順に、１つずつ割り当てられる。このホストアドレス（ＩＰアドレス）を「論理エクステントＩＰアドレス」と呼ぶ。例えば、図３に示す論理ボリュームの先頭に位置する論理エクステント１、つまり論理エクステント番号が１の論理エクステントは、論理エクステントＩＰアドレス１９２．１６８．１．１１／２４を持つ。
【００３５】
以上を定式化すると、論理エクステントＩＰアドレスは、次式
論理エクステントＩＰアドレス
＝｛ネットワークアドレス，ホストアドレス｝
＝｛論理ボリュームネットワークアドレス，最大ノード数＋論理エクステント番号｝
但し、論理エクステント番号＝（ＬＢＡ／ＬＥＳＩＺＥ）＋１
（１）
によって表される。
【００３６】
例えば、図３に示した論理ボリューム１（ＬＶＩＤ＝１）において、論理ブロックアドレス（ＬＢＡ）２５６ＭＢに対するアクセスを行う場合、この論理ボリューム１の論理エクステントサイズは５１２ＭＢであるため、論理エクステント１に対するアクセスとなる。論理エクステント１の論理エクステントＩＰアドレスは、上記のように１９２．１６８．１．１１／２４である。
【００３７】
次に、ＥＩＭＴ１１６-i（ｉ＝１，２，３）について説明する。ＥＩＭＴ１１６-iは、ノード１０-i毎に作成される。つまりＥＩＭＴ１１６-iは各ノード１０-iに固有のテーブルである。ノード１０-iのＥＩＭＴ１１６-iは、当該ノード１０-iが管理する論理エクステント（論理ボリュームを構成する論理エクステント）の１つずつに割り当てられたＩＰアドレスを当該論理エクステントに対応付けて保持する。
【００３８】
前記したように、構成管理部３０は論理ボリュームを作成する際に、各ノード１０-iに共通のＬＶＭＴを生成して、当該ＬＶＭＴを各ノード１０-iにＬＶＭＴ１１５-iとして配布する。その後、構成管理部３０は、作成した論理ボリュームを構成する論理エクステントを、それぞれどのノード１０-iが管理するかを決定する。構成管理部３０はこの決定結果に基づいて、ノード１０-i毎に固有のＥＩＭＴ１１６-iを生成して、そのノード１０-iに配布する。
【００３９】
図５はＥＩＭＴ１１６-iのデータ構造例を示す。ＥＩＭＴ１１６-iの各エントリは、ＬＥＩＰ（Logical Extent IP-Address：論理エクステントＩＰアドレス）／ＣＩＰ（Container IP-Address：コンテナＩＰアドレス）及びＬＥＭＡＣ（Logical Extent MAC-Address：論理エクステントＭＡＣアドレス）／ＣＭＡＣ（Container MAC-Address：コンテナＭＡＣアドレス）の各項目を有する。
【００４０】
ＬＥＩＰ／ＣＩＰには、該当するノード１０-iが管理する論理エクステントに割り当てられるＩＰアドレス（論理エクステントＩＰアドレス）または当該ノード１０-iに割り当てられるＩＰアドレス（コンテナＩＰアドレス）が設定される。ＬＥＭＡＣ／ＣＭＡＣには、当該ＬＥＭＡＣ／ＣＭＡＣと対をなすＬＥＩＰ／ＣＩＰに設定されているＩＰアドレスに対応付けて該当するノード１０-iのイーサネットコントローラ部１１４-iに割り当てられている物理アドレスとしてのＭＡＣ（Media Access Control）アドレスが設定される。なお、以下の説明では、「論理エクステントに割り当てられるＩＰアドレス」を「論理エクステントが持つ（または有する）ＩＰアドレス」と呼ぶこともある。
【００４１】
図６はＥＩＭＴ１１６-1〜１１６-3の具体例を説明する際の前提となる、図３のＬＶＩＤ（論理ボリュームＩＤ）が１の論理ボリュームを構成するノード１０-1〜１０-3と当該ノード１０-1〜１０-3によって管理される当該論理ボリューム内の論理エクステントとの関係とを示す。図６の例では、ノード１０-1，１０-2，１０-3（のイーサネットコントローラ１１４-1，１１４-2，１１４-3）は、それぞれＭＡＣアドレスＭＡＣ１，ＭＡＣ２，ＭＡＣ３を持つ。
【００４２】
図６において、ノード１０-1、つまりＭＡＣアドレスＭＡＣ１を持つノード１０-1は、コンテナＩＰアドレス１９２．１６８．１．１／２４を所有し、論理エクステントＩＰアドレス１９２．１６８．１．１１／２４を持つ論理エクステント１及び論理エクステントＩＰアドレス１９２．１６８．１．１４／２４を持つ論理エクステント４を管理する。この場合、ノード１０-1が持つＭＡＣアドレスＭＡＣ１を、コンテナＩＰアドレス１９２．１６８．１．１／２４のＭＡＣアドレスＭＡＣ１、または論理エクステントＩＰアドレス１９２．１６８．１．１１／２４（を持つ論理エクステント１）のＭＡＣアドレスＭＡＣ１、または論理エクステントＩＰアドレス１９２．１６８．１．１４／２４（を持つ論理エクステント４）のＭＡＣアドレスＭＡＣ１と呼ぶこともある。
【００４３】
ノード１０-2、つまりＭＡＣアドレスＭＡＣ２を持つノード１０-2は、コンテナＩＰアドレス１９２．１６８．１．２／２４を所有し、論理エクステントＩＰアドレス１９２．１６８．１．１２／２４を持つ論理エクステント２を管理する。この場合、ノード１０-2が持つＭＡＣアドレスＭＡＣ２を、コンテナＩＰアドレス１９２．１６８．１．２／２４のＭＡＣアドレスＭＡＣ２、または論理エクステントＩＰアドレス１９２．１６８．１．１２／２４（を持つ論理エクステント１）のＭＡＣアドレスＭＡＣ２と呼ぶこともある。
【００４４】
ノード１０-3、つまりＭＡＣアドレスＭＡＣ３を持つノード１０-3は、コンテナＩＰアドレス１９２．１６８．１．３／２４を所有し、論理エクステントＩＰアドレス１９２．１６８．１．１３／２４を持つ論理エクステント３を管理する。この場合、ノード１０-3が持つＭＡＣアドレスＭＡＣ３を、コンテナＩＰアドレス１９２．１６８．１．３／２４のＭＡＣアドレスＭＡＣ３、または論理エクステントＩＰアドレス１９２．１６８．１．１３／２４（を持つ論理エクステント１）のＭＡＣアドレスＭＡＣ３と呼ぶこともある。
【００４５】
図６の状態において、ノード１０-1，１０-2，１０-3が管理するＥＩＭＴ１１６-1，１１６-2，１１６-3の例を図７に示す。
【００４６】
次に、ＡＲＰテーブル１１７-iについて説明する。ＡＲＰテーブル１１７-iはノード１０-iのコントローラ部１１-iに含まれているＴＣＰ／ＩＰモジュール１１３-iによって管理される。ＡＲＰテーブル１１７-iは、従来から知られているＡＲＰ解決済みのアドレス情報、つまりＩＰアドレス及びＭＡＣアドレスの対を保持する。
【００４７】
次に、ＬＰＭＴ１２２-iについて説明する。ＬＰＭＴ１２２-iは、従来技術で適用されるＬＰＭＴとは異なって、各ノード１０-iに固有のテーブルである。つまり各ノード１０-iは、固有のＬＰＭＴ１２２-iを保持・管理する。ＬＰＭＴ１２２-iは、当該ＬＰＭＴ１２２-iを保持するノード１０-iが管理する論理エクステントを、当該ノード１０-iが有するどの物理ボリュームのどの物理エクステントに格納しているかを示すのに用いられる。本実施形態では、論理ボリュームを構成する論理エクステントをどのノード１０-iが管理するかは構成管理部３０によって決定される。しかし、ノード１０-iが管理すると決定された論理エクステントを、当該ノード１０-iが有するどの物理ボリュームのどの物理エクステントに格納するかは、構成管理部３０が決定しても、ノード１０-iのストレージ部１２-iが自立的に決定しても良い。構成管理部３０またはノード１０-iは、上述の決定に基づいてＬＰＭＴ１２２-iを生成し、当該ＬＰＭＴ１２２-iをノード１０-iに設定する。
【００４８】
図８はＬＰＭＴ１２２-iのデータ構造例を示す。ＬＰＭＴ１２２-iの各エントリは、ＬＥＩＰ（Logical Extent IP-Address：論理エクステントＩＰアドレス）、ＰＶＩＤ（Physical Volume ID：物理ボリュームＩＤ）及びＰＥＩＤ（Physical Extent ID：物理エクステントＩＤ）の各項目を有する。
【００４９】
ＬＥＩＰには、ＥＩＭＴ１１６-iにおけるＬＥＩＰと同様に、該当するノード１０-iが管理する論理エクステントに割り当てられたＩＰアドレス（論理エクステントＩＰアドレス）が設定される。ＰＶＩＤには、当該ＰＶＩＤと組をなすＬＥＩＰの示す論理エクステントＩＰアドレスに対応付けられる物理ボリュームのＩＤ（物理ボリュームＩＤ）が設定される。ＰＥＩＤには、当該ＰＥＩＤと組をなすＬＥＩＰの示す論理エクステントＩＰアドレスに対応付けられる物理エクステントのＩＤ（物理エクステントＩＤ）が設定される。ＬＥＩＰの示す論理エクステントＩＰアドレスの論理エクステントは、当該ＬＥＩＰと組をなすＰＶＩＤ及びＰＥＩＤで示される物理ボリューム内の物理エクステントに格納される。
【００５０】
図９はＬＰＭＴ１２２-1〜１２２-3の具体例を説明する際の前提となる、ノード１０-1〜１０-3によって管理される論理ボリューム内の論理エクステントと当該論理エクステントが格納される物理ボリューム内の物理エクステントとの関係を示す。
【００５１】
図９の例では、ノード１０-1〜１０-3は、いずれもＰＶＩＤ（物理ボリュームＩＤ）が１，２の物理ボリュームを有する。各物理ボリュームは、ＰＥＩＤ（物理エクステントＩＤ）が１，２，３の物理エクステントから構成される。ノード１０-iのＰＶＩＤが１，２の物理ボリュームは、例えば当該ノード１０-iに含まれている２つのディスク（ディスク装置）１２３-iによって提供される。
【００５２】
図９において、論理エクステントＩＰアドレス１９２．１６８．１．１１／２４を持つ論理エクステント１及び論理エクステントＩＰアドレス１９２．１６８．１．１４／２４を持つ論理エクステント４は、それぞれ、ノード１０-1に含まれている、ＰＶＩＤが１の物理ボリューム内のＰＥＩＤが３の物理エクステント及びＰＶＩＤが２の物理ボリューム内のＰＥＩＤが２の物理エクステントに格納される。論理エクステントＩＰアドレス１９２．１６８．１．１２／２４を持つ論理エクステント２は、ノード１０-2に含まれている、ＰＶＩＤが１の物理ボリューム内のＰＥＩＤが２の物理エクステントに格納される。論理エクステントＩＰアドレス１９２．１６８．１．１３／２４を持つ論理エクステント３は、ノード１０-3に含まれている、ＰＶＩＤが２の物理ボリューム内のＰＥＩＤが３の物理エクステントに格納される。
【００５３】
図９の状態において、ノード１０-1，１０-2，１０-3が管理するＬＰＭＴ１２２-1，１２２-2，１２２-3の例を図１０に示す。
【００５４】
次に、ホストからノード１０-1にアクセス要求が与えられた場合の当該ノード１０-1の動作について、図１１Ａ及び図１１Ｂのフローチャートを参照して説明する。  
今、ホストからノード１０-1〜１０-3のうちの例えばノード１０-1に対してパスが張られている状態で、当該ホストからノード１０-1に対してアクセス要求が与えられたものとする。するとノード１０-1のターゲットインタフェイス１１１-1は、ＦＣ／ＳＣＳＩやイーサネット／ｉＳＣＳＩなどの任意のメディア／プロトコルによりホストからのアクセス要求を受け付ける（ステップＳ１）。アクセス要求は、アクセスされるべき論理ボリューム内の論理ブロックを示す論理ブロックアドレスを含む。ここではアクセス要求により、論理ボリュームＩＤがＬＶＩＤの論理ボリューム（以下、論理ボリュームＬＶＩＤと称する）の論理ブロックアドレスＬＢＡ（で指定される論理ブロック）へのアクセスが要求されているものとする。ターゲットインタフェイス１１１-1は、このアクセス要求をＩＯマネージャ１１２-1に渡すことにより、当該ＩＯマネージャ１１２-1にアクセスを要求する。
【００５５】
ＩＯマネージャ１１２-1は、ターゲットインタフェイス１１１-1から渡されたアクセス要求で指定される論理ボリュームＬＶＩＤの論理ブロックアドレスＬＢＡが属する論理エクステントを特定するための処理を行う。ここでは、ＩＯマネージャ１１２-1は論理エクステントＩＰアドレス特定手段として機能してＬＶＭＴ１１５-1を参照し、ＬＶＩＤ及びＬＢＡに対応する論理エクステントに割り当てられている論理エクステントＩＰアドレスＬＥＩＰを求める（ステップＳ２）。
【００５６】
具体的には、ＩＯマネージャ１１２-1はまず、ＬＶＭＴ１１５-1を参照して、ＬＶＩＤと対応付けられているＬＶＮＡ（論理ボリュームネットワークアドレス）、ＬＶＳＩＺＥ（論理ボリュームサイズ）、ＬＥＳＩＺＥ（論理エクステントサイズ）及びＬＶＮＯＤＥ（最大ノード数）を取得する。次にＩＯマネージャ１１２-1は、アクセス要求で指定されるＬＢＡ（論理ブロックアドレス）と上記取得されたＬＥＳＩＺＥ（論理エクステントサイズ）とに基づき、“論理エクステント番号＝（ＬＢＡ／ＬＥＳＩＺＥ）＋１”の演算を行って、アクセスされるべき論理ボリューム内の論理エクステントの論理エクステント番号を求める。そしてＩＯマネージャ１１２-1は、上記取得された、ＬＶＮＡ（論理ボリュームネットワークアドレス）及びＬＶＮＯＤＥ（最大ノード数）と、演算により求められた論理エクステント番号とに基づき、前記（１）式に従う演算を行うことにより、アクセスされるべき論理ボリューム内の論理エクステントに割り当てられている論理エクステントＩＰアドレスＬＥＩＰを求める（特定する）。
【００５７】
次にＩＯマネージャ１１２-1は判定手段として機能して、ステップＳ２で求められた論理エクステントＩＰアドレスＬＥＩＰが割り当てられている論理エクステント（以下、論理エクステントＬＥＩＰと称する）を、当該ＩＯマネージャ１１２-1を含むノード１０-1（自ノード）が管理しているかを判定する（ステップＳ３）。この判定は、ＬＰＭＴ１２２-1を参照して、ステップＳ２で求められた論理エクステントＩＰアドレスＬＥＩＰが当該ＬＰＭＴ１２２-1に格納されているかを調べることによって行われる。
【００５８】
まず、ステップＳ３において、論理エクステントＬＥＩＰをノード１０-1（自ノード）が管理していると判定されたものとする。この場合、ＩＯマネージャ１１２-1はノード１０-1内のＩＯドライバ１２１-1に、当該論理エクステントＬＥＩＰに対するアクセスを指定するアクセス要求（論理エクステントＬＥＩＰへのアクセス要求）を渡す（ステップＳ４）。
【００５９】
これに対し、ステップＳ３において、論理エクステントＬＥＩＰをノード１０-1（自ノード）が管理していないと判定されたものとする。この場合、ＩＯマネージャ１１２-1は、ノード１０-1以外のノード（他ノード）で管理されている論理エクステントＬＥＩＰにアクセスするために、当該論理エクステントＬＥＩＰに割り当てられている論理エクステントＩＰアドレスＬＥＩＰをアクセス先とするアクセス（つまり論理エクステントＬＥＩＰへのアクセス）を、ノード１０-1内のＴＣＰ／ＩＰモジュール１１３-1に要求する（ステップＳ５）
ＴＣＰ／ＩＰモジュール１１３-1は、他ノードとのイーサネット（下位レイヤ）を利用した高信頼通信路を構築するためのＴＣＰ／ＩＰの処理を行い、イーサネットコントローラ１１４-1を制御してＴＣＰ／ＩＰパケットを包んだイーサネットフレームの送受信を行う。本実施形態においてＴＣＰ／ＩＰモジュール１１３-1は、ＩＯマネージャ１１２-1から他ノードが管理する論理エクステントＬＥＩＰへのアクセスが要求されると、ＥＩＭＴ１１６-1を参照して、ノード１０-1（自ノードのイーサネットコントローラ１１４-1）が所有するコンテナＩＰアドレスＣＩＰを取得する（ステップＳ６）。このステップＳ６において、ＴＣＰ／ＩＰモジュール１１３-1はＴＣＰ／ＩＰパケット生成手段として機能して、取得されたコンテナＩＰアドレスＣＩＰを送信元とし、論理エクステントＩＰアドレスＬＥＩＰを送信先とする、アクセス要求を含むＴＣＰ／ＩＰパケットを生成する。
【００６０】
次にＴＣＰ／ＩＰモジュール１１３-1はアドレス解決処理として機能して、生成されたＴＣＰ／ＩＰパケットをイーサネットフレームに包み込むのに必要な、送信先の論理エクステントＩＰアドレスＬＥＩＰに対応するＭＡＣアドレスＬＥＭＡＣを解決するためのアドレス解決処理を行う（ステップＳ７）。このアドレス解決処理の詳細については後述する。
【００６１】
ＴＣＰ／ＩＰモジュール１１３-1は、ステップＳ７のアドレス解決処理により、送信先の論理エクステントＩＰアドレスＬＥＩＰに対応するＭＡＣアドレスＬＥＭＡＣを解決（決定）すると、ＥＩＭＴ１１６-1を参照して、送信元コンテナＩＰアドレス（自ノードのコンテナＩＰアドレス）に対応するＭＡＣアドレスＣＭＡＣを取得する（ステップＳ８）。次にＴＣＰ／ＩＰモジュール１１３-1は、先に生成されたＴＣＰ／ＩＰパケットを包み込むイーサネットフレームであって、上記取得されたＭＡＣアドレスＣＭＡＣを送信元ＭＡＣアドレスとし、上記解決されたＭＡＣアドレスＬＥＭＡＣ（つまり送信先論理エクステントＩＰアドレスＬＥＩＰに対応するＭＡＣアドレスＬＥＭＡＣ）を送信先ＭＡＣアドレスとするイーサネットフレームを生成し、当該イーサネットフレームをイーサネットコントローラ１１４-1を介してネットワーク４０上に送信する（ステップＳ９）。つまりＴＣＰ／ＩＰモジュール１１３-1は、アクセス要求が含まれるＴＣＰ／ＩＰパケットを包み込むイーサネットフレームを送信する。ここで、アクセス要求の複数パケットへの分割、パケット到着順序制御、パケット再送制御などの周知の処理は、ＴＣＰ／ＩＰモジュール１１３-1にて行われる。イーサネットコントローラ１１４-1はＭＡＣアドレスを持ち、イーサネットフレームの送受信制御を行う。ノード１０-2，１０-3のイーサネットコントローラ１１４-2，１１４-3も同様である。
【００６２】
さて、ＴＣＰ／ＩＰモジュール１１３-1（ノード１０-1のＴＣＰ／ＩＰモジュール１１３-1）からイーサネットコントローラ１１４-1を介してネットワーク４０に送信されたイーサネットフレームの送信先ＭＡＣアドレス（ＬＥＭＡＣ）が、例えばノード１０-2（のイーサネットコントローラ１１４-2）に割り当てられているものとする。この場合、上記イーサネットフレームは、ノード１０-2のイーサネットコントローラ１１４-2で受信される。
【００６３】
イーサネットコントローラ１１４-2は、イーサネットフレームを受信すると、即ちアクセス要求が含まれているＴＣＰ／ＩＰパケットを包み込むイーサネットフレームを受信すると、ノード１０-2のＴＣＰ／ＩＰモジュール１１３-2に当該イーサネットフレームを渡して処理を依頼する（ステップＳ１０）。このステップＳ１０において、ＴＣＰ／ＩＰモジュール１１３-2は、イーサネットフレームに包み込まれているＴＣＰ／ＩＰパケットからアクセス要求を抽出して、当該アクセス要求をＩＯドライバ１２１-2に送ることで、要求されたアクセス処理を依頼する。
【００６４】
ＩＯドライバ１２１-2は、ＩＯマネージャ１１２-2（自ノードからのアクセス要求時）またはＴＣＰ／ＩＰモジュール１１３-2（他ノードからのアクセス要求時）から論理エクステントに対するアクセス要求を受け付ける。ここでは、ＴＣＰ／ＩＰモジュール１１３-2からＩＯドライバ１２１-2にアクセス要求が送られたものとする（ステップＳ１０）。この場合、ＩＯドライバ１２１-2は、ＴＣＰ／ＩＰモジュール１１３-2から送られたアクセス要求を受け付けて、当該アクセス要求で指定された論理エクステントＬＥＩＰに対するアクセス処理を行う（ステップＳ１１）。このＩＯドライバ１２１-2によるアクセス処理の詳細については後述する。
【００６５】
ＩＯドライバ１２１-2は、ＴＣＰ／ＩＰモジュール１１３-2から送られたアクセス要求の指定するアクセス処理を実行すると、当該アクセス要求に対する応答をＴＣＰ／ＩＰモジュール１１３-2に返す。ＴＣＰ／ＩＰモジュール１１３-2は、ＩＯドライバ１２１-2からアクセス要求に対する応答を受け取ると、イーサネットコントローラ１１４-2を介して、アクセス要求元のノード１０-1のＴＣＰ／ＩＰモジュール１１３-1に応答を返す（ステップＳ１２）。
【００６６】
アクセス要求元のノード１０-1のＴＣＰ／ＩＰモジュール１１３-1は、アクセス要求先のノード１０-2のＴＣＰ／ＩＰモジュール１１３-2からの応答をイーサネットコントローラ１１４-1を介して受け取ると、ＩＯマネージャ１１２-1に対して応答を返す（ステップＳ１３）。するとＩＯマネージャ１１２-1は、ＴＣＰ／ＩＰモジュール１１３-1からの応答（つまりアクセス要求に対する応答）を受け取る（ステップＳ１４）。ターゲットインタフェイス１１１-1は、ＩＯマネージャ１１２-1がアクセス要求に対する応答を受け取ると、ホストに対して応答（アクセス応答）を返す（ステップＳ１５）。
【００６７】
一方、ステップＳ３で論理エクステントＬＥＩＰをノード１０-1（自ノード）が管理していると判定された結果、当該ノード１０-1内でＩＯマネージャ１１２-1からＩＯドライバ１２１-1にアクセス要求が送られた場合には（ステップＳ４）、当該ＩＯドライバ１２１-1が論理エクステントＬＥＩＰに対するアクセス処理を行う（ステップＳ１６）。このＩＯドライバ１２１-1によるアクセス処理の詳細については後述する。
【００６８】
ＩＯドライバ１２１-1は、ＩＯマネージャ１１２-1から送られたアクセス要求の指定するアクセス処理を実行すると、当該アクセス要求に対する応答をＩＯマネージャ１１２-1に返す。するとＩＯマネージャ１１２-1は、ＩＯドライバ１２１-1からの応答（つまりアクセス要求に対する応答）を受け取る（ステップＳ１７）。ターゲットインタフェイス１１１-1は、ＩＯマネージャ１１２-1がアクセス要求に対する応答を受け取ると、ホストに対して応答（アクセス応答）を返す（ステップＳ１５）。
【００６９】
次に、ＴＣＰ／ＩＰモジュール１１３-1による論理エクステントＩＰアドレスＬＥＩＰに対応するＭＡＣアドレスＬＥＭＡＣを解決するためのアドレス解決処理（図１１ＡステップＳ７）の詳細について、図１２のフローチャートを参照して説明する。
【００７０】
まずＴＣＰ／ＩＰモジュール１１３-1は、ＡＲＰテーブル参照手段として機能してＡＲＰテーブル１１７-1を参照することにより、当該ＡＲＰテーブル１１７-1に論理エクステントＩＰアドレスＬＥＩＰのＡＲＰ解決済みのエントリが既に存在する（キャッシュされている）かを判定する（ステップＳ２１）。もし、存在するならば、ＴＣＰ／ＩＰモジュール１１３-1は、ＡＲＰテーブル１１７-1の該当するエントリから、論理エクステントＩＰアドレスＬＥＩＰに対応するＭＡＣアドレスＬＥＭＡＣを取得する（ステップＳ２２）。ＴＣＰ／ＩＰモジュール１１３-1は、このＭＡＣアドレスＬＥＭＡＣを論理エクステントＬＥＩＰのＭＡＣアドレスＬＥＭＡＣとする（ステップＳ２３）。
【００７１】
これに対し、ＡＲＰテーブル１１７-1に論理エクステントＩＰアドレスＬＥＩＰのＡＲＰ解決済みのエントリが存在しないならば（ステップＳ２１）、ＴＣＰ／ＩＰモジュール１１３-1はＡＲＰ要求手段として機能して、ＥＩＭＴ１１６-1を参照することによりノード１０-1（自ノード）が持つコンテナＩＰアドレスＣＩＰ及びＭＡＣアドレスＣＭＡＣを取得する（ステップＳ２４）。このステップＳ２４において、ＴＣＰ／ＩＰモジュール１１３-1は、取得されたコンテナＩＰアドレスＣＩＰ及びＭＡＣアドレスＣＭＡＣを送信元とし、論理エクステントＩＰアドレスＬＥＩＰを送信先とするＡＲＰ要求パケットを生成し、当該ＡＲＰ要求パケットをイーサネットコントローラ１１４-1によりネットワーク４０上にブロードキャストさせるために、当該ＡＲＰ要求パケットをイーサネットコントローラ１１４-1に送る。
【００７２】
イーサネットコントローラ１１４-1は、ＴＣＰ／ＩＰモジュール１１３-1からＡＲＰ要求パケットを受け取ると、当該ＡＲＰ要求パケット（ＡＲＰ要求フレーム）をネットワーク４０上にブロードキャストする（ステップＳ２５）。そしてイーサネットコントローラ１１４-1は、ＡＲＰ要求に対する応答を待つ。
【００７３】
ノード１０-1のイーサネットコントローラ１１４-1からネットワーク４０上にブロードキャストされたＡＲＰ要求パケットは、ストレージクラスタ内の他のノードのイーサネットコントローラ、即ちノード１０-2，１０-3のイーサネットコントローラ１１４-2，１１４-3で受信される。すると、ノード１０-2，１０-3ではＡＲＰ要求に対する処理が行われ、ノード１０-2，１０-3のうちＡＲＰ要求パケットの送信先のＩＰアドレスＬＥＩＰで指定される論理エクステントを管理するノード、例えばノード１０-2が、ＡＲＰ応答パケット（ＡＲＰ応答フレーム）をＡＲＰ要求パケットの送信元に返す。このＡＲＰ応答パケットは、当該ＡＲＰ応答パケットの送信元（ＡＲＰ要求パケットに対する応答元）として、論理エクステントＩＰアドレスＬＥＩＰ及び当該ＩＰアドレスＬＥＩＰに対応付けてＥＩＭＴに保持されているＭＡＣアドレスＬＥＭＡＣを含む。ＡＲＰ要求に対する処理の詳細は後述する。
【００７４】
ノード１０-1のイーサネットコントローラ１１４-1は、論理エクステントＬＥＩＰを管理するノードのイーサネットコントローラ（ここではノード１０-2のイーサネットコントローラ１１４-2）から返されたＡＲＰ応答パケットを受信する（ステップＳ２６）。イーサネットコントローラ１１４-1で受信されたＡＲＰ応答パケットはＴＣＰ／ＩＰモジュール１１３-1に渡される。ＴＣＰ／ＩＰモジュール１１３-1は、イーサネットコントローラ１１４-1からＡＲＰ応答パケットを受け取るとＡＲＰテーブル登録手段として機能して、当該ＡＲＰ応答パケットの送信元の論理エクステントＩＰアドレスＬＥＩＰ及びＭＡＣアドレスＬＭＡＣ、即ちアクセスされるべき論理エクステントＩＰアドレスＬＥＩＰ及び当該ＩＰアドレスＬＥＩＰで指定される論理エクステントＬＥＩＰを管理するノードのＭＡＣアドレスＬＭＡＣ（論理エクステントＬＥＩＰのＭＡＣアドレスＬＭＡＣ）を、ＡＲＰテーブル１１７-1に追加（登録）する（ステップＳ２７）。このようにしてＴＣＰ／ＩＰモジュール１１３-1は、論理エクステントＬＥＩＰを管理するノードのＭＡＣアドレスＬＭＡＣを論理エクステントＬＥＩＰのＭＡＣアドレスＬＥＭＡＣとして取得する（ステップＳ２３）。
【００７５】
次に、ＡＲＰ要求に対する処理（ＡＲＰ要求処理）の詳細について、当該処理がノード１０-2で行われる場合を例に、図１３のフローチャートを参照して説明する。  
前記ステップＳ２５（図１２参照）で、ノード１０-1のイーサネットコントローラ１１４-1からＡＲＰ要求パケットがブロードキャストされると、ノード１０-2のイーサネットコントローラ１１４-2は当該ＡＲＰ要求パケットを受信する（ステップＳ３１）。このＡＲＰ要求パケットはノード１０-3のイーサネットコントローラ１１４-3でも受信される。
【００７６】
イーサネットコントローラ１１４-2で受信されたＡＲＰ要求パケットはノード１０-2のＴＣＰ／ＩＰモジュール１１３-2に渡される。これにより、イーサネットコントローラ１１４-2からＴＣＰ／ＩＰモジュール１１３-2にＡＲＰ要求に対する応答処理が依頼される。すると、ＴＣＰ／ＩＰモジュール１１３-2はＡＲＰモジュール（ＡＲＰ要求処理モジュール）として機能する。
【００７７】
まずＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰテーブル１１７-2にＡＲＰ要求パケットの送信元のコンテナＩＰアドレスＣＩＰのエントリが既に存在する場合、当該ＡＲＰ要求パケットの送信元のＭＡＣアドレスＣＭＡＣで当該ＡＲＰテーブル１１７-2を更新する（ステップＳ３２）。
【００７８】
次にＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰ要求パケットの送信先の論理エクステントＩＰアドレスＬＥＩＰのエントリがＥＩＭＴ１１６-2に存在するかにより、ノード１０-2（自ノード）が当該論理エクステントＩＰアドレスＬＥＩＰで指定される論理エクステントＬＥＩＰを管理しているかを判定する（ステップＳ３３）。もし、論理エクステントＩＰアドレスＬＥＩＰのエントリがＥＩＭＴ１１６-2に存在するならば、即ちノード１０-2（自ノード）が論理エクステントＬＥＩＰを管理しているならば、ＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰ要求パケットの送信元のＩＰアドレス（コンテナＩＰアドレス）ＣＩＰ及び送信元のＭＡＣアドレスＣＭＡＣの対をＡＲＰテーブル１１７-2に登録する（ステップＳ３４）。
【００７９】
論理エクステントＩＰアドレスＬＥＩＰのエントリがＥＩＭＴ１１６-2に存在する場合、ＬＰＭＴ１２２-2にも論理エクステントＩＰアドレスＬＥＩＰのエントリが存在する。したがってステップＳ３３の判定は、ＬＰＭＴ１２２-2を参照することによって、ノード１０-2（自ノード）が当該論理エクステントＩＰアドレスＬＥＩＰで指定される論理エクステントＬＥＩＰを管理しているかを判定することと等価である。
【００８０】
ＴＣＰ／ＩＰモジュール１１３-2はステップＳ３４を実行すると、ＥＩＭＴ１１６-2を参照して、ＡＲＰ要求パケットの送信先のＩＰアドレス、即ち論理エクステントＩＰアドレスＬＥＩＰに対応付けられているＭＡＣアドレスＬＥＭＡＣを取得する（ステップＳ３５）。このステップＳ３５において、ＴＣＰ／ＩＰモジュール１１３-2はＡＲＰ要求に対して論理エクステントＩＰアドレスＬＥＩＰのＭＡＣアドレス（つまり取得されたＭＡＣアドレスＬＥＭＡＣ）を応答するために、論理エクステントＩＰアドレスＬＥＩＰ及びＭＡＣアドレスＬＥＭＡＣを送信元とし、ＩＰアドレスＣＩＰ及びＭＡＣアドレスＣＭＡＣを送信先とするＡＲＰ応答パケットを組み立てて、当該ＡＲＰ応答パケットをイーサネットコントローラ１１４-2に渡す。するとイーサネットコントローラ１１４-2は、ＴＣＰ／ＩＰモジュール１１３-2から渡されたＡＲＰ応答パケットをネットワーク４０上に送信する（ステップＳ３６）。
【００８１】
一方、論理エクステントＩＰアドレスＬＥＩＰのエントリがＥＩＭＴ１１６-2（ＬＰＭＴ１２２-2）に存在しないならば、即ちノード１０-2（自ノード）が論理エクステントＬＥＩＰを管理していないならば（ステップＳ３３）、ＴＣＰ／ＩＰモジュール１１３-2はＡＲＰ要求を無視し、応答不要をイーサネットコントローラ１１４-2に通知する（ステップＳ３７）。この場合、ＡＲＰ要求パケットの送信元にはイーサネットコントローラ１１４-2から何も応答は返されない。
【００８２】
次に、ＩＯドライバによるアクセス処理（図１１ＢステップＳ１１またはＳ１６）の詳細について、図１４のフローチャートを参照して説明する。  
今、ノード１０-2のＴＣＰ／ＩＰモジュール１１３-2からＩＯドライバ１２１-2に対して、論理エクステントＬＥＩＰへのアクセス要求（論理エクステントＩＰアドレスＬＥＩＰが割り当てられた論理エクステントＬＥＩＰに対するアクセスを指定するアクセス要求）が渡されたものとする（図１１ＢステップＳ１０）。するとＩＯドライバ１２１-2は、図１１ＢのステップＳ１１の処理（アクセス処理）を、図１４のフローチャートに従って次のように実行する。
【００８３】
まず、ＩＯドライバ１２１-2は、ＴＣＰ／ＩＰモジュール１１３-2から渡された論理エクステントＬＥＩＰへのアクセス要求を受け付ける（ステップＳ４１）。次にＩＯドライバ１２１-2は、論理エクステントＩＰアドレスＬＥＩＰをキーとしてＬＰＭＴ１２２-2を検索することにより、当該ＩＰアドレスＬＥＩＰに対応付けられている、物理ボリュームＩＤ（ＰＶＩＤ）及び物理エクステントＩＤ（ＰＥＩＤ）を取得する（ステップＳ４２）。
【００８４】
論理エクステントＩＰアドレスＬＥＩＰが割り当てられている論理エクステントＬＥＩＰは、取得されたＰＶＩＤで指定される物理ボリュームの取得されたＰＥＩＤで指定される物理エクステントに格納されている。そこでＩＯドライバ１２１-2は、ＰＶＩＤで指定される物理ボリュームのＰＥＩＤで指定される物理エクステントに対してアクセスする（ステップＳ４３）。そしてＩＯドライバ１２１-2はアクセスが完了すると、アクセス要求に対する応答（アクセス処理完了の応答）を当該アクセス要求の直接の要求元、つまりＴＣＰ／ＩＰモジュール１１３-2に返す（ステップＳ４４）。
【００８５】
以上、図１１ＢステップＳ１１のアクセス処理の詳細について説明した。次に図１１ＢステップＳ１６のアクセス処理について説明する。今、ノード１０-1のＩＯマネージャ１１２-1からＩＯドライバ１２１-１に対して、論理エクステントＬＥＩＰへのアクセス要求が渡されたものとする（図１１ＡステップＳ４）。この場合、ＩＯドライバ１２１-1は、図１１ＢステップＳ１６のアクセス処理を、上述したＩＯドライバ１２１-2による図１１ＢステップＳ１１のアクセス処理と同一手順（図１４ステップＳ４１〜Ｓ４４）で実行する。但し、ＩＯドライバ１２１-1は、アクセス要求をＴＣＰ／ＩＰモジュール１１３-1ではなくてＩＯマネージャ１１２-1から受け取り（ステップＳ４１）、アクセス要求に対する応答をＴＣＰ／ＩＰモジュール１１３-1ではなくてＩＯマネージャ１１２-1に返す（ステップＳ４４）。
【００８６】
図１５は、図１のストレージクラスタにおいて、ＬＶＭＴ１１５-1〜１１５-3、ＥＩＭＴ１１６-1〜１１６-3及びＬＰＭＴ１２２-1〜１２２-3が、それぞれ図４、図７及び図１０のように構成され、ＡＲＰテーブル１１７-1〜１１７-3のエントリが空である状態において、ホストからノード１０-1に対して、論理ボリューム１の論理ブロックアドレス（ＬＢＡ）７６８ＭＢへのアクセスを指定するアクセス要求が与えられた場合の動作の流れを示す。以下、図１５の動作の流れについて、図１１Ａ及び図１１Ｂのフローチャートを併用して説明する。
【００８７】
今、図１５において矢印５０１で示されるように、ホストからストレージクラスタ内のノード１０-1に対して、論理ボリューム１（ＬＶＩＤ＝１）の論理ブロックアドレス（ＬＢＡ）“７６８ＭＢ”（ＬＢＡ＝７６８ＭＢ）へのアクセスを指定するアクセス要求が与えられたものとする。
【００８８】
ノード１０-1のターゲットインタフェイス１１１-1は、ホストからの上記アクセス要求を受け付け、当該アクセス要求に対する処置を、矢印５０２で示されるように当該ノード１０-1のＩＯマネージャ１１２-1に要求する（図１１ＡステップＳ１）。
【００８９】
ＩＯマネージャ１１２-1は、図４に示されるＬＶＭＴ１１５-1に基づき、論理ボリューム１の論理ブロックアドレス（ＬＢＡ）“７６８ＭＢ”が、論理エクステントＩＰアドレス（ＬＥＩＰ）“１９２．１６８．１．１２／２４”を持つ論理エクステントに位置することを求める（図１１ＡステップＳ２）。
【００９０】
次にＩＯマネージャ１１２-1は、図１０に示すＬＰＭＴ１２２-1を参照することで、論理エクステントＩＰアドレス（ＬＥＩＰ）“１９２．１６８．１．１２／２４”（を持つ論理エクステントＬＥＩＰ）をノード１０-1（自ノード）が管理しているかを判定する（図１１ＡステップＳ３）。図１０に示すＬＰＭＴ１２２-1の例では、“１９２．１６８．１．１２／２４”はノード１０-1（自ノード）では管理されていない（他ノードで管理されている）ことから、ＩＯマネージャ１１２-1は矢印５０３で示されるように、ノード１０-1のＴＣＰ／ＩＰモジュール１１３-1にアクセス要求の処理を依頼する（図１１ＡステップＳ５）。
【００９１】
ＴＣＰ／ＩＰモジュール１１３-1は、図７に示すＥＩＭＴ１１６-1を参照して、ノード１０-1（自ノード）が所有するコンテナＩＰアドレス（ＣＩＰ）“１９２．１６８．１．１／２４”を取得し、当該コンテナＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４を送信元とし、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１２を送信先とする、アクセス要求のＴＣＰ／ＩＰパケットを生成する（図１１ＡステップＳ６）。
【００９２】
次にＴＣＰ／ＩＰモジュール１１３-1は、送信先の論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１２／２４のＭＡＣアドレスを解決するためのアドレス解決処理を行う（図１１ＡステップＳ７）。このアドレス解決処理において、ＴＣＰ／ＩＰモジュール１１３-1はＡＲＰテーブル１１７-1を参照する。しかし、当該ＡＲＰテーブル１１７-1には“１９２．１６８．１．１２／２４”のＭＡＣアドレスはキャッシュされていない（図１２ステップＳ２１）。
【００９３】
そこでＴＣＰ／ＩＰモジュール１１３-1は、ＥＩＭＴ１１６-1を参照して、ノード１０-1（自ノード）のコンテナＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４とそのＭＡＣアドレスＣＭＡＣ＝ＭＡＣ１を送信元とし、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１２／２４を送信先とするＡＲＰ要求パケットを生成する（図１２ステップＳ２４）。ＴＣＰ／ＩＰモジュール１１３-1は、生成されたＡＲＰ要求パケットを、ノード１０-1のイーサネットコントローラ１１４-1により矢印５０４ａで示されるようにブロードキャストさせる（図１２ステップＳ２５）。
【００９４】
すると、図１のストレージクラスタの中で、論理ボリューム１を構成している（つまり１９２．１６８．１．０／２４のネットワークに参加している）ノード１０-1〜１０-3 のうち、ノード１０-1以外のノード１０-2，１０-3で当該ノード１０-1からのＡＲＰ要求パケットが受信される（図１３ステップＳ３１）。ノード１０-2，１０-3で受信されたＡＲＰパケットは、それぞれ当該ノード１０-2，１０-3のイーサネットコントローラ１１４-2，１１４-3から当該ノード１０-2，１０-3のＴＣＰ／ＩＰモジュール１１３-2，１１３-3に矢印５０４ｂで示されるように送られる。
【００９５】
ノード１０-3のＴＣＰ／ＩＰモジュール１１３-3は、ＡＲＰテーブル１１７-3を参照する。この時点において、ＡＲＰテーブル１１７-3には未だ送信元のＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４は存在しない。このためＴＣＰ／ＩＰモジュール１１３-3は、ＡＲＰテーブル１１７-3の更新（図１３ステップＳ３２）を行わない。また、ＥＩＭＴ１１６-3には送信先のＩＰアドレス（論理エクステントＩＰアドレス）ＬＥＩＰ＝１９２．１６８．１．１２／２４のエントリは存在しない（図７参照）。このためＴＣＰ／ＩＰモジュール１１３-3は、ＡＲＰ要求に対する応答は行わない（図１２ステップＳ３７）。
【００９６】
一方、ノード１０-2のＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰテーブル１１７-2を参照する。この時点において、ＡＲＰテーブル１１７-2には未だ送信元のＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４は存在しない。このためＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰテーブル１１７-3の更新（図１３ステップＳ３２）を行わない。次にＴＣＰ／ＩＰモジュール１１３-2はＥＩＭＴ１１６-2を参照して、当該ＥＩＭＴ１１６-2に送信先のＩＰアドレス（論理エクステントＩＰアドレス）ＬＥＩＰ＝１９２．１６８．１．１２／２４のエントリが存在するか判定する（図１３ステップＳ３３）。ここでは、ＥＩＭＴ１１６-2には、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１２／２４のエントリが存在する（図７参照）。この場合、ＴＣＰ／ＩＰモジュール１１３-2は、ＡＲＰテーブル１１７-2に送信元のＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４及びＭＡＣアドレスＣＭＡＣ＝ＭＡＣ１を登録する（図１３ステップＳ３４）。そしてＴＣＰ／ＩＰモジュール１１３-2は、ＥＩＭＴ１１６-2を参照することで、論理エクステントＬＥＩＰ＝１９２．１６８．１．１２／２４に対応付けられているＭＡＣアドレスＬＥＭＡＣ＝ＭＡＣ２を取得して、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１２／２４及びＭＡＣアドレスＬＥＭＡＣ＝ＭＡＣ２を送信元（応答元）とし、ＩＰアドレス（コンテナＩＰアドレス）ＣＩＰ＝１９２．１６８．１．１／２４及びＭＡＣアドレスＣＭＡＣ＝ＭＡＣ１を送信先（応答先）とするＡＲＰ応答パケットを生成する（図１３ステップＳ３５）。ＴＣＰ／ＩＰモジュール１１３-2は、生成されたＡＲＰ応答パケットを、ノード１０-2のイーサネットコントローラ１１４-2により矢印５０５ａで示されるようにＡＲＰ要求パケットの送信元に返す（図１３ステップＳ３６）。
【００９７】
ノード１０-2から返されたＡＲＰ応答パケットは、ノード１０-1のイーサネットコントローラ１１４-1で受け取られる（図１２ステップＳ２６）。イーサネットコントローラ１１４-1は、受け取ったＡＲＰ応答パケットの解析を矢印５０５ｂで示されるようにＴＣＰ／ＩＰモジュール１１３-1に依頼する。これを受けてＴＣＰ／ＩＰモジュール１１３-1は、ＡＲＰ応答パケットの送信元（応答元）のＩＰアドレス（論理エクステントＩＰアドレス）ＬＥＩＰ＝１９２．１６８．１．１２／２４及びＭＡＣアドレスＬＥＭＡＣ＝ＭＡＣ２をＡＲＰテーブル１１７-1に登録して（図１２ステップＳ２７）、当該ＩＰアドレス（論理エクステントＩＰアドレス）ＬＥＩＰで指定される論理エクステントＬＥＩＰのＭＡＣアドレスＬＥＭＡＣ＝ＭＡＣ２を得る（図１２ステップＳ２３）。これにより、ＴＣＰ／ＩＰモジュール１１３-1におけるアドレス解決処理（図１１ＡステップＳ７）は終了する。
【００９８】
次にＴＣＰ／ＩＰモジュール１１３-1は、論理エクステントＬＥＩＰ＝１９２．１６８．１．１２／２４に対するアクセス要求を含むＴＣＰ／ＩＰパケットを、ＣＭＡＣ＝ＭＡＣ１を送信元ＭＡＣアドレスとし、ＬＥＭＡＣ＝ＭＡＣ２を送信先ＭＡＣアドレスするイーサネットフレームで包む。ＴＣＰ／ＩＰモジュール１１３-1は、このイーサネットフレームを、矢印５０６ａで示されるようにノード１０-1のイーサネットコントローラ１１４-1を介して送信する（図１２ステップＳ９）。
【００９９】
ノード１０-1から送信されたイーサネットフレームは、ノード１０-2のイーサネットコントローラ１１４-2で受け取られる。イーサネットコントローラ１１４-2は、受け取ったイーサネットフレームを矢印５０６ｂで示されるようにノード１０-2のＴＣＰ／ＩＰモジュール１１３-2に送る。
【０１００】
ＴＣＰ／ＩＰモジュール１１３-2は、イーサネットフレームを分解して、当該フレーム中のＴＣＰ／ＩＰパケットに含まれているアクセス要求を、矢印５０６ｃで示されるように、ノード１０-2のＩＯドライバ１２１-2に渡すことにより、当該アクセス要求で指定されるアクセス処理を当該ＩＯドライバ１２１-2に依頼する（図１２ステップＳ１０）。ＩＯドライバ１２１-2は、ＴＣＰ／ＩＰモジュール１１３-2からアクセス要求を受け取ると、図１０に示すＬＰＭＴ１２２-2を参照することにより、当該アクセス要求で指定されている論理エクステントＬＥＩＰ＝１９２．１６８．１．１２／２４に対応付けられている物理ボリュームＩＤ（ＰＶＩＤ）＝１及び物理エクステントＩＤ（ＰＥＩＤ）＝２を取得する（図１４ステップＳ４１，Ｓ４２）。これによりＩＯドライバ１２１-2は、矢印５０８で示されるように、ディスク１２３-2に確保されているＰＶＩＤ＝１の物理ボリューム内のＰＥＩＤ＝２の物理エクステントにアクセスする（図１４ステップＳ４３）。
【０１０１】
次にＩＯドライバ１２１-2は、アクセスの結果を戻り値として、矢印５０９ａで示すようにノード１０-2のＴＣＰ／ＩＰモジュール１１３-2にアクセス要求に対する応答を返す（図１４ステップＳ４４）。するとＴＣＰ／ＩＰモジュール１１３-2は、矢印５０９ｂで示すように、イーサネットコントローラ１１４-2を介して、アクセス要求元のノード１０-1のＴＣＰ／ＩＰモジュール１１３-1に応答を返す（図１１ＢステップＳ１２）。
【０１０２】
ノード１０-1のＴＣＰ／ＩＰモジュール１１３-1はノード１０-2のＴＣＰ／ＩＰモジュール１１３-2からの応答をイーサネットコントローラ１１４-1を介して受け取ると、矢印５０９ｃで示すようにＩＯマネージャ１１２-1に応答を返す（図１１ＢステップＳ１３）。これを受けてＩＯマネージャ１１２-1は、矢印５０９ｄで示すようにターゲットインタフェイス１１１-1に応答を返す（図１１ＢステップＳ１４）。するとターゲットインタフェイス１１１-1は、矢印５０９ｅで示すようにホストに応答を返す（図１１ＢステップＳ１５）。
【０１０３】
このように本実施形態においては、ノード１０-i（ｉ＝１，２，３）が有する物理ボリューム／物理エクステント分のエントリだけをＬＰＭＴ１２２-iに持たせる構成を適用しながら、当該ノード１０-iに対するホストからのアクセス要求に従ってアクセスされるべき論理エクステントが他ノードで管理されている場合でも、当該論理エクステントが格納されている物理ボリューム／物理エクステントにアクセスすることができる。よってストレージクラスタを構成するノード１０-1〜１０-3の各々は、従来技術とは異なって、全てのノード１０-1〜１０-3の物理ボリューム／物理エクステント分のエントリを持ったＬＰＭＴを管理する必要がない。これにより、従来技術と比較して、ストレージクラスタを構成する各ノード１０-1〜１０-3が管理しなければならない情報量を減らすことができる。また、以下に述べる論理エクステントの移動（またはコピー）に際して、各ノードが管理する情報の更新作業量を少なくして、アクセス性能を向上させることもできる。
【０１０４】
次に、論理エクステントの移動（マイグレーション）について説明する。  
ストレージクラスタでは、当該ストレージクラスタの性能向上や運用上の課題解決のために、あるノードの論理エクステントを、当該論理エクステントが含まれる論理ボリュームを（当該ノードと共に）構成する別のノードの物理ボリューム／物理エクステントに移動することが行われる。このときには、ホストからのアクセスを継続させながら高速に且つ安全に移動を実現させるため、移動に必要な、ストレージクラスタ内のノードの更新情報量を極力少なくすることが望ましい。本実施形態では、移動対象論理エクステント（移動元論理エクステント）を含む論理ボリュームのネットワークアドレス空間の中から、未使用のホストアドレス（ＩＰアドレス）を選択し、これを仮論理エクステントＩＰアドレスとして一時的に使用することで、論理エクステントの移動を実現する。
【０１０５】
以下、論理エクステントの移動について、図１６Ａ乃至図１６Ｃ及び図１７を参照して説明する。図１６Ａ乃至図１６Ｃは論理エクステント移動処理の手順を示すフローチャート、図１７は論理エクステント移動を説明するための図である。
【０１０６】
まず、図１のストレージクラスタにおいて、ＬＶＭＴ１１５-1〜１１５-3、ＥＩＭＴ１１６-1〜１１６-3及びＬＰＭＴ１２２-1〜１２２-3が、それぞれ図４、図７及び図１０のように構成されているものとする。この状態で、構成管理部３０が、ある論理エクステントＬＥＩＰ（つまり、論理エクステントＩＰアドレスＬＥＩＰが割り当てられている論理エクステント）を移動対象（移動元）として決定すると共に、当該論理エクステントＬＥＩＰの移動先となる、ノード、物理ボリュームＴＰＶＩＤ及び物理エクステントＴＰＥＩＤを決定したものとする（ステップＳ５１）。ＴＰＶＩＤ及びＴＰＥＩＤ中の“Ｔ”は移動先を表す記号であり、物理ボリュームＴＰＶＩＤ及び物理エクステントＴＰＥＩＤは、それぞれ物理ボリュームＩＤがＴＰＶＩＤ（ＰＶＩＤ）の物理ボリューム及び物理エクステントＩＤがＴＰＥＩＤ（ＰＥＩＤ）の物理エクステントを指す。
【０１０７】
本実施形態では、ノード１０-1によって管理されている論理エクステント４（論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４）を、ノード１０-3の物理ボリューム２（ＴＰＶＩＤ＝２）／物理エクステント１（ＴＰＥＩＤ＝１）に移動することが決定されたものとする。本実施形態において論理エクステント４は、ノード１０-1の物理ボリューム２（ＰＶＩＤ＝２）／物理エクステント２（ＰＥＩＤ＝２）に格納（配置）されている。即ち、ノード１０-1の物理ボリューム２（ＰＶＩＤ＝２）／物理エクステント２（ＰＥＩＤ＝２）に格納されている論理エクステント４（論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４）を、図１７において矢印７００で示されるように、ノード１０-3の物理ボリューム２（ＴＰＶＩＤ＝２）／物理エクステント１（ＴＰＥＩＤ＝１）に移動するものとする。
【０１０８】
構成管理部３０は、上記ステップＳ５１において、移動に使用する仮論理エクステントＩＰアドレスＴＬＥＩＰとして、移動対象（移動元）論理エクステントを含む論理ボリュームＬＶＩＤのネットワークアドレス空間の中から未使用のホストアドレスを選択して割り当てる。移動対象論理エクステントが論理エクステント４（ＬＥＩＰ＝１９２．１６８．１．１４／２４）の例では、論理ボリューム１（ＬＶＩＤ＝１）のネットワークアドレス空間１９２．１６８．１．０／２４の中から未使用のホストアドレスが選択される。ここでは、仮論理エクステントＩＰアドレスとしてＴＬＥＩＰ（ＬＥＩＰ）＝１９２．１６８．１．１０１／２４が選択されたものとする。なお、未使用のホストアドレスが存在しない場合には、論理エクステント移動不可と判定される。
【０１０９】
次に構成管理部３０は、移動先ノード１０-3が有するＬＰＭＴ１２２-3の中から移動先とする物理ボリューム２（ＴＰＶＩＤ＝２）／物理エクステント１（ＴＰＥＩＤ＝１）のエントリを探し、当該物理ボリューム２（ＴＰＶＩＤ＝２）／物理エクステント１（ＴＰＥＩＤ＝１）の論理エクステントＩＰアドレスＬＥＩＰとして、仮論理エクステントＩＰアドレス“１９２．１６８．１．１０１／２４”（ＴＬＥＩＰ＝１９２．１６８．１．１０１／２４）を割り当てる（ステップＳ５２）。このときのＬＰＭＴ１２２-1〜１２２-3の状態を図１８に示す。図１８において、ハッチングが施されている部分が、仮論理エクステントＩＰアドレスが割り当てられた箇所を示す。
【０１１０】
次に構成管理部３０は、移動元のノード１０-1のＥＩＭＴ１１６-1に、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４と、それにバインドするノード１０-3の（イーサネットコントローラ１１４-3が持つ）ＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３とを含むエントリを追加設定する（ステップＳ５３）。このときのＥＩＭＴ１１６-1〜１１６-3の状態を図１９に示す。図１９において、ハッチングが施されている部分が、追加設定されたエントリを示す。
【０１１１】
次に構成管理部３０は、移動先のノード１０-3のＴＣＰ／ＩＰモジュール１１３-3により、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４とそのＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３のＧｒａｔｕｉｔｏｕｓ  ＡＲＰ要求を、イーサネットコントローラ１１４-3を介してブロードキャストさせる（ステップＳ５４）。Ｇｒａｔｕｉｔｏｕｓ  ＡＲＰ（以下、Ｇ−ＡＲＰと称する）要求は、周知のように、ＩＰアドレスが付け変わったことを他のノードに通知するのに用いられる特別のＡＲＰである。
【０１１２】
このノード１０-3のＴＣＰ／ＩＰモジュール１１３-3によるＧ−ＡＲＰ要求の送出により、当該ノード１０-3を除くストレージクラスタの全ノード、つまりノード１０-1，１０-2の、ＡＲＰテーブル１１７-1，１１７-2の該当するエントリが初期化される。即ち、ＡＲＰテーブル１１７-1，１１７-2に既に仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４を含むエントリが存在する場合、当該エントリ中のＭＡＣアドレスがＴＬＥＭＡＣ＝ＭＡＣ３に更新される。
【０１１３】
次に構成管理部３０は、移動元のノード１０-1のＩＯドライバ１２１-1に対して、移動元論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４のデータを、仮論理エクステントＴＬＥＩＰ＝１９２．１６８．１．１０１／２４にコピーするよう要求する（ステップＳ５５）。これを受けてＩＯドライバ１２１-1は、論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４のデータを読み込んで、ノード１０-1のＴＣＰ／ＩＰモジュール１１３-1に対して当該データを仮論理エクステントＴＬＥＩＰ＝１９２．１６８．１．１０１／２４に書き込むように要求する（ステップＳ５６）。
【０１１４】
するとＴＣＰ／ＩＰモジュール１１３-1は、移動元論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４を管理するノード１０-1（自ノード）のコンテナＩＰアドレスＣＩＰ＝１９２．１６８．１．１／２４を送信元とし、移動先の仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４を送信先とするＴＣＰ／ＩＰパケットを生成する（ステップＳ５７）。このＴＣＰ／ＩＰパケットは、移動元論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４のデータを仮論理エクステントＴＬＥＩＰに書き込むための書き込み要求を含む。
【０１１５】
次にＴＣＰ／ＩＰモジュール１１３-1は、生成されたＴＣＰ／ＩＰパケットをイーサネットフレームで包むため、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４のＭＡＣアドレスＴＬＥＭＡＣを解決するためのアドレス解決処理を行う（ステップＳ５８）。このアドレス解決処理は図１０のフローチャートと同様の手順で行われる。即ちノード１０-1のＡＲＰテーブル１１７-1に仮論理エクステントＴＬＥＩＰのエントリ（目的エントリ）が存在するならば、ＴＣＰ／ＩＰモジュール１１３-1は当該エントリからＭＡＣアドレスＴＬＥＭＡＣを取得する。これに対し、ＡＲＰテーブル１１７-1に目的エントリが存在しないならば、ＴＣＰ／ＩＰモジュール１１３-1は、仮論理エクステントＴＬＥＩＰを管理するノード１０-3（移動先ノード１０-3）に対するＡＲＰ要求及び当該ノード１０-3からのＡＲＰ応答により、仮論理エクステントＴＬＥＩＰのＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３を取得する。この場合、ＴＣＰ／ＩＰモジュール１１３-1は、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４及びＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３の対をＡＲＰテーブル１１７-1に登録する。
【０１１６】
次にＴＣＰ／ＩＰモジュール１１３-1は、送信元（移動元）ＭＡＣアドレスをコンテナＩＰアドレスＣＩＰ＝１０２．１６８．１．１／２４（を有するノード１０-1のイーサネットコントローラ１１４-1）のＭＡＣアドレスＣＭＡＣ＝ＭＡＣ１とし、送信先（移動先）ＭＡＣアドレスを仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４（を管理するノード１０-3のイーサネットコントローラ１１４-3）のＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３とする（つまりノード１０-3を宛先とする）、ＴＣＰ／ＩＰパケットを包んだイーサネットフレームを生成する（ステップＳ５９）。このステップＳ５９においてＴＣＰ／ＩＰモジュール１１３-1は、生成されたイーサネットフレームをイーサネットコントローラ１１４-1を介して移動先のノード、つまりノード１０-3に送信する。このイーサネットフレームは、移動先のノード１０-3のイーサネットコントローラ１１４-3で受信されて、当該ノード１０-3のＴＣＰ／ＩＰモジュール１１３-3に渡される。
【０１１７】
移動先のノード１０-3のＴＣＰ／ＩＰモジュール１１３-3は、通常のＩＯ処理と同様にして、移動元のノード１０-1から送られたイーサネットフレームに包まれているＴＣＰ／ＩＰパケットからアクセス要求を抽出し、当該アクセス要求をノード１０-3のＩＯドライバ１２１-3に送ることで、要求されたアクセス処理を依頼する（ステップＳ６０）。するとＩＯドライバ１２１-3は、ノード１０-3（自ノード）のＬＰＭＴ１２２-3を参照することで、書き込み先の仮論理エクステントＴＬＥＩＰ＝１９２．１６８．１．１０１／２４が配置（格納）されている物理ボリューム２／物理エクステント１の物理ボリュームＩＤ（ＴＰＶＩＤ＝２）／物理エクステントＩＤ（ＴＰＥＩＤ＝１）を取得する（ステップＳ６１）。このステップＳ６１において、ＩＯドライバ１２１-3は、取得された物理ボリュームＩＤ（ＴＰＶＩＤ＝２）／物理エクステントＩＤ（ＴＰＥＩＤ＝１）で指定される、物理ボリューム２（ＴＰＶＩＤ＝２）内の物理エクステント１（ＴＰＥＩＤ＝１）にデータを書き込む。
【０１１８】
アクセス要求で指定されたデータ書き込み（アクセス処理）が完了すると、ＩＯドライバ１２１-3は処理完了をノード１０-3のＴＣＰ／ＩＰモジュール１１３-3に応答する（ステップＳ６２）。このステップＳ６２において、ＴＣＰ／ＩＰモジュール１１３-3は、処理完了をノード１０-3のイーサネットコントローラ１１４-3、並びに移動元のノード１０-1のイーサネットコントローラ１１４-1及びＴＣＰ／ＩＰモジュール１１３-1を介して、当該移動元のノード１０-1のＩＯドライバ１２１-1に応答する。これを受けて、ＩＯドライバ１２１-1から構成管理部３０に処理完了（コピー完了）が通知される。
【０１１９】
構成管理部３０は、ＩＯドライバ１２１-1からコピー完了通知を受け取ると、現在、移動対象論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４を含む論理ボリュームＬＶＩＤ＝１に対するホストからのアクセス要求を受け付けているターゲットインタフェイス、つまりノード１０-1のターゲットインタフェイス１１１-1を、論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４に対するアクセス要求の受け付けの一時待ち状態に設定する（ステップＳ６３）。この一時待ち状態の期間にホストから与えられる論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４に対するアクセス要求はターゲットインタフェイス１１１-1で受け付けられずに待たされる。
【０１２０】
次に構成管理部３０は、移動先のノード１０-3のＴＣＰ／ＩＰモジュール１１３-3により、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４とそのＭＡＣアドレスをＮＵＬＬとするＧ−ＡＲＰ要求をイーサネットコントローラ１１４-3を介してブロードキャストさせる（ステップＳ６４）。このノード１０-3のＴＣＰ／ＩＰモジュール１１３-3によるＧ−ＡＲＰ要求の送出により、既に仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４のエントリを含むＡＲＰテーブル１１７-iを持つ（図１のストレージクラスタ内の）全てのノード１０-iは、当該エントリを初期化する。
【０１２１】
次に構成管理部３０は、移動先のノード１０-3のＥＩＭＴ１１６-3から、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４とそのＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３との対が保持されているエントリを検索し、そのエントリ中のＩＰアドレス“１９２．１６８．１．１０１／２４”、つまり仮論理エクステントＩＰアドレス（１９２．１６８．１．１０１／２４）を、移動対象論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４で書き換える（ステップＳ６５）。このときのＥＩＭＴ１１６-1〜１１６-3の状態を図２０に示す。図２０において、ハッチングが施されている部分は、仮論理エクステントＩＰアドレス（１９２．１６８．１．１０１／２４）が移動対象論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４で書き換えられたエントリを示す。
【０１２２】
次に、構成管理部３０は、移動先のノード１０-3のＬＰＭＴ１２２-3から、物理ボリューム２（ＴＰＶＩＤ＝２）／物理エクステント１（ＴＰＥＩＤ＝１）に付与した仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４を検索して、当該仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４を移動対象論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４で置き換える（ステップＳ６６）。これにより、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４は、未使用として解放される。このときのＬＰＭＴ１２２-1〜１２２-3の状態を図２１に示す。図２１において、ハッチングが施されている部分は、仮論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１０１／２４が移動対象論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４で置き換えられた箇所を示す。
【０１２３】
次に構成管理部３０は、移動元のノード１０-1のＥＩＭＴ１１６-1から、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４とそのＭＡＣアドレスＬＥＭＡＣ＝ＭＡＣ１とを含むエントリを検索して、当該エントリを削除する（ステップＳ６７）。このときのＥＩＭＴ１１６-1〜１１６-3の状態を図２２に示す。図２２において、ハッチングが施されている部分は、削除されたエントリを示す。
【０１２４】
次に構成管理部３０は、移動元のノード１０-1のＬＰＭＴ１２２-1から、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４を含むエントリを検索し、当該論理エクステントＩＰアドレスＬＥＩＰをＮＵＬＬに設定することで、当該エントリを論理的に削除する（ステップＳ６８）。これにより、論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４が配置されていたノード１０-1内の物理ボリューム２（ＰＶＩＤ＝２）の物理エクステント２（ＰＥＩＤ＝２）が解放される。このときのＬＰＭＴ１２２-1〜１２２-3の状態を図２３に示す。図２３において、ハッチングが施されている部分は、論理エクステントＩＰアドレスＬＥＩＰがＮＵＬＬに設定された箇所を示す。
【０１２５】
次に構成管理部３０は、移動先のノード１０-3のＴＣＰ／ＩＰモジュール１１３-3により、論理エクステントＩＰアドレスＬＥＩＰ＝１９２．１６８．１．１４／２４とそのＭＡＣアドレスＴＬＥＭＡＣ＝ＭＡＣ３に関するＧ−ＡＲＰ要求をイーサネットコントローラ１１４-3を介してブロードキャストさせる（ステップＳ６９）。これにより、論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４の移動が完了したことが、ノード１０-3を除くストレージクラスタの全ノード、つまりノード１０-1，１０-2に通知され。この結果、ノード１０-1，１０-2のＡＲＰテーブル１１７-1，１１７-2の該当するエントリが初期化される。即ち、ノード１０-1，１０-2のＡＲＰテーブル１１７-1，１１７-2に既に論理エクステントＩＰアドレスＴＬＥＩＰ＝１９２．１６８．１．１４／２４を含むエントリが存在する場合、当該エントリ中のＭＡＣアドレスがＴＬＥＭＡＣ＝ＭＡＣ３に更新される。
【０１２６】
次に構成管理部３０は、移動が完了した論理エクステントＬＥＩＰ＝１９２．１６８．１．１４／２４に対するホストからのアクセス要求の受け付けの一時待ち状態にあるターゲットインタフェイス、つまりノード１０-1のターゲットインタフェイス１１１-1に対して、当該一時待ち状態を解除する（ステップＳ７０）。これにより一連の論理エクステント移動処理は終了する。
【０１２７】
［変形例］
次に、上記実施形態の変形例について説明する。  
上記実施形態では、ホストから要求されたアクセス先を示す論理ブロックアドレス（論理アドレス）ＬＢＡが属する論理ボリューム内の論理エクステントに割り当てられたＩＰアドレス（論理エクステントＩＰアドレス）ＬＥＩＰが、前記（１）式に従う演算によって求められる（特定される）。
【０１２８】
本変形例の特徴は、このような演算を行うことなく、論理ブロックアドレスＬＢＡが属する論理ボリューム内の論理エクステントに割り当てられた論理エクステントＩＰアドレスＬＥＩＰを求める点にある。そのため、本変形例では、図１に示すストレージクラスタ内の各ノード１０-i（ｉ＝１，２，３）に、図２４に示す構造の論理エクステント管理テーブル（ＬＥＭＴ：Logical Extent Management Table）１１８-iが設けられる。
【０１２９】
ＬＥＭＴ１１８-iの各エントリは、論理ボリュームを構成する論理エクステントの論理ブロックアドレスＬＢＡ（論理アドレス）の範囲（論理ブロックアドレス範囲：Logical Block Address Range）ＬＢＡＲＡＮＧＥと当該論理エクステントに割り当てられる論理エクステントＩＰアドレス（Logical Extent IP-Address）ＬＥＩＰの各項目を有する。ＩＯマネージャ１１２-iはＬＥＭＴ１１８-iから、アクセス要求で指定される論理ブロックアドレスＬＢＡを含む論理ブロックアドレス範囲ＬＢＡＲＡＮＧＥが設定されているエントリを検索することにより、当該論理ブロックアドレス範囲ＬＢＡＲＡＮＧＥと対をなす論理エクステントＩＰアドレスＬＥＩＰを取得（特定）する。ここで、ＬＶＭＴ１１５-iの各エントリに、論理エクステントサイズ（ＬＥＳＩＺＥ）に代えて、論理ボリュームを構成する論理エクステントの数を持たせると良い。
【０１３０】
本変形例によれば、上記実施形態と異なって、論理ボリュームを構成する複数の論理エクステントのサイズが一定でなくても（つまり論理エクステント毎にサイズが異なっていても）、また論理ボリュームを構成する複数の論理エクステントの配置順に、連続する論理エクステントＩＰアドレス（ホストアドレス）が割り当てられなくても、論理ブロックアドレスＬＢＡが属する論理ボリューム内の論理エクステントに割り当てられた論理エクステントＩＰアドレスＬＥＩＰを、ＬＥＭＴ１１８-iから速やかに取得することができる。但し、ＬＥＭＴ１１８-iのエントリ数は、論理ボリュームを構成する論理エクステントの数に比例する。
【０１３１】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【０１３２】
【図１】本発明の一実施形態に係るストレージクラスタの構成を示すブロック図。
【図２】図１に示される論理ボリューム管理テーブル（ＬＶＭＴ）のデータ構造例を示す図。
【図３】論理ボリュームＩＤ（ＬＶＩＤ）が１の論理ボリュームの例を示す図。
【図４】図３の論理ボリュームを管理するＬＶＭＴの例を示す図。
【図５】図１に示されるイーサネットインタフェイス管理テーブル（ＥＩＭＴ）のデータ構造例を示す図。
【図６】ノード毎のＥＩＭＴの具体例を説明する際の前提となる、図３の論理ボリュームを構成する各ノードと当該各ノードによって管理される当該論理ボリューム内の論理エクステントとの関係とを示す図。
【図７】図６の場合における各ノードのＥＩＭＴの具体例を示す図。
【図８】図１に示される論理エクステント−物理エクステントマッピングテーブル（ＬＰＭＴ）のデータ構造例を示す図。
【図９】ノード毎のＬＰＭＴの具体例を説明する際の前提となる、論理ボリュームを構成する複数の論理エクステントと当該論理エクステントが格納される物理ボリューム内の物理エクステントととの関係を示す図。
【図１０】図９の場合における各ノードのＬＰＭＴの具体例を示す図。
【図１１Ａ】ホストからのアクセス要求に対するアクセス処理の手順を示すフローチャート。
【図１１Ｂ】ホストからのアクセス要求に対するアクセス処理の手順を示すフローチャート。
【図１２】論理エクステントＩＰアドレスに対応するＭＡＣアドレスを解決するためのアドレス解決処理の手順を示すフローチャート。
【図１３】ＡＲＰ要求処理の手順を示すフローチャート。
【図１４】ＩＯドライバによるアクセス処理の手順を示すフローチャート。
【図１５】ホストから図１のストレージクラスタ内のあるノードにアクセス要求が与えられた場合の動作の流れを示す図。
【図１６Ａ】論理エクステント移動処理の手順を示すフローチャート。
【図１６Ｂ】論理エクステント移動処理の手順を示すフローチャート。
【図１６Ｃ】論理エクステント移動処理の手順を示すフローチャート。
【図１７】論理エクステント移動を説明するための図。
【図１８】図１６ＡステップＳ５２が実行された後の各ＬＰＭＴの状態例を示す図。
【図１９】図１６ＡステップＳ５３が実行された後の各ＥＩＭＴの状態例を示す図。
【図２０】図１６ＣステップＳ６５が実行された後の各ＥＩＭＴの状態例を示す図。
【図２１】図１６ＣステップＳ６６が実行された後の各ＬＰＭＴの状態例を示す図。
【図２２】図１６ＣステップＳ６７が実行された後の各ＥＩＭＴの状態例を示す図。
【図２３】図１６ＣステップＳ６８が実行された後の各ＬＰＭＴの状態例を示す図。
【図２４】上記実施形態の変形例で適用される論理エクステント管理テーブル（ＬＥＭＴ）のデータ構造例を示す図。
【符号の説明】
【０１３３】
１０-1〜１０-3…ノード（ストレージ装置）、１１-1〜１１-3…コントローラ部、１２-1〜１２-3…ストレージ部、３０…構成管理部、４０…ネットワーク、１１１-1〜１１１-3…ターゲットインタフェイス、１１２-1〜１１２-3…ＩＯマネージャ、１１３-1〜１１３-3…ＴＣＰ／ＩＰモジュール（アドレス解決プロトコルモジュール）、１１４-1〜１１４-3…イーサネットコントローラ、１１５-1〜１１５-3，１１５-i…論理ボリューム管理テーブル（ＬＶＭＴ)、１１６-1〜１１６-3，１１６-i…イーサネットインタフェイス管理テーブル（ＥＩＭＴ）、１１７-1〜１１７-3…アドレス解決プロトコル（ＡＲＰ）テーブル、１１８-i…論理エクステント管理テーブル（ＬＥＭＴ）、１２１-1〜１２１-3…ＩＯドライバ、１２２-1〜１２２-3，１２２-i…論理エクステント−物理エクステントマッピングテーブル（ＬＰＭＴ、ＩＰアドレステーブル）、１２３-1〜１２３-3…ディスク。
【図１】
2008097112.tif 000003
【図２】
2008097112.tif 000004
【図３】
2008097112.tif 000005
【図４】
2008097112.tif 000006
【図５】
2008097112.tif 000007
【図６】
2008097112.tif 000008
【図７】
2008097112.tif 000009
【図８】
2008097112.tif 000010
【図９】
2008097112.tif 000011
【図１０】
2008097112.tif 000012
【図１１Ａ】
2008097112.tif 000013
【図１１Ｂ】
2008097112.tif 000014
【図１２】
2008097112.tif 000015
【図１３】
2008097112.tif 000016
【図１４】
2008097112.tif 000017
【図１５】
2008097112.tif 000018
【図１６Ａ】
2008097112.tif 000019
【図１６Ｂ】
2008097112.tif 000020
【図１６Ｃ】
2008097112.tif 000021
【図１７】
2008097112.tif 000022
【図１８】
2008097112.tif 000023
【図１９】
2008097112.tif 000024
【図２０】
2008097112.tif 000025
【図２１】
2008097112.tif 000026
【図２２】
2008097112.tif 000027
【図２３】
2008097112.tif 000028
【図２４】
2008097112.tif 000029