JP2014197337A - 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム - Google Patents

仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム Download PDF

Info

Publication number
JP2014197337A
JP2014197337A JP2013073078A JP2013073078A JP2014197337A JP 2014197337 A JP2014197337 A JP 2014197337A JP 2013073078 A JP2013073078 A JP 2013073078A JP 2013073078 A JP2013073078 A JP 2013073078A JP 2014197337 A JP2014197337 A JP 2014197337A
Authority
JP
Japan
Prior art keywords
memory
virtual machine
master
virtual
data
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
JP2013073078A
Other languages
English (en)
Other versions
JP6146092B2 (ja
Inventor
大輔 浅見
Daisuke Asami
大輔 浅見
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 JP2013073078A priority Critical patent/JP6146092B2/ja
Publication of JP2014197337A publication Critical patent/JP2014197337A/ja
Application granted granted Critical
Publication of JP6146092B2 publication Critical patent/JP6146092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】物理リソースへの負荷や容量の低減、及び仮想マシンの起動処理時間の短時間化を実現する。【解決手段】仮想マシン100が、ゲストOS102起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMM210に発行する。メモリ制御手段211は採取したメモリデータを仮想サーバ300上の物理メモリ301に保存する。任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリ303として保存するとともに、マスタメモリファイル401として記憶装置400上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータとマスタメモリ303と異なる部分を差分データとして抽出し、差分メモリファイル402として記憶装置400上に保存する。【選択図】図1

Description

本発明は、仮想マシン起動処理に関し、特に、物理リソースへの負荷や容量の低減を実現し、起動処理時間の短時間化を実現する技術に関する。
昨今、物理サーバ上で複数の仮想マシンを動作させる仮想化技術が普及している。仮想マシンには物理マシン同様に、例えばメモリやディスクなどのハードウェア装置が仮想的に構成され、その上でオペレーティングシステム(以下、OS)が動作する。
仮想マシンの仮想ディスクを実現するには複数の方式があるが、一般的に、固定ディスク方式、ならびに差分ディスク方式、が挙げられる。以下、それぞれの方式に関して説明する。
固定ディスク方式では、仮想ディスクと同容量の仮想ディスクファイルを記憶装置内に作成し、格納する。仮想マシンは、この仮想ディスクファイルに対して、データの読み込み、および書き込みを実施する。
固定ディスク方式では、仮想マシンごとに独立した仮想ディスクファイルが提供されるため、他の仮想マシンからの影響が無く、一般的な物理マシンと同等のディスク機能を提供することが可能である。しかし、一方で固定ディスク方式は、仮想マシンごとに仮想ディスクと同容量の記憶領域を必要とするため、大容量の記憶装置を用意する必要がある。
差分ディスク方式では、仮想ディスクを構成する仮想ディスクファイルとして、読み取り専用となるマスタディスクファイルと、このマスタディスクファイルの更新部分(差分)のみを保持する差分ディスクファイルとを持つ。仮想マシンが、仮想ディスクへの書き込み処理において、マスタディスクファイルに該当するブロック位置のデータ更新を伴う書き込みを行った場合、実際にはマスタディスクファイルは更新されず、差分ディスクファイルに書き込みが行われ、更新される。差分ディスクファイルは、データが更新される都度、記憶領域内でディスク領域を確保するため、固定ディスク方式のように最初から仮想ディスクと同容量の記憶領域を必要としない。
仮想マシンが、仮想ディスクからデータを読み込む場合、差分ディスクファイルに更新されたデータがある場合はそれを読み込み、更新されたデータが無い場合はマスタディスクファイルから読み込みが行われる。このため、マスタディスクファイル自体は更新されることがなく、複数の仮想マシンから参照可能な仮想ディスクファイルである。
一般的に、マスタディスクファイルには、仮想マシン共通の情報(OSやアプリケーション、など)が格納され、差分ディスクファイルには、仮想マシンごとが個々に持つ一意な情報(ホスト名やIPアドレス、など)が最低限保持される。
差分ディスク方式では、マスタディスクファイルを複数の仮想マシンから共有することが可能であるため、同一構成の仮想マシンが複数動作する仮想マシン環境に差分ディスク方式を採用した場合、固定ディスク方式と比較し、記憶領域の削減が可能となる。また、同一構成の仮想マシンを複数展開する場合、マスタディスクファイル分のデータ複製が不要となるため、迅速な展開が可能となる。このため、差分ディスク方式は、VDI(Virtual Desktop Infrastructure)のように、同一のOSやアプリケーション構成の仮想マシンが多量に存在する環境で頻繁に使用される方式である。
差分ディスク方式以外で、物理リソース消費を低減する方法がいくつか提供されている。
物理メモリ消費を低減する1つの方法として、VMware社の「TPS(Transparent Page Sharing)」がある。このTPSは、仮想マシン間で同一のデータが格納されたメモリページを、各仮想マシンで保持するのではなく、1つのメモリページを仮想マシン間で参照し、共有化する機能である。本機能は、VDIのように、同一メモリページとなりやすい同一のOSやアプリケーション構成の仮想マシンが複数存在する環境で有効である。これにより、各仮想マシンで同一のメモリページを保持する必要はなくなるため、物理メモリの容量削減が可能となる。
他の解決方法が、特許文献1に記載されている。特許文献1では、物理ディスク上から物理メモリ上に仮想マシンのデータを予め配置させ、それ以降の仮想マシン起動で必要なデータは、物理ディスクからではなく物理メモリ上に配置したデータから読み出される、というものである。
ここで、関連技術として、特許文献2は、複数の仮想マシンで共有するスナップショットイメージをホストOSのメモリ領域に保持し、メモリへの書き込みがあったときに、スナップショットイメージの部分領域を複写して差分メモリ領域を生成する技術を開示している。
また、別の関連技術として、特許文献2は、複数の仮想サーバ間で、ゲストOSのCPUレジスタのデータ及びメモリデータをコピーする技術を開示している。
特開2008−135009号公報 特開2007−066265号公報 特開2011−210151号公報
前述のとおり、差分ディスク方式により記憶領域の削減は実現可能であるが、それ以外の物理リソース、つまりCPUや物理メモリ、ディスク装置へ要求される処理は、固定ディスク方式と変わらず、仮想マシン台数分必要である。特に、仮想マシン起動処理のように、マスタディスクファイルからのデータの読み込み、メモリに展開されるデータ、その処理のために使用されるCPU時間は、その処理の内容が各仮想マシンでほぼ同一の内容となるにも関わらず、仮想マシン台数分の物理リソース消費、時間が必要となる。
また、VDIでは、導入コストを低減するため、物理マシン上で稼働させる仮想マシン台数が多量、つまり高集約となる傾向にあり、かつその仮想マシンはデスクトップ用途となるため、仮想マシン起動(再起動含む)処理が、サーバ用途のそれと比較し、頻繁に発生する特徴がある。起動処理は、物理リソースへ多量の要求がなされるため、仮想マシン高集約環境においては、物理リソースへの負荷が集中しやすく、システム全体の性能低下を招きやすく、仮想マシンの性能低下を発生させる、という問題がある。
さらに、仮想マシンの性能低下により仮想マシンの起動、再起動処理時間の遅延が発生することで、仮想マシン利用者のダウンタイムが長期化する、という問題がある。
一方、TPSは、仮想マシン起動後のメモリページを定期的に確認し、共有化可否の判断しているため、仮想マシン起動処理自体に関してはその恩恵を受けることができない。
また、特許文献1の方法では、仮想マシンごとのデータを物理メモリ上に配置する必要があり、VDIのように仮想マシン台数が多量に存在する環境では、物理メモリの容量を圧迫してしまう、という課題がある。
(発明の目的)
本発明の目的は、上述の課題を解決し、物理リソースへの負荷や容量の低減を実現する仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラムを提供することである。
本発明の他の目的は、起動処理時間の短時間化を実現する仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラムを提供することである。
本発明の第1の仮想化システムは、VMMを備え、仮想マシンが動作する仮想サーバと、記憶装置とを備え、仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMMに発行するメモリ同期手段を備え、VMMが、トリガを受信し、仮想マシンの動作を停止させる同期管理手段と、トリガを契機にその時点における仮想マシンのメモリデータを採取するメモリ制御手段とを備え、メモリ制御手段は、採取したメモリデータを仮想サーバ上の物理メモリに保存し、複数の仮想マシンから任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリとして物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータと、マスタメモリとを比較して、マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして記憶装置上に保存する。
本発明の第1の仮想サーバは、VMMを備え、仮想マシンが動作する仮想サーバであって、仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMMに発行するメモリ同期手段を備え、VMMが、トリガを受信し、仮想マシンの動作を停止させる同期管理手段と、トリガを契機にその時点における仮想マシンのメモリデータを採取するメモリ制御手段とを備え、メモリ制御手段は、採取したメモリデータを仮想サーバ上の物理メモリに保存し、複数の仮想マシンから任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリとして物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータと、マスタメモリとを比較して、マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして記憶装置上に保存する。
本発明の第1の仮想マシン制御方法は、VMMを備え、仮想マシンが動作する仮想サーバによる仮想マシン制御方法であって、仮想マシンが備えるメモリ同期手段が、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMMに発行するメモリ同期ステップと、VMMが備える同期管理手段が、トリガを受信し、仮想マシンの動作を停止させる同期管理ステップと、VMMが備えるメモリ制御手段が、トリガを契機にその時点における仮想マシンのメモリデータを採取するメモリ制御ステップとを有し、メモリ制御ステップで、採取したメモリデータを仮想サーバ上の物理メモリに保存し、複数の仮想マシンから任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリとして物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータと、マスタメモリとを比較して、マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして記憶装置上に保存する。
本発明の第1の仮想マシン制御プログラムは、VMMを備え、仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作する仮想マシン制御プログラムであって、仮想マシンが備えるメモリ同期手段に、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMMに発行するメモリ同期処理を実行させ、VMMが備える同期管理手段に、トリガを受信し、仮想マシンの動作を停止させる同期管理処理を実行させ、VMMが備えるメモリ制御手段に、トリガを契機にその時点における仮想マシンのメモリデータを採取するメモリ制御処理を実行させ、メモリ制御処理で、採取したメモリデータを仮想サーバ上の物理メモリに保存し、複数の仮想マシンから任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリとして物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータと、マスタメモリとを比較して、マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして記憶装置上に保存する。
本発明によれば、物理リソースへの負荷や容量の低減を実現することができる。
また、本発明によれば、起動処理時間の短時間化を実現することができる。
本発明の第1の実施の形態による仮想化システムの構成を示すブロック図である。 本発明の第1の実施の形態によるメモリの構成例を示す図である。 本発明の第1の実施の形態におけるマスタメモリ及びマスタメモリファイルの生成の動作を示すフローチャートである。 本発明の第1の実施の形態における差分メモリファイルの生成の動作を示すフローチャートである。 本発明の第1の実施の形態における仮想マシンの起動の動作を示すフローチャートである。 本発明の仮想化システムの最小限の構成を示すブロック図である。 本発明の仮想サーバのハードウェア構成例を示すブロック図である。
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
差分ディスク方式の仮想マシンが稼働するシステムにおいて、仮想マシン起動からある特定の時点までに、ディスクから読み込まれ展開されるメモリ情報を保持する機能、ならびに仮想マシン間でそのメモリ情報を比較し、その差分のメモリ情報を保持する方法を提供する。
仮想マシンを起動する場合、予め保持された各メモリ情報を組み合わせ、起動からある特定の時点までのメモリ情報を構成し、仮想マシンに割り当てた後に仮想マシン起動処理を再開する。これにより、仮想マシンの起動処理は、特定の時点までスキップされるため、仮想マシン起動処理時間の短縮、CPU、メモリ、ディスクといった物理リソースへの負荷回避、を実現することができる。
本発明では、差分ディスク方式において、仮想マシン起動から特定の時点までに物理メモリに展開されたメモリデータを、仮想マシン間で共有するマスタメモリと、仮想マシンごとに発生するマスタメモリとの差分を差分メモリと、に分けて管理する。仮想マシンを起動する時は、マスタメモリと差分メモリから、該当仮想マシンの特定の時点までのメモリデータを構成し、それを割り当てることで、特定の時点以降の処理から仮想マシンの起動処理を再開させることで、前述の課題を解決する。
具体的には、本発明にて実現するシステムは、仮想マシン上のゲストOS内に、ハイパーバイザ(VMM)と同期し、仮想マシンの動作を一時停止させ、VMM内にて仮想マシンのメモリデータを採取させるトリガを発行する、メモリ同期機能を持つ。
VMM内には、このメモリ同期機能からのトリガを受信し、VMMに対して仮想マシンの動作を停止させるメモリ同期管理機能機能と、そのトリガを契機にその時点の仮想マシンのメモリデータを採取するメモリ制御機能を持つ。さらに、メモリ制御機能は、採取されたメモリデータを物理メモリ上に保持する機能、異なる2つの仮想マシンのメモリデータ比較しその差分メモリデータのみを抽出する機能、比較元のメモリデータと抽出された差分メモリデータから1つの仮想マシンのメモリデータを再構成する機能、とを持つ。また、採取されたメモリデータ、差分メモリデータを物理ディスク上に保存および読み出すディスク制御手段を持つ。
複数仮想マシンの中から、マスタ仮想マシンを選出する。この選出は管理者が明示的に実施しても、自動的に実施しても構わない。
マスタ仮想マシンを起動させ、ゲストOS起動に必要なデータをディスク上から読み出し、物理メモリ上にそのデータが展開させる。この過程で、マスタ仮想マシン上のメモリ同期機能が、VMM内のメモリ同期管理機能に対してトリガを発行する。メモリ同期管理機能は、マスタ仮想マシンの動作を一時停止させるとともに、メモリ制御手段に対してマスタ仮想マシンのメモリデータを採取するよう指示する。メモリ制御機能は採取したマスタ仮想マシンのメモリデータを、マスタメモリとして物理メモリ上に保持するとともに、物理ディスク上にマスタメモリファイルとして保存する。
マスタ仮想マシン以外の仮想マシンを起動させ、マスタ仮想マシン同様にメモリ同期機能がトリガを発行する時点でのメモリデータを採取する。メモリ制御手段は、採取されたメモリデータと、物理メモリ上に保持しているマスタメモリとを比較し、マスタメモリと異なる差分メモリデータのみを抽出し、差分メモリを生成し、この差分メモリを物理ディスク上に差分メモリファイルとして保存する。
この差分メモリファイルの保存を、マスタ仮想マシン以外の仮想マシンすべてで実施する。
仮想マシンを運用で使用する前に以上の処理を終了させておく。
VMMは仮想マシンの起動を検出すると、その仮想マシンが、マスタ仮想マシンか否かを判定する。
マスタ仮想マシンの起動である場合、メモリ制御手段は、物理メモリ上に存在するマスタメモリを参照させる差分メモリを構成し、マスタ仮想マシンの仮想メモリとして割り当て、マスタ仮想マシンの起動処理を再開する。
マスタ仮想マシン以外の起動である場合、メモリ制御手段は、該当仮想マシンの差分メモリファイルを物理ディスクから読み出し、物理メモリ上に差分メモリを展開する。この差分メモリと、同じく物理メモリ上に存在するマスタメモリへの参照から、仮想メモリを構成し該当仮想マシンに割り当て、該当仮想マシンの起動処理を再開する。
参照されるマスタメモリ領域のデータが更新される場合、または参照されるマスタメモリ領域以外に新たに更新(追加)されるメモリ領域が要求される場合、各仮想マシンの差分メモリ上にてそのデータを管理する。
本発明により、あらかじめマスタメモリおよび差分メモリから仮想マシンの仮想メモリを構成しておくことで、ある特定の時点までの起動処理が完了した状態で、仮想マシンの起動処理を再開することが可能となり、ある特定の時点までの仮想マシン起動に必要となる物理リソース消費を回避するとともに、仮想マシン起動時間の短縮を実現することが可能となる。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態による仮想化システム1000の構成を示すブロック図である。
図1を参照すると、本実施の形態による仮想化システム1000は、仮想サーバ300と、記憶装置400とから構成される。
仮想サーバ300は、物理メモリ301を備える。また、仮想サーバ300上では、マスタ仮想マシン(仮想マシンM)100と、仮想マシン200と、VMM(ハイパーバイザ)210とが動作する。
なお、図1は例示であって、システム構成を制限するものではない。すなわち、仮想マシン200は任意の台数として構成可能である。
マスタ仮想マシン100は、仮想ハードウェア101と、ゲストOS102から構成される。
仮想ハードウェア101は、ゲストOS102を格納する仮想ディスクM103と、ゲストOS102のメモリデータを格納する仮想メモリM104を備える。
ゲストOS102は、メモリ同期管理手段212に対して、仮想メモリM104に格納されたメモリデータを保持するよう通知する機能を有するメモリ同期手段105を備える。
説明は省略するが、仮想マシン200も、マスタ仮想マシン100と同様の構成となる。
VMM210は、マスタ仮想マシン100および仮想マシン200と、メモリ制御手段211と、メモリ同期管理手段212と、ディスク制御手段213と、を動作させる機能を備える。
ディスク制御手段213は、IOデバイス302を介し、記憶装置400から各ファイルを読み込むまたは書き込む機能を備える。
メモリ制御手段211は、記憶装置400から読み込まれたデータを物理メモリ301上に展開し、その展開されたメモリデータを、仮想マシンが備える仮想メモリに割り当てる機能をそなえる。また、メモリ制御手段211は、メモリ同期管理手段212からの指示を元に、物理メモリ301上に展開された仮想マシンのメモリデータを、ディスク制御手段213に対して記憶装置400にメモリファイルとして保存する指示を行う機能を備える。さらに、メモリ制御手段211は、メモリ同期管理手段212からの指示を元に、マスタメモリ303と仮想メモリを比較し差分メモリを抽出する機能を備える。
IOデバイス302は、ディスク制御手段213からの指示を元に、記憶装置400から各ファイルを読み込むまたは書き込む機能を備える。物理メモリ301は、各仮想マシンに割り当てるマスタメモリ303と、差分メモリM304と、差分メモリ305から構成される。
ここで、マスタメモリ303は、マスタ仮想マシン100および仮想マシン200から参照される共有のメモリデータを保持する。
差分メモリM304は、マスタ仮想マシン100が起動後に、マスタメモリ303から更新または新規に必要となるメモリデータを保持する。
差分メモリ305は、仮想マシン200が起動前に必要なメモリデータの内、マスタメモリ303以外の差分メモリとして差分メモリファイル402から読み込まれるメモリデータと、仮想マシン200が起動後に、マスタメモリ303から更新または新規に必要となるメモリデータと、を保持する。
記憶装置400は、各仮想マシンが持つ仮想ディスクの実態となるディスクファイルや、メモリファイルを格納する記憶領域410を備える。記憶領域410は、各仮想マシンで共有可能なデータを保持するマスタディスクファイル403と、マスタ仮想マシン100が保持する差分ディスクファイルM404と、仮想マシン200が保持する差分ディスクファイル405と、マスタメモリ303のデータを保持するマスタメモリファイル401と、仮想マシン200が起動前に必要となる差分メモリ305のデータを保持する差分メモリファイル402から、構成される。
物理メモリ301と、マスタメモリ303と、差分メモリ、仮想メモリとの関係性について、図2を用いて説明する。
図2を参照すると、仮想マシンに構成される仮想メモリ204は、マスタメモリ303と差分メモリ305から構成される。
マスタメモリ303は、マスタ仮想マシン100が起動してから特定の時点までに物理メモリ301上に展開されるメモリデータであり、この特定の時点とは、メモリ同期手段105がメモリ同期管理手段212にマスタメモリ303の保持を指示するタイミングである。マスタメモリ303は、メモリ制御手段211により、物理メモリ301上にマッピングされる。
差分メモリ305は、マスタメモリ303が物理メモリ301上に保持されている状態で、マスタ仮想マシン100以外の仮想マシン200が起動してから特定の時点までに物理メモリ301上に展開されるメモリデータを、メモリ制御手段211がマスタメモリ303と比較して差分メモリデータを抽出したものである。この特定の時点とは、マスタ仮想マシン100のそれと同一である。差分メモリ305は、メモリ制御手段211により、物理メモリ301上にマッピングされる。
仮想マシン200が仮想メモリ204にアクセスした場合、メモリ制御手段211は、その領域が差分メモリ305上に存在する場合、差分メモリ305から該当データを参照させ、差分メモリ305上に存在しない場合はマスタメモリ303の該当データを参照させる。
仮想マシン200が仮想メモリ204を更新した場合、メモリ制御手段211は、その領域が差分メモリ305上に存在する場合は、差分メモリ305上の該当データを更新させ、差分メモリ305上に存在せず、マスタメモリ303を参照させている領域であり、かつそのデータが異なる場合は、差分メモリ305上の該当領域を該当データにて更新する。更新領域が、差分メモリ305、マスタメモリ303のいずれにも該当しない場合は、新たな物理メモリ301上の領域にそのデータを格納するとともに、差分メモリ305として管理する。
(第1の実施の形態の動作の説明)
次に、本実施の形態による仮想化システム1000の動作について、図面を参照して詳細に説明する。
図3は、マスタメモリ303と、マスタメモリファイル401の生成の動作を示すフローチャートである。
まず、VMM210は、マスタメモリ303の有無を確認する(ステップA1)。マスタメモリ303が存在しない場合(ステップA1”NO”)、VMM210はマスタ仮想マシン100の起動を開始する(ステップA4)。マスタ仮想マシン100の起動により、記憶領域410上のマスタディスクファイル403及び差分ディスクファイルM404から、マスタ仮想マシン100上のゲストOS102を起動するのに必要なデータの読み込みが開始され、物理メモリ301上にマスタ仮想マシン100のメモリデータが展開される。
ゲストOS102上のメモリ同期手段105は、起動したタイミングでメモリ同期管理手段212に対して通知を行い、メモリ同期管理手段212はこれを受信する(ステップA5)。
該通知を受けたメモリ同期管理手段212は、メモリ制御手段211を介して、マスタ仮想マシン100に割り当てられているメモリデータを、マスタメモリ303として物理メモリ301上にコピーし、保持する(ステップA6)。
メモリ制御手段211は、ディスク制御手段213を介して、マスタメモリ303をマスタメモリファイル401として記憶領域410上に保存する(ステップA7)。
マスタメモリ303と、マスタメモリファイル401の生成処理が完了したのち、マスタ仮想マシン100は停止される。(ステップA8)。
ステップA1で、マスタメモリ303が存在していた場合(ステップA1”YES”)、記憶領域410上のマスタメモリファイル401が読み込まれる(ステップA2)。読み込まれて物理メモリ301上に展開されたメモリデータは、マスタメモリ303として保持される(ステップA3)。
図4は、差分メモリファイル402の生成の動作を示すフローチャートである。
まず、VMM202が、メモリデータの比較対象となるマスタメモリ303の有無を確認する(ステップB1)。
マスタメモリ303が存在しない場合、比較対象がないため処理を終了する(ステップB1”NO”)。マスタメモリ303が存在する場合(ステップB1”YES”)、次に差分メモリファイル402の有無を確認する(ステップB2)。差分メモリファイル402が存在する場合、生成する必要がないため処理を終了する(ステップB2”YES”)。
差分メモリファイル402が存在しない場合(ステップB2”NO”)、仮想マシン200の起動を開始する(ステップB3)。仮想マシン200の起動により、記憶領域410上の、マスタディスクファイル403と差分ディスクファイル405から、仮想マシン200上のゲストOS202を起動するのに必要なデータの読み込みが開始され、物理メモリ301上に仮想マシン200のメモリデータが展開される。
ゲストOS202上のメモリ同期手段205は、起動したタイミングで、メモリ同期管理手段212に対して通知を行い、メモリ同期管理手段212はこれを受信する(ステップB4)。
該通知を受信したメモリ同期管理手段212は、メモリ制御手段211を介して、仮想マシン200に割り当てられているメモリデータと、マスタメモリ303とを比較し、その差分を差分メモリ305として物理メモリ301上に生成する(ステップB5)。
メモリ制御手段211は、差分メモリ305を、ディスク制御手段213を介して記憶領域410上に差分メモリファイル402として保存する(ステップB6)。差分メモリファイル402の生成処理が完了したのち、仮想マシン200は停止される(ステップB7)。
マスタメモリ303と、マスタメモリファイル401と、差分メモリファイル402の生成は、それ以降で実施される各仮想マシン起動の前に実施されている必要がある。
図5は、マスタ仮想マシン100、または仮想マシン200の起動の動作を示すフローチャートである。
VMM202は、仮想マシンの起動を検出した場合(ステップC1)、その仮想マシンがマスタ仮想マシン100か、仮想マシン200かを判定する(ステップC2)。
起動される仮想マシンが、仮想マシン200である場合、メモリ制御手段211は記憶領域410上の、差分メモリファイル402を読み込み、物理メモリ301上に差分メモリ305を展開する(ステップC3、ステップC4)。
メモリ制御手段211は、物理メモリ301上のマスタメモリ303と、差分メモリ305から、仮想マシン200の仮想メモリ204を構成し、それを割り当てる(ステップC5)。
ステップC2で、起動される仮想マシンが、マスタ仮想マシン100である場合、メモリ制御手段211は、物理メモリ301上のマスタメモリ303への参照のみとなる差分メモリM304を生成し、マスタ仮想マシン100の仮想メモリ104を構成し、それを割り当てる(ステップC6)。
仮想マシンの仮想メモリが構成された後、仮想マシンの起動処理を再開する(ステップC7)。
(第1の実施の形態による効果)
第一の効果は、仮想マシン起動処理の特定の時点までにおいて、処理に必要な物理リソースの消費を回避する点である。この結果、VMMの性能低下を回避することが可能となる。
その理由は、事前に各仮想マシンの起動から特定の時点までに展開される仮想マシンメモリを、仮想マシン間で共有可能なマスタメモリと、仮想マシンごとに持つ固有データとして差分メモリ、から構成しておくことで、特定の時点以降の処理から再開することが可能となるからである。
第二の効果は、仮想マシン起動処理の特定時点までにおいて、処理に必要な時間を回避する点である。この結果、仮想マシン起動から利用者が使用できるまでの時間を短縮することが可能となる。
その理由は、上述した通り、特定の時点以降の処理から仮想マシンの起動を再開することが可能となるからである。
ここで、本発明の課題を解決できる最小限の構成を図6に示す。仮想化システム1000が、VMM210を備え、仮想マシン100、200が動作する仮想サーバ300と、記憶装置400とを備え、仮想マシン100、200が、ゲストOS102、202起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガをVMM210に発行するメモリ同期手段105、205を備え、VMM210が、トリガを受信し、仮想マシンの動作を停止させる同期管理手段202と、トリガを契機にその時点における仮想マシンのメモリデータを採取するメモリ制御手段211とを備え、メモリ制御手段211は、採取したメモリデータを仮想サーバ300上の物理メモリ301に保存し、複数の仮想マシンから任意に選出されたマスタ仮想マシンのメモリデータをマスタメモリ303として物理メモリ301に保存するとともに、マスタメモリファイル401として記憶装置400上に保存し、マスタ仮想マシン以外の仮想マシンのメモリデータと、マスタメモリ303とを比較して、マスタメモリ303と異なる部分を差分データとして抽出し、当該差分データを差分メモリファイル402として記憶装置400上に保存することで、上述した本発明の課題を解決することができる。
本発明の他の実施例について以下に説明する。
本発明は、VMM1台に閉じた環境に限らず、同一構成、つまり同一のマスタディスクファイルを使用する仮想マシンが稼働するVMM上で適用することが可能である。これにより、複数VMM間でマスタメモリおよびマスタメモリファイルを共有することが可能である。
マスタメモリを共有する場合、1台のVMMでマスタメモリ生成後、そのマスタメモリをネットワークや物理的な保存媒体を介し、他のVMM上の物理メモリ上にコピーを行い共有する。
マスタメモリファイルを共有する場合、マスタメモリ同様に、ネットワークや物理的な媒体を介す、または記憶装置自体を共有している場合は直接マスタメモリファイルにアクセスすることで、共有する。
複数VMM間で、マスタメモリおよびマスタメモリファイルを共有することで、マスタメモリ、マスタメモリファイルの作成処理の回数が低減できるため、物理リソース消費の削減、および処理時間の短縮が可能となる。
次に、本発明の仮想サーバ300のハードウェア構成例について、図7を参照して説明する。
図7を参照すると、本発明の仮想サーバ300は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)1001、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部1002、ネットワークを介してデータの送受信を行う通信部1003、入力装置1005や出力装置1006及び記憶装置1007と接続してデータの送受信を行う入出力インタフェース部1004、上記各構成要素を相互に接続するシステムバス1008を備えている。記憶装置1007は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
本発明の仮想サーバ300の各機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置1007に格納し、そのプログラムを主記憶部1002にロードしてCPU1001で実行することにより、ソフトウェア的に実現することも可能である。
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
VMMを備え、仮想マシンが動作する仮想サーバと、
記憶装置とを備え、
前記仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期手段を備え、
前記VMMが、
前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理手段と、
前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御手段とを備え、
前記メモリ制御手段は、
採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして前記記憶装置上に保存し、
前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
ことを特徴とする仮想化システム。
(付記2)
前記メモリ制御手段は、
前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
ことを特徴とする付記1に記載の仮想化システム。
(付記3)
前記メモリ制御手段は、
前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記1又は付記2に記載の仮想化システム。
(付記4)
前記メモリ制御手段は、
前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記1から付記3の何れか1項に記載の仮想化システム。
(付記5)
VMMを備え、仮想マシンが動作する仮想サーバであって、
前記仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期手段を備え、
前記VMMが、
前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理手段と、
前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御手段とを備え、
前記メモリ制御手段は、
採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
ことを特徴とする仮想サーバ。
(付記6)
前記メモリ制御手段は、
前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
ことを特徴とする付記5に記載の仮想サーバ。
(付記7)
前記メモリ制御手段は、
前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記5又は付記6に記載の仮想サーバ。
(付記8)
前記メモリ制御手段は、
前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記5から付記7の何れか1項に記載の仮想サーバ。
(付記9)
VMMを備え、仮想マシンが動作する仮想サーバによる仮想マシン制御方法であって、
前記仮想マシンが備えるメモリ同期手段が、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期ステップと、
前記VMMが備える同期管理手段が、前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理ステップと、
前記VMMが備えるメモリ制御手段が、前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御ステップとを有し、
前記メモリ制御ステップで、
採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
ことを特徴とする仮想マシン制御方法。
(付記10)
前記メモリ制御ステップで、
前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
ことを特徴とする付記9に記載の仮想マシン制御方法。
(付記11)
前記メモリ制御ステップで、
前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記9又は付記10に記載の仮想マシン制御方法。
(付記12)
前記メモリ制御ステップで、
前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記9から付記11の何れか1項に記載の仮想マシン制御方法。
(付記13)
VMMを備え、仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作する仮想マシン制御プログラムであって、
前記仮想マシンが備えるメモリ同期手段に、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期処理を実行させ、
前記VMMが備える同期管理手段に、前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理処理を実行させ、
前記VMMが備えるメモリ制御手段に、前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御処理を実行させ、
前記メモリ制御処理で、
採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
ことを特徴とする仮想マシン制御プログラム。
(付記14)
前記メモリ制御処理で、
前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
ことを特徴とする付記13に記載の仮想マシン制御プログラム。
(付記15)
前記メモリ制御処理で、
前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記13又は付記14に記載の仮想マシン制御プログラム。
(付記16)
前記メモリ制御処理で、
前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
ことを特徴とする付記13から付記15の何れか1項に記載の仮想マシン制御プログラム。
本発明によれば、差分ディスクの仮想マシン環境であれば本発明を適用することが可能である。特に本発明が高い効果を発揮するのは、OSやアプリケーションが同一の仮想マシン環境であり、さらに仮想マシンの台数が多いシステムであるため、VDIでの利用が最適であると考えられる。
100:マスタ仮想マシン
101、201:仮想ハードウェア
102、202:ゲストOS
103、203:仮想ディスク
104、204:仮想メモリ
105、205:メモリ同期手段
200:仮想マシン
210:VMM
211:メモリ制御手段
212:メモリ同期管理手段
213:ディスク制御手段
300:仮想サーバ
301:物理メモリ
302:IOデバイス
303:マスタメモリ
304:差分メモリM
305:差分メモリ
400:記憶装置
401:マスタメモリファイル
402:差分メモリファイル
403:マスタディスクファイル
404:差分ディスクファイルM
405:差分ディスクファイル
410:記憶領域
1000:仮想化システム
801:CPU
802:主記憶部
803:通信部
804:入出力インタフェース部
805:入力装置
806:出力装置
807:記憶装置
808:システムバス

Claims (10)

  1. VMMを備え、仮想マシンが動作する仮想サーバと、
    記憶装置とを備え、
    前記仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期手段を備え、
    前記VMMが、
    前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理手段と、
    前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御手段とを備え、
    前記メモリ制御手段は、
    採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
    複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして前記記憶装置上に保存し、
    前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
    ことを特徴とする仮想化システム。
  2. 前記メモリ制御手段は、
    前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
    ことを特徴とする請求項1に記載の仮想化システム。
  3. 前記メモリ制御手段は、
    前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
    ことを特徴とする請求項1又は請求項2に記載の仮想化システム。
  4. 前記メモリ制御手段は、
    前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
    前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
    ことを特徴とする請求項1から請求項3の何れか1項に記載の仮想化システム。
  5. VMMを備え、仮想マシンが動作する仮想サーバであって、
    前記仮想マシンが、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期手段を備え、
    前記VMMが、
    前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理手段と、
    前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御手段とを備え、
    前記メモリ制御手段は、
    採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
    複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
    前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
    ことを特徴とする仮想サーバ。
  6. 前記メモリ制御手段は、
    前記差分メモリ及び差分メモリファイルの保存を、前記マスタ仮想マシン以外の全ての前記仮想マシンについて実施する
    ことを特徴とする請求項5に記載の仮想サーバ。
  7. 前記メモリ制御手段は、
    前記マスタ仮想マシンが起動された場合、当該マスタ仮想マシン起動後にデータ更新部分の書き込みがされる差分メモリを前記物理メモリ上に構成し、当該差分メモリと前記マスタメモリを前記マスタ仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
    ことを特徴とする請求項5又は請求項6に記載の仮想サーバ。
  8. 前記メモリ制御手段は、
    前記マスタ仮想マシン以外の前記仮想マシンが起動された場合、当該仮想マシンの前記差分メモリファイルを前記記憶装置から読み出して、前記物理メモリ上に差分メモリとして展開し、
    前記差分メモリと前記マスタメモリを前記仮想マシンの仮想メモリとして割り当てて、前記マスタ仮想マシンの起動処理を再開する
    ことを特徴とする請求項5から請求項7の何れか1項に記載の仮想サーバ。
  9. VMMを備え、仮想マシンが動作する仮想サーバによる仮想マシン制御方法であって、
    前記仮想マシンが備えるメモリ同期手段が、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期ステップと、
    前記VMMが備える同期管理手段が、前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理ステップと、
    前記VMMが備えるメモリ制御手段が、前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御ステップとを有し、
    前記メモリ制御ステップで、
    採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
    複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
    前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
    ことを特徴とする仮想マシン制御方法。
  10. VMMを備え、仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作する仮想マシン制御プログラムであって、
    前記仮想マシンが備えるメモリ同期手段に、ゲストOS起動時に任意のタイミングで仮想マシンのメモリデータを採取するためのトリガを前記VMMに発行するメモリ同期処理を実行させ、
    前記VMMが備える同期管理手段に、前記トリガを受信し、前記仮想マシンの動作を停止させる同期管理処理を実行させ、
    前記VMMが備えるメモリ制御手段に、前記トリガを契機にその時点における前記仮想マシンのメモリデータを採取するメモリ制御処理を実行させ、
    前記メモリ制御処理で、
    採取した前記メモリデータを前記仮想サーバ上の物理メモリに保存し、
    複数の前記仮想マシンから任意に選出されたマスタ仮想マシンの前記メモリデータをマスタメモリとして前記物理メモリに保存するとともに、マスタメモリファイルとして記憶装置上に保存し、
    前記マスタ仮想マシン以外の前記仮想マシンのメモリデータと、前記マスタメモリとを比較して、前記マスタメモリと異なる部分を差分データとして抽出し、当該差分データを差分メモリファイルとして前記記憶装置上に保存する
    ことを特徴とする仮想マシン制御プログラム。
JP2013073078A 2013-03-29 2013-03-29 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム Active JP6146092B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013073078A JP6146092B2 (ja) 2013-03-29 2013-03-29 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013073078A JP6146092B2 (ja) 2013-03-29 2013-03-29 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Publications (2)

Publication Number Publication Date
JP2014197337A true JP2014197337A (ja) 2014-10-16
JP6146092B2 JP6146092B2 (ja) 2017-06-14

Family

ID=52358062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013073078A Active JP6146092B2 (ja) 2013-03-29 2013-03-29 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム

Country Status (1)

Country Link
JP (1) JP6146092B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016007A1 (ja) * 2016-07-19 2018-01-25 株式会社日立製作所 計算機システム及び計算機の提供方法
US11353949B2 (en) 2016-04-27 2022-06-07 Rovi Guides, Inc. Methods and systems for displaying additional content on a heads up display displaying a virtual reality environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014050A (ja) * 1999-06-29 2001-01-19 Casio Comput Co Ltd 情報処理装置及び記憶媒体
JP2007066265A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機装置及び仮想マシン提供方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014050A (ja) * 1999-06-29 2001-01-19 Casio Comput Co Ltd 情報処理装置及び記憶媒体
JP2007066265A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機装置及び仮想マシン提供方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11353949B2 (en) 2016-04-27 2022-06-07 Rovi Guides, Inc. Methods and systems for displaying additional content on a heads up display displaying a virtual reality environment
WO2018016007A1 (ja) * 2016-07-19 2018-01-25 株式会社日立製作所 計算機システム及び計算機の提供方法

Also Published As

Publication number Publication date
JP6146092B2 (ja) 2017-06-14

Similar Documents

Publication Publication Date Title
JP5681465B2 (ja) 情報処理システム、情報処理装置、準備方法、プログラムおよび記録媒体
EP3227783B1 (en) Live rollback for a computing environment
WO2021129733A1 (zh) 云操作系统的管理方法、装置、服务器、管理系统及介质
US9811369B2 (en) Method and system for physical computer system virtualization
US8635395B2 (en) Method of suspending and resuming virtual machines
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
US20110066879A1 (en) Virtual machine system, restarting method of virtual machine and system
WO2019060228A1 (en) SYSTEMS AND METHODS FOR SERVICE INSTANCATION ON SERVICES
JP6677294B2 (ja) ネットワークシステム、パッチファイル適用方法、及びプログラム
JP2019016135A (ja) 情報処理システム、情報処理システムの制御プログラム及び情報処理システムの制御方法
US11809901B2 (en) Migrating the runtime state of a container between two nodes
JP2009145931A (ja) 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
JP5728812B2 (ja) 分散型情報処理システム及び分散ストレージシステム
JP6072352B2 (ja) ディスク配信システム
WO2012155555A1 (zh) 一种运行多个虚拟机的方法及系统
WO2012100535A1 (zh) 超级内核组件的升级方法和计算机系统
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
JP5444104B2 (ja) 記憶手段の管理方法、仮想計算機システムおよびプログラム
US9557980B2 (en) Seamless application integration apparatus and method
JP6146092B2 (ja) 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
CN106775846B (zh) 用于物理服务器的在线迁移的方法及装置
CN111913753A (zh) 一种windows系统云迁移中启动方式的变更方法及系统
JP2015001757A5 (ja)
CN110221868B (zh) 主机系统的部署方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170501

R150 Certificate of patent or registration of utility model

Ref document number: 6146092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150