(57)【要約】      （修正有）【課題】設定作業を容易化でき、設定作業に対する負荷を軽減させて使い勝手を向上させ得るストレージ装置及びその制御方法を提供する。【解決手段】ホスト装置からのＩ／Ｏ要求を処理するストレージ制御部をストレージ装置に設け、ストレージ制御部が、サポート対象の各ＯＳ種別にそれぞれ対応させてホストグループを作成すると共に、各ホストグループに対して対応するＯＳ種別に応じた機能を設定し、ボリュームの作成指示に応じて、ストレージ装置上に第１のボリュームを作成すると共に記憶装置から物理的な記憶領域が動的に割り当てられる第２のボリュームを作成し、第１のボリュームから第２のボリュームまでのボリュームパスの作成指示に応じて、第１及び第２のボリューム間に介在し当該第１のボリュームが提供されるホスト装置のＯＳ種別に応じたホストグループに割り当てられた第３のボリュームを経由するボリュームパスを作成するようにした。【選択図】図１２
2020021254.tif 000002
【特許請求の範囲】
【請求項１】
複数のＯＳ種別のホスト装置が共存する環境下で使用されるストレージ装置において、
前記ホスト装置からのＩ／Ｏ要求を処理するストレージ制御部と、
前記ホスト装置からのデータを読書きするための物理的な記憶領域を提供する記憶装置とを備え、
前記ストレージ制御部が、サポート対象の各前記ＯＳ種別にそれぞれ対応させてホストグループを作成すると共に、各前記ホストグループに対して対応する前記ＯＳ種別の前記ホスト装置からの前記Ｉ／Ｏ要求を処理する際に必要な機能を設定し、
ボリュームの作成指示に応じて、前記ストレージ装置上に第１のボリュームを作成すると共に前記記憶装置から前記物理的な記憶領域が動的に割り当てられる第２のボリュームを作成し、
第１のボリュームから前記第２のボリュームまでのボリュームパスの作成指示に応じて、前記第１のボリューム及び前記第２のボリューム間に介在し当該第１のボリュームが提供される前記ホスト装置の前記ＯＳ種別に応じた前記ホストグループに割り当てられた第３のボリュームを経由する前記ボリュームパスを作成し、
前記ストレージ装置が前記ホスト装置に第３のボリュームを提供することにより、前記Ｉ／Ｏ要求が与えられた場合に、当該ボリュームパス内の前記第３のボリュームが割り当てられた前記ホストグループに設定された前記機能を利用しながら、前記第３のボリュームを経由して前記第２のボリューム及び前記第１のボリュームへのＩ／Ｏ処理を実施する
ことを特徴とするストレージ装置。
【請求項２】
複数の前記ストレージ装置によりクラスタが構成され、
前記クラスタを構成する複数の前記ストレージ装置の中から１つの前記ストレージ装置が選択されて、選択された前記ストレージ装置内に前記第２のボリュームが作成される
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
複数のＯＳ種別のホスト装置が共存する環境下で使用されるストレージ装置の制御方法において、
前記ストレージ装置は、
前記ホスト装置からのＩ／Ｏ要求を処理するストレージ制御部と、
前記ホスト装置からのデータを読書きするための物理的な記憶領域を提供する記憶装置とを有し、
前記ストレージ制御部が、サポート対象の各前記ＯＳ種別にそれぞれ対応させてホストグループを作成すると共に、各前記ホストグループに対して対応する前記ＯＳ種別の前記ホスト装置からの前記Ｉ／Ｏ要求を処理する際に必要な機能を設定する第１のステップと、
前記ストレージ制御部が、ボリュームの作成指示に応じて、前記記憶装置から前記物理的な記憶領域が動的に割り当てられる第２のボリュームを作成する第２のステップと、
前記ストレージ制御部が、前記第１のボリュームから前記第２のボリュームまでのボリュームパスの作成指示に応じて、前記第１のボリューム及び前記第２のボリューム間に介在し、当該第１のボリュームが提供される前記ホスト装置の前記ＯＳ種別に応じた前記ホストグループに割り当てられた第３のボリュームを経由する前記ボリュームパスを作成する第３のステップと、
前記ストレージ制御部が、前記ホスト装置から対応する前記第３のボリュームを対象とする前記Ｉ／Ｏ要求が与えられた場合に、当該第３のボリュームと前記ボリュームパスを介して接続された前記第２のボリューム及び前記第１のボリュームに対するＩ／Ｏ処理を、当該ボリュームパス内の前記第３のボリュームが割り当てられた前記ホストグループに設定された前記機能を利用しながら実行する第４のステップと
を備えることを特徴とするストレージ装置の制御方法。
【請求項４】
複数の前記ストレージ装置によりクラスタが構成され、
前記クラスタを構成する複数の前記ストレージ装置の中から１つの前記ストレージ装置が選択されて、選択された前記ストレージ装置内に前記第２のボリュームが作成される
ことを特徴とする請求項３に記載のストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージ装置及びその制御方法に関し、例えば、複数のＯＳ（Operation System）種別のホスト装置が共存する環境下で使用されるストレージ装置に適用して好適なものである。
【背景技術】
【０００２】
近年、複数のストレージノード（ストレージ装置）によりクラスタを構成し、これらのストレージノードをＳＤＳ（Software Defined Storage）技術により仮想化してクラスタ全体を１つのストレージ装置としてホスト装置に提供する方法が提案されている。ここで、ＳＤＳとは、ストレージ装置におけるコントローラとしての機能を有するソフトウェアを汎用のサーバ装置に実装することにより構築される仮想的なストレージ装置を指す。
【０００３】
このようなクラスタ構成のストレージシステムを、Ｌｉｎｕｘ（登録商標）、ＶＭｗａｒｅ（登録商標）及びＷｉｎｄｏｗｓ（登録商標）などの複数のＯＳ種別のホストノードが共存する環境で運用する場合、各ストレージノードが各ホスト装置からの要求動作を正常に実行できるようにするため、ホスト装置に搭載されたＯＳの種別（以下、これをホスト装置のＯＳ種別と呼ぶ）に応じてストレージノードの内部動作を切り替えることが必要となる。
【０００４】
なお、このような技術に関連して、下記特許文献１には、ホスト装置に対して割り当てられた論理ボリュームに書き込まれるデータのＯＳ種別を判定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−４０８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ホスト装置のＯＳ種別ごとにストレージシステムの内部動作を切り替えるための手法として、ＯＳ種別ごとにホスト装置をグループ化すると共に、これらのグループ（以下、これをホストグループと呼ぶ）に対してそれぞれ別個のボリュームを割り当て、ボリュームごとに、対応するＯＳ種別に応じた動作を行うように必要な機能を設定する方法がある。
【０００７】
この場合、一般的なＳＤＳ製品に上述のような方法を適用するに際しては、ＯＳ種別ごとのホストグループの作成、各ホストグループに対するボリュームの紐付け、及び、各ホスト装置（又はイニシエータ）のホストグループへの紐付けなどの構成情報の設定を行う必要があるが、従来、このような構成情報の設定はシステム管理者が手作業で行っていた。
【０００８】
このためストレージシステムが大規模になるほどかかる設定作業が煩雑化したり、SDS製品ではストレージシステムを構成するストレージノードの数や、ホスト装置の数を動的に増設（スケールアウト）することが多く構成設定作業が増加する問題があった。
【０００９】
本発明は以上の点を考慮してなされたもので、設定作業を容易化でき、設定作業に対する負荷を軽減させて使い勝手を向上させ得るストレージ装置及びその制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、複数のＯＳ種別のホスト装置が共存する環境下で使用されるストレージ装置において、前記ホスト装置からのＩ／Ｏ要求を処理するストレージ制御部と、前記ホスト装置からのデータを読書きするための物理的な記憶領域を提供する記憶装置とを設け、前記ストレージ制御部が、サポート対象の各前記ＯＳ種別にそれぞれ対応させてホストグループを作成すると共に、各前記ホストグループに対して対応する前記ＯＳ種別の前記ホスト装置からの前記Ｉ／Ｏ要求を処理する際に必要な機能を設定し、ボリュームの作成指示に応じて、ストレージ装置上に第１のボリュームを作成すると共に前記記憶装置から前記物理的な記憶領域が動的に割り当てられる第２のボリュームを作成し、前記第１のボリュームから前記第２のボリュームまでのボリュームパスの作成指示に応じて、前記第１のボリューム及び前記第２のボリューム間に介在し、当該第１のボリュームが提供される前記ホスト装置の前記ＯＳ種別に応じた前記ホストグループに割り当てられた第３のボリュームを経由する前記ボリュームパスを作成し、前記ストレージ装置が前記ホスト装置に第３のボリュームを提供することにより、前記Ｉ／Ｏ要求が与えられた場合に、当該ボリュームパス内の前記第３のボリュームが割り当てられた前記ホストグループに設定された前記機能を利用しながら、前記第３のボリュームを経由して前記第２のボリューム及び前記第１のボリュームへのＩ／Ｏ処理を実施するようにした。
【００１１】
また本発明においては、複数のＯＳ種別のホスト装置が共存する環境下で使用されるストレージ装置の制御方法において、前記ストレージ装置は、前記ホスト装置からのＩ／Ｏ要求を処理するストレージ制御部と、前記ホスト装置からのデータを読書きするための物理的な記憶領域を提供する記憶装置とを有し、前記ストレージ制御部が、サポート対象の各前記ＯＳ種別にそれぞれ対応させてホストグループを作成すると共に、各前記ホストグループに対して対応する前記ＯＳ種別の前記ホスト装置からの前記Ｉ／Ｏ要求を処理する際に必要な機能を設定する第１のステップと、前記ストレージ制御部が、ボリュームの作成指示に応じて、前記記憶装置から前記物理的な記憶領域が動的に割り当てられる第２のボリュームを作成する第２のステップと、前記ストレージ制御部が、前記第１のボリュームから前記第２のボリュームまでのボリュームパスの作成指示に応じて、前記第１のボリューム及び前記第２のボリューム間に介在し、当該第１のボリュームが提供される前記ホスト装置の前記ＯＳ種別に応じた前記ホストグループに割り当てられた第３のボリュームを経由する前記ボリュームパスを作成する第３のステップと、前記ストレージ制御部が、前記ホスト装置から対応する前記第３のボリュームを対象とする前記Ｉ／Ｏ要求が与えられた場合に、当該第３のボリュームと前記ボリュームパスを介して接続された前記第２のボリューム及び第１のボリュームに対するＩ／Ｏ処理を、当該ボリュームパス内の前記第３のボリュームが割り当てられた前記ホストグループに設定された前記機能を利用しながら実行する第４のステップとを設けるようにした。
【００１２】
本発明のストレージ装置及びその制御方法よれば、ホスト装置をストレージ装置に登録する際に、そのホスト装置に対応付けるボリューム及びそのホスト装置のＯＳ種別だけを設定すれば良く、ＯＳ種別ごとのホストグループの作成や、各ホストグループに対するボリュームの紐付け、及び、ホスト装置のホストグループへの紐付けなどの従来必要とされていた構成情報の設定作業を省略することができる。
【発明の効果】
【００１３】
本発明によれば、新たなストレージ装置やホスト装置の導入時における設定作業を容易化させることができ、かかる設定作業に対するシステム管理者の負荷を軽減させて使い勝手を向上させ得るストレージ装置及びその制御方法を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態による情報処理システムの全体構成を示すブロック図である。
【図２】ストレージノードのハードウェア構成を示すブロック図である。
【図３】ストレージノードの論理構成を示すブロック図である。
【図４】ストレージノードにおけるボリュームパスの構成例を示すブロック図である。
【図５】ＤＢ側コンピュートノード管理テーブルの構成例を示す図表である。
【図６】ＤＢ側ボリュームパス管理テーブルの構成例を示す図表である。
【図７】モードパラメータテーブルの構成例を示す図表である。
【図８】ＯＳ種別テーブルの構成例を示す図表である。
【図９】コンピュートノード管理テーブルの構成例を示す図表である。
【図１０】ボリュームパス管理テーブルの構成例を示す図表である。
【図１１】ＨＧ−ＩＶＯＬ管理テーブルの構成例を示す図表である。
【図１２】ボリュームパス自動設定機能に関する一連の処理の流れを示すフローチャートである。
【図１３】ボリュームパス自動設定機能に関する一連の処理の流れの説明に供する概念図である。
【図１４】ボリュームパス自動設定機能に関する一連の処理の流れの説明に供する概念図である。
【図１５】ボリュームパス自動設定機能に関する一連の処理の流れの説明に供する概念図である。
【図１６】ボリュームパス作成処理の流れを示すフローチャートである。
【図１７】初期設定処理の流れを示すシーケンス図である。
【図１８】コンピュートノード登録処理の流れを示すシーケンス図である。
【図１９】ボリューム作成処理の流れを示すシーケンス図である。
【図２０】ボリュームパス作成処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）本実施の形態による情報処理システムの構成
図１において、１は全体として本実施の形態による情報処理システムを示す。この情報処理システム１は、複数のコンピュートノード２、複数のストレージノード３及び管理用端末４を備えて構成される。
【００１７】
コンピュートノード２及びストレージノード３間は、例えばファイバーチャネル（ＦＣ：Fibre Channel）、イーサネット（登録商標）、InfiniBand又は無線ＬＡＮ（Local Area Network）などから構成されるストレージサービスネットワーク５を介して接続され、管理用端末４及び各ストレージノード３間は、例えばＬＡＮ又は無線ＬＡＮなどから構成される管理用ネットワーク６を介して接続されている。また各ストレージノード３間は、イーサネット（登録商標）、InfiniBand又は無線ＬＡＮなどから構成されるバックエンドネットワーク７を介して接続されている。ただし、ストレージサービスネットワーク５、管理用ネットワーク６及びバックエンドネットワーク７のうちの２つ以上が同一のネットワークにより構成されていてもよい。
【００１８】
コンピュートノード２は、ストレージノード３に対してホスト装置（上位装置）として機能する汎用のコンピュータ装置である。コンピュートノード２は、仮想マシンのような仮想的なコンピュータ装置であってもよい。コンピュートノード２は、ユーザ操作や実装されたアプリケーションプログラムからの要求に応じて、ストレージサービスネットワーク５を介してストレージノード３にリード要求やライト要求（以下、適宜、これらをまとめてＩ／Ｏ（Input/Output）要求と呼ぶ）を送信する。
【００１９】
ストレージノード３は、コンピュートノード２に対してデータを読み書きするための記憶領域を提供する汎用の物理サーバ装置である。ストレージノード３は、図２に示すように、ＣＰＵ（Central Processing Unit）１０、メモリ１１、記憶装置１２、及び、通信装置１３をそれぞれ１つ以上備えて構成される。
【００２０】
ＣＰＵ１０は、ストレージノード３全体の動作制御を司るプロセッサである。またメモリ１１は、ＳＲＡＭ（Static RAM（Random Access Memory））やＤＲＡＭ（Dynamic RAM）などの揮発性の半導体メモリから構成され、ＣＰＵ１０のワークメモリとして各種プログラムや必要なデータを一時的に保持するために利用される。メモリ１１に格納された各種プログラムをＣＰＵ１０が実行することにより、後述のようなストレージノード３全体としての各種処理が実行される。
【００２１】
後述するクラスタ管理プログラム２０、ノード管理プログラム２１、フロントエンドプログラム２２、ストレージ制御プログラム２３及びスケールアウトデータベース２４や、ノード管理プログラム２１により管理されるＯＳ種別テーブル２５、フロントエンドプログラム２２により管理されるコンピュートノード管理テーブル２６及びボリュームパス管理テーブル２７、ストレージ制御プログラム２３により管理されるモードパラメータテーブル２８及びＨＧ−ＩＶＯＬ管理テーブル２９、並びに、スケールアウトデータベース２４の一部を構成するＤＢ側コンピュートノード管理テーブル３０及びＤＢ側ボリュームパス管理テーブル３１もこのメモリ１１に格納されて管理される。
【００２２】
記憶装置１２は、ＮＶＭｅ（Non-Volatile Memory）ドライブや、ＳＡＳ（Serial Attached SCSI（Small Computer System Interface））ドライブ、ＳＡＴＡ（Serial ATA（Advanced Technology Attachment））ドライブ、ＳＳＤ（Solid State Drive）又はＳＣＭ（Storage Class Memory）などの大容量の不揮発性の記憶装置から構成され、コンピュートノード２に対してデータを読み書きするための物理的な記憶領域を提供する。
【００２３】
通信装置１３は、ストレージノード３がストレージサービスネットワーク５を介してコンピュートノード２と通信を行ったり、管理用ネットワーク６を介して管理用端末４と通信を行ったり、ストレージノード３がバックエンドネットワーク７を介して他のストレージノード３と通信を行うためのインタフェースであり、例えばＦＣカードやＬＡＮカード又は無線ＬＡＮカードなどのＮＩＣ（Network Interface Card）から構成される。通信装置１３は、コンピュートノード２や管理用端末４及び他のストレージノード３との通信時におけるプロトコル制御を行う。
【００２４】
なお本実施の形態の場合、各ストレージノード３は、図１に示すように、他の１又は複数のストレージノード３と共にクラスタと呼ばれるグループに纏められ、クラスタ単位で管理される。図１では、本情報処理システム１内にクラスタ８が１つのみ設定された場合について例示しているが、情報処理システム１内に複数のクラスタ８を設定するようにしてもよい。
【００２５】
管理用端末４は、本情報処理システム１の管理者（以下、これをシステム管理者と呼ぶ）が、本情報処理システム１の構成管理や各種設定を行うために利用するコンピュータ装置である。管理用端末４は、システム管理者の操作に応じて、コンピュートノード２やストレージノード３に対して必要な指示を送信する。
【００２６】
図３は本実施の形態によるストレージノード３の論理構成を示す。この図３に示すように、各ストレージノード３は、フロントエンド部４０、１又は複数のストレージ制御部４１、クラスタ管理部４２、ノード管理部４３及びスケールアウトデータベース２４を備えて構成される。
【００２７】
フロントエンド部４０は、ＣＰＵ１０（図２）がメモリ１１（図２）に格納されたフロントエンドプログラム２２（図２）を実行することにより具現化される機能部であり、ストレージノード３におけるＩ／Ｏ処理のフロントエンドとして機能する。例えば、フロントエンド部４０は、コンピュートノード２からＩ／Ｏ要求が与えられた場合に、そのＩ／Ｏ要求を受け付け、受け付けたＩ／Ｏ要求を、そのＩ／Ｏ要求を実行すべき自ノード内のストレージ制御部４１や、当該Ｉ／Ｏ要求を実行すべきストレージ制御部４１が配置された他のストレージノード３に転送する。
【００２８】
ストレージ制御部４１は、ＣＰＵ１０がメモリ１１に格納されたストレージ制御プログラム２３（図２）を実行することにより具現化される機能部であり、ＳＤＳのコントローラとして機能する。ストレージ制御部４１は、フロントエンド部４０から与えられたコンピュートノード２からのＩ／Ｏ要求を実行する。
【００２９】
クラスタ管理部４２は、ＣＰＵ１０がメモリ１１に格納されたクラスタ管理プログラム２０（図２）を実行することにより具現化される機能部であり、クラスタ８全体に関する制御処理やクラスタ８のスケールアウトに関する制御処理を実行する機能を有する。本実施の形態の情報処理システム１では、クラスタ８内の各ストレージノード３にそれぞれ実装されたクラスタ管理部４２のうちの１つのクラスタ管理部４２が「マスタ」に設定され、「マスタ」に設定されたクラスタ管理部（以下、これをマスタクラスタ管理部と呼ぶ）４２が、クラスタ８全体の整合性を保ちながら、管理用端末４（図１）からの指示に応じたクラスタ８全体に関わる各種の制御処理を実行する。
【００３０】
ノード管理部４３は、ＣＰＵ１０がメモリ１１に格納されたノード管理プログラム２１（図２）を実行することにより具現化される機能部であり、マスタクラスタ管理部４２からの要求に応じて自ノード内で完結する各種の制御処理を実行する機能を有する。実際上、マスタクラスタ管理部４２は、自己に負荷が集中しないように、各ストレージノード３内で完結する処理については、その実行を各ストレージノード３のノード管理部４３に要求する。そしてノード管理部４３は、かかる要求が与えられると、この要求に従って、自ノード内のフロントエンド部４０やストレージ制御部４１に対する制御処理を実行する。
【００３１】
スケールアウトデータベース２４は、登録された各コンピュートノード２の構成情報（搭載されたＯＳのＯＳ種別の情報を含む）や、クラスタ８の構成情報（ボリュームＶＯＬの位置及び容量や、コンピュートノード２とボリュームＶＯＬとの対応関係など）などが格納されたデータベースである。本情報処理システム１の場合、スケールアウトデータベース２４には、バックエンドネットワーク７を介して他のストレージノード３のスケールアウトデータベース２４と相互に通信を行い得る機能が搭載されている。
【００３２】
そして本情報処理システム１では、１つのストレージノード３のスケールアウトデータベース２４が更新された場合、そのスケールアウトデータベース２４が更新前後の差分データを同一のクラスタ８を構成する他のストレージノード３に転送する。また、かかる差分データを受領した他のストレージノード３のスケールアウトデータベース２４は、この差分データに基づいて自己が保持するデータを更新する。このようにして、本情報処理システム１では、１つのストレージノード３のスケールアウトデータベース２４が更新された場合に、これと同期して他のストレージノード３のスケールアウトデータベース２４も同様に更新される。
【００３３】
（２）ストレージノードにおけるボリュームパスの構成
図４は、本情報処理システム１のストレージノード３におけるボリュームパスの構成例を示す。この図４に示すように、本情報処理システム１では、ストレージノード３の各物理ポート（図示せず）とそれぞれ１対１に対応付けてターゲットＴＧがフロントエンド部４０に定義され、このターゲットＴＧにホストボリュームＨＶＯＬが１対１に対応付けられる。ホストボリュームＨＶＯＬはデータを読み書きするための記憶領域としてコンピュートノード２に提供されるボリュームである。
【００３４】
またホストボリュームＨＶＯＬは、ストレージ制御部４１に定義された仮想的なポートＰＴを介してストレージ制御部４１が管理する仮想的なボリュームであるインターナルボリュームＩＶＯＬと対応付けられる。
【００３５】
より詳しくは、ストレージ制御部４１は、自ノードがサポートしている各ＯＳ種別とそれぞれ対応付けて複数のホストグループＨＧを作成する。この際、各ホストグループＨＧには、そのホストグループＨＧに対応するＯＳ種別のコンピュートノード２からのコマンド（Ｉ／Ｏ要求を含む）を処理する際に必要な機能がそれぞれ対応付けられる。またストレージ制御部４１は、ホストグループＨＧごとに、そのホストグループＨＧと関連付けて１又は複数のインターナルボリュームＩＶＯＬを作成する。
【００３６】
そしてホストボリュームＨＶＯＬは、これらホストグループＨＧと関連付けられたインターナルボリュームＩＶＯＬのうち、そのホストボリュームＨＶＯＬが提供されるコンピュートノード２に搭載されたＯＳのＯＳ種別（以下、これをそのコンピュートノード２のＯＳ種別と呼ぶ）に対応するホストグループＨＧと関連付けられたインターナルボリュームＩＶＯＬと１対１又は１対多の関係で対応付けられる。
【００３７】
さらにインターナルボリュームＩＶＯＬには、ストレージ制御部４１により作成された仮想的な論理ボリュームである１又は複数の仮想ボリュームＶＶＯＬが対応付けられ、この仮想ボリュームＶＶＯＬに対して記憶装置１２（図２）から物理的な記憶領域が動的に割り当てられる。
【００３８】
また仮想ボリュームＶＶＯＬは、スケールアウトデータベース２４（図３）内に定義されたグローバルボリュームＧＶＯＬと１対１に対応付けられる。そしてクラスタ８内の各グローバルボリュームＧＶＯＬは、すべて纏めてクラスタ８内のすべてのストレージノード３を横断する１つのプールＰＬとして管理される。
【００３９】
一方、コンピュートノード２側では、クラスタ８を構成する複数のストレージノード３が１つのストレージ装置に見えており、ホストボリュームＨＶＯＬをそのストレージ装置が自ノードに提供する記憶領域として認識する。
【００４０】
ただし、各コンピュートノード２が認識可能なホストボリュームＨＶＯＬは、管理用端末４を介してシステム管理者によりそのコンピュートノード２に設定されたホストボリュームＨＶＯＬのみである。従って、コンピュートノード２は、管理用端末４を介して設定されたホストボリュームＨＶＯＬのみをかかるストレージ装置から提供された記憶領域として認識することになる。
【００４１】
また各コンピュートノード２は、自ノードの物理ポート（図示せず）に設定された各イニシエータＩＴからクラスタ８内のいずれかのストレージノード３の物理ポートに設定されたターゲットＴＧまでのパスを管理している。そしてコンピュートノード２は所望するホストボリュームＨＶＯＬにデータをリード／ライトする場合には、そのホストボリュームＨＶＯＬの識別子と、そのホストボリュームＨＶＯＬ内のリード／ライト先のアドレスと、対象とするデータのデータ長とを指定したＩ／Ｏ要求を、自ノードが認識するターゲットＴＧに向けて送信する。
【００４２】
ストレージノード３のフロントエンド部４０は、コンピュートノード２からのＩ／Ｏ要求を受信すると、図１０について後述するボリュームパス管理テーブル２７を参照して、そのＩ／Ｏ要求において指定されたホストボリュームＨＶＯＬに対してインターナルボリュームＩＶＯＬを介して対応付けられた仮想ボリュームＶＶＯＬと、その仮想ボリュームＶＶＯＬを管理するストレージ制御部４１が配置されたストレージノード３とをそれぞれ特定する。
【００４３】
またフロントエンド部４０は、特定したストレージノード３が自ノードである場合には、そのＩ／Ｏ要求において指定されたデータのリード／ライト先のホストボリュームＨＶＯＬのボリューム番号を、当該ホストボリュームＨＶＯＬと対応付けられた対応するインターナルボリュームＩＶＯＬのボリューム番号に書き換えた上で、そのＩ／Ｏ要求を自ノード内の対応するストレージ制御部４１（そのインターナルボリュームＩＶＯＬを管理するストレージ制御部４１）に転送する。
【００４４】
これに対して、フロントエンド部４０は、特定したストレージノード３が他のストレージノード３である場合には、そのストレージノード３にそのＩ／Ｏ要求をバックエンドネットワーク７を介して転送する。かくして、このＩ／Ｏ要求が転送されてきたストレージノード３のフロントエンド部４０は、このＩ／Ｏ要求に含まれるリード／ライト先のホストボリュームＨＶＯＬのボリューム番号を、当該ホストボリュームＨＶＯＬと対応付けられたインターナルボリュームＩＶＯＬのボリューム番号に書き換えた上で、そのＩ／Ｏ要求を自ノード内の対応するストレージ制御部４１に転送する。
【００４５】
このＩ／Ｏ要求を受領したストレージ制御部４１は、当該Ｉ／Ｏ要求においてデータのリード／ライト先として指定されたインターナルボリュームＩＶＯＬ及び当該インターナルボリュームＩＶＯＬ内の記憶領域と対応付けられた仮想ボリュームＶＶＯＬ及び当該仮想ボリュームＶＶＯＬ内の記憶領域を、インターナルボリュームＩＶＯＬ内の記憶領域と、仮想ボリュームＶＶＯＬ内の記憶領域とを対応付けた図示しない管理テーブルを参照して特定する。
【００４６】
そして、ストレージ制御部４１は、かかるＩ／Ｏ要求がライト要求であった場合には、特定した仮想ボリュームＶＶＯＬにおける特定した記憶領域に対して必要に応じて記憶装置１２から記憶領域を割り当て、割り当てた記憶領域にライト対象のデータを格納する。またストレージ制御部４１は、かかるＩ／Ｏ要求がリード要求であった場合には、特定した仮想ボリュームＶＶＯＬにおける特定した記憶領域に割り当てられている記憶装置１２内の記憶領域からデータを読み出し、読み出したデータをフロントエンド部４０を介してそのリード要求の送信元のコンピュートノード２に転送する。
【００４７】
この際、ストレージ制御部４１は、Ｉ／Ｏ要求においてデータのリード／ライト先として指定されたインターナルボリュームＩＶＯＬが割り当てられたホストグループＨＧも特定する。そしてストレージ制御部４１は、かかるＩ／Ｏ要求を上述のように処理する際に、特定したホストグループＨＧに対して設定されている機能を利用するよう動作内容を切り替える。このようにして本情報処理システム１では、クラスタ８の内部動作がＩ／Ｏ要求の送信元のコンピュートノード２のＯＳ種別に応じて切り替えられる。
【００４８】
（３）ボリュームパス自動設定機能
（３−１）ボリュームパス自動設定機能の概略及び関連する各テーブルの構成
次に、本情報処理システム１の各ストレージノード３に搭載されたボリュームパス自動設定機能について説明する。このボリュームパス自動設定機能は、システム管理者が管理用端末４を操作して所望するコンピュートノード２から所望するグローバルボリュームＧＶＯＬへのボリュームパスの設定を指示することによって、そのコンピュートノード２に提供されたホストボリュームＨＶＯＬからそのグローバルボリュームＧＶＯＬと対応付けられた仮想ボリュームＶＶＯＬまでのボリュームパスを自動設定する機能である。
【００４９】
実際上、本情報処理システム１では、例えば、当該情報処理システム１の導入時などにおいて、新規のコンピュートノード２に対してデータを読み書きするための記憶領域としてクラスタ８内の記憶領域を割り当てるに際しては、そのコンピュートノード２に対してアクセス可能なホストボリュームＨＶＯＬを設定する。
【００５０】
またクラスタ８に対しては、まず、そのコンピュートノード２を登録することが必要であり、その後、そのコンピュートノード２に提供するホストボリュームＨＶＯＬと、そのホストボリュームＨＶＯＬと対応付けられたインターナルボリュームＩＶＯＬと、そのインターナルボリュームＩＶＯＬ及び上記グローバルボリュームＧＶＯＬの双方と対応付けられた仮想ボリュームＶＶＯＬとを作成することが必要となる。さらに、かかるインターナルボリュームＩＶＯＬをそのコンピュートノード２のＯＳ種別に対応するホストグループＨＧと対応付けると共に、各ホストグループＨＧに対しては、そのホストグループＨＧが対応付けられたＯＳ種別に応じた機能を設定することも必要となる。
【００５１】
この点について、本情報処理システム１では、システム管理者が管理用端末４を操作してグローバルボリュームＧＶＯＬの作成を指示することによって、そのグローバルボリュームＧＶＯＬと、当該グローバルボリュームＧＶＯＬと１対１に対応付けられた仮想ボリュームＶＶＯＬとをクラスタ８内のいずれかのストレージノード３に作成することができる。
【００５２】
また本情報処理システム１では、この後、システム管理者が管理用端末４を操作して、新規のコンピュートノード２を登録し、そのコンピュートノード２の名称（コンピュートノード名）と、そのコンピュートノード２が記憶領域として認識するホストボリュームＨＶＯＬの識別番号（ボリューム番号）と、そのホストボリュームＨＶＯＬと対応付けるグローバルボリュームＧＶＯＬのボリューム番号とを指定して、そのホストボリュームＨＶＯＬからそのグローバルボリュームＧＶＯＬまでのボリュームパスの作成を指示することによって、そのホストボリュームＨＶＯＬからそのグローバルボリュームＧＶＯＬと対応付けて作成された仮想ボリュームＶＶＯＬまでのボリュームパスを、そのコンピュートノード２のＯＳ種別に応じた機能を対応付けて自動設定させることができる（ボリュームパス自動設定機能）。
【００５３】
このようなボリュームパス自動設定機能を実現するための手段として、かかるボリュームパス自動設定機能に基づく一連の処理（以下、これをボリュームパス自動設定処理）の実行時に、図５〜図１１に示すようなテーブルが対応するストレージノード３において適宜作成されて利用される。
【００５４】
これらテーブルのうち、図５に示すＤＢ側コンピュートノード管理テーブル３０は、システム管理者が管理用端末４を用いてコンピュートノード２をクラスタ８に登録する際に入力されたそのコンピュートノード２に関する各種情報（以下、これをコンピュートノード情報と呼ぶ）のうち、そのコンピュートノード２のＯＳ種別を管理するために利用されるテーブルである。このＤＢ側コンピュートノード管理テーブル３０は、スケールアウトデータベース２４（図３）の一部を構成するテーブルであり、クラスタ管理部４２（図３）により作成される。
【００５５】
ＤＢ側コンピュートノード管理テーブル３０は、図５に示すように、コンピュートノード名欄３０Ａ、ＯＳ種別欄３０Ｂ及びボリュームパス管理テーブル番号欄３０Ｃを備えて構成される。ＤＢ側コンピュートノード管理テーブル３０では、１つのエントリ（行）が、登録された１つのコンピュートノード２に対応する。
【００５６】
そしてコンピュートノード名欄３０Ａには、対応するコンピュートノードの名称（コンピュートノード名）が格納され、ＯＳ種別欄３０Ｂには、そのコンピュートノード２について登録された、当該コンピュートノード２に搭載されているＯＳのＯＳ種別の名称が格納される。またボリュームパステーブル番号欄３０Ｃには、対応するコンピュートノード２について作成された図６について後述するＤＢ側ボリュームパス管理テーブル３１の識別番号（以下、これをボリュームパス管理テーブル番号と呼ぶ）が格納される。
【００５７】
従って、図５の例の場合、「Compute01」というコンピュートノード名のコンピュートノード２には、「Ａ」というＯＳ種別名のＯＳが搭載されており、そのコンピュートノード２に対応付けて作成されたＤＢ側ボリュームパス管理テーブル３１のボリュームパス管理テーブル番号が「#1」であることが示されている。
【００５８】
また図６に示すＤＢ側ボリュームパス管理テーブル３１は、登録されたコンピュートノード２ごとにそれぞれ作成され、対応するコンピュートノード２に提供されたホストボリュームＨＶＯＬからそのホストボリュームＨＶＯＬに対応付けられた仮想ボリュームＶＶＯＬ（そのコンピュートノード２に対応付けられたグローバルボリュームと対応付けて作成された仮想ボリュームＶＶＯＬ）までのボリュームパスを管理するために利用される。このＤＢ側ボリュームパス管理テーブル３１は、スケールアウトデータベース２４（図３）の一部を構成するテーブルであり、クラスタ管理部４２（図３）により作成される。
【００５９】
ＤＢ側ボリュームパス管理テーブル３１は、図６に示すように、グローバルボリューム欄３１Ａ、ホストボリューム欄３１Ｂ、ストレージ制御部欄３１Ｃ、仮想ボリューム欄３１Ｄ及びインターナルボリューム欄３１Ｅを備えて構成される。ＤＢ側ボリュームパス管理テーブル３１では、１つのエントリ（行）が１つのホストボリュームＨＶＯＬから１つの仮想ボリュームＶＶＯＬ（グローバルボリュームＧＶＯＬ）へのボリュームパスに対応する。
【００６０】
そしてグローバルボリューム欄３１Ａには、対応するコンピュートノード２に対応付けて作成されたグローバルボリュームＧＶＯＬの識別子（ボリューム番号）が格納され、仮想ボリューム欄３１Ｄには、そのグローバルボリュームＧＶＯＬと対応付けて作成された仮想ボリュームのボリューム番号が格納される。
【００６１】
またホストボリューム欄３１Ｂには、対応する仮想ボリュームＶＶＯＬと対応するボリュームパスにより接続されたホストボリュームＨＶＯＬのボリューム番号が格納され、ストレージ制御部欄３１Ｃには、その仮想ボリュームＶＶＯＬを作成して管理するストレージ制御部４１の識別子が格納される。さらにインターナルボリューム欄３１Ｅには、対応するホストボリュームＨＶＯＬ及び仮想ボリュームＶＶＯＬ間に作成されたインターナルボリュームＩＶＯＬのボリューム番号が格納される。
【００６２】
従って、図６の例の場合、例えば、「１」というグローバルボリューム番号が付与されたグローバルボリュームＧＶＯＬと対応付けて「１」という仮想ボリューム番号が付与された仮想ボリュームＶＶＯＬが「１」という識別子が付与されたストレージ制御部４１により作成され、この仮想ボリュームＶＶＯＬは、「１」というボリューム番号のインターナルボリュームＩＶＯＬを介して「１」というボリューム番号が付与されたホストボリュームＨＶＯＬと接続されていることが示されている。
【００６３】
一方、図７に示すモードパラメータテーブル２８は、ストレージノード３に搭載された機能と、その機能に対して予め対応付けられたパラメータ（以下、これをモードパラメータと呼ぶ）との対応関係を管理するために利用されるテーブルであり、ストレージ制御部４１により作成されて管理される。このモードパラメータテーブルは、図７に示すように、モードパラメータ欄２８Ａ及び機能欄２８Ｂを備えて構成される。
【００６４】
そして機能欄２８Ｂには、ストレージノード３に搭載された各機能の機能名がそれぞれ格納され、モードパラメータ欄２８Ａには、対応する機能と対応付けられたモードパラメータの値が格納される。
【００６５】
従って、図７の例の場合、例えば、「機能Ａ」という機能に対しては「１」、「機能Ｂ」という機能に対しては「２」、「機能Ｃ」という機能に対しては「３」、……というモードパラメータがそれぞれ対応付けられていることが示されている。
【００６６】
図８に示すＯＳ種別テーブル２５は、ストレージノード３がサポートするＯＳ種別と、そのＯＳ種別のコンピュートノード２が対応付けられるホストグループＨＧと、そのホストグループＨＧに属するコンピュートノード２と接続されたボリュームパスについて設定すべき機能との対応関係を管理するために利用されるテーブルであり、ストレージ制御部４１により作成されて管理される。
【００６７】
このＯＳ種別テーブル２５は、図８に示すように、ＯＳ種別欄２５Ａ、ホストグループ番号欄２５Ｂ及びモードパラメータ欄２５Ｃを備えて構成される。ＯＳ種別テーブル２５では、１つのエントリ（行）が１つのＯＳ種別に対応する。
【００６８】
そしてＯＳ種別欄２５Ａには、そのＯＳ種別テーブル２５を保持するストレージノード３がサポートしているすべてのＯＳ種別の名称（ＯＳ種別名）がそれぞれ格納され、ホストグループ番号欄２５Ｂには、そのＯＳ種別のコンピュートノード２を対応付けるべきホストグループＨＧの識別番号（ホストグループ番号）が格納される。またモードパラメータ欄２５Ｃには、対応するＯＳ種別のコンピュートノード２と接続されたボリュームパスに対して設定すべき各機能のモードパラメータがそれぞれ格納される。
【００６９】
従って、図８の例の場合、例えば、「Ａ」というＯＳ種別のＯＳは「０」というホストグループ番号が付与されたホストグループＨＧに対応付けられ、そのＯＳ種別のＯＳが搭載されたコンピュートノードに対しては「１」、「２」及び「３」という各モードパラメータにそれぞれ対応する機能を設定すべきことが示されている。
【００７０】
図９に示すコンピュートノード管理テーブル２６は、フロントエンド部４０（図３）が、登録されたコンピュートノード２が属するホストグループＨＧを管理するために利用するテーブルであり、フロントエンド部４０により作成されて管理される。このコンピュートノード管理テーブル２６は、図９に示すように、コンピュートノード名欄２６Ａ及びホストグループ番号欄２６Ｂを備えて構成される。このコンピュートノード管理テーブル２６は、フロントエンド部４０により作成されて管理される。
【００７１】
そしてコンピュートノード名欄２６Ａには、登録されたすべてのコンピュートノード２のコンピュートノード名がそれぞれ格納され、ホストグループ番号欄２６Ｂには、対応するコンピュートノード２が属するホストグループＨＧのホストグループ番号が格納される。
【００７２】
従って、図９の例の場合、「Compute01」というコンピュートノード名のコンピュートノード２は、そのコンピュートノード２に実装されたＯＳのＯＳ種別により「０」というホストグループ番号が付与されたホストグループＨＧに属するものとしてストレージノード３において管理されていることが示されている。
【００７３】
さらに図１０に示すボリュームパス管理テーブル２７は、フロントエンド部４０が、登録された各コンピュートノード２に対応付けられたボリュームパスの構成を管理するために利用するテーブルであり、フロントエンド部４０により作成されて管理される。このボリュームパス管理テーブル２７は、図１０に示すように、コンピュートノード名欄２７Ａ、ホストボリューム欄２７Ｂ及びインターナルボリューム欄２７Ｃを備えて構成される。
【００７４】
そしてコンピュートノード名欄２７Ａには、登録されたすべてのコンピュートノード２のコンピュートノード名がそれぞれ格納され、ホストボリューム欄２７Ｂには、対応するコンピュートノード２と対応付けられたホストボリュームＨＶＯＬのボリューム番号が格納される。さらにインターナルボリューム欄２７Ｃには、対応するホストボリュームＨＶＯＬと対応付けられたインターナルボリュームＩＶＯＬのボリューム番号が格納される。
【００７５】
従って、図１０の例の場合、「Compute01」というコンピュートノード名のコンピュートノード２には、「１」というボリューム番号が付与されたホストボリュームＨＶＯＬが対応付けられ、そのホストボリュームＨＶＯＬには「１」というボリューム番号が付与されたインターナルボリュームＩＶＯＬが対応付けられていることが示されている。
【００７６】
図１１に示すＨＧ−ＩＶＯＬ管理テーブル２９は、ホストグループＨＧ及びインターナルボリュームＩＶＯＬ間の対応関係を管理するために利用されるテーブルであり、ストレージ制御部４１（図３）により作成されて管理される。このＨＧ−ＩＶＯＬ管理テーブル２９は、図１１に示すように、インターナルボリューム欄２９Ａ及びホストグループ番号欄２９Ｂを備えて構成される。
【００７７】
そしてインターナルボリューム欄２９Ａには、そのストレージノード３内に作成された各インターナルボリュームＩＶＯＬのボリューム番号がそれぞれ格納され、ホストグループ番号欄２９Ｂには、対応するインターナルボリュームＩＶＯＬと対応付けられたホストグループＨＧのホストグループ番号が格納される。
【００７８】
従って、図１１の例の場合、例えば、「１」というボリューム番号が付与されたインターナルボリュームＩＶＯＬと、「２」というボリューム番号が付与されたインターナルボリュームＩＶＯＬとは、「０」というホストグループ番号が付与されたホストグループＨＧと対応付けられ、「３」というボリューム番号が付与されたインターナルボリュームＩＶＯＬと、「４」というボリューム番号が付与されたインターナルボリュームＩＶＯＬとは、「８」というホストグループ番号が付与されたホストグループＨＧと対応付けられていることが示されている。
【００７９】
（３−２）ボリュームパス自動設定機能に関する各種処理の流れ
（３−２−１）ボリュームパス自動設定機能に関する基本的な処理の流れ
図１２は、上述したボリュームパス自動設定機能に関連してクラスタ８内で実行される一連の処理の流れを示す。この処理は、本情報処理システム１が新規に導入された後、クラスタ８を構成する各ストレージノード３を起動することにより開始される。そして、ストレージノード３のストレージ制御部４１は、自ノードの起動後、図１３に示すように、自ノードのサポート対象のＯＳ種別ごとのホストグループＨＧをそれぞれ作成し、各ホストグループＨＧに対して、そのホストグループＨＧに対応するＯＳ種別に応じた機能をそれぞれ設定する初期設定処理を実行する（Ｓ１）。
【００８０】
この後、システム管理者が管理用端末４を操作して、本情報処理システム１を構成するコンピュートノード２ごとの識別子や名前、イニシエータ名及び搭載されたＯＳのＯＳ種別などの情報（以下、これをコンピュートノード情報と呼ぶ）を入力する。この結果、これら各コンピュートノード２のコンピュートノード情報が管理用端末４からマスタクラスタ管理部４２に与えられてスケールアウトデータベース２４（図２、図３）に格納される。このとき各コンピュートノード２のコンピュート名と、そのコンピュートノード２に搭載されたＯＳのＯＳ種別とが各ストレージノード３のＤＢ側コンピュートノード管理テーブル３０（図５）にそれぞれ登録される（Ｓ２）。
【００８１】
続いて、システム管理者が管理用端末４を操作して、所望容量のグローバルボリュームＧＶＯＬの作成を指示する。この結果、この指示が管理用端末４からマスタクラスタ管理部４２に送信されて、マスタクラスタ管理部４２の制御の下に、図１４に示すように、クラスタ８内に要求されたグローバルボリュームＧＶＯＬが作成されると共に、そのグローバルボリュームＧＶＯＬと１対１で対応付けられた、指定された容量の仮想ボリュームＶＶＯＬがクラスタ８のいずれかのストレージノード３内に作成される（Ｓ３）。
【００８２】
次いで、システム管理者が管理用端末４を操作して、クラスタ８内における所望するホストボリュームＨＶＯＬから所望するグローバルボリュームＧＶＯＬまでのボリュームパスの作成を指示する。この際、システム管理者は、そのホストボリュームＨＶＯＬを提供するコンピュートノード２のコンピュートノード名と、そのグローバルボリュームＧＶＯＬのボリューム番号と、そのホストボリュームＨＶＯＬのボリューム番号とを指定する。
【００８３】
この結果、この指示（以下、これをボリュームパス作成指示と呼ぶ）が管理用端末４からマスタクラスタ管理部４２に送信されて、マスタクラスタ管理部４２の制御の下に、かかるボリュームパス作成指示により指定されたボリュームパスが作成される（Ｓ４）。
【００８４】
具体的には、図１５に示すように、かかる仮想ボリュームＶＶＯＬが作成されたストレージノード３内に、ボリュームパス作成指示において指定されたコンピュートノード２のＯＳ種別に対応するホストグループＨＧと対応付けられたインターナルボリュームＩＶＯＬが作成される。また、この後、かかるボリュームパス作成指示において指定されたホストボリュームＨＶＯＬから上述のようにして作成したインターナルボリュームＩＶＯＬを経由して当該ボリュームパス作成指示において指定されたグローバルボリュームＧＶＯＬと対応付けられた仮想ボリュームＶＶＯＬまでのボリュームパスが設定される。これによりボリュームパスの設定と同時にそのボリュームパスに対して、ボリュームパス作成指示において指定されたコンピュートノード２のＯＳ種別に応じた機能が設定される。
【００８５】
以上により、本実施の形態のボリュームパス自動設定機能に関連する一連の処理が完了する。
【００８６】
図１６は、図１２のステップＳ４においてクラスタ８内で行われる処理（以下、これをボリュームパス作成処理と呼ぶ）の具体的な流れを示す。かかるボリュームパス作成指示をマスタクラスタ管理部４２が受領すると、この図１６に示すボリュームパス作成処理が開始される。
【００８７】
そして、まず、マスタクラスタ管理部４２が、スケールアウトデータベース２４のＤＢ側ボリュームパス管理テーブル３１を参照して、ボリュームパス作成指示において指定されたコンピュートノード２のコンピュートノード名及びホストボリュームＨＶＯＬのボリューム番号の組合せが既にＤＢ側ボリュームパス管理テーブル３１に登録されているか否かを判定する（Ｓ１０）。
【００８８】
マスタクラスタ管理部４２は、このステップＳ１０の判定で肯定結果が得られた場合、その旨のエラー通知を管理用端末４に送信する。かくして、この場合には、このボリュームパス作成処理が終了する。
【００８９】
これに対して、マスタクラスタ管理部４２は、ステップＳ１０の判定で否定結果が得られた場合には、ボリュームパス作成指示において指定されたグローバルボリュームＧＶＯＬと対応付けて図１２のステップＳ３で作成された仮想ボリュームＶＶＯＬが存在するストレージノード３のノード管理部４３（図３）に対して更新通知を送信する（Ｓ１１）。
【００９０】
そして、この更新通知を受領したノード管理部４３は、スケールアウトデータベース２４のＤＢ側コンピュートノード管理テーブル３０（図５）と、自己が管理するＯＳ種別テーブル２５（図８）とを参照して、ボリュームパスの接続先となるコンピュートノード２のＯＳ種別に対応させて作成されたホストグループＨＧのホストグループ番号を取得する（Ｓ１２）。
【００９１】
具体的に、ノード管理部４３は、作成を指示されたボリュームパスの接続先のコンピュートノード２に搭載されたＯＳのＯＳ種別をＤＢ側コンピュートノード管理テーブル３０から取得し、そのＯＳ種別に対応付けられたホストグループＨＧのホストグループ番号をＯＳ種別テーブル２５から取得する。
【００９２】
続いて、ノード管理部４３は、そのホストグループＨＧと対応付けてインターナルボリュームＩＶＯＬを作成するよう自ノード内のストレージ制御部４１に指示を与える。かくして、この指示が与えられたストレージ制御部４１は、そのホストグループＨＧに対応付けて、未使用のボリューム番号を付与したインターナルボリュームＩＶＯＬを作成し、ＨＧ−ＩＶＯＬ管理テーブル２９（図１１）の未使用の行のインターナルボリューム欄２９ＡにそのインターナルボリュームＩＶＯＬのボリューム番号を格納する（Ｓ１３）。
【００９３】
またストレージ制御部４１は、この後、そのとき作成したインターナルボリュームＩＶＯＬを、ステップＳ１２でホストグループ番号を取得したホストグループＨＧに割り当てる（Ｓ１４）。具体的に、ストレージ制御部４１は、ＨＧ−ＩＶＯＬ管理テーブル２９の各行のうち、ステップＳ１３でインターナルボリューム欄２９Ａにボリューム番号を格納した行のホストグループ番号欄２９Ｂに、ステップＳ１２で取得したホストグループ番号を格納する。
【００９４】
また、この後、マスタクラスタ管理部４２は、ステップＳ１３で作成されたインターナルボリュームＩＶＯＬのボリューム番号を、ボリュームパス作成指示において指定されたホストボリュームＨＶＯＬのボリューム番号及びグローバルボリュームＧＶＯＬのボリューム番号と、そのグローバルボリュームＧＶＯＬと対応付けて作成された仮想ボリュームＶＶＯＬのボリューム番号と、その仮想ボリュームＶＶＯＬを作成及び管理するストレージ制御部４１の識別番号とに対応付けてＤＢ側ボリュームパス管理テーブル３１に登録する。
【００９５】
以上により、このボリュームパス作成処理が終了する。
【００９６】
（３−２−２）ボリュームパス自動設定機能に関する各処理の具体的な流れ
（３−２−２−１）初期設定処理の流れ
ここで、図１７は、図１２のステップＳ１において実行される初期設定処理の流れを示す。かかるステップＳ１では、まず、各ストレージノード３にそれぞれ実装されたクラスタ管理部４２のうちのマスタクラスタ管理部４２が同一クラスタ８内の各ストレージノード３のノード管理部４３に対してそのストレージノード３の初期設定を実行するよう指示を与える（Ｓ２０）。
【００９７】
そして、この指示を受領したストレージノード３のノード管理部４３は、予め保持しているデータに基づいて図８について上述したＯＳ種別テーブル２５を作成する（Ｓ２１）。具体的に、ノード管理部４３は、自ノードがサポートしている各ＯＳ種別と、これらＯＳ種別についてそれぞれ設定すべき機能とに関する情報を予め保持している。そしてノード管理部４３は、この情報に基づいて、サポート対象の各ＯＳ種別の名称をそれぞれ異なる行のＯＳ種別欄２５Ａ（図８）に格納すると共に、これらのＯＳ種別に対して重複しないように付与したホストグループ番号を対応する行のホストグループ番号欄２５Ｂ（図８）にそれぞれ格納する。
【００９８】
続いて、ノード管理部４３は、ＯＳ種別テーブル２５の各モードパラメータ欄２５Ｃ（図８）に、対応するＯＳ種別について設定すべき各機能に対応するモードパラメータをそれぞれ格納する（Ｓ２２）。これによりＯＳ種別テーブル２５が完成する。
【００９９】
次いで、ノード管理部４３は、自ノードがサポートしている各ＯＳ種別にそれぞれ対応させてホストグループＨＧを作成するようストレージ制御部４１に指示を与える（Ｓ２３）。かくして、この指示を受領したストレージ制御部４１は、自ノードがサポートする各ＯＳ種別に対応させたホストグループＨＧをそれぞれ作成し（Ｓ２４）、この後、ホストグループＨＧの作成を完了した旨の完了通知をノード管理部４３に送信する（Ｓ２５）。
【０１００】
またノード管理部４３は、かかる完了通知を受領すると、モードパラメータテーブル２８（図７）を作成するようストレージ制御部４１に指示を与える（Ｓ２６）。かくして、この指示を受領したストレージ制御部４１は、予め保持している情報に基づいてモードパラメータテーブル２８を作成し（Ｓ２７）、その後、モードパラメータテーブル２８の作成を完了した旨の完了通知をノード管理部４３に送信する（Ｓ２８）。
【０１０１】
かくして、ノード管理部４３は、この完了通知を受領すると、初期設定が完了した旨の完了通知をマスタクラスタ管理部４２に送信する（Ｓ２９）。以上により図１２のステップＳ１について上述した初期設定処理が終了する。
【０１０２】
（３−２−２−２）コンピュートノード登録処理の流れ
一方、図１８は、図１２のステップＳ２において実行されるコンピュートノード登録処理の流れを示す。かかるステップＳ２では、まず、システム管理者が管理用端末４を操作して、本情報処理システム１を構成する各コンピュートノード２のコンピュートノード情報を入力し、その登録を指示する。この結果、このとき入力された各コンピュートノード２のコンピュートノード情報がその登録指示と共に管理用端末４からマスタクラスタ管理部４２に送信される（Ｓ３０）。
【０１０３】
このコンピュートノード情報及びその登録要求を受領したマスタクラスタ管理部４２は、そのとき受領した各コンピュートノード２のコンピュートノード情報をスケールアウトデータベース２４に転送し、その登録を指示する（Ｓ３１）。
【０１０４】
かくして、スケールアウトデータベース２４は、これら各コンピュートノード２のコンピュートノード情報を必要なテーブルに登録する（Ｓ３２）。例えば、スケールアウトデータベース２４は、マスタクラスタ管理部４２から与えられた各コンピュートノード２のコンピュート名及びそのＯＳ種別をＤＢ側コンピュートノード管理テーブル３０（図５）に登録する。そしてスケールアウトデータベース２４は、かかる各コンピュートノード２のコンピュートノード情報を必要なテーブルに登録し終えると、その旨の完了通知をクラスタ管理部４２に送信する（Ｓ３３）。
【０１０５】
マスタクラスタ管理部４２は、この完了通知を受領すると、各ストレージノード３のノード管理部４３に対してコンピュートノード管理テーブル２６（図９）を更新すべき旨の更新指示をそれぞれ送信する（Ｓ３４）。この更新指示には、かかるコンピュートノード情報に含まれていたそのとき登録された各コンピュートノード２のコンピュートノード名と、そのコンピュートノード２のＯＳ種別に対応付けられたホストグループＨＧのホストグループ番号とが含まれる。
【０１０６】
ノード管理部４３は、この更新通知を受領すると、自ノード内のフロントエンド部４０に対して、かかる更新指示に含まれていた各コンピュートノード名及びホストグループ番号を指定して、当該フロントエンド部４０が管理するコンピュートノード管理テーブル２６（図９）の更新を指示する（Ｓ３５）。
【０１０７】
そして、この指示を受領したフロントエンド部４０は、自己が管理するコンピュートノード管理テーブル２６のコンピュートノード名欄２６Ａ（図９）にそのとき与えられた指示において指定された各コンピュートノード名をそれぞれ格納すると共に、これらコンピュート名と対応付けて対応するホストグループ番号をホストグループ番号欄２６Ｂ（図９）に格納するようコンピュートノード管理テーブル２６を更新し（Ｓ３６）、この後、かかる更新が完了した旨の完了通知をノード管理部４３に送信する（Ｓ３７）。
【０１０８】
そして、この完了通知を受領したノード管理部４３は、コンピュートノード管理テーブル２６の更新が完了した旨の完了通知をマスタクラスタ管理部４２に送信する（Ｓ３８）。以上により、図１２のステップＳ２について上述したコンピュートノード登録処理が完了する。
【０１０９】
（３−２−２−３）ボリューム作成処理の流れ
他方、図１９は、図１２のステップＳ３において実行されるボリューム作成処理の流れを示す。かかるステップＳ３では、まず、システム管理者が管理用端末４を操作して、グローバルボリュームＧＶＯＬを作成するようマスタクラスタ管理部４２に指示を与える（Ｓ４０）。
【０１１０】
マスタクラスタ管理部４２は、この指示を受領すると、クラスタ８を構成する各ストレージノード３の負荷状況や残量等などを考慮して、要求されたグローバルボリュームＧＶＯＬに対応付ける仮想ボリュームＶＶＯＬを作成可能なストレージノード３をこれらストレージノード３の中から１つ決定し、そのストレージノード３のノード管理部４３にそのグローバルボリュームＧＶＯＬを作成するよう指示を与える（Ｓ４１）。
【０１１１】
この指示を受領したノード管理部４３は、要求されたグローバルボリュームＧＶＯＬに対応付ける仮想ボリュームＶＶＯＬの作成をストレージ制御部４１に指示する（Ｓ４２）。またストレージ制御部４１は、この指示を受領すると、指定された仮想ボリュームＶＶＯＬを作成してその情報を図示しない仮想ボリュームＶＶＯＬの管理テーブルに登録し（Ｓ４３）、この後、仮想ボリュームＶＶＯＬを作成し終えた旨の完了通知をノード管理部４３に送信する（Ｓ４４）。なお、この完了通知には、このとき作成された仮想ボリュームＶＶＯＬのボリューム番号が含まれる。またノード管理部４３は、この完了通知を受領すると、これをマスタクラスタ管理部４２に転送する（Ｓ４５）。
【０１１２】
マスタクラスタ管理部４２は、この完了通知を受領すると、そのとき作成したグローバルボリュームＧＶＯＬに関する情報（以下、これをボリューム情報と呼ぶ）をスケールアウトデータベース２４に転送し、これをＤＢ側ボリュームパス管理テーブル３１（図６）に登録するよう指示を与える（Ｓ４６）。
【０１１３】
かくしてスケールアウトデータベース２４は、かかる指示及びかかるボリューム情報を受領すると、そのボリューム情報を対応するＤＢ側ボリュームパス管理テーブル３１に登録する（Ｓ４７）。具体的に、スケールアウトデータベース２４は、ＤＢ側ボリュームパス管理テーブル３１における未使用の行を確保し、その行のグローバルボリューム欄３１Ａ（図６）にそのとき作成したグローバルボリュームＧＶＯＬに付与したボリューム番号を格納する。またスケールアウトデータベース２４は、その行の仮想ボリューム欄３１Ｄ（図６）にそのとき作成された仮想ボリュームＶＶＯＬのボリューム番号を格納し、さらにその行のストレージ制御部欄３１Ｃ（図６）にその仮想ボリュームＶＶＯＬを作成したストレージ制御部４１の識別子（ストレージ制御部番号）を格納する。
【０１１４】
そしてスケールアウトデータベース２４は、かかるボリューム情報のＤＢ側ボリュームパス管理テーブル３１への登録が完了すると、その旨の完了通知をマスタクラスタ管理部４２に通知する（Ｓ４８）。またマスタクラスタ管理部４２は、この完了通知を受領すると、要求されたグローバルボリュームＧＶＯＬの作成が完了した旨の完了通知を管理用端末４に送信する（Ｓ４９）。以上により、図１２のステップＳ３について上述したボリューム作成処理が完了する。
【０１１５】
（３−２−２−４）ボリュームパス作成処理の流れ
図２０は、図１２のステップＳ４において実行されるボリュームパス作成処理の流れを示す。かかるステップＳ４では、まず、システム管理者が管理用端末４を操作し、ホストボリュームＨＶＯＬのボリューム番号と、そのホストボリュームＨＶＯＬと対応付けるグローバルボリュームＧＶＯＬのボリューム番号と、そのホストボリュームＨＶＯＬを提供するコンピュートノード２のコンピュートノード名とを指定して、そのホストボリュームＨＶＯＬからそのグローバルボリュームＧＶＯＬまでのボリュームパスの作成を指示する。この結果、これらコンピュートノード名、ホストボリュームＨＶＯＬのボリューム番号及びグローバルボリュームＧＶＯＬのボリューム番号を含むボリュームパス作成指示が管理用端末４からマスタクラスタ管理部４２に与えられる（Ｓ５０）。
【０１１６】
マスタクラスタ管理部４２は、このボリュームパス作成指示を受領すると、そのボリュームパス作成指示において指定されたグローバルボリュームＧＶＯＬと対応付けられた仮想ボリュームＶＶＯＬが作成されたストレージノード３のノード管理部４３に対して、対応するボリュームパスの作成を指示する（Ｓ５１）。なお、この指示には、ボリュームパス作成指示において指定されたコンピュートノード名、ホストボリュームＨＶＯＬのボリューム番号及びグローバルボリュームＧＶＯＬのボリューム番号が含まれる。
【０１１７】
そして、この指示を受領したノード管理部４３は、ステップＳ５１の指示に含まれていたコンピュート名及びホストボリュームＨＶＯＬのボリューム番号と、この後作成しようとするインターナルボリュームＩＶＯＬのボリューム番号とを指定して、自ノード内のフロントエンド部４０に対してボリュームパス管理テーブル２７（図１０）の更新を指示する（Ｓ５２）。
【０１１８】
かくして、この指示を受領したフロントエンド部４０は、ボリュームパス管理テーブル２７の未使用の行を確保し、その行のコンピュートノード名欄２７Ａ（図１０）、ホストボリューム欄２７Ｂ（図１０）及びインターナルボリューム欄２７Ｃ（図１０）のそれぞれに、かかる指示において指定されたコンピュートノード名、ホストボリュームＨＶＯＬのボリューム番号又はインターナルボリュームＩＶＯＬのボリューム番号をそれぞれ格納する（Ｓ５３）。そしてノード管理部４３は、この後、ボリュームパス管理テーブル２７の更新を完了した旨の完了通知をノード管理部４３に送信する（Ｓ５４）。
【０１１９】
また、この完了通知を受領したノード管理部４３は、図１６のステップＳ１２について上述した方法により、ボリュームパスの接続先となるコンピュートノード２のＯＳ種別に対応させて作成されたホストグループＨＧのホストグループ番号を取得する（Ｓ５５）。
【０１２０】
さらにノード管理部４３は、ステップＳ５１のボリュームパス作成指示において指定されたグローバルボリュームＧＶＯＬと対応付けられた仮想ボリュームＶＶＯＬを作成して管理しているストレージ制御部４１に対して、ステップＳ５２の指示で指定したボリューム番号のインターナルボリュームＩＶＯＬを作成するよう指示を与える（Ｓ５６）。かくして、この指示を受領したストレージ制御部４１は、要求されたインターナルボリュームＩＶＯＬの情報を図示しない管理テーブルに登録するようにしてそのインターナルボリュームＩＶＯＬを作成し（Ｓ５７）、その旨の完了通知をノード管理部４３に送信する（Ｓ５８）。
【０１２１】
またこの完了通知を受領したノード管理部４３は、ステップＳ５５で取得したホストグループ番号が付与されたホストグループＨＧにステップＳ５６で作成したインターナルボリュームＩＶＯＬを割り当てるようかかるストレージ制御部４１に指示を与える（Ｓ５９）。なお、この指示には、ステップＳ５５で取得したかかるホストグループＨＧのホストグループ番号が含まれる。
【０１２２】
かくして、この指示を受領したストレージ制御部４１は、その指示において指定されたホストグループ番号が付与されたホストグループＨＧにステップＳ５７で作成したインターナルボリュームＩＶＯＬを割り当てる（Ｓ６０）。具体的に、ストレージ制御部４１は、ＨＧ−ＩＶＯＬ管理テーブル２９（図１１）の未使用の行を確保し、その行のインターナルボリューム欄２９Ａ（図１１）に、ステップＳ５７で作成したインターナルボリュームＩＶＯＬのボリューム番号を格納すると共に、その行のホストグループ番号欄２９Ｂに、ステップＳ５９の指示において指定されたホストグループ番号を格納する。そして、ストレージ制御部４１は、この後、ステップＳ５９の指示に対する完了通知をノード管理部４３に送信する（Ｓ６１）。
【０１２３】
ノード管理部４３は、この完了通知を受領すると、要求されたボリュームパスの作成が完了した旨の完了通知をマスタクラスタ管理部４２に送信する（Ｓ６２）。なお、この完了通知には、ステップＳ５７で作成されたインターナルボリュームＩＶＯＬのボリューム番号が含まれる。またこの完了通知を受領したマスタクラスタ管理部４２は、かかるインターナルボリュームＩＶＯＬのボリューム番号を指定して、ＤＢ側ボリュームパス管理テーブル３１（図６）を更新するようスケールアウトデータベース２４に指示を与える（Ｓ６３）。
【０１２４】
かくして、この指示を受領したスケールアウトデータベース２４は、ＤＢ側ボリュームパス管理テーブル３１の各行のうちの対応する行のインターナルボリューム欄３１Ｅ（図６）にかかるインターナルボリュームＩＶＯＬのボリューム番号を格納する（Ｓ６４）。これにより、このとき作成されたボリュームパスのＤＢ側ボリュームパス管理テーブル３１への登録が完了する。
【０１２５】
そしてスケールアウトデータベース２４は、かかる登録が完了すると、その旨の完了通知をマスタクラスタ管理部４２に送信する（Ｓ６５）。また、この完了通知を受領したマスタクラスタ管理部４２は、要求されたボリュームパスが完了した旨の完了通知を管理用端末４に送信する（Ｓ６６）。以上により、図１２のステップＳ４について上述したボリュームパス作成処理が完了する。
【０１２６】
（４）本実施の形態の効果
以上のように本実施の形態の情報処理システム１では、初期設定処理時、ストレージ制御部４１が、サポート対象の各ＯＳ種別にそれぞれ対応させてホストグループＨＧを作成すると共に、各ホストグループＨＧに対して対応するＯＳ種別のコンピュートノード２からのＩ／Ｏ要求を処理する際に必要な機能を設定する。
【０１２７】
またストレージ制御部４１は、この後、管理用端末４からのボリュームパス作成指示に応じて、指定されたホストボリュームＨＶＯＬ及び仮想ボリュームＶＶＯＬ間に介在するインターナルボリュームＩＶＯＬを作成すると共に、当該インターナルボリュームＩＶＯＬをそのホストボリュームＨＶＯＬが提供されるコンピュートノード２のＯＳ種別に応じたホストグループＨＧに割り当てる。
【０１２８】
そしてストレージ制御部４１は、この後、コンピュートノード２から対応するホストボリュームＨＶＯＬを対象とするＩ／Ｏ要求が与えられた場合に、当該ホストボリュームＨＶＯＬとボリュームパスを介して接続された仮想ボリュームＶＶＯＬに対するＩ／Ｏ処理を、当該ボリュームパス内のインターナルボリュームＩＶＯＬが割り当てられたホストグループＨＧに設定された機能を利用しながら実行する。
【０１２９】
従って、本情報処理システム１では、システム管理者は、コンピュートノード２をクラスタ８に登録する際に、そのコンピュートノード２に対応付けるホストボリュームＨＶＯＬ及びそのコンピュートノード２のＯＳ種別だけを設定すれば良く、ＯＳ種別ごとのホストグループＨＧの作成や、各ホストグループＨＧに対するボリュームの紐付け、及び、各コンピュートノード２のホストグループＨＧへの紐付けなどの従来必要とされていた構成情報の設定作業を省略することができる。
【０１３０】
よって、本情報処理システム１によれば、本情報処理システム１の導入時や新たなコンピュートノード２の導入時における設定作業を容易化させることができ、かかる設定作業に対するシステム管理者の負荷を軽減させて使い勝手を向上させることができる。
【０１３１】
（５）他の実施の形態
なお上述の実施の形態においては、本発明をクラスタ８を構成するストレージノード３に適用するようにした場合について述べたが、本発明はこれに限らず、複数のＯＳ種別のホスト装置が共存する環境下で単体で使用されるストレージ装置にも適用することができる。
【０１３２】
また上述の実施の形態においては、各ストレージノード３内のフロントエンド部４０、ストレージ制御部４１、クラスタ管理部４２及びノード管理部４３をソフトウェア構成とするようにした場合について述べたが、本発明はこれに限らず、これらの一部又は全部をハードウェア構成とするようにしてもよい。
【０１３３】
さらに上述の実施の形態においては、管理用端末４からのボリュームパス作成指示に応じて指定されたホストボリュームＨＶＯＬと、指定されたグローバルボリュームＧＶＯＬと対応付けられた仮想ボリュームＶＶＯＬとの間を接続するボリュームパスを作成する機能をストレージ制御部４１に搭載するようにした場合について述べたが、本発明はこれに限らず、かかる機能を有する機能部をストレージ制御部４１とは別個に設けるようにしてもよい。
【産業上の利用可能性】
【０１３４】
本発明は、複数のＯＳ種別のホスト装置が共存する環境下で使用される種々の構成のストレージ装置に広く適用することができる。
【符号の説明】
【０１３５】
１……情報処理システム、２……コンピュートノード、３……ストレージノード、８……クラスタ、１０……ＣＰＵ、１１……メモリ、１２……記憶装置、２０……クラスタ管理プログラム、２１……ノード管理プログラム、２２……フロントエンドプログラム、２３……ストレージ制御プログラム、２４……スケールアウトデータベース、２５……ＯＳ種別テーブル、２６……コンピュートノード管理テーブル、２７……ボリュームパス管理テーブル、２８……モードパラメータテーブル、２９……ＨＧ−ＩＶＯＬ管理テーブル、３０……ＤＢ側コンピュートノード管理テーブル、３１……ＤＢ側ボリュームパス管理テーブル、４０……フロントエンド部、４１……ストレージ制御部、４２……クラスタ管理部、４３……ノード管理部、ＨＧ……ホストグループ、ＶＯＬ……ボリューム、ＧＶＯＬ……グローバルボリューム、ＨＶＯＬ……ホストボリューム、ＩＶＯＬ……インターナルボリューム、ＶＶＯＬ……仮想ボリューム。
【図１】
2020021254.tif 000003
【図２】
2020021254.tif 000004
【図３】
2020021254.tif 000005
【図４】
2020021254.tif 000006
【図５】
2020021254.tif 000007
【図６】
2020021254.tif 000008
【図７】
2020021254.tif 000009
【図８】
2020021254.tif 000010
【図９】
2020021254.tif 000011
【図１０】
2020021254.tif 000012
【図１１】
2020021254.tif 000013
【図１２】
2020021254.tif 000014
【図１３】
2020021254.tif 000015
【図１４】
2020021254.tif 000016
【図１５】
2020021254.tif 000017
【図１６】
2020021254.tif 000018
【図１７】
2020021254.tif 000019
【図１８】
2020021254.tif 000020
【図１９】
2020021254.tif 000021
【図２０】
2020021254.tif 000022