(57)【要約】【課題】特定の仮想マシンからの指示にしたがって、他の仮想マシンがログ情報を採取する際に、係る他の仮想マシンが本来行う処理に影響が出ないようにすることを可能とする。【解決手段】仮想マシン管理装置３は、情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第１の仮想マシン４１からのログ採取命令に従い、所定の基準に基づいて複数の仮想マシンの中から第２の仮想マシン４２を選択し、第２の仮想マシン４２に対してログ採取命令を入力する指示部３１と、指示部３１が、第２の仮想マシン４２に対してログ採取命令を入力したときに、第２の仮想マシン４２に対して、リソースを追加して割り当てる割り当て部３２と、を備える。【選択図】      図７
2015146148.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力する指示手段と、
前記指示手段が、前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てる割り当て手段と、
を備える仮想マシン管理装置。
【請求項２】
前記割り当て手段は、前記第一の仮想マシンに割り当てていた前記リソースの一部を、前記第二の仮想マシンに対して割り当てる、
請求項１に記載の仮想マシン管理装置。
【請求項３】
前記ログ採取命令を受けて前記第二の仮想マシンが前記ログ情報を採取するために必要となる前記リソースに関する割り当て量を、所定の基準に基づいて算出する算出手段
をさらに備え、
前記割り当て手段は、前記算出手段が算出した前記割り当て量が示す前記リソースを、前記第二の仮想マシンに対して割り当てる、
請求項１または２に記載の仮想マシン管理装置。
【請求項４】
採取する前記ログ情報の内容を識別可能な識別子と、当該ログ情報を採取するために必要となる前記割り当て量と、を関連付けた採取ログ管理情報を記憶する採取ログ管理情報記憶手段
をさらに備え、
前記算出手段は、前記ログ採取命令が包含する、採取する前記ログ情報の内容を示す情報を、前記採取ログ管理情報と照合することにより、前記割り当て量を算出する、
請求項３に記載の仮想マシン管理装置。
【請求項５】
前記仮想マシンが前記ログ情報を採取した際に使用した前記リソースの量を計測し、その計測結果を前記割り当て量とした前記採取ログ管理情報を生成する採取ログ管理情報生成手段をさらに備える、
請求項４に記載の仮想マシン管理装置。
【請求項６】
同一の前記リソースを共用する２以上の前記仮想マシンを識別可能な識別子同士を関連付けた競合リソース管理情報を記憶する競合リソース管理情報記憶手段をさらに備え、
前記指示手段は、前記競合リソース管理情報において、前記第一の仮想マシンを識別可能な識別子に関連付けられた識別子により識別された仮想マシンを、前記第二の仮想マシンとする、
請求項１乃至５のいずれかに記載の仮想マシン管理装置。
【請求項７】
前記競合リソース管理情報記憶手段は、２以上の前記仮想マシンが共用する前記リソースの種別を識別可能な識別子を、当該仮想マシンを識別可能な識別子とさらに関連付けた、前記競合リソース管理情報を記憶し、
前記指示手段は、前記ログ採取命令が包含する、採取する前記ログ情報の内容を示す情報と、前記競合リソース管理情報と、に基づき、前記第二の仮想マシンを選択する、
請求項６に記載の仮想マシン管理装置。
【請求項８】
前記割り当て手段は、前記仮想マシンを識別可能な識別子と、当該仮想マシンに割り当てた前記リソースを識別可能な識別子と、を関連付けたリソース割り当て情報を生成し、前記リソース割り当て情報に基づき、前記競合リソース管理情報を生成する、
請求項６または７に記載の仮想マシン管理装置。
【請求項９】
第一の情報処理装置によって、
前記第一の情報処理装置あるいは第二の情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力し、
前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てる、
仮想マシン管理方法。
【請求項１０】
情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力する指示処理と、
前記指示処理が、前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てる割り当て処理と、
をコンピュータに実行させる、仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、複数の仮想マシンが構築された環境において、仮想マシンに関するログ情報を採取する仮想マシン管理装置等に関する。
【背景技術】
【０００２】
近年、様々な業界におけるクラウドサービスが普及するにつれて、仮想化環境を利用したコンピュータシステムが増加してきている。また、コンピュータシステムにおけるハードウェア性能が向上するにつれて、係る仮想化環境における複数の仮想マシンが、物理サーバが有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）あるいはメモリ等のリソースを共有する方式が一般的となっている。このようなコンピュータシステムにおいては、物理サーバが有するリソースを共有する仮想マシン同士が、メモリバス帯域あるいはネットワークＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）帯域等に関するリソース競合などにより、システム性能が低下する問題が発生することがある。
【０００３】
このような性能問題が発生した場合、当該仮想マシンを使用するユーザは、その仮想マシンにおいて動作するゲストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が有するログ採取機能を使用して、問題を解析するために必要なログ情報を採取する。しかしながら、ゲストＯＳは、例えば、仮想化環境を構築するハードウェアレベルにおける競合状況を示すログ情報を採取することはできない。このため、当該ゲストＯＳが有するログ採取機能が採取したログ情報のみからでは、係る性能問題を十分に解析することはできないという問題がある。
【０００４】
このような問題に対応するために、当該仮想マシンを使用するユーザは、他の仮想マシンにおいて動作するゲストＯＳ、あるいは、仮想化環境を構築し管理するソフトウェアであるハイパーバイザが採取できるログ情報を外部から入手する。そして、係るユーザは、入手したログ情報を、自分が使用するゲストＯＳが採取したログ情報と時系列に突き合わせることによって、係る性能問題を解析することができる。
【０００５】
このような問題解析を行うことに関連する技術として、特許文献１には、各ゲストＯＳが採取した性能情報と、バーチャルコンソールが表示した画面（描画情報）をハイパーバイザが記録することにより、問題が仮想マシン特有の問題であるのか、あるいは、ゲストＯＳに関する問題であるのかを切り分ける技術が開示されている。
【０００６】
また、特許文献２には、ゲストＯＳが採取できる性能情報を、リソース割り当て情報と関連付けることにより、仮想マシンに割り当てられたリソースが動的に変化した際の性能情報に関する変化を監視する技術が開示されている。
【０００７】
また、特許文献３には、仮想マシンにおける統計処理を最小のオーバーヘッドにより実行し、取得した統計情報をユーザが自由に加工して出力する技術が開示されている。係る技術では、トレースバッファに仮想化イベントに関する情報を記録して、別プロセスがトレースバッファを監視する。そして、係る技術は、ハイパーバイザが採取した統計情報を、ゲストＯＳが動作する環境において、ユーザが自由に加工して出力するインタフェースを提供している。
【０００８】
さらに、特許文献４には、管理対象である仮想マシンにおいて情報採取を行い、管理を行うサーバにおいて動作する管理マネージャに対して負荷をかけることをせずに、採取された情報にアクセスできるようにした技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開2009-176228号公報
【特許文献２】特開2012-108956号公報
【特許文献３】特開2010-204972号公報
【特許文献４】特開2011-159249号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特定の仮想マシンを使用するユーザが、性能問題等を解析するために、他の仮想マシンにより採取されたログ情報を入手する場合、係る他の仮想マシンは、割り当てられたリソースの一部を使用することにより、ログ情報を採取する。したがって、係る他の仮想マシンにおいて、本来行うべき処理を実行するリソースが一時的に減少することになるため、係る他の仮想マシンが本来行うべき処理に関して影響が出るという問題がある。特許文献１乃至４が開示した技術は、この問題を解決することはできない。
【００１１】
本願発明の主たる目的は、この問題を解決した、仮想マシン管理装置、仮想マシン管理方法、及び、仮想マシン管理プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本願発明に係る仮想マシン管理装置は、情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力する指示手段と、前記指示手段が、前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てる割り当て手段と、を備えることを特徴とする。
【００１３】
上記目的を達成する他の見地において、本願発明の仮想マシン管理方法は、第一の情報処理装置によって、前記第一の情報処理装置あるいは第二の情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力し、前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てることを特徴とする。
【００１４】
また、上記目的を達成する更なる見地において、本願発明に係る仮想マシン管理プログラムは、情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第一の仮想マシンからの前記ログ採取命令に従い、所定の基準に基づいて前記複数の仮想マシンの中から第二の仮想マシンを選択し、前記第二の仮想マシンに対して前記ログ採取命令を入力する指示処理と、前記指示処理が、前記第二の仮想マシンに対して前記ログ採取命令を入力したときに、前記第二の仮想マシンに対して、前記リソースを追加して割り当てる割り当て処理と、をコンピュータに実行させることを特徴とする。
【００１５】
更に、本発明は、係る仮想マシン管理プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
【発明の効果】
【００１６】
本願発明は、特定の仮想マシンからの指示にしたがって、他の仮想マシンがログ情報を採取する際に、係る他の仮想マシンが本来行う処理に影響が出ないようにすることを可能とする。
【図面の簡単な説明】
【００１７】
【図１】本願発明の第１の実施形態に係る仮想マシン管理装置の構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係る仮想マシン管理装置のハードウェアの構成を示すブロック図である。
【図３Ａ】本願発明の第１の実施形態に係る仮想マシン管理装置の動作を示すフローチャート（１／２）である。
【図３Ｂ】本願発明の第１の実施形態に係る仮想マシン管理装置の動作を示すフローチャート（２／２）である。
【図４】本願発明の第１の実施形態に係るリソース割り当て情報の構成例を示す図である。
【図５】本願発明の第１の実施形態に係る競合リソース管理情報の構成例を示す図である。
【図６】本願発明の第１の実施形態に係る採取ログ管理情報の構成例を示す図である。
【図７】本願発明の第２の実施形態に係る仮想マシン管理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
＜第１の実施形態＞
図１は、第１の実施形態に係る仮想マシン管理装置１の構成を概念的に示すブロック図である。本実施形態に係る仮想マシン管理装置１は、サーバ装置等の情報処理装置であり、仮想化環境を構築している。本実施形態に係る仮想マシン管理装置１は、ハイパーバイザ１０、及び、ゲストＯＳ２０−１乃至ｎを実行している。ハイパーバイザ１０は、仮想化環境を構築し、構築した仮想マシンを管理するソフトウェアである。ゲストＯＳ２０−１乃至ｎは、構築した各仮想マシンにおいて動作するＯＳである。
【００２０】
本実施形態に係る仮想マシン管理装置１のハードウェアの構成を図２に例示する。以下に説明する実行環境は、本実施形態だけでなく、後述する各実施形態においても採用可能である。
【００２１】
図２に示す通り、仮想マシン管理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、ハードディスク９０４（記憶装置）、外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、及び、入出力インタフェース９０９を備え、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。入出力インタフェース９０９は、例えば、キーボード等の入力装置、モニタ等の出力装置を含む。尚、図２は、仮想マシン管理装置１がこれらの構成要素を１つずつ備えた例を示しているが、仮想マシン管理装置１がこれらの構成要素を複数備える場合もある。
【００２２】
そして、仮想マシン管理装置１は、ハイパーバイザ１０、及び、ゲストＯＳ２０−１乃至ｎをコンピュータプログラムとして提供されたのち、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行する。また、係るコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００２３】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００２４】
ゲストＯＳ２０−１乃至ｎは、それぞれ、採取ログ設定処理２１−１乃至ｎ、ログ採取処理２２−１乃至ｎ、及び、ログ読み出し処理２３−１乃至ｎを実行する。
【００２５】
採取ログ設定処理２１−ｉ（ｉは１乃至ｎの何れかの整数）は、ゲストＯＳ２０−ｉを使用するユーザに対して、モニタ画面等を通して、採取可能なログの種別に関する一覧情報を提示する。係る一覧情報としては、例えば、所定のログを採取するコマンド名一覧などがある。採取ログ設定処理２１−ｉは、係るログの種別に関する一覧情報から、ユーザが選択した種別のログを採取することを指示する情報であるログ採取命令を、ハイパーバイザ１０へ入力する。係るログ採取命令は、採取するログの種別を識別可能な識別子、及び、当該ログ採取命令を発行したゲストＯＳ２０−ｉを識別する識別子を包含している。
【００２６】
ログ採取処理２２−ｉは、ゲストＯＳ２０−ｉを使用するユーザ、あるいは、ハイパーバイザ１０から指示された内容に基づき、ゲストＯＳ２０−ｉにおいて採取することが可能なログを採取する。ゲストＯＳ２０−ｉにおいて採取できるログとしては、ＵＮＩＸ（登録商標）系ＯＳにおいて利用可能な“ｐｓ”、“ｔｏｐ”、“ｓａｒ”コマンド等の各種性能ツールが採取するログ、及び、“ｐｒｏｃｆｓ”、“ｓｙｓｆｓ”等の疑似ファイルシステムに関するログなどがある。
【００２７】
ログ採取処理２２−ｉは、採取したログを、ハイパーバイザ１０により生成された共有バッファに格納する。係る共有バッファは、ゲストＯＳ２０−１乃至ｎ、及び、ハイパーバイザ１０からアクセス可能なバッファであり、例えば、図２に示す仮想マシン管理装置１におけるＲＡＭ９０３の一部領域を使用する。
【００２８】
ログ読み出し処理２３−ｉは、係る共有バッファから、採取されたログを読み出して、係るログの内容を、ゲストＯＳ２０−ｉに関する情報を出力するモニタ等の出力装置へ出力する。
【００２９】
ハイパーバイザ１０は、指示処理１１、割り当て処理１２、算出処理１３、採取ログ管理情報生成処理１４、及び、ログ採取処理１８を実行する。尚、指示処理１１、割り当て処理１２、算出処理１３、採取ログ管理情報生成処理１４、及び、ログ採取処理１８は、専用のＨＷ（ハードウェア）（電子回路）によっても実現することが可能である。すなわち、ハイパーバイザ１０は、これらの処理と同等の機能を有するＨＷである、指示部、割り当て部、算出部、採取ログ管理情報生成部、及び、ログ採取部を備えたＨＷであってもよい。
【００３０】
ハイパーバイザ１０は、仮想マシン管理装置１が備える競合リソース管理情報記憶部１５に、競合リソース管理情報１５０を記憶する。ハイパーバイザ１０は、仮想マシン管理装置１が備えるリソース割り当て情報記憶部１６に、リソース割り当て情報１６０を記憶する。ハイパーバイザ１０は、仮想マシン管理装置１が備える採取ログ管理情報記憶部１７に、採取ログ管理情報１７０を記憶する。尚、仮想マシン管理装置１は、競合リソース管理情報記憶部１５、リソース割り当て情報記憶部１６、及び、採取ログ管理情報記憶部１７を、図２に示すＲＡＭ９０３、あるいは、ハードディスク９０４の中に備える。
【００３１】
割り当て処理１２は、ゲストＯＳ２０−１乃至ｎを実行する各仮想マシンに対して、仮想マシン管理装置１が備えるリソースを割り当てる。係るリソースは、具体的には、図２に示す、仮想マシン管理装置１が備える構成要素である。割り当て処理１２は、各仮想マシンに対してリソースを割り当てた結果を、リソース割り当て情報１６０として、リソース割り当て情報記憶部１６に格納する。割り当て処理１２は、仮想マシン管理装置１においてシステム構成等に関する変更が生じた場合、必要に応じて、リソース割り当て情報１６０を更新する。
【００３２】
本実施形態に係るリソース割り当て情報１６０の構成例を、図４に例示する。図４に示す通り、リソース割り当て情報１６０は、ゲストＩＤ１６１、リソースタイプ１６２、仮想リソース１６３、物理リソース１６４、及び、リソース割り当て量１６５を関連付けたレコードを包含している。
【００３３】
ゲストＩＤ１６１は、ゲストＯＳ２０−１乃至ｎを識別可能な識別子である。図４に示す例の場合、ゲストＩＤ１６１が示すＧｕｅｓｔ１乃至３は、それぞれ、ゲストＯＳ２０−１乃至３を識別可能な識別子である。
【００３４】
リソースタイプ１６２は、当該レコードが、どのようなリソースに関する情報であるかを示す情報であり、例えば、ＣＰＵに関する情報である場合は“Ｃｐｕ”、メモリに関する情報である場合は“Ｍｅｍ”、ディスクに関する情報である場合は、“Ｄｉｓｋ”となる。尚、図４には、便宜上、ＣＰＵ、メモリ、及び、ディスクに関するレコードのみを示しているが、リソース割り当て情報１６０は、実際には、入出力インタフェース及びネットワークインタフェース等のリソースに関するレコードも包含している。
【００３５】
仮想リソース１６３は、ゲストＯＳ２０−１乃至ｎに割り当てられた仮想リソースを識別可能な識別子である。図４に示す例の場合、各仮想マシンが１つのゲストＯＳを実行している状態であり、ゲストＯＳごとに、ＣＰＵ、メモリ、及び、ディスクに関して、異なる仮想リソースが割り当てられている。
【００３６】
物理リソース１６４は、ゲストＯＳ２０−１乃至ｎに割り当てられた物理リソースを識別可能な識別子である。図４に示す例の場合、ＣＰＵに関しては、ゲストＯＳ２０−１及びゲストＯＳ２０−３が、同じ物理リソースであるＣｐｕ０を割り当てられている。また、メモリに関しては、ゲストＯＳ２０−１及びゲストＯＳ２０−２が、同じ物理リソースであるＭｅｍ０が割り当てられている。
【００３７】
リソース割り当て量１６５は、ゲストＯＳ２０−１乃至ｎに割り当てられた物理リソースに関する割り当て量を示している。リソース割り当て量１６５は、ＣＰＵに関してはＣＰＵ使用率により、メモリ及びディスクに関しては記憶容量により、係る割り当て量を示している。図４に示す例の場合、ゲストＯＳ２０−１に対しては、Ｃｐｕ０に関する５０％のＣＰＵ使用率、Ｍｅｍ０に関する２ＧＢ（ギガバイト）の記憶領域、及び、Ｓｄａに関する２０ＧＢの記憶領域が割り当てられている。尚、リソース割り当て情報１６０は、ＣＰＵ使用率及び記憶容量とは異なる基準を用いて、リソース割り当て量１６５を示してもよい。
【００３８】
割り当て処理１２は、リソース割り当て情報１６０に基づき、競合リソース管理情報１５０を生成して、競合リソース管理情報１５０を、競合リソース管理情報記憶部１５に格納する。
【００３９】
本実施形態に係る競合リソース管理情報１５０の構成例を、図５に例示する。図５に示す通り、競合リソース管理情報１５０は、競合リソースタイプ１５１、及び、リソース競合関係ゲストＩＤ１５２を関連付けたレコードを包含している。
【００４０】
競合リソースタイプ１５１は、リソース割り当て情報１６０におけるリソースタイプ１６２と同様に、当該レコードが、どのようなリソースに関する情報であるかを示す情報である。
【００４１】
リソース競合関係ゲストＩＤ１５２は、競合リソースタイプ１５１が示すリソースに関して、ゲストＯＳ２０−１乃至ｎの何れかが競合しているかを示す情報である。図４におけるリソース割り当て情報１６０が示す通り、ゲストＯＳ２０−１及びゲストＯＳ２０−３は、同じ物理リソースであるＣｐｕ０を割り当てられている。したがって、ＣＰＵに関して、ゲストＯＳ２０−１及びゲストＯＳ２０−３が競合することになるため、競合リソースタイプ１５１が示す値が“Ｃｐｕ”であるレコードにおけるリソース競合関係ゲストＩＤ１５２は、“Ｇｕｅｓｔ１，Ｇｕｅｓｔ３”を示している。競合リソース管理情報１５０は、同様に、メモリに関しては、ゲストＯＳ２０−１及びゲストＯＳ２０−２が競合し、ディスクに関しては、ゲストＯＳ２０−１乃至３が競合することを示している。
【００４２】
割り当て処理１２は、ゲストＯＳ２０−ｉがハイパーバイザ１０に入力したログ採取命令を、指示処理１１を経由して入手する。割り当て処理１２は、指示処理１１が係るログ採取命令が示す情報を基にログ採取を依頼する依頼先として決定したゲストＯＳ２０−ｊ（ｊは１乃至ｎの少なくとも１つ以上の整数）を識別可能な識別子を、指示処理１１から入手する。割り当て処理１２は、ゲストＯＳ２０−ｊが係るログ採取命令を実行する際に必要となるリソースの量が示す値を、算出処理１３から入手する。割り当て処理１１は、算出部１３から入手したリソースの量が示す値分のリソースを、係るログ採取命令を発行したゲストＯＳ２０−ｉに割り当てていたリソースから切り出す。そして、割り当て処理１２は、ゲストＯＳ２０−ｉに割り当てていたリソースからから切り出したリソースを、ゲストＯＳ２０−ｊに対して割り当てる。
【００４３】
算出処理１３は、ゲストＯＳ２０−ｉがハイパーバイザ１０に入力したログ採取命令を、指示処理１１を経由して入手する。算出処理１３は、係るログ採取命令が包含する、採取するログの種別を、採取ログ管理情報記憶部１７に格納された採取ログ管理情報１７０と照合する。
【００４４】
本実施形態に係る採取ログ管理情報１７０の構成例を、図６に例示する。図６に示す通り、採取ログ管理情報１７０は、採取ログ１７１、ログ採取コスト１７２、リソースタイプ１７３、及び、ログ採取対象１７４を関連付けたレコードを包含している。
【００４５】
採取ログ１７１は、採取するログの内容を識別可能な識別子である。本実施形態に係る採取ログ管理情報１７０は、採取ログ１７１として、ＵＮＩＸ系ＯＳにおけるログを採取するコマンドの名称である“ｓａｒ”、“ｉｏｓｔａｔ”、及び、“ｎｅｔｓｔａｔ”等を示している。
【００４６】
ログ採取コスト１７２は、ゲストＯＳ２０−１乃至ｎあるいはハイパーバイザ１０が、当該レコードにおける採取ログ１７１が示すログを採取する場合に、使用するリソースの量を示した情報である。図６に示す例の場合、例えば、“ｓａｒ”コマンドは、ＣＰＵ使用率１％分と、メモリ使用量５ＭＢ（メガバイト）分のリソースを使用することを示している。
【００４７】
リソースタイプ１７３は、採取ログ１７１が示すログが、どのようなリソースに関するログであるかを示す情報である。例えば、“ｓａｒ”コマンドは、システム全般に関する性能情報を採取するコマンドであるため、採取ログ１７１が“ｓａｒ”であるレコードにおけるリソースタイプ１７３は、“Ｓｙｓｔｅｍ”と示している。また、“ｉｏｓｔａｔ”コマンドは、ディスクに関する性能情報を採取するコマンドであるため、採取ログ１７１が“ｉｏｓｔａｔ”であるレコードにおけるリソースタイプ１７３は、“Ｄｉｓｋ”と示している。
【００４８】
ログ採取対象１７４は、採取ログ１７１が示すログが、ゲストＯＳ２０−１乃至ｎにより採取されるのか、あるいは、ハイパーバイザ１０により採取されるのかを示す情報である。
【００４９】
算出処理１３は、係るログ採取命令が、例えば、“ｓａｒ”コマンドによるログを採取することを指示している場合、採取ログ１７１が“ｓａｒ”であるレコードにおけるログ採取コスト１７２が示す情報を、割り当て処理１２へ入力する。したがってこの場合、算出処理１３は、ゲストＯＳ２０−ｊが係るログ採取命令が指示したログを採取する際に、ＣＰＵ使用率１％分と、メモリ使用量５ＭＢ（メガバイト）分のリソースを使用することを、割り当て処理１２へ入力する。
【００５０】
指示処理１１は、ゲストＯＳ２０−ｉからハイパーバイザ１０に入力されたログ採取命令が包含する採取するログの種別を識別可能な識別子を、採取ログ管理情報１７０における採取ログ１７１と照合する。指示処理１１は、係るログ採取命令が包含する採取するログの種別を識別可能な識別子と値が等しい採取ログ１７１を包含するレコードにおけるリソースタイプ１７３が示す値を、競合リソース管理情報１５０における競合リソースタイプ１５１と照合する。そして、指示処理１１は、競合リソースタイプ１５１が示す値がリソースタイプ１７３が示す値と関連する値であるレコードにおけるリソース競合関係ゲストＩＤ１５２が示す値を基に、ログ採取を依頼する依頼先であるゲストＯＳ２０−ｊを決定する。指示処理１１は、また、係るログ採取命令が包含する採取するログの種別を識別可能な識別子と値が等しい採取ログ１７１を包含するレコードにおけるログ採取対象１７４が示す値が“ハイパーバイザ”を包含する場合は、ログ採取を依頼する依頼先を、ハイパーバイザ１０とする。
【００５１】
例えば、ゲストＯＳ２０−１からハイパーバイザ１０に入力されたログ採取命令が包含する採取するログの種別が“ｓａｒ”コマンドにより採取されるログである場合を考える。この場合、指示処理１１は、採取ログ管理情報１７０を参照し、採取ログ１７１が示す値が“ｓａｒ”であるレコードにおけるリソースタイプ１７３が示す値が“Ｓｙｓｔｅｍ”であり、ログ採取対象１７４が示す値が“ゲストＯＳ”であることを確認する。
【００５２】
指示処理１１は、リソースタイプ１７３が示す値が“Ｓｙｓｔｅｍ”であることから、競合リソース管理情報１５０における競合リソースタイプ１５１が示す値が“Ｃｐｕ”、“Ｍｅｍ”、及び、“Ｄｉｓｋ”であるレコードにおける、リソース競合関係ゲストＩＤ１５２が示す値を確認する。この場合、ゲストＯＳ２０−１とリソースが競合するゲストＯＳは、ゲストＯＳ２０−２乃至３であるため、指示処理１１は、ゲストＯＳ２０−２乃至３を、ログ採取を依頼する依頼先に決定する。
【００５３】
指示処理１１は、ログ採取を依頼する依頼先として決定したゲストＯＳ２０−ｊを識別可能な識別子、及び、ゲストＯＳ２０−ｉが発行したログ採取命令を、割り当て処理１２、及び、算出処理１３へ入力する。そして、指示処理１１は、ゲストＯＳ２０−ｊに対して、係るログ採取命令が指定するログ採取を指示する。
【００５４】
採取ログ管理情報生成処理１４は、ゲストＯＳ２０−１乃至ｎの何れか、あるいは、ハイパーバイザ１０が特定のログを採取した際に使用したリソースの量を計測する。係るリソースの量に関する計測結果としては、ログを採取するために要したＣＰＵ使用率、あるいは、採取したログをメモリに格納するために要したメモリ容量などがある。採取ログ管理情報生成処理１４は、その計測結果をログ採取コスト１７２が示す値とする。採取ログ管理情報生成処理１４は、係る特定のログに関する採取ログ１７１と、リソースタイプタイプ１７３と、ログ採取対象１７４とを、ログ採取コスト１７２と関連付けたレコードを、採取ログ管理情報１７０におけるレコードとして、採取ログ管理情報記憶部１７に格納する。
【００５５】
ログ採取処理１８は、ゲストＯＳ２０−ｉを使用するユーザ、あるいは、ハイパーバイザ１０から指示された内容に基づき、ハイパーバイザ１０において採取することが可能なログを採取する。ハイパーバイザ１０において採取できるログとしては、ハイパーバイザ１０内で発生する仮想化関連のイベントに関するログがある。ログ採取処理１８は、採取したログを、ハイパーバイザ１０により生成された共有バッファに格納する。
【００５６】
次に図２Ａ乃至２Ｂのフローチャートを参照して、本実施形態に係る仮想マシン管理装置１の動作（処理）について詳細に説明する。
【００５７】
採取ログ設定処理２１−ｉは、ゲストＯＳ２０−ｉにおいて、ユーザが入力した、収集するログの種別を指定するログ採取命令を受け付けて、係るログ採取命令を、ハイパーバイザ１０へ入力する（ステップＳ１０１）。指示処理１１は、係るログ採取命令を、競合リソース管理情報１５０及び採取ログ管理情報１７０と照合することにより、ログ採取を依頼するゲストＯＳ２０−ｊを決定し、ゲストＯＳ２０−ｊを識別可能な識別子、及び、ログ採取命令を、割り当て処理１２、及び、算出処理１３へ入力する（ステップＳ１０２）。
【００５８】
算出処理１３は、ログ採取コストが示す値を、割り当て処理１２へ入力する。係るログ採取コストが示す値は、算出処理１３が、係るログ採取命令が包含する、収集するログの種別を、採取ログ管理情報１７０と照合することによって算出した値である（ステップＳ１０３）。割り当て処理１２は、算出処理１３から入力されたログ採取コストが示す値が示すリソースを、ゲストＯＳ２０−ｉに割り当てていたリソースから切り出す（ステップＳ１０４）。割り当て処理１２は、指示処理１１から識別子を入力されたゲストＯＳ２０−ｊに対して、ゲストＯＳ２０−ｉから切り出したリソースを、割り当てる（ステップＳ１０５）。
【００５９】
指示処理１１は、ゲストＯＳ２０−ｊに対して、ログ採取命令が指定するログ採取を指示する（ステップＳ１０６）。ログ採取処理２２−ｊは、ゲストＯＳ２０−ｊにおいて、指定されたログを採取し、採取したログを、ハイパーバイザ１０により生成された共有バッファに格納する（ステップＳ１０７）。ログ読み出し処理２３−ｉは、共有バッファから、採取されたログを読み出して、係るログの内容を、ゲストＯＳ２０−ｉに関する情報を出力するモニタ等の出力装置へ出力し（ステップＳ１０８）、全体の処理は終了する。
【００６０】
本実施形態に係る仮想マシン管理装置１は、特定の仮想マシンからの指示にしたがって、他の仮想マシンがログ情報を採取する際に、係る他の仮想マシンが本来行う処理に影響が出ないようにすることができる。その理由は、指示処理１１がゲストＯＳ２０−ｉからの依頼に基づいてログ採取を依頼する依頼先として決定したゲストＯＳ２０−ｊに対して、割り当て処理１２が、係るログ採取を行うために必要となるリソースを、追加して割り当てるからである。
【００６１】
複数の仮想マシンが構築されたシステムにおいては、仮想マシン間においてＣＰＵあるいはメモリ等のリソースを共有することにより、性能問題が発生することがある。この場合、特定の仮想マシンを使用するユーザは、自分が使用する仮想マシンにおいて採取できるログ情報のみからでは、性能問題を十分に解析することができないため、他の仮想マシンあるいはハイパーバイザにログ情報の採取を依頼する。ログ情報の採取を依頼された他の仮想マシンは、係る依頼に従い、割り当てられているリソースの一部を使用して、ログ情報を採取する。したがって、この際、係る他の仮想マシンが本来行うべき処理を実行するリソースが一時的に減少することになるため、係る他の仮想マシンが本来行うべき処理に関して影響が出ることになる。
【００６２】
これに対して、本実施形態に係る仮想マシン管理装置１は、ゲストＯＳ２０−ｉからの依頼に基づいてゲストＯＳ２０−ｊに対してログ採取を依頼する際に、ゲストＯＳ２０−ｊに対して、係るログ採取を行うために必要となるリソースを、追加して割り当てる。したがって、ゲストＯＳ２０−ｊが、追加して割り当てられたリソースを使用してログ採取を行うことにより、仮想マシン管理装置１は、ゲストＯＳ２０−ｊが本来行うべき処理に影響が出ることを回避できる。
【００６３】
本実施形態においては、割り当て処理１２は、ゲストＯＳ２０−ｊに追加して割り当てる分のリソースを、ゲストＯＳ２０−ｉに割り当てられていたリソースから切り出しているが、未使用状態であるリソースが存在する場合は、係る未使用状態であるリソースの少なくとも一部を切り出してもよい。これにより、仮想マシン管理装置１は、ゲストＯＳ２０−ｊに加えてゲストＯＳ２０−ｉに対しても影響を与えることなく、ゲストＯＳ２０−ｊがログ採取を行うようにすることができる。
【００６４】
また、本実施形態に係る割り当て処理１２は、リソース割り当て情報１６０を基に、ゲストＯＳ２０−１乃至ｎの中で、特定のリソースに関して競合状態にあるゲストＯＳ同士を関連付けることにより、競合リソース管理情報１５０を生成する。したがって、本実施形態に係る仮想マシン管理装置１では、ユーザが、競合リソース管理情報１５０を作成する必要がないため、ユーザの負担を軽減することができる。
【００６５】
また、本実施形態に係る指示処理１１は、ゲストＯＳ２０−ｉから入力されたログ採取命令を、競合リソース管理情報１５０及び採取ログ管理情報１７０と照合する。これにより、指示処理１１は、ログ採取命令が採取を指示するログ情報に関係してリソースがゲストＯＳ２０−ｉと競合するゲストＯＳ２０−ｊを選び出すことができる。したがって、本実施形態に係る仮想マシン管理装置１では、ゲストＯＳ２０−ｉを使用するユーザが、ゲストＯＳ２０−ｊを指定する必要がないため、ユーザの負担を軽減することができる。
【００６６】
さらに、本実施形態に係る算出処理１３は、採取ログ管理情報１７０に基づき、ゲストＯＳ２０−ｊがログ採取命令により指示されたログ採取を行うために必要となるリソースの量を詳細に算出し、算出した結果を割り当て処理１２に入力する。したがって、本実施形態に係る仮想マシン管理装置１は、ゲストＯＳ２０−ｊに対してログ採取を行うために必要となるリソースを、効率よく割り当てることができる。尚、本実施形態においては、算出処理１３は、採取ログ管理情報１７０に基づき係るリソースの量を算出しているが、算出処理１３が、別の基準を用いて係るリソースの量を算出してもよい。例えば、算出処理１３は、仮想マシン管理装置１に関するシステム状態を示す情報等から、所定の算出式を用いて係るリソースの量を算出してもよい。
【００６７】
また、本実施形態に係る採取ログ管理情報生成処理１４は、ゲストＯＳ２０−１乃至ｎの何れか、あるいは、ハイパーバイザ１０が特定のログを採取した際に使用したリソースの量を計測し、その計測結果に基づき、採取ログ管理情報１７０を生成する。したがって、本実施形態に係る仮想マシン管理装置１は、算出処理１３がリソースの量を算出する際に基準とする値を、より正確に設定することができる。また、仮想マシン管理装置１では、ユーザが採取ログ管理情報１７０を作成する必要が無いので、ユーザの負担を軽減することができる。
【００６８】
尚、本実施形態に係る仮想マシン管理装置１が、ゲストＯＳ２０−ｊに対して採取を指示するログ情報は、性能情報に関するログ情報に限定されない。例えば障害が発生したゲストＯＳ−ｉが他のゲストＯＳに対して障害ログの採取を要求する場合においても、本実施形態に係る仮想マシン管理装置１は、上述した処理と同様の処理を実行することができる。
【００６９】
＜第２の実施形態＞
図７は第２の実施形態の仮想マシン管理装置３の構成を概念的に示すブロック図である。
【００７０】
本実施形態の仮想マシン管理装置３は、指示部３１、及び、割り当て部３２を備えている。
【００７１】
指示部３１は、情報処理装置が有する、情報処理を実行するリソースを使用して動作し、ログ採取を指示するログ採取命令を受けてログ情報を採取する複数の仮想マシンの中の第１の仮想マシン４１から、係るログ採取命令を受け取る。指示部３１は、係るログ採取命令にしたがって、所定の基準に基づいて係る複数の仮想マシンの中から第２の仮想マシン４２を選択し、第２の仮想マシン４２に対して係るログ採取命令を入力する。
【００７２】
割り当て部３２は、指示部３１が、第２の仮想マシン４２に対して係るログ採取命令を入力したときに、第２の仮想マシン４２に対して、係るリソースを追加して割り当てる。
【００７３】
本実施形態に係る仮想マシン管理装置３は、特定の仮想マシンからの指示にしたがって、他の仮想マシンがログ情報を採取する際に、係る他の仮想マシンが本来行う処理に影響が出ないようにすることができる。その理由は、指示部３１が第１の仮想マシン４１からの依頼に基づいてログ採取を依頼する依頼先として決定した第２の仮想マシン４２に対して、割り当て部３２が、係るログ採取を行うために必要となるリソースを、追加して割り当てるからである。
【００７４】
尚、指示部３１、及び、割り当て部３２は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。この場合のハードウェア環境は、図２に示した仮想マシン管理装置１と同様である。
【００７５】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７６】
１    仮想マシン管理装置
１０    ハイパーバイザ
１１    指示処理
１２    割り当て処理
１３    算出処理
１４    採取ログ管理情報生成処理
１５    競合リソース管理情報記憶部
１５０    競合リソース管理情報
１５１    競合リソースタイプ
１５２    リソース競合関係ゲストＩＤ
１６    リソース割り当て情報記憶部
１６０    リソース割り当て情報
１６１    ゲストＩＤ
１６２    リソースタイプ
１６３    仮想リソース
１６４    物理リソース
１６５    リソース割り当て量
１７    採取ログ管理情報記憶部
１７０    採取ログ管理情報
１７１    採取ログ
１７２    ログ採取コスト
１７３    リソースタイプ
１７４    ログ採取対象
１８    ログ採取処理
２０−１乃至ｎ    ゲストＯＳ
２１−１乃至ｎ    採取ログ設定処理
２２−１乃至ｎ    ログ採取処理
２３−１乃至ｎ    ログ読み出し処理
３    仮想マシン管理装置
３１    指示部
３２    割り当て部
４１    第１の仮想マシン
４２    第２の仮想マシン
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2015146148.tif 000003
【図２】
2015146148.tif 000004
【図３Ａ】
2015146148.tif 000005
【図３Ｂ】
2015146148.tif 000006
【図４】
2015146148.tif 000007
【図５】
2015146148.tif 000008
【図６】
2015146148.tif 000009
【図７】
2015146148.tif 000010