(57)【要約】【課題】ストレージプールを適切に運用及び管理する。【解決手段】一つ以上の業務計算機と、一つ以上のストレージ装置と、管理計算機と、を備える計算機システムにおける容量監視方法であって、前記ストレージ装置は、物理ディスクと、ディスクコントローラと、を備え、前記容量監視方法では、前記物理ディスクの記憶領域は、ストレージプールに属し、前記ストレージ装置は、ボリュームを提供し、前記管理計算機は、ストレージプールの使用容量を監視し、前記監視されるストレージプールの使用容量の増加速度に基づいて、前記業務計算機が所定の期間稼動するために必要な記憶容量が、前記ストレージプールに存在するか否かを判定し、前記所定の期間の稼動に必要な記憶容量が前記ストレージプールに存在しない場合には、所定の処理を行うことを特徴とする。【選択図】図２
2008097502.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、メモリ及びインタフェースを備える一つ以上の業務計算機と、前記業務計算機に接続される一つ以上のストレージ装置と、プロセッサ、メモリ及びインタフェースを備え、前記業務計算機及び前記ストレージ装置にアクセス可能な管理計算機と、を備える計算機システムにおける容量監視方法であって、
前記ストレージ装置は、
前記業務計算機に書き込み要求されるデータを記憶する物理ディスクと、前記物理ディスクへのデータの入出力を制御するディスクコントローラと、を備え、
前記物理ディスクの記憶領域は、ストレージプールに属し、
前記容量監視方法では、前記業務計算機は、前記ボリュームに対してデータの読み書きを要求する一つ以上のアプリケーションを実行し、
前記ストレージ装置は、前記業務計算機からデータの書き込みを要求されるボリュームを、前記業務計算機に提供し、
前記管理計算機又は前記ストレージ装置のいずれかが、前記ストレージプールに属する記憶領域を、前記ボリュームに割り当て、
前記管理計算機は、
前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられている記憶領域の容量であるストレージプールの使用容量、及び前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられていない記憶領域の容量であるストレージプールの未使用容量を監視し、
前記監視されるストレージプールの使用容量の増加速度及び前記監視されるストレージプールの未使用容量に基づいて、前記業務計算機が所定の期間稼動するために必要な記憶容量が、前記ストレージプールに存在するか否かを判定し、
前記所定の期間の稼動に必要な記憶容量が前記ストレージプールに存在しない場合には、所定の処理を行うことを特徴とする容量監視方法。
【請求項２】
前記ボリュームは、前記業務計算機からの書き込み要求に応じて前記物理ディスクの記憶領域が割り当てられるシン・プロビジョニング・ボリュームであり、
前記業務計算機は、前記提供されたシン・プロビジョニング・ボリュームを、当該シン・プロビジョニング・ボリュームに割り当てられている物理ディスクの記憶領域の容量以上の容量を持つボリュームとして認識することを特徴とする請求項１に記載の容量監視方法。
【請求項３】
前記管理計算機は、
前記アプリケーションによって書き込み要求される前記ボリュームに割り当てられている記憶領域の容量であるアプリケーションの使用容量を、前記アプリケーションごとに監視し、
前記業務計算機で実行されるすべてのアプリケーションの使用容量を合計することによって、前記ストレージプールの使用容量を算出し、
前記算出されたストレージプールの使用容量を監視することを特徴とする請求項１に記載の容量監視方法。
【請求項４】
前記所定の処理は、前記管理計算機が、前記業務計算機で実行されるアプリケーションの中から、異常な稼動をしているアプリケーションを特定し、
前記特定されたアプリケーションの稼動停止を、前記業務計算機に指示することを特徴とする請求項１に記載の容量監視方法。
【請求項５】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記管理計算機が、低い優先度に設定されているアプリケーションからの書き込みの制限を、前記ストレージ装置又は前記業務計算機に指示することを特徴とする請求項１に記載の容量監視方法。
【請求項６】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記管理計算機が、低い優先度に設定されているアプリケーションの稼動停止を、前記業務計算機に指示することを特徴とする請求項１に記載の容量監視方法。
【請求項７】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記管理計算機が、低い優先度に設定されているアプリケーションによって書き込み要求される前記ボリュームに、前記ストレージプールに属する記憶領域を追加して割り当てることを禁止することを特徴とする請求項１に記載の容量監視方法。
【請求項８】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記管理計算機が、前記ストレージプールに属する記憶領域のうち、前記ボリュームのいずれにも割り当てられていない記憶領域を、高い優先度に設定されているアプリケーションによって書き込み要求される前記ボリュームに優先的に割り当てることを特徴とする請求項１に記載の容量監視方法。
【請求項９】
前記所定の処理は、前記ストレージ装置が、前記アプリケーションに書き込み要求される前記ボリュームに割り当てられている記憶領域の容量であるアプリケーションの使用容量を、前記アプリケーションごとに監視し、
前記アプリケーションの使用容量の増加速度に基づいて、当該アプリケーションが所定の期間稼動するために必要な記憶容量を、前記アプリケーションごとに算出し、
前記アプリケーションごとに算出された所定の期間稼動するために必要な記憶容量を参照して、前記ストレージプールに属する記憶領域のうち、前記ボリュームのいずれにも割り当てられていない記憶領域を、前記ボリュームのいずれかに割り当てることを特徴とする請求項１に記載の容量監視方法。
【請求項１０】
プロセッサ、メモリ及びインタフェースを備える一つ以上の業務計算機と、前記業務計算機に接続される一つ以上のストレージ装置と、を備える計算機システムにおける容量監視方法であって、
前記ストレージ装置は、
前記業務計算機に書き込み要求されるデータを記憶する物理ディスクと、前記物理ディスクへのデータの入出力を制御するディスクコントローラと、を備え、
前記物理ディスクの記憶領域は、ストレージプールに属し、
前記容量監視方法では、前記業務計算機が、前記ボリュームに対してデータの読み書きを要求する一つ以上のアプリケーションを実行し、
前記ストレージ装置は、
前記業務計算機からデータの書き込みを要求されるボリュームを、前記業務計算機に提供し、
前記ストレージプールに属する記憶領域を、前記ボリュームに割り当て、
前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられている記憶領域の容量であるストレージプールの使用容量、及び前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられていない記憶領域の容量であるストレージプールの未使用容量を監視し、
前記監視されるストレージプールの使用容量の増加速度及び前記監視されるストレージプールの未使用容量に基づいて、前記業務計算機が所定の期間稼動するために必要な記憶容量が、前記ストレージプールに存在するか否かを判定し、
前記所定の期間の稼動に必要な記憶容量が前記ストレージプールに存在しない場合には、所定の処理を行うことを特徴とする容量監視方法。
【請求項１１】
前記ボリュームは、前記業務計算機からの書き込み要求に応じて前記物理ディスクの記憶領域が割り当てられるシン・プロビジョニング・ボリュームであり、
前記業務計算機は、前記提供されたシン・プロビジョニング・ボリュームを、当該シン・プロビジョニング・ボリュームに割り当てられている物理ディスクの記憶領域の容量以上の容量を持つボリュームとして認識することを特徴とする請求項１０に記載の容量監視方法。
【請求項１２】
前記ストレージ装置は、
前記アプリケーションによって書き込み要求される前記ボリュームに割り当てられている記憶領域の容量であるアプリケーションの使用容量を、前記アプリケーションごとに監視し、
前記業務計算機で実行されるすべてのアプリケーションの使用容量を合計することによって、前記ストレージプールの使用容量を算出し、
前記算出されたストレージプールの使用容量を監視することを特徴とする請求項１０に記載の容量監視方法。
【請求項１３】
前記所定の処理は、前記ストレージ装置が、前記業務計算機で実行されるアプリケーションの中から、異常な稼動をしているアプリケーションを特定し、
前記特定されたアプリケーションの稼動停止を、前記業務計算機に指示することを特徴とする請求項１０に記載の容量監視方法。
【請求項１４】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記ストレージ装置が、低い優先度に設定されているアプリケーションからの書き込みを制限することを特徴とする請求項１０に記載の容量監視方法。
【請求項１５】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記ストレージ装置が、低い優先度に設定されているアプリケーションの稼動停止を、前記業務計算機に指示することを特徴とする請求項１０に記載の容量監視方法。
【請求項１６】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記ストレージ装置が、低い優先度に設定されているアプリケーションによって書き込み要求される前記ボリュームに、前記ストレージプールに属する記憶領域を追加して割り当てないことを特徴とする請求項１０に記載の容量監視方法。
【請求項１７】
前記アプリケーションには、優先度が設定され、
前記所定の処理は、前記ストレージ装置が、前記ストレージプールに属する記憶領域のうち、前記ボリュームのいずれにも割り当てられていない記憶領域を、高い優先度に設定されているアプリケーションによって書き込み要求される前記ボリュームに優先的に割り当てることを特徴とする請求項１０に記載の容量監視方法。
【請求項１８】
前記所定の処理は、前記ストレージ装置が、前記アプリケーションに書き込み要求される前記ボリュームに割り当てられている記憶領域の容量であるアプリケーションの使用容量を、前記アプリケーションごとに監視し、
前記アプリケーションの使用容量の増加速度に基づいて、当該アプリケーションが所定の期間稼動するために必要な記憶容量を、前記アプリケーションごとに算出し、
前記アプリケーションごとに算出された所定の期間稼動するために必要な記憶容量を参照して、前記ストレージプールに属する記憶領域のうち、前記ボリュームのいずれにも割り当てられていない記憶領域を、前記ボリュームのいずれかに割り当てることを特徴とする請求項１０に記載の容量監視方法。
【請求項１９】
プロセッサ、メモリ及びインタフェースを備える一つ以上の業務計算機と、前記業務計算機に接続される一つ以上のストレージ装置と、プロセッサ、メモリ及びインタフェースを備え、前記業務計算機及び前記ストレージ装置にアクセス可能な管理計算機と、を備える計算機システムであって、
前記業務計算機は、前記ボリュームに対してデータの読み書きを要求する一つ以上のアプリケーションを実行し、
前記ストレージ装置は、
前記業務計算機に書き込み要求されるデータを記憶する物理ディスクと、前記物理ディスクへのデータの入出力を制御するディスクコントローラと、を備え、
前記業務計算機からデータの書き込みを要求されるボリュームを、前記業務計算機に提供し、
前記物理ディスクの記憶領域は、ストレージプールに属し、
前記管理計算機又は前記ストレージ装置のいずれかが、前記ストレージプールに属する記憶領域を、前記ボリュームに割り当て、
前記管理計算機は、
前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられている記憶領域の容量であるストレージプールの使用容量、及び前記ストレージプールに属する記憶領域のうち前記ボリュームに割り当てられていない記憶領域の容量であるストレージプールの未使用容量を監視し、
前記監視されるストレージプールの使用容量の増加速度及び前記監視されるストレージプールの未使用容量に基づいて、前記業務計算機が所定の期間稼動するために必要な記憶容量が、前記ストレージプールに存在するか否かを判定し、
前記所定の期間の稼動に必要な記憶容量が前記ストレージプールに存在しない場合には、所定の処理を行うことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置を備える計算機システムに関し、特に、容量を監視する技術に関する。
【背景技術】
【０００２】
ストレージ装置は、物理ディスクの記憶領域を静的に割り当てることによって、論理ボリューム（ＬＵ）を業務サーバに提供する。しかし、ＬＵには、以下の問題点が存在する。
【０００３】
例えば、業務サーバに割り当てられる物理ディスクの記憶容量が、業務サーバに実際に使用される記憶容量より多くなってしまう（過割当：Ｏｖｅｒ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）という問題があった。なぜなら、業務サーバ上のアプリケーションプログラムによって使用される記憶容量が正確に把握できないからである。他には、ＬＵの容量を変更するための運用コストが高いという問題があった。
【０００４】
これらの問題を解決する技術として、シン・プロビジョニング（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）が知られている。ストレージ装置は、シン・プロビジョニングによって実現されたボリューム（シン・プロビジョニング・ボリューム）を業務サーバ上のアプリケーションプログラムに提供する。
【０００５】
これによって、ストレージ装置は、実際に割り当てられた物理ディスクの記憶容量よりも大きい記憶容量を持つボリュームとして認識されるシン・プロビジョニング・ボリュームを提供できる。なお、ストレージ装置は、業務サーバ上のアプリケーションプログラムからシン・プロビジョニング・ボリュームへの書き込み要求を受けると、当該書き込みを要求されたシン・プロビジョニング・ボリュームに、ストレージプールの未使用記憶領域を動的に割り当てる。
【０００６】
一方、企業間コラボレーションアプリケーションにおいて、プロジェクトごとに、ストレージ装置の使用記憶容量を管理するデータ管理システムが、特許文献１に開示されている。
【特許文献１】特開２００４−１１０３２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
シン・プロビジョニングでは、ストレージプールが、複数のアプリケーションによって共用される。よって、ストレージプールの未使用記憶領域が枯渇すると、当該ストレージプールを共用しているすべてのアプリケーションが影響を受けてしまう。
【０００８】
一方、シン・プロビジョニングでは過割当を防止するため、ストレージプールの未使用記憶領域は、少ないほうが好ましい。そのため、シン・プロビジョニングでは、ストレージプールの適切な運用及び管理が重要となる。
【０００９】
本発明は前述した問題点に鑑みてなされたものであり、ストレージプールを適切に運用及び管理する計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の代表的な形態は、プロセッサ、メモリ及びインタフェースを備える一つ以上の業務計算機と、前記業務計算機に接続される一つ以上のストレージ装置と、プロセッサ、メモリ及びインタフェースを備え、前記業務計算機及び前記ストレージ装置にアクセス可能な管理計算機と、を備える計算機システムにおける容量監視方法であって、前記ストレージ装置は、前記業務計算機に書き込み要求されるデータを記憶する物理ディスクと、前記物理ディスクへのデータの入出力を制御するディスクコントローラと、を備え、前記容量監視方法では、前記業務計算機が、前記ボリュームに対してデータの読み書きを要求する一つ以上のアプリケーションを実行し、前記物理ディスクの記憶領域は、ストレージプールに属し、前記ストレージ装置は、前記業務計算機からデータの書き込みを要求されるボリュームを、前記業務計算機に提供し、前記管理計算機又は前記ストレージ装置のいずれかが、前記ストレージプールに属する記憶領域を、前記ボリュームに割り当て、前記管理計算機は、前記ストレージプールに属する記憶領域のうち、前記ボリュームに割り当てられている記憶領域の容量であるストレージプールの使用容量を監視し、前記監視されるストレージプールの使用容量の増加速度に基づいて、前記業務計算機が所定の期間稼動するために必要な記憶容量が、前記ストレージプールに存在するか否かを判定し、前記所定の期間の稼動に必要な記憶容量が前記ストレージプールに存在しない場合には、所定の処理を行うことを特徴とする。
【発明の効果】
【００１１】
本発明の代表的な形態によると、ストレージプールを適切に運用及び管理できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して説明する。
【００１３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【００１４】
計算機システムは、業務サーバ１、ストレージ装置２、管理サーバ３、管理データベース４、管理ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）５及びＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６を備える。業務サーバ１及びストレージ装置２は、それぞれ一台ずつが図示されているが、計算機システムに複数備わっていてもよい。
【００１５】
ＳＡＮ６は、業務サーバ１とストレージ装置２とを接続するネットワークである。管理ＬＡＮ５は、業務サーバ１、ストレージ装置２及び管理サーバ３を相互に接続するネットワークである。
【００１６】
ストレージ装置２は、ストレージコントローラ２０及び物理ディスクを備える。
【００１７】
ストレージコントローラ２０は、物理ディスクに対してデータを読み書きする。また、ストレージコントローラ２０は、物理ディスクの記憶領域を、一つ以上の論理ボリューム（ＬＵ）２５として設定する。
【００１８】
また、ストレージコントローラ２０は、プロセッサ２１、メモリ２２、ＬＡＮポート２３及びＦＣポート２４を備える。
【００１９】
プロセッサ２１は、メモリ２２に記憶されるプログラムを実行することによって、各種処理を行う。メモリ２２は、プロセッサ２１に実行されるプログラム及びプロセッサ２１に必要とされる情報等を記憶する。ＬＡＮポート２３は、管理ＬＡＮ５を介して管理サーバ３に接続されるインタフェースである。ＦＣポート２４は、ＳＡＮ６を介して業務サーバ１に接続されるインタフェースである。
【００２０】
業務サーバ１は、データの読み書きをストレージ装置２に要求する。また、業務サーバ１は、プロセッサ１１、メモリ１２、ＬＡＮポート１３及びＨＢＡポート１４を備える。
【００２１】
プロセッサ１１は、メモリ１２に記憶されるプログラムを実行することによって、各種処理を行う。メモリ１２は、プロセッサ１１に実行されるプログラム及びプロセッサ１１に必要とされる情報等を記憶する。ＬＡＮポート１３は、管理ＬＡＮ５を介して管理サーバ３に接続されるインタフェースである。ＨＢＡポート１４は、ＳＡＮ６を介してストレージ装置２に接続されるインタフェースである。
【００２２】
管理サーバ３は、管理データベース３４に接続される。そして、管理サーバ３は、管理データベース３４に記憶される情報を参照して、業務サーバ１及びストレージ装置２を管理する。また、管理サーバ３は、プロセッサ３１、メモリ３２及びＬＡＮポート３３を備える。
【００２３】
プロセッサ３１は、メモリ３２に記憶されるプログラムを実行することによって、各種処理を行う。メモリ３２は、プロセッサ３１に実行されるプログラム及びプロセッサ３１に必要とされる情報等を記憶する。ＬＡＮポート３３は、管理ＬＡＮ５を介して業務サーバ１及びストレージ装置２に接続されるインタフェースである。なお、管理サーバ３については、図３で詳細を説明する。
【００２４】
管理データベース４は、管理サーバ３によって参照される情報を記憶する。なお、管理データベース４については、図４で詳細を説明する。
【００２５】
図２は、本発明の第１の実施の形態の計算機システムの機能構成のブロック図である。
【００２６】
ストレージ装置２に備わるストレージコントローラ２０は、一つ以上のＬＵ２５を含むストレージプール２８を管理する。つまり、ストレージコントローラ２０は、ＬＵ２５の記憶領域を、ストレージプール２８として設定する。なお、ストレージコントローラ２０は、複数のストレージプール２８を管理してもよい。
【００２７】
また、ストレージコントローラ２０は、一つ以上のシン・プロビジョニング・ボリューム２９を、業務サーバ１に提供する。シン・プロビジョニング・ボリューム２９は、実際に割り当てられている記憶領域（使用記憶領域）の容量よりも大きい仮想的な容量（仮想容量）を持つボリュームとして、業務サーバ１上のアプリケーションプログラム１２２から認識される。
【００２８】
ストレージコントローラ２０は、シン・プロビジョニング・ボリューム２９への書き込み要求を受けると、当該書き込みを要求されたシン・プロビジョニング・ボリューム２９に、ストレージプール２８の未使用記憶領域を割り当てる。なお、ストレージプール２８の未使用記憶領域は、ストレージプール２８に含まれるすべての記憶領域（ストレージプール２８の全体記憶領域）のうち、シン・プロビジョニング・ボリューム２９のいずれにも割り当てられていない記憶領域である。
【００２９】
また、ストレージコントローラ２０は、アドレス変換テーブル２６及び容量データ２７を記憶する。アドレス変換テーブル２６は、シン・プロビジョニング・ボリューム２９における記憶領域のアドレスとＬＵ２５における記憶領域のアドレスとの対応を示す。
【００３０】
よって、ストレージコントローラ２０は、シン・プロビジョニング・ボリューム２９に対するデータの読み書きが要求されると、アドレス変換テーブル２６を参照して、ＬＵ２５に対してデータを読み書きする。
【００３１】
なお、ストレージコントローラ２０は、物理ディスクの記憶領域を、ＬＵ２５として設定しなくてもよい。この場合、アドレス変換テーブル２６は、シン・プロビジョニング・ボリューム２９における記憶領域のアドレスと物理ディスクにおける記憶領域のアドレスとの対応を示す。そして、ストレージコントローラ２０は、シン・プロビジョニング・ボリューム２９に対するデータの読み書きが要求されると、アドレス変換テーブル２６を参照して、物理ディスクに対してデータを読み書きする。
【００３２】
また、ストレージコントローラ２０は、容量データ２７を記憶する。容量データ２７は、ストレージプール２８の全体容量、使用容量及び未使用容量を含む。
【００３３】
ストレージプール２８の全体容量は、ストレージプール２８に含まれるすべての記憶領域（ストレージプール２８の全体記憶領域）の容量である。また、ストレージプール２８の使用容量は、ストレージプール２８の全体記憶領域のうち、シン・プロビジョニング・ボリューム２９のいずれかに割り当てられている記憶領域（ストレージプール２８の使用記憶領域）の容量である。また、ストレージプール２８の未使用容量は、ストレージプール２８の全体記憶領域のうち、シン・プロビジョニング・ボリューム２９のいずれにも割り当てられていない記憶領域（ストレージプール２８の未使用記憶領域）の容量である。
【００３４】
更に、容量データ２７は、シン・プロビジョニング・ボリューム２９の仮想容量及び使用容量を含む。シン・プロビジョニング・ボリューム２９の仮想容量は、業務サーバ１上のアプリケーションプログラム１２２がシン・プロビジョニング・ボリューム２９の容量として認識する仮想的な容量である。シン・プロビジョニング・ボリューム２９の使用容量は、ストレージプール２８の使用記憶領域のうち、当該シン・プロビジョニング・ボリューム２９に割り当てられている記憶領域の容量である。
【００３５】
業務サーバ１のメモリ１２は、ＯＳ１２１、アプリケーションプログラム１２２及びアプリケーション管理エージェント１２３を記憶する。
【００３６】
ＯＳ１２１は、業務サーバ１の処理の全体を制御する。アプリケーションプログラム１２２は、各種処理を実行する。例えば、アプリケーションプログラム１２２は、シン・プロビジョニング・ボリューム２９に対するデータの読み書きを、ストレージ装置２に要求する。
【００３７】
アプリケーション管理エージェント１２３は、アプリケーションの稼動状態を制御する。例えば、アプリケーション管理エージェント１２３は、アプリケーションプログラム１２２の稼動停止の指示を管理サーバ３から受けると、当該アプリケーションプログラム１２２へ稼動停止を指示する。
【００３８】
管理サーバ３のメモリ３２は、ストレージ管理ソフトウェア３２０を記憶する。
【００３９】
ストレージ管理ソフトウェア３２０は、管理データベース４に記憶される情報を参照して、業務サーバ１及びストレージ装置２を管理する。また、ストレージ管理ソフトウェア３２０は、ストレージコントローラ２０から容量データ２７を取得する。そして、ストレージ管理ソフトウェア３２０は、取得した容量データ２７に基づいて、管理データベース４を更新する。
【００４０】
図３は、本発明の第１の実施の形態の管理サーバ３の構成のブロック図である。
【００４１】
管理サーバ３は、プロセッサ３１、メモリ３２及びＬＡＮポート３３を備える。メモリ３２は、ストレージ管理ソフトウェア３２０を記憶する。ストレージ管理ソフトウェア３２０は、ストレージプール監視部３２１、ストレージ管理データ取得部３２２、ストレージ装置制御部３２３、アプリケーションプログラム制御部３２４及び容量消費予測部３２５を含む。
【００４２】
ストレージ管理データ取得部３２２は、ストレージ装置２から容量データ２７を定期的に取得する。
【００４３】
ストレージプール監視部３２１は、通常時では、ストレージプール２８全体を単位として、ストレージプール２８の容量を監視する。例えば、ストレージプール監視部３２１は、ストレージプール２８の未使用容量が十分な量であるか否かを判定する。ストレージプール２８の未使用容量が十分な量でない場合、ストレージプール監視部３２１は、通常時の運用から閾値割れ時の運用へ切り替える。
【００４４】
閾値割れ時には、ストレージプール監視部３２１は、業務サーバ１上のアプリケーションプログラム１２２を単位として、ストレージプール２８の容量を監視する。例えば、ストレージプール監視部３２１は、業務サーバ１上のアプリケーションプログラム１２２の使用容量を監視する。なお、アプリケーションプログラム１２２の使用容量は、ストレージプール２８の使用記憶領域のうち、当該アプリケーションプログラム１２２に使用されるシン・プロビジョニング・ボリューム２９に割り当てられた記憶領域の容量である。そして、ストレージプール監視部３２１は、監視結果に基づいて、アプリケーションプログラム１２２の稼動を制御する必要があるか否かを判定する。
【００４５】
ストレージ装置制御部３２３は、ストレージ装置２を制御する。例えば、ストレージ装置制御部３２３は、シン・プロビジョニング・ボリューム２９への書き込みＩ／Ｏ制限等をストレージ装置２へ指示する。
【００４６】
アプリケーションプログラム制御部３２４は、業務サーバ１上のアプリケーションプログラム１２２を制御する。例えば、アプリケーションプログラム制御部３２４は、アプリケーションプログラム１２２の稼動停止を、業務サーバ１上のアプリケーション管理エージェント１２３に指示する。
【００４７】
容量消費予測部３２５は、管理データベース４に記憶される情報に基づいて、容量消費速度の予測値を算出する。なお、容量消費予測部３２５は、アプリケーションプログラム１２２、シン・プロビジョニング・ボリューム２９及びストレージプール２８ごとに、容量消費速度の予測値を算出する。更に、容量消費予測部３２５は、アプリケーションプログラム１２２が異常な稼動をしていないかどうかを判定する。
【００４８】
なお、ストレージ管理ソフトウェア３２０は、業務サーバ１又はストレージ装置２のいずれかで実行されてもよい。この場合、管理サーバ３は不要となる。
【００４９】
図４は、本発明の第１の実施の形態の管理データベース４の構成のブロック図である。
【００５０】
管理データベース４は、アプリケーション管理データテーブル４１、ストレージ管理データテーブル４２、ボリューム容量履歴データテーブル４３、アプリケーション容量履歴データテーブル４４、ストレージプール容量履歴データテーブル４５、ストレージプール監視定義データテーブル４６及びアプリケーション監視定義データテーブル４７を記憶する。
【００５１】
アプリケーション管理データテーブル４１は、業務サーバ１上のアプリケーションプログラム１２２を管理するための情報である。なお、アプリケーション管理データテーブル４１については、図５で詳細を説明する。
【００５２】
ストレージ管理データテーブル４２は、ストレージ装置２を管理するための情報である。なお、ストレージ管理データテーブル４２については、図６で詳細を説明する。
【００５３】
ボリューム容量履歴データテーブル４３は、シン・プロビジョニング・ボリューム２９の使用容量等に関する履歴を示す。なお、ボリューム容量履歴データテーブル４３については、図７で詳細を説明する。
【００５４】
アプリケーション容量履歴データテーブル４４は、アプリケーションプログラム１２２の使用容量等に関する履歴を示す。なお、アプリケーション容量履歴データテーブル４４については、図８で詳細を説明する。
【００５５】
ストレージプール容量履歴データテーブル４５は、ストレージプール２８の使用容量等に関する履歴を示す。なお、ストレージプール容量履歴データテーブル４５については、図９で詳細を説明する。
【００５６】
ストレージプール監視定義データテーブル４６は、ストレージプール２８の記憶領域の容量を監視する際に使用される条件を示す。なお、ストレージプール監視定義データテーブル４６については、図１０で詳細を説明する。
【００５７】
アプリケーション監視定義データテーブル４７は、業務サーバ１上のアプリケーションプログラム１２２によって使用される記憶領域の容量を監視する際に使用される条件を示す。なお、アプリケーション監視定義データテーブル４７については、図１１で詳細を説明する。
【００５８】
図５は、本発明の第１の実施の形態の管理データベース４に記憶されるアプリケーション管理データテーブル４１の構成図である。
【００５９】
アプリケーション管理データテーブル４１は、アプリケーション名４１１、業務サーバアドレス４１２、使用ボリューム番号４１３、稼動状態４１４、稼動目標期限４１５、稼動可能予測期限４１６及び未使用割当容量４１７を含む。
【００６０】
アプリケーション名４１１は、業務サーバ１によって実行されるアプリケーションプログラム１２２の一意な識別子である。業務サーバアドレス４１２は、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２を実行する業務サーバ１のＩＰアドレスである。
【００６１】
使用ボリューム番号４１３は、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２が使用可能なシン・プロビジョニング・ボリューム２９の一意な識別子である。
【００６２】
稼動状態４１４は、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２が、稼動中、Ｉ／Ｏ制限中又は停止中のいずれであるかを示す。なお、稼動状態４１４がＩ／Ｏ制限中を示す場合、当該アプリケーションプログラム１２２からストレージ装置２のシン・プロビジョニング・ボリューム２９への書き込みＩ／Ｏが、制限されている。
【００６３】
稼動目標期限４１５は、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２の稼動を継続すべき目標となる日時である。なお、通常時の運用では、稼動目標期限４１５に値が格納されない。そして、閾値割れ時の運用になると、稼動目標期限４１５に値が格納される。
【００６４】
稼動可能予測期限４１６は、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２の稼動の停止が予測される日時である。稼動可能予測期限４１６は、アプリケーションプログラム１２２の容量消費速度の予測値に基づいて算出される。なお、通常時の運用は、稼動可能予測期限４１６に値が格納されない。そして、閾値割れ時の運用になると、稼動可能予測期限４１６に値が格納される。但し、閾値割れ時の運用であっても、当該アプリケーションプログラム１２２の稼動が停止している時には、稼動可能予測期限４１６に値が格納されない。
【００６５】
未使用割当容量４１７は、ストレージプール２８の未使用記憶領域のうち、当該レコードのアプリケーション名４１１によって識別されるアプリケーションプログラム１２２に割り当てられた記憶領域の容量である。アプリケーションプログラム１２２に割り当てられた容量が割り当てられた場合、実際には、当該アプリケーションプログラム１２２が使用可能なシン・プロビジョニング・ボリューム２９に記憶領域が割り当てられる。
【００６６】
なお、通常時の運用では、未使用割当容量４１７に値が格納されない。当該アプリケーションプログラム１２２にストレージプール２８の未使用記憶領域が割り当てられると、未使用割当容量４１７に値が格納される。
【００６７】
図６は、本発明の第１の実施の形態の管理データベース４に記憶されるストレージ管理データテーブル４２の構成図である。
【００６８】
ストレージ管理データテーブル４２は、ストレージ装置名４２１及びストレージ装置アドレス４２２を含む。
【００６９】
ストレージ装置名４２１は、管理サーバ３に接続されているストレージ装置２の一意な識別子である。ストレージ装置アドレス４２２は、当該レコードのストレージ装置名４２１によって識別されるストレージ装置２に割り当られたＩＰアドレスである。
【００７０】
図７は、本発明の第１の実施の形態の管理データベース４に記憶されるボリューム容量履歴データテーブル４３の構成図である。
【００７１】
ボリューム容量履歴データテーブル４３は、ボリューム番号４３１、仮想容量４３２、日時４３３、使用容量４３４及び消費速度予測値４３５を含む。
【００７２】
ボリューム番号４３１は、ストレージ装置２によって提供されるシン・プロビジョニング・ボリューム２９の一意な識別子である。仮想容量４３２は、当該レコードのボリューム番号４３１によって識別されるシン・プロビジョニング・ボリューム２９の仮想的な容量である。つまり、業務サーバ１上のアプリケーションプログラム１２２は、シン・プロビジョニング・ボリューム２９の容量を、仮想容量４３２として認識する。
【００７３】
日時４３３は、当該レコードのボリューム番号４３１によって識別されるシン・プロビジョニング・ボリューム２９の使用容量が測定された日時である。使用容量４３４は、当該レコードの日時４３３における、当該レコードのボリューム番号４３１によって識別されるシン・プロビジョニング・ボリューム２９の使用容量である。
【００７４】
消費速度予測値４３５は、当該レコードのボリューム番号４３１によって識別されるシン・プロビジョニング・ボリューム２９の使用容量が増加する速度の予測値である。なお、消費速度予測値４３５は、当該レコードの使用容量４３４に基づいて算出された値である。例えば、容量消費予測部３２５は、過去数日分又は過去数時間分の使用容量４３４に基づいて、消費速度予測値４３５を算出する。
【００７５】
図８は、本発明の第１の実施の形態の管理データベース４に記憶されるアプリケーション容量履歴データテーブル４４の構成図である。
【００７６】
アプリケーション容量履歴データテーブル４４は、アプリケーション名４４１、日時４４２、使用容量４４３及び消費速度予測値４４４を含む。
【００７７】
アプリケーション名４４１は、業務サーバ１によって実行されるアプリケーションプログラム１２２の一意な識別子である。日時４４２は、当該レコードのアプリケーション名４４１によって識別されるアプリケーションプログラム１２２の使用容量が測定された日時である。
【００７８】
使用容量４４３は、当該レコードの日時４４２における、当該レコードのアプリケーション名４４１によって識別されるアプリケーションプログラム１２２の使用容量である。
【００７９】
消費速度予測値４４４は、当該レコードのアプリケーション名４４１によって識別されるアプリケーションプログラム１２２の使用容量が増加する速度の予測値である。なお、消費速度予測値４４４は、当該レコードの使用容量４４３に基づいて算出された値である。例えば、容量消費予測部３２５は、過去数日分又は過去数時間分の使用容量４４３に基づいて、消費速度予測値４４４を算出する。
【００８０】
図９は、本発明の第１の実施の形態の管理データベース４に記憶されるストレージプール容量履歴データテーブル４５の構成図である。
【００８１】
ストレージプール容量履歴データテーブル４５は、プール容量４５１、日時４５２、使用容量４５３、未使用容量４５４及び消費速度予測値４５５を含む。
【００８２】
プール容量４５１は、ストレージ装置２に備わるストレージプール２８の全体記憶領域の容量である。日時４５２は、ストレージ装置２に備わるストレージプール２８の使用容量が測定された日時である。
【００８３】
使用容量４５３は、当該レコードの日時４５２における、ストレージ装置２に備わるストレージプール２８の使用記憶領域の容量である。未使用容量４５４は、当該レコードの日時４５２における、ストレージ装置２に備わるストレージプール２８の未使用記憶領域の容量である。
【００８４】
消費速度予測値４５５は、ストレージ装置２に備わるストレージプール２８の使用容量が増加する速度の予測値である。言い換えると、消費速度予測値４５５は、ストレージ装置２に備わるストレージプール２８の未使用容量が減少する速度の予測値である。
【００８５】
なお、消費速度予測値４５５は、当該レコードの使用容量４５３又は未使用容量４５４に基づいて算出された値である。例えば、容量消費予測部３２５は、過去数日分又は過去数時間分の使用容量４５３に基づいて、消費速度予測値４５５を算出する。
【００８６】
なお、ストレージ装置２が複数のストレージプール２８を備える場合、管理データベース４は、ストレージプール２８ごとにストレージプール容量履歴データテーブル４５を記憶する。
【００８７】
図１０は、本発明の第１の実施の形態の管理データベース４に記憶されるストレージプール監視定義データテーブル４６の構成図である。
【００８８】
ストレージプール監視定義データテーブル４６は、残稼動時間閾値４６１及び異常稼動閾値４６２を含む。
【００８９】
残稼動時間閾値４６１は、デフォルトに設定されているアプリケーションプログラム１２２の稼動を保証すべき時間である。残稼動時間閾値４６１は、通常時の運用から閾値割れ時の運用への切り替えの判定に使用される。例えば、ストレージプール監視部３２１は、残稼動時間閾値４６１を参照して、ストレージプール２８の未使用容量が十分な量であるか否かを判定する。ストレージプール２８の未使用容量が十分な量でないと、ストレージプール監視部３２１は、通常時の運用から閾値割れ時の運用へ切り替える。
【００９０】
異常稼動閾値４６２は、デフォルトに設定されているアプリケーションプログラム１２２が異常な稼動をしているか否かの判定に使用される。容量消費予測部３２５は、異常稼動閾値４６２を参照して、アプリケーションプログラム１２２が異常な稼動をしているか否かを判定する。
【００９１】
例えば、アプリケーションプログラム１２２の容量消費速度予測値が異常稼動閾値４６２より大きい場合、容量消費予測部３２５は、当該アプリケーションプログラム１２２が異常稼動していると判定する。
【００９２】
また、アプリケーションプログラム１２２の容量消費速度の長期予測値に対するアプリケーションプログラム１２２の容量消費速度の短期予測値の割り合いが異常稼動閾値４６２より大きい場合にも、容量消費予測部３２５は、当該アプリケーションプログラム１２２が異常稼動していると判定する。なお、アプリケーションプログラム１２２の容量消費速度の長期予測値は、アプリケーション容量履歴データテーブル４４の過去数日分（長期間）の使用容量４４３に基づいて算出されたものである。また、アプリケーションプログラム１２２の容量消費速度の短期予測値は、アプリケーション容量履歴データテーブル４４の過去数時間分（短期間）の使用容量４４３に基づいて算出されたものである。
【００９３】
図１１は、本発明の第１の実施の形態の管理データベース４に記憶されるアプリケーション監視定義データテーブル４７の構成図である。
【００９４】
アプリケーション監視定義データテーブル４７は、アプリケーション名４７１、優先度４７２、書き込みＩ／Ｏ制限４７３、残稼動時間閾値４７４及び異常稼動閾値４７５を含む。
【００９５】
アプリケーション名４７１は、業務サーバ１によって実行されるアプリケーションプログラム１２２の一意な識別子である。優先度４７２は、当該レコードのアプリケーション名４７１によって識別されるアプリケーションプログラム１２２に設定されている優先度である。アプリケーションプログラム１２２に設定されている優先度が高いほど、アプリケーションプログラム１２２には、残稼動時間閾値４７４の稼動が保証される。
【００９６】
書き込みＩ／Ｏ制限４７３は、当該レコードのアプリケーション名４７１によって識別されるアプリケーションプログラム１２２からの書き込みＩ／Ｏを制限可能であるか否かを示す。書き込みＩ／Ｏの制限が可能である場合、書き込みＩ／Ｏ制限４７３は、書き込みＩ／Ｏを制限する割合をも示す。
【００９７】
残稼動時間閾値４７４は、当該レコードのアプリケーション名４７１によって識別されるアプリケーションプログラム１２２の稼動を保証すべき時間である。なお、残稼動時間閾値４７４が「デフォルト」を示す場合、残稼動時間閾値４７４の代わりに、ストレージプール監視定義データテーブル４６の残稼動時間閾値４６１が使用される。
【００９８】
異常稼動閾値４７５は、当該レコードのアプリケーション名４７１によって識別されるアプリケーションプログラム１２２が異常な稼動をしているか否かの判定に使用される。なお、異常稼動閾値４７５が「デフォルト」を示す場合、異常稼動閾値４７５の代わりに、ストレージプール監視定義データテーブル４６の異常稼動閾値４６２が使用される。
【００９９】
図１２は、本発明の第１の実施の形態の管理サーバ３の通常時の運用の処理のフローチャートである。
【０１００】
通常時において、管理サーバ３は、所定の間隔（例えば、一時間ごと）で、通常時の運用の処理を実行する。
【０１０１】
まず、管理サーバ３は、現在の容量データ２７をストレージ装置２から取得する（Ｓ１０１）。なお、容量データ２７は、ストレージプール２８の全体容量、ストレージプール２８の使用容量、ストレージプール２８の未使用容量、シン・プロビジョニング・ボリューム２９の仮想容量及びシン・プロビジョニング・ボリューム２９の使用容量を含む。
【０１０２】
次に、管理サーバ３は、取得した容量データ２７を、ボリューム容量履歴データテーブル４３及びストレージプール容量履歴データテーブル４５に格納する。
【０１０３】
具体的には、管理サーバ３は、ボリューム容量履歴データテーブル４３に、新たなレコードを作成する。次に、管理サーバ３は、作成した新たなレコードの日時４３３に、容量データ２７を取得した日時を格納する。次に、管理サーバ３は、作成した新たなレコードの使用容量４３４に、取得した容量データ２７に含まれるシン・プロビジョニング・ボリューム２９の使用容量を格納する。
【０１０４】
次に、管理サーバ３は、ストレージプール容量履歴データテーブル４５に、新たなレコードを作成する。次に、管理サーバ３は、作成した新たなレコードの日時４５２に、容量データ２７を取得した日時を格納する。次に、管理サーバ３は、作成した新たなレコードの使用容量４５３に、取得した容量データ２７に含まれるストレージプール２８の使用容量を格納する。次に、管理サーバ３は、作成した新たなレコードの未使用容量４５４に、取得した容量データ２７に含まれるストレージプール２８の未使用容量を格納する。
【０１０５】
次に、管理サーバ３は、取得した容量データ２７及びアプリケーション管理データテーブル４１に基づいて、アプリケーションプログラム１２２の使用容量を算出する（Ｓ１０２）。
【０１０６】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。ここでは、管理サーバ３は、アプリケーション管理データテーブル４１のレコードを、上から順番に選択する。次に、管理サーバ３は、選択したレコードから、使用ボリューム番号４１３を抽出する。次に、管理サーバ３は、取得した容量データから、抽出した使用ボリューム番号４１３によって識別されるシン・プロビジョニング・ボリューム２９の使用容量を抽出する。次に、管理サーバ３は、抽出したシン・プロビジョニング・ボリューム２９の使用容量を合計することによって、アプリケーションプログラム１２２の使用容量を算出する。
【０１０７】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２の使用容量を、アプリケーション容量履歴データテーブル４４に格納する。
【０１０８】
具体的には、管理サーバ３は、アプリケーション容量履歴データテーブル４４に、新たなレコードを作成する。次に、管理サーバ３は、作成した新たなレコードの日時４４２に、容量データ２７を取得した日時を格納する。次に、管理サーバ３は、作成した新たなレコードの使用容量４４３に、算出したアプリケーションプログラム１２２の使用容量を格納する。
【０１０９】
次に、管理サーバ３は、アプリケーションプログラム１２２、シン・プロビジョニング・ボリューム２９及びストレージプール２８ごとに、容量消費速度の予測値を算出する（Ｓ１０３）。次に、管理サーバ３は、算出した容量消費速度の予測値を、ボリューム容量履歴データテーブル４３、アプリケーション容量履歴データテーブル４４及びストレージプール容量履歴データテーブル４５に格納する。これによって、管理サーバ３は、ボリューム容量履歴データテーブル４３、アプリケーション容量履歴データテーブル４４、ストレージプール容量履歴データテーブル４５を更新する（Ｓ１０４）。
【０１１０】
具体的には、管理サーバ３は、ボリューム容量履歴データテーブル４３の使用容量４３４に基づいて、シン・プロビジョニング・ボリューム２９の容量消費速度の予測値を算出する。次に、管理サーバ３は、算出した予測値を、ボリューム容量履歴データテーブル４３に新たに作成されたレコードの消費速度予測値４３５に格納する。
【０１１１】
次に、管理サーバ３は、アプリケーション容量履歴データテーブル４４の使用容量４４３に基づいて、アプリケーションプログラム１２２の容量消費速度の予測値を算出する。次に、管理サーバ３は、算出した予測値を、アプリケーション容量履歴データテーブル４４の消費速度予測値４４４に格納する。
【０１１２】
次に、管理サーバ３は、ストレージプール容量履歴データテーブル４５の使用容量４５３又は未使用容量４５４に基づいて、ストレージプール２８の容量消費速度の予測値を算出する。次に、管理サーバ３は、算出した予測値を、ストレージプール容量履歴データテーブル４５の消費速度予測値４５５に格納する。
【０１１３】
次に、管理サーバ３は、それぞれのアプリケーションプログラム１２２ごとの必要未使用容量を算出する。アプリケーションプログラム１２２の必要未使用容量は、当該アプリケーションプログラム１２２が、アプリケーション監視定義データテーブル４７の残稼動時間閾値４７４以上稼動するために必要と予測される記憶容量である。
【０１１４】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４４４を抽出する。
【０１１５】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４７１とが一致するレコードを、アプリケーション監視定義データテーブル４７から選択する。次に、管理サーバ３は、選択したレコードから、残稼動時間閾値４７４を抽出する。
【０１１６】
次に、管理サーバ３は、抽出した消費速度予測値４４４に、抽出した残稼動時間閾値４７４を乗じることによって、アプリケーションプログラム１２２の必要未使用容量を算出する。但し、残稼動時間閾値４７４がデフォルトを示す場合、管理サーバ３は、抽出した消費速度予測値４４４に、ストレージプール監視定義データテーブル４６の残稼動時間閾値４６１を乗じることによって、アプリケーションプログラム１２２の必要未使用容量を算出する。
【０１１７】
管理サーバ３は、アプリケーションプログラム１２２を順番にすべて選択することによって、それぞれのアプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０１１８】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量のすべてを合計することによって、ストレージプール２８の必要未使用容量を算出する（Ｓ１０５）。ストレージプール２８の必要未使用容量は、すべてのアプリケーションプログラム１２２が、アプリケーション監視定義データテーブル４７の残稼動時間閾値４７４以上稼動するために必要と予測される記憶容量である。
【０１１９】
次に、管理サーバ３は、日時４５２が最新であるレコードを、ストレージプール容量履歴データテーブル４５から選択する。次に、管理サーバ３は、選択したレコードから、未使用容量４５４を抽出する。次に、管理サーバ３は、抽出した未使用容量４５４が、算出したストレージプール２８の必要未使用容量以上であるか否かを判定する（Ｓ１０６）。
【０１２０】
未使用容量４５４が、ストレージプール２８の必要未使用容量以上であると、すべてのアプリケーションプログラム１２２が、アプリケーション監視定義データテーブル４７の残稼動時間閾値４７４以上稼動できる。そこで、管理サーバ３は、そのまま通常時の運用の処理を終了する。
【０１２１】
一方、未使用容量４５４が、ストレージプール２８の必要未使用容量未満であると、少なくとも一つのアプリケーションプログラム１２２が、アプリケーション監視定義データテーブル４７の残稼動時間閾値４７４未満しか稼動できない。
【０１２２】
そこで、管理サーバ３は、アプリケーションプログラム１２２ごとに稼動目標期限を算出する。
【０１２３】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４７１とか一致するレコードを、アプリケーション監視定義データテーブル４７から選択する。次に、管理サーバ３は、選択したレコードから、残稼動時間閾値４７４を抽出する。次に、管理サーバ３は、抽出した残稼動時間閾値４７４に、現在の日時を加算することによって、選択したアプリケーションプログラム１２２の稼動目標期限を算出する。
【０１２４】
但し、残稼動時間閾値４７４がデフォルトを示す場合、ストレージプール監視定義データテーブル４６の残稼動時間閾値４６１に現在の日時を加算することによって、選択したアプリケーションプログラム１２２の稼動目標期限を算出する（Ｓ１０７）。
【０１２５】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードの稼動目標期限４１５に、算出したアプリケーションプログラム１２２の稼動目標期限を格納する。
【０１２６】
そして、管理サーバ３は、通常時の運用から、閾値割れ時の運用に切り替える。
【０１２７】
図１３は、本発明の第１の実施の形態の管理サーバ３の閾値割れ時の運用の処理のフローチャートである。
【０１２８】
閾値割れ時において、管理サーバ３は、所定の間隔（例えば、一時間ごと）で、閾値割れ時の運用の処理を実行する。
【０１２９】
まず、管理サーバ３は、通常時の運用におけるステップＳ１０１からＳ１０４までと同一の処理を実行する。
【０１３０】
次に、管理サーバ３は、それぞれのアプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０１３１】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４４４を抽出する。
【０１３２】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードから、稼動目標期限４１５を抽出する。
【０１３３】
次に、管理サーバ３は、抽出した稼動目標期限４１５から、現在の日時を減算することによって、稼動目標時間を算出する。次に、管理サーバ３は、抽出した消費速度予測値４４４に、算出した稼動目標時間を乗じることによって、アプリケーションプログラム１２２の必要未使用容量を算出する。
【０１３４】
管理サーバ３は、アプリケーションプログラム１２２を順番にすべて選択することによって、それぞれのアプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０１３５】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量のすべてを合計することによって、ストレージプール２８の必要未使用容量を算出する（Ｓ１１１）。
【０１３６】
次に、管理サーバ３は、日時４５２が最新の日時を示すレコードを、ストレージプール容量履歴データテーブル４５から選択する。次に、管理サーバ３は、選択したレコードから、未使用容量４５４を抽出する。次に、管理サーバ３は、抽出した未使用容量４５４が、ステップＳ１１１で算出したストレージプール２８の必要未使用容量以上であるか否かを判定する（Ｓ１１２）。
【０１３７】
未使用容量４５４が、ストレージプール２８の必要未使用容量以上であると、すべてのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できる。そこで、管理サーバ３は、そのまま閾値割れ時の運用の処理を終了する。
【０１３８】
一方、未使用容量４５４が、ストレージプール２８の必要未使用容量未満であると、少なくとも一つのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１３９】
そこで、管理サーバ３は、ストレージプール監視定義データテーブル４６の異常稼動閾値４６２を参照して、すべてのアプリケーションプログラム１２２の中から、異常稼動しているアプリケーションプログラム１２２を特定する。
【０１４０】
具体的には、管理サーバ３は、アプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４７１とが一致するレコードを、アプリケーション監視定義データテーブル４７から選択する。次に、管理サーバ３は、選択したレコードから、異常稼動閾値４７５を抽出する。なお、抽出された異常稼動閾値４７５がデフォルトを示す場合、異常稼動閾値４７５の代わりに、ストレージプール監視定義データテーブル４６の異常稼動閾値４６２が使用される。
【０１４１】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、選択したレコードから、使用容量４４３及び消費速度予測値４４４を抽出する。
【０１４２】
管理サーバ３は、抽出した消費速度予測値４４４が異常稼動閾値４７５より大きいか否かを判定する。抽出した消費速度予測値４４４が異常稼動閾値４７５より大きい場合、管理サーバ３は、選択したアプリケーションプログラム１２２が異常稼動していると判定する。
【０１４３】
更に、管理サーバ３は、使用容量４４３に基づいて、アプリケーションプログラム１２２の容量消費速度の長期予測値及び短期予測値を算出する。次に、管理サーバ３は、算出した長期予測値に対する算出した短期予測値の割り合いが異常稼動閾値４７５より大きいか否かを判定する。長期予測値に対する短期予測値の割り合いが異常稼動閾値４７５より大きい場合にも、管理サーバ３は、選択したアプリケーションプログラム１２２が異常稼動していると判定する。
【０１４４】
管理サーバ３は、アプリケーションプログラム１２２を順番に選択することによって、すべてのアプリケーションプログラム１２２の中から、異常稼動しているアプリケーションプログラム１２２を特定する。
【０１４５】
次に、管理サーバ３は、異常稼動しているアプリケーションプログラム１２２の稼動停止を決定する。次に、管理サーバ３は、異常稼動しているアプリケーションプログラム１２２の稼動を停止した場合におけるストレージプール２８の必要未使用容量を算出する（Ｓ１１３）。
【０１４６】
具体的には、管理サーバ３は、稼動停止が決定されたアプリケーションプログラム１２２を除くアプリケーションプログラム１２２の必要未使用容量を合計することによって、ストレージプール２８の必要未使用容量を算出する。
【０１４７】
次に、管理サーバ３は、ステップＳ１１２で抽出した未使用容量４５４が、ステップＳ１１３で算出したストレージプール２８の必要未使用容量以上であるか否かを判定する（Ｓ１１４）。
【０１４８】
未使用容量４５４がストレージプール２８の必要未使用容量以上であると、異常稼動していないすべてのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できる。そこで、管理サーバ３は、ステップＳ１２４に進む。
【０１４９】
一方、未使用容量４５４がストレージプール２８の必要未使用容量未満であると、異常稼動していない少なくとも一つのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１５０】
そこで、管理サーバ３は、書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２を、優先度が低いものから順に選択する。
【０１５１】
具体的には、管理サーバ３は、書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２の中から、前回のステップＳ１１５で選択したアプリケーションプログラム１２２に設定されている優先度よりも一つ高い優先度に設定されているアプリケーションプログラム１２２を選択する。なお、管理サーバ３は、ステップＳ１１５を初めて実行する場合、書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２の中から、最も低い優先度に設定されているアプリケーションプログラム１２２を選択する。
【０１５２】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２に対する、書き込みＩ／Ｏ制限の実施を決定する。
【０１５３】
次に、管理サーバ３は、書き込みＩ／Ｏ制限を実施した場合におけるアプリケーションプログラム１２２の必要未使用容量を算出する。
【０１５４】
例えば、書き込みＩ／Ｏの２０パーセントが制限された場合を説明する。この場合、管理サーバ３は、アプリケーション容量履歴データテーブル４４の消費速度予測値４４４に、「０．８（＝１−０．２）」を乗じる。次に、管理サーバ３は、求まった値に、ステップＳ１１１で算出した稼動目標時間を乗じることによって、書き込みＩ／Ｏ制限を実施した場合におけるアプリケーションプログラム１２２の必要未使用容量を算出する。
【０１５５】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２の必要未使用容量に基づいて、書き込みＩ／Ｏ制限を実施した場合におけるストレージプール２８の必要未使用容量を算出する（Ｓ１１５）。
【０１５６】
次に、管理サーバ３は、ステップＳ１１２で抽出した未使用容量４５４が、ステップＳ１１５で算出したストレージプール２８の必要未使用容量以上であるか否かを判定する（Ｓ１１６）。
【０１５７】
未使用容量４５４がストレージプール２８の必要未使用容量以上であると、異常稼動していないすべてのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できる。そこで、管理サーバ３は、ステップＳ１２３に進む。
【０１５８】
一方、未使用容量４５４が、ストレージプール２８の必要未使用容量未満であると、異常稼動していない少なくとも一つのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１５９】
そこで、管理サーバ３は、ステップＳ１１５において、書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２のすべてを選択したか否かを判定する（Ｓ１１７）。
【０１６０】
書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２のいずれか一つでも選択されていない場合、管理サーバ３は、ステップＳ１１５に戻る。
【０１６１】
一方、書き込みＩ／Ｏを制限可能なアプリケーションプログラム１２２のすべてが選択された場合、書き込みＩ／Ｏが制限されても、少なくとも一つのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１６２】
そこで、管理サーバ３は、アプリケーションプログラム１２２を、優先度が低いものから順に選択する。
【０１６３】
具体的には、管理サーバ３は、前回のステップＳ１１８で選択したアプリケーションプログラム１２２に設定されている優先度よりも一つ高い優先度に設定されているアプリケーションプログラム１２２を選択する。なお、管理サーバ３は、ステップＳ１１８を初めて実行する場合、最も低い優先度に設定されているアプリケーションプログラム１２２を選択する。
【０１６４】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の稼動停止を決定する（Ｓ１１８）。次に、管理サーバ３は、稼動停止が決定されたアプリケーションプログラム１２２の稼動を停止した場合におけるストレージプール２８の必要未使用容量を算出する（Ｓ１１９）。
【０１６５】
具体的には、管理サーバ３は、稼動停止が決定されたアプリケーションプログラム１２２を除いたアプリケーションプログラム１２２の必要未使用容量を合計することによって、ストレージプール２８の必要未使用容量を算出する。
【０１６６】
次に、管理サーバ３は、ステップＳ１１２で抽出した未使用容量４５４が、ステップＳ１１８で算出したストレージプール２８の必要未使用容量以上であるか否かを判定する（Ｓ１２０）。
【０１６７】
未使用容量４５４がストレージプール２８の必要未使用容量以上であると、稼動停止が決定されていないすべてのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できる。そこで、管理サーバ３は、ステップＳ１２３に進む。
【０１６８】
一方、未使用容量４５４がストレージプール２８の必要未使用容量未満であると、稼動停止が決定されていない少なくとも一つのアプリケーションプログラム１２２が、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１６９】
そこで、管理サーバ３は、ステップＳ１１８において、最も高い優先度に設定されたアプリケーションプログラム１２２を除くすべてのアプリケーションプログラム１２２を選択したか否かを判定する（Ｓ１２１）。
【０１７０】
最も高い優先度に設定されたアプリケーションプログラム１２２を除くアプリケーションプログラム１２２のいずれか一つでも選択されていない場合、管理サーバ３は、ステップＳ１１８に戻る。
【０１７１】
一方、最も高い優先度に設定されたアプリケーションプログラム１２２を除くすべてのアプリケーションプログラム１２２が選択された場合、最も高い優先度に設定されたアプリケーションプログラム１２２でさえも、アプリケーション管理データテーブル４１の稼動目標期限４１５まで稼動できない。
【０１７２】
そこで、管理サーバ３は、最も高い優先度に設定されたアプリケーションプログラム１２２に、ストレージプール２８の未使用容量を配分する（Ｓ１２２）。
【０１７３】
まず、管理サーバ３は、最も高い優先度に設定されたアプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０１７４】
具体的には、管理サーバ３は、最も高い優先度に設定されたアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４４４を抽出する。
【０１７５】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードから、稼動目標期限４１５を抽出する。
【０１７６】
次に、管理サーバ３は、抽出した稼動目標期限４１５から、現在の日時を減算することによって、稼動目標時間を算出する。次に、管理サーバ３は、抽出した消費速度予測値４４４に、算出した稼動目標時間を乗じることによって、最も高い優先度に設定されたアプリケーションプログラム１２２の必要未使用容量を算出する。
【０１７７】
管理サーバ３は、最も高い優先度に設定されたアプリケーションプログラム１２２を順番にすべて選択することによって、最も高い優先度に設定されたアプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０１７８】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量に基づいて、ステップＳ１１２で抽出した未使用容量４５４をアプリケーションプログラム１２２に配分する。例えば、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量の比に応じて、ステップＳ１１２で抽出した未使用容量４５４をアプリケーションプログラム１２２に配分する。
【０１７９】
これによって、管理サーバ３は、最も高い優先度に設定されたアプリケーションプログラム１２２ごとに、未使用割当容量を算出する。アプリケーションプログラム１２２の未使用割当容量は、ストレージプール２８の未使用容量のうち、当該アプリケーションプログラム１２２に配分された容量である。
【０１８０】
次に、管理サーバ３は、アプリケーションプログラム１２２ごとの稼動可能予測期限を算出する。
【０１８１】
具体的には、管理サーバ３は、算出したアプリケーションプログラム１２２の未使用割当容量を、抽出した消費速度予測値４４４で割ることによって、アプリケーションプログラム１２２の稼動可能予測時間を算出する。なお、稼動可能予測時間は、アプリケーションプログラム１２２の稼動が可能と予測される期間である。次に、管理サーバ３は、算出したアプリケーションプログラム１２２の稼動可能予測時間に現在の日時を加算することによって、アプリケーションプログラム１２２の稼動可能予測期限を算出する。
【０１８２】
そして、管理サーバ３は、算出したアプリケーションプログラム１２２の未使用割当容量及びアプリケーションプログラム１２２の稼動可能予測期限を、アプリケーション管理データテーブル４１に格納する。
【０１８３】
具体的には、管理サーバ３は、未使用割当容量及び稼動可能予測期限が算出されたアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、算出したアプリケーションプログラム１２２の未使用割当容量を、選択したレコードの未使用割当容量４１７に格納する。次に、管理サーバ３は、算出したアプリケーションプログラム１２２の稼動可能予測期限を、選択したレコードの稼動可能予測期限４１６に格納する。
【０１８４】
次に、管理サーバ３は、ステップＳ１１５で書き込みＩ／Ｏ制限の実施を決定されたアプリケーションプログラム１２２が使用するシン・プロビジョニング・ボリューム２９を特定する。次に、管理サーバ３は、特定したシン・プロビジョニング・ボリューム２９に対する書き込みＩ／Ｏ制限の実施を、ストレージ装置２に指示する（Ｓ１２３）。
【０１８５】
具体的には、管理サーバ３は、書き込みＩ／Ｏ制限の実施を決定されたアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードの稼動状態４１４に、「Ｉ／Ｏ制限中」を格納する。次に、管理サーバ３は、選択したレコードから、使用ボリューム番号４１３を抽出する。次に、管理サーバ３は、抽出した使用ボリューム番号４１３によって識別されるシン・プロビジョニング・ボリューム２９に対する書き込みＩ／Ｏ制限の実施を、ストレージ装置２に指示する。
【０１８６】
すると、ストレージ装置２は、管理サーバ３からの指示に従って、シン・プロビジョニング・ボリューム２９に対する書き込みＩ／Ｏ制限を実施する。
【０１８７】
一方、管理サーバ３は、ステップＳ１１３及びステップＳ１１８で稼動停止を決定されたアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードの稼動状態４１４に、「停止中」を格納する。更に、管理サーバ３は、ステップＳ１１３及びステップＳ１１８で稼動停止を決定されたアプリケーションプログラム１２２の稼動停止を、業務サーバ１に備わるアプリケーション管理エージェント１２３に指示する（Ｓ１２４）。
【０１８８】
そして、管理サーバ３は、閾値割れ時の運用の処理を終了する。
【０１８９】
すると、業務サーバ１に備わるアプリケーション管理エージェント１２３は、管理サーバ３からの指示に従って、アプリケーションプログラム１２２の稼動を停止する。
【０１９０】
なお、ストレージプール２８にＬＵ２５などの記憶資源が追加されると、管理サーバ３は、閾値割れ時の運用から、通常時の運用に切り替える。
【０１９１】
以上のように、管理サーバ３は、通常時において、ストレージプール２８全体を単位として、ストレージプール２８の容量を監視する。そして、管理サーバ３は、ストレージプール２８の容量が十分な量であるか否かを判定する。ストレージプール２８の未使用容量が十分な量でない場合、管理サーバ３は、通常時の運用から閾値割れ時の運用へ切り替える。
【０１９２】
閾値割れ時には、管理サーバ３は、業務サーバ１上のアプリケーションプログラム１２２を単位として、ストレージプール２８の容量を監視する。ストレージプール２８の容量が十分な量でない場合、管理サーバ３は、異常稼動しているアプリケーションプログラム１２２の稼動停止、書き込みＩ／Ｏ制限及び低い優先度に設定されているアプリケーションプログラム１２２の稼動停止のうち少なくとも一つを実行する。これによって、高い優先度に設定されているアプリケーションプログラム１２２が稼動目標期限まで稼動できる。
【０１９３】
また、これらが実行されても高い優先度に設定されているアプリケーションプログラム１２２が稼動目標期限まで稼動できない場合には、管理サーバ３は、最も高い優先度に設定されているアプリケーションプログラム１２２に、ストレージプール２８の未使用容量を配分する。
【０１９４】
（第２の実施の形態）
本発明の第２の実施の形態では、管理サーバ３は、ストレージプール２８の消費速度予測値に基づいて、ストレージプールの必要未使用容量を算出する。
【０１９５】
第２の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システムの構成（図１）と同一なので、説明を省略する。また、第２の実施の形態の計算機システムの閾値割れ時の運用は、第１の実施の形態の計算機システムの閾値割れ時の運用（図１３）と同一なので、説明を省略する。
【０１９６】
図１４は、本発明の第２の実施の形態の管理サーバ３の通常時の運用の処理のフローチャートである。
【０１９７】
本発明の第２の実施の形態の管理サーバ３の通常時の運用の処理は、ステップＳ１０５の代わりに、ステップＳ２０５を含む。それ以外のステップは、第１の実施の形態の管理サーバ３の通常時の運用の処理（図１２）に含まれるものと同一なので説明を省略する。
【０１９８】
管理サーバ３は、ステップＳ１０４を終了すると、日時４５２が最新であるレコードを、ストレージプール容量履歴データテーブル４５から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４５５を抽出する。
【０１９９】
次に、管理サーバ３は、ストレージプール監視定義データテーブル４６から、残稼動時間閾値４６１を抽出する。次に、管理サーバ３は、抽出した消費速度予測値４５５に、抽出した残稼動時間閾値４６１を乗じることによって、ストレージプール２８の必要未使用容量を算出する（Ｓ２０５）。そして、管理サーバ３は、ステップＳ１０６に進む。
【０２００】
以上のように、第２の実施の形態によれば、管理サーバ３は、アプリケーションプログラム１２２ごとの必要未使用容量を算出せずに、ストレージプール２８の必要未使用容量を算出できる。
【０２０１】
（第３の実施の形態）
本発明の第３の実施の形態では、ストレージプール２８の容量が十分な量でなくなると、管理サーバ３は、アプリケーションプログラム１２２に、ストレージプール２８の未使用容量を配分する。
【０２０２】
第３の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システムの構成（図１）と同一なので、説明を省略する。
【０２０３】
図１５は、本発明の第３の実施の形態の管理サーバ３の通常時の運用の処理のフローチャートである。
【０２０４】
本発明の第３の実施の形態の管理サーバ３の通常時の運用の処理は、ステップＳ３０８を含む。それ以外のステップは、第１の実施の形態の管理サーバ３の通常時の運用の処理（図１２）に含まれるものと同一なので説明を省略する。
【０２０５】
管理サーバ３は、ステップＳ１０７を終了すると、アプリケーションプログラム１２２に、ストレージプール２８の未使用容量を配分する（Ｓ３０８）。
【０２０６】
まず、管理サーバ３は、アプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０２０７】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４４４を抽出する。
【０２０８】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードから、稼動目標期限４１５を抽出する。
【０２０９】
次に、管理サーバ３は、抽出した稼動目標期限４１５から、現在の日時を減算することによって、稼動目標時間を算出する。次に、管理サーバ３は、抽出した消費速度予測値４４４に、算出した稼動目標時間を乗じることによって、選択したアプリケーションプログラム１２２の必要未使用容量を算出する。
【０２１０】
管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択することによって、アプリケーションプログラム１２２ごとの必要未使用容量を算出する。
【０２１１】
次に、管理サーバ３は、日時４５２が最新の日時を示すレコードを、ストレージプール容量履歴データテーブル４５から選択する。次に、管理サーバ３は、選択したレコードから、未使用容量４５４を抽出する。
【０２１２】
次に、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量に基づいて、抽出した未使用容量４５４をアプリケーションプログラム１２２に配分する。例えば、管理サーバ３は、算出したアプリケーションプログラム１２２ごとの必要未使用容量の比に応じて、抽出した未使用容量４５４をアプリケーションプログラム１２２に配分する。
【０２１３】
そして、管理サーバ３は、算出したアプリケーションプログラム１２２の未使用割当容量を、アプリケーション管理データテーブル４１に格納する。
【０２１４】
具体的には、管理サーバ３は、未使用割当容量を算出したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、算出したアプリケーションプログラム１２２の未使用割当容量を、選択したレコードの未使用割当容量４１７に格納する。
【０２１５】
そして、管理サーバ３は、通常時の運用から、閾値割れ時の運用に切り替える。
【０２１６】
図１６は、本発明の第３の実施の形態の管理サーバ３の閾値割れ時の運用の処理のフローチャートである。
【０２１７】
閾値割れ時には、管理サーバ３は、所定の間隔（例えば、一時間ごと）で、閾値割れ時の運用の処理を実行する。
【０２１８】
まず、管理サーバ３は、通常時の運用におけるステップＳ１０１からＳ１０４までと同一の処理を実行する。
【０２１９】
次に、管理サーバ３は、アプリケーションプログラム１２２ごとに、現在の未使用割当用量を算出する。
【０２２０】
具体的には、管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択する。次に、管理サーバ３は、選択したアプリケーションプログラム１２２の使用容量の増加分を算出する。なお、アプリケーションプログラム１２２の使用容量の増加分とは、アプリケーションプログラム１２２の使用容量のうち、前回の閾値割れ時の運用の処理が行われた時（前回時）から現在までの間に増加した容量である。
【０２２１】
よって、管理サーバ３は、アプリケーションプログラム１２２の現在の使用容量から、アプリケーションプログラム１２２の前回時の使用容量を減算することによって、アプリケーションプログラム１２２の使用容量の増加分を算出する。
【０２２２】
次に、管理サーバ３は、選択したアプリケーションプログラム１２２の識別子とアプリケーション名４１１とが一致するレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードの未使用割当容量４１７から、算出した使用容量の増加分を減算する（Ｓ３１１）。これによって、管理サーバ３は、選択したアプリケーションプログラム１２２の現在の未使用割当用量を算出する。
【０２２３】
管理サーバ３は、すべてのアプリケーションプログラム１２２を順番に選択することによって、アプリケーションプログラム１２２ごとに、現在の未使用割当容量を算出する。
【０２２４】
次に、管理サーバ３は、未使用割当容量が枯渇したアプリケーションプログラム１２２が存在するか否かを判定する。
【０２２５】
未使用割当容量が枯渇したアプリケーションプログラム１２２が存在する場合、管理サーバ３は、未使用割当容量が枯渇したアプリケーションプログラム１２２の稼動停止を、業務サーバ１に備わるアプリケーション管理エージェント１２３に指示する（Ｓ３１２）。
【０２２６】
具体的には、管理サーバ３は、未使用割当容量４１７に「０」以下の値が格納されているレコードを、アプリケーション管理データテーブル４１から選択する。次に、管理サーバ３は、選択したレコードの稼動状態４１４に、「停止中」を格納する。更に、管理サーバ３は、選択したレコードから、アプリケーション名４１１を抽出する。次に、管理サーバ３は、抽出したアプリケーション名４１１によって識別されるアプリケーションプログラム１２２の稼動停止を、業務サーバ１に備わるアプリケーション管理エージェント１２３に指示する。
【０２２７】
すると、業務サーバ１に備わるアプリケーション管理エージェント１２３は、管理サーバ３からの指示に従って、アプリケーションプログラム１２２の稼動を停止する。
【０２２８】
一方、管理サーバ３は、アプリケーションプログラム１２２ごとの稼動可能予測期限を算出する（Ｓ３１３）。
【０２２９】
具体的には、管理サーバ３は、アプリケーション管理データテーブル４１のレコードを上から順番に選択する。次に、管理サーバ３は、選択したレコードから、アプリケーション名４１１及び未使用割当容量４１７を抽出する。
【０２３０】
次に、管理サーバ３は、抽出したアプリケーション名４１１とアプリケーション名４４１とが一致するレコードを、アプリケーション容量履歴データテーブル４４から選択する。次に、管理サーバ３は、日時４４２が最新であるレコードを、選択したレコードの中から選択する。次に、管理サーバ３は、選択したレコードから、消費速度予測値４４４を抽出する。
【０２３１】
次に、管理サーバ３は、抽出した未使用割当容量４１７を、抽出した消費速度予測値４４４で割ることによって、アプリケーションプログラム１２２の稼動可能予測時間を算出する。次に、管理サーバ３は、算出したアプリケーションプログラム１２２の稼動可能予測時間に現在の日時を加算することによって、アプリケーションプログラム１２２の稼動可能予測期限を算出する。
【０２３２】
そして、管理サーバ３は、算出したアプリケーションプログラム１２２の稼動可能予測期限を、アプリケーション管理データテーブル４１から選択したレコードの稼動可能予測期限４１６に格納する。
【０２３３】
管理サーバ３は、アプリケーション管理データテーブル４１のレコードをすべて選択するまで、この処理を繰り返す。これによって、管理サーバ３は、アプリケーションプログラム１２２ごとの稼動可能予測期限を算出する。
【０２３４】
次に、管理サーバ３は、稼動可能予測期限が稼動目標期限より前となったアプリケーションが存在するか否かを判定する。稼動可能予測期限が稼動目標期限より前となったアプリケーションが存在する場合、管理サーバ３は、書き込みＩ／Ｏ制限の実施を、ストレージ装置２に指示する（Ｓ３１４）。
【０２３５】
具体的には、管理サーバ３は、アプリケーション管理データテーブル４１のレコードを上から順番に選択する。次に、管理サーバ３は、選択したレコードから、使用ボリューム番号４１３、稼動目標期限４１５及び稼動可能予測期限４１６を抽出する。
【０２３６】
次に、管理サーバ３は、抽出した稼動可能予測期限４１６が、抽出した稼動目標期限４１５より前であるか否かを判定する。稼動可能予測期限４１６が稼動目標期限４１５より前である場合、管理サーバ３は、抽出した使用ボリューム番号４１３によって識別されるシン・プロビジョニング・ボリューム２９に対する書き込みＩ／Ｏ制限の実施を、ストレージ装置２に指示する。更に、管理サーバ３は、選択したレコードの稼動状態４１４に、「Ｉ／Ｏ制限中」を格納する。
【０２３７】
すると、ストレージ装置２は、管理サーバ３からの指示に従って、シン・プロビジョニング・ボリューム２９に対する書き込みＩ／Ｏ制限を実施する。
【０２３８】
一方、管理サーバ３は、書き込みＩ／Ｏ制限が実施された後における、アプリケーションプログラム１２２の稼動可能予測期限を算出する（Ｓ３１５）。
【０２３９】
例えば、書き込みＩ／Ｏの２０パーセントが制限された場合を説明する。この場合、管理サーバ３は、アプリケーション容量履歴データテーブル４４の消費速度予測値４４４に、「０．８（＝１−０．２）」を乗じる。これによって、管理サーバ３は、書き込みＩ／Ｏ制限が実施された後における消費速度予測値を算出する。次に、管理サーバ３は、アプリケーション管理データテーブル４１の未使用割当容量４１７を、書き込みＩ／Ｏ制限が実施された後における消費速度予測値で割る。これによって、管理サーバ３は、書き込みＩ／Ｏ制限が実施された後における稼動可能予測時間を算出する。次に、管理サーバ３は、算出した書き込みＩ／Ｏ制限が実施された後における稼動可能予測時間に現在の日時を加算する。これによって、管理サーバ３は、書き込みＩ／Ｏ制限が実施された後における稼動可能予測期限を算出する。
【０２４０】
次に、管理サーバ３は、算出した書き込みＩ／Ｏ制限が実施された後における稼動可能予測期限を、アプリケーション管理データテーブル４１の稼動可能予測期限４１６に格納する。
【０２４１】
そして、管理サーバ３は、閾値割れ時の運用の処理を終了する。
【０２４２】
なお、ストレージプール２８にＬＵ２５などの記憶資源が追加されると、管理サーバ３は、閾値割れ時の運用から、通常時の運用に切り替える。
【０２４３】
以上のように、第３の実施の形態によれば、ストレージプール２８の容量が十分な量でなくなると、管理サーバ３は、アプリケーションプログラム１２２に、ストレージプール２８の未使用容量を配分する。このため、あるアプリケーションプログラム１２２が異常稼動しても、他のアプリケーションプログラム１２２には影響が及ばない。
【０２４４】
また、第３の実施の形態では、管理サーバ３は、稼動目標期限まで稼動できないと予測されるアプリケーションプログラム１２２に対する書き込みＩ／Ｏ制限を実施する。
【０２４５】
（第４の実施の形態）
本発明の第４の実施の形態では、ストレージ装置２は、シン・プロビジョニング・ボリューム２９でなく、論理ボリューム（ＬＵ）２５を、業務サーバ１に提供する。
【０２４６】
図１７は、本発明の第４の実施の形態の計算機システムの機能構成のブロック図である。
【０２４７】
計算機システムは、二つの業務サーバ１、二つのストレージ装置２、管理サーバ３、管理データベース４、管理ＬＡＮ５及びＳＡＮ６を備える。
【０２４８】
業務サーバ１は、第１の実施の形態の計算機システム（図１）に備わるものと同一であるので、説明を省略する。
【０２４９】
ストレージ装置２は、ストレージコントローラ２０及び物理ディスク２８２を備える。
【０２５０】
ストレージコントローラ２０は、物理ディスク２８２に対してデータを読み書きする。また、ストレージコントローラ２０は、一つ以上の物理ディスク２８２を、アレイグループ（ＲＡＩＤグループ）２８３に設定する。これによって、ストレージコントローラ２０は、物理ディスク２８２の記憶領域を、一つ以上の論理デバイス（ＬＤＥＶ）２８１として設定する。
【０２５１】
管理サーバ３に備わるストレージ管理ソフトウェア３２０は、ストレージプール監視部３２１、ストレージ管理データ取得部３２２、ストレージ装置制御部３２３、アプリケーションプログラム制御部３２４、容量消費予測部３２５及びストレージプール管理部３２６を含む。ストレージプール監視部３２１、ストレージ管理データ取得部３２２、ストレージ装置制御部３２３、アプリケーションプログラム制御部３２４及び容量消費予測部３２５は、第１の実施の形態の管理サーバ３（図３）に記憶されるストレージ管理ソフトウェア３２０に含まれるものと同一なので説明を省略する。
【０２５２】
ストレージプール管理部３２６は、一つ以上のＬＤＥＶ２８１を含むストレージプール２８を管理する。つまり、ストレージプール管理部３２６は、ＬＤＥＶ２８１の記憶領域を、ストレージプール２８として設定する。なお、ストレージプール管理部３２６は、複数のストレージプール２８を管理してもよい。また、ストレージプール管理部３２６は、異なるストレージ装置２のそれぞれに含まれるＬＤＥＶ２８１を、一つのストレージプール２８として設定してもよい。
【０２５３】
また、ストレージプール管理部３２６は、ストレージプール２８に含まれるＬＤＥＶ２８１を、論理ボリューム（ＬＵ）２５に割り当てることを、ストレージ装置２に備わるストレージコントローラ２０に指示する。
【０２５４】
ストレージ装置２に備わるストレージコントローラ２０は、ストレージプール管理部３２６からの指示に従って、ストレージプール２８に含まれるＬＤＥＶ２８１を、ＬＵ２５に割り当てる。そして、ストレージコントローラ２０は、一つ以上のＬＤＥＶ２８１が割り当てられたＬＵ２５を、業務サーバ１に提供する。
【０２５５】
業務サーバ１に備わるＯＳ１２１は、提供されたＬＵ２５を統合デバイスとして、アプリケーションプログラム１２２に提供する。そのため、業務サーバ１に備わるアプリケーションプログラム１２２は、提供された統合デバイスを使用して、ストレージ装置２のＬＵ２５にアクセスする。
【０２５６】
このとき、業務サーバ１に備わるＯＳ１２１は、ＬＵ２５へのアクセスに使用されるパスを適宜切り替えてもよい。これによって、ＯＳ１２１は、アプリケーションプログラム１２２に意識させることなく、ロードバランス機能及びパス交代機能を実現できる。つまり、アプリケーションプログラム１２２は、統合デバイスに対してＩ／Ｏを発行するだけで、適切なパスを用いてＬＵ２５にアクセスできる。
【０２５７】
管理データベース４は、アプリケーション管理データテーブル４１、ストレージ管理データテーブル４２、ボリューム容量履歴データテーブル４３、アプリケーション容量履歴データテーブル４４、ストレージプール容量履歴データテーブル４５、ストレージプール監視定義データテーブル４６、アプリケーション監視定義データテーブル４７及びストレージプール構成情報テーブル４８を記憶する。
【０２５８】
アプリケーション管理データテーブル４１、ストレージ管理データテーブル４２、ボリューム容量履歴データテーブル４３、アプリケーション容量履歴データテーブル４４、ストレージプール容量履歴データテーブル４５、ストレージプール監視定義データテーブル４６及びアプリケーション監視定義データテーブル４７は、第１の実施の形態の管理データベース４（図４）に記憶されるものと同一なので、説明を省略する。
【０２５９】
ストレージプール構成情報テーブル４８は、プール番号４８１、ＬＤＥＶ番号４８２、容量４８３及び割当４８４を含む。
【０２６０】
プール番号４８１は、ストレージプール２８の一意な識別子である。ＬＤＥＶ番号４８２は、当該レコードのプール番号４８１によって識別されるストレージプール２８に含まれるＬＤＥＶ２８１の一意な識別子である。容量４８３は、当該レコードのＬＤＥＶ番号４８２によって識別されるＬＤＥＶ２８１の記憶領域の容量である。
【０２６１】
割当４８４は、当該レコードのＬＤＥＶ番号４８２によって識別されるＬＤＥＶ２８１がＬＵ２５に割り当てられているか否かを示す。例えば、当該レコードのＬＤＥＶ番号４８２によって識別されるＬＤＥＶ２８１がＬＵ２５に割り当てられている場合、割当４８４には「済」が格納される。一方、当該レコードのＬＤＥＶ番号４８２によって識別されるＬＤＥＶ２８１がＬＵ２５に割り当てられていない場合、割当４８４には「未」が格納される。
【０２６２】
ストレージプール管理部３２６は、ＬＵ２５の容量が不足すると、ストレージプール２８に含まれるＬＤＥＶ２８１のうち、いずれの論理ボリューム２５にも割り当てられていないＬＤＥＶ２８１を、当該容量が不足したＬＵ２５に割り当てる。これによって、ストレージコントローラ２０は、容量が不足したＬＵ２５の容量を増加させる。
【０２６３】
具体的には、ストレージプール管理部３２６は、ＬＵ２５の容量が不足すると、割当４８４に「未」が格納されているレコードを、ストレージプール構成情報テーブル４８から選択する。次に、ストレージプール管理部３２６は、選択したレコードから、ＬＤＥＶ番号４８２を抽出する。次に、ストレージプール管理部３２６は、抽出したＬＤＥＶ番号４８２によって識別されるＬＤＥＶ２８１を、容量が不足したＬＵ２５に割り当てる。
【０２６４】
また、ストレージプール管理部３２６は、ＬＵ２５の容量が不足すると、ストレージプール２８に含まれるＬＤＥＶ２８１のうち、いずれのＬＵ２５にも割り当てられていないＬＤＥＶ２８１を、新たなＬＵ２５として業務サーバ１に提供してもよい。
【０２６５】
第４の実施の形態の計算機システムは、第１〜３の実施の形態のいずれにも適用できる。なお、第４の実施の形態では、シン・プロビジョニング・ボリューム２９の代わりに、ＬＵ２５となる。また、ＬＵ２５の使用容量は、当該ＬＵ２５に割り当てられているＬＤＥＶ２８１の容量の合計である。
【０２６６】
また、第４の実施の形態では、管理サーバ３は、アプリケーションプログラム２２１の稼動を停止する代わりに、アプリケーションプログラム２２１によって使用されるＬＵ２５にＬＤＥＶ２８１を追加して割り当てることを禁止する。
【０２６７】
第４の実施の形態の計算機システムのそれ以外の処理は、第１〜３の実施の形態と同様である。よって、詳細な説明は省略する。
【０２６８】
以上のように、第４の実施の形態によると、ストレージ装置２が、シン・プロビジョニング・ボリューム２９でなく、論理ボリューム（ＬＵ）２５を提供する場合であっても、管理サーバ３は、ストレージプールを適切に運用及び管理できる。
【０２６９】
（第５の実施の形態）
本発明の第５の実施の形態では、ストレージプール２８の容量が十分な量でなくなると、ＬＤＥＶ２８１が、ストレージプール２８にオンデマンドで追加される。
【０２７０】
第５の実施の形態の計算機システムの構成は、第４の実施の形態の計算機システムの構成（図１７）と同一なので、説明を省略する。
【０２７１】
第５の実施の形態の計算機システムは、第１〜３の実施の形態のいずれにも適用できる。なお、第５の実施の形態では、シン・プロビジョニング・ボリューム２９の代わりに、ＬＵ２５となる。また、ＬＵ２５の使用容量は、当該ＬＵ２５に割り当てられているＬＤＥＶ２８１の容量の合計である。
【０２７２】
また、第５の実施の形態では、管理サーバ３は、アプリケーションプログラム２２１の稼動を停止する代わりに、アプリケーションプログラム２２１によって使用されるＬＵ２５にＬＤＥＶ２８１を追加して割り当てることを禁止する。
【０２７３】
第５の実施の形態の計算機システムの閾値割れ時の運用は、第１〜３の実施の形態と同様である。よって、詳細な説明は省略する。
【０２７４】
図１８は、本発明の第５の実施の形態の管理サーバ３の通常時の運用の処理のフローチャートである。
【０２７５】
本発明の第５の実施の形態の管理サーバ３の通常時の運用の処理は、ステップＳ３０８を含む。それ以外のステップは、第１の実施の形態の管理サーバ３の通常時の運用の処理（図１２）に含まれるものと同一なので説明を省略する。
【０２７６】
管理サーバ３は、ステップＳ１０６を終了すると、ステップＳ１０５で算出したストレージプール２８の必要未使用容量から、ステップＳ１０６で抽出した未使用容量４５４を減算することによって、ストレージプール２８の不足容量を算出する。
【０２７７】
次に、管理サーバ３は、算出した不足容量以上のＬＤＥＶ２８１のライセンスキーを、ライセンスサーバ（図示省略）から取得する（Ｓ５０１）。次に、管理サーバ３は、取得したライセンスキーをストレージ装置２に設定する。これによって、不足容量以上のＬＤＥＶ２８１が使用可能となる。
【０２７８】
次に、管理サーバ３は、使用可能となったＬＤＥＶ２８１を、ストレージプール２８に追加する（Ｓ５０２）。
【０２７９】
次に、管理サーバ３は、算出した不足容量以上のＬＤＥＶ２８１を、ストレージプール２８に追加できたか否かを判定する（Ｓ５０３）。
【０２８０】
不足容量以上のＬＤＥＶ２８１をストレージプール２８に追加できなかった場合、管理サーバ３は、ステップＳ１０７に進む。
【０２８１】
一方、不足容量以上のＬＤＥＶ２８１を、ストレージプール２８に追加できた場合、管理サーバ３は、通常時の運用の処理を終了する。
【図面の簡単な説明】
【０２８２】
【図１】本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【図２】本発明の第１の実施の形態の計算機システムの機能構成のブロック図である。
【図３】本発明の第１の実施の形態の管理サーバの構成のブロック図である。
【図４】本発明の第１の実施の形態の管理データベースの構成のブロック図である。
【図５】本発明の第１の実施の形態の管理データベースに記憶されるアプリケーション管理データテーブルの構成図である。
【図６】本発明の第１の実施の形態の管理データベースに記憶されるストレージ管理データテーブルの構成図である。
【図７】本発明の第１の実施の形態の管理データベースに記憶されるボリューム容量履歴データテーブルの構成図である。
【図８】本発明の第１の実施の形態の管理データベースに記憶されるアプリケーション容量履歴データテーブルの構成図である。
【図９】本発明の第１の実施の形態の管理データベースに記憶されるストレージプール容量履歴データテーブルの構成図である。
【図１０】本発明の第１の実施の形態の管理データベースに記憶されるストレージプール監視定義データテーブルの構成図である。
【図１１】本発明の第１の実施の形態の管理データベースに記憶されるアプリケーション監視定義データテーブルの構成図である。
【図１２】本発明の第１の実施の形態の管理サーバの通常時の運用の処理のフローチャートである。
【図１３】本発明の第１の実施の形態の管理サーバの閾値割れ時の運用の処理のフローチャートである。
【図１４】本発明の第２の実施の形態の管理サーバの通常時の運用の処理のフローチャートである。
【図１５】本発明の第３の実施の形態の管理サーバの通常時の運用の処理のフローチャートである。
【図１６】本発明の第３の実施の形態の管理サーバの閾値割れ時の運用の処理のフローチャートである。
【図１７】本発明の第４の実施の形態の計算機システムの機能構成のブロック図である。
【図１８】本発明の第５の実施の形態の管理サーバの通常時の運用の処理のフローチャートである。
【符号の説明】
【０２８３】
１  業務サーバ
２  ストレージ装置
３  管理サーバ
４  管理データベース
１１  プロセッサ
１２  メモリ
１３  ＬＡＮポート
１４  ＨＢＡポート
２０  ストレージコントローラ
２１  プロセッサ
２２  メモリ
２３  ＬＡＮポート
２４  ＦＣポート
２５  ＬＵ
３１  プロセッサ
３２  メモリ
３３  ＬＡＮポート
４１  アプリケーション管理データテーブル
４２  ストレージ管理データテーブル
４３  ボリューム容量履歴データテーブル
４４  アプリケーション容量履歴データテーブル
４５  ストレージプール容量履歴データテーブル
４６  ストレージプール監視定義データテーブル
４７  アプリケーション監視定義データテーブル
３２０  ストレージ管理ソフトウェア
３２１  ストレージプール監視部
３２２  ストレージ管理データ取得部
３２３  ストレージ装置制御部
３２４  アプリケーションプログラム制御部
３２５  容量消費予測部
【図１】
2008097502.tif 000003
【図２】
2008097502.tif 000004
【図３】
2008097502.tif 000005
【図４】
2008097502.tif 000006
【図５】
2008097502.tif 000007
【図６】
2008097502.tif 000008
【図７】
2008097502.tif 000009
【図８】
2008097502.tif 000010
【図９】
2008097502.tif 000011
【図１０】
2008097502.tif 000012
【図１１】
2008097502.tif 000013
【図１２】
2008097502.tif 000014
【図１３】
2008097502.tif 000015
【図１４】
2008097502.tif 000016
【図１５】
2008097502.tif 000017
【図１６】
2008097502.tif 000018
【図１７】
2008097502.tif 000019
【図１８】
2008097502.tif 000020