説明

仮想環境管理システム

【課題】障害原因となった仮想マシンを特定する作業を省力化する技術を提供することを目的とする。
【解決手段】本発明に係る仮想環境管理システムにおいて、情報収集サーバは、仮想マシンの稼働状況と、仮想マシンのイメージデータを格納するストレージ装置の稼働状況を、それぞれ定期的に取得して稼動情報データベースに格納する。解析サーバは、同じ時間帯における仮想マシンの稼働状況に関する情報とストレージ装置の稼働状況に関する情報を、相互に対応付けてグラフ表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想マシンを実行する仮想環境を管理するシステムに関するものである。
【背景技術】
【0002】
仮想マシンは、ある特定のハードウェアをエミューレーションすることによって実現された仮想的なマシン環境であり、コンピュータ仮想化技術によって実現される。通常、仮想マシンは、仮想化サーバのハードウェアで動作する仮想マシン管理ソフトウェア(ハイパーバイザ)の上で稼動する。仮想マシン管理ソフトウェアは、1台の物理コンピュータ上に複数の仮想マシンを稼動させることができるため、物理コンピュータはハードウェアリソースを効率的に利用することができる。
【0003】
仮想化サーバは、ネットワークを介してストレージと接続され、ストレージには仮想マシンのディスクに対応するディスクイメージファイルが格納されている。仮想マシンが自身のディスクドライブを参照・更新するときは、このディスクイメージファイルが参照・更新される。クラスタを構成する複数の仮想化サーバは、ストレージを共有することにより、仮想マシンのディスクイメージを移動することなく、どの仮想化サーバも同一の仮想マシンを起動することができる。また、ストレージを共有することにより、仮想マシンを電源オンしたまま別の仮想化サーバに移動させる、ライブマイグレーションと呼ばれる機能を実現することができる。
【0004】
仮想マシンが、他の仮想マシンと仮想化サーバやストレージを共有することにより、ハードウェアリソースを効率的に利用することができる。その反面、仮想マシン内部の仮想OS(オペレーティングシステム)やアプリケーションの異常動作によってハードウェアリソースが大量に消費されると、他の仮想マシンに性能劣化の影響が出る可能性がある。仮想環境の運用管理者は、仮想化サーバやストレージで高負荷が検出された場合、仮想化サーバやストレージが提供する管理ツールを用いて異常な動作をしている仮想マシンを迅速に特定し、障害の発生を未然に防ぐ必要がある。
【0005】
下記特許文献1には、仮想マシン環境に関し、障害が仮想環境に影響を及ぼす範囲を記述した影響範囲特定テーブルを用いて、障害が仮想環境に及ぼす影響を自動的に特定するための技術が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−9411号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
仮想化サーバが共有しているストレージにおいて、データ転送量の急増によって高負荷が発生すると、ストレージを監視しているストレージ管理サーバは、データ転送量があらかじめ設定されている閾値を越えた時点で、メール等を用いて、高負荷が発生したことを運用管理者に伝える。
【0008】
仮想環境の運用管理者は、ストレージ管理サーバのストレージ管理ツールを操作して、データ転送量の推移をグラフで確認する。このグラフではストレージ全体のデータ転送量しか確認できないため、高負荷の発生源となっている仮想化サーバや仮想マシンを特定する情報は得られない。
【0009】
仮想環境の運用管理者が、高負荷の発生原因となっている仮想マシンを特定する方法は2つある。以下、それぞれの特定方法を説明する。
【0010】
1つめの特定方法は、高負荷が発生したストレージに格納されている仮想マシンのディスクイメージファイルの名前を参照することにより、高負荷を発生させた疑いのある仮想マシンをたどることである。仮想マシンのディスクイメージファイルの名称やファイルが格納されているフォルダ名は、仮想マシンの名称に対応しているため、ここから得られた仮想マシン名称の一覧を、調査対象とする。次に運用管理者は、仮想環境操作クライアントを用いて仮想環境管理サーバにアクセスし、調査対象の仮想マシンについて1台ずつ過去の稼動情報を確認する。仮想環境管理サーバは、仮想化サーバから定期的に仮想マシンの稼動情報を収集して保管しているため、仮想マシンの稼働状況を過去に遡って調査することができる。ストレージで高負荷が発生した時間帯と同時にデータ転送量が増加している仮想マシンが見つかれば、それが高負荷発生の原因となっている仮想マシンであると判断することができる。
【0011】
2つ目の特定方法は、ストレージを共有している仮想化サーバの稼動情報を参照し、高負荷を発生させた仮想マシンをたどることである。運用管理者は、仮想環境操作クライアントを用いて仮想環境管理サーバにアクセスし、高負荷の発生したストレージを共有している仮想サーバ1台ずつについて過去の稼動情報を確認する。仮想環境管理サーバは、仮想マシンだけでなく仮想化サーバの稼動情報も収集して保管しているため、仮想化サーバの稼動情報を過去に遡って調査することができる。ストレージで高負荷が発生した時間帯と同時にデータ転送量が増加している仮想化サーバが見つかれば、その仮想化サーバ上で稼動していた仮想マシンのいずれかが、高負荷を発生させた疑いがある。次に運用管理者は、問題の仮想化サーバ上で稼動している仮想マシンについて1台ずつ過去の稼動情報を確認し、問題の仮想マシンを探し出す。ここから先は1つめの特定方法と同じである。
【0012】
上記特定方法において、注意しなければならない点がある。それは仮想環境管理サーバの自動負荷分散機能である。仮想環境管理サーバは、仮想環境の負荷を分散させるため、クラスタを構成する仮想化サーバ同士で、仮想マシンを電源オンのまま移動させる機能(ライブマイグレーション)を自動実行する。このため、ストレージに高負荷が発生したタイミングである仮想化サーバに存在した仮想マシンが、現在も同じ仮想化サーバに存在するとは限らない。そこで運用管理者は、仮想環境管理サーバのログを参照し、問題の仮想化サーバから別の仮想化サーバに移動した仮想マシンを追跡して確認しなければならない。
【0013】
上記いずれの特定方法においても、運用管理者は多数の仮想マシンを1台ずつ選択して稼働状況を参照しなければならず、さらにログから仮想マシンの移動を追跡しなければならないため、高負荷発生元を特定する作業に長時間がかかる。
【0014】
本発明はこのような状況に鑑みてなされたものであり、障害原因となった仮想マシンを特定する作業を省力化する技術を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明に係る仮想環境管理システムにおいて、情報収集サーバは、仮想マシンの稼働状況と、仮想マシンのイメージデータを格納するストレージ装置の稼働状況を、それぞれ定期的に取得して稼動情報データベースに格納する。解析サーバは、同じ時間帯における仮想マシンの稼働状況に関する情報とストレージ装置の稼働状況に関する情報を、相互に対応付けてグラフ表示する。
【発明の効果】
【0016】
本発明に係る仮想環境管理システムによれば、仮想環境のハードウェアリソースに高負荷を与えている仮想マシンを特定するための情報を、運用管理者がスムーズに取得することができる。
【0017】
なお、上述した以外の課題、構成及び効果は、以下の本発明を実施するための形態および添付図面によって明らかになるものである。
【図面の簡単な説明】
【0018】
【図1】実施形態1に係る仮想環境管理システム1000の概略構成を示す図である。
【図2】仮想環境管理システム1000が有するストレージ300の概略構成を示す図である。
【図3】仮想環境操作クライアント201が提供する仮想環境操作画面310の画面イメージ例を示す図である。
【図4】ストレージ管理サーバ400が提供するストレージ管理画面410の画面イメージ例を示す図である。
【図5】ストレージ300に高負荷が発生したときにストレージ300のデータ転送量が急増する様子を示す概念図である。
【図6】仮想環境管理システム1000が有する情報収集サーバ500とその動作を説明する図である。
【図7】解析サーバ700が提供する仮想マシン稼動情報検索画面710の画面イメージ例を示す図である。
【図8】解析サーバ700が提供する仮想マシン稼動情報検索結果画面720の画面イメージ例を示す図である。
【図9】稼動情報DB600が格納している仮想マシン稼動情報テーブル610の構成例を示す図である。
【図10】稼動情報DB600が格納しているストレージ稼動情報テーブル620の構成例を示す図である。
【図11】解析サーバ700が図7と図8に示す仮想マシン稼動情報検索を実施する処理のフローチャートである。
【図12】仮想化サーバハードウェア100に障害が発生した場合に発生する仮想マシン102への影響を説明する図である。
【図13】解析サーバ700が提供する仮想マシン配置情報検索画面730の画面イメージ例を示す図である。
【図14】解析サーバ700が提供する仮想マシン配置情報検索結果画面740の画面イメージ例を示す図である。
【図15】稼動情報DB600が格納している仮想マシン配置情報テーブル630の構成例を示す図である。
【図16】稼動情報DB600が格納している仮想マシンイベント情報テーブル640の構成例を示す図である。
【図17】解析サーバ700が図13と図14に示す仮想マシン配置情報検索を実施する処理のフローチャートである。
【発明を実施するための形態】
【0019】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【0020】
なお、以後の説明では「テーブル」という表現を用いて本発明の情報を説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくてもよく、リスト、DB、キュー等のデータ構造やそれ以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「テーブル」、「チャート」、「リスト」、「DB」、「キュー」等について「情報」と呼ぶことがある。
【0021】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換することができる。
【0022】
以後の説明では「プログラム」を主語とする場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていてもよい。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【0023】
さらに、本明細書における「アプリケーション」は、計算機或いはプロセッサがプログラムによって実現する機能であり、上記「プログラム」と同等なものとして考えることができるものである。
また、本明細書における「サーバ」を単に「計算機」と読み替えて本発明を理解することができるものである。
【0024】
<実施形態1>
本発明の実施形態1では、仮想マシンが利用するハードウェアリソースの性能に影響を与えている原因を特定するための情報を提供する仮想環境管理システム1000の構成について説明する。
【0025】
<実施形態1:仮想環境管理システムの概略構成>
図1は、本実施形態1に係る仮想環境管理システム1000の概略構成を示す図である。仮想環境管理システム1000は、仮想化サーバハードウェア100、仮想環境管理サーバ200、仮想環境操作クライアント201を有する。これら各機器は、LAN(Local Area Network)103を介して接続されている。
【0026】
仮想化サーバハードウェア100は、計算機を構成するハードウェアである。仮想化サーバハードウェア100は、例えばハイパーバイザ形式で実装された仮想マシン管理ソフトウェア101を実行する。仮想マシン管理ソフトウェア101は、1台の仮想化サーバハードウェア100上で複数の仮想マシン102を稼動させることができる。図1では2台の仮想化サーバハードウェア100を例示しているが、これに限られるものではない。
【0027】
仮想環境管理サーバ200は、管理LAN103に接続している仮想化サーバハードウェア100とその中で稼動する仮想マシン102を管理するサーバである。仮想環境管理サーバ200が管理すべき仮想化サーバハードウェア100と仮想マシン102は、あらかじめ決められている。
【0028】
仮想環境操作クライアント201は、仮想環境管理システム1000の管理作業を実施するための操作端末である。仮想環境管理システム1000の運用管理者は、管理LAN103に接続している仮想環境操作クライアント201を用いて仮想環境管理サーバ200にアクセスし、仮想化サーバハードウェア100と仮想マシン102の稼動状態確認、仮想マシン102の作成や削除、仮想マシン102の電源制御などを実施する。
【0029】
<実施形態1:仮想環境管理システムとストレージの概略構成>
図2は、仮想環境管理システム1000が有するストレージ300の概略構成を示す図である。仮想環境管理システム1000は、図1で説明した各機器の他、ストレージ300とストレージ管理サーバ400を有する。
【0030】
仮想化サーバハードウェア100は、ストレージエリアネットワーク301を介してストレージ300に接続されている。ストレージ300には、仮想マシンのディスクイメージファイル302が複数格納されている。ディスクイメージファイル302は、仮想マシン102が仮想的に保有するディスクに対応するものである。すなわち仮想マシン102が、仮想マシン102自身のディスクを読み書きすると、仮想マシン管理ソフトウェア101が仮想マシン102に対応する仮想マシンディスクイメージファイル302に対して読み書きを実施する。
【0031】
ストレージ300は、複数の仮想化サーバハードウェア100から接続されている。ストレージ300が格納している仮想マシンディスクイメージファイル302は、各仮想化サーバハードウェア100上で稼動するそれぞれの仮想マシン管理ソフトウェア101から共有されている。これにより、ある仮想化サーバハードウェア100上で稼動している仮想マシン102のイメージファイルを、別の仮想化サーバハードウェア100上で読み込み、その仮想マシン102を稼動させることができる。
【0032】
ストレージ管理サーバ400は、管理LAN103に接続しているストレージ300を管理するサーバである。仮想環境管理システム1000の運用管理者は、ストレージ管理サーバ400を用いて、ストレージ300の稼動状態を確認する作業などを実施する。
【0033】
<実施形態1:仮想マシンの稼動状況確認>
図3は、仮想環境操作クライアント201が提供する仮想環境操作画面310の画面イメージ例を示す図である。仮想環境管理サーバ200は、仮想化サーバハードウェア100が実行している仮想マシン102の稼働状況を、仮想マシン管理ソフトウェア101から取得して、後述する仮想マシン稼動情報テーブル610内に記録している。仮想環境操作画面310は、仮想環境管理システム1000の運用管理者が仮想環境管理サーバ200にアクセスして仮想マシン102の稼働状況を確認するための画面である。
【0034】
仮想環境操作画面310は、仮想マシン一覧表311、仮想マシン稼働状況グラフ312を有する。仮想マシン一覧表311は、仮想環境管理サーバ200が管理している仮想マシン管理ソフトウェア101の配下で稼動している仮想マシン102の一覧を表示する。仮想マシン稼働状況グラフ312は、指定された仮想マシン102のパフォーマンスなどの稼働状況をグラフ表示する。
【0035】
図3において、仮想環境管理システム1000の運用管理者が、仮想マシン一覧表311からいずれかの仮想マシン102を選択すると、仮想環境操作クライアント201はその仮想マシン102の稼働状況を取得して仮想マシン稼働状況グラフ312上でグラフ表示する。仮想マシン102の稼働状況の種別として、CPU利用率、ネットワークデータ転送量、ストレージデータ転送量などがある。図3では、ストレージデータ転送量を選択して表示した場合を例示している。
【0036】
運用管理者は、仮想マシン102に代えて、仮想化サーバハードウェア一覧から仮想化サーバハードウェア100を選択することにより、仮想化サーバハードウェア100単位の稼働状況を確認することもできる。
【0037】
<実施形態1:ストレージの稼動状況確認>
図4は、ストレージ管理サーバ400が提供するストレージ管理画面410の画面イメージ例を示す図である。ストレージ管理サーバ400は、ストレージ300の稼働状況を取得して、後述するストレージ稼動情報テーブル620内に記録している。ストレージ管理画面410は、仮想環境管理システム1000の運用管理者がストレージ管理サーバ400にアクセスしてストレージ300の稼働状況を確認するための画面である。
【0038】
ストレージ管理画面410は、RAIDグループ一覧表411、RAIDグループ稼働状況グラフ412を有する。RAIDグループ一覧表411は、ストレージ300が内部に構成しているRAIDグループの一覧を表示する。RAIDグループ稼働状況グラフ412は、指定されたRAIDグループの稼働状況をグラフ表示する。
【0039】
図4において、仮想環境管理システム1000の運用管理者が、RAIDグループ一覧表411からいずれかのRAIDグループを選択すると、ストレージ管理サーバ400はそのRAIDグループの稼働状況を取得してRAIDグループ稼働状況グラフ412上でグラフ表示する。ストレージ300の稼働状況の種別として、データ転送速度、IOPS(Input Output Per Second)などがある。図4では、データ転送量を選択して表示した場合を例示している。
【0040】
RAIDグループ稼働状況グラフ412の区間413は、ストレージ300のデータ転送量が急増して高負荷が発生した期間を示している。運用管理者は、このグラフ上で高負荷が発生し始めた時刻を、高負荷の発生原因となった仮想マシンを探す手がかりとして用いることができる。
【0041】
<実施形態1:ストレージ高負荷発生時の状態>
図5は、ストレージ300に高負荷が発生したときにストレージ300のデータ転送量が急増する様子を示す概念図である。図5において、仮想化サーバハードウェア100A〜100Cは、ストレージ300を共有している。
【0042】
仮想マシン管理ソフトウェア101Cはストレージエリアネットワーク301を介して仮想マシン102Cのディスクイメージファイルを読み書きするため、仮想化サーバハードウェア100C上で稼動している仮想マシン102Cにおいて、OSやアプリケーションの異常動作により、仮想マシン102Cからストレージ200に対する読み書きが急増すると、ストレージ300の負荷が急増する。
【0043】
ストレージ300の高負荷状態が長期間継続した場合、ストレージ300を共有する仮想化サーバハードウェア100A〜100C、さらにそれらの上で稼動する仮想マシン102A〜102Cに、ディスクアクセス速度低下などの影響が及ぶ。これを放置すると、仮想マシン102A〜102Cにおいて所定時間内に処理が完了せずにタイムアウトやエラーが発生し、障害を引き起こす原因となる。このため仮想環境管理システム1000の運用管理者は、ストレージ300に異常な負荷が検出された場合、早急に原因を特定しなければならない。
【0044】
ストレージ管理サーバ400は、ストレージ300の高負荷状態があらかじめ設定されている閾値を超えて継続した場合、高負荷が発生している旨をメール等で運用管理者に知らせる。ストレージ300およびストレージ管理サーバ400は、データ転送要求元サーバごとのデータ転送量を記録していないため、高負荷を発生させている原因がどの仮想マシン102からの要求によるものであるかを知ることはできない。また、ストレージ300に格納されているファイルシステムは、仮想マシン管理ソフトウェア101が管理しているものであるため、ストレージ300は、データ転送処理が集中しているファイルを知ることができない。以上のことから、仮想環境管理システム1000の運用管理者は、仮想環境管理サーバ200から得られる仮想マシン102の稼動状況を細かく調査して、原因を特定する必要がある。
【0045】
<実施形態1:改良された構成の詳細及び動作>
図6は、仮想環境管理システム1000が有する情報収集サーバ500とその動作を説明する図である。仮想環境管理システム1000は、図1〜図2で説明した各機器の他、情報収集サーバ500、稼動情報DB600、解析サーバ700を有する。
【0046】
情報収集サーバ500は、ストレージ管理サーバ400へ定期的にアクセスしてストレージの稼動情報を取得し、稼動情報DB600のストレージ稼動情報テーブル620に格納する。また情報収集サーバ500は、仮想環境管理サーバ200へ定期的にアクセスして仮想環境管理サーバ200が管理しているすべての仮想マシン102の稼動情報、仮想マシン102が稼動している仮想化サーバハードウェア100の名称を取得し、稼動情報DB600の仮想マシン稼動情報テーブル610に格納する。アクセス間隔は、対象機器上で稼動するアプリケーションなどの特性に応じて、障害原因を特定するために十分な程度に適宜設定するとよい。
【0047】
解析サーバ700は、稼動情報DB600を参照して、運用管理者が指定した仮想マシン102の名称と期間に該当するデータを取得するとともに、これをグラフ化して提供する。これにより仮想環境管理システム1000の運用管理者は、ストレージ200で発生した高負荷の原因となった仮想マシン102を容易に特定し、障害が発生する前に対策をとることができる。
【0048】
<実施形態1:解析サーバにおける仮想マシン稼動情報検索条件指定>
図7は、解析サーバ700が提供する仮想マシン稼動情報検索画面710の画面イメージ例を示す図である。仮想マシン稼動情報検索画面710は、仮想環境管理システム1000の運用管理者が、高負荷の発生原因となった仮想マシン102を追跡するために利用する画面であり、仮想マシン名称入力エリア711、稼動情報種別リスト712、調査対象期間入力エリア713、検索ボタン714を有する。
【0049】
運用管理者は、仮想マシン名称入力エリア711に稼動情報を調査する仮想マシン102の名称を入力し、稼動情報種別リスト712から調査する稼動情報の種別を選択する。運用管理者は、高負荷が発生したストレージ300にディスクイメージを格納している仮想マシンの名称を、仮想マシン名称入力エリア711に入力する。稼動情報種別リスト712では、CPU利用率、ネットワークデータ転送量、ストレージデータ転送量など、仮想マシン102の稼動情報を選択することができる。
【0050】
次に運用管理者は、調査対象期間入力エリア713に、稼動情報を検索する期間を指定する。この期間には、ストレージ300に高負荷が発生した時間帯を指定する。最後に運用管理者は、検索ボタン714を押下して検索を実行する。
【0051】
<実施形態1:解析サーバにおける仮想マシン稼動情報検索結果>
図8は、解析サーバ700が提供する仮想マシン稼動情報検索結果画面720の画面イメージ例を示す図である。仮想マシン稼動情報検索結果画面720は、仮想マシン稼動情報検索画面710を用いて高負荷の発生原因となった仮想マシン102を検索した結果を表示する画面であり、仮想マシン一覧721、仮想マシン稼動情報グラフ722、パフォーマンスグラフ723を有する。
【0052】
仮想マシン一覧721は、運用管理者が仮想マシン名称入力エリア711で指定した仮想マシン102の一覧とグラフの凡例を示す。仮想マシン稼動情報グラフ722は、運用管理者が指定した仮想マシン102、稼動情報種別、期間をキーにして抽出した稼動情報をそれぞれグラフ表示する。パフォーマンスグラフ723は、運用管理者が指定した稼動情報種別の指定期間内の稼動情報をグラフ表示する。ここでは運用管理者が稼動情報種別としてストレージデータ転送量を指定したと仮定し、ストレージ300のデータ転送量をグラフ表示した例を示した。
【0053】
運用管理者は、仮想マシン稼動情報グラフ722とパフォーマンスグラフ723を比較することにより、ストレージ300に高負荷が発生した原因となる仮想マシン102を容易に特定することができる。図8の例では、仮想マシン「VM−3」が、ストレージ300の高負荷を引き起こす原因になっていることが推察できる。
【0054】
すなわち運用管理者は、ストレージ300に高負荷が発生した原因を特定するために仮想マシン102の稼動情報ログをたどる必要はなく、高負荷が発生した期間を指定して稼動情報のグラフを目視確認するのみでよい。
【0055】
<実施形態1:仮想マシン稼動情報テーブル>
図9は、稼動情報DB600が格納している仮想マシン稼動情報テーブル610の構成例を示す図である。仮想マシン稼動情報テーブル610は、情報収集サーバ500が仮想環境管理サーバ200から取得した仮想マシンの稼動情報を格納するテーブルである。仮想マシン稼動情報テーブル610は、情報収集日時フィールド611、仮想マシン名称フィールド612、性能種別フィールド613、性能値フィールド614を有する。
【0056】
情報収集日時フィールド611は、仮想マシン102の稼動情報を取得する対象とした日時を保持する。仮想マシン名称フィールド612は、稼動情報を取得する対象とした仮想マシン102の名称を保持する。性能種別フィールド613は、稼動情報の種別を保持する。性能値フィールド614は、性能種別フィールド613の値で指定される稼動情報のパフォーマンス値を保持する。本フィールドの数値単位は、稼動情報の種別によって異なる。
【0057】
<実施形態1:ストレージ稼動情報テーブル>
図10は、稼動情報DB600が格納しているストレージ稼動情報テーブル620の構成例を示す図である。ストレージ稼動情報テーブル620は、情報収集サーバ500がストレージ管理サーバ400から取得したストレージ300の稼動情報を格納するテーブルである。ストレージ稼動情報テーブル620は、情報収集日時フィールド621、ストレージ名称フィールド622、性能種別フィールド623、性能値フィールド624を有する。
【0058】
情報収集日時フィールド621は、ストレージ300の稼動情報を取得する対象とした日時を保持する。ストレージ名称フィールド622は、稼動情報を取得する対象としたストレージ300の名称を保持する。性能種別フィールド623は、稼動情報の種別を保持する。性能値フィールド624は、性能種別フィールド623の値で指定される稼動情報のパフォーマンス値を保持する。本フィールドの数値単位は、稼動情報の種別によって異なる。
【0059】
<実施形態1:仮想サーバ稼動情報検索フローチャート>
図11は、解析サーバ700が図7と図8に示す仮想マシン稼動情報検索を実施する処理のフローチャートである。以下、図11の各ステップについて説明する。
【0060】
(図11:ステップS1100)
仮想環境管理システム1000の運用管理者が、図7の画面で検索ボタン714を押下すると、解析サーバ700は本処理フローを開始する。
【0061】
(図11:ステップS1101)
解析サーバ700は、仮想マシン稼動情報テーブル610から、情報収集日時フィールド611の値が調査対象期間入力エリア713で指定された期間の範囲内であり、かつ仮想マシン名称フィールド612の値が仮想マシン名称入力エリア711で指定された名称に一致するレコードを検索する。検索結果として得られたレコードを、仮想マシン稼動情報K1とする。
【0062】
(図11:ステップS1102)
解析サーバ700は、ストレージ稼動情報テーブル620から、情報収集日時フィールド621の値が調査対象期間入力エリア713で指定された期間の範囲内であるレコードを検索する。検索結果として得られたレコードを、ストレージ稼動情報K2とする。
【0063】
(図11:ステップS1103)
解析サーバ700は、仮想マシン稼動情報K1を仮想マシン稼動情報グラフ722にグラフ表示し、ストレージ稼動情報K2をパフォーマンスグラフ723にグラフ表示する。
【0064】
<実施形態1:まとめ>
以上のように、本実施形態1に係る仮想環境管理システム1000において、情報収集サーバ500は、仮想マシン102の稼働状況と、ストレージ300などのハードウェアリソースの稼働状況を、定期的に取得する。解析サーバ700は、同じ期間における仮想マシン102の稼働状況とハードウェアリソースの稼働状況を、併せてグラフ表示する。これにより、運用管理者が高負荷発生の原因となっている仮想マシン102を探し出すとき、仮想マシン102の過去の稼動情報を個別に検索して参照する手間を省き、運用管理者の利便性を向上させることができる。
【0065】
より具体的には、解析サーバ700は、仮想マシン稼動情報検索画面710と仮想マシン稼動情報検索画面720を提供する。これにより、仮想環境管理システム1000の運用管理者は、仮想化サーバハードウェア100やストレージ300で高負荷が発生したときの稼動情報と、仮想マシン102の稼動情報とを同じ期間で比較参照して、高負荷の原因となっている仮想マシン102を容易に特定することができる。
【0066】
<実施形態2>
本発明の実施形態2では、仮想化サーバハードウェア100や仮想マシン管理ソフトウェア101に障害が発生した際の影響範囲を特定するための構成と動作例について説明する。本実施形態2に係る仮想環境管理システム1000は、実施形態1と概ね同様の構成を備えるため、以下では差異点を中心に説明する。
【0067】
仮想化サーバハードウェア100や仮想マシン管理ソフトウェア101に障害が発生して仮想化サーバハードウェア100がダウンした場合、その仮想化サーバハードウェア100上で稼動していた仮想マシン102もすべてダウンすることになる。このとき運用管理者は、影響のあった仮想マシン102を迅速に特定し、その利用者に障害の発生を報告しなければならない。
【0068】
運用管理者は、仮想化サーバハードウェア100を再起動できた場合は、仮想化サーバハードウェア100のログを参照することにより障害発生時に当該仮想化サーバハードウェア100上で稼動していた仮想マシン102の一覧を取得し、その仮想マシン102の利用者に障害の発生を報告できる。しかし仮想化サーバハードウェア100を再起動できなかった場合は、仮想環境管理サーバ200のログを参照して、影響のあった仮想マシン102を追跡しなければならない。
【0069】
前述の通り、負荷分散のため仮想マシン102は仮想化サーバハードウェア100間を移動する可能性があり、特定の仮想化サーバハードウェア100上に固定されているわけではない。また、仮想化サーバハードウェア100は高可用性を確保するための機能を備えている場合がある。この場合、他の仮想化サーバハードウェア100の障害によって仮想マシン102がダウンすると、その仮想マシン102を正常に稼動している他の仮想化サーバハードウェア100上で自動的に再起動させる場合がある。
【0070】
運用管理者は、仮想化サーバハードウェア100で障害が発生した時刻の前後のログを解析し、ダウンした仮想マシン102を追跡しなければならないため、障害によって影響を受けた仮想マシン102を特定する作業に長時間がかかる。
【0071】
<実施形態2:仮想化サーバ障害発生時の状態>
図12は、仮想化サーバハードウェア100に障害が発生した場合に発生する仮想マシン102への影響を説明する図である。
【0072】
仮想化サーバハードウェア100または仮想マシン管理ソフトウェア101に何らかの障害が発生することにより仮想化サーバハードウェア100Bがダウンした場合、仮想化サーバハードウェア100B上で稼動していた仮想マシン102Bは、仮想化サーバハードウェア100Bとともにダウンする。
【0073】
このとき仮想マシン管理ソフトウェア101は、ダウンした仮想マシン102Bを、他の仮想化サーバハードウェア100A〜B上で自動的に再起動させ、仮想マシンの可用性を確保する機能を持つ。しかしこの可用性を確保する機能が働いた場合でも、仮想マシン102Bが再起動することになるため、仮想マシン102B上で動作していたアプリケーションに影響がある。このため、仮想環境管理システム1000の運用管理者は、障害の発生した仮想化サーバハードウェア100B上で稼動していた仮想マシン102Bを早期に特定し、仮想マシン102Bの利用者に障害発生を連絡しなければならない。
【0074】
しかし仮想化サーバハードウェア100Bに障害が発生した時点において、仮想化サーバハードウェア100B上で稼動していた仮想マシン102Bを特定する作業には、時間がかかる。なぜなら仮想化システムは、仮想化サーバハードウェア100に掛かる負荷を分散するため、仮想マシン102を電源オンのまま他の仮想化サーバハードウェア100へ自動的に移動させる機能(ライブマイグレーション)を持つからである。
【0075】
このため運用管理者は、過去のある時点で、特定の仮想化サーバハードウェア100上でどの仮想マシン102が存在していたのかを特定するために、仮想環境管理サーバ200のログを参照して、仮想マシン102ごとに移動履歴を追跡する必要があった。
【0076】
そこで本実施形態2において、情報収集サーバ500は、仮想化サーバハードウェア100上の仮想マシン102の配置および仮想マシン102の配置を変更し得るイベント情報を定期的に取得し、仮想マシン配置情報テーブル630と仮想マシンイベント情報テーブル640に格納する。
【0077】
また解析サーバ700は、稼動情報DB600を参照して、運用管理者が指定した仮想化サーバハードウェア100の名称と期間に該当するデータを取得し、指定された仮想化サーバハードウェア100上で稼動していた仮想マシン102の名称一覧を提供する。これにより、運用管理者は、仮想化サーバハードウェア100に障害が発生したとき、影響のあった仮想マシン102の一覧を容易に特定し、仮想マシン102の利用者に対して障害発生の連絡を迅速に送ることができる。
【0078】
<実施形態2:解析サーバにおける仮想マシン配置情報検索条件指定>
図13は、解析サーバ700が提供する仮想マシン配置情報検索画面730の画面イメージ例を示す図である。仮想マシン配置情報検索画面730は、仮想環境管理システム1000の運用管理者が、ある期間において特定の仮想化サーバハードウェア100上に配置されている仮想マシン102を特定するために用いる画面であり、仮想化サーバ名称入力エリア731、調査対象期間入力エリア732、検索ボタン733を有する。
【0079】
仮想環境管理システム1000の運用管理者は、仮想マシン102の配置情報を検索する対象とする仮想化サーバハードウェア100の名称を、仮想化サーバ名称入力エリア731に入力する。次に運用管理者は、調査対象期間入力エリア732に、仮想マシン102の配置情報を検索する期間を指定する。この期間には、仮想化サーバハードウェア100で障害が発生した時間帯、または仮想化サーバハードウェア100で高負荷が発生した時間帯を指定する。最後に運用管理者は、検索ボタン733を押下して検索を実行する。
【0080】
<実施形態2:解析サーバにおける仮想マシン配置情報検索結果>
図14は、解析サーバ700が提供する仮想マシン配置情報検索結果画面740の画面イメージ例を示す図である。仮想マシン配置情報検索結果画面740は、仮想マシン配置情報検索画面730を用いて仮想マシン102の配置を特定した結果を表示する画面であり、仮想マシン稼動状況グラフ741を有する。
【0081】
仮想マシン稼動状況グラフ741は、運用管理者が仮想マシン配置情報検索画面730で指定した仮想化サーバと期間をキーにして抽出した仮想マシン102の稼動情報をグラフ表示する。
【0082】
図14の例は、仮想マシン「VM−3」と「VM−7」が指定期間中稼動し続けていることを示している。「VM−6」は期間の途中に電源オン/オフされている。「VM−1」は、指定期間の途中で他の仮想化サーバハードウェア100へ移動し、「VM−9」は指定期間の途中で他の仮想化サーバハードウェア100から移動してきたことが分かる。
【0083】
すなわち運用管理者は、特定の仮想化サーバハードウェア100上である期間中に稼動していた仮想マシン102を特定するために、仮想環境管理サーバ200のログを解析してたどる必要はなく、仮想マシン102の配置情報のグラフを目視確認するのみでよい。
【0084】
<実施形態2:仮想マシン配置情報テーブル>
図15は、稼動情報DB600が格納している仮想マシン配置情報テーブル630の構成例を示す図である。仮想マシン配置情報テーブル630は、情報収集サーバ500が仮想環境管理サーバ200から取得した仮想マシン102の配置情報を格納するテーブルである。仮想マシン配置情報テーブル630は、情報収集日時フィールド631、仮想化サーバ名称フィールド632、仮想マシン名称フィールド633、仮想マシン情報フィールド634を有する。
【0085】
情報収集日時フィールド631は、仮想マシン102の配置情報を取得する対象とした日時を保持する。仮想化サーバ名称フィールド632は、配置情報を取得する対象とした仮想化サーバハードウェア100の名称を保持する。仮想マシン名称フィールド633は、仮想化サーバ名称フィールド632で指定される仮想化サーバハードウェア100上で稼動する仮想マシン102の名称を保持する。仮想マシン情報フィールド634は、仮想マシン名称フィールド633で指定される仮想マシン102が情報収集日時フィールド631で指定される日時においてどのような稼動状態にあったかを示す値を保持する。
【0086】
<実施形態2:仮想マシンイベント情報テーブル>
図16は、稼動情報DB600が格納している仮想マシンイベント情報テーブル640の構成例を示す図である。仮想マシンイベント情報テーブル640は、情報収集サーバ500が仮想環境管理サーバ200から取得した仮想マシン102のイベント情報を格納するテーブルである。仮想マシン102のイベントとは、仮想マシン102が他の仮想化サーバハードウェア100との間で移動し、または電源をON/OFFするなど、仮想化サーバハードウェア100上における仮想マシン102の配置が変動し得るイベントのことである。
【0087】
仮想マシンイベント情報テーブル640は、イベント発生日時フィールド641、仮想マシン名称フィールド642、発生イベントフィールド643、移動元仮想化サーバ名称フィールド644、移動先仮想化サーバ名称フィールド645を有する。
【0088】
イベント発生日時フィールド641は、仮想マシン102のイベントが発生した日時を保持する。仮想マシン名称フィールド642は、イベントが発生した仮想マシン102の名称を保持する。発生イベントフィールド643は、発生したイベントの種別名を保持する。移動元仮想化サーバ名称フィールド644と移動先仮想化サーバ名称フィールド645は、仮想マシン102が他の仮想化サーバハードウェア100へ移動する場合の移動元と移動先それぞれの仮想化サーバハードウェア100の名称を保持する。これらフィールドが同じ値である場合は、その仮想マシン102は移動しておらず、単なる電源ON/OFFなどのように移動が生じないイベントが発生したことになる。
【0089】
<実施形態2:仮想マシン配置情報検索フローチャート>
図17は、解析サーバ700が図13と図14に示す仮想マシン配置情報検索を実施する処理のフローチャートである。以下、図17の各ステップについて説明する。
【0090】
(図17:ステップS1700)
仮想環境管理システム1000の運用管理者が、図13の画面で検索ボタン733を押下すると、解析サーバ700は本処理フローを開始する。
【0091】
(図17:ステップS1701)
解析サーバ700は、仮想マシン配置情報テーブル630から、仮想化サーバ名称フィールド632の値が仮想化サーバ名称入力エリア731で指定された名称に一致し、かつ情報収集日時フィールド631の値が調査対象期間入力エリア732で指定された期間よりも前で最も新しいレコードを検索する。検索結果として得られたレコードを、ベース配置情報K1とする。また、ベース配置情報K1の情報収集日時フィールド631の値をT1とする。
【0092】
(図17:ステップS1701:補足)
本ステップは、仮想マシン配置情報検索結果画面740の左端日時を特定する意義がある。すなわち、調査対象期間入力エリア732で指定された期間以降の仮想マシン102の配置を取得するためには、その直前の配置から遡る必要があるため、本ステップでその直前日時における仮想マシン102の配置を取得することとした。
【0093】
(図17:ステップS1702)
解析サーバ700は、仮想マシンイベント情報テーブル640から、仮想マシン名称フィールド642の値が仮想化サーバ名称入力エリア731で指定された仮想化サーバハードウェア100に含まれ、かつイベント発生日時フィールド641の値がT1〜調査対象期間入力エリア732で指定された終了日時の範囲にあるレコードを検索する。検索結果として得られたレコードを、仮想マシン履歴K2とする。
【0094】
(図17:ステップS1703)
解析サーバ700は、ベース配置情報K1と仮想マシン履歴K2をマージして、T1〜指定期間終了までの間に、指定された仮想化サーバハードウェア100上に配置されていた仮想マシン102とその稼動期間を特定する。この仮想マシン配置情報をK3とする。
【0095】
(図17:ステップS1704)
解析サーバ700は、ベース配置情報K1に仮想マシン履歴K2を適用して、T1〜指定期間終了までの間に仮想化サーバハードウェア100上に配置されていた仮想マシン102の配置情報を復元する。この仮想マシン稼動情報をK4とする。
【0096】
(図17:ステップS1703〜S1704:補足)
仮想マシン配置情報テーブル630は、情報収集日時フィールド631の値が示す時点における仮想マシン102の全体配置のスナップショット的な情報を保持する。これに対して仮想マシンイベント情報テーブル640は、各仮想マシン102に発生したイベントを個別に保持する。仮想マシンイベント情報テーブル640のみを用いてある時点の仮想マシン102の配置を特定するためには、イベント取得を開始した最初の時点から遡って全てのイベントログを適用しなければならず、処理負荷が高い。そこで、ある時点における全ての仮想マシン102の配置をスナップショットとして仮想マシン配置情報テーブル630内に記録しておき、スナップショット以後のイベントログのみを適用すれば仮想マシン102の配置を復元することができるようにした。
【0097】
(図17:ステップS1705)
解析サーバ700は、仮想マシン稼動情報K4を、仮想マシン稼動状況グラフ741にグラフ表示する。
【0098】
<実施形態2:まとめ>
以上のように、本実施形態2に係る仮想環境管理システム1000は、仮想サーバハードウェア100上で稼動している仮想マシン102の稼動情報とイベントを定期的に取得し、解析サーバ700はこれらをグラフ表示する。これにより、仮想化サーバハードウェア100に障害が発生し、障害によって影響を受けた仮想マシン102を探し出すとき、仮想マシン102の過去の移動履歴を個別に追跡する手間を省き、運用管理者の利便性を向上させることができる。
【0099】
より具体的には、解析サーバ700は、仮想マシン配置情報検索画面730を提供する。解析サーバ700は、運用管理者の指示にしたがって仮想マシン配置情報テーブル630と仮想マシンイベント情報テーブル640を検索し、仮想マシン配置情報検索結果画面740を提供する。これにより運用管理者は、仮想化サーバハードウェア100で障害が発生した時点の仮想マシン102の配置情報を取得し、障害の影響を受けた仮想マシン102を容易に特定することができる。また、仮想化サーバハードウェア100の障害発生時に影響のあった仮想マシン102を特定するための情報をスムーズに取得し、当該仮想マシン102の利用者に迅速に通知することができる。
【符号の説明】
【0100】
100:仮想化サーバハードウェア、101:仮想マシン管理ソフトウェア、102:仮想マシン、102A〜102C:仮想マシン、103:LAN、200:仮想環境管理サーバ、201:仮想環境操作クライアント、300:ストレージ、301:ストレージエリアネットワーク、302:ディスクイメージファイル、310:仮想環境操作画面、311:仮想マシン一覧表、312:仮想マシン稼働状況グラフ、400:ストレージ管理サーバ、410:ストレージ管理画面、411:RAIDグループ一覧表、412:RAIDグループ稼働状況グラフ、413:区間、500:情報収集サーバ、600:稼動情報DB、610:仮想マシン稼動情報テーブル、611:情報収集日時フィールド、612:仮想マシン名称フィールド、613:性能種別フィールド、614:性能値フィールド、620:ストレージ稼動情報テーブル、621:情報収集日時フィールド、622:ストレージ名称フィールド、623:性能種別フィールド、624:性能値フィールド、630:仮想マシン配置情報テーブル、631:情報収集日時フィールド、632:仮想化サーバ名称フィールド、633:仮想マシン名称フィールド、634:仮想マシン情報フィールド、640:仮想マシンイベント情報テーブル、641:イベント発生日時フィールド、642:仮想マシン名称フィールド、643:発生イベントフィールド、644:移動元仮想化サーバ名称フィールド、645:移動先仮想化サーバ名称フィールド、700:解析サーバ、710:仮想マシン稼動情報検索画面、711:仮想マシン名称入力エリア、712:稼動情報種別リスト、713:調査対象期間入力エリア、714:検索ボタン、720:仮想マシン稼動情報検索結果画面、721:仮想マシン一覧、722:仮想マシン稼動情報グラフ、723:パフォーマンスグラフ、730:仮想マシン配置情報検索画面、731:仮想化サーバ名称入力エリア、732:調査対象期間入力エリア、733:検索ボタン、740:仮想マシン配置情報検索結果画面、741:仮想マシン稼動状況グラフ、1000:仮想環境管理システム。

