WO2014002162A1 - ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 - Google Patents
ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 Download PDFInfo
- Publication number
- WO2014002162A1 WO2014002162A1 PCT/JP2012/066148 JP2012066148W WO2014002162A1 WO 2014002162 A1 WO2014002162 A1 WO 2014002162A1 JP 2012066148 W JP2012066148 W JP 2012066148W WO 2014002162 A1 WO2014002162 A1 WO 2014002162A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual disk
- disk
- virtual
- access
- new
- Prior art date
Links
- 238000003860 storage Methods 0.000 title claims description 111
- 238000000034 method Methods 0.000 title claims description 65
- 230000010365 information processing Effects 0.000 title claims description 24
- 230000008569 process Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 12
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000010367 cloning Methods 0.000 description 25
- 230000015654 memory Effects 0.000 description 19
- 238000012544 monitoring process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
新たな仮想マシン(20b)を作成する際に、前記新たな仮想マシン(20b)の基となったマスタ情報から作成された既存の仮想マシン(20a)に割り当てられた既存の仮想ディスク(6a)へのアクセス頻度に基づき前記新たな仮想マシン(20b)に割り当てられる新たな仮想ディスク(6b)へのアクセス頻度を推定する推定部(13b)と、推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスク(40)の連続した複数の割当単位領域を前記新たな仮想ディスク(6b)のために仮予約する仮予約部(13c)と、を有する。
Description
本発明は、ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法に関する。
ストレージ装置においては、リソースを仮想化して物理的なディスク領域を効率的に利用する仮想化機能が用いられることがある。例えば仮想化機能として、シンプロビジョニング(Thin Provisioning)が知られている。
シンプロビジョニング方式は、仮想ディスクの領域を、例えば512KB等のブロックと呼ばれる領域で管理し、必要に応じて1ブロックずつ追加で物理ディスクに割り当てを行なう。シンプロビジョニング方式は、ユーザが要求した容量(例えば100GB)の仮想ディスクを作成した場合、作成と同時に物理的に100GB分の全領域を割り当てることはせず、実際にデータが書き込まれる容量に応じて、物理ディスクにブロック単位で動的に仮想領域を割り当てる。
シンプロビジョニング方式は、仮想ディスクの領域を、例えば512KB等のブロックと呼ばれる領域で管理し、必要に応じて1ブロックずつ追加で物理ディスクに割り当てを行なう。シンプロビジョニング方式は、ユーザが要求した容量(例えば100GB)の仮想ディスクを作成した場合、作成と同時に物理的に100GB分の全領域を割り当てることはせず、実際にデータが書き込まれる容量に応じて、物理ディスクにブロック単位で動的に仮想領域を割り当てる。
なお、関連する技術として、シンプロビジョニング技術を適用した際に、論理ディスクに設定した割り当てポリシーが速度重視か容量重視かに応じて、ストレージ装置がディスクプール領域を異なる割り当て単位で論理ディスクに割り当てる技術が知られている。この技術では、データの書き込み要求があるとI/Oパターンが判別され、割り当てポリシーが、I/Oパターンに応じて変更される。また、この技術では、定期的に割り当てポリシーに応じてデータ領域の再配置を行なう。例えば、割り当てポリシーが速度重視に設定されている場合、割り当てた領域に、元のデータをコピーし、コピー前のデータ領域を削除することで、不連続なデータ領域を連続なデータ領域とする。
また、仮想エミュレータにおいて、1種類以上の仮想サーバの動作状況を保持する技術や、二次記憶装置に格納されたデータを連続・不連続にアクセスするアクセスパターンを解析して、将来アクセスされるデータを予測し、当該データを二次装置から主記憶装置へ先読みする技術も知られている。
シンプロビジョニング方式では、物理ディスクを効率的に利用できる一方で、仮想ディスクに割り当てられる領域が物理ディスク上で分散して存在することになる。このため、シンプロビジョニング方式は、仮想ディスクの全容量をまとめて物理ディスクに割り当てるシックプロビジョニング(Thick Provisioning)方式に比べて、シーケンシャルI/O(Input / Output)性能が低下する場合がある。
また、上述した関連する技術では、書き込み要求に応じて、I/Oパターンの判別や割り当てポリシーに応じたディスクプール領域の割り当てが行なわれるため、書き込み要求に係るデータがディスクプール領域に書き込まれるまでに時間がかかり、書き込み処理の性能が低下する場合がある。
1つの側面では、本発明は、仮想ディスクに対して物理ディスクの物理領域の割り当てを行なうストレージ制御装置において、仮想ディスクのアクセス性能の低下を抑止することを目的とする。
1つの側面では、本発明は、仮想ディスクに対して物理ディスクの物理領域の割り当てを行なうストレージ制御装置において、仮想ディスクのアクセス性能の低下を抑止することを目的とする。
一態様のストレージ制御装置は、新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定する推定部と、推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する仮予約部と、を有する。
また、一態様の情報処理装置は、仮想マシンを実行するサーバ装置と、少なくとも1つの物理ディスクを有する物理ストレージ装置と、前記サーバ装置及び前記物理ストレージ装置の制御を行なうストレージ制御装置と、をそなえた情報処理装置であって、新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定する推定部と、推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する仮予約部と、前記新たな仮想ディスクへの物理領域の割り当てを伴うアクセスが発生すると、前記新たな仮想ディスクのアクセス領域を前記仮予約部により仮予約された前記連続した複数の割当単位領域の少なくとも一部に割り当てる割当部と、を有する。
さらに、一態様のストレージ制御プログラムは、仮想マシンに割り当てられた仮想ディスクと、物理ディスクの物理領域との管理を行なうコンピュータに実行させるストレージ制御プログラムであって、新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定し、推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する、処理を前記コンピュータに実行させるものである。
さらに、一態様のストレージ制御方法は、仮想マシンに割り当てられた仮想ディスクと、物理ディスクの物理領域との管理を行なうストレージ制御装置における、ストレージ制御方法であって、新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定し、推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する、ものである。
一実施形態によれば、仮想ディスクに対して物理ディスクの物理領域の割り当てを行なうストレージ制御装置において、仮想ディスクのアクセス性能の低下を抑止することができる。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1-1〕情報処理装置の説明
図1は、一実施形態に係る情報処理装置1の機能構成例を示すブロック図であり、図2は、図1に示す物理ストレージ装置4と、仮想ストレージ5の仮想ディスク6との関係の一例を示す図である。図1に示すように、情報処理装置1は、少なくとも1つ(例えば3つ)のサーバ2-1~2-3,物理ストレージ装置4,及びストレージ制御装置10を有している。
〔1〕一実施形態
〔1-1〕情報処理装置の説明
図1は、一実施形態に係る情報処理装置1の機能構成例を示すブロック図であり、図2は、図1に示す物理ストレージ装置4と、仮想ストレージ5の仮想ディスク6との関係の一例を示す図である。図1に示すように、情報処理装置1は、少なくとも1つ(例えば3つ)のサーバ2-1~2-3,物理ストレージ装置4,及びストレージ制御装置10を有している。
サーバ(サーバ装置)2-1~2-3(以下、これらを区別しない場合には単にサーバ2という)はそれぞれ、ハイパバイザ等の仮想化ソフトウェア(図示省略)を実行し、仮想化ソフトウェア上で、少なくとも1つのVM(Virtual Machine;仮想マシン)ゲストを実行する電子計算機である。VMゲストは、サーバ2のリソースの一部を用いて動作する仮想マシンの一例である。また、VMゲスト上では、ゲストOS(Operating System)が実行される。なお、以下、仮想化ソフトウェアをVMホストという場合がある。
例えば、図1に示すサーバ2-1は、図示しないVMホスト上で、VMゲスト20aを実行する。また、VMゲスト20a上ではゲストOSが動作する(図示省略)。なお、破線で示すVMゲスト20bは、新規に作成されるVMゲストを表している。また、図示を省略しているが、図1に示すサーバ2-2,2-3も、サーバ2-1と同様に、それぞれVMホスト,及びゲストOSが動作するVMゲスト20を実行可能である。以下、VMゲスト20a,20b及びサーバ2-2,2-3上で実行されるVMゲストを区別しない場合には単にVMゲスト20という。
各サーバ2又は後述する管理サーバ3(図7参照)は、ユーザや管理者等からの指示に応じて、所定のサーバ2のVMホスト上に、新たにVMゲスト20の作成(配備)を行なうことができる。また、当該サーバ2又は管理サーバ3は、VMゲスト20を作成する際に、クローニングマスタイメージ等のマスタ情報に基づきゲストOSを作成することができる。なお、クローニングマスタイメージとは、ゲストOSの基となるイメージデータであり、ゲストOSの機能や役割或いはユーザ等に応じてサーバ2又は管理サーバ3の記憶装置に予め複数種類のクローニングマスタイメージが用意される。サーバ2又は管理サーバ3は、複数種類のクローニングマスタイメージの中から、作成するVMゲスト20(VMゲスト20上で動作するゲストOS)に対応するクローニングマスタイメージを複製(クローニング)してゲストOSを作成する。
また、各VMゲスト20には、それぞれ少なくとも1つの仮想ディスクが割り当てられる。例えば、VMゲスト20aには仮想ディスク6aが割り当てられ、VMゲスト20bには仮想ディスク6bが割り当てられる。なお、仮想ディスク6a,6bは、それぞれ物理ストレージ装置4の物理ディスク40-1~40-3のうちの所定の物理領域に割り当てられる。
ここで、本実施形態の一例としての情報処理装置1は、シンプロビジョニング方式を採用する。以下、図2を参照して、シンプロビジョニング方式における物理ディスク40-1~40-mと仮想ディスク6-1~6-nとの関係を説明する。
図2に示すように、物理ストレージ装置4は、少なくとも1つ(例えばm個)の物理ディスク40-1~40-m(以下、これらを区別しない場合には単に物理ディスク40という)を有する。なお、図1には、物理ストレージ装置4が、これらの物理ディスク40のうちの3つの物理ディスク40-1~40-3を有する例を示している。
図2に示すように、物理ストレージ装置4は、少なくとも1つ(例えばm個)の物理ディスク40-1~40-m(以下、これらを区別しない場合には単に物理ディスク40という)を有する。なお、図1には、物理ストレージ装置4が、これらの物理ディスク40のうちの3つの物理ディスク40-1~40-3を有する例を示している。
物理ディスク40は、HDD(Hard Disk Drive)等の磁気ディスク装置やSSD(Solid State Drive)等の半導体ドライブ装置等の各種デバイスであり、種々のデータやプログラム等を格納するハードウェアである。
仮想ストレージ5-1~5-i(以下、これらを区別しない場合には単に仮想ストレージ5という)には、それぞれ少なくとも1つの物理ディスク40が割り当てられ、割り当てられた物理領域の総容量が仮想ストレージ5の容量として管理される(図5参照)。
仮想ストレージ5-1~5-i(以下、これらを区別しない場合には単に仮想ストレージ5という)には、それぞれ少なくとも1つの物理ディスク40が割り当てられ、割り当てられた物理領域の総容量が仮想ストレージ5の容量として管理される(図5参照)。
仮想ディスク6-1~6-n(以下、これらを区別しない場合には単に仮想ディスク6という)は、仮想ディスク6が属する仮想ストレージ5の容量を割り当てられて作成される論理ディスクである(図3参照)。これらの仮想ディスク6は、VMゲスト20が作成される際や、既存のVMゲスト20が追加の仮想ディスク6を要求する際等に、仮想ストレージ5から切り出されてVMゲスト20に対して割り当てられる。なお、図1に示す仮想ディスク6aは、これらの仮想ディスク6のうちの少なくとも1つの仮想ディスク6を表し、仮想ディスク6bは、これらの仮想ディスク6のうちの少なくとも1つの仮想ディスク6を表したものである。
なお、物理ストレージ装置4は、VMゲスト20からのI/O要求(アクセス要求)に係るアクセス対象の仮想アドレス(仮想ブロック)を、物理ディスク40における物理アドレス(物理ブロック)に変換又は割り当ててI/O等のアクセスを実行する。このため、物理ストレージ装置4は、後述する割当部41a及び割当管理テーブル42aを有している。
ストレージ制御装置10は、図2に示す上述した物理ディスク40と仮想ディスク6との関係を管理し、サーバ2及び物理ストレージ装置4の制御を行なう。ストレージ制御装置10は、例えばサーバ2-1に新たに作成されるVMゲスト20bに割り当てられた仮想ディスク6bに対して、物理ストレージ装置4が有する物理ディスク40-1~40-3の複数の物理的に連続した物理ブロック(ブロック;割当単位領域)の仮予約を行なう。
〔1-2〕ストレージ制御装置の説明
次に、図1及び図3~図6を参照しながら、本実施形態に係るストレージ制御装置10について説明する。なお、図3は、図1に示すDB14が格納する仮想ディスク管理テーブル14aの一例を示す図であり、図4は、VMゲスト管理テーブル14bの一例を示す図である。また、図5は、仮想ストレージ管理テーブル14cの一例を示す図であり、図6は、物理ディスク管理テーブル14dの一例を示す図である。
次に、図1及び図3~図6を参照しながら、本実施形態に係るストレージ制御装置10について説明する。なお、図3は、図1に示すDB14が格納する仮想ディスク管理テーブル14aの一例を示す図であり、図4は、VMゲスト管理テーブル14bの一例を示す図である。また、図5は、仮想ストレージ管理テーブル14cの一例を示す図であり、図6は、物理ディスク管理テーブル14dの一例を示す図である。
ストレージ制御装置10は、図1に示すように、I/O要求受付部11,I/O実行部12,領域割当制御部13,及びDB(Database)14を有している。
I/O要求受付部11は、サーバ2の各VMゲスト20(ゲストOS)において発生したI/O要求を受け付ける。
I/O実行部(履歴出力部)12は、I/O要求受付部11からのI/O要求を実行する。つまり、I/O実行部12は、物理ストレージ装置4に対して、I/O要求を発行する。また、I/O実行部12は、所定期間ごとに、或いはアクセスのあったとき等の所定のタイミングで、I/O履歴(I/O履歴)を領域割当制御部13に出力する。なお、所定期間ごとにI/O履歴が出力される場合、I/O履歴には、少なくとも配備済のVMゲスト20に割り当てられた仮想ディスク6を特定する識別子(仮想ディスク識別子),I/O回数(アクセス回数),及び平均データ転送量が含まれる。また、アクセスのあったときにI/O履歴が出力される場合、I/O履歴には、少なくとも仮想ディスク識別子,及びデータ転送量が含まれる。
I/O要求受付部11は、サーバ2の各VMゲスト20(ゲストOS)において発生したI/O要求を受け付ける。
I/O実行部(履歴出力部)12は、I/O要求受付部11からのI/O要求を実行する。つまり、I/O実行部12は、物理ストレージ装置4に対して、I/O要求を発行する。また、I/O実行部12は、所定期間ごとに、或いはアクセスのあったとき等の所定のタイミングで、I/O履歴(I/O履歴)を領域割当制御部13に出力する。なお、所定期間ごとにI/O履歴が出力される場合、I/O履歴には、少なくとも配備済のVMゲスト20に割り当てられた仮想ディスク6を特定する識別子(仮想ディスク識別子),I/O回数(アクセス回数),及び平均データ転送量が含まれる。また、アクセスのあったときにI/O履歴が出力される場合、I/O履歴には、少なくとも仮想ディスク識別子,及びデータ転送量が含まれる。
なお、I/O要求受付部11及びI/O実行部12は、サーバ2ごとにそなえられる。
DB(保持部)14は、図3~図6に示す各テーブル14a~14dを保持する。
〔1-2-1〕領域割当制御部及び各テーブルの説明
ここで、領域割当制御部13の構成及びDB14が保持する各テーブルについて説明する。
DB(保持部)14は、図3~図6に示す各テーブル14a~14dを保持する。
〔1-2-1〕領域割当制御部及び各テーブルの説明
ここで、領域割当制御部13の構成及びDB14が保持する各テーブルについて説明する。
領域割当制御部(制御部)13は、仮想ディスク6に対する物理ディスク40の連続したブロックの仮予約を制御するものであり、監視部13a,推定部13b,仮予約部13c,及び取消部13dを有している。
監視部13aは、既存の仮想マシン20に割り当てられた既存の仮想ディスク6へのアクセスの監視を行ない、監視結果をDB14に格納する。具体的には、監視部13aは、仮想ディスク6へのアクセスのあったときにI/O実行部12からI/O履歴が出力される場合、仮想ディスク識別子ごとに、所定期間ごとのアクセス回数,及び平均データ転送量等を集計し、監視結果としてDB14の仮想ディスク管理テーブル14aに格納する。なお、ストレージ制御装置10が所定期間ごとにI/O実行部12からI/O履歴が出力されるように構成される場合には、監視部13aを省略しても良い。監視部13aが省略される場合、領域割当制御部13は、I/O実行部12から出力されたI/O履歴を、仮想ディスク6ごとの監視結果として仮想ディスク管理テーブル14aに格納する。
監視部13aは、既存の仮想マシン20に割り当てられた既存の仮想ディスク6へのアクセスの監視を行ない、監視結果をDB14に格納する。具体的には、監視部13aは、仮想ディスク6へのアクセスのあったときにI/O実行部12からI/O履歴が出力される場合、仮想ディスク識別子ごとに、所定期間ごとのアクセス回数,及び平均データ転送量等を集計し、監視結果としてDB14の仮想ディスク管理テーブル14aに格納する。なお、ストレージ制御装置10が所定期間ごとにI/O実行部12からI/O履歴が出力されるように構成される場合には、監視部13aを省略しても良い。監視部13aが省略される場合、領域割当制御部13は、I/O実行部12から出力されたI/O履歴を、仮想ディスク6ごとの監視結果として仮想ディスク管理テーブル14aに格納する。
仮想ディスク管理テーブル14aは、仮想ディスク6ごとに、監視結果を格納するテーブルであり、仮想ディスク識別子ごとに例えば図3に示す情報が含まれる。ディスク容量は、仮想ディスク6に割り当てられた容量であり、実ディスク使用量は、ディスク容量のうちの実際に物理ディスク40に割り当て済みの容量であり、状態は、仮想ディスク6が正常か否かを示す情報である。仮想ストレージ識別子は、仮想ストレージ5を特定する情報であり、割り当て先VMゲストは、仮想ディスク6が割り当てられているVMゲスト20を示す情報であって、例えばVMゲスト20を特定するVMゲスト識別子が設定される。仮予約実施対象は、仮想ディスク6に対する仮予約が実施されたか否かを示す情報(YES/NO)であり、仮予約量は、残りの(最新の)仮予約中の容量を示し、仮予約実施量は、仮予約部13cにより仮予約された容量を示す。
I/O履歴(1)~I/O履歴(N)は、所定期間(単位時間;例えば10分)ごとのI/O履歴をy日間(例えば、7日間)分、計N個(例えば、10分間隔で7日間の場合、N=1008)保存したものである。I/O履歴数がN個を超えた場合には、最も古い履歴が破棄され、新しい履歴が設定される。図3に示す例では、各I/O履歴には、I/O回数,平均データ転送量,及びI/O履歴が設定された時点での実ディスク割り当て済の容量が含まれる。例えば、“disk0001”のI/O履歴(1)には、I/O回数「5回」,平均データ転送量「4MB」,及び実ディスク割り当て済の容量「30GB」が含まれている。
以下、サーバ2-1について着目し、ユーザや管理者等から、新たなVMゲスト20bの作成が指示されるとともに、仮想ディスク6b、つまり少なくとも1つの仮想ディスク6の作成が指示された場合を想定する。なお、新たなVMゲスト20bは既存のVMゲスト20aと同じクローニングマスタイメージから作成されるものとする。
推定部13bは、新たなVMゲスト20bを作成する際に、既存のVMゲスト20aに割り当てられた既存の仮想ディスク6aへのアクセスの監視結果(アクセス頻度)に基づき新たなVMゲスト20bに割り当てられる仮想ディスク6bへのアクセス量(アクセス頻度)を推定する。ここで、アクセス量は、例えばI/O履歴に含まれるI/O回数と平均データ転送量とに基づいて算出されるアクセスの程度を示す情報であり、例えばアクセス頻度である。
推定部13bは、新たなVMゲスト20bを作成する際に、既存のVMゲスト20aに割り当てられた既存の仮想ディスク6aへのアクセスの監視結果(アクセス頻度)に基づき新たなVMゲスト20bに割り当てられる仮想ディスク6bへのアクセス量(アクセス頻度)を推定する。ここで、アクセス量は、例えばI/O履歴に含まれるI/O回数と平均データ転送量とに基づいて算出されるアクセスの程度を示す情報であり、例えばアクセス頻度である。
上述のごとく、クローニングマスタイメージとしては、ゲストOSの機能や役割等に応じて予め複数種類のものが用意されている。つまり、同じクローニングマスタイメージから作成されるVMゲスト20(ゲストOS)は、互いに挙動も同じような傾向になると予想できる。そこで、本実施形態に係る推定部13bは、作成するVMゲスト20bの種類と同じクローニングマスタイメージから過去に配備したVMゲスト20aを、VMゲスト管理テーブル14bに基づき認識する。そして、推定部13bは、作成するVMゲスト20bによる新たな仮想ディスク6bへの挙動の傾向(アクセス頻度)を、認識したVMゲスト20aによる仮想ディスク6aの使い方、例えば仮想ディスク6aへのアクセス回数や平均データ転送量等のアクセスの傾向に基づいて推定するのである。
VMゲスト管理テーブル14bには、VMゲスト識別子ごとに例えば図4に示す情報が含まれる。論理CPU,論理メモリは、後述するサーバ2のCPU(Central Processing Unit)21,メモリ22(図8参照)からそれぞれ割り当てられた処理能力,論理容量であり、VMホスト識別子は、VMゲスト20が実行されるVMホストを特定する識別子である。クローニングマスタイメージ識別子は、VMゲスト20の基となったクローニングマスタイメージを特定する情報である。配備日時は、VMゲスト20が配備(作成)された日時を示す情報である。仮想ディスク識別子は、上述の如くVMゲスト20に割り当てられた仮想ディスク6を特定する情報であり(図3参照)、括弧内には当該VMゲスト20における仮想ディスク6の接続デバイス名が設定される。なお、図4に示す例では、VMゲスト識別子が“guest0001”及び“guest0005”であるVMゲスト20は、同じクローニングマスタイメージ(クローニングマスタイメージ識別子:“image0001”)から作成されている。
例えば、ユーザや管理者等によりクローニングマスタイメージに基づく新たなVMゲスト20bの作成指示が行なわれると、推定部13bは、VMゲスト管理テーブル14bから、作成するVMゲスト20bと同じクローニングマスタイメージ識別子のVMゲスト20aを抽出する。そして、推定部13bは、抽出したVMゲスト20aに割り当てられた仮想ディスク識別子を基に、仮想ディスク管理テーブル14aを参照して、例えばI/O履歴(1)~(N)の平均のアクセス量(アクセス頻度)を算出し、算出したアクセス量を、新たな仮想ディスク6bへのアクセス量(アクセス頻度)として推定する。なお、アクセス量の算出の手法については、後述する。
仮予約部13cは、推定したアクセス量(アクセス頻度)が閾値(第1閾値)を超える場合に、物理ディスク40の物理的に連続した複数のブロック(割当単位領域)を、作成する新たな仮想ディスク6に将来割り当てるために、物理ディスク管理テーブル14dにおいて仮予約する。すなわち、仮予約部13cは、推定部13bにより推定されたアクセス量が、第1の閾値を超えるか否かに応じて、物理ディスク40の連続ブロックの仮予約の実施要否を決定する。つまり、仮予約部13cは、推定部13bによる新たな仮想ディスク6bのアクセス量の推定結果に基づき仮予約の実施の要否を決定する。
また、仮予約部13cは、既存の仮想ディスク6aの使用量の監視結果、例えば仮想ディスク管理テーブル14aの実ディスク使用量に基づき新たな仮想ディスク6bに割り当てる仮予約実施量を決定し、新たな仮想ディスク6bに対する連続した複数のブロックを、決定した仮予約実施量の分だけ仮予約する。つまり、仮予約部13cは、既存の仮想ディスク6aの実使用量(使用量)に基づき新たな仮想ディスク6bに仮予約するサイズを決定する。
物理ディスク管理テーブル14dには、物理ディスク40を特定する物理ディスク識別子ごとに例えば図6に示す情報が含まれる。ブロック番号は、物理ディスク40のブロックを特定する番号であり、ブロック番号の最大値は、個々の物理ディスク40の容量(サイズ)に依存して決まる。状態は、物理ディスク40が正常か否かを示す情報である。割り当て状態は、ブロック番号に対する仮想ディスク6の割り当ての状態を示す情報であり、例えばブロックに仮想ディスク6が割り当てられていない“未割り当て”,既に仮想ディスク6が割り当てられている“割り当て済”,及び仮予約部13cにより仮予約が行なわれた“仮予約済”等の状態がある。割り当て先仮想ストレージは、当該物理ディスク40に割り当てられた仮想ストレージ5を特定する情報であり、例えば仮想ストレージ識別子で示される。割り当て先仮想ディスクは、ブロック番号に対して割り当てられた仮想ディスクを特定する情報であり、例えば仮想ディスク識別子で示される。
このように、仮予約部13cは、全ての仮想ディスク6に対してブロックの仮予約を行なわず、推定部13bによって既存のVMゲスト20aでのI/O履歴(実績)に基づきI/Oの頻度が高くなると推定された新たな仮想ディスク6bを、優先して仮予約の実施対象とする。これにより、物理ディスク40を効率的に利用できるというシンプロビジョニング方式の長所を活かしつつ、仮予約した連続したブロックに対してシーケンシャルにデータの読み書きが行なえるため、仮予約したI/O性能の劣化を防止することができる。
なお、仮予約部13cは、仮想ストレージ管理テーブル14cを参照して、新たな仮想ディスク6bが属する仮想ストレージ5の未使用量が閾値(第2の閾値)よりも小さい場合には、新たな仮想ディスク6bに対する連続した複数のブロックの仮予約を抑止しても良い。つまり、仮予約部13cは、仮想ストレージ5の未使用量が第2の閾値(例えば5%)を下回った(枯渇した)場合は、新規の仮予約を中止する。
仮想ストレージ管理テーブル14cは、仮想ストレージ5ごとの使用状況を示したテーブルであり、仮想ストレージ識別子ごとに例えば図5に示す情報が含まれる。容量は、物理ディスク40から仮想ストレージ5に割り当てられた容量であり、使用量は、仮想ストレージ5に所属する物理ディスク40のうちの割り当て状態が“割り当て済”であるブロックの容量の総和である(図6参照)。仮予約量は、仮想ストレージ5に所属する物理ディスク40のうちの割り当て状態が“仮予約済”であるブロックの容量の総和であり、未使用量は、仮想ストレージ5に所属する物理ディスク40のうちの割り当て状態が“未割り当て”であるブロックの容量の総和である。
なお、仮想ストレージ5の容量は、仮想ストレージ5の使用量,仮予約量,及び未使用量の和となり、仮想ディスク6の容量は、仮想ディスク6の実ディスク使用量,及び仮予約量の和以上となる。
次に、推定部13b及び仮予約部13cの詳細な動作について説明する。
仮予約部13cは、推定部13bとともに、以下の(i)~(iv)の処理により、新たに作成する仮想ディスク6bに含まれる各仮想ディスク6の仮予約の要否を判断し、以下の(v)の処理により仮予約実施量の決定を行なう。
次に、推定部13b及び仮予約部13cの詳細な動作について説明する。
仮予約部13cは、推定部13bとともに、以下の(i)~(iv)の処理により、新たに作成する仮想ディスク6bに含まれる各仮想ディスク6の仮予約の要否を判断し、以下の(v)の処理により仮予約実施量の決定を行なう。
なお、ユーザや管理者等により、予め新たなVMゲスト20b(ゲストOS)の作成に用いるクローニングマスタイメージと、新たなVMゲスト20bに割り当てる仮想ディスク6b及びその接続デバイス名とが指定されたものとする。
(i) 推定部13bが、新たに配備するVMゲスト20bと同じクローニングマスタイメージから配備されたVMゲスト20の中から複数(例えば3つ)のVMゲスト20を選択する。例えば、推定部13bは、VMゲスト管理テーブル14b(図4参照)を参照し、配備後の経過時間が所定時間(例えば1日)以上、かつ、その中で配備後の経過時間が最短・中間・最長のVMゲスト20aを選ぶ。
(i) 推定部13bが、新たに配備するVMゲスト20bと同じクローニングマスタイメージから配備されたVMゲスト20の中から複数(例えば3つ)のVMゲスト20を選択する。例えば、推定部13bは、VMゲスト管理テーブル14b(図4参照)を参照し、配備後の経過時間が所定時間(例えば1日)以上、かつ、その中で配備後の経過時間が最短・中間・最長のVMゲスト20aを選ぶ。
(ii) 推定部13bが、新たに配備するVMゲスト20bの仮想ディスク6bのデバイスパス(接続デバイス名;例えば、scsi0:0,scsi0:1,…,ide0:0等;図4参照)に対応する仮想ディスク6を、仮想ディスク管理テーブル14a(図3参照)に基づき、上記(i)で選んだ各々のVMゲスト20から抽出する。
なお、上記(i)において条件を満たすVMゲスト20が3個未満の場合、又は、上記(ii)において3つのVMゲスト20のいずれかでデバイスパスに対応する仮想ディスク6がなかった場合、推定部13bは、新たに作成するVMゲスト20でのアクセス量を推定する際にヒントとして使う履歴情報が十分に集まっていないと判断し、処理を終了する。これらの場合、仮予約部13cは、当該新たに作成するVMゲスト20に割り当てられる仮想ディスク6に対する仮予約を“否”と判断する。
なお、上記(i)において条件を満たすVMゲスト20が3個未満の場合、又は、上記(ii)において3つのVMゲスト20のいずれかでデバイスパスに対応する仮想ディスク6がなかった場合、推定部13bは、新たに作成するVMゲスト20でのアクセス量を推定する際にヒントとして使う履歴情報が十分に集まっていないと判断し、処理を終了する。これらの場合、仮予約部13cは、当該新たに作成するVMゲスト20に割り当てられる仮想ディスク6に対する仮予約を“否”と判断する。
(iii) 推定部13bは、上記(ii)で抽出した3つの仮想ディスク6の各々に対して、以下の(iii-1)及び(iii-2)処理を行なう。
(iii-1) 仮想ディスク6ごとに、所定時間(例えば1日)の中で、「I/O回数×平均データ転送量」が最大のI/O履歴を仮想ディスク管理テーブル14aから抽出する。
(iii-1) 仮想ディスク6ごとに、所定時間(例えば1日)の中で、「I/O回数×平均データ転送量」が最大のI/O履歴を仮想ディスク管理テーブル14aから抽出する。
(iii-2) 仮想ディスク6ごとに、仮想ディスク管理テーブル14aに保存されている履歴の日数分だけ、上記(iii-1)の値(I/O履歴)を抽出し、その平均値を仮想ディスク6のI/O頻度値(アクセス頻度値)として算出する。なお、ここで算出されるI/O頻度値が、仮予約部13cにより、上述したアクセス量(アクセス頻度)として用いられる。
(iv) 仮予約部13cは、上記(iii)で算出したI/O頻度値が第1の閾値、例えば30MBを超える場合、仮予約“要”と判断する。一方、仮予約部13cは、I/O頻度値が第1の閾値未満の場合、仮予約“否”と判断する。
(v) 次いで、仮予約部13cは、上記(iv)で仮予約“要”となった仮想ディスク6について、仮予約実施量を算出する。具体的には、仮予約部13cは、上記(ii)で抽出した3つの仮想ディスク6について、下記(1)式の計算を行ない、その平均値を、上記(iv)で仮予約“要”となった仮想ディスク6の仮予約実施量とする。なお、下記(1)式において、zはVMゲスト20の配備後の日数であり、yはI/O履歴に保存されている日数である。
(v) 次いで、仮予約部13cは、上記(iv)で仮予約“要”となった仮想ディスク6について、仮予約実施量を算出する。具体的には、仮予約部13cは、上記(ii)で抽出した3つの仮想ディスク6について、下記(1)式の計算を行ない、その平均値を、上記(iv)で仮予約“要”となった仮想ディスク6の仮予約実施量とする。なお、下記(1)式において、zはVMゲスト20の配備後の日数であり、yはI/O履歴に保存されている日数である。
Max(1-z/y,0)×仮予約量+使用量 ・・・(1)
ここで、(1)式においては、VMゲスト20の配備後の経過日数が長くなるほど、そのVMゲスト20の仮予約量の信頼性が低下するものとみなされる。つまり、(1)式に従って仮予約実施量が算出されると、経過日数が長いVMゲスト20の仮予約量は、新たな仮想ディスク6bの仮予約実施量の算出結果に反映され難くなる。これにより、最近のVMゲスト20の使用状況に重み付けがされた数値が算出されるため、仮予約部13cは、新たな仮想ディスク6に最適な仮予約実施量を設定することができる。
ここで、(1)式においては、VMゲスト20の配備後の経過日数が長くなるほど、そのVMゲスト20の仮予約量の信頼性が低下するものとみなされる。つまり、(1)式に従って仮予約実施量が算出されると、経過日数が長いVMゲスト20の仮予約量は、新たな仮想ディスク6bの仮予約実施量の算出結果に反映され難くなる。これにより、最近のVMゲスト20の使用状況に重み付けがされた数値が算出されるため、仮予約部13cは、新たな仮想ディスク6に最適な仮予約実施量を設定することができる。
なお、仮想ストレージ5に割り当てられた物理ディスク40上にある未使用のブロックの連続領域が、上記(v)で算出した仮予約実施量に満たない場合、仮予約部13cは、未使用のブロックの連続領域のうちで最大の範囲を仮予約する。
取消部13dは、仮想ストレージ5の未使用量が閾値(第3の閾値)よりも少ない場合に、仮想ストレージ5に属する仮想ディスク6への物理領域の割り当てを伴うアクセスが発生すると、仮想ディスク6に対して仮予約された複数のブロックの少なくとも一部を取り消す。具体的には、取消部13dは、仮想ストレージ5に属する少なくとも1つの仮想ディスク6のうちの、監視結果から得られるアクセス量、つまり既存の仮想ディスク6へのアクセス頻度が小さい仮想ディスク6に対して仮予約された複数のブロックの少なくとも一部を取り消す。つまり、取消部13dは、仮想ストレージ5の未使用量が第2の閾値(例えば5%)よりも小さい第3の閾値(例えば1%)を下回った(枯渇した)場合(或いは未使用量が0になった場合)、仮予約の一部又は全部を取り消して未割り当ての状態に戻し、実際に物理ディスク40のブロックを必要とする仮想ディスク6に割り当てられるようにする。
取消部13dは、仮想ストレージ5の未使用量が閾値(第3の閾値)よりも少ない場合に、仮想ストレージ5に属する仮想ディスク6への物理領域の割り当てを伴うアクセスが発生すると、仮想ディスク6に対して仮予約された複数のブロックの少なくとも一部を取り消す。具体的には、取消部13dは、仮想ストレージ5に属する少なくとも1つの仮想ディスク6のうちの、監視結果から得られるアクセス量、つまり既存の仮想ディスク6へのアクセス頻度が小さい仮想ディスク6に対して仮予約された複数のブロックの少なくとも一部を取り消す。つまり、取消部13dは、仮想ストレージ5の未使用量が第2の閾値(例えば5%)よりも小さい第3の閾値(例えば1%)を下回った(枯渇した)場合(或いは未使用量が0になった場合)、仮予約の一部又は全部を取り消して未割り当ての状態に戻し、実際に物理ディスク40のブロックを必要とする仮想ディスク6に割り当てられるようにする。
より具体的に、取消部13dは、仮想ストレージ5の未使用量が第3の閾値よりも少なくなると、以下の(vi)及び(vii)の処理により、仮予約を取り消して未使用に戻す。
(vi) 仮想ディスク管理テーブル14aに基づいて、未使用量が第3の閾値よりも少なくなった仮想ストレージ5に所属する物理ディスク40を利用する、全ての仮想ディスク6のI/O頻度値を求めて、I/O頻度値の小さい順でソートする。
(vi) 仮想ディスク管理テーブル14aに基づいて、未使用量が第3の閾値よりも少なくなった仮想ストレージ5に所属する物理ディスク40を利用する、全ての仮想ディスク6のI/O頻度値を求めて、I/O頻度値の小さい順でソートする。
(vii) 物理ディスク管理テーブル14dに対して、I/O頻度値が最も小さい仮想ディスク6の仮予約を取り消す。なお、取消部13dは、I/O頻度値が同じ仮想ディスク6が複数ある場合は、仮予約量が大きい方を優先して、仮予約の取り消しを行なう。
このように、仮想ストレージ5の未使用量が枯渇した状況になった場合には、まずは仮予約部13cが仮予約を中止し、続いて取消部13dが実際には使われていない仮予約済のブロックの仮予約を取り消すことで、物理領域を有効利用することができる。
このように、仮想ストレージ5の未使用量が枯渇した状況になった場合には、まずは仮予約部13cが仮予約を中止し、続いて取消部13dが実際には使われていない仮予約済のブロックの仮予約を取り消すことで、物理領域を有効利用することができる。
なお、取消部13dは、少なくとも発生したアクセスにより書き込むサイズ以上の領域が空くまで、仮予約されたブロックの取り消しを行なう。
なお、上述した各テーブル14a~14dは、それぞれVMゲスト20や仮想ディスク6が作成,変更,削除等される際に、領域割当制御部13により更新される。また、仮想ストレージ5や仮想ディスク6の使用量,仮予約量,状態等は、所定時間ごとや所定のタイミングで、領域割当制御部13により更新される。
なお、上述した各テーブル14a~14dは、それぞれVMゲスト20や仮想ディスク6が作成,変更,削除等される際に、領域割当制御部13により更新される。また、仮想ストレージ5や仮想ディスク6の使用量,仮予約量,状態等は、所定時間ごとや所定のタイミングで、領域割当制御部13により更新される。
〔1-3〕物理ストレージ装置の説明
次に、図1及び図7を参照しながら、本実施形態に係る物理ストレージ装置4について説明する。なお、図7は、図1に示す物理ストレージ装置4が格納する割当管理テーブル42aの一例を示す図である。物理ストレージ装置4は、割当部41aを有するとともに、割当管理テーブル42aを保持する。
次に、図1及び図7を参照しながら、本実施形態に係る物理ストレージ装置4について説明する。なお、図7は、図1に示す物理ストレージ装置4が格納する割当管理テーブル42aの一例を示す図である。物理ストレージ装置4は、割当部41aを有するとともに、割当管理テーブル42aを保持する。
割当管理テーブル42aは、仮想ディスク6の仮想アドレス(仮想ブロック)と、物理ディスク40における物理アドレス(物理ブロック)とを対応付けるテーブルである。割当管理テーブル42aは、図7に示すように、図6に示す物理ディスク管理テーブル14dに対して、ブロック番号ごとに割り当てられた仮想ディスク6の仮想ブロック、つまり仮想ディスク6における割当単位領域を対応付けたものである。
割当部41aは、VMゲスト20からのI/O要求(アクセス要求)に係るアクセス対象の仮想ブロックを、割当管理テーブル42aに基づき物理ブロックに変換してI/Oを実行する。また、割当部41aは、仮想ディスク6への物理領域の割り当てを伴うアクセスが発生すると、割当管理テーブル42aに基づいて、アクセス対象の領域(仮想ブロック)を、当該仮想ディスク6に対して仮予約された連続した複数の物理ブロックの少なくとも一部に割り当てる。なお、割当部41aは、割当管理テーブル42aにおいて“仮予約済”状態の物理ブロックには、他の仮想ディスク6を割り当てないようにする。
なお、上述のように、仮想ストレージ5の未使用量が第3の閾値よりも少ない場合に、仮想ストレージ5に属する仮想ディスク6への物理領域の割り当てを伴うアクセスが発生すると、取消部13dにより、仮想ディスク6に対して仮予約された複数のブロックの少なくとも一部が取り消される。この場合、割当部41aは、当該アクセスに係る仮想ディスク6のアクセス領域を、取消部13dによって取り消された複数の物理ブロックの少なくとも一部に割り当てる。
ここで、物理ディスク管理テーブル14d及び割当管理テーブル42aは、ストレージ制御装置10及び物理ストレージ装置4により、相互に更新可能である。例えば、ストレージ制御装置10は、仮予約を実行、又は取り消して物理ディスク管理テーブル14dを更新する際に、同時に、或いは所定のタイミングで、更新内容を割当管理テーブル42aに対しても反映する。また、物理ストレージ装置4は、仮想ディスク6への物理領域の割り当て又は削除を伴うアクセスに応じて、論理ブロックと物理ブロックとの割り当て状態を更新する際に、同時に、或いは所定のタイミングで、更新内容を物理ディスク管理テーブル14dに対しても反映する。
このように、物理ストレージ装置4及びストレージ制御装置10は、少なくとも物理ブロックの割り当て状態を相互に反映させる。これにより、割当部41aにより、仮予約部13cによって仮予約されたブロックが他の仮想ディスク6に割り当てられることを抑止できるとともに、仮予約部13cにより、割当部41aによって既に他の仮想ディスクに割り当てられた物理ブロックが仮予約されることを抑止できる。
なお、上述した例では、ストレージ制御装置10が物理ディスク管理テーブル14dを保持し、物理ストレージ装置4が割当管理テーブル42aを保持するものとして説明したが、これに限定されるものではない。例えば、物理ストレージ装置4が割当管理テーブル42aを保持する一方、ストレージ制御装置10は物理ディスク管理テーブル14dを保持しなくても良い。この場合、仮予約部13c及び取消部13dによる仮予約の状態の更新は、ストレージ制御装置10から割当管理テーブル42aに対して行なうこととすれば良い。
また、上述した例では、割当管理テーブル42aは、物理ディスク管理テーブル14dに対して仮想ブロックを追加したものとして説明したが、これに限定されるものではない。割当管理テーブル42aは、少なくとも物理ディスク40を特定する情報(例えば物理ディスク識別子),物理ブロック番号,割り当て状態,割り当て先の仮想ディスク6を特定する情報(例えば仮想ディスク識別子),及び仮想ブロックが含まれれば良い。
〔1-4〕情報処理装置のハードウェア構成例
次に、図8を参照して、本実施形態に係る情報処理装置1のハードウェア構成例を説明する。なお、図8は、図1に示す情報処理装置1のハードウェア構成例を示すブロック図である。
図8に示すように、情報処理装置1は、上述した複数のサーバ2(2-1~2-3),管理サーバ3,及び上述した物理ストレージ装置3を有している。
次に、図8を参照して、本実施形態に係る情報処理装置1のハードウェア構成例を説明する。なお、図8は、図1に示す情報処理装置1のハードウェア構成例を示すブロック図である。
図8に示すように、情報処理装置1は、上述した複数のサーバ2(2-1~2-3),管理サーバ3,及び上述した物理ストレージ装置3を有している。
各サーバ2は、少なくともCPU21,メモリ22,及びネットワークコントローラ23を有している。すなわち、各サーバ2は、VMホストにより、CPU21やメモリ22等のリソースを論理的に分割して、それぞれが実行するVMゲスト20に割り当てる。
管理サーバ3は、各サーバ2及び物理ストレージ装置4のリソースの管理や各種制御を実行する電子計算機であり、少なくともCPU31,メモリ32,ネットワークコントローラ33,及びHDD34を有している。
管理サーバ3は、各サーバ2及び物理ストレージ装置4のリソースの管理や各種制御を実行する電子計算機であり、少なくともCPU31,メモリ32,ネットワークコントローラ33,及びHDD34を有している。
物理ストレージ装置4は、上述した物理ディスク40を有するとともに、少なくともCPU41,メモリ42,及びネットワークコントローラ43を有している。
HDD34は、例えばストレージ制御装置10の後述するDB14として用いられる。なお、HDD34に代えて、SSD等の各種デバイスや不揮発性メモリが用いられても良い。
HDD34は、例えばストレージ制御装置10の後述するDB14として用いられる。なお、HDD34に代えて、SSD等の各種デバイスや不揮発性メモリが用いられても良い。
CPU21,31,41は、それぞれ対応するメモリ22,32,42及びネットワークコントローラ23,33,43,並びにHDD34とそれぞれバス(及びコントローラ等)を介して接続され、種々の制御や演算を行なう処理装置である。CPU21,31,41は、それぞれメモリ22,32,42又は図示しないROM(Read Only Memory)等に格納されたプログラムを実行することにより、種々の機能を実現する。
例えば本実施形態に係るCPU21は、VMゲスト20(ゲストOS)を実行する仮想化ソフトウェア(VMホスト)としての機能や、I/O要求受付部11及びI/O実行部12としての機能を実現する。また、本実施形態に係るCPU31は、ストレージ制御装置10の領域割当制御部13としての機能を実現する。すなわち、各サーバ2及び管理サーバ3により、本実施形態に係るストレージ制御装置10が実現される。なお、便宜上、図1では、I/O要求受付部11及びI/O実行部12をサーバ2の外部に示している。
また、本実施形態に係るCPU41は、割当部41aとしての機能を実現する。
メモリ22,32,42は、種々のデータやプログラムを一時的に格納する記憶装置であって、CPU21,31,41がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ22,32,42としては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
メモリ22,32,42は、種々のデータやプログラムを一時的に格納する記憶装置であって、CPU21,31,41がプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ22,32,42としては、例えばRAM(Random Access Memory)等の揮発性メモリが挙げられる。
メモリ42は、割当管理テーブル42aを保持する。なお、メモリ42は、さらに物理ストレージ装置4のキャッシュメモリとして用いられても良い。この場合、メモリ42は、VMゲスト20から各物理ディスク40へ書き込まれるデータ,各物理ディスク40からVMゲスト20へ読み出されるデータ等を一時的に格納する。
ネットワークコントローラ23,33,43は、接続先のネットワークコントローラとのインタフェース制御を行なうとともに、各種のデータ通信を行なうコントローラである。なお、図8に示す例では、ネットワークコントローラ23とネットワークコントローラ33及び43それぞれとが互いに通信可能に接続されているが、これに限定されるものではない。例えば、図8中、破線で示すように、さらにネットワークコントローラ33と43とが互いに通信可能に接続されても良い。
ネットワークコントローラ23,33,43は、接続先のネットワークコントローラとのインタフェース制御を行なうとともに、各種のデータ通信を行なうコントローラである。なお、図8に示す例では、ネットワークコントローラ23とネットワークコントローラ33及び43それぞれとが互いに通信可能に接続されているが、これに限定されるものではない。例えば、図8中、破線で示すように、さらにネットワークコントローラ33と43とが互いに通信可能に接続されても良い。
〔1-5〕ストレージ制御装置の動作例
次に、上述の如く構成された情報処理装置1における動作例を、図9~図13を参照して説明する。図9は、図1に示すストレージ制御装置10におけるVMゲスト20の作成時の処理を説明する図である。図10~図12は、図1に示すストレージ制御装置10における仮予約処理の一例を説明するフローチャートであり、図13は、仮予約ブロック使用時の処理の一例を説明するフローチャートであり、図14は、仮予約の取り消し処理の一例を説明するフローチャートである。
次に、上述の如く構成された情報処理装置1における動作例を、図9~図13を参照して説明する。図9は、図1に示すストレージ制御装置10におけるVMゲスト20の作成時の処理を説明する図である。図10~図12は、図1に示すストレージ制御装置10における仮予約処理の一例を説明するフローチャートであり、図13は、仮予約ブロック使用時の処理の一例を説明するフローチャートであり、図14は、仮予約の取り消し処理の一例を説明するフローチャートである。
〔1-5-1〕仮予約処理
はじめに、図9~図12を参照して、ストレージ制御装置10における仮予約処理の一例を説明する。なお、以下の説明では、サーバ2-1について着目し、サーバ2-1において、仮想化ソフトウェア(VMホスト)上でVMゲスト20-1~20-pが実行され、新たにVMゲスト20-q(VMゲスト識別子“VM0006”)が作成される場合を想定する。また、新たに作成されるVMゲスト20-qは、新たな仮想ディスク6が2つ(接続デバイス名{“disk0”,“disk1”})割り当てられるとともに、クローニングマスタイメージ識別子が“image0001”のクローニングマスタイメージから配備されるものとする。さらに、現在の時刻を“2011-09-26 15:00”とし、仮想ディスク管理テーブル14aには、I/O履歴が最新の7日間分(y=7)記録されるものとする。
はじめに、図9~図12を参照して、ストレージ制御装置10における仮予約処理の一例を説明する。なお、以下の説明では、サーバ2-1について着目し、サーバ2-1において、仮想化ソフトウェア(VMホスト)上でVMゲスト20-1~20-pが実行され、新たにVMゲスト20-q(VMゲスト識別子“VM0006”)が作成される場合を想定する。また、新たに作成されるVMゲスト20-qは、新たな仮想ディスク6が2つ(接続デバイス名{“disk0”,“disk1”})割り当てられるとともに、クローニングマスタイメージ識別子が“image0001”のクローニングマスタイメージから配備されるものとする。さらに、現在の時刻を“2011-09-26 15:00”とし、仮想ディスク管理テーブル14aには、I/O履歴が最新の7日間分(y=7)記録されるものとする。
図9に示すように、ストレージ制御装置10は、I/O要求受付部11及びI/O実行部12により、サーバ2で稼動済みのVMゲスト20-1~20-pのI/O履歴を管理サーバ3に送信し、領域割当制御部13(監視部13a)は、収集したI/O履歴を管理サーバ3のHDD(DB14)に監視結果として格納する(図9の矢印(1)参照)。
次いで、ユーザや管理者等により、新たなVMゲスト20-qの配備が指示されると(図9の矢印(2)参照)、領域割当制御部13において、推定部13b及び仮予約部13cによる仮予約の処理が実行される。
次いで、ユーザや管理者等により、新たなVMゲスト20-qの配備が指示されると(図9の矢印(2)参照)、領域割当制御部13において、推定部13b及び仮予約部13cによる仮予約の処理が実行される。
具体的には、図10に示すように、推定部13bにより、新たなVMゲスト20-qにクローニングマスタイメージが指定されているか否かが判定され(ステップS1)、指定されていない場合は(ステップS1のNoルート)処理が終了する。一方、新たなVMゲスト20-qにクローニングマスタイメージが指定されている場合(ステップS1のYesルート)、推定部13bにより、VMゲスト管理テーブル14bから3つのVMゲスト20が抽出される(ステップS2)。
なお、図9に示す例では、推定部13bにより、新たなVMゲスト20-qの基となるクローニングマスタイメージ識別子“image0001”により作成された既存のVMゲスト20が、VMゲスト管理テーブル14bに基づき認識される。例えば、クローニングマスタイメージ識別子“image0001”により作成されたVMゲスト20が、VMゲスト20-1~20-pのうちで5つ(VMゲスト識別子“VM0001”~“VM0005”)あり、各々の配備日時及びVM配備後の経過日数が以下の通りであるとする。
“VM0001”:“2011-08-01 09:03”,56日経過
“VM0002”:“2011-08-10 13:28”,47日経過
“VM0003”:“2011-08-31 10:41”,26日経過
“VM0004”:“2011-09-23 23:55”, 2日経過
“VM0005”:“2011-09-25 19:07”, 0日経過
推定部13bは、認識したVMゲスト20から、配備時刻が現在時刻から1日以内のものを除き、配備時刻でテーブルをソートして、ソートされた配列の先頭・末尾・中間の要素を抽出する。上記の例では、5つのVMゲスト20のうち、配備後1日以上経過しているVMゲスト20は、“VM0001”~“VM0004”の4つである。推定部13bは、これら4つのVMゲスト20から配備後の経過時間が最長・中間・最短のVMゲスト20として、“VM0001”,“VM0002”,“VM0004”を選択する。なお、上記の例のように、配備後1日以上経過しているVMゲスト数が偶数の場合、推定部13bは、例えば中間の2つのVMゲスト20のうち、VM配備日時が古い(配備後の経過日数が長い)方を選択する。
“VM0002”:“2011-08-10 13:28”,47日経過
“VM0003”:“2011-08-31 10:41”,26日経過
“VM0004”:“2011-09-23 23:55”, 2日経過
“VM0005”:“2011-09-25 19:07”, 0日経過
推定部13bは、認識したVMゲスト20から、配備時刻が現在時刻から1日以内のものを除き、配備時刻でテーブルをソートして、ソートされた配列の先頭・末尾・中間の要素を抽出する。上記の例では、5つのVMゲスト20のうち、配備後1日以上経過しているVMゲスト20は、“VM0001”~“VM0004”の4つである。推定部13bは、これら4つのVMゲスト20から配備後の経過時間が最長・中間・最短のVMゲスト20として、“VM0001”,“VM0002”,“VM0004”を選択する。なお、上記の例のように、配備後1日以上経過しているVMゲスト数が偶数の場合、推定部13bは、例えば中間の2つのVMゲスト20のうち、VM配備日時が古い(配備後の経過日数が長い)方を選択する。
次いで、図10のステップS3において、推定部13bにより、3つのVMゲスト20が抽出できたか否かが判定され(ステップS3)、抽出できていない場合(ステップS3のNoルート)、処理が終了する。一方、3つのVMゲスト20が抽出できた場合(ステップS3のYesルート)、図11のステップS4に移行し、仮想ディスク6のデバイスパス(接続デバイス名)の{“disk0”,“disk1”}を示す変数nに0が代入される。
そして、推定部13bにより、新たに配備するVMゲスト20のn番目の仮想ディスク6のデバイスパスが確認される(ステップS5)。また、推定部13bにより、仮想ディスク管理テーブル14aから、仮想ディスク6を配置する仮想ストレージ5の容量と未使用量とが確認される(ステップS6)。
次いで、推定部13bにより、ステップS6において確認した仮想ストレージ5の未使用量が、容量と閾値g(第2の閾値)との積よりも大きいか否かが判定され(ステップS7)、大きくない場合には(ステップS7のNoルート)、ステップS15に移行する。
次いで、推定部13bにより、ステップS6において確認した仮想ストレージ5の未使用量が、容量と閾値g(第2の閾値)との積よりも大きいか否かが判定され(ステップS7)、大きくない場合には(ステップS7のNoルート)、ステップS15に移行する。
ステップS15では、推定部13b(又は仮予約部13c)により、変数nがインクリメントされ、nがディスク数(ここでは2)以上であるか否かが判定される(ステップS16)。nがディスク数以上である場合(ステップS16のYesルート)、新規配備するVMゲスト20-qの全ての仮想ディスク6{“disk0”,“disk1”}について判定が終了したため、処理が終了する。一方、nがディスク数未満である場合(ステップS16のNoルート)、ステップS5に移行する。
一方、未使用量が、容量と閾値gとの積よりも大きい場合(ステップS7のYesルート)、推定部13bにより、3つのVMゲスト20について、VMゲスト管理テーブル14bから、作成する仮想ディスク6と同じデバイスパスに接続されている仮想ディスク識別子が特定される(ステップS8)。
次に、推定部13bにより、3つのVMゲスト20それぞれについて、仮想ディスク識別子が特定できたか否かが判定され(ステップS9)、できていない場合(ステップS9のNoルート)、ステップS15に移行する。一方、3つのVMゲスト20それぞれについて仮想ディスク識別子が特定できた場合(ステップS9のYesルート)、推定部13bにより、3つの仮想ディスク6の各々について、仮想ディスク管理テーブル14aのI/O履歴からI/O頻度値が算出される(ステップS10)。
次に、推定部13bにより、3つのVMゲスト20それぞれについて、仮想ディスク識別子が特定できたか否かが判定され(ステップS9)、できていない場合(ステップS9のNoルート)、ステップS15に移行する。一方、3つのVMゲスト20それぞれについて仮想ディスク識別子が特定できた場合(ステップS9のYesルート)、推定部13bにより、3つの仮想ディスク6の各々について、仮想ディスク管理テーブル14aのI/O履歴からI/O頻度値が算出される(ステップS10)。
例えば、推定部13bは、選択した各VMゲスト20について、1日分ずつ「I/O回数×平均データ転送量」が最大のI/O履歴を抽出し、仮想ディスク管理テーブル14aに保存されている履歴の日数分だけ抽出したI/O履歴を平均して、I/O頻度値を算出する。なお、各VMゲスト20には2つの仮想ディスク6が割り当てられているものとして、VMゲスト20と対応する各仮想ディスク6{“disk0”,“disk1”}のI/O頻度値とを、VMゲスト識別子-disk{disk0のI/O頻度値,disk1のI/O頻度値}で表わす。例えば推定部13bが各仮想ディスク6について算出したI/O頻度値が以下の通りであったとする。
VM0001-disk{10.2MB,44.7MB}
VM0002-disk{13.5MB,40.1MB}
VM0004-disk{22.8MB,30.3MB}
次いで、推定部13bにより、求めた3つのI/O頻度値の平均が求められる(図11のステップS11)。上記の例では、
“disk0”:“15.5MB”
“disk1”:“38.4MB”
となる。なお、“disk0”についての計算は、nが0のときに行なわれ、“disk1”についての計算は、nが1(ステップS15,S16のNoルート参照)のときに行なわれる。
VM0002-disk{13.5MB,40.1MB}
VM0004-disk{22.8MB,30.3MB}
次いで、推定部13bにより、求めた3つのI/O頻度値の平均が求められる(図11のステップS11)。上記の例では、
“disk0”:“15.5MB”
“disk1”:“38.4MB”
となる。なお、“disk0”についての計算は、nが0のときに行なわれ、“disk1”についての計算は、nが1(ステップS15,S16のNoルート参照)のときに行なわれる。
これらの各仮想ディスク6のI/O頻度値の平均が、推定部13bにより、新たに作成されるVMゲスト20-qに割り当てられる各仮想ディスク6{“disk0”,“disk1”}のI/O頻度値(アクセス量)として推定される。
次いで、仮予約部13cにより、推定された平均のI/O頻度値が、仮予約の要否判断の閾値f(第1の閾値)よりも大きいか否かが判定され(ステップS12)、閾値f以下である場合(ステップS12のNoルート)、このI/O頻度値に対応する仮想ディスク6は仮予約の対象外と判断され、ステップS15に移行する。一方、平均のI/O頻度値が閾値fよりも大きい場合(ステップS12のYesルート)、仮予約部13cにより、このI/O頻度値に対応する仮想ディスク6は仮予約の対象と判断される。例えば、閾値fが30MBであったとすると、ステップS12において、仮予約部13cは、nが0のときに、新規に配備する“VM0006”の2つの仮想ディスク6のうち、接続デバイス名が“disk0”である仮想ディスク6についてのI/O頻度値は閾値f以下である(仮予約の対象外)と判定する。また、仮予約部13cは、nが1のときに、接続デバイス名が“disk1”である仮想ディスク6についてのI/O頻度値は閾値fよりも大きいと判定し、“disk1”の仮想ディスク6のみを仮予約の実施対象に決定する。
次いで、仮予約部13cにより、推定された平均のI/O頻度値が、仮予約の要否判断の閾値f(第1の閾値)よりも大きいか否かが判定され(ステップS12)、閾値f以下である場合(ステップS12のNoルート)、このI/O頻度値に対応する仮想ディスク6は仮予約の対象外と判断され、ステップS15に移行する。一方、平均のI/O頻度値が閾値fよりも大きい場合(ステップS12のYesルート)、仮予約部13cにより、このI/O頻度値に対応する仮想ディスク6は仮予約の対象と判断される。例えば、閾値fが30MBであったとすると、ステップS12において、仮予約部13cは、nが0のときに、新規に配備する“VM0006”の2つの仮想ディスク6のうち、接続デバイス名が“disk0”である仮想ディスク6についてのI/O頻度値は閾値f以下である(仮予約の対象外)と判定する。また、仮予約部13cは、nが1のときに、接続デバイス名が“disk1”である仮想ディスク6についてのI/O頻度値は閾値fよりも大きいと判定し、“disk1”の仮想ディスク6のみを仮予約の実施対象に決定する。
そして、仮予約部13cにより、接続デバイス名が仮予約の対象と判断された3つの仮想ディスク6に上記(1)式が適用され、その平均値が仮予約実施量に決定される(図11のステップS13)。
例えば、推定部13bが抽出した3つのVMゲスト20における接続デバイス名“disk1”の各仮想ディスク6の仮予約量及び使用量を以下とすると、
VM0001-disk1:仮予約量=1.1GB,使用量=1GB
VM0002-disk1:仮予約量=0GB, 使用量=2GB
VM0004-disk1:仮予約量=1.6GB,使用量=0.5GB
上記(1)式から、仮予約の実施対象である新たな仮想ディスク6の仮予約実施量は、
{(1.1×0+1)+(0×0+2)+(1.6×5/7+0.5)}/3
=1.5476…≒1.547GB (小数点第4位を切り捨てた場合)
となる。
例えば、推定部13bが抽出した3つのVMゲスト20における接続デバイス名“disk1”の各仮想ディスク6の仮予約量及び使用量を以下とすると、
VM0001-disk1:仮予約量=1.1GB,使用量=1GB
VM0002-disk1:仮予約量=0GB, 使用量=2GB
VM0004-disk1:仮予約量=1.6GB,使用量=0.5GB
上記(1)式から、仮予約の実施対象である新たな仮想ディスク6の仮予約実施量は、
{(1.1×0+1)+(0×0+2)+(1.6×5/7+0.5)}/3
=1.5476…≒1.547GB (小数点第4位を切り捨てた場合)
となる。
そして、図11のステップS14において、仮予約部13cにより、物理ディスク40から仮予約可能な連続したブロックが調査され、仮予約が行なわれる(図12のステップS17~S20)。
つまり、図12のステップS17において、仮予約部13cにより、仮想ディスク6が配置される仮想ストレージ5のブロックで、算出された仮予約実施量以上の未割り当てブロックが連続する領域が、物理ディスク管理テーブル14dの上から順に探索される。仮予約実施量以上の連続領域が見つからない場合(ステップS18;ステップS18のNoルート)、仮予約部13cにより、連続する未割り当てブロックが一番多い領域が探索され、そのサイズが仮予約実施量に決定(変更)され(ステップS19)、ステップS20に移行する。
つまり、図12のステップS17において、仮予約部13cにより、仮想ディスク6が配置される仮想ストレージ5のブロックで、算出された仮予約実施量以上の未割り当てブロックが連続する領域が、物理ディスク管理テーブル14dの上から順に探索される。仮予約実施量以上の連続領域が見つからない場合(ステップS18;ステップS18のNoルート)、仮予約部13cにより、連続する未割り当てブロックが一番多い領域が探索され、そのサイズが仮予約実施量に決定(変更)され(ステップS19)、ステップS20に移行する。
仮予約実施量以上の連続領域が見つかった場合(ステップS18のYesルート)、又はステップS19の処理が行なわれた場合、仮予約部13cにより、見つけた領域について、物理ディスク管理テーブル14dに対して仮予約実施量以上、で且つ最小のブロック数だけ仮予約が行なわれる(ステップS20)。
なお、ステップS20では、仮予約部13cにより、物理ディスク管理テーブル14dにおいて、割り当て状態の欄が“未割り当て”から“仮予約済”に変更され、割り当て先仮想ディスクの欄に仮想ディスク識別子が設定される。
なお、ステップS20では、仮予約部13cにより、物理ディスク管理テーブル14dにおいて、割り当て状態の欄が“未割り当て”から“仮予約済”に変更され、割り当て先仮想ディスクの欄に仮想ディスク識別子が設定される。
具体的には、仮予約部13cは、新たなVMゲスト20-q(VMゲスト識別子“VM0006”)の接続デバイス名“disk1”の仮想ディスク6に、物理ディスク40の1.547GBの連続領域(連続したブロック)を仮予約する。例えば、1ブロックのサイズが512KBの場合、仮予約部13cは、物理ディスク40で未割り当てのブロックが3094ブロック以上連続している領域を探して、物理ディスク管理テーブル14d及び割当管理テーブル42aにおける3094ブロック分の割り当て状態を、VM0006-disk1と対応付けて“仮予約済”に変更する。
なお、ストレージ制御装置10は、上述の如く、物理ディスク管理テーブル14dの更新と同時に、或いは所定のタイミングで、割当管理テーブル42aに対しても更新を行なう。
以上のように、推定部13b及び仮予約部13cにより、仮予約が実施され、物理ディスク管理テーブル14d及び割当管理テーブル42aが更新される(図9の矢印(3)参照)。
以上のように、推定部13b及び仮予約部13cにより、仮予約が実施され、物理ディスク管理テーブル14d及び割当管理テーブル42aが更新される(図9の矢印(3)参照)。
なお、図12のステップS20(図11のステップS14)が完了すると、ステップS15に移行する。
また、仮予約処理の終了後、例えばVMゲスト20-qの仮想ディスク6へのI/Oを契機に、仮予約された物理ブロックの割り当て状態が“仮予約済”から“割り当て済”に更新される(図9の矢印(4)参照)。
また、仮予約処理の終了後、例えばVMゲスト20-qの仮想ディスク6へのI/Oを契機に、仮予約された物理ブロックの割り当て状態が“仮予約済”から“割り当て済”に更新される(図9の矢印(4)参照)。
〔1-5-2〕仮予約ブロック使用時の処理
次に、図13及び図14を参照して、ストレージ制御装置10における仮予約済の物理ブロックを使用する際の処理の一例を説明する。
はじめに、割当部41aにおいて、新しい物理ブロックへの書き込みが発生する(ステップS21)。つまり、仮想ディスク6への物理領域の割り当てを伴うアクセスが発生する。このとき、割当部41aにより、仮想ディスク6に対して、“仮予約済”の行が割当管理テーブル42a(物理ディスク管理テーブル14d)に存在するか否かが検索される。
次に、図13及び図14を参照して、ストレージ制御装置10における仮予約済の物理ブロックを使用する際の処理の一例を説明する。
はじめに、割当部41aにおいて、新しい物理ブロックへの書き込みが発生する(ステップS21)。つまり、仮想ディスク6への物理領域の割り当てを伴うアクセスが発生する。このとき、割当部41aにより、仮想ディスク6に対して、“仮予約済”の行が割当管理テーブル42a(物理ディスク管理テーブル14d)に存在するか否かが検索される。
“仮予約済”の行が存在する場合(ステップS22;ステップS22のYesルート)、割当管理テーブル42a(物理ディスク管理テーブル14d)の一番上の“仮予約済”行について、割り当て状態が“仮予約済”から“割り当て済”に更新される(ステップS23)。
そして、割当部41aにより、アクセスに係る実データが“割り当て済”に更新されたブロックに書き込まれ(ステップS24)、処理が終了する。
そして、割当部41aにより、アクセスに係る実データが“割り当て済”に更新されたブロックに書き込まれ(ステップS24)、処理が終了する。
また、ステップS22において、“仮予約済”の行が存在しない場合(ステップS22のNoルート)、割当部41aにより、仮想ディスク6が存在する仮想ストレージの未使用量が0か否か(或いは閾値(第3の閾値)よりも少ないか否か)が判定される(ステップS25)。仮想ストレージの未使用量が0ではない、或いは閾値以上である場合(ステップS25のNoルート)、割当部41aにより、既存のシンプロビジョニング方式によるブロック割り当て処理が実施される(ステップS26)。すなわち、割当管理テーブル42a(物理ディスク管理テーブル14d)において割り当て状態が“未割り当て”状態の行を探し、“割り当て済”に変更して、ステップS24に移行する。
またステップS25において、仮想ストレージの未使用量が0である、或いは閾値よりも少ない場合(ステップS25のYesルート)、取消部13dにより、仮予約の取り消し処理(図14のステップS30~S33)が実行される(ステップS27)。
図14のステップS30においては、割当部41aにより、仮想ディスク6が存在する仮想ストレージ5の仮予約量が0であるか否かが判定される。仮予約量が0である場合(ステップS30のYesルート)、利用できる物理ブロックが存在しないため、割当部41aにより割り当て可能なブロックなし(Disk full)のエラーが出力され(ステップS33)、処理が終了する。一方、ステップS30において、仮予約量が0ではない場合(ステップS30のNoルート)、取消部13dにより、書き込み対象の物理ディスク40を利用する全ての仮想ディスク6のI/O頻度値が算出され、I/O頻度値の小さい順でソートされる(ステップS31)。そして、取消部13dにより、I/O頻度値が最も小さい仮想ディスク6の物理ディスク管理テーブル14dにおける割り当て状態の欄の“仮予約済”の行が、全て“未割り当て”状態に更新され(ステップS32)、図13のステップS28に移行する。
図14のステップS30においては、割当部41aにより、仮想ディスク6が存在する仮想ストレージ5の仮予約量が0であるか否かが判定される。仮予約量が0である場合(ステップS30のYesルート)、利用できる物理ブロックが存在しないため、割当部41aにより割り当て可能なブロックなし(Disk full)のエラーが出力され(ステップS33)、処理が終了する。一方、ステップS30において、仮予約量が0ではない場合(ステップS30のNoルート)、取消部13dにより、書き込み対象の物理ディスク40を利用する全ての仮想ディスク6のI/O頻度値が算出され、I/O頻度値の小さい順でソートされる(ステップS31)。そして、取消部13dにより、I/O頻度値が最も小さい仮想ディスク6の物理ディスク管理テーブル14dにおける割り当て状態の欄の“仮予約済”の行が、全て“未割り当て”状態に更新され(ステップS32)、図13のステップS28に移行する。
図13のステップS28においては、割当部41aにより、仮予約の取り消し処理が成功したか否かが判定され(ステップS28)、成功した場合(ステップS28のYesルート)、ステップS26に移行する。一方、成功しなかった場合(ステップS28のNoルート)、利用できる物理ブロックが存在しないため、割当部41aにより割り当て可能なブロックなし(Disk full)のエラーが出力され(ステップS29)、処理が終了する。
なお、割当部41aは、割当管理テーブル42aに基づいて上記ステップS21,S23,S26の処理を行なっているが、これに限定されるものではなく、例えばストレージ制御装置10にアクセスを行ない、物理ディスク管理テーブル14dを参照しても良い。
以上のように、仮予約の取り消し処理は、新たなVMゲスト20bへの物理領域の割り当てを伴うアクセスが発生し(データを書き込むブロックが要求され)、当該仮想ディスク6の仮予約量が0、且つ、仮想ストレージ5の未使用量が0、且つ、仮想ストレージ5の仮予約量が0より大きいときに、実施される。
以上のように、仮予約の取り消し処理は、新たなVMゲスト20bへの物理領域の割り当てを伴うアクセスが発生し(データを書き込むブロックが要求され)、当該仮想ディスク6の仮予約量が0、且つ、仮想ストレージ5の未使用量が0、且つ、仮想ストレージ5の仮予約量が0より大きいときに、実施される。
上述のように、本実施形態に係るストレージ制御装置10によれば、新たなVMゲスト20bの基となったクローニングマスタイメージ(マスタ情報)から作成された既存のVMゲスト20aが認識され、既存のVMゲスト20aに割り当てられた既存の仮想ディスク6aへのアクセスの監視結果に基づき新たなVMゲスト20bに割り当てられる新たな仮想ディスク6bへのアクセス量が推定される。そして、推定したアクセス量が第1の閾値を超える場合に、物理ディスク40の連続した複数のブロック(割当単位領域)が新たな仮想ディスク6bのために仮予約される。
これにより、シンプロビジョニング方式を採用するストレージ制御装置10においてシーケンシャルI/Oが発生した場合であっても、仮予約された物理ディスク40の連続した複数のブロックに対してシーケンシャルにアクセスが行なわれる。また、新たにVMゲスト20及び仮想ディスク6を作成する際に仮予約が行なわれるため、仮想ディスク6に対するアクセス要求の発行後に、例えば上述した関連する技術のような特別な処理を行なわずに済む。従って、仮想ディスク6のアクセス性能の低下を抑止することができる。
また、新たな仮想ディスク6bの基となったクローニングマスタイメージから作成された既存のVMゲスト20aの仮想ディスク6aについて、I/O頻度値が求められる。従って、新たな仮想ディスク6bの実際のアクセスの傾向に近いアクセス量を推定することができ、最適な仮予約を行なうことができる。
なお、例えばクラウド等の技術では、提供するサービスの成長に伴ってスケールアウト型でVMゲスト20が作成(配備)される運用が、今後さらに増加すると考えられる。クラウド等のサービスにおいては、VMゲスト20の作成を容易に行なうため、上述のように、VMゲスト20(ゲストOS)の種類に応じたクローニングマスタイメージを基に、新たなVMゲスト20を配備する運用が行なわれる。従って、本実施形態に係るストレージ制御装置10は、特に、スケールアウト型でVMゲスト20を運用するサービスにおいて効果的である。
なお、例えばクラウド等の技術では、提供するサービスの成長に伴ってスケールアウト型でVMゲスト20が作成(配備)される運用が、今後さらに増加すると考えられる。クラウド等のサービスにおいては、VMゲスト20の作成を容易に行なうため、上述のように、VMゲスト20(ゲストOS)の種類に応じたクローニングマスタイメージを基に、新たなVMゲスト20を配備する運用が行なわれる。従って、本実施形態に係るストレージ制御装置10は、特に、スケールアウト型でVMゲスト20を運用するサービスにおいて効果的である。
また、本実施形態に係るストレージ制御装置10によれば、仮予約部13cにより、既存のVMゲスト20aの使用量の監視結果に基づき新たな仮想ディスク6bに割り当てる仮予約実施量が決定され、新たな仮想ディスク6bに対する連続した複数のブロックが仮予約実施量の分だけ仮予約される。これにより、仮予約の実施対象の仮想ディスク6は、最適な仮予約実施量で仮予約されるため、物理ディスク40の領域を有効に利用することができる。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した実施形態では、3つのVMゲスト20からI/O頻度値を求めるものとして説明したが、これに限定されるものではなく、任意の数のVMゲスト20からI/O頻度値を求めても良い。
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述した実施形態では、3つのVMゲスト20からI/O頻度値を求めるものとして説明したが、これに限定されるものではなく、任意の数のVMゲスト20からI/O頻度値を求めても良い。
また、図1に示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されなくても良い。例えば、I/O要求受付部11,I/O実行部12,領域割当制御部13,割当部41aを任意の組み合わせで統合しても良い。
また、割当部41a及び割当管理テーブル42aが、ストレージ制御装置10にそなえられても良い。この場合、割当部41aは、I/O実行部12の機能と統合しても良く、割当管理テーブル42aは、物理ディスク管理テーブル14dと統合しても良い。
また、割当部41a及び割当管理テーブル42aが、ストレージ制御装置10にそなえられても良い。この場合、割当部41aは、I/O実行部12の機能と統合しても良く、割当管理テーブル42aは、物理ディスク管理テーブル14dと統合しても良い。
さらに、ストレージ制御装置10のDB14や物理ストレージ装置4の割当管理テーブル42aが格納される領域を、外部装置としてネットワーク経由で接続するようにしても良い。
また、上述したI/O要求受付部11,I/O実行部12,領域割当制御部13(監視部13a,推定部13b,仮予約部13c,取消部13d),割当部41aの各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラムを実行することによって実現される。
また、上述したI/O要求受付部11,I/O実行部12,領域割当制御部13(監視部13a,推定部13b,仮予約部13c,取消部13d),割当部41aの各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラムを実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RWなど),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD-RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、本実施形態のストレージ制御装置10の各種機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
なお、前記目的に限らず、上述した発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
1 情報処理装置
10 ストレージ制御装置
11 I/O要求受付部
12 I/O実行部
13 領域割当制御部(制御部)
13a 監視部
13b 推定部
13c 仮予約部
13d 取消部
14 DB(保持部)
14a VMゲスト管理テーブル
14b 仮想ディスク管理テーブル
14c 仮想ストレージ管理テーブル
14d 物理ディスク管理テーブル
2,2-1~2-3 サーバ(サーバ装置)
20,20a,20b,20-1~20-p,20-q VMゲスト(仮想マシン)
21,31,41 CPU
22,32,42 メモリ
23,33,43 ネットワークインタフェース
3 管理サーバ
34 HDD
4 物理ストレージ装置
40,40-1~40-m 物理ディスク
41a 割当部
42a 割当管理テーブル
5,5-1~5-i 仮想ストレージ
6,6a,6b,6-1~6-n 仮想ディスク
10 ストレージ制御装置
11 I/O要求受付部
12 I/O実行部
13 領域割当制御部(制御部)
13a 監視部
13b 推定部
13c 仮予約部
13d 取消部
14 DB(保持部)
14a VMゲスト管理テーブル
14b 仮想ディスク管理テーブル
14c 仮想ストレージ管理テーブル
14d 物理ディスク管理テーブル
2,2-1~2-3 サーバ(サーバ装置)
20,20a,20b,20-1~20-p,20-q VMゲスト(仮想マシン)
21,31,41 CPU
22,32,42 メモリ
23,33,43 ネットワークインタフェース
3 管理サーバ
34 HDD
4 物理ストレージ装置
40,40-1~40-m 物理ディスク
41a 割当部
42a 割当管理テーブル
5,5-1~5-i 仮想ストレージ
6,6a,6b,6-1~6-n 仮想ディスク
Claims (20)
- 新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定する推定部と、
推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する仮予約部と、
を有することを特徴とする、ストレージ制御装置。 - 前記仮予約部は、前記既存の仮想ディスクの使用量に基づき前記新たな仮想ディスクに割り当てる仮予約実施量を決定し、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域を前記仮予約実施量の分だけ仮予約することを特徴とする、請求項1記載のストレージ制御装置。
- 前記仮予約部は、前記新たな仮想ディスクが属する仮想ストレージの未使用量が第2の閾値よりも少ない場合には、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域の仮予約を抑止することを特徴とする、請求項1又は請求項2記載のストレージ制御装置。
- 前記仮想ストレージの未使用量が第3の閾値よりも少ない場合に、前記仮想ストレージに属する仮想ディスクへの物理領域の割り当てを伴うアクセスが発生すると、前記仮想ストレージに属する仮想ディスクのうちの、前記既存の仮想ディスクへのアクセス頻度が小さい仮想ディスクに対して仮予約された複数の割当単位領域の少なくとも一部を取り消す取消部をさらに有することを特徴とする、請求項3記載のストレージ制御装置。
- 前記仮想ディスクごとに、前記既存の仮想ディスクへのアクセス頻度を格納する仮想ディスク管理テーブルを保持する保持部をさらにそなえ、
前記既存の仮想ディスクへのアクセス頻度は、所定期間ごとのアクセス回数と平均データ転送量とを含むことを特徴とする、請求項1~4のいずれか1項記載のストレージ制御装置。 - 前記既存の仮想マシンによる既存の仮想ディスクへのアクセスを実行するとともに、アクセスの履歴を出力する履歴出力部をさらに有し、
前記保持部において、前記アクセスの履歴に基づく前記既存の仮想ディスクへのアクセス頻度が前記仮想ディスク管理テーブルに格納されることを特徴とする、請求項5記載のストレージ制御装置。 - 仮想マシンを実行するサーバ装置と、
少なくとも1つの物理ディスクを有する物理ストレージ装置と、
前記サーバ装置及び前記物理ストレージ装置の制御を行なうストレージ制御装置と、をそなえた情報処理装置であって、
新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定する推定部と、
推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する仮予約部と、
前記新たな仮想ディスクへの物理領域の割り当てを伴うアクセスが発生すると、前記新たな仮想ディスクのアクセス領域を前記仮予約部により仮予約された前記連続した複数の割当単位領域の少なくとも一部に割り当てる割当部と、
を有することを特徴とする、情報処理装置。 - 前記仮予約部は、前記既存の仮想ディスクの使用量に基づき前記新たな仮想ディスクに割り当てる仮予約実施量を決定し、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域を前記仮予約実施量の分だけ仮予約することを特徴とする、請求項7記載の情報処理装置。
- 前記仮予約部は、前記新たな仮想ディスクが属する仮想ストレージの未使用量が第2の閾値よりも少ない場合には、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域の仮予約を抑止することを特徴とする、請求項7又は請求項8記載の情報処理装置。
- 前記仮想ストレージの未使用量が第3の閾値よりも少ない場合に、前記仮想ストレージに属する仮想ディスクへの物理領域の割り当てを伴うアクセスが発生すると、前記仮想ストレージに属する仮想ディスクのうちの、前記既存の仮想ディスクへのアクセス頻度が小さい仮想ディスクに対して仮予約された複数の割当単位領域の少なくとも一部を取り消す取消部をさらに有することを特徴とする、請求項9記載の情報処理装置。
- 前記割当部は、前記仮想ストレージに属する前記アクセスが発生した仮想ディスクのアクセス領域を、前記取消部によって取り消された前記複数の割当単位領域の少なくとも一部に割り当てることを特徴とする、請求項10記載の情報処理装置。
- 前記仮想ディスクごとに、前記既存の仮想ディスクへのアクセス頻度を格納する仮想ディスク管理テーブルを保持する保持部をさらにそなえ、
前記既存の仮想ディスクへのアクセス頻度は、所定期間ごとのアクセス回数と平均データ転送量とを含むことを特徴とする、請求項7~11のいずれか1項記載の情報処理装置。 - 前記既存の仮想マシンによる既存の仮想ディスクへのアクセスを実行するとともに、アクセスの履歴を出力する履歴出力部をさらに有し、
前記保持部において、前記アクセスの履歴に基づく前記既存の仮想ディスクへのアクセス頻度が前記仮想ディスク管理テーブルに格納されることを特徴とする、請求項12記載の情報処理装置。 - 仮想マシンに割り当てられた仮想ディスクと、物理ディスクの物理領域との管理を行なうコンピュータに実行させるストレージ制御プログラムであって、
新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定し、
推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する、
処理を前記コンピュータに実行させることを特徴とする、ストレージ制御プログラム。 - 前記仮予約を行なう処理において、前記既存の仮想ディスクの使用量に基づき前記新たな仮想ディスクに割り当てる仮予約実施量を決定し、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域を前記仮予約実施量の分だけ仮予約する、処理を前記コンピュータに実行させることを特徴とする、請求項14記載のストレージ制御プログラム。
- 前記仮予約を行なう処理において、前記新たな仮想ディスクが属する仮想ストレージの未使用量が第2の閾値よりも少ない場合には、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域の仮予約を抑止する、処理を前記コンピュータに実行させることを特徴とする、請求項14又は請求項15記載のストレージ制御プログラム。
- 前記仮想ストレージの未使用量が第3の閾値よりも少ない場合に、前記仮想ストレージに属する仮想ディスクへの物理領域の割り当てを伴うアクセスが発生すると、前記仮想ストレージに属する仮想ディスクのうちの、前記既存の仮想ディスクへのアクセス頻度が小さい仮想ディスクに対して仮予約された複数の割当単位領域の少なくとも一部を取り消す、処理を前記コンピュータに実行させることを特徴とする、請求項16記載のストレージ制御プログラム。
- 仮想マシンに割り当てられた仮想ディスクと、物理ディスクの物理領域との管理を行なうストレージ制御装置における、ストレージ制御方法であって、
新たな仮想マシンを作成する際に、前記新たな仮想マシンの基となったマスタ情報から作成された既存の仮想マシンに割り当てられた既存の仮想ディスクへのアクセス頻度に基づき前記新たな仮想マシンに割り当てられる新たな仮想ディスクへのアクセス頻度を推定し、
推定した前記アクセス頻度が第1の閾値を超える場合に、物理ディスクの連続した複数の割当単位領域を前記新たな仮想ディスクのために仮予約する、
ことを特徴とする、ストレージ制御方法。 - 前記仮予約を行なう処理において、前記既存の仮想ディスクの使用量に基づき前記新たな仮想ディスクに割り当てる仮予約実施量を決定し、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域を前記仮予約実施量の分だけ仮予約することを特徴とする、請求項18記載のストレージ制御方法。
- 前記仮予約を行なう処理において、前記新たな仮想ディスクが属する仮想ストレージの未使用量が第2の閾値よりも少ない場合には、前記新たな仮想ディスクに対する前記連続した複数の割当単位領域の仮予約を抑止することを特徴とする、請求項18又は請求項19記載のストレージ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/066148 WO2014002162A1 (ja) | 2012-06-25 | 2012-06-25 | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
JP2014522238A JP6056856B2 (ja) | 2012-06-25 | 2012-06-25 | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
US14/573,484 US9983806B2 (en) | 2012-06-25 | 2014-12-17 | Storage controlling apparatus, information processing apparatus, and computer-readable recording medium having stored therein storage controlling program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/066148 WO2014002162A1 (ja) | 2012-06-25 | 2012-06-25 | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/573,484 Continuation US9983806B2 (en) | 2012-06-25 | 2014-12-17 | Storage controlling apparatus, information processing apparatus, and computer-readable recording medium having stored therein storage controlling program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014002162A1 true WO2014002162A1 (ja) | 2014-01-03 |
Family
ID=49782398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/066148 WO2014002162A1 (ja) | 2012-06-25 | 2012-06-25 | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9983806B2 (ja) |
JP (1) | JP6056856B2 (ja) |
WO (1) | WO2014002162A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021020A1 (en) * | 2013-10-28 | 2016-01-21 | Hitachi, Ltd. | METHODS AND APPARATUS FOR DE-DUPLICATION AND HOST BASED QoS IN TIERED STORAGE SYSTEM |
JP2022000719A (ja) * | 2020-06-19 | 2022-01-04 | 株式会社日立製作所 | 情報処理装置及び方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983802B2 (en) | 2015-04-29 | 2018-05-29 | International Business Machines Corporation | Allocating storage extents in a storage system |
JP6458752B2 (ja) * | 2016-03-04 | 2019-01-30 | 日本電気株式会社 | ストレージ制御装置、ストレージシステム、ストレージ制御方法、および、プログラム |
US10089136B1 (en) * | 2016-09-28 | 2018-10-02 | EMC IP Holding Company LLC | Monitoring performance of transient virtual volumes created for a virtual machine |
US10496531B1 (en) | 2017-04-27 | 2019-12-03 | EMC IP Holding Company LLC | Optimizing virtual storage groups by determining and optimizing associations between virtual devices and physical devices |
CN111030936B (zh) * | 2019-11-18 | 2023-04-07 | 腾讯云计算(北京)有限责任公司 | 网络访问的限流控制方法、装置及计算机可读存储介质 |
US11797234B2 (en) * | 2020-12-22 | 2023-10-24 | Red Hat, Inc. | Determining a size of virtual disks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006059374A (ja) * | 2005-09-16 | 2006-03-02 | Hitachi Ltd | 記憶制御装置 |
JP2007316725A (ja) * | 2006-05-23 | 2007-12-06 | Hitachi Ltd | 記憶領域管理方法及び管理計算機 |
WO2012011153A1 (en) * | 2010-07-22 | 2012-01-26 | Hitachi, Ltd. | Data storage apparatus and data storage control method for the same |
JP2012079074A (ja) * | 2010-10-01 | 2012-04-19 | Nec Corp | 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0277949A (ja) | 1988-09-14 | 1990-03-19 | Fuji Xerox Co Ltd | ファイル作成方法 |
JP3469383B2 (ja) | 1995-12-28 | 2003-11-25 | 株式会社日立製作所 | データ先読み制御方法及び情報処理装置 |
JP2001195270A (ja) | 2000-01-12 | 2001-07-19 | Hitachi Information Systems Ltd | 仮想サーバエミュレータ |
US8244635B2 (en) * | 2000-04-25 | 2012-08-14 | Yodlee.Com, Inc. | System and method for syndicated collection, aggregation and delivery of personal data |
US7577722B1 (en) * | 2002-04-05 | 2009-08-18 | Vmware, Inc. | Provisioning of computer systems using virtual machines |
JP4612269B2 (ja) * | 2002-08-13 | 2011-01-12 | 日本電気株式会社 | 仮想ボリューム管理方式 |
US7849098B1 (en) * | 2004-02-06 | 2010-12-07 | Vmware, Inc. | Providing multiple concurrent access to a file system |
US7409511B2 (en) * | 2004-04-30 | 2008-08-05 | Network Appliance, Inc. | Cloning technique for efficiently creating a copy of a volume in a storage system |
JP4579000B2 (ja) * | 2005-02-14 | 2010-11-10 | 株式会社日立製作所 | 計算機システムにおけるデータ配置設定 |
US7899795B1 (en) * | 2005-04-28 | 2011-03-01 | Network Appliance, Inc. | Method and system for recovering lost data volumes |
JP2008097502A (ja) * | 2006-10-16 | 2008-04-24 | Hitachi Ltd | 容量監視方法及び計算機システム |
GB0623276D0 (en) * | 2006-11-22 | 2007-01-03 | Transitive Ltd | Memory consistency protection in a multiprocessor computing system |
JP5069011B2 (ja) | 2007-01-29 | 2012-11-07 | 株式会社日立製作所 | ストレージモジュール及び容量プール空き容量調整方法 |
US8307187B2 (en) * | 2008-09-12 | 2012-11-06 | Vmware, Inc. | VDI Storage overcommit and rebalancing |
JP4905810B2 (ja) | 2008-10-01 | 2012-03-28 | 日本電気株式会社 | ストレージ装置、領域割り当て方法、及びプログラム |
US8726273B2 (en) * | 2009-12-03 | 2014-05-13 | Vmware, Inc. | Space efficient virtual machines |
US8726275B2 (en) * | 2009-12-18 | 2014-05-13 | International Business Machines Corporation | Selective partial cloning of virtual machines in a virtual computing environment |
EP2378427B1 (en) * | 2010-01-28 | 2018-04-11 | Hitachi, Ltd. | Management system for calculating storage capacity to be increased/decreased |
US8677080B2 (en) * | 2010-04-27 | 2014-03-18 | Hitachi, Ltd. | Method of controlling total capacity of virtual volumes associated with pool and storage apparatus |
JP2012227901A (ja) * | 2011-04-22 | 2012-11-15 | Toshiba Corp | 認証コンポーネント、被認証コンポーネントおよびその認証方法 |
WO2013042174A1 (en) * | 2011-09-22 | 2013-03-28 | Hitachi, Ltd. | Computer system and storage management method |
JP5782962B2 (ja) * | 2011-09-27 | 2015-09-24 | 富士通株式会社 | Raidグループ制御装置 |
JP5275432B2 (ja) * | 2011-11-11 | 2013-08-28 | 株式会社東芝 | ストレージメディア、ホスト装置、メモリ装置、及びシステム |
US8943291B2 (en) * | 2011-12-13 | 2015-01-27 | International Business Machines Corporation | Reorganization of software images based on predicted use thereof |
US9086804B2 (en) * | 2012-01-05 | 2015-07-21 | Hitachi, Ltd. | Computer system management apparatus and management method |
CN103699334B (zh) * | 2012-09-27 | 2018-04-24 | 伊姆西公司 | 用于管理虚拟机磁盘的方法和系统 |
US9465669B2 (en) * | 2013-08-13 | 2016-10-11 | Vmware, Inc. | NUMA scheduling using inter-vCPU memory access estimation |
US9329889B2 (en) * | 2014-03-31 | 2016-05-03 | Vmware, Inc. | Rapid creation and reconfiguration of virtual machines on hosts |
JP6455035B2 (ja) * | 2014-09-10 | 2019-01-23 | 富士通株式会社 | 負荷分散管理装置、制御方法およびプログラム |
JP2016167143A (ja) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | 情報処理システムおよび情報処理システムの制御方法 |
US10049121B2 (en) * | 2015-03-30 | 2018-08-14 | International Business Machines Corporation | Clone file backup and restore |
-
2012
- 2012-06-25 WO PCT/JP2012/066148 patent/WO2014002162A1/ja active Application Filing
- 2012-06-25 JP JP2014522238A patent/JP6056856B2/ja active Active
-
2014
- 2014-12-17 US US14/573,484 patent/US9983806B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006059374A (ja) * | 2005-09-16 | 2006-03-02 | Hitachi Ltd | 記憶制御装置 |
JP2007316725A (ja) * | 2006-05-23 | 2007-12-06 | Hitachi Ltd | 記憶領域管理方法及び管理計算機 |
WO2012011153A1 (en) * | 2010-07-22 | 2012-01-26 | Hitachi, Ltd. | Data storage apparatus and data storage control method for the same |
JP2012079074A (ja) * | 2010-10-01 | 2012-04-19 | Nec Corp | 記憶領域提供装置、記憶領域提供方法、及び、記憶領域提供プログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021020A1 (en) * | 2013-10-28 | 2016-01-21 | Hitachi, Ltd. | METHODS AND APPARATUS FOR DE-DUPLICATION AND HOST BASED QoS IN TIERED STORAGE SYSTEM |
US10050902B2 (en) * | 2013-10-28 | 2018-08-14 | Hitachi, Ltd. | Methods and apparatus for de-duplication and host based QoS in tiered storage system |
JP2022000719A (ja) * | 2020-06-19 | 2022-01-04 | 株式会社日立製作所 | 情報処理装置及び方法 |
JP7036866B2 (ja) | 2020-06-19 | 2022-03-15 | 株式会社日立製作所 | 情報処理装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6056856B2 (ja) | 2017-01-11 |
US20150106565A1 (en) | 2015-04-16 |
JPWO2014002162A1 (ja) | 2016-05-26 |
US9983806B2 (en) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6056856B2 (ja) | ストレージ制御装置、情報処理装置、ストレージ制御プログラム、及びストレージ制御方法 | |
JP4684864B2 (ja) | 記憶装置システム及び記憶制御方法 | |
JP5661921B2 (ja) | 計算機システム及び管理システム | |
JP6051228B2 (ja) | 計算機システム、ストレージ管理計算機及びストレージ管理方法 | |
US8447946B2 (en) | Storage apparatus and hierarchical data management method for storage apparatus | |
JP4890033B2 (ja) | 記憶装置システム及び記憶制御方法 | |
US8639899B2 (en) | Storage apparatus and control method for redundant data management within tiers | |
WO2012049711A1 (en) | Data migration system and data migration method | |
JP5073259B2 (ja) | 仮想化システム及び領域割当て制御方法 | |
JP5395962B2 (ja) | 計算機システム、及びその管理方法、並びに、プログラム | |
JP4862067B2 (ja) | キャッシュ制御装置及び方法 | |
JP5882557B2 (ja) | 要求優先順位シーク・マネージャ | |
WO2014162586A1 (ja) | ストレージシステムおよびストレージシステム制御方法 | |
JP2008217216A (ja) | 負荷分散方法及び計算機システム | |
US9626110B2 (en) | Method for selecting a page for migration based on access path information and response performance information | |
JP6193373B2 (ja) | 複合型ストレージシステム及び記憶制御方法 | |
JP2011070345A (ja) | 計算機システム、計算機システムの管理装置、計算機システムの管理方法 | |
US10176098B2 (en) | Method and apparatus for data cache in converged system | |
US20130275694A1 (en) | Migrating thin-provisioned volumes in tiered storage architectures | |
JP2015162001A (ja) | ストレージ管理装置、ストレージ装置、及びストレージ管理プログラム | |
JP2022054132A (ja) | 複合型ストレージシステム | |
JP5821392B2 (ja) | ストレージ装置、およびストレージ管理方法 | |
WO2017098591A1 (ja) | 計算機及びストレージ装置を有するシステム、及びシステムの制御方法 | |
JP2016012166A (ja) | ストレージ管理装置,ストレージ管理プログラム,及び制御方法 | |
JPWO2016001959A1 (ja) | ストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12879709 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014522238 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12879709 Country of ref document: EP Kind code of ref document: A1 |