JP2004005113A - 複数の実計算機上で動作する仮想計算機システム及びその制御方法 - Google Patents

複数の実計算機上で動作する仮想計算機システム及びその制御方法 Download PDF

Info

Publication number
JP2004005113A
JP2004005113A JP2002158966A JP2002158966A JP2004005113A JP 2004005113 A JP2004005113 A JP 2004005113A JP 2002158966 A JP2002158966 A JP 2002158966A JP 2002158966 A JP2002158966 A JP 2002158966A JP 2004005113 A JP2004005113 A JP 2004005113A
Authority
JP
Japan
Prior art keywords
host
master
hosts
virtual
memory
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.)
Pending
Application number
JP2002158966A
Other languages
English (en)
Inventor
Shinji Matsumoto
松本 真治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2002158966A priority Critical patent/JP2004005113A/ja
Publication of JP2004005113A publication Critical patent/JP2004005113A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】
複数のホストで構成される仮想計算機システムにおいて、CPU資源を有効に活用するシステムの提供。
【解決手段】
ホスト3で実行されている仮想計算機実行手段31の仮想CPUを、制御手段32及びホスト間通信手段1を経由してホスト4及びホスト5に割り当てることにより、CPU資源を有効に活用し、ディスクやメモリの内容を、全ホストにコピーすることにより、任意の時点でのホストの追加削除を可能にする。
【選択図】
図1

Description