【特許請求の範囲】
【請求項1】
仮想マシンを実行する複数の仮想化サーバと、
ネットワークを介して前記複数の仮想サーバから共有され、前記仮想マシンのイメージデータを格納するストレージ装置と、
前記仮想マシンの稼働状況に関する情報と前記ストレージ装置の稼働状況に関する情報を定期的に収集して稼動情報データベースに格納する情報収集サーバと、
前記稼動情報データベースが格納している情報をグラフ表示する解析サーバと、
を有し、
前記解析サーバは、
同じ時間帯における前記仮想マシンの稼働状況に関する情報と前記ストレージ装置の稼働状況に関する情報を、相互に対応付けてグラフ表示する
ことを特徴とする仮想環境管理システム。
【請求項2】
前記情報収集サーバは、前記仮想化サーバのネットワークトラフィック量に関する情報を定期的に収集して前記稼動情報データベースに格納し、
前記解析サーバは、前記仮想化サーバのネットワークトラフィック量に関する情報をグラフ表示する
ことを特徴とする請求項1記載の仮想環境管理システム。
【請求項3】
前記解析サーバは、
同じ時間帯における前記仮想マシンの稼働状況に関する情報と前記仮想化サーバのネットワークトラフィック量に関する情報を、相互に対応付けてグラフ表示する
ことを特徴とする請求項2記載の仮想環境管理システム。
【請求項4】
前記情報収集サーバは、前記仮想化サーバのプロセッサの負荷状況に関する情報を定期的に収集して前記稼動情報データベースに格納し、
前記解析サーバは、前記仮想化サーバのプロセッサの負荷状況に関する情報をグラフ表示する
ことを特徴とする請求項1記載の仮想環境管理システム。
【請求項5】
前記解析サーバは、
同じ時間帯における前記仮想マシンの稼働状況に関する情報と前記仮想化サーバのプロセッサの負荷状況に関する情報を、相互に対応付けてグラフ表示する
ことを特徴とする請求項4記載の仮想環境管理システム。
【請求項6】
前記情報収集サーバは、
前記仮想化サーバ上における前記仮想マシンの配置状況を日時と併せて収集して前記稼動情報データベースに格納し、
前記解析サーバは、
指定した期間における前記仮想マシンの配置状況を画面表示すべき旨の指示を受け取ると、前記稼動情報データベースから前記期間内における前記仮想マシンの配置状況を取得して画面表示する
ことを特徴とする請求項1記載の仮想環境管理システム。
【請求項7】
前記情報収集サーバは、
前記仮想化サーバ上における前記仮想マシンの配置状況を変更する要因となるイベントとその発生日時を収集して前記稼動情報データベースに格納し、
前記解析サーバは、
指定した期間における前記仮想マシンの配置状況を画面表示すべき旨の指示を受け取ると、
前記稼動情報データベースが格納している前記仮想マシンの配置状況のうち前記期間よりも前かつ前記期間の開始日時に最も近いものを記述した直近稼働状況を取得し、
前記直近稼働状況に対して前記期間の開始日時以後の前記イベントを順次適用することによって、前記期間における前記仮想マシンの配置状況を取得し、画面表示する
ことを特徴とする請求項6記載の仮想環境管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−226703(P2012−226703A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−96313(P2011−96313)
【出願日】平成23年4月22日(2011.4.22)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】