(57)【要約】【課題】  アプリケーションによるファイルの使用方法に基づいて、適切な物理的位置関係を有するボリュームを割り当てる。【解決手段】  アプリケーション管理部３１０は、アプリケーション領域の拡張要求を受け取ると、予め設定された配置ルールテーブル３１３とファイル管理テーブル３３０とに基づいて、配置要求テーブルを生成する。配置要求テーブルは、割当てられる論理ディスク２２２に記憶されるファイルと既存ファイルとを、同一のディスクドライブ２２１に記憶可能であるか否かを示すフラグが含まれている。ストレージ管理部３２０は、要求サイズ及びRAID構成のような基本的条件を満たす未使用論理ディスク２２２の中から、配置要求テーブルを考慮して、適切な物理的属性を備える論理ディスク２２２を選択する。選択された論理ディスク２２２は、アプリケーション１１０に割れ当てられる。【選択図】        図１
2006285739.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つ以上のアプリケーションプログラムが実行される第１コンピュータと、前記アプリケーションプログラムにより使用される複数のデータを一つまたは複数の記憶デバイスに記憶させるストレージ装置と、前記第１コンピュータ及び前記ストレージ装置にそれぞれ接続され、前記アプリケーションプログラムへの記憶領域の割当てを制御する第２コンピュータとを備えたストレージシステムであって、
前記第２コンピュータは、
前記各記憶デバイスに関するデバイス管理情報を管理するためのデバイス管理情報管理部と、
前記各データに関するデータ管理情報を管理するためのデータ管理情報管理部と、
前記アプリケーションプログラムへの記憶領域の割当てを制御する制御部と、
を備え、
前記制御部は、
前記アプリケーションプログラムへの記憶領域の割当てが要求された場合に、前記データ管理情報及び前記デバイス管理情報を用いることにより、前記要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、前記要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択し、この選択された記憶領域を前記アプリケーションプログラムが利用できるように、前記第１コンピュータ及び前記ストレージ装置にそれぞれ所定の指示を出すストレージシステム。
【請求項２】
前記記憶領域の割当て要求には、前記要求された記憶領域に関する物理的な位置条件以外の他の条件が含まれており、
前記制御部は、前記要求された記憶領域に記憶されるデータの特性に適合するように前記物理的な位置条件を選定し、この選定された物理的な位置条件に合致する未使用の記憶領域を選択する請求項１に記載のストレージシステム。
【請求項３】
前記物理的な位置条件は、前記要求された記憶領域を構成する記憶デバイスに関する条件である請求項２に記載のストレージシステム。
【請求項４】
前記物理的な位置条件は、前記要求された記憶領域と前記他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの可否を示す情報を含んで構成される請求項２に記載のストレージシステム。
【請求項５】
前記物理的な位置条件は、前記要求された記憶領域と前記他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの相対的な強度を示す情報を含んで構成される請求項２に記載のストレージシステム。
【請求項６】
前記記憶領域の物理的配置属性とは、その記憶領域を構成する記憶デバイスの位置、その記憶領域を構成する記憶デバイスへのアクセス経路のいずれか又は両方である請求項４または請求項５のいずれかに記載のストレージシステム。
【請求項７】
前記他の条件には、前記要求された記憶領域の容量、その記憶領域に記憶させるデータの種類、その記憶領域の論理的構成の少なくともいずれか一つまたは複数が含まれている請求項２に記載のストレージシステム。
【請求項８】
前記制御部は、前記要求された記憶領域に記憶される第１データと該第１データに関連して前記他の記憶領域に記憶されている第２データとの論理的な関係に適合するように、前記要求された記憶領域を選択する請求項１に記載のストレージシステム。
【請求項９】
前記制御部は、前記要求された記憶領域に記憶される第１データと該第１データに関連して前記他の記憶領域に記憶されている第２データとが同一の記憶デバイスに記憶可能な関係を有する場合、前記他の記憶領域を構成する記憶デバイスを含むようにして、前記要求された記憶領域を選択する請求項１に記載のストレージシステム。
【請求項１０】
前記制御部は、前記要求された記憶領域に記憶される第１データと該第１データに関連して前記他の記憶領域に記憶されている第２データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、前記他の記憶領域を構成する記憶デバイスを除くようにして、前記要求された記憶領域を選択する請求項１に記載のストレージシステム。
【請求項１１】
前記記憶領域の割当て要求には、前記要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件以外の他の条件が含まれており、
前記制御部は、前記要求された記憶領域に記憶される第１データと該第１データに関連して前記他の記憶領域に記憶されている第２データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、前記他の記憶領域を構成する記憶デバイスを除いた記憶デバイスのみから生成され、かつ、前記他の条件を満たす記憶領域を選択する請求項１に記載のストレージシステム。
【請求項１２】
前記制御部は、
予め設定された配置ルールと前記データ管理情報とに基づいて、前記要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件を決定する位置条件決定部と、
前記決定された物理的な位置条件と前記記憶領域の割当て要求に含まれている他の条件及び前記デバイス管理情報に基づいて、前記要求された記憶領域を決定する記憶領域決定部と、を含んで構成されている請求項１に記載のストレージシステム。
【請求項１３】
前記配置ルールは、前記アプリケーションプログラムの作成者または利用者のいずれかまたは双方が指定可能である請求項１２に記載のストレージシステム。
【請求項１４】
前記記憶領域の割当て要求は、前記第１コンピュータまたは前記第２コンピュータへの指示、または前記アプリケーションプログラムにより使用されるデータ量に基づいて、発行される請求項１に記載のストレージシステム。
【請求項１５】
少なくとも一つ以上のアプリケーションプログラムが実行される第１コンピュータと前記アプリケーションプログラムにより使用される複数のデータを一つまたは複数の記憶デバイスに記憶させるストレージ装置とにそれぞれ接続され、前記アプリケーションプログラムへの記憶領域の割当てを制御する管理用コンピュータであって、
前記各記憶デバイスに関するデバイス管理情報を管理するためのデバイス管理情報管理部と、
前記各データに関するデータ管理情報を管理するためのデータ管理情報管理部と、
前記アプリケーションプログラムへの記憶領域の割当てを制御する制御部と、
を備え、
前記制御部は、
前記アプリケーションプログラムへの記憶領域の割当てが要求された場合に、前記データ管理情報及び前記デバイス管理情報を用いることにより、前記要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、前記要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択し、この選択された記憶領域を前記アプリケーションプログラムが利用できるように、前記第１コンピュータ及び前記ストレージ装置にそれぞれ所定の指示を出す管理用コンピュータ。
【請求項１６】
第１コンピュータ上で稼働するアプリケーションプログラムに対し、ストレージ装置の有する記憶デバイスにより構成される記憶領域を割り当てるための記憶領域割当て方法であって、
前記アプリケーションプログラムへの記憶領域の割当て要求を受付けるステップと、
前記割当て要求が受け付けられた場合、前記アプリケーションプログラムにより使用されるデータに関するデータ管理情報と予め設定された配置ルールとに基づいて、前記要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件を決定するステップと、
前記決定された物理的な位置条件と前記割当て要求に含まれている他の条件、及び前記記憶デバイスに関するデバイス管理情報に基づいて、前記要求された記憶領域を選択するステップと、
この選択された記憶領域を前記アプリケーションプログラムが利用できるように、前記第１コンピュータ及び前記ストレージ装置にそれぞれ所定の指示を出すステップと、
を含む記憶領域割当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及び記憶領域割当て方法に関する。
【背景技術】
【０００２】
例えば、行政組織や企業あるいは大学等の各種機関では、日々増大し続ける多量のデータを効率的に管理するために、複数のコンピュータで記憶資源を共有する。このようなシステムとしては、例えば、SAN（Strorage Area Network）が知られている。
SANでは、例えば、複数のホストコンピュータ（以下、「ホスト」）と複数のストレージ装置とを備えている。各ホストとストレージ装置とは、例えば、ファイバチャネルプロトコルに基づいて、データ転送を行うことができる。
ストレージ装置は、例えば、ディスクアレイ装置またはストレージサブシステム等とも呼ばれるもので、多数の物理的な記憶デバイスをアレイ状に配設して構成される。ストレージ装置は、例えば、RAID（Redundant Array of Independent Disks）に基づく複数の記憶領域を提供することができる。各ディスクドライブが有する物理的な記憶領域上には、論理的な記憶領域である論理ボリューム（論理的な記憶デバイス）が形成される。
【０００３】
各ホストは、自分に割り当てられた論理ボリュームを使用して、データの入出力を行うことができる。例えば、データベース管理プログラム等のような、ホスト上で稼働するアプリケーションプログラム（以下、「アプリケーション」）は、所定の論理ボリュームに記憶されたデータ群を用いて、所定の業務を遂行する。
多数の論理ボリュームを各ホストにそれぞれ提供可能なストレージシステムにおいては、各ホストは、多数の論理ボリュームの中から所望の論理ボリュームを選択して使用することができる。このような利点がある一方、論理ボリュームに関する選択肢が多すぎるため、ユーザは、どのアプリケーションにどの論理ボリュームを割り当てるのが良いかについての選択に悩む。
【０００４】
そこで、ストレージシステム内の記憶資源を一元管理するための管理プログラムを設け、この管理プログラムによって、各ホストに論理ボリュームを割り当てるようにした技術が提案されている（特許文献１）。この文献に記載の技術では、各ホストは、新たな論理ボリュームが必要になると、必要とするボリュームサイズやRAID構成の種別を管理プログラムに通知する。管理プログラムは、ホストからの要求に合致する論理ボリュームを選択し、この選択された論理ボリュームをホストに割り当てる。
【特許文献１】特開２００１−１４２６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記文献に記載の管理プログラムは、ホストからの要求を受けて、論理ボリュームをそのホストに割り当てる。従って、ボリュームの割当ては、ユーザから隠蔽されており、ユーザは、物理的記憶デバイスの種類や数等を意識する必要はない。
しかし、前記文献に記載の従来技術では、ボリュームサイズやRAID構成のような論理ボリュームに関する大まかな条件を指定することはできるが、その論理ボリュームを構成する物理的記憶デバイスの位置やアクセス経路についての詳細な条件を指定することはできない。
【０００６】
従って、アプリケーションの具体的な利用方法を考慮して、そのアプリケーションに最適な論理ボリュームを選択することができないという未解決の課題がある。例えば、データベース管理プログラムで使用されるデータベースファイルとシステムファイルとは、それぞれ異なる物理的記憶デバイスに、あるいは、それぞれ異なるアクセス経路となる物理的記憶デバイスに記憶されるのが好ましい。
【０００７】
もしも、データベースファイルとシステムファイルとが同一の物理的記憶デバイスに記憶された場合、システムファイルの作成に伴うデータ入出力（I/O）とデータベースファイルへのデータ入出力（I/O）とが同一の記憶デバイスに対して行われる。このため、その記憶デバイスへのI/Oが競合し、応答性能が劣化する。
【０００８】
また、信頼性の観点から、システムファイルのような重要ファイルは、複数の論理ボリュームにそれぞれ記憶させて、二重化する。この場合も、二重化される各ファイルは、それぞれ物理的に異なる記憶デバイスに記憶されるのが好ましい。
【０００９】
このように、アプリケーションによるファイルの具体的な使用方法や使用内容は、そのアプリケーションが把握しており、ファイルの使用方法等は、アプリケーションの種類等によってそれぞれ相違する。
【００１０】
しかし、前記文献に記載の従来技術では、アプリケーションによるファイルの使用方法等を考慮して論理ボリュームを選択することができない。このため、従来技術では、信頼性や性能の点で、不適切な論理ボリュームが選択される可能性があり、そのアプリケーションに適した論理ボリュームを選択することができないという問題がある。
【００１１】
そこで、本発明の一つの目的は、データの性質に応じて適切な記憶領域を提供可能なストレージシステム及び記憶領域割当て方法を提供することにある。本発明の一つの目的は、既に存在する他の記憶領域との物理的な関係及び新たな記憶領域に記憶されるデータの特性を考慮して、適切な記憶領域を割り当てることができるようにしたストレージシステム及び記憶領域割当て方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本発明の一つの側面に従うストレージシステムは、少なくとも一つ以上のアプリケーションプログラムが実行される第１コンピュータと、アプリケーションプログラムにより使用される複数のデータを一つまたは複数の記憶デバイスに記憶させるストレージ装置と、第１コンピュータ及びストレージ装置にそれぞれ接続され、アプリケーションプログラムへの記憶領域の割当てを制御する第２コンピュータとを備えたストレージシステムであって、第２コンピュータは、各記憶デバイスに関するデバイス管理情報を管理するためのデバイス管理情報管理部と、各データに関するデータ管理情報を管理するためのデータ管理情報管理部と、アプリケーションプログラムへの記憶領域の割当てを制御する制御部と、を備え、制御部は、アプリケーションプログラムへの記憶領域の割当てが要求された場合に、データ管理情報及びデバイス管理情報を用いることにより、要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択し、この選択された記憶領域をアプリケーションプログラムが利用できるように、第１コンピュータ及びストレージ装置にそれぞれ所定の指示を出すようになっている。
【００１３】
このストレージシステムは、少なくとも一つ以上の第１コンピュータと、少なくとも一つ以上のストレージ装置と、少なくとも一つ以上の第２コンピュータとを備えて構成することができる。第１コンピュータは、例えば、サーバマシン等のように構成され、一つまたは複数のアプリケーションプログラム（以下、アプリケーション）を実行させることができる。ストレージ装置は、アプリケーションにより使用されるデータ（例えば、ファイル）を記憶するための記憶領域をアプリケーションに提供する。第２コンピュータは、ストレージシステム内の記憶領域を管理するための管理用コンピュータである。記憶領域は、一つまたは複数の記憶デバイスの有する物理的な記憶領域上に設定される。
【００１４】
データ管理情報は、例えば、既に存在する他の記憶領域に記憶されているデータを管理するための情報である。データ管理項目としては、例えば、データの種別、データを使用するアプリケーションを特定する情報、データのサイズ等を挙げることができる。
【００１５】
デバイス管理情報は、各記憶デバイスを管理するための情報である。デバイス管理項目としては、例えば、論理ボリュームを特定する情報、論理ボリュームのRAID構成、論理ボリュームの状態（使用中か否か等）、論理ボリュームを構成する記憶デバイスを特定する情報、論理ボリュームへのアクセス経路等を挙げることができる。
【００１６】
第２コンピュータの制御部は、アプリケーションへの記憶領域の割当てが要求されると、この要求された記憶領域と既に存在する他の記憶領域との物理的な関係を考慮して、その要求された記憶領域に記憶されるデータの特性に応じた記憶領域を選択する。
【００１７】
これから選択しようとする記憶領域と他の記憶領域との物理的な関係とは、例えば、これら各記憶領域をそれぞれ構成する、あるいは、これら各記憶領域に関連する物理的構成の関係を意味する。物理的構成としては、例えば、その記憶領域を構成する物理的記憶デバイスの位置、その物理的記憶デバイスへのアクセス経路等を挙げることができる。
【００１８】
データの特性に応じた記憶領域とは、例えば、そのデータの使用方法等に応じた記憶領域である。例えば、耐障害性の観点から冗長化されて記憶される複数のデータは、それぞれ異なる物理的記憶デバイスから構成される記憶領域に、または、それぞれアクセス経路の異なる物理的記憶デバイスから構成される記憶領域に、記憶される。また、例えば、性能向上の観点からI/Oの競合を回避すべき複数のデータは、それぞれ物理的構成の異なる記憶領域に記憶される。
【００１９】
一つの実施形態では、記憶領域の割当て要求には、要求された記憶領域に関する物理的な位置条件以外の他の条件が含まれており、制御部は、要求された記憶領域に記憶されるデータの特性に適合するように物理的な位置条件を選定し、この選定された物理的な位置条件に合致する未使用の記憶領域を選択する。
【００２０】
物理的な位置条件以外の他の条件としては、例えば、記憶領域のサイズ、その記憶領域の構成（RAIDレベル）、その記憶領域を必要とするコンピュータ及びアプリケーションを特定する情報等を挙げることができる。この大まかな指示に基づいて、記憶領域を選択することも可能である。しかし、本発明の制御部は、他の条件に加えて、データの特性に適合する物理的な位置条件を選定し、この選定された物理的な位置条件に合致する未使用の記憶領域を選択する。他の条件は、基本条件と呼ぶこともできる。
【００２１】
ここで、物理的な位置条件とは、例えば、要求された記憶領域を構成する記憶デバイスに関する条件として定義可能であり、例えば、記憶領域を構成する物理的記憶デバイスの位置や、記憶デバイスへのアクセス経路等を挙げることができる。
【００２２】
物理的な位置条件は、要求された記憶領域と他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの可否を示す情報を含んで構成することもできる。物理的配置属性とは、例えば、その記憶領域のストレージシステム内における物理的な所在に関する属性を意味し、どのストレージ装置に存在するか、どの記憶デバイスにより構成されるか、どのようなアクセス経路でアクセス可能か等を挙げることができる。
【００２３】
本発明の他の実施形態では、物理的な位置条件は、要求された記憶領域と他の記憶領域とがそれぞれ異なる物理的配置属性を備えるべきか否かの相対的な強度を示す情報を含んで構成されている。例えば、相対的な強度の値が高く設定されるほど、他の記憶領域とは異なる物理的配置属性を備える記憶領域が要求される。このように、これから選択または生成しようとする記憶領域と既に存在する他の記憶領域とを物理的に遠ざけるべきか否かを、相対的な強度を示す情報によって指示することができる。
【００２４】
制御部は、要求された記憶領域に記憶される第１データと該第１データに関連して他の記憶領域に記憶されている第２データとの論理的な関係に適合するように、要求された記憶領域を選択することができる。例えば、第１データと第２データとが互いにバックアップする関係にある場合（即ち、二重化されたデータの場合）、第１データの記憶される記憶領域は、第２データの記憶されている記憶領域と異なる物理的属性を備えているのが好ましい。また、第１データと第２データとのI/Oが競合する場合も、それぞれ異なる物理的属性を備えた記憶領域に記憶させるのが好ましい。
【００２５】
制御部は、第１データと第２データとが同一の記憶デバイスに記憶可能な関係を有する場合、他の記憶領域を構成する記憶デバイスを含むようにして、要求された記憶領域を選択することができる。例えば、第１データと第２データとが、二重化の関係になく、I/Oが競合する関係にも無い場合、第１データ及び第２データは、それぞれ同一の記憶デバイスに設定された別々の記憶領域に記憶させることができる。
【００２６】
制御部は、第１データと第２データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、他の記憶領域を構成する記憶デバイスを除くようにして、要求された記憶領域を選択することもできる。
【００２７】
記憶領域の割当て要求には、要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件以外の他の条件が含まれており、制御部は、要求された記憶領域に記憶される第１データと該第１データに関連して他の記憶領域に記憶されている第２データとがそれぞれ異なる記憶デバイスに記憶されるべき関係を有する場合、他の記憶領域を構成する記憶デバイスを除いた記憶デバイスのみから生成され、かつ、他の条件を満たす記憶領域を選択することができる。
【００２８】
制御部は、予め設定された配置ルールとデータ管理情報とに基づいて、要求された記憶領域を構成すべき記憶デバイスに関する物理的な位置条件を決定する位置条件決定部と、決定された物理的な位置条件と記憶領域の割当て要求に含まれている他の条件及びデバイス管理情報に基づいて、要求された記憶領域を決定する記憶領域決定部と、を含んで構成することができる。
【００２９】
本発明は、例えば、記憶領域割当て方法、記憶領域の割当てを管理する管理用コンピュータとして把握することもできる。本発明の構成の全部または一部は、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができるほか、インターネット等の通信ネットワークを介して、配信することもできる。
【発明を実施するための最良の形態】
【００３０】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、業務ホスト１０と、ストレージ装置２０及び管理ホスト３０を備えており、これら各装置１０〜３０は、それぞれ互いに接続されている。管理ホスト３０は、アプリケーション１１０へのボリューム２２２の割当てが要求されると、この要求されたボリューム２２２の用途（どのような性質のデータを格納するのか）に応じて、既に存在する他のボリュームとの物理的な関係を考慮し、用途に適したボリュームを選択または新たに生成し、アプリケーション１１０に提供する。
【００３１】
アプリケーション１１０へのボリューム割当て要求には、例えば、ボリュームサイズやRAID構成等の基本的な条件が含まれている。管理ホスト３０は、この基本条件に合致する未使用のボリューム２２２を抽出し、この抽出されたボリューム２２２の中からボリュームの用途に応じた適切な物理的属性を有するボリュームを選択する。従って、ボリューム割当て要求を指示するユーザやアプリケーション１１０は、基本的条件だけを指定すればよく、物理的属性の適否について考慮する必要はない。
【実施例１】
【００３２】
図１は、本発明に係るストレージシステムの全体構成を示すブロック図である。このストレージシステムは、例えば、業務ホスト１０と、ストレージ装置２０と、管理ホスト３０とを含んで構成することができる。なお、図１中では、それぞれ一つずつ示しているが、複数の業務ホスト１０及び複数のストレージ装置２０を設けることができる。
【００３３】
業務ホスト１０は、例えば、サーバマシンやメインフレームとして構成されるもので、所定の一つまたは複数の業務処理を実行する。業務ホスト１０は、例えば、アプリケーション１１０と、ボリューム管理部１２０と、ボリューム管理テーブル１３０とを備えて構成することができる。アプリケーション１１０としては、例えば、データベース管理プログラム、ウェブページ生成プログラム、ドキュメント生成プログラム、画像生成プログラム等を挙げることができる。一つの業務ホスト１０上で複数種類のアプリケーション１１０をそれぞれ実行させることができる。
【００３４】
ボリューム管理部１２０は、ボリューム管理テーブル１３０を用いることにより、その業務ホスト１０が使用する各ボリュームの情報を管理する。ボリューム管理テーブル１３０には、どのアプリケーション１１０がどのボリュームを利用しているかの情報が記憶されている。
【００３５】
ストレージ装置２０は、例えば、ディスクコントローラ２１０と、記憶部２２０とを備えて構成することができる。ディスクコントローラ２１０は、ストレージ装置２０の全体動作を制御するもので、業務ホスト１０及び管理ホスト３０との間の情報交換や、記憶部２２０との間のデータ入出力処理等を行う。ディスクコントローラ２１０は、ディスク管理テーブル２１１を用いることにより、記憶部２２０内の各ディスクドライブ２２１及び各ボリューム２２２をそれぞれ管理する。
【００３６】
記憶部２２０は、複数のディスクドライブ２２１を備えている。各ディスクドライブ２２１とディスクコントローラ２１０とは、それぞれ複数の経路で接続されている。いずれか一方の経路が使用不能な場合でも、ディスクコントローラ２１０は、他方の経路を介してディスクドライブ２２１にアクセスすることができる。
【００３７】
各ディスクドライブ２２１は、例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ、光磁気ディスクドライブ等のような各種の物理的記憶デバイス及びこれらの均等物から構成することができる。ハードディスクドライブの場合、例えば、FC（Fibre Channel）ディスク、SATA（Serial AT Attachment）ディスク、SAS（Serial Attached SCSI）ディスク等を用いることができる。また、異種類のディスクを混在させることもできる。
【００３８】
RAID構成等によっても相違するが、例えば、３個１組あるいは４個１組等のような複数個のディスクドライブ２２１によって、パリティグループ（RAIDグループとも呼ぶ）を構成することができる。各パリティグループが提供する記憶領域上には、論理ボリューム（図中「LU」）２２２を少なくとも一つ以上設定することができる。この論理ボリューム（以下、「ボリューム」）２２２が「記憶領域」に該当し、ディスクドライブ２２１が「記憶デバイス」に該当する。アプリケーション１１０は、ボリューム２２１をアクセス対象として認識し、このボリューム２２１にデータを書き込んだり、このボリューム２２１からデータを読み出す。なお、一つのディスクドライブ２２１に一つのボリューム２２２を設定することもできる。
【００３９】
管理ホスト３０は、アプリケーション１１０へのボリューム２２２の割当てを一元的に管理するコンピュータである。管理ホスト３０は、例えば、アプリケーション管理部３１０と、ストレージ管理部３２０と、ファイル管理テーブル３３０とを備えて構成することができる。
【００４０】
アプリケーション管理部３１０は、ストレージシステム内に存在するアプリケーション１１０の情報を管理し、アプリケーション１１０が動作するために必要な指示を与えるものである。アプリケーション管理部３１０は、アプリケーション領域拡張部３１１を備えることができる。アプリケーション領域拡張部（以下、「領域拡張部」）３１１は、アプリケーション１１０が使用するボリュームの拡張、新規割当てを行うものである。領域拡張部３１１は、配置要求テーブル生成処理３１２及び配置ルールテーブル３１３を備えている。領域拡張部３１１は、後述のように、配置ルールテーブル３１３を用いて、配置要求テーブルを生成し、この生成された配置要求テーブルを含む領域要求リストをストレージ管理部３２０に送信する。
【００４１】
ストレージ管理部３２０は、ストレージシステム内のディスクドライブ２２１及びボリューム２２２の所在等を管理するものである。ストレージ管理部３２０は、例えば、記憶領域割当部３２１と、ディスク管理テーブル３２３とを備えて構成可能である。記憶領域割当部３２１は、デバイス選択処理３２２を実行する。
【００４２】
デバイス選択処理３２２の詳細は後述するが、デバイス選択処理３２２は、アプリケーション管理部３１０から渡される領域要求リストとディスク管理テーブル３２３とを用いることにより、新規ボリュームの用途に応じて、既存ボリュームと適切な物理的関係を有するボリューム２２２を選択する。
【００４３】
ファイル管理テーブル３３０は、アプリケーション１１０が使用している各ファイル管理するためのテーブルである。詳細は後述する。
【００４４】
図２は、ストレージシステムのハードウェア構成及びネットワーク構成に着目したブロック図である。先にネットワーク構造から説明すると、各業務ホスト１０は、それぞれ通信ネットワークCN１を介して、ストレージ装置２０に接続されている。
【００４５】
この通信ネットワークCN１としては、例えば、FC-SAN（Fibre Channel-SAN）やIP-SAN（Internet Protocol-SAN）等を挙げることができる。業務ホスト１０は、例えば、ファイバチャネルプロトコル、TCP/IP（Transmission Control Protocol/Internet Protocol）、ESCON（登録商標）、FICON（登録商標）等のプロトコルに基づいて、ストレージ装置２０と通信を行う。
【００４６】
各業務ホスト１０，ストレージ装置２０及び管理ホスト３０は、別の通信ネットワークCN２を介して、それぞれ接続されている。この通信ネットワークCN２は、管理用ネットワークと呼ぶことができ、例えば、LAN（Local Area Network）やWAN（Wide Area Netwrok）等から構成することができる。各業務ホスト１０，ストレージ装置２０及び管理ホスト３０は、例えば、TCP/IP等のプロトコルに基づいて、管理用のデータを通信することができる。
【００４７】
次に、ハードウェア構成について説明する。一つの業務ホスト１０を例に挙げて説明すると、業務ホスト１０は、例えば、CPU（Central Processing Unit）１０１と、メモリ１０２と、ローカルディスク１０３と、LANインターフェース１０４と、HBA（Host Bus Adapter）１０５とを備えて構成することができる。これら各部１０１〜１０５は、バス１０６によって接続されている。
【００４８】
メモリ１０２は、例えば、ROM（Read Only Memory）やRAM（Random Access Memory）等を含んで構成することができる。メモリ１０２には、アプリケーション１１０やボリューム管理部１２０のプログラムが記憶されている。CPU１０１は、これらのプログラムをメモリ１０２から読出して実行することにより、各機能をそれぞれ実現するようになっている。なお、ボリューム管理テーブル１３０は、ローカルディスク１０３に記憶させているが、これに限らず、メモリの空き容量がそれを許すならば、メモリ１０２に記憶させてもよい。
【００４９】
そして、業務ホスト１０は、LANインターフェース１０４を介して通信ネットワークCN２に接続されており、管理ホスト３０との間でデータ通信を行う。なお、業務ホスト１０は、複数のHBA１０５を備えることができる。
【００５０】
ストレージ装置２０のディスクコントローラ２１０は、例えば、CPU２０１と、制御メモリ２０２と、キャッシュメモリ２０３とを備えて構成できる。制御メモリ２０２には、制御プログラムのほかにディスク管理テーブル２１１が記憶されている。ディスク管理テーブル２１１は、定期的に、または不定期に、通信ネットワークCN２を介して、管理ホスト３０に送信される。管理ホスト３０は、ストレージ装置２０から取得したディスク管理テーブル２１１に基づいて、ディスク管理テーブル３２３を生成する。ストレージ装置２０は、例えば、記憶部２２０の構成が変更されると、I/O量の少ない時間帯を見計らって、ディスク管理テーブル２１１を管理ホスト３０に送信する。
【００５１】
CPU２０１は、制御メモリ２０２に記憶されている制御プログラムを読み込んで実行することにより、RAID制御やディスクアクセス等を制御する。キャッシュメモリ２０３は、ディスクドライブ２２１に書き込まれるデータ（ライトデータ）や、業務ホスト１０に読み出されたデータ（リードデータ）等が記憶されている。
【００５２】
なお、例えば、いずれかのディスクドライブ２２１の記憶領域をキャッシュ領域として使用することもできる。また、キャッシュメモリ２０３の一部を、一つまたは複数の論理ディスクに見せかけて、ディスクドライブ２２１へのアクセスが不要なデバイスとして利用することもできる。
【００５３】
ディスクコントローラ２１０は、複数のポート２０４及び通信ネットワークCN１を介して、各業務ホスト１０とそれぞれ個別に通信を行うことができる。ディスクコントローラ２１０は、LANインターフェース２０５及び通信ネットワークCN２を介して、管理ホスト３０に接続されている。なお、ディスクコントローラ２１０は、例えば、SAN等の通信ネットワーク２０６を介して各ディスクドライブ２２１に接続されている。
【００５４】
管理ホスト３０は、例えば、CPU３０１と、メモリ３０２と、ローカルディスク３０３と、LANインターフェース３０４とを備えて構成することができる。これら各部３０１〜３０４は、バス３０５を介して接続されている。
【００５５】
メモリ３０２には、複数のプログラムが記憶されている。これらのプログラムをCPU３０１が読み込んで実行することにより、アプリケーション管理部３１０やストレージ管理部３２０が実現される。ローカルディスク３０３には、ファイル管理テーブル３３０を記憶させることができる。
【００５６】
図３は、ストレージシステムのデータ構造を模式的に示す説明図である。アプリケーション１１０がデータベース管理プログラムである場合を例に挙げる。アプリケーション１１０は、一つまたは複数のサーバプロセスを実行することができる。
【００５７】
一つのサーバプロセスは、それぞれ複数種類のファイル１１１Ａ，１１１Ｂ，１１２Ａ，１１２Ｂを利用することができる。RDエリア１１１Ａ，１１１Ｂは、表を格納する論理的なエリアであり、複数のファイルから構成される。RDエリアは、表スペースあるいは表領域と呼ばれることもある。シンクポイントダンプ（以下、「spd」）１１２Ａ，１１２Ｂは、障害からの回復時に必要な管理情報であり、システムファイルの一種であるシンクポイントダンプファイル（以下、spdファイル）から構成される。
【００５８】
サーバプロセスは、例えば定期的に、シンクポイントを取得する。シンクポイントの取得時には、そのサーバプロセスの配下にある全てのRDエリア１１１Ａ，１１１Ｂ、及びいずれか１つのspd１１２Ａ（または１１２Ｂ）に対して、同時にライトアクセスが行われる。
【００５９】
各RDエリア１１１Ａ，１１１Ｂ及び各spd１１２Ａ，１１２Ｂは、それぞれ複数のファイル１１３を含んで構成することができる。これらの各ファイル１１３は、それぞれ所定の論理ディスク（論理ボリューム）２２２に記憶される。なお、以下の説明では、論理ボリュームを論理ディスク２２２と呼ぶ。
【００６０】
既に述べた通り、各ボリューム２２２は、ディスクドライブ２２１の有する物理的な記憶領域上に設定された論理的な存在である。ボリューム２２２に記憶されるファイル１１３のデータは、そのボリューム２２２を構成する所定のディスクドライブ２２１の所定のアドレスに記憶される。
【００６１】
複数のディスクドライブ２２１によってRAIDに基づく記憶構造が形成される場合、ディスクコントローラ２１０は、RAIDレベルに応じて、ファイル１１３のデータをディスクドライブ２２１に記憶させる。例えば、RAID１の場合、ファイル１１３のデータは、別々のディスクドライブ２２１にそれぞれ記憶される。RAID３−５の場合、ファイル１１３のデータは、所定サイズに分割されて複数のディスクドライブ２２１に分散して記憶される。また、分割されたデータのパリティが算出され、この算出されたパリティは、所定のディスクドライブ２２１または各ディスクドライブ２２１に記憶される。以上述べたRAID制御は、ディスクコントローラ２１０によって行われる。
【００６２】
図３に示すように、RDエリア１１１Ａ，１１１Ｂの各spdファイル１１３は、spd１１２Ａ，１１２Ｂの各ファイル１１３とは物理的に異なるディスクドライブ２２１に記憶される。また、二重化されるspdファイルｆ６とｆ７、ｆ８とｆ９は、それぞれ物理的に異なるディスクドライブ２２１に記憶される。
【００６３】
図４は、ディスク管理テーブル３２３の構成例を示す説明図である。ディスク管理テーブル３２３は、ストレージ装置２０の保持するディスク管理テーブル２１１と同一の構成を備えることができる。
【００６４】
ディスク管理テーブル３２３は、例えば、論理ディスク番号と、サイズと、RAID構成と、状態と、物理ディスク番号と、パス情報とを対応付けることにより、構成することができる。論理ディスク番号とは、各論理ディスク２２２を識別するための情報である。本実施例では、論理ディスク番号により、各論理ディスク２２２をストレージ装置２０内で一意に特定することができる。サイズとは、論理ディスク２２２の記憶容量（ボリュームサイズ）を示す。RAID構成とは、論理ディスク２２２のRAIDレベルを示す。
【００６５】
状態とは、論理ディスク２２２の現在の状態を示す。状態の種類としては、例えば、「使用中」、「未使用」、「障害発生」等を挙げることができる。「使用中」状態の場合、その論理ディスク２２２は、いずれかのアプリケーション１１０によって使用されていることを示す。「未使用」状態の場合、その論理ディスク２２２は、いずれのアプリケーション１１０からも使用されていない（マウントされていない）ことを示す。
【００６６】
物理ディスク番号とは、その論理ディスク２２２を構成するディスクドライブ２２１を特定するための情報である。物理ディスク番号により、ストレージ装置２０内において、各ディスクドライブ２２１は、それぞれ一意に特定される。パス情報とは、論理ディスク２２２へのアクセス経路を識別するための情報である。パス情報には、ポート２０４を識別するポート番号を使用することができる。
【００６７】
図５は、ファイル管理テーブル３３０の構成例を示す説明図である。ファイル管理テーブル３３０は、ストレージシステム内の各ファイルが、どのアプリケーション１１０により使用されており、どこに記憶されているか等を一元的に管理する。
【００６８】
ファイル管理テーブル３３０は、例えば、ファイル名称と、ファイル種別と、サーバプロセスIDと、RDエリアIDと、ファイルグループIDと、論理ディスク番号と、ファイルサイズとを対応付けることにより、構成することができる。ファイル名称とは、そのファイルの名称である。ファイル種別とは、そのファイルの種類を示す。本実施例では、ファイル種別として「DB」及び「spd」の２種類を例示する。RDエリア１１１Ａ，１１１Ｂを構成する各ファイルは、「DB」に分類される。spd１１２Ａ，１１２Ｂを構成する各ファイルは、「spd」に分類される。
【００６９】
サーバプロセスIDとは、サーバプロセスを識別するための情報である。ストレージシステム内で、各サーバプロセスは、サーバプロセスIDにより一意に特定される。RDエリアIDとは、ストレージシステム内に存在する各RDエリアを一意に特定するための情報である。RDエリアIDは、RDエリアを構成するファイルについてのみ設定され、RDエリアに属さない他のファイル（種別「spd」のファイル）には設定されない。ファイルグループIDとは、二重化されるファイルのグループをストレージシステム内で一意に識別するための情報である。本実施例では、spdファイルに属するファイルのみが二重化される場合を例示する。従って、ファイルグループIDは、spdファイルに属するファイルについてのみ設定され、spdファイルに属さない他のファイル（種別「DB」のファイル）には設定されない。
【００７０】
論理ディスク番号とは、上述の通り、論理ディスク２２２を一意に特定するための情報であり、これにより、各ファイルが記憶されている論理ディスク２２２を特定することができる。ファイルサイズとは、そのファイルの大きさを示す。なお、本明細書では、論理ディスクを「デバイス」と呼ぶ場合もある。
【００７１】
図６は、配置ルールテーブル３１３の構成例を示す説明図である。配置ルールテーブル３１３は、アプリケーション１１０によるファイルの使用方法に基づいて導き出される論理ディスク２２２の割当て方針を管理するものである。従って、配置ポリシーテーブルと呼ぶこともできる。配置ルールテーブル３１３は、例えば、ルール番号と、新規ファイル種別と、既存ファイル種別と、比較項目と、フラグとを対応付けることにより、構成することができる。
【００７２】
ルール番号とは、配置ルールを識別するための情報である。新規ファイル種別とは、アプリケーション１１０に新たに割り当て予定の論理ディスク２２２に記憶されるファイルの種別を示す。既存ファイル種別とは、既に存在する論理ディスク２２２（使用中または障害発生中の論理ディスク２２２）に記憶されているファイルの種別を示す。比較項目とは、新規ファイルと既存ファイルとを比較すべき項目を示す。
【００７３】
フラグとは、新規ファイルと既存ファイルを、同一のディスクドライブ２２１に記憶させることの是非を示す。フラグが「可（OK）」に設定される場合、新規ファイルは、既存ファイルの記憶されているディスクドライブ２２１に記憶させることができる。即ち、その既存ファイルが記憶されているディスクドライブ２２１により構成された別の論理ディスク２２２を、アプリケーション１１０に割り当てることができる。フラグが「不可（NG）」に設定される場合、新規ファイルと既存ファイルとは、同一のディスクドライブ２２１に記憶させることはできない。新規ファイルと既存ファイルとは、それぞれ別々のディスクドライブ２２１に記憶される。
【００７４】
ルール番号ｒ＃１は、新規ファイル及び既存ファイルの種別がそれぞれ「DB」である場合の配置方針を規定する。この第１ルールでは、新規ファイルと既存ファイルとのRDエリアIDを比較し、両ファイルのRDエリアIDが一致する場合、新旧のファイルが同一のディスクドライブ２２１にそれぞれ記憶されることを許可する。
【００７５】
ルール番号ｒ＃２では、新規ファイルの種別が「DB」、既存ファイルの種別が「spd」である場合の配置方針を規定する。この第２ルールでは、新規ファイルと既存ファイルのサーバプロセスIDを比較し、両ファイルのサーバプロセスIDが一致する場合、新旧のファイルの同一のディスクドライブ２２１への記憶を禁止する。第２ルールでは、シンクポイントの取得時に、DBファイルとspdファイルとにそれぞれライトアクセスが発生するため、I/Oの競合を回避して応答性能の低下を防止している。
【００７６】
ルール番号ｒ＃３では、ルール番号ｒ＃２と逆に、新規ファイルの種別が「spd」、既存ファイルの種別が「DB」である場合の配置方針を規定する。この第３ルールの内容は、第２ルールの内容と同一である。
【００７７】
ルール番号ｒ＃４では、新規ファイル及び既存ファイルの種別がそれぞれ「spd」である場合の配置方針を規定する。この第４ルールでは、新旧のファイルのファイルグループIDを比較し、両ファイルのファイルグループIDが一致する場合、新規ファイルと既存ファイルとが同一のディスクドライブ２２１に記憶されるのを禁止する。spdファイルは二重化されるが、二重化されたspdファイルを同一のディスクドライブ２２１にそれぞれ記憶させるのは、耐障害性の点で好ましくないためである。
【００７８】
図７は、ボリューム管理テーブル１３０の構成例を示す説明図である。ボリューム管理テーブル１３０は、アプリケーション１１０が論理ディスク２２２を使用するための情報を管理している。ボリューム管理テーブル１３０は、例えば、デバイスファイル名と、論理ディスク番号と、インターフェース番号とを対応付けることにより、構成することができる。
【００７９】
デバイスファイル名とは、アプリケーション１１０からのアクセス要求を受け付けるためのファイル名を示す。論理ディスク番号とは、そのデバイスファイル名に関連づけられる論理ディスク２２２の番号を示す。インターフェース番号とは、業務ホスト１０からストレージ装置２０に接続するためのインターフェースを識別する情報であり、例えば、HBA１０５を特定するための情報が使用される。
【００８０】
図８は、アプリケーション管理部３１０によって生成される領域要求リスト３１４の構成例を示す説明図である。領域要求リスト３１４は、アプリケーション１１０に割り当てるべき論理ディスク２２２を選択するため条件を規定する。領域要求リスト３１４は、選択条件情報と呼ぶこともできる。ストレージ管理部３２０は、領域要求リスト３１４に規定された各条件を満たす未使用の論理ディスク２２２を選択する。
【００８１】
領域要求リスト３１４は、例えば、ホスト識別情報と、要求サイズと、RAID構成と、配置とを対応付けることにより、構成することができる。
ホスト識別情報とは、論理ディスク２２２の割当てを希望する業務ホスト１０を識別するための情報である。ホスト識別情報により、各業務ホスト１０は、ストレージシステム内で一意に特定される。
要求サイズとは、必要とする論理ディスク２２２のサイズを示す。RAID構成とは、必要とするRAID構成を示す情報である。配置とは、論理ディスク２２２の物理的な配置条件（位置条件）を規定する情報である。
RAID構成には、例えば「RAID１またはRAID５のいずれか」等のように、複数種類の構成をセットすることができる。なお、後述の実施例のように、ディスクドライブ２２１の種別（FCディスク、SATAディスク等）を領域要求リスト３１４の項目に含めることもできる。
【００８２】
ここで、配置の詳細は、配置要求テーブル３１５によって示すことができる。配置要求テーブル３１５は、後述のように、配置ルールテーブル３１３及びファイル管理テーブル３３０によって生成される。配置要求テーブル３１５は、ストレージシステム内の各論理ディスク２２２について、その選択の是非を示したものである。配置要求テーブル３１５は、例えば、論理ディスク番号とフラグとを対応付けることにより構成される。
【００８３】
フラグが「可（OK）」に設定されている場合、その論理ディスク２２２が構築されているディスクドライブ２２１に存在する別の未使用の論理ディスク２２２を選択可能であることを意味する。フラグが「不可（NG）」に設定されている場合、その論理ディスク２２２が構築されているディスクドライブ２２１に未使用の論理ディスク２２２が存在する場合でも、その未使用の論理ディスク２２２を選択できないことを意味する。換言すれば、フラグに「不可」が設定されている場合、その論理ディスク２２２に関連するディスクドライブ２２１とは全く別のディスクドライブ２２１に構築されている未使用の論理ディスク２２２が選択される。
【００８４】
図９は、論理ディスク２２２の割当て方法の概要を示すフローチャートである。アプリケーション１１０は、管理ホスト１０のアプリケーション管理部３１０に対し、アプリケーション領域の拡張を要求する（Ｓ１）。ここでは、アプリケーション１１０から要求が発行される場合を説明するが、後述の実施例からも明らかなように、アプリケーション領域の拡張要求は、手動または自動で行うことができる。また、アプリケーション領域の拡張要求を、例えば、図外の管理端末から管理ホスト３０に直接入力してもよい。
【００８５】
アプリケーション領域拡張要求には、必要とする論理ディスク２２２を抽出するための基本条件及びその論理ディスク２２２の使用方法に関する情報とが含まれている。論理ディスク２２２を抽出するための基本条件としては、例えば、ホスト識別情報と、要求サイズ及びRAID構成を挙げることができる。即ち、領域要求リスト３１４に含まれる条件のうち「配置」以外の条件が該当する。論理ディスク２２２の使用方法に関する情報としては、例えば、その論理ディスク２２２を必要とするアプリケーション１１０を特定するための情報（サーバプロセスID）及びその論理ディスク２２２に記憶予定のファイルの種別を挙げることができる。
【００８６】
アプリケーション管理部３１０は、アプリケーション領域の拡張要求を受信すると（Ｓ２）、配置ルールテーブル３１３及びファイル管理テーブル３３０に基づいて、配置要求テーブル３１５を生成する（Ｓ３）。アプリケーション管理部３１０は、アプリケーション領域拡張要求に含まれる他の条件と配置要求テーブル３１５とから領域要求リスト３１４を生成し、このリスト３１４をストレージ管理部３２０に送信する（Ｓ４）。
【００８７】
ストレージ管理部３２０は、領域要求リスト３１４を受け取ると、このリスト３１４に示された条件を全て満たす論理ディスク２２２を選択する（Ｓ５）。ストレージ管理部３２０は、アプリケーション領域の拡張を必要とするアプリケーション１１０が、その選択された論理ディスク２２２を使用できるように、ストレージ装置２０に対して論理ディスク２２２の割当てを指示する（Ｓ６）。
【００８８】
ストレージ装置２０は、ストレージ管理部３２０からのデバイス割当て指示を受け取ると、指定された論理ディスク２２２が所定の業務ホスト１０から利用できるように、各種の設定を行う（Ｓ７）。
【００８９】
ストレージ管理部３２０は、ストレージ装置２０へ指示を出す一方、アプリケーション領域の拡張を必要としている業務ホスト１０に対して、デバイスファイルの生成を指示する（Ｓ８）。
【００９０】
業務ホスト１０は、ストレージ管理部３２０からの指示に基づいて、その選択された論理ディスク２２２を使用するためのデバイスファイルを生成する（Ｓ９）。業務ホスト１０は、そのデバイスファイル名をストレージ管理部３２０に通知する。
【００９１】
ストレージ管理部３２０は、業務ホスト１０からデバイスファイル名を受け取ると（Ｓ１０）、この受け取ったデバイスファイル名をアプリケーション管理部３１０に通知する（Ｓ１１）。アプリケーション管理部３１０は、新たに割り当てられた論理ディスク２２２を使用するためのデバイスファイル名をストレージ管理部３２０から受け取ると（Ｓ１１）、このデバイスファイル名を用いてアプリケーション領域を拡張し（Ｓ１２）、処理を終了する。
【００９２】
以上が全体動作の概要である。次に、各処理の詳細をそれぞれ説明する。図１０は、アプリケーション管理部３１０により実行されるアプリケーションプログラム領域拡張処理を示すメインフローチャートである。なお、以下に述べる各フローチャートも同様であるが、各フローチャートはそれぞれの処理の概要を示すもので、実際のプログラム構成とは相違する。
【００９３】
アプリケーション管理部３１０は、業務ホスト１０または管理端末からアプリケーション領域の拡張要求を受け取ると（Ｓ２０）、この処理を開始させる。アプリケーション管理部３１０は、配置要求テーブル生成処理３１２によって配置要求テーブル３１５を生成させる（Ｓ２１）。配置要求テーブル生成処理３１２の詳細はさらに後述する。
【００９４】
アプリケーション管理部３１０は、配置要求テーブル３１５が生成されると、この配置要求テーブル３１５とアプリケーション拡張要求で示された他の条件とから、領域要求リスト３１４を生成する（Ｓ２２）。
【００９５】
アプリケーション管理部３１０は、領域要求リスト３１４をストレージ管理部３２０に送信し、論理ディスク２２２の割当てを指示する（Ｓ２３）。そして、ストレージ管理部３２０による領域拡張の結果であるデバイスファイル名をストレージ管理部３２０から受け取ると（Ｓ２４）、アプリケーション管理部３１０は、このデバイスファイル名を用いてアプリケーション領域を拡張し、本処理を終了させる（Ｓ２５）。
【００９６】
図１１は、配置要求テーブル生成処理を示すフローチャートである。本処理は、図１０中のＳ２１に対応する。アプリケーション管理部３１０は、アプリケーション領域拡張要求に含まれているサイズやファイル種別等の情報を取得し（Ｓ３０）、配置ルールテーブル３１３を参照する（Ｓ３１）。
【００９７】
アプリケーション管理部３１０は、アプリケーション領域拡張要求に含まれているファイル種別に基づいて、配置ルールテーブル３１３を検索し、対応するルールを検出する（Ｓ３２）。即ち、アプリケーション領域拡張要求に含まれているファイル種別は、新たに割り当てようとする論理ディスク２２２に記憶されるファイルの種別であり、配置ルールテーブル３１３中の”新規ファイル種別”に該当する。そこで、アプリケーション管理部３１０は、この新規ファイル種別に対応するルールを検出する。例えば、新規ファイル種別が「DB」の場合、配置ルールテーブル３１３に規定されている第１ルール及び第２ルールが検出される。もしも、新規ファイル種別が「spd」の場合、第３ルール及び第４ルールが検出される。
【００９８】
次に、アプリケーション管理部３１０は、ファイル管理テーブル３３０を参照し（Ｓ３３）、Ｓ３２で検出したルールに合致する既存ファイルを検出する（Ｓ３４）。アプリケーション管理部３１０は、検出された既存ファイルが記憶されている論理ディスク番号を検出し、この論理ディスク番号にフラグを対応付けて、配置要求テーブル３１５に登録する（Ｓ３５）。即ち、アプリケーション管理部３１０は、ファイル管理テーブル３３０の検索に用いたルールのフラグを、このルールに該当する論理ディスク番号に対応付けて、配置要求テーブル３１５に登録する。
【００９９】
アプリケーション管理部３１０は、そのルールに該当する他の既存ファイルがファイル管理テーブル３３０に存在するか否かを判定し（Ｓ３６）、そのルールに合致する既存ファイルを全て検出するまで、Ｓ３５のステップを実行する。そして、そのルールに合致する全ての論理ディスク番号にフラグを対応付けて、配置要求テーブル３１５に登録すると（S36：NO）、アプリケーション管理部３１０は、アプリケーション拡張要求に係る新規ファイル種別に対応する別のルールが存在するか否かを判定する（Ｓ３７）。
【０１００】
その新規ファイル種別に関する別のルールが存在する場合（S37：YES）、アプリケーション管理部３１０は、Ｓ３４〜Ｓ３６のステップを繰り返す。全てのルールに基づいてファイル管理テーブル３３０を検索し、該当する論理ディスク番号及びそのフラグを配置要求テーブル３１５に登録すると（S37：NO）、アプリケーション管理部３１０は、配置要求テーブル３１５から重複した行を削除する（Ｓ３８）。これにより、配置要求テーブル３１５が完成する。
【０１０１】
具体例を挙げて説明する。例えば、アプリケーション領域拡張要求で要求されているファイル種別が「DB」、そのRDエリアIDが「ｒｄ１」、そのサーバプロセスIDが「ｓｖ１」であるとする。この場合、新規ファイル種別が「DB」であるから、配置ルールテーブル３１３から第１ルール（ｒ＃１）及び第２ルール（ｒ＃２）が検出される。
【０１０２】
アプリケーション管理部３１０は、まず初めに、第１ルールに基づいてファイル管理テーブル３３０を検索するものとする。既に述べた通り、第１ルールでは、新規ファイル種別及び既存ファイル種別が共に「DB」の場合、これら新旧の両ファイルのRDエリアIDが一致するならば、同一のディスクドライブ２２１への共存を許可する。
【０１０３】
アプリケーション管理部３１０は、ファイル種別が「DB」であり、かつ、そのRDエリアIDがアプリケーション領域拡張要求に係る新規ファイルのRDエリアIDと一致する既存ファイルを検索する（Ｓ３４）。図５に示す例では、新規ファイルのRDエリアID「ｒｄ１」と同一のRDエリアIDを有するファイルは、「ｆ１」及び「ｆ２」の２つである。最初に、既存ファイル「ｆ１」が発見される。
【０１０４】
そこで、アプリケーション管理部３１０は、既存ファイル「ｆ１」の格納先である論理ディスクの番号を検出する。この場合、論理ディスク番号は「０」である。アプリケーション管理部３１０は、この論理ディスク番号「０」に、第１ルールのフラグ「可」を対応付けて、配置要求テーブル３１５の一行目に登録する（Ｓ３５）。
【０１０５】
次に（S36：YES）、アプリケーション管理部３１０は、ファイル管理テーブル３３０から第１ルールに合致する既存ファイル「ｆ２」を発見する（Ｓ３４）。前記同様に、アプリケーション管理部３１０は、その既存ファイル「ｆ２」が記憶されている論理ディスクの番号「０」に、第１ルールのフラグ「可」を対応付けて、配置要求テーブル３１５に登録する（Ｓ３５）。この結果、配置要求テーブル３１５には、同一内容の行が２つ登録されることになるが、重複した行は最終的に取り除かれる（Ｓ３８）。
【０１０６】
次に、アプリケーション管理部３１０は、新規ファイルの種別「DB」に対応する第２ルールについて、前記同様の処理を行う（S37：YES）。第２ルールでは、spdファイルとDBファイルとが同一のサーバプロセスIDを有する場合、これら両ファイルが同一のディスクドライブ２２１に記憶されるのを禁止する。なお、サーバプロセスIDが異なる場合は、第２ルールは適用されない。サーバプロセスが異なれば、spdファイル取得時にI/Oの競合を生じないためである。
【０１０７】
第２ルールに該当するファイルは、そのファイル種別が「spd」で、そのサーバプロセスIDが「ｓｖ１」であるファイルである。図５に示す例では、この第２ルールに該当するファイルは、「ｆ６」、「ｆ７」、「ｆ８」及び「ｆ９」の４つである。
【０１０８】
そこで、アプリケーション管理部３１０は、既存ファイル「ｆ６」に対応する論理ディスク番号「２」に、第２ルールのフラグ「不可」を対応付けて、テーブル３１５に登録する。続いて、アプリケーション管理部３１０は、既存ファイル「ｆ７」に対応する論理ディスク番号「３」に第２ルールのフラグ「不可」を対応付けて、テーブル３１５に登録する。同様に、アプリケーション管理部３１０は、既存ファイル「ｆ８」に対応する論理ディスク番号「２」にフラグ「不可」を対応付けて、テーブル３１５に登録し、最後に、既存ファイル「ｆ９」に対応する論理ディスク番号「３」にフラグ「不可」を対応付けて、テーブル３１５に登録する。この結果、配置要求テーブル３１５には、論理ディスク番号「２」及び「３」の行がそれぞれ複数登録されるが、重複した行は削除される。
【０１０９】
以上のように、アプリケーション管理部３１０は、予め設定されている配置ルールに基づいて、ファイル管理テーブル３３０を検索することにより、配置ルールに該当する論理ディスク２２２を検出し、所定のフラグをセットする。
【０１１０】
図１２は、ストレージ管理部３２０により実行される記憶領域割当て処理を示すフローチャートである。この処理は、アプリケーション管理部３１０から領域要求リスト３１４を受け取ると開始される（Ｓ４０）。
【０１１１】
ストレージ管理部３２０は、領域要求リスト３１４及びディスク管理テーブル３２３に基づいて、割当て可能な論理ディスク２２２を選択する（Ｓ４１）。このデバイス選択処理の詳細は、さらに後述する。
【０１１２】
ストレージ管理部３２０は、選択された論理ディスクの番号をストレージ装置２０に通知し、デバイスの割当てを要求する（Ｓ４２）。また、ストレージ管理部３２０は、業務ホスト１０のボリューム管理部１２０に、選択された論理ディスクの番号を通知し、デバイスファイルの作成を指示する（Ｓ４３）。
【０１１３】
ボリューム管理部１２０によってデバイスファイルが作成されると、ストレージ管理部３２０は、このデバイスファイル名を取得し（Ｓ４４）、このデバイスファイル名をアプリケーション管理部３１０に通知する（Ｓ４５）。
【０１１４】
図１３は、ストレージ管理部３２０により実行されるデバイス選択処理３２２を示すフローチャートである。本処理は、図１２中のＳ４１に対応する。
【０１１５】
ストレージ管理部３２０は、ディスク管理テーブル３２３を参照し（Ｓ５０）、領域要求リスト３１４中の「配置」以外の他の条件が一致する未使用の論理ディスク２２２を検索する（Ｓ５１）。即ち、ストレージ管理部３２０は、領域要求リスト３１４に記載されている基本的な条件（要求サイズ及びRAID構成）が一致し、かつ、未使用の論理ディスク２２２を全て抽出する。なお、領域要求リスト３１４には、「ホスト識別情報」も記載されているが、この情報は論理ディスク２２２の選択とは無関係の情報であるため、本処理では使用されない。
【０１１６】
要求されたボリュームサイズ及びRAID構成をそれぞれ満たす未使用の論理ディスク２２２が存在する場合（S52：YES）、ストレージ管理部３２０は、その未使用論理ディスク２２２を構成する物理ディスク（即ち、ディスクドライブ２２１）が、配置要求テーブル３１５で「可」のフラグを設定されたいずれかの論理ディスクを構成する物理ディスクと一致するか否かを判定する（Ｓ５３）。
【０１１７】
既に述べたように、配置要求テーブル３１５には、新規ファイルと既存ファイルとを、同一のディスクドライブ２２１に共存可能な論理ディスクの番号と、同一のディスクドライブ２２１に共存させることができない論理ディスクの番号とが示されている。ストレージ管理部３２０は、未使用の論理ディスク２２２を構成するディスクドライブ２２１の番号（物理ディスク番号）をディスク管理テーブル３２３から検出する。また、ストレージ管理部３２０は、配置要求テーブル３１５で「可」のフラグがセットされている各論理ディスク２２２を構成するディスクドライブ２２１の物理ディスク番号を、ディスク管理テーブル３２３からそれぞれ検出する。
【０１１８】
ストレージ管理部３２０は、未使用論理ディスク２２２に関する物理ディスク番号と、「可」のフラグがセットされた各論理ディスク２２２に関する物理ディスク番号とをそれぞれ比較する。未使用論理ディスク２２２に関する物理ディスク番号が、「可」のフラグがセットされたいずれかの論理ディスク２２２に関する物理ディスク番号と一致する場合（S53：YES）、ストレージ管理部３２０は、その未使用論理ディスク２２２を選択し、その論理ディスク番号を図１２に示すフローチャートに返す（Ｓ５５）。
【０１１９】
これに対し、その未使用の論理ディスク２２２に関する物理ディスク番号が、「可」のフラグがセットされた各論理ディスク２２２に関する物理ディスク番号のいずれとも一致しない場合（S53：NO）、ストレージ管理部３２０は、次の検査を行う（Ｓ５４）。
【０１２０】
ストレージ管理部３２０は、その未使用論理ディスク２２２に関する物理ディスク番号が、配置要求テーブル３１５において「不可」のフラグにセットされた全ての論理ディスク番号に関する物理ディスク番号と不一致であるか否かを判定する（Ｓ５４）。
【０１２１】
未使用論理ディスク２２２に関する物理ディスク番号が、「不可」フラグに関する全ての物理ディスク番号と一致しない場合（S54：YES）、ストレージ管理部３２０は、その未使用の論理ディスク２２２を選択し、その論理ディスク番号を返す（Ｓ５５）。何故なら、その未使用論理ディスク２２２は、配置要求テーブル３１５によって共用が禁止されたディスクドライブ２２１を一つも含んでおらず、その未使用論理ディスク２２２を選択しても、性能や耐障害性の点で問題ないためである。
【０１２２】
このように、基本的条件を満たす未使用の論理ディスク２２２について、２種類の検査（Ｓ５３，Ｓ５４）が行われる。第１の検査は、共存可能検査であり（Ｓ５３）、第２の検査は、共存不能検査である（Ｓ５４）。なお、未使用の論理ディスク２２２が複数検出された場合、例えば、Ｓ５３の検査をパスする未使用論理ディスク２２２が存在する場合は、それが選択される。Ｓ５３の検査をパスする未使用論理ディスク２２２が一つも無い場合、Ｓ５４の検査をパスする未使用論理ディスク２２２が選択される。なお、これに限らず、未使用の論理ディスク番号の若い順からＳ５３，Ｓ５４の検査をそれぞれ行い、いずれかの検査をパスした論理ディスクを選択するようにしてもよい。
【０１２３】
ところで、未使用の論理ディスク２２２が１つも存在しない場合（S52：NO）、ストレージ管理部３２０は、新たな論理ディスク２２２を生成することができるか否かを判定する（Ｓ５６）。また、ストレージ管理部３２０は、その未使用論理ディスク２２２に関する物理ディスク番号が、「不可」のフラグをセットされたいずれかの論理ディスク２２２に関する物理ディスク番号と一致する場合も（S54：NO）、新たな論理ディスク２２２を生成可能か否かを判定する（Ｓ５６）。
【０１２４】
例えば、まだ一つも論理ディスク２２２を設定していないディスクドライブ２２１が、要求サイズ及びRAID構成に合致する数以上あるような場合、ストレージ管理部３２０は、新たな論理ディスク２２２を生成可能であると判定する（S56：YES）。ストレージ管理部３２０は、領域要求リスト３１４で指定されたサイズ及びRAID構成を有する論理ディスク２２２の生成を、ストレージ装置２０に指示する（Ｓ５７）。
【０１２５】
これに対し、例えば、必要なだけのディスクドライブ２２１が存在せず、新たな論理ディスク２２２を生成することができない場合（S56：NO）、ストレージ管理部３２０は、エラー処理を行う（Ｓ５８）。このエラー処理では、例えば、デバイスの選択ができない旨を、アプリケーション管理部３１０等に通知する。アプリケーション管理部３１０は、このエラー通知を、例えば業務ホスト１０や管理端末に送信することができる。
【０１２６】
本実施例は、このように構成されるため、以下の効果を奏する。本実施例では、記憶領域の拡張を求めるアプリケーション１１０に、その用途に応じた適切な物理的位置関係を有する論理ディスク２２２を割り当てる構成とした。従って、本実施例では、例えば、DBファイルとspdファイルのように、一方のファイルへのアクセス時に他方のファイルへのアクセスも同時に発生し、I/Oが競合する関係にある複数のファイルを、それぞれ別々のディスクドライブ２２１に記憶させることができる。これにより、応答性能の低下を防止できる。また、本実施例では、例えば、二重化されたspdファイルのように、同一内容を有する複数のファイルをそれぞれ別々のディスクドライブ２２１に記憶させることができる。これにより、耐障害性を向上できる。
【０１２７】
本実施例では、ボリュームサイズ及びRAID構成等の基本的な条件を含むアプリケーション領域拡張要求が発行されると、管理ホスト３０は、複数ファイル間の物理的な配置関係を考慮して、適切な論理ディスク２２２を選択し、この選択された論理ディスク２２２をアプリケーション１１０に割り当てる構成とした。従って、例えば、ユーザ等は、物理ディスクレベルの位置関係を何ら意識することなく、アプリケーション領域の拡張を要求することができ、ストレージシステムの運用性を向上させることができる。
【０１２８】
本実施例では、配置ルールテーブル３１３の内容を、アプリケーション１１０の生成者または利用者が適宜設定可能である。従って、アプリケーション１１０の生成者等は、事前に、そのアプリケーション１１０に適したデバイス割当てポリシーを設定することができる。これにより、例えば、アプリケーション１１０の領域不足を自動的に検出したような場合に、物理的な位置関係までを考慮して、論理ディスク２２２の割当てを自律的に運用することができる。
【実施例２】
【０１２９】
図１４〜図１６に基づいて、第２実施例を説明する。本実施例では、各論理ディスク２２２を選択可能性を重み付けして、判断する。なお、以下に述べる各実施例は、上述した第１実施例の変形例に該当する。
【０１３０】
図１４は、本実施例で使用される配置ルールテーブル３１３Ａの構成例を示す説明図である。このテーブル３１３は、そのフラグの内容を除いて、前記実施例で述べた配置ルールテーブル３１３と同様の構成を備えている。
【０１３１】
本実施例の配置ルールテーブル３１３Ａでは、フラグを多値に設定しており、論理ディスク２２２間の物理的位置関係（複数ファイル間の物理的位置関係）について、重み付けしている。例えば、第１ルール（ｒ＃１）のフラグには「−１」という数値がセットされており、第２ルール（ｒ＃２）及び第３ルール（ｒ＃３）のフラグには「４」という数値がそれぞれセットされている。第４ルール（ｒ＃４）のフラグには「５」という数値がセットされている。
【０１３２】
フラグの値が「−１」の場合、その論理ディスク２２２を構成するディスクドライブ２２１上に存在する未使用論理ディスク２２２を選択可能であることを示す。フラグの値が正の方向に増大するほど、その論理ディスク２２２を構成するディスクドライブ２２１上に存在する未使用論理ディスク２２２は、選択される可能性が低下する。即ち、新規ファイルと既存ファイルとをそれぞれ別々のディスクドライブ２２１に配置させたいという要求の相対的な強さを、フラグの値で示している。
【０１３３】
フラグの値が「４」にセットされた論理ディスク２２２に関するディスクドライブ２２１は、フラグの値が「５」にセットされた論理ディスク２２２に関するディスクドライブ２２１よりも、選択される可能性は相対的に高くなる。
【０１３４】
本実施例では、フラグの値として、例えば、「−１」、「１」、「２」、「３」、「４」、「５」等のように、一つのマイナス値及び複数のプラス値を使用しており、「０」を使用しない。後述のように、距離の初期値として「０」を使用する。但し、フラグの値は、上記の例に限定されない。例えば、「−３」、「−２」、「−１」、「１」、「２」、「３」等のように、複数のマイナス値と複数または一つのプラス値を採用してもよく、「０」を用いてもよい。このように、本実施例のフラグは、既存ファイルを記憶する論理ディスク２２２との距離感を示すものであるため、以下の説明では、フラグの値を「距離」と呼ぶ場合がある。
【０１３５】
図１５は、本実施例で使用される配置要求テーブル３１５Ａ，３１５Ｂの構成例を示す説明図である。領域要求リスト３１４中の「配置」項目の内容は、配置要求テーブル３１５Ａに規定されている。この配置要求テーブル３１５Ａは、既に使用されている各論理ディスク２２２との「物理的位置関係の相性度」を示しており、その具体的な内容は、第２配置要求テーブル３１５Ｂによって示される。第２配置要求テーブル３１５Ｂは、第１配置要求テーブル３１５Ａに登録されている各論理ディスク番号を、それぞれ物理ディスク番号に変換したものである。第２配置要求テーブル３１５は、物理配置要求テーブルと呼ぶこともできる。
【０１３６】
図１６は、本実施例によるデバイス選択処理を示すフローチャートである。本処理は、ストレージ管理部３２０により実行される。本処理は、以下に説明するように、第２配置要求テーブル作成段階（Ｓ６０〜Ｓ６７）と、候補テーブル作成段階（Ｓ６８〜Ｓ７３）と、デバイス選択段階（Ｓ７４）との複数の段階を含んでいる。
【０１３７】
ストレージ管理部３２０は、配置要求テーブル３１５Ａから１行分の登録内容を取得し（Ｓ６０）、ディスク管理テーブル３２３を参照して、その行に登録されている論理ディスク番号に対応する物理ディスク番号を取得する（Ｓ６１）。
【０１３８】
ストレージ管理部３２０は、取得した物理ディスク番号で第２配置要求テーブル３１５Ｂを検索することにより（Ｓ６２）、その物理ディスク番号が既に登録済であるか否かを判定する（Ｓ６３）。その物理ディスク番号が第２配置要求テーブル３１５Ｂに未だ登録されていない場合（S63：NO）、ストレージ管理部３２０は、第２配置要求テーブル３１５Ｂに、その物理ディスク番号及びその距離を追加する（Ｓ６４）。ここで、その物理ディスク番号に対応付けられる距離は、その物理ディスク番号に対応する論理ディスク番号に設定されたフラグの値である。
【０１３９】
そして、ストレージ管理部３２０は、配置要求テーブル３１５Ａに未処理の行が残っているか否かを判定する（Ｓ６７）、未処理の行が存在する場合（S67：YES）、ストレージ管理部３２０は、Ｓ６０に戻って、配置要求テーブル３１５Ａから次の行を取得し、その行の論理ディスク番号を物理ディスク番号に変換する（Ｓ６１，Ｓ６２）。この変換された物理ディスク番号が第２配置要求テーブル３１５Ｂに登録されていない場合（S63：NO）、ストレージ管理部３２０は、その物理ディスク番号及び距離を第２配置要求テーブル３１５Ｂに登録する（Ｓ６４）。
【０１４０】
このようにして第２配置要求テーブル３１５Ｂが作成されていく。もしも、Ｓ６１で取得された物理ディスク番号が、第２配置要求テーブル３１５Ｂに既に登録されている場合（S63：YES）、ストレージ管理部３２０は、新たに取得された物理ディスク番号の距離と既に登録されている距離との大小を比較する（Ｓ６５）。もしも、新たな距離の方が登録済の距離よりも大きい場合（S65：YES）、ストレージ管理部３２０は、登録済の距離を、新たな距離に更新させる（Ｓ６６）。
【０１４１】
即ち、同一の物理ディスク番号について、複数の距離が存在する場合、ストレージ管理部３２０は、より大きな方の距離を採用するようにしている。これにより、選択されるべきではないディスクドライブ２２１が選択される可能性を抑制することができ、より高い信頼性を持って適切な論理ディスク２２２をアプリケーション１１０に割当てることができる。
【０１４２】
配置要求テーブル３１５Ａの全ての行を処理すると（S67：NO）、第２配置要求テーブル３１５Ｂが完成する。ストレージ管理部３２０は、ディスク管理テーブル３２３を参照し、「配置」条件以外の他の条件（サイズやRAID構成）を満たす未使用の論理ディスク２２２の論理ディスク番号を抽出して、候補テーブルを作成する（Ｓ６８）。この段階では、サイズやRAID構成のような基本的条件のみが一致する未使用の論理ディスク番号が候補テーブルに列挙されている。
【０１４３】
次に、ストレージ管理部３２０は、候補テーブルに「距離」の列を追加し、各未使用の論理ディスク番号の距離の初期値として「０」をセットする（Ｓ６９）。そして、ストレージ管理部３２０は、第２配置要求テーブル３１５Ｂから１行のデータを取得し（Ｓ７０）、この行に含まれている物理ディスク番号に関連する論理ディスク番号が、候補テーブルに存在するか否かを判定する（Ｓ７１）。即ち、候補テーブルに登録されている未使用論理ディスク番号に基づいてディスク管理テーブル３２３を参照し、未使用論理ディスク番号に対応する物理ディスク番号と、第２配置要求テーブル３１５Ｂに登録されている物理ディスク番号とを比較する。
【０１４４】
そして、第２配置要求テーブル３１５Ｂに登録されている物理ディスク番号に関連する未使用論理ディスク番号に、その物理ディスク番号に対応付けられている距離を設定する（Ｓ７２）。即ち、その未使用論理ディスク番号の距離の初期値を、「０」以外の値に更新させる。ストレージ管理部３２０は、第２配置要求テーブル３１５Ｂに未処理の行が残っているか否かを判定する（Ｓ７３）。未処理の行が残っている間（S73：YES）、ストレージ管理部３２０は、第２配置要求テーブル３１５Ｂから一行ずつデータを取り出し、候補テーブルの該当する行の距離を更新させていく。
【０１４５】
このようにして、第２配置要求テーブル３１５Ｂの全ての行を処理した場合（S73：NO）、即ち、候補テーブルが完成した場合、ストレージ管理部３２０は、この候補テーブルに登録されている未使用論理ディスク番号のうち、最も小さな距離が設定されている論理ディスク番号を選択する（Ｓ７４）。なお、最小の距離を有する未使用論理ディスク番号が複数存在する場合、例えば、よりテーブルの先頭側に登録されている番号を選択すればよい。
【０１４６】
このように構成される本実施例でも、前記実施例と同様の効果を奏する。これに加えて、本実施例では、別々のディスクドライブ２２１へのファイル配置を希望する要求の度合を、多値のフラグで設定可能とした。また、本実施例では、その要求の度合を、直感的に理解可能な「距離」で指定できるようにした。従って、例えば、ディスクドライブ２２１の数に比べてファイルの種類の方が多いような場合に、より適切な論理デバイス２２２を選択することができる。例えば、それぞれ異なるディスクドライブ２２１に構築されている論理デバイス２２２が３個しかなく、それぞれ物理的に異なる配置で記憶させるのが好ましいファイルが４種類ある場合を考える。この場合、少なくともいずれか２つのファイルは、同一のディスクドライブ２２１に記憶されることになる。本実施例では、距離が小さいファイルを同一のディスクドライブ２２１に共存させる。これにより、物理的な記憶領域の数に余裕が無い場合でも、できるだけ適切な記憶領域に複数種類のファイルを共存させることができる。
【実施例３】
【０１４７】
図１７〜図２１に基づいて、第３実施例を説明する。本実施例では、複数のストレージ装置２０及び複数の業務ホスト１０を備えるストレージシステムにおいて、管理ホスト３０は、アプリケーション１１０に適切な論理ディスク２２２を割り当てる。
【０１４８】
図１７は、本実施例によるストレージシステムの全体構成を示すブロック図である。このストレージシステムは、複数の業務ホスト１０及び複数のストレージ装置２０と、一つの管理ホスト３０とを備えている。
【０１４９】
各業務ホスト１０及び各ストレージ装置２０の構成は、それぞれ第１実施例で述べたものと同様である。従って、その説明を省略する。各業務ホスト１０と各ストレージ装置２０とは、例えば、複数のファイバチャネルスイッチ４０により接続されている。各スイッチ４０は、それぞれ複数のポート４１を備えている。そして、これら各スイッチ４０は、そのLANポート４２から通信ネットワークCN２を介して、管理ホスト３０にそれぞれ接続されている。
【０１５０】
管理ホスト３０は、領域割当てマネージャ（以下、「割当てマネージャ」）５００を備えている。この割当てマネージャ５００は、第１実施例で述べたアプリケーション管理部３１０及びストレージ管理部３２０の両機能をそれぞれ実現するものである。なお、単一の割当てマネージャ５００に代えて、アプリケーション管理部とストレージ管理部とに機能を分離し、両機能を連携させる構成でもよい。
【０１５１】
割当てマネージャ５００は、例えば、アプリケーション領域拡張部５１０と、配置ルールテーブル５２０と、ディスク管理テーブル５３０と、ファイル管理テーブル５４０とを備えて構成することができる。アプリケーション領域拡張部５１０は、配置要求テーブル生成処理５１１を含んでいる。
【０１５２】
図１８は、本実施例で使用されるディスク管理テーブル５３０の構成例を示す説明図である。ディスク管理テーブル５３０は、各ストレージ装置２０がそれぞれ管理しているディスク管理テーブルを所定のタイミングで取得することにより、構成される。即ち、ディスク管理テーブル５３０は、各ストレージ装置２０が個別に管理しているディスク管理テーブルを統合したものであり、ストレージシステム内に存在する全ての論理ディスク２２２に関する情報が登録されている。
【０１５３】
ディスク管理テーブル５３０は、図４に示すディスク管理テーブル３２３の構成を全て備えている。これに加えて、本実施例のディスク管理テーブル５３０は、各論理ディスク番号に対応する装置番号と、スイッチ番号（以下、「SW番号」）及びHBA番号を管理する。
【０１５４】
装置番号とは、各ストレージ装置２０をストレージシステム内で一意に特定するための識別情報である。SW番号とは、各スイッチ４０をストレージシステム内で一意に特定するための識別情報である。HBA番号とは、各HBA１０５をストレージシステム内で一意に特定するための識別情報である。
【０１５５】
従って、ディスク管理テーブル５３０は、複数のストレージ装置２０を備えるストレージシステムにおいて、各論理ディスク２２２の基本的な情報（論理ディスク番号、ボリュームサイズ、RAID構成、状態）に加えて、各論理ディスク２２２へのアクセス経路を特定する情報も管理する。
【０１５６】
なお、論理ディスク番号及び物理ディスク番号等は、各ストレージ装置２０からそれぞれのディスク管理テーブルを取得した後で、ストレージシステム内で一意の値となるように、番号を振り直すこともできる。
【０１５７】
図１９は、本実施例で使用される配置要求テーブル３１５Ｃ等の構成例を示す説明図である。この配置要求テーブル３１５Ｃは、例えば、装置番号とフラグとを対応付けることにより、構成することができる。なお、後述のように、装置番号に代えて、物理ディスク番号やHBA番号等の他の物理的情報を採用してもよい。なお、図１９中には、後述する候補テーブル３１６も示されている。
【０１５８】
図２０は、本実施例で使用されるファイル管理テーブル５４０の構成例を示す説明図である。このファイル管理テーブル５４０は、「装置番号」の列を除いて、図５に示すファイル管理テーブル３３０と同様の構成を備えている。即ち、本実施例のファイル管理テーブル５４０は、前記実施例のファイル管理テーブル３３０中の「論理ディスク番号」に代えて、「装置番号」を採用する。装置番号は、各ファイルを記憶する物理ディスク（ディスクドライブ２２１）に関する物理的属性を示す情報の一例である。従って、「装置番号」に代えて、物理ディスク番号、ポート番号、スイッチ番号、HBA番号のような、他の物理的属性を示す情報を用いてもよい。なお、ファイル管理テーブル５４０は、ストレージシステム内に存在する全てのファイルに関するものであるから、物理的属性を示す情報は、ストレージシステム内で一意に特定可能な情報である必要がある。
【０１５９】
次に、図２１は、本実施例によるアプリケーション領域拡張処理を示すフローチャートである。管理ホスト３０の割当てマネージャ５００は、アプリケーション１１０等からアプリケーション領域の拡張要求を受け取ると（Ｓ８０）、配置要求テーブル３１５Ｃを作成する（Ｓ８１）。割当てマネージャ５００は、図１４に示した配置ルールテーブル３１３Ａとファイル管理テーブル５４０とに基づいて、各ストレージ装置２０を記憶先として選択可能か否かの相対的な強度を含む配置要求テーブル３１５Ｃを生成できる。
【０１６０】
割当てマネージャ５００は、ディスク管理テーブル５３０を参照し、「配置」以外の基本的条件（サイズ及びRAID構成）を満たす未使用の論理ディスク２２２を抽出し、この未使用論理ディスク番号を並べて候補テーブル３１６を生成する（Ｓ８２）。割当てマネージャ５００は、候補テーブル３１６に「距離」の列を追加し、各論理ディスク番号の距離の初期値としてそれぞれ「０」をセットする（Ｓ８３）。
【０１６１】
次に、割当てマネージャ５００は、配置要求テーブル３１５Ｃから一行分のデータを取り出し（Ｓ８４）、この行に含まれている装置番号で、候補テーブル３１６を検索する（Ｓ８５）。より正確には、割当てマネージャ５００は、その行に含まれている装置番号に対応する論理ディスク番号が、候補テーブル３１６に存在するか否かを検索する。ここで、装置番号に対応する論理ディスク番号とは、その装置番号で特定されるストレージ装置２０に存在する未使用の論理ディスク２２２の番号である。
【０１６２】
割当てマネージャ５００は、その装置番号に対応する未使用論理ディスク番号を発見すると、その未使用論理ディスク番号の距離を、その装置番号について設定されている距離の値に更新させる（Ｓ８６）。割当てマネージャ５００は、配置要求テーブル３１５Ｃの全ての行についてＳ８５，Ｓ８６のステップをそれぞれ実行する（Ｓ８７）。
【０１６３】
配置要求テーブル３１５Ｃの全ての行について処理を完了すると（S87：YES）、候補テーブル３１６が完成する。この候補テーブル３１６は、基本条件を満たす未使用の論理ディスク２２２の論理ディスク番号と、その論理ディスク２２２が存在するストレージ装置２０に設定されているフラグ（距離）とを対応付けたものである。
【０１６４】
割当てマネージャ５００は、候補テーブル３１６の中から、最も小さい距離に設定されている論理ディスク番号を１つ選択する（Ｓ８８）。割当てマネージャ５００は、その選択された論理ディスク番号で特定される未使用の論理ディスク２２２を有するストレージ装置２０に対し、その選択された論理ディスク番号を明示して、デバイスの割当てを要求する（Ｓ８９）。これにより、デバイス割当てを指示されたストレージ装置２０は、例えば、指定された未使用論理ディスク２２２を所定の業務ホスト１０から利用できるように、各種設定を行う。
【０１６５】
一方、割当てマネージャ５００は、所定の業務ホスト１０のボリューム管理部１２０に対して、その選択された未使用論理ディスク番号を明示し、デバイスファイルの作成を指示する（Ｓ９０）。ボリューム管理部１２０がデバイスファイルを作成すると、そのデバイスファイル名が割当てマネージャ５００に返される。割当てマネージャ５００は、このデバイスファイル名を取得すると、アプリケーション領域を拡張し（Ｓ９１）、処理を終了する。
【０１６６】
このように構成される本実施例も前記第１実施例と同様の効果を奏する。これに加えて、本実施例では、複数の業務ホスト１０及び複数のストレージ装置２０を備える大規模なストレージシステムにおいて、アプリケーション１１０によるファイルの使用方法を考慮して、適切な物理的位置関係を有する論理ディスク２２２を割当てることができる。
【実施例４】
【０１６７】
図２３に基づいて第４実施例を説明する。本実施例は、第３実施例の変形例に相当し、物理的属性を示す情報として、「装置番号」に代えて、SW番号、HBA番号、物理ディスク番号、パス情報のうちいずれか一つを使用する（Ｓ８５Ａ）。
【０１６８】
例えば、SW番号を採用する場合、異なるスイッチ４０を介してアクセス可能なディスクドライブ２２１をアプリケーション１１０に割り当てることができる。HBA番号を採用する場合、異なるHBA１０５を介してアクセス可能なディスクドライブ２２１をアプリケーション１１０に割り当てることができる。
【実施例５】
【０１６９】
図２４に基づいて第５実施例を説明する。本実施例では、領域要求リスト３１４内に、ディスクドライブ２２１の種別を示す情報を加えている。図に示す例では、基本的条件の一つとして、FCディスクを選択すべき旨が要求されている。
図示は省略するが、本実施例では、ディスク管理テーブルに、ディスクドライブ２２１の種別を示す例が加えられる。これにより、指定されたドライブ種別のディスクドライブ２２１から構成されている未使用の論理ディスク２２２を選択することができる。
【実施例６】
【０１７０】
図２５に基づいて第６実施例を説明する。本実施例では、アプリケーション領域の拡張要求を発行するタイミングについて開示する。
【０１７１】
図２５は、アプリケーション領域拡張要求を発行するための処理を示すフローチャートである。この処理は、例えば、業務ホスト１０が実行することができる。あるいは、業務ホスト１０と管理トスと３０とがそれぞれ分担して実行することもできる。
【０１７２】
例えば、システム管理者等のユーザは、アプリケーション１１０の使用領域が足りないと判断したような場合、アプリケーション領域の拡張を手動操作で要求することができる（Ｓ１００）。
【０１７３】
ユーザからの指示があった場合（S100：YES）、業務ホスト１０は、管理ホスト３０にアプリケーション領域の拡張を要求する（Ｓ１０３）。ユーザからの指示がない場合（S100：NO）、業務ホスト１０は、アプリケーション１１０の現在のデータ使用量を検出し（Ｓ１０１）、この検出された現在のデータ使用量とアプリケーション領域のサイズとからアプリケーション領域の使用率を求め、この使用率と予め設定されている所定値とを比較する（Ｓ１０２）。現在のデータ使用率が所定値に達していない場合（S102：NO）、Ｓ１００に戻る。現在のデータ使用量が所定値に達した場合（S102：YES）、業務ホスト１０は、管理ホスト３０にアプリケーション領域の拡張を要求する（Ｓ１０３）。
【０１７４】
このように、手動操作または自動的に、アプリケーション領域の拡張要求を発行することができる。自動的に発行する場合、論理ディスク２２２の割当てを自律的に運用することができ、保守性がさらに向上する。なお、データ使用量に代えて、記憶領域の空き容量を採用してもよい。この場合、空き容量が所定値以下になった場合に、アプリケーション領域の拡張を要求する。
【０１７５】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【０１７６】
【図１】本発明のストレージシステムの全体構成を示すブロック図である。
【図２】ストレージシステムのネットワーク構成及びハードウェア構成の概略を示すブロック図である。
【図３】ストレージシステムのデータ構造を示す説明図である。
【図４】ディスク管理テーブルの構成を示す説明図である。
【図５】ファイル管理テーブルの構成を示す説明図である。
【図６】配置ルールテーブルの構成を示す説明図である。
【図７】ボリューム管理テーブルの構成を示す説明図である。
【図８】領域要求リスト及び配置要求テーブルの構成を示す説明図である。
【図９】ストレージシステム内で記憶領域を適切に割当てるための処理概要を示すフローチャートである。
【図１０】アプリケーション領域拡張処理を示すフローチャートである。
【図１１】配置要求テーブルの生成処理を示すフローチャートである。
【図１２】記憶領域割当て処理を示すフローチャートである。
【図１３】デバイス選択処理を示すフローチャートである。
【図１４】第２実施例で使用される配置ルールテーブルの構成を示す説明図である。
【図１５】領域要求リスト及び複数の配置要求テーブルの構成を示す説明図である。
【図１６】デバイス選択処理を示すフローチャートである。
【図１７】第３実施例によるストレージシステムの全体構成を示すブロック図である。
【図１８】ディスク管理テーブルの構成を示す説明図である。
【図１９】領域要求リストと配置要求テーブル及び候補テーブルの構成を示す説明図である。
【図２０】ファイル管理テーブルの構成を示す説明図である。
【図２１】アプリケーション領域拡張処理を示すフローチャートである。
【図２２】デバイス選択処理を示すフローチャートである。
【図２３】第４実施例によるアプリケーション領域拡張処理を示すフローチャートである。
【図２４】第５実施例で使用される領域要求リスト及び配置要求テーブルの構成を示す説明図である。
【図２５】第６実施例で実行されるアプリケーション領域の拡張を要求するための処理を示すフローチャートである。
【符号の説明】
【０１７７】
１０…業務ホスト、２０…ストレージ装置、３０…管理ホスト、４０…スイッチ、４１…ポート、４２…LANポート、１０１…CPU、１０２…メモリ、１０３…ローカルディスク、１０４…LANインターフェース、１０５…ホストバスアダプタ（HBA）、１０６…バス、１１０…アプリケーションプログラム、１１１Ａ，１１１Ｂ…RDエリア、１１２Ａ，１１２Ｂ…シンクポイントダンプファイル、１１３…ファイル、１２０…ボリューム管理部、１３０…ボリューム管理テーブル、２０１…CPU、２０２…制御メモリ、２０３…キャッシュメモリ、２０４…ポート、２０５…LANインターフェース、２０６…通信ネットワーク、２１０…ディスクコントローラ、２１１…ディスク管理テーブル、２２０…記憶部、２２１…ディスクドライブ、２２２…論理ボリューム（論理ディスク）、３０１…CPU、３０２…メモリ、３０３…ローカルディスク、３０４…LANインターフェース、３０５…バス、３１０…アプリケーション管理部、３１１…アプリケーション領域拡張部、３１２…配置要求テーブル生成処理、３１３，３１３Ａ…配置ルールテーブル、３１４…領域要求リスト、３１５，３１５Ａ，３１５Ｂ，３１５Ｃ…配置要求テーブル、３１６…候補テーブル、３２０…ストレージ管理部、３２１…記憶領域割当部、３２２…デバイス選択処理、３２３…ディスク管理テーブル、３３０…ファイル管理テーブル、５００…割当てマネージャ、５１０…アプリケーション領域拡張部、５１１…配置要求テーブル生成処理、５２０…配置ルールテーブル、５３０…ディスク管理テーブル、５４０…ファイル管理テーブル
【図１】
2006285739.tif 000003
【図２】
2006285739.tif 000004
【図３】
2006285739.tif 000005
【図４】
2006285739.tif 000006
【図５】
2006285739.tif 000007
【図６】
2006285739.tif 000008
【図７】
2006285739.tif 000009
【図８】
2006285739.tif 000010
【図９】
2006285739.tif 000011
【図１０】
2006285739.tif 000012
【図１１】
2006285739.tif 000013
【図１２】
2006285739.tif 000014
【図１３】
2006285739.tif 000015
【図１４】
2006285739.tif 000016
【図１５】
2006285739.tif 000017
【図１６】
2006285739.tif 000018
【図１７】
2006285739.tif 000019
【図１８】
2006285739.tif 000020
【図１９】
2006285739.tif 000021
【図２０】
2006285739.tif 000022
【図２１】
2006285739.tif 000023
【図２２】
2006285739.tif 000024
【図２３】
2006285739.tif 000025
【図２４】
2006285739.tif 000026
【図２５】
2006285739.tif 000027