(57)【特許請求の範囲】
【請求項１】
仮想ハードディスクを備える仮想サーバを仮想的に構成する物理サーバと接続し、
前記仮想サーバが用いる、前記仮想ハードディスク上の第１のファイルシステムの使用容量を取得する使用容量取得部と、
前記第１のファイルシステムに対応する仮想ハードディスクファイルのファイルサイズを取得するファイルサイズ取得部と、
前記使用容量と前記ファイルサイズとの差に基づいて前記仮想ハードディスクファイルの最適化ファイルサイズを算出する算出部と、
前記仮想ハードディスクファイルは、前記物理サーバ上の管理ＯＳが管理する第２のファイルシステムに含まれ、前記第１のファイルシステムの使用容量と前記最適化ファイルサイズとから、前記第２のファイルシステムの容量限界に達する期日を見積もり、前記最適化ファイルサイズに基づいて前記仮想ハードディスクファイルを最適化するか否かを決定する最適化決定部を備えることを特徴とする管理サーバ。
【請求項２】
前記最適化決定部は、前記第１のファイルシステムの前記使用容量の履歴から、最適化後に前記仮想ハードディスクファイルが所定サイズ拡張するまでの時間を見積もることを特徴とする請求項１記載の管理サーバ。
【請求項３】
前記最適化決定部は、見積もった前記拡張するまでの時間と前記最適化サイズとに基づいて前記仮想ハードディスクファイルを最適化するか否かを決定することを特徴とする請求項２記載の管理サーバ。
【請求項４】
前記算出部は、前記仮想サーバが前記仮想ハードディスクファイルを最後に使用した時刻の前記第１のファイルシステムの前記使用容量と、前記仮想ハードディスクファイルの現在の前記ファイルサイズとに基づいて前記最適化サイズを算出することを特徴とする請求項１記載の管理サーバ。
【請求項５】
前記算出部は、第１の仮想ハードディスクファイルと、第１の仮想ハードディスクファイルから生成された第２の仮想ハードディスクファイルとを含み、前記算出部は、前記第１の仮想ハードディスクファイルに対応するファイルシステムの使用容量と、前記第２の仮想ハードディスクファイルのファイルサイズに基づいて前記第２の仮想ハードディスクの前記最適化サイズを算出することを特徴とする請求項１記載の管理サーバ。
【請求項６】
前記最適化決定部は、前記第２のファイルシステムの縮小目標サイズと前記第２のファイルシステムが含む一以上の前記仮想ハードディスクファイルの前記最適化サイズに基づいて、最適化すると決定した前記仮想ハードディスクファイルの合計が前記縮小目標サイズよりも大きくなるように前記仮想ハードディスクファイルを最適化するか否かを決定することを特徴とする請求項１記載の管理サーバ。
【請求項７】
仮想ハードディスクを備える仮想サーバを仮想的に構成する物理サーバと接続した管理サーバにおける管理方法であって、前記管理サーバは、
前記仮想サーバが用いる、前記仮想ハードディスク上の第１のファイルシステムの使用容量を取得し、
前記第１のファイルシステムに対応する仮想ハードディスクファイルのファイルサイズを取得し、
前記使用容量と前記ファイルサイズとの差に基づいて前記仮想ハードディスクファイルの最適化ファイルサイズを算出し、
前記仮想ハードディスクファイルは、前記物理サーバ上の管理ＯＳが管理する第２のファイルシステムに含まれ、前記第１のファイルシステムの使用容量と前記最適化ファイルサイズとから、前記第２のファイルシステムの容量限界に達する期日を見積もり、前記最適化ファイルサイズに基づいて前記仮想ハードディスクファイルを最適化するか否かを決定することを特徴とする管理方法。
【請求項８】
仮想ハードディスクを備える仮想サーバを仮想的に構成する物理サーバと接続した管理サーバ上で実行する管理プログラムであって、
前記仮想サーバが用いる、前記仮想ハードディスク上の第１のファイルシステムの使用容量を取得するステップと、
前記第１のファイルシステムに対応する仮想ハードディスクファイルのファイルサイズを取得するステップと、
前記使用容量と前記ファイルサイズとの差に基づいて前記仮想ハードディスクファイルの最適化ファイルサイズを算出するステップと、
前記仮想ハードディスクファイルは、前記物理サーバ上の管理ＯＳが管理する第２のファイルシステムに含まれ、前記第１のファイルシステムの使用容量と前記最適化ファイルサイズとから、前記第２のファイルシステムの容量限界に達する期日を見積もるステップと、前記最適化ファイルサイズに基づいて前記仮想ハードディスクファイルを最適化するか否かを決定するステップと
を実行することを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバが用いる仮想ハードディスクの管理サーバおよび管理方法、管理プログラムに関する。
【背景技術】
【０００２】
企業の情報処理システムやデータセンタにおいて、サーバの保有台数が増大し、サーバの運用管理コストが増大している。
【０００３】
この問題を解決するため、サーバを仮想化する技術が知られている。サーバを仮想化する技術は、複数の仮想サーバを単一の物理サーバで稼動させる技術である。具体的には、物理サーバに備わるプロセッサ（ＣＰＵ）及びメモリ等のリソースが分割され、分割された物理サーバのリソースが、それぞれ複数の仮想サーバに割り当てられる。そして、単一の物理サーバで複数の仮想サーバが同時に稼動する。仮想化されたサーバは仮想的なハードウェアリソースを有し、それぞれ分割された物理サーバのリソース量が割当てられる。このように、サーバを仮想化して、物理サーバ上でまとめて稼動させることによって、サーバ台数の増大を解消している。コスト削減のためには、集約度を高める必要がある。
【０００４】
仮想ハードディスクは、仮想サーバが利用する仮想的なハードディスクであり、物理サーバ上（仮想化プログラム上）ではファイルとして扱えて運用性を高めているものがある。仮想ハードディスクファイルには、作成時に仮想ハードディスクのディスクサイズと同じサイズのファイルが作成される固定タイプの仮想ハードディスクと、仮想ハードディスク上のボリューム使用サイズに応じてファイルサイズが拡張する可変タイプの仮想ハードディスクとがある。可変タイプの場合、一度にディスクサイズ分だけ容量を確保しないため、集約度を高めることができる。
【０００５】
このような、実際の物理容量以上にサーバに容量を割当てる類似の技術にストレージの仮想化技術がある。ストレージ仮想化技術も、可変タイプの仮想ハードディスクファイルと同じように集約度を高めてコストを削減する技術である。特許文献１に記載されるように、ストレージ容量を仮想化して、実際のストレージ容量以上にストレージ容量をサーバに割当てることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2007−257317号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、性能と集約度はトレードオフの関係にあり、物理リソース以上のリソースを仮想的に割当てる場合、集約度を高めすぎると突発的な容量増大に対応できなかったり、突発的な容量増大に備えて余分に容量確保しておくと集約度を高められなかったりする。従って、仮想ハードディスクの容量管理は重要である。
【０００８】
可変タイプの仮想ハードディスク上のボリュームを使用していくと仮想ハードディスクファイルサイズが拡張する。一方、ファイル削除等によりボリューム使用を減少しても、可変タイプの仮想ハードディスクファイルは縮小しない。縮小するためには、物理サーバ上で仮想ハードディスクファイルの最適化処理を実行する。
【０００９】
物理サーバのボリュームに空きがなくなると、ボリューム上の可変タイプの仮想ハードディスクを利用する仮想サーバが全て停止してしまう。物理サーバのボリュームの容量を効率的に運用しつつ、このような状況を回避するためには、このような状況が起こらないよう定期的にメンテナンスをしたり、仮想サーバ停止の危険度を管理者に提示できたり、停止する場合に事前通知できたり、停止する状況を事前に回避したり、障害回復を講じるまでの時間を確保するといった対処が必要である。また、システムを定期メンテナンスする場合や、物理サーバのボリューム不足を検知した場合に、空きを確保すべく、管理者は、仮想ハードディスクファイルを再配置、最適化するといった対処が必要である。ところが、従来技術では、複数ある仮想ハードディスクファイルから最適化する仮想ハードディスクファイルを決定する指標がなく、管理者は、どの仮想ハードディスクファイルを対処すべきかを判断できず、対処した場合の効果も判断できなかった。したがって、対処方法の提示や対処方法の有効性を示す指標の提供が必要だった。
【００１０】
本発明の課題は、これらの情報を提示することにより、仮想ハードディスクファイルの管理を容易にすることである。
【課題を解決するための手段】
【００１１】
仮想ハードディスクファイルに対応するファイルシステムを特定し、当該ファイルシステムの使用容量サイズから当該仮想ハードディスクファイルの最適化処理後のファイルサイズを算出し、最適化処理により確保できる容量サイズを算出する。
【００１２】
具体的には、管理サーバにより実現され、その管理サーバを次のような構成を有する。管理サーバは、仮想ハードディスクを備える仮想サーバを仮想的に構成する物理サーバと接続している。管理サーバは、仮想ハードディスク上の第１のファイルシステムの使用容量を取得する使用容量取得部と、第１のファイルシステムに対応する仮想ハードディスクファイルのファイルサイズを取得するファイルサイズ取得部と、取得した使用容量とファイルサイズとの差に基づいて仮想ハードディスクファイルの最適化ファイルサイズを算出する算出部を備える。
【００１３】
他の態様として、管理サーバはさらに、最適化サイズに基づいて仮想ハードディスクを最適化するか否かを決定する最適化決定部を備える。
【００１４】
さらに他の態様として、管理サーバの最適化決定部は、第１のファイルシステムの使用容量の過去の傾向から見積もった将来の使用容量と、最適化サイズに基づいたファイルサイズとから、仮想ハードディスクファイルを最適化するか否かを決定する。
【００１５】
さらに他の態様として、仮想ハードディスクファイルは、物理サーバ上の管理ＯＳが管理する第２のファイルシステムに含まれ、管理サーバの算出部は、仮想ハードディスクファイル及び他の仮想ハードディスクファイルのファイルサイズを合算したファイルサイズと、仮想ハードディスクファイルに対応する第１のファイルシステム及び他の仮想ハードディスクファイルに対応する他のファイルシステムの使用容量を合算した使用容量との差に基づいて、最適化ファイルサイズを算出する。
【発明の効果】
【００１６】
本発明によれば、仮想ハードディスクファイルの管理者による管理を容易にするように支援できる。
【図面の簡単な説明】
【００１７】
【図１】実施例の情報処理システムの構成図である。
【図２】実施例の情報処理システムの他の構成図である。
【図３】計算機のハードウェア構成を示す図である。
【図４】管理サーバの構成の詳細を示す図である。
【図５】ファイルシステム容量テーブルの一例を示す図である。
【図６】仮想ハードディスクファイルサイズテーブルの一例を示す図である。
【図７】仮想ハードディスク構成テーブルの一例を示す図である。
【図８】ファイルシステム構成テーブの一例を示す図である。
【図９】仮想ハードディスクファイルシステム対応テーブルの一例を示す図である。
【図１０】仮想サーバOS対応テーブルの一例を示す図である。
【図１１】閾値テーブルの一例を示す図である。
【図１２】インシデントテーブルの一例を示す図である。
【図１３】対処案テーブルの一例を示す図である。
【図１４】スケジュールテーブルの一例を示す図である。
【図１５】スケジュール実行結果テーブルの一例を示す図である。
【図１６】対処決定部405による最適化処理動作のフローチャートである。
【図１７】構成管理部による、仮想ハードディスクファイルからファイルシステムを特定する処理動作を示すフローチャートである。
【図１８Ａ】対処決定部による仮想ハードディスクファイルの将来のファイルサイズを予測する処理動作を示すフローチャートである。
【図１８Ｂ】対処決定部405による仮想ハードディスクファイルの将来のファイルサイズを予測する処理動作を示すフローチャートである。
【図１９】対処決定部によるする仮想ハードディスクファイルの最適化処理時間を見積もる処理動作を示すフローチャートである。
【図２０】対処決定部による仮想ハードディスクファイルの最適化サイズを算出する処理動作を示すフローチャートである。
【図２１】対処決定部による仮想はーディスクファイル107の最適化サイズの持続度を算出する処理動作を示すフローチャートである。
【図２２Ａ】対処決定部による対処案を決定する処理動作を示すフローチャートである。
【図２２Ｂ】対処決定部による対処案を決定する処理動作を示すフローチャートである。
【図２２Ｃ】対処決定部による対処案を決定する処理動作を示すフローチャートである。
【図２３Ａ】対処決定部による対処方法を決定する処理動作を示すフローチャートである。
【図２３Ｂ】対処決定部による対処方法を決定する処理動作を示すフローチャートである。
【図２４】イベントテーブルの一例を示す図である。
【図２５】対処決定部による危険度算出処理を示すフローチャートである。
【図２６】対処決定部によるファイルシステムが容量限界に達する期日を見積もる処理を示すフローチャートである。
【図２７】入出力部による仮想ハードディスクファイルの付加情報よりファイルシステムの使用容量サイズを読み込む処理を示すフローチャートである。
【図２８】構成管理部による仮想ハードディスクファイルの付加情報にファイルシステムの使用容量サイズを記憶する処理を示すフローチャートである。
【図２９】入出力部が出力する管理画面の一例である。
【図３０】複製関連テーブルの一例を示す図である。
【図３１】構成管理部による複製関係テーブル生成処理を示すフローチャートである。
【図３２】性能管理部による仮想ハードディスクファイルに関連するファイルシステムの使用容量サイズを応答する処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を説明する。
【実施例１】
【００１９】
実施例１として、次のような管理サーバを開示する。管理サーバは、仮想ハードディスクを備える仮想サーバを仮想的に構成する物理サーバと接続している。管理サーバは、仮想サーバが用いる、仮想ハードディスク上のファイルシステムの使用容量を取得し、そのファイルシステムに対応する仮想ハードディスクファイルのファイルサイズを取得する。取得した使用容量とファイルサイズとの差に基づいて仮想ハードディスクファイルの最適化ファイルサイズを算出する。この最適化サイズに基づいて仮想ハードディスクを最適化するか否かを決定する。
【００２０】
仮想ハードディスクを最適化するか否かを決定する際に、ファイルシステムの使用容量の過去の傾向から見積もった将来の使用容量を用いる。また、最適化ファイルサイズは、仮想ハードディスク上の全てのファイルシステムの使用容量の合計と、複数のファイルシステムに対応する仮想ハードディスクファイルのファイルサイズとの差を用いる。
【００２１】
図１は、本実施例における管理サーバを含む情報処理システムの構成図である。情報処理システムは、物理サーバ100と、管理サーバ110と、管理端末114とから構成されている。物理サーバ100と、管理サーバ110と、管理端末114は、ネットワーク115を介して相互に接続されている。
【００２２】
物理サーバ100は、管理サーバ110の管理対象となる計算機である。物理サーバ100は、サーバ仮想化プログラム109と、複数の仮想サーバ101と、管理OS102を備えている。
【００２３】
サーバ仮想化プログラム109は、物理サーバ100上に後述する仮想サーバ101を仮想的に実現するためのプログラムである。ハイパーバイザと呼ばれるプログラムは、仮想化プログラム101に属する。仮想サーバ101は、物理サーバ100上に実現された仮想的な計算機環境である。Virtual MachineやLPARと呼ばれるものは、仮想サーバ101に属する。なお、仮想サーバ101は、仮想的な計算機環境であれば用途を限定せず、サーバ用途であっても、クライアント用途であってもよい。特に、クライアント用途であれば、頻繁にOSをシャットダウンするため、シャットダウンしている間に仮想ハードディスクを最適化できる。
【００２４】
仮想サーバ101は、ゲストOS103を備えている。ゲストOS103は、一般的なOSまたはサーバ仮想化に特化して変更されたOSであって、仮想サーバ101上で稼動する。例えば、Windows(登録商標)やLinux(登録商標)などが稼動する。ゲストOS103は、ファイルシステム（FS）105と、仮想ハードディスク（VHD）106と、インタフェース（I/F）104と、性能提供部117と、構成提供部118を備える。
【００２５】
ファイルシステム105は、一般的なOSのファイルシステムであって、後述する仮想ハードディスク106上に構築される。
【００２６】
仮想ハードディスク106は、サーバ仮想化プログラム109によって実現された仮想的なディスクデバイスである。仮想ハードディスク106は、ゲストOS103からはディスクデバイスとして認識される。一方、仮想ハードディスクファイルにより仮想ハードディスクを構成する場合、仮想ハードディスク106は管理OS102上から仮想ハードディスクファイル107として認識される。仮想ハードディスクファイル107以外にも、物理サーバの有するハードディスク311(図3)上の論理ボリュームを直接仮想サーバ101の仮想ハードディスク106とする方式や、ストレージ装置122(図2)のLU（Logical Unit）を仮想ハードディスクとする方式もある。
【００２７】
インタフェース104は、ゲストOS103が管理する情報を取得し設定するインタフェースである。ゲストOS103を介して、後述する性能提供部117や構成提供部118の情報を取得したり、設定したりできる。また、インタフェース104を介して、ゲストOSに対して処理を要求したり、処理結果の応答を受信したりできる。
【００２８】
性能提供部117は、ゲストOS103の管理する性能情報を提供する処理部である。ゲストOS103の管理する性能情報とは、一般的なOSが提供する性能情報であり、例えば、CPU使用率やメモリ使用率、ファイルシステムのトータルの容量サイズや使用サイズや空きサイズといった情報である。
【００２９】
構成提供部118は、ゲストOSの管理する構成情報を提供する処理部である。ゲストOS103の管理する構成情報とは、一般的なOSが提供する構成情報であり、例えば、仮想サーバ101に関するハードウェア構成やソフトウェア構成、その他のコンポーネント自体の情報やコンポーネント間の関係情報を示す。具体的には、後述するファイルシステム構成テーブル407のファイルシステム105に関する情報などがこれに相当する。
【００３０】
管理OS102は、サーバ仮想化プログラム109と協調して、仮想サーバ101を管理するためのOSである。VMware(登録商標)における「Service Console」、Hyper-V(登録商標)における「Root Partition」、Xen(登録商標)における「Domain-0」、Virtage(登録商標)における「Shadow LPAR」がこれに該当する。
【００３１】
管理OS102は、インタフェース111と、最適化処理部112と、性能提供部119と、構成提供部120を備えている。
【００３２】
インタフェース111は、管理OSの情報を取得設定したり、管理OSへ処理要求を出したり応答を受信したりするインタフェースである。後述する性能提供部119と構成提供部120の情報の取得や設定はインタフェース111を介して行う。また、後述する最適化処理部への要求や応答はインタフェース111を介して行う。なお、ゲストOS上のプログラムと連携したりインタフェース104と連携したりして、ゲストOS上の構成提供部118や性能提供部117が管理する情報を、インタフェース111を介して取得できてもよい。
【００３３】
最適化処理部112は、後述する仮想ハードディスクファイル107の最適化処理を実行する処理部である。ここで、最適化処理とは、可変タイプの仮想ハードディスクファイル107について、不使用領域を解放してファイルサイズを縮小する処理である。最適化処理部112は、最適化処理要求を受信すると、要求のあった仮想ハードディスクの最適化処理を実行する。そして、最適化処理部112は、最適化処理が終了すると最適化処理結果を応答する。
【００３４】
性能提供部119は、管理OS102の管理する性能情報を提供する処理部である。物理サーバ101の性能情報や、サーバ仮想化プログラム109が提供する性能情報を提供する。ここでいう性能情報には、物理サーバ101の計算リソース（CPU301のクロック周波数やメインメモリ303の容量、HDDインタフェース306の帯域幅、LANインタフェースの帯域幅）を仮想サーバ101へ割当てた量である。また、後述するファイルシステム108のトータル容量サイズや、使用容量サイズ、空き容量サイズも含まれる。さらに、ファイルシステム108やファイルシステム113上で管理されている後述する仮想ハードディスクファイル107のファイルサイズやファイルの最大拡張サイズや仮想ハードディスクを使用しているか否かを示す情報なども含む。
【００３５】
構成提供部120は、管理OS102の管理する構成情報を提供する処理部である。物理サーバ101のハードウェア構成情報やソフトウェア構成情報などのコンポーネントの情報やコンポーネント間の関係情報を提供する。また、サーバ仮想化プログラム109が仮想サーバ101や管理OS111に提供する仮想的なハードウェア構成情報やソフトウェア構成情報などのコンポーネントの情報やコンポーネント間の関係情報を提供する。
【００３６】
構成提供部120が提供する情報には、例えば、後述する仮想ハードディスク構成テーブル412に示すような情報や、後述するファイルシステム構成テーブル407のファイルシステム108やファイルシステム113に関する情報などがこれに相当する。
【００３７】
管理OS102は、ファイルシステム108を備える。ファイルシステム108は、ファイルを管理しており、通常のファイルシステムであってもサーバ仮想化特有に設計変更されたファイルシステムであってもよい。ファイルシステム108は、複数の仮想ハードディスクファイル107を備えている。
【００３８】
仮想ハードディスクファイル107は、仮想的なハードディスクとファイルシステム108からはファイルとして管理される。一方、仮想サーバ101にマウントして起動すると、サーバ仮想化プログラム109の処理によって、仮想サーバ101からはハードディスク(仮想ハードディスク106)として利用できる。
【００３９】
仮想ハードディスクファイル107には、固定タイプと可変タイプとがある。固定タイプの仮想ハードディスクファイル107であると、作成時に、使用容量によらず、仮想ハードディスク106のトータルディスク容量サイズ分のファイルサイズの仮想ハードディスクファイルが作成される。一方、可変タイプの仮想ハードディスクファイル107であると、作成時に、使用容量のサイズのファイルとして生成され、仮想ハードディスク106のトータルディスク容量サイズ分のファイルサイズを確保せず、仮想ハードディスク106のディスク容量の使用が増加するとそれに応じて仮想ハードディスクファイル107のファイルサイズを拡張する。このとき、仮想ハードディスク106の使用容量サイズが減少しても、そのままでは仮想ハードディスクファイル107は縮小せず、実際の使用容量サイズに合わせて仮想ハードディスクファイル107を縮小させるためには、仮想ハードディスクファイル107をデフラグする最適化処理と呼ばれる処理を実行しなければならない。
【００４０】
図2は、本実施例の情報処理システムの他の構成図である。図1に示した情報処理システムとの違いは以下の点である。仮想ハードディスクファイル107を含むファイルシステム113を、複数の物理サーバ100から共有ファイルシステムとして用いられるように、複数の物理サーバ100のいずれからもネットワーク124を介してアクセスできるストレージ装置122内に有するように構成した情報処理システムである。なお、ネットワーク124は、SANでもIPネットワークもCEE（Converged Enhanced Ethernet(登録商標)）であってもよい。でもよい。
【００４１】
物理サーバ100や管理サーバ110は、一般的な計算機である。図3に、そのような計算機300のハードウェア構成例を示す。計算機300は、CPU301、メモリコントローラ302、メインメモリ303、ホストバスアダプター（HBA）304、ハードディスクドライブインタフェース(HDD I/F)306、ディスプレイインタフェース307、入力インタフェース308、LAN（Local Area Network）インタフェース309をバス314で接続した構成を有する。HBA304は、SAN（Storage Area Network）スイッチ305やネットワーク124を介して、たとえばストレージ装置122に接続する。LAN I/F309は、LANスイッチ310を介して、又は直接にネットワーク115に接続する。HDD I/F306は、HDD（Hardware Disc Drive）311に接続する。図1の物理サーバ100では、ファイルシステム108をHDD311に構成するので、物理サーバ100は、ハード的には、このHDD I/F306を介してファイルシステム108にアクセスする。ディスプレイインタフェース307は、出力装置としてのディスプレイ装置312に接続する。入力インタフェース308は、各種の入力デバイス313に接続する。
【００４２】
管理サーバ110は、物理サーバ100、仮想サーバ101、図示していないがこれらに接続するストレージ装置、物理サーバ100や仮想サーバ101から構成される情報処理システムを運用管理するための計算機である。
【００４３】
図4は、管理サーバ110の構成の詳細を示す図である。管理サーバ110は、構成管理部401と、性能管理部402と、スケジュール管理部403と、入出力部404と、対処決定部405と、イベント管理部419と、記憶部406と、を備える。図4に示す構成管理部401、性能管理部402、スケジュール管理部403、入出力部404、対処決定部405、イベント管理部419は、CPU301がプログラムをメインメモリ303上に読み込むことにより、実現可能である。記憶部406は、ハードディスク311などにより実現可能である。
【００４４】
なお、本実施例では、構成管理部401と、性能管理部402と、スケジュール管理部403と、入出力部404と、対処決定部405と、イベント管理部419と、記憶部406を管理サーバ上の構成部であると示したが、これに限定せず、管理OS102や、サーバ仮想化プログラム109上、物理サーバ100上や、ストレージ装置122上に構成してもよい。
【００４５】
またこれらの構成部の一部または全てを、管理サーバや物理サーバ100、ストレージ装置122のハードウエアとして実現したり、管理サーバや物理サーバ100、ストレージ装置122上で稼働するファームウエア、ソフトウエア、プログラムで実現することも可能である。またこれらの構成部の一部または全てを、管理OS102やサーバ仮想化プログラム109上で稼働するプログラムとして実現してもよい。プログラムであれば、当該プログラムを格納した記憶媒体で提供し、管理サーバや物理サーバ100、ストレージ装置122に記憶媒体を接続してインストールし実行することも可能であるし、管理OS102やサーバ仮想化プログラム109上で稼働するプログラムとしてインストールして実行することも可能である。記憶媒体を別のハードウエアと接続し、所望のサーバやストレージ装置にインストールして実行させることも可能である。
【００４６】
構成管理部401は、管理サーバ110の管理対象の構成情報を管理する処理部である。構成情報とは、いわゆるハードウェア構成やソフトウェア構成、システム構成が含まれる。構成管理部401は、後述するファイルシステム構成テーブル407や仮想ハードディスク構成テーブル412を管理する。
【００４７】
性能管理部402は、管理サーバ110の管理対象の性能情報を管理する処理部である。性能情報とは、稼動情報や性能指標を含む。性能管理部402は、後述する仮想ハードディスクファイルサイズテーブル408やファイルシステム容量テーブル413を管理する。
【００４８】
スケジュール管理部403は、管理サーバ110の管理対象上で実行する処理の実行スケジュールを管理したり、スケジュール実行した処理の実行結果を管理したりする処理部である。実行予定のスケジュールは後述するスケジュールテーブル409で管理し、実行結果は後述するスケジュール実行結果テーブル410で管理する。
【００４９】
入出力部404は、管理サーバ110への入出力を制御する処理部である。
【００５０】
対処決定部405は、管理サーバ110の管理対象の障害回復のための対処方法を決定したり、将来的に障害が発生することが見込まれる管理対象に対してその原因の除去を行う対処方法を決定したりする。また、対処決定部405は、管理サーバ110に接続して管理対象を管理する管理者（管理端末114）に対して、対処の必要性を提示したり、対処方法を提示したりして、対処を決定させるのに必要となる情報を提供する。さらに、管理対象の障害発生を検知して管理者に通知したり、障害発生を予兆検知したりする。
【００５１】
イベント管理部419は、イベント発生を検知して、後述するイベントテーブル418に記憶したり、イベント取得要求に従いイベントテーブル418に記憶されたイベント情報を読みとり応答したりする処理部である。
【００５２】
記憶部406は、管理サーバの管理する情報を記憶する領域である。記憶部406は、ファイルシステム構成テーブル407と、仮想ハードディスクファイルサイズテーブル408と、スケジュールテーブル409と、スケジュール実行結果テーブル410と、閾値テーブル411と、仮想ハードディスク構成テーブル412と、ファイルシステム容量テーブル413と、仮想サーバOS対応テーブル414と、仮想ハードディスクファイルシステム対応テーブル415と、対処案テーブル416と、インシデントテーブル417とイベントテーブル418とを備える。なお、記憶部406に記憶するこれらのテーブルは一例としてテーブル構造として示しているに過ぎず、いずれの表現方式であってもよい。
【００５３】
ファイルシステム構成テーブ407は、ファイルシステム105やファイルシステム108、ファイルシステム113に関する構成情報を管理するテーブルである。図8は、ファイルシステム構成テーブ407の一例を示す図である。ファイルシステム構成テーブル407は、ファイルシステム欄801と、ホスト名欄802と、ストレージインタフェース(ハードディスクI/F)欄803と、ディスクデバイス(ディスクドライブ)欄804と、を備えている。ファイルシステム構成テーブル407の各レコードには、ファイルシステム105、ファイルシステム108、ファイルシステム113の構成関係を記憶している。
【００５４】
ファイルシステム欄801には、ファイルシステムを識別する識別情報を記憶している。識別情報であれば、いずれの書式であってもよい。ホスト名欄802には、ファイルシステム欄801に記憶するファイルシステムを有するOSのホスト名を記憶する。例えば、ファイルシステム欄801で特定されるファイルシステムがファイルシステム105であれば、ホスト名欄802にはゲストOS103のホスト名を記憶する。また、ファイルシステム欄801で特定されるファイルシステムがファイルシステム107であれば、ホスト名欄802には管理OS102のホスト名を記憶する。なお、OSの識別子であれば、ホスト名に限定せず、いずれの識別子であってもよい。
【００５５】
ストレージインタフェース欄803には、ディスクデバイス欄804で特定されるディスクデバイスが接続するハードディスクインタフェース306の識別情報を記憶する。具体的には、コントローラ種別、コントローラ番号などを記憶する。ディスクデバイス欄804には、ファイルシステム欄801で特定されるファイルシステムが構築されているディスクデバイスの識別子を記憶する。ファイルシステム欄801で特定されるファイルシステムがファイルシステム105であれば、仮想ハードディスク106の識別子をディスクデバイス欄804に記憶する。
【００５６】
仮想ハードディスクファイルサイズテーブル408は、仮想ハードディスクファイル107および仮想ハードディスク106の性能情報を記憶するテーブルである。仮想ハードディスクファイルサイズテーブル408の各レコードには、ある時刻における仮想ハードディスクの性能情報を記憶する。図6は、仮想ハードディスクファイルサイズテーブル408の一例を示す図である。仮想ハードディスクファイルサイズテーブル408は、時刻欄601と、仮想ハードディスクファイル（VHD file）欄602と、サイズ欄603と、最大サイズ欄604ととを備えている。
【００５７】
時刻欄601は、レコードに記憶される性能情報を取得した時刻を記憶する。仮想ハードディスクファイル欄602には、仮想ハードディスクファイル107を識別する情報を記憶する。仮想ハードディスクファイル107を識別する情報であれば、いずれの情報であってもよく、仮想ハードディスクファイル107を管理するための内部的な識別子であっても、仮想ハードディスクファイル107に付与された名称であってもよい。
【００５８】
サイズ欄603には、仮想ハードディスクファイル107のファイルサイズを記憶する。最大サイズ欄604には、仮想ハードディスクファイル107のファイルサイズの上限値を記憶する。仮想ハードディスクファイル107が可変タイプのとき、この上限値を超えてファイルサイズを拡張できない。固定タイプのときは、常にこの上限値とファイルサイズはほぼ同じ値である。この上限値は、仮想ハードディスクファイル107に対応する仮想ハードディスク106のディスクサイズに相当する。例えば、50GBのディスクサイズを有する可変タイプの、上限値50GB、ファイルサイズ10GBなる仮想ハードディスク106が生成されたとすると、ゲストOS103上では50GBのディスクとして認識される。
【００５９】
仮想ハードディスクファイルサイズテーブル408は、性能管理部402がインタフェース111を介して、管理OS102の性能提供部119より収集して記憶する。各レコードを、予め設定したインターバルで周期的に収集して生成する。仮想ハードディスクファイル107の場所は、管理OS102に設定されている仮想ハードディスクファイル107が格納されているディレクトリに属する仮想ハードディスクファイル107の一覧を取得し、それぞれの性能情報を収集してもよい。また、仮想ハードディスクファイル107の拡張子をキーにファイルシステム108やファイルシステム113を検索して仮想ハードディスクファイル107の一覧を取得し、それぞれの性能情報を収集してもよい。さらに、ファイルシステム108やファイルシステム113に属するファイルの内容やヘッダ情報をもとに、仮想ハードディスクファイル107を検索して、それぞれの仮想ハードディスクファイル107の性能情報を取得してもよい。
【００６０】
スケジュールテーブル409は、管理対象上でスケジュール実行する処理動作を記憶するテーブルである。ここでは、例えば、仮想ハードディスクファイル107の最適化処理スケジュールや、仮想サーバ101の起動スケジュールを記憶している。スケジュールテーブル409の各レコードには、処理スケジュールをそれぞれ記憶している。
【００６１】
図14は、スケジュールテーブル409の一例を示す図である。スケジュールテーブル409は、スケジュール欄1401と、開始時刻欄1402と、終了見積時刻欄1403と、サーバ欄1404と、コマンド欄1405とを備えている。
【００６２】
スケジュール欄1401には、スケジュール実行する処理を識別する情報を記憶している。開始時刻欄1402には、スケジュール実行する処理の実行開始時刻を記憶している。終了見積時刻欄1403には、スケジュール実行する処理の実行終了時刻の見積時刻を記憶している。サーバ欄1404には、スケジュール実行する処理の実行ホストを識別する情報を記憶している。コマンド欄1405には、スケジュール実行する処理の処理内容を記憶している。ここでは、具体的な最適化処理のコマンドや最適化処理対象の仮想ハードディスクファイル107、仮想サーバ101の起動コマンドや起動する仮想サーバ101を記憶している。
【００６３】
スケジュールテーブル409の内容は、管理者が入力しても、処理部が入力してもよい。図16では、対処決定部405がスケジュール管理部403を通してスケジュールを登録する処理動作を示す（後述するためここでは説明を省略する）。
【００６４】
スケジュール実行結果テーブル410は、管理対象上でのスケジュール実行処理の実行結果を記憶するテーブルである。スケジュール実行結果テーブル410の各レコードには、スケジュール実行結果のログを記憶している。
【００６５】
図15は、スケジュール実行結果テーブル410の一例を示す図である。スケジュール実行結果テーブル410は、スケジュール結果欄1501と、スケジュール欄1502と、開始時刻欄1503と、終了時刻欄1504と、実行結果状態欄1505とを備えている。スケジュール結果欄1501には、スケジュール実行結果を識別する情報を記憶する。スケジュール欄1502には、スケジュールを識別する情報を記憶する。スケジュールテーブル409のスケジュール欄1401に対応して記憶する。開始時刻欄1503には、スケジュール実行を開始した時刻を記憶する。終了時刻欄1504には、スケジュール実行を終了時した時刻を記憶する。実行結果状態欄1505には、スケジュール実行結果の状態を記憶する。スケジュール実行が成功した場合は「Success」、失敗した場合は「Fail」を記憶する。スケジュール実行結果テーブル410の内容は、スケジュール管理部403がスケジュール実行した結果に基づき入力する。
【００６６】
閾値テーブル411は、条件と条件を満たしたときのアクションを記憶するテーブルである。閾値テーブル411の各レコードには、条件とアクションのペアを記憶している。
【００６７】
図11は、閾値テーブル411の一例を示す図である。閾値テーブル411は、閾値ID欄1101と、ターゲット欄1102と、条件欄1103と、アクション欄1104を備えている。閾値ID欄1101には、各条件とアクションの組を識別する情報を記憶している。ターゲット欄1102には、閾値判定する対象を識別する情報を記憶している。条件欄1103には、閾値判定する条件を記憶している。アクション欄1104には、閾値判定した結果、条件を満たした場合に実行されるアクションを記憶している。閾値テーブル411のターゲット、条件、アクションは、ここではあらかじめ管理者が入力するものとする。
【００６８】
仮想ハードディスク構成テーブル412は、仮想ハードディスクファイル107の構成情報を記憶するテーブルである。仮想ハードディスク構成テーブル412の各レコードには、仮想ハードディスクファイル107ごとの構成情報を記憶する。
【００６９】
図7は、仮想ハードディスク構成テーブル412の一例を示す図である。仮想ハードディスク構成テーブル412は、仮想ハードディスクファイル（VHD file）欄701と、仮想サーバ（VM）欄702と、ストレージインタフェース(ハードディスクI/F)欄703と、タイプ欄704と、使用中フラグ欄705と、サーバ欄706と、ファイルシステム（FS）欄707と、パス（Path）欄708とを備える。
【００７０】
仮想ハードディスクファイル欄701には、仮想ハードディスクファイル107を識別する情報を記憶する。仮想サーバ702には、仮想サーバ101を識別する情報を記憶する。仮想ハードディスクファイル欄701で特定される仮想ハードディスクファイル107に関連付けられている仮想サーバ101を記憶している。具体的には、マウントして起動している仮想サーバ101や、マウントしているが起動していない仮想サーバ101を記憶している。ストレージインタフェース欄703には、仮想サーバ101の有する仮想的なハードディスクインタフェース306を識別する情報を記憶する。仮想サーバ欄702で特定される仮想サーバ101の有するハードディスクインタフェース306であって、仮想ハードディスクファイル欄701で特定される仮想ハードディスクファイル107のマウント先のハードディスクインタフェース306である。
【００７１】
タイプ欄704には、仮想ハードディスクファイル欄701で特定される仮想ハードディスクファイル107のタイプを記憶する。具体的には、可変タイプや、固定タイプである。可変タイプとは、仮想ハードディスクファイル生成時に仮想ハードディスク106のトータル容量分のファイルサイズを確保せず、仮想ハードディスク106の使用サイズが増えるとそれに応じて仮想ハードディスクファイル107のサイズを拡張させるタイプである。固定タイプとは、仮想ハードディスクファイル生成時に仮想ハードディスク106のトータル容量分のファイルサイズを確保するタイプである。ここでは、可変タイプを「Dynamic」、固定タイプを「Fix」として表現している。
【００７２】
使用中フラグ705には、仮想ハードディスクファイル107が使用中か否かを示すフラグを記憶する。仮想ハードディスクファイル107を使用中(True)とは、例えば、仮想サーバ101が仮想ハードディスクファイル107をマウントした状態で起動している状態である。逆に、仮想ハードディスクファイル107を不使用中(False)とは、仮想ハードディスクファイル107をマウントする仮想サーバ101がない状態や、マウントされていてもマウントする仮想サーバ101が起動していない状態である。
【００７３】
サーバ欄706には、仮想ハードディスクファイル107を格納している物理サーバ100の識別情報を記憶する。識別情報であればいずれの情報でもよく、ここでは物理サーバ100のホスト名を記憶する。
【００７４】
ファイルシステム欄707には、仮想ハードディスクファイル107を格納しているファイルシステム108やファイルシステム113を識別する情報を記憶する。例えば、「p-Serv01」というホスト名の物理サーバ100上の「FS 0」で識別されるファイルシステム108に「VHD file 1」で識別される仮想ハードディスクファイル107が格納されている場合、仮想ハードディスク欄701には「VHD file 1」、サーバ欄706には「p-Serv01」、ファイルシステム欄707には「FS 0」と記憶される。
【００７５】
パス欄708には、仮想ハードディスクファイル107の格納先のディレクトリパスを記憶する。
【００７６】
ファイルシステム容量テーブル413は、ファイルシステムの性能情報を記憶するテーブルである。図5は、ファイルシステム容量テーブル413の一例を示す図である。ファイルシステム容量テーブル413の各レコードには、ある時刻におけるファイルシステムの性能情報を記憶する。ファイルシステム容量テーブル413は、時刻欄501と、OS欄502と、ファイルシステム欄503と、トータル容量サイズ(Total)欄504と、使用容量サイズ(Used)欄505と、空き容量サイズ(Free)欄506とを備える。
【００７７】
時刻欄501には、ファイルシステムの性能情報を取得した時刻を記憶する。
【００７８】
OS欄502には、ファイルシステムを管理するOSの識別情報を記憶する。識別情報としてはホスト名などがある。ホスト名以外の識別情報であってもよい。ここでは、ファイルシステム105であればゲストOS103のホスト名を記憶し、ファイルシステム108であれば、管理OS102のホスト名を記憶する。ファイルシステム欄503には、ファイルシステムの識別情報を記憶する。
【００７９】
トータル容量サイズ欄504には、OS欄502とファイルシステム欄503で特定されるファイルシステムの全体容量のサイズを記憶する。使用容量サイズ欄505の値と空き容量サイズ欄506の値の合計がトータル容量サイズ欄504の値となる。使用容量サイズ欄505には、OS欄502とファイルシステム欄503で特定されるファイルシステムのうち、使用中のサイズを記憶する。空き容量サイズ欄506には、OS欄502とファイルシステム欄503で特定されるファイルシステムのうち、空きサイズを記憶する。
【００８０】
ファイルシステム容量テーブル413の値は、性能管理部402があるインターバルで周期的に収集する。性能管理部402は、インタフェース104を介して性能提供部117の情報を収集したり、インタフェース104を介して性能提供部119の情報を収集したりする。
【００８１】
仮想サーバOS対応テーブル414は、仮想サーバ101と仮想サーバ101上で稼動するゲストOS103との対応関係を記憶するテーブルである。図10は、仮想サーバOS対応テーブル414の一例を示す図である。仮想サーバOS対応テーブル414は、仮想サーバ（VM）欄1001と、ホスト名欄1002とを備える。
【００８２】
仮想サーバ欄1001には、仮想サーバ101を識別する情報を記憶する。仮想サーバ101を識別する情報であればいずれの情報でもよく、サーバ仮想化プログラム109が内部的にもつ仮想サーバ101ごとの識別情報（VMID）であっても、管理者が仮想サーバ101に対して付与した名称（VM名）でもよい。ホスト名欄1002には、ゲストOS103を識別する情報を記憶する。ゲストOS103を識別する情報であればいずれの情報でもよく、ゲストOS103に対して管理者や使用者が付与した名称であってもよく、ゲストOS103が内部的に保持する識別情報であってもよい。例えば、ホスト名であっても、SIDなどであってもよい。
【００８３】
仮想サーバOS対応テーブル414の値は、管理者が対応関係を入力してもよく、構成管理部401が管理する構成情報をもとに対応関係を入力してもよい。インタフェース104を介して構成提供部118から収集したMACアドレスとゲストOS103の識別情報との対応関係と、インタフェース111から収集したMACアドレスと仮想サーバ101の識別情報の対応関係をそれぞれ収集し、MACアドレスをキーにして付き合わせることにより、ゲストOS103と仮想サーバ101の対応関係を生成可能である。また、図示してないがゲストOS103上で稼動するサービスプログラムとサーバ仮想化プログラム109との間の通信手段によって、対応関係を生成することも可能である。
【００８４】
仮想ハードディスクファイルシステム対応テーブル415は、仮想ハードディスクファイル107と、仮想ハードディスクファイル107が実現する仮想ハードディスク106上に構築されるファイルシステム105との対応関係を記憶する。仮想ハードディスクファイルシステム対応テーブル415の各レコードには、仮想ハードディスクファイル107とファイルシステム105の対応関係を記憶する。図9は、仮想ハードディスクファイルシステム対応テーブル415の一例を示す図である。仮想ハードディスクファイルシステム対応テーブル415は、仮想ハードディスクファイル(VHD file)欄901と、ファイルシステム(FS)欄902とを備える。
【００８５】
仮想ハードディスクファイル欄901は、仮想ハードディスクファイル107を識別する情報を記憶する。仮想ハードディスクファイル107を識別する情報であればいずれの情報でもよい。ファイルシステム欄902は、ファイルシステム105を識別する情報を記憶する。ファイルシステム105を識別する情報であればいずれの情報でもよい。仮想ハードディスクファイル欄901で特定される仮想ハードディスクファイル107に対応する仮想ハードディスク106上に構築されたファイルシステム105を本欄に記憶する。仮想ハードディスクファイルシステム対応テーブル415は、構成管理部401によって、後述する図17に示すフローチャートの処理を実行することにより生成する。
【００８６】
対処案テーブル416は、インシデントに対する対処案を記憶するテーブルである。ここでは主にファイルシステム108やファイルシステム113に対するインシデントに対する最適化処理を用いた対処案を記憶している。図13は、対処案テーブル416の一例を示す図である。対処案テーブル416は、対処案欄1301と、仮想ハードディスク欄1302と、最適化開始時刻欄1303と、物理サーバ欄1304と、重み欄1305と、対処可フラグ1306とを備える。
【００８７】
対処案欄1301には、対処案を識別する情報が記憶されている。仮想ハードディスク欄1302には、仮想ハードディスクファイル107を識別する情報が記憶されている。対処処理の対象を記憶している。最適化開始時刻欄1303には、対処処理の実行開始時刻を記憶する。ここでは、最適化処理の実行開始予定時刻を記憶する。物理サーバ欄1304には、物理サーバ100を識別する情報を記憶する。対処処理である最適化処理の実行ホストを指定する情報を記憶する。実際には、物理サーバ100上の最適化処理部112で最適化処理する。
【００８８】
重み欄1305には、最適化案の優先度(重み)を記憶する。目的達成のため複数の最適化案がある場合に、本欄に記憶された優先度に基づいて、対処方法を決定する。ここでは、大きな数が記憶されている対処案ほど優先度が高いとしている。対処可フラグ1306には、対処案として列挙されたもののうち、対処実行可能なものか否かを示すフラグ情報である。例えば、最適化すればファイルシステム108の空き容量サイズを確保できる仮想ハードディスクファイルの一覧はあるものの、最適化処理すると物理サーバの負荷が高くなって実行できなくなるような対処案は、実行できない対処案とする。ここでは、対処実行可能な対処案には「True」、対処実行できない対処案には「False」と記憶している。対処案テーブル416は、対処決定部405が図16のフローチャートに示す処理動作をすることにより生成する。
【００８９】
インシデントテーブル417は、インシデントを記憶するテーブルである。ここで、インシデントとは、システム障害発生事象や、システム障害予兆検知事象が登録されている。また、一般的なインシデントよりも広く、計画されたメンテナンスの事象も登録されているものとする。インシデントテーブル417の各レコードには、インシデントおよびインシデントに対する対処状況が記憶されている。
【００９０】
図12は、インシデントテーブル417の一例を示す図である。インシデントテーブル417は、インシデントID欄1701と、登録時刻（発生時刻）欄1702と、対処期限時刻欄1703と、インシデント内容欄1704と、状況欄1705と、イベントID欄1706とを備える。
【００９１】
インシデントID欄1701には、インシデントを識別する情報を記憶している。登録時刻欄1702には、インシデントID欄1701で特定されるインシデントが登録された時刻を記憶する。登録された時刻を、インシデントが発生した時刻としている。対処期限欄1703には、インシデント欄1701で特定されるインシデントの解決期限が登録されている。インシデント内容欄1704には、インシデント欄1701で特定されるインシデントの内容を記憶している。
【００９２】
状況欄1705には、インシデントID欄1701で特定されるインシデントの状況を記憶している。状況とは、問題を検知した状況、原因分析をしている状況、対処方法を決定している状況、対処実行待ちの状況、解決済みの状況などである。イベントID欄1706には、インシデントに関連するイベントを識別する情報を記憶している。イベントID欄1706に記憶されたイベントが発行されたことをもってインシデントを登録した場合、登録したインシデントに関連付けてイベントを記憶しておく。インシデントテーブル417の値は、管理者が入力しても、対処決定部405やその他の処理部が入力してもよい。図16では対処決定部405が対処状況を変更する処理動作を説明する（後述するためここでは説明を省略する）。
【００９３】
イベントテーブル418は、管理対象が発生したイベントを管理するテーブルである。イベントテーブル418の各レコードには、発生したイベントを記憶している。ここでは、閾値テーブル411を判定した結果、発生したイベントを管理している。図24は、イベントテーブル418の一例を示す図である。イベントテーブル418は、イベントID欄2401と、閾値ID欄2402と、オブジェクト欄2403と、時刻欄2404とを備える。イベントID欄2401には、イベントを識別する情報を記憶する。閾値ID欄2402には、イベントが閾値判定により発生した場合、その判定元となった閾値条件を識別する情報を記憶する。閾値テーブル411の閾値ID欄1101に対応する形で記憶する。オブジェクト欄2403には、イベント発生元を記憶する。閾値判定の結果イベントが発生した場合は、閾値判定のターゲットを記憶する。時刻欄2404には、イベントの発生時刻を記憶する。イベントテーブル418の各情報は、イベント発生を検知して、イベント管理部419が記憶する。
【００９４】
管理端末114は、管理サーバ110の管理情報を入出力するための計算機である。管理者は、管理端末114を介して、管理情報を入出力したり、管理対象に対して処理実行を要求したりする。管理端末114は、入出力部123を備える。入出力部123は、管理者からの入力を受け付け、ネットワーク115を介して管理サーバ110に情報を入力する。また、管理サーバ110からネットワーク115を介して情報を受信し、管理者に情報を出力する。
【００９５】
図16は、対処決定部405による最適化処理動作のフローチャートを示す図である。
（１）対処決定部405は、管理端末114から最適化処理要求を受け付ける（ステップ1601）。
（２）対処決定部405は、最適化処理要求からインシデントを特定し、インシデントテーブル417のインシデント状態を対処中に変更する（ステップ1602）。
（３）対処決定部405は、ファイルシステム108またはファイルシステム113を特定する（ステップ1603）。ファイルシステム108またはファイルシステム113を、図16では、第1のファイルシステムと示す。
（４）対処決定部405は、ステップ1603で特定したファイルシステム108またはファイルシステム113に属する仮想ハードディスクファイル107群を特定する（ステップ1604）。
（５）対処決定部405は、ステップ1604で特定した仮想ハードディスクファイル107群に属するある仮想ハードディスクファイル107を特定する（ステップ1605）。
【００９６】
（６）対処決定部405は、ステップ1605やステップ1612で特定した仮想ハードディスクファイル107に対応するゲストOS103とファイルシステム105を特定する（ステップ1606）。ファイルシステム105を、図16では第2のファイルシステムと示す。ステップ1606の処理については、図17を用いて詳細に説明する。
（７）対処決定部405は、ステップ1605やステップ1612で特定した仮想ハードディスクファイル107の最適化サイズを算出する（ステップ1607）。最適化サイズとは、最適化処理によって減らせるファイルサイズである。ステップ1607の処理については図20を用いて詳細に説明する。
【００９７】
（８）対処決定部405は、ステップ1606で特定したファイルシステム105の使用容量サイズの過去の傾向からファイルシステム105の使用容量サイズの将来の値を算出する（ステップ1608）。例えば、増加傾向にある使用容量サイズの過去の履歴から将来の使用容量サイズも同じような増加傾向して算出できる。逆に、過去の使用容量サイズが減少傾向にあれば、将来の使用容量サイズも同じような減少傾向にあるとして算出できる。これらは、周期的に計測した過去の使用容量サイズをもとに一般的な線形予測の手法を用いることにより算出可能である。また、例えば、周期傾向にある使用容量サイズの過去の履歴から将来の使用容量サイズも算出できる。これは、周期的に計測した過去の使用容量サイズをもとに、一般的な周期予測の手法を用いることにより算出可能である。
【００９８】
（９）対処決定部405は、ステップ1608で算出したファイルシステム105の使用容量サイズの予測値からステップ1605やステップ1612で特定した仮想ハードディスクファイル107のファイルサイズの予測値を算出する（ステップ1609）。図18Aおよび図18Bを用いてステップ1609の処理の詳細を説明する。
（１０）対処決定部405は、ステップ1605やステップ1612で特定した仮想ハードディスクファイル107の最適化サイズの持続度を算出する（ステップ1610）。ここで、持続度とは、最適化して確保したファイルサイズがどれだけもつかを示した指標である。図21を用いてステップ1610の処理の詳細を説明する。
（１１）対処決定部405は、ステップ1604で特定した仮想ハードディスク群にステップ1605やステップ1612で特定していない仮想ハードディスク107があるかを判定する（ステップ1611）。判定の結果、あればステップ1612に進む。判定の結果、なければステップ1613に進む。
（１２）対処決定部405は、ステップ1604で特定した仮想ハードディスクファイル107群に属する次の仮想ハードディスクファイル107を特定し（ステップ1612）、ステップ1606へ処理を移す。
【００９９】
（１３）対処決定部405は、ステップ1604で特定した仮想ハードディスク群に属する仮想ハードディスク107から、最適化処理を実行する仮想ハードディスクの組合せを列挙し、対処案を列挙する（ステップ1613）。ステップ1613の処理の詳細は、図22A、図22B及び図22Cを用いて後ほど説明する。
（１４）対処決定部405は、ステップ1613で列挙した対処案が複数あれば、それぞれの対処案に優先度付けを行い、優先度に基づいて対処方法を決定する（ステップ1614）。ステップ1614の処理の詳細は、図23A及び図23Bを用いて後ほど説明する。
【０１００】
（１５）対処決定部405は、ステップ1614で決定した対処方法をスケジューラにスケジュール管理部403を通して登録する（ステップ1615）。スケジュール管理部403は、対処決定部405より登録要求を受け付けると、スケジュールテーブル409に新たなレコードを生成し、開始時刻欄1402にステップ2309で取得する最適化時刻を登録する。終了見積時刻欄1403にステップ2310で算出する終了見積時刻を登録する。コマンド欄1405には、最適化コマンド名（コマンドパスを含めてもよい）と最適化対象の仮想ハードディスクファイル107名（ディレクトリパスを含めてもよい）からなる最適化コマンドを登録する。
（１６）対処決定部405は、インシデントテーブル417のステップ1601で特定されたインシデントの状況1705を対処中に変更する（ステップ1616）。
【０１０１】
（１７）対処決定部405は、対処実行が完了したことを検知して、対処実行の効果を検証する（ステップ1617）。ここでは、ステップ1615で登録したスケジュールに対応する実行結果がスケジュール実行結果テーブル410に登録されたら、対処実行が完了したと検知する。効果の検証は、対応する閾値条件1103を閾値テーブル411から参照し、条件式を満たさなくなったか判定することにより行う。閾値条件1103の参照は、まず、インシデントテーブル417のイベントID欄1706からイベントを特定する。次に、イベントテーブル418のイベントID欄2401を検索し、一致するレコードの閾値ID欄2402を参照し、閾値IDを取得する。そして、閾値テーブル411の閾値ID欄1101を検索し、閾値IDと一致するレコードの条件欄1103を参照することにより行う。
（１８）対処決定部405は、ステップ1617で検証した結果、効果があったと判定した場合、インシデントテーブル417のステップ1601で特定されたインシデントの状況を対処済に変更する（ステップ1618）。本処理フローを終了する。
【０１０２】
図17は、構成管理部401による、仮想ハードディスクファイル107からファイルシステム105を特定する処理動作を示すフローチャートである。図16のステップ1606で対処決定部より要求を受けた構成管理部401による処理を詳細に説明した図である。
（１）構成管理部401は、仮想ハードディスクファイル107に対応するファイルシステム105を取得する要求を受け付け、要求に含まれる仮想ハードディスクファイル107を特定する（ステップ1701）。
【０１０３】
（２）構成管理部401は、仮想ハードディスクファイル107が使用中か判定する（ステップ1702）。具体的には、仮想ハードディスクファイル構成テーブル412の仮想ハードディスクファイル欄701をステップ1701で特定した仮想ハードディスクファイル107をキーにして検索し、一致したレコードの使用中フラグ欄705を参照する。使用中フラグ欄705が「True」なら使用中であり、「False」なら使用していないと判定する。判定の結果、使用中の場合はステップ1703に進む。判定の結果、使用してない場合はステップ1709に進む。
【０１０４】
（３）構成管理部401は、仮想ハードディスクファイル107の接続先である仮想サーバ101と仮想サーバ101の有する仮想的なハードディスクインタフェース306を特定する（ステップ1703）。図17では、仮想的なハードディスクインタフェース306を第1のストレージインタフェースと示す。具体的には、仮想ハードディスクファイル構成テーブル412の仮想ハードディスクファイル欄701をステップ1701で特定した仮想ハードディスクファイル107をキーにして検索し、一致したレコードの仮想サーバ欄702の値とハードディスクインタフェース欄703の値を取得する。
（４）構成管理部401は、仮想サーバ101上で稼動するゲストOS103を特定する（ステップ1704）。具体的には、ステップ1703で取得した仮想サーバ101の識別子をキーにして仮想サーバOS対応テーブル414の仮想サーバ欄1001を検索し、一致したレコードのホスト名欄1002の値を参照して、ゲストOS103を特定する。
【０１０５】
（５）構成管理部401は、ステップ1703で特定したハードディスクインタフェース（第1のストレージインタフェース）をキーにして、ゲストOS103が管理するハードディスクインタフェース（第2のストレージインタフェース）を特定する（ステップ1705）。具体的には、ステップ1704で特定したホスト名をキーにしてファイルシステム構成テーブル407のホスト名欄802を検索する。そして、一致したレコードから、ステップ1703で取得したハードディスクインタフェースの識別子をキーにしてハードディスクインタフェース欄803を検索することにより、ハードディスクインタフェースを特定する。ハードディスクインタフェースの書式が一致しなかった場合でも、インタフェースの種別（SCSIやIDEなど）や、インタフェース番号などから、一致するものを同定する。また、接続するディスクのトータル容量サイズから同定してもよい。
【０１０６】
（６）構成管理部401は、ステップ1705で特定したハードディスクインタフェースに接続するディスクデバイスを特定する（ステップ1706）。具体的には、ステップ1705でファイルシステム構成テーブル407を検索して特定したレコードのディスクデバイス欄804の値を取得して、ディスクデバイスを特定する。ここで特定したディスクデバイスが、仮想ハードディスクファイル107に対応する仮想ハードディスク106である。
【０１０７】
（７）構成管理部401は、ステップ1706で特定したディスクデバイス上に構築したファイルシステム105を特定する（ステップ1707）。具体的には、ステップ1705でファイルシステム構成テーブル407を検索して特定したレコードのファイルシステム欄801の値を取得して、ファイルシステム105を特定する。ここで特定されたファイルシステム105が、仮想ハードディスクファイル107に対応する仮想ハードディスク106上に構築されたファイルシステム105である。仮想ハードディスク106上に複数のパーティションがあり、それぞれのパーティション上にファイルシステム105を構築している場合、ここでは複数のファイルシステム105が特定される。
（８）構成管理部401は、ステップ1707で特定したファイルシステム105を要求した処理部に応答し（ステップ1708）、処理を終了する。
【０１０８】
（９）構成管理部401は、過去に仮想ハードディスクファイル107が使用状態だったことがあるかを判定する（ステップ1709）。具体的には、仮想ハードディスク構成テーブル412の過去のレコードの仮想ハードディスクファイル欄701をステップ1701で特定した仮想ハードディスクファイル107をキーに検索し、一致したレコードのうち、使用中フラグ欄705が「True」のものがあれば、使用状態だったことがあると判定し、なければ使用状態だったことがないと判定する。判定の結果、使用状態だったことがあれば、ステップ1710に進む。判定の結果、使用状態だったことがなければ、ステップ1715に進む。使用状態がないとは、例えば、仮想ハードディスクファイル107を作成したものの、いずれのサーバにも関連付けられて起動状態になっていないものであり、ファイルシステムを構築されていないと判定できる。
【０１０９】
（１０）構成管理部401は、使用中だったときの情報を参照し、仮想ハードディスクファイル107の接続先である仮想サーバ101と仮想サーバ101の有する仮想的なハードディスクインタフェースを特定する（ステップ1710）。使用中だったときの情報とは、ステップ1709で検索してヒットした、仮想ハードディスクファイル欄701が一致し、使用中フラグ欄705が「True」のレコードであって、直近に記録したレコードである。当該レコードの仮想サーバ欄702とハードディスクインタフェース欄703の値を取得して、仮想サーバ103とハードディスクインタフェース306を特定する。
【０１１０】
（１１）構成管理部401は、使用中だったときの情報を参照し仮想サーバ103に対応するゲストOS103を特定する（ステップ1711）。
【０１１１】
具体的には、仮想サーバOS対応テーブル414の過去の情報を検索し、ステップ1710で特定した仮想サーバ103をキーにして仮想サーバ欄1001で一致するレコードを特定し、当該レコードのホスト名欄1002に記憶された値を取得する。なお、仮想サーバOS対応テーブル414の過去の情報は、ステップ1710で特定した過去のレコードの登録時刻と一致または一致とみなせる（ステップ1710で特定したレコードの時刻の仮想サーバ101上で稼動しているゲストOSを特定できる範囲であればよい）範囲である必要がある。完全に時刻が一致しなければ、ステップ1710で特定したレコードの時刻前後のレコードを仮想サーバOS対応テーブル414から参照し、前後のレコードのホスト名欄1002が同じ文字列であれば、その文字列を取得してもよい。
【０１１２】
（１２）構成管理部401は、使用中だったときの情報を参照し、ハードディスクインタフェースに対応するインタフェースであって、ゲストOS103が管理するハードディスクインタフェースを特定する（ステップ1712）。具体的には、ファイルシステム構成テーブル407の過去の情報を参照し、ステップ1711で特定したホスト名をキーにして、ホスト名欄802を検索し、一致するレコードのハードディスクインタフェース欄803の内容を取得する。ここで、過去の情報とは、ステップ1711で特定したレコードの時刻と一致または一致しているとみなせる範囲である必要がある。
【０１１３】
（１３）構成管理部401は、使用中だったときの情報を参照し、ハードディスクインタフェースに接続するディスクデバイスを特定する（ステップ1713）。具体的には、ステップ1712でファイルシステム構成テーブル407を検索して特定したレコードのディスクデバイス欄407の内容を取得する。ここで特定されるディスクデバイスは、直近で仮想ハードディスクファイル107が使用されていたときの、対応する仮想ハードディスク106である。
【０１１４】
（１４）構成管理部401は、使用中だったときの情報を参照し、ディスクデバイス上のファイルシステム105を特定する（ステップ1714）。具体的には、ステップ1712でファイルシステム構成テーブル407を検索して特定したレコードのファイルシステム欄801の内容を取得する。ここで特定されるファイルシステム105は、直近で仮想ハードディスクファイル107が使用されていたときの、対応するファイルシステム105である。仮想ハードディスク106を複数のパーティションを切って、パーティション上にそれぞれファイルシステム105を構築することもあるため、ここでファイルシステム105が複数特定されることもある。特定後、ステップ1708に進む。
【０１１５】
（１５）構成管理部401は、ステップ1701で特定した仮想ハードディスクファイル107に対応するファイルシステムがないとして、要求のあった処理部に応答し（ステップ1715）、処理を終了する。
【０１１６】
図18A及び図18Bは、対処決定部405による仮想ハードディスクファイル107の将来のファイルサイズを予測する処理動作を示すフローチャートである。
（１）対処決定部405は、仮想ハードディスクファイル107の将来のファイルサイズを予測する要求を受け付ける（ステップ1801）。
（２）対処決定部405は、要求から仮想ハードディスクファイル107を特定する（ステップ1802）。
（３）対処決定部405は、仮想ハードディスクファイルサイズ予測リストを初期化する（ステップ1803）。ここで仮想ハードディスクファイル予測リストは、要求を受けた仮想ハードディスクファイル107のファイルサイズの予測値を格納するための一時的なリスト変数である。図示していないが、メインメモリ303上に格納される。一時的に記憶する領域であればリスト変数に限定せず、いずれの変数であってもよい。
【０１１７】
（４）対処決定部405は、予測終了時刻Teを特定する（ステップ1804）。ここで、予測終了時刻Teとは、仮想ハードディスクファイル107のファイルサイズを予測する終わりの時刻である。現在から予測終了時刻Teまでのファイルサイズを予測する。予測終了時刻Teは、あらかじめ定められた時間後の時刻を特定してもよいし、管理者による入力を受け付けて特定した時刻であってもよい。
（５）対処決定部405は、現在時刻の仮想ハードディスクファイル107のファイルサイズを取得する（ステップ1805）。ここでは、仮に仮想ハードディスクファイルサイズZとする。
（６）対処決定部405は、現在時刻を取得し、時刻変数Tに代入する（ステップ1806）。ここでは着目する時刻を時刻変数Tに格納しているが、これに限定しない。
【０１１８】
（７）対処決定部405は、時刻変数Tにインターバルの値を加算した値を時刻変数Tに代入する（ステップ1807）。あるインターバルの値に基づいた周期的な予測値を算出すればいずれの方法であってもよい。インターバルは、過去の仮想ハードディスクファイルのサンプリングインターバルと同じ値であっても、異なる値であってもよい。あらかじめ記憶されたインターバルを用いてもよい。
（８）対処決定部405は、時刻変数Tと予測終了時刻Teを比較する。（ステップ1808）。時刻変数Tの方が後の時刻であれば、ステップ1814に進む。時刻変数Tの方が前の時刻であれば、ステップ1809に進む。
【０１１９】
（９）対処決定部405は、ステップ1802で特定した仮想ハードディスクファイル107のタイプを判定する（ステップ1809）。具体的には、構成管理部401を介して、仮想ハードディスク構成テーブル412の仮想ハードディスクファイル欄701を検索し、ステップ1802で特定した仮想ハードディスクファイル107と一致するレコードのタイプ欄704を取得し、「Dynamic」であれば可変タイプ、「Fix」であれば固定タイプと判定する。
可変タイプであれば、ステップ1810に進む。固定タイプであれば、ステップ1815に進む。
【０１２０】
（１０）対処決定部405は、時刻変数Tの時刻におけるファイルシステム105の使用容量サイズ（X）を取得する（ステップ1810）。具体的には、ステップ1608で予測したファイルシステム105の使用容量サイズの予測値のうち、時刻変数Tの時刻の値を取得する。
【０１２１】
（１１）対処決定部405は、時刻変数Tの時刻が最適化時刻かを判定する（ステップ1811）。最適化時刻とは、ステップ1802で特定される仮想ハードディスクファイル107の最適化処理を実行する予定時刻である。管理者や処理決定部405が決定した予定時刻を用いる。また、指定されていなければ、現在時刻やデフォルトで設定された時間後の時刻を用いる。時刻変数Tの時刻が最適化時刻ならステップ1812に進む。時刻変数Tの時刻が最適化時刻でなければステップ1816に進む。
【０１２２】
（１２）対処決定部405は、時刻変数Tにおける仮想ハードディスクファイル107のファイルサイズの予測値（Y）を、ステップ1810で取得した時刻変数Tにおけるファイルシステム105の使用容量サイズ（X）と同じ値（Y=X）とする（ステップ1812）。この処理は、時刻変数Tの時刻において、仮想ハードディスクファイル107のファイルサイズ以上にファイルシステムの使用容量サイズが大きくなるため、仮想ハードディスクファイル107が拡張すると予測していることを意味している。
（１３）対処決定部405は、時刻変数Tの時刻における仮想ハードディスクファイル107のファイルサイズの予測値（Y）を仮想ハードディスクファイルサイズ予測リストに記憶し（ステップ1813）、ステップ1807に戻る。
【０１２３】
（１４）対処決定部405は、仮想ハードディスクファイルサイズ予測リストの内容を読み込み、時刻とファイルサイズの組を応答する（ステップ1814）。この処理によって、ステップ1801で要求した処理部に対して指定された仮想ハードディスクファイル107の現在から将来の時刻Teまでのファイルサイズの予測値を応答する。ステップ1814後、本処理フローを終了する。
【０１２４】
（１５）対処決定部405は、時刻変数Teまでの仮想ハードディスクファイル107のファイルサイズの予測値（Y）に、ステップ1805で取得した仮想ハードディスクファイル107のファイルサイズ（Z）を代入して、仮想ハードディスクファイルサイズ予測リストに記憶する（ステップ1815）。仮想ハードディスクファイル107が固定タイプの場合、将来にわたりファイルサイズが変わらないため、現状のファイルサイズをそのまま将来のファイルサイズとする。ステップ1815終了後、ステップ1814に進む。
【０１２５】
（１６）対処決定部405は、時刻変数Tの時刻のインターバル分ひとつ前の時刻における仮想ハードディスクファイル107のファイルサイズ（Z）を取得する（ステップ1816）。具体的には、一つ前の時刻が現在の時刻以前であれば、仮想ハードディスクファイルサイズテーブル408の仮想ハードディスクファイル欄602がステップ1802で特定した仮想ハードディスクファイルと一致するレコードを検索して、当該レコードの時刻欄601が当該一つ前の時刻のレコードのサイズ欄603を取得する。一つ前の時刻が将来の時刻であれば、仮想ハードディスクファイル予測リストを検索して、時刻が当該一つ前の時刻の組を検索して、ファイルサイズを取得する。この処理は、最適化処理が実行されることにより、時刻変数Tにおいて、仮想ハードディスクファイル107のファイルサイズが、ファイルシステム105の使用容量サイズまで縮小すると予測しているを意味している。
【０１２６】
（１７）対処決定部405は、ステップ1816で取得したファイルサイズ（Z）と、ステップ1810で取得した使用容量サイズ（X）を比較する（ステップ1817）。比較した結果、ステップ1816で取得したファイルサイズ（Z）が大きければ、ステップ1812に進む。比較した結果、ステップ1816で取得したファイルサイズ（Z）が等しいか小さければ、ステップ1818に進む。
（１８）対処決定部405は、時刻変数Tにおける仮想ハードディスクファイル107のファイルサイズ（Y）をステップ1816で取得したファイルサイズ（Z）と同じ値（Y=Z）にする（ステップ1818）。この処理は、ファイルシステムの使用容量サイズが仮想ハードディスクファイルのファイルサイズよりも大きくならないため、時刻変数Tの時刻では拡張しないと予測していることを意味している。ステップ1818の処理終了後、ステップ1813に進む。
【０１２７】
図19は、対処決定部405によるする仮想ハードディスクファイルの最適化処理時間を見積もる処理動作を示すフローチャートである。
（１）対処決定部405は、最適化処理時間算出の要求を受け付ける（ステップ1901）。
（２）対処決定部405は、ステップ1901の要求から仮想ハードディスクファイル107を特定する（ステップ1902）。
（３）対処決定部405は、ステップ1902で特定した仮想ハードディスクファイル107の最適化サイズ（X）を取得する（ステップ1903）。ステップ1903の詳細な処理動作は、図20を用いて詳細に後ほど説明する。
（４）対処決定部405は、過去の仮想ハードディスクファイルの最適化処理時間（時間Y）とそのときの最適化サイズ（サイズY）を取得する（ステップ1904）。
【０１２８】
（５）対処決定部405は、ステップ1904で取得した最適化サイズ（サイズY）と最適化処理時間（時間Y）から、ステップ1903で取得した最適化サイズ（X）の最適化処理時間を算出し、ステップ1902で特定した仮想ハードディスクファイル107の最適化処理時間の見積時間とする（ステップ1905）。算出方法は、例えば、線形予測など一般的な手法により見積もる。ここでは、最適化サイズをもとに最適化処理時間を見積もったが、仮想ハードディスクファイル107のファイルサイズをもとに最適化処理時間を見積もってもよい。その場合は、ステップ1903で最適化サイズを算出する代わりに仮想ハードディスクファイル107のファイルサイズを取得する。また、最適化処理時間の見積もりに、最適化サイズと、仮想ハードディスクファイル107のファイルサイズをもとに見積もりをしてもよい。
（６）対処決定部405は、ステップ1906で算出した最適化処理時間を応答し（ステップ1906）、処理を終了する。
【０１２９】
図20は、対処決定部405による仮想ハードディスクファイルの最適化サイズを算出する処理動作を示すフローチャートである。
（１）対処決定部405は、仮想ハードディスクファイル107の最適化サイズ算出要求を受け付ける（ステップ2001）。
（２）対処決定部405は、ステップ2001の要求から算出対象の仮想ハードディスクファイル107を特定する（ステップ2002）。
（３）対処決定部405は、ステップ2002で特定した仮想ハードディスクファイル107が使用中か判定する（ステップ2003）。使用中か否かの判定は、構成管理部401を介して、仮想ハードディスク構成テーブル412の仮想ハードディスクファイル欄701を検索して、ステップ2002で特定した仮想ハードディスクファイルと一致するレコードの使用中フラグ欄705を取得し、「True」なら使用中、「False」なら使用していないと判定する。使用中と判定した場合は、ステップ2012に進む。使用していないと判定した場合は、ステップ2004に進む。
【０１３０】
（４）対処決定部405は、ステップ2002で特定した仮想ハードディスクファイル107を最後に使用した仮想サーバ101を特定する（ステップ2004）。具体的には、構成管理部401を介して、仮想ハードディスク構成テーブル412を過去に遡り検索し、仮想ハードディスクファイル欄701にステップ2002で特定した仮想ハードディスクファイル107と一致するレコードであって、仮想サーバ欄702に仮想サーバを特定する内容が記憶されているレコードがあれば、当該レコードの仮想サーバ欄702の内容を取得する。
【０１３１】
（５）対処決定部405は、ステップ2004で特定した仮想サーバ101上で稼動するゲストOS103を特定する（ステップ2005）。具体的には、構成管理部401を介して、仮想サーバOS対応テーブル414の仮想サーバ欄1001を検索し、ステップ2004で特定した仮想サーバ101と一致するレコードのホスト名欄1002の内容を取得する。
（６）対処決定部405は、仮想ハードディスクファイル107に対応するファイルシステム105を取得する（ステップ2006）。ステップ2006の詳細な処理は、図17の説明で既に説明したとおりである。
【０１３２】
（７）対処決定部405は、仮想ハードディスクファイル107を最後に使用した時刻を取得する（ステップ2007）。具体的には、構成管理部401を介して、ステップ2003で特定した仮想ハードディスク構成テーブル412のレコードを登録した時刻を取得する。
（８）対処決定部405は、ステップ2005で特定したファイルシステム105のステップ2006で特定した時刻における使用容量サイズ（X）を取得する（ステップ2008）。具体的には、性能管理部402を介して、ファイルシステム容量テーブル413のOS欄502にステップ2004で特定したホスト名が記憶され、ファイルシステム欄503にステップ2005で特定したファイルシステム105が記憶され、時刻欄501にステップ2006で特定した時刻が記憶されているレコードを検索し、当該レコードの使用容量サイズ欄505の内容を取得する。
（９）対処決定部405は、現在の仮想ハードディスクファイル107のファイルサイズ（Y）を取得する（ステップ2009）。具体的には、性能管理部402を介して、仮想ハードディスクファイルサイズテーブル408を検索し、時刻欄601に現在時刻（現在時刻に最も近い時刻でもよい）が記憶され、仮想ハードディスクファイル欄602にステップ2002で特定した仮想ハードディスクファイル107が記憶されているレコードのサイズ欄603を取得する。
（１０）対処決定部405は、ステップ2008で取得したファイルサイズ（X）とステップ2009で取得した使用容量サイズ（Y）との差を算出し、ステップ2002で特定した仮想ハードディスクファイル107の最適化サイズ（Y−X）とする（ステップ2010）。
（１１）対処決定部405は、ステップ2010で算出した最適化サイズを応答し（ステップ2011）、処理を終了する。
【０１３３】
（１２）対処決定部405は、ステップ2002で特定した仮想ハードディスクファイル107を使用する仮想サーバ101を特定する（ステップ2012）。具体的には、構成管理部401を介して、仮想ハードディスク構成テーブル412を検索して、仮想ハードディスクファイル欄701にステップ2002で特定した仮想ハードディスクファイル107が記憶されているレコードの仮想サーバ欄702の内容を取得する。
（１３）対処決定部405は、ステップ2012で特定した仮想サーバ101上で稼動するゲストOS103を特定する（ステップ2013）。具体的には、構成管理部120を介して、仮想サーバOS対応テーブル414を検索して、仮想サーバ欄1001にステップ2012で特定した仮想サーバ101に一致するレコードのホスト名欄1002の内容を取得する。
【０１３４】
（１４）対処決定部405は、ステップ2001で特定した仮想ハードディスクファイル107に対応するファイルシステム105を取得する（ステップ2014）。具体的には、構成管理部401を介して、仮想ハードディスクファイルシステム対応テーブル415の仮想ハードディスクファイル欄901がステップ2001で特定した仮想ハードディスクファイル107と一致するレコードを検索し、当該レコードのファイルシステム欄902の内容を取得する。なお、仮想ハードディスクファイルシステムテーブル415の生成は、既に示した図17に示す処理動作による。
【０１３５】
（１５）対処決定部405は、ステップ2014で特定したファイルシステム105の現在時刻の使用容量サイズ（X）を取得する（ステップ2015）。具体的には、性能管理部402を介して、ファイルシステム容量テーブル413の時刻欄501に現在時刻を記憶し、OS欄502にステップ2013で特定したホスト名を記憶し、ファイルシステム欄503にステップ2014で特定したファイルシステム105を記憶するレコードを検索し、当該レコードの使用量サイズ欄505の内容を取得し、ステップ2008に進む。
【０１３６】
図21は、対処決定部405による仮想はーディスクファイル107の最適化サイズの持続度を算出する処理動作を示すフローチャートである。
（１）対処決定部405は、最適化サイズ持続度の算出要求を受信する（ステップ2101）。
（２）対処決定部405は、ステップ2102の要求から算出対象の仮想ハードディスクファイル107を特定する（ステップ2102）。
（３）対処決定部405は、ステップ2102で特定した仮想ハードディスクファイル107の最適化後のファイルサイズを算出する（ステップ2103）。具体的には、図20に示したステップ2001からステップ2008により取得したファイルシステム105の使用容量サイズが最適化後のファイルサイズである。または、ステップ2001からステップ2015により取得したファイルシステム105の現在時刻の使用容量サイズが最適化後のファイルサイズである。
（４）対処決定部405は、ステップ2102で特定した仮想ハードディスクファイル107の最適化処理の見積時間を取得する（ステップ2104）。具体的な処理は、図19を用いて既に説明済みなのでここでは省略する。
（５）対処決定部405は、ステップ2102で特定した仮想ハードディスクファイル107のファイルサイズの予測値を算出する（ステップ2105）。具体的な処理は、図18A及び図18Bを用いて既に説明済みなのでここでは省略する。
【０１３７】
（６）対処決定部405は、ステップ2103で取得した最適化後のファイルサイズと、ステップ2105で取得したファイルサイズの予測値と予測した時間とから最適化持続度を算出する（ステップ2106）。最適化サイズ持続度とは、最適化サイズが保持される指標であればいずれの算出方法であってもよい。例えば、仮想ハードディスクファイル107のファイルサイズの、最適化処理を完了（開始してからでもよい）してから、ある一定の時間経過するまでの積分値を最適化サイズ持続度としてもよい。また、最適化処理完了時（開始時でもよく、ある一定時間経過後でもよい）の仮想ハードディスクファイル107のファイルサイズで当該積分値を割った値でもよい。さらに、最適化処理完了時（開始時でもよい）の仮想ハードディスクファイル107のファイルサイズとある一定時間経過後のファイルサイズとの差を最適化サイズ持続度としてもよい。また、当該差を当該一定時間で割った値を最適化サイズ持続度としてもよい。さらに、上記差分や、上記差分を時間で割った値をそれぞれ最適化処理完了時（最適化直前や一定時間経過後でもよい）のファイルサイズで割った値を最適化サイズ持続度としてもよい。
（７）対処決定部405は、ステップ2106で算出した最適化サイズ持続度を応答する（ステップ2107）。
【０１３８】
図22A、図22B、及び図22Cは、対処決定部405による対処案を決定する処理動作を示すフローチャートである。まず、ステップ2201からステップ2214までの処理動作によって、対処案テーブル416に最適化サイズ上はインシデントを解決できる対処案候補を列挙する。
（１）対処決定部405は、対処決定要求を受け付けると、対処案テーブル416を初期化する（ステップ2201）。
（２）対処決定部405は、仮想ハードディスクファイル107の組合せを列挙し、組合せ群を生成する（ステップ2202）。
（３）対処決定部405は、ステップ2202で生成した組合せ群からある組合せを特定する（ステップ2203）。
【０１３９】
（４）対処決定部405は、ステップ2203または後述するステップ2213で特定した組合せに属する仮想ハードディスクファイル群を特定する（ステップ2204）。
（５）対処決定部405は、合計最適化サイズ変数を初期化する（ステップ2205）。ここで、合計最適化サイズ変数は、仮想ハードディスク群を全て最適化することによって確保できるファイルシステム108やファイルシステム113の空き容量サイズを格納する変数である。変数には限定せず、当該空き容量サイズを格納すればいずれの形式であってもよい。
（６）対処決定部405は、仮想ハードディスクファイル群からある仮想ハードディスクファイル107を特定する（ステップ2206）。
【０１４０】
（７）対処決定部405は、ステップ2206または後述するステップ2212で特定した仮想ハードディスクファイル107の最適化サイズを算出する（ステップ2207）。最適化サイズの算出方法は、図20を用いて既に説明済みなのでここでは省略する。
（８）対処決定部405は、ステップ2207で算出した最適化サイズを合計最適化サイズ変数に加算する（ステップ2208）。
（９）対処決定部405は、ステップ2206で特定した仮想ハードディスクファイル群にステップ2206やステップ2212で特定していない仮想ハードディスクファイル107があるか判定する（ステップ2209）。判定の結果、あればステップ2212に進む。判定の結果、なければステップ2210に進む。
【０１４１】
（１０）対処決定部405は、最適化サイズ合計変数の値が閾値よりも大きいか判定する（ステップ2210）。具体的には、まず、図16のステップ1602で対処中としたインシデントのインシデントIDをキーにインシデントテーブル417のインシデント欄1701を検索し、一致したレコードのイベントID欄1706の内容を取得する。次に、イベントID欄の内容をキーにして、イベントテーブル418を検索して、一致するレコードの閾値欄2402の内容を取得する。さらに、閾値欄2402の内容をキーにして閾値テーブル411の閾値ID欄1101を検索して、一致したレコードの条件欄1103を取得する。ここで取得した条件を満たすか否かを判定する。例えば、合計変数の値だけファイルシステム108やファイルシステム113の使用容量サイズが減少したサイズが条件を満たすか否かを判定する。判定の結果、大きければステップ2211に進む。判定の結果、等しいか小さければ、ステップ2214に進む。ステップ2210は、着目している仮想ハードディスクファイル群に属する仮想ハードディスクファイルを全て最適化したらファイルシステム108やファイルシステム113の使用容量サイズを目標値だけ開放できインシデントを解決できるかを判定している。なお、上述閾値は、仮想ハードディスクファイルを縮小するための縮小目標サイズと捉えることも可能である。最適化すると決定した仮想ハードディスクファイルの合計が縮小目標サイズよりも大きくなるように仮想ハードディスクファイルを最適化するか否かを判断すればよい。
【０１４２】
（１１）対処決定部405は、対処案テーブル416に新たなレコードを追加して、当該レコードの対処案ID1301には同じ新たな識別子を付与し、当該レコードの仮想ハードディスク欄1302にステップ2204で特定した仮想ハードディスクファイル群に属する仮想ハードディスクファイル107を識別する情報を記憶し（ステップ2211）、ステップ2214に進む。
【０１４３】
（１２）対処決定部405は、ステップ2204で特定した仮想ハードディスクファイル群から未特定の次の仮想ハードディスクファイルを特定し（ステップ2212）、ステップ2207に進む。
【０１４４】
（１３）対処決定部405は、ステップ2202で特定した組合せ群から次の未特定の組合せを特定し（ステップ2213）、ステップ2204に進む。
【０１４５】
（１４）対処決定部405は、ステップ2202で特定した組合せ群にステップ2203やステップ2213で未特定の組合せがあるか判定する（ステップ2214）。判定の結果、あればステップ2213に進む。判定の結果、なければステップ2215に進む。
【０１４６】
次に、ステップ2215からステップステップ2236までの処理動作によって、列挙した対処案について、仮想ハードディスクファイル107を最適化する物理サーバ100と最適化実行開始時刻を決定する。
（１５）対処決定部405は、最適化を実行する候補となる物理サーバ群を特定する（ステップ2215）。
（１６）対処決定部405は、対処案テーブル416から対処案群を特定する（ステップ2216）。
【０１４７】
（１７）対処決定部405は、対処案群に属するある対処案を特定する（ステップ2217）。具体的には、対処案テーブル416の対処案ID欄1301が同一のあるレコードグループを対処案として特定する。
（１８）対処決定部405は、対処案に関連付けられた仮想ハードディスクファイル群を特定する（ステップ2218）。具体的には、ステップ2217や後述するステップ2228で特定したレコードグループに属する各レコードの仮想ハードディスク欄1302の内容をそれぞれ取得して仮想ハードディスクファイル群として特定する。
（１９）対処決定部405は、ステップ2215で特定した物理サーバ群に属する物理サーバ100とステップ2218で特定した仮想ハードディスクファイル群の組合せを決定する（ステップ2219）。異なる仮想ハードディスクファイル107が同じ物理サーバ100と組になってもかまわない。また、全ての仮想ハードディスクファイル107はある物理サーバ100と組になる必要があるが、物理サーバ100は必ずしも仮想ハードディスクファイル107と組になる必要はない。
（２０）対処決定部405は、ステップ2219で特定した組合せ群の各組合せからそれぞれ物理サーバを識別する情報を取り出し、物理サーバ群として特定する（ステップ2220）。
【０１４８】
（２１）対処決定部405は、ステップ2220で特定した物理サーバ群からある物理サーバ100を特定する（ステップ2221）。
（２２）対処決定部405は、ステップ2219で特定した組合せからステップ2220で特定した物理サーバ100と組になっている仮想ハードディスクファイル群を特定する（ステップ2222）。
【０１４９】
（２３）対処決定部405は、ステップ2222で特定した仮想ハードディスクファイル群からある仮想ハードディスクファイル107を特定する（ステップ2223）。
（２４）対処決定部405は、ステップ2222で特定した仮想ハードディスクファイル1017の最適化負荷を算出する（ステップ2224）。ここで最適化負荷とは、CPU負荷やメモリ負荷、ネットワーク帯域使用量、ディスク帯域使用量など最適化処理に伴い物理サーバに発生する負荷のことである。最適過負荷は、過去の最適化処理に有した負荷を性能情報管理部402から取得して見積もることにより算出する。最適化サイズや、仮想ハードディスクファイル107のファイルサイズ、最適化時間に応じてそれぞれ線形予測してもよい。
（２５）対処決定部405は、ステップ2223で特定した仮想ハードディスクファイル107の最適化時間を算出する（ステップ2225）。算出方法は、図19を用いて既に説明済みなのでここでは説明を省略する。
（２６）対処決定部405は、ステップ2222で特定した仮想ハードディスクファイル群にステップ2223で未特定の仮想ハードディスクファイル107があるか否かを判定する（ステップ2226）。判定の結果、あればステップ2223に進む。判定の結果、なければステップ2229に進む。
【０１５０】
（２７）対処決定部405は、物理サーバ100と仮想ハードディスクファイル107の他の組合せを決定し（ステップ2227）、ステップ2220に進む。
【０１５１】
（２８）対処決定部405は、ステップ2221で特定した物理サーバ100で、いずれの仮想ハードディスクファイル107も最適化処理しなかった場合の負荷を予測する（ステップ2228）。性能情報管理部402を介して、過去の物理サーバ100の負荷を取得し、将来の負荷を予測する。
（２９）対処決定部405は、ステップ2222で特定した仮想ハードディスクファイル群に属する全ての仮想ハードディスクの最適化開始時刻を決定する（ステップ2229）。現在から将来のある時刻であればいずれの時刻であってもよい。
（３０）対処決定部405は、ステップ2228で算出した物理サーバ100の負荷にステップ2224で算出した負荷を加算する（ステップ2230）。具体的には、ステップ2229で算出した最適化開始時刻からステップ2225で算出した最適化時間の間だけステップ2224で算出した負荷を、ステップ2222で特定した仮想ハードディスクファイル群に属する全ての仮想ハードディスクファイルについて加算する処理を行い算出する。ステップ2230で算出した負荷が、物理サーバ100が最適化処理を実行したときに予測される負荷である。
【０１５２】
（３１）対処決定部405は、ステップ3330で算出した負荷が閾値を超過するか判定する（ステップ2231）。具体的には、まず、図16のステップ1602で対処中としたインシデントのインシデントIDをキーにインシデントテーブル417のインシデント欄1701を検索し、一致したレコードのイベントID欄1706の内容を取得する。次に、イベントID欄1706の内容をキーにして、イベントテーブル418を検索して、一致するレコードの閾値欄2402の内容を取得する。さらに、閾値欄2402の内容をキーにして閾値テーブル411の閾値ID欄1101を検索して、一致したレコードの条件欄1103を取得する。ここで取得した条件を満たすか否かを判定する。例えば、ステップ3330で算出した負荷が条件欄1103を満たすか否かを判定する。閾値を超過すると判定した場合、ステップ2236に進む。閾値を超過しないと判定した場合、ステップ2232に進む。
【０１５３】
（３２）対処決定部405は、ステップ2220で特定した物理サーバ群にステップ2221で未特定の物理サーバ100があるか判定する（ステップ2232）。判定の結果、あればステップ2221に進む。判定の結果、なければステップ2233に進む。
（３３）対処決定部405は、対処案テーブル416に物理サーバ群と最適化開始時刻を記憶する（ステップ2233）。具体的には、対処案ID欄1301にステップ2217で特定した対処案IDが記憶され、仮想ハードディスクファイル欄1302にステップ2219で特定した組の仮想ハードディスクファイル107が記憶されているレコードを特定し、当該レコードの物理サーバ欄1304に当該組の物理サーバ100を記憶し、最適化開始時刻欄1303に当該組に対してステップ2229で決定した最適化開始時刻を記憶する。また、当該レコードの対処可フラグ欄1306に「True」を記憶する。ステップ2233の処理によって、物理サーバ100の負荷を閾値以上にせずに最適化処理実行可能な対処案を決定し、仮想ハードディスクファイル107の最適化処理を実行する物理サーバと最適化開始時刻を決定したことになる。
【０１５４】
（３４）対処決定部405は、ステップ2216で特定した対処案群にステップ2217で未特定の対処案があるか判定する（ステップ2234）。判定の結果、あればステップ2217に進む。判定の結果、なければステップ2235に進む。
（３５）対処決定部405は、対処案テーブル416に記憶された対処案群を応答し（ステップ2235）、処理を終了する。
【０１５５】
（３６）対処決定部405は、ステップ2229で決定した各仮想ハードディスクファイル107の最適化開始時刻を調整可能か判定する（ステップ2236）。判定の結果、調整可能であればステップ2229に進む。判定の結果、調整不可能であればステップ2237に進む。調整不可能な場合、現状着目している物理サーバ100と仮想ハードディスクファイル107の組で最適化処理を実行すると、物理サーバ100の負荷が超過し、対処案として実行可能性が低いことを意味している。
（３７）対処決定部405は、ステップ2219の組合せに他の組合せがあるか判定する（ステップ2237）。判定の結果、あればステップ2227に進む。判定の結果、なければステップ2238に進む。判定の結果ない場合、対処案に挙げられた仮想ハードディスク群を最適化する物理サーバがないことを意味しており、他の物理サーバを他から調達してこない限り、対処案として実行可能性が低いことを意味している。
（３８）対処決定部405は、対処案テーブル416の該当する対処案に実行不可フラグをたてる（ステップ2238）。具体的には、対処案テーブル416の対処案ID欄1301を検索し、ステップ2217で特定した対処案に相当するレコードの対処可フラグ欄1306に「False」を記憶する。ステップ2238の後、ステップ2234に進む。
【０１５６】
図23A及び図23Bは、対処決定部405による対処方法を決定する処理動作を示すフローチャートである。
（１）対処決定部405は、対処方法決定要求を受け付ける（ステップ2301）。
（２）対処決定部405は、対処案テーブルを参照し、対処案群を特定する（ステップ2302）。
（３）対処決定部405は、重みW1, W2, W3, W4, W5を取得する（ステップ2303）。ここで重みW1, W2, W3, W4は、仮想ハードディスクファイル107の最適化処理する優先度付けを行うための重みであって、それぞれW1とW2は仮想ハードディスクファイル107が使用中か否かで付与する重み、W3とW4は現在不使用の仮想ハードディスクファイル107について最適化終了時刻までの間に使用する可能性があるかないかの重みである。W5は、最適化サイズ持続度に対する重みである。これらの重みは、何を優先するかのポリシに基づき、管理者があらかじめ設定する。重みに基づいて対処決定部405が最適な対処方法を決定することができる。
（４）対処決定部405は、ステップ2302で特定した対処案群からある対処案を特定する（ステップ2304）。
【０１５７】
（５）対処決定部405は、対処案に関する仮想ハードディスクファイル群を特定する（ステップ2305）。
（６）対処決定部405は、ステップ2305で特定した仮想ハードディスクファイル群に属するある仮想ハードディスク107を特定する（ステップ2306）。
【０１５８】
（７）対処決定部405は、ステップ2306で特定した仮想ハードディスクファイル107は使用中か判定する（ステップ2307）。判定の結果、使用中であれば、ステップ2315に進む。判定の結果、使用中でなければ、ステップ2308に進む。
（８）対処決定部405は、ステップ2304で特定した対処案に対してステップ2303で取得した重みW2を加算する（ステップ2308）。具体的には、対処案テーブル416の対処案ID欄1301にステップ2304で特定した対処案に相当する内容が記憶されたレコードを検索し、当該レコードの重み欄1305に重みW2を加算する。
【０１５９】
（９）対処決定部405は、ステップ2306で特定した仮想ハードディスクファイル107の次回使用開始時刻を取得する（ステップ2309）。具体的には、仮想ハードディスクファイル107が接続する仮想サーバ101を特定し、仮想サーバ101の次回起動時刻をスケジュールテーブル409から特定し、当該起動時刻を仮想ハードディスクファイル107の次回使用開始時刻とみなす。または、仮想ハードディスクファイル107の使用状態になった時刻の過去の履歴情報を、構成管理部401を介して、仮想ハードディスク構成テーブル412から取得し、当該時刻から周期性を検出し、次回使用開始時刻を予測してもよい。
【０１６０】
（１０）対処決定部405は、ステップ2306で特定した仮想ハードディスクファイル107の最適化時間を算出し、対処案に関連付けられた最適化開始時刻とから、最適化終了時刻を算出する（ステップ2310）。最適化時間の算出方法は、図19を用いて既に説明したので、ここでは省略する。最適化終了時刻の算出は、具体的には、対処案テーブル416の対処案ID欄1301にステップ2304で特定した対処案に相当する内容が記憶されるレコードであって、仮想ハードディスクファイル欄1302にステップ2306で特定した仮想ハードディスクファイル107が記憶されているレコードの、最適化開始時刻欄1303の最適化開始時刻を取得する。当該最適化開始時刻に最適化時間を加算して、最適化終了時刻を算出する。
【０１６１】
（１１）対処決定部405は、ステップ2309で取得した次回使用開始時刻がステップ2310で算出した最適化終了時刻よりも遅いか否かを判定する（ステップ2311）。判定の結果遅ければ、ステップ2312に進む。判定の結果、遅くなければ、ステップ2316に進む。
（１２）対処決定部405は、ステップ2304で特定した対処案にステップ2303で取得した重みW4を加算する（ステップ2312）。加算方法は、ステップ2308と同じである。ステップ2312の後、ステップ2317に進む。
【０１６２】
（１３）対処決定部405は、ステップ2302で特定した対処案群に属するステップ2304やステップ2313で未特定の対処案を特定し（ステップ2313）、ステップ2305に進む。
【０１６３】
（１４）対処決定部405は、ステップ2305で特定した仮想ハードディスクファイル群のうち、ステップ2306やステップ2314で未特定の仮想ハードディスクファイル107を特定し（ステップ2314）、ステップ2307に進む。
【０１６４】
（１５）ステップ2304で特定した対処案にステップ2303で取得した重みW1を加算する（ステップ2315）。加算方法は、ステップ2308と同じである。ステップ2315の後、ステップ2309に進む。
【０１６５】
（１６）対処決定部405は、ステップ2304で特定した対処案にステップ2303で取得した重みW3を加算する（ステップ2316）。加算方法は、ステップ2308と同じである。ステップ2316後、ステップ2317に進む。
【０１６６】
（１７）対処決定部405は、ステップ2306で特定される仮想ハードディスクファイル107の最適化サイズ持続度を算出し、最適化サイズ持続度と重みW5とから算出した重みを、ステップ2304で特定した対処案に加算する（ステップ2317）。加算方式は、ステップ2308と同じである。最適化サイズ持続度の算出方法は、図21を用いて既に説明したため、ここでは説明を省略する。
（１８）対処決定部405は、ステップ2305で特定した仮想ハードディスクファイル群にステップ2306やステップ2314で未特定の仮想ハードディスクファイル107があるか判定する（ステップ2318）。判定の結果、ある場合はステップ2314に進む。判定の結果、ない場合はステップ2319に進む。
（１９）対処決定部405は、ステップ2302で特定した対処案群にステップ2304やステップ2313で未特定の対処案があるか否かを判定する（ステップ2319）。判定の結果、次の対処案がある場合は、ステップ2313に進む。判定の結果、次の対処案がなければ、ステップ2320に進む。
【０１６７】
（２０）対処決定部405は、対処案群をソートする（ステップ2320）。具体的には、対処案テーブル416の対処案ID1301が同一のレコードをレコードグループとしたとき、レコードグループの重み欄1305の値でレコードグループを降順にソートする。ソートすることによって、優先度の高い対処案が上位のレコードになる。
（２１）対処決定部405は、対処案群から対処方法を決定する（ステップ2321）。具体的には、ステップ2220でソートして最上位のレコードグループを取得し、対処方法として決定する。
（２２）対処決定部405は、ステップ2221で決定した対処方法を応答し（ステップ2322）、処理を終了する。
【０１６８】
なお、本実施例では、対処案ごとに重み付けしたが、これには限定せず、仮想ハードディスクファイル107ごとに重みづけをしてもよい。
【０１６９】
また、本実施例では、仮想ハードディスクファイル107の持続度やファイルシステム105の使用容量サイズ（最適化後のファイルサイズ）を管理サーバ110上で管理したが、これには限定せず、仮想ハードディスクのメタデータを記憶するファイルや仮想ハードディスクファイルのヘッダ情報に埋め込んでおいてもよい。
【０１７０】
説明した実施例によれば、仮想ハードディスクファイルの容量管理を容易にするように管理者を支援できる。
【０１７１】
図25は、対処決定部による危険度算出処理を示すフローチャートである。ここで、危険度とは、ファイルシステム108やファイルシステム113の空き容量が不足する状況の発生可能性の評価指標である。ファイルシステム108やファイルシステム113に格納された可変タイプの仮想ハードディスクファイル107のファイルサイズが拡張し、空き容量が不足する可能性を評価するための指標である。
【０１７２】
（１）対処決定部405は、ファイルシステムＸの危険度を算出する要求を受付ける(ステップ2501)。ここで、ファイルシステムＸは、図1のファイルシステム108や図2のファイルシステム113である。
（２）対処決定部405は、ファイルシステムＸの限界容量Xと使用容量Xを取得する(ステップ2502)。
（３）対処決定部405は、ファイルシステムＸに属する全ての仮想ハードディスクファイルを特定する(ステップ2503)。ファイルシステム108やファイルシステム113上にある仮想ハードディスクファイル107を全て列挙する。
（４）対処決定部405は、ステップ2502で特定した全ての仮想ハードディスクファイルのファイルサイズを取得する(ステップ2504)。具体的には、性能管理部402を通して、仮想ハードディスクファイルサイズテーブル408を読み込み、ステップ2502で特定した仮想ハードディスクファイルをキーにして仮想ハードディスクファイル欄602を検索し、該当するレコードのサイズ欄603の値を取得するという処理を、ステップ2502で特定した全ての仮想ハードディスクファイルについて行う。
【０１７３】
（５）対処決定部405は、ステップ2503で取得したファイルサイズを合算し、ファイルサイズ合計を算出する(ステップ2505)。
（６）対処決定部405は、使用容量Ｘからファイルサイズ合計を減算して使用容量サイズＹを算出する(ステップ2506)。使用容量サイズＹは、ファイルシステムXの使用容量のうち、仮想ハードディスクファイル以外のファイルによって使用されている使用容量サイズである。
（７）対処決定部405は、ステップ2503で特定した各仮想ハードディスクファイルに対応するファイルシステムを特定する(ステップ2507)。それぞれの仮想ハードディスクファイル107に対応する仮想ハードディスク106を特定し、当該仮想ハードディスク106上に構築されたファイルシステム105を特定する。
（８）対処決定部405は、ステップ2507で特定した各ファイルシステムの使用容量サイズを取得する(ステップ2508) 。ファイルシステム105の使用容量を取得する。具体的には、性能管理部402を通して、ファイルシステム容量テーブル413を読み込み、ステップ2507で特定したファイルシステムをキーにしてファイルシステム欄503を検索し、該当するレコードの使用容量サイズ欄505の値を取得するという処理を、ステップ2507で特定した全てのファイルシステムについて行う。
【０１７４】
（９）対処決定部405は、ファイルシステム毎のファイルシステムの使用容量サイズを合算し、使用容量サイズ合計Ｚを算出する(ステップ2509) 。ここで算出した使用容量サイズ合計Ｚが、
（１０）対処決定部405は、（限界容量Ｘ−使用容量Ｙ−使用容量サイズ合計Ｚ）を元に危険度を算出する(ステップ2510) 。ここで算出した危険度により、仮想ハードディスクファイルが拡大し、ファイルシステムＸの空き容量が不足する状況の発生可能性を評価できる。危険な状況になった場合、管理者が用意に気付けるように、あらかじめ設定した閾値と比較し危険度が閾値を下回ったら警告メッセージを監視画面に表示するようにしてもよい。
【０１７５】
また、危険度を算出する際に、過去の使用容量サイズ合計Ｚの履歴を元に、（限界容量Ｘ−使用容量Ｙ−使用容量サイズ合計Ｚ）を時系列に出力したり、評価したりしてもよい。これにより、将来的にファイルシステムＸの空き容量が不足する状況が発生するかを管理者が予測することができる。
【０１７６】
さらに、危険度の他に、（使用容量サイズ合計Ｚ /  ファイルサイズ合計）を算出してリソースの使用量と割当量の比率を評価指標として算出してもよい。これにより、リソースの使用状況を概観でき、対処方法として最適化処理が有効か否かを判断できる。
【０１７７】
また、仮想ハードディスクファイル単位に、ファイルシステムの使用容量とファイルサイズの比率を算出してもよい。これにより、当該比率を指標として、より比率の低い仮想ハードディスクファイルから最適化するこという対処決定が可能になる。
【０１７８】
図26は、対処決定部405による、ファイルシステムXが容量限界に達する期日を見積もる処理を示すフローチャートである。
【０１７９】
（１）対処決定部405は、ファイルシステムＸが容量限界に達する期日の取得要求を受付ける(ステップ2601)。ファイルシステムXは、図1に示すファイルシステム108や図2に示すファイルシステム113である。ステップ2601を終えると、図25に示すステップ2502からステップ2509までの処理と同様の処理を実行し、次に示すようなステップ2602を実行する。
（２）対処決定部405は、ファイルシステムの使用容量の履歴からファイルシステムの使用容量の将来の予測値を算出する (ステップ2602)。ステップ2602でのファイルシステムは、ファイルシステム105である。性能管理部402を通して、ファイルシステム容量テーブル413を読み込み、ファイルシステム105をキーにファイルシステム欄503を検索し、該当したレコードの時刻欄501の値と使用容量サイズ欄505の値を取得する。そして、使用容量サイズ欄505の値を時刻欄501の値をもとに時系列に分析し、将来のファイルシステム105の使用容量サイズを算出する。
（３）対処決定部405は、 ファイルシステムの使用容量の予測値から仮想ハードディスクファイルのファイルサイズの予測値を算出する(ステップ2603)。全ての仮想ハードディスクファイルについて、ステップ2603の処理を実行する。図18A, Bに示したステップ1801からステップ1818の処理と同様のステップで算出する。
（４）対処決定部405は、 全ての仮想ハードディスクファイルのファイルサイズの予測値を合計した予測ファイルサイズ合計を算出する(ステップ2604)。
【０１８０】
（５）対処決定部405は、(予測ファイルサイズ合計＋使用容量サイズＹ)＞限界容量Ｘとなる時刻を超過予定時刻として算出する (ステップ2605)。上記の図26に示した処理を実行し、管理者に超過予定時刻を算出することで、ファイルシステム108やファイルシステム113ごとに、容量不足の状態に陥るまでの時間を提示できる。管理者は、提示された時間をもとに、対処の必要性や対処の緊急度を判断でき、効果的な対処方法を選択できる。
【０１８１】
なお、仮想ハードディスクファイル107のファイルサイズの予測では、ファイルシステム105の全体容量以上にファイルシステム105を使用できない点を考慮して予測してもよい。具体的には、全体容量を、ファイルシステム容量テーブル413の合計容量サイズ欄604から取得し、ステップ2602で、ファイルシステム105の使用容量サイズの予測値がこの値以上にならないように予測する。
【０１８２】
また、仮想ハードディスクファイル107のファイルサイズの予測では、仮想ハードディスクファイル107が最大サイズ以上に拡大しない点を考慮して予測してもよい。具体的には、最大サイズを、仮想ハードディスクファイルサイズテーブル408の最大サイズ欄604から取得し、ステップ2603で、仮想ハードディスクファイルのファイルサイズがこの値以上にならないように予測する。
【０１８３】
上記の図26に示した処理では、仮想ハードディスクファイル107ごとにファイルサイズの予測値を算出した上でファイルシステム108の使用容量の予測値を算出している。そのため、ファイルシステム108の使用容量の履歴だけから算出した予測値よりも、個々の仮想ハードディスクファイル107のディスクタイプや、最大サイズ、ファイルシステム105の使用状況などを考慮してより正確に予測値を算出できる。
【実施例２】
【０１８４】
本実施例では、仮想ハードディスクファイル107に対応するファイルシステム105の使用容量サイズを仮想ハードディスクファイルの付加情報領域に記憶する構成をとる。管理サーバは、当該領域に記憶された使用容量サイズと仮想ハードディスクファイルサイズとを参照して、仮想ハードディスクファイル107を管理する。
【０１８５】
システム構成は、図１、図２、図４と同様であり省略する。本実施例では、さらに、仮想ハードディスクファイル107が付加情報領域を備えている。付加情報領域は、ファイルシステム108上の仮想ハードディスクファイル107に関連付けられた独立したファイルとして構成されていてもよいし、仮想ハードディスクファイル107内の付加情報領域であってもよい。具体的には、仮想サーバの構成ファイル内や仮想ハードディスクファイル内、ＯＶＦファイル内に記憶してもよい。
【０１８６】
図27は、入出力部404による、仮想ハードディスクファイルの付加情報よりファイルシステムの使用容量サイズを読み込む処理を示すフローチャートである。
（１）入出力部404は、表示要求を受信し仮想ハードディスクファイルを特定する(ステップ2701)。
（２）入出力部404は、特定した仮想ハードディスクファイルの付加情報領域を読み込み、ファイルシステムの使用容量サイズを取得する(ステップ2702)。
（３）入出力部404は、特定した仮想ハードディスクファイルのファイルサイズを取得する(ステップ2703)。
（４）入出力部404は、ファイルシステムの使用容量サイズとファイルサイズを仮想ハードディスクファイルと関連付けて表示する(ステップ2704)。
【０１８７】
図28は、構成管理部401による、仮想ハードディスクファイルの付加情報にファイルシステムの使用容量サイズを記憶する処理を示すフローチャートである。
（１）構成管理部401は、仮想ハードディスクファイルを特定する(ステップ2800)。
（２）構成管理部401は、ステップ2800で特定した仮想ハードディスクファイルが仮想サーバに使用中かを判定する(ステップ2801)。具体的には、仮想ハードディスク構成テーブル412を読み込み、特定した仮想ハードディスクファイルをキーに仮想ハードディスクファイル欄701を検索し、合致したレコードの使用中欄705を取得する。「False」であれば使用中でなく、「True」なら使用中と判定する。
（３）構成管理部401は、接続先の仮想サーバ101を特定する (ステップ2802)。具体的には、ステップ2801で仮想ハードディスクファイル欄701を検索して合致したレコードの仮想サーバ欄702を取得し仮想サーバ101を特定する。
（４）構成管理部401は、仮想サーバ101上で稼動するゲストOS 103を特定する (ステップ2804)。具体的には、仮想サーバOS対応テーブル414を読み込み、特定した仮想サーバ101をキーに仮想サーバ欄1001を検索し、合致したレコードのホスト名欄1002からゲストOS103を特定する。
【０１８８】
（５）構成管理部401は、仮想ハードディスクファイル107に対応するファイルシステム105を特定する (ステップ2805)。具体的には、仮想ハードディスクファイルシステム対応テーブル415を読み込み、特定した仮想ハードディスクファイル107をキーに仮想ハードディスクファイル欄901を検索し、合致したレコードのファイルシステム欄902からファイルシステム105を特定する。
（６）構成管理部401は、ファイルシステム107の使用容量サイズを取得する (ステップ2806)。具体的には、性能情報管理部402を通して、ファイルシステム容量テーブル413を読み込み、ファイルシステム107をキーにファイルシステム欄503を検索し、合致したレコードの使用容量サイズ欄505の値を取得する。
（７）構成管理部401は、仮想ハードディスクファイル107の付加情報領域に使用容量サイズを記憶する (ステップ2807)。使用容量サイズは、ファイルシステム容量テーブル413の時刻欄501の値とともに記憶し、時系列で履歴を記憶してもよい。
【０１８９】
本実施例のステップ2800以下の処理をゲストOS103起動中に定期的に開始してもよい。これにより、仮想ハードディスクファイル107の使用容量サイズの最新情報を付加領域に書き込むことができる。また、構成管理部401が、ゲストOS103の停止を検知し、ステップ2800以下の処理を開始してもよい。これにより、ゲストOS103停止直前の使用容量サイズを付加領域に書き込むことができる。
【０１９０】
本実施例によれば、仮想ハードディスクファイル複製に伴い、付加情報領域も複製すれば、複製先の仮想ハードディスクファイルでも複製元の使用容量サイズを利用できる。また、管理サーバを経由せずに、使用容量サイズを活用することもでき、例えば、管理OS102やサーバ仮想化プログラム109、その他のプログラムがこの使用容量を活用することもできる。
【０１９１】
図29を用いて各実施例に共通する管理画面を開示する。
図29は、本発明の入出力部が出力する管理画面の一例である。
管理画面2901は、グラフ描画画面2902と性能一覧画面2912を備える。
グラフ画面2902には、縦軸2903にサイズ、横軸2904に時刻を示し、仮想ハードディスクファイル107のファイルサイズ2905の履歴と、仮想ハードディスクファイル107に関連するファイルシステム105の使用容量サイズ2906の履歴を表示する。
性能一覧画面2912は、仮想ハードディスク欄2907と、ファイルサイズ2908と、使用容量サイズ欄2909と、最適化サイズ欄2910を備える。
仮想ハードディスク欄2907には、仮想ハードディスクファイル107の識別情報を表示している。
ファイルサイズ2908には、仮想ハードディスクファイル107のファイルサイズを表示している。
使用容量サイズ欄2909には、仮想ハードディスクファイル107に対応するファイルシステムの使用容量サイズを表示している。複数のファイルシステムが対応する場合は、それぞれのファイルシステムの使用容量を合計した値を表示する。
最適化サイズ欄2910には、仮想ハードディスクファイル107を最適化して削減可能なファイルサイズを表示している。具体的には、図20に示した処理により算出された値を表示する。
性能一覧画面2909のハイライトされた行2911は選択中の行で、行2911の仮想ハードディスクに関するデータをグラフ描画画面に描画している。
【実施例３】
【０１９２】
本実施例を、図30、図31、図32を用いて開示する。
本実施例は、仮想ハードディスクファイル107を複製した場合に、複製元の仮想ハードディスクファイル107に関連するファイルシステム105の使用容量サイズを複製先の仮想ハードディスク107にも活用する実施例である。
【０１９３】
システム構成は、図１、図２、図４と同様であり省略する。本実施例では、さらに、図4に示す管理サーバ110の記憶部406に複製関連テーブル420を備える（図は省略）。
【０１９４】
図30は複製関連テーブル420の一例を示す図である。複製関連テーブル420は、複製元仮想ハードディスクファイル欄3001と複製先仮想ハードディスクファイル欄3002を備えている。複製元仮想ハードディスクファイル欄3001には、複製元の仮想ハードディスクファイル107を識別する情報を記憶する。複製先仮想ハードディスクファイル欄3002欄には、複製先の仮想ハードディスクファイル107を識別する情報を記憶する。
【０１９５】
図31は、構成管理部401による複製関係テーブル420生成処理を示すフローチャートである。
（１）構成管理部401は、仮想ハードディスクファイルの複製を検出する(ステップ3101)。
（２）構成管理部401は、複製元の仮想ハードディスクファイル107と複製元の仮想ハードディスクファイル107を記憶する (ステップ3102)。
（３）構成管理部401は、複製関係テーブル420に新たなレコードを追加し、複製先の仮想ハードディスクファイル107と複製元の仮想ハードディスクファイル107を記憶する (ステップ3103)。
【０１９６】
図32は、性能管理部402による、仮想ハードディスクファイル107に関連するファイルシステムの使用容量サイズを応答する処理を示すフローチャートである。
（１）性能管理部402は、仮想ハードディスクファイルXに対応するファイルシステムＸの使用容量サイズ取得要求を受け付ける(ステップ3201)。
（２）性能管理部402は、ファイルシステム容量テーブル413にファイルシステムXの使用容量サイズのデータがあるか判定する (ステップ3202)。具体的には、ファイルシステム容量テーブル413を読み込み、ファイルシステムXをキーにファイルシステム欄503を検索し、該当するレコードがあるか否かを判定する。判定の結果該当するレコードがなければ、ステップ3203に進む。判定の結果、該当するレコードがあれば、ステップ3206に進む。
【０１９７】
（３）性能管理部402は、 複製関係テーブル420を読み込み、仮想ハードディスクファイルXの複製元の仮想ハードディスクファイルＹを特定する(ステップ3203)。具体的には、複製関係テーブル420を読み込み、仮想ハードディスクファイルXをキーに複製先仮想ハードディスクファイル欄3002を検索し、該当するレコードの複製元仮想ハードディスクファイル欄3001の値を取得して仮想ハードディスクファイルYとする。
（４）性能管理部402は、仮想ハードディスクファイルYに対応するファイルシステムYを特定するファイルシステムYを特定する(ステップ3204)。具体的には、構成管理部401を通して、仮想ハードディスクファイルYに対応するファイルシステムYを特定する。
（５）性能管理部402は、ファイルシステムYの使用容量サイズを取得し、ファイルシステムXの使用容量サイズとして応答する (ステップ3205)。具体的には、ファイルシステム容量テーブル413を読み込み、ファイルシステムYをキーにしてファイルシステム欄503を検索し、該当するレコードの使用容量サイズ欄505の値を取得する。取得した使用容量サイズをファイルシステムXの使用容量サイズとして応答する。
（６）性能管理部402は、ファイルシステムXの使用容量サイズを取得してファイルシステムXの使用容量サイズとして応答する (ステップ3206)。具体的には、ファイルシステム容量テーブル413を読み込み、ファイルシステムYをキーにしてファイルシステム欄503を検索し、該当するレコードの使用容量サイズ欄505の値を取得し、応答する。
【０１９８】
本実施例によれば、仮想ハードディスクファイル107を複製した場合に、複製元の性能情報を活用して、仮想ハードディスクファイル107を管理できる。すなわち、複製先の仮想ハードディスクファイル107を用いて仮想サーバ101を起動してなかった場合であっても、複製元の使用容量サイズを活用して、最適化処理を実行できる。特に、バックアップ目的で仮想ハードディスクファイルを複製する場合、複製先の仮想ハードディスクファイルを用いて仮想サーバ101を起動しないことが多い。バックアップ目的で他世代の仮想ハードディスクファイル107複製しても、その複製元の使用容量サイズを活用すれば、これらの仮想ハードディスクファイル107に対しても最適化サイズを参照できる。
【０１９９】
説明した実施例に、さらに、仮想ハードディスクの最終利用時刻をそれぞれ記憶し、最適化サイズとともに管理画面に表示してもよい。また、対処決定部405が、最終利用時刻を参照して、より遅いものを優先的に最適化候補にしたりしてもよい。
【符号の説明】
【０２００】
100：物理サーバ、101：仮想サーバ、102：管理OS、103：ゲストOS、104：インタフェース、105：ファイルシステム、106：仮想ハードディスク、107：仮想ハードディスクファイル、108：ファイルシステム、109：サーバ仮想化プログラム、110：管理サーバ、111：インタフェース、112：最適化処理部、113：ファイルシステム、114：管理端末、115：ネットワーク、117：性能提供部、118：構成提供部、119：性能提供部、120：構成提供部、122：ストレージ装置、123：入出力部、300：計算機、301：CPU、302：メモリコントローラ、303：メインメモリ、304：ホストバスアダプター、305：SANスイッチ、306：ハードディスクドライブインタフェース、307：ディスプレイインタフェース、308：入力インタフェース、309：LANインタフェース、310：LANスイッチ、311：ハードディスクドライブ、312：ディスプレイ装置、313：入力デバイス、314：バス、
401：構成管理部、402：性能管理部、403：スケジュール管理部、404：入出力部、405：対処決定部、406：記憶部、407：ファイルシステム構成テーブル、408：仮想ハードディスクファイルサイズテーブル、409：スケジュールテーブル、410：スケジュール実行結果テーブル、411：閾値テーブル、412：仮想ハードディスク構成テーブル、413：ファイルシステム容量テーブル、414：仮想サーバOS対応テーブル、415：仮想ハードディスクファイルシステム対応テーブル、416：対処案テーブル、417：インシデントテーブル、418：イベントテーブル、419：イベント管理部。
【図１】
0005427011.tif 000002
【図２】
0005427011.tif 000003
【図３】
0005427011.tif 000004
【図４】
0005427011.tif 000005
【図５】
0005427011.tif 000006
【図６】
0005427011.tif 000007
【図７】
0005427011.tif 000008
【図８】
0005427011.tif 000009
【図９】
0005427011.tif 000010
【図１０】
0005427011.tif 000011
【図１１】
0005427011.tif 000012
【図１２】
0005427011.tif 000013
【図１３】
0005427011.tif 000014
【図１４】
0005427011.tif 000015
【図１５】
0005427011.tif 000016
【図１６】
0005427011.tif 000017
【図１７】
0005427011.tif 000018
【図１８Ａ】
0005427011.tif 000019
【図１８Ｂ】
0005427011.tif 000020
【図１９】
0005427011.tif 000021
【図２０】
0005427011.tif 000022
【図２１】
0005427011.tif 000023
【図２２Ａ】
0005427011.tif 000024
【図２２Ｂ】
0005427011.tif 000025
【図２２Ｃ】
0005427011.tif 000026
【図２３Ａ】
0005427011.tif 000027
【図２３Ｂ】
0005427011.tif 000028
【図２４】
0005427011.tif 000029
【図２５】
0005427011.tif 000030
【図２６】
0005427011.tif 000031
【図２７】
0005427011.tif 000032
【図２８】
0005427011.tif 000033
【図２９】
0005427011.tif 000034
【図３０】
0005427011.tif 000035
【図３１】
0005427011.tif 000036
【図３２】
0005427011.tif 000037