【背景技術】
【0002】
IT資産の有効活用を目的に仮想化技術の利用が進展している。仮想化技術を利用したシステム環境(仮想環境)では、1台の物理マシンをソフトウェア技術で分離し、複数台の仮想マシンを動作させることができる。従来複数台の物理マシンで動作させていたサーバ群を、仮想マシンに置き換えて1台の物理サーバ上に集約することにより、IT資産の利用効率を高めることができる。
【0003】
一方で、仮想環境における仮想マシンの運用、特に仮想マシンの性能管理と障害対処においては、従来の物理マシン環境とは異なる仮想環境特有の課題がある。
【0004】
図1は、仮想環境特有の障害例を示す図である。ここでは、各物理マシンが共有するリソースであるストレージ装置の使用状況が変化することに伴う仮想マシン性能の低下を示している。
図1の仮想マシンaと仮想マシンbは、物理マシンAとストレージ1とを共有して動作している。この環境において、仮想マシンaがCPU・メモリ・ストレージI/Oなどのリソースを大量に消費すると、仮想マシンaとリソースを共有している仮想マシンbには、物理マシンAやストレージ1から十分な量のリソースが割り当てられず、仮想マシンbの性能が低下してしまう。さらに、ストレージ1は物理マシンBを介して仮想マシンcと仮想マシンdも利用しているため、仮想マシンcと仮想マシンdのストレージI/O性能も低下してしまう。
【0005】
上述のような、共有リソースの使用状況の変化に伴う仮想マシン性能低下は、従来のマシン単位の性能監視では発見や原因特定が困難であり、迅速な障害対処のためには、システム構成情報の把握と組み合わせた性能監視が不可欠である。
【0006】
例えば、
図1の例では、仮に個々の仮想マシンに性能監視ツールを組み込み、仮想マシンbの性能低下を検出できたとしても、検出対象となった仮想マシンbだけの調査では性能低下の根本原因(仮想マシンaの共有リソース大量消費)が発見できないため、迅速な対処は難しい。迅速な障害対処のためには、仮想マシン・物理マシン・ストレージ・ネットワーク機器といったシステムの構成要素の依存関係を常時記録しておき、仮想マシンの性能低下など障害が発生した場合には、記録してあるシステム構成情報を基に、共有リソースの使用状況まで含めた障害原因を分析することが有効である。特に、システム構成が複雑化しシステム構成の変更頻度も高い大規模仮想環境においては、効率的なシステム構成情報の把握と活用が、仮想マシンの性能管理上重要になる。
【0007】
仮想環境において、システム構成情報の記録機能を有し、仮想マシンの性能管理・障害対処に使用し得る既存技術として、例えば以下がある。
【0008】
特許文献1には、管理者があらかじめ入力した業務・機器・ネットワークの構成情報を元に、障害原因を特定するための依存関係ルールを作成しておき、マシン性能の低下など異常発生時に、障害イベントにより通信された障害部位情報と、あらかじめ作成したおいた障害特定ルールとを突き合わせて、システム管理者に障害原因候補を提示する技術が開示されている。
【0009】
特許文献2には、障害が発生した物理デバイスと当該物理デバイスが影響を及ぼす論理デバイスの範囲を格納した影響範囲特定テーブルとを備え、障害イベントが通知されたときに、当該障害イベントにより通知された障害部位情報を基に、障害影響範囲テーブルを参照して、障害により影響がある物理デバイスと仮想デバイスの関係を抽出し、障害影響範囲および障害原因候補を提示する技術が開示されている。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、以下に説明する実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【0019】
<実施の形態1>
本発明の実施形態1では、物理マシンをまたがって共有されるリソースとして、ストレージ装置を例に説明する。ストレージ装置は常に稼働しており状態は変化しないものとする。ストレージ名・物理マシン名・仮想マシン名については同一の名称は存在せず、それぞれ一意に対象を特定できるものとする。
【0020】
<実施の形態1:システム構成>
図2は、本発明の実施形態1に係る仮想環境運用支援システム1000の概略構成を示す図である。仮想環境運用支援システム1000は、仮想環境管理サーバ201、仮想マシン性能管理サーバ202、仮想マシン性能管理クライアント203、複数の物理マシン204が、管理LAN(Local Area Network)205を介して接続した構成をとる。物理マシン204は、ストレージネットワーク207を介してストレージ206と接続されている。
【0021】
物理マシン204は、仮想化ソフト208と仮想マシン209を動作させるコンピュータである。仮想化ソフト208は、物理マシン204のハードウェア構成をソフトウェア技術でエミュレートし、任意のハードウェア構成をもつ仮想マシン209を動作可能にするソフトウェアである。
【0022】
仮想環境管理サーバ201は、仮想環境管理ソフト210を動作させるコンピュータである。仮想環境管理ソフト210は、仮想化ソフト208がインストールされた物理マシン204や仮想マシン209に関する情報を管理LAN205経由で収集して一時的に保存する機能、保存した情報を外部ソフトウェアに提供するための仮想環境管理API(Application Program Interface)を提供する機能をもつ。
【0023】
仮想マシン性能管理サーバ202は、本発明の主たる処理を実行するコンピュータであって、データ収集プログラム211、リソース使用実績分析プログラム212、システム構成情報分析プログラム213、および
図3に詳細を説明するその他サブプログラムとテーブルデータを格納し、これらを実行・管理する機能をもつ。
【0024】
仮想マシン性能管理クライアント203は、仮想環境運用支援システム1000の利用者が操作するコンピュータである。仮想マシン性能管理クライアント203は、少なくとも、利用者の入力情報を受け付ける入力部と、利用者に情報を提示するディスプレイなどの出力部と、管理LANを介した通信を処理する通信処理部とを有し、入力部から受け付けた利用者のシステム利用要求に応じて、仮想マシン性能管理サーバ202にアクセスし、仮想マシン性能管理サーバ202が作成した画面データを出力部に表示する機能をもつ。
【0025】
なお、仮想環境においては通常、物理マシン204は、仮想マシン209が外部ネットワークと通信するための、管理LAN205とは異なるサービス提供用LANが接続されるが、本発明の実施にあたりサービス提供用LANは関与しないため説明を省略する。
【0026】
<実施の形態1:仮想マシン性能管理サーバの構成>
図3は、仮想マシン性能管理サーバ202の構成を説明する図である。なお、仮想環境管理サーバ201と仮想マシン性能管理クライアント203の構成は、後述する補助記憶部306内の格納情報を除き
図3と同様であるため説明を省略する。
【0027】
仮想マシン性能管理サーバ202は、命令やデータの入力を行う入力部301と、システムの状態などを出力する出力部302と、プログラムの実行や演算を行う演算部303と、プログラムやデータをロードする主記憶部304と、他の通信機器とコネクションを確立する通信処理部305と、データやプログラムを格納する補助記憶部306とが、バス307で接続された構成をとる。
【0028】
補助記憶部306には、データ収集プログラム211と、仮想マシン性能分析画面作成プログラム309と、性能低下原因分析画面作成プログラム310と、リソース使用実績分析プログラム212と、システム構成情報分析プログラム213と、リソース使用実績格納テーブル313と、構成情報格納テーブル314と、構成変更イベント格納テーブル315とが格納される。
【0029】
データ収集プログラム211は、仮想環境管理ソフト210が提供する仮想環境管理APIを利用して、仮想マシン209と物理マシン204とストレージ206のリソース使用実績情報やシステム構成情報を収集するプログラムである。リソース仕様実績情報は、仮想マシン209または物理マシン204がストレージ206を使用した実績を記述した情報である。システム構成情報は、仮想マシン209または物理マシン204とストレージ206の間の接続関係を記述した情報である。すなわち、仮想マシン209または物理マシン204がストレージ206を利用している状況を記述した情報である。
【0030】
仮想マシン性能分析画面作成プログラム309は、
図7に示す仮想マシン性能分析画面を作成するプログラムである。処理の過程で、リソース使用実績分析プログラム212とリソース使用実績情報格納テーブル313とを使用する。
【0031】
性能低下原因分析画面作成プログラム310は、
図8に示す性能低下原因分析画面を作成するプログラムである。処理の過程で、システム構成情報分析プログラム213、リソース使用実績情報格納テーブル313、構成情報格納テーブル314、および構成変更イベント格納テーブル315を使用する。
【0032】
以下では、記載の便宜上、各プログラムを動作主体として説明する場合があるが、実際にこれらプログラムを実行するのは演算部303などの演算機能を有する機能部であることを付言しておく。
【0033】
<実施の形態1:リソース使用実績格納テーブル>
図4は、リソース使用実績格納テーブル313の構成を示す図である。リソース使用実績格納テーブル313は、仮想マシン性能管理サーバ202が、データ収集プログラム211の実行により収集した、仮想マシン・物理マシン・ストレージのリソース使用実績情報を格納するテーブルである。
【0034】
情報収集日時3131は、格納するリソース使用実績情報の収集日時を保持する。エンティティ名称3132は、格納するリソース使用実績情報の仮想環境における構成要素を一意に特定する情報を保持する。本実施形態1では、仮想マシン名、物理マシン名、ストレージ名のいずれかである。リソース種別3133は、格納するリソース使用実績情報のリソース種別を保持する。本実施形態1ではストレージ206のI/Oに関する値を対象としているが、これに限らずCPU使用率、メモリ使用量、ネットワーク帯域使用率などについても取り扱うことができる。実績値3134は、リソース種別3133の値で指定されるリソース使用実績情報のパフォーマンス値を保持する。
【0035】
<実施の形態1:構成情報格納テーブル>
図5は、構成情報格納テーブル314の構成を示す図である。構成情報格納テーブル314は、仮想マシン性能管理サーバ202が、データ収集プログラム211を実行することにより収集した、ある一時点における仮想環境のシステム構成情報を格納するテーブルである。
【0036】
情報収集日時3141は、格納するシステム構成情報の収集日時を保持する。ストレージ名称3142、物理マシン名称3143、仮想マシン名称3144は、格納するシステム構成情報の取得対象としたストレージ名、物理マシン名、仮想マシン名をそれぞれ保持する。仮想マシン状態3145と物理マシン状態3146は、仮想マシン名称3144と物理マシン名称3143とで指定される仮想マシンと物理マシンの取得時点における状態情報をそれぞれ保持する。状態情報としては、例えば電源オン・電源オフ・休止状態などがある。
【0037】
<実施の形態1:構成変更イベント格納テーブル>
図6は、構成変更イベント格納テーブル315の構成を示す図である。構成変更イベント格納テーブル315は、仮想マシン性能管理サーバ202が、データ収集プログラム211を実行することにより収集した、仮想環境のシステム構成および状態の変更を記録したイベント情報を格納するテーブルである。例えば、仮想マシン209が他の物理マシン204に移動した、仮想マシン209や物理マシン204の電源オン・オフが実行された、休止状態への移行・再開が実行された、といったイベント情報が、発生日時とともに記録される。
【0038】
イベント発生日時3151は、格納するイベント情報の収集日時を保持する。エンティティ名称3152は、格納するイベント情報の仮想環境における構成要素を一意に特定する情報を保持する。本実施形態1では、仮想マシン名、物理マシン名のいずれかである。発生イベント名称3153は、格納するイベントの種別を表すイベント名称を保持する。移動元エンティティ名称3154と移動先エンティティ名称3155は、仮想マシン209または物理マシン204が、他の物理マシン204やストレージ206へ移動する場合の、移動元と移動先のエンティティ名称をそれぞれ保持する。なお、移動が伴わないイベントの場合は、これらフィールドの値は同じになる。
【0039】
<実施の形態1:仮想マシン性能分析画面>
図7は、仮想マシン性能分析画面701のイメージ図である。仮想マシン性能分析画面701は、大量の仮想マシン209の性能状態を効率的に監視し、性能が低下している仮想マシンを迅速に特定するために利用する画面である。仮想マシン性能分析画面701は、仮想マシン性能分析画面作成プログラム309を実行することにより作成される。
【0040】
仮想マシン性能分析画面701は、仮想マシン性能傾向表示エリア702と、性能低下仮想マシン名表示エリア703と、データ更新ボタン704と、性能分析ボタン705とをもつ。仮想マシン性能傾向表示エリア702は、検出閾値入力欄706と検出閾値サイン707をもつ。性能低下仮想マシン名表示エリア703は、性能低下仮想マシン名ボタン708をもつ。
【0041】
仮想マシン性能傾向表示エリア702は、仮想マシンの性能傾向の統計情報を表示するエリアである。本エリアを参照することにより、利用者は、性能が低下している仮想マシン(性能低下仮想マシン)の存在を確認することができる。なお、本実施形態1では、統計情報の例として、一定期間における仮想マシン毎およびリソース種別毎の性能実績値の平均を集計(平均CPU割り当て待ち時間・平均メモリスワップ量・平均ネットワークパケットロス率・平均ストレージI/O処理待ち時間)し、横軸(データ範囲)をその平均値とし、縦軸(頻度)を各データ範囲内に収まる仮想マシンの個数とする、度数分布図を表示している。
【0042】
検出閾値入力欄706と検出閾値サイン707と性能分析ボタン705は、性能低下仮想マシン名表示エリア703に表示する仮想マシンの抽出条件を指定するために使用する。利用者は、仮想マシン性能傾向確認エリア702に表示された統計情報を確認しながら、性能が低下している仮想マシンとして抽出したい性能値条件を検出閾値入力欄706に入力する。検出閾値入力欄706に値を入力すると、統計情報上には検出閾値の位置を示すように検出閾値サイン707が再描画される。利用者が、検出閾値入力欄706を入力した後に性能分析ボタン705を押下すると、性能低下仮想マシン名表示エリア703には、指定した条件によって抽出された仮想マシン名が表示される。
【0043】
性能低下仮想マシン名表示エリア703は、仮想マシン性能傾向確認エリア702で指定した条件によって抽出された仮想マシン名を表示するエリアである。本エリアを参照することにより、利用者は、大量の仮想マシンの中から性能が低下している仮想マシンを特定することができる。なお、性能低下仮想マシン名の表示は、性能低下の深刻度を確認しやすくするため、性能低下の程度に応じたランク付けをした上で表示する。例えば、本実施形態1では、検出閾値を超えているリソース種別数が多い仮想マシンほど上位に表示している。検出閾値を超えているリソース種別数が同じであれば、超えている程度が大きいほど上位に表示する。
【0044】
性能低下仮想マシン名表示エリア703に表示する仮想マシン名は、性能低下仮想マシン名ボタン708として提示される。性能低下仮想マシン名ボタン708は、性能低下仮想マシン名が記載されたボタンであり、押下すると当該仮想マシンの性能低下原因を調査するための性能低下原因分析画面(
図8)に画面を遷移させるボタンである。
【0045】
データ更新ボタン704は、押下すると、データ収集プログラム211を実行して仮想環境管理サーバ201から最新の情報を取得し、仮想マシン性能分析画面を再描画するボタンである。
【0046】
検出閾値入力欄706については、例えば性能値の分布のうち性能値が低い方から順に上位10%に相当する性能値を自動的に設定するなどの手法により、自動指定することもできる。
【0047】
<実施の形態1:性能低下原因分析画面>
図8は、性能低下原因分析画面801のイメージ図である。性能低下原因分析画面801は、仮想マシン性能分析画面701で特定した性能低下仮想マシンが共有リソースを使用している状況を確認し、性能低下原因を調査するために利用する画面である。性能低下原因分析画面801は、性能低下原因分析画面作成プログラム310を実行することにより作成される。
【0048】
性能低下原因分析画面801は、仮想マシン性能時系列表示エリア802と、共有リソース利用状況表示エリア803と、正常稼働日時入力欄804と、リソース種別入力欄805と、構成表示ボタン806と、戻るボタン807とをもつ。仮想マシン性能時系列表示エリア802は、仮想マシン名表示欄808と正常稼働日時サイン809をもつ。共有リソース利用状況表示エリア803は、正常稼働日時共有リソース利用状況表示欄810と、現在日時共有リソース利用状況表示欄811とをもつ。正常稼働日時共有リソース利用状況表示欄810および現在日時共有リソース利用状況表示欄811は、システム構成マップ812とリソース状態サイン813とリソース利用量表示サイン814とで構成される。
【0049】
仮想マシン性能時系列表示エリア802は、指定された仮想マシンの性能値の時系列データを表示するエリアである。本エリアを参照することにより、利用者は、当該仮想マシン性能値の変動を確認し、性能低下が発生した日時を特定することができる。本実施形態1では、仮想マシン性能傾向表示エリア702に統計表示したものと同じ、一定期間における仮想マシン毎およびリソース種別毎の性能実績値の時系列変化をグラフ化して表示している。仮想マシン名表示欄808には、性能時系列を表示している仮想マシン名が表示される。
【0050】
共有リソース使用状況表示エリア803は、指定した性能低下仮想マシンの正常稼働時の共有リソース利用状況と、異常時の共有リソース利用状況とを表示するエリアである。正常稼動時については、後述する正常稼働日時入力欄804内に、当該仮想マシンが過去に正常稼動していたと推定される日時を利用者が指定入力するものとする。異常時については、利用者が指定入力してもよいし現在日時をもってこれに代えて自動指定するようにしてもよい。本エリアを参照することにより、利用者は、性能低下仮想マシンが正常稼働時と異常時にそれぞれにおいて使用していた共有リソース、各リソースの状態、および各リソースの負荷状況を比較し、仮想マシン性能の低下原因を効率的に調査し、特定することができる。
【0051】
正常稼働日時入力欄804、正常稼働日時サイン809、リソース種別入力欄805、および構成表示ボタン806は、共有リソース利用状況表示エリア803に表示する共有リソース利用状況の条件を指定するために使う。利用者は、仮想マシン性能時系列表示エリア802に表示された性能値の時系列を参照して、当該仮想マシンが正常稼働していた日時を特定し、この日時を正常稼働日時入力欄804に入力する。正常稼働日時は、例えば、性能実績値が悪化を示す前の日時を指定すればよい。正常稼働日時入力欄804に日時を入力すると、時系列上には正常稼働日時の位置を示すように正常稼働日時表示サイン809が再描画される。さらに、利用者は、リソース種別入力欄805に、共有リソース利用状況表示エリア803で比較したいリソース種別を入力し、構成表示ボタン806を押下する。構成表示ボタン806が押下されると、共有リソース利用状況表示エリア803には、正常稼働日時入力欄804に入力した日時における共有リソースの利用状況と、現在時刻(または別途指定した異常時)における共有リソースの利用状況とが、それぞれ正常稼働日時共有リソース利用状況表示欄810と現在日時共有リソース利用状況表示欄811に表示される。
【0052】
システム構成マップ812は、指定された時刻における共有リソースの論理構成を示す。システム構成マップ812を参照することにより、利用者は、性能低下前には存在しなかった仮想マシンの追加などのような、性能低下原因の候補に関する情報を入手できる。
【0053】
リソース状態サイン813は、指定された時刻における共有リソースの状態を示す。状態には例えば、電源オン/オフ、休止状態などがある。リソース状態サイン813を参照することにより、利用者は、性能低下前には停止していた仮想マシンの起動などのような、性能低下原因の候補に関する情報を入手できる。
【0054】
リソース利用量表示サイン814は、リソース種別入力欄805に指定されたリソースの使用量を段階表示する。リソース利用量表示サイン814を参照することにより、利用者は、性能低下前には低負荷だった仮想マシンの共有リソース利用負荷の急増などのような、性能低下原因の候補に関する情報を入手できる。
戻るボタン807は、性能低下原因分析画面801の表示を終了し、仮想マシン性能分析画面701に遷移するボタンである。
【0055】
<実施の形態1:処理フロー説明のための初期条件>
以降では、本発明の実施形態1に係る仮想環境運用支援システム1000の処理フローを説明する。ただし、以下の説明にあたっては次の初期値が設定されているものとする。初期値はシステム設定パラメータ等で変更できるものとする。
【0056】
図7の仮想マシン性能傾向表示エリア702の統計情報の集計期間は、仮想マシン性能分析画面作成プログラム309の実行時点から過去1時間までの期間とし、集計する性能値種別は、CPU待ち時間・メモリスワップ量・ネットワークパケットロス率・ストレージI/Oコマンド処理待ち時間とする。検出閾値706は、何も指定されなかった場合は空文字をとる。
【0057】
図8の仮想マシン性能時系列表示エリア802の時系列の表示期間と性能値種別の初期値は、仮想マシン性能傾向表示エリア702の統計情報と同じ期間と性能値種別とする。正常稼働日時804は、何も指定されなかった場合は、例えば性能低下原因分析画面作成プログラム310の実行日時から3日前の同時刻とする。リソース種別805は、あらかじめCPU利用率・メモリ利用率・ネットワーク通信量・ストレージI/O量を選択項目として登録しておき、何も指定されなかった場合は、例えばストレージI/O量を指定するものとする。
【0058】
リソース利用量表示サイン814を段階分けして表示するための閾値は、リソース種別毎にあらかじめ指定しておくものとする。例えば、CPU利用率であれば30%未満、30%以上60%未満、60%以上といった閾値を指定する。或いは、CPU利用率を全ての仮想マシンについて集計し、利用率の高い仮想マシン上位3割をレベル3、中位3割をレベル3にするなど、仮想マシンの順位に基づいた閾値の生成ルールを登録しておいてもよい。
【0059】
以下の説明において、仮想マシン性能分析画面作成プログラム309とデータ収集プログラム211は定期実行されるが、この実行周期はあらかじめ指定しておく。例えば、仮想マシン性能分析画面作成プログラム309の実行周期は1時間、データ収集プログラム211の実行周期は24時間に指定する。
【0060】
<実施の形態1:全体処理概要>
図9は、仮想環境運用支援システム1000の全体処理フローを示す概念図である。仮想環境運用支援システム1000は、利用者が仮想マシン性能管理クライアント203を操作し、仮想マシン性能管理サーバ202にアクセスして、仮想マシン性能分析画面を要求することにより起動する。この要求により、仮想マシン性能管理サーバ202は、仮想マシン性能分析画面作成プログラム309を実行する。
【0061】
仮想マシン性能分析画面作成プログラム309は、仮想マシン性能管理クライアント203からの要求、あらかじめ指定された周期の定期実行、および利用者によるデータ更新ボタン704や性能分析ボタン705の押下によって起動し、仮想マシン性能分析画面701を作成して仮想マシン性能管理クライアント203に送信する。そして、データ更新ボタン704の押下や定期実行によってデータ収集プログラム211を呼び出し、性能低下仮想マシン名ボタン708の押下によって性能低下原因分析画面作成プログラム310を呼び出す。
【0062】
データ収集プログラム211は、仮想マシン性能分析画面作成プログラム309からの呼び出しや、あらかじめ指定された周期の定期実行により起動し、仮想環境管理サーバ201から最新の情報を取得して、リソース使用実績格納テーブル313と構成情報格納テーブル314と構成変更イベント格納テーブル315の情報を更新する。
【0063】
性能低下原因分析画面作成プログラム310は、性能低下仮想マシン名ボタン708や構成表示ボタン806の押下によって起動し、性能低下原因分析画面801を作成して仮想マシン性能管理クライアント203に送信する。そして、戻るボタン807の押下によって仮想マシン性能分析画面作成プログラム309を呼び出す。
【0064】
<実施の形態1:データ収集プログラム>
図10は、データ収集プログラム211の処理フローを説明する図である。以下、
図10の各ステップについて説明する。
【0065】
データ収集プログラム211は、あらかじめ指定された周期による定期実行かをチェックし、定期実行であればステップS1002へ進む、定期実行以外(本実施形態1では、仮想マシン性能分析画面作成プログラム309からの呼び出し)であればステップS1003へ進む(ステップS1001)。
【0066】
データ収集プログラム211は、仮想環境管理サーバ201から、仮想環境管理サーバ201が管理している全ての仮想マシン・物理マシン・ストレージの構成および状態情報を取得し、構成情報格納テーブル314に格納する(ステップS1002)。
【0067】
データ収集プログラム211は、仮想環境管理サーバ201から、仮想環境管理サーバ201が管理している全ての仮想マシン・物理マシン・ストレージのリソース使用実績情報を取得し、リソース使用実績格納テーブル313に格納する(ステップS1003)。なお、リソース使用実績情報の取得期間は、前回取得日時からデータ収集プログラム211実行時点までの期間とする。
【0068】
データ収集プログラム211は、仮想環境管理サーバ201から、仮想環境管理サーバ201が管理している全ての仮想マシン・物理マシン・ストレージの構成および状態の変更に関わるイベント情報を取得し、構成変更イベント格納テーブル315に格納する(ステップS1004)。なお、イベント情報の取得期間は、前回取得日時からデータ収集プログラム211実行時点までの期間とする。
【0069】
<実施の形態1:仮想マシン性能分析画面作成プログラム>
図11は、仮想マシン性能分析画面作成プログラム309の処理フローを説明する図である。以下、
図11の各ステップについて説明する。
【0070】
仮想マシン性能分析画面作成プログラム309は、あらかじめ指定された周期による定期実行またはデータ更新ボタン704の押下による起動かをチェックし、定期実行またはデータ更新ボタン704の押下による起動であれば、ステップS1102に進む。データ更新ボタン704の押下以外の起動(本実施形態1では、性能分析ボタン705の押下)であれば、ステップS1103に進む(ステップS1101)。
【0071】
仮想マシン性能分析画面作成プログラム309は、データ収集プログラム211を実行する(ステップS1102)。
【0072】
仮想マシン性能分析画面作成プログラム309は、リソース使用実績格納テーブル313から、あらかじめ指定された分析期間分の全ての仮想マシンのリソース使用実績情報を取得し、変数に格納する(ステップS1103)。
【0073】
仮想マシン性能分析画面作成プログラム309は、検出閾値入力欄706の入力があれば入力値を取得し、入力がなければ初期値を取得して、検出閾値情報として変数に格納する。そして、ステップS1103で取得した仮想マシンのリソース使用実績情報と、取得した検出閾値情報を引数に、リソース使用実績分析プログラム212を実行し、戻り値として性能統計情報と性能低下仮想マシン名情報とを取得する(ステップS1104)。ここで、性能統計情報は、多数の仮想マシンの性能状態を一覧把握するために統計処理された情報であり、本実施形態1では、指定期間における仮想マシン毎およびリソース種別毎の性能平均値を集計した度数分布である。また、性能低下仮想マシン名情報は、指定された検出閾値情報を基準として抽出した仮想マシン名と検出条件になったリソース種別名を含む情報である。
【0074】
仮想マシン性能分析画面作成プログラム309は、ステップS1104で取得した性能統計情報と性能低下仮想マシン名情報を使用して、それぞれ、仮想マシン性能傾向表示エリア702と、性能低下仮想マシン名表示エリア703を作成し、仮想マシン性能分析画面701を作成する。そして、作成した仮想マシン性能分析画面701を仮想マシン性能管理クライアント203に送信して表示する。(ステップS1105)。なお、性能低下仮想マシン名情報は、性能低下仮想マシン名ボタン708として表示する。また、仮想マシン性能分析画面作成プログラム309は、本ステップの実行後、利用者の操作待ち状態になる。
【0075】
利用者によりデータ更新ボタン704または性能分析ボタン705が押下されると、仮想マシン性能分析画面作成プログラム309は、検出閾値入力欄706の入力値を取得して変数に格納し、ステップS1101に戻る。この処理により、利用者は、任意の検出閾値における仮想マシン性能分析画面701を再表示できる。性能低下仮想マシン名ボタン708が押下されると、仮想マシン性能分析画面作成プログラム309は、押下したボタンの性能低下仮想マシン名を引数に、性能低下原因分析画面作成プログラム310を呼び出して終了する(ステップS1106)。
【0076】
<実施の形態1:性能低下原因分析画面作成プログラム>
図12は、性能低下原因分析画面作成プログラム310の処理フローを説明する図である。以下、
図12の各ステップについて説明する。
【0077】
性能低下原因分析画面作成プログラム310は、引数で指定された仮想マシン名を取得し、性能低下仮想マシン名として変数に格納する(ステップS1201)。
【0078】
性能低下原因分析画面作成プログラム310は、リソース使用実績格納テーブル313から、ステップS1201で取得した性能低下仮想マシン名のリソース使用実績情報を取得し、性能時系列グラフを作成する(ステップS1202)。ここで、取得するリソース使用実績の性能値種別は、ステップS1103で取得したものと同一とする。また、取得するリソース使用実績情報の取得期間は、正常稼働日時入力欄804に値が入力されていれば、入力された正常稼働日時の一定期間前(例えば5分前)から現在日時までの期間とし、値が入力されていなければ、ステップS1103で取得した期間と同一とする。
【0079】
性能低下原因分析画面作成プログラム310は、正常稼働日時入力欄804とリソース種別入力欄805のそれぞれについて、入力があれば入力値を取得し、入力がなければ初期値を取得して、正常稼働日時情報とリソース種別情報として変数に格納する。そして、取得した正常稼働日時情報とリソース種別情報、およびステップS1201で取得した性能低下仮想マシン名を引数に、システム構成情報分析プログラム213を実行し、指定された正常稼働日時におけるシステム構成情報(以降、正常稼働時点システム構成情報と記載する)を取得する(ステップS1203)。ここで、システム構成情報は、性能低下仮想マシンが利用する共有リソースの構成マップ、電源状態、およびリソース使用負荷情報とを含む情報である。なお、リソース使用負荷情報は、リソース利用量表示サイン814の表示に使う情報であり、レベル1〜レベル3など、リソース使用負荷の程度をあらかじめ指定された閾値に従い段階表現した情報である。
【0080】
性能低下原因分析画面作成プログラム310は、ステップS1201で取得した性能低下仮想マシン名と、現在日時およびステップS1203で取得したリソース種別情報を引数に、システム構成情報分析プログラム213を実行し、現在日時におけるシステム構成情報(以降、現時点システム構成情報と記載する)を取得する(ステップS1204)。
【0081】
性能低下原因分析画面作成プログラム310は、ステップS1202で取得した性能時系列グラフを使用して仮想マシン性能時系列エリア802を描画し、さらにステップS1203で取得した正常稼働時点システム構成情報とステップS1204で取得した現時点システム構成情報とを使用して、共有リソース利用状況表示エリア803を描画し、性能低下原因分析画面801を作成する。性能低下原因分析画面作成プログラム310は、仮想マシン性能管理クライアント203に、作成した性能低下原因分析画面801を送信して表示する(ステップS1205)。性能低下原因分析画面作成プログラム310は、本ステップの実行後、利用者の操作待ち状態になる。なお、共有リソース利用状況表示エリア803の表示は、ステップS1201で取得した性能低下仮想マシンを強調表示するものとする。例えば、本実施例では性能低下仮想マシンをシステム構成マップ812の最上段に置き、他の仮想マシンと色を変えて表示している。
【0082】
利用者により、構成表示ボタン806が押下されると、性能低下原因分析画面作成プログラム310は、正常稼働日時入力欄804とリソース種別入力欄805の入力値を取得して変数に格納し、ステップS1202へ戻る。この処理により、利用者は、任意正常稼働日時とリソース種別における性能低下原因分析画面801を再表示できる。戻るボタン807が押下されると、性能低下原因分析画面作成プログラム310は、仮想マシン性能監視画面作成プログラム309を呼び出して終了する(ステップS1206)。
【0083】
<実施の形態1:リソース使用実績分析プログラム>
図13は、リソース使用実績分析プログラム212の処理フローを説明する図である。以下、
図13の各ステップについて説明する。
【0084】
リソース使用実績分析プログラム212は、引数から、仮想マシンのリソース使用実績情報と検出閾値情報を取得し、変数に格納する(ステップS1301)。
【0085】
リソース使用実績分析プログラム212は、ステップS1301で取得した、仮想マシンのリソース使用実績情報を集計し、仮想マシン性能傾向集計情報を作成し、変数に格納する(ステップS1302)。なお、本実施形態1では、仮想マシン性能傾向集計情報として、一定期間における仮想マシン毎およびリソース種別毎の性能平均値を集計し、度数分布を作成している。
【0086】
リソース使用実績分析プログラム212は、ステップS1302で取得した仮想マシン性能傾向集計情報をグラフ化し、性能統計情報を作成する(ステップS1303)。本実施形態1では、度数分布図を作成して画像データを作成している。
【0087】
リソース使用実績分析プログラム212は、ステップS1302で作成した仮想マシン性能傾向集計情報のうち、集計値がステップS1301で取得した検出閾値情報の値を超えている仮想マシンの名前とリソース種別名を特定し、当該仮想マシン名とリソース種別名を、性能低下仮想マシン名情報として変数に格納する(ステップS1304)。なお、本ステップは、検出閾値情報に初期値である空文字が指定されていた場合は、次の動作をしてもよい。ステップS1302で作成した仮想マシン性能傾向集計情報から、リソース種別毎に性能値ワースト10位までの仮想マシン名を特定し、当該仮想マシン名とリソース種別名を性能低下仮想マシン名情報として変数に格納する。
【0088】
リソース使用実績分析プログラム212は、ステップS1303で取得した性能統計情報(度数分布データと度数分布図の画像データ)と、ステップS1304で取得した性能低下仮想マシン名情報を返却し、終了する(ステップS1305)。
【0089】
<実施の形態1:システム構成情報分析プログラム>
図14は、システム構成情報分析プログラム213の処理フローを説明する図である。システム構成情報分析プログラム213の処理は、大きく2つの処理に分けられる。ステップS1401〜ステップS1404は、引数で指定された日時における性能低下仮想マシンのシステム構成を再現し、当該仮想マシンが利用していた共有リソース(本実施形態1では、物理マシン204とストレージ206)を特定する処理である。ステップS1405〜ステップS1409は、ステップS1404までの処理で特定した共有リソース上で稼働していた、全ての物理マシン・仮想マシンの構成マップと電源状態およびリソース使用負荷状況を取得し、返却値を作成する処理である。
【0090】
本実施形態1では、システム構成の再現に必要なデータの取得が仮想環境に与える影響を軽減するために、以下の工夫をしている。構成情報格納テーブル314は、ある時点のシステム全体構成のスナップショット的な情報を保持する。これに対して、構成変更イベント格納テーブル315は、前回データ取得以降にシステムに発生した構成変更イベントのみを保持する。構成情報格納テーブル314のみを用いて、任意の時点のシステム構成を再現するためには、構成情報格納テーブル314を短い時間間隔で高頻度に更新しなければならないが、このデータ更新処理は、仮想環境管理サーバ201が管理する全てのシステム構成要素の状態を参照するため、データ収集にあたり仮想環境管理サーバ201や物理マシン204に高い負荷をかけてしまう。そこで、本実施形態1では、構成情報格納テーブル314が保持する構成のスナップショットに対して、構成変更イベント格納テーブル315が保持するイベント情報を適用することにより、システム構成を再現することにした。本方式によれば、構成情報格納テーブル314のデータ更新頻度を抑えることができるため、仮想環境に高い負荷をかけることなく、任意の時刻におけるシステム構成を再現することができる。
【0091】
システム構成情報分析プログラム213は、引数から、性能低下仮想マシン名と構成表示日時とリソース種別情報を取得して変数に格納する(ステップS1401)。本ステップで取得した構成表示日時を、以降本稿では構成表示日時T1と記載する。
【0092】
システム構成情報分析プログラム213は、構成情報格納テーブル314から、仮想マシン名称3144がステップS1401で取得した性能低下仮想マシン名に一致し、かつ情報収集日時3141が構成表示日時T1以前で最も新しいレコードを検索し、これをベース構成情報K1として変数に格納する。また取得したベース構成情報K1の情報収集日時3141をベース日時T2として変数に格納する(ステップS1402)。 本ステップは、システム構成を表示しようとする日時T1の直近で構成情報格納テーブル314内に格納されているシステム構成情報を取得するためのものである。T2よりも後のシステム構成情報よりも後については、ベース構成情報K1に対して構成変更イベント情報を差分として適用すれば足りるので、まずは本ステップにおいて最新のシステム構成情報を取得することとした。ただし、日時T1におけるシステム構成情報が存在する場合は、これをそのまま用いればよいので、以下のステップは必要ない。
【0093】
システム構成情報分析プログラム213は、構成変更イベント格納テーブル315から、エンティティ名称3152にステップS1401で取得した性能低下仮想マシン名が含まれ、かつイベント発生日時3151が、ベース日時T2から構成表示日時T1までの範囲にあるレコードを検索し、これらレコードを構成変更履歴情報K2として変数に格納する(ステップS1403)。
【0094】
システム構成情報分析プログラム213は、ステップS1402で取得したベース構成情報K1と、ステップS1403で取得した構成変更履歴情報K2とをマージして、性能低下仮想マシンの構成情報K3を生成し、構成表示日時T1の時点で性能低下仮想マシンが利用していた共有リソース名(利用物理マシン名、利用ストレージ名)を特定する(ステップS1404)。
【0095】
システム構成情報分析プログラム213は、構成情報格納テーブル314から、ストレージ名称3142がステップS1404で特定した利用ストレージ名と一致し、かつ情報収集日時3141が構成表示日時T1以前で最も新しいレコードを検索し、これを共有リソースベース構成情報K4として変数に格納する。また共有リソースベース構成情報K4に含まれる物理マシン名と仮想マシン名と情報収集日時を、それぞれ共有物理マシン名、共有仮想マシン名、共有リソースベース日時T3として変数に格納する(ステップS1405)。本ステップは、ストレージ206を利用していた物理マシンと仮想マシンを全て抽出するためのものである。すなわち、ストレージ206が物理マシンをまたがって共有されている場合でも、その利用関係を抽出する意義がある。
【0096】
システム構成情報分析プログラム213は、構成変更イベント格納テーブル315から、エンティティ名称3152と移動元エンティティ名称3154と移動先エンティティ名称3155のいずれかに、ステップS1405で取得した共有物理マシン名または共有仮想マシン名が含まれ、かつイベント発生日時3151が、共有リソースベース日時T3から構成表示日時T1までの範囲にあるレコードを検索し、これらレコードを共有リソース構成変更履歴情報K5として変数に格納する(ステップS1406)。
【0097】
システム構成情報分析プログラム213は、ステップS1405で取得した共有リソースベース構成情報K4と、ステップS1406で取得した共有リソース構成変更履歴情報K5をマージして、共有リソース構成情報K6を生成し、構成表示日時T1における、性能低下仮想マシンと共有物理マシンと共有仮想マシンの構成マップおよび電源状態を特定する(ステップS1407)。
【0098】
システム構成情報分析プログラム213は、リソース使用実績格納テーブル313から、リソース種別3133がステップS1401で取得したリソース種別情報と一致し、かつエンティティ名称3152が共有リソース構成情報K6に含まれるリソース使用実績データを検索し、取得する。さらに、あらかじめ指定されたリソース利用量表示サイン813の閾値に従って当該データを集計し、リソース使用負荷情報を生成する(ステップS1408)。
【0099】
システム構成情報分析プログラム213は、ステップS1407で生成した、共有リソース構成情報K6と、ステップS1408で生成したリソース使用負荷情報とを返却し、処理を終了する(ステップS1409)。
【0100】
<実施の形態1:まとめ>
以上のように、本実施形態1に係る仮想環境運用支援システム1000は、物理マシン間でまたがって共有されるリソース(物理デバイス)と仮想マシンの間の利用関係の履歴をシステム構成情報として記録しておき、性能低下原因分析画面801において、複数の時点における仮想マシンとリソースの間の利用関係を、各時点における仮想マシンの性能実績値とともに表示する。これにより、リソースが物理マシン間でまたがって共有されている場合でも、システム構成の変化が仮想マシンの性能変化に与えた影響を特定することができる。
【0101】
<実施の形態2>
実施形態1では、共有リソースとして物理マシンとストレージを例に説明した。他の共有リソースの例として、例えばネットワーク機器について同様の管理を実施してもよい。ここでいうネットワーク機器とは、ルータ、LANスイッチなどのように、ネットワーク上に存在し各物理マシンが共通して使用する機器のことである。
【0102】
この場合は、例えば、
図5の構成情報格納テーブルのストレージ名称3142部分を、ネットワーク機器名称に変更したネットワーク機器管理用構成情報格納テーブルを追加し、データ収集プログラム211は、ネットワーク機器のリソース使用実績情報とシステム構成情報およびシステム構成変更イベント情報も取得する。また、仮想マシン性能分析画面701には、共有リソースとしてストレージ構成を表示するか、ネットワーク構成を表示するかを選択する入力欄を追加し、当該入力欄でストレージ構成が指定された場合は、
図12で説明したシステム構成情報分析プログラム213を実行し、当該入力欄でネットワーク構成が指定された場合は、構成情報格納テーブルの代わりにネットワーク機器管理用構成情報格納テーブルを参照して、システム構成情報分析プログラム213を実行するものとする。
【0103】
<実施の形態3>
図12で説明した性能低下原因分析画面作成プログラム310では、正常稼働日時入力欄804に入力された日時と現在日時における共有リソース使用状況の比較を行うものとした。しかし、共有リソース使用状況の比較は、利用者が入力した任意の日時間で行えるようにしてもよい。
【0104】
この場合は、例えば、性能低下原因分析画面801には、正常稼働日時入力欄804と正常稼働日時サイン809と同様の機能をもつ、異常稼働日時入力欄と異常稼働日時サインを追加する。そして、性能低下原因分析画面作成プログラム310のステップS1204において、現在日時の代わりに異常稼働日時入力欄に入力された日時を使用して処理を実施し、システム構成情報(異常稼働時点システム構成情報)を取得するものとする。そして、ステップS1205は、現時点システム構成情報の代わりに異常稼働時点システム構成情報を使用して処理を実施する。また、ステップS1206は、正常稼働日時入力欄804とリソース種別入力欄805の入力値の他に、追加した異常稼働日時入力欄の値を加えて処理を実施する。
【0105】
<実施の形態4>
性能低下原因分析画面801には、共有リソース利用状況表示エリア803に表示したシステム構成情報の差異を、ログとして利用者に提示する構成差分ログ表示ボタンを追加してもよい。
【0106】
この場合は、例えば、性能低下原因分析画面作成プログラム310は、ステップS1206で構成差分ログ表示ボタンが押下された場合、構成変更イベント格納テーブル315から、イベント発生日時3151がステップS1203で指定された正常稼働日時からステップS1204で指定された日時までの範囲のレコードを検索し、これらレコードを利用者に提示する画面を作成・表示するものとする。