【0001】
【発明の属する技術分野】
本発明は、複数の実計算機上で動作する仮想計算機システムに関し、特に、実計算機の追加や削除が任意の時点で容易に可能である仮想計算機システムに関する。
【0002】
【従来の技術】
現用系と待機系を有する冗長構成の仮想計算機システムが、従来より、知られている。この種の従来の仮想計算機システムに関する刊行物として、例えば特開平4−141744号公報には、現用系ホストと待機系ホストがスーパー及びホスト間通信装置を介して相互接続され、各ホストは、複数のオペレーティングシステム群を具備して複数のオペレーティングシステムで1個のハードウエアを共有する形態の仮想計算機システムにおいて、各ホストにオペレーティングシステム群を制御するとともに、特定のオペレーティングシステムのみをリセットする制御部を設け、仮想計算機上で動作しているオペレーティングシステム相互の間で待機系オペレーティングシステムが現用系オペレーティングシステムの異常を検出したら、待機系制御部から現用系制御部にスーパーを介してリセットすべきオペレーティングシステムの名前とリセット要求を通知し、現用系では、前記通知に基づいて特定のオペレーティングシステムをリセットするとともに、そのリセット結果を、現用系制御部からスーパーを介して待機系制御部に通知するように構成した仮想計算機のスタンバイ制御システムの構成が開示されている。
【0003】
このスタンバイ制御システムは、現用系のホスト内で動作している子OSが障害を起こした場合に、待機系ホストの子OSに制御を移すことにより、子OS単位で、システムの無停止運用を実現する、というものである。すなわち、現用系の全ての子OSに対して、対応する待機系の子OSを用意できるため、現用系のどの子OSが障害等により、システム停止状態に陥っても、システムの無停止運用が可能とされている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来の仮想計算機システムは、下記記載の問題点を有している。
【0005】
第1の問題点は、計算機のCPU資源が十分に活用されていない、ということである。
【0006】
その理由は、待機系ホストは、通常、現用系ホストの異常に備えたバックアップとして存在しているため、現用系ホストが正常な場合には、待機系CPUは、実際の業務には使用されない遊休状態となるからである。
【0007】
第2の問題点は、ホストの追加や削除ができないということである。
【0008】
その理由は、現用系ホストと待機系ホストの2台の構成しか取り得ないためである。
【0009】
したがって、本発明の目的は、複数のホストのCPUを遊休させることなく、有効に活用する仮想計算機システムとその制御方法を提供することにある。
【0010】
本発明の他の目的は、運用中に任意のホストがダウンした場合でも、正常なホストが少なくとも1台あれば運用が停止しない仮想計算機システムとその制御方法を提供することにある。
【0011】
本発明の他の目的は、運用を停止することなく、任意の時点で、ホストの追加や削除を行うことができる仮想計算機システムとその制御方法を提供することにある。
【0012】
本発明の他の目的は、仮想計算機システムの上で、通常の計算機システム上で動作する任意のプログラムが、改造無しでそのまま動作する仮想計算機システムとその制御方法を提供することにある。
【0013】
【課題を解決するための手段】
上記目的の少なくとも1つを達成する本発明の仮想計算機システムは、仮想計算機を実行する仮想計算機実行手段と制御手段とを備えたホストを複数備え、複数の前記ホストに対してホスト間の通信を制御するホスト間通信手段を備え、前記各ホストの制御手段は前記ホスト間通信手段を介して他のホストと通信する制御を行い、複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段はマスタホスト上で動作し、複数の前記ホストのうちのマスタホスト以外のホストのCPU(中央処理装置)が、前記ホスト間通信手段を介して、前記仮想計算機のCPUとして割り当てられる。
【0014】
本発明において、前記マスタホスト上の前記制御手段は、マスタホストの前記仮想計算機実行手段に対して仮想計算機を実行するための機能を提供し、マスタホスト以外のホストの前記制御手段は、前記ホスト間通信手段を介してマスタホストと通信し、マスタホストからの要求に対して処理を実行し、前記マスタホストから、前記ホスト間通信手段を介して、メモリ、又はメモリ及びディスクの内容がマスタホスト以外のホストにコピーされる。
【0015】
本発明において、マスタホストが動作中、マスタホスト以外のホストが起動された場合、マスタホストの前記制御手段は、前記制御手段のメモリ、ディスクの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリ、ディスクにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う構成としてもよい。
【0016】
本発明において、マスタホストが動作中、マスタホスト以外のホストが起動された場合、マスタホストの前記制御手段は、前記制御手段のメモリの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う構成としてもよい。
【0017】
本発明において、マスタホスト動作中にマスタホスト以外のホストがダウンした場合、前記ダウンしたホストに割り当てていた仮想的なCPUを削除する構成としてもよい。
【0018】
本発明において、マスタホストが未決定である場合、前記複数のホストのうち識別番号の値に基づき、1つのホストをマスタホストとする構成としてもよい。
【0019】
本発明において、前記複数のホストのうちマスタホストが障害発生等でダウンした場合、マスタホスト以外のホストのうちからマスタとなるホストが決定される構成としてもよい。
【0020】
本発明の他のアスペクト(側面)に係る方法は、仮想計算機を実行する仮想計算機実行手段と制御手段とを備えたホストを複数備え、ホスト間通信手段で前記ホスト間を通信を制御する仮想計算機システムの実行制御方法であって、複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段をマスタホスト上で動作させるステップと、複数の前記ホストのうちの前記マスタホスト以外のホストのCPU(中央処理装置)を、ホスト間通信手段を経由して前記仮想計算機のCPUとして割り当てるステップと、を含む。
【0021】
本発明に係る方法においては、前記マスタホストのメモリ、又はディスクとメモリの内容を、前記マスタホスト以外の全ホストにコピーするステップを有し、任意の時点でのホストの追加削除を可能としている。
【0022】
本発明に係る方法においては、複数の前記ホストに対して共用のディスクを用意しておき、マスタホストから他のホストへのディスクの内容のコピーを不要としている。
【0023】
【発明の実施の形態】
本発明の実施の形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施の形態の構成を示す図である。図1を参照すると、本発明の第1の実施の形態のシステムは、プログラム制御により動作する複数ホスト3、4、5と、ホスト3、4、5に接続され、ホスト同士の通信に用いるホスト間通信手段1と、ホスト3、4、5に接続され、ホストの入出力(I/O)機能を提供するI/O装置2と、を備えている。
【0024】
各ホスト3、4、5は、仮想計算機実行手段31と制御手段32とを含む。なお、図1には、単に図面作成の都合及び説明の簡単のために、ホスト三台の構成が示されているが、本発明においてホストの台数は複数台とされ、3台に限定されるものでないことは勿論である。
【0025】
図2は、図1の仮想計算機実行手段31の構成を示す図である。仮想計算機実行手段31は、各ホスト3、4、5で同一構成とされる。図2を参照すると、仮想計算機実行手段31は、ゲストオペレーティングシステム311と、仮想メモリ提供手段312と、仮想ディスク提供手段313と、仮想CPU提供手段314と、仮想I/O提供手段315とを備えている。これらの手段はそれぞれ概略つぎのように動作する。
【0026】
仮想計算機実行手段31は、複数の正常なホストのうちマスタとなる1つのホスト上でのみ動作する。このホストを「マスタホスト」と呼ぶ。
【0027】
ゲストオペレーティングシステム311は、仮想計算機上で動作するオペレーティングシステムである。ゲストオペレーティングシステム311としては、例えば、通常の計算機上で動作する、汎用のオペレーティングシステムがそのまま用いられる。
【0028】
仮想メモリ提供手段312、仮想ディスク提供手段313、仮想CPU提供手段314、仮想I/O提供手段315を、ゲストオペレーティングシステム311で利用するために、ドライバが追加される。
【0029】
ゲストオペレーティングシステム311上で動作させるプログラムは、並列処理を意識したプログラムであってある必要はなく、通常の計算機上で動作するプログラムを変更無しに、そのまま動作させることが可能である。ゲストオペレーティングシステム311上で動作させるプログラムは、並列処理対応のプログラムであってもよい。
【0030】
仮想メモリ提供手段312は、仮想計算機を構成する仮想的なメモリを、ゲストオペレーティングシステム311に提供する。
【0031】
仮想ディスク提供手段313は、仮想計算機を構成する仮想的なディスクをゲストオペレーティングシステム311に提供する。
【0032】
仮想CPU提供手段314は、仮想計算機を構成する仮想的なCPUをゲストオペレーティングシステム311に提供する。
【0033】
仮想I/O提供手段315は、仮想計算機を構成する仮想的なI/Oデバイスをゲストオペレーティングシステム311に提供する。
【0034】
図3は、図1の制御手段32の構成を示す図である。制御手段32は、各ホスト3、4、5で同一の構成とされる。図3を参照すると、制御手段32は、ホスト制御手段321と、メモリ制御手段322と、ディスク制御手段323と、CPU制御手段324と、I/O制御手段325と、メモリ装置326と、ディスク装置327と、CPU装置328と、通信制御手段329をを備えている。これらの手段はそれぞれ概略つぎのように動作する。
【0035】
制御手段32は、ホスト3、4、5のうち全ての正常なホストの上で動作する。
【0036】
マスタホストでは、制御手段32は、仮想計算機実行手段31に対して、仮想計算機を実行するのに必要な機能を提供する。マスタホスト以外のホストでは、制御手段32は、ホスト間通信手段1経由で、マスタホストと通信し、マスタホストからの要求に対して、処理を実行する。
【0037】
ホスト制御手段321は、通信制御手段329を通じて、他のホストのホスト制御手段321と通信し、どのホストが正常であるかの判定を行う。
【0038】
また、ホスト制御手段321は、通信制御手段329を通じて、どのホストがマスタホストとなるべきかを判定する。
【0039】
さらに、ホスト制御手段321は、通信制御手段329を通じて、ホストのダウン、ダウンしていたホストの復帰、新たなホストの追加、既存のホストの除去(取り外し)を検出する。
【0040】
メモリ制御手段322は、仮想メモリの制御を行う。仮想計算機上でメモリの書き込みが行われた場合には、全てのホストのメモリ制御手段322を経由して全てのホストのメモリ装置326に情報が書き込まれる。
【0041】
ディスク制御手段323は、仮想ディスクの制御を行う。仮想計算機上でディスクの書き込みが行われた場合には、全てのホストのディスク制御手段323を経由して全てのホストのディスク装置327に情報が書き込まれる。
【0042】
CPU制御手段324は、仮想CPUの制御を行う。仮想計算機は、複数のCPUを持つ計算機であるように振舞う。仮想計算機上のそれぞれの仮想CPUは、各ホストのCPU制御手段324と対応付けられ、CPU装置328に割り当てられる。
【0043】
I/O制御手段325は、仮想I/Oデバイスの制御を行う。仮想計算機上で入出力(I/O)が行われた場合には、マスタホストのI/O制御手段を経由してI/O手段2で入出力操作(I/O)が行われる。
【0044】
通信制御手段329は、上位の各手段に対して他のホストと通信する手段を提供する。
【0045】
図4は、この実施の形態の動作の一例を説明するための流れ図である。次に、図4のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【0046】
まず、各ホストは、他のホストと通信し、正常に起動しているホストリストを決定する(図4のステップA−1)。決定ルールは、正常起動しているかどうかの通信電文に対して、一定時間以内に正常な応答が得られたホストを正常と判断する。
【0047】
次に、マスタホストを決定する(ステップA−2)。マスタホストの決定ルールは、例えば以下のようなルールとされる。すでにマスタホストとして動作しているホストが存在すれば、そのホストがマスタホストである。もし、マスタホストとして動作しているホストが存在していなければ、正常に起動しているホストのうち、最も小さいホストIDを持っているホストをマスタホストとして決定する。
【0048】
自ホストがマスタホストであれば、以降は、マスタモードで動作する(ステップA−3、A−4)。
【0049】
マスタモードでのホスト(マスタホスト)の動作は、以下のようなものである。
【0050】
まず、マスタホストは、仮想計算機実行手段31を実行し、ゲストオペレーティングシステム311を起動する。
【0051】
マスタホストにおいて、ゲストオペレーティングシステム311上でメモリ読み込みが発生した場合には、仮想メモリ提供手段312を経由して、ホスト制御手段321に、メモリ読み込み要求が伝達される。ホスト制御手段321はメモリ制御手段322を通じてメモリ装置326からデータを読み出す。
【0052】
マスタホストにおいて、ゲストオペレーティングシステム311上でメモリ書き込みが発生した場合には、仮想メモリ提供手段312を経由して、ホスト制御手段321にメモリ書き込み要求が伝達される。ホスト制御手段321はメモリ制御手段322を通じてメモリ装置326にデータを書き込む。また、同時に、マスタホストのメモリ制御手段322は、通信制御手段329、ホスト間通信手段1を介して、他の正常ホストに、書き込まれたデータを伝達する。
【0053】
マスタホストにおいて、ゲストオペレーティングシステム311上でディスク読み込みが発生した場合には、仮想ディスク提供手段313を経由して、ホスト制御手段321にディスク読み込み要求が伝達される。ホスト制御手段321はディスク制御手段323を通じてディスク装置327からデータを読み出す。
【0054】
マスタホストにおいて、ゲストオペレーティングシステム311上でディスク書き込みが発生した場合には仮想ディスク提供手段313を経由して、ホスト制御手段321にディスク書き込み要求が伝達される。ホスト制御手段321はディスク制御手段323を通じてディスク装置327にデータを書き込む。また、同時に、マスタホストのディスク制御手段323は、通信制御手段329、ホスト間通信手段1を介して、他の正常ホストに、書き込まれたデータを伝達する。
【0055】
マスタホストにおいて、ゲストオペレーティングシステム311上でのプログラムコードの実行は、正常ホストの個数分のCPUが、並列に処理する。仮想CPU提供手段314は、ゲストオペレーティングシステム311に対して、あたかも正常ホストの数だけのCPUがが存在するように振舞う。
【0056】
仮想的なそれぞれのCPUは、各ホストに割り当てられる。
【0057】
ホスト制御手段321は、各ホストのCPUが動作するのに必要な情報をCPU制御手段324に渡し、また実行結果を、CPU制御手段324から受け取る。マスタホストにおいて、CPU制御手段324は、必要に応じて、各ホストと通信して、各ホストに割り当てられたCPU実行に関する情報のやりとりを行う。
【0058】
マスタホストにおいて、ゲストオペレーティングシステム311上でI/O入力が発生した場合には、仮想I/O提供手段315を経由して、ホスト制御手段321にI/O入力要求が伝達される。ホスト制御手段321は、I/O制御手段325を通じてI/O装置2からデータを入力する。
【0059】
マスタホストにおいて、ゲストオペレーティングシステム311上でI/O出力が発生した場合には、仮想I/O提供手段315を経由して、ホスト制御手段321にI/O出力要求が伝達される。ホスト制御手段321はI/O制御手段325を通じてI/O装置2にデータを出力する。
【0060】
また、マスタモードで動作中に、他のホストが起動した場合には、マスタホストは、メモリ装置326及びディスク装置327の内容を、新しく起動したホストにコピーする。マスタホストは、コピーが完了した後、仮想的なCPUを新しく追加し、新しく起動したホストに割り当てる。
【0061】
マスタモードで動作中に、他のホストがダウンした場合には、マスタホストは、ダウンしたホストに割り当てていた仮想的なCPUを削除する。
【0062】
自ホストがマスタホストでなければ、以降は、スレーブモードで動作する(ステップA−3、A−5)。スレーブモードでの動作は、以下のようなものである。
【0063】
まず、マスタホストからホスト間通信手段1を通じて、マスタホストのメモリ装置326及びディスク装置327の記憶内容をコピーする。マスタホストのメモリの記憶内容は、ホスト間通信手段1、スレーブホストの通信制御手段329及びメモリ制御手段322を経由して、スレーブホストのメモリ装置326に書き込まれる。マスタホストのディスクの記憶内容は、ホスト間通信手段1、スレーブホストの通信制御手段329及びディスク制御手段323を経由してスレーブホストのディスク装置327に書き込まれる。
【0064】
マスタホストからメモリ書き込みが伝達された場合、ホスト間通信手段1、通信制御手段329及びメモリ制御手段322を経由してスレーブホストのメモリ装置326に書き込まれる。
【0065】
マスタホストからディスク書き込みが伝達された場合、ホスト間通信手段1、通信制御手段329及びディスク制御手段323を経由してスレーブホストのディスク装置327に書き込まれる。
【0066】
マスタホストからCPU実行に必要なデータが伝達された場合、ホスト間通信手段1、スレーブホストの通信制御手段329及びCPU制御手段324を経由して、スレーブホストのCPU装置328で命令コードが実行され、その結果は、スレーブホストのCPU制御装置324及び通信制御手段329、ホスト間通信手段1を経由して、マスタホストに返却される。
【0067】
スレーブモードで動作中に、マスタホストがダウンした場合には、ステップA−2と同様のマスタホスト決定を再試行し、その結果、自ホストがマスタホストとなった場合は、ステップA−4のマスタモードで動作を実行する。
【0068】
【実施例】
次に、具体的な実施例を用いて本実施の形態の動作を説明する。
【0069】
例えば、図1のようにホストが3台存在する構成において、全てのホストが正常に起動した場合、ホスト3がマスタモードとして動作し、ホスト4及びホスト5がスレーブモードで動作する。
【0070】
ホスト3の上の仮想計算機実行手段31のメモリ及びディスクの内容は、ホスト4及びホスト5に、随時、複製が作成される。
【0071】
また、仮想計算機実行手段31は、あたかも3つのCPUを持っているかのように振舞い、それぞれのCPUとして、実際には、ホスト3、ホスト4、ホスト5のCPUが使われる。この状態で、なんらかの障害によりホスト3がダウンした場合、ホスト4がマスタホストとして動作を開始する。仮想計算機のディスク及びメモリの内容は実行状態はホスト3がダウンする直前の状態がそのまま使われるため、仮想計算機上で実行していた業務は、ホスト3がダウンした影響を受けずに、そのまま継続することができる。
【0072】
次に、ホスト3が再起動して正常な状態になった場合、ホスト4がマスタホストのままであるが、ホスト4とホスト5の2台分のCPUしか用いられていなかった状態から、ホスト3、ホスト4、ホスト5の3台分のCPUが使用できる状態に移行するため、実行速度が上昇する。
【0073】
【第2の実施の形態】
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図5は、本発明の第2の実施の形態の構成を示す図である。図5参照すると、本発明の第2の実施の形態は、図1の構成に、ホスト3、4、5に接続されている共有ディスク装置6が追加されている。すなわち、ホスト同士の通信に用いるホスト間通信手段1と、I/Oを提供するI/O装置2と、プログラム制御により動作する複数台のホスト(ホスト3、ホスト4、ホスト5)と、共有ディスク装置6から構成されている。それぞれのホストは、仮想計算機実行手段31と制御手段32Aとを含む。
【0074】
図6は、図5の仮想計算機実行手段31の構成を示す図である。この第2の実施の形態の仮想計算機実行手段31は、図2に示した前記実施の形態の仮想計算機実行手段31と同様とされる。すなわち、図6を参照すると、仮想計算機実行手段31は、ゲストオペレーティングシステム311と、仮想メモリ提供手段312と、仮想ディスク提供手段313と仮想CPU提供手段314と仮想I/O提供手段315から構成されている。仮想計算機実行手段31は、複数の正常なホストのうちの1つの上でのみ動作する。このホストをマスタホストと呼ぶ。ゲストオペレーティングシステム311は、仮想計算機上で動作するオペレーティングシステムであり、業務に必要な任意のプログラムを実行することが可能である。仮想メモリ提供手段312は、仮想計算機を構成する仮想的なメモリをゲストオペレーティングシステムに提供する。仮想ディスク提供手段313は、仮想計算機を構成する仮想的なディスクをゲストオペレーティングシステムに提供する。仮想CPU提供手段314は、仮想計算機を構成する仮想的なCPUをゲストオペレーティングシステムに提供する。仮想I/O提供手段315は、仮想計算機を構成する仮想的なI/Oデバイスをゲストオペレーティングシステムに提供する。
【0075】
図7は、図5の制御手段32Aの構成を示す図である。図7を参照すると、制御手段32Aは、ホスト制御手段321と、メモリ制御手段322と、ディスク制御手段323Aと、CPU制御手段324と、I/O制御手段325と、メモリ装置326と、CPU装置328と、通信制御手段329から構成されている。前記実施の形態と相違して、第2の実施の形態の制御手段32Aは、ディスク装置327を具備しない。これらの手段はそれぞれ概略つぎのように動作する。
【0076】
制御手段32Aは、全ての正常なホストの上で動作する。マスタホストでは、仮想計算機実行手段31に対して仮想計算機を実行するのに必要な機能を提供する。マスタホスト以外のホストでは、ホスト間通信手段1経由でマスタホストと通信し、マスタホストからの要求に対して処理を実行する。
【0077】
ホスト制御手段321は、通信制御手段329を通じて、他のホストのホスト制御手段と通信し、どのホストが正常であるかの判定を行う。また、どのホストがマスタホストとなるべきかを判定する。また、ホストのダウン、ダウンしていたホストの復帰、新たなホストの追加、既存のホストの除去(取り外し)を検出する。
【0078】
メモリ制御手段322は、仮想メモリの制御を行う。仮想計算機上でメモリの書き込みが行われた場合には、全てのホストのメモリ制御手段322を経由して全てのホストのメモリ装置326に情報が書き込まれる。
【0079】
ディスク制御手段323Aは、仮想ディスクの制御を行う。仮想計算機上でディスクの書き込みが行われた場合には、ディスク制御手段323を経由して、共有ディスク装置6に情報が書き込まれる。
【0080】
CPU制御手段324は、仮想CPUの制御を行う。仮想計算機は、複数のCPUを持つ計算機であるように振舞う。仮想計算機上のそれぞれの仮想CPUは、各ホストのCPU制御手段324と対応付けられ、CPU装置328に割り当てられる。
【0081】
I/O制御手段325は、仮想I/Oデバイスの制御を行う。仮想計算機上でI/Oがが行われた場合には、マスタホストのI/O制御手段を経由してI/O手段2でI/Oが行われる。
【0082】
通信制御手段329は、上位の各手段に対して他のホストと通信する手段を提供する。
【0083】
この第2の実施の形態の動作は、図4を参照して説明した前記第1の実施の形態と基本的に同様であるが、ゲストオペレーティングシステム上でディスク読み込み、ディスク書き込みの動作が相違している。以下、相違点について主に説明する。
【0084】
マスタモードでの動作は、以下のようなものである。まず、仮想計算機実行手段31を実行し、ゲストオペレーティングシステム311を起動する。
【0085】
マスタホストにおいて、ゲストオペレーティングシステム上でディスク読み込みが発生した場合には仮想ディスク提供手段313を経由して、ホスト制御手段321にディスク読み込み要求が伝達される。ホスト制御手段321はディスク制御手段323を通じて共有ディスク装置6から、データを読み出す。
【0086】
マスタホストにおいて、ゲストオペレーティングシステム上でディスク書き込みが発生した場合には仮想ディスク提供手段313を経由して、ホスト制御手段321にディスク書き込み要求が伝達される。ホスト制御手段321はディスク制御手段323を通じて共有ディスク装置6のデータを書き込む。
【0087】
また、マスタモードで動作中に、他のホストが起動した場合には、メモリの内容を全て新しく起動したホストにコピーする。コピーが完了した後、仮想的なCPUを新しく追加し、新しく起動したホストに割り当てる。この際、前記第1の実施の形態と相違して、マスタホストから他のホストへのディスクのコピーは行われない。
【0088】
マスタモードで動作中に、他のホストがダウンした場合には、ダウンしたホストに割り当てていた仮想的なCPUを削除する。
【0089】
自ホストがマスタホストでなければ、以降はスレーブモードで動作する(ステップA−3、A−5)。スレーブモードでの動作は、以下のようなものである。まず、マスタホストから、ホスト間通信手段1を通じて、メモリの記憶内容をコピーする。メモリの記憶内容は、通信制御手段329及びメモリ制御手段322を経由して、メモリ装置326に書き込まれる。なお、この実施の形態では、前記第1の実施の形態と相違して、マスタホストから他のホストへのディスクのコピーは行われない。
【0090】
マスタホストからメモリ書き込みが伝達された場合、ホスト間通信手段1を通じて、スレーブホストの通信制御手段329及びメモリ制御手段322を経由してスレーブホストのメモリ装置326に書き込まれる。
【0091】
マスタホストから、ホスト間通信手段1を通じて、CPU実行に必要なデータがスレーブホストに伝達された場合、通信制御手段329及びCPU制御手段324を経由して、スレーブホストのCPU装置328で命令コードが実行され、その結果は、スレーブホストのCPU制御装置324及び通信制御手段329と、ホスト間通信手段1を経由して、マスタホストに返却される。
【0092】
前記実施の形態と同様、スレーブモードで動作中に、マスタホストがダウンした場合には、ステップA−2と同様のマスタホスト決定を再試行し、その結果、自ホストがマスタホストとなった場合は、ステップA−4のマスタモードで動作を実行する。
【0093】
次に、本実施の形態の作用効果について説明する。
【0094】
本実施の形態では、ディスク装置を各ホストに具備するのではなく、システムとして、1つの共有ディスク装置として構成されている。このため、ディスクのデータを各ホストにコピーすることが不要とされている。この結果、本実施の形態では、ホストの起動に必要な時間を短縮することができるという作用効果を奏する。
【0095】
以上本発明を上記実施形態に即して説明したが、本発明は、上記実施形態にのみ限定されるものでなく、特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得る各種変形、修正を含むことは勿論である。
【0096】
【発明の効果】
以上説明したように、本発明によれば下記記載の効果を奏する。
【0097】
本発明の第1の効果は、仮想計算機システムにおいて、CPU資源を有効に活用し、高い実行速度を実現することができる、ということである。
【0098】
その理由は、本発明においては、マスタホスト以外のホストのCPUも仮想計算機上のCPUとして割り当てられるためである。
【0099】
本発明の第2の効果は、運用中に任意のホストがダウンした場合でも、正常なホストが最低1台あれば運用が停止しない、ということである。
【0100】
その理由は、本発明においては、メモリやディスクの内容を各ホストに随時コピーしているため、どのホストがダウンしても、残った正常なサーバで運用を継続するのに必要な情報を全て保持しているためである。
【0101】
本発明の第3の効果は、計算機を任意の時点で追加や削除できる、ということである。その理由は、上記第2の効果と同じ理由によるものである。
【0102】
本発明の第4の効果は、実行するアプリケーションプログラムは、通常の計算機で動作するものを変更無しでそのまま仕様することが可能である、ということである。
【0103】
その理由は、本発明においては、仮想計算機上では通常の計算機上と同様のオペレーティングシステムが動作するため、アプリケーションプログラムに対して、通常の計算機で動作しているのと全く同じ機能を提供するためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の構成を示す図である。
【図2】本発明の第1の実施の形態の仮想計算機実行手段の構成を示す図である。
【図3】本発明の第1の実施の形態の制御手段の構成を示す図である。
【図4】本発明の第1及び第2の実施の形態の動作を示す流れ図である。
【図5】本発明の第2の実施の形態の構成を示す図である。
【図6】本発明の第2の実施の形態の仮想計算機実行手段の構成を示す図である。
【図7】本発明の第2の実施の形態の制御手段の構成を示す図である。
【符号の説明】
1 ホスト間通信手段
2 I/O装置(I/O手段)
3、4、5 ホスト
31 仮想計算機実行手段
311 ゲストオペレーティングシステム
312 仮想メモリ提供手段
313 仮想ディスク提供手段
314 仮想CPU提供手段
315 仮想I/O提供手段
32 制御手段
321 ホスト制御手段
322 メモリ制御手段
323 ディスク制御手段
324 CPU制御手段
325 I/O制御手段
326 メモリ装置
327 ディスク装置
328 CPU装置
329 通信制御手段
6 共有ディスク装置

