JP2013196421A - 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム - Google Patents

仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム Download PDF

Info

Publication number
JP2013196421A
JP2013196421A JP2012063192A JP2012063192A JP2013196421A JP 2013196421 A JP2013196421 A JP 2013196421A JP 2012063192 A JP2012063192 A JP 2012063192A JP 2012063192 A JP2012063192 A JP 2012063192A JP 2013196421 A JP2013196421 A JP 2013196421A
Authority
JP
Japan
Prior art keywords
swap
virtual
memory
virtual machine
disk area
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
JP2012063192A
Other languages
English (en)
Inventor
Tomohide Noda
知秀 野田
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 JP2012063192A priority Critical patent/JP2013196421A/ja
Publication of JP2013196421A publication Critical patent/JP2013196421A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 仮想化環境で動作するオペレーシングシステムが構成されたサイズ以上のメモリを必要とした場合の性能を改善する。
【解決手段】 仮想化システム100が、1つ以上の仮想マシン120が動作する仮想サーバ10と、ストレージ40とを備え、ストレージ40が、仮想マシン120ごとに、スワップ領域、データディスク領域、スワップディスク領域とを備え、仮想サーバ10が、仮想マシン120からスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、仮想マシン120からスワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャ111とを備える。
【選択図】 図2

Description

