JP3653159B2 - 仮想計算機システム間の仮想計算機移動制御方法 - Google Patents
仮想計算機システム間の仮想計算機移動制御方法 Download PDFInfo
- Publication number
- JP3653159B2 JP3653159B2 JP08261397A JP8261397A JP3653159B2 JP 3653159 B2 JP3653159 B2 JP 3653159B2 JP 08261397 A JP08261397 A JP 08261397A JP 8261397 A JP8261397 A JP 8261397A JP 3653159 B2 JP3653159 B2 JP 3653159B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- virtual
- control program
- real
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、複数の実計算機で構成される疎結合マルチプロセッサシステムの仮想計算機システムに係り、特に、ある実計算機上の仮想計算機システム上で稼働中のオペレーティングシステム(仮想計算機)を、他の実計算機上の仮想計算機システムへ移動する制御方法に関する。
【0002】
【従来の技術】
従来、図1に示すように、磁気ディスク装置131や磁気テープ装置132などの計算機資源13を複数の実計算機10,11で共用し、実計算機10,11間が情報伝達手段12で接続されている疎結合マルチプロセッサシステム(LCMP:Loosely Coupled Multiprocessor)で、各々の実計算機10,11上で仮想計算機システムが動作するような仮想計算機システム構成において、仮想計算機システム間で仮想計算機制御プログラム(VMCP:Virtual Machine Control Program)101,112の制御下で情報伝達手段12を通じて、他の実計算機内の仮想計算機システムに接続されたコンソール14や、スプールファイル15などへの入出力を行うことは実現されている。しかし、例えば仮想計算機システム10(実計算機10)上に仮想計算機(VM:Virtual Machine)102,103などを一旦生成すると、そのVMは生成した仮想計算機システム内で固定され、すなわち、VM102,103が実計算機10に固定され、他の仮想計算機システム(実計算機11)の例えばVM113へ移動することができなかった。このため、稼働や運用上、次のような制約があった。
【0003】
(1) 稼働VM数の増加や、VM上のオペレーティングシステム(OS)での主記憶装置、拡張記憶装置、命令プロセッサ(IP)、または入出力チャネルなどの計算機資源の使用率増加により、LCMP内の特定の実計算機に負荷が集中してVM上のOSが十分なサービスを受けられない状態で、他の実計算機では計算機資源の使用率が低い場合でも、VMが実計算機に固定されているため、計算機資源の使用率が低い他の実計算機資源を利用することはできない。
【0004】
(2) 実計算機ハードウェアの保守等を目的として、ある実計算機を計画停止させる場合も、VMが実計算機に固定されているため、停止させる実計算機のVM上のOSの運用も停止しなければならない。
【0005】
(3) 上記(1)、(2)の何れの場合も、他の実計算機の計算機資源を利用するには、OSの運用を一旦停止して、他の実計算機にVMを生成してOSを再起動しなければならない。
【0006】
【発明が解決しようとする課題】
従来技術では、一度生成したVMを、OS稼働中に他の実計算機で動作する仮想計算機システム上のVMに移動することはできなかった。VM上のOSが動作中に、他の実計算機で動作する仮想計算機システム上のVMに移動してOSの動作を継続するためには、以下の課題がある。
【0007】
(1) 第1の課題は、移動元のVM構成と移動先のVM構成に関するものである。OSでは、OSの起動時にハードウェア構成を認識して、その構成情報を主記憶内に取り込み、管理している。そのため、VMの実計算機間移動により、例えば図1でVM103をVM113に移動させる場合、移動元VM103と移動先VM113において、VMの主記憶サイズ、VMの拡張記憶サイズ、IP台数、及び入出力構成に違いがあると、移動元OS105が主記憶内に管理していたVM上のハードウェア構成と、移動先OS115のVMハードウエア構成に違いが生じ、OS115の動作が保証されない問題がある。移動元VM103に割り当てられていたLCMP内で共用している実計算機資源13についても、移動先VM113において同一のものを割り当てる必要がある。
【0008】
特に入出力構成に関しては、所謂拡張チャネルシステム(Extended ChannelSystem:ECS)の場合、チャネルと入出力装置(デバイス)との接続状態に関係なく、デバイスと1対1にサブチャネルが割り当てられており、プログラムは、デバイスに対応するサブチャネル番号と、図3に示すような動作要求ブロック(ORB)30を指定して入出力起動命令(Start Subchannel:SSCH)を発行する。つまり、移動元VM103に割り当てられていたLCMP内で共用している実計算機資源13である入出力装置131、132について、移動先VM113においても同一のものを割り当てられているだけでなく、入出力装置に対応するサブチャネルの並びも同一でなければならない。また、プログラムからは、サブチャネル情報読み出し命令(Store Subchannel:STSCH)で、図3に示すような各サブチャネルのパス管理制御語(PMCW)31とサブチャネル状態語(SCSW)32を読み出すことができ、パス管理制御語31には、そのサブチャネルが使用する入出力装置までの入出力経路情報として、パス設定マスク(PIM)、パス使用可能マスク(PAM)、とチャネルの物理的なアドレスを示すCHPID0〜CHPID7などが格納される。それら入出力経路情報も移動元VM103と移動先VM113で同一でなければならない。
【0009】
(2) 第2の課題は、VM停止・再開始に関するものである。OSが動作している間は、主記憶装置に代表される仮想資源を更新する可能性があり、OSを動作させた状態のまま、他の計算機にその情報を移動することはできない。すなわち、VMを移動させるためには一時的にVMの動作を停止して、転送後にVMを再開始する必要がある。VMのプロセッサ資源、すなわち仮想命令プロセッサの停止・再起動は、当該VMへの実命令プロセッサの割り当てを制御することで行うことができるが、命令プロセッサ動作とは非同期に動作している入出力動作にも主記憶を更新する可能性があり、その動作を停止する必要がある。しかし、実行中の非同期動作を強制的に停止すれば、その再起動は困難であり、どのように非同期動作を停止・再起動させるかが問題であった。
【0010】
本発明の第1の目的は、複数の実計算機上の仮想計算機システム間において、あるVM上で動作しているOSを他の実計算機のVMへの移動を可能として、実計算機間での計算機資源の有効利用を可能にすることである。本発明の第2の目的は、VMの実計算機間の移動によりシステム運用の柔軟性を向上させることである。
【0011】
【課題を解決するための手段】
上記の課題を解決するために、本発明では、各仮想計算機システムで実計算機資源に論理名称を付加する手段を設けて、各実計算機間で共用する計算機資源については、各仮想計算機システムで同一の論理名称を付与する。計算機資源に付与された論理名称は、各仮想計算機システム制御プログラム(VMCP)内で管理する。移動元の仮想計算機システムには、移動するVMのVM構成情報として、その仮想資源構成情報と対応する実資源の論理名称を移動先の仮想計算機システムに転送する手段を設け、移動先の仮想計算機システムには、受信した論理名称にもとづき、移動元VMと同一VM構成の生成可否を判断し、同一VM構成を生成する手段を設ける。さらに、移動元の仮想計算機システムには、移動するVMに割り当てた仮想資源の情報を読み出し送信する手段を設け、移動先の仮想計算機システムには、受信した仮想資源情報を当該VMに格納し、VM動作を再開始する手段を設ける。これにより、ある計算機上のVMを他の計算機上に移動することが可能になる。
【0012】
また、移動元の仮想計算機システムでは、仮想命令プロセッサと非同期に動作する非同期動作状態をVMCP内に管理し、非同期動作状態を判断することでVM転送開始可否を判断する手段を提供する。さらに、移動元の仮想計算機システムでは、OSの発行する新たな非同期動作要求を保留して、これを非同期動作要求情報として転送する手段を設け、移動先の仮想計算機システムでは、該非同期動作要求情報を受信することで、保留された非同期動作要求の動作を再開始する手段を設ける。これにより、OSで非同期動作要求を停止することなく他の計算機上に移動して動作させることが可能になる。
【0013】
【発明の実施の形態】
以下、本発明の一実施例を図2乃至図12により説明する。なお、ここでは、命令プロセッサ、主記憶装置、拡張記憶装置及び入出力装置などを、対象とする仮想資源としている。また、拡張チャネルシステム(ECS)による入出力動作を、対象とする非同期動作としている。
【0014】
図2は本発明の一実施例の仮想計算機システムを示すブロック図である。仮想計算機システム20,22の稼働に先立ち、仮想計算機システムのシステムゼネレーションで、ゼネレーション情報24,25に仮想計算機(VM)で使用する実計算機資源の構成定義242,252、及び各計算機資源に対応させた論理名称241,251を指定する。このとき実計算機間で共用する装置については、各仮想計算機システム20,22で同一の論理名称を指定する。この論理名称241,251により、各仮想計算機システム間20、22で共有している資源を認識可能にする。この論理名称と実計算機構成定義情報(241と242,251と252)は仮想計算機システム20,22が格納されている記憶媒体(システムボリーム)上に格納され、仮想計算機システム20,22の動作開始時に各VMCP内の実資源管理テーブル201,221の論理名称情報2012,2212に読み込まれ、管理される。
【0015】
VM203,206やVM226の生成(ログオン)処理では、仮想資源管理テーブル202,222にVM構成情報2021,2221を生成して、あらかじめVMに対して定義されたVMディレクトリ情報に従い、仮想資源を占有または共有させることにより各VM203,206,226へ割り当てる。このVMへの割り当て状態は、仮想資源管理テーブル202,222のVM割り当て情報2022、2222及び実資源管理テーブル201、221の割り当て情報2011,2211で管理される。
【0016】
先に述べたように、ECSでは、入出力装置(デバイス)を1対1に対応するサブチャネルで扱い、計算機システム内でサブチャネル番号は0から昇順に割り当てられている。そのため、仮想計算機システムにおいても実サブチャネルの仮想化を行い、入出力装置の割り当て毎にサブチャネル番号0から順次割り当てている。仮想入出力装置の割り当て情報は、仮想資源管理テーブル202,222内に、図4の仮想サブチャネル管理テーブル40に示す構成で、各仮想サブチャネルの情報を格納、管理している。図4において、仮想入出力装置のVMへの割り当て時、図3のパス管理制御語(PMCW)に相当する仮想PMCW情報4011の入出力パス情報(PIM,PAM,CHPID0〜CHPID7)には、対応する実サブチャネル情報を格納する。STSCH命令シミュレーションでは、仮想PMCW4011に格納されている内容をVM主記憶に格納することで行う。なお、図2中の非同期動作管理テーブル207,227は、便宜上、仮想資源管理テーブル202,222内の仮想サブチャネルテーブル40における非同期動作状態フラグ4012と非同期動作保留フラグ4014のみを抽出して示したものである。
【0017】
図5は、本発明の一実施例のVM移動制御を示す全体的フローチャートである。以下、図2に示す仮想計算機システム20のVM203上のOS204を、他の仮想計算機システム20のVM223上にOS224として移動する場合を例にして説明する。
【0018】
〈移動VM構成の通知〉
仮想計算機システムを制御するシステムコンソールからVM移動を指示するコマンドを投入するか、またはVM上で動作しているOSからのVM移動を指示するハンドシェイク命令を通じて、VM移動要求がVM移動要求受付手段210に通知され、VM構成情報通知手段211に渡される。VM移動要求通知を受け取ると、VM構成通知手段211では、仮想資源管理テーブル202から、VM構成情報2021、仮想資源のVM割り当て情報2022、及び、VM203に割り当てている仮想資源に対応する実資源の論理名称2012を読み出し、図6に示すようなVM構成情報テーブル60を作成して格納する。ここで、VM移動元とVM移動先でのサブチャネル番号を同一にすることを目的として、該テーブル60の仮想入出力装置構成情報64には、図4の仮想サブチャネル管理テーブル40を参照して、仮想サブチャネル番号順に、移動元VMに割り当てられている入出力装置(仮想サブチャネル)の情報を格納する。
【0019】
VM構成通知手段211は、当該VM構成情報テーブル60を、実計算機間の情報伝達手段12を通じて、他の仮想計算機システム22に送信し、VM構成の生成を要求する(ステップ501)。
【0020】
〈同一VM構成の生成〉
仮想計算機システム22の同一構成生成可否判断手段231では、実計算機間の情報伝達手段12を通じて、仮想計算機システム20からのVM構成情報テーブル60を受信すると(ステップ511)、該VM構成情報テーブル60と実資源管理テーブル221の情報から、同一VM構成を生成可能か否か判断する(ステップ512)。図7は、この同一VM構成生成可否判定の詳細フローチャートを示したもので、移動元VMと同じ主記憶サイズ、拡張記憶サイズ、仮想プロセッサ台数を割り当てることができるか否か、さらに、移動元VMの割り当てられていた仮想入出力装置が移動先の仮想計算機システム22の計算機に構成されているか、あるいは、計算機に構成されているが、既に他のVMに占有して割り当てられているか、等を順次チェックして(ステップ701〜707)、同一VM構成生成が可能あるいは不可能を判定する(ステップ708,709)。
【0021】
ここで留意すべき点は、同一入出力装置を割り当て可能かを判断するだけで、入出力経路に関する移動元VMと移動先VM間での違いはVMCPが入出力経路の仮想化を行い吸収する。
【0022】
同一VM構成の生成が可能と判断された場合、同一VM構成生成手段232では、仮想資源管理テーブル222に生成するVM223のVM構成情報を追加する。即ち、ステップ511で受信したVM構成情報テーブル60(図6)に格納されている移動元VM203の情報に従い、対応する移動先の計算機資源(主記憶、拡張記憶、命令プロセッサ、入出力装置)を割り当て、仮想資源管理テーブル232のVM割り当て情報2222の更新、及び実資源管理テーブル221の割り当て情報2211を更新することで、移動元VM203と同一VM223の生成を行う(ステップ513)。
【0023】
ここで、仮想入出力装置に対する仮想サブチャネル番号は、入出力装置のVM割り当て毎に番号0から昇順に割り当てられるため、移動元VM203の入出力装置構成がサブチャネル番号順に格納されている仮想入出力装置構成情報64
(図6)の順番に従い、入出力装置を移動先VM223に割り当てていくことで、サブチャネル番号を含めた、同一入出力構成を生成する。また、仮想資源管理テーブル222内には、仮想入出力装置の割り当て毎に、図4に示す仮想サブチャネル管理テーテーブルが生成され、そのテーブル内の仮想PMCW情報(デバイス番号、PIM、PAM、CHPID0〜CHPID7)には、仮想入出力装置情報64に格納された値を格納する。これにより、OSから見える入出力パス構成(STSCH命令で格納されるPMCW内の情報)も同一構成にする。
【0024】
なお、移動元VMでの仮想入出力パス情報は、実サブチャネル情報の値を使用しているため実入出力経路情報と一致しているが、移動先VMでの仮想入出力パス構成と実入出力パス構成とは必ずしも一致しない。この不一致が問題となるのは、入出力起動命令(SSCH)の入出力パス選択である。SSCH命令は、ORB(図3)の論理パスマスク(LPM)に指定されたパスマスクとパス設定マスク(PIM)、パス使用可能マスク(PAM)との論理積を取った値を選択パスマスク(SPM)として、その結果(SPM)が1となったビットに対応する入出力パスの中から入出力パスを選択して入出力動作の起動を行う。つまり、移動先VMにおいて、OSの入出力起動のSPMに対応する実入出力パスが存在しない場合、移動元では正常終了していた入出力が移動先VMでは入出力エラーとなる(入出力起動失敗:SSCH命令の結果の条件コード3、または入出力割込みで遅延条件コード3)。
【0025】
このような移動元と移動先の実入出力パスの違いは、非同期動作要求シミュレーション手段216にて、SSCH命令シミュレーションを図9のように実行することで解決する。図9において、仮想の入出力パス構成内でOSが指定したLPMから生成されるSPMを仮想SPMと呼び、OSの指定したLPM、仮想PIM、仮想PAMの論理積として求める(ステップ901)。仮想SPMの値が0の場合、入出力起動失敗をシミュレーションする(ステップ902,915)。仮想SPMの値が1の場合、命令発行元VMがVM移動準備中でないと、実の入出力パス構成内のSPMを実SPMと呼び、仮想SPM、実PIM、実PAMの論理積で求める(ステップ903,907)。そして、実SPMの値が0以外の場合、OSが指定した入出力パスに対応する実入出力パスが存在するため、実LPMに実SPMの値をセットして実計算機に対してSSCH命令を発行する
(ステップ908,909,911,912)。一方、実SPMの値が0の場合、OSが指定した入出力パスに対応する実入出力パスが存在しないため、実PIMと実PAMの論理積値を実LPMにセットして(ステップ910)、実計算機に対してSSCH命令を発行することで、入出力エラー(入出力起動失敗)となることを回避する(ステップ911,912)。SSCH命令を発行したなら、対象の仮想サブチャネル管理テーブル40(図4)の非同期動作状態フラグを1にセットし、入出力起動成功をシミュレーションする(ステップ913,914)。なお、入出力起動成功時の入出力終了割込み処理を図10に示す。
【0026】
以上のようなSSCH命令シミュレーションにより、移動元VMと移動先VMとで、サブチャネル番号、および入出力経路情報が同一なVM構成を生成して、移動先においてOSの発行する入出力動作要求も正常に実行することが可能となる。
【0027】
〈同一VM構成生成の応答〉
同一VM構成の生成後、仮想計算機システム22では、実計算機間の情報通信手段12を通じて、VM生成成功を移動要求元の仮想計算機システム20に応答し、移動元VM203からの仮想資源情報の受信を待つことになる(ステップ514)。一方、同一構成のVMを生成できないと判断した場合、仮想計算機システム22は、移動要求元の仮想計算機システム20にVM生成失敗を応答して、VM移動制御の実行を中断・終了させる(ステップ519)。移動元では、移動先からVM生成失敗の応答を受信した場合、同一VM構成の生成に失敗したと判定して以後のVM移動制御の実行を中断終了させる(ステップ502,503)。
【0028】
以上により、異なったVM構成を生成することなく、計算機間でのVM構成(本例では、VM203と223)の同一性を保証することが可能となる。
【0029】
〈非同期動作停止〉
入出力動作は、命令プロセッサとは非同期に行われ、入出力動作中は主記憶が更新される可能性があり、実行中の入出力動作の完了を待たずにVMの主記憶を他の実計算機のVMに移動した場合、移動元VMと移動先VMの主記憶の内容が異なる可能性がある。すなわち、非同期の入出力動作の完了を待たなければVMの移動を行うことはできない。
【0030】
そこで、移動元仮想計算機システム20では、移動先仮想計算機システム22からVM生成要求の応答を受信し(ステップ502)、同一VM構成の生成に成功したことを確認すると(ステップ503)、非同期動作要求シミュレーション手段216にてOS204の発行する新たな非同期動作命令205の要求を保留するとともに(ステップ504)、VM停止可否判断手段215にて非同期動作である入出力動作が完了したことを確認する(ステップ505)。図8に、VM停止可否判断手段215での非同期動作停止状態の判断処理フローチャートを示す。また、図9のSSCH命令シミュレーション中のステップ904〜906が、非同期動作要求シミュレーション手段216での新たな非同期動作命令要求の保留処理を示している。
【0031】
仮想計算機システム20のVMCP内で管理される非同期動作管理テーブル207は、仮想入出力装置に対応して非同期動作状態情報2271と非同期動作要求保留情報2272を持ち、図4に示す仮想入出力装置に対応する仮想サブチャネル管理テーテーブル40内の非同期動作状態フラグ4013、非同期動作保留フラグ4014と、非同期動作要求保留情報4015として管理される。図9に示す対象とする仮想サブチャネルに対する入出力起動(SSCH)命令のシミュレーションにおいて、実計算機に対して入出力起動命令を発行し入出力起動に成功した場合に、その値を1にセットする(ステップ913)。また、図10に示すように、対象とする仮想装置の実計算機上での入出力動作が完了した場合に非同期動作状態フラグの値を0にリセットして(ステップ921)、VMに入出力割込みシミュレーションを行う(ステップ922,923,924)。VM停止可否判断手段215では、図8に示すように、非同期動作である入出力動作が停止しているか否か、この非同期動作状態フラグの値を参照して非同期動作状態を判断する。すなわち、VM203の全仮想装置に対応する非同期動作状態フラグの値が0であれば、非同期動作が停止状態であると判断できる(ステップ801,802,803,804)。またVM203の1台以上の仮想装置で入出力動作が行われていれば、非同期動作状態フラグの値が1の仮想装置があり、非同期動作中と判断できる(ステップ801,805)。
【0032】
ここで、VM停止可否判断手段215だけで非同期動作の停止を待つ場合、非同期動作である入出力動作は、複数の入出力装置にたいして平行して動作可能であり、通常、OSでは複数の入出力装置に対して入出力を起動しており、全ての入出力装置で入出力動作が行われていない状態の発生確率は非常に低くなる。そのため、非同期動作要求シミュレーション手段216では、OS204の発行する新たな非同期動作命令205の要求を保留して、非同期動作管理テーブル207内にその要求を保留することで非同期動作が行われていない状態を作り出す(ステップ504)。
【0033】
具体的には、OSの発行する非同期動作命令205である入出力起動命令を、VMCPでの命令シミュレーション時にVM移動準備中であれば、図3に示す入出力起動命令のオペランドである動作要求ブロック(ORB)30を非同期動作要求保留情報4015に格納して、非同期動作要求を保留中であることを示すフラグ、非同期動作保留フラグを1セットする。そして、図4に示す仮想サブチャネル管理テーブル40の仮想SCSW情報4012のスタート保留を示すフラグを1セットすることで、入出力動作要求がECS内に保留され、入出力動作が開始されていないスタート保留状態をシミュレーションする。
【0034】
非同期動作要求シミュレーション手段216では、入出力起動命令を実計算機に対して発行せずに、入出力起動に成功した状態をシミュレーションして完了させる(ステップ903,904,905,906,914)。非同期動作保留フラグ4014、及び非同期動作要求保留情報4015は、VM移動後に他の実計算機上の仮想計算機システム22で、入出力動作の再開始に利用される。
【0035】
非同期動作要求シミュレーション216により非同期動作が保留・停止されて、VM停止可否判断215によりVM停止可能と判断した場合、仮想資源情報の更新が行われないようにVM停止手段214によりVM203の停止を行う(ステップ506)。即ち、VM停止手段214では、移動元VM203の仮想プロセッサに対して実プロセッサ資源の割り当てを中止する。これにより、移動先と移動元の仮想資源情報の同一性を保証する。
【0036】
〈VMの移動・動作再開始〉
移動元の仮想計算機システム20では、VM停止手段214によるVM停止後、仮想資源情報読み出し送信手段213により、図12に示すような仮想資源情報(主記憶、拡張記憶、命令プロセッサ、入出力装置、およびサブチャネルなど)を読み出し、実計算機間の情報伝達手段12を通じて、VM移動先の仮想計算機システム22に送信する(ステップ507)。VM移動先の仮想計算機システム22では、仮想資源情報受信格納手段233により、受信した仮想資源情報を、既に同一VM構成生成手段232で割り当て済みの、各々対応する仮想資源内に格納する(ステップ515)。
【0037】
引き続いて、移動元の仮想計算機システム20の非同期動作管理情報送信手段217では、非同期動作要求を記憶保持している非同期動作管理テーブル207を非同期動作管理情報として、実計算機間の情報伝達手段12を通じて、VM移動先の仮想計算機システム22に送信する(ステップ508)。VM移動先の仮想計算機システム22の非同期動作管理情報受信手段237では、受信した非同期動作管理情報を非同期動作管理テーブル227に格納する(ステップ516)。
【0038】
以上により、仮想計算機システム間の情報伝達は完了する。その後、次のようにして、仮想計算機システム20では、移動元VM203の後処理が行われ、仮想計算機システム22では、移動先VM223の動作再開始を行う。
【0039】
VM情報の転送が完了した移動元の仮想計算機システム20では、VM構成消滅手段212によりVM203を消滅させる(ステップ509)。具体的には、VM203に割り当てていた仮想資源に対応する実資源管理情報(2011)を未割り当て状態に更新して、仮想資源(主記憶、拡張記憶、命令プロセッサ、入出力装置)を解放する。このVM(103)の消滅により、仮想計算機システム20では、負荷が低減する。
【0040】
一方、VM情報の転送が完了した移動先VM223では、保留していた非同期動作要求の動作、及び仮想命令プロセッサの動作を開始させることでOSの動作を継続させる(ステップ517,518)。図11に非同期動作の再開始処理フローを示す。
【0041】
非同期動作要求開始手段236では、移動元から転送された非同期動作管理テーブル内227の非同期動作要求を再開始させる。図4に示すように、非同期動作要求の保留状態は、非同期動作保留フラグ4014で管理しており、該非同期動作保留フラグが1にセットされている仮想入出力装置全てについて、非同期動作保留情報2272に格納されているOSが発行した入出力起動命令(SSCH)のORB内のCCWアドレスが示すチャネル制御語(CCW)を仮想アドレスから実アドレスに変換して、実計算機に対して入出力起動命令を発行する(ステップ931,932,933,934,935,936,937)。移動先VMでCCW仮想アドレスから実アドレスの変換を行うことで、移動元VMと移動先VMに割り当てられた主記憶上の位置(実アドレス)が異なっていてもVMの移動を可能にしている。これにより、移動元VM(103)で保留した非同期動作である入出力動作が、VM移動に伴い、移動先の仮想計算機システム内で実行可能となる。
【0042】
次に、VM再開始手段234では、VM停止手段214により停止したVMを、移動先VM(103)の仮想プロセッサに対して実プロセッサ資源を割り当てることでVMの動作を再開始させる。
【0043】
以上の制御により、OS上で非同期動作の停止、あるいはOSの運用停止等の操作を行わずに、VMの移動指示により、他の実計算機のVM上にOSを移動させ、OSの動作を継続することが可能となる。
【0044】
【発明の効果】
本発明によれば、複数の実計算機上に互いに仮想計算機システムを構築して動作する疎結合マルチプロセッサシステムにおいて、ある仮想計算機システム上で動作しているオペレーティングシステム(仮想計算機)を、他の実計算機の仮想計算機システム上の仮想計算機への移動を可能にすることで、計算機資源の有効利用が可能となる。また、実計算機ハードウェアの保守を目的とした実計算機の計画停止に備えて、仮想計算機の実計算機間移動を行うことでシステム運用の柔軟性を向上することができる。
【図面の簡単な説明】
【図1】疎結合マルチプロセッサ構成の仮想計算機システムの一般的ブロック図である。
【図2】本発明による仮想計算機システムの一実施例の概念を示す全体的ブロック図である。
【図3】本発明の一実施例で対象とする拡張チャネルシステムの入出力関連命令の制御ブロックを示す図である。
【図4】本発明の一実施例で対象とする仮想入出力装置に対応する仮想サブチャネルを管理するテーブルを示す図である。
【図5】本発明の一実施例のVM移動制御を示す全体的フローチャートである。
【図6】本発明の一実施例の同一構成VMを生成するために実計算機間で転送される情報テーブルを示す図である。
【図7】本発明の一実施例の同一構成VMの生成可否を判定する論理を示すフローチャートである。
【図8】本発明の一実施例の移動VMに関連する全ての非同期動作が停止したことを判定する論理を示すフローチャートである。
【図9】本発明の一実施例の入出力起動命令シミュレーションの論理を示すフローチャートである。
【図10】本発明の一実施例の入出力割込みシミュレーションの論理を示すフローチャートである。
【図11】本発明の一実施例の保留した非同期動作の再開始の論理を示すフローチャートである。
【図12】本発明の一実施例の仮想計算機システム間で移動するVM資源情報を示す図である。
【符号の説明】
20,22 仮想計算機システム
24,25 ゼネレーション情報
201,221 実資源管理テーブル
202,222 仮想資源管理テーブル
203,223 VM
207,227 非同期動作管理テーブル
211 VM構成情報通知手段
212 VM構成消滅手段
213 仮想資源情報読み出し送信手段
214 VM停止手段
215 VM停止可否判断手段
216 非同期動作要求シミュレーション手段
217 非同期動作管理情報送信手段
231 同一構成生成可否判断手段
232 同一VM構成生成手段
233 仮想資源情報受信格納手段
234 VM再開始手段
236 非同期動作要求再開始手段
237 非同期動作管理情報受信手段
Claims (3)
- 各実計算機で実計算機資源に共通の論理名称を付与し、第1の実計算機から第2の実計算機にオペレーティングシステムを移動する仮想計算機システム間の仮想計算機移動制御方法であって、
第1の実計算機上で稼動する第1の仮想計算機で動作するオペレーティングシステムによって使用される計算機資源の論理名称と仮想計算機構成との対応関係を示す仮想計算機構成情報を、第1の仮想計算機制御プログラムの制御の下で、第1及び第2の仮想計算機制御プログラム間でのオペレーティングシステムの移動命令に応じて、第1の実計算機上で動作する第1の仮想計算機制御プログラムから第2の実計算機上で動作する第2の仮想計算機制御プログラムに転送し、
第2の仮想計算機制御プログラムの制御の下で、前記仮想計算機構成情報に基づいて、前記第2の実計算機上に第2の仮想計算機を生成し、
前記第2の仮想計算機制御プログラムからの要求に応じて、前記第1の実計算機上の前記オペレーティングシステムの動作を抑止し、
前記オペレーティングシステムを再開するのに必要なレジスタ情報を、前記第1の仮想計算機制御プログラムの制御の下で、前記第1の仮想計算機制御プログラムから前記第2の仮想計算機制御プログラムヘ送り、
前記第2の仮想計算機制御プログラムの制御の下で、前記レジスタ情報を用いて、前記第2の仮想計算機上で、前記抑止のステップから、前記オペレーティングシステムの動作を再開し、且つ、
前記第2の仮想計算機制御プログラムは、前記仮想計算機構成情報を前記第1の仮想計算機制御プログラムから受け取って、前記第2の仮想計算機が前記第2の実計算機で生成できるかどうかを決定する、
ことを特徴とする仮想計算機システム間の仮想計算機移動制御方法。 - 前記第1の仮想計算機制御プログラムは、前記レジスタ情報を前記第1の仮想計算機制御プログラムから前記第2の仮想計算機制御プログラムに送る前に、前記オペレーティングシステムの動作を抑止する、
ことを特徴とする請求項1記載の仮想計算機システム間の仮想計算機移動制御方法。 - 前記第2の仮想計算機制御プログラムは、前記第2の実計算機の仮想計算機構成情報に応じて、前記第1の仮想計算機制御プログラムに対して、前記第2の仮想計算機を引き続いて生成させ、
前記第1の仮想計算機制御プログラムは、現在の入出力操作が完了し、その後前記入出力操作の要求を前記第2の仮想計算機制御プログラムに送るまで、入出力操作の要求を保持し、
前記第2の仮想計算機制御プログラムは、前記第1の仮想計算機制御プログラムからの前記入出力操作の要求に基づいて、入出力操作を再開し、
前記第2の仮想計算機制御プログラムは、前記第1の仮想計算機制御プログラムから前記仮想計算機構成情報を受け取って、前記第2の仮想計算機が前記第2の実計算機に生成できるかどうかを決定する、
ことを特徴とする請求項1記載の仮想計算機システム間の仮想計算機移動制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08261397A JP3653159B2 (ja) | 1997-04-01 | 1997-04-01 | 仮想計算機システム間の仮想計算機移動制御方法 |
US09/568,054 US6802062B1 (en) | 1997-04-01 | 2000-05-10 | System with virtual machine movable between virtual machine systems and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08261397A JP3653159B2 (ja) | 1997-04-01 | 1997-04-01 | 仮想計算機システム間の仮想計算機移動制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10283210A JPH10283210A (ja) | 1998-10-23 |
JP3653159B2 true JP3653159B2 (ja) | 2005-05-25 |
Family
ID=13779331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08261397A Expired - Fee Related JP3653159B2 (ja) | 1997-04-01 | 1997-04-01 | 仮想計算機システム間の仮想計算機移動制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3653159B2 (ja) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313793B2 (en) * | 2002-07-11 | 2007-12-25 | Microsoft Corporation | Method for forking or migrating a virtual machine |
US8156490B2 (en) * | 2004-05-08 | 2012-04-10 | International Business Machines Corporation | Dynamic migration of virtual machine computer programs upon satisfaction of conditions |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US7730486B2 (en) | 2005-02-28 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | System and method for migrating virtual machines on cluster systems |
JP4684696B2 (ja) * | 2005-03-22 | 2011-05-18 | 株式会社日立製作所 | 記憶制御方法及びシステム |
KR100772872B1 (ko) * | 2006-02-24 | 2007-11-02 | 삼성전자주식회사 | 다중 자바 어플리케이션 환경에서 가상 아이디를 이용하여자원을 관리하는 장치 및 그 방법 |
US7788665B2 (en) | 2006-02-28 | 2010-08-31 | Microsoft Corporation | Migrating a virtual machine that owns a resource such as a hardware device |
EP2037362A4 (en) | 2006-05-24 | 2012-04-18 | Nec Corp | ADMINISTRATIVE APPROACH FOR VIRTUAL MACHINES, METHOD FOR MANAGING A VIRTUAL MACHINE AND PROGRAM |
JP4240062B2 (ja) | 2006-05-31 | 2009-03-18 | 日本電気株式会社 | 計算機システムおよび性能計測方法ならびに管理サーバ装置 |
US8346933B2 (en) | 2006-11-24 | 2013-01-01 | Nec Corporation | Virtual machine location system, virtual machine location method, program, virtual machine manager, and server |
JP4744480B2 (ja) | 2007-05-30 | 2011-08-10 | 株式会社日立製作所 | 仮想計算機システム |
JP4995015B2 (ja) * | 2007-09-13 | 2012-08-08 | 株式会社日立製作所 | 仮想計算機の実行可否検査方法 |
US20100250734A1 (en) * | 2007-09-18 | 2010-09-30 | Nec Corporation | Server reassignment support system and server reassignment support method |
JP4871850B2 (ja) | 2007-12-04 | 2012-02-08 | 株式会社日立製作所 | 仮想計算機システム及び仮想計算機移行制御方法 |
JP2009145931A (ja) * | 2007-12-11 | 2009-07-02 | Hitachi Ltd | 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム |
JP5028304B2 (ja) | 2008-03-11 | 2012-09-19 | 株式会社日立製作所 | 仮想計算機システム及びその制御方法 |
JP5029440B2 (ja) * | 2008-03-14 | 2012-09-19 | 富士通株式会社 | 情報処理システム、情報処理方法及びコンピュータプログラム |
JP5391601B2 (ja) * | 2008-07-18 | 2014-01-15 | 富士通株式会社 | 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム |
JP5476764B2 (ja) * | 2009-03-30 | 2014-04-23 | 富士通株式会社 | サーバ装置、計算機システム、プログラム及び仮想計算機移動方法 |
JP5156682B2 (ja) * | 2009-04-23 | 2013-03-06 | 株式会社日立製作所 | ストレージシステムにおけるバックアップ方法 |
JP5427574B2 (ja) * | 2009-12-02 | 2014-02-26 | 株式会社日立製作所 | 仮想計算機の移動管理方法、前記移動管理方法を用いた計算機、前記移動管理方法を用いた仮想化機構および前記移動管理方法を用いた計算機システム |
JPWO2011093011A1 (ja) | 2010-01-29 | 2013-05-30 | 日本電気株式会社 | 情報処理装置及び情報処理方法 |
JP2011160298A (ja) * | 2010-02-02 | 2011-08-18 | Fujitsu Ltd | ネットワークシステム、処理を提供するサーバの切替方法、処理を提供するサーバの切替プログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム |
JP5448083B2 (ja) * | 2010-03-11 | 2014-03-19 | 株式会社日立製作所 | 計算機モニタリングシステム及びプログラム |
JP5617315B2 (ja) * | 2010-03-31 | 2014-11-05 | 日本電気株式会社 | 計算機仮想化システム、仮想計算機動的移動方法、仮想計算機動的移動プログラム |
JP5391152B2 (ja) * | 2010-05-26 | 2014-01-15 | 株式会社日立製作所 | サーバシステム、及び、仮想サーバの移行方式を選択する方法 |
JP5556393B2 (ja) * | 2010-06-04 | 2014-07-23 | 富士通株式会社 | ネットワークシステム,管理サーバおよび仮想マシンの配置方法 |
JP5492731B2 (ja) * | 2010-10-06 | 2014-05-14 | 株式会社日立製作所 | 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム |
JP5147955B2 (ja) * | 2011-01-25 | 2013-02-20 | 株式会社日立製作所 | 仮想計算機システム |
JP5422705B2 (ja) * | 2012-07-06 | 2014-02-19 | 株式会社日立製作所 | 仮想計算機システム |
JP5422706B2 (ja) * | 2012-07-06 | 2014-02-19 | 株式会社日立製作所 | 管理システム |
US9043576B2 (en) | 2013-08-21 | 2015-05-26 | Simplivity Corporation | System and method for virtual machine conversion |
CN104484218B (zh) | 2014-11-18 | 2017-11-17 | 华为技术有限公司 | 一种虚拟机名称展示的方法、装置及系统 |
JP2020027530A (ja) * | 2018-08-16 | 2020-02-20 | 富士通株式会社 | 管理装置、管理プログラムおよび情報処理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2823230B2 (ja) * | 1989-04-06 | 1998-11-11 | 株式会社日立製作所 | 処理の継続実行方法 |
JPH03211629A (ja) * | 1990-01-17 | 1991-09-17 | Fujitsu Ltd | 仮想計算機システム |
JP3186244B2 (ja) * | 1992-09-18 | 2001-07-11 | 株式会社日立製作所 | 仮想計算機システム |
CA2100540A1 (en) * | 1992-10-19 | 1994-04-20 | Jonel George | System and method for performing resource reconfiguration in a computer system |
JP3657665B2 (ja) * | 1995-02-14 | 2005-06-08 | 富士通株式会社 | 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法 |
JP3435454B2 (ja) * | 1995-02-28 | 2003-08-11 | 富士通株式会社 | 異なる環境空間での連続運転方法およびそのための装置 |
-
1997
- 1997-04-01 JP JP08261397A patent/JP3653159B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10283210A (ja) | 1998-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3653159B2 (ja) | 仮想計算機システム間の仮想計算機移動制御方法 | |
US6802062B1 (en) | System with virtual machine movable between virtual machine systems and control method | |
US7313793B2 (en) | Method for forking or migrating a virtual machine | |
JP5619173B2 (ja) | 仮想マシンの対称型ライブ・マイグレーション | |
EP3992805B1 (en) | Live migration method for virtual machine and communication device | |
KR102140730B1 (ko) | Gpu 기반의 딥러닝 개발 환경 제공 시스템 및 방법 | |
EP3311272B1 (en) | A method of live migration | |
KR20040028805A (ko) | 프로세서로 산출하기 위한 시스템 | |
GB2508983A (en) | Migration of virtual machines with reassignment of hardware memory segments | |
JP6508382B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
JPWO2017145272A1 (ja) | データ移行方法及び計算機システム | |
CN115988217A (zh) | 一种虚拟化视频编解码系统、电子设备和存储介质 | |
CN114691300A (zh) | 一种虚拟机实例的热迁移方法 | |
CN106815067B (zh) | 带i/o虚拟化的虚拟机在线迁移方法、装置 | |
KR102315102B1 (ko) | 가상 머신을 부팅하기 위한 방법, 장치, 기기 및 매체 | |
US8898444B1 (en) | Techniques for providing a first computer system access to storage devices indirectly through a second computer system | |
CN112506818B (zh) | 一种基于软件模拟的usb硬件虚拟化方法 | |
JP2012079245A (ja) | 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム | |
US10942821B1 (en) | Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system | |
CN116382594A (zh) | 一种linux系统对数据库服务资源隔离的方法及装置 | |
CN106502721B (zh) | 一种命令卸载方法、装置及物理机 | |
JP2864255B2 (ja) | 仮想計算機方式の計算機システム | |
JP2015138385A (ja) | 分散処理システム、および、分散処理方法 | |
JP2556018B2 (ja) | チヤネルパスグル−プ管理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050225 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |