(57)【要約】  本願発明は、仮想化環境を構築するコンピュータシステムにおいて、使用可能な物理マシンを有効活用することを可能とする。  仮想化基盤管理装置４０は、仮想マシン５１−ｉを実行可能な物理マシン５０−ｉにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出部４１と、検出部４１が係る偶発障害を検出した場合、物理マシン５０−１乃至５０−ｎの状態を記憶する管理情報記憶部４４に、物理マシン５０−ｉが待機状態であることを登録する登録部４２と、物理マシン５０−ｊにおいて障害が発生した場合、係る障害により停止した仮想マシン５１−ｊを、管理情報記憶部４４において待機状態であることが登録されている物理マシンの何れかに再配置する配置部４３と、を備える。
2016013199.tif 000002
【特許請求の範囲】
【請求項１】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出手段と、
前記検出手段が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録手段と、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置手段と、
を備える、仮想化基盤管理装置。
【請求項２】
前記登録手段は、前記物理マシンについて、前記偶発障害が発生した回数を、前記管理情報記憶手段に登録し、
前記配置手段は、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンのうち、前記偶発障害が発生した回数が所定の基準を満たす物理マシンに、前記障害により停止した前記仮想マシンを再配置する、
請求項１に記載の仮想化基盤管理装置。
【請求項３】
前記管理情報記憶手段は、前記仮想マシンについて、前記仮想マシンが行う処理の復旧を優先することが有効であるか否かを示す復旧優先指示情報を記憶しておき、
前記配置手段は、前記障害により停止した前記仮想マシンに関する前記復旧優先指示情報が無効であることを示している場合に、前記偶発障害が発生した回数が第一の閾値以下である前記物理マシンに対して、当該仮想マシンを再配置する、
請求項２に記載の仮想化基盤管理装置。
【請求項４】
前記登録手段は、前記第一の物理マシンについて、前記偶発障害が発生した回数が第二の閾値以上になった場合、前記第一の物理マシンが故障状態であることを登録する、
請求項２または３に記載の仮想化基盤管理装置。
【請求項５】
前記登録手段は、前記物理マシンについて、未使用である資源の量に関する情報を、前記管理情報記憶手段に登録し、
前記配置手段は、前記管理情報記憶手段において、前記未使用である資源の量が前記仮想マシンが必要とする資源の量以上である前記物理マシンについては、当該物理マシンが運用状態であっても、当該物理マシンに、前記障害により停止した前記仮想マシンを再配置可能である、
請求項１乃至４のいずれかに記載の仮想化基盤管理装置。
【請求項６】
前記登録手段は、前記物理マシンについて、未使用であるプロセッサのコア数、未使用であるメモリ容量、及び、未使用であるディスク容量の少なくともいずれかを、前記未使用である資源の量に関する情報として、前記管理情報記憶手段に登録する、
請求項５に記載の仮想化基盤管理装置。
【請求項７】
前記検出手段は、前記仮想マシンが実行するソフトウェアが包含する論理不正、あるいは、前記第一の物理マシンに対する電源供給の停止、あるいは、前記第一の物理マシンにおいて発生した温度異常により前記仮想マシンが停止した場合に、前記第一の物理マシンにおいて、前記偶発障害が発生したと判断する、
請求項１乃至６のいずれかに記載の仮想化基盤管理装置。
【請求項８】
請求項１乃至７のいずれかに記載の仮想化基盤管理装置と、前記１以上の物理マシンと、を有する仮想化基盤管理システム。
【請求項９】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出し、
前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録し、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する、
仮想化基盤管理方法。
【請求項１０】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出処理と、
前記検出処理が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録処理と、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置処理と、
をコンピュータに実行させる仮想化基盤管理プログラムが記録された、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、仮想化環境を構築するコンピュータシステムにおいて、仮想マシンを物理マシンへ配置することを管理する仮想化基盤管理装置等に関する。
【背景技術】
【０００２】
近年、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）のようなクラウドサービスが世界的に広がってきている。このようなクラウドサービスにおいては、サービス事業者が仮想化環境を構築するコンピュータシステムを提供し、ユーザがそのコンピュータシステムに配置された仮想マシンを使用して様々なサービスを展開する。その一例として、ＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）という概念が標準化団体であるＥＴＳＩ（Ｅｕｒｏｐｅａｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）において議論され、その標準化が徐々に進んでいる。ＮＦＶは、通信事業者がこれまで専用装置を用いて提供してきたサービスを、仮想マシンにより提供する方式である。このような背景から、係るコンピュータシステムを有効活用できるように仮想マシンを配置する技術に対する期待が高まってきている。【０００３】
このような技術の一例として、特許文献１には、仮想サーバが設けられた複数の物理サーバを備える仮想化システムにおいて、設計思想に沿って仮想サーバを再配置可能な装置が開示されている。係る設計思想の一例として、「仮想サーバ２が仮想サーバ１の待機系のサーバであるので、これらを同一の物理サーバに配置しない」という思想がある。あるいは、係る設計思想の別の例として、「仮想サーバ３と仮想サーバ４とが処理する業務の負荷が小さいので、これらを同じ物理サーバに配置してもよい」という思想がある。【０００４】
また、特許文献２には、物理マシンをメンテナンスする際、あるいは、物理マシンに障害が発生した際に、リソースプール総量を減らさずにシステム運用を継続する仮想化システムが開示されている。係る仮想化システムは、１以上の物理マシンが仮想マシンを作成する１以上のリソースプール、及び、リソースプール間において共有されるリソースプールであるリカバリプールを構成する。そして、この仮想化システムは、物理マシンをメンテナンスする際、あるいは、物理マシンに障害が発生した際に、係るリカバリプールを利用する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2009-199395号公報
【特許文献２】特開2013-210745号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的な仮想化システムは、複数の物理マシンを備えている。そして物理マシンにおいて動作する仮想マシンが各種サービスを提供する。係る仮想化システムは、何れかの物理マシンにおいて障害が発生した場合、当該物理マシンにおいて動作していた仮想マシンを、他の物理マシンに再配置することにより、サービスの提供を継続する。【０００７】
物理マシンにおいて発生する障害には、ハードウェアに関する物理的な固定障害の他に、係る固定障害ではない偶発的な障害がある。この偶発的な障害（以降、偶発障害と称する）としては、例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）あるいはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が包含するソフトウェアバグに起因して発生する障害がある。あるいは、係る偶発障害として、物理マシンに対する電源供給の一時的な停止、あるいは、温度異常による動作不良等がある。【０００８】
これらの偶発障害は、ハードウェアに関する固定障害とは異なり、障害が発生した物理マシンを例えば再起動することにより復旧可能な障害である。したがって、発生した障害が偶発障害である場合、係る障害が発生した物理マシンは、本来は再起動により使用することができる。しかしながら、一般的な仮想化システムは、偶発障害が発生した物理マシンを障害マシンとして管理し、当該物理マシンに対する保守作業が完了するまで、当該物理マシンを使用しない。すなわち、一般的な仮想化システムでは、本来使用可能である物理マシンを使用できないため、使用可能な物理マシンが減少するという問題がある。特許文献１乃至２が開示した技術は、この問題を解決できない。【０００９】
本願発明の主たる目的は、この問題を解決した、仮想化基盤装置等を提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一態様に係る仮想化基盤管理装置は、１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出手段と、前記検出手段が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録手段と、前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置手段と、を備える。【００１１】
上記目的を達成する他の見地において、本願発明の一態様に係る仮想化基盤管理方法は、１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出し、前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録し、前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する。【００１２】
また、上記目的を達成する更なる見地において、本願発明の一態様に係るコンピュータ読み取り可能な記録媒体は、１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出処理と、前記検出処理が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録処理と、前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置処理と、をコンピュータに実行させる仮想化基盤管理プログラムを記録している。【００１３】
更に、本願発明は、係る記録媒体に記録されているコンピュータプログラムによっても実現可能である。
【発明の効果】
【００１４】
本願発明は、仮想化環境を構築するコンピュータシステムにおいて、使用可能な物理マシンを有効活用することを可能とする。
【図面の簡単な説明】
【００１５】
【図１】本願発明の第１の実施形態に係る仮想化基盤管理システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態に係るサービス管理テーブルの構成例を示す図である。
【図３】本願発明の第１の実施形態に係る物理マシン管理テーブルの構成と、当該物理マシン管理テーブルが更新される流れとを例示する図である。
【図４】本願発明の第１の実施形態に係る物理マシンに関する状態遷移図を示す図である。
【図５】本願発明の第１の実施形態に係る仮想化基盤管理装置が、物理マシンにおいて障害が発生した際に、物理マシン管理テーブルを更新する動作を示すフローチャートである。
【図６】本願発明の第１の実施形態に係る仮想化基盤管理装置が、障害発生により停止した仮想マシンを、物理マシンに再配置する動作を示すフローチャートである。
【図７】本願発明の第２の実施形態に係る仮想化基盤管理装置の構成を示すブロック図である。
【図８】本願発明の各実施形態に係る仮想化基盤管理装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
＜第１の実施形態＞
図１は、第１の実施形態に係る仮想化基盤管理システム１の構成を概念的に示すブロック図である。本実施形態に係る仮想化基盤管理システム１は、仮想化基盤管理装置１０、ｎ（ｎは２以上の整数）個の物理マシン２０−１乃至２０−ｎ、及び、保守装置３０を有する。
【００１８】
仮想化基盤管理装置１０、物理マシン２０−１乃至２０−ｎ、及び、保守装置３０は、互いに通信可能に接続されている。そして、これらの構成要素は、例えば、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、あるいは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を用いて通信する。
【００１９】
保守装置３０は、仮想化基盤管理システム１における保守機能を管理する装置であり、例えば、ＯＳＳ（Ｏｐｅｒａｔｉｏｎｓ  Ｓｕｐｐｏｒｔ  Ｓｙｓｔｅｍ）のような装置である。
【００２０】
物理マシン２０−１乃至２０−ｎは、例えば、Ｌｉｎｕｘ（登録商標）  ＫＶＭ（Ｋｅｒｎｅｌ−ｂａｓｅｄ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）、及び、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）を備えた汎用的なサーバ装置である。物理マシン２０−１乃至２０−ｎは、ＮＦＶを実装する場合もある。尚、物理マシン２０−１乃至２０−ｎは、それぞれ、個別の筐体あるいはモジュールを有する物理的に独立したサーバ装置であってもよい。物理マシン２０−１乃至２０−ｎは、あるいは、物理的なサーバ装置が備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、及び、ディスク装置等のリソースのうちの一部を割り当てられることにより仮想的に構築されたサーバ装置であってもよい。
【００２１】
図１に示すように、物理マシン２０−１は、仮想マシン２１−１を実行し、障害情報収集部２２−１を備える。物理マシン２０−２乃至２０−ｎも同様に、仮想マシン２１−２乃至２１−ｎを実行し、障害情報収集部２２−２乃至２２−ｎを備える。物理マシン２０−１乃至２０−ｎは、複数の仮想マシンを実行してもよい。障害情報収集部２２−１（２２−２乃至２２−ｎ）は、物理マシン２０−１（２０−２乃至２０−ｎ）において障害が発生した際に、発生した障害情報を収集して、収集した障害情報を仮想化基盤管理装置１０へ送信する。
【００２２】
仮想化基盤管理装置１０は、物理マシン２０−１乃至２０−ｎに、仮想マシンを配置する機能を備える。仮想化基盤管理装置１０は、例えば、ＮＦＶ標準において定義されているＮＦＶ＿Ｍａｎａｇｅｍｅｎｔ＿ａｎｄ＿Ｏｒｃｈｅｓｔｒａｔｉｏｎである。仮想化基盤管理装置１０は、検出部１１、登録部１２、配置部１３、及び、管理情報記憶部１４を備えている。検出部１１、登録部１２、及び、配置部１３は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。管理情報記憶部１４は、メモリあるいは磁気ディスク等の記憶デバイスである。
【００２３】
検出部１１は、障害が発生した物理マシン２０−ｉ（ｉは１乃至ｎの何れかの整数）における障害情報収集部２２−ｉから、当該物理マシン２０−ｉにおいて発生した障害情報を受信する。検出部１１は、受信した障害情報を基に、物理マシン２０−ｉにおいて、偶発障害が発生したことを検出する。係る障害情報が、例えば、物理マシン２０−ｉが備えるメモリに関する２ビットエラーのような復旧不能なハードウェア障害を示している場合、検出部１１は、発生した障害が固定障害であると判定する。これに対して、例えば、係る障害情報が、下記のいずれかを示している場合、検出部１１は、発生した障害が偶発障害であると判定する。
・ソフトウェアバグに起因して発生した障害、
・物理マシン２０−ｉに対する電源供給の一時的な停止、
・物理マシン２０−ｉにおける何れかの箇所に関する温度異常による動作不良。
【００２４】
検出部１１は、物理マシン２０−ｉにおいて固定障害あるいは偶発障害が発生したことを、登録部１２及び配置部１３へ通知する。
【００２５】
登録部１２は、検出部１１から、物理マシン２０−ｉにおいて障害が発生した旨の通知を受信した場合、受信した内容に基づいて、管理情報記憶部１４が記憶している情報を更新する。管理情報記憶部１４は、図１に示す通り、サービス管理テーブル１４０、及び、物理マシン管理テーブル１４１を記憶している。
【００２６】
サービス管理テーブル１４０の構成例を図２に示す。サービス管理テーブル１４０は、仮想マシンを識別可能な識別子と、復旧優先指示情報とを関連付けたレコードを包含している。復旧優先指示情報は、障害によって仮想マシン２１−ｉが停止した場合に、仮想マシン２１−ｉを迅速に復旧して、仮想マシン２１−ｉが提供していたサービスを継続することを優先するか否かを示す情報である。すなわち、復旧優先指示情報が無効である場合、復旧優先指示情報は、仮想マシン２１−ｉを迅速に復旧することよりも、仮想マシン２１−ｉが提供するサービスが再び停止することがないように、係るサービスを着実に提供することを優先することを示している。サービス管理テーブル１４０は、仮想化基盤管理システム１を管理するシステム管理者等によって、数値あるいは文字を表す情報が予め設定されていることとする。
【００２７】
物理マシン管理テーブル１４１の構成例を図３に示す。物理マシン管理テーブル１４１は、物理マシンを識別可能な識別子と、物理マシンに関する状態を示す情報と、偶発障害発生回数と、当該物理マシンが実行している仮想マシンを識別可能な識別子とを関連付けたレコードを包含している。尚、図３における矢印は、物理マシン管理テーブル１４１の内容の遷移を表す。
【００２８】
本実施形態では、物理マシン２０−１乃至２０−ｎは、「運用中」、「故障中」、及び、「待機中」の３つの状態をとる。本実施形態に係る物理マシン２０−１乃至２０−ｎに関する状態遷移図を図４に示す。
【００２９】
図４に示す通り、物理マシン２０−ｉが、仮想マシン２１−ｉを実行している状態である運用中状態２００であるときに障害が発生した場合、物理マシン２０−ｉは、障害により停止した状態である故障中状態２０１に遷移する。発生した障害が固定障害である場合、物理マシン２０−ｉは、故障中状態２０１を維持する。発生した障害が偶発障害である場合、物理マシン２０−ｉは、再起動待ちの状態である待機中状態２０２に遷移する。待機中状態２０２である物理マシン２０−ｉは、仮想化基盤管理装置１０によって、仮想マシン２１−ｊ（ｊは１乃至ｎの何れかの整数）を配置された場合、仮想マシン２１−ｊを起動したのち、運用中状態２００に遷移する。
【００３０】
ここで、物理マシン２０−１が図３（ａ）に示す物理マシン管理テーブル１４１が表す状態であったときに、物理マシン２０−１において偶発障害が発生した場合に、登録部１２が物理マシン管理テーブル１４１を更新する動作について説明する。図３（ｂ）に示す通り、登録部１２は、物理マシン２０−１に関して、状態を「運用中」から「故障中」に変更し、動作仮想マシンとして登録されていた仮想マシン２１−１を識別可能な識別子をクリアする。
【００３１】
図３（ｃ）に示す通り、登録部１２は、物理マシン２０−１に関して、偶発障害発生回数が示す値を、１加算することによって”１”に設定し、状態を「故障中」から「待機中」に変更する。その後、配置部１３が停止していた仮想マシン２１−１を物理マシン２０−１に再配置したのち、物理マシン２０−１が仮想マシン２１−１を起動する。そして、図３（ｄ）に示す通り、登録部１２は、物理マシン２０−１に関して、状態を「待機中」から「運用中」に変更し、動作仮想マシンとして、仮想マシン２１−１を登録する。
【００３２】
配置部１３は、検出部１１から、物理マシン２０−ｉにおいて障害が発生したことを受信した場合、受信した内容、サービス管理テーブル１４０、及び、物理マシン管理テーブル１４１に基づき、係る障害によって停止した仮想マシン２１−ｉを、何れかの物理マシン２０−ｊに配置する。
【００３３】
ここで、物理マシン２０−１において偶発障害が発生し、サービス管理テーブル１４０の内容が図２に示す通りであり、物理マシン管理テーブル１４１の内容が図３（ｃ）に示す場合を考える。そしてこの場合において、配置部１３が、停止した仮想マシン２１−１を、何れかの物理マシン２０−ｊに配置する動作について説明する。
【００３４】
配置部１３は、サービス管理テーブル１４０を参照し、停止した仮想マシン２１−１に関する復旧優先指示情報が示す値が「有効」であることを確認する。配置部１３は、復旧優先指示情報が示す値が「有効」である仮想マシンに関しては、偶発障害が発生した実績があり、かつ、状態が「待機中」である物理マシンに、当該仮想マシンを配置することが可能である。配置部１３は、一方、復旧優先指示情報が示す値が「無効」である仮想マシンに関しては、偶発障害が発生した実績があり、かつ、状態が「待機中」である物理マシンに、当該仮想マシンを配置することができない。したがって、この場合、配置部１３は、偶発障害が発生した実績があり、かつ、状態が「待機中」である物理マシンに、停止した仮想マシン２１−１を配置可能である。
【００３５】
配置部１３は、物理マシン管理テーブル１４１を参照し、状態が「待機中」である物理マシンを検索する。図３（ｃ）に示す通り、物理マシン２０−１が「待機中」であり、状態が「待機中」である物理マシンがもし他に存在しない場合、配置部１３は、停止した仮想マシン２１−１を物理マシン２０−１に再配置する。
【００３６】
配置部１３は、状態が「待機中」である物理マシンに対して、停止した仮想マシンを再配置する際に、物理マシン管理テーブル１４１における偶発障害発生回数が所定の基準を満たす何れかの物理マシンに、係る仮想マシンを再配置するようにしてもよい。ここで、係る所定の基準としては、例えば、偶発障害発生回数が物理マシン２０−１乃至２０−ｎの中で最も少ない（小さい）ことであってもよいし、あるいは、偶発障害発生回数が所定の値以下であることであってもよい。
【００３７】
次に図５のフローチャートを参照して、本実施形態に係る仮想化基盤管理装置１０が、何れかの物理マシンにおいて障害が発生した際に、仮想マシン管理テーブル１４１を更新する動作（処理）について詳細に説明する。
【００３８】
障害情報収集部２２−ｉは、物理マシン２０−ｉにおいて障害が発生したことによって、仮想マシン２１−ｉが停止したことを検出する（ステップＳ１０１）。障害情報収集部２２−ｉは、発生した障害情報を収集し、係る障害情報を、仮想化基盤管理装置１０へ送信する（ステップＳ１０２）。登録部１２は、物理マシン管理テーブル１４１において、物理マシン２０−ｉの状態を「運用中」から「故障中」に更新する（ステップＳ１０３）。
【００３９】
検出部１１は、障害情報収集部２２−ｉから受信した障害情報の内容を確認し、確認した結果を登録部１２へ入力する（ステップＳ１０４）。発生した障害が偶発障害でない（すなわち固定障害である）場合（ステップＳ１０５でＮｏ）、全体の処理は終了する。発生した障害が偶発障害である場合（ステップＳ１０５でＹｅｓ）、登録部１２は、物理マシン管理テーブル１４１において、物理マシン２０−ｉの状態を「故障中」から「待機中」に更新し（ステップＳ１０６）、全体の処理は終了する。
【００４０】
次に図６のフローチャートを参照して、本実施形態に係る仮想化基盤管理装置１０が、障害の発生により停止した仮想マシンを、物理マシンに再配置する動作（処理）について詳細に説明する。
【００４１】
配置部１３は、物理マシン２０−ｉに関する障害情報を検出部１１から入手したのち、物理マシン管理テーブル１４１を参照し、偶発障害発生回数が０回であり、かつ、状態が「待機中」である物理マシンを検索する（ステップＳ２０１）。何れかの物理マシン２０−ｊをヒットした場合（ステップＳ２０２でＹｅｓ）、配置部１３は、物理マシン２０−ｊに、障害の発生により停止した仮想マシン２１−ｉを配置したのち、仮想マシン２１−ｉを再起動する（ステップＳ２０３）。
【００４２】
仮想マシン２１−ｉの再起動が成功した場合（ステップＳ２０４でＹｅｓ）、登録部１２は、物理マシン管理テーブル１４１において、物理マシン２０−ｊの状態を「待機中」から「運用中」に更新し（ステップＳ２０５）、全体の処理は終了する。仮想マシン２１−ｉの再起動が失敗した場合（ステップＳ２０４でＮｏ）、配置部１３は、仮想マシン２１−ｉの再起動に失敗したことを、保守装置３０に通知して（ステップＳ２０９）、全体の処理は終了する。
【００４３】
配置部１３が物理マシン管理テーブル１４１を検索した結果、何れの物理マシンもヒットしなかった場合（ステップＳ２０２でＮｏ）、配置部１３は、サービス管理テーブル１４０を参照し、仮想マシン２１−ｉに関する復旧優先指示情報が有効であるか否かを確認する。仮想マシン２１−ｉに関する復旧優先指示情報が無効である場合（ステップＳ２０６でＮｏ）、配置部１３はステップＳ２０９の処理を行い、全体の処理は終了する。
【００４４】
仮想マシン２１−ｉに関する復旧優先指示情報が有効である場合（ステップＳ２０６でＹｅｓ）、配置部１３は、物理マシン管理テーブル１４１において、偶発障害発生回数が１回以上であり、かつ、状態が「待機中」である物理マシンを検索する（ステップＳ２０７）。何れかの物理マシン２０−ｊがヒットした場合（ステップＳ２０８でＹｅｓ）、処理はＳ２０３へ進む。何れの物理マシンもヒットしなかった場合（ステップＳ２０８でＮｏ）、配置部１３はステップＳ２０９の処理を行い、全体の処理は終了する。
【００４５】
本実施形態に係る仮想化基盤管理システム１は、仮想化環境を構築するコンピュータシステムにおいて、使用可能な物理マシンを有効活用することができる。その理由は、検出部１１が、物理マシンにおいて発生した障害が偶発障害であることを検出した場合、登録部１２が、当該物理マシンを待機中のマシンとして管理情報記憶部１４に登録し、配置部１３は、待機中の状態にある物理マシンの何れかに、停止した仮想マシンを配置するからである。
【００４６】
以下に、本実施形態に係る仮想化基盤管理システム１によって実現される効果について、詳細に説明する。
【００４７】
一般に、物理マシンにおいて発生する障害には、ハードウェアに関する物理的な固定障害の他に、係る固定障害ではない偶発障害がある。係る固定障害が発生した物理マシンは、障害が発生した部品を交換するなどの保守作業を行うまでは、使用することができない。一方、偶発障害が発生した物理マシンは、このような保守作業を行わなくとも、例えば再立ち上げすることにより使用することが可能である。仮想化環境を構築するコンピュータシステムにおいては、通常、偶発障害が発生した物理マシンも、固定障害が発生した物理マシンと同様に、故障中として管理される。このため、係るコンピュータシステムでは、本来は使用可能である偶発障害が発生した物理マシンに対して、仮想マシンを配置できず、使用可能な物理マシンを有効活用できていない。
【００４８】
これに対して、本実施形態に係る仮想化基盤管理装置１０は、物理マシンにおいて発生した障害が固定障害及び偶発障害の何れかであるのかを切り分けたのち、偶発障害の場合は、当該物理マシンを待機中として管理する。そして、仮想化基盤管理装置１０は、偶発障害が発生したのち待機中の状態にある物理マシンに対して、新たに仮想マシンを配置する。これにより、本実施形態に係る仮想化基盤管理システム１は、使用可能な物理マシンを有効活用することができる。
【００４９】
また、本実施形態に係る管理情報記憶部１４は、物理マシン２０−１乃至２０−ｎに関する偶発障害発生回数を含む情報を、物理マシン管理テーブル１４１として格納している。そして、仮想化基盤管理装置１０は、偶発障害発生回数が最も少ない物理マシンに対して、あるいは、偶発障害発生回数が所定の値以下である物理マシンに対して、仮想マシンを配置することができる。したがって、本実施形態に係る仮想化基盤管理システム１は、障害が発生する可能性が低い物理マシンを優先的に使用することにより、可用性を向上することができる。
【００５０】
ここで、物理マシンを配置する基準として、偶発障害発生回数が最も少ない物理マシンではなく、所定の値以下とする場合の利点を説明する。この場合、例えば、偶発障害発生回数が最も少ない特定の物理マシンが、物理マシン管理テーブル１４１に「待機中」であると登録された場合であって、且つ、係る特定の物理マシンとは異なる他の物理マシンよりも最近に登録されたとする。このような場合、例えば、システム管理者は、係る特定の物理マシンの偶発障害発生回数が最も少ないとしても、直ちに仮想マシンを設定するのではなく、係る特定の物理マシンの稼働状況の様子を見たいと判断することも想定される。その理由は、係る特定の物理マシンに関する偶発障害発生回数が、一気に増加してしまう場合も想定されるからである。このような場合に、係る基準を所定の値以下とすれば、システムが選択する物理マシンの自由度を広げることができるので、当該システムの可用性をより現実的にすることができる。
【００５１】
さらに、本実施形態に係る管理情報記憶部１４は、仮想マシン２１−１乃至２１−ｎに関する復旧優先指示情報を、サービス管理テーブル１４０として格納している。仮想マシンにより提供されるサービスには、障害により提供が中断した場合、そのサービスの内容により、迅速に復旧することを重視するサービスと、復旧後再び障害が発生しないことを重視するサービスとがある。例えば、仮想マシンにより提供されるサービスが、個々の情報処理量が少ないリクエストを頻繁に受け付けて処理するようなサービス（サービスＡ）である場合、頻繁に受け付けるリクエストに与える影響を小さくする必要がある。このため、この場合は、当該サービスを迅速に復旧することが重視される。一方、仮想マシンにより提供されるサービスが、個々の情報処理量が膨大であるリクエストを時折受け付けて処理するようなサービス（サービスＢ）である場合、処理時間が長いリクエストの処理が完了する前に再び障害が発生することによってそれまでの処理が無駄になることを回避する必要がある。このため、この場合は、当該サービスが復旧後再び障害が発生しないことが重視される。すなわち、本実施形態では、係る復旧優先指示情報は、上記サービスＡを提供する仮想マシンに関しては有効に設定され、上記サービスＢを提供する仮想マシンに関しては無効に設定されている。
【００５２】
偶発障害が発生した実績がある物理マシンは、偶発障害の発生実績が無い物理マシンと比較して、前回発生した偶発障害と同様の原因により、偶発障害が発生する可能性が高いといえる。したがって、本実施形態に係る仮想化基盤管理装置１０は、迅速に復旧することが要求される、復旧優先指示情報が有効である仮想マシンに関してのみ、偶発障害が発生した実績がある物理マシンを、当該仮想マシンを配置する対象として加える。すなわち、仮想化基盤管理装置１０は、復旧優先指示情報が無効である仮想マシンに関しては、偶発障害が発生した実績がある物理マシンを、当該仮想マシンを配置する対象にはしない。これにより、本実施形態に係る仮想化基盤管理システム１は、各仮想マシンが提供するサービスの特性を考慮した柔軟なシステム管理を行いながら、使用可能な物理マシンを有効活用することができる。尚、仮想化基盤管理システム１は、復旧優先指示情報が無効である仮想マシンに関して、偶発障害が発生した回数が所定の閾値以上である物理マシンを、当該仮想マシンを配置する対象から外すようにしてもよい。
【００５３】
また、特定の物理マシンにおいて、偶発障害が頻発する場合、当該物理マシンを使用することは、システム運用上困難であるので、係る偶発障害を固定障害として扱った方がよい。この場合、本実施形態に係る登録部１２は、当該物理マシンについて、偶発障害が発生した回数が所定の閾値以上になったときに、当該物理マシンが故障状態であることを、物理マシン管理テーブル１４１に登録するようにしてもよい。
【００５４】
さらに、本実施形態に係る登録部１２は、個々の物理マシンから、未使用である資源の量に関する情報を入手して、入手した情報を管理情報記憶部１４に登録してもよい。係る未使用である資源の量としては、例えば、未使用であるプロセッサのコア数、未使用であるメモリ容量、及び、未使用であるディスク容量などがある。そして、この場合、本実施形態に係る配置部１３は、管理情報記憶部１４において、特定の物理マシンについて、未使用である資源の量と、配置する仮想マシンが必要とする資源の量とを比較する機能を備える。そして、未使用である資源の量が配置する仮想マシンが必要とする資源の量以上である場合、配置部１３は、当該物理マシンが運用状態であっても、当該物理マシンに、当該仮想マシンを配置するようにしてもよい。これにより、本実施形態に係る仮想化基盤管理システム１は、使用可能な物理マシンをさらに有効活用することができる。
【００５５】
＜第２の実施形態＞
図７は、第２の実施形態に係る仮想化基盤管理装置４０の構成を概念的に示すブロック図である。
【００５６】
本実施形態に係る仮想化基盤管理装置４０は、検出部４１、登録部４２、配置部４３、及び、管理情報記憶部４４を備えている。
【００５７】
検出部４１は、１以上の仮想マシンを実行可能な１以上の物理マシン５０−１乃至５０−ｎのうちの物理マシン５０−ｉ（ｉは１乃至ｎのいずれかの整数）において、物理的な固定障害ではない偶発障害が発生したことを検出する。尚、物理マシン５０−１（５０−２乃至５０−ｎ）は、仮想マシン５１−１（５１−２乃至５１−ｎ）を実行している。
【００５８】
登録部４２は、検出部４１が係る偶発障害を検出した場合、物理マシン５０−１乃至５０−ｎの状態を記憶する管理情報記憶部４４に、物理マシン５０−ｉが待機状態であることを登録する。
【００５９】
配置部４３は、物理マシン５０−ｊ（ｊは１乃至ｎのいずれかの整数）において障害が発生した場合、係る障害により停止した仮想マシン５１−ｊを、管理情報記憶部４４において待機状態であることが登録されている物理マシンの何れかに再配置する。
【００６０】
本実施形態に係る仮想化基盤管理装置４０は、仮想化環境を構築するコンピュータシステムにおいて、使用可能な物理マシンを有効活用することができる。その理由は、検出部４１が、物理マシンにおいて発生した障害が偶発障害であることを検出した場合、登録部４２が、当該物理マシンを待機中のマシンとして管理情報記憶部４４に登録し、配置部４３は、待機中の状態にある物理マシンの何れかに、停止した仮想マシンを配置するからである。
【００６１】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図７に示した各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、少なくとも、検出部１１及び４１、登録部１２及び４２、及び、配置部１３及び４３は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図８を参照して説明する。
【００６２】
図８は、本願発明の模範的な実施形態に係る仮想化基盤管理装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図８は、図１、及び、図７に示した仮想化基盤管理装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００６３】
図８に示した情報処理装置９００は、構成要素として下記を備えている。
【００６４】
・ＣＰＵ９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク９０４（記憶装置）、
・外部装置との通信インタフェース９０５、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９、
・バス９０６（通信線）。
【００６５】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。
【００６６】
そして、上述した実施形態を例に説明した本願発明は、図８に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図７）における、検出部１１及び４１、登録部１２及び４２、及び、配置部１３及び４３、或いはフローチャート（図５乃至６）の機能である。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００６７】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００６８】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００６９】
この出願は、２０１４年７月２２日に出願された日本出願特願２０１４−１４８９４８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００７０】
１    仮想化基盤管理システム
１０    仮想化基盤管理装置
１１    検出部
１２    登録部
１３    配置部
１４    管理情報記憶部
１４０    サービス管理テーブル
１４１    物理マシン管理テーブル
２０−１乃至２０−ｎ    物理マシン
２１−１乃至２１−ｎ    仮想マシン
２２−１乃至２２−ｎ    障害情報収集部
３０    保守装置
２００    運用中状態
２０１    故障中状態
２０２    待機中状態
４０    仮想化基盤管理装置
４１    検出部
４２    登録部
４３    配置部
４４    管理情報記憶部
５０−１乃至５０−ｎ    物理マシン
５１−１乃至５１−ｎ    仮想マシン
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2016013199.tif 000003
【図２】
2016013199.tif 000004
【図３】
2016013199.tif 000005
【図４】
2016013199.tif 000006
【図５】
2016013199.tif 000007
【図６】
2016013199.tif 000008
【図７】
2016013199.tif 000009
【図８】
2016013199.tif 000010
【手続補正書】
【提出日】平成28年12月20日(2016.12.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出手段と、
前記検出手段が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録手段と、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置手段と、
を備える、仮想化基盤管理装置。
【請求項２】
前記登録手段は、前記物理マシンについて、前記偶発障害が発生した回数を、前記管理情報記憶手段に登録し、
前記配置手段は、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンのうち、前記偶発障害が発生した回数が所定の基準を満たす物理マシンに、前記障害により停止した前記仮想マシンを再配置する、
請求項１に記載の仮想化基盤管理装置。
【請求項３】
前記管理情報記憶手段は、前記仮想マシンについて、前記仮想マシンが行う処理の復旧を優先することが有効であるか否かを示す復旧優先指示情報を記憶しておき、
前記配置手段は、前記障害により停止した前記仮想マシンに関する前記復旧優先指示情報が無効であることを示している場合に、前記偶発障害が発生した回数が第一の閾値以下である前記物理マシンに対して、当該仮想マシンを再配置する、
請求項２に記載の仮想化基盤管理装置。
【請求項４】
前記登録手段は、前記第一の物理マシンについて、前記偶発障害が発生した回数が第二の閾値以上になった場合、前記第一の物理マシンが故障状態であることを登録する、
請求項２または３に記載の仮想化基盤管理装置。
【請求項５】
前記登録手段は、前記物理マシンについて、未使用である資源の量に関する情報を、前記管理情報記憶手段に登録し、
前記配置手段は、前記管理情報記憶手段において、前記未使用である資源の量が前記仮想マシンが必要とする資源の量以上である前記物理マシンについては、当該物理マシンが運用状態であっても、当該物理マシンに、前記障害により停止した前記仮想マシンを再配置可能である、
請求項１乃至４のいずれかに記載の仮想化基盤管理装置。
【請求項６】
前記登録手段は、前記物理マシンについて、未使用であるプロセッサのコア数、未使用であるメモリ容量、及び、未使用であるディスク容量の少なくともいずれかを、前記未使用である資源の量に関する情報として、前記管理情報記憶手段に登録する、
請求項５に記載の仮想化基盤管理装置。
【請求項７】
前記検出手段は、前記仮想マシンが実行するソフトウェアが包含する論理不正、あるいは、前記第一の物理マシンに対する電源供給の停止、あるいは、前記第一の物理マシンにおいて発生した温度異常により前記仮想マシンが停止した場合に、前記第一の物理マシンにおいて、前記偶発障害が発生したと判断する、
請求項１乃至６のいずれかに記載の仮想化基盤管理装置。
【請求項８】
請求項１乃至７のいずれかに記載の仮想化基盤管理装置と、前記１以上の物理マシンと、を有する仮想化基盤管理システム。
【請求項９】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出し、
前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録し、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する、
仮想化基盤管理方法。
【請求項１０】
１以上の仮想マシンを実行可能な１以上の物理マシンのうちの第一の物理マシンにおいて、物理的な固定障害ではない偶発障害が発生したことを検出する検出処理と、
前記検出処理が前記偶発障害を検出した場合、前記物理マシンの状態を記憶する管理情報記憶手段に、前記第一の物理マシンが待機状態であることを登録する登録処理と、
前記１以上の物理マシンのうちの第二の物理マシンにおいて障害が発生した場合、当該障害により停止した前記仮想マシンを、前記管理情報記憶手段において待機状態であることが登録されている前記物理マシンの何れかに再配置する配置処理と、
をコンピュータに実行させる仮想化基盤管理プログラム。
【国際調査報告】
2016013199.tif 000011
2016013199.tif 000012