本発明は、仮想化システムに関し、特に、仮想マシンのメモリ管理技術に関する。
仮想化技術により、老朽化した複数のサーバの機能を1台のサーバに集約する事が可能になるが、そこで問題となるのが性能の低下である。
稼動するVM(virtual machine、仮想マシン)の台数を削減すれば、1台あたりに割り当てることが可能になるリソースが増える。逆に稼働するVMの台数を増やせば集約率が向上し、コスト面でのアドバンテージが生まれる。
性能とコストとのバランスを考えて設計を行う必要があるが、サーバの特徴として一時的に負荷が上昇するケースが多々ある。オーバーコミットやダイナミックメモリを使うことによりある程度は回避可能だが、それぞれにデメリットがあり、実際には使用できないケースが見受けられた。
ここで、関連技術として、オーバーコミット環境での効率的なメモリ管理に関する技術が、特許文献1に開示されている。特許文献1に開示の技術では、特定の仮想マシンがメモリリソースを要求した場合、他の仮想マシンからメモリ確保すると、特定の仮想マシンは性能が上がるが、それ以外の仮想マシンは性能が低下する可能性があるため、この際に行うメモリの割り振りを効率よく行う点に着目したものである。
特表2010−532034号公報
仮想的なコンピュータ環境(仮想マシン(VM: Virtual Machine))を作り出し、運用する場面を想定する。VMを管理し提供するソフトウェア(VMM:Virtual Machine Monitor)上で、複数のVMが動作する。
特定のVMの性能を向上させるためには、そのVMに対し、他のVMよりもCPU、メモリリソースを優先的に割り当てる必要がある。高負荷となるVMが特定できている場合は問題ないが、特定の時間・期間により不特定のVMが高負荷になる場合、この方法で対処した場合は問題が発生する。
また、高負荷を想定してリソースを割り当てた場合、特にメモリに関しては他のVMに割り当てる物理メモリを減らすか、予め余裕を持った設計を行う必要がある。前者の場合は他のVMのパフォーマンスを低下させる可能性があり、後者の場合はオーバーコミット状態となり、負荷が重なった場合はメモリスワッピングが発生し、全体的に性能が低下することが想定される。
この問題に対する解決策としては、VMM上で動作するVMの台数を減らすか、VMに割り当てるリソースを動的に変化させる必要がある。物理リソースが潤沢にあり、VMM上で動作するVMの台数を減らすことが可能な場合は問題ないが、そうでない場合は動的にメモリ割り当て容量を変化させる技術(ダイナミック・メモリ)に対応したVMM及びVMが必要となる。この技術はVM上で動作するOSに制限が発生し、古くからあるサーバを仮想環境へ移行した場合などは使用できない可能性が高い。
ところで、特許文献1に開示の技術は、オーバーコミット環境におけるメモリ管理に関するものであるため、そもそもオーバーコミット環境をなくすことを目的とはしておらず、リソースを要求した仮想マシン以外の仮想マシンの性能低下が発生するという問題がある。
(発明の目的)
本発明の目的は、上述の課題を解決し、仮想化環境で動作するオペレーシングシステムが構成されたサイズ以上のメモリを必要とした場合の性能を改善することが可能な仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラムを提供することである。
本発明の第1の仮想化システムは、1つ以上の仮想マシンが動作する仮想サーバと、ストレージとを備え、ストレージが、仮想マシンごとに、スワップ領域、データディスク領域、スワップディスク領域とを備え、仮想サーバが、仮想マシンからスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、仮想マシンからスワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える。
本発明の第1の仮想サーバは、1つ以上の仮想マシンが動作する仮想サーバであって、仮想マシンからストレージが備えるスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、仮想マシンからスワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える。
本発明の第1のメモリ管理方法は、1つ以上の仮想マシンが動作する仮想サーバによるメモリ管理方法であって、仮想サーバが備えるマネージャが、仮想マシンからスワップディスク領域へのI/Oを、仮想サーバが備えるスワップドライブ用メモリにキャッシュするステップを実行する。
本発明の第1のメモリ管理プログラムは、1つ以上の仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作するメモリ管理プログラムであって、仮想サーバが備えるマネージャに、仮想マシンからスワップディスク領域へのI/Oを、仮想サーバが備えるスワップドライブ用メモリにキャッシュする処理を実行させる。
本発明によれば、仮想化環境で動作するオペレーシングシステムが構成されたサイズ以上のメモリを必要とした場合の性能を改善することができる。
本発明の第1の実施の形態に係る仮想化システムの構成を示すブロック図である。 本発明の第1の実施の形態に係る仮想マシンの構成及びエージェントとマネージャとの通信状況を示した図である。 本発明の第1の実施の形態に係る仮想サーバのメモリリソースとストレージのストレージリソースの構成を示す図である。 本発明の第1の実施の形態に係る仮想化システムの動作を示すフローチャートである。 本発明の仮想化システムの最小限の構成を示すブロック図である。 本発明の仮想サーバのハードウェア構成例を示すブロック図である。
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。
なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態による仮想化システム100の構成を示すブロック図である。図1を参照すると、仮想化システム100は、仮想サーバ10(10−1〜10−3)と、ネットワークスイッチ20と、FC(Fibre Channel)スイッチ30と、ストレージ40とを備える。
本実施の形態では、仮想サーバ10を3台構成としているが、仮想サーバ10の台数はこれに限定されない。
仮想サーバ10は、プログラム制御により動作するコンピュータであり、NIC(Network Interface Card)101と、SAN(Storage Area Network)に接続するためのHBA(Host Bus Adapter)102とを含む。
また、仮想サーバ10ではVMM(Virtual Machine Monitor)110が動作している。VMM110は、VM(Virtual Machine)を管理し提供するソフトウェアであり、VM120が動作している。
ここで、図2は、VM120内の構成と、VM120上のエージェント123と、VMM110上のマネージャ111との通信状況を示した図である。
各VM120(120−1〜120−3)上ではストレージ40へのI/Oを監視するエージェント123が動作し、VMM110上ではエージェント123からの情報を採取するマネージャ111が動作する。VMM120が動作する仮想サーバ10に実装された物理メモリ130は、VMM110及びVM120に割り当てられているが、それ以外にディスクI/Oをキャッシュするためのスワップドライブ用メモリ130が確保される。
VM120は、システムドライブ121と、スワップドライブ122と、エージェント123とを含む。
VM120上ではゲストOSが動作するが、該ゲストOS上では、OSが動作するシステムドライブ、データドライブ、物理メモリが枯渇した場合のスワップファイルを格納するスワップドライブ122が接続されている。
スワップドライブ122は、物理メモリが枯渇した場合、スワップファイルを格納する。
ゲストOSが発行するシステムドライブ121、データドライブへのI/O204は、そのままストレージ40へ行われる。ストレージ40側での処理はストレージに依存し、VMM110は関知しない。
ゲストOSが発行するスワップドライブ122へのI/O205については、ゲストOS上で動作するエージェント123が監視し、I/Oを行うサイズ、キューの数、IOPS等の情報を収集して、VMM110上のマネージャ111へ送信する。
マネージャ111は稼動している全VM120の情報と、予め設定した優先度及びディスクI/Oをキャッシュするための領域のサイズにより、どのVM120からのI/Oをキャッシュするか判定する。
ここで、図3は、仮想サーバ10のメモリリソースと、ストレージ150のストレージリソースの構成を示す図である。
図3を参照すると、VMM110は、仮想サーバ10の物理メモリ130上に専用のメモリ領域(VMM用メモリ)が割り当てられており、また、ストレージ40上で専用のスワップ領域(VMM用スワップ領域)及びデータディスク(VMM用データディスク)が割り当てられる。
また、各VM120についても、仮想サーバ10の物理メモリ130上に専用のメモリ領域(VM用メモリ)が割り当てられており、また、ストレージ40上で専用のスワップ領域(VM用スワップ領域)及びデータディスク(VMMデータディスク)が割り当てられる。
さらに、各VM120は、ストレージ40上で、専用のスワップディスク(VM用スワップディスク)が割り当てられている。
スワップ領域は、メモリ領域のメモリリソースが足りなくなった場合に使用される。また、データディスクは、ゲストOSが使用するディスクである。
スワップディスクは、スワップファイル専用のディスクである。
本発明では、メモリ領域のメモリリソースが足りなくなった場合の動作をOS及び本発明で制御することを前提としているため、VM用スワップ領域は基本的には使用しないものとする。
仮想サーバ10の物理メモリ130には、VMM用メモリ、VM用メモリ以外に、各VMがスワップディスクへI/Oを行う際にキャッシュとして使用するスワップドライブ用メモリが確保されている。
本発明は、スワップ領域へのスワッピングが発生した場合に、そのスワップドライブ122へのI/O205を仮想サーバ10の物理メモリ130上にあるスワップドライブ用メモリに行うことにより、I/Oの遅延を防ぐことを可能にする。
スワップドライブ122へのI/O205を仮想サーバ10の物理メモリ130上にあるスワップドライブ用メモリに行うことにより、VM120上のゲストOSではメモリが足りない状態が発生し、スワップアウトが頻繁に行われているように見えるが、実際は物理メモリへのI/Oとなっている。このため、ゲストOS上からは認識できないが、一時的に割り当てた物理メモリ以上の物理メモリ領域を使用する事が可能になる。
このように、本発明はストレージなどで実装されているWrite Back技術とは異なり、VMのスワップアウト/スワップインが発生した際のI/Oのみをキャッシュする領域(スワップドライブ用メモリ)を予め予約しておき、この領域にはシステムドライブへの書き込みなど通常のI/Oについては行わない。全てのスワップアウト/スワップインのI/Oを物理メモリに蓄えることは不可能なため、予め設定した優先度または長時間スワップが発生しているVMに対して行うなどの優先度付けを行う。この優先度はVM上でエージェント、VMM上でマネージャを動作させ、I/Oを監視することにより判定する。
(第1の実施の形態の動作の説明)
次に、本実施の形態による仮想化システム100の動作について、図面を参照して詳細に説明する。
図2に示す各VM120(120−1〜120−3)は、それぞれストレージ40に対しI/Oを行っている。
VM120上で動作するゲストOSは、システムドライブ、スワップドライブの最低2台のストレージ装置を実装している。
VM120−2及びVM120−3は本発明を使用せず、一般的なI/Oを表したものである。VM120からのI/O214及びI/O215は、VMM110を経由し、ストレージ40へのI/Oとなり、そこから先の処理についてはストレージ40に依存している。
これに対し、VM120−1は、VM120−2及びVM120−3とは異なる動作を行う。
VM120−1では、システムドライブ121からのI/O204は、VM120−2、VM120−3と同様にストレージ40へのI/Oとなる。
VM120−1に割り当てられたメモリリソースが足りなくなった場合は、メモリのスワップアウトが発生し、VM用スワップディスクへのI/Oが行われる。この時、スワップドライブ122からのI/O205は、ストレージ40へのI/Oにはならず、仮想サーバ10に搭載された物理メモリ130へのI/Oとなる。
つまり、仮想サーバ10に実装されたスワップドライブ用メモリへのI/Oが完了し、該完了の通知を受けた時点で、ゲストOSはI/O処理を完了したと認識する。この後、スワップドライブ用メモリからストレージ40へのI/Oが非同期に実行される。
次に、スワップディスクへのI/Oが205になる場合と、215になる場合の判定について、図4を合わせて参照し、説明する。
VMM110上では複数台のVM120が動作しており、それぞれがI/Oを発行している(ステップS401)。
I/Oの情報は各VM120上で動作しているエージェント123から、VMM110上で動作するマネージャ111に送信される(ステップS402)。
まずI/Oの判定を行う対象を判定する。システムドライブ121へのI/Oの場合は本発明の対象外となるため、そのままストレージ40へのI/Oになる。
スワップドライブ122へのI/Oの場合は次の判定に移る(ステップS403)。
物理メモリ130上において、例えばスワップアウトを行っているVM120が1台しかないような場合など、スワップドライブ用メモリの空きが十分にある場合、スワップドライブ122へのI/Oを、スワップドライブ用メモリへのI/Oとする(ステップS406)。
スワップドライブ用メモリがすでに他のVM120に使用されていたりして、スワップドライブ用メモリの空きが不十分場合は、優先度の判定に移る(ステップS404)。
なお、S404において、スワップドライブ用メモリの空きが十分なのか不十分なのかの判断は、例えば所定の閾値と空き容量とを比較して判断することができる。また、これに限定はされない。
優先度の判定に移ると、優先度に応じスワップドライブ122へのI/Oにするか、ストレージ40へのI/Oにするかの判定が行われる(ステップS405)。そして、優先度が高いと判断された場合は、スワップドライブ122へのI/Oとされる(ステップS406)。
なお、S405において、優先度が高いか低いかの判断は、予め所定の優先度を設定しておくことで判断できる。例えば、一定の期間以上スワップが発生しているVM120からのI/Oであれば優先度が高い等、任意に設定可能である。
スワップドライブ用メモリへのI/Oとされた場合(ステップS406)、スワップドライブ用メモリからストレージ40へのI/Oが非同期に実行される(ステップS407)。
(第1の実施の形態による効果)
本実施の形態による第1の効果は、特定のVMに一時的な負荷が発生し、事前に割り当てた物理メモリ以上のメモリを要求するような処理が発生した際にある程度の性能を維持させることが可能になることである。
本実施の形態による第2の効果は、スワップドライブ用メモリは複数のVMで共有させるため、オーバーコミットを発生させずに性能を向上させることが可能になることである。
本実施の形態によれば、例えば、特定の仮想マシンがメモリリソースを要求した場合、ゲストOSがスワップアウトを行うが、このI/Oを物理メモリに行う。このため、他の仮想マシンには影響がない。スワップアウトを物理メモリに行った仮想マシンだけに性能低下が発生する。仮に平常時の性能を9とした場合、負荷により各仮想マシンの性能は9〜12等動的に変化するが、平常時の性能を下回ることはない。
ここで、本発明の課題を解決できる最小限の構成を図5に示す。仮想化システム100が、1つ以上の仮想マシン120が動作する仮想サーバ10と、ストレージ40とを備え、ストレージ40が、仮想マシン120ごとに、スワップ領域、データディスク領域、スワップディスク領域とを備え、仮想サーバ10が、仮想マシン120からスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、仮想マシン120からスワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャ111とを備えることで、上述した本発明の課題を解決することができる。
次に、本発明の仮想サーバ10のハードウェア構成例について、図6を参照して説明する。図6は、仮想サーバ10のハードウェア構成例を示すブロック図である。
図6を参照すると、本発明の仮想サーバ10は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)601、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部602、ネットワークを介してデータの送受信を行う通信部603、入力装置605や出力装置606及び記憶装置607と接続してデータの送受信を行う入出力インタフェース部604、上記各構成要素を相互に接続するシステムバス608を備えている。記憶装置607は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
本発明の仮想サーバ10の各機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置807に格納し、そのプログラムを主記憶部802にロードしてCPU801で実行することにより、ソフトウェア的に実現することも可能である。
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
(付記1)
1つ以上の仮想マシンが動作する仮想サーバと、
ストレージとを備え、
前記ストレージが、前記仮想マシンごとに、スワップ領域、データディスク領域、スワップディスク領域とを備え、
前記仮想サーバが、
前記仮想マシンから前記スワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、
前記仮想マシンから前記スワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える
ことを特徴とする仮想化システム。
(付記2)
前記マネージャが、
前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュする
ことを特徴とする付記1に記載の仮想化システム。
(付記3)
前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする付記2に記載の仮想化システム。
(付記4)
前記仮想マシンが、
前記仮想マシンからのI/Oを監視するエージェントを備え、
前記エージェントが、
前記I/Oの情報を前記マネージャに送信し、
前記マネージャが、
前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定する
ことを特徴とする付記1から付記3の何れか1項に記載の仮想化システム。
(付記5)
1つ以上の仮想マシンが動作する仮想サーバであって、
前記仮想マシンからストレージが備えるスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、
前記仮想マシンから前記スワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える
ことを特徴とする仮想サーバ。
(付記6)
前記マネージャが、
前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュする
ことを特徴とする付記5に記載の仮想サーバ。
(付記7)
前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする付記6に記載の仮想サーバ。
(付記8)
前記仮想マシンが、
前記仮想マシンからのI/Oを監視するエージェントを備え、
前記エージェントは、
前記I/Oの情報を前記マネージャに送信し、
前記マネージャが、
前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定する
ことを特徴とする付記5から付記7の何れか1項に記載の仮想サーバ。
(付記9)
1つ以上の仮想マシンが動作する仮想サーバによるメモリ管理方法であって、
前記仮想サーバが備えるマネージャが、
前記仮想マシンから前記スワップディスク領域へのI/Oを、前記仮想サーバが備えるスワップドライブ用メモリにキャッシュするステップを実行する
ことを特徴とするメモリ管理方法。
(付記10)
前記マネージャが、
前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュするステップを実行する
ことを特徴とする付記9に記載のメモリ管理方法。
(付記11)
前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする付記10に記載のメモリ管理方法。
(付記12)
前記仮想マシンが備えるエージェントが、
前記仮想マシンからのI/Oを監視し、前記I/Oの情報を前記マネージャに送信するステップを実行し、
前記マネージャが、
前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定するステップを実行する
ことを特徴とする付記9から付記11の何れか1項に記載のメモリ管理方法。
(付記13)
1つ以上の仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作するメモリ管理プログラムであって、
前記仮想サーバが備えるマネージャに、
前記仮想マシンから前記スワップディスク領域へのI/Oを、前記仮想サーバが備えるスワップドライブ用メモリにキャッシュする処理を実行させる
ことを特徴とするメモリ管理プログラム。
(付記14)
前記マネージャに、
前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュする処理を実行させる
ことを特徴とする付記13に記載のメモリ管理プログラム。
(付記15)
前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする付記14に記載のメモリ管理プログラム。
(付記16)
前記仮想マシンが備えるエージェントに、
前記仮想マシンからのI/Oを監視し、前記I/Oの情報を前記マネージャに送信する処理を実行させ、
前記マネージャに、
前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定する処理を実行させる
ことを特徴とする付記13から付記15の何れか1項に記載のメモリ管理プログラム。
100:仮想化システム
10(10−1〜10−3):仮想サーバ
101:NIC
102:HBA
110:VMM
111:マネージャ
120:VM
130:物理メモリ
121:システムドライブ
122:スワップドライブ
123:エージェント
204、205、214、215:I/O
20:ネットワークスイッチ
30:FCスイッチ
40:ストレージ
601:CPU
602:主記憶部
603:通信部
604:入出力インタフェース部
605:入力装置
606:出力装置
607:記憶装置
608:システムバス

