(57)【特許請求の範囲】
【請求項１】
いずれのストレージ装置もアクセス要求を受け付けることが可能なストレージシステムを他のストレージ装置とともに構築するストレージ装置において、
データを所定の記憶単位毎に記憶する記憶部と、
前記ストレージシステムに対するアクセス要求を受け付け、該アクセス要求に対する所定の処理を行う制御装置と、
を備え、
前記制御装置は、
書込みアクセス要求を自制御装置が受け付けた場合に、データを所定の記憶単位毎に目的の記憶部とミラー先の記憶部にミラーリングして記憶するミラー制御を行う制御装置を、書込み先のアドレスに基づいて、前記ストレージシステムを構築する複数のストレージ装置の制御装置の中から特定し、
前記特定により自制御装置がミラー制御を行う制御装置であると特定された場合に、前記書込みアクセス要求に応じた前記ミラー制御を行う
ことを特徴とするストレージ装置。
【請求項２】
前記制御装置は、
前記特定により他の制御装置がミラー制御を行う制御装置であると特定された場合に、前記他の制御装置に前記書込みアクセス要求に応じた前記ミラー制御を指示することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記制御装置は、
前記他の制御装置に対して、該制御装置が担当する複数の記憶単位をまとめた仮想記憶領域へのデータの書込みを指示し、
前記他の制御装置に、前記仮想記憶領域への書込み指示に応じたミラー制御を実行させることを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記制御装置は、前記仮想記憶領域への書込み要求で指定されたアドレスに固定的に対応付けられた２つのミラーアドレスに基づいてデータの書込みを制御することを特徴とする請求項３に記載のストレージ装置。
【請求項５】
複数のストレージ装置により構築されるストレージシステムにおいて、
各ストレージ装置は、
データを所定の記憶単位毎に記憶する記憶部と、
前記ストレージシステムに対するアクセス要求に応答可能であり、前記アクセス要求に対する所定の処理を行う制御装置と、
を備え、
前記複数のストレージ装置の制御装置のうち、前記ストレージシステムに対する書込みアクセス要求を受け付けた制御装置は、
前記書込みアクセス要求に応じて、データを所定の記憶単位毎に目的の記憶部とミラー先の記憶部にミラーリングして記憶するミラー制御を行う制御装置を、書込み先のアドレスに基づいて、前記ストレージシステムを構築する複数のストレージ装置の制御装置の中から特定し、
前記特定により自制御装置がミラー制御を行う制御装置であると特定された場合に、前記書込みアクセス要求に応じた前記ミラー制御を行う
ことを特徴とするストレージシステム。
【請求項６】
いずれのストレージ装置もアクセス要求を受け付けることが可能なストレージシステムを他のストレージ装置とともに構築するストレージ装置が備える制御装置のコンピュータで実行されるストレージ制御プログラムにおいて、
前記ストレージシステムに対する書込みアクセス要求を自制御装置が受け付けた場合に、データを所定の記憶単位毎に目的の記憶部とミラー先の記憶部にミラーリングして記憶するミラー制御を行う制御装置を、書込み先のアドレスに基づいて、前記ストレージシステムを構築する複数のストレージ装置の制御装置の中から特定する処理と、
前記特定により自制御装置がミラー制御を行う制御装置であると特定された場合に、前記書込みアクセス要求に応じた前記ミラー制御を行う処理と、
を前記コンピュータに実行させることを特徴とするストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージシステム及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
近年、物理的なストレージシステムのボリューム構成や容量に縛られることなく、自由な容量及び構成を実現することのできる仮想化ストレージシステムの利用が進んでいる。仮想化ストレージシステムでは、ストレージシステムの管理単位として、仮想ボリュームが提供される。
【０００３】
仮想化ストレージシステムは、データを格納する記憶デバイスに障害が発生することを想定して仮想ボリュームを構成するＬＵＮ（Logical  Unit  Number）を多重化し、データのミラーリングを行っている。
【０００４】
データのミラーリングによって、障害が発生した記憶デバイスに対応付けられたＬＵＮ以外のＬＵＮを経由してＩ／Ｏを継続することで、仮想化ストレージシステムは、ストレージとしての可用性を向上させている。
【０００５】
なお、複数のボリューム・グループのうち、一部のボリューム・グループだけをミラーリングの対象として選択させることで、ユーザが特定のボリューム・グループだけにフェイル・バックオペレーションを指定することを可能とする従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３２８７８５号公報
【特許文献２】特表２００７−５３５７６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アクティブ−アクティブ方式の仮想化ストレージシステムにおいてミラーリングを行う場合、ミラー間でデータ不整合が発生する可能性があるという問題がある。ここで、アクティブ−アクティブ方式とは、仮想化ストレージシステムを使用する業務サーバからのアクセス要求を仮想化ストレージシステム内のどのストレージ装置も受け付けることができる方式である。これに対して、業務サーバからのアクセス要求をアクティブなストレージ装置だけが受け付ける方式はアクティブ−スタンバイ方式と呼ばれる。
【０００８】
アクティブ−アクティブ方式は、処理が複雑になるが、負荷を分散できる、障害からの復旧が迅速に行えるなどの長所があるため、アクティブ−アクティブ方式の仮想化ストレージシステムが増加する傾向にある。
【０００９】
図１０は、アクティブ−アクティブ方式でのミラーリングの問題を説明するための図である。図１０において、ノード＃１及びノード＃２で示される２台のノード９は、データのミラーリングを行うストレージ装置であり、ＶＤｉｓｋは仮想ボリュームを表す。
【００１０】
図１０に示すように、業務サーバ１０が、ノード＃１に対してデータＡのＶＤｉｓｋ  ａへの書込みを要求し（１）、ノード＃２に対してデータＢのＶＤｉｓｋ  ａへの書込みを要求する（２）。そして、ノード＃２がデータＢをノード＃１の記憶部の目的のディスク装置４１に書込み（３）、その後ノード＃１がデータＡをノード＃１のディスク装置４１に書込む（４）。
【００１１】
一方、ノード＃１がデータＡをノード＃２のディスク装置４１に書込み（５）、その後ノード＃２がデータＢをノード＃２の記憶部の目的のディスク装置４１に書込む（６）。すると、ＶＤｉｓｋ  ａへ書込まれたデータとして、ノード＃１のディスク装置４１にはデータＡが記憶される一方、ノード＃２のディスク装置４１にはデータＢが記憶される。
【００１２】
このように、アクティブ−アクティブ方式では、全てのボリュームに仮想化ストレージシステム内のどのノード９からもアクセスが可能であるために同一の仮想ボリュームの同時書き込み制御がノード９の異なる複数の制御部により行われることがある。書き込み要求を受けた制御部が書き込み制御およびミラー先へのミラーリング制御を行うため、この場合仮想ボリュームに割り当てられたディスク装置４１へのデータの書込み順の制御ができない。そのため、前述したように、ノードを跨いで配置されたミラー間で異なる順番でデータが書込まれる可能性があり、ミラー間でデータ不整合が発生する。
【００１３】
本発明は、１つの側面では、アクティブ−アクティブ方式の仮想化ストレージシステムにおいて、ミラーデータ間での不整合の発生を防ぐことを目的とする。
【課題を解決するための手段】
【００１４】
本願の開示するストレージ装置は、１つの態様において、いずれのストレージ装置もアクセス要求を受け付けることが可能なストレージシステムを他のストレージ装置とともに構築するストレージ装置である。本願の開示するストレージ装置は、データを所定の記憶単位毎に記憶する記憶部と、前記ストレージシステムに対するアクセス要求を受け付け、該アクセス要求に対する所定の処理を行う制御装置と、を備える。前記制御装置は、書込みアクセス要求を自制御装置が受け付けた場合に、データを所定の記憶単位毎に目的の記憶部とミラー先の記憶部にミラーリングして記憶するミラー制御を行う制御装置を、書込み先のアドレスに基づいて、前記ストレージシステムを構築する複数のストレージ装置の制御装置の中から特定する。また、前記制御装置は、前記特定により自制御装置がミラー制御を行う制御装置であると特定された場合に、前記書込みアクセス要求に応じた前記ミラー制御を行う。
【発明の効果】
【００１５】
１実施態様によれば、ミラーデータ間での不整合の発生を防ぐことができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、スケールアウト型仮想化ストレージシステムを説明するための図である。
【図２】図２は、実施例１に係る仮想化ストレージシステムによるミラーリング制御を説明するための図である。
【図３】図３は、実施例１に係る仮想化ストレージシステムの構成を示す図である。
【図４】図４は、実施例１に係る仮想化ストレージシステムによる書込み処理のフローを示す図である。
【図５】図５は、実施例１に係る仮想化ストレージシステムによる書込み処理のシーケンスを示す図である。
【図６】図６は、実施例２に係る仮想化ストレージシステムによるミラーリング制御を説明するための図である。
【図７】図７は、セグメントセットを説明するための図である。
【図８】図８は、実施例２に係るセグメント変換を説明するための図である。
【図９】図９は、ストレージ制御プログラムを実行する制御部のハードウェア構成を示す図である。
【図１０】図１０は、アクティブ−アクティブ方式でのミラーリングの問題を説明するための図である。
【発明を実施するための形態】
【００１７】
以下に、本願の開示するストレージ装置、ストレージシステム及びストレージ制御プログラムの実施例を図面に基づいて詳細に説明する。なお、これらの実施例は開示の技術を限定するものではない。
【実施例１】
【００１８】
まず、スケールアウト型仮想化ストレージシステムについて説明する。図１は、スケールアウト型仮想化ストレージシステムを説明するための図である。図１に示すように、スケールアウト型仮想化ストレージシステムとは、ノードの単位で記憶容量を拡大することができる仮想化ストレージシステムである。ここで、ノードは、筐体内に、制御部（制御ユ二ット）と、複数のディスク装置を備える記憶部（記憶ユニット）とを少なくとも備えたストレージ装置である。
【００１９】
図１では、基本ノード１００として、筐体内に２台の制御ユニット１０１、２台のスイッチ１０２、記憶ユニット１０３を備える。仮想化ストレージシステムは、基本ノード１００に、制御ユニット１０４と記憶ユニット１０５を含む拡張ノード１２０を順次追加してシステムを構築することで、性能および記憶容量の拡張(スケールアウト)を行うことができる。なお、ここでは、各ノードにおいて、記憶部は、１台の記憶ユニットを図示するが、任意の台数の記憶ユニットを備えてよい。
【００２０】
次に、実施例１に係る仮想化ストレージシステムにおけるミラーリング制御について説明する。図２は、実施例１に係る仮想化ストレージシステムによるミラーリング制御を説明するための図である。なお、実施例１に係る仮想化ストレージシステムは、アクティブ−アクティブ方式のスケールアウト型仮想化ストレージシステムであり、拡張ノードが付加され、スケールアウトに係る処理が完了した後の運用状態を示している。
【００２１】
また、アクティブ−アクティブ方式であるため、各ノードの制御部が直接書き込み要求を受け付けることができる。書き込み要求を受け付けたノードは、仮想ディスクの目的の仮想記憶領域に対応する物理記憶領域が管理下の記憶部のディスク装置に割り当てられているか否かを判断し、管理下であれば書き込み制御とミラー先へのミラーリング制御を行う。また、書き込み要求を受け付けたノードは、物理記憶領域が他ノードの管理下であれば、他のノードの制御部に書き込み制御とミラーリング制御を行うように指示する。つまり、書き込み制御とミラーリング制御を目的の物理記憶領域の管理を担当するノードの制御部が一括して行う。したがって、同一の仮想ボリュームへの同時書き込み制御を複数の制御部により行われることが防止できる。
【００２２】
図２において、ＶＤｉｓｋ  ａは、記憶ユニットのディスク装置のセグメント1〜セグメントmに対応付けられ、セグメント1〜セグメントnは、ノード＃１の制御部により管理され、セグメントn+1〜セグメントmは、ノード＃２の制御部により管理される。なお、セグメントは、ボリュームを分割した管理単位である。
【００２３】
そして、セグメント1〜セグメントnへのデータの書込み制御は、ミラー先へのミラーリングも含めてノード＃１の制御部により行われ、セグメントn+1〜セグメントmへのデータの書込み制御は、ミラー先へのミラーリングも含めてノード＃２により行われる。ここで、２ｎ≒ｍである。また、ここでは説明の便宜上２台のノード２のみを示すが、実施例１に係る仮想化ストレージシステムは、任意の台数のノード２を有する。
【００２４】
すなわち、実施例１に係る仮想化ストレージシステムでは、仮想ボリュームに対応付けられる複数のセグメントのそれぞれは、物理的な記憶先が割り当てられた記憶部が属する、いずれか１つのノード２の制御部により管理される。また、仮想ボリュームに対応付けられる複数のセグメントは、ノード２間でできるだけ均等に分散配置(ワイドストライピング)されるように管理される。そして、各セグメントへのデータの書込み制御は、ミラー先へのミラーリングも含めて各セグメントを管理するノードの制御部により制御される。
【００２５】
例えば、ホスト装置である業務サーバ１０が、ノード＃１に対してデータＡのＶＤｉｓｋ  ａへの書込みを要求し（１）、ノード＃２に対してデータＢのＶＤｉｓｋ  ａへの書込みを要求する（２）。ここで、データＡ及びデータＢはセグメント2に書込まれるものとする。
【００２６】
ノード＃１は、セグメント2が自ノードの管理下の物理記憶領域に割り当てられているかを管理情報を基に判断する。セグメント2が自ノードの管理下の物理記憶領域に割り当てられているので、ノード＃１は自装置内でセグメント2へのデータＡの書込みを制御する（３）とともにミラーリングも制御する。すなわち、ノード＃１は、データＡをディスク装置に書込む（５）とともに、ミラー先であるノード＃２にデータＡの書込みを指示する（６）。
【００２７】
また、データＢのＶＤｉｓｋ  ａへの書込みを要求されたノード＃２は、セグメント2が自ノードの管理下の物理記憶領域に割り当てられているかを管理情報を基に判断する。セグメント2がノード＃１の管理下の物理記憶領域に割り当てられているので、ノード＃１へデータＢのセグメント2への書込みを依頼する（４）。そして、ノード＃１は、データＢをディスク装置に書込む（５）とともに、ミラー先へのノード＃２にデータＢの書込みを指示する（６）。
【００２８】
このように、実施例１に係る仮想化ストレージシステムは、各セグメントへのデータの書込みを、ミラー先へのミラーリングも含めて各セグメントを担当するノードが制御する。これにより、特に、書き込み要求を受けた制御部が異なる場合のミラーリング制御におけるミラーデータ間での不整合の発生を防ぐことができる。
【００２９】
次に、実施例１に係る仮想化ストレージシステムの構成について説明する。図３は、実施例１に係る仮想化ストレージシステムの構成を示す図である。図３に示すように、仮想化ストレージシステム１は、スケールアウト型仮想化ストレージシステムであり、任意の台数のノード２を有する。
【００３０】
ノード２は、ノード２の制御、他のノード２との通信などを行う制御部３と、業務サーバ１０が使用するデータを複数のディスク装置４１に記憶する記憶部４とを有する。制御部３は、マネージャ３０と、ターゲット制御部３１と、仮想化制御部３２と、ミラー制御部３３とを有する。
【００３１】
マネージャ３０は、全てのノード２を管理し、仮想化ストレージシステム１を１つのシステムとして動作させる。マネージャ３０は、１つのノード２だけに存在する。ボリュームの作成や構成情報の更新などは、マネージャ３０を有するノード２によって行われる。
【００３２】
ターゲット制御部３１は、業務サーバ１０に対して標準ボリューム、シンプロビジョニングボリューム、ミラーボリュームなどの仮想ボリュームを公開し、業務サーバ１０から当該ボリュームへのアクセスを受け付ける。ここで、シンプロビジョニングボリュームとは、実際にデータが書き込まれる際に物理ボリュームの割り当てが行われるボリュームであり、ミラーボリュームは、ミラーデータを格納するボリュームである。
【００３３】
仮想化制御部３２は、ターゲット制御部３１から仮想ボリュームへのアクセスを受け取り、仮想ボリュームへのアクセスを物理ボリュームへのアクセスに変換することによって仮想化を制御する。
【００３４】
具体的には、仮想化制御部３２は、仮想ボリュームでアクセスされるアドレスを物理ボリュームでアクセスされるセグメントのアドレスに変換し、アクセスされるセグメントを担当するノード２を特定する。そして、仮想化制御部３２は、特定したノード２にセグメントへのアクセスを指示する。
【００３５】
ミラー制御部３３は、担当するセグメントに対するアクセスを制御するとともに、ミラー関係にあるセグメントへのアクセスを制御する。ミラー制御部３３は、担当するセグメントに対するライトアクセスの場合、担当するセグメントとともにミラー関係にあるセグメントへのデータの書込みを制御する。
【００３６】
このように、仮想化制御部３２が、アクセスされるセグメントを担当するノード２を特定し、特定したノード２にセグメントへのアクセスを指示する。そして、セグメントへのアクセスを指示されたノード２のミラー制御部３３が、ライトアクセスにおいて、担当するセグメントとともにミラー関係にあるセグメントへのデータの書込みを制御する。したがって、仮想化ストレージシステム１は、複数のノード２へのライトアクセスの順序を制御することができ、ミラーデータ間の不整合の発生を防ぐことができる。
【００３７】
次に、実施例１に係る仮想化ストレージシステム１による書込み処理のフローについて説明する。図４は、実施例１に係る仮想化ストレージシステム１による書込み処理のフローを示す図である。
【００３８】
図４に示すように、業務サーバ１０で動作する業務アプリケーションがノード＃１に対して書込み要求を発行する（ステップＳ１）。すると、ノード＃１のターゲット制御部３１が書込み要求を受信し（ステップＳ２）、仮想化制御部３２に書込み要求を渡す。
【００３９】
そして、仮想化制御部３２は、仮想ボリュームでの書込み先のアドレスを物理アドレスへ変換し（ステップＳ３）、変換した物理アドレスに対応するミラー制御部３３の場所すなわちノードを特定する。ここで、物理アドレスとは、データの書込み先のセグメントのアドレスである。
【００４０】
そして、仮想化制御部３２は、対応するミラー制御部３３の場所を判定し（ステップＳ４）、自ノードの場合には、自ノードのミラー制御部３３に書込みを指示し、他ノードである場合には、他ノードのミラー制御部３３に書込みを指示する。ここでは、特定したノードが自ノードである場合について説明する。
【００４１】
書込み指示を受けたミラー制御部３３は、コピー先のセグメントを特定し（ステップＳ５）、特定したセグメント及び自ノードのセグメントをそれぞれ含むディスク装置４１へ２重化された書込みを行う（ステップＳ６）。なお、ここでは、特定したコピー先セグメントがノード２のディスク装置４１に含まれるとする。
【００４２】
そして、ノード＃１及びノード＃２のディスク装置４１が書込みを行う（ステップＳ７〜ステップＳ８）。そして、ノード＃１のミラー制御部３３は、両方のディスク装置４１への書込みの確認を行い（ステップＳ９）、業務サーバ１０へ応答する。
【００４３】
このように、仮想化制御部３２が、変換した物理アドレスを担当するミラー制御部３３の場所を特定し、仮想化制御部３２により特定されたノードのミラー制御部３３がミラーリングも含めて書込みを制御する。したがって、仮想化ストレージシステム１は、ミラーデータ間の不整合の発生を防ぐことができる。
【００４４】
次に、実施例１に係る仮想化ストレージシステム１による書込み処理のシーケンスについて説明する。図５は、実施例１に係る仮想化ストレージシステム１による書込み処理のシーケンスを示す図である。
【００４５】
図５に示すように、業務サーバ１０がＶＤｉｓｋに対してＡ及びＢの書込みを異なるパスから同時に行う（ステップＳ１１）。具体的には、業務サーバ１０は、ノード＃１に対してＡの書込み要求を発行し、ノード＃２に対してＢの書込み要求を発行する。なお、図５において、ＰＡＲは、四角で囲まれた２つの処理が並行して行われることを示す。
【００４６】
すると、ノード＃１のターゲット制御部３１がＡの書込み要求を受信して物理アドレスへの変換を仮想化制御部３２に要求する（ステップＳ１２）。ノード＃１の仮想化制御部３２は、セグメントｉの物理アドレスと管理情報を基に、セグメントｉの担当はノード＃１の制御部３であると判定する。また、並行して、ノード＃２のターゲット制御部３１がＢの書込み要求を受信して物理アドレスへの変換を仮想化制御部３２に要求する（ステップＳ１３）。ノード＃２の仮想化制御部３２は、セグメントｉの物理アドレスと管理情報を基に、セグメントｉの担当はノード＃１の制御部３であると判定する。
【００４７】
これにより、ミラー制御を行うミラー制御部を、ストレージシステムを構成する複数の制御部の中から決定する。なお、管理情報には、ストレージシステムの構成情報などの制御情報を含んでおり、管理情報を参照することで、物理アドレスが属する記憶部や、該記憶部が属する担当ノードおよび制御部の特定を可能にしている。また、管理情報は、各制御部が参照可能に自ノードの制御部のメモリもしくは基本ノードのメモリに格納されている。
【００４８】
そして、ノード＃１の仮想化制御部３２がセグメントｉへのライト及びミラーリングをノード＃１のミラー制御部３３へ要求する（ステップＳ１４）。また、並行して、ノード＃２の仮想化制御部３２もセグメントｉへのライト及びミラーリングをノード＃１のミラー制御部３３へ要求する（ステップＳ１５）。
【００４９】
そして、ノード＃１のミラー制御部３３は、Ａをセグメントｉへライトする（ステップＳ１６）とともに、Ａをセグメントｉのミラーセグメントへライトする（ステップＳ１７）。その後、ノード＃１のミラー制御部３３は、Ｂをセグメントｉへライトする（ステップＳ１８）とともに、Ｂをセグメントｉのミラーセグメントへライトする（ステップＳ１９）。
【００５０】
このように、ノード＃１のミラー制御部３３がミラーリングを含めてセグメントｉへのデータの書込みを制御することによって、ミラーデータ間の不整合の発生を防ぐことができる。
【００５１】
上述してきたように、実施例１では、仮想化制御部３２が、アクセスされるセグメントを担当するノード２を特定し、特定したノード２にセグメントへのアクセスを指示する。そして、セグメントへのアクセスを指示されたノード２のミラー制御部３３が、ライトアクセスにおいて、担当するセグメントとともにミラー関係にあるセグメントへのデータの書込みを制御する。したがって、仮想化ストレージシステム１は、複数のノード２へのライトアクセスの順序を制御することができ、ミラーデータ間の不整合の発生を防ぐことができる。
【００５２】
なお、仮想化ストレージシステム１はストライピングを行っているため、アクセス要求領域のサイズがストリップサイズを超える場合には、仮想化制御部３２は、アクセス要求領域を分割して複数のノード２のミラー制御部３３に送る。したがって、複数のノード２がアクセス要求を並列処理することができ、仮想化ストレージシステム１はアクセス要求領域を分割しない場合と比較してアクセス要求を高速に処理することができる。
【実施例２】
【００５３】
実施例１の方法は、アクティブ−アクティブ方式の仮想化ストレージシステムでも不整合を起こすことなくミラーリングを可能とする。しかし、実施例１の方法では、仮想化制御部３２は、仮想ボリュームのセグメント変換を実施した後、セグメント毎にミラー制御部３３にｉＳＣＳＩ（Internet  Small  Computer  System  Interface）でデータを送る。
【００５４】
したがって、ミラー制御部３３は、セグメント毎にｉＳＣＳＩセッションを作成しなければならない。そのため、実施例１の方法では、大量のｉＳＣＳＩセッションにより仮想化ストレージシステム１が高負荷状態になる恐れがある。
【００５５】
この問題を防ぐために、実施例２では、ノード毎にセグメントを集約するミラー制御ＬＵＮを用意し、その仮想的なＬＵＮターゲットに対してｉＳＣＳＩセッションを張る方式について説明する。
【００５６】
まず、実施例２に係る仮想化ストレージシステムによるミラーリング制御について説明する。図６は、実施例２に係る仮想化ストレージシステムによるミラーリング制御を説明するための図である。
【００５７】
図２と比較して、ノードは、ミラー制御ＬＵＮ３６を有する。ミラー制御ＬＵＮ３６は、各ノードが担当するセグメントの集合として管理するための仮想記憶領域である。各ノードは、データを書込むセグメント毎にｉＳＣＳＩセッションを作成するのではなく、ミラー制御ＬＵＮ３６に対してｉＳＣＳＩセッションを作成する。
【００５８】
このように、ミラー制御ＬＵＮ３６に対してｉＳＣＳＩセッションを作成することにより、各ノード間に１つのｉＳＣＳＩセッションを作成するだけでデータのやり取りが可能になる。
【００５９】
また、この方式では、ミラーボリューム作成時にミラー制御ＬＵＮとセグメントの対応を決定するのではなく、設計段階でミラー制御ＬＵＮとセグメントの対応を一意に決めておく。したがって、実施例２に係る仮想化ストレージシステムは、ミラー制御ＬＵＮとセグメントの対応情報の伝達や更新を不要とすることができる。
【００６０】
次に、実施例２に係るセグメント変換について説明する。実施例２に係る仮想化ストレージシステムは、図７に示すように、仮想ボリュームを複数のセグメントセットの集合体として管理する。ここで、セグメントセットは、８つのセグメントの集合体である。
【００６１】
各セグメントは、ストライピングにより異なるＬＵＮのディスク装置に割り当てられる。図７では、セグメント＃１は、ＬＵＮ＃ｉのディスク装置に割り当てられ、セグメント＃２は、ＬＵＮ＃ｊのディスク装置に割り当てられ、セグメント＃８は、ＬＵＮ＃ｐのディスク装置に割り当てられる。
【００６２】
図８は、実施例２に係るセグメント変換を説明するための図である。図８に示すように、ＶＤｉｓｋへのアクセスでは、ＶＤｉｓｋに関するＩＯオフセットとＩＯサイズが指定される。仮想化制御部３２は、ＶＤｉｓｋに関するＩＯオフセットをセグメントに関するオフセットに変換し、セグメントに関するオフセットからミラー制御ＬＵＮ３６のあるノードを特定する。
【００６３】
また、仮想化制御部３２は、特定したノードからセグメントセットのインデックスを特定し、セグメントに関するオフセットをセグメントセットのインデックスとセグメントセット内ＩＯオフセットであるｏｆｆｓｅｔに分割する。
【００６４】
そして、ミラー制御部３３が、セグメントセットのインデックスを用いてセグメントグループ構成情報３７を参照し、セグメントセットに対応するミラーアドレスペアｘｘｘ及びｙｙｙを取得する。そして、ミラー制御部３３は、ｘｘｘ、ｏｆｆｓｅｔ及びＩＯサイズの組み合わせとｙｙｙ、ｏｆｆｓｅｔ及びＩＯサイズの組み合わせを用いてミラーリングを行う。図８では、ミラーリングされる２つのセグメントはＳ1で示されている。
【００６５】
なお、セグメントグループ構成情報３７は、ミラーＶＤｉｓｋ作成時にセグメントセットとミラーペアを対応付けた情報が作成される。したがって、セグメントグループ構成情報３７は、固定的な情報であり、更新が不要な情報である。
【００６６】
また、いずれかのノード２がダウンした場合には、マネージャ３０は、業務サーバ１０からアクセスされているノード２にダウンしたノード２の情報を通知し、各ノード２は、ダウンしたノード２をアクセス要求の転送先から外す。そして、マネージャ３０は、ＬＵＮの担当ノード２を切り替え、アクセス要求の転送先を別のノード２変更する。
【００６７】
また、ノードダウン後のリカバリ中などでは、セグメントグループ構成情報３７が未登録のタイミングが生じる可能性がある。そこで、セグメントグループ構成情報３７の登録が完了していない領域へのアクセスが発生した場合は、要求を受け付けたノード２がマネージャ３０にセグメントグループ構成情報３７の通知を依頼する。
【００６８】
上述してきたように、実施例２では、仮想化ストレージシステムは、各ノードが担当するセグメントの集合であるミラー制御ＬＵＮ３６に対してｉＳＣＳＩセッションを作成する。したがって、大量のｉＳＣＳＩセッションにより仮想化ストレージシステムが高負荷状態になることを防ぐことができる。
【００６９】
また、実施例２では、ミラー制御部３３が、セグメントセットのインデックスを用いてセグメントグループ構成情報３７を参照し、セグメントセットに対応するミラーアドレスペアを取得する。ここで、セグメントグループ構成情報３７は、システム構築段階で決まる固定的な情報である。したがって、実施例２に係る仮想化ストレージシステムは、セグメントグループ構成情報３７の更新を不要とすることができる。
【００７０】
なお、実施例１及び２は、制御部３の制御機能について説明したが、制御部３の制御機能をソフトウェアによって実現することで、同様の機能を有するストレージ制御プログラムを得ることができる。そこで、ストレージ制御プログラムを実行する制御部３のハードウェア構成について説明する。
【００７１】
図９は、ストレージ制御プログラムを実行する制御部３のハードウェア構成を示す図である。図９に示すように、制御部３は、ホストインタフェース５１、インタコネクトインタフェース５２、ＳＡＳ（Serial-Attached  SCSI）５３、ＲＡＭ（Random  Access  Memory）５４、ＣＰＵ（Central  Processing  Unit）５５及び不揮発性記憶部５６を有する。
【００７２】
ホストインタフェース５１は、業務サーバ１０とのインタフェースであり、業務サーバ１０から仮想化ストレージシステムへのアクセス要求を受け付け、アクセス処理の結果を業務サーバ１０へ応答する。
【００７３】
インタコネクトインタフェース５２は、他のノード２の制御部３とのインタフェースであり、他のノード２のインタコネクトインタフェース５２との間でデータやコマンドの送受信を行う。ＳＡＳ５３は、ディスク装置４１とのインタフェースであり、ディスク装置４１との間でデータやコマンドの送受信を行う。
【００７４】
ＲＡＭ５４は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ５５は、ＲＡＭ５４からプログラムを読み出して実行する中央処理装置である。不揮発性記憶部５６は、プログラムを記憶する不揮発性の記憶部であり、例えば、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリなどである。そして、ストレージ制御プログラムは、不揮発性記憶部５６に記憶され、ＲＡＭ５４に読み出されてＣＰＵ５５によって実行される。
【００７５】
また、実施例１及び２では、スケールアウト型仮想化ストレージシステムについて説明したが、本発明はこれに限定されるものではなく、スケールアウト型でない仮想化ストレージシステムにも同様に適用することができる。
【００７６】
また、実施例１及び２では、セグメントを記憶デバイスの記憶単位とする場合について説明したが、本発明はこれに限定されるものではなく、他の単位領域を記憶デバイスの記憶単位とする場合にも同様に適用することができる。
【００７７】
また、実施例１及び２では、ディスク装置４１を記憶デバイスとして用いる場合について説明した。しかしながら、本発明はこれに限定されるものではなく、例えばＳＳＤ（Solid  State  Drive）などを記憶デバイスとして用いる場合にも同様に適用することができる。
【符号の説明】
【００７８】
１    仮想化ストレージシステム
２，９    ノード
３    制御部
４    記憶部
１０    業務サーバ
３０    マネージャ
３１    ターゲット制御部
３２    仮想化制御部
３３    ミラー制御部
３６    ミラー制御ＬＵＮ
３７    セグメントグループ構成情報
４１    ディスク装置
５１    ホストインタフェース
５２    インタコネクトインタフェース
５３    ＳＡＳ
５４    ＲＡＭ
５５    ＣＰＵ
５６    不揮発性記憶部
１００    基本ノード
１０１，１０４    制御ユニット
１０２    スイッチ
１０３，１０５    記憶ユニット
１２０    拡張ノード
【図１】
0006398417.tif 000002
【図２】
0006398417.tif 000003
【図３】
0006398417.tif 000004
【図４】
0006398417.tif 000005
【図５】
0006398417.tif 000006
【図６】
0006398417.tif 000007
【図７】
0006398417.tif 000008
【図８】
0006398417.tif 000009
【図９】
0006398417.tif 000010
【図１０】
0006398417.tif 000011