(57)【特許請求の範囲】
【請求項１】
仮想マシンが稼働している複数のホストマシンを制御する若化処理装置であって、
前記各ホストマシンの中から若化の対象として少なくとも一個の第１の前記ホストマシンを選定するホスト若化スケジューリング手段と、
前記若化の対象として選定されなかった第２の前記ホストマシンで稼働している前記仮想マシンの中から前記第１のホストマシンの若化と同じタイミングで若化する少なくとも一つの第１の前記仮想マシンを選定する仮想若化スケジューリング手段と、
前記第１の仮想マシンを前記第１のホストマシンにマイグレーションする仮想マイグレーション手段と、
前記仮想マイグレーション手段によるマイグレーションの後、前記第１のホストマシンを若化する若化実行手段と、
を有する若化処理装置。
【請求項２】
前記ホスト若化スケジューリング手段は、各々のエージング状態を個別に判定して若化する前記ホストマシンを選定する請求項１に記載の若化処理装置。
【請求項３】
複数の前記ホストマシンごとにエージング特性が事前に登録されているエージング管理手段を、さらに有し、
前記ホスト若化スケジューリング手段は、前記エージング特性に対応して若化する前記ホストマシンを選定する請求項２に記載の若化処理装置。
【請求項４】
複数の前記ホストマシンごとに前記エージング状態をリアルタイムに検出して記録するエージング管理手段を、さらに有し、
前記ホスト若化スケジューリング手段は、記録された前記エージング状態に対応して若化する前記ホストマシンを選定する請求項２に記載の若化処理装置。
【請求項５】
前記仮想若化スケジューリング手段は、各々のエージング状態を個別に判定して若化する前記仮想マシンと若化しない前記仮想マシンとを選定する請求項１ないし４の何れか一項に記載の若化処理装置。
【請求項６】
複数の前記仮想マシンごとにエージング特性が事前に登録されているエージング管理手段を、さらに有し、
前記仮想若化スケジューリング手段は、前記エージング特性に対応して若化する前記仮想マシンを選定する請求項５に記載の若化処理装置。
【請求項７】
複数の前記仮想マシンごとに前記エージング状態をリアルタイムに検出して記録するエージング管理手段を、さらに有し、
前記仮想若化スケジューリング手段は、記録された前記エージング状態に対応して若化する前記仮想マシンと若化しない前記仮想マシンとを選定する請求項５に記載の若化処理装置。
【請求項８】
前記仮想若化スケジューリング手段は、前記第１のホストマシンで稼働している前記仮想マシンの中に前記第１のホストマシンの若化と同じタイミングで若化しない前記仮想マシンがある場合、その中から少なくとも一つの第２の前記仮想マシンを選定し、
前記仮想マイグレーション手段は、前記第１の仮想マシンを前記第１のホストマシンにマイグレーションするとともに、前記第２の仮想マシンを前記第２のホストマシンにマイグレーションする請求項１ないし７の何れか一項に記載の若化処理装置。
【請求項９】
前記仮想マイグレーション手段は、前記第２のホストマシンで稼働している前記第１の仮想マシンを停止させた後、前記第２の仮想マシンを前記第２のホストマシンにマイグレーションする請求項８に記載の若化処理装置。
【請求項１０】
仮想マシンが稼働している複数のホストマシンと、
前記各ホストマシンの中から若化の対象として少なくとも一個の第１の前記ホストマシンを選定するホスト若化スケジューリング手段と、
前記若化の対象として選定されなかった第２の前記ホストマシンで稼働している前記仮想マシンの中から前記第１のホストマシンの若化と同じタイミングで若化する少なくとも一つの第１の前記仮想マシンを選定する仮想若化スケジューリング手段と、
前記第１の仮想マシンを前記第１のホストマシンにマイグレーションする仮想マイグレーション手段と、
前記仮想マイグレーション手段によるマイグレーションの後、前記第１のホストマシンを若化する若化実行手段と、
を有する若化処理システム。
【請求項１１】
仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のコンピュータプログラムであって、
前記各ホストマシンの中から若化の対象として少なくとも一個の第１の前記ホストマシンを選定するホスト若化スケジューリング処理と、
前記若化の対象として選定されなかった第２の前記ホストマシンで稼働している前記仮想マシンの中から前記第１のホストマシンの若化と同じタイミングで若化する少なくとも一つの第１の前記仮想マシンを選定する仮想若化スケジューリング処理と、
前記第１の仮想マシンを前記第１のホストマシンにマイグレーションする仮想マイグレーション処理と、
前記仮想マイグレーション処理によるマイグレーションの後、前記第１のホストマシンを若化する若化実行処理と、
を若化処理装置に実行させるコンピュータプログラム。
【請求項１２】
仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のデータ処理方法であって、
前記各ホストマシンの中から若化の対象として少なくとも一個の第１の前記ホストマシンを選定するホスト若化スケジューリング動作と、
前記若化の対象として選定されなかった第２の前記ホストマシンで稼働している前記仮想マシンの中から前記第１のホストマシンの若化と同じタイミングで若化する少なくとも一つの第１の前記仮想マシンを選定する仮想若化スケジューリング動作と、
前記第１の仮想マシンを前記第１のホストマシンにマイグレーションする仮想マイグレーション動作と、
前記仮想マイグレーション処理によるマイグレーションの後、前記第１のホストマシンを若化する若化実行動作と、
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のホストマシンを統合制御する若化処理装置であって、特に、ソフトウェアにより少なくとも一つの仮想マシンが各々稼働しているハードウェアからなる複数のホストマシンを統合制御する若化処理装置、この若化処理装置を有する若化処理システム、若化処理装置のコンピュータプログラムおよびデータ処理方法、に関する。
【背景技術】
【０００２】
長時間サービスを提供しつづけるオンラインアプリケーションなどをデータセンタでホストする際、データセンタの信頼性や可用性が重要となる。従来、システムを高信頼化する手法として、冗長化やクラスタ化技術、障害復旧手法などが利用されているが、複雑化したデータセンタの構成に適合する信頼性管理手法が求められている。【０００３】
特に、近年ではサーバ仮想化機能によってサーバ統合したデータセンタが増え、仮想マシンや仮想化ソフトウェアの信頼性管理が新たな課題になりつつある。仮想化ソフトウェアとは、ホストマシン上で複数の仮想マシンを生成して動作させるためのソフトウェアであり、仮想マシンを安定して稼働させる上で高信頼性が要求される。【０００４】
仮想マシンや仮想化ソフトウェアなど、長時間連続稼働するソフトウェアに特有の問題として、エージングバグによる稼働環境劣化現象がある。エージングバグとは長時間連続稼働することで、性能劣化や障害などを生じるバグのことである。【０００５】
エージングバグをデバッグ時に完全に取り除くことは難しく、特に第三者が開発したライブラリなどのソフトウェアでは、バグの存在を確認できても取り除くことが困難な場合がある。【０００６】
エージングバグに対する有効な解決手段としてはソフトウェア若化が知られている。エージングしたソフトウェアの内部状態や動作環境をリセットして障害を未然に回避する手法である。ソフトウェア若化は若化処理自体にダウンタイムが発生するため、適切なタイミングや間隔で若化をスケジュールする必要がある。【０００７】
そこで、ソフトウェアの稼働時間に基づいて、定期的に若化処理を実行することで、障害を回避する手法がある（例えば、特許文献１参照）。また、アプリケーションの動作を監視し、プロセスを再起動して動作を正常化する手法もある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−１８８６８４号公報
【特許文献２】特開平０８−０９５８１４号公報
【発明の概要】
【０００９】
しかし、従来の若化手法を仮想マシンや仮想化ソフトウェアにそのまま適用する場合、仮想化ソフトウェアの若化（ホストマシンの若化）によって不必要に仮想マシンを停止しなければならない問題がある。
【００１０】
仮想マシンは仮想化ソフトウェア上（ホストマシン上）で動作するため、仮想化ソフトウェアの停止時には全ての仮想マシンを停止する必要があるためである。仮想マシンの不必要な停止はアプリケーションシステム全体のダウンタイム増加につながるため、可用性向上の観点で望ましくない。
【００１１】
他の問題点としては、仮想化ソフトウェアに対しては従来の若化手法をそのまま適用できないことがある。その理由は、仮想マシンや仮想マシン上で動作するアプリケーションは仮想化ソフトウェアに依存しており、仮想化ソフトウェアの若化時には仮想マシンやアプリケーションの状態も考慮する必要があるためである。
【００１２】
さらに他の問題点としては、仮想化ソフトウェアの若化によって、不必要に仮想マシンのダウンタイムを増加させてしまうことがある。その理由は、仮想マシンおよび仮想マシン上で動作するアプリケーションには、それぞれ適切な若化のタイミングがあり、仮想化ソフトウェアの若化のタイミングと一致するとは限らないためである。
【００１３】
さらに他の問題点としては、二重化や多重化による高信頼化にはコストがかかることがある。その理由は、仮想マシンによって二重化や多重化の構成を取る場合においても、仮想マシンを稼働させるための計算機資源が必要であり、ホストマシンの増加や消費電力、冷却コスト、管理維持コストの増加によってコストが嵩むためである。
【００１４】
本発明は上述のような課題に鑑みてなされたものであり、若化する必要がないホストマシンと仮想マシンとを連続的に稼働させながら、若化する必要があるホストマシンと仮想マシンとを同時に若化することができる若化処理装置、この若化処理装置を有する若化処理システム、若化処理装置のコンピュータプログラムおよびデータ処理方法、を提供することを目的とする。
【００１５】
本発明の若化処理装置は、仮想マシンが稼働している複数のホストマシンを制御する若化処理装置であって、各ホストマシンの中から若化の対象として少なくとも一個のホストマシンを選定するホスト若化スケジューリング手段と、若化の対象として選定されなかったホストマシンで稼働している仮想マシンの中から少なくとも一つの仮想マシンを選定する仮想若化スケジューリング手段と、選定された仮想マシンの稼動を停止し、当該仮想マシンが稼動していたホストマシンに、若化の対象として選定されたホストマシンで稼動している仮想マシンをマイグレーションする仮想マイグレーション手段と、若化の対象として選定されたホストマシンを若化する若化実行手段と、を有する。
【００１６】
本発明の若化処理システムは、仮想マシンが稼働している複数のホストマシンと、各ホストマシンの中から若化の対象として少なくとも一個のホストマシンを選定するホスト若化スケジューリング手段と、若化の対象として選定されなかったホストマシンで稼働している仮想マシンの中から少なくとも一つの仮想マシンを選定する仮想若化スケジューリング手段と、選定された仮想マシンの稼動を停止し、当該仮想マシンが稼動していたホストマシンに、若化の対象として選定されたホストマシンで稼動している仮想マシンをマイグレーションする仮想マイグレーション手段と、若化の対象として選定されたホストマシンを若化する若化実行手段と、を有する。
【００１７】
本発明のコンピュータプログラムは、仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のコンピュータプログラムであって、各ホストマシンの中から若化の対象として少なくとも一個のホストマシンを選定するホスト若化スケジューリング処理と、若化の対象として選定されなかったホストマシンで稼働している仮想マシンの中から少なくとも一つの仮想マシンを選定する仮想若化スケジューリング処理と、選定された仮想マシンの稼動を停止し、当該仮想マシンが稼動していたホストマシンに、若化の対象として選定されたホストマシンで稼動している仮想マシンをマイグレーションする仮想マイグレーション処理と、若化の対象として選定されたホストマシンを若化する若化実行処理と、を若化処理装置に実行させる。
【００１８】
本発明のデータ処理方法は、仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のデータ処理方法であって、各ホストマシンの中から若化の対象として少なくとも一個のホストマシンを選定するホスト若化スケジューリング動作と、若化の対象として選定されなかったホストマシンで稼働している仮想マシンの中から少なくとも一つの仮想マシンを選定する仮想若化スケジューリング動作と、選定された仮想マシンの稼動を停止し、当該仮想マシンが稼動していたホストマシンに、若化の対象として選定されたホストマシンで稼動している仮想マシンをマイグレーションする仮想マイグレーション動作と、若化の対象として選定されたホストマシンを若化する若化実行動作と、を有する。
【００１９】
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与された若化処理装置、コンピュータプログラムにより若化処理装置に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【００２０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００２１】
また、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および動作を順番に記載してあるが、その記載の順番は複数の処理および複数の動作を実行する順番を限定するものではない。
【００２２】
このため、本発明のコンピュータプログラムおよびデータ処理方法を実施するときには、その複数の処理および複数の動作の順番は内容的に支障しない範囲で変更することができる。
【００２３】
さらに、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および複数の動作が個々に相違するタイミングで実行されることに限定されない。このため、ある処理および動作の実行中に他の処理および動作が発生すること、ある処理および動作の実行タイミングと他の処理および動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００２４】
本発明の若化処理装置では、各ホストマシンの中から若化の対象として少なくとも一個のホストマシンを選定する。若化の対象として選定されなかったホストマシンで稼働している仮想マシンの中から少なくとも一つの仮想マシンを選定する。選定された仮想マシンの稼動を停止し、当該仮想マシンが稼動していたホストマシンに、若化の対象として選定されたホストマシンで稼動している仮想マシンをマイグレーションする。若化の対象として選定されたホストマシンを若化する。このため、ホストマシンを若化するときに稼働していて若化する必要がない仮想マシンを一緒に停止させる必要がない。従って、若化する必要がないホストマシンと仮想マシンとを連続的に稼働させながら、若化する必要があるホストマシンを若化することができる。
【図面の簡単な説明】
【００２５】
上述した目的、および、その他の目的、特徴および利点は、以下に述べる好適な実施の形態、および、それに付随する以下の図面によって、さらに明らかになる。【００２６】
【図１】本発明の実施の形態の若化処理システムの論理構造を示す模式的なブロック図である。
【図２】若化スケジュール生成機能の処理動作を示すフローチャートである。
【図３】ホストマシンと仮想マシンとエージング特性との関係を示す特性図である。
【図４】ホストマシンの若化スケジュールを示すタイムチャートである。
【図５】ホストマシンと仮想マシンとの若化スケジュールを示すタイムチャートである。
【図６】ホストマシンと仮想マシンとの若化スケジュールおよび仮想マシンのマイグレーションスケジュールを示すタイムチャートである。
【図７】一の変形例の若化処理システムの論理構造を示す模式的なブロック図である。
【図８】若化処理システムの全体の処理動作を示すフローチャートである。
【発明を実施するための形態】
【００２７】
本発明の実施の一形態を図１ないし図８を参照して以下に説明する。図１を参照すると、本発明の実施の形態の若化処理システムは、プログラム制御により動作する若化処理装置である管理サーバ１と、通信ネットワーク２と、複数のホストマシン３と、ネットワークストレージ装置５と、から構成されている。
【００２８】
管理サーバ１は、通信ネットワーク２で複数のホストマシン３に接続されている。また、複数のホストマシン３は、ネットワークストレージ装置５を共有している。複数のホストマシン３は、ソフトウェアである仮想化ソフトウェア３０１により少なくとも一つの仮想マシン３０２が各々稼働しているハードウェアからなる。管理サーバ１は、上述のような複数のホストマシン３を統合制御する。
【００２９】
このため、本実施の形態の管理サーバ１は、各ホストマシン３の中から若化の対象として少なくとも一個のホストマシン３を選定するホスト若化スケジューリング手段であるホストマシン若化スケジュール１０４と、若化の対象として選定されなかったホストマシン３で稼働している仮想マシン３０２の中から少なくとも一つの仮想マシン３０２を選定する仮想若化スケジューリング手段である仮想マシン若化スケジュール１０５と、選定された仮想マシン３０２の稼動を停止し、当該仮想マシン３０２が稼動していたホストマシン３に、若化の対象として選定されたホストマシン３で稼動している仮想マシン３０２をマイグレーションする仮想マイグレーション手段であるマイグレーションスケジュール１０６と、若化の対象として選定されたホストマシン３を若化する若化実行手段である若化実行管理機能１０７と、を有する。
【００３０】
なお、ホストマシン若化スケジュール１０４は、各々のエージング状態を個別に判定して若化するホストマシン３を選定する。また、仮想マシン若化スケジュール１０５は、各々のエージング状態を個別に判定して若化する仮想マシン３０２と若化しない仮想マシン３０２とを選定する。
【００３１】
より詳細には、管理サーバ１は、複数のホストマシン３ごとにエージング特性が事前に登録されているエージング特性１０２も有し、ホストマシン若化スケジュール１０４は、登録されているエージング特性に対応して若化するホストマシン３を選定し、仮想マシン若化スケジュール１０５は、登録されているエージング特性に対応して若化する仮想マシン３０２を選定する。
【００３２】
より具体的には、管理サーバ１は、上述の各部の他、仮想マシン配置構成１０１と、若化スケジュール生成機能１０３と、ホストマシン起動／停止制御機能１０８と、仮想マシン起動／停止制御機能１０９と、仮想マシンマイグレーション制御機能１１０と、を含む。
【００３３】
複数のホストマシン３は、例えば、通信ネットワーク２に並列に接続されており、少なくとも一つの仮想化ソフトウェア３０１と、これによる少なくとも一つ以上の仮想マシン３０２とを、各々含む。これらの構成要素は、概略つぎのように動作する。
【００３４】
若化スケジュール生成機能１０３は、仮想マシン配置構成１０１とエージング特性１０２を読み込み、ホストマシン若化スケジュール１０４、仮想マシン若化スケジュール１０５とマイグレーションスケジュール１０６を生成し、ホストマシン若化スケジュール１０４、仮想マシン若化スケジュール１０５、マイグレーションスケジュール１０６に格納する。
【００３５】
若化実行管理機能１０７は、生成したスケジュール情報に基づいてホストマシン起動／停止制御機能１０８、仮想マシン起動／停止制御機能１０９と、仮想マシンマイグレーション制御機能１１０を呼びだして、仮想化ソフトウェア３０１および仮想マシン３０２を操作する。
【００３６】
ホストマシン起動／停止制御機能１０８は通信ネットワーク２を介してホストマシン３の仮想化ソフトウェア３０１を起動／停止する。仮想化ソフトウェア３０１の起動／停止はホストマシン３の起動／停止に対応する。
【００３７】
仮想マシン起動／停止制御機能１０９は通信ネットワーク２を介して仮想マシン３０２の起動／停止を操作する。仮想マシン３０２のイメージは全てネットワークストレージ装置５に格納され、全てのホストマシン３から参照可能である。
【００３８】
仮想マシンマイグレーション制御機能１１０は、通信ネットワーク２を介して仮想化ソフトウェア３０１を操作し、仮想マシン３０２を別のホストマシン３へマイグレーションさせる。
【００３９】
仮想マシン３０２のマイグレーションによって仮想マシン３０２は一時的に停止状態となるが、再起動時間と比較してマイグレーションにかかる時間は非常に短時間であるとする。
【００４０】
なお、上述のような管理サーバ１のコンピュータプログラムは、例えば、各ホストマシン３の中から若化の対象として少なくとも一個のホストマシン３を選定するホスト若化スケジューリング処理と、若化の対象として選定されなかったホストマシン３で稼働している仮想マシン３０２の中から少なくとも一つの仮想マシン３０２を選定する仮想若化スケジューリング処理と、選定された仮想マシン３０２の稼動を停止し、当該仮想マシン３０２が稼動していたホストマシン３に、若化の対象として選定されたホストマシン３で稼動している仮想マシン３０２をマイグレーションする仮想マイグレーション処理と、若化の対象として選定されたホストマシン３を若化する若化実行処理と、を管理サーバ１に実行させるように記述されている。
【００４１】
つぎに、図２のフローチャートを参照して本実施の形態の若化処理システムの動作について詳細に説明する。はじめに若化スケジュール生成機能１０３は仮想マシン配置構成１０１とエージング特性１０２を参照する（図２のステップ３０００、３００１）。仮想マシン配置構成１０１の例を図３に示す。図３の構成では、ホストマシン３が３台あり、全部で６つの仮想マシン３０２がホストされている。
【００４２】
つぎに、若化スケジュール生成機能１０３は与えられた仮想マシン配置構成１０１とエージング特性１０２に基づき、ホストマシン３の若化スケジュールを作成する（ステップ３００２）。
【００４３】
各ホストマシン３は同時に停止することがないようにスケジュールする。ホストマシン３の若化スケジュールの例を図４に示す。つぎに、あるいはステップ３００２と同時に、仮想マシン３０２の若化スケジュールを作成する（ステップ３００３）。
【００４４】
ただし、この段階で作成される仮想マシン３０２の若化スケジュールは仮想マシン３０２のエージング特性１０２のみに基づく仮のスケジュールであり、以降のステップで修正を行う。
【００４５】
修正は、ホストマシン３の若化スケジュールに基づき、各ホストマシン３の若化のタイミングで、仮想マシン３０２の退避先を順番に調整していくことで行う。はじめに、直近のホストマシン３の若化タイミングを選択する（ステップ３００４）。
【００４６】
このホストマシン３上で動作する仮想マシン３０２を別のホストに退避させることを考慮し、他のホストマシン３上にこの時点で空き領域が存在するかどうかを調べる。空き領域の調査は、その時点での仮想マシン配置構成１０１に基づく必要がある。
【００４７】
初めに与えられた仮想マシン配置構成１０１から、その時点までにスケジュールされている仮想マシン３０２のマイグレーションを考慮し、どのホストマシン３上に空き領域があるかを調査する。
【００４８】
若化対象のホストマシン３上で動作する全ての仮想マシン３０２を退避させるだけの十分な空き領域が見つかった場合は(ステップ３００５−Ｙ)、ホストマシン３の停止前にマイグレーションによって仮想マシン３０２を退避させるスケジュールを追加する（ステップ３００９）。
【００４９】
一方、十分な空き領域が存在しない場合は(ステップ３００５−Ｎ)、最もエージングによるリスクの高い（例えば稼働時間が最も長い）仮想マシン３０２を選択して停止する方法をとる。この際、選択した仮想マシン３０２が一つのホストマシン３上で動作可能なようにキャパシティを考慮して選択を行う（ステップ３００６）。
【００５０】
例えば、図３の構成の例では、各ホストマシン３上で動作する仮想マシン３０２は２台であるため、２つの仮想マシン３０２を若化対象として選択する。ホストマシン３を停止する直前にこれらの仮想マシン３０２を停止するようにスケジュールを作成する。
【００５１】
さらに、ホストマシン３を再起動後、これらの仮想マシン３０２を、このホストマシ３上で起動させるようにスケジュールを作成する（ステップ３００７）。ここで、スケジュールを設定した仮想マシン３０２が若化対象のホストマシン３と異なるホストマシン３上で動作している場合は、停止した仮想マシン３０２の空き領域にホストマシン３上で動作する仮想マシン３０２を退避させるためのマイグレーションスケジュール１０６を追加する。
【００５２】
マイグレーションは、仮想マシン３０２の停止後、ホストマシン３の停止前にスケジュールする（ステップ３００８、３００９）。以上の手順を各ホストマシン３の若化タイミングにつき、順番に実行して仮想マシン３０２の若化スケジュールの修正とマイグレーションスケジュール１０６の追加を繰り返す（ステップ３０１０）。
【００５３】
図３で与えられた配置構成には空き領域は存在しないと仮定し、ホストマシン３と仮想マシン３０２を組み合わせた若化スケジュールの例を図５に示す。図５を参照すると、host01を若化するタイミングでvm04とvm06を選択して停止し、host02を若化するタイミングでvm01とvm03を選択して停止し、host03を停止するタイミングでvm02とvm05を選択して停止している。
【００５４】
図５の若化スケジュールにさらに仮想マシン３０２のマイグレーションのスケジュールを追加した状態の例を図６に示す。図６の例では、host01の若化時にvm01をhost02に、vm02をhost03にマイグレーションさせる。
【００５５】
その後、host02の若化時は、vm01とvm03がhost02上で動作しているので、マイグレーションは必要ない。同様に、 host03の若化時には、vm02とvm05がhost03上で動作しているので若化の必要はない。
【００５６】
本実施の形態の若化処理システムの管理サーバ１は、上述のように複数のホストマシン３から若化する少なくとも一個を選定する。選定されて若化されるホストマシン３で稼働している仮想マシン３０２から若化しない少なくとも一つを選定するととともに、選定されず若化されないホストマシン３で稼働している仮想マシン３０２から若化する少なくとも一つを選定する。
【００５７】
若化されるホストマシン３の若化しない仮想マシン３０２と若化されないホストマシン３の若化する仮想マシン３０２とを相互にマイグレーションする。マイグレーションされた若化される仮想マシン３０２を若化されるホストマシン３とともに若化する。
【００５８】
このため、若化する必要がある仮想マシン３０２を若化する必要があるホストマシン３とともに若化することができ、ホストマシン３を若化するときに稼働していて若化する必要がない仮想マシン３０２を一緒に停止させる必要がない。
【００５９】
従って、若化する必要がないホストマシン３と仮想マシン３０２とを連続的に稼働させながら、若化する必要があるホストマシン３と仮想マシン３０２とを同時に若化することができる。
【００６０】
つまり、ホストマシン３の若化処理時に若化が必要な仮想マシン３０２を組み合わせて若化するように構成されているため、不必要な仮想マシン３０２の若化処理を削減できる。
【００６１】
さらに、若化のための予備サーバを利用せずに全てのホストマシン３と仮想マシン３０２の若化スケジュールを生成するように構成されているため、より低コストで若化による高信頼化を達成できる。
【００６２】
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態では複数のホストマシン３ごとにエージング特性が事前に登録されているエージング特性１０２を有し、ホストマシン若化スケジュール１０４は、図５に示すように、エージング特性に対応して若化するホストマシン３を選定することを例示した。
【００６３】
しかし、複数のホストマシン３ごとにエージング状態をリアルタイムに検出して記録するエージング特性１０２を有し、ホストマシン若化スケジュール１０４は、記録されたエージング状態に対応して若化するホストマシン３を選定してもよい。
【００６４】
より具体的には、図７を参照すると、管理サーバ１は、図１の管理サーバの構成に加え、エージング状態１１２とリソース利用量／構成監視機能１１１をさらに構成要素として持つ。
【００６５】
つぎに、図８のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。本実施の形態では、仮想マシン３０２やホストマシン３の構成およびエージング状態を継続的に監視し、監視結果に基づいて若化スケジュールを動的に変更する。
【００６６】
はじめに、若化スケジュール生成機能１０３は第１の実施の形態に示す若化スケジュール生成方式にしたがって、ホストマシン若化スケジュール１０４、仮想マシン若化スケジュール１０５、マイグレーションスケジュール１０６を生成する。
【００６７】
生成されたスケジュールに基づいて運用を開始し、同時に、リソース利用量／構成監視機能を用いてリソースの利用量および、構成情報を監視する（図８のステップ４０００、４００１）。
【００６８】
監視した結果、リソース利用量などのデータでエージングする可能性のあるデータはエージング状態１１２に記録する（ステップ４００２）。監視によって仮想マシン３０２の配置に変更が生じたことが明らかになった場合は仮想マシン配置構成１０１を更新する（ステップ４００３）。
【００６９】
ここで、スケジュール作成時に想定したエージング進行状態と異なり、予定外のエージング状態が見つかった場合は、エージングが進行しているコンポーネントを近いうちに若化するように若化スケジュールを再生成する（ステップ４００４−Ｙ、４００６）。
【００７０】
例えば、ウェブサーバなどのオンラインアプリケーションで、受け付けたリクエストの数によってエージングが進行するようなアプリケーションであった場合、短時間であっても、リクエストの集中によってエージングが加速して進行する場合がある。
【００７１】
このような状態を検出して若化スケジュール再生成のトリガとする。また、あらかじめスケジュールされたマイグレーションなど以外の予定外の構成変更を検出した場合も同様に若化スケジュールを再生成する（ステップ４００５−Ｙ、４００６）。
【００７２】
例えば、新しい仮想マシン３０２やホストマシン３を追加起動した場合や、負荷均衡などを目的として、マイグレーションによって仮想マシン３０２の配置構成を変更したような場合に、若化スケジュールの再生成を行う。
【００７３】
再生成によって得られた若化スケジュールは、それぞれホストマシン若化スケジュール１０４、仮想マシン若化スケジュール１０５、マイグレーションスケジュール１０６に格納され（ステップ４００７）、若化実行管理機能１０７によってスケジュール運用が継続される。再スケジュールの必要がない場合は監視を継続する。
【００７４】
上述のような若化処理システムでは、リソース利用量を監視して予想外のエージング進行状態を検出し、若化スケジュールを再生成するように構成されているため、経過時間以外の要因によってエージングが進行するような状況にも動的に対応できる。
【００７５】
また、本発明を実施するための最良の形態では、さらに、構成情報を監視して予想外の仮想マシン配置構成１０１の変化を検出し、若化スケジュールを再生成するように構成されている。
【００７６】
このため、システム管理者によるホストマシン３や仮想マシン３０２の追加や負荷均衡を目的とした仮想マシン３０２の自動配置換えなどの機能が動作する環境において、若化のスケジュールを動的に変更して対応できる。
【００７７】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。
【００７８】
この出願は、２００９年  ４月２３日に出願された日本出願特願２００９−１０４６９５号を基礎とする優先権を主張し、その開示の全てを、ここに取り込む。
以下、参考形態の例を付記する。
１．  仮想マシンが稼働している複数のホストマシンを制御する若化処理装置であって、
前記各ホストマシンの中から若化の対象として少なくとも一個の前記ホストマシンを選定するホスト若化スケジューリング手段と、
前記若化の対象として選定されなかった前記ホストマシンで稼働している前記仮想マシンの中から少なくとも一つの前記仮想マシンを選定する仮想若化スケジューリング手段と、
選定された前記仮想マシンの稼動を停止し、当該仮想マシンが稼動していた前記ホストマシンに、若化の対象として選定された前記ホストマシンで稼動している前記仮想マシンをマイグレーションする仮想マイグレーション手段と、
前記若化の対象として選定された前記ホストマシンを若化する若化実行手段と、
を有する若化処理装置。
２．  前記ホスト若化スケジューリング手段は、各々のエージング状態を個別に判定して若化する前記ホストマシンを選定する１に記載の若化処理装置。
３．  複数の前記ホストマシンごとにエージング特性が事前に登録されているエージング管理手段を、さらに有し、
前記ホスト若化スケジューリング手段は、前記エージング特性に対応して若化する前記ホストマシンを選定する２に記載の若化処理装置。
４．  複数の前記ホストマシンごとに前記エージング状態をリアルタイムに検出して記録するエージング管理手段を、さらに有し、
前記ホスト若化スケジューリング手段は、記録された前記エージング状態に対応して若化する前記ホストマシンを選定する２に記載の若化処理装置。
５．  前記仮想若化スケジューリング手段は、各々のエージング状態を個別に判定して若化する前記仮想マシンと若化しない前記仮想マシンとを選定する１ないし４の何れかに記載の若化処理装置。
６．  複数の前記仮想マシンごとにエージング特性が事前に登録されているエージング管理手段を、さらに有し、
前記仮想若化スケジューリング手段は、前記エージング特性に対応して若化する前記仮想マシンを選定する５に記載の若化処理装置。
７．  複数の前記仮想マシンごとに前記エージング状態をリアルタイムに検出して記録するエージング管理手段を、さらに有し、
前記仮想若化スケジューリング手段は、記録された前記エージング状態に対応して若化する前記仮想マシンと若化しない前記仮想マシンとを選定する５に記載の若化処理装置。
８．  仮想マシンが稼働している複数のホストマシンと、
前記各ホストマシンの中から若化の対象として少なくとも一個の前記ホストマシンを選定するホスト若化スケジューリング手段と、
前記若化の対象として選定されなかった前記ホストマシンで稼働している前記仮想マシンの中から少なくとも一つの前記仮想マシンを選定する仮想若化スケジューリング手段と、
選定された前記仮想マシンの稼動を停止し、当該仮想マシンが稼動していた前記ホストマシンに、若化の対象として選定された前記ホストマシンで稼動している前記仮想マシンをマイグレーションする仮想マイグレーション手段と、
前記若化の対象として選定された前記ホストマシンを若化する若化実行手段と、
を有する若化処理システム。
９．  仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のコンピュータプログラムであって、
前記各ホストマシンの中から若化の対象として少なくとも一個の前記ホストマシンを選定するホスト若化スケジューリング処理と、
前記若化の対象として選定されなかった前記ホストマシンで稼働している前記仮想マシンの中から少なくとも一つの前記仮想マシンを選定する仮想若化スケジューリング処理と、
選定された前記仮想マシンの稼動を停止し、当該仮想マシンが稼動していた前記ホストマシンに、若化の対象として選定された前記ホストマシンで稼動している前記仮想マシンをマイグレーションする仮想マイグレーション処理と、
前記若化の対象として選定された前記ホストマシンを若化する若化実行処理と、
を若化処理装置に実行させるコンピュータプログラム。
１０．  仮想マシンが稼働している複数のホストマシンを制御する若化処理装置のデータ処理方法であって、
前記各ホストマシンの中から若化の対象として少なくとも一個の前記ホストマシンを選定するホスト若化スケジューリング動作と、
前記若化の対象として選定されなかった前記ホストマシンで稼働している前記仮想マシンの中から少なくとも一つの前記仮想マシンを選定する仮想若化スケジューリング動作と、
選定された前記仮想マシンの稼動を停止し、当該仮想マシンが稼動していた前記ホストマシンに、若化の対象として選定された前記ホストマシンで稼動している前記仮想マシンをマイグレーションする仮想マイグレーション動作と、
前記若化の対象として選定された前記ホストマシンを若化する若化実行動作と、
を有するデータ処理方法。
【図１】
0005403051.tif 000002
【図２】
0005403051.tif 000003
【図３】
0005403051.tif 000004
【図４】
0005403051.tif 000005
【図５】
0005403051.tif 000006
【図６】
0005403051.tif 000007
【図７】
0005403051.tif 000008
【図８】
0005403051.tif 000009