Claims (22)

  1. 仮想計算機を実行する手段(「仮想計算機実行手段」という)と制御手段とを備えたホストを複数備え、
    複数の前記ホストに対してホスト間の通信を制御するホスト間通信手段を備え、
    前記各ホストの制御手段は、前記ホスト間通信手段を介して、他のホストと通信するための制御を行い、
    複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段はマスタホスト上で動作し、
    複数の前記ホストのうちのマスタホスト以外のホストのCPU(中央処理装置)が、前記ホスト間通信手段を介して、前記仮想計算機のCPUとして割り当てられる、ことを特徴とする仮想計算機システム。
  2. 前記マスタホスト上の前記制御手段は、前記仮想計算機実行手段に対して、仮想計算機を実行するための機能を提供し、
    複数の前記ホストのうちの前記マスタホスト以外のホストの前記制御手段は、前記ホスト間通信手段を介して、前記マスタホストと通信し、前記マスタホストからの要求に対して処理を実行し、
    前記マスタホストから、前記マスタホストのメモリの内容、又は、メモリ及びディスクの内容が、前記ホスト間通信手段を介して、複数の前記ホストのうちの前記マスタホスト以外のホストにコピーされる、ことを特徴とする請求項1記載の仮想計算機システム。
  3. ゲストオペレーティングシステムと、
    仮想メモリ、仮想ディスク、仮想CPU(中央処理装置)、仮想I/O(入出力)のうちの1つ以上を、前記ゲストオペレーティングシステムに提供する手段を備えた仮想計算機実行手段と、
    CPU、メモリ、ディスクと、前記CPU、前記メモリ、前記ディスクの各装置をそれぞれ制御するCPU制御手段、メモリ制御手段、ディスク制御手段、及び、I/O制御手段を含む制御手段と、
    を備えたホストを複数備え、
    前記各ホストの前記制御手段に接続され、前記ホスト間の通信を制御するホスト間通信手段と、
    前記各ホストの制御手段に接続されるI/O手段と、
    を備え、
    前記各ホストの制御手段は、前記ホスト間通信手段を通じて他のホストとの通信を制御するホスト制御手段を備え、
    複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段は、前記マスタホスト上で動作し、
    前記各ホストの前記制御手段は、前記各ホストの上でそれぞれ動作し、
    前記マスタホストの前記制御手段は、前記マスタホストの前記仮想計算機実行手段に対して仮想計算機を実行するための機能を提供し、
    複数の前記ホストのうちの前記マスタホスト以外のホストのCPUが、仮想計算機のCPUとして、割り当てられ、前記仮想計算機は複数のCPUをもつように制御され、
    複数の前記ホストのうちの前記マスタホスト以外のホストの前記制御手段は、前記ホスト間通信手段を介して、前記マスタホストと通信し、前記マスタホストからの要求に対して処理を実行し、
    前記マスタホストから、前記ホスト間通信手段を介してメモリ及びディスクの内容が前記マスタホスト以外のホストにコピーされる、ことを特徴とする仮想計算機システム。
  4. ゲストオペレーティングシステムと、
    仮想メモリ、仮想ディスク、仮想CPU(中央処理装置)、仮想I/O(入出力)のうちの1つ以上を、前記ゲストオペレーティングシステムに提供する手段を備えた仮想計算機実行手段と、
    CPU、メモリと、前記CPU及び前記メモリの各装置をそれぞれ制御するCPU制御手段及びメモリ制御手段と、I/O制御手段を含む制御手段と、
    を備えたホストを複数備え、
    前記各ホストの前記制御手段に接続され、前記ホスト間の通信を制御するホスト間通信手段と、
    前記各ホストの制御手段に接続されるI/O手段と、
    前記複数のホストで共有されるディスク装置と、
    を備え、
    前記各ホストの制御手段は、前記ホスト間通信手段を通じて他のホストとの通信を制御するホスト制御手段を備え、
    複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段は、マスタホスト上で動作し、
    前記各ホストの前記制御手段は、前記各ホストの上でそれぞれ動作し、
    前記マスタホストの前記制御手段は、マスタホストの前記仮想計算機実行手段に対して仮想計算機を実行するための機能を提供し、
    前記マスタホスト以外のホスト上のCPUが仮想計算機のCPUとして、割り当てられ、前記仮想計算機は、複数のCPUをもつように制御され、
    前記マスタホスト以外のホストの前記制御手段は、前記ホスト間通信手段を介してマスタホストと通信し、マスタホストからの要求に対して処理を実行し、
    前記マスタホストから、前記ホスト間通信手段を介してメモリの内容が前記マスタホスト以外のホストにコピーされる、ことを特徴とする仮想計算機システム。
  5. 前記マスタホストが、前記マスタホストのメモリ及び/又はディスクを更新した場合、前記マスタホストから、前記マスタホストのメモリ及び/又はディスクの更新内容を、前記ホスト間通信手段を介して、前記マスタホスト以外のホストへ転送し、前記マスタホスト以外のホストのメモリ及び/又はディスクの内容が更新される、ことを特徴とする請求項1乃至3のいずれか一に記載の仮想計算機システム。
  6. 前記マスタホストが、前記マスタホストのメモリを更新した場合、前記マスタホストから、前記マスタホストのメモリの更新内容を、前記ホスト間通信手段を介して、前記マスタホスト以外のホストへ転送し、前記マスタホスト以外のホストのメモリの内容が更新される、ことを特徴とする請求項4に記載の仮想計算機システム。
  7. 前記マスタホストが動作中、前記マスタホスト以外のホストが起動された場合、前記マスタホストの制御手段は、前記制御手段のメモリ、ディスクの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリ、ディスクにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う手段を備えている、ことを特徴とする請求項1乃至3のいずれか一に記載の仮想計算機システム。
  8. 前記マスタホストが動作中、前記マスタホスト以外のホストが起動された場合、マスタホストの前記制御手段は、前記制御手段のメモリの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う手段を備えている、ことを特徴とする請求項4記載の仮想計算機システム。
  9. 前記マスタホストが動作中に、前記マスタホスト以外のホストがダウンした場合、前記ダウンしたホストに割り当てていた仮想的なCPUを削除する、ことを特徴とする請求項1乃至8のいずれか一に記載の仮想計算機システム。
  10. マスタホストが未決定である場合、前記複数のホストのホスト識別情報の値に基づき、1つのホストをマスタホストとする、ことを特徴とする請求項1乃至9のいずれか一に記載の仮想計算機システム。
  11. 前記複数のホストのうちマスタホストがダウンした場合、マスタホスト以外のホストのうちからマスタとなるホストが決定される、ことを特徴とする請求項1乃至10のいずれか一に記載の仮想計算機システム。
  12. 前記ゲストオペレーティングシステム上でのプログラムコードの実行は、正常ホストの個数のCPUが、並列に処理し、仮想CPUを提供する手段は、前記ゲストオペレーティングシステムに対して、あたかも正常ホストの数だけのCPUが存在するように振舞う、ことを特徴とする請求項1乃至11のいずれか一に記載の仮想計算機システム。
  13. 前記ホスト制御手段は、前記各ホストのCPUが動作するのに必要な情報をCPU制御手段に渡し、また前記各ホストのCPUでの実行結果をCPU制御手段から受け取り、
    前記CPU制御手段は、必要に応じて、各ホストと通信して各ホストに割り当てられたCPU実行に関する情報の授受を行う、ことを特徴とする請求項12に記載の仮想計算機システム。
  14. 仮想計算機を実行する仮想計算機実行手段と制御手段とを備えたホストを複数備え、ホスト間通信手段で前記ホスト間を通信を制御する仮想計算機システムの実行制御方法であって、
    複数の前記ホストのうちの1つがマスタ(マストであるホストを「マスタホスト」という)となり、前記仮想計算機実行手段をマスタホスト上で動作させるステップと、
    複数の前記ホストのうちの前記マスタホスト以外のホストのCPU(中央処理装置)を、ホスト間通信手段を経由して前記仮想計算機のCPUとして割り当てるステップと、
    を含む、ことを特徴とする仮想計算機システムの制御方法。
  15. 前記マスタホストのメモリ、又はディスクとメモリの内容を、前記マスタホスト以外の全ホストにコピーするステップを有し、
    任意の時点でのホストの追加削除を可能としている、ことを特徴とする請求項14記載の仮想計算機システムの制御方法。
  16. 複数の前記ホストに対して共用のディスクを用意しておき、マスタホストから他のホストへのディスクの内容のコピーを不要としている、ことを特徴とする請求項14記載の仮想計算機システムの制御方法。
  17. 前記マスタホストのメモリ及び/又はディスクを更新した場合、前記マスタホストから、前記マスタホストのメモリ及び/又はディスクの更新内容を、前記ホスト間通信手段を介して前記マスタホスト以外のホストへ転送し、前記マスタホスト以外のホストのメモリ及び/又はディスクの内容が更新される、ことを特徴とする請求項14記載の仮想計算機システムの制御方法。
  18. 前記マスタホストが動作中、前記マスタホスト以外のホストが起動された場合、前記マスタホストの前記制御手段は、前記制御手段のメモリとディスクの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリ、とディスクにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う、ことを特徴とする請求項14記載の仮想計算機システムの実行制御方法。
  19. 前記マスタホストが動作中、前記マスタホスト以外のホストが起動された場合、前記マスタホストの前記制御手段は、前記制御手段のメモリの内容を、前記ホスト間通信手段を介して新しく起動したホストの制御手段のメモリにコピーし、コピー完了後、仮想的なCPUを新たに追加して新しく起動したホストに割り当てる制御を行う、ことを特徴とする請求項16記載の仮想計算機システムの制御方法。
  20. 前記マスタホストが動作中に、前記マスタホスト以外のホストがダウンした場合、前記ダウンしたホストに割り当てていた仮想的なCPUを削除する、ことを特徴とする請求項14乃至19のいずれか一に記載の仮想計算機システムの制御方法。
  21. マスタホストが未決定である場合、前記複数のホストのホスト識別情報の値に基づき、1つのホストをマスタホストとする、ことを特徴とする請求項14乃至20のいずれか一に記載の仮想計算機システムの制御方法。
  22. 前記複数のホストのうち前記マスタホストがダウンした場合、前記マスタホスト以外のホストのうちからマスタとなるホストが決定される、ことを特徴とする請求項14乃至21のいずれか一に記載の仮想計算機システムの制御方法。
