JP6089855B2 - Virtualization system, virtual server, file writing method, and file writing program - Google Patents
Virtualization system, virtual server, file writing method, and file writing program Download PDFInfo
- Publication number
- JP6089855B2 JP6089855B2 JP2013063888A JP2013063888A JP6089855B2 JP 6089855 B2 JP6089855 B2 JP 6089855B2 JP 2013063888 A JP2013063888 A JP 2013063888A JP 2013063888 A JP2013063888 A JP 2013063888A JP 6089855 B2 JP6089855 B2 JP 6089855B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- file
- disk
- virtual machine
- virtual
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本発明は、差分ディスク方式の仮想マシンに関し、特に、ファイル格納技術に関する。 The present invention relates to a differential disk type virtual machine, and more particularly to a file storage technique.
ストレージでファイルの使用量を削減するためには、高価な専用の重複排除ストレージを用意する必要があるが、重複排除ストレージの場合、複数のストレージ間で重複しているファイルは削除できなかった。 In order to reduce the amount of files used in storage, it is necessary to prepare expensive dedicated deduplication storage. However, in the case of deduplication storage, files that are duplicated among multiple storages cannot be deleted.
一方、仮想化環境において、複数VM(virtual machine:仮想マシン)間の重複排除を行う方法として、差分ディスク方式の仮想マシンという手法がある。マスタとなる仮想マシンをテンプレートとし、この仮想マシンから複数の仮想マシンを作成し、各仮想マシンの差分だけをディスクに保存する方法である。 On the other hand, as a method of performing deduplication between a plurality of VMs (virtual machines) in a virtual environment, there is a method called a differential disk type virtual machine. In this method, a master virtual machine is used as a template, a plurality of virtual machines are created from the virtual machines, and only the differences between the virtual machines are stored on a disk.
また、背景技術の一例が、特許文献1に開示されている。特許文献1では、マスタに直接OSのホットフィックスやアプリケーションをインストールしている。
An example of background art is disclosed in
ここで、背景技術による差分ディスク方式の仮想マシンのファイルシステムへのアクセス方法を図14に示す。背景技術による方法では、仮想マシンでファイルシステムにアクセスした場合、仮想マシンのイメージにアクセスを試みる。アクセスしようとした個所が差分ディスクに存在する場合は、差分ディスクにアクセスを行う。アクセスしようとした個所がマスタイメージに集約されている場合は、仮想マシンマスタイメージにアクセスする。 Here, FIG. 14 shows a method for accessing a file system of a virtual machine of the differential disk method according to the background art. In the background art method, when a file system is accessed by a virtual machine, an attempt is made to access the image of the virtual machine. If the location to be accessed exists on the difference disk, the difference disk is accessed. If the location to be accessed is consolidated in the master image, the virtual machine master image is accessed.
背景技術における課題を説明する図を、図15に示す。900は差分ディスク方式の仮想マシンのマスタイメージである。901、902は差分ディスクの仮想マシンの差分ディスクイメージである。911、912はファイルブロックである。既存技術の場合は、同じ内容のファイルブロックであっても、どこの位置に書かれるかは不定である。すなわち、背景技術では、同じファイルの書き込みを行った場合、各仮想マシンで書き込みを行うアドレスが異なってしまう。そのため、仮想マシンに共通するファイルが存在する場合でも、マスタ部分に抜き出すことができなかった。
FIG. 15 is a diagram for explaining a problem in the background art.
このように、背景技術における仮想化環境では、各仮想マシンでファイルシステムが独立して動作しているため、同じ内容のファイルを保存した場合も、各仮想マシンでバラバラの位置に保存が行われていた。この場合において、各仮想マシンの差分ディスクから共通部分をマスタに反映しようとする場合、各仮想マシンで比較を行ったディスクイメージが違ってしまうために、共通部分をマスタに反映することができなかった。 In this way, in the virtual environment in the background art, since the file system operates independently on each virtual machine, even if the same content file is saved, each virtual machine is saved at different positions. It was. In this case, if you want to reflect the common part from the difference disk of each virtual machine to the master, the common part cannot be reflected to the master because the disk image compared in each virtual machine is different. It was.
一方、各仮想マシンに、共通するOSのホットフィックスを適用するアプリケーションをインストールするなどして、各仮想マシンに共通するファイルが存在する場合でも、ファイルは各仮想マシンの差分ディスクに配置される。このため、各仮想マシンでの変更がすべて差分ディスクに蓄積されてしまい、ストレージの使用量が増大するという問題があった。 On the other hand, even if a file common to each virtual machine exists, for example, by installing an application that applies a common OS hot fix to each virtual machine, the file is placed on the difference disk of each virtual machine. For this reason, all changes in each virtual machine are accumulated in the difference disk, and there is a problem that the amount of storage used increases.
また、特許文献1の技術では、インストールするアドレスを決めるために、全仮想マシンで共通して、使用していない空き領域を探索する必要があるという問題があった。
Further, the technique disclosed in
(発明の目的)
本発明の目的は、上述の課題を解決し、ストレージの使用量を削減する仮想化システム、仮想サーバ、ファイル書き込み方法、及びファイル書き込みプログラムを提供することである。
(Object of invention)
An object of the present invention is to provide a virtualization system, a virtual server, a file writing method, and a file writing program that solve the above-described problems and reduce the storage usage.
本発明の第1の仮想化システムは、マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンが動作する仮想化システムであって、複数の仮想マシンを含む仮想サーバと、マスタイメージ及び差分ディスクを格納するストレージとを備え、仮想サーバが、各仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を含む。 The first virtualization system of the present invention creates a plurality of virtual machines using a master virtual machine as a master image, and a virtual machine that operates a differential disk type virtual machine that stores a difference of each virtual machine in a difference disk A system comprising a virtual server including a plurality of virtual machines and a storage for storing a master image and a difference disk, wherein the virtual server has the same file block on each difference disk for each virtual machine. Control means for storing in the address is included.
本発明の第1の仮想サーバは、マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバであって、各仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を備える。 The first virtual server of the present invention is a virtual server including a difference disk type virtual machine that creates a plurality of virtual machines using a master virtual machine as a master image and stores differences between the virtual machines in a difference disk. For each virtual machine, control means for storing the same file block at the same address on each difference disk is provided.
本発明の第1のファイル書き込み方法は、マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバによるファイル書き込み方法であって、制御手段が、各仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御ステップを有する。 The first file writing method of the present invention uses a virtual server including a virtual machine of a differential disk system that creates a plurality of virtual machines using a master virtual machine as a master image and stores the differences of the virtual machines in a differential disk. In the file writing method, the control unit has a control step of storing a file block having the same contents for each virtual machine at the same address on each difference disk.
本発明の第1のファイル書き込みプログラムは、マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバ上で動作するファイル書き込みプログラムであって、制御手段に、各仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御処理を実行させる。 The first file writing program of the present invention creates a plurality of virtual machines using a master virtual machine as a master image, and stores a difference of each virtual machine in a difference disk on a virtual server including a difference disk type virtual machine The control program causes the control unit to execute a control process for storing a file block having the same contents for each virtual machine at the same address on each difference disk.
本発明によれば、ストレージの使用量を削減することができる。 According to the present invention, the amount of storage used can be reduced.
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。 In order to clarify the above and other objects, features and advantages of the present invention, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. In addition to the above-described object of the present invention, other technical problems, means for solving the technical problems, and operational effects thereof will become apparent from the disclosure of the following embodiments. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.
(第1の実施の形態)
本発明では、仮想マシンに対し、同じ内容のファイルは同じアドレスのディスクブロックに書き込みを行うように制御するコンテンツアドレス(Contents Address)プログラム(以下CAプログラム)を導入する。CAプログラムにより、複数の仮想マシン間で、同一の内容のファイルのブロックを同じアドレスに保存ができ、差分ディスク方式で作成された仮想マシンにおいて、複数仮想マシンで共通するファイルブロックを抜き出し、マスタに配置することが可能となる。
(First embodiment)
In the present invention, a content address (Contents Address) program (hereinafter referred to as a CA program) for controlling a file having the same content to be written to a disk block having the same address is introduced into the virtual machine. With the CA program, blocks of the same contents can be saved at the same address among multiple virtual machines. In a virtual machine created by the differential disk method, file blocks common to multiple virtual machines are extracted and used as the master. It becomes possible to arrange.
以下、本発明の第1の実施の形態について図面を参照して詳細に説明する。 Hereinafter, a first embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本発明の第1の実施の形態に係る仮想化システム1000の構成を示すブロック図である。仮想化システム1000は、仮想サーバ10と、ストレージ300とを備える。
FIG. 1 is a block diagram showing a configuration of a virtualization system 1000 according to the first embodiment of the present invention. The virtualization system 1000 includes a
仮想サーバ10では、仮想マシン11〜13(仮想マシン1〜3)が動作している。なお、仮想マシンの数はこれに限定されるものではなく、任意に設定可能であるものとする。
In the
仮想マシン11〜13には、それぞれストレージ装置300上のディスク領域が割り当てられている。また、仮想マシン11〜13は、差分ディスク方式で作成されている。
A disk area on the
ストレージ装置300は、各仮想マシンで共通するマスタイメージ200と、そのマスタの差分からなる差分ディスク201〜203で構成されている。マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンが作成され、各仮想マシンの差分が差分ディスクに保存される。
The
各仮想マシン11〜13では、同じ内容のファイルのブロックを同一のアドレスに格納するCAプログラム100が動作している。CAプログラム(Contents Addressプログラム)は、CAアドレスID(ファイル名などのファイルのメタデータとファイルブロックの内容から決められるID)から、ファイルブロックの格納アドレスを決定する。
In each of the
CAプログラムが動作するコンポーネントには、3種類の方法が考えられる。 Three types of methods are conceivable for the component in which the CA program operates.
1つ目の実現方法は、ディスクドライバ内で動作する方法である。ファイルシステムから、ファイルブロックの書き込みが行われると、CAプログラムはファイルブロックのアドレスの変換を行う。仮想ディスクへの書き込みは、この変換後のアドレスに行うことで同一の内容が、同一アドレスの仮想ディスクに保存される。この実現方法は重複排除ストレージ機能を仮想OSにおいた上で各ブロックのCA IDをキーとしてディスク上の物理アドレスも決める。ただし、この方式の場合は、ディスクドライバないでファイルのメタデータを取得することが難しいため、アドレスの変換はメタデータを使用せず、ファイルブロックの内容のみで行う。 The first implementation method is a method that operates in a disk driver. When a file block is written from the file system, the CA program converts the address of the file block. By writing to the virtual disk at the converted address, the same contents are stored in the virtual disk having the same address. In this implementation method, the deduplication storage function is set in the virtual OS, and the physical address on the disk is also determined using the CA ID of each block as a key. However, in this method, it is difficult to obtain file metadata without a disk driver, so address conversion is performed using only the contents of the file block without using metadata.
2つ目の実現方法は、ファイルシステムで動作する方法である。ファイルシステムでは、書き込みを行うファイルのブロックアドレスと仮想ディスクのアドレスを管理するテーブルが存在する。通常のファイルシステムでは、空き仮想ディスクアドレスが使用されるが、本実施の形態では、CAプログラムにより、CA IDから仮想ディスクアドレスを決定する。この方法により、同一の内容が、同一アドレスの仮想ディスクに保存される。 The second implementation method is a method that operates in a file system. In the file system, there is a table for managing the block address of the file to be written and the address of the virtual disk. In a normal file system, a free virtual disk address is used, but in this embodiment, a virtual disk address is determined from a CA ID by a CA program. By this method, the same contents are stored in the virtual disk with the same address.
3つ目の実現方法は、ファイルの再配置プログラム内で動作する方法である。再配置プログラムが、ファイルの再配置を行う際に、CA IDから仮想ディスクアドレスを決定することにより、ファイルの再配置完了後には同一の内容が、同一アドレスの仮想ディスクに保存される。この実現方法では、CAプログラムにより、一般的なデフラグとは逆に、ファイルの配置がストレージ内で分散してしまい、ディスクアクセスが非効率になってしまう。しかし、近年では、SSDなどランダムアクセスの性能に優れたデバイスが普及しており、この方式を実現することが可能となっている。 The third realization method is a method that operates in a file relocation program. When the relocation program relocates the file, the virtual disk address is determined from the CA ID, so that the same contents are stored in the virtual disk with the same address after the relocation of the file is completed. In this implementation method, the CA program causes the file allocation to be distributed in the storage, which is contrary to general defragmentation, and disk access becomes inefficient. However, in recent years, devices with excellent random access performance, such as SSD, have become widespread, and this method can be realized.
仮想サーバ10上で動作するマスタ更新マネージャ101は、各仮想マシン11〜13で内容が共通するブロックを検索し、そのブロックをマスタに反映、重複している部分を排除する機能を備えている。
The
(第1の実施の形態の動作の説明)
次に、本実施の形態による仮想化システム1000の動作について、図面を参照して詳細に説明する。
(Description of the operation of the first embodiment)
Next, the operation of the virtualization system 1000 according to the present embodiment will be described in detail with reference to the drawings.
図2は、本発明における仮想マシンでのファイルの書き込み方法を示す図である。以下の説明では、仮想マシン1、2を例にとって説明する。
FIG. 2 is a diagram illustrating a file writing method in the virtual machine according to the present invention. In the following description, the
マスタイメージ200は、差分ディスク方式で作成された仮想マシン1、2のマスタイメージである。各仮想マシン1、2は、共通部分以外を保持する差分ディスク201、202をそれぞれ保持している。
The
本発明では、CAプログラム100により、同じ内容のファイルブロック211、212が仮想マシン1、2の各差分ディスク201、202の同じ位置に保存されるように処理が行われる。
In the present invention, processing is performed by the
マスタ更新マネージャ101、は定期的に仮想マシン1、2のディスクに共通部分が存在するかを探索する。CAプログラム100により同じ内容のブロックは同じアドレスに保存されるため、マスタ更新マネージャ101が行う共通ブロックの探索は、同じアドレスのブロック同士を対比して確認するだけでよく、効率よく探索を行うことが可能である。
The
マスタ更新マネージャ101の探索により、対象仮想マシンで内容が共通のブロックとしてブロック211、212が存在した場合は、この内容をマスタのブロック213にコピーする。次いで、各仮想マシンの差分ディスク201、202から、マスタイメージ200にコピーを行った共通部分(ブロック211、212)の削除を行う。差分ディスク201、202から削除が行われた個所(ブロック211、212)にアクセスを行う場合は、図12で説明したように、マスタにアクセスが行われる。
When the
図3は、本実施の形態におけるCAプログラム100の動作を示すフローチャートである。CAプログラム100は、ファイルブロックの書き込み指示があると(ステップS1101)、その対象ブロックのファイル名などのメタデータとデータの内容から決定されるCA IDを求める(ステップS1102)。CA IDは、一種のハッシュ値である。
FIG. 3 is a flowchart showing the operation of the
このCA IDを元にして、CAプログラム100は、ファイルブロックを保存するアドレスへの変換を行う(ステップS1103)。そして、CAプログラム100は、変換後のアドレスが既に使用されているかを、アドレス変換テーブルを探索して確認を行う(ステップS1104)。
Based on the CA ID, the
CA IDは、ファイルの内容から決定するが、一意性を保証できず、内容が異なる場合も同じ値になることがありあえる。もし、変換後のアドレスが使用されている場合は、CAプログラム100はアドレスの再変換を行う。このアドレスの再変換には複数の方法が考えられるが、その一つとしては、変換後のアドレスの1ブロックとなりを利用する方法がある(ステップS1105)。
The CA ID is determined from the contents of the file. However, the uniqueness cannot be guaranteed, and the same value may be obtained even when the contents are different. If the converted address is used, the
CAプログラム100は、使用されていない変換後のアドレスが発見できるまで、アドレスの変換を行う。使用されていない変換後アドレスが発見できれば、CAプログラム100は、変換前アドレスと変換後アドレスをテーブルに保存し、ファイルブロックの書き込みを行う(ステップS1106)。
The
図4は、CAプログラム100がディスクドライバ112内で動作する場合を示す図である。本実施の形態では、CAプログラム100はディスクドライバ112内で動作する。本実施の形態の場合、ファイルシステム113で利用しているアドレスと、CAプログラム100により変換されたアドレスを管理するアドレス変換テーブル111をディスクドライバ112内に保持する。ディスクドライバ112から、ファイルブロック321、322の書き込みを行う場合は、このアドレス変換テーブル111に変換前、変換後のアドレスを追加する。ファイルブロックの読み込みを行う場合は、アドレス変換テーブル111により、アドレスを変換して、変換後のアドレスにより、読み込みを行う。
FIG. 4 is a diagram showing a case where the
図5は、CAプログラム100がディスクドライバ112に存在する場合におけるCAプログラム100の動作を示すフローチャートである。ファイルブロックの書き込み指示がファイルシステム113に対して行われると(ステップS1201)、ディスクドライバ112内で動作するCAプログラム100が、ブロックアドレスから仮想ディスクアドレス(変換後アドレス)に変換を行う(ステップS1202)。ファイルシステム113では、変換後のアドレス位置にファイルブロックの内容の書き込みを行う(ステップS1203)。
FIG. 5 is a flowchart showing the operation of the
図6は、CAプログラム100がファイルシステム113に組み込まれている場合を示す図である。CAプログラム100はファイルシステム113に組み込まれていて、ブロックアドレスから仮想ディスクアドレスの決定をCAプログラム100により行う。CAプログラム100は、CA IDから仮想ディスクアドレスを決定し、同じ内容のファイルブロックが同じアドレスに書き込みされる。
FIG. 6 is a diagram showing a case where the
図7は、CAプログラム100がファイルシステム113に存在する場合の動作を示すフローチャートである。ファイルブロックの書き込み指示がファイルシステム113に対して行われると(ステップS1301)、ファイルシステム113内で動作するCAプログラム100が、ブロックアドレスから仮想ディスクアドレスに変換を行う(ステップS1302)。ファイルシステム113では、変換後のアドレス位置にファイルブロックの内容の書き込みを行う(ステップS1303)。
FIG. 7 is a flowchart showing an operation when the
図8は、CAプログラム100が仮想マシン11上で動作する再配置プログラム115内に存在する場合を示す図である。ファイルのデフラグをこの再配置プログラム115により実行した場合に、CA IDから仮想ディスクアドレスを決定し、ブロックを移動させる。この再配置プログラム115により、複数仮想マシン間で同じ内容のファイルブロックが同じアドレスの位置に配置される。
FIG. 8 is a diagram illustrating a case where the
図9は、CAプログラム100が仮想マシン11上で動作する再配置プログラム115内に存在する場合の動作を示すフローチャートである。再配置プログラム115を実行すると、ファイルブロックの移動が行われる。CAプログラム100が、ファイルブロックの移動先のアドレスを、CA IDに基づき決定する(ステップS1401)。再配置プログラム115は、変換されたアドレスにファイルブロックを移動する(ステップS1402)。
FIG. 9 is a flowchart showing an operation when the
図10は、本実施の形態において、共通部分をマスタに反映する場合の動作を示すフローチャートである。マスタ更新マネージャ101が、各仮想マシンの差分ディスクを参照し、ファイルブロックの内容が一致するブロックを探索する(ステップS1501)。次いで、マスタ更新マネージャ101は、内容が一致しているファイルブロックをマスタイメージにコピーを行う(ステップS1502)。最後に、マスタ更新マネージャ101は、マスタイメージにコピーしたファイルブロックを、仮想マシンの差分ディスクから削除する(ステップS1503)。
FIG. 10 is a flowchart showing the operation when the common part is reflected on the master in this embodiment. The
ところで、図3で説明したCAプログラム100では、変換後のアドレスが使用済みであれば、その他の空きアドレスを候補とした。これは、CA IDが同一であれば、保存する内容が同一であることを保証できないためである。
By the way, in the
しかし、実際にはCA IDが同一で、内容が異なる可能性は十分に低い。そこで、図11に示すフローチャートのように、変換後アドレスが使用済みの場合、ファイルブロックの内容が一致するかを確認し、一致した場合は、書き込みを省くという手順も考えられる。図3、図11で説明したフローチャートでは、変換後のアドレスが使用できない場合に、アドレスを1つずらし、隣のブロックを利用しているが、最初に利用したCA IDとは別のアルゴリズムで再度CA IDを計算する方法が考えられる。 However, in reality, the possibility that the CA ID is the same and the contents are different is sufficiently low. Therefore, as shown in the flowchart of FIG. 11, if the post-conversion address is already used, it is possible to check whether the contents of the file blocks match. In the flowcharts described with reference to FIGS. 3 and 11, when the converted address cannot be used, the address is shifted by one and the adjacent block is used, but again with an algorithm different from the CA ID used first. A method for calculating the CA ID is conceivable.
(第1の実施の形態による効果)
本実施の形態によれば、仮想化環境において、仮想マシンで同じ内容のファイルブロックを同じアドレスに保存する技術と各仮想マシンの差分ディスクに存在する共通部分をマスタに反映する技術を組み合わせることにより、各差分ディスクに存在する共通部分をマスタイメージに移動することが可能となり、システム全体でのディスク使用量を削減することができる。すなわち、仮想マシンの差分ディスクから共通する部分をマスタとなる仮想マシンに移動することにより、ストレージの使用量を削減することが可能となる。
(Effects of the first embodiment)
According to the present embodiment, in a virtual environment, by combining a technology for storing file blocks having the same contents in a virtual machine at the same address and a technology for reflecting a common part existing in a difference disk of each virtual machine on a master. The common part existing in each difference disk can be moved to the master image, and the amount of disk usage in the entire system can be reduced. In other words, it is possible to reduce the amount of storage used by moving a common part from the difference disk of the virtual machine to the master virtual machine.
また、本実施の形態によれば、仮想マシンからファイルの書き込みを行う際に、同じ内容であれば、同じアドレスに保存を行うため、共通部分の探索に全探索を行う必要がなく、高速に処理を行うことが可能となる。 Further, according to the present embodiment, when writing a file from a virtual machine, if the same contents are stored, it is stored at the same address. Processing can be performed.
また、本実施の形態によれば、各仮想マシンからOSのホットフィックスなどの共通部分をマスタに反映するので、マスタの更新による仮想マシンを再作成する必要がなくなり、運用の手間を減らすことが可能となる。さらに、OSのホットフィックスやアプリケーション以外に、各仮想マシンが共通して保持しているファイルも同時に重複を発見し、マスタに移動することにより、ディスクの使用量を減らすことが可能となる。 In addition, according to the present embodiment, since a common part such as an OS hot fix is reflected on the master from each virtual machine, it is not necessary to recreate the virtual machine by updating the master, and the operation time can be reduced. It becomes. Furthermore, in addition to OS hot fixes and applications, files shared by each virtual machine are also found at the same time and transferred to the master, thereby reducing the amount of disk usage.
また、本実施の形態では、ストレージの種類を選ばず、また、複数のストレージで重複しているファイルを削除することが可能となる。 In the present embodiment, it is possible to delete duplicate files in a plurality of storages without selecting the type of storage.
ここで、本発明の課題を解決できる最小限の構成を図12に示す。仮想化システム1000が、マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンが動作する仮想化システム1000であって、複数の仮想マシンを含む仮想サーバ10と、マスタイメージ及び差分ディスクを格納するストレージ300とを備え、仮想サーバ10が、各仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を含むことで、上述した本発明の課題を解決することができる。
Here, FIG. 12 shows a minimum configuration capable of solving the problems of the present invention. The virtualization system 1000 is a virtualization system 1000 in which a virtual machine using a differential disk system that creates a plurality of virtual machines using a master virtual machine as a master image and stores differences between the virtual machines in a differential disk operates. A
次に、本発明の仮想サーバ10のハードウェア構成例について、図13を参照して説明する。
Next, a hardware configuration example of the
図13を参照すると、本発明の仮想サーバ10は、一般的なコンピュータ装置と同様のハードウェア構成であり、CPU(Central Processing Unit)401、RAM(Random Access Memory)等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部402、ネットワークを介してデータの送受信を行う通信部403、入力装置405や出力装置406及び記憶装置407と接続してデータの送受信を行う入出力インタフェース部404、上記各構成要素を相互に接続するシステムバス408を備えている。記憶装置407は、例えば、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
Referring to FIG. 13, the
本発明の仮想サーバ10の各機能は、プログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置407に格納し、そのプログラムを主記憶部402にロードしてCPU401で実行することにより、ソフトウェア的に実現することも可能である。
Each function of the
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。 The present invention has been described above with reference to preferred embodiments. However, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. it can.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, and the like are also effective as an aspect of the present invention.
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。 The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。 Moreover, although the several procedure is described in order in the method and computer program of this invention, the order of the description does not limit the order which performs a several procedure. For this reason, when implementing the method and computer program of this invention, the order of the several procedure can be changed in the range which does not interfere in content.
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。 The plurality of procedures of the method and the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。 Further, a part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(付記1)
マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンが動作する仮想化システムであって、
複数の仮想マシンを含む仮想サーバと、
前記マスタイメージ及び差分ディスクを格納するストレージとを備え、
前記仮想サーバが、
各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を含む
ことを特徴とする仮想化システム。
(Appendix 1)
A virtualization system in which a virtual machine of a differential disk type that creates a plurality of virtual machines using a master virtual machine as a master image and stores differences between the virtual machines in a differential disk operates.
A virtual server containing multiple virtual machines;
A storage for storing the master image and the difference disk;
The virtual server is
A virtualization system comprising: a control means for storing a file block having the same contents for each virtual machine at the same address on each difference disk.
(付記2)
定期的に、各差分ディスクに同一内容のファイルブロックが存在するか探索し、存在する場合、前記マスタイメージ上の、当該差分ディスク上のアドレスと同一アドレスに当該ファイルブロックを保存するとともに、前記差分ディスク上の当該ファイルブロックを削除するマスタ更新マネージャを備える
ことを特徴とする付記1に記載の仮想化システム。
(Appendix 2)
Periodically, each differential disk is searched for the presence of a file block having the same content, and if it exists, the file block is stored at the same address as the address on the differential disk on the master image, and the differential The virtualization system according to
(付記3)
変換前のアドレスと変換後のアドレスを格納するアドレス変換テーブルを備え、
前記制御手段は、
ファイルブロックの書き込み指示があった場合、当該ブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDを求め、当該CA IDを元にアドレスの変換を行い、
変換後のアドレスに対してファイルブロックの書き込みを行い、
変換前のアドレスと変換後のアドレスをアドレス変換テーブルに保存する
ことを特徴とする付記1又は付記2に記載の仮想化システム。
(Appendix 3)
It has an address conversion table that stores the address before conversion and the address after conversion.
The control means includes
When there is an instruction to write a file block, a CA ID that is a hash value is obtained based on the metadata and data contents of the block, and an address is converted based on the CA ID.
Write the file block to the converted address,
The virtualization system according to
(付記4)
前記制御手段は、
前記変換後のアドレスが使用されている場合、アドレスの再変換を行う
ことを特徴とする付記3に記載の仮想化システム。
(Appendix 4)
The control means includes
The virtualization system according to appendix 3, wherein the address is re-converted when the converted address is used.
(付記5)
前記制御手段は、
前記変換後のアドレスが使用されている場合、書き込み対象のファイルブロックと既に書き込まれているファイルブロックの内容が一致するか確認し、一致する場合は書き込みを行わずに処理を終了し、
ファイルブロックの内容が一致しない場合、アドレスの再変換を行う
ことを特徴とする付記3に記載の仮想化システム。
(Appendix 5)
The control means includes
If the converted address is used, check whether the file block to be written and the contents of the already written file block match, and if they match, the process is terminated without writing,
The virtualization system according to appendix 3, wherein the address is reconverted when the contents of the file block do not match.
(付記6)
前記制御手段は、
前記変換後のアドレスが使用されている場合、当該変換後のアドレスの1ブロック隣を変換後アドレスとして再変換行う
ことを特徴とする付記4又は付記5に記載の仮想化システム。
(Appendix 6)
The control means includes
6. The virtualization system according to appendix 4 or appendix 5, wherein when the converted address is used, re-conversion is performed using one block adjacent to the translated address as the translated address.
(付記7)
ファイルブロックの再配置を行う再配置手段を備え、
前記制御手段が、
前記仮想マシン上でファイルのデフラグが行われた場合に、ファイルブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDに基づき前記ファイルブロックの移動先のアドレスを決定し、
前記再配置手段が、
前記制御手段により決定された移動先のアドレスに前記ファイルブロックを移動する
ことを特徴とする付記1から付記6の何れか1項に記載の仮想化システム。
(Appendix 7)
Relocation means for relocating file blocks is provided,
The control means is
When the file is defragmented on the virtual machine, the file block destination address is determined based on the CA ID which is a hash value based on the metadata and data contents of the file block;
The relocation means comprises:
The virtualization system according to any one of
(付記8)
マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバであって、
各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を備える
ことを特徴とする仮想サーバ。
(Appendix 8)
A virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores the difference of each virtual machine in a differential disk,
A virtual server comprising control means for storing a file block having the same contents for each of the virtual machines at the same address on each difference disk.
(付記9)
定期的に、各差分ディスクに同一内容のファイルブロックが存在するか探索し、存在する場合、前記マスタイメージ上の、当該差分ディスク上のアドレスと同一アドレスに当該ファイルブロックを保存するとともに、前記差分ディスク上の当該ファイルブロックを削除するマスタ更新マネージャを備える
ことを特徴とする付記8に記載の仮想サーバ。
(Appendix 9)
Periodically, each differential disk is searched for the presence of a file block having the same content, and if it exists, the file block is stored at the same address as the address on the differential disk on the master image, and the differential The virtual server according to
(付記10)
変換前のアドレスと変換後のアドレスを格納するアドレス変換テーブルを備え、
前記制御手段は、
ファイルブロックの書き込み指示があった場合、当該ブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDを求め、当該CA IDを元にアドレスの変換を行い、
変換後のアドレスに対してファイルブロックの書き込みを行い、
変換前のアドレスと変換後のアドレスをアドレス変換テーブルに保存する
ことを特徴とする付記8又は付記9に記載の仮想サーバ。
(Appendix 10)
It has an address conversion table that stores the address before conversion and the address after conversion.
The control means includes
When there is an instruction to write a file block, a CA ID that is a hash value is obtained based on the metadata and data contents of the block, and an address is converted based on the CA ID.
Write the file block to the converted address,
The virtual server according to
(付記11)
前記制御手段は、
前記変換後のアドレスが使用されている場合、アドレスの再変換を行う
ことを特徴とする付記10に記載の仮想サーバ。
(Appendix 11)
The control means includes
The virtual server according to
(付記12)
前記制御手段は、
前記変換後のアドレスが使用されている場合、書き込み対象のファイルブロックと既に書き込まれているファイルブロックの内容が一致するか確認し、一致する場合は書き込みを行わずに処理を終了し、
ファイルブロックの内容が一致しない場合、アドレスの再変換を行う
ことを特徴とする付記10に記載の仮想サーバ。
(Appendix 12)
The control means includes
If the converted address is used, check whether the file block to be written and the contents of the already written file block match, and if they match, the process is terminated without writing,
The virtual server according to
(付記13)
前記制御手段は、
前記変換後のアドレスが使用されている場合、当該変換後のアドレスの1ブロック隣を変換後アドレスとして再変換行う
ことを特徴とする付記11又は付記12に記載の仮想サーバ。
(Appendix 13)
The control means includes
13. The virtual server according to
(付記14)
ファイルブロックの再配置を行う再配置手段を備え、
前記制御手段が、
前記仮想マシン上でファイルのデフラグが行われた場合に、ファイルブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDに基づき前記ファイルブロックの移動先のアドレスを決定し、
前記再配置手段が、
前記制御手段により決定された移動先のアドレスに前記ファイルブロックを移動する
ことを特徴とする付記8から付記13の何れか1項に記載の仮想サーバ。
(Appendix 14)
Relocation means for relocating file blocks is provided,
The control means is
When the file is defragmented on the virtual machine, the file block destination address is determined based on the CA ID which is a hash value based on the metadata and data contents of the file block;
The relocation means comprises:
The virtual server according to any one of
(付記15)
マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバによるファイル書き込み方法であって、
制御手段が、各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御ステップを有する
ことを特徴とするファイル書き込み方法。
(Appendix 15)
A method of writing a file by a virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores a difference of each virtual machine in a differential disk,
A file writing method, wherein the control means includes a control step of storing a file block having the same content for each virtual machine at the same address on each difference disk.
(付記16)
マスタ更新マネージャが、定期的に、各差分ディスクに同一内容のファイルブロックが存在するか探索し、存在する場合、前記マスタイメージ上の、当該差分ディスク上のアドレスと同一アドレスに当該ファイルブロックを保存するとともに、前記差分ディスク上の当該ファイルブロックを削除するマスタ更新ステップを有する
ことを特徴とする付記15に記載のファイル書き込み方法。
(Appendix 16)
The master update manager periodically searches for a file block having the same contents on each difference disk, and if it exists, saves the file block at the same address on the master image as the address on the difference disk. And a master updating step of deleting the file block on the difference disk.
(付記17)
前記制御ステップで、
ファイルブロックの書き込み指示があった場合、当該ブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDを求め、当該CA IDを元にアドレスの変換を行い、
変換後のアドレスに対してファイルブロックの書き込みを行い、
変換前のアドレスと変換後のアドレスをアドレス変換テーブルに保存する
ことを特徴とする付記15又は付記16に記載のファイル書き込み方法。
(Appendix 17)
In the control step,
When there is an instruction to write a file block, a CA ID that is a hash value is obtained based on the metadata and data contents of the block, and an address is converted based on the CA ID.
Write the file block to the converted address,
The file writing method according to appendix 15 or appendix 16, wherein the address before translation and the address after translation are stored in an address translation table.
(付記18)
前記制御ステップで、
前記変換後のアドレスが使用されている場合、アドレスの再変換を行う
ことを特徴とする付記17に記載のファイル書き込み方法。
(Appendix 18)
In the control step,
The file writing method according to appendix 17, wherein when the converted address is used, the address is re-converted.
(付記19)
前記制御ステップで、
前記変換後のアドレスが使用されている場合、書き込み対象のファイルブロックと既に書き込まれているファイルブロックの内容が一致するか確認し、一致する場合は書き込みを行わずに処理を終了し、
ファイルブロックの内容が一致しない場合、アドレスの再変換を行う
ことを特徴とする付記17に記載のファイル書き込み方法。
(Appendix 19)
In the control step,
If the converted address is used, check whether the file block to be written and the contents of the already written file block match, and if they match, the process is terminated without writing,
18. The file writing method according to appendix 17, wherein the address is reconverted when the contents of the file block do not match.
(付記20)
前記制御ステップで、
前記変換後のアドレスが使用されている場合、当該変換後のアドレスの1ブロック隣を変換後アドレスとして再変換行う
ことを特徴とする付記18又は付記19に記載のファイル書き込み方法。
(Appendix 20)
In the control step,
20. The file writing method according to appendix 18 or appendix 19, wherein when the converted address is used, reconversion is performed using one block adjacent to the converted address as the converted address.
(付記21)
再配置手段が、ファイルブロックの再配置を行う再配置ステップを有し、
前記制御ステップで、
前記仮想マシン上でファイルのデフラグが行われた場合に、ファイルブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDに基づき前記ファイルブロックの移動先のアドレスを決定し、
前記再配置ステップで、
前記制御ステップにより決定された移動先のアドレスに前記ファイルブロックを移動する
ことを特徴とする付記15から付記20の何れか1項に記載のファイル書き込み方法。
(Appendix 21)
The rearrangement means includes a rearrangement step for rearranging the file blocks;
In the control step,
When the file is defragmented on the virtual machine, the file block destination address is determined based on the CA ID which is a hash value based on the metadata and data contents of the file block;
In the rearrangement step,
21. The file writing method according to any one of appendix 15 to appendix 20, wherein the file block is moved to a destination address determined by the control step.
(付記22)
マスタとなる仮想マシンをマスタイメージとして複数の仮想マシンを作成し、各仮想マシンの差分を差分ディスクに保存する差分ディスク方式の仮想マシンを含む仮想サーバ上で動作するファイル書き込みプログラムであって、
制御手段に、各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御処理を実行させる
ことを特徴とするファイル書き込みプログラム。
(Appendix 22)
A file writing program that operates on a virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores the differences of each virtual machine in a differential disk,
A file writing program characterized by causing a control unit to execute a control process for storing a file block having the same contents at the same address on each difference disk for each of the virtual machines.
(付記23)
マスタ更新マネージャに、定期的に、各差分ディスクに同一内容のファイルブロックが存在するか探索し、存在する場合、前記マスタイメージ上の、当該差分ディスク上のアドレスと同一アドレスに当該ファイルブロックを保存するとともに、前記差分ディスク上の当該ファイルブロックを削除するマスタ更新処理を実行させる
ことを特徴とする付記22に記載のファイル書き込みプログラム。
(Appendix 23)
The master update manager periodically searches for a file block with the same contents on each difference disk, and if it exists, saves the file block at the same address on the master image as the address on the difference disk. 23. The file writing program according to appendix 22, wherein a master update process for deleting the file block on the difference disk is executed.
(付記24)
前記制御処理で、
ファイルブロックの書き込み指示があった場合、当該ブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDを求め、当該CA IDを元にアドレスの変換を行い、
変換後のアドレスに対してファイルブロックの書き込みを行い、
変換前のアドレスと変換後のアドレスをアドレス変換テーブルに保存する
ことを特徴とする付記22又は付記23に記載のファイル書き込みプログラム。
(Appendix 24)
In the control process,
When there is an instruction to write a file block, a CA ID that is a hash value is obtained based on the metadata and data contents of the block, and an address is converted based on the CA ID.
Write the file block to the converted address,
The file writing program according to appendix 22 or
(付記25)
前記制御処理で、
前記変換後のアドレスが使用されている場合、アドレスの再変換を行う
ことを特徴とする付記24に記載のファイル書き込みプログラム。
(Appendix 25)
In the control process,
25. The file writing program according to appendix 24, wherein when the converted address is used, the address is re-converted.
(付記26)
前記制御処理で、
前記変換後のアドレスが使用されている場合、書き込み対象のファイルブロックと既に書き込まれているファイルブロックの内容が一致するか確認し、一致する場合は書き込みを行わずに処理を終了し、
ファイルブロックの内容が一致しない場合、アドレスの再変換を行う
ことを特徴とする付記24に記載のファイル書き込みプログラム。
(Appendix 26)
In the control process,
If the converted address is used, check whether the file block to be written and the contents of the already written file block match, and if they match, the process is terminated without writing,
25. The file writing program according to appendix 24, wherein when the contents of the file block do not match, the address is re-converted.
(付記27)
前記制御処理で、
前記変換後のアドレスが使用されている場合、当該変換後のアドレスの1ブロック隣を変換後アドレスとして再変換行う
ことを特徴とする付記25又は付記26に記載のファイル書き込みプログラム。
(Appendix 27)
In the control process,
27. The file writing program according to appendix 25 or appendix 26, wherein when the converted address is used, reconversion is performed with one block adjacent to the converted address as the converted address.
(付記28)
再配置手段に、ファイルブロックの再配置を行う再配置処理を実行させ、
前記制御処理で、
前記仮想マシン上でファイルのデフラグが行われた場合に、ファイルブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDに基づき前記ファイルブロックの移動先のアドレスを決定し、
前記再配置処理で、
前記制御処理により決定された移動先のアドレスに前記ファイルブロックを移動する
ことを特徴とする付記22から付記27の何れか1項に記載のファイル書き込みプログラム。
(Appendix 28)
Have the relocation means execute a relocation process to relocate the file block,
In the control process,
When the file is defragmented on the virtual machine, the file block destination address is determined based on the CA ID which is a hash value based on the metadata and data contents of the file block;
In the rearrangement process,
The file writing program according to any one of appendix 22 to appendix 27, wherein the file block is moved to the destination address determined by the control process.
10:仮想サーバ
11〜13:仮想マシン
100:CAプログラム
101:マスタ更新マネージャ
111:アドレス変換テーブル
112:ディスクドライバ
113:ファイルシステム
114:仮想ディスクアドレス変換テーブル
115:再配置プログラム
200:マスタイメージ
201〜203:差分ディスク
211〜213、321、322、331、332:ファイルブロック
300:ストレージ
401:CPU
402:主記憶部
403:通信部
404:入出力インタフェース部
405:入力装置
406:出力装置
407:記憶装置
408:システムバス
1000:仮想化システム
10: Virtual server 11-13: Virtual machine 100: CA program 101: Master update manager 111: Address conversion table 112: Disk driver 113: File system 114: Virtual disk address conversion table 115: Relocation program 200:
402: Main storage unit 403: Communication unit 404: Input / output interface unit 405: Input device 406: Output device 407: Storage device 408: System bus 1000: Virtualization system
Claims (10)
複数の仮想マシンを含む仮想サーバと、
前記マスタイメージ及び差分ディスクを格納するストレージとを備え、
前記仮想サーバが、
各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を含む
ことを特徴とする仮想化システム。 A virtualization system in which a virtual machine of a differential disk type that creates a plurality of virtual machines using a master virtual machine as a master image and stores differences between the virtual machines in a differential disk operates.
A virtual server containing multiple virtual machines;
A storage for storing the master image and the difference disk;
The virtual server is
A virtualization system comprising: a control means for storing a file block having the same contents for each virtual machine at the same address on each difference disk.
ことを特徴とする請求項1に記載の仮想化システム。 Periodically, each differential disk is searched for the presence of a file block having the same content, and if it exists, the file block is stored at the same address as the address on the differential disk on the master image, and the differential The virtualization system according to claim 1, further comprising a master update manager that deletes the file block on the disk.
前記制御手段は、
ファイルブロックの書き込み指示があった場合、当該ブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDを求め、当該CA IDを元にアドレスの変換を行い、
変換後のアドレスに対してファイルブロックの書き込みを行い、
変換前のアドレスと変換後のアドレスをアドレス変換テーブルに保存する
ことを特徴とする請求項1又は請求項2に記載の仮想化システム。 It has an address conversion table that stores the address before conversion and the address after conversion.
The control means includes
When there is an instruction to write a file block, a CA ID that is a hash value is obtained based on the metadata and data contents of the block, and an address is converted based on the CA ID.
Write the file block to the converted address,
The virtualization system according to claim 1 or 2, wherein an address before conversion and an address after conversion are stored in an address conversion table.
前記変換後のアドレスが使用されている場合、アドレスの再変換を行う
ことを特徴とする請求項3に記載の仮想化システム。 The control means includes
The virtualization system according to claim 3, wherein when the address after conversion is used, the address is re-converted.
前記変換後のアドレスが使用されている場合、書き込み対象のファイルブロックと既に書き込まれているファイルブロックの内容が一致するか確認し、一致する場合は書き込みを行わずに処理を終了し、
ファイルブロックの内容が一致しない場合、アドレスの再変換を行う
ことを特徴とする請求項3に記載の仮想化システム。 The control means includes
If the converted address is used, check whether the file block to be written and the contents of the already written file block match, and if they match, the process is terminated without writing,
4. The virtualization system according to claim 3, wherein when the contents of the file block do not match, address re-conversion is performed.
前記変換後のアドレスが使用されている場合、当該変換後のアドレスの1ブロック隣を変換後アドレスとして再変換行う
ことを特徴とする請求項4又は請求項5に記載の仮想化システム。 The control means includes
6. The virtualization system according to claim 4, wherein, when the converted address is used, re-conversion is performed by using one block adjacent to the converted address as a converted address. 6.
前記制御手段が、
前記仮想マシン上でファイルのデフラグが行われた場合に、ファイルブロックのメタデータ及びデータ内容に基づきハッシュ値であるCA IDに基づき前記ファイルブロックの移動先のアドレスを決定し、
前記再配置手段が、
前記制御手段により決定された移動先のアドレスに前記ファイルブロックを移動する
ことを特徴とする請求項1から請求項6の何れか1項に記載の仮想化システム。 Relocation means for relocating file blocks is provided,
The control means is
When the file is defragmented on the virtual machine, the file block destination address is determined based on the CA ID which is a hash value based on the metadata and data contents of the file block;
The relocation means comprises:
The virtualization system according to claim 1, wherein the file block is moved to a destination address determined by the control unit.
各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御手段を備える
ことを特徴とする仮想サーバ。 A virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores the difference of each virtual machine in a differential disk,
A virtual server comprising control means for storing a file block having the same contents for each of the virtual machines at the same address on each difference disk.
制御手段が、各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御ステップを有する
ことを特徴とするファイル書き込み方法。 A method of writing a file by a virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores a difference of each virtual machine in a differential disk,
A file writing method, wherein the control means includes a control step of storing a file block having the same content for each virtual machine at the same address on each difference disk.
制御手段に、各前記仮想マシンについて、同じ内容のファイルブロックをそれぞれの差分ディスク上の同一アドレスに格納する制御処理を実行させる
ことを特徴とするファイル書き込みプログラム。 A file writing program that operates on a virtual server including a virtual machine of a differential disk method that creates a plurality of virtual machines using a master virtual machine as a master image and stores the differences of each virtual machine in a differential disk,
A file writing program characterized by causing a control unit to execute a control process for storing a file block having the same contents at the same address on each difference disk for each of the virtual machines.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013063888A JP6089855B2 (en) | 2013-03-26 | 2013-03-26 | Virtualization system, virtual server, file writing method, and file writing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013063888A JP6089855B2 (en) | 2013-03-26 | 2013-03-26 | Virtualization system, virtual server, file writing method, and file writing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014191405A JP2014191405A (en) | 2014-10-06 |
JP6089855B2 true JP6089855B2 (en) | 2017-03-08 |
Family
ID=51837640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013063888A Active JP6089855B2 (en) | 2013-03-26 | 2013-03-26 | Virtualization system, virtual server, file writing method, and file writing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6089855B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6197816B2 (en) * | 2015-03-24 | 2017-09-20 | 日本電気株式会社 | Storage system, storage management method, and computer program |
JP6406283B2 (en) * | 2016-03-01 | 2018-10-17 | 日本電気株式会社 | Storage apparatus and storage method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3056704B2 (en) * | 1997-08-25 | 2000-06-26 | 三菱電機株式会社 | Data management device |
US7747831B2 (en) * | 2006-03-20 | 2010-06-29 | Emc Corporation | High efficiency portable archive and data protection using a virtualization layer |
JP2009251725A (en) * | 2008-04-02 | 2009-10-29 | Hitachi Ltd | Storage controller and duplicated data detection method using storage controller |
JP5533888B2 (en) * | 2010-02-10 | 2014-06-25 | 日本電気株式会社 | Storage device |
US20130247039A1 (en) * | 2010-11-08 | 2013-09-19 | Yusuke Tsutsui | Computer system, method for allocating volume to virtual server, and computer-readable storage medium |
US9218343B2 (en) * | 2010-12-20 | 2015-12-22 | International Business Machines Corporation | Partition file system for virtual machine memory management |
JP2012185605A (en) * | 2011-03-04 | 2012-09-27 | Nec Corp | Virtual machine system, virtual disk management method and virtual disk management program |
-
2013
- 2013-03-26 JP JP2013063888A patent/JP6089855B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014191405A (en) | 2014-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6629407B2 (en) | Method and system for accessing updated files and software products | |
KR101086857B1 (en) | Control Method of Solid State Storage System for Data Merging | |
JP5384576B2 (en) | Selective use of multiple disparate solid-state storage locations | |
CN111949605A (en) | Method, apparatus and computer program product for implementing a file system | |
US10496601B1 (en) | Efficient file system parsing using snap based replication | |
US20130282676A1 (en) | Garbage collection-driven block thinning | |
US11237979B2 (en) | Method for management of multi-core solid state drive | |
JP2021509981A (en) | System Garbage Collection Method and Garbage Collection Method on Solid State Disk | |
US11099768B2 (en) | Transitioning from an original device to a new device within a data storage array | |
US7549029B2 (en) | Methods for creating hierarchical copies | |
JP6197816B2 (en) | Storage system, storage management method, and computer program | |
EP2669806B1 (en) | Storage system | |
CN111158858B (en) | Cloning method and device of virtual machine and computer readable storage medium | |
US9733837B2 (en) | Shifting a defrag operation in a mirrored system | |
JPWO2007099636A1 (en) | File system migration method, file system migration program, and file system migration apparatus | |
JP6089855B2 (en) | Virtualization system, virtual server, file writing method, and file writing program | |
KR20220006458A (en) | Key-value storage device and method for sorting key | |
JP6033420B2 (en) | Storage system and storage system control method | |
JP5923913B2 (en) | Storage device, storage device control method, and storage system | |
US11875051B2 (en) | Contiguous data storage using group identifiers | |
WO2015162717A1 (en) | Computer | |
US10268411B1 (en) | Policy and heuristic based conversion of write-optimized virtual disk format into read-optimized virtual disk format | |
JP2012185605A (en) | Virtual machine system, virtual disk management method and virtual disk management program | |
KR101834082B1 (en) | Apparatus and method of managing multi solid state disk system | |
US11249646B1 (en) | Large segment management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161226 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6089855 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |