(57)【特許請求の範囲】
【請求項１】
ストレージレベルプールに属する一以上のボリュームを構成するストレージシステムと、前記ストレージシステムに接続され、コンピュータプログラムを実行するサーバ計算機とを管理する管理システムであって、
前記ストレージシステムは、前記ストレージレベルプールに関連するストレージレベル仮想ボリュームを提供し、前記ストレージレベル仮想ボリュームの一部又は全部のエリアは、前記ストレージレベルプールに属する前記一以上のボリューム内のエリアが割り当てられておらず、
前記サーバ計算機は、前記ストレージレベル仮想ボリュームが属するサーバレベルプールを管理し、前記サーバレベルプールに関連するサーバレベル仮想ボリュームを提供し、
前記管理システムは、
前記ストレージシステムと前記サーバ計算機と通信するための通信インターフェースデバイスと、
記憶デバイスと、
前記通信インターフェースデバイス及び前記記憶デバイスに接続されたプロセッサと
を有し、
前記プロセッサは、
（Ａ）前記ストレージシステムから、前記ストレージレベルプールの容量の情報を含むストレージレベルプール情報を取得し、取得した前記ストレージレベルプール情報を前記記憶デバイスに格納し、
（Ｂ）前記サーバ計算機から、前記サーバレベルプールの容量の情報を含むサーバレベルプール情報を取得し、取得した前記サーバレベルプール情報を前記記憶デバイスに格納し、
（Ｃ）前記ストレージレベルプール情報に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
（Ｄ）前記サーバレベルプール情報に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定し、
（Ｅ）前記ストレージレベルプール及び前記サーバレベルプールの空き容量の枯渇の危険性を示す第１の危険度及び第２の危険度に関する情報を表示する
管理システム。
【請求項２】
前記ストレージレベルプール情報は、前記ストレージレベルプールの物理的な空き容量を示す情報を含み、
前記サーバレベルプール情報は、前記サーバレベルプールの物理的な空き容量と、前記サーバレベル仮想ボリュームに対して未割当ての容量とを示す情報を含み、
前記プロセッサは、
前記（Ｃ）で、前記ストレージレベルプール情報に基づいて、前記ストレージレベルプールの物理的な空き容量と、前記ストレージレベルプールに関する前記サーバレベル仮想ボリュームに対する仮想的な容量中の未割当ての容量との関係を示す第１の乖離度を算出し、前記第１の乖離度に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
前記（Ｄ）で、前記サーバレベルプール情報に基づいて、前記サーバレベルプールの物理的な空き容量と、前記サーバレベルプールに関する前記サーバレベル仮想ボリュームに対する仮想的な容量中の未割当ての容量との関係を示す第２の乖離度を算出し、前記第２の乖離度に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定する
請求項１に記載の管理システム。
【請求項３】
前記プロセッサは、
前記（Ｃ）で、前記ストレージレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記ストレージレベルプールの空き容量が枯渇するまでの第１の猶予期間を算出し、前記第１の乖離度及び前記第１の猶予期間に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
前記（Ｄ）で、前記サーバレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記サーバレベルプールの空き容量が枯渇するまでの第２の猶予期間を算出し、前記第２の乖離度及び前記第２の猶予期間に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定する
請求項２に記載の管理システム。
【請求項４】
前記プロセッサは、
前記（Ｃ）で、前記ストレージレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記ストレージレベルプールの空き容量が枯渇するまでの第１の猶予期間を算出し、前記第１の猶予期間に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
前記（Ｄ）で、前記サーバレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記サーバレベルプールの空き容量が枯渇するまでの第２の猶予期間を算出し、前記第２の猶予期間に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定する
請求項１に記載の管理システム。
【請求項５】
前記サーバ計算機は、前記サーバレベル仮想ボリュームに対して、仮想マシンで利用するデータを格納しており、
前記プロセッサは、
前記第１の危険度及び前記第２の危険度に基づいて、前記仮想マシンの停止の危険性を示す第３の危険度を判定し、
前記第３の危険度に関する情報を表示する
請求項１に記載の管理システム。
【請求項６】
前記プロセッサは、
前記第１及び第２の乖離度と、予め設定されている乖離度に関する第１の閾値との比較結果に基づいて、第１及び第２の危険度を判定する
請求項２に記載の管理システム。
【請求項７】
前記プロセッサは、
前記第１及び第２の猶予期間と、予め設定されている猶予期間に関する第２の閾値との比較結果に基づいて、第１及び第２の危険度を判定する
請求項４に記載の管理システム。
【請求項８】
前記プロセッサは、
前記危険度が高いことを示している前記ストレージレベルプールを利用する仮想マシンを検出し、検出した前記仮想マシンに基づいて、前記ストレージレベルプールの空き容量が枯渇することによる影響度を算出し、前記危険度とともに影響度を表示する
請求項１に記載の管理システム。
【請求項９】
前記プロセッサは、
前記危険度が高いことを示している前記ストレージレベルプール及び前記サーバレベルプールの危険度を低減することの実行可能な対処策を検出し、前記対処策に関する情報を表示する
請求項１に記載の管理システム。
【請求項１０】
前記プロセッサは、
前記対処策から、いずれかの対処策の選択を受け付け、前記対処策を実行した場合における前記ストレージレベルプール及び前記サーバレベルプールの危険度を再判定し、再判定した結果を表示する
請求項９に記載の管理システム。
【請求項１１】
前記対処策は、前記サーバレベル仮想ボリュームの容量の削減、前記サーバレベル仮想ボリュームのマイグレーション、前記危険度が高いことを示している前記ストレージレベルプールを利用する仮想マシンの削除、又は前記サーバレベルプールの容量の拡張のいずれか１つである
請求項９に記載の管理システム。
【請求項１２】
ストレージレベルプールに属する一以上のボリュームを構成するストレージシステムと、前記ストレージシステムに接続され、コンピュータプログラムを実行するサーバ計算機とを管理する管理方法であって、
前記ストレージシステムは、前記ストレージレベルプールに関連するストレージレベル仮想ボリュームを提供し、前記ストレージレベル仮想ボリュームの一部又は全部のエリアは、前記ストレージレベルプールに属する前記一以上のボリューム内のエリアが割り当てられておらず、
前記サーバ計算機は、前記ストレージレベル仮想ボリュームが属するサーバレベルプールを管理し、前記サーバレベルプールに関連するサーバレベル仮想ボリュームを提供し、
前記管理方法は、
（Ａ）前記ストレージシステムから、前記ストレージレベルプールの容量の情報を含むストレージレベルプール情報を取得し、
（Ｂ）前記サーバ計算機から、前記サーバレベルプールの容量の情報を含むサーバレベルプール情報を取得し、
（Ｃ）前記ストレージレベルプール情報に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
（Ｄ）前記サーバレベルプール情報に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定し、
（Ｅ）前記ストレージレベルプール及び前記サーバレベルプールの空き容量の枯渇の危険性を示す第１の危険度及び第２の危険度に関する情報を表示する
管理方法。
【請求項１３】
前記ストレージレベルプール情報は、前記ストレージレベルプールの物理的な空き容量を示す情報を含み、
前記サーバレベルプール情報は、前記サーバレベルプールの物理的な空き容量と、前記サーバレベル仮想ボリュームに対して未割当ての容量とを示す情報を含み、
前記（Ｃ）で、前記ストレージレベルプール情報に基づいて、前記ストレージレベルプールの物理的な空き容量と、前記ストレージレベルプールに関する前記サーバレベル仮想ボリュームに対する仮想的な容量中の未割当ての容量との関係を示す第１の乖離度を算出し、前記第１の乖離度に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
前記（Ｄ）で、前記サーバレベルプール情報に基づいて、前記サーバレベルプールの物理的な空き容量と、前記サーバレベルプールに関する前記サーバレベル仮想ボリュームに対する仮想的な容量中の未割当ての容量との関係を示す第２の乖離度を算出し、前記第２の乖離度に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定する
請求項１２に記載の管理方法。
【請求項１４】
前記（Ｃ）で、前記ストレージレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記ストレージレベルプールの空き容量が枯渇するまでの第１の猶予期間を算出し、前記第１の猶予期間に基づいて、前記ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、
前記（Ｄ）で、前記サーバレベルプールの使用容量の変化傾向を示す容量変化情報に基づいて、前記サーバレベルプールの空き容量が枯渇するまでの第２の猶予期間を算出し、前記第２の猶予期間に基づいて、前記サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定する
請求項１２に記載の管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムとサーバ計算機を管理する技術に関する。
【背景技術】
【０００２】
近年、集約度を高めてコストを削減することを目的として、ストレージシステム及びサーバ計算機で容量仮想化技術が使用されている。容量仮想化技術として、例えば、仮想計算機（ＶＭ）に用いられる仮想ハードディスクがある。仮想ハードディスクファイルには、作成時に仮想ハードディスクのディスクサイズと同じサイズのファイルが作成される固定タイプの仮想ハードディスクと、仮想ハードディスク上のボリューム使用サイズに応じてファイルサイズが拡張する可変タイプの仮想ハードディスクがある。可変タイプの仮想ハードディスクは、実際に使用している容量のみしか容量を消費しないため、余分な容量を消費せず無駄なくリソースを活用できる。ストレージシステムにも同様な容量仮想化技術が存在する。【０００３】
このような容量仮想化技術を用いると、実際の物理容量と、サーバ・仮想サーバ（仮想マシン）に割り当てる論理容量とが乖離するため、管理が複雑化する傾向がある。また、物理容量が枯渇してしまった場合、ディスクＩ／Ｏエラーによる業務の停止や、容量が枯渇したボリューム上の可変タイプの仮想ハードディスクを利用している仮想計算機が停止する可能性がある。【０００４】
管理が複雑化している容量仮想化技術を用いた計算機システムの管理を簡単にする技術として、特許文献１に開示された技術が知られている。特許文献１に開示された技術は、ストレージレベルプールの容量に対する、そのストレージレベルプールに対応する一以上のサーバレベル仮想ボリュームの総容量の比率であるＥＮＤ−ＴＯ−ＥＮＤレバレッジ率と呼ばれる値が閾値を超えた場合に、ストレージプールの拡張や、仮想サーバのマイグレーションを行う技術である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８１５５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された技術は、計算機システム全体の物理容量に対する論理的な割り当て容量の比率を一定以内に抑えるように調整するうえで、有効な手法である。しかしながら、計算機システムにおける処理の停止、例えば、仮想マシンの停止を適切に検知することができない虞がある。【０００７】
以下に、このような状況を具体的な例を挙げて説明する。【０００８】
図２８は、ストレージシステムとサーバ計算機の両方でThin-Provisioning技術に従う容量仮想化が行われる計算機システムにおける状態の一例を示す図である。【０００９】
ストレージシステムのストレージレベルプール（ＬＬＰ）の総容量は３００ＧＢであり、使用容量は１００ＧＢである。ＬＬＰに構成されたストレージレベル仮想ボリューム（ＬＬ−ＶＶＯＬ）の中のＬＬ−ＶＶＯＬ１の総容量は１００ＧＢであり、使用容量は９０ＧＢである。また、ＬＬ−ＶＶＯＬ２の総容量は１００ＧＢであり、使用容量は１０ＧＢである。ＬＬ−ＶＶＯＬ１により構成されるサーバレベルプール（ＨＬＰ）であるＨＬＰ１の総容量は１００ＧＢであり、使用容量は、９０ＧＢである。また、ＬＬ−ＶＶＯＬ２により構成されるサーバレベルプール（ＨＬＰ）であるＨＬＰ２の総容量は１００ＧＢであり、使用容量は１０ＧＢである。【００１０】
ＨＬＰ１に構成されるサーバレベル仮想ボリューム（ＨＬ−ＶＶＯＬ）の中のＨＬ−ＶＶＯＬ１の総容量は１００ＧＢであり、使用容量は４０ＧＢである。また、ＨＬＰ１に構成されるＨＬ−ＶＶＯＬ２の総容量は５０ＧＢであり、使用容量は２０ＧＢである。また、ＨＬＰ２に構成されるＨＬ−ＶＶＯＬ３の総容量は５０ＧＢであり、使用容量は１０ＧＢである。【００１１】
ここで、図２８に示す状態では、ＨＬＰ１の総容量は１００ＧＢであり、使用容量は９０ＧＢであるので、残りの使用可能な容量が１０ＧＢしかなく、ＨＬＰ１の容量が枯渇してしまう虞がある。ＨＬＰ１の容量が枯渇してしまうと、ＨＬＰ１上の領域を使用して稼働している仮想サーバ（ＶＭ１及びＶＭ２）が停止してしまう可能性がある。【００１２】
一方、特許文献１に開示された技術によると、このような図２８に示す状態において、ＬＬＰの容量は、３００ＧＢであり、ＬＬＰに対応した全ＨＬ−ＶＶＯＬの総容量は、２００ＧＢであるので、ＥＮＤ−ＴＯ−ＥＮＤレバレッジ率は、１００＊（２００／３００）＝６７％と算出される。ＥＮＤ−ＴＯ−ＥＮＤレバレッジ率が６７％であるので、仮想マシンに割り当てた総容量は、ストレージシステムが持つ物理的な容量に十分収まることを表しており、管理者（ユーザ）は、仮想サーバが停止してしまう可能性があることを認識することができない。
【課題を解決するための手段】
【００１３】
管理システムは、ストレージレベルプールに属する一以上のボリュームを構成するストレージシステムと、ストレージシステムに接続され、コンピュータプログラムを実行するサーバ計算機とを管理する。【００１４】
ストレージシステムは、ストレージレベルプールに関連するストレージレベル仮想ボリュームを提供し、ストレージレベル仮想ボリュームの一部又は全部のエリアは、ストレージレベルプールに属する前記一以上のボリューム内のエリアが割り当てられていない。サーバ計算機は、ストレージレベル仮想ボリュームが属するサーバレベルプールを管理し、サーバレベルプールに関連するサーバレベル仮想ボリュームを提供する。【００１５】
管理システムは、通信インターフェースデバイスと、記憶デバイスと、それらに接続されたプロセッサを有する。通信インターフェースデバイスは、ストレージシステム及びサーバ計算機と通信するためのデバイスである。プロセッサは、（Ａ）ストレージシステムから、ストレージレベルプールの容量の情報を含むストレージレベルプール情報を取得し、その情報を記憶デバイスに格納し、（Ｂ）サーバ計算機から、サーバレベルプールの容量の情報を含むサーバレベルプール情報を取得し、その情報を記憶デバイスに格納し、（Ｃ）ストレージレベルプール情報に基づいて、ストレージレベルプールの空き容量の枯渇の危険性を示す第１の危険度を判定し、（Ｄ）サーバレベルプール情報に基づいて、サーバレベルプールの空き容量の枯渇の危険性を示す第２の危険度を判定し、（Ｅ）ストレージレベルプール及びサーバレベルプールの空き容量の枯渇の危険性を示す第１の危険度及び第２の危険度に関する情報を表示する。通信インターフェースデバイスは、複数の異なる種類の通信インターフェースデバイスであっても良い。記憶デバイスは、例えば、主記憶デバイスのようなメモリと補助記憶デバイスのような記憶デバイスといった複数の記憶デバイスであっても良い。
【発明の効果】
【００１６】
本発明によると、計算機システムにおけるサーバレベルプールと、ストレージレベルプールを利用した各種処理の停止の危険性を適切に検知することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例に係る計算機システムの構成を表す図である。
【図２】図２は、管理サーバ１００の構成を表す図である。
【図３Ａ】図３Ａは、ボリューム情報テーブル１０００の構成の一例を示す図である。
【図３Ｂ】図３Ｂは、ストレージレベルプール情報テーブル１１００の構成の一例を示す図である。
【図４Ａ】図４Ａは、ストレージレベル仮想ボリューム情報テーブル１２００の構成を示す図である。
【図４Ｂ】図４Ｂは、サーバレベルプール情報テーブル１３００の構成の一例を示す図である。
【図５Ａ】図５Ａは、サーバレベル仮想ボリューム情報テーブル１４００の構成の一例を示す図である。
【図５Ｂ】図５Ｂは、仮想サーバレベルファイルシステム情報テーブル１５００の構成の一例を示す図である。
【図６Ａ】図６Ａは、サーバレベル仮想ボリューム拡張テーブル１７００の構成の一例を示す図である。
【図６Ｂ】図６Ｂは、不要仮想サーバテーブル１６００の構成の一例を示す図である。
【図７Ａ】図７Ａは、マイグレーションテーブル１９００の構成の一例を示す図である。
【図７Ｂ】図７Ｂは、ストレージレベルプール拡張テーブル１８００の構成の一例を示す図である。
【図８Ａ】図８Ａは、ストレージレベルプール間ボリューム調整テーブル２０００の構成の一例を示す図である。
【図８Ｂ】図８Ｂは、仮想サーバ危険度テーブル２１００の構成の一例を示す図である。
【図９】図９は、仮想サーバ情報テーブル２２００の構成の一例を示す図である。
【図１０】図１０は、ＨＬＰの危険度算出処理のフローチャートである。
【図１１】図１１は、ＨＬＰの乖離度算出処理のフローチャートである。
【図１２】図１２は、危険度判定を説明する図である。
【図１３】図１３は、ＨＬＰの影響度算出処理のフローチャートである。
【図１４】図１４は、ＶＭの危険度算出処理のフローチャートである。
【図１５】図１５は、ストレージレベルプール及びサーバレベルプールの危険度を表示する表示画面の一例を示す図である。
【図１６】図１６は、対処実行可否判定処理のフローチャートである。
【図１７】図１７は、ＨＬＰの対処実行可否判定処理のフローチャートである。
【図１８】図１８は、ＬＬＰの対象実行可否判定処理のフローチャートである。
【図１９】図１９は、ＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理のフローチャートである。
【図２０】図２０は、ＨＬＰの拡張可否判定処理のフローチャートである。
【図２１】図２１は、不要ＶＭ削除可否判定処理のフローチャートである。
【図２２】図２２は、ＨＬＰ間マイグレーション実行可否判定処理のフローチャートである。
【図２３】図２３は、ＬＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理のフローチャートである。
【図２４】図２４は、ＬＬＰの拡張可否判定処理のフローチャートである。
【図２５】図２５は、ＬＬＰ間ＶＯＬ調整可否判定処理のフローチャートである。
【図２６】図２６は、実行可能対処及びＶＭ危険状態を表示する表示画面の一例を示す図である。
【図２７】図２７は、実行可能対処の選択及びシミュレーション結果を表示する表示画面の一例を示す図である。
【図２８】図２８は、計算機システムの状態の一例を示す図である。
【発明を実施するための形態】
【００１８】
実施例について、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１９】
なお、以後の説明では「ａａａテーブル」等の表現にて本発明の情報を説明する場合があるが、これら情報は、テーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「ａａａテーブル」等について「ａａａ情報」と呼ぶことがある。
【００２０】
また、以後の説明では「プログラム」又は、プログラムモジュールを主語として説明を行う場合があるが、プログラム又はプログラムモジュールはプロセッサ（典型的にはＣＰＵ（Central  Processing  Unit））によって実行されることで定められた処理をメモリ及びＩ／Ｆ（インタフェース）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は、管理システム（例えば、後述の管理サーバ）が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。記憶メディアとしては、例えば、ＩＣカード、ＳＤカード、ＤＶＤ等であってもよい。
【００２１】
また、計算機システムを管理し、表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバが表示用情報を表示する場合は管理サーバが管理システムである、また、管理サーバと表示用計算機との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機も含め）が管理システムである。
【００２２】
また、管理システムの（或いは、プロセッサ）の「表示する」という行為は、管理システムが、その管理システムの表示デバイスに情報を表示する行為と、表示デバイスを有する別の計算機に、その表示デバイスに表示される情報を送信する行為のいずれであっても良い。
【００２３】
「ボリューム」とは、一以上の物理記憶デバイス（例えば、ハードディスクドライブ或いはフラッシュメモリ）を基に提供される論理記憶領域（論理ボリューム）である。ボリュームは、例えば、ＲＡＩＤ（Redundant
Array of Independent (or Inexpensive) Disks）グループの記憶空間を基に提供される。ＲＡＩＤグループは、複数の物理記憶デバイスで構成されており、所定のＲＡＩＤレベルに従ってデータが格納される。「ボリューム」は、ＶＯＬと表記されることがある。
【００２４】
「ストレージレベルプール」とは、一以上のボリュームにより構築されるプールである。ストレージレベルプールの一部のエリアが、ストレージレベル仮想ボリュームにおける、物理サーバからのライト先エリアに割り当てられる。ストレージレベルプールは、一以上のボリュームが属する複数のプールの集合（仮想的なプール）であっても良い。「ストレージレベルプール」は、下位レベルプールの一例であり、ＬＬＰと表記されることがある。
【００２５】
「ストレージレベル仮想ボリューム」とは、ストレージコントローラの提供する、仮想的なボリュームである。なお、必ずしも、ストレージレベル仮想ボリュームのエリア（記憶領域）の全てが、物理的な記憶領域に割りあたっているとは限らない。具体的には、例えば、ストレージレベル仮想ボリュームの一部又は全部のエリアは、初期的には、ストレージレベルプールに属する一以上のボリューム内のエリアが割り当てられていない。言い換えれば、初期的には、例えば、ストレージレベル仮想ボリュームの一部のエリアには、ストレージレベルプールの一部のエリアが割り当てられていても良い。ここで、「初期」とは、例えば、ストレージレベル仮想ボリュームが定義された直後、或いは、ストレージレベル仮想ボリュームが定義されて物理サーバからアクセス可能になった直後である。「ストレージレベル仮想ボリューム」は、ＬＬ−ＶＶＯＬと表記されることがある。
【００２６】
「サーバレベルプール」とは、サーバ（物理サーバ、又は仮想サーバ）がストレージシステムから割り当てられた一つ以上のストレージレベル仮想ボリュームから構築される記憶領域である。サーバレベルプールは、仮想サーバから、サーバレベル仮想ボリュームを経由して使用される。具体的には、仮想サーバからサーバレベル仮想ボリュームに対してデータが書き込まれる場合、そのデータの書込み先エリア（サーバレベル仮想ボリュームの一部のエリア）に、サーバレベルプールの一部のエリアが割り当てられる。そして、割り当てられた一部のエリアに対応する、ストレージレベル仮想ボリューム内のエリアを指定したライト要求が、物理サーバから、そのストレージレベル仮想ボリュームを提供するストレージシステムに送信される。ストレージシステムのストレージコントローラは、そのライト要求に応答して、そのライト要求で指定されているエリア（ストレージレベル仮想ボリューム内のエリア）に、ストレージレベルプール内の一部のエリアを割り当て、割り当てられたエリアに、データを書き込む。データは、具体的には、その割り当てられたエリア（ストレージレベルプール内のエリア）の基になっている物理記憶領域（物理記憶デバイス内の領域）に書き込まれる。「サーバレベルプール」は、上位レベルプールの一例であり、ＨＬＰと表記されることがある。
【００２７】
「サーバレベル仮想ボリューム」とは、サーバの仮想化プログラムによって構築される、仮想的なボリュームである。必ずしも、サーバレベル仮想ボリュームの記憶領域の全てが物理的な記憶領域に割りあたっているとは限らない。サーバレベル仮想ボリュームの記憶領域は、仮想サーバによりアクセスされる。このサーバレベル仮想ボリュームは、サーバレベルプールにおいては、仮想ハードディスク（ＶＨＤ）として認識される。「サーバレベル仮想ボリューム」は、ＨＬ−ＶＶＯＬと表記されることがある。
【００２８】
サーバレベル仮想ボリュームは、仮想ハードディスク上のボリュームの使用容量に応じてボリュームの容量が拡張していくように管理されているが、仮想ハードディスク上のボリュームの使用容量が縮小した場合にあっても、一度拡張されたボリュームの容量は、自動的には縮小されることがない。本実施例においては、サーバレベル仮想ボリュームにおける仮想ハードディスク上の使用容量以上の容量を、仮想ハードディスク上の使用容量と同等の容量まで縮小させる容量縮小処理を実行する。サーバレベル仮想ボリュームにおける仮想ハードディスク上の使用容量以上の容量を、仮想ハードディスク上の使用容量と同等の容量まで縮小させることを、「サーバレベル仮想ボリュームの容量削減」という。
【００２９】
まず、実施例に係る計算機システムを説明する。
【００３０】
実施例に係る計算機システムでは、管理サーバがストレージシステムからストレージレベルプール情報を収集するとともに、管理対象の物理サーバからサーバレベルストレージプール情報を収集し、取得した情報からストレージレベルプール及びサーバレベルプールが処理の停止を引き起こす危険性を分析し、その分析結果を表示する。以下に詳細を説明する。
【００３１】
図１は、本発明の実施例における計算機システムの構成を表す図である。
【００３２】
計算機システムは、ストレージシステム３００、物理サーバ２００、及び管理サーバ１００を備える。なお、ストレージシステム３００、物理サーバ２００、及び管理サーバ１００の少なくとも一つは、何台備わっていても良い。また、ストレージシステム３００は、階層化されていても良い。
【００３３】
ストレージシステム３００及び物理サーバ２００は、通信ネットワーク、例えば、ＳＡＮ１０もしくはＬＡＮ２０を通じ、相互に接続される。ＳＡＮ１０には、例えばＦＣ（Fibre
channel）スイッチ１１が含まれていても良い。管理サーバ１００は、通信ネットワーク、例えば、ＬＡＮ２０もしくはＳＡＮ１０を通じ、ストレージシステム３００及び物理サーバ２００と接続される。
【００３４】
ストレージシステム３００は、複数のＰＤＥＶ（物理記憶デバイス）、及び複数のストレージコントローラ（ＣＴＬ）を備える。ＰＤＥＶ、及びストレージコントローラ、例えば、内部ネットワーク又はバスによって相互に接続される。ストレージコントローラは、ＰＤＥＶに基づく記憶領域にデータを格納する。ストレージコントローラは、プロセッサ、メモリ、管理Ｉ／Ｆ３１０等を有する。管理Ｉ／Ｆ３１０は、ＬＡＮ２０を介して、物理サーバ２００、管理サーバ１００に接続されるインターフェースである。
【００３５】
ストレージシステム３００は、複数のＰＤＥＶの記憶領域により構成されるストレージレベルプール３３０を有する。ストレージシステム３００には、ストレージプール３３０の領域が割り当てられる１以上のストレージレベル仮想ボリューム３２０（例えば、ＬＬ−ＶＶＯＬ１、ＬＬ−ＶＶＯＬ２等）が構築される。
【００３６】
物理サーバ２００は、サーバ計算機の一例であり、プロセッサ、メモリ、ＨＢＡ２３０、及びＮＩＣ（Network Interface Card）２４０を有する。プロセッサ、メモリ、ＨＢＡ２３０、ＮＩＣ２４０は内部ネットワークによって相互に接続される。
【００３７】
ＨＢＡ２３０は、ＳＡＮ１０やＬＡＮ２０等のネットワークを介してストレージシステム３００に接続されるインターフェースである。具体的には、例えば、ＨＢＡ２３０は、プロセッサからストレージシステム３００へのＩ／Ｏ要求を出力する。ＮＩＣ２４０は、ＬＡＮ２０を介して、ストレージシステム３００、管理サーバ１００に接続されるインターフェースである。
【００３８】
物理サーバ２００においては、プロセッサは、メモリによって記憶されるプログラムを実行することによって、各種処理を行う。例えば、プロセッサは、ストレージシステム３００にＩ／Ｏ要求（ライト要求又はリード要求）を送信することによって、そのストレージシステム３００によって提供される一つ以上のストレージレベル仮想ボリューム３２０に対してデータの入出力（ライト又はリード）を行うことができる。
【００３９】
物理サーバ２００では、プロセッサがサーバ仮想化プログラムを実行することにより、物理サーバ２００の有する物理リソースから１以上の仮想サーバ環境（仮想サーバ２１０）を構築する。物理サーバ２００では、サーバレベルプール２２０が構築される。本実施例では、物理サーバ１のＨＬＰ１は、ＬＬ−ＶＶＯＬ１から構築され、物理サーバ２のＨＬＰ２は、ＬＬ−ＶＶＯＬ２から構築されている。
【００４０】
仮想サーバ（ＶＭ）２１０には、サーバレベル仮想ボリューム２１２が構築される。本実施例では、ＶＭ１には、ＨＬＰ１に基づくＨＬ−ＶＶＯＬ１が構築され、ＶＭ２には、ＨＬＰ１に基づくＨＬ−ＶＶＯＬ２が構築され、ＶＭ３には、ＨＬＰ２に基づくＨＬ−ＶＶＯＬ３が構築されている。また、仮想サーバ２１０には、ファイル単位でのデータへのアクセスを管理するための１以上のファイルシステム（ＶＦＳ）２１１が構築される。本実施例では、ＶＭ１には、ＨＬ−ＶＶＯＬ１上にＶＦＳ１及びＶＦＳ２が構築され、ＶＭ２には、ＨＬ−ＶＶＯＬ２上にＶＦＳ３が構築され、ＶＭ３には、ＨＬ−ＶＶＯＬ３上にＶＦＳ４が構築されている。
【００４１】
図２は、管理サーバ１００の構成を表す図である。
【００４２】
管理サーバ１００は、プロセッサ１４０、メモリ１１０、及びＮＩＣ１５０を備える計算機である。プロセッサ１４０、メモリ１１０、及びＮＩＣ１５０は、内部ネットワークにより相互に接続される。
【００４３】
プロセッサ１４０は、メモリ１１０によって記憶されるプログラムを実行することによって、各種処理を行う。
【００４４】
メモリ１１０は、プロセッサ１４０によって実行されるプログラムやプロセッサ１４０によって必要とされる情報等を記憶する。例えば、メモリ１４０は、管理プログラム１２０と、記憶部１３０とを記憶する。なお、メモリ１１０は、半導体メモリ又は記憶デバイス、あるいはこれらを組み合わせたもので良い。
【００４５】
管理プログラム１２０は、ストレージシステム３００と、物理サーバ２００とを管理する。管理プログラム１２０は、プログラムモジュールとして、情報収集処理部１２１０と、危険度算出部１２２０と、原因・改善箇所選定部１２３０と、対処実行可否判定部１２４０と、対処シミュレーション部１２５０とを含む。
【００４６】
情報収集処理部１２１０は、ストレージシステム３００からストレージレベルプールの構成に関する情報、ストレージレベル仮想ボリュームの構成に関する情報等を収集する。情報収集処理部１２１０は、物理サーバ２００からサーバレベルプールの構成に関する情報、サーバレベル仮想ボリュームの構成に関する情報等を収集する。なお、情報収集処理部１２１０が、ストレージシステム３００及び物理サーバ２００から直接情報を取得せずに、管理サーバ１００の他のプログラムが取得した情報から必要な情報を取得するようにしても良い。危険度算出部１２２０は、ストレージレベルプール及びサーバレベルプールについての処理の停止を引き起こす危険性を示す指標である危険度を算出し、危険性を解析する処理を実行する。原因・改善箇所選定部１２３０は、処理の停止を引き起こす原因の箇所を選定するとともに、危険性を改善することのできる箇所を選定する処理を実行する。対処実行可否判定部１２４０は、危険性を改善するための対処策が実行可能であるか否かを判定する処理を実行する。対処シミュレーション部１２５０は、実行可能であると判定された対処策についてのシミュレーションを実行し、シミュレーション結果を表示する処理を実行する。
【００４７】
記憶部１３０は、各種情報を記憶する。記憶部１３０は、ボリューム情報テーブル１０００と、ストレージレベルプール情報テーブル１１００と、ストレージレベル仮想ボリューム情報テーブル１２００と、サーバレベルプール情報テーブル１３００と、サーバレベル仮想ボリューム情報テーブル１４００と、仮想サーバレベルファイルシステム情報テーブル１５００と、不要仮想サーバテーブル１６００と、サーバレベル仮想ボリューム拡張テーブル１７００と、ストレージレベルプール拡張テーブル１８００と、マイグレーションテーブル１９００と、ストレージレベルプール間ボリューム調整テーブル２０００と、仮想サーバ危険度テーブル２１００と、仮想サーバ情報テーブル２２００と、を記憶する。
【００４８】
ボリューム情報テーブル１０００は、ボリュームに関する情報を格納する。ストレージレベルプール情報テーブル１１００は、ストレージレベルプールに関する情報を格納する。ストレージレベル仮想ボリューム情報テーブル１２００は、ストレージレベル仮想ボリュームに関する情報を格納する。サーバレベルプール情報テーブル１３００は、サーバレベルプールに関する情報を格納する。サーバレベル仮想ボリューム情報テーブル１４００は、サーバレベル仮想ボリュームに関する情報を格納する。仮想サーバレベルファイルシステム情報テーブル１５００は、仮想サーバレベルファイルシステムに関する情報を格納する。不要仮想サーバテーブル１６００は、不要仮想サーバに関する情報を格納する。サーバレベル仮想ボリューム拡張テーブル１７００は、サーバレベル仮想ボリュームの拡張に関する情報を格納する。ストレージレベルプール拡張テーブル１８００は、ストレージレベルプールの拡張に関する情報を格納する。マイグレーションテーブル１９００は、サーバレベル仮想ボリュームの移動に関する情報を格納する。ストレージレベルプール間ボリューム調整テーブル２０００は、ストレージレベルプール間のボリュームの調整に関する情報を格納する。仮想サーバ危険度テーブル２１００は、仮想サーバの危険度に関する情報を格納する。仮想サーバテーブル２２００は、仮想サーバに関する情報を格納する。
【００４９】
ＮＩＣ１５０は、ＬＡＮ２０等のネットワークを介して、物理サーバ２００、及びストレージシステム３００に接続されるインターフェースである。
【００５０】
なお、管理サーバ１００は、入出力装置１６０を有してよい。管理サーバ１００内の入出力装置１６０も、内部ネットワークに接続される。
【００５１】
入出力装置１６０の例としては、ディスプレイとキーボードとポインタデバイスが考えられるが、これら以外の装置であっても良い。また、入出力装置１６０の代替として、シリアルインターフェースやイーサネット（登録商標）インターフェースが入出力装置１６０とされてよい。また、該当インターフェースに、ディスプレイ又はキーボード又はポインタデバイスを有する表示用計算機が接続されて良い。表示用情報を表示用計算機へ送信することや、入力用情報を表示用計算機から受信することが行われても良い。これらにより、表示用計算機での表示が行われても良いし、入力を受け付けることで、入出力装置１６０での入出力が行われても良い。
【００５２】
なお、管理サーバ１００は、ストレージシステム３００を管理する装置と、物理サーバ２００を管理する装置とに分かれていても良い。
【００５３】
図３Ａは、ボリューム情報テーブル１０００の構成の一例を示す図である。
【００５４】
ボリューム情報テーブル１０００は、ボリューム毎に、ボリューム識別子１０００、総容量（ＴＯＴＡＬ容量）１００２、使用容量（ＵＳＥＤ容量）１００３、空き容量（ＦＲＥＥ容量）１００４、及びディスク装置識別子１００５、を属性値とするレコードを有する。
【００５５】
ボリューム識別子１０００は、ボリュームに割り当てられた識別子である。総容量１００２は、ボリュームの物理的な総容量である。使用容量１００３は、総容量の中の実際にデータが書き込まれて使用されている領域の容量である。空き容量１００４は、総容量の中の未使用領域の容量である。ディスク装置識別子１００５は、ボリュームを構成しているディスク装置の識別子である。ボリュームが複数のディスク装置で構成されている場合には、ディスク装置識別子１００５は、複数のディスク装置の識別子である。
【００５６】
図３Ｂは、ストレージレベルプール情報テーブル１１００の構成の一例を示す図である。
【００５７】
ストレージレベルプール情報テーブル１１００は、ストレージレベルプール毎に、ストレージレベルプール識別子１１０１、総容量（ＴＯＴＡＬ容量）１１０２、割当て容量（ＡＳＳＩＧＮＥＤ容量）１１０３、使用容量（ＵＳＥＤ容量）１１０４、空き容量（ＦＲＥＥ容量）１１０５、ボリューム識別子１１０６、削減可能容量（ＲＥＤＵＣＩＢＬＥ容量）１１０７、対応ストレージ１１０８、危険度１１０９、及び影響度１１１０、を属性値とするレコードを有する。
【００５８】
ストレージレベルプール識別子１１０１は、ストレージレベルプールに割り当てられた識別子である。総容量１１０２は、ストレージレベルプールの物理的な総容量である。割当て容量１１０３は、ストレージレベル仮想ボリュームとして仮想的に割り当てた容量の合計値である。使用容量１１０４は、総容量１１０２の中の実際にデータが書き込まれて使用されている領域の容量である。空き容量１１０５は、総容量１１０２の中の未使用領域の容量である。ボリューム識別子１１０６は、ストレージレベルプールを構成するボリュームの識別子である。削減可能容量１１０７は、サーバレベル仮想ボリュームの容量削減を行った場合に削減できる容量である。対応ストレージ１１０８は、ストレージレベルプールが属するストレージシステム３００の識別子である。危険度１１０９は、ストレージレベルプールについての空き容量の枯渇に対する危険度（第１の危険度）である。影響度１１１０は、空き容量の枯渇があった場合における影響の度合いを示す影響度である。
【００５９】
図４Ａは、ストレージレベル仮想ボリューム情報テーブル１２００の構成を示す図である。
【００６０】
ストレージレベル仮想ボリューム情報テーブル１２００は、ストレージレベル仮想ボリュームに関する情報の他に、ストレージレベル仮想ボリュームが属するストレージレベルプールの情報を含む。ストレージレベル仮想ボリューム情報テーブル１２００は、ストレージレベル仮想ボリューム毎に、ストレージレベル仮想ボリューム識別子１２０１、総容量（ＴＯＴＡＬ容量）１２０２、使用容量（ＵＳＥＤ容量）１２０３、空き容量（ＦＲＥＥ容量）１２０４、及びストレージレベルプール識別子１２０５、を属性値とするレコードを有する。
【００６１】
ストレージレベル仮想ボリューム識別子１２０１は、ストレージレベル仮想ボリュームに割り当てられた識別子である。総容量１２０２は、ストレージレベルプールからストレージレベル仮想ボリュームに割り当てられた総容量である。使用容量１２０３は、総容量１２０２の中で使用されている容量である。空き容量１２０４は、総容量１２０２の中で未使用領域の容量である。ストレージレベルプール識別子１２０５は、ストレージレベル仮想ボリュームが属するストレージレベルプールの識別子である。
【００６２】
図４Ｂは、サーバレベルプール情報テーブル１３００の構成の一例を示す図である。
【００６３】
サーバレベルプール情報テーブル１３００は、サーバレベルプールに関する情報の他に、サーバレベルプールが属するストレージレベル仮想ボリュームの情報と物理サーバの情報を含む。サーバレベルプール情報テーブル１３００は、サーバレベルプール毎に、サーバレベルプール識別子１３０１、総容量（ＴＯＴＡＬ容量）１３０２、割当て容量（ＡＳＳＩＧＮＥＤ容量）１３０３、使用容量（ＵＳＥＤ容量）１３０４、空き容量（ＦＲＥＥ容量）１３０５、ストレージレベル仮想ボリューム識別子１３０６、削減可能容量（ＲＥＤＵＣＩＢＬＥ容量）１３０７、接続方式１３０８、対応物理サーバ１３０９、危険度１３１０、及び影響度１３１１、を属性値とするレコードを有する。
【００６４】
サーバレベルプール識別子１３０１は、サーバレベルプールに割り当てられた識別子である。総容量１３０２は、ストレージレベル仮想ボリュームから割当てられた総容量である。割当て容量１３０３は、サーバレベル仮想ボリュームとして仮想的に割り当てた容量の合計値である。使用容量１３０４は、総容量１３０２の中の実際にデータが書き込まれて使用されている領域の容量である。空き容量１３０５は、総容量１３０２の中の未使用領域の容量である。ストレージレベル仮想ボリューム識別子１３０６は、サーバレベルプールを構成するストレージレベル仮想ボリュームの識別子である。削減可能容量１３０７は、サーバレベル仮想ボリュームの容量削減を行った場合において削減できる容量である。接続方式１３０８は、ストレージレベル仮想ボリュームへの接続方式である。対応物理サーバ１３０９は、サーバレベルプールが属する物理サーバ２００の識別子である。危険度１３１０は、サーバレベルプールについての空き容量の枯渇に対する危険度（第２の危険度）である。影響度１３１１は、空き容量の枯渇があった場合における影響の度合いを示す影響度である。
【００６５】
図５Ａは、サーバレベル仮想ボリューム情報テーブル１４００の構成の一例を示す図である。
【００６６】
サーバレベル仮想ボリューム情報テーブル１４００は、サーバレベル仮想ボリュームに関する情報の他に、サーバレベル仮想ボリュームが属するサーバレベルプールの情報を含む。サーバレベル仮想ボリューム情報テーブル１４００は、サーバレベル仮想ボリューム毎に、サーバレベル仮想ボリューム識別子１４０１、総容量（ＴＯＴＡＬ容量）１４０２、使用容量（ＵＳＥＤ容量）１４０３、空き容量（ＦＲＥＥ容量）１４０４、サーバレベルプール識別子１４０５、削減可能容量（ＲＥＤＵＣＩＢＬＥ容量）１４０６、仮想ハードディスク（ＶＨＤ）タイプ１４０７、及び仮想ハードディスクファイルサイズ１４０８、を属性値とするレコードを有する。
【００６７】
サーバレベル仮想ボリューム識別子１４０１は、サーバレベル仮想ボリュームに割り当てられた識別子である。総容量１４０２は、サーバレベルプールから仮想的に割当てられた総容量である。使用容量１４０４は、総容量１４０２の中の実際にデータが書き込まれて使用されている領域の容量である。空き容量１４０４は、総容量１４０２の中の未使用領域の容量である。サーバレベルプール識別子１４０５は、サーバレベル仮想ボリュームが属するサーバレベルプールの識別子である。削減可能容量１４０６は、容量削減により削減できる容量である。仮想ハードディスクタイプ１４０７は、仮想ハードディスクファイルのタイプ（可変タイプであるか、固定タイプであるか）である。可変タイプとは、仮想ハードディスクの使用容量に応じて仮想ハードディスクファイルのファイルサイズを拡張させるタイプである。固定タイプとは、仮想ハードディスクファイルの生成時に仮想ハードディスクの総容量分のファイルサイズを確保するタイプである。図５Ａでは、可変タイプを、Ｄｙｎａｍｉｃと表記し、固定タイプを、Ｆｉｘｅｄと表記している。仮想ハードディスクファイルサイズ１４０８は、仮想ハードディスクファイルのファイルサイズである。
【００６８】
図５Ｂは、仮想サーバレベルファイルシステム情報テーブル１５００の構成の一例を示す図である。
【００６９】
仮想サーバレベルファイルシステム情報テーブル１５００は、仮想サーバレベルファイルシステムに関する情報の他に、仮想サーバレベルファイルシステムが属するサーバレベル仮想ボリュームの情報を含む。仮想サーバレベルファイルシステム情報テーブル１５００は、仮想サーバレベルファイルシステム毎に、仮想サーバレベルファイルシステム識別子１５０１、総容量（ＴＯＴＡＬ容量）１５０２、使用容量（ＵＳＥＤ容量）１５０３、空き容量（ＦＲＥＥ容量）１５０４、サーバレベル仮想ボリューム識別子１５０５、及び対応仮想サーバ識別子１５０６、を属性値とするレコードを有する。
【００７０】
仮想サーバレベルファイルシステム識別子１５０１は、仮想サーバレベルファイルシステムに割り当てられた識別子である。総容量１５０２は、サーバレベル仮想ボリュームから割当てられた総容量である。使用容量１５０３は、総容量１５０２の中の使用されている領域の容量である。空き容量１５０４は、総容量１５０２の中の未使用領域の容量である。サーバレベル仮想ボリューム識別子１５０５は、仮想サーバレベルファイルシステムが属するサーバレベル仮想ボリュームの識別子である。対応仮想サーバ識別子１５０６は、仮想サーバレベルファイルシステムを利用する仮想サーバの識別子である。
【００７１】
図６Ａは、サーバレベル仮想ボリューム拡張テーブル１７００の構成の一例を示す図である。
【００７２】
サーバレベル仮想ボリューム拡張テーブル１７００は、改善箇所（サーバレベルプール識別子）１７０１、拡張性１７０２、ストレージレベルプール識別子１７０３、及び最大拡張可能容量１７０４、を属性値とするレコードを有する。
【００７３】
改善箇所（サーバレベルプール識別子）１７０１は、危険度を改善する対象の箇所である。本実施例では、改善箇所１７０１は、改善する対象のサーバレベルプールの識別子となっている。拡張性１７０２は、改善箇所１７０１についての拡張性である。拡張性１７０２は、例えば、拡張可能であることを示す「拡張可能」、ストレージレベルプールを拡張後に、サーバレベルプールを拡張できることを示す「ＬＬＰ拡張後、ＨＬＰ拡張可能」、拡張可能でないことを示す「拡張不可能」のいずれかである。ストレージレベルプール識別子１７０３は、拡張する必要があるストレージレベルプールの識別子である。最大拡張可能容量１７０４は、拡張可能な最大の容量である。
【００７４】
図６Ｂは、不要仮想サーバテーブル１６００の構成の一例を示す図である。
【００７５】
不要仮想サーバテーブル１６００は、改善箇所（サーバレベルプール識別子）１６０１、不要仮想サーバ識別子１６０２、及び削除可能容量１６０３、を属性値とするレコードを有する。
【００７６】
改善箇所１６０１は、危険度を改善する対象となる箇所である。本実施例では、改善箇所１６０１は、改善する対象となるサーバレベルプールの識別子となっている。不要仮想サーバ識別子１６０２は、不要となる仮想サーバの識別子である。削減可能容量１６０３は、不要となる仮想サーバを削除した際に、使用容量から削減可能な容量である。
【００７７】
図７Ａは、マイグレーションテーブル１９００の構成の一例を示す図である。
【００７８】
マイグレーションテーブル１９００は、改善対象のサーバレベルプール上のマイグレーション可能なサーバレベル仮想ボリューム及びマイグレーション先のサーバレベルプールの情報を含む。マイグレーションテーブル１９００は、改善箇所（サーバレベルプール識別子）１９０１、マイグレーション先サーバレベルプール識別子１９０２、対象サーバレベル仮想ボリューム１９０３、及び対象サーバレベル仮想ボリューム容量１９０４、を属性値とするレコードを有する。
【００７９】
改善箇所（サーバレベルプール識別子）１９０１は、改善する対象となるサーバレベルプールの識別子である。マイグレーション先サーバレベルプール識別子１９０２は、サーバレベル仮想ボリュームのマイグレーション先のサーバレベルプールの識別子である。対象サーバレベル仮想ボリューム１９０３は、マイグレーションの対象のサーバレベル仮想ボリュームの識別子である。対象サーバレベル仮想ボリューム容量１９０４は、マイグレーション対象のサーバレベル仮想ボリュームの容量である。
【００８０】
図７Ｂは、ストレージレベルプール拡張テーブル１８００の構成の一例を示す図である。
【００８１】
ストレージレベルプール拡張テーブル１８００は、改善箇所（ストレージレベルプール識別子）１８０１、及び最大拡張可能容量１８０２、を属性値とするレコードを有する。
【００８２】
改善箇所（ストレージレベルプール識別子）１８０１は、改善する対象となるストレージレベルプールの識別子である。最大拡張可能容量１８０２は、ストレージレベルプールで拡張可能な最大の容量である。
【００８３】
図８Ａは、ストレージレベルプール間ボリューム調整テーブル２０００の構成の一例を示す図である。
【００８４】
ストレージレベルプール間ボリューム調整テーブル２０００は、ストレージレベルプール間で調整可能なボリュームの情報及びその容量の情報を含む。ストレージレベルプール間ボリューム調整テーブル２０００は、改善箇所（ストレージレベルプール識別子）２００１、移動元サーバレベルプール識別子２００２、対象ボリューム２００３、対象ボリューム容量２００４、を属性値とするレコードを有する。
【００８５】
改善箇所（サーバレベルプール識別子）２００１は、改善する対象となるストレージレベルプールの識別子である。移動元サーバレベルプール識別子２００２は、ボリュームを移動させる移動元のサーバレベルプールの識別子である。対象ボリューム２００３は、移動させるボリュームの識別子である。対象ボリューム容量２００４は、移動させるボリュームの容量である。
【００８６】
図８Ｂは、仮想サーバ危険度テーブル２１００の一例を示す図である。
【００８７】
仮想サーバ危険度テーブル２１００は、仮想サーバ識別子２１０１、原因部位２１０２、及び危険度２１０３、を属性値とするレコードを有する。
【００８８】
仮想サーバ識別子２１０１は、仮想サーバの識別子である。原因部位２１０２は、原因となる部位の識別子（ストレージレベルプール識別子、又はサーバレベルプール識別子）である。危険度２１０３は、原因部位についての危険度である。
【００８９】
図９は、仮想サーバ情報テーブル２２００の構成の一例を示す図である。
【００９０】
仮想サーバ情報テーブル２２００は、仮想サーバ識別子２２０１、最終使用日時２２０２、及び危険度２２０３、を属性値とするレコードを有する。
【００９１】
仮想サーバ識別子２２０１は、仮想サーバの識別子である。最終使用日時２２０２は、仮想サーバを使用した最終日時である。危険度２２０２は、仮想サーバについての危険度（第３の危険度）である。
【００９２】
次に、実施例に係る計算機システムによる動作を説明する。
【００９３】
管理サーバ１００の情報収集処理部１２１０は、例えば、所定の時間おきに、情報収集処理を実行する。ここで、所定の時間としては、ユーザにより設定された時間であっても良く、管理サーバ１００が任意に決定した時間であっても良い。
【００９４】
情報収集処理では、情報収集処理部１２１０は、ストレージシステム３００からストレージレベルプールに関する情報、ストレージレベル仮想ボリュームに関する情報等を収集し、また、物理サーバ２００からサーバレベルプールに関する情報、サーバレベル仮想ボリュームに関する情報等を収集する。次に、情報収集処理部１２１０は、収集した情報を、ボリューム情報テーブル１０００、ストレージレベルプール情報テーブル１１００、ストレージレベル仮想ボリューム情報テーブル１２００、サーバレベルプール情報テーブル１３００、及びサーバレベル仮想ボリューム情報テーブル１４００に格納する。この情報収集処理によると、ボリューム情報テーブル１０００、ストレージレベルプール情報テーブル１１００、ストレージレベル仮想ボリューム情報テーブル１２００、サーバレベルプール情報テーブル１３００、及びサーバレベル仮想ボリューム情報テーブル１４００に必要な各種属性値を収集することができる。なお、本実施例では、情報収集処理部１２１０は、サーバレベルプール及びストレージレベルプールの容量に関する情報の履歴（例えば、使用容量の履歴）について記憶部１３０に格納する。
【００９５】
図１０は、ＨＬＰの危険度算出処理のフローチャートである。
【００９６】
ＨＬＰの危険度算出処理は、情報収集処理が実行された以降において、危険度算出部１２２０によって実行される。
【００９７】
（ステップＳ１１）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００を参照し、計算機システムに存在する全てのサーバレベルプール（の識別子）を特定する。
【００９８】
（ステップＳ１２）危険度算出部１２２０は、特定したサーバレベルプール群から処理対象とする或るサーバレベルプール（の識別子）を選択する。
【００９９】
（ステップＳ１３）危険度算出部１２２０は、処理対象のサーバレベルプールに対して、図１１に示すＨＬＰの乖離度算出処理を実行する。ここで、ＨＬＰの乖離度算出処理によると、ＨＬＰの乖離度が算出される。ここで、ＨＬＰの乖離度とは、ＨＬＰの物理的な空き容量の大きさと、仮想的に割り当てた空き容量の大きさとの乖離の大きさを表したものである。なお、詳細については、ＨＬＰの乖離度算出処理において説明する。
【０１００】
（ステップＳ１４）危険度算出部１２２０は、処理対象のサーバレベルプールに対して、ＨＬＰの猶予時間を算出する猶予時間算出処理を実行する。ここで、猶予時間とは、ＨＬＰの物理的な空き容量が０になるまでの時間として見積もった時間（第２の猶予時間）をいう。猶予時間を算出する方法としては、例えば、サーバレベルプールの過去の使用容量の履歴を記憶しておき、この履歴から、サーバレベルプールの単位時間当たりの使用容量の増加量を算出し、算出した時間単位当たりの使用容量の増加量、サーバレベルプール情報テーブル１３００の空き容量１３０５に基づいて、空き容量が０になるまでの時間（猶予時間：第２の猶予時間）を算出する。なお、猶予時間を算出する方法としては、これに限られず、空き容量が０になるまでの時間を予測できればどのような方法であってもよい。なお、ストレージレベルプールの物理的な空き容量が０になるまでの猶予時間（第１の猶予時間）も上記同様な処理により算出することができる。
【０１０１】
（ステップＳ１５乃至Ｓ１９）危険度算出部１２２０は、サーバレベルプールが枯渇する危険度を判定する処理を実行する。
【０１０２】
ここで、危険度を判定する処理の概念を説明する。
【０１０３】
図１２は、危険度判定処理を説明する図である。
【０１０４】
本実施例では、サーバレベルプールの空き容量が枯渇する危険度を、猶予時間及び乖離度を用いて判定している。なお、猶予時間又は乖離度のいずれか一方を用いて危険度を判定するようにしてもよい。
【０１０５】
本実施例では、サーバレベルプールの空き容量が枯渇する危険性が高いと判定するための猶予時間の基準とする閾値Ｘ（第２の閾値）と、サーバレベルプールの空き容量が枯渇する危険性が高いと判定するための乖離度の基準とする閾値Ｙ（第１の閾値）とを用意している。ここで、閾値Ｘ、閾値Ｙとは、計算機システムで予め一意に設定したものであっても良く、また、管理者が任意に設定したものであっても良い。
【０１０６】
本実施例では、（１）サーバレベルプールに対する猶予時間が閾値Ｘよりも小さく（猶予時間が短く）、且つ乖離度が閾値Ｙよりも大きい場合に、危険度が「危険」であると判定し、（２）サーバレベルプールに対する猶予時間が閾値Ｘよりも小さく、且つ乖離度が閾値Ｙ以下である場合、又は、サーバレベルプールに対する猶予時間が閾値Ｘ以上であり、且つ乖離度が閾値Ｙよりも大きい場合に、危険度が「注意」であると判定し、（３）サーバレベルプールに対する猶予時間が閾値Ｘ以上（猶予時間が長く）であり、且つ乖離度が閾値Ｙ以下である大きい場合に、危険度が「安全」であると判定する。この処理によると、乖離度と、猶予時間という異なる基準に基づいてサーバレベルプールの空き容量の枯渇の危険度を適切に判定することができる。
【０１０７】
図１１の説明に戻り、ステップＳ１５以降を詳細に説明する。
（ステップＳ１５）危険度算出部１２２０は、算出された乖離度が閾値Ｘよりも大きく、且つ、算出した猶予時間が閾値Ｙよりも小さいか否かを判定する。この結果、乖離度が閾値Ｘよりも大きく、且つ猶予時間が閾値Ｙよりも小さい場合（ステップＳ１５：ＹＥＳ）には、危険度算出部１２２０は、処理をステップＳ１６に進める。一方、そうではない場合、すなわち、乖離度が閾値Ｘ以下であるか、又は猶予時間が閾値Ｙ以上である場合（ステップＳ１５：Ｎｏ）には、危険度算出部１２２０は、処理をステップＳ１７に進める。
【０１０８】
（ステップＳ１６）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の対象のサーバレベルプールに対応するレコードの危険度１３１０に「危険」をセットする。
【０１０９】
（ステップＳ１７）危険度算出部１２２０は、算出された乖離度が閾値Ｘ以下であり、且つ、算出した猶予時間が閾値Ｙ以上であるか否かを判定する。この結果、乖離度が閾値Ｘ以下であり、且つ猶予時間が閾値Ｙ以上である場合（ステップＳ１７：ＹＥＳ）には、危険度算出部１２２０は、処理をステップＳ１８に進める。一方、そうではない場合、すなわち、乖離度が閾値Ｘ以下であり、且つ猶予時間が閾値Ｙより大きい場合、又は乖離度が閾値Ｘより大きく、且つ猶予時間が閾値Ｙ以下である場合（ステップＳ１７：Ｎｏ）には、危険度算出部１２２０は、処理をステップＳ１９に進める。
【０１１０】
（ステップＳ１８）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の対象のサーバレベルプールに対応するレコードの危険度１３１０に「安全」をセットする。
【０１１１】
（ステップＳ１９）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の対象のサーバレベルプールに対応するレコードの危険度１３１０に「注意」をセットする。
【０１１２】
（ステップＳ２０）危険度算出部１２２０は、ステップＳ１１で特定した全てのサーバレベルプールについての処理が完了したか否かを判定し、処理が完了していない場合（ステップＳ２０：ＮＯ）には、処理をステップＳ１２に進めて、未処理のサーバレベルプールを対象とする処理を行う一方、全てのサーバレベルプールについての処理が完了している場合（ステップＳ２０：ＹＥＳ）には、危険度算出処理を終了する。
【０１１３】
このＨＬＰの危険度算出処理によると、サーバレベルプールについての空き容量の枯渇に関する危険度を適切に判定することができる。
【０１１４】
図１１は、ＨＬＰの乖離度算出処理のフローチャートである。
【０１１５】
ＨＬＰの乖離度算出処理は、図１０のＨＬＰの危険度算出処理のステップＳ１３に対応する処理である。
【０１１６】
（ステップＳ２１）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の空き容量１３０５を参照して、処理対象のサーバレベルプールの物理的な空き容量を求める。
【０１１７】
（ステップＳ２２）危険度算出部１２２０は、サーバレベル仮想ボリューム情報テーブル１４００を検索し、サーバレベルプール識別子１４０５の値が処理対象のサーバレベルプールの識別子と一致する全てのレコードに対応するサーバレベル仮想ボリューム、すなわち、処理対象のサーバレベルプール上のサーバレベル仮想ボリュームを特定する。
【０１１８】
（ステップＳ２３）危険度算出部１２２０は、特定したサーバレベル仮想ボリュームの中の１つを処理対象のサーバレベル仮想ボリュームとして選択する。
【０１１９】
（ステップＳ２４）危険度算出部１２２０は、仮想サーバレベルファイルシステム情報テーブル１５００を検索し、サーバレベル仮想ボリューム識別子１５０５が処理対象のサーバレベル仮想ボリュームの識別子と一致する全てのレコードに対応する仮想サーバレベルファイルシステムを特定する。
【０１２０】
（ステップＳ２５）危険度算出部１２２０は、特定した仮想サーバレベルファイルシステムの中の１つを処理対象の仮想サーバレベルファイルシステムとして選択する。
【０１２１】
（ステップＳ２６）危険度算出部１２２０は、仮想サーバレベルファイルシステム情報テーブル１５００の選択した仮想サーバレベルファイルシステムに対応するレコードの空き容量１５０４の値を、変数である仮想空き容量合計値に加算する。なお、仮想空き容量合計値は、ＨＬＰの乖離度算出処理の開始時に０に初期化されている。
【０１２２】
（ステップＳ２７）危険度算出部１２２０は、ステップＳ２４で特定した全ての仮想サーバレベルファイルシステムについて処理が完了したか否かを判定し、特定した全ての仮想サーバレベルファイルシステムについて処理を完了していない場合（ステップＳ２７：ＮＯ）には、処理をステップＳ２５に進める一方、特定した全ての仮想サーバレベルファイルシステムについて処理を完了した場合（ステップＳ２７：ＹＥＳ）には、処理をステップＳ２８に進める。
【０１２３】
（ステップＳ２８）危険度算出部１２２０は、ステップＳ２２で特定した全てのサーバレベル仮想ボリュームについて処理が完了したか否かを判定し、特定した全てのサーバレベル仮想ボリュームについて処理を完了していない場合（ステップＳ２８：ＮＯ）には、処理をステップＳ２３に進める一方、特定した全てのサーバレベル仮想ボリュームについて処理を完了した場合（ステップＳ２８：ＹＥＳ）には、処理をステップＳ２９に進める。
【０１２４】
（ステップＳ２９）危険度算出部１２２０は、ステップＳ２１で求めた空き容量と、仮想空き容量合計値とに基づいて、サーバレベルプールにおける物理的な空き容量と、仮想的な空き容量とに関する乖離度を算出する。本実施例では、危険度算出部１２２０は、乖離度を以下の式１を用いて算出する。この乖離度は、数値が大きくなるほど、物理的な空き容量に比して、仮想的な空き容量が多いことを意味しており、サーバレベルプールが枯渇する危険性が高いことを適切に表すことのできる指標である。
（式１）乖離度＝（仮想空き容量合計値−物理的な空き容量）／物理的な空き容量
【０１２５】
なお、ストレージレベルプールにおける物理的な空き容量と、仮想的な空き容量とに関する乖離度（第１の乖離度）についても上記同様な処理により算出することができる。
【０１２６】
ここで、計算機システムが図２８に示す状態である場合におけるＨＬＰ１と、ＨＬＰ２とについての危険度算出処理を具体的に説明する。
【０１２７】
ＨＬＰ１については、物理的な空き容量が１０ＧＢであり、仮想上の空き領域が９０ＧＢ（ＶＦＳ１上で３０ＧＢ、ＶＦＳ２上で３０ＧＢ、ＶＦＳ３上で３０ＧＢ）であるので、乖離度は、（９０−１０）／１０＝８となる。
【０１２８】
また、ＨＬＰ１の過去の容量の傾向が、例えば、３日前の使用容量が８４ＧＢ、２日前の使用容量が８６ＧＢ、１日前の使用容量が８８ＧＢであったとすると、単位時間（例えば、１日）当たりの使用容量の増加量が２ＧＢとなる。ＨＬＰ１の空き容量が枯渇するまでの猶予時間は、１０／２＝５（日間）となる。
【０１２９】
ここで、危険度の判定に用いる猶予時間に関する閾値Ｘを１０とし、乖離度に関する閾値Ｙを３と仮定すると、ＨＬＰ１は、乖離度が８であり閾値Ｙより大きく、猶予時間が５であり閾値Ｘより短いので、危険度は「危険」と判定される。
【０１３０】
ＨＬＰ２については、物理的な空き容量が９０ＧＢであり、仮想上の空き領域が４０ＧＢ（ＶＦＳ４上で４０ＧＢ）であるので、乖離度は、（４０−９０）／９０＝−０．５５となる。
【０１３１】
また、ＨＬＰ２の過去の容量の傾向が、例えば、３日前の使用容量が７ＧＢ、２日前の使用容量が８ＧＢ、１日前の使用容量が９ＧＢであったとすると、単位時間（例えば、１日）当たりの使用容量の増加量が１ＧＢとなる。ＨＬＰ２の空き容量が枯渇するまでの猶予時間は、９０／１＝９０（日間）となる。
【０１３２】
この場合、ＨＬＰ２は、乖離度が−０．５５であり閾値Ｙ以下であり、猶予時間が９０であり閾値Ｘ以上であるので、危険度は「安全」と判定される。
【０１３３】
図１３は、ＨＬＰの影響度算出処理のフローチャートである。
【０１３４】
ＨＬＰの影響度算出処理は、サーバレベルプールの空き容量が枯渇した際における影響度を算出する処理であり、任意の時点（例えば、ＨＬＰの危険度算出処理の直後）に、各サーバレベルプールを対象に実行される。
【０１３５】
（ステップＳ４１）危険度算出部１２２０は、サーバレベル仮想ボリューム情報テーブル１４００を参照して、サーバレベルプール識別子１４０５の値が処理対象のサーバレベルプールの識別子と一致する全てのレコードに対応するサーバレベル仮想ボリューム、すなわち、処理対象のサーバレベルプール上のサーバレベル仮想ボリュームを特定する。
【０１３６】
（ステップＳ４２）危険度算出部１２２０は、特定したサーバレベル仮想ボリュームの中の１つを処理対象のサーバレベル仮想ボリュームとして選択する。
【０１３７】
（ステップＳ４３）危険度算出部１２２０は、サーバレベル仮想ボリューム情報テーブル１４００の選択したサーバレベル仮想ボリュームに対応するレコードにおける仮想ハードディスクタイプ１４０７が可変タイプ（「Ｄｙｎａｍｉｃ」）であるか否かを判定する。この結果、仮想ハードディスクタイプ１４０７が可変タイプである場合（ステップＳ４３：ＹＥＳ）には、サーバレベルプールの空き容量が枯渇してしまうと、このサーバレベル仮想ボリュームに対して容量を割り当てられない可能性があることを意味しているので、危険度算出部１２２０は、処理をステップＳ４４に進める。一方、仮想ハードディスクタイプ１４０７が可変タイプでない場合（ステップＳ４３：ＮＯ）には、このサーバレベル仮想ボリュームの容量はすでに確保されていて、サーバレベルプールの空き容量の枯渇の影響を受けないことを意味しているので、処理をステップＳ４５に進める。
【０１３８】
（ステップＳ４４）危険度算出部１２２０は、選択されたサーバレベル仮想ボリュームに属する仮想サーバを、仮想サーバレベルファイルシステム情報テーブル１５００の対応仮想サーバ識別子１５０６を参照することにより特定し、この仮想サーバ識別子を、サーバレベルプールの容量の枯渇により停止する可能性がある仮想サーバの識別子として記憶する。
【０１３９】
（ステップＳ４５）危険度算出部１２２０は、ステップＳ４１で特定した全てのサーバレベル仮想ボリュームについて処理が完了したか否かを判定し、特定した全てのサーバレベル仮想ボリュームについて処理を完了していない場合（ステップＳ４５：ＮＯ）には、処理をステップＳ４２に進める一方、特定した全てのサーバレベル仮想ボリュームについて処理を完了した場合（ステップＳ４５：ＹＥＳ）には、処理をステップＳ４６に進める。
【０１４０】
（ステップＳ４６）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の処理対象のサーバレベルプールに対応するレコードの影響度１３１１に、サーバレベルプールの容量の枯渇により停止する可能性があるとして記憶した仮想サーバの識別子の数を格納し、処理を終了する。なお、影響度は、停止する可能性がある仮想サーバの数に限らず、例えば、各仮想サーバに重要度等のパラメータを対応付けておき、これらのパラメータによる重みづけを考慮して影響度を算出するようにしても良い。
【０１４１】
ここで、図１０乃至図１３を参照して、サーバレベルプールについての危険度算出処理等を説明したが、危険度算出部１２２０は、ストレージレベルプールについても上記同様な危険度算出処理等を行う。なお、ストレージレベルプールについての危険度算出処理等は、基本的には、図１０乃至図１３において、サーバレベルプール及びそれに対応するテーブル等をストレージレベルプール及びそれに対応するテーブル等に読み替えたものとなる。
【０１４２】
ここで、計算機システムが図２８に示す状態である場合におけるＬＬＰについての危険度算出処理を具体的に説明する。
【０１４３】
ＬＬＰについては、物理的な空き容量が２００ＧＢであり、仮想上の空き領域が１３０ＧＢ（ＶＦＳ１上で３０ＧＢ、ＶＦＳ２上で３０ＧＢ、ＶＦＳ３上で３０ＧＢ、ＶＦＳ４上で４０ＧＢ）であるので、乖離度（第１の乖離度）は、（１３０−２００）／２００＝−０．３５となる。
【０１４４】
また、ＬＬＰの過去の容量の傾向が、例えば、３日前の使用容量が９４ＧＢ、２日前の使用容量が９７ＧＢ、１日前の使用容量が１００ＧＢであったとすると、単位時間（例えば、１日）当たりの使用容量の増加量が３ＧＢとなる。ＬＬＰの空き容量が枯渇するまでの猶予時間（第１の猶予期間）は、２００／３≒６６（日間）となる。
【０１４５】
ここで、危険度の判定に用いる猶予時間に関する閾値Ｘを１０とし、乖離度に関する閾値Ｙを３と仮定すると、ＬＬＰは、乖離度が−０．３５であり閾値Ｙ以下であり、猶予時間が６６であり閾値Ｘ以上であるので、危険度は「安全」と判定される。
【０１４６】
図１４は、ＶＭの危険度算出処理のフローチャートである。
【０１４７】
ＶＭの危険度算出処理は、サーバレベルプール及びストレージレベルプールに対して、危険度算出処理等が完了した後に実行される。ここで、仮想サーバの危険度とは、サーバレベルプール又はストレージレベルプールの空き容量が枯渇によって仮想サーバが停止する可能性の高さを表す指標である。
【０１４８】
（ステップＳ５１）危険度算出部１２２０は、仮想サーバ情報テーブル２２００を参照し、計算機システムに存在する全ての仮想サーバを特定する。
【０１４９】
（ステップＳ５２）危険度算出部１２２０は、特定した仮想サーバの中の１つを処理対象の仮想サーバとして選択する。
【０１５０】
（ステップＳ５３）危険度算出部１２２０は、選択した仮想サーバに関連する全てのサーバレベルプールの識別子を特定する。具体的には、危険度算出部１２２０は、仮想サーバレベルファイルシステム情報テーブル１５００及びサーバレベル仮想ボリューム情報テーブル１４００を参照し、処理対象の仮想サーバの仮想サーバ識別子に対応するサーバレベルプールの識別子を特定する。
【０１５１】
（ステップＳ５４）危険度算出部１２２０は、特定したサーバレベルプールの識別子の中の１つを処理対象のサーバレベルプールの識別子として選択する。
【０１５２】
（ステップＳ５５）危険度算出部１２２０は、サーバレベルプール情報テーブル１３００の、処理対象のサーバレベルプールの識別子に対応するレコードを特定し、当該レコードの危険度１３１０が「危険」又は「注意」であるか否かを判定する。危険度１３１０が「危険」又は「注意」である場合（ステップＳ５５：ＹＥＳ）には、危険度算出部１２２０は、処理をステップＳ５６に進める一方、危険度１３１０が「危険」又は「注意」でない場合（ステップＳ５５：ＮＯ）には、処理をステップＳ５７に進める。
【０１５３】
（ステップＳ５６）危険度算出部１２２０は、処理対象のサーバレベルプールに対応するレコードを仮想サーバ危険度テーブル２１００に追加する。具体的には、危険度算出部１２２０は、仮想サーバ識別子２１０１にステップＳ５２で処理対象とした仮想サーバの識別子を設定し、原因部位２１０２に、ステップＳ５４で選択したサーバレベルプールの識別子を設定し、危険度２１０３にステップＳ５５で判定した危険度１３１０の値を設定したレコードを仮想サーバ危険度テーブル２１００に追加する。
【０１５４】
（ステップＳ５７）危険度算出部１２２０は、処理対象のサーバレベルプールに属する全てのストレージレベルプールの識別子を特定する。具体的には、危険度算出部１２２０は、サーバレベルプール情報テーブル１３００及びストレージレベル仮想ボリューム情報テーブル１２００を参照し、処理対象のサーバレベルプールの識別子に対応するストレージレベルプールの識別子を特定する。
【０１５５】
（ステップＳ５８）危険度算出部１２２０は、特定したストレージレベルプールの識別子の中の１つを処理対象のストレージレベルプールの識別子として選択する。
【０１５６】
（ステップＳ５９）危険度算出部１２２０は、ストレージレベルプール情報テーブル１１００の、処理対象のストレージレベルプールの識別子に対応するレコードを特定し、当該レコードの危険度１１０９が「危険」又は「注意」であるか否かを判定する。危険度１１０９が「危険」又は「注意」である場合（ステップＳ５９：ＹＥＳ）には、危険度算出部１２２０は、処理をステップＳ６０に進める一方、危険度１１０９が「危険」又は「注意」でない場合（ステップＳ５９：ＮＯ）には、処理をステップＳ６１に進める。
【０１５７】
（ステップＳ６０）危険度算出部１２２０は、処理対象のストレージレベルプールに対応するレコードを仮想サーバ危険度テーブル２１００に追加する。具体的には、危険度算出部１２２０は、仮想サーバ識別子２１０１にステップＳ５２で処理対象とした仮想サーバの識別子を設定し、原因部位２１０２に、ステップＳ５８で選択したストレージレベルプールの識別子を設定し、危険度２１０３にステップＳ５９で判定した危険度１１０９の値を設定したレコードを仮想サーバ危険度テーブル２１００に追加する。
【０１５８】
（ステップＳ６１）危険度算出部１２２０は、ステップＳ５７で特定した全てのストレージレベルプールについて処理が完了したか否かを判定し、特定した全てのストレージレベルプールについて処理を完了していない場合（ステップＳ６１：ＮＯ）には、処理をステップＳ５８に進める一方、特定した全てのストレージレベルプールについて処理を完了した場合（ステップＳ６１：ＹＥＳ）には、処理をステップＳ６２に進める。
【０１５９】
（ステップＳ６２）危険度算出部１２２０は、ステップＳ５３で特定した全てのサーバレベルプールについて処理が完了したか否かを判定し、特定した全てのサーバレベルプールについて処理を完了していない場合（ステップＳ６２：ＮＯ）には、処理をステップＳ５４に進める一方、特定した全てのサーバレベルプールについて処理を完了した場合（ステップＳ６２：ＹＥＳ）には、処理をステップＳ６３に進める。
【０１６０】
（ステップＳ６３）危険度算出部１２２０は、ステップＳ５２で選択した仮想サーバに対応するレコードに基づいて、この仮想サーバの危険度を決定する。具体的には、危険度算出部１２２０は、仮想サーバ危険度テーブル２１００に選択した仮想サーバに対応する１以上のレコードがある場合には、そのレコードの危険度２１０３の中で高い危険度を仮想サーバに対する危険度として決定する。例えば、或る仮想サーバに対応する危険度２１０３として、危険及び注意があれば、危険と決定する。一方、仮想サーバ危険度テーブル２１００に選択した仮想サーバに対応するレコードがない場合には、危険度算出部１２２０は、その仮想サーバの危険度を安全と決定する。次いで、危険度算出部１２２０は、仮想サーバ情報テーブル２２００のこの仮想サーバのレコードの危険度２２０３に、決定した優先度を設定する。
【０１６１】
（ステップＳ６４）危険度算出部１２２０は、ステップＳ５１で特定した全ての仮想サーバについて処理が完了したか否かを判定し、特定した全ての仮想サーバについて処理を完了していない場合（ステップＳ６４：ＮＯ）には、処理をステップＳ５２に進める一方、特定した全ての仮想サーバについて処理を完了した場合（ステップＳ６４：ＹＥＳ）には、処理を終了する。
【０１６２】
この処理によると、各仮想サーバについての危険度を適切に判定することができる。
【０１６３】
ここで、計算機システムが図２８に示す状態である場合におけるＶＭ１、ＶＭ２、及びＶＭ３についての危険度算出処理を具体的に説明する。
【０１６４】
ＶＭ１は、ＨＬＰ１及びＬＬＰに属しており、ＨＬＰ１は「危険」であり、ＬＬＰは「安全」であるので、ＶＭ１の危険度は、「危険」と判定される。ＶＭ２は、ＨＬＰ１及びＬＬＰに属しており、ＨＬＰ１は「危険」であり、ＬＬＰは「安全」であるので、ＶＭ２の危険度は、「危険」と判定される。ＶＭ３は、ＨＬＰ２及びＬＬＰに属しており、ＨＬＰ２は「安全」であり、ＬＬＰは「安全」であるので、ＶＭ３の危険度は、「安全」と判定される。
【０１６５】
次に、ストレージレベルプール及びサーバレベルプールの危険度を表示する表示処理について説明する。
【０１６６】
この表示処理は、例えば、管理サーバ１００が入出力装置１６０に対する管理者の指示に基づいて、危険度算出部１２２０により実行される。
【０１６７】
危険度算出部１２２０は、サーバレベルプール情報テーブル１３００を参照し、危険度１３１０が「注意」又は「危険」である全てのレコードを特定し、当該レコードのサーバレベルプール識別子１３０１、危険度１３１０、及び影響度１３１１を取得し、また、ストレージレベルプール情報テーブル１１００を参照し、危険度１１０９が「注意」又は「危険」である全てのレコードを特定し、当該レコードのサーバレベルプール識別子１１０１、危険度１１０９、及び影響度１１１０を取得し、これらの取得した情報に基づいて、図１５に示すような表示画面を表示させる。
【０１６８】
図１５は、ストレージレベルプール及びサーバレベルプールの危険度を表示する表示画面の一例を示す図である。
【０１６９】
この表示画面には、サーバレベルプールについての識別子、危険度、及び影響度が表示されるとともに、ストレージレベルプールについての識別子、危険度、及び影響度が表示される。この表示画面により、管理者は、危険度の高いサーバレベルプールや、ストレージレベルプールを適切に把握することができる。また、サーバレベルプールやストレージプールによる空き容量の枯渇が与える影響の大きさを適切に把握することができる。
【０１７０】
次に、危険度が高い（例えば、「危険」）と判定された仮想サーバについて、その仮想サーバが「危険」と判断される要因となっている部位（改善箇所）を特定する改善箇所選定処理と、特定された改善箇所について実行可能な対処策を判別する対処実行可否判定処理を説明する。
【０１７１】
改善箇所選定処理について説明する。改善箇所選定処理は、原因・改善箇所選定部１２３０が実行する。
【０１７２】
原因・改善箇所選定部１２３０は、仮想サーバ情報テーブル２２００を参照し、危険度２２０３が「危険」又は「注意」である仮想サーバ識別子を特定する。次いで、原因・改善箇所選定部１２３０は、仮想サーバ危険度テーブル２１００を参照し、特定した仮想サーバの識別子に対応する全てのレコードを取得し、これらレコードの原因部位２１０２を改善箇所として設定する。
【０１７３】
次に、対処実行可否判定処理を説明する。
【０１７４】
図１６は、対処実行可否判定処理のフローチャートである。
【０１７５】
対処実行可否判定処理は、対処実行可否判定部１２４０により、例えば、改善箇所選定処理が実行された後に実行される。
【０１７６】
（ステップＳ７１）対処実行可否判定部１２４０は、改善箇所選定処理において改善箇所として設定されたすべてのサーバレベルプールの識別子を取得する。
【０１７７】
（ステップＳ７２）対処実行可否判定部１２４０は、取得したサーバレベルプールの識別子の中の１つを処理対象のサーバレベルプールの識別子として選択する。
【０１７８】
（ステップＳ７３）対処実行可否判定部１２４０は、処理対象のサーバレベルプールについて、図１７に示すＨＬＰの対処実行可否判定処理を実行する。このＨＬＰの対処実行可否判定処理によると、処理対象のサーバレベルプールに対する実行可能な対処策が検出される。
【０１７９】
（ステップＳ７４）対処実行可否判定部１２４０は、ステップＳ７１で取得した全てのサーバレベルプールについて処理が完了したか否かを判定し、特定した全てのサーバレベルプールについて処理を完了していない場合（ステップＳ７４：ＮＯ）には、処理をステップＳ７２に進める一方、特定した全てのサーバレベルプールについて処理を完了した場合（ステップＳ７４：ＹＥＳ）には、処理をステップＳ７５に進める。
【０１８０】
（ステップＳ７５）対処実行可否判定部１２４０は、改善箇所選定処理において改善箇所として設定されたすべてのストレージレベルプールの識別子を取得する。
【０１８１】
（ステップＳ７６）対処実行可否判定部１２４０は、取得したストレージレベルプールの識別子の中の１つを処理対象のストレージレベルプールの識別子として選択する。
【０１８２】
（ステップＳ７７）対処実行可否判定部１２４０は、処理対象のストレージレベルプールについて、図１８に示すＬＬＰの対処実行可否判定処理を実行する。このＬＬＰの対処実行可否判定処理によると、処理対象のストレージレベルプールに対する実行可能な対処策が検出される。
【０１８３】
（ステップＳ７８）対処実行可否判定部１２４０は、ステップＳ７５で取得した全てのストレージレベルプールについて処理が完了したか否かを判定し、特定した全てのストレージレベルプールについて処理を完了していない場合（ステップＳ７８：ＮＯ）には、処理をステップＳ７６に進める一方、特定した全てのストレージレベルプールについて処理を完了した場合（ステップＳ７８：ＹＥＳ）には、処理を終了する。
【０１８４】
図１７は、ＨＬＰの対処実行可否判定処理のフローチャートである。
【０１８５】
ＨＬＰの対処実行可否判定処理は、図１６の対処実行可否判定処理のステップＳ７３に対応する処理である。なお、サーバレベルプールに対する対処策としては、以下に示す対処策に限られず、サーバレベルプールにおける危険度を下げることができる対処策であれば良い。
【０１８６】
（ステップＳ８１）対処実行可否判定部１２４０は、処理対象のサーバレベルプールについて、図１９に示すサーバレベル仮想ボリュームの容量削減可否判定処理を実行する。このサーバレベル仮想ボリュームの容量削減可否判定処理によると、サーバレベル仮想ボリュームの容量削減が対処策として実行可能か否かが判定される。
【０１８７】
（ステップＳ８２）対処実行可否判定部１２４０は、処理対象のサーバレベルプールについて、図２２に示すサーバレベル仮想ボリュームのサーバレベルプール間マイグレーション可否判定処理を実行する。このサーバレベル仮想ボリュームのサーバレベルプール間マイグレーション可否判定処理によると、サーバレベル仮想ボリュームのサーバレベルプール間のマイグレーションが対処策として実行可能か否かが判定される。
【０１８８】
（ステップＳ８３）対処実行可否判定部１２４０は、処理対象のサーバレベルプールについて、図２１に示す不要仮想サーバの削除可否判定処理を実行する。この不要仮想サーバの削除可否判定処理によると、不要な仮想サーバの削除が対処策として実行可能か否かが判定される。
【０１８９】
（ステップＳ８４）対処実行可否判定部１２４０は、処理対象のサーバレベルプールについて、図２０に示すサーバレベルプールの拡張可否判定処理を実行する。このサーバレベルプールの拡張可否判定処理によると、サーバレベルプールの拡張が対処策として実行可能か否かが判定される。
【０１９０】
このＨＬＰの対処実行可否判定処理によると、処理対象のサーバレベルプールに対する実行可能な対処策が検出される。
【０１９１】
図１８は、ＬＬＰの対象実行可否判定処理のフローチャートである。
【０１９２】
ＬＬＰの対処実行可否判定処理は、図１６の対処実行可否判定処理のステップＳ７７に対応する処理である。なお、ストレージレベルプールに対する対処策としては、以下に示す対処策に限られず、ストレージレベルプールにおける危険度を下げることができる対処策であれば良い。
【０１９３】
（ステップＳ９１）対処実行可否判定部１２４０は、処理対象のストレージレベルプールについて、図２３に示すサーバレベル仮想ボリュームの容量削減可否判定処理を実行する。このサーバレベル仮想ボリュームの容量削減可否判定処理によると、サーバレベル仮想ボリュームの容量削減が対処策として実行可能か否かが判定される。
【０１９４】
（ステップＳ９２）対処実行可否判定部１２４０は、処理対象のストレージレベルプールについて、図２５に示すストレージレベルプール間ボリューム調整可否判定処理を実行する。このストレージレベルプール間ボリューム調整可否判定処理によると、ストレージレベルプール間でのボリュームの調整が対処策として実行可能か否かが判定される。
【０１９５】
（ステップＳ９３）対処実行可否判定部１２４０は、処理対象のストレージレベルプールについて、図２４に示すストレージレベルプールの拡張可否判定処理を実行する。このストレージレベルプールの拡張可否判定処理によると、ストレージレベルプールの拡張が対処策として実行可能か否かが判定される。
【０１９６】
図１９は、ＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理のフローチャートである。ＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理は、図１７のサーバレベルプールの対処実行可否判定処理のステップＳ８１に対応する処理である。
【０１９７】
（ステップＳ１０１）対処実行可否判定部１２４０は、処理対象のサーバレベルプールに属する全てのサーバレベル仮想ボリュームの識別子を特定する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム情報テーブル１４００を参照し、サーバレベルプール識別子１４０５が、処理対象のサーバレベルプール識別子であるすべてのレコードのサーバレベル仮想ボリューム識別子１４０１を特定する。
【０１９８】
（ステップＳ１０２）対処実行可否判定部１２４０は、取得したサーバレベル仮想ボリューム識別子の中の１つを処理対象のサーバレベル仮想ボリュームの識別子として選択する。
【０１９９】
（ステップＳ１０３）対処実行可否判定部１２４０は、選択したサーバレベル仮想ボリュームに削減可能容量があるか否かを判定する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム情報テーブル１４００の削減可能容量１４０６に容量が存在するか否かを判定する。この結果、削減可能容量がある場合（ステップＳ１０３：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１０４に進める一方、削減可能容量がない場合（ステップＳ１０３：ＮＯ）には、処理をステップＳ１０７に進める。
【０２００】
（ステップＳ１０４）対処実行可否判定部１２４０は、履歴を参照してサーバレベル仮想ボリュームの容量削減の効果があるか否かの判定を行う。ここで、例えば、夜間バッチ処理を行うような仮想サーバにおいて、バッチ処理中に一時ファイルが大量に作成され、バッチ処理後にそれらのファイルが削除されるような場合には、バッチ処理が実行されるたびにサーバレベル仮想ボリュームのサイズが大きくなってしまうため、容量削減の効果がないと判定する。
【０２０１】
（ステップＳ１０５）対処実行可否判定部１２４０は、ステップＳ１０４の判定により、容量削減による効果があるか否かを判定し、容量削減の効果がある場合（ステップＳ１０５：ＹＥＳ）には、処理をステップＳ１０６に進める一方、容量削減の効果がない場合（ステップＳ１０５：ＮＯ）には、処理をステップＳ１０７に進める。
【０２０２】
（ステップＳ１０６）対処実行可否判定部１２４０は、処理対象のサーバレベル仮想ボリュームの識別子を容量削減可能なサーバレベル仮想ボリュームの識別子としてメモリ１１０に記憶する。
【０２０３】
（ステップＳ１０７）対処実行可否判定部１２４０は、ステップＳ１０１で取得した全てのサーバレベル仮想ボリュームについて処理が完了したか否かを判定し、特定した全てのサーバレベル仮想ボリュームについて処理を完了していない場合（ステップＳ１０７：ＮＯ）には、処理をステップＳ１０２に進める一方、特定した全てのサーバレベル仮想ボリュームについて処理を完了した場合（ステップＳ１０７：ＹＥＳ）には、処理を終了する。
【０２０４】
このＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理によると、容量削減可能なサーバレベル仮想ボリュームを適切に検出することができる。
【０２０５】
ここで、計算機システムが図２８に示す状態である場合におけるＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理を具体的に説明する。
【０２０６】
ＨＬ−ＶＶＯＬ１（ＶＨＤ１）のファイルサイズが７０ＧＢであり、ＨＬ−ＶＶＯＬ１上のＶＭ１で使用されている容量が４０ＧＢであるため、ＨＬ−ＶＶＯＬ１の容量削減により、３０ＧＢの無駄な容量を削減できると考えられる。一方、ＨＬ−ＶＶＯＬ２（ＶＨＤ２）のファイルサイズが２０ＧＢであり、ＨＬ−ＶＶＯＬ２上のＶＭ２で使用されている容量が２０ＧＢであるため、ＨＬ−ＶＶＯＬ２の容量削減効果はないと考えられる。従って、ＨＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理によると、ＨＬ−ＶＶＯＬ１は容量削減処理によって３０ＧＢの容量削減が可能であると判定される。
【０２０７】
図２０は、ＨＬＰの拡張可否判定処理のフローチャートである。ＨＬＰの拡張可否判定処理は、図１７のサーバレベルプールの対処実行可否判定処理のステップＳ８４に対応する処理である。
【０２０８】
（ステップＳ１１１）対処実行可否判定部１２４０は、処理対象のサーバレベルプールがＳＡＮ接続であるか否かを判定する。サーバレベルプールがＳＡＮ接続であるか否かは、サーバレベルプール情報テーブル１３００の処理対象のサーバレベルプールに関するレコードの接続方式１３０８を参照することにより特定することができる。この結果、サーバレベルプールがＳＡＮ接続である場合（ステップＳ１１１：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１１２に進める一方、ＳＡＮ接続でない場合（ステップＳ１１１：ＮＯ）、すなわち、サーバレベルプールが内蔵ＨＤＤである場合には、拡張が不可能であると判断できるので、処理を終了する。
【０２０９】
（ステップＳ１１２）対処実行可否判定部１２４０は、処理対象のサーバレベルプールが属するストレージレベルプールに所定の閾値以上の空き容量が存在するか否かを判定する。具体的には、対処実行可否判定部１２４０は、サーバレベルプール情報テーブル１３００、ストレージレベル仮想ボリューム情報テーブル１２００、及びストレージレベルプール情報テーブル１１００を参照して、処理対象のサーバレベルプールが属するストレージレベルプールを特定し、当該ストレージレベルプールの空き容量を特定し、所定の閾値以上であるか否かを判定する。閾値としては、管理者が定義しても良いし、予めシステムに定義されているものであっても良い。この結果、所定の閾値以上の空き容量が存在する場合（ステップＳ１１２：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１１３に進める一方、所定の閾値以上の空き領域が存在しない場合（ステップＳ１１２：ＮＯ）には、処理をステップＳ１１４に進める。
【０２１０】
（ステップＳ１１３）対処実行可否判定部１２４０は、処理対象のサーバレベルプールの識別子を拡張可能なサーバレベルプールの識別子としてメモリ１１０に格納する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム拡張テーブル１７００にレコードを追加し、改善箇所１７０１を処理対象のサーバレベルプールの識別子とし、拡張性１７０２を「拡張可能」とする。
【０２１１】
（ステップＳ１１４）対処実行可否判定部１２４０は、処理対象のサーバレベルプールが属するストレージレベルプールが拡張可能であるか否かを判定する。ここで、ストレージレベルプールが拡張可能であるかの判定処理は、図２４に示す通りである。この結果、ストレージレベルプールが拡張可能である場合（ステップＳ１１４：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１１５に進める一方、ストレージレベルプールが拡張可能でない場合（ステップＳ１１４：ＮＯ）には、処理を終了する。
【０２１２】
（ステップＳ１１５）対処実行可否判定部１２４０は、処理対象のサーバレベルプールの識別子を条件付きで拡張可能なサーバレベルプールの識別子としてメモリ１１０に格納する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム拡張テーブル１７００にレコードを追加し、改善箇所１７０１を処理対象のサーバレベルプールの識別子とし、拡張性１７０２を「ＬＬＰの拡張が必要」とし、ＬＬＰ識別子１７０３を拡張可能であると判定したストレージレベルプールの識別子とする。
【０２１３】
このサーバレベルプールの拡張可否判定処理によると、拡張可能なサーバレベルプールが検出される。
【０２１４】
ここで、計算機システムが図２８に示す状態である場合におけるサーバレベルプールの拡張可否判定処理を具体的に説明する。
【０２１５】
ＨＬＰ１は、ＳＡＮによってＬＬＰに接続されており、ＬＬＰには、物理的な空き容量が存在するために、ＨＬＰ１を拡張することは可能であると判定される。
【０２１６】
図２１は、不要ＶＭ削除可否判定処理のフローチャートである。不要ＶＭ削除可否判定処理は、図１７のサーバレベルプールの対処実行可否判定処理のステップＳ８３に対応する処理である。
【０２１７】
（ステップＳ１２１）対処実行可否判定部１２４０は、処理対象のサーバレベルプールに属する全ての仮想サーバの識別子を特定する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム情報テーブル１４００及び仮想サーバレベルファイルシステム情報テーブル１５００を参照し、処理対象のサーバレベルプール識別子に対応するすべての仮想サーバ識別子を特定する。
【０２１８】
（ステップＳ１２２）対処実行可否判定部１２４０は、特定した仮想サーバ識別子の中の１つを処理対象の仮想サーバの識別子として選択する。
【０２１９】
（ステップＳ１２３）対処実行可否判定部１２４０は、選択した仮想サーバの未使用期間が所定の閾値を超えているか否かを判定する。具体的には、対処実行可否判定部１２４０は、仮想サーバ情報テーブル２２００の選択した仮想サーバの識別子に対応するレコードの最終使用日時２２０２と現在の日時とから未使用期間を算出し、この未使用期間を閾値と比較する。この結果、未使用期間が閾値を超えている場合（ステップＳ１２３：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１２４に進める一方、未使用期間が閾値を超えていない場合（ステップＳ１２３：ＮＯ）には、処理をステップＳ１２５に進める。
【０２２０】
（ステップＳ１２４）対処実行可否判定部１２４０は、処理対象の仮想サーバの識別子を不要な仮想サーバの識別子としてメモリ１１０に格納する。具体的には、対処実行可否判定部１２４０は、不要仮想サーバテーブル１６００にレコードを追加し、改善箇所１６０１を処理対象のサーバレベルプールの識別子とし、不要仮想サーバ識別子１６０２を処理対象の仮想サーバの識別子とし、削減可能容量１６０３を、処理対象の仮想サーバの使用容量とする。
【０２２１】
（ステップＳ１２５）対処実行可否判定部１２４０は、ステップＳ１２１で取得した全ての仮想サーバについて処理が完了したか否かを判定し、特定した全ての仮想サーバについて処理を完了していない場合（ステップＳ１２５：ＮＯ）には、処理をステップＳ１２２に進める一方、特定した全ての仮想サーバについて処理を完了した場合（ステップＳ１２５：ＹＥＳ）には、処理を終了する。
【０２２２】
この不要仮想サーバの削除可否判定処理によると、不要な仮想サーバが検出される。
【０２２３】
図２２は、ＨＬＰ間マイグレーション実行可否判定処理のフローチャートである。ＨＬＰ間マイグレーション実行可否判定処理は、図１７のサーバレベルプールの対処実行可否判定処理のステップＳ８２に対応する処理である。
【０２２４】
（ステップＳ１３１）対処実行可否判定部１２４０は、処理対象のサーバレベルプールが属する物理サーバの他の全てのサーバレベルプールの識別子を特定する。具体的には、対処実行可否判定部１２４０は、サーバレベルプール情報テーブル１３００を参照し、処理対象のサーバレベルプール識別子に対応するレコードの対応物理サーバ１３０９と同一の物理サーバ識別子１３０９であるすべてのレコードのサーバレベルプール識別子１３０１を特定する。
【０２２５】
（ステップＳ１３２）対処実行可否判定部１２４０は、特定したサーバレベル識別子１３０１の中の１つを処理対象のサーバレベルプールの識別子として選択する。
【０２２６】
（ステップＳ１３３）対処実行可否判定部１２４０は、サーバレベルプール情報テーブル１３００を参照し、処理対象のサーバレベルプールの空き容量を特定し、メモリ１１０に記憶させる。
【０２２７】
（ステップＳ１３４）対処実行可否判定部１２４０は、サーバレベル仮想ボリューム情報テーブル１４００を参照し、処理対象のサーバレベルプールに属する全てのサーバレベル仮想ボリュームの識別子を取得する。
【０２２８】
（ステップＳ１３５）対処実行可否判定部１２４０は、特定したサーバレベル仮想ボリューム識別子の中の１つを処理対象のサーバレベル仮想ボリュームの識別子として選択する。
【０２２９】
（ステップＳ１３６）対処実行可否判定部１２４０は、サーバレベルプールの空き容量からサーバレベル仮想ボリュームの容量を減算し、その減算結果が閾値より大きいか否かを判定する。この結果、減算結果が閾値より大きい場合（ステップＳ１３６：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１３７に進める一方、減算結果が閾値より大きくない場合（ステップＳ１３６：ＮＯ）には、処理をステップＳ１３８に進める。
【０２３０】
（ステップＳ１３７）対処実行可否判定部１２４０は、処理対象のサーバレベルプールと、処理対象のサーバレベル仮想ボリュームとの識別子をマイグレーション可能な組み合わせとして、メモリ１１０に格納する。具体的には、対処実行可否判定部１２４０は、マイグレーションテーブル１９００にレコードを追加し、改善箇所１９０１を処理対象のサーバレベルプールの識別子とし、マイグレーション先サーバレベルプール識別子１９０２をステップＳ１３２で選択したサーバレベルプールの識別子とし、対象サーバレベル仮想ボリューム１９０３を処理対象のサーバレベル仮想ボリュームとし、対象サーバレベル仮想ボリューム容量１９０４を、処理対象のサーバレベル仮想ボリュームの容量とする。
【０２３１】
（ステップＳ１３８）対処実行可否判定部１２４０は、ステップＳ１３４で取得した全てのサーバレベル仮想ボリュームについて処理が完了したか否かを判定し、特定した全てのサーバレベル仮想ボリュームについて処理を完了していない場合（ステップＳ１３８：ＮＯ）には、処理をステップＳ１３５に進める一方、特定した全てのサーバレベル仮想ボリュームについて処理を完了した場合（ステップＳ１３８：ＹＥＳ）には、処理をステップＳ１３９に進める。
【０２３２】
（ステップＳ１３９）対処実行可否判定部１２４０は、ステップＳ１３１で取得した全てのサーバレベルプールについて処理が完了したか否かを判定し、特定した全てのサーバレベルプールについて処理を完了していない場合（ステップＳ１３９：ＮＯ）には、処理をステップＳ１３２に進める一方、特定した全てのサーバレベルプールについて処理を完了した場合（ステップＳ１３９：ＹＥＳ）には、処理を終了する。
【０２３３】
このＨＬＰ間マイグレーション実行可否判定処理によると、マイグレーション可能なサーバレベル仮想ボリュームを検出することができる。
【０２３４】
ここで、計算機システムが図２８に示す状態である場合におけるＨＬＰ間のマイグレーション実行可否判定処理を具体的に説明する。
【０２３５】
ＨＬＰ１と同一の物理サーバ上にＨＬＰ２という別のプールが存在している、ＨＬＰ２は、総容量１００ＧＢに対して１０ＧＢしか使用されていない。そのため、ファイルサイズが７０ＧＢのＨＬ−ＶＶＯＬ１と、ファイルサイズが２０ＧＢのＨＬ−ＶＶＯＬ２のどちらもがマイグレーション可能であると判定される。
【０２３６】
図２３は、ＬＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理のフローチャートである。ＬＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処は、図１８のストレージレベルプールの対処実行可否判定処理のステップＳ９１に対応する処理である。
【０２３７】
（ステップＳ１４１）対処実行可否判定部１２４０は、処理対象のストレージレベルプールに属する全てのサーバレベル仮想ボリュームの識別子を特定する。具体的には、対処実行可否判定部１２４０は、ストレージレベルプール情報テーブル１１００、ストレージレベル仮想ボリューム情報テーブル１２００、サーバレベルプール情報テーブル１３００、及びサーバレベル仮想ボリューム情報テーブル１４００を参照し、ストレージレベルプール識別子に対応付けられているすべてのサーバレベル仮想ボリューム識別子を特定する。
【０２３８】
（ステップＳ１４２）対処実行可否判定部１２４０は、取得したサーバレベル仮想ボリューム識別子の中の１つを処理対象のサーバレベル仮想ボリュームの識別子として選択する。
【０２３９】
（ステップＳ１４３）対処実行可否判定部１２４０は、選択したサーバレベル仮想ボリュームに削減可能容量があるか否かを判定する。具体的には、対処実行可否判定部１２４０は、サーバレベル仮想ボリューム情報テーブル１４００の削減可能容量１４０６に容量が存在するか否かを判定する。この結果、削減可能容量がある場合（ステップＳ１４３：ＹＥＳ）には、対処実行可否判定部１２４０は、処理をステップＳ１４４に進める一方、削減可能容量がない場合（ステップＳ１４３：ＮＯ）には、処理をステップＳ１４７に進める。
【０２４０】
（ステップＳ１４４）対処実行可否判定部１２４０は、このサーバレベル仮想ボリュームについての履歴を参照してサーバレベル仮想ボリュームの容量削減の効果があるか否かの判定を行う。ここで、例えば、夜間バッチ処理を行うような仮想サーバにおいて、バッチ処理中に一時ファイルが大量に作成され、バッチ処理後にそれらのファイルが削除されるような場合には、バッチ処理が実行されるたびにサーバレベル仮想ボリュームのサイズが大きくなってしまうため、容量削減の効果がないと判定する。
【０２４１】
（ステップＳ１４５）対処実行可否判定部１２４０は、ステップＳ１４４の判定により、容量削減による効果があるか否かを判定し、容量削減の効果がある場合（ステップＳ１４５：ＹＥＳ）には、処理をステップＳ１４６に進める一方、容量削減の効果がない場合（ステップＳ１４５：ＮＯ）には、処理をステップＳ１４７に進める。
【０２４２】
（ステップＳ１４６）対処実行可否判定部１２４０は、処理対象のサーバレベル仮想ボリュームの識別子を容量削減可能なサーバレベル仮想ボリュームの識別子としてメモリ１１０に記憶する。
【０２４３】
（ステップＳ１４７）対処実行可否判定部１２４０は、ステップＳ１４１で取得した全てのサーバレベル仮想ボリュームについて処理が完了したか否かを判定し、特定した全てのサーバレベル仮想ボリュームについて処理を完了していない場合（ステップＳ１４７：ＮＯ）には、処理をステップＳ１４２に進める一方、特定した全てのサーバレベル仮想ボリュームについて処理を完了した場合（ステップＳ１４７：ＹＥＳ）には、処理を終了する。
【０２４４】
このＬＬＰにおけるＨＬ−ＶＶＯＬ容量削減可否判定処理によると、ＬＬＰに属し、容量削減可能なサーバレベル仮想ボリュームを適切に検出することができる。
【０２４５】
図２４は、ＬＬＰの拡張可否判定処理のフローチャートである。ＬＬＰの拡張可否判定処理は、図１８のストレージレベルプールの対処実行可否判定処理のステップＳ９３に対応する処理である。
【０２４６】
（ステップＳ１５１）対処実行可否判定部１２４０は、ストレージレベルプール情報テーブル１１００を参照し、処理対象のストレージレベルプールが属するストレージシステムの識別子を特定する。
【０２４７】
（ステップＳ１５２）対処実行可否判定部１２４０は、ストレージシステムの情報を参照して、ストレージシステムに余剰のボリュームがあるか否かを判定する。この結果、余剰のボリュームがある場合（ステップＳ１５２：ＹＥＳ）には、処理をステップＳ１５３に進める一方、余剰のボリュームがない場合（ステップＳ１５２：ＮＯ）には、ストレージレベルプールの拡張は不可能であるので、処理を終了する。
【０２４８】
（ステップＳ１５３）対処実行可否判定部１２４０は、処理対象のストレージレベルプールを拡張可能なストレージレベルプールとしてメモリ１１０に記憶する。具体的には、対処実行可否判定部１２４０は、ストレージレベルプール拡張テーブル１８００にレコードを追加し、改善箇所１８０１をストレージレベルプールの識別子とし、最大拡張可能容量１８０２を余剰のボリュームの容量とする。
【０２４９】
このＬＬＰの拡張可否判定処理によると、ストレージレベルプールが拡張可能であるか否かを適切に検出することができる。
【０２５０】
図２５は、ＬＬＰ間ＶＯＬ調整可否判定処理のフローチャートである。ＬＬＰ間ＶＯＬ調整可否判定処理は、図１８のストレージレベルプールの対処実行可否判定処理のステップＳ９２に対応する処理である。
【０２５１】
（ステップＳ１６１）対処実行可否判定部１２４０は、ストレージレベルプール情報テーブル１１００を参照し、処理対象のストレージレベルプールが属するストレージシステムの識別子を特定する。
（ステップＳ１６２）対処実行可否判定部１２４０は、ストレージレベルプール情報テーブル１１００を参照し、特定したストレージシステムに属する他の全てのストレージレベルプールの識別子を取得する。
【０２５２】
（ステップＳ１６３）対処実行可否判定部１２４０は、取得したストレージレベルプールの識別子の中の１つを処理対象のストレージレベルプールの識別子として選択する。
【０２５３】
（ステップＳ１６４）対処実行可否判定部１２４０は、ボリューム情報テーブル１０００を参照し、選択したストレージレベルプールに未使用のボリュームがあるか否かを判定する。この結果、選択したストレージレベルプールに未使用のボリュームがある場合（ステップＳ１６４：ＹＥＳ）には、処理をステップＳ１６５に進める一方、選択したストレージレベルプールに未使用のボリュームがない場合（ステップＳ１６４：ＮＯ）には、処理をステップＳ１６６に進める。
【０２５４】
（ステップＳ１６５）対処実行可否判定部１２４０は、未使用のボリュームを調整可能なボリュームとしてメモリ１１０に記憶する。
【０２５５】
（ステップＳ１６６）対処実行可否判定部１２４０は、ステップＳ１６２で取得した全てのストレージレベルプールについて処理が完了したか否かを判定し、特定した全てのストレージレベルプールについて処理を完了していない場合（ステップＳ１６６：ＮＯ）には、処理をステップＳ１６３に進める一方、特定した全てのストレージレベルプールについて処理を完了した場合（ステップＳ１６６：ＹＥＳ）には、処理を終了する。
【０２５６】
このＬＬＰ間ＶＯＬ調整可否判定処理によると、ストレージレベルプール間で調整が可能なボリュームを適切に検出することができる。
【０２５７】
次に、対処実行可否判定部１２４０により実行可能であると判断された対処策について表示する対処表示処理について説明する。
【０２５８】
この対処表示処理は、例えば、入出力装置１６０を介して管理者から実行指示を受け付けた場合や、対処実行可否判定部１２４０による対処実行可否判定処理が実行された直後に実行される。
【０２５９】
対処シミュレーション部１２５０は、サーバレベルプール情報テーブル１３００、ストレージレベルプール情報テーブル１１００、及び仮想サーバ情報テーブル２２００の情報に基づいて、仮想サーバ、サーバレベルプール、及びストレージレベルプールについての危険度を示す図２６に示すような画面を入出力装置１６０に表示する。これにより、管理者は、停止する危険性が高い仮想サーバを適切に把握することができる。さらに、対処シミュレーション部１２５０は、図２６に示すような画面に、対処実行可否判定部１２４０により実行可能であると判断された対処策、すなわち、不要仮想サーバテーブル１６００、サーバレベル仮想ボリューム拡張テーブル１７００、ストレージレベルプール拡張テーブル１８００、マイグレーションテーブル１９００、ストレージレベルプール間ボリューム調整テーブル２０００等に格納された対処策の情報に基づいて、改善箇所の近傍に、実行可能な対処策についての情報を選択可能に表示させる。
【０２６０】
図２６は、実行可能対処及びＶＭ危険状態を表示する表示画面の一例を示す図である。
【０２６１】
表示画面には、仮想サーバの停止の可能性を示す危険度が高い場合には、仮想サーバを示す図形上に危険度に対応する情報が表示される。また、仮想サーバの停止の可能性の危険度の原因となる箇所（図２６では、例えば、ストレージレベルプール）を示す図形上には、危険度を示す情報が表示されるとともに、危険度に対して取り得る対処策の一覧が表示される。例えば、図２６の例では、ＶＭ１及びＶＭ３には、危険を示すマークが表示され、ＬＬＰには、危険である旨が表示されている。この画面によると、仮想サーバの危険度や、原因となる箇所の状況を適切に把握することができる。
【０２６２】
さらに、図２６の表示画面においては、ストレージレベル仮想ボリュームの容量削減と、サーバレベルプールの拡張とが、ＬＬＰに対する実行可能な対処策として表示されている。図２６の例では、対処策の一覧の各対処策に対応して、当該対処策を選択するための選択領域が表示されている。これにより、管理者は、取り得る対処策を適切に把握することができる。
【０２６３】
本実施例では、表示画面の対処策に対応する選択領域が入出力装置１６０の操作により選択されると、対処シミュレーション部１２５０は、選択領域に対応する対処策を実行したと仮定した場合のシミュレーション処理を実行し、そのシミュレーション結果に基づいて図２７に示すような画面を表示させる。なお、複数の対処策を同時に選択させ、対処シミュレーション部１２５０は、複数の対処策を実行させた場合のシミュレーション処理を実行するようにしても良い。
【０２６４】
シミュレーション処理では、対処シミュレーション部１２５０は、選択された対処に対応するレコードを、不要仮想サーバテーブル１６００、サーバレベル仮想ボリューム拡張テーブル１７００、ストレージレベルプール拡張テーブル１８００、マイグレーションテーブル１９００、又はストレージレベルプール間ボリューム調整テーブル２０００から特定し、特定したこのレコードの情報に基づいて、対処策を行ったとした場合におけるサーバレベルプール及びストレージレベルプールについての容量を算出し、当該算出した容量に基づいて、上記した危険度算出部１２１０による各種処理（危険度算出処理等）を実行させる。
【０２６５】
図２７は、実行可能対処の選択及びシミュレーション結果を表示する表示画面の一例を示す図である。
【０２６６】
表示画面には、選択された対処策に対応する選択領域は、選択状態として表示され、その対処策に対応する部位（図１７では、サーバレベル仮想ボリューム）には、実行される処理が表示され、仮想サーバに対しては、対処策を実行したとした場合における危険度の表示が行なわれ、原因となる箇所には、対処策を実行した場合における状態を示す情報が表示される。図２７に示す例では、ＶＭ１、ＶＭ３には、危険度が解消されるため、危険度を示すマークが表示されなくなり、原因となる箇所であったＬＬＰには、安全と表示される。この画面により、対処策を実行した場合におけるシミュレーション結果を適切に把握することができる。
【０２６７】
ここで、計算機システムが図２８に示す状態である場合におけるシミュレーション結果について具体的に説明する。
【０２６８】
例えば、対処策として、ＨＬ−ＶＶＯＬ１（ＶＨＤ１）の容量を３０ＧＢ削減して４０ＧＢとする場合には、ＨＬＰ１の使用容量は６０ＧＢとなり、空き容量は４０ＧＢとなる。したがって、危険度を再計算すると、乖離度は、（９０-４０）／４０＝１．２５となり、猶予時間は、４０／２＝２０となり、結果として、危険度は、「安全」となる。
【０２６９】
また、対処策として、ＨＬ−ＶＶＯＬ２をＨＬＰ２へマイグレーションする場合には、ＨＬＰ１の使用容量は、９０−２０＝７０ＧＢとなり、空き容量は、３０ＧＢとなる。したがって、危険度を再計算すると、（６０-３０）／３０＝１となり、猶予時間は、３０／２＝１５となり、結果として、危険度は、「安全」となる。また、ＨＬＰ２の使用容量は、１０＋２０＝３０ＧＢとなり、空き容量は、７０ＧＢとなる。したがって、危険度を再計算すると、（７０-７０）／７０＝１となり、猶予時間は、７０／２＝３５となり、結果として、危険度は、「安全」となる。
【０２７０】
また、対処策として、ＶＭ２を削除する場合には、ＨＬＰ１の使用容量は７０ＧＢとなり、空き容量は３０ＧＢとなる。したがって、危険度を再計算すると、乖離度は、（９０-３０）／３０＝３となり、猶予時間は、３０／２＝１５となり、結果として、危険度は、「安全」となる。
【０２７１】
また、ＨＬＰ１の容量を５０ＧＢ拡張する場合には、ＨＬＰ１の空き容量は６０ＧＢとなる。したがって、危険度を再計算すると、乖離度は、（９０-６０）／６０＝０．５となり、猶予時間は、６０／２＝３０となり、結果として、危険度は、「安全」となる。
【０２７２】
以上、いくつかの実施例を説明したが、これは、本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。すなわち、本発明は、他の種々の形態でも実施する事が可能である。
【符号の説明】
【０２７３】
１００：管理サーバ、１２０：管理プログラム、２００：物理サーバ、２２０：サーバレベルプール、３００：ストレージシステム、３３０：ストレージレベルプール
【図１】
0005756240.tif 000002
【図２】
0005756240.tif 000003
【図３Ａ】
0005756240.tif 000004
【図３Ｂ】
0005756240.tif 000005
【図４Ａ】
0005756240.tif 000006
【図４Ｂ】
0005756240.tif 000007
【図５Ａ】
0005756240.tif 000008
【図５Ｂ】
0005756240.tif 000009
【図６Ａ】
0005756240.tif 000010
【図６Ｂ】
0005756240.tif 000011
【図７Ａ】
0005756240.tif 000012
【図７Ｂ】
0005756240.tif 000013
【図８Ａ】
0005756240.tif 000014
【図８Ｂ】
0005756240.tif 000015
【図９】
0005756240.tif 000016
【図１０】
0005756240.tif 000017
【図１１】
0005756240.tif 000018
【図１２】
0005756240.tif 000019
【図１３】
0005756240.tif 000020
【図１４】
0005756240.tif 000021
【図１５】
0005756240.tif 000022
【図１６】
0005756240.tif 000023
【図１７】
0005756240.tif 000024
【図１８】
0005756240.tif 000025
【図１９】
0005756240.tif 000026
【図２０】
0005756240.tif 000027
【図２１】
0005756240.tif 000028
【図２２】
0005756240.tif 000029
【図２３】
0005756240.tif 000030
【図２４】
0005756240.tif 000031
【図２５】
0005756240.tif 000032
【図２６】
0005756240.tif 000033
【図２７】
0005756240.tif 000034
【図２８】
0005756240.tif 000035