JP2019053492A - 仮想マシン制御システムおよび仮想マシン制御方法 - Google Patents

仮想マシン制御システムおよび仮想マシン制御方法 Download PDF

Info

Publication number
JP2019053492A
JP2019053492A JP2017176878A JP2017176878A JP2019053492A JP 2019053492 A JP2019053492 A JP 2019053492A JP 2017176878 A JP2017176878 A JP 2017176878A JP 2017176878 A JP2017176878 A JP 2017176878A JP 2019053492 A JP2019053492 A JP 2019053492A
Authority
JP
Japan
Prior art keywords
virtual
information
machine
virtual machine
control unit
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.)
Granted
Application number
JP2017176878A
Other languages
English (en)
Other versions
JP7024272B2 (ja
Inventor
洋明 高井
Hiroaki Takai
洋明 高井
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2017176878A priority Critical patent/JP7024272B2/ja
Publication of JP2019053492A publication Critical patent/JP2019053492A/ja
Application granted granted Critical
Publication of JP7024272B2 publication Critical patent/JP7024272B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】仮想マシンの稼働に要する情報を共有する複数の物理マシン同士を通信可能に接続する通信ネットワークへの負荷を抑制できる仮想マシン制御システムを提供する。【解決手段】仮想マシン910は、仮想マシン910で使用される情報である仮想情報を仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶する仮想記憶部911を有し、仮想マシン910が稼働する物理マシン920は、仮想記憶部911を構成する情報を仮想記憶情報として記憶する記憶部921と、仮想情報の更新内容を記憶部921に記憶されている仮想記憶情報に反映する反映部922と、一時的に使用されない仮想情報の更新内容のみを他の物理マシンに記憶されている仮想記憶情報に反映させるように他の物理マシンに指示する指示部923とを有する。【選択図】図6

Description

本発明は、仮想マシン制御システムおよび仮想マシン制御方法に関し、特に仮想マシンが有するディスクを構成する情報の同期処理を制御する仮想マシン制御システムおよび仮想マシン制御方法に関する。
仮想マシンが稼働する環境(以下、仮想マシン環境という。)を複数の物理マシンで構成する技術がある。仮想マシン環境が複数の物理マシンで構成されていると、仮想マシンが稼働する物理マシンに負荷や障害による影響が生じても、仮想マシンは、他の物理マシンに再配置されることによって継続して稼働できる可能性がある。
上記のように他の物理マシンに再配置された仮想マシンが継続して稼働するためには、例えば複数の物理マシンが同一の仮想ディスクに記憶されている情報にアクセスできるような構成が仮想マシン環境に求められる。構成が実現されるために、例えば、仮想マシン環境に共有ディスク装置が導入される。
しかし、仮想マシン環境に共有ディスク装置が導入されると、小規模な仮想マシン環境の構築は困難になる。よって、小規模な仮想マシン環境を構築するために、共有ディスク装置を利用せず、例えば仮想マシンが有するディスクである仮想ディスクを構成する情報(以下、仮想ディスク情報という。)を複数の物理マシンに配置する方法が使用される。
上記の方法では、複数の物理マシンに配置されている各仮想ディスク情報に仮想マシンからの書き込み要求の内容が反映される。すなわち、仮想マシンの管理者は、仮想マシンが稼働する物理マシンで障害等が発生しても、仮想マシンを新たな物理マシンに移動させることによって、移動させた物理マシンにおいて仮想マシンを継続して稼働させることができる。
上記のような共有ディスク装置が導入されずに、仮想マシン環境が複数の物理マシンで構成される方式が利用されている。また、通信ネットワーク技術の高度化および高速化に伴い、上記の方式は、比較的大規模な仮想マシン環境の構築にも利用されている。
特許第5471677号公報
上述したように、複数の物理マシンで構成される仮想マシン環境では、仮想マシンが稼働する物理マシンで故障等が発生したために仮想マシンが継続して稼働できない場合であっても、仮想マシンは、他の物理マシンにおいて再起動できる。再起動した仮想マシンは、他の物理マシンにおいて継続して稼働できる。
また、共有ディスク装置が導入されずに仮想マシン環境が複数の物理マシンで構成されるためには、仮想マシンが有する仮想ディスクを構成する情報である仮想ディスク情報が複数の物理マシンに共有されていることが求められる。
仮想ディスク情報が複数の物理マシンに共有されている場合、例えば仮想ディスクに対する書き込み要求が通信ネットワーク等を介して他の物理マシンに転送される。転送されることによって、書き込み要求が複数の物理マシンに共有される。
上記の方法では、書き込み要求の内容等の仮想ディスク情報に対する変更内容が全て複数の物理マシンに共有される。しかし、仮想ディスク情報に対する変更内容には、仮想マシンの再起動に不要な内容も存在する。すなわち、仮想ディスク情報に対する全ての変更内容が複数の物理マシンに共有される方法は、効率の低い方法である。
また、各仮想ディスク情報の内容を常に同期させる方法が取られると、物理マシン同士を通信可能に接続する通信ネットワークへの負荷が高まる可能性がある。通信ネットワークへの負荷が高まると、物理マシンの応答性が悪化するという問題が生じる恐れがある。
よって、通信ネットワークへの負荷を抑えつつ、安全に仮想ディスク情報の内容を同期させることができる方法が求められている。上記の方法が実現されるために、例えば仮想ディスク情報に対する変更内容のうち、共有される変更内容が選別されることが考えられる。
特許文献1には、仮想マシンが有する仮想ディスクを制御する仮想ディスク制御システムが記載されている。特許文献1に記載されている仮想ディスク制御システムは、ゲストOS(Operating System)に依らずに仮想化環境において物理メモリを有効に活用できるシステムである。しかし、特許文献1に記載されている仮想ディスク制御システムでは、仮想ディスク情報に対する変更内容のうち、共有される変更内容が選別されることは想定されていない。
[発明の目的]
そこで、本発明は、上述した課題を解決する、仮想マシンの稼働に要する情報を共有する複数の物理マシン同士を通信可能に接続する通信ネットワークへの負荷を抑制できる仮想マシン制御システムおよび仮想マシン制御方法を提供することを目的とする。
本発明による仮想マシン制御システムは、仮想マシンが稼働する物理マシンが少なくとも1つ含まれる複数の物理マシンで構成される仮想マシン制御システムであって、仮想マシンは、仮想マシンで使用される情報である仮想情報を仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶する仮想記憶部を有し、仮想マシンが稼働する物理マシンは、仮想記憶部を構成する情報を仮想記憶情報として記憶する記憶部と、仮想情報の更新内容を記憶部に記憶されている仮想記憶情報に反映する反映部と、一時的に使用されない仮想情報の更新内容のみを他の物理マシンに記憶されている仮想記憶情報に反映させるように他の物理マシンに指示する指示部とを有することを特徴とする。
本発明による仮想マシン制御方法は、仮想マシンが稼働する物理マシンが少なくとも1つ含まれる複数の物理マシンで構成される仮想マシン制御システムにおいて実行される仮想マシン制御方法であって、仮想マシンは、仮想マシンで使用される情報である仮想情報を仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶し、仮想マシンが稼働する物理マシンは、仮想マシンに記憶されている情報を構成する情報を仮想記憶情報として記憶し、仮想情報の更新内容を記憶されている仮想記憶情報に反映し、一時的に使用されない仮想情報の更新内容のみを他の物理マシンに記憶されている仮想記憶情報に反映させるように他の物理マシンに指示することを特徴とする。
本発明によれば、仮想マシンの稼働に要する情報を共有する複数の物理マシン同士を通信可能に接続する通信ネットワークへの負荷を抑制できる。
本発明による仮想マシンシステムの第1の実施形態の構成例を示すブロック図である。 第1の実施形態の物理マシン100および物理マシン110の構成例を示すブロック図である。 仮想ディスク部123に記憶されている記憶管理情報の例を示す説明図である。 第1の実施形態の仮想マシンシステム10による記憶情報更新処理の動作を示すフローチャートである。 第1の実施形態の仮想マシンシステム10による記憶情報取得処理の動作を示すフローチャートである。 本発明による仮想マシン制御システムの概要を示すブロック図である。
実施形態1.
[構成の説明]
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による仮想マシンシステムの第1の実施形態の構成例を示すブロック図である。
本実施形態の仮想マシンシステム10は、共有ディスク装置を有さない複数の物理マシンで構成される仮想マシン環境において、複数の物理マシンに仮想ディスク情報が共有される場合の通信ネットワークへの負荷、および仮想マシンのディスクへの負荷を軽減できる。また、仮想マシンシステム10は、仮想マシンの応答性も改善できる。
図1に示すように、本実施形態の仮想マシンシステム10は、物理マシン100と、物理マシン110と、通信ネットワーク200とを含む。なお、仮想マシンシステム10は、物理マシンを3台以上含んでもよい。
また、図1に示すように、物理マシン100および物理マシン110では、それぞれ仮想マシンが稼働する。また、通信ネットワーク200は、物理マシン100と物理マシン110を通信可能に接続する。
また、図1に示すように、本実施形態の物理マシン100は、制御部101と、ディスク制御部102と、ディスク部103と、通信制御部104と、仮想マシン120と、仮想マシン130と、仮想マシン140とを有する。
なお、物理マシン100は、仮想マシンを1台以上有する。すなわち、物理マシン100が有する仮想マシンの台数は、図1に示す3台に限られない。
また、図1に示すように、本実施形態の物理マシン110は、制御部111と、ディスク制御部112と、ディスク部113と、通信制御部114と、仮想マシン150と、仮想マシン160と、仮想マシン170とを有する。
すなわち、物理マシン110の構成は、物理マシン100の構成と同様である。なお、物理マシン110が有する仮想マシンの台数は、図1に示す3台に限られない。また、物理マシン110は、仮想マシンを有していなくてもよい。
制御部101は、各仮想マシンの動作、およびディスク部103へのディスク制御部102による操作を制御する機能を有する。また、制御部101は、通信制御部104を介して他の物理マシンが有する制御部と通信できる。また、制御部111は、制御部101が有する機能と同様の機能を有する。
ディスク制御部102は、ディスク部103に記憶されている情報を操作する機能を有する。また、ディスク制御部112は、ディスク制御部102が有する機能と同様の機能を有する。
ディスク部103は、後述する仮想マシンが有する仮想ディスク部を構成する実データ(仮想ディスク情報)を記憶する機能を有する。また、ディスク部113は、ディスク部103が有する機能と同様の機能を有する。
通信制御部104は、通信ネットワーク200を介して物理マシン110と通信する機能を有する。また、通信制御部114は、通信制御部104が有する機能と同様の機能を有する。
図2は、第1の実施形態の物理マシン100および物理マシン110の構成例を示すブロック図である。便宜上、図2に示す物理マシン100には、仮想マシン120のみが記載されている。また、便宜上、図2に示す物理マシン110には、仮想マシンが記載されていない。
図2に示すように、仮想マシン120は、仮想制御部121と、仮想ディスク制御部122と、仮想ディスク部123とを有する。
また、仮想マシン130、仮想マシン140、仮想マシン150、仮想マシン160、および仮想マシン170の各構成は、仮想マシン120の構成とそれぞれ同様である。なお、物理マシンは、構成が仮想マシン120の構成と異なる仮想マシンを有してもよい。
仮想制御部121は、仮想マシン120の動作を制御する機能を有する。また、仮想ディスク制御部122は、仮想ディスク部123に記憶されている情報を操作する機能を有する。
また、仮想ディスク部123は、仮想マシン120で使用される情報を記憶情報として記憶する機能を有する。また、図2に示すように、仮想ディスク部123は、記憶情報を記憶管理情報と共に記憶する。
本実施形態の記憶管理情報は、共に記憶されている記憶情報の属性を示す情報である。仮想ディスク制御部122は、仮想ディスク部123に記憶されている記憶情報や記憶管理情報を操作する。
また、図2における破線が示すように、仮想ディスク部123を構成する実データは、ディスク部103に仮想ディスク情報Aとして保存されている。すなわち、仮想ディスク部123の実体は、物理マシン100のディスク部103に保存されている仮想ディスク情報Aである。
すなわち、仮想マシン120における記憶情報や記憶管理情報は、仮想ディスク情報A内のデータとして表現される。また、ディスク制御部102は、仮想ディスク情報Aを操作できる。
本実施形態の記憶管理情報は、記憶情報が保存されている仮想ディスク部123内の位置や、記憶情報の属性を示す。仮想ディスク制御部122は、記憶情報が記憶されている仮想ディスク部123内の位置や記憶情報の属性を管理する記憶管理情報を用いて、記憶情報を制御する。
図3は、仮想ディスク部123に記憶されている記憶管理情報の例を示す説明図である。図3に示すように、記憶管理情報は、例えば記憶情報識別子と、記憶情報位置と、記憶情報属性とを含む。
記憶情報識別子は、記憶管理情報で管理される情報が記録されている記憶情報を一意に識別する識別子である。また、記憶情報位置は、記憶管理情報で管理される情報が記録されている記憶情報の部分を示す情報である。なお、記憶情報位置は、記憶情報が記憶されている仮想ディスク部123内の位置を示してもよい。
また、記憶情報属性は、記憶管理情報で管理される情報の属性を示す情報である。記憶情報が一時的に使用される情報(以下、一時的な情報という。)であるか否かは、記憶管理情報に含まれている記憶情報属性を基に判断される。なお、記憶情報属性は、記憶管理情報と独立に管理されてもよい。
以下、一時的な情報の例を示す。仮想制御部121で実行される処理の形態には、特定の記憶情報に対する更新に関して一時的な要求が発行されるような形態がある。例えば、仮想ディスクにおける特定領域に対するアクセスが常に一時的な要求であると考えられるような形態である。
仮想ディスクにおける特定領域には、仮想メモリ(スワップ)領域として利用される領域等、ドライバレベルで管理可能な領域が想定される。上記のスワップ領域内の情報が、例えば一時的な情報として管理される。
また、記憶情報を更新する場合、仮想ディスク制御部122は、対応する記憶管理情報を参照した上で、物理マシン100の制御部101に更新対象の記憶情報に対応する実データの更新要求を入力する。
更新要求が入力された制御部101は、ディスク部103に保存されている仮想ディスク情報Aに更新要求の内容を反映するように、ディスク制御部102に指示する。反映を指示されたディスク制御部102は、仮想ディスク情報Aに更新要求の内容を反映する。
上記のように、仮想ディスク制御部122による更新要求の内容は、物理マシン100の制御部101がディスク制御部102に指示することによってディスク部103に保存されている仮想ディスク情報Aに反映される。
なお、物理マシン100の制御部101は、仮想ディスク部123に保存されている内容を認識できない。すなわち、制御部101は、仮想ディスク部123に保存されている記憶情報および記憶管理情報を操作できない。
また、図2に示すように、仮想ディスク部123を構成する実データは、物理マシン110のディスク部113に仮想ディスク情報Bとして保存されている。本実施形態の仮想ディスク情報Aは、1台以上の他の物理マシンのディスク部に仮想ディスク情報B等として共有されている。すなわち、仮想マシンシステム10では、仮想ディスク情報Aの内容と仮想ディスク情報Bの内容がほぼ同一になるように同期が取られる。
仮想ディスク情報に対する更新要求は、通信ネットワーク200を介して物理マシン110の制御部111に通知される。制御部111は、物理マシン110が有するディスク部113に保存されている仮想ディスク情報Bに、通知された更新要求の内容を反映できる機能を有する。
具体的には、仮想ディスク情報Aに対する更新が要求された場合、制御部101は、仮想ディスク情報Aに更新要求の内容を反映すると共に、通信ネットワーク200を経由して物理マシン110の制御部111に更新要求を通知するように通信制御部104に指示する。
通知を指示された通信制御部104は、通信ネットワーク200を経由して通信制御部114に更新要求を通知する。通信制御部114は、通知された更新要求を制御部111に入力する。
制御部111は、ディスク制御部112を介して仮想ディスク情報Bに入力された更新要求の内容を反映する。上記の方法で、物理マシン110は、仮想ディスク情報を物理マシン100と共有する。
物理マシン100やディスク部103が故障等の理由で利用不可能な状態になると、仮想ディスク情報Aも利用不可能になるため、仮想マシン120は停止する。しかし、上記のように仮想ディスク情報が物理マシン110に共有されていれば、仮想マシン120は、物理マシン110のディスク部113に保存されている仮想ディスク情報Bを利用して、物理マシン110において起動できる。
また、仮想ディスク情報Bが物理マシン110から他の物理マシンに転送されれば、仮想マシン120は、物理マシン110以外の他の物理マシンにおいて起動できる。
本実施形態の記憶情報属性は、仮想マシン120内に存在する記憶情報が一時的な情報であるか否かを示す情報である。一時的な情報として管理されている記憶情報を更新する場合、仮想ディスク制御部122は、更新対象の情報が一時的な情報であることを示す情報を付与した上で仮想ディスク部123に対する更新要求を発行する。
物理マシン100の制御部101には、発行された更新要求が入力される。更新要求が入力された制御部101は、自身の物理マシン(物理マシン100)に保存されている仮想ディスク情報Aのみを更新するか、仮想ディスク情報Aと他の物理マシン(物理マシン110)に保存されている仮想ディスク情報Bの両方を更新するか判断する。
一時的な情報であることを示す情報が付与された更新要求が入力された場合、制御部101は、更新要求の内容を他の物理マシン(物理マシン110)に保存されている仮想ディスク情報Bに反映しない。反映しないことによって、仮想マシンシステム10は、通信負荷の軽減、およびアクセス性能の改善を実現できる。
本実施形態の仮想マシンシステム10は、仮想マシン120の仮想ディスク情報を有する物理マシンを2台以上含む。また、3台以上の物理マシンが仮想ディスク情報を共有する場合、制御部101は、一部の仮想ディスク情報に更新要求の内容を反映しなくてもよい。
また、仮想マシン120は、記憶情報へのアクセスの際に記憶管理情報を参照した時、アクセス対象の記憶情報が一時的な情報であることを記憶管理情報が示している場合、アクセス対象の記憶情報に過去の情報が反映されていない可能性があると認識できる。
例えば、仮想マシン120は、起動時に記憶情報にアクセスする。仮想マシン120は、記憶情報の内容が起動前と起動後で維持されていない可能性があると認識する。
記憶情報の読み込み時に対象の記憶情報が一時的な情報であると認識した場合、仮想マシン120は、記憶情報が仮想マシン120の起動後に更新されたか否かを確認する。更新されていない場合、仮想マシン120は、対象の記憶情報の内容を初期化する。
初期化する理由は、例えば一時的な情報に対する書き込み処理が行われると、仮想ディスク情報Aに仮想ディスク情報Bと不一致な内容が発生する。仮想マシン120の起動後に書き込み処理が行われても、物理マシン100に所属していることを仮想マシン120自身が認識している場合、仮想マシン120は、仮想ディスク情報Aが正当に保存された情報であると保証されていることを把握できる。
しかし、仮想マシン120は、常に所属している物理マシンがどれであるか認識しているとは限られない。すなわち、起動後に最初にアクセスする時点では、仮想マシン120は、利用される仮想ディスク情報が仮想ディスク情報Aであるか仮想ディスク情報Bであるかを判定できない可能性がある。
よって、起動直後のタイミングでは一時的な情報の全ての内容が取得されない可能性があるため、本実施形態の仮想マシンは、起動時に最初から一時的な情報を利用しないことにしたからである。
上記のように、本実施形態では一時的な記憶情報の内容は初期化される可能性があるため、仮想マシン120は、一時的な記憶情報の内容が全て反映されていない仮想ディスク情報を利用しても同様に動作できる。
すなわち、仮想ディスク情報Aが利用不可能な状況になった場合であっても、仮想マシン120は、一時的な情報の過去の内容が反映されていない仮想ディスク情報Bを利用して問題なく稼働できる。
以上のように、仮想マシン120は、起動後に一時的な記憶情報を読み込んだ時に更新されていない記憶情報の内容を初期化する。なお、仮想ディスク情報に識別情報が付加され、仮想ディスク情報の取得操作が実行された時に仮想ディスク情報Aが取得されたと確認された場合、仮想マシン120の起動処理において一時的な記憶情報の初期化は省略されてもよい。すなわち、仮想マシン120の起動処理で仮想ディスク情報Aがそのまま再利用されてもよい。
[動作の説明]
以下、本実施形態の仮想マシン120の仮想制御部121が記憶情報を更新する際の仮想マシンシステム10の動作を図4を参照して説明する。図4は、第1の実施形態の仮想マシンシステム10による記憶情報更新処理の動作を示すフローチャートである。
なお、仮想制御部121が記憶情報を更新する処理は、例えば仮想制御部121が記憶情報に新たな内容を書き込む処理である。
記憶情報の更新を要求する場合、仮想制御部121は、仮想ディスク制御部122に対して記憶情報の更新を指示する(ステップS101)。
更新を指示された仮想ディスク制御部122は、仮想ディスク部123に保存されている記憶管理情報を参照することによって、更新対象の情報の仮想ディスク部123における位置情報や属性情報を確認する(ステップS102)。
確認の際、仮想ディスク制御部122は、更新対象の情報の属性に「一時的」という属性があるか否かを確認する。「一時的」という属性がある場合(ステップS103におけるYes)、仮想ディスク制御部122は、記憶情報に対する更新要求を「一時的」という属性を付与して生成する(ステップS104)。
「一時的」という属性がない場合(ステップS103におけるNo)、仮想ディスク制御部122は、記憶情報に対する更新要求を通常の要求として生成する(ステップS105)。
次いで、仮想ディスク制御部122は、生成された更新要求を発行する。記憶情報が更新されるためには、仮想ディスク部123の実体であるディスク部103に保存されている仮想ディスク情報Aが更新されることが求められる。よって、仮想ディスク制御部122は、物理マシン100の制御部101に発行された更新要求を入力する(ステップS106)。
次いで、物理マシン100の制御部101は、仮想ディスク制御部122から入力された更新要求に基づいて仮想ディスク部123の実体である仮想ディスク情報Aを更新するために、ディスク制御部102に仮想ディスク情報Aの更新を要求する(ステップS107)。
更新を要求されたディスク制御部102は、ディスク部103に保存されている仮想ディスク情報Aを更新する(ステップS108)。更新した後、ディスク制御部102は、制御部101に更新が完了した旨を入力する。
なお、ステップS108から仮想ディスク情報Aに伸びる破線の矢印は、ステップS108で仮想ディスク情報Aが更新されることを示す。また、仮想ディスク情報Aから記憶情報に伸びる破線の矢印は、仮想ディスク情報Aに記憶情報が表現されていることを示す。
また、物理マシン100の制御部101は、ステップS107の処理と並列に、仮想ディスク制御部122から入力された更新要求が「一時的」という属性が付与された更新要求であるか否かを判定する(ステップS109)。
仮想ディスク制御部122から入力された更新要求が「一時的」という属性が付与された更新要求である場合(ステップS109におけるYes)、制御部101は、仮想ディスク情報Aの更新完了をもって記憶情報の更新が完了したとみなす。次いで、制御部101は、仮想制御部121に更新が完了した旨を入力する(ステップS116)。入力した後、仮想マシンシステム10は、記憶情報更新処理を終了する。
仮想ディスク制御部122から入力された更新要求が「一時的」という属性が付与された更新要求でない場合(ステップS109におけるNo)、制御部101は、通信制御部104に、物理マシン110に対して更新要求を送信するように指示する(ステップS110)。
送信される更新要求は、物理マシン110が有するディスク部113に保存されている仮想ディスク情報Bに対する更新要求である。なお、送信される更新要求の内容は、制御部101に入力された更新要求の内容と同様である。
送信を指示された通信制御部104は、通信ネットワーク200を介して物理マシン110の通信制御部114に更新要求を送信する(ステップS111)。更新要求を受信した通信制御部114は、物理マシン110の制御部111に受信された更新要求を入力する(ステップS112)。
次いで、制御部111は、仮想ディスク情報Aの共有情報である仮想ディスク情報Bを更新するために、仮想ディスク情報Aに実行された操作と同様の操作が実行される更新をディスク制御部112に要求する(ステップS113)。
更新を要求されたディスク制御部112は、ディスク部113に保存されている仮想ディスク情報Bを更新する(ステップS114)。更新した後、ディスク制御部112は、制御部111に更新が完了した旨を入力する。
なお、ステップS114から仮想ディスク情報Bに伸びる破線の矢印は、ステップS114で仮想ディスク情報Bが更新されることを示す。また、仮想ディスク情報Bから記憶情報に伸びる破線の矢印は、仮想ディスク情報Bに記憶情報が表現されていることを示す。
更新が完了した旨が入力された物理マシン110の制御部111は、通信制御部114に物理マシン100の制御部101に更新が完了した旨を通知するように指示する。通知を指示された通信制御部114は、通信ネットワーク200を介して通信制御部104に更新が完了した旨を通知する。次いで、通信制御部104は、制御部101に通知された更新が完了した旨を入力する(ステップS115)。
ディスク制御部102および通信制御部104からそれぞれ更新が完了した旨が入力された制御部101は、仮想ディスク情報Aの更新が完了したこと、および仮想ディスク情報Bの更新が完了したことをそれぞれ確認する。すなわち、制御部101は、記憶情報の更新が完了したとみなす。
次いで、制御部101は、仮想制御部121に更新が完了した旨を入力する(ステップS116)。入力した後、仮想マシンシステム10は、記憶情報更新処理を終了する。
次に、本実施形態の仮想マシン120の仮想制御部121が記憶情報を取得する際の仮想マシンシステム10の動作を図5を参照して説明する。図5は、第1の実施形態の仮想マシンシステム10による記憶情報取得処理の動作を示すフローチャートである。
なお、仮想制御部121が記憶情報を取得する処理は、例えば仮想制御部121が仮想ディスク部123に保存されている記憶情報を読み込む処理である。
記憶情報を取得する場合、仮想制御部121は、仮想ディスク制御部122に対して記憶情報の取得を指示する(ステップS201)。
取得を指示された仮想ディスク制御部122は、仮想ディスク部123に保存されている記憶管理情報を参照することによって、取得対象の情報の仮想ディスク部123における位置情報や属性情報を確認する(ステップS202)。
確認の際、仮想ディスク制御部122は、取得対象の情報の属性に「一時的」という属性があるか否かを確認する。「一時的」という属性がある場合(ステップS203におけるYes)、仮想ディスク制御部122は、仮想マシン120が起動してから記憶情報取得処理が開始されるまでに取得対象の情報が更新されたか否かを確認する(ステップS204)。
仮想マシン120が起動した後に取得対象の情報が更新されている場合(ステップS204におけるYes)、仮想ディスク制御部122は、取得対象の情報が利用可能であると判定する。取得対象の情報が利用可能であると判定された場合、仮想ディスク制御部122は、ステップS209の処理を行う。
仮想マシン120が起動した後に取得対象の情報が更新されていない場合(ステップS204におけるNo)、仮想ディスク制御部122は、取得対象の情報が利用不可能であると判定する。取得対象の情報が利用不可能であると判定された場合、仮想ディスク制御部122は、仮想ディスク部123に対する取得対象の情報の初期化を要求する。
取得対象の情報の属性に「一時的」という属性があるため、仮想ディスク制御部122は、取得対象の情報の初期化要求を「一時的」という属性を付与して生成する(ステップS205)。
次いで、仮想ディスク制御部122は、生成された初期化要求を発行する。取得対象の情報が初期化されるためには、仮想ディスク部123の実体であるディスク部103に保存されている仮想ディスク情報Aの該当領域が初期化されることが求められる。
よって、仮想ディスク制御部122は、物理マシン100の制御部101に発行された初期化要求を入力する(ステップS206)。なお、仮想ディスク情報Aの該当領域は、取得対象の情報が表現されている領域である。
次いで、制御部101は、仮想ディスク制御部122から入力された初期化要求に基づいて仮想ディスク部123の実体である仮想ディスク情報Aの該当領域を初期化するために、ディスク制御部102に仮想ディスク情報Aの該当領域の初期化を要求する(ステップS207)。
初期化を要求されたディスク制御部102は、ディスク部103に保存されている仮想ディスク情報Aの該当領域を初期化する(ステップS208)。
なお、ステップS208から仮想ディスク情報Aに伸びる破線の矢印は、ステップS208で仮想ディスク情報Aの該当領域が初期化されることを示す。また、仮想ディスク情報Aから記憶情報に伸びる破線の矢印は、仮想ディスク情報Aに記憶情報が表現されていることを示す。
次いで、仮想ディスク制御部122は、記憶情報のうちの取得対象の情報に対する取得要求を生成する(ステップS209)。
次いで、仮想ディスク制御部122は、生成された取得要求を発行する。記憶情報から取得対象の情報が読み取られるためには、仮想ディスク部123の実体であるディスク部103に保存されている仮想ディスク情報Aから取得対象の情報が取得されることが求められる。よって、仮想ディスク制御部122は、物理マシン100の制御部101に発行された取得要求を入力する(ステップS210)。
次いで、物理マシン100の制御部101は、仮想ディスク制御部122から入力された取得要求に基づいて仮想ディスク部123の実体である仮想ディスク情報Aから取得対象の情報を取得するために、ディスク制御部102に仮想ディスク情報Aの該当領域の情報の取得を要求する(ステップS211)。
取得を要求されたディスク制御部102は、ディスク部103に保存されている仮想ディスク情報Aの該当領域の情報を取得する(ステップS212)。なお、ステップS212から仮想ディスク情報Aに伸びる破線の矢印は、ステップS212で仮想ディスク情報Aの該当領域の情報が取得されることを示す。
次いで、ディスク制御部102は、取得された情報を制御部101に入力する。次いで、物理マシン100の制御部101は、入力された情報を仮想マシン120の仮想制御部121に入力する(ステップS213)。
次いで、仮想制御部121は、入力された情報を読み込む(ステップS214)。読み込んだ後、仮想マシンシステム10は、記憶情報取得処理を終了する。
[効果の説明]
本実施形態では仮想マシン120に保存されている記憶管理情報に、記憶情報が一時的な情報であるか否かを示す情報が追加されている。仮想ディスク制御部122は、記憶情報のうち一時的に利用される情報を更新する場合、記憶管理情報を参照して物理マシン100の制御部101に対して仮想ディスク情報Aに反映される更新要求の対象が一時的な情報であることを伝達する。
制御部101は、仮想ディスク情報Aへの反映時に仮想ディスク制御部122からの更新要求の内容を確認し、更新要求の内容を仮想ディスク情報Aのみに反映するか、仮想ディスク情報Aだけでなく仮想ディスク情報Bにも反映するか判断する。
本実施形態の制御部101は、対象が一時的な情報であるとされた更新要求の内容を仮想ディスク情報Aのみに反映する。すなわち、仮想ディスク情報Bへの更新要求の内容の反映が一部抑制されるため、通信負荷の軽減、および応答性の改善が実現される。
本実施形態の仮想マシンシステム10が使用されると、以下の2つの効果が得られる。第1の効果は、物理マシンの制御部が他の物理マシンのディスク部に保存されている予備の仮想ディスク情報の更新要求を削減することによって、物理マシン間の通信ネットワークへの負荷が軽減されることである。
制御部は、例えば、仮想マシン内のOSのスワップファイルやキャッシュファイル等の所定量のアクセスが発生するファイルへのアクセスの種類を認識した上で、更新要求を削減する。
ディスク部に対する書き込み要求は、短時間でも要求量が大きかったり、連続して発生したりすることがある。よって、物理マシンのディスク部に対する処理には、高速性が確保されている場合が多い。しかし、ディスク部に確保されている帯域幅に比べて通信ネットワークには、十分な帯域幅が確保されていない場合が多い。
特に、共有ディスクが利用されない形態の仮想マシン環境において、書き込み要求の伝達範囲は、1つの物理マシン内に限定される。上記のような仮想マシン環境における物理マシンのディスク部に対する処理には、高速性が確保されている。
しかし、通信ネットワークによる接続は、物理マシンと外部の物理マシンとの接続である。すなわち、十分な帯域幅が確保されていない通信ネットワークを介した処理には、通信速度に基づく制約がある。また、多くの物理マシンが通信ネットワークを共有する場合、輻輳による影響が発生する可能性がある。
本実施形態の仮想マシンシステム10では物理マシン間の通信ネットワークへの負荷が軽減されるため、管理者は、十分な帯域幅が確保されていない通信ネットワークであっても仮想マシンシステム10に適用できる。
第2の効果は、仮想マシンのディスクへのアクセス性能が向上することである。ディスクに対して安全に書き込みが行われるためには、仮想ディスク情報に更新内容が全て反映されていると保証されていることが求められる。
本実施形態の仮想マシンシステム10では、仮想マシンが稼働する物理マシンのディスク部が、外部の物理マシンと通信ネットワークを介して通信可能に接続されている。すなわち、ディスク部に対する操作の応答性と、外部の物理マシンに対する操作の応答性に差異がある。よって、各仮想ディスク情報に更新内容が全て反映される場合、仮想マシンが利用する情報に対する操作の性能が一律に低下すると推測される。
本実施形態の仮想マシンシステム10では、仮想マシンが一時的に利用するような揮発性を有する情報に対する操作は、仮想マシンが稼働する物理マシン内でのみ実行される。すなわち、通信ネットワークが利用されないため、揮発性を有する情報に対する操作の性能が向上することが期待される。
なお、本実施形態の物理マシン100、および物理マシン110は、例えば、非一時的な記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち、制御部101、ディスク制御部102、通信制御部104、制御部111、ディスク制御部112、および通信制御部114は、プログラム制御に従って処理を実行するCPUによって実現される。
また、仮想マシン120、仮想マシン130、および仮想マシン140は、具体的には仮想ソフトウェアに従って物理マシン100のCPUが処理を実行することによって実現される。また、仮想マシン150、仮想マシン160、および仮想マシン170は、具体的には仮想ソフトウェアに従って物理マシン110のCPUが処理を実行することによって実現される。
また、ディスク部103、およびディスク部113は、例えばRAM(Random Access Memory)で実現されてもよい。
次に、本発明の概要を説明する。図6は、本発明による仮想マシン制御システムの概要を示すブロック図である。本発明による仮想マシン制御システム900は、仮想マシン910(例えば、仮想マシン120)が稼働する物理マシン920(例えば、物理マシン100)が少なくとも1つ含まれる複数の物理マシンで構成される仮想マシン制御システムであって、仮想マシン910は、仮想マシン910で使用される情報である仮想情報を仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶する仮想記憶部911(例えば、仮想ディスク部123)を有し、仮想マシン910が稼働する物理マシン920は、仮想記憶部911を構成する情報を仮想記憶情報として記憶する記憶部921(例えば、ディスク部103)と、仮想情報の更新内容を記憶部921に記憶されている仮想記憶情報に反映する反映部922(例えば、ディスク制御部102)と、一時的に使用されない仮想情報の更新内容のみを他の物理マシン(例えば、物理マシン110)に記憶されている仮想記憶情報に反映させるように他の物理マシンに指示する指示部923(例えば、制御部101)とを有する。
そのような構成により、仮想マシン制御システムは、仮想マシンの稼働に要する情報を共有する複数の物理マシン同士を通信可能に接続する通信ネットワークへの負荷を抑制できる。
また、仮想マシン910は、仮想情報を制御する制御部(例えば、仮想ディスク制御部122)を有し、制御部は、仮想情報の取得要求を発行し、反映部922は、発行された取得要求に基づいて仮想記憶情報のうちの取得対象の情報を取得し、取得された取得対象の情報を制御部に入力してもよい。
そのような構成により、仮想マシン制御システムは、仮想マシンに所定の仮想ディスク情報を読み込ませることができる。
また、制御部は、仮想マシン910が起動した後に更新されていない一時的に使用される仮想情報の取得要求を発行する前に仮想情報の初期化要求を発行し、反映部922は、発行された初期化要求に基づいて仮想記憶情報のうちの取得対象の情報を初期化してもよい。
そのような構成により、仮想マシン制御システムは、仮想マシンを安全に起動させることができる。
また、反映部922は、記憶部921に記憶されている仮想記憶情報に対する初期化を省略してもよい。
そのような構成により、仮想マシン制御システムは、仮想マシンの起動処理の速度を向上できる。
また、仮想マシン910が稼働する物理マシン920は、他の物理マシンと通信ネットワーク(例えば、通信ネットワーク200)を介して通信可能に接続されていてもよい。
そのような構成により、仮想マシン制御システムは、仮想マシンの稼働に要する情報を共有する複数の物理マシン同士を通信可能に接続する通信ネットワークへの負荷を抑制できる。
10 仮想マシンシステム
100、110、920 物理マシン
101、111 制御部
102、112 ディスク制御部
103、113 ディスク部
104、114 通信制御部
120、130、140、150、160、170、910 仮想マシン
121 仮想制御部
122 仮想ディスク制御部
123 仮想ディスク部
200 通信ネットワーク
900 仮想マシン制御システム
911 仮想記憶部
921 記憶部
922 反映部
923 指示部

Claims (10)

  1. 仮想マシンが稼働する物理マシンが少なくとも1つ含まれる複数の物理マシンで構成される仮想マシン制御システムであって、
    前記仮想マシンは、
    前記仮想マシンで使用される情報である仮想情報を前記仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶する仮想記憶部を有し、
    前記仮想マシンが稼働する物理マシンは、
    前記仮想記憶部を構成する情報を仮想記憶情報として記憶する記憶部と、
    仮想情報の更新内容を前記記憶部に記憶されている仮想記憶情報に反映する反映部と、
    一時的に使用されない仮想情報の更新内容のみを他の物理マシンに記憶されている仮想記憶情報に反映させるように前記他の物理マシンに指示する指示部とを有する
    ことを特徴とする仮想マシン制御システム。
  2. 仮想マシンは、仮想情報を制御する制御部を有し、
    前記制御部は、仮想情報の取得要求を発行し、
    反映部は、
    発行された取得要求に基づいて仮想記憶情報のうちの取得対象の情報を取得し、
    取得された取得対象の情報を前記制御部に入力する
    請求項1記載の仮想マシン制御システム。
  3. 制御部は、仮想マシンが起動した後に更新されていない一時的に使用される仮想情報の取得要求を発行する前に前記仮想情報の初期化要求を発行し、
    反映部は、発行された初期化要求に基づいて仮想記憶情報のうちの取得対象の情報を初期化する
    請求項2記載の仮想マシン制御システム。
  4. 反映部は、記憶部に記憶されている仮想記憶情報に対する初期化を省略する
    請求項3記載の仮想マシン制御システム。
  5. 仮想マシンが稼働する物理マシンは、他の物理マシンと通信ネットワークを介して通信可能に接続されている
    請求項1から請求項4のうちのいずれか1項に記載の仮想マシン制御システム。
  6. 仮想マシンが稼働する物理マシンが少なくとも1つ含まれる複数の物理マシンで構成される仮想マシン制御システムにおいて実行される仮想マシン制御方法であって、
    前記仮想マシンは、
    前記仮想マシンで使用される情報である仮想情報を前記仮想情報が一時的に使用される情報であるか否かを示す情報と共に記憶し、
    前記仮想マシンが稼働する物理マシンは、
    前記仮想マシンに記憶されている情報を構成する情報を仮想記憶情報として記憶し、
    仮想情報の更新内容を記憶されている仮想記憶情報に反映し、
    一時的に使用されない仮想情報の更新内容のみを他の物理マシンに記憶されている仮想記憶情報に反映させるように前記他の物理マシンに指示する
    ことを特徴とする仮想マシン制御方法。
  7. 仮想マシンは、仮想情報の取得要求を発行し、
    前記仮想マシンが稼働する物理マシンは、
    発行された取得要求に基づいて仮想記憶情報のうちの取得対象の情報を取得し、
    取得された取得対象の情報を前記仮想マシンに入力する
    請求項6記載の仮想マシン制御方法。
  8. 仮想マシンは、前記仮想マシンが起動した後に更新された一時的に使用される仮想情報の取得要求を発行する前に前記仮想情報の初期化要求を発行し、
    前記仮想マシンが稼働する物理マシンは、発行された初期化要求に基づいて仮想記憶情報のうちの取得対象の情報を初期化する
    請求項7記載の仮想マシン制御方法。
  9. 仮想マシンが稼働する物理マシンは、前記物理マシンに記憶されている仮想記憶情報に対する初期化を省略する
    請求項8記載の仮想マシン制御方法。
  10. 仮想マシンが稼働する物理マシンは、他の物理マシンと通信ネットワークを介して通信可能に接続されている
    請求項6から請求項9のうちのいずれか1項に記載の仮想マシン制御方法。
JP2017176878A 2017-09-14 2017-09-14 仮想マシン制御システムおよび仮想マシン制御方法 Active JP7024272B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017176878A JP7024272B2 (ja) 2017-09-14 2017-09-14 仮想マシン制御システムおよび仮想マシン制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017176878A JP7024272B2 (ja) 2017-09-14 2017-09-14 仮想マシン制御システムおよび仮想マシン制御方法

Publications (2)

Publication Number Publication Date
JP2019053492A true JP2019053492A (ja) 2019-04-04
JP7024272B2 JP7024272B2 (ja) 2022-02-24

Family

ID=66015086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017176878A Active JP7024272B2 (ja) 2017-09-14 2017-09-14 仮想マシン制御システムおよび仮想マシン制御方法

Country Status (1)

Country Link
JP (1) JP7024272B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010102A (ja) * 2015-06-17 2017-01-12 株式会社日立製作所 二重系システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010102A (ja) * 2015-06-17 2017-01-12 株式会社日立製作所 二重系システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOOLENAAR, BRAM: "Vim documentation: options", VIM REFERENCE MANUAL, JPN6021031180, 22 March 2011 (2011-03-22), ISSN: 0004570918 *

Also Published As

Publication number Publication date
JP7024272B2 (ja) 2022-02-24

Similar Documents

Publication Publication Date Title
US9411646B2 (en) Booting secondary processors in multicore system using kernel images stored in private memory segments
US8688800B2 (en) Remote configuration of persistent memory system ATT tables
US8775755B2 (en) Peer-to-peer transcendent memory
EP3885903A1 (en) Cloud desktop upgrade method, device, cloud server, and storage medium
KR20190095066A (ko) 정보 처리 방법, 장치, 서버 및 컴퓨터 판독 가능 매체
CN103154909A (zh) 分布式高速缓冲存储器一致性协议
JP6663478B2 (ja) データ移行方法及び計算機システム
WO2020108271A1 (zh) 应用程序更新方法、设备和装置及存储介质
US10805394B2 (en) File server apparatus having shared file system with file and directory operation processing
JP2009205614A (ja) ストレージシステムの制御方法、スイッチ装置およびストレージシステム
JP5124430B2 (ja) 仮想マシンの移行方法、サーバ、及び、プログラム
JP2014067357A (ja) データ転送装置
US20170366612A1 (en) Parallel processing device and memory cache control method
KR102208704B1 (ko) Sql 쿼리에 해당하는 동작을 수행할 수 있는 블록체인 소프트웨어, 블록체인 시스템, 및 이의 동작 방법
JP2005267545A (ja) ストレージシステム
WO2012081270A1 (ja) 計算機システム及び管理サーバ
EP4044015A1 (en) Data processing method and apparatus
JP6461101B2 (ja) データベースシステム、情報処理装置、方法およびプログラム
US20150269098A1 (en) Information processing apparatus, information processing method, storage, storage control method, and storage medium
JP5518143B2 (ja) 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
JP7024272B2 (ja) 仮想マシン制御システムおよび仮想マシン制御方法
US10120594B1 (en) Remote access latency in a reliable distributed computing system
JP6257748B2 (ja) データベースシステム、情報処理装置、方法およびプログラム
JP2018032072A (ja) プログラム、情報処理装置、ストレージシステム、およびストレージシステムの制御方法
JP2010134583A (ja) データベース処理方法、データベース処理プログラム、および、データベース指示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211014

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: 20220111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220124

R151 Written notification of patent or utility model registration

Ref document number: 7024272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151