説明

ファイル複製装置、ファイル複製装置のファイル複製方法およびファイル複製プログラム

【課題】マルチテナントにおける仮想マシンのイメージファイルに対してアクセス効率を向上することを目的とする。
【解決手段】ファイル読込み部110は、仮想マシンのイメージファイルの元になるオリジナルファイル101を読み込む。ファイル分割・複製部120は、オリジナルファイル101を複数の分割データ102に分割する。ファイル分割・複製部120は、分割データ102を選択し、選択した分割データ102を複製する。ファイル書込み部130は、複製して得られた複数の分割データ102を磁気ディスク190に並べて書き込む。ファイル分割・複製部120とデータ書込み部130とは、分割データ102の選択、複製および書き込みを全ての分割データ102について繰り返すことにより、各仮想マシンのイメージファイルに含まれる同じ種類のファイルをまとめて磁気ディスク191に書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置へ記憶するファイル複製装置、ファイル複製装置のファイル複製方法およびファイル複製プログラムに関するものである。
【背景技術】
【0002】
従来、磁気ディスクに記憶されたファイルにアクセスするためのヘッドシークの発生頻度を減らすことによって、ファイルのアクセス効率を向上させる技術が提案されている(特許文献1、特許文献2)。
特許文献1は、ファイルが分割されて磁気ディスクの複数のトラックに配置されている場合に複数のトラックに配置されている分割ファイルを一つのトラックに配置することによってヘッドシークの発生頻度を減らす技術を開示している。
特許文献2は、ファイルのアクセス頻度を調べてアクセス頻度の高いファイルを同一トラックまたは隣接するトラックに配置することによってヘッドシークの発生頻度を減らす技術を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−119124号公報
【特許文献2】特開平7−146757号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の仮想マシンを同様に動作させるマルチテナントの場合、従来の技術には以下のような課題がある。
【0005】
特許文献1の技術の場合、仮想マシンを構成する複数のファイル(イメージファイル)は一つのトラックに記憶される。つまり、仮想マシンAのイメージファイルはトラックAに記憶され、仮想マシンBのイメージファイルはトラックBに記憶される。
このため、複数の仮想マシンそれぞれのファイルにアクセスするためには複数のトラックをシークする必要があり、ヘッドの移動量が増え、ファイルの読み込みに時間がかかる。
【0006】
特許文献2の技術の場合、複数の仮想マシンを同様に動作させるマルチテナントではファイルのアクセス頻度が各仮想マシンでほぼ等しくなるため、ファイルの配置は変わらず、ファイルのアクセス効率は改善されない。
【0007】
また、これらの技術では、ファイルの数、ファイルのサイズ、ファイルの並び順、トラックの記憶容量などの条件によってファイルのアクセス効率が仮想マシン毎に大きく異なってしまう場合がある。この場合、仮想マシンの利用者に対して平等なパフォーマンスを提供することができない。
【0008】
本発明は、例えば、マルチテナントにおけるファイルのアクセス効率を向上し、ファイルのアクセス効率を各仮想マシンで平準化し、各仮想マシンの利用者に平等なパフォーマンスを提供できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明のファイル複製装置は、
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み部と、
前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製部と、
前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み部とを備える。
【発明の効果】
【0010】
本発明によれば、例えば、複数の仮想マシンのイメージファイル(複製ファイルの一例)を磁気ディスク(ディスク媒体の一例)に記憶する際に、イメージファイルを構成する構成ファイル(同じ種類のデータの一例)毎に、各仮想マシンの同じ種類の構成ファイルを同じトラックに記憶することができる。
これにより、例えば、マルチテナントにおけるファイルのアクセス効率を向上し、ファイルのアクセス効率を各仮想マシンで平準化し、各仮想マシンの利用者に平等なパフォーマンスを提供することができる。
【図面の簡単な説明】
【0011】
【図1】実施の形態1における仮想マシンイメージファイル生成装置100の機能構成図。
【図2】実施の形態1における仮想マシンのイメージファイル239の概念図。
【図3】実施の形態1における仮想マシンイメージファイル生成方法を示すフローチャート。
【図4】実施の形態1における仮想マシンイメージファイル生成方法の概要図。
【図5】実施の形態1における磁気ディスク191内のイメージファイル239の配置図。
【図6】実施の形態1と異なるイメージファイル239の配置を示す図。
【図7】実施の形態1における仮想マシンイメージファイル生成装置100のハードウェア資源の一例を示す図。
【図8】実施の形態2における仮想マシンイメージファイル生成方法を示すフローチャート。
【図9】実施の形態2における仮想マシンイメージファイル生成方法の概要図。
【図10】実施の形態3における仮想マシンイメージファイル生成装置100の機能構成図。
【図11】実施の形態3における仮想マシンイメージファイル生成方法を示すフローチャート。
【図12】実施の形態3における仮想マシンイメージファイル生成方法を示すフローチャートの別例。
【発明を実施するための形態】
【0012】
実施の形態1.
仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置に記憶する形態について説明する。
但し、仮想マシンのイメージファイルは複製するファイルの一例であり、磁気ディスク装置はファイルデータを記憶するディスク媒体の一例である。
【0013】
図1は、実施の形態1における仮想マシンイメージファイル生成装置100の機能構成図である。
実施の形態1における仮想マシンイメージファイル生成装置100の機能構成について、図1に基づいて説明する。
【0014】
仮想マシンイメージファイル生成装置100は、仮想マシンのイメージファイルを複製し、複製したイメージファイルをアクセス効率が良くなるように磁気ディスク装置190に記憶する。
【0015】
図2は、実施の形態1における仮想マシンのイメージファイル239の概念図である。
実施の形態1における仮想マシンのイメージファイル239について、図2に基づいて説明する。
【0016】
計算機を仮想化することにより、1台の計算機(実計算機、物理計算機)に複数の仮想計算機(仮想マシン)を実装することができる。
このような仮想化技術により、例えば、複数の利用者に対して利用者毎に仮想計算機を用意し、仮想計算機を使用して各利用者に同等の情報処理サービスを提供することができる。このように複数の仮想計算機を実装するシステム環境を「マルチテナント」という。
以下、仮想計算機を「VM230(Virtual Machine)」といい、仮想計算機が実装された実計算機を「VMサーバ200」という。
【0017】
VMサーバ200は、CPU(Central Processing Unit)やメモリなどのハードウェア210を備える。
VMM220(Virtual Machine Monitor)は、複数のVM230を管理するソフトウェアであり、ハードウェア210によって実行される。
VM230は、計算機を仮想化するソフトウェアである。各VM230にはハードウェア210のリソースが割り当てられ、各VM230は割り当てられたハードウェア210のリソースを用いて実行される。例えば、各VM230にはメモリの記憶領域が割り当てられ、割り当てられた記憶領域には、OS232(Operating System)、アプリ231(アプリケーションプログラム)、レジスタの設定値(図示省略)など、計算機に必要な各種データ(ファイルともいう)が記憶される。
【0018】
実施の形態1において、OS232、アプリ231、レジスタの設定値など、VM230を構成する複数種類のデータ(ファイル)から成るファイルを「イメージファイル239」という。
【0019】
図1に戻り、仮想マシンイメージファイル生成装置100の機能構成の説明を続ける。
【0020】
仮想マシンイメージファイル生成装置100(ファイル複製装置の一例)は、ファイル読込み部110、ファイル分割・複製部120、ファイル書込み部130および装置記憶部180を備える。
【0021】
オリジナルファイル101は、仮想マシン(仮想計算機)のイメージファイルとして複製される複製元のイメージファイルである。
設定ファイル181は、イメージファイルの複製数や分割サイズなどが予め設定されたファイルである。
【0022】
ファイル読込み部110(ファイル読込み部の一例)は、複数種類のデータ(ファイル)を含んだオリジナルファイル101を読み込む。
【0023】
ファイル分割・複製部120(ファイル複製部、ファイル分割部の一例)は、ファイル読込み部110により読み込まれたオリジナルファイル101を複製して複数の複製ファイル(イメージファイル)を生成する。
【0024】
具体的に、ファイル分割・複製部120は、ファイル読込み部110により読み込まれたオリジナルファイル101を設定ファイル181に設定された分割サイズ毎に分割して複数の分割データ102(分割ファイル)を生成する。
そして、ファイル分割・複製部120は、複数の分割データ102それぞれを複製することにより、複数の分割データ102から成る複数の複製ファイルを生成する。
【0025】
ファイル書込み部130(ファイル書込み部の一例)は、ファイル分割・複製部120により生成された複数の複製ファイルを複数のトラック(またはシリンダ、以下同様)を有する磁気ディスク装置190(ディスク媒体の一例)へ書き込む。
特に、ファイル書込み部130は、複数の複製ファイルそれぞれに含まれる同じ種類のデータ(ファイル)を同じトラック(または隣接するトラック)へ書き込む。
【0026】
具体的に、ファイル書込み部130は、ファイル分割・複製部120により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ102を複製ファイル内での位置が同じ分割データ102の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置190へ書き込む。
【0027】
図3は、実施の形態1における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態1における仮想マシンイメージファイル生成方法(ファイル複製方法の一例)の処理の流れついて、図3に基づいて説明する。
【0028】
まず、仮想マシンイメージファイル生成方法の概要について説明する。
【0029】
ファイル読込み部110は、オリジナルファイル101を読み込む(S110、ファイル読込み処理の一例)。
ファイル分割・複製部120は、オリジナルファイル101を複数の分割データ102に分割する(S120、ファイル分割処理の一例)。
ファイル分割・複製部120は、分割データ102を選択し、選択した分割データ102を複製する(S121、ファイル複製処理の一例)。
ファイル書込み部130は、複製して得られた複数の分割データ102を磁気ディスク191に並べて書き込む(S130、ファイル書込み処理の一例)。
S121およびS130は、全ての分割データ102を処理し終わるまで繰り返される(S131)。
【0030】
次に、仮想マシンイメージファイル生成方法の詳細について説明する。
【0031】
S110において、ファイル読込み部110は、仮想マシンファイル生成装置100の外部から又は装置記憶部180からオリジナルファイル101と設定ファイル181とを読み込む(入力する)。
S110の後、S120に進む。
【0032】
S120において、ファイル分割・複製部120は、S110で読み込まれた設定ファイル181を参照し、S110で読み込まれたオリジナルファイル101をファイルの先頭から設定ファイル181に設定されている分割サイズ毎に分割する。
以下、オリジナルファイル101を分割して得られたデータを「分割データ102」という。
S120の後、S121に進む。
【0033】
S121において、ファイル分割・複製部120は、S120で得られた複数の分割データ102からオリジナルファイル101内での並び順(位置順)に分割データ102を一つ選択する。
そして、ファイル分割・複製部120は、S110で読み込まれた設定ファイル181を参照し、選択した分割データ102を設定ファイル181に設定されている複製数だけ複製する。これにより、選択した分割データ102に対して、設定ファイル181に設定されている複製数の分割データ102が生成される。
S121の後、S130に進む。
【0034】
S130において、ファイル書込み部130は、S121で生成された複数の分割データ102を磁気ディスク装置190の磁気ディスク191に並べて書き込む。
S130の後、S131に進む。
【0035】
S131において、ファイル分割・複製部120は、未選択の分割データ102が残っているか否かを判定する。
未選択の分割データ102が残っている場合(YES)、S121に戻る。
未選択の分割データ102が残っていない場合(NO)、仮想マシンイメージファイル生成方法の処理は終了する。
【0036】
図4は、実施の形態1における仮想マシンイメージファイル生成方法の概要図である。
図5は、実施の形態1における磁気ディスク191内のイメージファイル239の配置図である。
実施の形態1における仮想マシンイメージファイル生成方法(図3参照)の概要について、図4および図5に基づいて説明する。
【0037】
図4において、オリジナルファイル101にはファイルA、ファイルBおよびファイルCが含まれる。
このオリジナルファイル101はVMa用のイメージファイル239と、VMb用のイメージファイル239と、VMc用のイメージファイル239との3つのイメージファイル239に複製され、磁気ディスク191に記憶されるものとする。
【0038】
(1)例えば、オリジナルファイル101は、3つの分割データ102A−Cに分割される(S120)。
分割データ102AはファイルAを含み、分割データ102BはファイルBを含み、分割データ102CはファイルCを含んでいる。
(2)先頭の分割データ102AはVMa用の分割データ102Aと、VMb用の分割データ102Aと、VMc用の分割データ102Aとの3つの分割データ102Aに複製される(S121)。
そして、3つの分割データ102Aは順番に磁気ディスク191に書き込まれる(S130)。
(3)同様に、2番目の分割データ102Bも3つの分割データ102Bに複製され(S121)、3つの分割データ102Bは順番に磁気ディスク191に書き込まれる(S130)。
(4)また、最後の分割データ102Cも3つの分割データ102Cに複製され(S121)、3つの分割データ102Cは順番に磁気ディスク191に書き込まれる(S130)。
【0039】
図5において、磁気ディスク191は3つのトラック192A−Cを有するものとする。
また、各トラック192A−Cの記憶容量は等しいものとする。
【0040】
9つの分割データ102A−C(図4参照)は磁気ディスク191の外側のトラック192Aから内側のトラック192Cへ順に時計回りに書き込まれる。
つまり、3つの分割データ102Aは外側のトラック192Aに書き込まれる。外側のトラック192Aの空き領域が無くなった場合、3つの分割データ102Bは2番目のトラック192Bに書き込まれる。真ん中のトラック192Bの空き領域が無くなった場合、3つの分割データ102Cは最内のトラック192Cに書き込まれる。
これにより、3つのVMa−cそれぞれのファイルAは外側のトラック192Aに記憶され、3つのVMa−cそれぞれのファイルBは真ん中のトラック192Bに記憶され、3つのVMa−cそれぞれのファイルCは最内のトラック192Cに記憶される。
【0041】
各VMa−cの同じ種類のファイル(例えば、ファイルA)が同時に(または連続して)使用されるマルチテナント環境では、図5に示すように同じ種類のファイルを一つのトラック192に記憶することにより、ファイルのアクセス効率を向上させることができる。
例えば、VMaのファイルAにアクセスした後、VMb(またはVMc)のファイルAにアクセスする場合、磁気ディスク装置190の磁気ヘッドを外側のトラック192Aから移動する必要がないからである。
【0042】
図6は、実施の形態1と異なるイメージファイル239の配置を示す図である。
図6(1)には、3つの分割データ102Aをランダムに磁気ディスク191に配置した場合を示し、図6(2)には、各VMa−cのイメージファイル239を異なるトラック192に配置した場合を示している。
実施の形態1におけるイメージファイル239の配置(図5参照)は、図6(1)(2)の配置に比べて、ファイルのアクセス効率が高い。
例えば、各VMaのファイルAにアクセスする場合、図6(1)(2)では磁気ヘッドを全てのトラック192A−Cに移動する必要がある。しかし、実施の形態1におけるイメージファイル239の配置(図5参照)であれば、磁気ヘッドをトラック192Aから移動する必要がない。
【0043】
実施の形態1(図5参照)において、9つの分割データ102A−Cは磁気ディスク191の内側のトラック192Cから外側のトラック192Aへ順に書き込んでも構わないし、各トラック192A−Cに時計と反対回りに書き込んでも構わない。
各トラック192A−Cの記憶容量は異なっていても構わない。
各トラックA−Cの記憶容量または各分割データ102A−Cのデータサイズに応じて、複数種類の分割データ102が同じトラック192に書き込まれても構わないし、同じ種類の分割データ102が隣接する複数のトラック192に書き込まれても構わない。例えば、6つの分割データ102A−Bを外側のトラック192Aに書き込んでも構わない。また、3つの分割データ102Aのうち2つの分割データ102Aが外側のトラック192Aに書き込まれ、残りの1つの分割データ102Aが真ん中のトラック192Bに書き込まれても構わない。同じ種類の分割データ102を隣接する複数のトラック192に書き込んだ場合であっても、磁気ヘッドの移動量および移動回数は図6(1)(2)の配置に比べて少なく、ファイルのアクセス効率は向上する。
【0044】
図7は、実施の形態1における仮想マシンイメージファイル生成装置100のハードウェア資源の一例を示す図である。
図7において、仮想マシンイメージファイル生成装置100は、CPU911(Central Processing Unit)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、ドライブ装置904、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置904は、FD(Flexible・Disk・Drive)、CD(Compact Disc)、DVD(Digital・Versatile・Disc)などの記憶媒体を読み書きする装置である。
【0045】
通信ボード915は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
【0046】
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
【0047】
プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU911により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【0048】
ファイル群924には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
【0049】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【0050】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【0051】
実施の形態1において、例えば、以下のような仮想マシンイメージファイル生成装置100について説明した。
【0052】
仮想マシンイメージファイル生成装置100は、マルチテナント環境を構築する際に仮想マシンのイメージファイルを複製する。
マルチテナントとは、1つの物理リソース(CPU、メモリ、ディスク等)を複数の利用者(仮想マシンのユーザ)が共有する形態のことであり、各仮想マシンが同環境で同様の動作をすることを意味する。
仮想マシンイメージファイル生成装置100は、ファイル読込み部110と、ファイル分割・複製部120と、ファイル書込み部130とを備える。
ファイル読込み部110は、ファイルの分割サイズおよび複製数が定義された設定ファイル181と複製元となる仮想マシンのイメージファイル(オリジナルファイル101)とを読み込む。
ファイル分割・複製部120は、仮想マシンのイメージファイルをファイルの先頭から設定ファイル181に定義された分割サイズ毎に分割し、分割する度に分割したデータを設定ファイル181に定義された複製数回だけ複製し、複製した順にデータを出力する。
ファイル書込み部130は、ファイル分割・複製部120から渡されたデータを渡された順に、磁気ディスク191のトラックの外側から内側へ(もしくは内側から外側へ)書き込む。
【0053】
仮想マシンイメージファイル生成装置100は、仮想マシンのイメージファイル(オリジナルファイル101)を分割し、複製し、ラウンドロビン的に磁気ディスク191に書き込む。
このため、マルチテナントのように各VM(仮想マシン)が同様の動作をする環境において各VMの特定のファイルを読み込む場合、読み込み対象のファイルが同一トラック上(もしくは隣接するトラック上)に配置される可能性が高い。
これにより、磁気ヘッドの位置決めの頻度が減り、各VMのディスクアクセス性能が向上する。また、各VMのディスクアクセス性能が平準化され、各VMの利用者に対して、平等なパフォーマンスを提供することが可能となる。
【0054】
実施の形態1において、磁気ディスク装置190が複数枚の磁気ディスク191を備える場合、磁気ディスク191の「トラック192」は、磁気ディスク装置190の「シリンダ」として読み替えることができる。
磁気ディスク191は複数のトラックを有するディスク形状の記憶媒体(ディスク媒体)の一例あり、磁気ディスク191の代わりにFD、CD−ROM、DVDなどのディスク媒体を用いても構わない。
仮想マシンのイメージファイル239は複数のデータ(例えば、ファイルA−C)を含んだファイルの一例であり、仮想マシンのイメージファイル239以外のファイルをディスク媒体に記憶しても構わない。
【0055】
実施の形態2.
仮想マシンイメージファイル生成方法においてオリジナルファイル101の分割処理と複製処理とを処理順序を入れ替えて実行する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略した事項は実施の形態1と同様である。
【0056】
仮想マシンイメージファイル生成装置100の機能構成は、実施の形態1(図1参照)と同じである。
【0057】
但し、ファイル分割・複製部120は、ファイル読込み部110により読み込まれたオリジナルファイル101を複製して複数の複製ファイル(イメージファイル)を生成する。
そして、ファイル分割・複製部120は、複数の複製ファイルそれぞれを設定ファイル181に設定された分割サイズ毎に分割することにより、複数の分割データ102(分割ファイル)から成る複数の複製ファイルを生成する。
【0058】
また、ファイル書込み部130は、ファイル分割・複製部120により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ102を複製ファイル内での位置が同じ分割データ102の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置190へ書き込む。
【0059】
図8は、実施の形態2における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態2における仮想マシンイメージファイル生成方法の処理について、図8に基づいて説明する。
【0060】
仮想マシンイメージファイル生成方法において、ファイル複製処理(S220)、ファイル分割処理(S221)およびファイル書込み処理(S230−S232)が実施の形態1の処理(S120−S131)と異なる。
以下、S220−S232について主に説明する。
【0061】
S210において、ファイル読込み部110は、実施の形態1(図3、S110)と同じく、オリジナルファイル101と設定ファイル181とを読み込む。
S210の後、S220に進む。
【0062】
S220において、ファイル分割・複製部120は、S210で読み込まれた設定ファイル181を参照し、S210で読み込まれたオリジナルファイル101を設定ファイル181に設定されている複製数だけ複製する。これにより、オリジナルファイル101に対して複数のイメージファイル239が生成される。
S220の後、S221に進む。
【0063】
図9は、実施の形態2における仮想マシンイメージファイル生成方法の概要図である。
例えば、オリジナルファイル101は、図9(1)に示すように、VMa用のイメージファイル239と、VMb用のイメージファイル239と、VMc用のイメージファイル239との3つのイメージファイル239に複製される(図8、S220)。
【0064】
図8に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【0065】
S221において、ファイル分割・複製部120は、S210で読み込まれた設定ファイル181を参照し、S220で生成された複数のイメージファイル239それぞれを設定ファイル181に設定されている分割サイズ毎に分割する。
以下、各イメージファイル239を分割して得られたデータを「分割データ102」という。
S221の後、S230に進む。
【0066】
図9(2)において、3つのイメージファイル239はそれぞれ3つの分割データ102A−Cに分割され、合計9つの分割データ102A−Cが得られる(図8、S221)。
【0067】
図8に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【0068】
S230において、ファイル書込み部130は、S221で得られた複数の分割データ102をオリジナルファイル101内の位置が同じ分割データ102の組み合わせ毎にグループ分けする。
S230の後、S231に進む。
【0069】
図9において、9つの分割データ102A−Cは、分割データ102Aの組み合わせと、分割データ102Bの組み合わせと、分割データ102Cの組み合わせとの3つの組み合わせに分けられる(図8、S230)。
【0070】
図8に戻り、仮想マシンイメージファイル生成方法の説明を続ける。
【0071】
S231において、ファイル書込み部130は、分割データ102の複数の組み合わせからオリジナルファイル101内での並び順(位置順)に分割データ102の組み合わせを一つ選択する。
そして、選択した分割データ102の組み合わせを磁気ディスク装置190の磁気ディスク191に並べて書き込む。
S231の後、S232に進む。
【0072】
S232において、ファイル書込み部130は、磁気ディスク191に書き込んでいない分割データ102の組み合わせが残っているか否かを判定する。
分割データ102の組み合わせが残っている場合(YES)、S231に戻る。
分割データ102の組み合わせが残っていない場合(NO)、仮想マシンイメージファイル生成方法の処理は終了する。
【0073】
図9において、まず、分割データ102Aの組み合わせが磁気ディスク191に書き込まれ、次に、分割データ102Bの組み合わせが磁気ディスク191に書き込まれ、最後に、分割データ102Cの組み合わせが磁気ディスク191に書き込まれる(図8、S231−S232)。
その結果、各VMa−cのイメージファイル239は、実施の形態1と同じように、磁気ディスク191に配置される(図5参照)。
【0074】
したがって、実施の形態2の仮想マシンイメージファイル生成装置100は、実施の形態1と同じく、ファイルのアクセス効率を向上させることができる。
【0075】
実施の形態3.
オリジナルファイル101に含まれる複数のファイルをアクセス頻度順に並び替えて、ファイルのアクセス効率をさらに向上する形態について説明する。
以下、実施の形態1、2と異なる事項について主に説明する。説明を省略した事項は実施の形態1、2と同様である。
【0076】
図10は、実施の形態3における仮想マシンイメージファイル生成装置100の機能構成図である。
実施の形態3における仮想マシンイメージファイル生成装置100の機能構成について、図10に基づいて説明する。
【0077】
仮想マシンイメージファイル生成装置100は、実施の形態1の構成(図1参照)に加えて、ファイルアクセス頻度分析部111とファイル書換え部112とを備える。
【0078】
装置記憶部180(アクセス頻度情報記憶部の一例)は、オリジナルファイル101に含まれる複数種類のデータ(例えば、ファイルA−C)それぞれのアクセス頻度を示すアクセス頻度ファイル182(アクセス頻度情報の一例)を記憶する。
【0079】
ファイルアクセス頻度分析部111(アクセス頻度判定部の一例)は、オリジナルファイル101に含まれる複数種類のデータのアクセス頻度の順番をアクセス頻度ファイル182に基づいて判定する。
【0080】
ファイル書換え部112(データ並び替え部の一例)は、オリジナルファイル101とアクセス頻度ファイル182とに基づいて、オリジナルファイル101に含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイル109を生成する。
【0081】
ファイル分割・複製部120は、ファイル読込み部110により読み込まれたオリジナルファイル101の代わりにファイル書換え部112により生成された新たなオリジナルファイル109を分割して複数の分割ファイルを生成する。
または、ファイル分割・複製部120は、ファイル読込み部110により読み込まれたオリジナルファイル101の代わりにファイル書換え部112により生成された新たなオリジナルファイル109を複製して複数の複製ファイルを生成する。
【0082】
ファイル書込み部130は、ファイル分割・複製部120により生成された複数の複製ファイルに基づいて、複数の複製ファイルそれぞれの複数の分割データ102を複製ファイル内での位置が同じ分割データ102の組み合わせ毎に複製ファイル内での位置順に並べて磁気ディスク装置190へ書き込む。
【0083】
図11は、実施の形態3における仮想マシンイメージファイル生成方法を示すフローチャートである。
実施の形態3における仮想マシンイメージファイル生成方法の処理の流れについて、図11に基づいて説明する。
【0084】
仮想マシンイメージファイル生成方法において、S311(アクセス頻度順判定処理の一例)とS312(データ並び替え処理の一例)とを実行する。
S311、S312以外の処理は、実施の形態1の処理(S110−S131)に対応する処理である。
但し、ファイル読込み処理(S310)とファイル分割処理(S320)とは、実施の形態1の処理(S110、S120)と一部異なる。
以下、S310−S320について主に説明する。
【0085】
S310において、ファイル読込み部110は、オリジナルファイル101と設定ファイル181とに加えて、アクセス頻度ファイル182を読み込む。
アクセス頻度ファイル182は、オリジナルファイル101を構成する複数のファイルそれぞれのアクセス頻度を分析(判定)するための情報を示す。例えば、アクセス頻度ファイル182は、オリジナルファイル101(またはオリジナルファイル101から複製されたイメージファイル239)を使用するシステムにおける過去のアクセス履歴として、各構成ファイルのアクセス日時を示す。
S310の後、S311に進む。
【0086】
S311において、ファイルアクセス頻度分析部111は、S310で読み込まれたオリジナルファイル101とアクセス頻度ファイル182とに基づいて、オリジナルファイル101を構成する複数のファイルそれぞれのアクセス頻度を分析する。
そして、ファイルアクセス頻度分析部111は、分析結果に基づいて、オリジナルファイル101の複数の構成ファイルについてアクセス頻度の順番を示す分析結果情報183を生成する。
【0087】
例えば、ファイルアクセス頻度分析部111は、アクセス頻度ファイル182に示される各構成ファイルのアクセス履歴に基づいて、各構成ファイルの単位時間当たりのアクセス回数を算出する。
そして、ファイルアクセス頻度分析部111は、オリジナルファイル101の複数の構成ファイルをアクセス回数の多い順(または少ない順)に示す分析結果情報183を生成する。
【0088】
S311の後、S312に進む。
【0089】
S312において、ファイル書換え部112は、S311で生成された分析結果情報183に基づいて、オリジナルファイル101の複数の構成ファイルをアクセス頻度の高い順に並べ替え、新たなオリジナルファイル109を生成する。
S312の後、S320に進む。
【0090】
S320において、ファイル分割・複製部120は、S310で読み込まれたオリジナルファイル101の代わりに、S312で生成されたオリジナルファイル109を分割する。
S320の後、S321に進む。
【0091】
S321−S331は、実施の形態1の処理(図3、S121−S131)と同様である。
【0092】
実施の形態3において、実施の形態2と同様に、オリジナルファイル101の分割処理と複製処理とを処理順序を入れ替えて実行してもよい。
【0093】
図12は、実施の形態3における仮想マシンイメージファイル生成方法を示すフローチャートの別例である。
実施の形態2と同様にオリジナルファイル101の分割処理と複製処理とを処理順序を入れ替えて実行する場合について、図12に基づいて説明する。
【0094】
S410−S412は、S310−S312(図10参照)と同じである。
【0095】
S420において、ファイル分割・複製部120は、S410で読み込まれたオリジナルファイル101の代わりにS412で生成された新たなオリジナルファイル109を複製することにより、複数のイメージファイル239を生成する。
【0096】
S421−S432は、実施の形態2の処理(図8、S221−S232)と同じである。
【0097】
実施の形態3において、例えば、以下のような仮想マシンイメージファイル生成装置100について説明した。
【0098】
仮想マシンイメージファイル生成装置100は、さらに、ファイルアクセス頻度分析部111とファイル書換え部112とを備える。
ファイルアクセス頻度分析部111は、仮想マシンのイメージファイル(オリジナルファイル101)内にあるファイルについて、アクセス頻度の高いファイルを分析する。
ファイル書換え部112は、仮想マシンのイメージファイル内のファイルをアクセス頻度の高い順にイメージファイルの先頭に集めるために、イメージファイルを書き換える。
【0099】
仮想マシンイメージファイル生成装置100は、仮想マシンのイメージファイル(オリジナルファイル101)内のファイルをアクセス頻度の高い順にイメージファイルの先頭に集める。そして、仮想マシンイメージファイル生成装置100は、イメージファイルを分割し、複製し、ラウンドロビン的に磁気ディスク191に書き込む。
これにより、アクセス頻度の高いファイルが集約されるため、各VMのファイルを読み込む場合に実施の形態1よりもディスクアクセス性能の向上が見込める。
【符号の説明】
【0100】
100 仮想マシンイメージファイル生成装置、101 オリジナルファイル、102 分割データ、109 オリジナルファイル、110 ファイル読込み部、111 ファイルアクセス頻度分析部、112 ファイル書換え部、120 ファイル分割・複製部、130 ファイル書込み部、180 装置記憶部、181 設定ファイル、182 アクセス頻度ファイル、183 分析結果情報、190 磁気ディスク装置、191 磁気ディスク、192 トラック、200 VMサーバ、210 ハードウェア、220 VMM、230 VM、231 アプリ、232 OS、239 イメージファイル、901 表示装置、902 キーボード、903 マウス、904 ドライブ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み部と、
前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製部と、
前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み部と
を備えたことを特徴とするファイル複製装置。
【請求項2】
前記ファイル複製装置は、さらに、
前記ファイル読込み部により読み込まれたオリジナルファイルを所定の分割サイズ毎に分割して複数の分割ファイルを生成するファイル分割部を備え、
前記ファイル複製部は、前記ファイル分割部により生成された複数の分割ファイルそれぞれを複製することにより、複数の分割ファイルから成る複数の複製ファイルを生成し、
前記ファイル書込み部は、前記ファイル複製部により生成された複数の複製ファイルに基づいて複数の複製ファイルそれぞれの複数の分割ファイルを複製ファイル内での位置が同じ分割ファイルの組み合わせ毎に複製ファイル内での位置順に並べて前記ディスク媒体へ書き込むことにより、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とする請求項1記載のファイル複製装置。
【請求項3】
前記ファイル複製装置は、さらに、
前記オリジナルファイルに含まれる複数種類のデータそれぞれのアクセス頻度を示すアクセス頻度情報を記憶するアクセス頻度情報記憶部と、
前記ファイル読込み部により読み込まれたオリジナルファイルと前記アクセス頻度情報記憶部に記憶されたアクセス頻度情報とに基づいて、前記オリジナルファイルに含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイルを生成するデータ並び替え部とを備え、
前記ファイル分割部は、前記ファイル読込み部により読み込まれたオリジナルファイルの代わりに前記データ並び替え部により生成された新たなオリジナルファイルを分割して複数の分割ファイルを生成する
ことを特徴とする請求項2記載のファイル複製装置。
【請求項4】
前記ファイル複製装置は、さらに、
前記ファイル複製部により生成された複数の複製ファイルそれぞれを所定の分割サイズ毎に分割することにより、複数の分割ファイルから成る複数の複製ファイルを生成するファイル分割部を備え、
前記ファイル書込み部は、前記ファイル分割部により生成された複数の複製ファイルに基づいて複数の複製ファイルそれぞれの複数の分割ファイルを複製ファイル内での位置が同じ分割ファイルの組み合わせ毎に複製ファイル内での位置順に並べて前記ディスク媒体へ書き込むことにより、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とする請求項1記載のファイル複製装置。
【請求項5】
前記ファイル複製装置は、さらに、
前記オリジナルファイルに含まれる複数種類のデータそれぞれのアクセス頻度を示すアクセス頻度情報を記憶するアクセス頻度情報記憶部と、
前記ファイル読込み部により読み込まれたオリジナルファイルと前記アクセス頻度情報記憶部に記憶されたアクセス頻度情報とに基づいて、前記オリジナルファイルに含まれる複数種類のデータをアクセス頻度順に並べ替えて新たなオリジナルファイルを生成するデータ並び替え部とを備え、
前記ファイル複製部は、前記ファイル読込み部により読み込まれたオリジナルファイルの代わりに前記データ並び替え部により生成された新たなオリジナルファイルを複製して複数の複製ファイルを生成する
ことを特徴とする請求項4記載のファイル複製装置。
【請求項6】
ファイル読込み部が、複数種類のデータを含んだオリジナルファイルを読み込み、
ファイル複製部が、前記ファイル読込み部により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成し、
ファイル書込み部が、前記ファイル複製部により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み部であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込む
ことを特徴とするファイル複製装置のファイル複製方法。
【請求項7】
複数種類のデータを含んだオリジナルファイルを読み込むファイル読込み処理と、
前記ファイル読込み処理により読み込まれたオリジナルファイルを複製して複数の複製ファイルを生成するファイル複製処理と、
前記ファイル複製処理により生成された複数の複製ファイルを複数のトラックを有するディスク媒体へ書き込むファイル書込み処理であって、複数の複製ファイルそれぞれに含まれる同じ種類のデータを同じトラックへ書き込むファイル書込み処理と
をコンピュータに実行させるファイル複製プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−128756(P2012−128756A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−281168(P2010−281168)
【出願日】平成22年12月17日(2010.12.17)
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(394013002)三菱電機インフォメーションシステムズ株式会社 (251)
【Fターム(参考)】