(57)【要約】【課題】物理サーバの障害時に多大な労力と時間をかけることなく仮想サーバの退避先の確認を可能とする。【解決手段】物理サーバ上に構成される仮想サーバの起動状態を確認する仮想サーバ起動状態確認システムであって、障害が発生した物理サーバ上に構成される仮想サーバから受け取った障害通知に基づいて、仮想サーバの起動状態を示す情報と、障害通知を受けた物理サーバ以外の他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを取得する起動確認部と、物理サーバ上に構成される仮想サーバの配置リストと、仮想サーバの起動状態を示す情報および他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを含む仮想サーバ状態ログとに基づいて、障害が発生した物理サーバおよび障害通知を受けた物理サーバ以外の他の物理サーバ上に構成される仮想サーバが起動状態にあるか否かを判定し、当該判定の結果をリスト形式で記録したステータスログを出力する検索部と、を備える。【選択図】図７
2019003551.tif 000002
【特許請求の範囲】
【請求項１】
物理サーバ上に構成される仮想サーバの起動状態を確認する仮想サーバ起動状態確認システムであって、
障害が発生した物理サーバ上に構成される仮想サーバから受け取った障害通知に基づいて、前記仮想サーバの起動状態を示す情報と、前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを取得する起動確認部と、
物理サーバ上に構成される仮想サーバの配置リストと、前記仮想サーバの起動状態を示す情報および前記他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを含む仮想サーバ状態ログとに基づいて、前記障害が発生した物理サーバおよび前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバが起動状態にあるか否かを判定し、当該判定の結果をリスト形式で記録したステータスログを出力する検索部と、
を備えることを特徴とする仮想サーバ起動状態確認システム。
【請求項２】
前記検索部は、物理サーバのリソースの空き状況および仮想サーバのライセンスの空き状況に基づいて、前記障害が発生した物理サーバ上に構成される仮想サーバの退避先を決定する、
ことを特徴とする請求項１に記載の仮想サーバ起動状態確認システム。
【請求項３】
前記検索部により決定された前記退避先となる物理サーバの前記配置リストを更新する配置リスト更新部、
を備えることを特徴とする請求項２に記載の仮想サーバ起動状態確認システム。
【請求項４】
障害が発生した物理サーバ上に構成される仮想サーバから受け取った障害通知に基づいて、仮想サーバの起動状態を示す情報と、前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを取得し、
物理サーバ上に構成される仮想サーバの配置リストと、前記仮想サーバの起動状態を示す情報および前記他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを含む仮想サーバ状態ログとに基づいて、前記障害が発生した物理サーバおよび前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバが起動状態にあるか否かを判定し、
当該判定の結果をリスト形式で記録したステータスログを出力する、
ことを特徴とする仮想サーバ起動状態確認方法。
【請求項５】
物理サーバのリソースの空き状況および仮想サーバのライセンスの空き状況に基づいて、前記障害が発生した物理サーバ上に構成される仮想サーバの退避先を決定する、
ことを特徴とする請求項４に記載の仮想サーバ起動状態確認方法。
【請求項６】
決定された前記退避先となる物理サーバの前記配置リストを更新する、
ことを特徴とする請求項５に記載の仮想サーバ起動状態確認方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想サーバ起動状態確認システム、及び仮想サーバ起動状態確認方法に関する。
【背景技術】
【０００２】
クラウド環境においては、物理マシン上で割り当てられ、稼働する仮想サーバの台数は、物理マシン１台あたり十数台になるケースがある。仮に物理マシンで障害が発生した場合、物理マシン上の仮想サーバも同様に影響を受ける可能性がある。また、物理マシンに発生した影響の程度によっては、物理マシン上の仮想サーバを連続稼働させるため、別の物理マシンへ仮想サーバを退避させる機能を仮想化ソフトウェアでは実装されている。そのため、物理マシンの障害発生時には、物理マシン上の仮想サーバの起動状態を確認する必要がある。
【０００３】
しかし、現状、仮想サーバの起動状態の確認についてはシステム保守管理者が手動で確認を行っているため、障害から確認がなされるまでにタイムラグが生じ、またシステム保守管理者の人的コストおよび確認ミスが発生するという問題がある。
【０００４】
特許文献１は、仮想サーバを動的に他リソースに割り当てられた場合、仮想サーバ名と正常性確認手順書とを関連付けた正常性確認テーブルから仮想サーバへのアクセスを行い、そのアクセス結果に基づいて正常性確認結果を判断する仕組みとなっている。また、正常性確認結果を不良と判断した場合は、物理マシンのリソース状態テーブルから物理マシンのリソースを分析し、他の物理マシンへの移転を行う手法、及びシステムとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１２５６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
物理マシンの障害時においては、仮想サーバの起動状態の確認を迅速に実施することも重要であるが、障害時の影響やステップバックの対応に備えて、仮想サーバが想定した他リソースに正常に割り当てられているかを確認することも重要である。特に、複数の物理サーバ上に構成される複数の仮想サーバが、クラウド等の大規模なシステムを構成する場合には、上記確認を行うために、多大な労力と時間がかかったり、規模の大きさによっては実際問題として上記確認ができなくなる場合がある。
【０００７】
本発明は、物理サーバの障害時に多大な労力と時間をかけることなく仮想サーバの退避先を確認することが可能な仮想サーバ起動状態確認システム、及び仮想サーバ起動状態確認方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明にかかる仮想サーバ起動状態確認システムは、物理サーバ上に構成される仮想サーバの起動状態を確認する仮想サーバ起動状態確認システムであって、障害が発生した物理サーバ上に構成される仮想サーバから受け取った障害通知に基づいて、前記仮想サーバの起動状態を示す情報と、前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを取得する起動確認部と、物理サーバ上に構成される仮想サーバの配置リストと、前記仮想サーバの起動状態を示す情報および前記他の物理サーバ上に構成される仮想サーバの起動状態を示す情報とを含む仮想サーバ状態ログとに基づいて、前記障害が発生した物理サーバおよび前記障害通知を受けた前記物理サーバ以外の他の物理サーバ上に構成される仮想サーバが起動状態にあるか否かを判定し、当該判定の結果をリスト形式で記録したステータスログを出力する検索部と、を備えることを特徴とする仮想サーバ起動状態確認システムとして構成される。
【０００９】
また、本発明は、上記仮想サーバ起動状態確認システムで行われる仮想サーバ起動状態確認方法としても把握される。
【発明の効果】
【００１０】
本発明によれば、物理サーバの障害時に多大な労力と時間をかけることなく仮想サーバの退避先を確認することができる。
【図面の簡単な説明】
【００１１】
【図１】正常時におけるクラウドシステム１の全体構成例を示す図である。
【図２】クラウドシステム１の機能ブロック構成例を示す図である。
【図３】物理マシンＡ１００の障害時におけるクラウドシステム１の動作例を示す図である。
【図４】物理マシンＡ１００障害ケースにおける仮想サーバ状態ログを示す図である。
【図５】物理マシンＡ１００障害ケースにおける仮想サーバ配置リストを示す図である。
【図６】物理マシンＡ１００障害ケースにおけるステータスログを示す図である。
【図７】物理マシンＡ１００の障害時における仮想サーバ起動状態の確認フローを示す図である。(その１)
【図８】図７の仮想サーバ起動状態の確認フローの手順１００５〜１００８の詳細を示す図である。
【図９】物理マシンＡ１００の障害時における仮想サーバ起動状態の確認フローを示す図である。(その２)
【図１０】物理マシンＡ１００の障害時における仮想サーバ起動状態の確認フローを示す図である。(その３)
【図１１】物理マシンＡ１００に仮想サーバＦ１０３を追加したことを示す図である。
【図１２】物理マシンＡ１００に仮想サーバＦ１０３を追加した場合の配置リスト更新フローを示す図である。
【図１３】物理マシンＡ１００から仮想サーバＢ１０２を削除したことを示す図である。
【図１４】物理マシンＡ１００に仮想サーバＢ１０２を削除した場合の配置リスト更新フローを示す図である。
【発明を実施するための形態】
【００１２】
以下、本実施例について、図面を参照して詳細に説明する。
【００１３】
図１は、クラウドシステム１の全体構成例を示す図である。クラウドシステム１は、物理マシンＡ１００とそのマシン上の仮想サーバＡ１０１および仮想サーバＢ１０２、物理マシンＢ２００とそのマシン上の仮想サーバＣ２０１および仮想サーバＤ２０２、物理マシンＣ３００とそのマシン上の仮想サーバＥ３０１と、それらを管理する物理マシン管理サーバ１０がインターネット等のネットワーク２０に接続されて構成されるコンピュータネットワークシステムである。尚、物理マシンは２台以上であればシステム化が可能であり、物理マシンＺ４００とそのマシン上の仮想サーバＺ４０１の例のように大規模なクラウドシステムになると物理マシンの台数も極めて多くなる。また、物理マシン管理サーバはデータセンタ内に置くことも、ネットワークを介して外部に配置することも可能である。
【００１４】
図２は、クラウドシステム１の機能ブロック構成例を示す図である。物理マシンＡ１００〜Ｚ４００は、仮想サーバのパラメータ（例えば、仮想サーバの構成情報、仮想サーバが起動しているか否かを確認するためのコマンドやその結果を示す情報）を記憶する仮想サーバ記憶部５０、仮想サーバの退避を制御する仮想サーバ制御部５１、物理マシン上Ａ１００で発生した障害を物理マシン管理サーバ１０に通知するための障害通知部５２を有する。
【００１５】
物理マシン管理サーバ１０は、障害通知部５２からの障害通知を受信する通知受信部６０、通知を受け仮想サーバ記憶部５０へ仮想サーバの起動確認を行う仮想サーバ起動確認部６１、仮想サーバ記憶部５０で確認した仮想サーバ起動状態を示す情報を記憶する仮想サーバ起動状態記憶部６２、記憶した仮想サーバ起動状態記憶部６２の情報を書き込む仮想サーバ状態ログ６３、仮想サーバの退避先を予め定義した仮想サーバ配置リスト６４、仮想サーバ配置リスト６４に記載されている仮想サーバのホスト名を読み込み、仮想サーバ状態ログ６３の全行を起動確認ワード［PoweredOn］と仮想サーバ配置リスト６４から読み込んだ仮想サーバのホスト名で検索を行う検索部６５、検索部６５で検索を行った内容の出力先であるステータスログ６６、仮想サーバの追加削除があった場合に、仮想サーバ起動状態記憶部６２から追加削除対象の仮想サーバ名を取得し、仮想サーバ配置リスト６４を更新する配置リスト更新部６７を有する。
【００１６】
図３は、物理マシンＡ１００の障害時におけるクラウドシステム１の動作例を示す図である。物理マシンＡ１００で障害が発生した場合は、例えば、仮想サーバ起動確認部６１は、物理マシンＡ１００上の仮想サーバＡ１０１を物理マシンＢ２００に、仮想サーバＢ１０２を物理マシンＣ３００にそれぞれ退避させる。この場合、仮想サーバ起動確認部６１は、物理マシン上に相当量のリソースがあるか否かを判定し、相当量のリソースがある場合に退避可能と判断し、リソースに多くの空きがある物理サーバほど高い優先順位で退避先として決定し、決定した物理サーバに仮想サーバを退避させる。
【００１７】
なお、上記では、仮想サーバ起動確認部６１は、物理サーバをリソースの空き状況を参照して退避先を決定することとした。しかし、仮想サーバを退避させるだけのリソースの空きがある場合でも、仮想サーバのライセンスが不足している場合も考えられる。したがって、仮想サーバ起動確認部６１は、物理サーバのリソースの空き状況と使用可能なライセンスの空き状況とを参照し、上記リソースに空きがあるか否か、およびライセンスが使用可能か否かを判定し、両者の条件を満たすと判定した場合に、その物理サーバを退避先として決定してもよい。ライセンスの空き状況についても、リソースの空き状況の場合と同様に、多くの空きがあるほど高い優先順位で退避先として決定してもよい。これらの方法により、リソースの空き状況およびライセンスの過不足を管理しつつ退避先の物理サーバを決定することができる。
【００１８】
実際には、仮想サーバ起動確認部６１は、後述するように、あらかじめ定められた仮想サーバ配置リスト（図５）を参照して退避先を判定することとなるが、この仮想サーバ配置リストを上記両者の条件を満たすように定めておくか、あるいは仮想サーバ起動確認部６１が所定のタイミングで物理サーバのリソースおよびライセンスの空きをチェックする処理を実行し、上記両者の条件を満たすように仮想サーバ配置リストを更新して保管しておけばよい。
【００１９】
図４は、物理マシンＡ１００の障害時における仮想サーバ状態ログ６３を示す図である。仮想サーバ状態ログ６３は物理マシン毎に作成され、ログには物理マシン上の仮想サーバのホスト名と起動確認ワードが記録される。仮想サーバ制御部５１は、仮想サーバが起動しているか否かを判定し、仮想サーバが起動していると判定した場合、起動確認ワードである［PoweredOn］を仮想サーバ状態ログ６３に記録する。一方、仮想サーバ状態ログ６３は、仮想サーバが起動していないと判定した場合、空白を仮想サーバ状態ログ６３に記録する。
【００２０】
そのため、仮想サーバ制御部５１は、障害時には図２の通り、物理マシンＡ１００上の仮想サーバＡ１０１を物理マシンＢ２００に退避させ、仮想サーバＢ１０２を物理マシンＣ３００にそれぞれ退避させるため、物理マシンＡ１００の仮想サーバ状態ログ５００は仮想サーバが一台もない状態となっているため、ログは空白となる。一方で、物理マシンＢ２００には、仮想サーバＣ２０１、仮想サーバＤ２０２、仮想サーバＡ１０１が存在するため、物理マシンＢ２００の仮想サーバ状態ログ５０１には、仮想サーバＣ２０１、仮想サーバＤ２０２、仮想サーバＡ１０１のホスト名と起動確認ワードである［PoweredOn］が記録される。さらに、物理マシンＣ３００には、仮想サーバＥ３０１、仮想サーバＢ１０２が存在するため、物理マシンＣ３００の仮想サーバ状態ログ５０２には、仮想サーバＥ３０１、仮想サーバＢ１０２のホスト名と起動確認ワードである［PoweredOn］が記録される。
【００２１】
図５は、物理マシンＡ１００の障害時に利用する仮想サーバ配置リスト６４を示す図である。仮想サーバ配置リスト６４は、物理マシン毎に＜初期設定時＞と＜障害時＞の２パターンのリストがあり、＜初期設定時＞リストは初期設定時における該当物理マシン上に搭載されるべき仮想サーバのホスト名を記録したリストであり、＜障害時＞リストは障害時における移動先物理マシン上に搭載されるべき仮想サーバのホスト名を記録したリストである。
【００２２】
一方で、物理マシンＡ１００の障害時には、まず、＜初期設定時＞リストの通りに仮想サーバが搭載されていることを確認するため、物理マシンＡ１００の＜初期設定時＞リスト６００には、仮想サーバＡ１０１、仮想サーバＢ１０２のホスト名が記載されており、仮想サーバ制御部５１は、実際の正常性確認ではこのリストと実機のパラメータの突合せを行う。しかし、仮想サーバ制御部５１は、＜初期設定時＞リストでの突合せ確認がＮＧであった場合は、物理マシンＡ１００上の仮想サーバＡ１０１、仮想サーバＢ１０２は物理マシンＢ２００、物理マシンＣ３００に其々移動させたため、物理マシンＢ２００のリスト６０１には、仮想サーバＣ２０１、仮想サーバＤ２０２、仮想サーバＡ１０１のホスト名が記録される。また、同様に、物理マシンＣ３００には、仮想サーバＥ３０１、仮想サーバＢ１０２が記載されており、仮想サーバ制御部５１は、実際の正常性確認ではこれらのリストと実機のパラメータの突合せを行う。
【００２３】
物理マシンがＡ、Ｂ、Ｃの３種類ある場合、仮想サーバ配置リストは、物理マシンＡでは、図５に示すような「物理マシンＡ＜Ａ初期設定時＞、物理マシンＢ＜Ａ障害時＞、物理マシンＣ＜Ａ障害時＞」の３リストが記憶されている。同様に、物理マシンＢでは「物理マシンＢ＜Ｂ初期設定時＞、物理マシンＡ＜Ｂ障害時＞、物理マシンＣ＜Ｂ障害時＞」の３リスト、物理マシンＣでは「物理マシンＣ＜Ｃ初期設定時＞、物理マシンＡ＜Ｃ障害時＞、物理マシンＢ＜Ｃ障害時＞」の３リストであり、計９リストが記憶されている。
【００２４】
図６は、仮想サーバ状態ログ６３を仮想サーバ配置リスト６４と比較したステータスログ６６を示す図である。ステータスログ６６は、物理マシン管理サーバ１０の検索部６５が仮想サーバ配置リスト６４に記載されている仮想サーバのホスト名を１行ずつ読み込み、仮想サーバ状態ログ６３の全行を起動確認ワード［PoweredOn］と読み込んだホスト名で検索し、検索できた場合は仮想サーバのホスト名と仮想サーバが正常に起動していることを示す結果［起動ＯＫ］が記録され、検索できなかった場合は仮想サーバのホスト名と仮想サーバが正常に起動していないことを示す結果［起動ＮＧ］がリスト形式で記録されるログである。物理マシン上Ａ１００の障害のケースでは、物理マシンＡ１００のステータスログ７００には、仮想サーバＡ１０１、仮想サーバＢ１０２は共に存在しないため、非起動ワードである［起動ＮＧ］が記録される。一方で、物理マシンＢ２００のステータスログ７０１には、仮想サーバＣ２０１、仮想サーバＤ２０２、仮想サーバＡ１０１が存在するため、其々の仮想サーバに起動ワードである［起動ＯＫ］が記録される。さらに、物理マシンＣ３００のステータスログ７０２には、仮想サーバＥ３０１、仮想サーバＢ１０２が存在するため、其々の仮想サーバに起動ワードである［起動ＯＫ］が記録される。
【００２５】
図７は、物理マシンＡ１００の障害時に実施する、物理マシンＡ１００上における仮想サーバの起動状態確認フロー図である。手順は次の通りである。物理マシン管理サーバ１０の通知受信部６０が、物理マシンＡ１００の障害通知部５２から障害を検知した旨の通知を受信した場合（１０００）は、物理マシン管理サーバ１０の仮想サーバ起動確認部６１は、物理マシンＡ１００にログインを行う（１００１）。仮想サーバ起動確認部６１は、ログイン後、物理マシンＡ１００上の仮想サーバのホスト名と起動状態を示す情報を取得する（１００２）。物理マシンＡ１００の仮想サーバ制御部５１は、仮想サーバ起動確認部６１により取得された仮想サーバのホスト名と起動状態を示す情報を、仮想サーバ起動状態記憶部６２に記憶されている仮想サーバ状態ログ５００に出力する（１００３）。
【００２６】
物理マシン管理サーバ１０の検索部６５は、予め作成していた仮想サーバ配置リスト（物理マシンＡ＜Ａ初期設定時＞）６００の１行目を選択し（１００４）、１行目に記載されている仮想サーバのホスト名を読み込む（１００５）。検索部６５は、仮想サーバ状態ログ５００の全行を起動確認ワードである［PoweredOn］と仮想サーバ配置リスト６４から読み込んだ仮想サーバのホスト名で検索し、当該検索ができたか否かを判定する（１００６）。
【００２７】
検索部６５は、上記検索ができたと判定した場合は（１００６；Ｙｅｓ）、ステータスログ７００に仮想サーバのホスト名と［起動ＯＫ］を書き込む（１００７）。一方、検索部６５は、上記検索ができなかったと判定した場合は（１００６；Ｎｏ）、ステータスログ７００に仮想サーバのホスト名と［起動ＮＧ］を書き込む（１００８）。検索部６５は、これを仮想サーバ配置リスト（物理マシンＡ＜Ａ正常時＞）６００の最終行まで繰り返し行う（１００９）。
【００２８】
検索部６５は、ステータスログ７００に出力された全仮想サーバの状態を確認し、全仮想サーバが［起動ＯＫ］であるか否かを判定する（１０１０）。全仮想サーバが［起動ＯＫ］であると判定された場合は（１０１０；Ｙｅｓ）、仮想サーバの起動状態確認は完了となる（１０１１）。一方、１つでも［起動ＮＧ］があった場合は（１０１０；Ｎｏ）、図９のフロー図を進める。
【００２９】
図８は、図７に示した仮想サーバ起動状態確認フロー図における手順１００５〜１００８の詳細を説明した図である。ステータスログ６６に仮想サーバの起動状態を記録するまでの手順を記載している。手順は次の通りである。
【００３０】
検索部６５は、仮想サーバ配置リスト（物理マシンＡ＜Ａ初期設定時＞）（６００）に記載されている仮想サーバのホスト名「Ａ」を一行読み込む（１５０１）。続いて、検索部６５は、仮想サーバ状態ログ（５００）の全行を起動確認ワード［PoweredOn］と仮想サーバ配置リスト（６００）から読み込んだ仮想サーバのホスト名「Ａ」で検索できたか否かを判定する（１５０２）。
【００３１】
検索部６５は、検索ができなかったと判定したため、仮想サーバのホスト名「Ａ」と［起動ＮＧ］を仮想サーバ状態ステータスログ内（７００）に出力する（１５０３、図６（１））。検索部６５は、検索ができたと判定した場合は、仮想サーバのホスト名「Ａ」と［起動ＯＫ］を仮想サーバ状態ステータスログ内（７００）に出力する。
【００３２】
図９は、物理マシンＡ１００の障害時に実施する、他の物理マシンにおける仮想サーバの起動状態確認フロー図である。確認する物理マシンは、仮想サーバ配置リスト「物理マシンＢ＜Ａ障害時＞、物理マシンＣ＜Ａ障害時＞」を読み込み物理マシンＡ１００から仮想サーバが退避した物理マシンとなる。ここでは物理マシンＢ２００を例に説明する。
【００３３】
仮想サーバ起動確認部６１は、まず、障害通知が正しいことを確認するため、その通知を受けた物理マシンＡ１００上における仮想サーバの起動状態を確認して起動状態にあるか否かを判定する。仮想サーバ起動確認部６１は、判定の結果、起動状態にないと判定した場合は、続いて、物理マシンＢ２００上における仮想サーバの起動状態の確認を行う。手順は次の通りである。
【００３４】
仮想サーバ起動確認部６１は、物理マシン管理サーバ１０から物理マシンＢ２００へログインを行う（２００１）。仮想サーバ起動確認部６１は、ログイン後、物理マシンＢ２００上の仮想サーバのホスト名と起動状態を取得する（２００２）。物理マシンＢ２００の仮想サーバ制御部５１は、仮想サーバ起動確認部６１により取得された仮想サーバのホスト名と起動状態を示す情報を、仮想サーバ起動状態記憶部６２に記憶されている仮想サーバ状態ログ５０１に出力する（２００３）。
【００３５】
物理マシン管理サーバ１０の検索部６５は、予め作成していた仮想サーバ配置リスト（物理マシンＢ＜Ａ障害時＞）６０１の１行目を選択し（２００４）、１行目に記載されている仮想サーバのホスト名を読み込む（２００５）。検索部６５は、仮想サーバ状態ログ５０１の全行を起動確認ワードである［PoweredOn］と仮想サーバ配置リスト６４から読み込んだ仮想サーバのホスト名で検索し、当該検索ができたか否かを判定する（２００６）。
【００３６】
検索部６５は、上記検索ができたと判定した場合は（２００６；Ｙｅｓ）、ステータスログ７０１に仮想サーバのホスト名と［起動ＯＫ］をログに書き込む（２００７、図６（２））。一方、検索部６５は、上記検索ができなかったと判定した場合は（２００６；Ｎｏ）、ステータスログ７０１に仮想サーバのホスト名と［起動ＮＧ］をログに書き込む（２００８）。検索部６５は、これを仮想サーバ配置リスト（物理マシンＢ＜Ａ障害時＞）６０１の最終行まで繰り返し行う（２００９）。
【００３７】
図１０は、物理マシンＡ１００の障害時に実施する、他の物理マシンＣ３００上における仮想サーバの起動状態確認フロー図である。物理マシンＢ２００の場合と同様、仮想サーバ起動確認部６１は、物理マシンＣ３００上における仮想サーバの起動状態の確認を実施し、結果が起動状態にないと判定した場合は、物理マシンＣ３００上における仮想サーバの起動状態の確認を行う。手順は次の通りである。
【００３８】
仮想サーバ起動確認部６１は、物理マシン管理サーバ１０から物理マシンＣ３００へログインを行う（３００１）。仮想サーバ起動確認部６１は、ログイン後、物理マシンＣ３００上の仮想サーバのホスト名と起動状態を示す情報を取得する（３００２）。物理マシンＢ２００の仮想サーバ制御部５１は、仮想サーバ起動確認部６１により取得された仮想サーバのホスト名と起動状態を示す情報を、仮想サーバ起動状態記憶部６２に記憶されている仮想サーバ状態ログ５０２に出力する（３００３）。
【００３９】
物理マシン管理サーバ１０の検索部６５は、予め作成していた仮想サーバ配置リスト（物理マシンＣ＜Ａ障害時＞）６０２の１行目を選択し（３００４）、１行目に記載されている仮想サーバのホスト名を読み込む（３００５）。検索部６５は、仮想サーバ状態ログ５０２の全行を起動確認ワードである［PoweredOn］と仮想サーバ配置リスト６４から読み込んだ仮想サーバのホスト名で検索し、当該検索ができたか否かを判定する（３００６）。
【００４０】
検索部６５は、上記検索ができたと判定した場合は（３００６；Ｙｅｓ）、ステータスログ７０２に仮想サーバのホスト名と［起動ＯＫ］をログに書き込む（３００７、図６（３））。一方、検索部６５は、上記検索ができなかったと判定した場合は（３００６；Ｎｏ）、ステータスログ７０２に仮想サーバのホスト名と［起動ＮＧ］をログに書き込む（３００８）。検索部６５は、これを仮想サーバ配置リスト（物理マシンＣ＜Ａ障害時＞）６０２の最終行まで繰り返し行う（３００９）。
【００４１】
その後、検索部６５は、ステータスログ７０２に出力された全仮想サーバの状態を確認し、全仮想サーバが［起動ＯＫ］であるか否かを判定する（３０１０）。検索部６５は、確認した全物理マシンの全仮想サーバが［起動ＯＫ］であると判定した場合は（３０１０；Ｙｅｓ）、仮想サーバの起動状態確認は完了となる（３０１１）。一方、検索部６５が、１つでも［起動ＮＧ］があったと判定した場合は（３０１０；Ｎｏ）、原因調査を進める（３０１２）。
【００４２】
図１１は、物理マシンＡ１００に仮想サーバＦ１０３を追加したことを示す図である。仮想サーバ追加の際は、仮想サーバ起動確認部６１は、物理マシンＡから順にリソースを分析し、各物理マシンのリソース空き状況等からどの物理マシンに追加するかの判断を行う。
【００４３】
図１２は、物理マシンＡ１００に仮想サーバＦ１０３を追加した際の仮想サーバ配置リスト６４の更新フローを示す図である。配置リスト更新部６７は、物理マシンＡ１００に仮想サーバが新たに追加された場合、仮想サーバ配置リスト６００を自動で更新する。手順は次の通りである。
【００４４】
物理マシンＡ１００の仮想サーバ制御部５１が仮想サーバＦ１０３を起動する（４００１）。物理マシン管理サーバ１０が、物理マシンＡ１００の仮想サーバ制御部５１から仮想サーバＦ１０３を起動した旨の通知を受信すると、仮想サーバ起動状態記憶部６２に物理マシンＡ１００上の仮想サーバＦ１０３が起動されたことを検知し、その旨を記録する（４００２）。
【００４５】
配置リスト更新部６７は、仮想サーバ起動状態記憶部６２に記録された仮想サーバ配置リスト６４(物理マシンＡ＜Ａ初期設定時＞)６００の最終行に仮想サーバＦ１０３のホスト名を追記する（４００３）。一方で、仮想サーバ起動確認部６１は、図３で説明した場合と同様に、退避先の物理マシンについてはリソースの空き状況やライセンスの空き状況等から退避先とすべき物理サーバの優先順位を決定する判断を行い、その優先順位の高い物理サーバから順に、仮想サーバ配置リスト６０１(物理マシン上Ｂ＜Ａ障害時＞)、または仮想サーバ配置リスト６０２(物理マシン上Ｃ＜Ａ障害時＞)に仮想サーバＦ１０３のホスト名を追記する。
【００４６】
さらに、配置リスト更新部６７は、退避先とすべきと判定した物理サーバの仮想サーバ配置リスト６０１(物理マシン上Ｂ＜Ａ障害時＞)または仮想サーバ配置リスト６０２(物理マシン上Ｃ＜Ａ障害時＞)に、仮想サーバＢ１０２のホスト名を追記する（４００４）。
【００４７】
図１３は、物理マシンＡ１００に対し、仮想サーバＢ１０２を削除したことを示す図である。ユーザから仮想サーバの削除依頼を受けると、システム保守管理者が対象の仮想サーバを削除する処理を実行する。
【００４８】
図１４は、物理マシンＡ１００から仮想サーバＦ１０３を削除した際の仮想サーバＢ１０２の配置リスト更新フローを示す図である。配置リスト更新部６７は、物理マシンＡ１００の仮想サーバが削除された場合、仮想サーバ配置リスト６００を自動で更新する。手順は次の通りである。
【００４９】
物理マシンＡ１００の仮想サーバ制御部５１が仮想サーバＢ１０２を削除する（５００１）。物理マシン管理サーバ１０が、物理マシンＡ１００の仮想サーバ制御部５１から仮想サーバＦ１０３を削除した旨の通知を受信すると、仮想サーバ起動状態記憶部６２に物理マシンＡ１００上の仮想サーバＢ１０２が削除されたことを検知し、その旨を記録する（５００２）。
【００５０】
配置リスト更新部６７は、仮想サーバ起動状態記憶部６２に記録された仮想サーバ配置リスト６４(物理マシンＡ＜Ａ初期設定時＞)６００の行から仮想サーバＢ１０２のホスト名を削除する（５００３）。さらに、配置リスト更新部６７は仮想サーバ配置リスト６０１(物理マシン上Ｂ＜Ａ障害時＞)、または仮想サーバ配置リスト６０２(物理マシン上Ｃ＜Ａ障害時＞)から仮想サーバＢ１０２のホスト名を削除する（５００４）。
【００５１】
このように、本システムでは、事前に物理マシンの正常稼働時と異常退避時における仮想サーバの配置パターンをリストとして準備し、障害時にその配置リストと仮想サーバの状態の突合せを行うことで、より迅速な仮想サーバ起動状態の確認と退避先の物理マシンの特定が可能となる。また、仮想サーバが追加・削除された場合は、仮想サーバの追加・削除情報から自動で配置リストを決定・更新する仕組みを備えており、作業ミスなく容易な配置リストの更新が可能となる。
【符号の説明】
【００５２】
１                    クラウドシステム
１００、２００、３００、４００  物理マシンＡ、Ｂ、Ｃ、Ｚ
１０１〜１０３、２０１〜２０２、３０１、４０１  仮想サーバＡ〜Ｅ、Ｚ
１０                  物理マシン管理サーバ
２０                  ネットワーク
５０                  仮想サーバ記憶部
５１                  仮想サーバ制御部
５２                  障害通知部
６０                  通知受信部
６１                  仮想サーバ起動確認部
６２                  仮想サーバ起動状態記憶部
６３                  仮想サーバ状態ログ
６４                  仮想サーバ配置リスト
６５                  検索部
６６                  ステータスログ
６７                  配置リスト更新部。
【図１】
2019003551.tif 000003
【図２】
2019003551.tif 000004
【図３】
2019003551.tif 000005
【図４】
2019003551.tif 000006
【図５】
2019003551.tif 000007
【図６】
2019003551.tif 000008
【図７】
2019003551.tif 000009
【図８】
2019003551.tif 000010
【図９】
2019003551.tif 000011
【図１０】
2019003551.tif 000012
【図１１】
2019003551.tif 000013
【図１２】
2019003551.tif 000014
【図１３】
2019003551.tif 000015
【図１４】
2019003551.tif 000016