(57)【特許請求の範囲】
【請求項１】
複数のホスト計算機と、複数のストレージシステムと、管理計算機を含む計算機システムにおいて、
前記管理計算機は、プロセッサを有し、
該プロセッサは、
前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得する情報収集プログラムと、
前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てる記憶領域割当プログラム
を実行することを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムにおいて、
前記記憶領域割当プログラムは、
同一の物理ディスクに割り当てられる前記ボリュームグループに、同一のボリュームIDを付して管理すること
を特徴とする計算機システム。
【請求項３】
複数のホスト計算機と、複数のストレージシステムと、管理計算機を含む計算機システムにおける記憶領域割当方法において、
前記管理計算機を用いて、
情報収集プログラムにより前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得し、
記憶領域割当プログラムにより前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てること
を特徴とする記憶領域割当方法。
【請求項４】
請求項３記載の記憶領域割当方法において、
前記記憶領域割当プログラムは、
同一の物理ディスクに割り当てられる前記ボリュームグループに、同一のボリュームIDを付して管理すること
を特徴とする記憶領域割当方法。
【請求項５】
複数のホスト計算機が使用するデータを複数のボリュームに記憶する複数のストレージシステムを制御する管理計算機において、
メモリと、
ハードディスクと、
制御を行うプロセッサと、
前記ストレージシステムに対する優先割当記憶領域の設定の指示を行う入力装置と、
前記ストレージシステムから優先割当記憶領域の設定終了の通知を行う出力装置と、
前記ストレージシステムとの間で管理用データの通信を行う通信ポートとを備え、
前記ハードディスク内には、前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報に基づいて生成される管理テーブルと、前記ストレージシステムから情報を収集する情報収集プログラムと、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる記憶領域割当プログラムと、前記ストレージシステムに対して前記割り当てられた記憶領域割当情報を送信する情報送信プログラムとが蓄積されており、
前記情報収集プログラムは、前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得し、
前記記憶領域割当プログラムは、前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てるように制御する
ことを特徴とする管理計算機。
【請求項６】
請求項５記載の管理計算機において、
前記記憶領域割当プログラムは、
同一の物理ディスクに割り当てられる前記ボリュームグループに、同一のボリュームIDを付して管理すること
を特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに用いられるストレージシステムに関し、特に本発明は、計算機からストレージ装置への書き込む際にボリューム容量の拡張を行う方法に関する。
【背景技術】
【０００２】
一般にコンピュータシステムは、それぞれの業務を行う計算機と、計算機の指示によりデータを読み書きするストレージ装置により構成されるものである。ストレージ装置は、データの格納および読み出しを行う複数の物理ディスクを持っていて、物理ディスクを複数の記憶領域に分割して管理している。
【０００３】
そこで、ストレージ装置は、計算機に対して記憶領域を論理ボリュームという形で提供することができる。この論理ボリュームは、複数のセグメントから構成され、それぞれのセグメントに対して、物理ディスク上の記憶領域を割り当てることで計算機の指示によるデータの読み書きを可能とする論理的な記憶容量の単位である。この論理ボリュームの容量は、必要に応じて随時拡張することができる。
【０００４】
例えば、計算機がストレージ装置によって提供された論理ボリュームを使い果たした場合、ストレージ装置内の未使用である物理ディスクの記憶領域から論理ボリュームを作成し、計算機がこの論理ボリュームを使用中の論理ボリュームと結合することにより、論理ボリューム容量を拡張することができる。このような方式をオンラインボリューム拡張と呼ぶ。
【０００５】
しかし、このオンラインボリューム拡張では、ストレージ装置の管理者がボリューム拡張までの一連の操作を行う必要がある。そのため、複数の企業が同時に利用するような大規模データセンタにおいて、急激な容量の増加が複数の企業のコンピュータシステムにおいて発生した場合には、オンラインボリューム拡張要求が同時発生して、ストレージ装置の管理者が対応しきれなくなる恐れが発生する。最悪の場合には、オンラインボリューム拡張ができずに計算機の処理が停止するという問題があった。
【０００６】
そこで、ストレージ装置の使用者および管理者の要求を解決するため、例えば、特許文献１には、計算機からの書き込みによってストレージ装置内の論理ボリュームの容量が不足した場合、ストレージ装置は計算機のオンライン中に物理ディスク内の未使用領域から記憶領域を作成し、オンラインアクセス中において動的に論理ボリュームのセグメントに追加するという方法が開示されている。このような方式をボリューム容量自動拡張と呼んでいる。
【０００７】
このボリューム容量自動拡張は、論理ボリュームに対する物理ディスクの未割当領域に対して、計算機から書き込み要求があったときに割当をするものである。このボリューム容量自動拡張により、ストレージ装置の管理者の介在なしに、自動的にオンラインボリューム拡張を行うことができる。
【特許文献１】特開2003-15915号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、論理ボリュームの計算機からの書き込みによってストレージ装置内の論理ボリュームの容量が不足した場合に、ストレージ装置は計算機のオンライン中に物理ディスク内の未使用領域から記憶領域を作成し、オンラインアクセス中において動的に論理ボリュームの記憶領域に追加するようにしていた。
【０００９】
この際に、どの物理ディスクの未使用領域から作成した記憶領域を論理ボリュームの記憶領域に追加するかを考慮に入れておらず、空き領域から順番に割当をしていた。このため、同一の論理ボリュームで使用する物理ディスクが分散し、異なる論理ボリューム間で同一の物理ディスクを使用するための相互干渉が原因となり、計算機のI/O性能の低下が発生するという不都合があった。
【００１０】
そこで、本発明は、論理ボリュームのボリューム容量自動拡張を行う際に、異なる論理ボリューム間での相互干渉の発生を防ぎ、計算機のI/O性能の低下を防止することを課題とするものである。
【課題を解決するための手段】
【００１１】
上記課題を解決し、本発明の目的を達成するため、本発明の計算機システムは、複数のホスト計算機と、複数のストレージシステムと、管理計算機を含む計算機システムにおいて、前記管理計算機は、プロセッサを有し、該プロセッサは、前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得する情報収集プログラムと、前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てる記憶領域割当プログラムを実行するものである。
【００１２】
また、本発明の記憶領域割当方法は、複数のホスト計算機と、複数のストレージシステムと、管理計算機を含む計算機システムにおける記憶領域割当方法において、前記管理計算機を用いて、情報収集プログラムにより前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得し、記憶領域割当プログラムにより前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てるものである。
【００１３】
また、本発明の管理計算機は、複数のホスト計算機が使用するデータを複数のボリュームに記憶する複数のストレージシステムを制御する管理計算機において、メモリと、ハードディスクと、制御を行うプロセッサと、前記ストレージシステムに対する優先割当記憶領域の設定の指示を行う入力装置と、前記ストレージシステムから優先割当記憶領域の設定終了の通知を行う出力装置と、前記ストレージシステムとの間で管理用データの通信を行う通信ポートとを備え、前記ハードディスク内に設けられ、前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報に基づいて生成される管理テーブルと、前記ストレージシステムから情報を収集する情報収集プログラムと、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる記憶領域割当プログラムと、前記ストレージシステムに対して前記割り当てられた記憶領域割当情報を送信する情報送信プログラムとが蓄積されており、前記情報収集プログラムは、前記ストレージシステムが保持するボリューム割当情報及び物理ディスク情報を取得し、前記記憶領域割当プログラムは、前記ボリューム割当情報及び前記物理ディスク情報に基づいて、前記ストレージシステムの論理ボリュームに物理ディスクの記憶領域を割り当てる際に、前記ボリューム割当情報と前記物理ディスク情報に基づいて、物理ディスクを共有する論理ボリュームをグループ化してボリュームグループを生成し、前記ボリュームグループのうちの残容量の少ないボリュームグループに対して、未割当の領域を含む物理ディスクを割り当て、前記残容量の少ないボリュームグループに割り当てた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する各々の論理ボリュームに対して均等になるように優先割当記憶領域として割り当てるように制御するものである。
【発明の効果】
【００１４】
本発明によれば、既割当済み領域の有無に応じて割当領域を限定した優先割当記憶領域情報を設定して、あらかじめ論理ボリュームに優先的に割り当てる物理ディスク上の記憶領域を定めることにより、論理ボリュームのボリューム容量自動拡張を行う際にも、割り当てる記憶領域を含む物理ディスクを考慮に入れた論理ボリュームの自動拡張を可能とすることができ、異なる論理ボリューム間での相互干渉の発生を防ぎ、計算機のI/O性能の低下を防止することができる。
【００１５】
また、同一物理ディスクを使用する論理ボリュームをボリュームグループとしてグループ化し、ボリュームグループに対して、そのボリュームグループが優先的に使用する物理ディスク上の記憶領域を割り当てることにより、以後、論理ボリュームの自動拡張を行う際に、例えば、割当済みのボリュームグループはそのままの割当で、別のボリュームグループは別に割当を行い、同一物理ディスクを共用可能なボリュームグループは優先割当を行うという、現在の論理ボリュームの物理配置に準ずる物理配置を行うことを可能とするものである。
【発明を実施するための最良の形態】
【００１６】
以下、発明の実施形態について、適宜、図面を参照しながら具体的に説明する。
図１は本発明の実施形態に適用されるストレージ管理システムの概略図である。図示するように、本実施形態のストレージ管理システムは、ボリューム管理サーバ１０１０と、複数の計算機１０３０と、複数のストレージ装置１０２０と、から構成される。
【００１７】
管理者１０６０は、ストレージ装置１０２０内の論理ボリュームの最適化終了や、物理ディスクの増設などを契機として、ボリューム管理サーバ１０１０に対して、優先割当記憶領域の設定を指示する。
【００１８】
本実施形態例では、ボリューム管理サーバ１０１０は管理用ネットワーク１０４０を介して、ストレージ装置１０２０と接続し、計算機１０３０はストレージエリアネットワーク１０５０を介して、ストレージ装置１０２０と接続するものとしているが、管理用ネットワーク１０４０と、ストレージエリアネットワーク１０５０が同一のものであってもよい。
【００１９】
図２はボリューム管理サーバ１０１０の構成を示した図である。
ボリューム管理サーバ１０１０は、CPU２０１０と、メモリ２０２０と、ハードディスク２０３０と、管理者１０６０が優先割当記憶領域の設定の指示を入力する入力装置２０４０と、管理者１０６０に対して優先記憶領域の設定が終了したことを通知する出力装置２０５０と、ストレージ装置１０２０と管理用データを通信するインタフェースである通信ポート２０６０とから構成される。
【００２０】
ハードディスク２０３０内には、ストレージ装置１０２０からボリューム割当情報と物理ディスク情報を収集する情報収集プログラム２１１０と、収集したボリューム割当情報と物理ディスク情報から優先割当記憶領域情報１７０００を作成する記憶領域割当プログラム２１２０と、ストレージ装置１０２０に対して優先割当記憶領域情報１７０００を送信する情報送信プログラム２１３０という３つのプログラムが設けられている。
【００２１】
また、ハードディスク２０３０内には、ストレージ装置１０２０上のボリュームを管理するボリューム管理表２２１０と、ストレージ装置１０２０上の物理ディスク３０３０を管理する物理ディスク管理表２２２０と、ストレージ装置１０２０上のボリュームをグループ化した情報を管理するボリュームグループ管理表２２３０とが含まれる。
【００２２】
このように構成されるボリューム管理サーバ１０１０は、管理者１０６０から優先割当記憶領域の設定の指示を受けると、ストレージ装置１０２０からボリューム割当情報、物理ディスク情報を取得し、後述する図１７に示す優先割当記憶領域情報１７０００を作成した後、ストレージ装置１０２０に対して、優先割当記憶領域情報１７０００を送信する。
【００２３】
図３はストレージ装置１０２０の構成を示した図である。ストレージ装置１０２０は、計算機１０３０との通信に利用するインタフェースであるI/Oポート３０４０と、管理用データの通信に利用するインタフェースである管理用ポート３０５０と、複数の物理ディスク３０３０と、ストレージ装置１０２０の制御を行うコントローラ３０１０と、メモリ３０２０から構成される。複数の物理ディスク３０３０は、異なる論理ボリューム３２１０，３２２０、３２３０、３２４０に割り当てられている。
【００２４】
メモリ３０２０内には、後述する図１１に示す、ストレージ装置１０２０のボリューム割当情報を管理するボリューム割当管理表３１１０と、後述する図１２に示す、ストレージ装置１０２０の物理ディスク３０３０を管理する物理ディスク割当管理表３１２０と、後述する図１３に示す、論理ボリュームに優先的に割り当てる物理ディスクを管理する優先割当管理表３１３０が含まれる。
【００２５】
図１１に示すボリューム割当管理表３１１０は、論理ボリュームを識別するボリュームID１１０１０と、論理ボリューム中のセグメントを識別するセグメントID１１０２０と、論理ボリューム中のセグメントのLBA開始アドレスを示すLBA開始１１０３０と、論理ボリューム中のセグメントのLBA終了アドレスを示すLBA終了１１０４０と、ボリューム中のセグメントに割り当てられた記憶領域を識別する割当済み記憶領域ID１１０５０とから構成される。
【００２６】
図１２に示す物理ディスク割当管理表３１２０は、物理ディスク３０３０を識別する物理ディスクID１２０１０と、物理ディスク３０３０に含まれる記憶領域を識別する記憶領域ID１２０２０と、物理ディスク３０３０の残容量１２０３０とから構成される。
図１３に示す優先割当管理表３１３０は、ボリュームID１３０１０と、ボリュームに対して優先的に割り当てる記憶領域を識別する優先割当記憶領域ID１３０２０とから構成される。
【００２７】
ストレージ装置１０２０は、I/Oポート３０４０を通じて論理ボリュームに対する書き込み要求を受け付けると、該当する論理ボリュームのアドレスに記憶領域が割り当てられているかを確認する。
論理ボリュームの該当アドレスに記憶領域が割り当てられていない場合には、図１３に示した優先割当管理表３１３０で該当する論理ボリュームに優先割当された記憶領域のうち使用していない記憶領域を論理ボリュームに割り当てた後、書き込み要求の内容を書き込む。論理ボリュームの該当アドレスに記憶領域が割り当てられている場合には、書き込み要求の内容を書き込む。
【００２８】
ストレージ装置１０２０は、管理用ポート３０５０を通じてボリューム割当情報要求を受信すると、メモリ３０２０内に保持するボリューム割当管理表３１１０に含まれる情報をボリューム割当情報としてボリューム割当情報の送信元に対して送信する。
また、ストレージ装置１０２０は、管理用ポート３０５０を通じて物理ディスク情報要求を受信すると、メモリ３０２０内に保持する物理ディスク割当管理表３１２０に含まれる情報を物理ディスク情報として物理ディスク情報を要求した送信元に対して送信する。
【００２９】
さらに、ストレージ装置１０２０は、管理用ポート３０５０を通じて優先割当記憶領域情報１７０００を受信すると、受信した優先割当記憶領域情報１７０００の内容でメモリ３０２０内に保持する優先割当管理表３１３０を更新する。
本実施形態例では、ボリューム管理サーバ１０１０とストレージ装置１０２０は異なる装置で動作する例を示しているが、これに限らず、ストレージ装置１０２０のメモリ３０２０にボリューム管理サーバ１０１０で行われる処理を実行する各プログラムを保持する構成であってもよい。
【００３０】
以下、本実施形態におけるボリューム管理サーバ１０１０の動作について説明する。
図４はボリューム管理サーバ１０１０における処理概要を示したフローチャートである。
最初に、ボリューム管理サーバ１０１０は、情報収集プログラム２１１０により、ボリューム割当情報と物理ディスク情報をストレージ装置１０２０から収集する（ステップＳ４０１０）。
【００３１】
具体的には、ボリューム管理サーバ１０１０のCPU２０１０が情報収集プログラム２１１０を読み出して情報収集モジュールの処理を実行することにより、図１１に示すボリューム割当管理表３１１０及び図１２に示す物理ディスク割当管理表３１２０の各情報を収集する。
【００３２】
次に、情報収集プログラム２１１０における情報収集処理（ステップＳ４０１０）を説明する。
まず、この情報収集プログラム２１１０により生成される各テーブルについて説明する。
図１４に示すボリューム管理表２２１０は、ボリュームID１４０１０と、割当済記憶領域ID１４０２０と、論理ボリュームに割り当てられた物理ディスクを識別する割当済物理ディスクID１４０３０と、論理ボリュームが属するボリュームグループを識別するボリュームグループID１４０４０と、論理ボリュームに優先的に割り当てる記憶領域を含む物理ディスクを識別する優先割当物理ディスクID１４０５０と、論理ボリュームに優先的に割り当てる記憶領域を識別する優先割当記憶領域ID１４０６０とから構成される。
【００３３】
図１５に示す物理ディスク管理表２２２０は、物理ディスクID１５０１０と、記憶領域ID１５０２０と、残容量と、物理ディスクを割り当てるボリュームグループを識別する割当ボリュームグループID１５０４０とから構成される。
図５は情報収集プログラム２１１０における処理概要を示したフローチャートである。
まず、情報収集プログラム２１１０は、ストレージ装置１０２０に対して、ボリューム割当情報要求を送信する（ステップＳ５０１０）。
【００３４】
次に、情報収集プログラム２１１０は、ストレージ装置１０２０からの応答であるボリューム割当情報を受信し、図１４に示すボリューム管理表２２１０に保存する（ステップＳ５０２０）。
ここで、情報収集プログラム２１１０は、ボリューム割当情報のボリュームIDがボリューム管理表２２１０のボリュームIDに存在しなければ、ボリューム管理表２２１０のボリュームIDに追加し、ボリュームIDが存在する場合は何もしない。
【００３５】
また、情報収集プログラム２１１０は、ボリューム割当情報の割当済記憶領域IDをボリューム管理表２２１０のボリュームIDが一致するレコードにカンマによる区切りを設けて追加する。
さらに、情報収集プログラム２１１０は、ボリューム割当情報に含まれる、その他の情報については、ボリューム管理表２２１０には保存しない。
【００３６】
次に、情報収集プログラム２１１０は、ストレージ装置１０２０に対して、物理ディスク情報要求を送信する（ステップＳ５０３０）。
次に情報収集プログラム２１１０はストレージ装置１０２０からの応答である物理ディスク情報を受信し、図１５に示す物理ディスク管理表２２２０に保存する（ステップＳ５０４０）。
【００３７】
ここで、情報収集プログラム２１１０は、物理ディスク情報の物理ディスクIDを物理ディスク管理表２２２０の物理ディスクIDに保存する。
また、情報収集プログラム２１１０は、物理ディスク情報の記憶領域IDを物理ディスク管理表２２２０の物理ディスクIDが一致するレコードの記憶領域IDに保存する。
【００３８】
さらに、情報収集プログラム２１１０は、物理ディスク情報の残容量を物理ディスク管理表２２２０の物理ディスクIDが一致するレコードの残容量に保存する。
次に、情報収集プログラム２１１０は、ボリューム管理表２２１０の割当済物理ディスクの項目を入力する（ステップＳ５０５０）。
【００３９】
図６は情報収集プログラム２１１０が、図１４に示すボリューム管理表２２１０の割当済物理ディスクの項目を入力する処理（ステップＳ５０５０）の概要を表したフローチャートである。
まず、情報収集プログラム２１１０は、図１４に示すボリューム管理表２２１０に割当済物理ディスクIDを入力していない論理ボリュームが存在するか否かを確認する（ステップＳ６０１０）。
【００４０】
ボリューム管理表２２１０に割当済物理ディスクIDを入力していないレコードが存在しないと判断された場合（ステップＳ６０２０）、情報収集プログラム２１１０は、ボリューム管理表２２１０の割当済物理ディスクの項目を入力する処理を終了する。
ボリューム管理表２２１０に割当済物理ディスクIDを入力していないレコードが存在すると判断された場合（ステップＳ６０３０）には、物理ディスク管理表２２２０から、割当済記憶領域IDが一致する記憶領域の物理ディスクIDを取得する（ステップＳ６１１０）。
【００４１】
次に、取得した物理ディスクIDがすでにボリューム管理表２２１０の該当レコードの割当済物理ディスクIDに記入済みであるか否かを確認する（ステップＳ６２１０）。
登録済みであると判断された場合（ステップＳ６２２０）には、割当済物理ディスクIDを入力していないレコードが存在するかを確認する処理（ステップＳ６０１０）へ戻る。
【００４２】
未登録であると判断された場合（ステップＳ６２３０）には、ボリューム管理表２２１０の該当レコードの割当済物理ディスクIDに取得した物理ディスクIDを追加し（ステップＳ６３１０）、割当済物理ディスクIDを入力していないレコードが存在するかを確認する処理（ステップＳ６０１０）へ戻る。
【００４３】
以上が、情報収集プログラム２１１０が、図１４に示すボリューム管理表２２１０の割当済物理ディスクの項目を入力する処理の説明である。
図４に戻って、ボリューム管理サーバ１０１０は記憶領域割当プログラム２１２０により、優先割当記憶領域を割り当てる（ステップＳ４０２０）。
具体的には、ボリューム管理サーバ１０１０のCPU２０１０が記憶領域割当プログラム２１２０を読み出して記憶領域割当モジュールの処理を実行することにより、割当処理を実行する。
【００４４】
図７は記憶領域割当プログラム２１２０の優先割当記憶領域の割当処理（ステップＳ４０２０）の概要を示したフローチャートである。
最初に記憶領域割当プログラム２１２０は、ボリュームグループを作成する（ステップＳ７０１０）。
図８は記憶領域割当プログラム２１２０におけるボリュームグループを作成する処理（ステップＳ７０１０）の概要を示したフローチャートである。
【００４５】
まず、記憶領域割当プログラム２１２０により生成されるテーブルについて説明する。
図１６に示すボリュームグループ管理表２２３０は、ボリュームグループを識別するボリュームグループID１６０１０と、ボリュームグループに含まれるボリュームを識別するボリュームID１６０２０と、ボリュームグループに割り当てられた物理ディスクを識別する物理ディスクID１６０３０とから構成される。
【００４６】
図８の説明に戻って、最初に、記憶領域割当プログラム２１２０は、ボリューム管理表２２１０に未処理のレコードが存在するか否かを確認する（ステップＳ８０１０）。
未処理のレコードが存在しないと判断された場合（ステップＳ８０２０）は、ボリューム管理表２２１０のボリュームIDを含むレコードを図１６に示すボリュームグループ管理表２２３０から検索し、そのレコードのボリュームグループIDをボリューム管理表２２１０のボリュームグループIDに入力し（ステップＳ８１１０）、記憶領域割当プログラム２１２０は、ボリュームグループを作成する処理を終了する。
【００４７】
未処理のレコードが存在すると判断された場合（ステップＳ８０３０）には、ボリューム管理表２２１０の当該レコードの割当済物理ディスクIDを物理ディスクIDの項目に含むレコードがボリュームグループ管理表２２３０に存在するか否かを確認する（ステップＳ８２１０）。
【００４８】
ボリューム管理表２２１０の当該レコードの割当済物理ディスクIDを物理ディスクIDの項目に含むレコードがボリュームグループ管理表２２３０に存在しないと判断された場合（ステップＳ８２２０）には、ボリュームグループ管理表２２３０に存在しないボリュームグループIDを作成する。
【００４９】
そして、ボリュームグループ管理表２２３０にボリュームグループIDが前記作成したボリュームグループIDであって、物理ディスクIDがボリューム管理表２２１０の当該レコードの割当済物理ディスクIDである新規レコードを追加し（ステップＳ８３１０）、ボリューム管理表２２１０に未処理のレコードが存在するか確認する処理（ステップＳ８０１０）へ戻る。
このとき、ボリュームグループIDの作成方法として、例えば、ボリュームグループIDに整数を割り当てて、新規追加する場合には、使用済みの整数のうち最大である整数に1を加えたものとするという方法がある。
【００５０】
ボリューム管理表２２１０の当該レコードの割当済物理ディスクIDを物理ディスクIDの項目に含むレコードがボリュームグループ管理表２２３０に存在すると判断された場合（ステップＳ８２３０）には、ボリューム管理表２２１０の当該レコードの割当済物理ディスクIDの項目に含まれる物理ディスクIDがボリュームグループ管理表２２３０の物理ディスクIDで複数レコードにまたがっているか否かを確認する（ステップＳ８４１０）。
【００５１】
同一物理ディスクIDが含まれるボリュームグループが一つであると判断された場合（ステップＳ８４２０）は、ボリュームグループ管理表２２３０に含まれるレコードのうち、該当するボリュームグループIDのレコードのボリュームIDにボリューム管理表２２１０の当該レコードのボリュームIDを追加し（ステップＳ８５１０）、ボリューム管理表２２１０に未処理のレコードが存在するか確認する処理（ステップＳ８０１０）へ戻る。
【００５２】
同一物理ディスクIDが含まれるボリュームグループが複数存在すると判断された場合（ステップＳ８４３０）には、ボリュームグループ管理表２２３０に存在しないボリュームグループIDを作成する。そして、ボリュームグループ管理表２２３０にボリュームグループIDが前記作成したボリュームグループIDであって、前記同一物理ディスクが含まれるボリュームグループのレコードに含まれる物理ディスクIDを全て含む新規レコードを追加する（ステップＳ８６１０）。
【００５３】
さらに、前記同一物理ディスクが含まれるボリュームグループのレコードをボリュームグループ管理表２２３０から削除する。その後、ボリューム管理表２２１０に未処理のレコードが存在するかを確認する処理（ステップＳ８０１０）へ戻る。
以上が、記憶領域割当プログラム２１２０におけるボリュームグループを作成する処理の説明である。
【００５４】
図７に戻って、記憶領域割当プログラム２１２０は、ボリュームグループに対して優先物理ディスクを割り当てる（ステップＳ７０２０）。
図９は記憶領域割当プログラム２１２０におけるボリュームグループに対して優先物理ディスクを割り当てる処理（ステップＳ７０２０）の概要を示したフローチャートである。
【００５５】
記憶領域割当プログラム２１２０は、最初に物理ディスク管理表２２２０に含まれる全てのレコードに対して処理を行ったか否かを確認する（ステップＳ９０１０）。
物理ディスク管理表２２２０に含まれる全てのレコードに対して処理が終了していれば（ステップＳ９０２０）、記憶領域割当プログラム２１２０はボリュームグループに対して優先物理ディスクを割り当てる処理を終了する。
【００５６】
物理ディスク管理表２２２０に含まれるレコードのうち、未処理のレコードが存在すると判断された場合（ステップＳ９０３０）、記憶領域割当プログラム２１２０は、以下の処理を物理ディスク管理表２２２０に含まれるレコードに対して実行する。
まず、記憶領域割当プログラム２１２０は、物理ディスク管理表２２２０の当該レコードの割当ボリュームグループIDを用いて、物理ディスク管理表２２２０の当該レコードの物理ディスクがボリュームグループに割り当てられているか否かを確認する（ステップＳ９１１０）。
【００５７】
物理ディスク管理表２２２０の当該レコードの物理ディスクが既にボリュームグループに割り当てられていると判断された場合（ステップＳ９１２０）には、引き続き当該ボリュームグループで当該物理ディスクを使用するため、何も変更をせず（ステップＳ９２１０）、物理ディスク管理表２２２０に含まれる全てのレコードに対して処理を行ったか確認する処理（ステップＳ９０１０）へ戻る。
【００５８】
物理ディスク管理表２２２０の当該レコードの物理ディスクがボリュームグループに割り当てられていないと判断された場合（ステップＳ９１３０）には、当該物理ディスクを最も残容量が少ないボリュームグループに対して割り当て（ステップＳ９３１０）、物理ディスク管理表２２２０に含まれる全てのレコードに対して処理を行ったか確認する処理（ステップＳ９０１０）へ戻る。
【００５９】
このとき、残容量が最も少ないボリュームグループを検索する方法としては以下のものが考えられる。
記憶領域割当プログラム２１２０が、ボリュームグループ管理表２２３０の各レコードに対して、物理ディスクIDが一致するレコードの残容量を物理ディスク管理表２２２０から取得することで、ボリュームグループ管理表２２３０に含まれるボリュームグループの残容量を計算することができる。
【００６０】
前記計算した残容量が最も少ないボリュームグループが、物理ディスクIDが一致するレコードの残容量が最も少ないボリュームグループである。
以上が、記憶領域割当プログラム２１２０におけるボリュームグループに対して優先物理ディスクを割り当てる処理の説明である。
【００６１】
図７に戻って、最後に、記憶領域割当プログラム２１２０は、論理ボリュームに対して、優先割当記憶領域を割り当てる（ステップＳ７０３０）。
図１０は、記憶領域割当プログラム２１２０における、論理ボリュームに対して優先割当記憶領域を割り当てる処理（ステップＳ７０３０）の概要を示したフローチャートである。
【００６２】
記憶領域割当プログラム２１２０は、最初にボリューム管理表２２１０に含まれる全てのレコードに対して処理を行ったか否かを確認する（ステップＳ１００１０）。
ボリューム管理表２２１０に含まれる全てのレコードに対して処理が終了していれば（ステップＳ１００２０）、記憶領域割当プログラム２１２０は、論理ボリュームに対して、優先割当記憶領域を割り当てる処理を終了する。
【００６３】
ボリューム管理表２２１０に含まれるレコードのうち、未処理のレコードが存在すると判断された場合（ステップＳ１００３０）、当該レコードのボリュームグループIDとボリュームグループIDが一致するレコードをボリュームグループ管理表２２３０から検索し、前記ボリュームグループIDが一致するレコードのボリュームIDの値に複数のボリュームIDが含まれるか否かを確認する（ステップＳ１０１１０）。
【００６４】
前記ボリュームグループIDが一致するレコードのボリュームグループIDの値に複数のボリュームIDが含まれると判断される場合（ステップＳ１０１２０）、当該ボリュームグループに割り当てられた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、当該ボリュームグループを構成する論理ボリュームに対して均等になるように優先割当記憶領域として割り当て、前記割り当てた記憶領域の記憶領域IDをボリューム管理表２２１０の当該レコードの優先割当記憶領域IDに追加する（ステップＳ１０４１０）。
そして、ボリューム管理表２２１０に含まれる全てのレコードに対して処理を行ったかを確認する処理（ステップＳ１００１０）へ戻る。
【００６５】
前記ボリュームグループIDが一致するレコードのボリュームグループIDが一つのボリュームIDだけが含まれると判断される場合（ステップＳ１０１３０）、当該ボリュームグループに割り当てられた物理ディスクに含まれる記憶領域のうち、未割当の記憶領域を、前記一つのボリュームIDの優先割当記憶領域として割り当て、前記割り当てた記憶領域の記憶領域IDをボリューム管理表２２１０の当該レコードの優先割当記憶領域IDに追加する（ステップＳ１０５１０）。
【００６６】
そして、ボリューム管理表２２１０に含まれる全てのレコードに対して処理を行ったかを確認する処理（ステップＳ１００１０）へ戻る。
以上が、記憶領域割当プログラム２１２０における、論理ボリュームに対して、優先割当記憶領域を割り当てる処理の説明である。
【００６７】
次に、記憶領域割当プログラム２１２０により生成されるテーブルについて説明する。
図１７に示す優先割当記憶領域情報１７０００は、ボリュームID１７０１０と優先割当記憶領域ID１７０２０とから構成される。
図４に戻って、最後に、ボリューム管理サーバ１０１０は、情報送信プログラム２１３０により、図１７に示す優先割当記憶領域情報１７０００をストレージ装置１０２０へ送信する（ステップＳ４０３０）。
【００６８】
具体的には、ボリューム管理サーバ１０１０の情報送信プログラム２１３０がCPU２０１０に情報送信モジュールを実現させることにより、情報送信プログラム２１３０が送信処理を実行する。
情報送信プログラム２１３０は、ボリューム管理表２２１０に含まれるボリュームIDと優先割当記憶領域IDから、優先割当記憶領域情報１７０００を作成してストレージ装置１０２０へ送信する。
【００６９】
次に、ボリューム管理サーバ１０１０は、出力装置２０５０を用いて、管理者１０６０に対して優先割当記憶領域の設定が終了したことを通知する。
以上が、本発明におけるボリューム管理サーバ１０１０の動作の説明である。
【００７０】
本実施形態例によれば、論理ボリュームを自動拡張するストレージ装置１０２０においても、既存の、論理ボリュームに対する物理ディスクのマッピングと同等の、論理ボリュームに対する物理ディスク上の記憶領域の自動割当が可能となり、論理ボリュームのI/O性能を保ちながら論理ボリュームを自動拡張することができる。
【００７１】
以下、他の実施形態について図面を用いて説明する。
他の実施形態例では、図２に示した先の実施形態例の構成において、ボリューム管理サーバ１８０１０のハードディスク２０３０内に増設通知受信プログラムを保持する点が先の実施形態例と異なる点である。
また、ストレージ装置１０２０は物理ディスクが増設されると、あらかじめ設定されたボリューム管理サーバ１８０１０に対して、物理ディスクの増設を通知する増設通知を送信するものとする。
【００７２】
以下、他の実施形態例におけるボリューム管理サーバ１８０１０の動作を説明する。
図１８は、他の実施形態例におけるボリューム管理サーバ１８０１０の処理の概要を示したフローチャートである。
最初に、ボリューム管理サーバ１８０１０は、増設通知受信プログラム１９１１０により、ストレージ装置１０２０から増設通知が通知されるのを待つ。
【００７３】
増設通知受信プログラム１９１１０はストレージ装置１０２０が送信した増設通知を受信すると、情報収集プログラム２１１０に対し、ボリューム割当情報と、物理ディスク情報の収集を指示する（ステップＳ２００１０）。
次にボリューム管理サーバ１８０１０は、情報収集プログラム２１１０により、ボリューム割当情報と物理ディスク情報をストレージ装置１０２０から収集する（ステップＳ４０１０）。情報収集プログラム２１１０で行う処理は、先の実施形態例と同様である。
【００７４】
次にボリューム管理サーバ１８０１０は、記憶領域割当プログラム２１２０により、優先割当記憶領域を割り当てる（ステップＳ４０２０）。記憶領域割当プログラム２１２０で行う処理は、先の実施形態例と同様である。
次に、ボリューム管理サーバ１８０１０は、情報送信プログラム２１３０により、図１７に示す優先割当記憶領域情報１７０００をストレージ装置１０２０へ送信する（ステップＳ４０３０）。情報送信プログラム２１３０で行う処理は、先の実施形態例と同様である。
【００７５】
なお、ストレージ装置１０２０からボリューム管理サーバ１８０１０へ送信される増設通知は、例えば、トラップモジュールを用いて実行される。トラップモジュールは、例えば、起動、停止、ポート情報などの状態変化の通知を行う。
また、増設通知は、定期的、又はI/O低下時に管理者が任意のタイミングで行ってもよい。
【００７６】
ここで、I/O低下時には、一旦ボリューム移動を実行してシステムを最適化した後に、上述した優先割当を行うことにより、以後、ボリューム移動が不要となる。
以上が、他の実施形態例におけるボリューム管理サーバ１８０１０の動作の説明である。
【００７７】
本実施形態例により、管理者が介在せずとも、論理ボリュームを自動拡張するストレージ装置１０２０においても、既存の、論理ボリュームに対する物理ディスクのマッピングと同等の、論理ボリュームに対する物理ディスク上の記憶領域の自動割当が可能となり、論理ボリュームのI/O性能を保ちながら論理ボリュームを自動拡張することができる。
【図面の簡単な説明】
【００７８】
【図１】ストレージ管理システムの概略構成例を示した図である。
【図２】ボリューム管理サーバの構成を示した図である。
【図３】ストレージ装置の構成を示した図である。
【図４】ボリューム管理サーバにおける処理を示したフローチャートである。
【図５】ボリューム管理サーバの情報収集プログラムにおける処理を示したフローチャートである。
【図６】ボリューム管理サーバの情報収集プログラムのボリューム管理表の割当済物理ディスクの項目を入力する処理を示したフローチャートである。
【図７】ボリューム管理サーバの記憶領域割当プログラムの処理を示したフローチャートである。
【図８】ボリューム管理サーバの記憶領域割当プログラムのボリュームグループを作成する処理を示したフローチャートである。
【図９】ボリューム管理サーバの記憶領域割当プログラムのボリュームグループに対して優先物理ディスクを割り当てる処理を示したフローチャートである。
【図１０】ボリューム管理サーバの記憶領域割当プログラムの論理ボリュームに対して優先割当記憶領域を割り当てる処理を示したフローチャートである。
【図１１】ストレージ装置が保持するボリューム割当管理表を示した図である。
【図１２】ストレージ装置が保持する物理ディスク割当管理表を示した図である。
【図１３】ストレージ装置が保持する優先割当管理表を示した図である。
【図１４】ボリューム管理サーバが保持するボリューム管理表を示した図である。
【図１５】ボリューム管理サーバが保持する物理ディスク管理表を示した図である。
【図１６】ボリューム管理サーバが保持するボリュームグループ管理表を示した図である。
【図１７】ボリューム管理サーバからストレージ装置へ送信する優先割当記憶領域情報を示した図である。
【図１８】ボリューム管理サーバにおける他の処理を示したフローチャートである。
【符号の説明】
【００７９】
１０１０…ボリューム管理サーバ、１０２０…ストレージ装置、１０３０…計算機、１０４０…管理用ネットワーク、１０５０…ストレージエリアネットワーク、２０１０…CPU、２０２０…メモリ、２０３０…ハードディスク、２０４０…入力装置、２０５０…出力装置、２０６０…通信ポート、２１１０…情報収集プログラム、２１２０…記憶領域割当プログラム、２１３０…情報送信プログラム、２２１０…ボリューム管理表、２２２０…物理ディスク管理表、２２３０…ボリュームグループ管理表、３０１０…コントローラ、３０２０…メモリ、３０３０…物理ディスク、３０４０…I/Oポート、３０５０…管理用ポート、３１１０…ボリューム割当管理表、３１２０…物理ディスク割当管理表、３１３０…優先割当管理表
【図１】
0004693589.tif 000002
【図２】
0004693589.tif 000003
【図３】
0004693589.tif 000004
【図４】
0004693589.tif 000005
【図５】
0004693589.tif 000006
【図６】
0004693589.tif 000007
【図７】
0004693589.tif 000008
【図８】
0004693589.tif 000009
【図９】
0004693589.tif 000010
【図１０】
0004693589.tif 000011
【図１１】
0004693589.tif 000012
【図１２】
0004693589.tif 000013
【図１３】
0004693589.tif 000014
【図１４】
0004693589.tif 000015
【図１５】
0004693589.tif 000016
【図１６】
0004693589.tif 000017
【図１７】
0004693589.tif 000018
【図１８】
0004693589.tif 000019