JP2002158966A 2002-05-31 2002-05-31 複数の実計算機上で動作する仮想計算機システム及びその制御方法 Pending JP2004005113A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002158966A JP2004005113A (ja) 2002-05-31 2002-05-31 複数の実計算機上で動作する仮想計算機システム及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002158966A JP2004005113A (ja) 2002-05-31 2002-05-31 複数の実計算機上で動作する仮想計算機システム及びその制御方法

Publications (1)

Publication Number Publication Date
JP2004005113A true JP2004005113A (ja) 2004-01-08

Family

ID=30428939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002158966A Pending JP2004005113A (ja) 2002-05-31 2002-05-31 複数の実計算機上で動作する仮想計算機システム及びその制御方法

Country Status (1)

Country Link
JP (1) JP2004005113A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268596A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd サービスシステムの冗長化方式
JP2007219757A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd 仮想計算機システムを機能させるためのプログラム
JP2008165637A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd サーバ仮想化環境における系切り替え方法及び計算機システム
EP2146280A2 (en) 2008-07-18 2010-01-20 Fujitsu Limited Resource migration system and resource migration method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268596A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd サービスシステムの冗長化方式
JP4494263B2 (ja) * 2005-03-25 2010-06-30 富士通株式会社 サービスシステムの冗長化方式
JP2007219757A (ja) * 2006-02-15 2007-08-30 Fujitsu Ltd 仮想計算機システムを機能させるためのプログラム
JP4585463B2 (ja) * 2006-02-15 2010-11-24 富士通株式会社 仮想計算機システムを機能させるためのプログラム
JP2008165637A (ja) * 2006-12-28 2008-07-17 Hitachi Ltd サーバ仮想化環境における系切り替え方法及び計算機システム
EP2146280A2 (en) 2008-07-18 2010-01-20 Fujitsu Limited Resource migration system and resource migration method
US8782235B2 (en) 2008-07-18 2014-07-15 Fujitsu Limited Resource migration system and resource migration method