Claims (10)

  1. 1つ以上の仮想マシンが動作する仮想サーバと、
    ストレージとを備え、
    前記ストレージが、前記仮想マシンごとに、スワップ領域、データディスク領域、スワップディスク領域とを備え、
    前記仮想サーバが、
    前記仮想マシンから前記スワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、
    前記仮想マシンから前記スワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える
    ことを特徴とする仮想化システム。
  2. 前記マネージャが、
    前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュする
    ことを特徴とする請求項1に記載の仮想化システム。
  3. 前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする請求項2に記載の仮想化システム。
  4. 前記仮想マシンが、
    前記仮想マシンからのI/Oを監視するエージェントを備え、
    前記エージェントが、
    前記I/Oの情報を前記マネージャに送信し、
    前記マネージャが、
    前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定する
    ことを特徴とする請求項1から請求項3の何れか1項に記載の仮想化システム。
  5. 1つ以上の仮想マシンが動作する仮想サーバであって、
    前記仮想マシンからストレージが備えるスワップディスク領域へのI/Oを格納するスワップドライブ用メモリと、
    前記仮想マシンから前記スワップディスク領域へのI/Oをスワップドライブ用メモリにキャッシュするマネージャとを備える
    ことを特徴とする仮想サーバ。
  6. 前記マネージャが、
    前記仮想マシンから前記スワップディスク領域へのI/Oが複数ある場合において、当該I/Oのすべてを格納する空き容量が前記スワップドライブ用メモリにない場合、予め設定した優先度に基づいて、前記優先度が高いI/Oを優先的に前記スワップディスク領域にキャッシュする
    ことを特徴とする請求項5に記載の仮想サーバ。
  7. 前記優先度が、スワップが発生している期間に応じて設定されることを特徴とする請求項6に記載の仮想サーバ。
  8. 前記仮想マシンが、
    前記仮想マシンからのI/Oを監視するエージェントを備え、
    前記エージェントは、
    前記I/Oの情報を前記マネージャに送信し、
    前記マネージャが、
    前記エージェントから受信した前記I/Oの情報に基づいて、当該I/Oが前記スワップディスク領域へのI/Oであるか否かを判定する
    ことを特徴とする請求項5から請求項7の何れか1項に記載の仮想サーバ。
  9. 1つ以上の仮想マシンが動作する仮想サーバによるメモリ管理方法であって、
    前記仮想サーバが備えるマネージャが、
    前記仮想マシンから前記スワップディスク領域へのI/Oを、前記仮想サーバが備えるスワップドライブ用メモリにキャッシュするステップを実行する
    ことを特徴とするメモリ管理方法。
  10. 1つ以上の仮想マシンが動作する仮想サーバを構成するコンピュータ上で動作するメモリ管理プログラムであって、
    前記仮想サーバが備えるマネージャに、
    前記仮想マシンから前記スワップディスク領域へのI/Oを、前記仮想サーバが備えるスワップドライブ用メモリにキャッシュする処理を実行させる
    ことを特徴とするメモリ管理プログラム。
JP2012063192A 2012-03-21 2012-03-21 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム Pending JP2013196421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012063192A JP2013196421A (ja) 2012-03-21 2012-03-21 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012063192A JP2013196421A (ja) 2012-03-21 2012-03-21 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム

Publications (1)

Publication Number Publication Date
JP2013196421A true JP2013196421A (ja) 2013-09-30

Family

ID=49395268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012063192A Pending JP2013196421A (ja) 2012-03-21 2012-03-21 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム

Country Status (1)

Country Link
JP (1) JP2013196421A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015170271A (ja) * 2014-03-10 2015-09-28 日本電気株式会社 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム
US11269919B2 (en) 2014-02-19 2022-03-08 Snowflake Inc. Resource management systems and methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010532034A (ja) * 2007-06-27 2010-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンのメモリを管理するためのシステム、方法、及びコンピュータ・プログラム
US20100312955A1 (en) * 2009-06-09 2010-12-09 Samsung Electronics Co., Ltd. Memory system and method of managing the same
JP2011198280A (ja) * 2010-03-23 2011-10-06 Nec Corp 仮想ディスク制御システム、方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010532034A (ja) * 2007-06-27 2010-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンのメモリを管理するためのシステム、方法、及びコンピュータ・プログラム
US20100312955A1 (en) * 2009-06-09 2010-12-09 Samsung Electronics Co., Ltd. Memory system and method of managing the same
JP2011198280A (ja) * 2010-03-23 2011-10-06 Nec Corp 仮想ディスク制御システム、方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11269919B2 (en) 2014-02-19 2022-03-08 Snowflake Inc. Resource management systems and methods
US11782950B2 (en) 2014-02-19 2023-10-10 Snowflake Inc. Resource management systems and methods
US11868369B2 (en) 2014-02-19 2024-01-09 Snowflake Inc. Resource management systems and methods
US11928129B1 (en) 2014-02-19 2024-03-12 Snowflake Inc. Cloning catalog objects
JP2015170271A (ja) * 2014-03-10 2015-09-28 日本電気株式会社 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム

Similar Documents

Publication Publication Date Title
US8997098B2 (en) Hypervisor-based server duplication system and method and storage medium storing server duplication computer program
EP2778919A2 (en) System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines
US10152340B2 (en) Configuring cache for I/O operations of virtual machines
US10534720B2 (en) Application aware memory resource management
JP2014021972A (ja) 複数の仮想マシンとして動作する複数のシステムによって共有されるストレージ・キャッシングでの柔軟性を改善するための方法および構造
JP2005222123A5 (ja)
US9342456B2 (en) Storage control program for hierarchy relocation control, storage system with hierarchy relocation control and hierarchy control apparatus thereof
JP2006350780A (ja) キャッシュ割当制御方法
Deshpande et al. Scatter-gather live migration of virtual machines
US11556391B2 (en) CPU utilization for service level I/O scheduling
JP2013206457A (ja) ストレージシステムによるメモリ管理の方法および装置
US20220066928A1 (en) Pooled memory controller for thin-provisioning disaggregated memory
US9755986B1 (en) Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment
CN112052291A (zh) 一种用户态访问分布式块存储系统的方法及系统
CN115202827A (zh) 处理虚拟化中断的方法、中断控制器、电子设备和芯片
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
US9317306B2 (en) Computer device and memory management method thereof
JP2013196421A (ja) 仮想化システム、仮想サーバ、メモリ管理方法及びメモリ管理プログラム
US11687443B2 (en) Tiered persistent memory allocation
CN116401043A (zh) 一种计算任务的执行方法和相关设备
WO2022125254A1 (en) Paging in thin-provisioned disaggregated memory
Kim et al. HyperCache: A hypervisor-level virtualized I/O cache on KVM/QEMU
CN108334401B (zh) 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
US9652429B2 (en) Horizontally expandable computing system
US10992751B1 (en) Selective storage of a dataset on a data storage device that is directly attached to a network switch

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20131023

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160607