(57)【要約】  仮想計算機システム１００ｂのゲスト計算機２ｂに障害が発生した際に、仮想計算機システム１００ａのゲスト計算機２ａの停止制御部５ａが、ホスト計算機１ｂの停止制御部４ｂにゲスト計算機２ｂの動作を停止するよう要求し、ゲスト計算機２ｂが正常に動作を停止しない場合に、停止制御部５ａは、ホスト計算機１ｂの動作を停止するようＢＭＣ８ｂに要求し、ＢＭＣ８ｂがホスト計算機１ｂを停止させて、障害が発生した計算機を停止させることができる。
2010079587.tif 000002
【特許請求の範囲】
【請求項１】
仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理する管理装置であって、
前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信するゲスト停止指示部と、
前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信するホスト停止指示部とを有することを特徴とする管理装置。
【請求項２】
前記管理装置は、
少なくともゲスト計算機が含まれ、前記ゲスト計算機を移動させる第１の仮想計算機システムと、
少なくともホスト計算機が含まれ、前記第１の仮想計算機システムの前記ゲスト計算機の移動先となる第２の仮想計算機システムとを管理し、
前記ゲスト停止指示部は、
前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであるか否かを判断し、前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであると判断した場合に、前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記第２の仮想計算機システムに対して送信し、
前記ホスト停止指示部は、
前記第２の仮想計算機システムにおいて前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記第２の仮想計算機システムにおいて前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記第２の仮想計算機システムに対して送信することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記ゲスト停止指示部は、
前記第１の仮想計算機システムに対して前記ゲスト停止指示を送信し、前記第１の仮想計算機システムから前記ゲスト計算機が存在しない旨の応答を受信した場合に、前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであると判断することを特徴とする請求項２に記載の管理装置。
【請求項４】
前記ゲスト停止指示部は、
前記第１の仮想計算機システムが前記ゲスト計算機を前記第２の仮想計算機システムに移動させる処理を開始した際に、前記第２の仮想計算機システムから、前記ゲスト計算機は前記第２の仮想計算機システムのゲスト計算機である旨の通知を受信し、
前記第１の仮想計算機システムが前記ゲスト計算機を前記第２の仮想計算機システムに移動させる処理を完了した際に、前記第１の仮想計算機システムから、前記ゲスト計算機は前記第１の仮想計算機システムのゲスト計算機でない旨の通知を受信し、
前記第２の仮想計算機システムからの通知を受信した後であって前記第１の仮想計算機システムからの通知を受信する前に、前記ゲスト計算機を停止させる場合に、前記第１の仮想計算機システムに対して前記ゲスト停止指示を送信することを特徴とする請求項３に記載の管理装置。
【請求項５】
前記ゲスト停止指示部は、
前記ゲスト計算機に障害が発生した際に、前記ゲスト停止指示を送信することを特徴とする請求項１に記載の管理装置。
【請求項６】
前記管理装置は、
ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）を備える仮想計算機システムのホスト計算機とゲスト計算機とを管理し、
前記ホスト停止指示部は、
前記仮想計算機システムの前記ＢＭＣに対して前記ホスト停止指示を送信して、前記ＢＭＣに前記ホスト計算機の動作の停止を指示することを特徴とする請求項１に記載の管理装置。
【請求項７】
前記管理装置は、
ホスト計算機と、前記ホスト計算機を利用して動作するゲスト計算機が含まれる仮想計算機システムであり、
前記ゲスト停止指示部及び前記ホスト停止指示部は、前記ゲスト計算機で動作していることを特徴とする請求項１に記載の管理装置。
【請求項８】
コンピュータが、仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理する管理方法であって、
前記コンピュータが、前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信し、
前記コンピュータが、前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信することを特徴とする管理方法。
【請求項９】
仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理するコンピュータに、
前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信するゲスト停止指示処理と、
前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信するホスト停止指示処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムを管理する技術に関し、特に、冗長構成をとる仮想計算機システムを管理する技術に関する。
【背景技術】
【０００２】
従来の冗長構成技術としては、例えば、以下に示すものがある。
（１）物理計算機システムの冗長構成において、一方の物理計算機がハートビート、あるいは相手系のサービスに接続して簡単な動作確認を行うことにより、相手系の状態を確認する。ハートビートが途絶えたり、サービスが応答しない場合は相手系の異常とみなし、予め固定的に設定された送付先に、相手系の停止あるいはリセット要求を送信し、前記一方の物理計算機が主系として動作する（例えば、特許文献１）。
（２）仮想計算機システムの冗長構成において、一方のゲスト計算機において、ハートビート等の動作確認により相手系ゲスト計算機の状態を確認し、異常が認められた場合はあらかじめ設定された相手系ホスト計算機に対してゲスト計算機の停止またはリセットを要求し、前記一方のゲスト計算機が主系となって動作する（例えば、特許文献２）。
【特許文献１】特開２００２−２５９１５５号公報
【特許文献２】特開平４−１４１７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の技術では、それぞれ、障害が発生した相手系の物理計算機又は仮想計算機を停止させることはできる。
しかし、例えば仮想計算機を停止させようとしたときにＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）モニターやハードウェアの障害でエラーが発生した場合は物理計算機を停止させる必要があるが、従来技術では、このような場合に、障害が発生した物理計算機を停止させることができないという課題がある。
また、異常が発生して物理計算機および仮想計算機を停止させる場合、停止要求を予め設定しておいた接続先に対して発行するが、仮想計算機を異なる物理計算機に移動した場合に停止要求の発行先を変更しないと、誤った物理計算機を停止させたり、また、停止させる必要がある仮想計算機を停止させることができないといった不具合が生じる。【０００４】
この発明は、上記のような課題に対応することを主な目的の一つとしており、仮想計算機を正常に停止できない場合に障害が発生している物理計算機を停止させることができる機構、また、仮想計算機の移動に対応させて仮想計算機又は物理計算機を適切に停止させることができる機構を実現することを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る管理装置は、
仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理する管理装置であって、
前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信するゲスト停止指示部と、
前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信するホスト停止指示部とを有することを特徴とする。【０００６】
前記管理装置は、
少なくともゲスト計算機が含まれ、前記ゲスト計算機を移動させる第１の仮想計算機システムと、
少なくともホスト計算機が含まれ、前記第１の仮想計算機システムの前記ゲスト計算機の移動先となる第２の仮想計算機システムとを管理し、
前記ゲスト停止指示部は、
前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであるか否かを判断し、前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであると判断した場合に、前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記第２の仮想計算機システムに対して送信し、
前記ホスト停止指示部は、
前記第２の仮想計算機システムにおいて前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記第２の仮想計算機システムにおいて前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記第２の仮想計算機システムに対して送信することを特徴とする。【０００７】
前記ゲスト停止指示部は、
前記第１の仮想計算機システムに対して前記ゲスト停止指示を送信し、前記第１の仮想計算機システムから前記ゲスト計算機が存在しない旨の応答を受信した場合に、前記ゲスト計算機が前記第１の仮想計算機システムから前記第２の仮想計算機システムに移動済みであると判断することを特徴とする。【０００８】
前記ゲスト停止指示部は、
前記第１の仮想計算機システムが前記ゲスト計算機を前記第２の仮想計算機システムに移動させる処理を開始した際に、前記第２の仮想計算機システムから、前記ゲスト計算機は前記第２の仮想計算機システムのゲスト計算機である旨の通知を受信し、
前記第１の仮想計算機システムが前記ゲスト計算機を前記第２の仮想計算機システムに移動させる処理を完了した際に、前記第１の仮想計算機システムから、前記ゲスト計算機は前記第１の仮想計算機システムのゲスト計算機でない旨の通知を受信し、
前記第２の仮想計算機システムからの通知を受信した後であって前記第１の仮想計算機システムからの通知を受信する前に、前記ゲスト計算機を停止させる場合に、前記第１の仮想計算機システムに対して前記ゲスト停止指示を送信することを特徴とする。【０００９】
前記ゲスト停止指示部は、
前記ゲスト計算機に障害が発生した際に、前記ゲスト停止指示を送信することを特徴とする。【００１０】
前記管理装置は、
ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）を備える仮想計算機システムのホスト計算機とゲスト計算機とを管理し、
前記ホスト停止指示部は、
前記仮想計算機システムの前記ＢＭＣに対して前記ホスト停止指示を送信して、前記ＢＭＣに前記ホスト計算機の動作の停止を指示することを特徴とする。【００１１】
前記管理装置は、
ホスト計算機と、前記ホスト計算機を利用して動作するゲスト計算機が含まれる仮想計算機システムであり、
前記ゲスト停止指示部及び前記ホスト停止指示部は、前記ゲスト計算機で動作していることを特徴とする。【００１２】
本発明に係る管理方法は、
コンピュータが、仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理する管理方法であって、
前記コンピュータが、前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信し、
前記コンピュータが、前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信することを特徴とする。【００１３】
本発明に係るプログラムは、
仮想計算機システムに含まれるホスト計算機と前記ホスト計算機を利用して動作するゲスト計算機とを管理するコンピュータに、
前記ゲスト計算機の動作を停止するよう指示するゲスト停止指示を前記仮想計算機システムに対して送信するゲスト停止指示処理と、
前記ゲスト計算機が正常に動作を停止したか否かを判断し、前記ゲスト計算機が正常に動作を停止していないと判断した場合に、前記ホスト計算機の動作を停止するよう指示するホスト停止指示を前記仮想計算機システムに対して送信するホスト停止指示処理とを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、仮想計算機たるゲスト計算機を正常に停止できない場合に、障害が発生している物理計算機たるホスト計算機を停止させることができる。
また、仮想計算機の移動に対応させて仮想計算機たるゲスト計算機又は物理計算機たるホスト計算機を適切に停止させることができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１は、本実施の形態に係る仮想計算機システムの冗長構成を示す。
図１では、仮想計算機システム１００ａと仮想計算機システム１００ｂがネットワークスイッチ９ａ、９ｂを介して接続されている。
以下では、仮想計算機システム１００ａの構成を説明する。
仮想計算機システム１００ｂは仮想計算機システム１００ａと同じ構成であり、１ｂ〜１０ｂで示される要素は、１ａ〜１０ａで示される要素の各々に対応する冗長化した構成要素である。【００１６】
仮想計算機システム１００ａでは、ホスト計算機１ａ上で、ゲスト計算機２ａ、３ａが動作する。
ホスト計算機１ａは物理計算機であり、ゲスト計算機２ａ、３ａはホスト計算機１ａのリソースを利用して動作する仮想計算機である。
ホスト計算機１ａおよびゲスト計算機２ａ、３ａでは、他系である仮想計算機システム１００ｂを停止させる停止制御部４ａ、５ａ、６ａが動作する。
ホスト計算機１ａは、ネットワークインタフェースカード（以下ＮＩＣと記す）７ａを備え、ネットワークスイッチ９ａと接続し、他の計算機と通信を行う。
ネットワークスイッチ９ａには、ルータ１０ａなど他のネットワーク機器が接続されている。
ホスト計算機１ａは、Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ（以下ＢＭＣと記す）８ａを備えている。ＢＭＣ８ａは、他の計算機がネットワークを経由してホスト計算機１ａを起動、停止、再起動を行うことを可能とする。
なお、仮想計算機システム１００ａは、仮想計算機システム１００ｂの管理装置となり、仮想計算機システム１００ｂは、仮想計算機システム１００ａの管理装置となる関係にある。
つまり、仮想計算機システム１００ａは、仮想計算機システム１００ｂの異常を検知した場合等に、仮想計算機システム１００ｂのゲスト計算機２ｂ、３ｂの動作の停止を指示し、また、ゲスト計算機２ｂ、３ｂが正常に動作を停止しない場合は、ＢＭＣ８ｂにホスト計算機１ｂの動作の停止を指示する。
また、仮想計算機システム１００ｂは、仮想計算機システム１００ａの異常を検知した場合等に、仮想計算機システム１００ａのゲスト計算機２ａ、３ａの動作の停止を指示し、また、ゲスト計算機２ａ、３ａが正常に動作を停止しない場合は、ＢＭＣ８ａにホスト計算機１ａの動作の停止を指示する。【００１７】
図２は、ゲスト計算機上の停止制御部の内部構成を示すもので、ゲスト計算機上の停止制御部２０１は図１の停止制御部５ａ、６ａ、５ｂ、６ｂ、に該当する。
ゲスト計算機上の停止制御部２０１は、他系計算機の停止処理を行う停止処理部２０２、設定管理処理部２０３を備え、また、他系ゲスト計算機名２０４、他系ホスト計算機のＩＰアドレス２０５、他系ホスト計算機のＢＭＣのＩＰアドレス２０６、ゲスト計算機を異なるホスト計算機に移動する場合に用いられる他系移動先ホスト計算機のＩＰアドレス２０７とＢＭＣのＩＰアドレス２０８を保持する。
他系ゲスト計算機名２０４は予め人手により設定されているものとする。【００１８】
停止処理部２０２は、他系のゲスト計算機の停止を指示する停止要求（ゲスト停止指示）を他系の仮想計算機システムに送信し、また、他系のゲスト計算機が正常に動作を停止しない場合に、他系のホスト計算機の動作の停止を指示する停止要求（ホスト停止指示）を他系の仮想計算機システムに送信する。停止処理部２０２は、ゲスト停止指示部及びホスト停止指示部の例である。
他系ゲスト計算機名２０４、他系ホスト計算機のＩＰアドレス２０５、他系ＢＭＣのＩＰアドレス２０６、他系移動先ホスト計算機のＩＰアドレス２０７と他系移動先ＢＭＣのＩＰアドレス２０８は、ホスト計算機の記憶装置の所定の情報記憶領域２０９に格納されている。
また、他系移動先ホスト計算機のＩＰアドレス２０７と他系移動先ＢＭＣのＩＰアドレス２０８は、本実施の形態では説明せず、実施の形態２において説明する。【００１９】
図３は、ホスト計算機上の停止制御部の内部構成を示すもので、ホスト計算機上の停止制御部３０１は図１の停止制御部４ａ、４ｂに該当する。
ホスト計算機上の停止制御部３０１は、ゲスト計算機停止処理部３０２、ホスト計算機通知処理部３０３を備え、また、ホスト計算機ＩＰアドレス３０４、自ホスト計算機に装備しているＢＭＣのＩＰアドレス３０５、自ホスト計算機上で動作しているゲスト計算機名のリスト３０６を保持する。
ホスト計算機ＩＰアドレス３０４、ＢＭＣのＩＰアドレス３０５は予め人手により設定されているものとする。
ホスト計算機ＩＰアドレス３０４、ＢＭＣのＩＰアドレス３０５、ゲスト計算機名のリスト３０６は、ホスト計算機の記憶装置の所定の情報記憶領域３０７に格納されている。【００２０】
図４はホスト計算機通知処理部３０３の処理内容、図５は設定管理処理部２０３の処理内容、図６は停止処理部２０２の処理内容、図７はゲスト計算機停止処理部３０２の処理内容である。【００２１】
次に、動作について説明する。
初めに、ホスト計算機およびゲスト計算機の起動時の動作を図４及び図５を参照して説明する。【００２２】
ホスト計算機１ａを起動させ、ホスト計算機１ａの起動が完了すると、ホスト計算機１ａがゲスト計算機２ａ、３ａを起動する。
ホスト計算機１ａの停止制御部４ａでは、ホスト計算機通知処理部３０３が、起動したゲスト計算機名のリストをＶＭモニターから取り出しゲスト計算機名リスト３０６に格納する（Ｓ４０１）。
次に、ホスト計算機通知処理部３０３が、ホスト計算機ＩＰアドレス３０４、ＢＭＣのＩＰアドレス３０５、起動したゲスト計算機名リスト３０６をマルチキャストする（Ｓ４０２）。
このマルチキャストは、定期的に繰り返し行う（Ｓ４０３）。
ホスト計算機１ｂにおいても同様の処理を行う。【００２３】
次に、仮想計算機システム１００ｂのゲスト計算機２ｂ、３ｂ上の停止制御部５ｂ、６ｂの設定管理処理部２０３は、仮想計算機システム１００ｂのホスト計算機１ａの停止制御部４ａからの定期的なマルチキャストが送られてくると（Ｓ５０１）、送信されてきたゲスト計算機名の一覧の中に他系ゲスト計算機名２０４と一致するものが存在するか確認する（Ｓ５０２、Ｓ５０３）。
もし存在する場合は、設定管理処理部２０３は、送信された通知に含まれるホスト計算機ＩＰアドレスとＢＭＣのＩＰアドレスを他系ホスト計算機ＩＰアドレス２０５および他系ＢＭＣのＩＰアドレス２０６に格納する（Ｓ５０４）。【００２４】
次に、障害が発生したときの動作を図６及び図７を参照して説明する。
ゲスト計算機間のハートビートが途絶えるなどの異常を検出したら、異常が発生した系を停止するために、ゲスト計算機上の停止処理部２０２は以下の処理を行う。
例えば、仮想計算機システム１００ｂのゲスト計算機２ｂに異常が発生し、仮想計算機システム１００ａのゲスト計算機２ａの停止制御部５ａがゲスト計算機２ｂの停止を行うと仮定する。【００２５】
停止制御部５ａの停止処理部２０２は、他系ホスト計算機ＩＰアドレス２０５を用いて仮想計算機システム１００ｂのホスト計算機１ｂの停止制御部４ｂに接続し（Ｓ６０１）、他系ゲスト計算機名２０４とともに他系ゲスト計算機２ｂの停止要求（ゲスト停止指示）を停止制御部４ｂに送付する（Ｓ６０２）。【００２６】
停止制御部４ｂのゲスト計算機停止処理部３０２は、停止要求の受信を待ち（Ｓ７０１）、停止要求を受け取ったら（Ｓ７０２）、ＶＭモニターに対してゲスト計算機２ｂのゲスト計算機名を渡しゲスト計算機２ｂの停止要求を行う（Ｓ７０３）。
そして、ゲスト計算機２ｂが正常に停止した場合（Ｓ７０４で「正常終了」）は、停止制御部４ｂのゲスト計算機停止処理部３０２は停止制御部５ａに完了通知を送付する（Ｓ７０５）。
もしゲスト計算機２ｂを停止できなかった場合又は停止できたが正常に停止できなかった場合（Ｓ７０４で「エラーまたは応答無し」）は、異常終了の応答が送付される（Ｓ７０６）。【００２７】
仮想計算機システム１００ａのゲスト計算機２ａの停止制御部５ａでは、停止処理部２０２が、仮想計算機システム１００ｂのホスト計算機１ｂの停止制御部４ｂからの応答を受け取り（Ｓ６０３）、応答が完了通知である場合（Ｓ６０４で「正常終了」）は、処理を終了する。
一方、停止制御部４ｂからの応答が異常終了応答又は応答がない場合（Ｓ６０４で「エラーまたは応答無し」）は、停止制御部５ａの停止処理部２０２は、他系ＢＭＣのＩＰアドレス２０６を参照し、相手系のＢＭＣ８ｂに対してホスト計算機１ｂの停止要求（ホスト停止指示）を送付する（Ｓ６０５）。
停止要求を受信したＢＭＣ８ｂは、ホスト計算機１ｂを停止させる。
これにより、異常が発生した系を停止することができる。【００２８】
このように、本実施の形態では、ＶＭモニターやハードウェアの障害等により仮想計算機を正常に停止できない場合に、障害が発生している物理計算機を停止させることができる。【００２９】
以上、本実施の形態では、以下のホスト計算機上の停止制御部、ゲスト計算機上の停止制御部を持つ、主系ゲスト計算機と待機系ゲスト計算機からなる仮想計算機の冗長構成における異常系の停止方式を説明した。
（Ａ）前記ホスト計算機上の停止制御部は、実行中の仮想計算機名、ゲスト計算機の停止要求の送付先、ホスト計算機の停止要求の送付先を前記ゲスト計算機の停止制御部に通知する。
（Ｂ）前記ゲスト計算機上の停止制御部は、以下の設定管理処理部、停止処理部を持つ。
前記設定管理処理部は前記ホスト計算機上の停止制御部から通知されたゲスト計算機名が自系の冗長系となるゲスト計算機名であれば、通知されたゲスト計算機の停止要求の送付先とホスト計算機の停止要求の送付先を保存する。
前記停止処理部は、他系ゲスト計算機を停止するときに前記設定管理処理部が保存したゲスト計算機の停止要求の送付先を用いてゲスト計算機の停止要求を送付する。
前記停止処理部は、前記ゲスト計算機の停止処理が失敗したときに、前記設定管理処理部が保存したホスト計算機の停止要求の送付先にホスト計算機の停止要求を送付する。【００３０】
実施の形態２．
図１１は、本実施の形態に係る仮想計算機システムの冗長構成を示す。
本実施の形態では、図１の構成と比較して、仮想計算機システム１００ｃが追加されている。
本実施の形態では、仮想計算機システム１００ｂのゲスト計算機２ｂを仮想計算機システム１００ｃに移動する例を説明する。
仮想計算機システム１００ｃにおいて、ホスト計算機１ｃは、ホスト計算機１ａ及びホスト計算機１ｂと同様の物理計算機である。
ゲスト計算機２ｃは、仮想計算機システム１００ｂから仮想計算機システム１００ｃに移動した後のゲスト計算機２ｂである。ゲスト計算機２ｃは、移動後は、ホスト計算機１ｃのリソースを利用して動作する。
また、４ｃは、ホスト計算機１ｃが備える停止制御部である。
５ｃは、ゲスト計算機２ｃが備える停止制御部である。
７ｃは、ホスト計算機１ｃが備えるＮＩＣである。
８ｃは、ホスト計算機１ｃが備えるＢＭＣである。
また、停止制御部４ｃは図３に示す構成を有し、停止制御部５ｃは図２に示す構成を有する。
また、ゲスト計算機の移動元である仮想計算機システム１００ｂは第１の仮想計算機システムに相当し、ゲスト計算機の移動先である仮想計算機システム１００ｃは第２の仮想計算機システムに相当する。【００３１】
次に、仮想計算機モニターの機能を利用して、ゲスト計算機２ｂをホスト計算機１ｂからホスト計算機１ｃに移動させ、ゲスト計算機２ｃとする場合の動作を説明する。
最近の仮想計算機モニターは、ゲスト計算機を異なるホスト計算機で起動しなおす、あるいは実行中のゲスト計算機を他のホスト計算機上に移動することが可能である。
ゲスト計算機を異なるホスト計算機に移動する場合に、本実施の形態に係る異常系停止処理を以下に記す。【００３２】
図８は、ゲスト計算機の移動に対応した設定管理処理部２０３の処理内容、図９はゲスト計算機の移動に対応した停止処理部２０２の処理内容、図１０はゲスト計算機の移動に対応したゲスト計算機停止処理部３０２の処理内容を示す。
なお、以下では、実施の形態１と異なる動作について説明し、実施の形態１で説明している動作は説明を省略する。【００３３】
ホスト計算機１ｂにおいて、ゲスト計算機２ｂをホスト計算機１ｃに移動するようＶＭモニターに要求を出す。ゲスト計算機２ｂの移動は、例えば、仮想計算機のオンライン・マイグレーションにより行われる。
ゲスト計算機２ｂがゲスト計算機２ｃになる過程では、ホスト計算機１ｂとホスト計算機１ｃの両方にゲスト計算機が存在するが、一方のみが動作している。
そのため、停止制御部４ｃのゲスト計算機名リスト３０６にゲスト計算機２ｃのゲスト計算機名が加えられる。
このゲスト計算機名は、ゲスト計算機２ｂのものと同一である。
したがって停止制御部４ｂがマルチキャストするゲスト計算機名リストと、停止制御部４ｃがマルチキャストするゲスト計算機名リストの両方に同一のゲスト計算機名が現れる。
ゲスト計算機２ｂの冗長系であるゲスト計算機２ａの停止制御部５ａの設定管理処理部２０３は、停止制御部４ｃからのゲスト計算機名リストに他系ゲスト計算機名２０４と同じものがあり、他系ホスト計算機ＩＰアドレス２０５と異なるホスト計算機から送られてきたものだと判断すると（Ｓ８０４でＹＥＳ）、送付されたホスト計算機のＩＰアドレスを他系移動先ホスト計算機ＩＰアドレス２０７に、ＢＭＣのＩＰを他系移動先ＢＭＣのＩＰアドレス２０８に格納する（Ｓ８０６）。【００３４】
そして、ゲスト計算機２ｂがホスト計算機１ｃへの移動を完了して、ゲスト計算機２ｃになると、停止制御部４ｂのゲスト計算機リスト３０６からゲスト計算機２ｂのゲスト計算機名は削除される。
停止制御部４ｂからマルチキャストされる通知の中にゲスト計算機２ｂのゲスト計算機名がなくなったならば（Ｓ８０３、Ｓ８０７）、停止制御部４ａの設定管理処理部２０３は、他系ホスト計算機ＩＰアドレス２０５と他系ＢＭＣのＩＰアドレス２０６を、他系移動先ホスト計算機ＩＰアドレス２０７と他系移動先ＢＭＣのＩＰアドレス２０８の値に置き換え、他系移動先ホスト計算機ＩＰアドレス２０７と他系移動先ＢＭＣのＩＰアドレス２０８の内容を消去する（Ｓ８０８）。【００３５】
もし、ゲスト計算機２ｂをゲスト計算機２ｃに移動中の際に、ゲスト計算機２ｂまたはゲスト計算機２ｃに障害が発生したことをゲスト計算機２ａが検出した場合の動作は次のようになる。【００３６】
停止制御部５ａの停止処理部２０２は、初めにゲスト計算機２ｂを停止させることを試み、他系ホスト計算機ＩＰアドレス２０５と他系ゲスト計算機名２０４を参照して、ホスト計算機１ｂの停止制御部４ｂにゲスト計算機２ｂの停止要求を送付する（Ｓ９０１、Ｓ９０２）。
もしゲスト計算機２ｂの移動が完了する前であればゲスト計算機２ｂは停止され、停止制御部５ａに完了通知が返される（Ｓ１００５）。
もし、ゲスト計算機２ｂがゲスト計算機２ｃに移動した後であれば、ホスト計算機１ｂの停止制御部４ｂは、停止制御部５ａにゲスト計算機２ｂが存在しないというエラー応答を返す（Ｓ１００７）。
この場合、停止制御部５ａの停止処理部２０２は、エラー応答を受信することで、ゲスト計算機２ｂがホスト計算機１ｃに移動済であると判断し、他系移動先ホスト計算機ＩＰアドレス２０７を参照し、ホスト計算機１ｃの停止制御部４ｃにゲスト計算機２ｃの停止要求を送付する（Ｓ９０６、Ｓ９０７）。
この停止要求に対してゲスト計算機２ｃが正常に停止されたら停止制御部５ａに完了通知が返される。この場合は、停止制御部５ａは処理を終了する（Ｓ９０９で「正常終了」）。
もし、ゲスト計算機２ｃが正常に動作を終了していない場合は、停止制御部５ａはエラー応答を受信するか、応答を受信しない状態となり（Ｓ９０９で「エラーまたは応答無し」）、停止制御部５ａの停止処理部２０２は、他系移動先ＢＭＣのＩＰアドレス２０８を参照し、ＢＭＣ８ｃにホスト計算機１ｃの停止要求を送付する（Ｓ９１０）。
停止要求を受信したＢＭＣ８ｃは、ホスト計算機１ｃを停止させる。
これにより、異常が発生した系を停止することができる。【００３７】
このように、本実施の形態では、仮想計算機の移動に対応させて仮想計算機又は物理計算機を停止させることができるので、誤った物理計算機を停止させたり、また、停止させる必要がある仮想計算機を停止させることができないといった事態を回避することができる。【００３８】
以上、本実施の形態では、仮想計算機の冗長構成における異常系の停止方式において、ゲスト計算機を他のホスト計算機に移動させるとき、ホスト計算機上の停止制御部、ゲスト計算機上の停止制御部は以下の処理を行うことを説明した。
（Ａ）前記ホスト計算機上の停止制御部は、ゲスト計算機移動後のゲスト計算機の停止要求の送付先、ゲスト計算機移動後のホスト計算機の停止要求の送付先を通知する。
（Ｂ）前記ゲスト計算機上の停止制御部の設定管理処理部は、ホスト計算機上の停止制御部から通知されたゲスト計算機名が自系の冗長系となるゲスト計算機名であれば、ゲスト計算機移動後のゲスト計算機の停止要求の送付先、ゲスト計算機移動後のホスト計算機の停止要求の送付先を保存する。
（Ｃ）前記ゲスト計算機上の停止処理部は、他系ゲスト計算機を停止するときに、ゲスト計算機の停止要求を送付した結果、その他系ゲスト計算機が既にそのホスト計算機に存在しなければ、前記ゲスト計算機移動後のゲスト計算機の停止要求の送付先を用いてゲスト計算機の停止要求を送付する。
（Ｄ）前記他系ゲスト計算機上の停止処理部は、他系ゲスト計算機の停止処理部がゲスト計算機移動後のゲスト計算機停止処理に失敗したときに、前記設定管理処理部が保存したゲスト計算機移動後のホスト計算機の停止要求の送付先にホスト計算機の停止要求を送付する。【００３９】
最後に、実施の形態１及び２に示した仮想計算機システム１００のハードウェア構成例について説明する。
図１２は、実施の形態１及び２に示す仮想計算機システム１００のハードウェア資源の一例を示す図である。
なお、図１２の構成は、あくまでも仮想計算機システム１００のハードウェア構成の一例を示すものであり、仮想計算機システム１００のハードウェア構成は図１２に記載の構成に限らず、他の構成であってもよい。【００４０】
図１２において、仮想計算機システム１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０、ＢＭＣ９０７と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。【００４１】
通信ボード９１５は、ネットワークに接続される。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続される。【００４２】
磁気ディスク装置９２０には、仮想マシンモニタ９２１、ホストＯＳ９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１、仮想マシンモニタ９２１、ホストＯＳ９２２により実行される。
また、仮想マシンモニタ９２１自身がホストＯＳ９２２の機能を含む場合や、ホストＯＳ９２２内に仮想マシンモニタ９２１が存在する場合もある。【００４３】
ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
仮想計算機システム１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムにより仮想マシンモニタ９２１、ホストＯＳ９２２が起動される。【００４４】
プログラム群９２３には、実施の形態１及び２に示される停止制御部４、５、６の内部要素を実現するプログラムが含まれる。
また、ファイル群９２４には、実施の形態１及び２に示される情報記憶領域２０９、３０７内のＩＰアドレス等が含まれる。【００４５】
更に、ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００４６】
また、実施の形態１及び２の説明において「〜部」として説明しているものは「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。【００４７】
このように、実施の形態１及び２に示す仮想計算機システム１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４８】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るゲスト計算機の停止制御部の構成例を示す図。
【図３】実施の形態１に係るホスト計算機の停止制御部の構成例を示す図。
【図４】実施の形態１に係るホスト計算機の停止制御部の動作例を示すフローチャート図。
【図５】実施の形態１に係るゲスト計算機の停止制御部の動作例を示すフローチャート図。
【図６】実施の形態１に係るゲスト計算機の停止制御部の動作例を示すフローチャート図。
【図７】実施の形態１に係るホスト計算機の停止制御部の動作例を示すフローチャート図。
【図８】実施の形態２に係るゲスト計算機の停止制御部の動作例を示すフローチャート図。
【図９】実施の形態２に係るゲスト計算機の停止制御部の動作例を示すフローチャート図。
【図１０】実施の形態２に係るホスト計算機の停止制御部の動作例を示すフローチャート図。
【図１１】実施の形態２に係るシステム構成例を示す図。
【図１２】実施の形態１及び２に係る仮想計算機システムのハードウェア構成例を示す図。
【符号の説明】
【００４９】
１  ホスト計算機、２  ゲスト計算機、３  ゲスト計算機、４  停止制御部、５  停止制御部、６  停止制御部、７  ＮＩＣ、８  ＢＭＣ、９  ネットワークスイッチ、１０  ルータ、１００  仮想計算機システム、２０１  停止制御部、２０２  停止処理部、２０３  設定管理処理部、３０１  停止制御部、３０２  ゲスト計算機停止処理部、３０３  ホスト計算機通知処理部。
【図１】
2010079587.tif 000003
【図２】
2010079587.tif 000004
【図３】
2010079587.tif 000005
【図４】
2010079587.tif 000006
【図５】
2010079587.tif 000007
【図６】
2010079587.tif 000008
【図７】
2010079587.tif 000009
【図８】
2010079587.tif 000010
【図９】
2010079587.tif 000011
【図１０】
2010079587.tif 000012
【図１１】
2010079587.tif 000013
【図１２】
2010079587.tif 000014
【国際調査報告】
2010079587.tif 000015
2010079587.tif 000016
2010079587.tif 000017
2010079587.tif 000018