Similar Documents

Publication Publication Date Title
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US10922135B2 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
KR101471879B1 (ko) 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체
US8533415B2 (en) Application migration and power consumption optimization in partitioned computer system
JP3868708B2 (ja) スナップショット管理方法及び計算機システム
JP4378335B2 (ja) ディスクへのトランザクション・データ書き込みの方式を動的に切り替える装置、切り替える方法、及び切り替えるプログラム
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US20140358972A1 (en) Interconnect partition binding api, allocation and management of application-specific partitions
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
JP2008033483A (ja) 計算機システム、計算機および計算機動作環境の移動方法
JP2006085543A (ja) 仮想計算機システム
JP2010123055A (ja) データ移行プログラム,データ移行方法及びデータ移行装置
WO2019061352A1 (zh) 数据加载方法及装置
EP3311272B1 (en) A method of live migration
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP5728812B2 (ja) 分散型情報処理システム及び分散ストレージシステム
US20210089379A1 (en) Computer system
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP6028415B2 (ja) 仮想サーバ環境のデータ移行制御装置、方法、システム
JP6123388B2 (ja) フォールトトレラントサーバ
JP2014067357A (ja) データ転送装置
JP2007310448A (ja) 計算機システム、管理計算機、および、ストレージシステム管理方法
JP2001290665A (ja) プロセッサシステム
JP2004005113A (ja) 複数の実計算機上で動作する仮想計算機システム及びその制御方法
US10592133B1 (en) Managing raw device mapping during disaster recovery

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060307