(57)【要約】【課題】仮想マシンがホストマシンのハードウェアの状態を取得し、ホストマシンの障害発生に適切に対応する。【解決手段】サーバ障害検知機能１１がホストマシン１Ａ，１Ｂのハードウェアの状態を取得し、障害検知連携機能１２がホストマシン１Ａ，１Ｂのマシン状態を仮想マシン２Ａ，２Ｂへ伝達し、仮想マシン２Ａ，２Ｂの障害検知連携機能２１がホストマシン１Ａ，１Ｂのマシン状態を受け取ってホストマシン１Ａ，１Ｂと仮想マシン２Ａ，２Ｂのマシン状態を連携させる。これにより、仮想マシン２Ａ，２Ｂ上で動作するシステムがホストマシン１Ａ，１Ｂのマシン状態を取得し、ホストマシン１Ａ，１Ｂの異常を検知することが可能となる。【選択図】図１
2017045084.tif 000002
【特許請求の範囲】
【請求項１】
物理マシン上で仮想マシンが動作する障害検知装置であって、
前記物理マシンは、
当該物理マシンの状態を取得する状態取得手段と、
前記状態を前記仮想マシンへ伝達する状態伝達手段と、を有し、
前記仮想マシンは、
前記物理マシンから前記状態を取得し、前記仮想マシン上で動作するプログラムが当該状態を取得可能にする状態連携手段
を有することを特徴とする障害検知装置。
【請求項２】
前記障害検知装置は、現用系と予備系とを備える冗長化したシステムで用いられるものであって、
前記仮想マシンは、
前記物理マシンの異常を検知したときに、現用系と予備系とを切り替える障害制御手段を有することを特徴とする請求項１記載の障害検知装置。
【請求項３】
物理マシン上で仮想マシンが動作する障害検知装置による障害検知方法であって、
前記物理マシンによる、
当該物理マシンの状態を取得するステップと、
前記状態を前記仮想マシンへ伝達するステップと、を有し、
前記仮想マシンによる、
前記物理マシンから前記状態を取得し、前記仮想マシン上で動作するプログラムが当該状態を取得可能にするステップ
を有することを特徴とする障害検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理マシン上で動作する仮想マシンを用いたシステムの障害制御技術に関する。
【背景技術】
【０００２】
キャリアグレードのサーバは、フォールトトレラント性を保つためＨＡクラスタを使用し、運用系サーバと予備系サーバを用意して、運用系サーバに異常が発生したときは、予備系と運用系とを切り替えることでサービス継続性を高めている（例えば特許文献１参照）。運用系サーバ上で動作するシステムは、自身が動作しているマシン等のハードウェアの状態を取得して状態判定を行うことで異常の発生を検知している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６５６３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
自身が動作するハードウェアの状態を取得して状態判定を行って運用系と予備系とを切り替えるシステムを、仮想マシンを用いて構築した場合、通常のシステムが保持するハードウェアの状態取得機能や状態判定機能では仮想マシンの状態を取得して判定してしまい、仮想マシンの状態を検知し続けても、ハードウェア特有の温度異常や経年劣化による故障は検知できず、仮想マシンを動作させているホストマシンの異常を検知することはできないという問題があった。
【０００５】
この問題について、一般的には、物理マシンの状態検知のために外部に仮想化層監視装置を配置する対応が考えられる。しかしながら、外部の監視装置では、監視対象機能以外の異常（進行性の異常等）については検知することができない。また、外部の監視装置から仮想マシン上で動作するサーバプログラムに情報を伝達できない事態になった場合は、サーバプログラムの自発的なマシン制御を実施することができない。
【０００６】
本発明は、上記に鑑みてなされたものであり、仮想マシンがホストマシンのハードウェアの状態を取得し、ホストマシンの障害発生に適切に対応することを目的とする。
【課題を解決するための手段】
【０００７】
第１の本発明に係る障害検知装置は、物理マシン上で仮想マシンが動作する障害検知装置であって、前記物理マシンは、当該物理マシンの状態を取得する状態取得手段と、前記状態を前記仮想マシンへ伝達する状態伝達手段と、を有し、前記仮想マシンは、前記物理マシンから前記状態を取得し、前記仮想マシン上で動作するプログラムが当該状態を取得可能にする状態連携手段を有することを特徴とする。
【０００８】
上記障害検知装置は、現用系と予備系とを備える冗長化したシステムで用いられるものであって、前記仮想マシンは、前記物理マシンの異常を検知したときに、現用系と予備系とを切り替える障害制御手段を有することを特徴とする。
【０００９】
第２の本発明に係る障害検知方法は、物理マシン上で仮想マシンが動作する障害検知装置による障害検知方法であって、前記物理マシンによる、当該物理マシンの状態を取得するステップと、前記状態を前記仮想マシンへ伝達するステップと、を有し、前記仮想マシンによる、前記物理マシンから前記状態を取得し、前記仮想マシン上で動作するプログラムが当該状態を取得可能にするステップを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、仮想マシンがホストマシンのハードウェアの状態を取得し、ホストマシンの障害発生に適切に対応することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における障害制御システムの構成を示す機能ブロック図である。
【図２】本実施の形態における障害制御システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
図１は、本実施の形態における障害制御システムの構成を示す機能ブロック図である。図１に示す障害制御システムは、ホストマシン１Ａ，１Ｂ上で動作する仮想マシン２Ａ，２Ｂがプログラムを実行して所望のシステムを動作させる障害制御システムであって、一方の仮想マシン２Ａで動作するシステムを運用系、他方の仮想マシン２Ｂで動作するシステムを予備系とし、運用系のシステムで異常を検知したときには、予備系のシステムに切り替えてサービスを継続させるシステムである。例えば、通信事業者が通信網の構築に本システムを用いる。本障害制御システムは仮想マシン２Ａ，２Ｂ上でプログラムを動作させてサービスを提供する機能を有しているが、図１では障害制御に用いられる機能のみを図示している。
【００１４】
図１に示すホストマシン１Ａ，１Ｂは、サーバ障害検知機能１１及び障害検知連携機能１２を備え、ホストマシン１Ａ，１Ｂ上で動作する仮想マシン２Ａ，２Ｂは、障害検知連携機能２１及びサーバ障害検知機能２２を備える。
【００１５】
サーバ障害検知機能１１は、ホストマシン１Ａ，１Ｂが持つマシン状態を取得する機能を利用してホストマシン１Ａ，１Ｂ自身の状態を取得する。ホストマシン１Ａ，１Ｂは、物理マシンであり、ホストマシン１Ａ，１Ｂが備えるハードウェア部品に異常が発生したり故障したりする。物理マシンの状態を取得する機能としては、例えば、ハードディスクに内蔵された自己診断機能であるＳ．Ｍ．Ａ．Ｒ．Ｔ．やメモリチェック等がある。
【００１６】
障害検知連携機能１２は、サーバ障害検知機能１１が取得したホストマシン１Ａ，１Ｂのマシン状態を仮想マシン２Ａ，２Ｂへ伝達し、仮想マシン２Ａ，２Ｂ上で動作するシステムがホストマシン１Ａ，１Ｂのマシン状態を取得できるようにする機能である。
【００１７】
マシン状態を伝達する方法としては、ＩＰレイヤの独自機能をホストマシン１Ａ，１Ｂに実装する方法がある。その他に以下の例が挙げられる。
【００１８】
（１）ＳＮＭＰトラップを用いて、異常発生時にホストマシン１Ａ，１ＢのＳＮＭＰエージェントから仮想マシン２Ａ，２ＢのＳＮＭＰマネージャへ異常通知する。
（２）仮想マシン２Ａ，２Ｂからホストマシン１Ａ，１Ｂへｈｅａｒｔｂｅａｔを送信し、受信を以って死活監視を実施する。ｈｅａｒｔｂｅａｔが返らない場合は異常であることを検知する。
（３）ホストマシン１Ａ，１Ｂが仮想マシン２Ａ，２Ｂにログインし、ホストマシン１Ａ，１Ｂが異常をきたしている箇所について仮想マシン２Ａ，２Ｂを破壊する。
（４）ホストマシン１Ａ，１Ｂでメールサーバを起動し、仮想マシン２Ａ，２Ｂでメールクライアントを起動し、ホストマシン１Ａ，１Ｂが仮想マシン２Ａ，２Ｂへメールで伝達する。
（５）ホストマシン１Ａ，１Ｂが仮想マシン２Ａ，２ＢにＴｅｌｎｅｔ接続し、仮想マシン２Ａ，２Ｂ上のファイルを編集する。
（６）ホストマシン１Ａ，１Ｂが仮想マシン２Ａ，２ＢにＦＴＰ接続し、仮想マシン２Ａ，２Ｂ上にファイルを配置する。
【００１９】
一方、仮想マシン２Ａ，２Ｂの障害検知連携機能２１は、上記の方法で伝達されたホストマシン１Ａ，１Ｂのマシン状態を受け取り、ホストマシン１Ａ，１Ｂと仮想マシン２Ａ，２Ｂのマシン状態を連携させて、仮想マシン２Ａ，２Ｂのサーバ障害検知機能２２がホストマシン１Ａ，１Ｂのマシン状態を検知できるようにする。
【００２０】
サーバ障害検知機能２２は、仮想マシン２Ａ，２Ｂ上で動作するシステム（サーバプログラム）が備えた機能であって、仮想マシン２Ａ，２Ｂの状態判定とホストマシン１Ａ，１Ｂの状態判定を行い、異常を検知する。サーバ障害検知機能２２は、仮想マシン２Ａ，２Ｂの状態判定とホストマシン１Ａ，１Ｂの状態判定を実施することになるため、それぞれの状態がわかるように別個に動作判定を実施してもよいし、仮想マシン２Ａ，２Ｂの状態判定にホストマシン１Ａ，１Ｂの状態判定を重畳して動作判定を実施してもよい。
【００２１】
サーバ障害検知機能２２は、異常を検知すると、予備系に切り替える障害制御動作を開始する。あるいは、異常を検知したときに保守者へアラームを出力し、保守者が保守作業を行ってもよい。
【００２２】
次に、本実施の形態における障害制御システムの動作について説明する。
【００２３】
図２は、本実施の形態における障害制御システムの動作を示すシーケンス図である。
【００２４】
ホストマシン１Ａのサーバ障害検知機能１１がホストマシン１Ａの状態を取得し、異常を検知する（ステップＳ１１）。
【００２５】
ホストマシン１Ａの障害検知連携機能１２は、ホストマシン１Ａの状態を仮想マシン２Ａの障害検知連携機能２１に伝達する（ステップＳ１２）。
【００２６】
仮想マシン２Ａの障害検知連携機能２１は、ホストマシン１Ａの状態から現用系を予備系に切り替える必要があると判定した場合は、仮想マシン２Ｂへ切り替えの指示を出す（ステップＳ１３）。
【００２７】
以上説明したように、本実施の形態によれば、サーバ障害検知機能１１がホストマシン１Ａ，１Ｂのハードウェアの状態を取得し、障害検知連携機能１２がホストマシン１Ａ，１Ｂのマシン状態を仮想マシン２Ａ，２Ｂへ伝達し、仮想マシン２Ａ，２Ｂの障害検知連携機能２１がホストマシン１Ａ，１Ｂのマシン状態を受け取ってホストマシン１Ａ，１Ｂと仮想マシン２Ａ，２Ｂのマシン状態を連携させておくことで、仮想マシン２Ａ，２Ｂ上で動作するシステムがホストマシン１Ａ，１Ｂのマシン状態を取得し、ホストマシン１Ａ，１Ｂの異常を検知することが可能となる。
【符号の説明】
【００２８】
１Ａ，１Ｂ…ホストマシン
１１…サーバ障害検知機能
１２…障害検知連携機能
２Ａ，２Ｂ…仮想マシン
２１…障害検知連携機能
２２…サーバ障害検知機能
【図１】
2017045084.tif 000003
【図２】
2017045084.tif 000004