(57)【要約】【課題】仮想計算機システムにおける仮想マシンが無秩序に増殖するスプロール現象を抑制し、利用可能なリソースの柔軟な管理を提供する。【解決手段】仮想計算機装置上で動作する仮想マシンおよび仮想マシン上で動作するアプリケーションのリソース使用状況を監視し、事前設定ポリシーに従い仮想マシンへのリソース配分の変更、仮想マシンの保存、削除を自動的におこなう。例えば、異常状態を検出した場合、前記仮想マシンに対して状態変更アクションを実行する。【選択図】図１
2012216008.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンと、
仮想マシン上で動作するアプリケーションと、
前記仮想マシンまたは前記アプリケーションのリソース使用状況を監視する監視モジュールと、
前記監視により取得されたリソース使用状況に基づいて、当該監視対象の仮想マシンまたはアプリケーションのリソース使用状況が異常状態であるか否かを検出し、異常状態を検出した場合、前記仮想マシンに対して状態変更アクションを実行するポリシー制御モジュールと、
を備える仮想計算機装置。
【請求項２】
前記状態変更アクションは、仮想マシンへのリソース配分の変更、仮想マシンの停止、仮想マシンの保存、または仮想マシンの削除のうち少なくとも１つを含むことを特徴とする請求項１に記載の仮想計算機装置。
【請求項３】
前記事前設定ポリシーは、ポリシー情報データベースから取得することを特徴とする請求項１または２に記載の仮想計算機装置。
【請求項４】
前記監視モジュールは、監視により取得されたリソース使用状況に関するデータを、履歴情報データベースに格納し、
前記ポリシー制御モジュールは、前記履歴情報データベースから、リソース使用状況に関するデータを読み出して取得する、
ことを特徴とする請求項１乃至３のいずれかに記載の仮想計算機装置。
【請求項５】
仮想計算機装置上の仮想マシンまたは前記仮想マシン上で動作するアプリケーションのリソースを管理する方法であって、
前記仮想マシンまたは前記アプリケーションのリソース使用状況を監視するステップと、
前記監視により取得されたリソース使用状況に基づいて、当該監視対象の仮想マシンまたはアプリケーションのリソース使用状況が異常状態であるか否かを検出するステップと、
異常状態を検出した場合、前記仮想マシンに対して状態変更アクションを実行するステップと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想計算機装置に関する。
【背景技術】
【０００２】
近年、ハードウェア資源の有効活用、設置スペースや消費電力のコスト削減、柔軟かつ迅速なビジネスニーズへの対応等多様化するＩＴインフラニーズへの対応策として仮想化技術が導入されている。また、今後大きな市場拡大が期待されるクラウドコンピューティングにおける要素技術としても仮想化技術が利用されている。ＶＭｗａｒｅ（商標）、Ｈｙｐｅｒ−Ｖ（商標）、ＸｅｎＳｅｒｖｅｒ（商標）といった仮想化基盤製品においても、仮想マシンのプロビジョニングやセルフサービスポータル等容易に仮想化環境を構築できるような様々な機能が提供されている。
【０００３】
特許文献１には、仮想マシン上で動作するアプリケーションをリアルタイムに監視し、アプリケーションおよび仮想マシンの優先順位に応じて動的に仮想マシンへのリソース割当てを実行する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８１５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の仮想計算機システムでは、仮想マシンの複製やテンプレートからのプロビジョニング等の機能により容易に仮想マシンを作成することが可能である為、適切な設計及び管理をおこなわずに仮想化を進めることにより、仮想マシンが無秩序に増殖してしまうスプロール現象が発生し、適切に仮想マシンの管理がおこなえない状態に陥るとともに、利用可能なリソースを無駄に消費してしまう問題がある。しかしながら、不要な仮想マシンにも動作中のアプリケーションがあれば優先順位に応じたリソースが割当てられる為、仮想マシンのスプロール現象を抑える効果はなく、リソースの無駄な消費を抑制することはできない。
【０００６】
本発明は、かかる実情に鑑み、仮想計算機システムにおける仮想マシンが無秩序に増殖するスプロール現象を抑制し、利用可能なリソースの柔軟な管理を提供しようとするものである。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る発明は、仮想計算機装置上で動作する仮想マシンおよび仮想マシン上で動作するアプリケーションのリソース使用状況を監視し、事前設定ポリシーに従い仮想マシンへのリソース配分の変更、仮想マシンの保存、削除を自動的におこなう。
【０００８】
他の一実施形態に係る発明は、仮想計算機装置上の仮想マシン上で動作するアプリケーションを有する仮想計算機装置において、仮想マシンおよびアプリケーションのリソース使用状況を監視し、事前設定ポリシーに従い有効に利用されていない仮想マシンを検出した場合、仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除を自動実行することにより、問題のある仮想マシンを容易に識別可能にするとともに、仮想計算機システムリソースの無駄な消費を抑制し、有効に再利用する為の手段を提供する。
【０００９】
また、他の一実施形態に係る発明は、仮想マシンのリソース使用量に応じた動的なリソース再配分や仮想マシンの再配置は、必要とする仮想マシンに対しては有効な手段であるが、不要とする仮想マシンに対しても使用量に応じたリソースが割当てられ続けることになり、リソースの無駄な消費が生じ、仮想マシンのスプロールも抑制できない。本発明では、ポリシーおよびリソース使用状況をベースに不要な仮想マシンを検出し、仮想マシンのリソース再配分だけではなく、停止、削除、保存といったアクションを提供することにより、仮想マシンのスプロール現象の効果的な抑制を実現する。
【発明の効果】
【００１０】
本発明の仮装計算機システムによれば、仮想計算機システムにおける仮想マシンが無秩序に増殖するスプロール現象を抑制し、利用可能なリソースの柔軟な管理を提供する。仮想マシンおよびアプリケーションレベルでリソース使用状況を監視することにより、柔軟かつきめ細やかに仮想マシンの正常／異常判定が可能になる。また、事前設定ポリシーに従い異常な仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除を自動実行することにより、無駄に消費されているリソースを効率良く解放し、効果的に再利用することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る仮想計算機システムの概略構成を示すブロック図である。
【図２】本実施例における仮想計算機装置１００の機能構成を示すブロック図である。
【図３】本実施例におけるアプリケーション監視モジュール１２２の動作を示すフローチャートである。
【図４】本実施例におけるアプリケーション情報収集モジュール１１３の動作を示すフローチャートである。
【図５】本実施例における仮想マシン監視モジュール１１２の動作を示すフローチャートである。
【図６】本実施例におけるポリシー制御モジュール１１４の情報取得の動作を示すフローチャートである。
【図７】本実施例において、アプリケーション１２３の異常状態検出時におけるポリシー制御モジュール１１４のリソース解放の動作を示すフローチャートである。
【図８】本実施例において、仮想マシン１２０の異常状態検出時におけるポリシー制御モジュール１１４のリソース解放の動作を示すフローチャートを示す。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１３】
図１は、本発明の一実施形態に係る仮想計算機システムの概略構成を示すブロック図である。図２は、本実施例における仮想計算機装置１００の機能構成を示すブロック図である。図１に示すように、仮想計算機装置１００は、管理用仮想マシン１１０と、仮想マシン１２０とを含んで構成され、履歴情報データベース２００及びポリシー情報データベース３００と、ネットワークを介して接続されている。また、図２に示すように、管理用仮想マシン１１０は、ＯＳ（オペレーティング・システム）１１１、仮想マシン監視モジュール１１２、アプリケーション情報収集モジュール１１３、及び、ポリシー制御モジュール１１４を含んで構成される。仮想マシン１２０は、ＯＳ１２１、アプリケーション監視モジュール１２２、及び、任意数のアプリケーション１２３を含んで構成される。仮想マシン１２０、アプリケーションの数は一例であり、さらに多くの仮想計算機装置１００、仮想マシン１２０、アプリケーション１２３を備えていてもよい。仮想マシン監視モジュール１１２とアプリケーション監視モジュール１２２をあわせて、単に監視モジュールという。
【００１４】
本実施例における仮想計算機システムは、仮想計算機装置１００上の仮想マシン上で動作するアプリケーションを有する仮想計算機装置１００、リソース使用データおよび仮想マシンの状態変更履歴を格納する履歴情報データベース２００、事前設定されたポリシー情報を格納するポリシー情報データベース３００を備え、仮想計算機装置において、リソース使用状況監視、仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除機能を提供する。
【００１５】
管理用仮想マシン１１０は、仮想計算機装置１００上で動作する。一又は複数の仮想マシン１２０も、仮想計算機装置１００上で動作する。なお、図１では、仮想計算機装置１００上で２つの仮想マシン１２０が動作する例を示しているが、仮想計算機装置１００上で動作する仮想マシンは２つに限定されず、任意の数の仮想マシンを動作させることができる。
【００１６】
仮想計算機装置１００上で動作する各仮想マシン１２０上のアプリケーション監視モジュール１２２が、仮想マシン上のＯＳ１２１と連携し仮想マシン上で動作する各アプリケーション１２３のリソース使用状況を監視する。なお、各仮想マシン上で動作するアプリケーションの数は２つに限定されず、仮想マシンごとに任意の数のアプリケーションを動作させることができる。
【００１７】
また、仮想計算機装置１００上で動作する管理用仮想マシン１１０上のアプリケーション情報収集モジュール１１３が、各仮想マシン１２０上のアプリケーション監視モジュール１２２からアプリケーション１２３のリソース使用データを取得し、定期的に履歴情報データベース２００へ格納する。
【００１８】
管理用仮想マシン１１０上の仮想マシン監視モジュール１１２は、管理用仮想マシン１１０上のＯＳ１１１または仮想マシンモニタとの連携等により仮想計算機装置１００上の各仮想マシン１２０のリソース使用状況を監視し、監視の結果取得したリソース使用状況に基づいて、履歴情報データベース２００へ仮想マシンのリソース使用データを定期的に格納する。
【００１９】
管理用仮想マシン１１０上のポリシー制御モジュール１１４が、履歴情報データベース２００からリソース使用データを定期的に読み出して取得する。さらに、同ポリシー制御モジュール１１４が、ポリシー情報データベース３００から事前設定ポリシー情報を定期的に取得する。
【００２０】
ポリシー情報データベース３００に格納される事前設定ポリシーには、各仮想マシン、アプリケーションのリソース使用状況監視の有効／無効、リソース使用状況監視が有効の場合のリソース使用のしきい値、評価期間、管理者メールアドレス、仮想マシンに対する状態変更アクションの実行オプションとして、仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除を含む。
【００２１】
管理用仮想マシン１１０上のポリシー制御モジュール１１４が、履歴情報データベース２００から取得したリソース使用データ及びポリシー情報データベース３００から取得した事前設定ポリシー情報に基づき、リソース使用状況監視対象の各仮想マシン、アプリケーションのリソース使用の正常／異常を判断する。
【００２２】
もし管理用仮想マシン１１０上のポリシー制御モジュール１１４が、アプリケーションリソース使用のしきい値を下回る異常状態を検出した場合、事前設定ポリシーに基づき、ポリシー制御モジュール１１４が管理者メールアドレスに警告メールを発信し、仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除といった仮想マシンに対する状態変更アクションを実行することにより、無駄に消費されているリソースを解放する。
【００２３】
もし管理用仮想マシン１１０上のポリシー制御モジュール１１４が、仮想マシンリソース使用のしき値を下回る異常状態を検出した場合、事前設定ポリシーに基づき、ポリシー制御モジュール１１４が管理者メールアドレスに警告メールを発信し、仮想マシンへのリソース配分の変更、仮想マシンの停止、保存、削除といった仮想マシンに対する状態変更アクションを実行することにより、無駄に消費されているリソースを解放する。
【００２４】
仮想マシン１２０に対する状態変更アクションである仮想マシンのリソース配分の変更は、仮想マシン１２０へのリソース配分を最小限に変更する。仮想マシンの停止は、仮想マシン１２０をシャットダウンする。仮想マシンの削除は、仮想マシン１２０をシャットダウン後仮想計算機装置１００上から削除する。仮想マシンの保存は、仮想マシン１２０をシャットダウンし履歴情報データベース２００へエクスポート後仮想計算機装置上から削除する。ポリシー制御モジュールが状態変更アクションの実行情報を履歴情報データベース２００に格納する。
【００２５】
次に、本実施例における動作について示す。
【００２６】
図１及び図２において、仮想計算機装置１００上の仮想マシン１２０上で動作するアプリケーション監視モジュール１２２が、同仮想マシン上で動作するアプリケーション１２３のリソース使用状況を監視する。仮想計算機装置１００上の管理用仮想マシン１１０上で動作するアプリケーション情報収集モジュール１１３が、アプリケーション監視モジュール１２２からアプリケーションのリソース使用データを取得し、履歴情報データベース２００に格納する。
【００２７】
図３は、本実施例におけるアプリケーション監視モジュール１２２の動作を示すフローチャートである。アプリケーション監視モジュール１２２は、まず、仮想マシン１２０上のアプリケーション１２３のリソース使用状況を監視する（３０１）。監視の結果得られたリソース使用状況に基づいて、アプリケーション監視モジュール１２２は、アプリケーション情報収集モジュール１１３にアプリケーション１２３のリソース使用データを提供する（３０２）。
【００２８】
図４は、本実施例におけるアプリケーション情報収集モジュール１１３の動作を示すフローチャートである。アプリケーション情報収集モジュール１１３は、アプリケーション監視モジュール１２２からアプリケーション１２３のリソース使用データを取得すると（４０１）、取得したアプリケーション１２３のリソース使用データを、履歴情報データベース２００に格納する（４０２）。
【００２９】
図５は、本実施例における仮想マシン監視モジュール１１２の動作を示すフローチャートである。仮想マシン監視モジュール１１２は、仮想マシン１２０のリソース使用状況を監視する（５０１）。そして、監視の結果得られた仮想マシン１２０のリソース使用状況に基づいて、リソース使用データを履歴情報データベース２００に格納する（５０２）。
【００３０】
図６は、本実施例におけるポリシー制御モジュール１１４の情報取得の動作を示すフローチャートである。管理用仮想マシン１１０上で動作するポリシー制御モジュール１１４は、履歴情報データベース２００からリソース使用データを取得する（６０１）。そして、ポリシー制御モジュール１１４は、ポリシー情報データベース３００から事前設定ポリシー情報を取得し、監視対象の仮想マシンまたはアプリケーションのリソース使用が正常状態であるか異常状態であるかを検出する（６０２）。
【００３１】
図７は、本実施例において、アプリケーション１２３の異常状態検出時におけるポリシー制御モジュール１１４のリソース解放の動作を示すフローチャートである。ポリシー制御モジュール１１４は、まず、仮想マシン１２０上にリソース使用状況監視対象に設定されたアプリケーションが存在するか否かを判断する（７０１）。リソース使用状況監視対象に設定された各アプリケーション１２３に対しては、各アプリケーション１２３が動作する仮想マシン１２０上のアプリケーション監視モジュール１２２が、当該各アプリケーション１２３のリソース使用状況を監視し、監視により取得したリソース使用状況に基づいて、各アプリケーション１２３のリソース使用が正常状態であるか、あるいは異常状態であるかを判断する（７０２）。
【００３２】
ポリシー制御モジュール１１４が、仮想マシン１２０上で動作するリソース使用状況監視対象アプリケーション１２３のリソース使用のしきい値を下回る異常状態を検出した場合、ポリシー情報データベース３００から取得した事前設定ポリシーに基づき、ポリシー制御モジュール１１４は、管理者のメールアドレスに警告メールを発信する（７０３）。そして、ポリシー制御モジュール１１４は、仮想マシン１２０に対して状態変更アクションを実行することにより、無駄に消費されているリソースを解放する。また、ポリシー制御モジュール１１４は、状態変更アクションの実行情報を履歴情報データベース２００に格納する（７０４）。状態変更アクションとしては、仮想マシン１２０へのリソース配分の変更、仮想マシンの停止、保存、削除が含まれる。
【００３３】
図８は、本実施例において、仮想マシン１２０の異常状態検出時におけるポリシー制御モジュール１１４のリソース解放の動作を示すフローチャートを示す。ポリシー制御モジュール１１４は、まず、仮想マシン１２０がリソース使用状況監視対象に設定されているか否かを判断する（８０１）。リソース使用状況監視対象に設定された各仮想マシン１２０に対しては、管理用仮想マシン１１０条の仮想マシン監視モジュール１１２が、当該各仮想マシン１２０のリソース使用状況を監視し、監視により取得したリソース使用状況に基づいて、各仮想マシン１２０のリソース使用が正常状態であるか、あるいは異常状態であるかを判断する（８０２）。
【００３４】
ポリシー制御モジュール１１４が、リソース使用状況監視対象の仮想マシン１２０のリソース使用のしきい値を下回る異常状態を検出した場合、ポリシー情報データベース３００から取得した事前設定ポリシーに基づき、ポリシー制御モジュール１１４は、管理者のメールアドレスに警告メールを発信する（８０３）。そして、ポリシー制御モジュール１１４は、仮想マシン１２０に対して状態変更アクションを実行することにより、無駄に消費されているリソースを解放する。また、ポリシー制御モジュール１１４は、状態変更アクションの実行情報を履歴情報データベース２００に格納する（８０４）。
【００３５】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００３６】
例えば、他の実施例としては、ポリシー情報データベース３００に格納される事前設定ポリシーとして、スプロールＶＭ（バーチャル・マシン）集合サーバとなる仮想計算機装置情報を追加してもよい。本ポリシーに従いポリシー制御モジュールが異常検出した仮想マシンをスプロールＶＭ集合サーバに移動させることにより、異常な仮想マシンの識別が容易となり調査やアクションの実行等迅速かつ効率的に一元管理がおこなえるようになる。
【００３７】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限
られない。
【００３８】
（付記１）仮想マシンと、仮想マシン上で動作するアプリケーションと、前記仮想マシンまたは前記アプリケーションのリソース使用状況を監視する監視モジュールと、前記監視により取得されたリソース使用状況に基づいて、当該監視対象の仮想マシンまたはアプリケーションのリソース使用状況が異常状態であるか否かを検出し、異常状態を検出した場合、前記仮想マシンに対して状態変更アクションを実行するポリシー制御モジュールと、を備える仮想計算機装置である。
【００３９】
（付記２）前記状態変更アクションは、仮想マシンへのリソース配分の変更、仮想マシンの停止、仮想マシンの保存、または仮想マシンの削除のうち少なくとも１つを含むことを特徴とする付記１に記載の仮想計算機装置である。
【００４０】
（付記３）前記事前設定ポリシーは、ポリシー情報データベースから取得することを特徴とする付記１または２に記載の仮想計算機装置である。
【００４１】
（付記４）前記監視モジュールは、監視により取得されたリソース使用状況に関するデータを、履歴情報データベースに格納し、前記ポリシー制御モジュールは、前記履歴情報データベースから、リソース使用状況に関するデータを読み出して取得する、ことを特徴とする付記１乃至３のいずれかに記載の仮想計算機装置である。
【００４２】
（付記５）仮想計算機装置上の仮想マシンまたは前記仮想マシン上で動作するアプリケーションのリソースを管理する方法であって、前記仮想マシンまたは前記アプリケーションのリソース使用状況を監視するステップと、前記監視により取得されたリソース使用状況に基づいて、当該監視対象の仮想マシンまたはアプリケーションのリソース使用状況が異常状態であるか否かを検出するステップと、異常状態を検出した場合、前記仮想マシンに対して状態変更アクションを実行するステップと、を備える方法である。
【符号の説明】
【００４３】
１００  仮想計算機装置、１１０  管理用仮想マシン、１１１  ＯＳ、１１２  仮想マシン監視モジュール、１１３  アプリケーション情報収集モジュール、１１４  ポリシー制御モジュール、１２０  仮想マシン、１２１  ＯＳ、１２２  アプリケーション監視モジュール、１２３  アプリケーション、２００  履歴情報データベース、３００  ポリシー情報データベース
【図１】
2012216008.tif 000003
【図２】
2012216008.tif 000004
【図３】
2012216008.tif 000005
【図４】
2012216008.tif 000006
【図５】
2012216008.tif 000007
【図６】
2012216008.tif 000008
【図７】
2012216008.tif 000009
【図８】
2012216008.tif 000010