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