(57)【要約】【課題】通信が制限されている場合においてもスプリットブレインの発生を防止することを可能とするクラスタシステム、情報処理装置、クラスタ監視方法及びクラスタ監視プログラムを提供する。【解決手段】クラスタシステムは、クラスタを構成する第１及び第２ノードと、第１及び第２ノードの動作状態をそれぞれ監視する監視ノードと、を有し、監視ノードは、第１及び第２ノードから各ノードの動作状態を取得し、取得した第１及び第２ノードの動作状態を示す状態情報を第１及び第２ノードのそれぞれに通知し、第１ノードは、第２ノードの動作状態を取得し、取得した第２ノードの動作状態が異常を示している場合であって、監視ノードから通知された状態情報に第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、第２ノードが実行する処理を第２ノードに代わって実行する。【選択図】図９
2019153055.tif 000002
【特許請求の範囲】
【請求項１】
クラスタを構成する第１及び第２ノードと、
前記第１及び第２ノードの動作状態をそれぞれ監視する監視ノードと、を有し、
前記監視ノードは、
前記第１及び第２ノードから各ノードの動作状態を取得し、
取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１及び第２ノードのそれぞれに通知し、
前記第１ノードは、
前記第２ノードの動作状態を取得し、
取得した前記第２ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第２ノードが実行する処理を前記第２ノードに代わって実行する、
ことを特徴とするクラスタシステム。
【請求項２】
請求項１において、
前記第２ノードは、
前記第１ノードの動作状態を取得し、
取得した前記第１ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第１ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第１ノードが実行する処理を前記第１ノードに代わって実行する、
ことを特徴とするクラスタシステム。
【請求項３】
請求項１において、
前記第１ノードは、
取得した前記第２ノードの動作状態が異常を示している場合に、通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれているか否かを判定し、
通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合に、前記第２ノードが実行する処理を実行する、
ことを特徴とするクラスタシステム。
【請求項４】
請求項３において、
前記第１ノードは、
前記第２ノードの動作状態が異常であることを示している場合、または、前記第２ノードの動作状態を取得できなかった場合に、通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれているか否かの判定を行う、
ことを特徴とするクラスタシステム。
【請求項５】
請求項１において、さらに、
前記第１及び第２ノードと前記監視ノードとの間に配置されたネットワーク装置を有し、
前記ネットワーク装置は、前記第１及び第２ノードから前記監視ノードに対する通信を禁止する、
ことを特徴とするクラスタシステム。
【請求項６】
請求項１において、
前記監視ノードは、物理マシン上に生成された仮想マシンからなるノードである、
ことを特徴とするクラスタシステム。
【請求項７】
請求項６において、
前記第１ノードは、前記状態情報の通知が所定時間以上行われない場合、前記物理マシンに対して、前記監視ノードとして動作する新たな仮想マシンの生成を指示する、
ことを特徴とするクラスタシステム。
【請求項８】
クラスタを構成する第１及び第２ノードから各ノードの動作状態を取得する状態取得部と、
前記第２ノードが実行する処理を前記第２ノードに代わって実行するか否かの判定を行う際に前記第１ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１ノードに通知し、前記第１ノードが実行する処理を前記第１ノードに代わって実行するか否かの判定を行う際に前記第２ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第２ノードに通知する情報通知部と、を有する、
ことを特徴とする情報処理装置。
【請求項９】
クラスタを構成する第１及び第２ノードの動作状態をそれぞれ監視する監視ノードが、前記第１及び第２ノードから各ノードの動作状態を取得し、
前記監視ノードが、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１及び第２ノードのそれぞれに通知し、
前記第１ノードが、前記第２ノードの動作状態を取得し、
前記第１ノードが、取得した前記第２ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第２ノードが実行する処理を前記第２ノードに代わって実行する、
ことを特徴とするクラスタ監視方法。
【請求項１０】
クラスタを構成する第１及び第２ノードから各ノードの動作状態を取得し、
前記第２ノードが実行する処理を前記第２ノードに代わって実行するか否かの判定を行う際に前記第１ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１ノードに通知し、前記第１ノードが実行する処理を前記第１ノードに代わって実行するか否かの判定を行う際に前記第２ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第２ノードに通知する、
処理をコンピュータに実行させることを特徴とするクラスタ監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタシステム、情報処理装置、クラスタ監視方法及びクラスタ監視プログラムに関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、サービスの提供を行うための業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。具体的に、事業者は、例えば、クラスタを構成する複数の物理マシンを用いることによって業務システムの構築を行う。これにより、事業者は、サービスの提供を行うための処理を実行する物理マシンにおいて異常が発生した場合であっても、異常が発生した物理マシンが実行していた処理を他の物理マシンに引き継がせることが可能になり、利用者に対するサービスの提供を継続することが可能になる。
【０００３】
上記のようなクラスタを構成する各物理マシンは、例えば、定期的な間隔において他の物理マシンの動作状態の確認を行う。そして、各物理マシンは、他の物理マシンの動作状態が異常であると判定した場合、他の物理マシンが実行している処理の引き継ぎを行う。
【０００４】
ここで、例えば、物理マシン間のネットワークの不調に起因して他の物理マシンの動作状態の確認を行うことができなかった場合、各物理マシンは、正常に動作している他の物理マシンの動作状態が異常であると判定する場合がある。そして、各物理マシンは、この場合、他の物理マシンが処理の実行を正常に継続しているにもかかわらず、他の物理マシンが実行している処理の実行を開始する。そのため、業務システムでは、複数の物理マシンにおいて同じ処理が行われる状況（以下、スプリットブレインとも呼ぶ）が発生する可能性がある。
【０００５】
そこで、事業者は、例えば、クラスタを構成する物理マシンの数が偶数である場合、クラスタを構成する物理マシンと、新たな物理マシン（以下、クォーラムサーバとも呼ぶ）とを含む奇数の物理マシンからなるクォーラムを構成する。クォーラムは、各物理マシンからアクセス可能な物理マシンの数がクラスタを構成する物理マシンの過半数に達していないと判定した場合、他の物理マシンが実行している処理の引き継ぎを行わない構成である。これにより、各物理マシンは、各物理マシンが他の物理マシンの動作状態を誤認した場合であっても、スプリットブレインの発生を防止することが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−０９０５１２
【特許文献２】国際公開第２００５／０９１１３７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のような業務システムにおいて、例えば、事業者が管理する物理マシン上に生成された仮想マシンをクォーラムサーバとして用いる場合、事業者は、新たな物理マシンの用意等を行う必要がなくなるため、クォーラムの構成に要するコストを抑えることが可能になる。
【０００８】
しかしながら、例えば、業務システムを構成する物理マシンから事業者が管理する物理マシンに対する通信が制限されている場合、業務システムを構成する物理マシンは、クォーラムサーバから情報を取得することができない。そのため、事業者は、この場合、事業者が管理する物理マシン上に生成された仮想マシンをクォーラムサーバとして用いることによるクォーラムを構成することができない。
【０００９】
そこで、一つの側面では、本発明は、通信が制限されている場合においてもスプリットブレインの発生を防止することを可能とするクラスタシステム、情報処理装置、クラスタ監視方法及びクラスタ監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一態様では、クラスタシステムは、クラスタを構成する第１及び第２ノードと、第１及び第２ノードの動作状態をそれぞれ監視する監視ノードと、を有し、監視ノードは、第１及び第２ノードから各ノードの動作状態を取得し、取得した第１及び第２ノードの動作状態を示す状態情報を第１及び第２ノードのそれぞれに通知し、第１ノードは、第２ノードの動作状態を取得し、取得した第２ノードの動作状態が異常を示している場合であって、監視ノードから通知された状態情報に第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、第２ノードが実行する処理を第２ノードに代わって実行する。
【発明の効果】
【００１１】
一つの側面によれば、通信が制限されている場合においてもスプリットブレインの発生を防止することを可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理システム１０の全体構成を示す図である。
【図２】図２は、情報処理システム１０のハードウエア構成について説明する図である。
【図３】図３は、情報処理システム１０のハードウエア構成について説明する図である。
【図４】図４は、情報処理システム１０のハードウエア構成について説明する図である。
【図５】図５は、情報処理システム１０の機能のブロック図である。
【図６】図６は、情報処理システム１０の機能のブロック図である。
【図７】図７は、情報処理システム１０の機能のブロック図である。
【図８】図８は、第１の実施の形態におけるクラスタ監視処理の概略を説明するフローチャート図である。
【図９】図９は、第１の実施の形態におけるクラスタ監視処理の概略を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるクラスタ監視処理の概略を説明する図である。
【図１１】図１１は、第１の実施の形態におけるクラスタ監視処理の概略を説明する図である。
【図１２】図１２は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１３】図１３は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１４】図１４は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１５】図１５は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１６】図１６は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１７】図１７は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。
【図１８】図１８は、設定情報１３２の具体例を説明する図である。
【図１９】図１９は、状態情報１３１の具体例を説明する図である。
【図２０】図２０は、設定情報２３１の具体例を説明する図である。
【図２１】図２１は、第１の実施の形態におけるクラスタ監視処理の詳細を説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を示す図である。図１に示す情報処理システム１０には、情報処理装置１と、物理マシン２（以下、第１ノード２とも呼ぶ）と、物理マシン３（以下、第２ノード３とも呼ぶ）と、操作端末５とが含まれている。
【００１４】
物理マシン２及び物理マシン３は、それぞれ１台以上の物理マシンであり、クラスタＣＬを構成している。そのため、例えば、物理マシン２において所定の異常が発生したことを物理マシン３が検知した場合、物理マシン３は、物理マシン２が実行していた処理（物理マシン２が実行する予定の処理）を引き継いで実行する。同様に、例えば、物理マシン３において所定の異常が発生したことを物理マシン２が検知した場合、物理マシン２は、物理マシン３が実行していた処理（物理マシン３が実行する予定の処理）を引き継いで実行する。
【００１５】
情報処理装置１は、１台以上の物理マシンであり、例えば、事業者が管理する物理マシンである。そして、情報処理装置１では、仮想マシン１ａ（以下、ＶＭ１ａまたは監視ノード１ａとも呼ぶ）が動作している。なお、事業者は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の操作端末５を操作することにより、情報処理装置１に対して情報の入力等を行うものであってよい。
【００１６】
仮想マシン１ａは、例えば、クォーラムサーバとして機能する仮想マシンであり、物理マシン２及び物理マシン３とクォーラムを構成する。
【００１７】
具体的に、仮想マシン１ａは、例えば、物理マシン２及び物理マシン３の動作状態の確認を行う。また、物理マシン２は、例えば、仮想マシン１ａ及び物理マシン３の動作状態の確認を行う。さらに、物理マシン３は、例えば、仮想マシン１ａ及び物理マシン２の動作状態の確認を行う。そして、物理マシン２は、必要に応じて、例えば、仮想マシン１ａによる物理マシン２及び物理マシン３の動作状態の確認結果を取得する。また、物理マシン３は、必要に応じて、例えば、仮想マシン１ａによる物理マシン２及び物理マシン３の動作状態の確認結果を取得する。
【００１８】
これにより、物理マシン２は、例えば、物理マシン３との間のネットワークの不調に起因して物理マシン３の動作状態の確認ができない場合であっても、仮想マシン１ａによって物理マシン３の動作状態の確認ができている場合、物理マシン３の動作状態が正常であると判定することが可能になる。そのため、物理マシン２は、物理マシン３の動作状態の誤認によるスプリットブレインの発生を防止することが可能になる。
【００１９】
また、物理マシン３は、例えば、物理マシン２との間のネットワークの不調に起因して物理マシン２の動作状態の確認ができない場合であっても、仮想マシン１ａによって物理マシン２の動作状態の確認ができている場合、物理マシン２の動作状態が正常であると判定することが可能になる。そのため、物理マシン２は、物理マシン２の動作状態の誤認によるスプリットブレインの発生を防止することが可能になる。
【００２０】
しかしながら、例えば、物理マシン２及び物理マシン３と情報処理装置１との間に配置されたネットワーク装置（図示しない）によって、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合、物理マシン２は、クォーラムサーバとして機能する仮想マシン１ａから情報を取得することができない。そのため、事業者は、この場合、仮想マシン１ａをクォーラムサーバとして用いることによるクォーラムを構成することができない。
【００２１】
そこで、本実施の形態における仮想マシン１ａは、物理マシン２及び物理マシン３の動作状態をそれぞれ取得し、取得した物理マシン２及び物理マシン３の動作状態を示す状態情報を物理マシン２及び物理マシン３のそれぞれに通知する。
【００２２】
そして、物理マシン２は、物理マシン３の動作状態を取得し、取得した物理マシン３の動作状態が異常であって、仮想マシン１ａから通知された状態情報に物理マシン３の動作状態が異常であることを示す情報が含まれていると判定した場合、物理マシン３が実行する処理（物理マシン３が実行する予定の処理）を物理マシン３に代わって実行する。
【００２３】
すなわち、例えば、情報処理装置１（仮想マシン１ａ）から物理マシン２に対する通信が許可されている場合、仮想マシン１ａは、物理マシン２及び物理マシン３の動作状態を取得するだけでなく、取得した動作状態を物理マシン２及び物理マシン３にそれぞれ送信する。
【００２４】
これにより、物理マシン２は、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合であっても、情報処理装置１（仮想マシン１ａ）から物理マシン２に対する通信が許可されている場合、仮想マシン１ａが確認した物理マシン３の動作状態を参照することが可能になる。そのため、事業者は、この場合、事業者が管理する情報処理装置１に生成された仮想マシン１ａをクォーラムサーバとして用いたクォーラムを構成することが可能になる。
【００２５】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図２から図４は、情報処理システム１０のハードウエア構成について説明する図である。具体的に、図２は、情報処理装置１のハードウエア構成を説明する図である。また、図３は、物理マシン２のハードウエア構成を説明する図である。さらに、図４は、物理マシン３のハードウエア構成を説明する図である。
【００２６】
情報処理装置１は、図２に示すように、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（以下、Ｉ／Ｏユニットとも呼ぶ）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２７】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、物理マシン２及び物理マシン３から構成されるクラスタを監視する処理（以下、クラスタ監視処理とも呼ぶ）を行うためのプログラム１１０を記憶する。記憶媒体１０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）であってよい。
【００２８】
また、記憶媒体１０４は、例えば、クラスタ監視処理を行う際に用いられる情報を記憶する記憶部１３０（以下、情報格納領域１３０とも呼ぶ）を有する。
【００２９】
ＣＰＵ１０１は、記憶媒体１０４からメモリ１０２にロードされたプログラム１１０を実行してクラスタ監視処理を行う。
【００３０】
外部インターフェース１０３は、例えば、ネットワークＮＷを介して物理マシン２や物理マシン３と通信を行う。
【００３１】
そして、物理マシン２は、図３に示すように、プロセッサであるＣＰＵ２０１と、メモリ２０２と、外部インターフェース２０３と、記憶媒体２０４とを有する。各部は、バス２０５を介して互いに接続される。
【００３２】
記憶媒体２０４は、例えば、記憶媒体２０４内のプログラム格納領域（図示しない）に、クラスタ監視処理を行うためのプログラム２１０を記憶する。記憶媒体２０４は、例えば、ＨＤＤであってよい。
【００３３】
また、記憶媒体２０４は、例えば、クラスタ監視処理を行う際に用いられる情報を記憶する記憶部２３０（以下、情報格納領域２３０とも呼ぶ）を有する。
【００３４】
ＣＰＵ２０１は、記憶媒体２０４からメモリ２０２にロードされたプログラム２１０を実行してクラスタ監視処理を行う。
【００３５】
外部インターフェース２０３は、例えば、物理マシン３と通信を行う。また、外部インターフェース２０３は、通信が制限されていない場合、ネットワークＮＷを介して情報処理装置１と通信を行う。
【００３６】
さらに、物理マシン３は、図４に示すように、プロセッサであるＣＰＵ３０１と、メモリ３０２と、外部インターフェース３０３と、記憶媒体３０４とを有する。各部は、バス３０５を介して互いに接続される。
【００３７】
記憶媒体３０４は、例えば、記憶媒体３０４内のプログラム格納領域（図示しない）に、クラスタ監視処理を行うためのプログラム３１０を記憶する。記憶媒体３０４は、例えば、ＨＤＤであってよい。
【００３８】
また、記憶媒体３０４は、例えば、クラスタ監視処理を行う際に用いられる情報を記憶する記憶部３３０（以下、情報格納領域３３０とも呼ぶ）を有する。
【００３９】
ＣＰＵ３０１は、記憶媒体３０４からメモリ３０２にロードされたプログラム３１０を実行してクラスタ監視処理を行う。
【００４０】
外部インターフェース３０３は、例えば、物理マシン２と通信を行う。また、外部インターフェース３０３は、通信が制限されていない場合、ネットワークＮＷを介して情報処理装置１と通信を行う。
【００４１】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明を行う。図５から図７は、情報処理システム１０の機能のブロック図である。具体的に、図５は、情報処理装置１の機能のブロック図である。また、図６は、物理マシン２の機能のブロック図である。さらに、図７は、物理マシン３の機能のブロック図である。
【００４２】
初めに、情報処理装置１の機能について説明を行う。
【００４３】
情報処理装置１は、ＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、図５に示すように、情報処理装置１の機能として、指示受信部１１１と、ＶＭ生成部１１２とを含む各種機能を実現する。また、ＣＰＵ１０１やメモリ１０２等のハードウエアとプログラム１１０とが有機的に協働することにより、図５に示すように、情報処理装置１上に生成された仮想マシン１ａの機能として、インストール実行部１２１と、状態取得部１２２と、情報生成部１２３と、情報通知部１２４とを含む各種機能を実現する。
【００４４】
そして、情報処理装置１は、図５に示すように、状態情報１３１と、設定情報１３２とを情報格納領域１３０に記憶する。
【００４５】
情報処理装置１の指示受信部１１１は、新たな仮想マシン（例えば、仮想マシン１ａ）を生成する旨の指示（以下、ＶＭ生成指示とも呼ぶ）を受信する。ＶＭ生成指示は、例えば、事業者が操作端末３を介して情報処理装置１に対して行うものであってよい。
【００４６】
情報処理装置１のＶＭ生成部１１２は、指示受信部１１１がＶＭ生成指示を受信した場合、新たな仮想マシン（例えば、仮想マシン１ａ）を生成する。ＶＭ生成部１１２は、例えば、情報処理装置１上において動作するハイパーバイザであってよい。
【００４７】
仮想マシン１ａのインストール実行部１２１は、仮想マシン１ａがクォーラムサーバとして機能するために、例えば、情報格納領域１３０に記憶されたインストール用プログラム（図示しない）を実行する。
【００４８】
仮想マシン１ａの状態取得部１２２は、物理マシン２及び物理マシン３のそれぞれから動作状態を取得する。具体的に、状態取得部１２２は、例えば、定期的な間隔において物理マシン２及び物理マシン３のそれぞれから動作状態の取得を行う。
【００４９】
仮想マシン１ａの情報生成部１２３は、状態取得部１２２が取得した物理マシン２及び物理マシン３の動作状態を含む状態情報１３１を生成する。そして、情報生成部１２３は、生成した状態情報１３１を情報格納領域１３０に記憶する。
【００５０】
仮想マシン１ａの情報通知部１２４は、情報生成部１２３が生成した状態情報１３１を物理マシン２及び物理マシン３のそれぞれに通知する。設定情報１３２についての説明は後述する。
【００５１】
次に、物理マシン２の機能について説明を行う。
【００５２】
物理マシン２は、ＣＰＵ２０１やメモリ２０２等のハードウエアとプログラム２１０とが有機的に協働することにより、図６に示すように、状態取得部２１１と、異常判定部２１２と、実行切換部２１３と、指示送信部２１４とを含む各種機能を実現する。
【００５３】
そして、物理マシン２は、図６に示すように、設定情報２３１を情報格納領域２３０に記憶する。
【００５４】
物理マシン２の状態取得部２１１は、物理マシン３の動作状態を取得する。
【００５５】
物理マシン２の異常判定部２１２は、状態取得部２１１が取得した物理マシン３の動作状態が異常を示しているか否かの判定を行う。また、異常判定部２１２は、状態取得部２１１が取得した物理マシン３の動作状態が異常を示している場合、仮想マシン１ａから通知された状態情報１３１に、物理マシン３の動作状態が異常であることを示す情報が含まれているか否かを判定する。
【００５６】
物理マシン２の実行切換部２１３は、異常判定部２１２によって物理マシン３の動作状態が異常であると判定された場合、物理マシン３が実行する処理を物理マシン３に代わって実行する。具体的に、実行切換部２１３は、例えば、物理マシン３がプライマリの物理マシンとして動作しており、物理マシン２がセカンダリの物理マシンとして動作している場合において、異常判定部２１２によって物理マシン３の動作状態が異常であると判定された場合に、物理マシン２がプライマリの物理マシンとして動作を開始するように設定の変更等を行う。
【００５７】
物理マシン２の指示送信部２１４は、仮想マシン１ａからの状態情報１３１の通知間隔に基づいて、仮想マシン１ａの動作状態が異常であると判定した場合、仮想マシン１ａに代わってクォーラムサーバとして機能する新たな仮想マシンの生成を情報処理装置１に指示する。設定情報２３１についての説明は後述する。
【００５８】
次に、物理マシン３の機能について説明を行う。
【００５９】
物理マシン３は、ＣＰＵ３０１やメモリ３０２等のハードウエアとプログラム３１０とが有機的に協働することにより、図７に示すように、状態取得部３１１と、異常判定部３１２と、実行切換部３１３と、指示送信部３１４とを含む各種機能を実現する。
【００６０】
そして、物理マシン３は、図７に示すように、設定情報３３１を情報格納領域３３０に記憶する。
【００６１】
物理マシン３の状態取得部３１１は、物理マシン２の動作状態を取得する。
【００６２】
物理マシン３の異常判定部３１２は、状態取得部３１１が取得した物理マシン２の動作状態が異常を示しているか否かの判定を行う。また、異常判定部３１２は、状態取得部３１１が取得した物理マシン２の動作状態が異常を示している場合、仮想マシン１ａから通知された状態情報１３１に、物理マシン２の動作状態が異常であることを示す情報が含まれているか否かを判定する。
【００６３】
物理マシン３の実行切換部３１３は、異常判定部３１２によって物理マシン２の動作状態が異常であると判定された場合、物理マシン２が実行する処理を物理マシン２に代わって実行する。具体的に、実行切換部３１３は、物理マシン２がプライマリの物理マシンとして動作しており、物理マシン３がセカンダリの物理マシンとして動作している場合において、異常判定部３１２によって物理マシン２の動作状態が異常であると判定された場合に、物理マシン３がプライマリの物理マシンとして動作を開始するように設定の変更等を行う。
【００６４】
物理マシン３の指示送信部３１４は、仮想マシン１ａからの状態情報１３１の通知間隔に基づいて、仮想マシン１ａの動作状態が異常であると判定した場合、仮想マシン１ａに代わってクォーラムサーバとして機能する新たな仮想マシンの生成を情報処理装置１に指示する。設定情報３３１についての説明は後述する。
【００６５】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図８及び図９は、第１の実施の形態におけるクラスタ監視処理の概略を説明するフローチャート図である。図１０及び図１１は、第１の実施の形態におけるクラスタ監視処理の概略を説明する図である。以下、図１０及び図１１を参照しながら、図８及び図９に示すクラスタ監視処理の概略について説明を行う。
【００６６】
仮想マシン１ａは、図８に示すように、状態通知タイミングまで待機する（Ｓ１のＮＯ）。状態通知タイミングは、例えば、１秒間隔等の定期的なタイミングである。
【００６７】
そして、状態通知タイミングになった場合（Ｓ１のＹＥＳ）、仮想マシン１ａは、物理マシン２及び物理マシン３のそれぞれから動作状態を取得する（Ｓ２）。
【００６８】
その後、仮想マシン１ａは、Ｓ２の処理で取得した物理マシン２及び物理マシン３の動作状態を示す状態情報１３１を、物理マシン２及び物理マシン３のそれぞれに通知する（Ｓ３）。
【００６９】
具体的に、仮想マシン１ａは、図１０に示すように、物理マシン２及び物理マシン３のそれぞれから動作状態を取得した後、取得した動作状態から状態情報１３１を生成する。そして、仮想マシン１ａは、生成した状態情報１３１を物理マシン２及び物理マシン３のそれぞれに送信する。
【００７０】
また、物理マシン２は、図９に示すように、状態判定タイミングまで待機する（Ｓ１１のＮＯ）。状態判定タイミングは、例えば、１秒間隔等の定期的なタイミングであってよい。
【００７１】
そして、状態判定タイミングになった場合（Ｓ１１のＹＥＳ）、物理マシン２は、物理マシン３の動作状態を取得する（Ｓ１２）。
【００７２】
続いて、物理マシン２は、Ｓ１２の処理で取得した物理マシン３の動作状態が異常であって、かつ、Ｓ３の処理で仮想マシン１ａから通知された状態情報１３１に、物理マシン３の動作状態が異常であることを示す情報が含まれているか否かを判定する（Ｓ１３）。
【００７３】
その結果、Ｓ１２の処理で取得した物理マシン３の動作状態が異常であって、かつ、Ｓ３の処理で仮想マシン１ａから通知された状態情報１３１に、物理マシン３の動作状態が異常であることを示す情報が含まれていると判定した場合（Ｓ１４のＹＥＳ）、物理マシン２は、物理マシン３が実行する処理を物理マシン３に代わって実行する（Ｓ１５）。
【００７４】
具体的に、物理マシン２は、図１１に示すように、物理マシン３から取得した動作状態を確認した結果、物理マシン３の動作状態が異常であると判定した場合、物理マシン３が行っていた処理を引き継いで実行する。
【００７５】
これにより、物理マシン２は、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合であっても、仮想マシン１ａが確認した物理マシン３の動作状態を参照することが可能になる。そのため、事業者は、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合であっても、情報処理装置１（仮想マシン１ａ）から物理マシン２に対する通信が許可されている場合、事業者が管理する情報処理装置１に生成された仮想マシン１ａをクォーラムサーバとして用いたクォーラムを構成することが可能になる。
【００７６】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図１２から図１７は、第１の実施の形態におけるクラスタ監視処理の詳細を説明するフローチャート図である。また、図１８から図２１は、第１の実施の形態におけるクラスタ監視処理の詳細を説明する図である。以下、図１８から図２１を参照しながら、図１２から図１７に示すクラスタ監視処理の詳細について説明を行う。なお、以下、クォーラムサーバとして機能する仮想マシン１ａが情報処理装置１上において既に生成されているものとして説明を行う。
【００７７】
［仮想マシンが実行するインストール処理］
初めに、仮想マシン１ａが実行するクラスタ監視処理のうち、インストール用プログラムを実行する際の処理（以下、インストール処理とも呼ぶ）について説明を行う。図１２は、仮想マシン１ａが実行するインストール処理について説明する図である。
【００７８】
仮想マシン１ａのインストール実行部１２１は、図１２に示すように、クォーラムサーバのインストールタイミングまで待機する（Ｓ２１のＮＯ）。クォーラムサーバのインストールタイミングは、例えば、事業者がクォーラムサーバの設定を行う旨の入力を操作端末５に対して行ったタイミングであってよい。
【００７９】
そして、クォーラムサーバのインストールタイミングになった場合（Ｓ２１のＹＥＳ）、インストール実行部１２１は、例えば、物理マシン２の情報格納領域２３０または物理マシン３の情報格納領域３３０に記憶されたインストール用プログラム（図示しない）と、物理マシン２及び物理マシン３のＩＰアドレスとを取得する（Ｓ２２）。その後、インストール実行部１２１は、取得したインストール用プログラムとＩＰアドレスを示す情報とを情報格納領域１３０に記憶する。物理マシン２及び物理マシン３のＩＰアドレスは、例えば、情報格納領域２３０等から取得したインストール用プログラムに付加されている情報に含まれているものであってよい。
【００８０】
続いて、インストール実行部１２１は、Ｓ２２の処理で取得したインストール用プログラムを実行する（Ｓ２３）。具体的に、インストール実行部１２１は、例えば、情報格納領域１３０に記憶されたインストール用プログラムを実行する。
【００８１】
その後、インストール実行部１２１は、Ｓ２２の処理で取得したＩＰアドレスを含む設定情報１３２を生成する（Ｓ２４）。
【００８２】
これにより、仮想マシン１ａは、クォーラムサーバとしての動作を開始することが可能になる。以下、設定情報１３２の具体例について説明を行う。
【００８３】
［設定情報の具体例］
図１８は、設定情報１３２の具体例を説明する図である。具体的に、図１８（Ａ）は、Ｓ２２の処理で取得したＩＰアドレスを含む第１設定情報１３２ａの具体例を説明する図である。また、図１８（Ｂ）は、仮想マシン１ａが物理マシン２及び物理マシン３の動作状態を確認する時間間隔を示す情報を含む第２設定情報１３２ｂの具体例を説明する図である。
【００８４】
図１８（Ａ）に示す第１設定情報１３２ａは、第１設定情報１３２ａに含まれる各情報を識別する「項番」と、各物理マシン（物理マシン２及び物理マシン３）を識別する「ノード名」と、各物理マシンのＩＰアドレスが設定される「ＩＰアドレス」とを項目として有する。
【００８５】
具体的に、図１８（Ａ）に示す第１設定情報１３２ａにおいて、「項番」が「１」である情報には、「ノード名」として「物理マシン２」が設定され、「ＩＰアドレス」として「ｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘ」が設定されている。また、図１８（Ａ）に示す第１設定情報１３２ａにおいて、「項番」が「２」である情報には、「ノード名」として「物理マシン３」が設定され、「ＩＰアドレス」として「ｙｙｙ．ｙｙｙ．ｙｙｙ．ｙｙｙ」が設定されている。
【００８６】
そして、図１８（Ｂ）に示す第２設定情報１３２ｂは、第２設定情報１３２ｂに含まれる各情報を識別する「項番」と、各物理マシンの動作状態を確認する時間間隔が設定される「監視間隔」とを項目として有する。
【００８７】
具体的に、図１８（Ｂ）に示す第２設定情報１３２ｂにおいて、「項番」が「１」である情報には、「監視間隔」として「２（秒）」が設定されている。
【００８８】
［仮想マシンが実行する状態確認処理］
次に、仮想マシン１ａが実行するクラスタ監視処理のうち、物理マシン２及び物理マシン３の動作状態を確認する際の処理（以下、状態確認処理とも呼ぶ）について説明を行う。図１３は、仮想マシン１ａが実行する状態確認処理について説明する図である。
【００８９】
仮想マシン１ａの状態取得部１２２は、状態通知タイミングまで待機する（Ｓ３１のＮＯ）。状態通知タイミングは、例えば、１秒間隔等の定期的なタイミングである。
【００９０】
そして、状態通知タイミングになった場合（Ｓ３１のＹＥＳ）、仮想マシン１ａの状態取得部１２２は、物理マシン２及び物理マシン３のそれぞれから動作状態を取得する（Ｓ３２）。
【００９１】
続いて、仮想マシン１ａの情報生成部１２３は、Ｓ３２の処理で取得した物理マシン２及び物理マシン３の動作状態を含む状態情報１３１を生成する（Ｓ３３）。その後、情報生成部１２３は、生成した状態情報１３１を情報格納領域１３０に記憶する。以下、状態情報１３１の具体例について説明を行う。
【００９２】
［状態情報の具体例］
図１９は、状態情報１３１の具体例を説明する図である。
【００９３】
図１９に示す状態情報１３１は、状態情報１３１に含まれる各情報を識別する「項番」と、各物理マシン（物理マシン２及び物理マシン３）を識別する「ノード名」と、各物理マシンの動作状態を示す情報が設定される「状態」とを項目として有する。「状態」には、各物理マシンの動作状態が正常であることを示す「正常」、または、各物理マシンの動作状態が異常であることを示す「異常」が設定される。また、図１９に示す状態情報１３１は、各物理マシンの動作状態を確認した時刻が設定される「確認時刻」を項目として有する。
【００９４】
具体的に、図１９に示す状態情報１３１において、「項番」が「１」である情報には、「ノード名」として「物理マシン２」が設定され、「状態」として「正常」が設定され、「確認時刻」として「２０１７／１１／０９  １０：４８：５８」が設定されている。また、図１９に示す状態情報１３１において、「項番」が「２」である情報には、「ノード名」として「物理マシン３」が設定され、「状態」として「異常」が設定され、「確認時刻」として「２０１７／１１／０９  １０：４８：５８」が設定されている。
【００９５】
図１３に戻り、仮想マシン１ａの情報通知部１２４は、情報格納領域１３０に記憶された設定情報１３２を参照し、Ｓ３３の処理で生成した状態情報１３１を、物理マシン２及び物理マシン３のそれぞれに通知する（Ｓ３４）。
【００９６】
具体的に、情報通知部１２４は、図１８（Ａ）で説明した第１設定情報１３２ａの「ＩＰアドレス」に設定された各ＩＰアドレスに対し、Ｓ３３の処理で生成した状態情報１３１（情報格納領域１３０に記憶された状態情報１３１）をそれぞれ送信する。
【００９７】
［物理マシンが実行するクラスタ監視処理］
次に、物理マシン２が実行するクラスタ監視処理について説明を行う。
【００９８】
物理マシン２の状態取得部２１１は、図１４に示すように、状態判定タイミングまで待機する（Ｓ４１のＮＯ）。状態判定タイミングは、例えば、情報格納領域２３０に記憶された設定情報２３１に含まれる監視間隔ごとのタイミングであってよい。具体的に、状態判定タイミングは、例えば、１秒間隔等の定期的なタイミングであってよい。以下、設定情報２３１の具体例について説明を行う。
【００９９】
［設定情報の具体例］
図２０は、設定情報２３１の具体例を説明する図である。具体的に、図２０（Ａ）は、物理マシン３の監視間隔を含む第１設定情報２３１ａの具体例を説明する図である。また、図２０（Ｂ）は、仮想マシン１ａの動作状態が異常であるか否かの判定に用いられる許容時間を含む第２設定情報２３１ｂの具体例を説明する図である。なお、設定情報２３１は、事業者によって予め作成され、情報格納領域２３０に記憶されるものであってよい。
【０１００】
図２０（Ａ）に示す第１設定情報２３１ａは、第１設定情報２３１ａに含まれる各情報を識別する「項番」と、他の物理マシン（物理マシン３）の監視間隔が設定される「監視間隔」とを項目として有する。
【０１０１】
具体的に、図２０（Ａ）に示す第１設定情報２３１ａにおいて、「項番」が「１」である情報には、「監視間隔」として「２（秒）」が設定されている。
【０１０２】
そして、図２０（Ｂ）に示す第２設定情報２３１ｂは、第２設定情報２３１ｂに含まれる各情報を識別する「項番」と、仮想マシン１ａの動作状態が異常であるか否かの判定に用いられる許容時間が設定される「許容時間」とを項目として有する。
【０１０３】
具体的に、図２０（Ｂ）に示す第２設定情報２３１ｂにおいて、「項番」が「１」である情報には、「許容時間」として「５（秒）」が設定されている。
【０１０４】
図１４に戻り、状態判定タイミングになった場合（Ｓ４１のＹＥＳ）、状態取得部２１１は、物理マシン３の動作状態を取得する（Ｓ４２）。
【０１０５】
続いて、物理マシン３の動作状態の取得に成功した場合（Ｓ４３のＹＥＳ）、物理マシン２の異常判定部２１２は、Ｓ４２の処理で取得した動作状態を参照し、物理マシン３における現在の動作状態が異常であるか否かを判定する（Ｓ４４）。
【０１０６】
その結果、物理マシン３における現在の動作状態が異常であると判定した場合（Ｓ４５のＹＥＳ）、異常判定部２１２は、Ｓ３４の処理で通知された状態情報１３１のうちの最新の情報を参照し、現在の動作状態が異常である物理マシンが存在しているか否かを判定する（Ｓ４６）。また、異常判定部２１２はＳ４３の処理において物理マシン３の動作状態の取得に失敗した場合（Ｓ４３のＮＯ）も同様に、Ｓ４６の処理を行う。
【０１０７】
そして、図１５に示すように、現在の動作状態が異常である物理マシンが存在していると判定した場合（Ｓ５１のＹＥＳ）、異常判定部２１２は、Ｓ３４の処理で通知された状態情報１３１のうちの最新の情報に、物理マシン２の現在の動作状態が異常であることを示す情報が含まれているか否かを判定する（Ｓ５２）。
【０１０８】
その結果、物理マシン２の現在の動作状態が異常であることを示す情報については含まれていないが、物理マシン３の現在の動作状態が異常であることを示す情報が含まれていると判定した場合（Ｓ５２のＮＯ）、物理マシン２の実行切換部２１３は、物理マシン３が実行している処理（実行する予定の処理）を引き継いで実行する（Ｓ５３）。
【０１０９】
すなわち、実行切換部２１３は、この場合、物理マシン３が利用者にサービスを提供するための処理の実行を継続することができなくなっていると判定し、物理マシン３が実行する処理の実行を引き継ぐ。
【０１１０】
具体的に、実行切換部２１３は、物理マシン３がプライマリの物理マシンとして動作しており、物理マシン２がセカンダリの物理マシンとして動作している場合において、物理マシン３の現在の動作状態が異常であると判定された場合に、物理マシン２がプライマリの物理マシンとして動作を開始するように設定の変更等を行う。
【０１１１】
一方、物理マシン２の現在の動作状態が異常であることを示す情報が含まれていると判定した場合（Ｓ５２のＹＥＳ）、実行切換部２１３は、物理マシン２において現在実行中の処理を停止する（Ｓ５４）。
【０１１２】
すなわち、Ｓ４４の処理において物理マシン３の現在の動作状態が異常と判断される場合には、物理マシン３の動作状態が正常であるにもかかわらず、物理マシン２と物理マシン３との間におけるネットワークの状態の不調に起因して物理マシン３が異常と判断されている場合が含まれる。そのため、物理マシン２は、Ｓ４４の処理において物理マシン３の現在の動作状態が異常と判断された場合、さらに、Ｓ３４の処理で通知された状態情報１３１に、物理マシン３の現在の動作状態が異常であることを示す情報が含まれているか否かの判定を行う。そして、物理マシン２は、Ｓ３４の処理で通知された状態情報１３１に、物理マシン３の現在の動作状態が異常であることを示す情報が含まれていると判定した場合に、物理マシン３が実行する処理の実行を引き継ぐ。
【０１１３】
これにより、物理マシン２は、物理マシン３の実際の動作状態が正常であるにもかかわらず、物理マシン３が実行する処理の実行を開始することの防止が可能になる。そのため、事業者は、物理マシン２及び物理マシン３においてスプリットブレインが発生することを防止することが可能になる。
【０１１４】
そして、物理マシン２は、Ｓ５３の処理またはＳ５４の処理の後、クラスタ監視処理を終了する。
【０１１５】
また、Ｓ４５の処理において、物理マシン３における現在の動作状態が異常でないと判定した場合（Ｓ４５のＮＯ）、異常判定部２１２は、図１６に示すように、Ｓ３４の処理で通知された状態情報１３１に含まれる時刻と現在時刻との差が、情報格納領域２３０に記憶された設定情報２３１に含まれる許容時間以下であるか否かを判定する（Ｓ６１）。
【０１１６】
すなわち、異常判定部２１２は、この場合、仮想マシン１ａから状態情報１３１の通知が前回行われてから経過した時間が許容時間を超えているか否かを判定する。そして、異常判定部２１２は、状態情報１３１の通知が前回行われてから経過した時間が許容時間を超えていると判定した場合、仮想マシン１ａの現在の動作状態が異常であると判定する。
【０１１７】
これにより、異常判定部２１２は、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合であっても、仮想マシン１ａの現在の動作状態の判定を行うことが可能になる。
【０１１８】
具体的に、異常判定部２１２は、例えば、Ｓ３４の処理で通知された状態情報１３１に含まれる時刻と現在時刻との差が、図２０（Ｂ）で説明した第２設定情報２３１ｂの「許容時間」に設定された時間以下であるか否かの判定を行う。
【０１１９】
その結果、Ｓ３４の処理で通知された状態情報１３１に含まれる時刻と現在時刻との差が許容時間以下であると判定した場合（Ｓ６２のＹＥＳ）、物理マシン２は、クラスタ監視処理を終了する。すなわち、異常判定部２１２は、この場合、仮想マシン１ａの動作状態が正常であると判定する。
【０１２０】
一方、Ｓ３４の処理で通知された状態情報１３１に含まれる時刻と現在時刻との差が許容時間以下でないと判定した場合（Ｓ６２のＮＯ）、状態取得部２１１は、物理マシン３が仮想マシン１ａから通知された状態情報１３１のうちの最新の情報を、物理マシン３から取得する（Ｓ６３）。具体的に、状態取得部２１１は、例えば、物理マシン３の情報格納領域３３０にアクセスし、物理マシン３が仮想マシン１ａから通知された状態情報１３１のうちの最新の情報を取得する。
【０１２１】
そして、異常判定部２１２は、Ｓ６３の処理で取得した状態情報１３１に含まれる時刻と現在時刻との差が、情報格納領域２３０に記憶された設定情報２３１に含まれる許容時間以下であるか否かを判定する（Ｓ６４）。
【０１２２】
その結果、Ｓ６３の処理で取得した状態情報１３１に含まれる時刻と現在時刻との差が許容時間以下であると判定した場合（Ｓ６５のＹＥＳ）、物理マシン２は、クラスタ監視処理を終了する。
【０１２３】
一方、Ｓ６３の処理で取得した状態情報１３１に含まれる時刻と現在時刻との差が許容時間以下でないと判定した場合（Ｓ６５のＮＯ）、物理マシン２の指示送信部２１４は、情報処理装置１に対して、クォーラムサーバとして機能する新たな仮想マシンの生成を行う旨の指示（ＶＭ生成指示）を送信する（Ｓ６６）。
【０１２４】
すなわち、Ｓ６２の処理において仮想マシン１ａから状態情報１３１の送信が前回行われてから許容時間を超えていると判断される場合には、仮想マシン１ａの動作状態が正常であるにもかかわらず、情報処理装置１（仮想マシン１ａ）と物理マシン２との間におけるネットワークの状態の不調に起因して仮想マシン１ａが異常と判断されている場合が含まれる。そのため、物理マシン２は、Ｓ６２の処理において仮想マシン１ａの現在の動作状態が異常と判断された場合、さらに、物理マシン３においても仮想マシン１ａの現在の動作状態が異常と判断されているか否かを判定する。そして、物理マシン２は、物理マシン３においても仮想マシン１ａの現在の動作状態が異常と判断されていると判定した場合に、情報処理装置１に対して新たな仮想マシンの生成を指示する。
【０１２５】
これにより、物理マシン２は、仮想マシン１ａの実際の動作状態が正常であるにもかかわらず、情報処理装置１に対して新たな仮想マシンの生成を指示することを防止することが可能になる。
【０１２６】
なお、物理マシン３が実行するクラスタ監視処理は、物理マシン２が実行するクラスタ監視処理と同じ内容である。そのため、物理マシン３が実行するクラスタ監視処理については説明を省略する。また、情報格納領域３３０に記憶された設定情報３３１は、情報格納領域２３０に記憶された設定情報２３１と同じ内容である。そのため、設定情報３３１についての説明は省略する。
【０１２７】
［情報処理装置が実行するクラスタ監視処理］
次に、情報処理装置１が実行するクラスタ監視処理について説明を行う。
【０１２８】
情報処理装置１の指示受信部１１１は、図１７に示すように、物理マシン２または物理マシン３からＶＭ生成指示を受信するまで待機する（Ｓ７１のＮＯ）。
【０１２９】
そして、ＶＭ生成指示を受信した場合（Ｓ７１のＹＥＳ）、情報処理装置１のＶＭ生成部１１２は、クォーラムサーバとして機能する新たな仮想マシン１ｂ（以下、ＶＭ１ｂとも呼ぶ）を生成する（Ｓ７２）。
【０１３０】
具体的に、ＶＭ生成部１１２は、図２１に示すように、新たな仮想マシンである仮想マシン１ｂを生成し、仮想マシン１ａの代わりにクォーラムサーバとして機能させる。
【０１３１】
これにより、情報処理装置１は、仮想マシン１ａの動作状態が異常であると物理マシン２または物理マシン３が判定した場合、他の仮想マシンをクォーラムサーバとして機能させることが可能になる。
【０１３２】
このように、本実施の形態における仮想マシン１ａは、物理マシン２及び物理マシン３の動作状態をそれぞれ取得し、取得した物理マシン２及び物理マシン３の動作状態を示す状態情報１３１を物理マシン２及び物理マシン３のそれぞれに通知する。
【０１３３】
そして、物理マシン２は、物理マシン３の動作状態を取得し、取得した物理マシン３の動作状態が異常であって、仮想マシン１ａから通知された状態情報１３１に物理マシン３の動作状態が異常であることを示す情報が含まれていると判定した場合、物理マシン３が実行する処理（物理マシン３が実行する予定の処理）を物理マシン３に代わって実行する。
【０１３４】
すなわち、例えば、情報処理装置１（仮想マシン１ａ）から物理マシン２に対する通信が許可されている場合、仮想マシン１ａは、物理マシン２及び物理マシン３の動作状態を取得するだけでなく、取得した動作状態を物理マシン２及び物理マシン３にそれぞれ送信する。
【０１３５】
これにより、物理マシン２は、物理マシン２から情報処理装置１（仮想マシン１ａ）に対する通信が制限されている場合であっても、情報処理装置１（仮想マシン１ａ）から物理マシン２に対する通信が許可されている場合、仮想マシン１ａが確認した物理マシン３の動作状態を参照することが可能になる。そのため、事業者は、この場合、事業者が管理する情報処理装置１に生成された仮想マシン１ａをクォーラムサーバとして用いたクォーラムを構成することが可能になる。
【０１３６】
（付記１）
クラスタを構成する第１及び第２ノードと、
前記第１及び第２ノードの動作状態をそれぞれ監視する監視ノードと、を有し、
前記監視ノードは、
前記第１及び第２ノードから各ノードの動作状態を取得し、
取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１及び第２ノードのそれぞれに通知し、
前記第１ノードは、
前記第２ノードの動作状態を取得し、
取得した前記第２ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第２ノードが実行する処理を前記第２ノードに代わって実行する、
ことを特徴とするクラスタシステム。
【０１３７】
（付記２）
付記１において、
前記第２ノードは、
前記第１ノードの動作状態を取得し、
取得した前記第１ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第１ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第１ノードが実行する処理を前記第１ノードに代わって実行する、
ことを特徴とするクラスタシステム。
【０１３８】
（付記３）
付記１において、
前記第１ノードは、
取得した前記第２ノードの動作状態が異常を示している場合に、通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれているか否かを判定し、
通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合に、前記第２ノードが実行する処理を実行する、
ことを特徴とするクラスタシステム。
【０１３９】
（付記４）
付記３において、
前記第１ノードは、
前記第２ノードの動作状態が異常であることを示している場合、または、前記第２ノードの動作状態を取得できなかった場合に、通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれているか否かの判定を行う、
ことを特徴とするクラスタシステム。
【０１４０】
（付記５）
付記１において、さらに、
前記第１及び第２ノードと前記監視ノードとの間に配置されたネットワーク装置を有し、
前記ネットワーク装置は、前記第１及び第２ノードから前記監視ノードに対する通信を禁止する、
ことを特徴とするクラスタシステム。
【０１４１】
（付記６）
付記１において、
前記監視ノードは、物理マシン上に生成された仮想マシンからなるノードである、
ことを特徴とするクラスタシステム。
【０１４２】
（付記７）
付記６において、
前記第１ノードは、前記状態情報の通知が所定時間以上行われない場合、前記物理マシンに対して、前記監視ノードとして動作する新たな仮想マシンの生成を指示する、
ことを特徴とするクラスタシステム。
【０１４３】
（付記８）
クラスタを構成する第１及び第２ノードから各ノードの動作状態を取得する状態取得部と、
前記第２ノードが実行する処理を前記第２ノードに代わって実行するか否かの判定を行う際に前記第１ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１ノードに通知し、前記第１ノードが実行する処理を前記第１ノードに代わって実行するか否かの判定を行う際に前記第２ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第２ノードに通知する情報通知部と、を有する、
ことを特徴とする情報処理装置。
【０１４４】
（付記９）
付記８において、
前記状態取得部及び前記情報通知部は、前記情報処理装置上に生成された仮想マシンが有しており、さらに、
前記状態情報の通知が所定時間以上行われていない旨が前記第１ノードまたは前記第２ノードから通知された場合、前記状態取得部及び前記情報通知部を有する新たな仮想マシンを生成し、
前記仮想マシンの前記状態取得部及び前記情報通知部に代わって、前記新たな仮想マシンの前記状態取得部及び前記情報通知部に処理を行わせる、
ことを特徴とする情報処理装置。
【０１４５】
（付記１０）
クラスタを構成する第１及び第２ノードの動作状態をそれぞれ監視する監視ノードが、前記第１及び第２ノードから各ノードの動作状態を取得し、
前記監視ノードが、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１及び第２ノードのそれぞれに通知し、
前記第１ノードが、前記第２ノードの動作状態を取得し、
前記第１ノードが、取得した前記第２ノードの動作状態が異常を示している場合であって、前記監視ノードから通知された前記状態情報に前記第２ノードの動作状態が異常であることを示す情報が含まれていると判定した場合、前記第２ノードが実行する処理を前記第２ノードに代わって実行する、
ことを特徴とするクラスタ監視方法。
【０１４６】
（付記１１）
付記１０において、
前記監視ノードは、物理マシン上に生成された仮想マシンからなるノードである、
ことを特徴とするクラスタ監視方法。
【０１４７】
（付記１２）
付記１１において、さらに、
前記第１ノードが、前記状態情報の通知が所定時間以上行われない場合、前記物理マシンに対して、前記監視ノードとして動作する新たな仮想マシンの生成を指示する、
ことを特徴とするクラスタ監視方法。
【０１４８】
（付記１３）
クラスタを構成する第１及び第２ノードから各ノードの動作状態を取得し、
前記第２ノードが実行する処理を前記第２ノードに代わって実行するか否かの判定を行う際に前記第１ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第１ノードに通知し、前記第１ノードが実行する処理を前記第１ノードに代わって実行するか否かの判定を行う際に前記第２ノードが用いる情報として、取得した前記第１及び第２ノードの動作状態を示す状態情報を前記第２ノードに通知する、
処理をコンピュータに実行させることを特徴とするクラスタ監視プログラム。
【０１４９】
（付記１４）
付記１３において、
前記取得する処理及び前記通知する処理は、前記情報処理装置上に生成された仮想マシンによって行われ、さらに、
前記状態情報の通知が所定時間以上行われていない旨が前記第１ノードまたは前記第２ノードから通知された場合、新たな仮想マシンを生成し、
前記仮想マシンに代わって、前記取得する処理及び前記通知する処理を前記新たな仮想マシンに行わせる、
処理をコンピュータに実行させることを特徴とするクラスタ監視プログラム。
【符号の説明】
【０１５０】
１：情報処理装置          １ａ：仮想マシン
２：物理マシン            ３：物理マシン
５：操作端末              ＮＷ：ネットワーク
【図１】
2019153055.tif 000003
【図２】
2019153055.tif 000004
【図３】
2019153055.tif 000005
【図４】
2019153055.tif 000006
【図５】
2019153055.tif 000007
【図６】
2019153055.tif 000008
【図７】
2019153055.tif 000009
【図８】
2019153055.tif 000010
【図９】
2019153055.tif 000011
【図１０】
2019153055.tif 000012
【図１１】
2019153055.tif 000013
【図１２】
2019153055.tif 000014
【図１３】
2019153055.tif 000015
【図１４】
2019153055.tif 000016
【図１５】
2019153055.tif 000017
【図１６】
2019153055.tif 000018
【図１７】
2019153055.tif 000019
【図１８】
2019153055.tif 000020
【図１９】
2019153055.tif 000021
【図２０】
2019153055.tif 000022
【図２１】
2019153055.tif 000023