(57)【要約】【課題】一つまたは複数の仮想計算機が稼動するシステムにおいて、依存関係を持つ複数の仮想計算機を単純な操作で、予め決められた順位で停止する。【解決手段】計算機装置には、外部インタフェースから情報の登録および変更を可能とする停止順位情報格納部を設け、外部から任意の仮想計算機の停止の指示がある場合は、仮想計算機制御部が停止順位情報格納部を参照して、当該仮想計算機の停止に関連する全ての仮想計算機を適切な順での停止を仮想計算機停止処理部に指示し、仮想計算機停止処理部が仮想計算機制御部に指定された仮想計算機の停止処理を行う。【選択図】図１
2009037271.tif 000002
【特許請求の範囲】
【請求項１】
物理計算機上で稼動する１つ或いは複数の仮想計算機から構成される仮想計算機システムにおいて、仮想計算機の停止時に停止順位情報を参照し、停止順位の高い仮想計算機の停止処理が完了した後、次の停止順位の仮想計算機の停止処理を行う手順を踏んで、前記停止順位情報で指定された全ての仮想計算機を停止することを特徴とする仮想計算機システム停止方法。
【請求項２】
前記請求項１記載の停止順位情報は、複数の仮想計算機の集合を単位とした複数の集合単位間の順位で登録することを特徴とする請求項１記載の仮想計算機システム停止方法。
【請求項３】
前記、請求項１記載の仮想計算機システム停止方式、あるいは、請求項２記載の仮想計算機システム方式、あるいはその両方の方式で仮想計算機の停止を行うことを特徴とする計算機装置。
【発明の詳細な説明】
【技術分野】
【０００１】
一つの物理計算機を論理的に分割して複数の仮想計算機を稼動するシステムであって、前記仮想計算機間に、停止に一定の順序が要求されるシステムにおける各仮想計算機の停止方法および前記停止方法を実装する計算機装置に関するものである。
【背景技術】
【０００２】
計算機ごとに特定の機能を持たせ、各々の計算機同士が連携してひとつのシステムを構築する分散システムにおいては、複数の計算機が依存関係を持つことが多く、このような場合には、システム全体またはシステムにおける任意の計算機の正常な停止を行うためには、システム内の他の計算機も含めて適切な順番に従って停止を行う必要がある。
【０００３】
一方、昨今は一台の物理計算機上に複数の仮想計算機を稼動させる仮想化システムが台頭しており、前述の分散システムを、一台の物理計算機上の複数仮想計算機で構築するケースが出現してきた。この場合においても、物理計算機上で稼動する複数の仮想計算機間に依存関係が存在する場合は、その停止時に適切な順序で各仮想計算機を停止する必要がある。特に物理計算機本体の電源切断時のように、物理計算機そのものを停止する場合には、物理計算機上で稼動する全ての仮想計算機を適切な順序で停止する必要がある。
【０００４】
複数の電子計算機から構成されるシステムにおいて、電子計算機を停止する方法として特定の電子計算機の停止と連動して複数の電子計算機が予め決められた順序で停止する技術として、特定の電子計算機（以下マネージャ計算機と記す）が他の電子計算機(以下エージェント計算機と記す)を制御する方法が特許文献１で開示されている。
【０００５】
【特許文献１】特開2000-276261(P2000-276261A)号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この方法では、物理計算機と仮想計算機の区別をつけずに複数の計算機の制御を行えると言う点で優れているが、常にマネージャ計算機がエージェント計算機を制御するという方式のため、任意の計算機を停止する場合、オペレータはまず初めにマネージャ計算機がどれであるかを特定するために、システムに関する知識を習得しておく必要があった。さらにマネージャ計算機とエージェント計算機の両方に制御用のプログラムを格納する必要があり、例えばシステム内に新たに依存関係を持つ仮想計算機を追加するときには、マネージャ計算機とエージェント計算機の両方にプログラムの追加または修正が発生するため、多大な工数が必要となる。
【０００７】
また、マネージャ計算機とエージェント計算機はグループという単位で連動するため、必要不可欠な範囲の計算機のみを停止するためには、適切なグループ設定を行っておくことが必要であり、例えば仮想計算機上で稼動するプログラムの修正のために、一時的に任意の仮想計算機を停止する要求があった場合、当該仮想計算機をマネージャ計算機としてグループ設定する必要がある。さもなければ、当該仮想計算機を含むグループ全体が停止の単位となるため、本来、停止の必要のない計算機を停止するために余計な時間を費やすこととなる。
【０００８】
本発明は、依存関係を持った複数の仮想計算機システムにおいて、システム構築時に停止順位を決めておくことにより、のちにオペレータが任意の仮想計算機を停止するときに、当該仮想計算機をのみを指定するという単純な操作で、当該仮想計算機の停止の前提となる他の全ての計算機を予め決定した順序で停止し、複数仮想計算機の安全な停止を実現することを可能とするものである。
【０００９】
また、本発明の他の目的は、複数の仮想計算機を効率よく停止し、システム全体の停止時間を短縮することである。
【課題を解決するための手段】
【００１０】
計算機装置には、外部から情報の登録および変更を可能とする停止順位情報格納部を設け、各仮想計算機毎または任意の仮想計算機を纏めたグループ毎に、当該仮想計算機を停止するときに前もって停止が必要な全ての仮想計算機を順位とともに登録する。任意の仮想計算機の停止の指示がある場合は、仮想計算機制御部がこの停止順位情報格納部を参照して、当該仮想計算機の停止に関連する全ての仮想計算機の適切な順での停止を仮想計算機停止処理部に指示する。このとき、仮想計算機制御部は停止指示した仮想計算機の状態監視を仮想計算機状態監視部に指示し、先の順が指定された仮想計算機の停止処理が完了した後、次の順の仮想計算機の停止処理を行うという手順を踏んで、前記停止順位情報で指定された全ての仮想計算機を停止する。この方式によれば、オペレータは任意の仮想計算機を指定して停止の指示を行うという簡単な操作で、関連する全ての仮想計算機を予め決められた順序で安全に停止することが可能となる。また、仮想計算機の追加時においても、外部より前記停止順位情報格納部に必要な情報を追加することで、新たに制御の対象とすることが出来る。
【００１１】
停止順位情報格納部への情報登録時には、停止順位は複数の仮想計算機の集合を単位として決定し、同じタイミングで停止することが可能な仮想計算機は、同じ集合に含めて登録することを可能とする。仮想計算機制御部は、同一の集合に登録された仮想計算機は平行して停止処理を行うよう、仮想計算機停止処理部へ指示する。このようにして、全ての仮想計算機停止を効率よく実施することが可能となる。
【発明の効果】
【００１２】
上記のように構成された本発明の停止方法によれば、各仮想計算機を単純な操作によって、予め決めた順番で且つ効率的に仮想計算機を停止することが可能となる。
【発明を実施するための最良の形態】
【００１３】
図１は、本発明の実施例を含む構成図である。(100)は物理計算機であって、仮想計算機制御部(200)、停止順位情報(300)、仮想計算機停止処理部(400)、仮想計算機状態監視部(500)を含む。(600)は物理計算機(100)上で稼動する仮想計算機群である。ここでは、各仮想計算機を(600)、(601)、…(60n)とする。仮想計算機制御部(200)は、外部入力インタフェース(700)を通じて、停止順位情報格納部(300)に情報を格納することができる。また、外部入力インタフェース(700)から、任意の仮想計算機の停止指示を受け取ると、停止順位情報格納部(300)内の登録情報を参照し、その内容に基づいて仮想計算機停止処理部(400)に対して仮想計算機群(600)のうちいずれかの仮想計算機の停止を指示する。と同時に、仮想計算機監視部(500)に対して、当該仮想計算機の監視指示を行う。仮想計算機停止処理部(400)は、仮想計算機制御部(200)からの指示に従い、仮想計算機群(600)のうちいずれかの仮想計算機の停止処理を実施する。仮想計算機状態監視部(500)は、停止処理が実施された仮想計算機の状態を監視し、停止状態を検出すると仮想計算機制御部(200)に報告を行う。当該仮想計算機の停止報告を受けた仮想計算機制御部(200)は、停止順位情報格納部(300)の登録情報に基づき、次に停止する仮想計算機を特定し、再び仮想計算機停止処理部(400)にする仮想計算機の停止と、仮想計算機監視部(500)に対する当該仮想計算機の監視指示を行う。これを外部から停止指示された仮想計算機を停止するための全ての仮想計算機が停止するまで繰り返す。以下、図２、 図３、 図４を用いて、さらに詳細に述べる。
【００１４】
図２は、物理計算機上に構築された仮想計算機の依存関係の例を表したものである。この例では、１台の物理計算機(1700)の上で、7台の仮想計算機(700, 900, 1000, 1100, 1200, 1300, 1400)が稼動している。図中の線(1800)で接続された各仮想計算機(800, 900, 1000, 1100, 1200, 1300)間には依存関係があり、上方に位置する仮想計算機は、下方に位置する仮想計算機が稼動するための前提となっている。つまり、仮想計算機1(800)は仮想計算機2(900)および仮想計算機6(1300)の前提である。このとき、仮想計算機1(800)を停止する前に、仮想計算機2(900)および仮想計算機6(1300)の停止が必要であるが、仮想計算機2(900)はさらに別の仮想計算機3(1000)および仮想計算機4(1100)の前提となっているため、仮想計算機1(800)を停止するにはこれらの仮想計算機も前もって停止する必要がある。これに対し、仮想計算機7(1400)は、どの仮想計算機の前提にもなっていないため、依存関係を気にせず停止することが可能である。
【００１５】
ここで図３は停止順位情報格納部に格納する情報の例である。この例における対象仮想計算機列は外部からの停止指示を行うときに指定するキーワードであって、このキーワードごとに停止する仮想計算機の順序を停止順列に登録する。このとき、順序は停止順位という単位で登録し、同じタイミングで停止することが可能な仮想計算機は、同じ停止順位列内に登録する。１から７までの数字はそれぞれ、仮想計算機１から仮想計算機７を示す識別子である。ALLは物理計算機上の全ての仮想計算機の集合を示す。システム1 および システム2 は任意の仮想計算機のグループを示している。この例では、図２の破線(1500)で示した集合（GR. 1, 仮想計算機1(800)から仮想計算機6(1300)の集合）と、同じく破線(1600)で示した集合(Gr. 2, 仮想計算機7(1400)のみ)を定義している。これら停止順位情報格納部の全ての内容は、図１の(700)で示される外部入力インタフェースと仮想計算機制御部を経由して任意に登録することが出来る。
【００１６】
図４は、外部からの指示を受け付けた後の仮想計算機制御部の動作フローである。仮想計算機制御部は、仮想計算機を示す識別子かまたは集合名のキーワードとともに停止の指示を受け付けると、停止順位情報格納部の対象仮想装置列をサーチする(1900)。該当するエントリを発見したら、当該エントリの最初の集合（集合1）に登録されている全ての仮想計算機の情報を読み込む(2000)。次に、読み込んだ全ての仮想計算機の停止を仮想計算機停止処理部へ指示する(2100)。同時に、これら仮想計算機の状態監視を仮想計算機監視部へ指示し(2200)、仮想計算機停止処理部から全ての仮想計算機の停止報告がなされるまで待つ(2300), (2400)。読み込んだ全ての仮想計算機の停止報告がなされたら、再び停止順位情報格納部を参照し、現在読んでいる集合の次の集合に登録されている全ての仮想計算機の情報を読み込む（2500）。集合内に仮想計算機の情報が登録されていなくなるまで、(2100)からのステップを繰り返す(2600)。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例を含む構成図である。
【図２】物理計算機上に構築された仮想計算機の依存関係の例を示す図である。
【図３】停止順位情報格納部の例を示す図である。
【図４】外部からの指示を受け付けた後の仮想計算機制御部の動作フロー図である。
【符号の説明】
【００１８】
100…物理計算機、200…仮想計算機制御部、300…停止順位情報格納部、400…仮想計算機停止処理部、500…仮想計算機状態監視部、600…仮想計算機群、601 - 60n…仮想計算機、700…外部入力インタフェース。
【図１】
2009037271.tif 000003
【図２】
2009037271.tif 000004
【図３】
2009037271.tif 000005
【図４】
2009037271.tif 000006