JP5547814B2 - 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体 - Google Patents
計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体 Download PDFInfo
- Publication number
- JP5547814B2 JP5547814B2 JP2012542739A JP2012542739A JP5547814B2 JP 5547814 B2 JP5547814 B2 JP 5547814B2 JP 2012542739 A JP2012542739 A JP 2012542739A JP 2012542739 A JP2012542739 A JP 2012542739A JP 5547814 B2 JP5547814 B2 JP 5547814B2
- Authority
- JP
- Japan
- Prior art keywords
- volume
- disk
- master
- virtual
- server
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- 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/0608—Saving storage space on 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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]
Description
本発明は計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体に関し、特に、ストレージ装置における仮想サーバに対するボリュームの割り当てに関する。
近年、企業の情報システム部門は、情報技術に係る投資コストや運用コストの削減をますます求められるようになっている。このような課題を解決するため、CPU、メモリ・デバイス、ストレージ装置などの計算機資源を有効に活用するための技術として、システム仮想化技術が利用されている。
システム仮想化技術は、一台の物理的な計算機上で、複数の仮想計算機を作成し、一台の物理的な計算機があたかも複数台の計算機であるかのように処理を行うことができる。この技術は、余剰の計算機資源を有効活用する目的や、一台の高性能な計算機の上に数百台のゲストを集約するサーバ・コンソリデーション目的に活用されている。
仮想計算機はソフトウェアにより実現されるサーバ環境であって、その上でオペレーティングシステム(OS)が動き、アプリケーションを動作させることができる。仮想環境においては、OSインストール後にいくつかのミドルウェア導入や各種設定をした仮想サーバをテンプレートとして作成し、そのテンプレートデータをコピーして仮想サーバを作成することがある。仮想サーバのOS部は、通常運用時には変更されることが少ないためストレージ装置内に大量の重複したデータが存在することになる。
ストレージ装置おける重複データを削除する技術は、例えば、特許文献1に開示されている。特許文献1は、データのハッシュ値を比較して重複データを削除する記憶制御装置を示している。
ストレージ装置の実容量(記憶されているデータ量)を低減することは、構築済みのシステムにおいて重要である。具体的には、複数の仮想サーバが稼動している計算機システムにおいて、稼動している仮想サーバに割り当てられているボリュームの実用量を低減することが求められる。又、稼動している物理環境を仮想環境へ移行する場合に、新たに実装される仮想サーバのボリューム容量を効果的に低減することが求められる。
このように、既存システムにおけるストレージ実容量の低減においては、システムの変更に対して対応可能であることが重要である。また、稼動中の仮想環境におけるストレージの実用量の低減においては、容量低減が求められている仮想サーバのボリュームにおいて大きな容量を速やかに効率的に低減することが重要である。
本発明の一態様は、管理装置と、ストレージ装置と、物理サーバとを備える計算機システムである。前記管理装置は、稼動している第1の仮想サーバに対して前記ストレージ装置が提供する第1のボリュームから作成されたマスタボリュームを登録する。前記物理サーバ上で稼動している第2の仮想サーバに対して前記ストレージ装置が提供する第2のボリュームが前記登録マスタボリュームに対して規定の類似条件を満足している場合に、前記ストレージ装置は、前記マスタボリュームと前記第2の仮想サーバのボリュームとの差分のデータを格納する差分ボリュームを作成する。前記第2の仮想サーバは、前記差分ボリュームと前記マスタボリュームとにアクセスする。
本発明の一態様よれば、構築済みの仮想環境において、ストレージ装置の実容量を効果的に低減することができる。
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
<本実施形態の概要>
図1A及び図1Bは、本実施形態の概略を説明する図である。本実施形態は大きく2つの処理を行う。第1の処理は、稼動している仮想サーバのボリュームからマスタボリュームを作成し、それをリストに登録する。第2の処理は、他の仮想サーバのボリュームがマスタボリュームと類似する場合、それらから差分ボリュームを形成する。
図1A及び図1Bは、本実施形態の概略を説明する図である。本実施形態は大きく2つの処理を行う。第1の処理は、稼動している仮想サーバのボリュームからマスタボリュームを作成し、それをリストに登録する。第2の処理は、他の仮想サーバのボリュームがマスタボリュームと類似する場合、それらから差分ボリュームを形成する。
この仮想サーバは、マスタボリュームと差分ボリュームとにアクセスする。仮想サーバはソフトウェアであり、オペレーティングシステム(OS)及びその他のプログラムモジュールを含むプログラムである。ボリュームはストレージ装置において画定されたデータ記憶領域及びそのデータであり、論理的なボリュームである。マスタボリュームの作成は、仮想サーバのボリュームをコピーしてもよいし、そのままそれをマスタボリュームとしてもよい。
上記他の仮想サーバのボリュームにおいてマスタボリュームと共通する部分の領域は、空き領域となる(データ消去)。これにより、ストレージ装置が記憶するデータ量(実容量)を低減することができる。仮想サーバのボリューム全体をマスタボリュームと比較し、その共通部分を共有するため、ボリュームにおける重複部分を一括して効率的に削減することができ、容量削減処理の開始から速やかに大きな容量を削減することができる。
本構成は、稼動している仮想サーバのボリュームからマスタボリュームを作成するので、構築済みシステムにおいて仮想サーバのボリューム容量を適切に低減することができると共に、物理環境から仮想環境への移行においても、新たに実装される仮想サーバのボリューム容量を低減することができる。
図1Aは、上記第1の処理を模式的に示している。図1Aにおいて、物理サーバ108において、仮想化制御プログラム120が動作しており、その仮想化制御プログラム120上で仮想サーバ109a〜109dが動作している。仮想サーバ109a〜109dには、それぞれ、ボリューム133a〜133dが割り当てられている。
図1Aにおいて、システムは、仮想サーバ109dのボリューム133dをマスタボリューム135として選択している。仮想サーバ109dによるボリューム133dへのアクセスにおいて、ボリューム135が参照される。仮想ディスク133dのデータのその後の更新は、仮想サーバ109dの差分ボリュームが格納する。
図1Bは、上記第2の処理を模式的に示している。図1Bにおいて、ボリューム133b、133cのOSは、マスタボリューム135と同一である。システムは、マスタボリューム135を参照してボリューム133b、133cから、差分ボリュームを生成する。ボリューム133b、133cにおけるマスタボリューム135との共通部分へのアクセスは、マスタボリューム135を参照する。図1Bにおいて、OS[2]のイメージ(データ)が共通化されている。
典型的なストレージ装置は、複数のディスク装置を備えている。そこで、以下において、仮想サーバがアクセスするボリュームをディスクと呼ぶ。本実施形態は、ディスク装置と異なるデータ記憶装置(記憶媒体)を有するストレージ装置を備えるシステムにも適用できる。
<全体構成>
次に、本実施形態の計算式システムの全体構成を説明する。図2A及び図2Bは、本実施形態の計算機システムの全体構成を模式的に示している。図2Aに示すように、本実施形態の計算機システムは、管理装置である管理サーバ101、複数の物理サーバ108a〜108c、そしてストレージ装置130を含む。管理サーバ101及び物理サーバ108a〜108cは、実行するプログラム及び処理するデータを含む計算機装置である。
次に、本実施形態の計算式システムの全体構成を説明する。図2A及び図2Bは、本実施形態の計算機システムの全体構成を模式的に示している。図2Aに示すように、本実施形態の計算機システムは、管理装置である管理サーバ101、複数の物理サーバ108a〜108c、そしてストレージ装置130を含む。管理サーバ101及び物理サーバ108a〜108cは、実行するプログラム及び処理するデータを含む計算機装置である。
複数の物理サーバ108a〜108dとストレージ装置130とは、データネットワーク112bにより接続されている。管理サーバ101、物理サーバ108a〜108d及びストレージ装置130は、管理ネットワーク112aで接続されている。
データネットワーク112bは、ストレージ装置130が格納するデータを通信するためのネットワークであって、典型的には、SAN(Storage Area Network)である。データネットワーク112bは、データ通信用のネットワークであればSAN以外のネットワークでもよく、例えばIPネットワークでもよい。
管理ネットワーク112aは、管理データ通信用のネットワークであって、典型的には、IPネットワークである。管理ネットワーク112aは、データ通信用のネットワークであればIPネットワーク以外のネットワークでもよく、例えばSANでもよい。データネットワーク112b及び管理ネットワーク112aは、同一のネットワークであってもよい。
管理サーバ101は、物理サーバ108a〜108dを管理するための計算機装置である。本実施形態においては、特に、物理サーバ108a〜108dのマスタディスク及び差分ディスクの作成処理を管理する。この詳細は後述する。物理サーバ108a〜108cは、仮想化技術により、1つ以上の仮想サーバを実行することができる計算機装置である。一方、物理サーバ108dには、仮想化機構(仮想化管理プログラム)が実装されていない。物理サーバ108dには、OS[2]109eがインストールされている。OS[k]におけるkは、OSの種別を示しており、kの値が同一のOSは、同一種別のOSである。
物理サーバ108aは、仮想化制御プログラムA120aを実行し、OS[1]109aを含む仮想サーバA110aが仮想化制御プログラムA120aで動作している。物理サーバ108bは、仮想化制御プログラムB120bを実行し、OS[2]109bを含む仮想サーバB110b及びOS[2]109cを含む仮想サーバ110Ccが仮想化制御プログラム120Bbで動作している。
物理サーバ108cは、仮想化制御プログラムC120cを実行し、OS[2]109dを含む仮想サーバD110dが仮想化制御プログラムC120cで動作している。物理サーバ108a〜108cは、管理サーバ101の指示に従って、マスタディスク及び差分ディスクの作成処理を行う。物理サーバ108dは、物理環境から仮想環境への移行処理において、差分ディスクの作成に寄与する。この詳細は後述する。
図2Bに示すように、ストレージ装置130は、物理サーバ108a〜108dにボリュームを提供する。図2Bにおいて、ボリューム132は、物理サーバD108dに割り当てられているボリュームである。管理ディスク131は物理サーバA108〜物理サーバC108cに割り当てられているデータ記憶領域である。図2Bにおいては、ボリューム133a、134a、134b、135が示されている。
ベーシックディスクA133aは、仮想サーバAに割り当てられているディスク(ボリューム)である。差分ディスクB134a、差分ディスクC134bは、それぞれ、仮想サーバB110b、仮想サーバC110cの差分ディスクである。マスタディスクD135は、仮想サーバDに割り当てられているベーシックディスクから作成したマスタディスクである。
マスタディスクD135は、差分ディスク134a、134bに対するマスタディスクである。ベーシックディスクは、マスタディスク及び差分ディスクとは異なり、最初に仮想サーバに割り当てられている通常のボリュームである。マスタディスク及び差分ディスクは、ベーシックディスクから作成される。
<管理サーバ101の構成>
図3に示すように、管理サーバ101は計算機装置であり、メモリ201、プロセッサ202、ネットワークインターフェース203、二次記憶デバイス204、入力デバイス205及び表示デバイス206を備えている。管理サーバ101において、各デバイスはバスにより接続されている。管理サーバ101は、ネットワークインターフェース203を介して管理ネットワーク112aに接続している。
図3に示すように、管理サーバ101は計算機装置であり、メモリ201、プロセッサ202、ネットワークインターフェース203、二次記憶デバイス204、入力デバイス205及び表示デバイス206を備えている。管理サーバ101において、各デバイスはバスにより接続されている。管理サーバ101は、ネットワークインターフェース203を介して管理ネットワーク112aに接続している。
本実施形態における計算機システムの管理者は、表示デバイス206においてシステムの管理情報見ることができる。管理者は入力デバイス205により、コマンドを含むデータを管理サーバ101に入力することができる。なお、管理者は、ネットワークを介して管理サーバ101にアクセスし、管理サーバ101の機能を利用してもよい。
プロセッサ202は、メモリ201に記憶されているプログラムを実行することによって管理サーバ101の所定の機能を実現する。メモリ201は、プロセッサ202によって実行されるプログラム及びプログラムの実行に必要なデータを記憶するRAM(Random Access Memory)等の記憶デバイスである。
二次記憶デバイス204は、管理サーバ101の所定の機能を実現するために必要なプログラム(例えば、図3においてメモリ201に格納されているプログラム)及びデータを格納する不揮発性記憶媒体を備える記憶デバイスである。典型的には、ハードディスクドライブである。管理サーバ101が使用するデータの二次記憶装置として、フラッシュメモリなどの不揮発性半導体記憶装置を使用してもよいし、SAN(Storage Area Network)などを介して接続された外部の記憶装置(例えばストレージ装置130)でもよい。
図3において、便宜的には、メモリ201内に、プログラム及びテーブルが図示されている。管理サーバ101の処理において必要とされるデータ(プログラムを含む)は、典型的に、二次記憶デバイス204からメモリ201にロードされる。物理サーバ管理部102、仮想機構管理部103及び仮想イメージ管理部104は、プログラムである。プロセッサは、これらプログラムに従って動作することで、物理サーバ管理部102、仮想機構管理部103及び仮想イメージ管理部104として機能する。仮想イメージ管理部104は、ディスクイメージ情報管理部210及びディスクイメージ解析結果取得部211を含む。これらプログラムの処理の詳細は後述する。
プログラムはプロセッサによって実行されることで、定められた処理を記憶デバイス及び通信インターフェースを用いながら行う。従って、本実施形態においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。プログラムが実行する処理は、そのプログラムが動作する計算機が行う処理である。この点は、以下に説明する物理サーバにおいて同様である。
管理サーバ101は、さらに、複数のテーブル備えている。具体的には、物理サーバ管理テーブル105、仮想サーバ管理テーブル106、そして仮想イメージ管理テーブル107である。物理サーバ管理テーブル105は、物理サーバの管理情報を格納し、例えば、各物理サーバの識別子及びネットワーク上のアドレスを格納している。
仮想サーバ管理テーブル106は仮想サーバの管理上情報を格納し、仮想イメージ管理テーブル107は、仮想ディスクの管理情報を格納する。仮想サーバ管理テーブル106及び仮想イメージ管理テーブル107は、図10及び図11に一例が示されており、これらの詳細は後述する。
本構成例においては、管理サーバ101のシステム運用管理に使用される情報は、各テーブルに格納されている。しかし、本実施形態において、データ記憶領域に格納される情報はデータ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、上記複数のテーブルの情報は一つのテーブルに格納されていてもよく、より多くのテーブルに格納されていてもよい。必要な情報を格納していれば、テーブルはどのような構成(カラム及びレコード)を有していてもよい。この点は、以下に説明する物理サーバにおいて同様である。
<物理サーバC108cの構成>
図4は、物理サーバD108dの構成を模式的に示す図である。図4が示すように、物理サーバD108dは、メモリ301、プロセッサ302、ネットワークインターフェース303及びディスクインタフェース304を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。物理サーバD108dは、ネットワークインターフェース303において管理ネットワーク112aと接続し、ディスクインタフェース304においてデータネットワーク112bに接続する。
図4は、物理サーバD108dの構成を模式的に示す図である。図4が示すように、物理サーバD108dは、メモリ301、プロセッサ302、ネットワークインターフェース303及びディスクインタフェース304を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。物理サーバD108dは、ネットワークインターフェース303において管理ネットワーク112aと接続し、ディスクインタフェース304においてデータネットワーク112bに接続する。
プロセッサ302は、ディスクインタフェース304及びデータネットワーク112bを介して、ストレージ装置130のボリューム132にアクセスする。プロセッサ302は、メモリ301に記憶されているプログラムを実行することによって物理サーバC108cの所定の機能を実現する
メモリ301は、プロセッサ302により実行されるOSを含むプログラム及びプログラムの実行に必要なデータを記憶する。図4において、メモリ301が記憶するプログラムのうち、ディスクイメージ送信部121、ディスクイメージ解析部122、物理サーバ管理部126が示されている。これらプログラムの処理は後述する。これらプログラムは、典型的には、図示しない物理サーバD108dの二次記憶装置又はストレージ装置130の不揮発性記憶媒体からロードされる。
<物理サーバB108bの構成>
図5Aは、物理サーバB108bの構成を模式的に示している。物理サーバB108bは計算機装置であり、そのハードウェア構成は管理サーバ101及び物理サーバD108dと実質的に同様である。具体的には、物理サーバB108bは、メモリ501、プロセッサ502、ネットワークインターフェース503及びディスクインタフェース504を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。
図5Aは、物理サーバB108bの構成を模式的に示している。物理サーバB108bは計算機装置であり、そのハードウェア構成は管理サーバ101及び物理サーバD108dと実質的に同様である。具体的には、物理サーバB108bは、メモリ501、プロセッサ502、ネットワークインターフェース503及びディスクインタフェース504を有する計算機装置である。各構成要素は、バスにより通信可能に接続されている。
物理サーバB108bは、ネットワークインターフェース503において管理ネットワーク112aと接続し、ディスクインタフェース504においてデータネットワーク112bに接続する。
物理サーバB108bでは、仮想化制御プログラム120b上で、仮想サーバ110b、110cが動作している。仮想化制御プログラム120bは、物理サーバB108bの備えるメモリ501やプロセッサ502などの物理リソースを論理的に分割し、仮想サーバに割り当てることによって、物物理サーバB108bにおいて1つ以上の仮想サーバを実行するためのプログラムである。
仮想サーバ110b、110cは、それぞれ、仮想化制御プログラム120bによって実行されるプログラムである。仮想サーバ110b、110cは、仮想化制御プログラム120bに実行されることにより、1台の計算機装置であるかのように振る舞う。
仮想サーバ110b、110cは、OS及びアプリケーションプログラムなどのプログラム及び制御データ及びユーザなどを含む。図2Aに示す構成例において、仮想サーバ110b、110cは、それぞれ、OS[2]109b、OS[2]109cを含む。これらは同一種別のOSである。なお、仮想サーバ110b、110cが含むプログラム及びデータはシステム構成に依存する。
図5Aに示すように、仮想化制御プログラム120bは、複数のプログラムモジュールとテーブルを含む。具体的には、仮想イメージ制御部123b、ディスクイメージ解析部124b及びディスクイメージ受信部125bの各モジュールを含む。仮想イメージ制御部123bは、アドレス変換部402b及びマスタ・差分イメージ変換部403bの各モジュールを含む。仮想化制御プログラム120bは、さらに、仮想ディスクマッピングテーブル401bを備えている。仮想ディスクマッピングテーブル401及び仮想サーバ各プログラムの処理は後述する。
図5Aにおいて、ストレージ装置130は、ベーシックディスクB133b及ベーシックディスクC133cを格納している。これらは、それぞれ、仮想サーバB110b及び仮想サーバC110cに割り当てられている初期ボリュームである。仮想ディスクB111b、仮想ディスクC111cは、仮想サーバB110b及び仮想サーバC110cがアクセスするアドレス空間を定義する。アドレスは、ストレージ装置130に与えるアドレス(論理アドレス)である。
仮想ディスクB111bのアドレスはベーシックディスクB133bのアドレス(ストレージに与えるアドレス)に対応づけられ、仮想サーバB110bはベーシックディスクB133bのみにアクセスする。同様に、仮想ディスクC111cはベーシックディスクC133cのアドレス(ストレージに与えるアドレス)に対応づけられ、仮想サーバC110cはベーシックディスクC133cのみにアクセスする。
図5Bに示すように、本実施形態は、これらベーシックディスク133b、133cをマスタディスクと比較し、差分ディスクを作成する。図5Bにおいて、ストレージ装置130はマスタディスクD135を格納している。マスタディスクD135は、仮想サーバDのベーシックディスクから作成したマスタディスクである。
本計算機システムは、ベーシックディスク133b、133cそれぞれとマスタディスクD135とを比較し、差分ディスクB134b、差分ディスクC134cを作成する。仮想サーバ110b、110cは、ベーシックディスク133b、133cへのアクセスと同一のアドレスにより、マスタディスクD135及び差分ディスクB134b、差分ディスクC134cにアクセスすることができる。
つまり、仮想ディスクB111b、仮想ディスクC111c(のアドレス)は、それぞれ、マスタディスク135及び差分ディスクB134b(のアドレス)、マスタディスク135及び差分ディスクC134c(のアドレス)に対応付けられている。仮想サーバ110b、110cは、それぞれ、仮想ディスクB111b、仮想ディスクC111c(のアドレス)へのアクセスにより、マスタディスク135及び差分ディスクB134b、差分ディスクC134cにアクセスすることができる。このアドレス変換は仮想化制御プログラム120bが実行する。この点は図7を参照して後述する。
<物理サーバB108cの構成>
図6は、物理サーバC108cの構成を模式的に示している。物理サーバC108cは、メモリ601、プロセッサ602、ネットワークインターフェース603及びディスクインタフェース604を有する。物理サーバC108cのハードウェア及びソフトウェア構成は、図5Aに示す物理サーバB108bと略同様であり、重複する説明を省略する。物理サーバC108cにおいて、仮想サーバ110dが仮想化制御プログラム120c上で動作している。仮想化制御プログラム120cの機能(モジュール)は仮想化制御プログラム120bと同様であり、重複する説明を省略する。
図6は、物理サーバC108cの構成を模式的に示している。物理サーバC108cは、メモリ601、プロセッサ602、ネットワークインターフェース603及びディスクインタフェース604を有する。物理サーバC108cのハードウェア及びソフトウェア構成は、図5Aに示す物理サーバB108bと略同様であり、重複する説明を省略する。物理サーバC108cにおいて、仮想サーバ110dが仮想化制御プログラム120c上で動作している。仮想化制御プログラム120cの機能(モジュール)は仮想化制御プログラム120bと同様であり、重複する説明を省略する。
ストレージ装置130は、マスタディスクD135及び差分ディスクD134dを格納している。計算機システムは、好ましくは、稼働中の仮想ディスク(ベーシックディスク)からマスタディスクを作成すると、その仮想ディスクの差分ディスクを作成し、その後、その仮想サーバは、その差分ディスクに変更部分を記録する。
マスタディスクは変更が禁止されたボリュームであり、その内容は維持される。本計算機システムは、ベーシックディスクのコピー・ディスクを作成し、それをマスタディスクとして使用すると共に、そのベーシックディスクを使用し続けてもよい。しかし、ベーシックディスクからマスタディスクを作成し、さらに、その差分ディスクを作成することで、マスタディスク作成によるディスク実用量の増加を抑えることができる。
また、マスタディスクの作成は、ベーシックディスクのコピーを生成し、それをマスタディスクとして使用してもよいが、ベーシックディスクをそのままマスタディスクと使用することで処理を効率化することができる。図6の例においては、計算機システムは、仮想ディスクDのベーシックディスクDをマスタディスクD135と定義し、さらに、差分ディスクD134dを作成する。仮想サーバD110dは、マスタディスクD135及び差分ディスクD134dにアクセスし、差分ディスク134dが変更データを格納する。
効率的処理の点から、本計算機システムは、稼動いしてるベーシックディスクから、それと同一構成のマスタディスクを作成することが好ましい。具体的には、ベーシックディスク自体をマスタディスクとして登録する又はベーシックディスクをコピーして同一内容のディスクを作成する。
仮想ディスクの差分ディスクは、マスタディスクの作成後に新たに書き込まれたデータを格納する。設計によっては、ベーシックディスクの一部のみからマスタディスクを作成してもよい。なお、物理サーバ108aは、物理サーバ108b、108cと略同様の構成を有しており、説明を省略する。
<仮想ディスクアドレスマッピング>
図7は、マスタディスクD135及び差分ディスク134b、134cが格納するデータ(によって構成されるイメージ)へのアクセスにおける仮想ディスクマッピングを示す図である。仮想ディスクB111bの全論理ブロックは、OSイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。同様に、仮想ディスクCの全論理ブロック111cは、OSイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。
図7は、マスタディスクD135及び差分ディスク134b、134cが格納するデータ(によって構成されるイメージ)へのアクセスにおける仮想ディスクマッピングを示す図である。仮想ディスクB111bの全論理ブロックは、OSイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。同様に、仮想ディスクCの全論理ブロック111cは、OSイメージ部の論理ブロックとデータ部の論理ブロックとから構成されている。
仮想サーバ110b、110cは、それぞれ、仮想ディスクB、仮想ディスクCの論理ブロック111b、111cのアドレスにより、ストレージ装置130にアクセスする。論理ブロックは、仮想サーバ110b、110cのアクセス単位であり、アクセス可能なデータの最小サイズである。
OSイメージ部は、マスタディスク135との共通部分であり、マスタディスク135は、OSイメージ部と同一のデータを格納している。OSイメージ部は、OSの他、プログラム及びデータを含むことができる。データ部は、OSイメージ部以外のデータを格納している論理ブロックであり、マスタディスク135と共通化されていない部分である。データ部は、典型的にはユーザデータを含む、それに加えてプログラムを含むこともある。
仮想サーバ110b、110cからのアクセスにおいて、仮想化制御プログラム120bのアドレス変換部402bが、アドレス変換を行う。アドレス変換部402bは、仮想ディスクマッピングテーブル401bを使用する。アドレス変換部402bは、仮想サーバ110b、110cからアクセス先のアドレス(仮想ディスクB、仮想ディスクCにおける論理ブロックのアドレス)を受付け、そのアドレスをストレージ装置130におけるマスタディスクD135又は差分ディスク134b、134cのアドレス(物理ブロックのアドレス)に変換する。
具体的には、仮想ディスクB、仮想ディスクC111b、111cの各論理ブロックのアドレスは、差分ディスク134b、134cの作成前後で変化しない。仮想サーバ110b、110cは、ベーシックディスク133b、133cへのアクセスと同一のアドレスを使用する。
アドレス変換部402bは、仮想ディスクB111b、仮想ディスクC111cにおける論理ブロックのアドレスを仮想サーバ110b、110cから取得する。アドレス変換部402bは、仮想ディスクマッピングテーブル401bを参照して、取得したアドレスをマスタディスクD135又は差分ディスク134b、134cの物理ブロックのアドレスに変換する。物理ブロックはストレージ装置におけるブロックであり、物理ブロックのアドレスはストレージ装置130に送信される論理アドレスである。
本計算機システムは、差分ディスクをストレージ装置130においてそのベーシックディスクと全く異なる領域に作成してもよいし、ベーシックディスクの物理記憶領域を使用してもよい。この構成において、差分ディスク134b、134cにおける物理ブロックのアドレスは、ベーシックディスク133b、133cにおける同一の論理ブロックの対応物理ブロックアドレスと同一である。ベーシックディスク133b、133cにおいてマスタディスクD135と一致しない物理ブロックのデータは、差分ディスク134b、134cにおいても、同一の物理ブロックアドレスに格納される。
計算機システムは、マスタディスクの使用によりベーシックディスクにおいて空き領域となった部分を、新たな論理ブロックのアドレスと対応付けて、その差分ディスクに追加してもよいし、又は、他の仮想サーバに割り当ててもよい。
図8は、仮想ディスクマッピングテーブル401bの一例を示している。仮想ディスクマッピングテーブル401bは、仮想ディスク識別子のカラム804、マスタディスクのカラム1002、論理ブロック番号のカラム1003及び物理ブロックの論理アドレス(Logical Block Address:LBA)のカラム1004を含む。
図8は、仮想ディスクマッピングテーブル401bにおいて、仮想サーバB110bの仮想ディスクB及び仮想サーバC110cの仮想ディスクCのマッピングデータを示している。図8が示すように、マスタディスクのカラム1002は、仮想ディスク識別子で特定される仮想ディスクに関連付けられているマスタディスクの識別子を格納している。これらは、仮想サーバD110dのベーシックディスクD133dから作成されたマスタディスクD135に関連付けられている。
論理ブロック番号カラムは、識別子で特定されている仮想ディスクの論理ブロック番号である。本例において、仮想ディスクB、C及びDにおける論理ブロック番号は、同様の方法により付けられている。具体的には、先頭ブロックの番号を1として、その後、1ずつ論理ブロック番号は増加している。又、論理ブロックのサイズも同一である。
物理ブロックLBA1004は、論理ブロックに割り当てられている物理ブロックのLBAを格納している。物理ブロックLBA1004において、「−1」は識別子で特定されている仮想ディスクのブロックとマスタディスクのブロックとが同一であることを示している。「−1」以外の数字の論理ブロックは、マスタディスクに存在しておらず、独自の物理ブロックLBAが対応付けられている。これらは、差分ディスク134b、134cの物理ブロックLBAである。
アドレス変換部402bは、共通論理ブロックへのアクセスにおいて、仮想ディスクDのアドレス変換テーブル(不図示)をさらに参照して、マスタディスクの物理ブロックのLBAを算出する。差分ディスク134b、134cへのアクセスにおいて、アドレス変換部402bは、仮想サーバ110b、110cから取得した論理ブロック番号を、仮想ディスクマッピングテーブル401bに登録されている物理ブロックLBAに変換する。物理ブロックLBAは、コマンドと共にストレージ装置130に送られる。
詳細を図示していないが、物理サーバA108a、物理サーバC108cの仮想化制御プログラム120a、仮想化制御プログラム120cは、それぞれ、仮想化制御プログラム120bと同様に、仮想サーバA108a、仮想サーバD108dのための仮想ディスクマッピングテーブルを備え、それらを参照して、仮想サーバA108a、仮想サーバD108dから取得したアドレスの変換処理を実行する。
<新たなマスタディスクの登録>
上述のように、本実施形態の計算機システムは、稼動している仮想サーバに割り当てられているベーシックディスクからマスタディスクを作成し、さらに作成したマスタディスクを参照して、他の仮想サーバの差分ディスクを作成する。マスタディスク及び差分ディスクのアドレス情報は、図8を参照して説明した仮想ディスクマッピングテーブルに格納される。
上述のように、本実施形態の計算機システムは、稼動している仮想サーバに割り当てられているベーシックディスクからマスタディスクを作成し、さらに作成したマスタディスクを参照して、他の仮想サーバの差分ディスクを作成する。マスタディスク及び差分ディスクのアドレス情報は、図8を参照して説明した仮想ディスクマッピングテーブルに格納される。
以下において、仮想イメージ管理テーブル107への情報登録処理を、図9のフローチャートを参照して説明する。管理サーバ101がこの処理を実行する。管理サーバ101の構成については、図3を参照されたい。マスタディスクは仮想イメージ管理テーブル107に登録されており、図9の仮想ディスク容量削減処理は、マスタディスクの仮想イメージ管理テーブル107への登録を含む。図10は、仮想イメージ管理テーブル107の一例を示している。図10の仮想イメージ管理テーブル107については、図9のフローチャートの説明において説明する。
図9に示すように、管理サーバ101における仮想化機構管理部103は、ディスク実容量削減を望む仮想サーバの識別子を、その仮想サーバが動作している物理サーバのディスクイメージ解析部に送信する(S901)。以下において、仮想サーバD110dの仮想ディスDを例として処理を説明する。本処理の開始において、仮想サーバD110dの仮想ディスクDは、ベーシックディスク134dに対応付けられている。
図6に示すように、物理サーバC108cにおいて、仮想サーバD110dは、仮想化制御プログラムC120c上で動作している。仮想化制御プログラムC120cにおいて、ディスクイメージ解析部124cが動作している。仮想化機構管理部103は、このディスクイメージ解析部124cに、仮想サーバD110dの識別子を送信する。
ステップ901において、仮想化機構管理部103は、仮想サーバ管理テーブル106(図3を参照)を参照する。図11は、仮想サーバ管理テーブル106の一例を示している。仮想サーバ管理テーブル106は、仮想サーバ識別子801、仮想サーバのOS種別802、仮想化制御プログラム識別子803、仮想ディスク識別子804、物理サーバ識別子805、ディスクフォーマット806及びブロックサイズ807を格納している。システム管理者は、予めこのテーブルを作成しておく。仮想サーバ管理テーブル106は、これらのデータを互いに関連付ける。
仮想化機構管理部103は、管理者の入力コマンド又はプログラムからのコマンドに従って、ステップ901を実行する。コマンドが含む仮想サーバ識別子から、送信先の仮想化制御プログラム(ディスクイメージ解析部)及び物理サーバを特定することができる。物理サーバのアドレスは、物理サーバ管理テーブル105に格納されている。
次に、管理サーバ101におけるディスクイメージ解析結果取得部211は、仮想化制御プログラム120cから、ディスクイメージ解析部124cの解析結果を取得する(S902)。ディスクイメージ解析部124cの解析方法は図12を参照して、後述する。次に、ディスクイメージ情報管理部210は、マスタディスク判別処理を実行する(S903)。この処理は、図13を参照して後に説明する。
容量削減対象の仮想ディスクに対して規定の類似条件を満足するマスタディスクが、仮想イメージ管理テーブル107に登録されていない場合(S904におけるN)、処理はステップ921に進む。本例において、仮想ディスクDのマスタディスクは存在していないため、管理サーバ103はステップ921に進む。
登録されているマスタディスクの一つが、対象仮想ディスクに対して規定の類似条件を満たしている場合(S904におけるY)、管理サーバ101は、対象仮想サーバが動作している仮想化制御プログラムの仮想イメージ制御部に、対象仮想ディスクとマスタディスクの識別子を送信する(S911)。この点は、後述する。
ステップ921において、ディスクイメージ情報管理部210は、仮想イメージ管理テーブル107に、ステップ903で取得したハッシュ値を登録する。具体的には、仮想イメージ管理テーブル107の仮想化ディスク識別子804のカラムにおいて、処理対象の仮想化ディスクの識別子を特定し、そのレコードにおけるディスクハッシュ905のフィールドにハッシュ値を格納する。
後に説明するが、本構成において、解析結果は複数ブロックのハッシュ値からなるハッシュ値配列を含む。ディスクハッシュ905のフィールドは、この配列(値)を格納する。本例において、図10に示すように、仮想ディスクDのレコードには、ハッシュ値HUSH1が登録されている。
図10の仮想イメージ管理テーブル107の例は、仮想ディスクA〜仮想ディスクDの情報を格納している。マスタフラグ904は、仮想ディスクがマスタディスクとして登録されているか否かを示している。TRUEの仮想ディスク(本例において仮想ディスクDのみ)は、マスタディスクとして登録されている。また、マスタディスク907は、仮想ディスクに対するマスタディスクを格納している。図10の例においては、仮想ディスクB、仮想ディスクCのマスタディスクは、仮想ディスクDから作成したマスタディスクDである。仮想ディスクAは、ベーシックディスクであって、マスタ登録もなされておらず、対応マスタディスクも存在しない。
次に、ディスクイメージ情報管理部210は、仮想イメージ管理テーブル107において、対象仮想ディスクのレコードにおけるマスタフラグ904のフィールドに、「TRUE」を格納する(S922)。図10に示すように、本例においては、仮想ディスクDのレコードにおいて、マスタフラグの値は「TRUE」に設定されている。マスタフラグの値「TRUE」は、そのレコードの仮想ディスク(のベーシックディスク)から作成したマスタディスクが存在していることを示している。
このように、管理サーバ103は、仮想イメージ管理テーブル107に登録されているマスタディスクと指示された仮想ディスク(ベーシックディスク)とを比較し、類似するマスタディスクが登録されていない場合には、そのベーシックディスクから作成したマスタディスクを登録する。マスタディスクは、そのベーシックディスクそのもの、そのベーシックディスクの一部、又はそれらのコピーがありうる。
マスタディスクの選定のため、稼動している全ての仮想サーバの仮想ディスクを比較することも可能である。しかし、上述のように、対象仮想サーバのマスタディスクを、登録されているマスタディスクから選択することで、効率的な処理により対象仮想サーバのマスタディスクを決定することができる。
仮想サーバに関連付けられているマスタディスクを変更する処理は負荷が大きいため、好ましくは、一度設定された関係は維持される。上述のように、規定の類似条件を満足するマスタディスクが登録されていない場合に差分ディスクを作成しないことで、システム全体の容量削減の点から不適切な関係付けを避け、より適切にストレージ装置における実用量を低減することができる。
上記構成は、対象仮想サーバに対して適切なマスタディスクが登録されていない場合、その仮想サーバの仮想ディスク(から作成したディスク)をマスタディスクとして登録する。これにより、類似している他のベーシックディスクの実用量のその後の削減を図ることができる。特に、システムへの仮想サーバの追加に対して適切かつ容易に対応することができる。
<差分ディスクの作成指示>
図9のフローチャートにおいて、対象仮想ディスク(ベーシックディスク)とマスタディスクとが規定の類似条件を満たしていると(S904におけるY)、管理サーバ103は、ステップ911において、仮想イメージ制御部に仮想ディスク及びマスタディスクの識別子を送る。識別子を受信した仮想イメージ制御部は、差分ディスクを作成する。
図9のフローチャートにおいて、対象仮想ディスク(ベーシックディスク)とマスタディスクとが規定の類似条件を満たしていると(S904におけるY)、管理サーバ103は、ステップ911において、仮想イメージ制御部に仮想ディスク及びマスタディスクの識別子を送る。識別子を受信した仮想イメージ制御部は、差分ディスクを作成する。
以下において、仮想サーバB110bの差分ディスクB134bを作成する例を説明する。最初に、図9を参照して、管理サーバ103が、仮想ディスクBの実用量削減要求を行う処理の例を説明する。仮想サーバC110cについても同様の処理を行うことができる。
仮想化機構管理部103は、仮想サーバB110bの識別子を、物理サーバ108bのディスクイメージ解析部124bに送信する(S901)。次に、ディスクイメージ解析結果取得部211は、仮想化制御プログラム120bから、ディスクイメージ解析部124bの解析結果を取得する(S902)。ディスクイメージ解析部124bの解析方法は、図12を参照して、後述する。次に、ディスクイメージ情報管理部210は、マスタディスク判定処理を実行する(S903)。この処理は、図13を参照して後に説明する。
本例において、登録されているマスタディスクD135が、仮想ディスクBのマスタディスクの条件を満足している(S904におけるY)。管理サーバ101は、仮想サーバB110bが動作している仮想化制御プログラム120bの仮想イメージ制御部123bに、仮想ディスクBの識別子及びマスタディスクD135の識別子を、送信する(S911)。
<ディスクイメージ解析処理>
登録マスタディスクと仮想ディスク(ベーシックディスク)との比較は、ディスクイメージ解析部の解析結果を使用する。以下において、図12のフローチャートを参照して、ディスクイメージ解析部の処理を説明する。この処理は、容量削減要求の対象である仮想サーバを実行する仮想化制御プログラムのディスクイメージ解析部により実行される。上記仮想ディスクDの処理例(マスタディスク登録の例)においてはディスクイメージ解析部124cがこの処理を行い、仮想ディスクBの処理例(差分ディスク作成の例)においては、ディスクイメージ解析部124bがこの処理を実行する。
登録マスタディスクと仮想ディスク(ベーシックディスク)との比較は、ディスクイメージ解析部の解析結果を使用する。以下において、図12のフローチャートを参照して、ディスクイメージ解析部の処理を説明する。この処理は、容量削減要求の対象である仮想サーバを実行する仮想化制御プログラムのディスクイメージ解析部により実行される。上記仮想ディスクDの処理例(マスタディスク登録の例)においてはディスクイメージ解析部124cがこの処理を行い、仮想ディスクBの処理例(差分ディスク作成の例)においては、ディスクイメージ解析部124bがこの処理を実行する。
以下において、ディスクイメージ解析部124bの処理例を説明する。ディスクイメージ解析部124cの処理も同様である。図12に示すように、ディスクイメージ解析部124bは、対象仮想ディスクの読み取り位置(アドレス)を、先頭の論理ブロックにセットする(S1201)。
次に、ディスクイメージ解析部124bは、読み取り位置の論理ブロックアドレスに対応するベーシックディスク133bの物理ブロックアドレスをアドレス変換部402bから取得して、読み取り位置の物理ブロックから100ブロックを読み取る。ディスクイメージ解析部124bは、読み取った100ブロックのデータのハッシュ値を算出する(S1202)。処理効率の点から、好ましくは、100ブロックに対する算出ハッシュ値は1つであるが、異なる複数種類の方法により複数のハッシュ値を算出してもよい。
次に、ディスクイメージ解析部124bは、これまでに読み取ったブロックのデータ量が200MBよりも大きいか又は最終ブロックを読み取ったかを判定する(S1203)。読み取りブロックが200MB以下であり、最終ブロックが読み取られてもいない場合(S1203におけるN)、ディスクイメージ解析部124bは、読み取り位置を現在の位置から100論理ブロック先の位置にセットする(S1204)。さらに、ハッシュ値配列に、算出したハッシュ値を追加する(S1205)。その後、ディスクイメージ解析部124bは、ステップ1202を再実行する。
ステップ1203の判定において、読み取りブロックが200MBよりも大きい又は最終ブロックを読み取り済みの場合(S1203におけるY)、ディスクイメージ解析部124bは、ハッシュ値配列を管理サーバ103に送信する(S1206)。このハッシュ値配列が、ディスクイメージ解析部124bによる仮想ディスクBの解析結果である。
上記処理例は、ハッシュ値を100ブロックデータから算出するが、ハッシュ値算出のブロックサイズは、設計により適切な値に設定される。好ましくは、複数ブロックからなる単位でハッシュ値を算出する。これにより、効率的かつ適切に、類似比較を行うことができる。また、200MBのデータについてハッシュ値を算出するとディスク解析を終了するが、そのデータサイズも、設計により適切な値に設定される。好ましく、本構成例のように、ディスクイメージ解析部はボリューム内の一部のデータについてのみハッシュ値を算出して、処理を効率化する。
上述のように、典型的には、ディスクイメージ解析部は、先頭ブロックからの所定のブロック数について、ハッシュ値配列を計算する。一般的に、この領域はOSを格納しており、類似する他のボリュームと共通性が高いからである。設計によっては、異なる領域のハッシュ値配列を使用してもよい。
<マスタディスク判定処理>
図9を参照して説明したように、ディスクイメージ情報管理部210(管理サーバ)は、ディスクイメージ解析部(仮想化制御プログラム)の解析結果を使用して、マスタディスク判定処理(S904)を実行する。この処理は、対象仮想ディスクのマスタディスクとなりえるマスタディスクが、仮想イメージ管理テーブル107に登録されているかを判定する。以下において、図13のフローチャートを参照して、この処理を説明する。
図9を参照して説明したように、ディスクイメージ情報管理部210(管理サーバ)は、ディスクイメージ解析部(仮想化制御プログラム)の解析結果を使用して、マスタディスク判定処理(S904)を実行する。この処理は、対象仮想ディスクのマスタディスクとなりえるマスタディスクが、仮想イメージ管理テーブル107に登録されているかを判定する。以下において、図13のフローチャートを参照して、この処理を説明する。
まず、ディスクイメージ情報管理部210は、管理サーバ101内の仮想サーバ管理テーブル106における管理情報の中から、対象仮想ディスクの属性情報を取得する。ディスク属性情報は、具体的には、そのOS種別、ファイルフォーマット及びブロックサイズを含む。ディスクイメージ情報管理部210は、ディスクイメージ解析部から、その解析結果において、上記属性応報を取得してもよい。さらに、ディスクイメージ情報管理部210は、その対象ディスクの解析結果(図12のフローチャートを参照)であるハッシュ値配列を取得する(S1301)。
対象仮想ディスクは、上記マスタディスク登録の例においては仮想ディスクD、差分ディスク作成の例においては仮想ディスクBである。以下においては、仮想ディスクBのための判定処理の例を説明する。仮想ディスクDの判定処理も、それと同様である。
ディスクイメージ情報管理部210は、仮想イメージ管理テーブル107の最初のレコードを取得する(S1302)。読み出したレコードのマスタフラグのフィールドの値により、そのレコードがマスタディスクのレコードであるか判定する(S1303)。マスタフラグの値がFAULSEであり、そのレコードがマスタディスクのレコードではない場合(S1303におけるF)、ディスクイメージ情報管理部210は、現在のレコードが最後のレコードであるか判定する(S1304)。
現在レコードが最後のレコードの場合(S1304におけるY)、ディスクイメージ情報管理部210は、仮想ディスクBに対して適切なマスタディスクは存在していないと判定し(S1305)、処理を終了する。最後のレコードでなければ(S1304におけるN)、次のレコードを読み出して(S1306)、ステップ1303に戻る。
ステップ1302において、読み出したレコードのマスタフラグの値がTRUEであり、読み出したレコードがマスタディスクのレコードである場合、ディスクイメージ情報管理部210は、仮想ディスクBの属性情報と読み出したレコードのディスク属性情報とを比較する(S1307)。ディスク属性情報(の少なくとも一部)が一致していない場合(S1307におけるN)、処理はステップ1304に進む。
仮想ディスクBと現在レコードのディスク属性情報が一致する場合(S1307におけるY)、ディスクイメージ情報管理部210は、仮想ディスクBと現在レコードのハッシュ値配列を比較する(S1308)。この比較は、2つのハッシュ値配列において同一位置にあるハッシュ値を、順に、比較する。
ハッシュ値配列の一致度が規定値に達しる場合(S1308におけるY)、ディスクイメージ情報管理部210は、現在レコードのマスタディスクを、仮想ディスクBのマスタディスクと判定する(S1309)。ハッシュ配列の一致度が規定値未満である場合(S1308におけるN)、処理は、ステップ1304に進む。
一致度は、例えば、2つのハッシュ値配列の同一位置のハッシュ値からなるペアの全体数に対する、値が一致するハッシュ値ペアの数の比率を使用することができる。例えば、ハッシュ値配列のうち、80%以上のハッシュ値ペアの値が一致する場合、一致度が規定値に達していると判定する。
仮想ディスクBに対して適切なマスタディスクが仮想イメージ管理テーブル107に登録されていない場合、図9を参照して説明したように、管理サーバ101は、仮想ディスクBをマスタディスクとして仮想イメージ管理テーブル107に登録する。
本例においては、仮想ディスクBにとって適切なマスタディスクとして、仮想ディスクDが登録されている。仮想ディスクDのマスタディスクD135は、仮想ディスクBに対する上記規定類似条件を満足している。つまり、同一のディスク属性情報を有し、さらに、そのハッシュ値配列と仮想ディスクBのハッシュ値配列との一致度が、規定値に達している。
本構成例において、ディスクイメージ情報管理部210は、仮想ディスクBとマスタディスクのハッシュ値配列におけるハッシュ値を順次比較し、一致するハッシュ値の数が規定値に達している場合、それらの一致度が基準を満足していると判定する。条件となる一致するハッシュ値の数は、設計により適切な値に設定される。
ハッシュ値配列の比較は、相応の処理時間を必要とする。対象仮想ディスクとマスタディスクのディスク属性情報を比較し、それらが一致しない場合には、ハッシュ値配列の比較をすることなく、そのマスタディスクが適切なマスタディスクではないと判定することで、マスタディスク判定処理を効率的に行うことができる。
比較判定のためディスク属性情報は、設計により適切な情報を含む。本構成のように、好ましくは、OS種別、ファイルフォーマット及びブロックサイズを含む。特に、OS種別及びファイルフォーマットを含むことが好ましい。これらが異なるディスクは、ほとんどの場合、類似性が低いからである。
上記構成は、ハッシュ値を規定数のブロックから算出している。従って、ブロックサイズが異なるディスク間では、ハッシュ値を算出するデータのサイズが異なる。設計によっては、ディスク解析部は、異なるブロックサイズのディスクに対して共通サイズのデータからハッシュ値を算出してもよい。
例えば、図11に示す例においては、ディスク解析部は、仮想ディスクBについて50データブロック毎にハッシュ値を算出し、仮想ディスクAについて、100データブロック毎にハッシュ値を算出する。この構成は、ブロックサイズは比較判定のためのディスク属性情報から除いてよい。
上記構成例は、対象仮想ディスクとマスタディスクとを順次比較し、比較対象のマスタディスクが条件を満足すると、それを対象仮想ディスクのマスタディスクと判定する。これと異なり、ディスクイメージ情報管理部210は、登録されている全てのマスタディスクと対象仮想ディスクとを比較してもよい。マスタディスク選定の条件を満足するマスタディスクにおいて、ハッシュ値配列の一致度が最も高いマスタディスクを、対象仮想ディスクのマスタディスクとして選択する。
<差分ディスク作成処理>
上記図13を参照して説明した処理は、対象仮想ディスクのマスタディスクを決定した。次に、決定したマスタディスクと対象仮想ディスク(ベーシックディスク)とから、差分ディスクを作成する処理を説明する。図14のフローチャートは、この処理のフローチャートである。対象仮想サーバの仮想化制御プログラムがこの処理を実行する。以下においては、仮想サーバB110bの仮想化管理プログラム120bを例としてこの処理を説明する。
上記図13を参照して説明した処理は、対象仮想ディスクのマスタディスクを決定した。次に、決定したマスタディスクと対象仮想ディスク(ベーシックディスク)とから、差分ディスクを作成する処理を説明する。図14のフローチャートは、この処理のフローチャートである。対象仮想サーバの仮想化制御プログラムがこの処理を実行する。以下においては、仮想サーバB110bの仮想化管理プログラム120bを例としてこの処理を説明する。
図14に示すように、仮想化管理プログラム120bのマスタ・差分イメージ変換部403b(図5Aを参照)は、マスタディスクの識別子、本例において仮想ディスクDのマスタディスクD135を示す識別子と、対象の仮想ディスクB(ベーシックディスク)の識別子とを、管理サーバ101から受信する(S1401)。
次に、マスタ・差分イメージ変換部403bは、マスタディスクの読み取り位置を、マスタディスクの先頭ブロックにセットする(S1402)。さらに、仮想ディスクBの読み取り位置を、仮想ディスクBの先頭ブロックにセットする(S1403)。次に、マスタ・差分イメージ変換部403bは、仮想ディスクBの差分ディスクBを作成する(S1404)。この差分ディスクBは、データをまだ格納していないディスク領域である。
次に、マスタ・差分イメージ変換部403bは、マスタディスクの読み取り位置のブロックと仮想ディスクBの読み取り位置のブロックとを比較する(S1405)。二つのブロックのデータが一致する場合(S1406におけるY)、マスタ・差分イメージ変換部403bは、仮想ディスクマッピングテーブル401bにおいて、差分ディスクBのそのブロックのレコードに、一致フラグ「−1」をセットする(S1407)。
二つのブロックのデータが一致しない場合(S1406におけるN)、マスタ・差分イメージ変換部403bは、仮想ディスクマッピングテーブル401bに物理ブロックのLBAをセットする。さらに、マスタ・差分イメージ変換部403bは、そのLBAにベーシックディスクBの読み取り位置のブロック(データ)をコピーする(S1408)。
読み取ったブロックが最終ブロックである場合(S1409におけるY)、本処理は終了する。最終ブロックでない場合(S1409におけるN)、マスタ・差分イメージ変換部403bは、マスタディスクD135の読み取り入りを次のブロックにセットし(S1410)、さらに、対象ディスクDの読み取り位置を次のブロックにセットする(S1411)。その後、処理はステップ1405に戻る。
本処理により、マスタディスクと対象のベーシックディスクとから、同一アドレスのデータブロックを順次取得し、それらを比較することで、ベーシックディスクにおいてマスタディスクと共通の(同一内容の)データブロックと、マスタディスクとは異なるデータブロックとを特定することができる。
本処理は、対象のベーシックディスクにおいてマスタディスクと異なるデータブロックからなる差分データを格納する差分ディスクを作成し、その後の仮想サーバによるアクセスのためアドレス変換データを仮想ディスクマッピングテーブルに格納する。これにより、仮想サーバは、以前と同様のアドレスにより、差分ディスク及びマスタディスクにアクセスすることができる。仮想ディスクマッピングテーブル及びそれによりアドレス変換については、図7、図8及びそれらの説明を参照されたい。
上記処理は、マスタディスクと対象ディスクのブロックデータ自体を比較する。これにより、ブロックデータの一致/不一致を確実に判定することができる。設計によっては、マスタ・差分イメージ変換部403bは、ブロックデータのハッシュ値を使用してブロックデータの一致/不一致を判定してもよい。マスタ・差分イメージ変換部403bは、取得したブロックのそれぞれからハッシュ値を算出し、それらを比較する。一致する場合には、2つのブロックデータは同一であると判定する。
異なるブロックデータを同一であると判定することを避けるために、各ブロックデータから複数のハッシュ値を算出することが好ましい。異なる計算方法による異なる種類のハッシュ値を算出する。ディスク間の類似性の比較よりもブロックデータ一致の判定の正確性を求められるため、そのハッシュ値の種類の数は、類似性判定におけるハッシュ値の種類よりも多いことが好ましい。処理効率と正確な判定の点からは、類似判定において一つのハッシュ値のみを使用し、差分ディスクへの格納ブロックの特定において2種類のハッシュ値を比較することが好ましい。
上記処理は、差分ディスクに格納するデータを、ベーシックディスクからコピーし、ベーシックディスク内の物理領域とは異なる領域に格納する。設計によっては、差分ディスクの領域がベーシックディスクの領域を含み、差分データのブロックは、ベーシックディスク内の同一領域にとどまっていてもよい。2つのボリュームのブロックサイズが異なる場合、大きなサイズのブロックデータと小さいサイズの複数のブロックデータとを比較すればよい。
<物理サーバから仮想サーバへの移行>
以下において。物理サーバの環境を仮想環境に移行する処理(P2V)を説明する。具体的には、本実施形態は、物理サーバのデータ(ボリューム)を仮想環境に移すとき、適切なマスタディスクが存在する場合には、移行するボリュームとマスタディスクとを比較して、新たな差分ディスクを作成する。これにより、仮想環境への移行後の差分ディスク作成処理を省略することができる。さらに、本実施形態は、好ましい方法として、差分ディスクに格納するデータのみを新たな物理サーバに移動する。これにより、仮想環境への移行処理を効率的に行うことができる。
以下において。物理サーバの環境を仮想環境に移行する処理(P2V)を説明する。具体的には、本実施形態は、物理サーバのデータ(ボリューム)を仮想環境に移すとき、適切なマスタディスクが存在する場合には、移行するボリュームとマスタディスクとを比較して、新たな差分ディスクを作成する。これにより、仮想環境への移行後の差分ディスク作成処理を省略することができる。さらに、本実施形態は、好ましい方法として、差分ディスクに格納するデータのみを新たな物理サーバに移動する。これにより、仮想環境への移行処理を効率的に行うことができる。
本処理は、マスタディスクの存在の有無の判定並びに差分ディスクの作成及びその差分ディスクへのデータの格納の処理を含む。図15を参照して、マスタディスクの判定を含む処理を説明する。図15の処理は、図9の処理に対応している。以下においては、物理サーバDのボリュームのデータを、物理サーバBのボリュームに移す処理を例として説明する。
最初に、管理サーバ101における物理サーバ管理部102は、物理サーバ108dの物理サーバ管理部126(図4を参照)に、ディスクイメージ解析を指示する(S1501)。物理サーバ管理部126からの指示により、物理サーバ108dにおけるディスクイメージ解析部122は、ディスクイメージ解析を実行する。解析方法は、図12を参照して説明した方法と同様である。物理サーバ管理部126は、この解析結果を管理サーバ101に送る。管理サーバ101のディスクイメージ解析取得部211は、その解析結果を取得する(S1502)。
管理サーバ101のディスクイメージ情報管理部210は、マスタディスク判定処理を実行する(S1504)。この処理は、図13のフローチャートにおける処理と同様である。適切なマスタディスクが存在している場合(S1505におけるY)、管理サーバ101は、物理サーバ108dの物理サーバ管理部126と移行先の仮想化制御プログラム120bにマスタディスクの識別子と移行処理の指令を送る(S1506)
適切なマスタディスクが存在していない場合(S1505におけるN)、物理サーバ108dの物理サーバ管理部126と移行先の仮想化制御プログラム120bに、差分ディスクを作成いない(差分化しない)通常の移行処理の指令を送る(S1507)。さらに、ディスクイメージ譲歩管理部210は、仮想イメージ管理テーブル107に、新たな仮想ディスクの識別子を含むレコードを登録する。このレコードにおいて、マスタフラグはTRUEにセットされる(S1508)。
次に、図16のフローチャートを参照して、差分ディスクの作成を含む処理を説明する。物理サーバB108bのマスタ・差分イメージ変換部403bは、管理サーバ101からマスタディスクの識別子を取得する(S1601)。次に、マスタ・差分イメージ変換部403bは、マスタディスクの読み取り位置を先頭ブロックにセットする(S1602)。次に、マスタ・差分イメージ変換部403bは、差分ディスクを作成する(S1603)。
次に、マスタ・差分イメージ変換部403bは、物理サーバ108dの物理サーバ管理部126から、最初のブロックの2つハッシュ値を取得する(S1604)。ハッシュ値は、ディスクイメージ解析部122が算出する。ディスクイメージ解析部122は、異なる2つの計算方法を使用して、2つのハッシュ値を算出する。
マスタ・差分イメージ変換部403bは、マスタブロックの読み取り位置のブロックの2つのハッシュ値(ハッシュ値ペア)を取得する(S1605)。ハッシュ値は、ディスクイメージ解析部124bが算出する。算出方法は、ディスクイメージ解析部122のそれと同じである。テーブルにハッシュ値配列にハッシュ値が登録されていれば、その値を使用してもよい。
マスタ・差分イメージ変換部403bは、2つのブロックデータのハッシュ値ペアを比較する(S1606)。ハッシュ値ペアが同一である場合(S1606におけるY)、つまり、異なる算出方法のハッシュ値のそれぞれが同一である場合、マスタ・差分イメージ変換部403bは、2つのブロックのデータが一致していると判定する。いずれか一方の種類の2つのハッシュ値が一致しない場合(S1606におけるN)、2つのブロックのデータが一致していないと判定する。
2つのブロックデータのハッシュ値ペアが一致している場合(S1606におけるY)、マスタ・差分イメージ変換部403bは、マッピングテーブルにおいて、そのブロックのレコードの物理ブロックLBAのフィールドに一致フラグ「−1」をセットする(S1607)。マスタ・差分イメージ変換部403bは、現在のブロックが最後のブロックであるか判定し(S1608)、最後のブロックであれば(S1608におけるY)処理を終了する。
最後のブロックでなければ(S1608におけるN)、マスタ・差分イメージ変換部403bは、マスタディスクの読み取り位置を次のブロックにセットし(S1609)、さらに、物理サーバD108dから次のブロックデータのハッシュ値ペアを取得する(S1610)。その後、マスタ・差分イメージ変換部403bはステップ1605移行のステップを実行する。
ステップ1606において、2つのブロックのデータが不一致の場合(S1606におけるN)、マスタ・差分イメージ変換部403bは、ディスクイメージ受信部125aに、ブロックデータの受信を指示する。
ディスクイメージ受信部125aは、物理サーバ108dのディスクイメージ送信部に指令を送り、ディスクイメージ送信部から該当のブロックデータを受信する。マスタ・差分イメージ変換部403bは、仮想サーバマッピングテーブル401bに、そのブロックデータの物理ブロックLBAを書き込み、さらに、差分ディスクにおけるそのアドレスに受信したブロックデータを書き込む(S1611)。処理は、その後、ステップ1608に進む。
本処理は、物理環境から仮想環境への移行において、差分ディスクを作成し、マスタディスクと対象ディスクと間の差分データを格納する。従って、移行後のストレージ実容量を低減することができる。さらに、好ましい方法として、ボリュームデータにおいて、マスタディスクと異なるブロックデータを選択的に移すので、移行処理を効率的に行うことができる。設計によっては、マスタ・差分イメージ変換部は、移行元のボリュームからブロックデータを順次取得し、マスタディスクの同一ブロックのブロックデータと比較してもよい。
上記処理は、ブロックデータの比較において、2つのハッシュ値を使用する。ブロックデータの比較をより正確に行うため、複数種類のハッシュ値を使用することが好ましい。使用するハッシュ値の演算方法の数は、設計により適切な値を選択する。設計によっては、1つのハッシュ値のみで同一性を判定してもよい。
差分ディスクへのデータ格納におけるブロックデータの一致判定は、ディスク間の類似性判定におけるデータ一致性判定よりも正確性が求められる。従って、そのハッシュ値の種類の数は、類似性判定におけるハッシュ値の種類よりも多いことが好ましい。処理効率と正確な判定の点からは、類似判定において1つのハッシュ値のみを使用し、差分ディスクへの格納ブロックの特定において2種類のハッシュ値を比較することが好ましい。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。例えば、プログラムの一部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、非一時的な計算機読み取り可能な記憶媒体によって各計算機にインストールすることができ、各計算機の非一時的記憶媒体を備える記憶装置に格納することができる。
本実施形態における各処理は、上記各主体が実行することが好ましいが、物理サーバが実行する処理の一部を管理サーバが実行する、又は、管理サーバが実行する処理の一部を管理サーバが実装してもよい。本実施形態において、稼動している仮想サーバのボリュームからマスタボリュームを作成することが好ましいが、稼動している仮想サーバとは別に用意されたマスタボリュームを参照して、稼動している仮想サーバのボリュームから差分ボリュームを作成してもよい。
上述のように、差分ディスクを作成するマスタディスクとベーシックディスクとは同一の物理サーバに割り当てられていてもよいし、異なる物理サーバに割り当てられていてもよい。ストレージ装置は、1つ又は複数のストレージサブシステムから構成することができる。上記構成例において、ストレージ装置はディスク装置にデータを格納するが、ストレージ装置はディスク装置とは異なるデータ記憶媒体にデータを格納することができる。
本発明は、仮想サーバを実行する物理サーバとその仮想サーバのボリュームを提供するストレージ装置とを含む計算機システムにおいて利用することができる。
Claims (10)
- 管理装置と、ストレージ装置と、物理サーバとを備える計算機システムであって、
前記管理装置は、稼動している第1の仮想サーバに対して前記ストレージ装置が提供する第1のボリュームから作成されたマスタボリュームを登録し、
前記物理サーバ上で稼動している第2の仮想サーバに対して前記ストレージ装置が提供する第2のボリュームが前記マスタボリュームに対して規定の類似条件を満足している場合に、前記ストレージ装置は、前記マスタボリュームと前記第2の仮想サーバのボリュームとの差分のデータを格納する差分ボリュームを作成し、
前記第2の仮想サーバは、前記差分ボリュームと前記マスタボリュームとにアクセスし、
前記類似条件は、前記第2のボリュームのハッシュ値配列と前記マスタボリュームのハッシュ値配列との間において、一致するハッシュ値の数が規定値に達していることを含み、
前記第2のボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる規定サイズのデータから算出され、前記マスタボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる前記規定サイズのデータから算出され、
前記管理装置は、前記類似条件の判定において、前記第2のボリュームの規定の属性情報と前記マスタボリュームの規定の属性情報とが一致する場合に、前記ハッシュ値配列についての判定を行う、計算機システム。 - 前記第1のボリュームから作成した前記マスタボリュームの前記登録は、前記第1のボリュームに対して前記類似条件を満たすマスタボリュームが登録されていないことを条件とする、請求項1に記載の計算機システム。
- 前記ストレージ装置は、前記第1の仮想サーバの差分ボリュームを作成し、前記マスタボリューム作成後の前記第1の仮想サーバの更新データを前記差分ボリュームに書き込む、請求項2に記載の計算機システム。
- 前記マスタボリュームは、前記第1のボリュームであり、
前記ストレージ装置は、前記第1の仮想サーバの差分ボリュームを作成し、前記マスタボリューム作成後の前記第1の仮想サーバの更新データを、前記仮想サーバの指示に従って前記差分ボリュームに書き込む、請求項1に記載の計算機システム。 - 前記第2の仮想サーバの仮想化制御プログラムが動作している前記物理サーバへの他の物理サーバからのOSを含むサーバプログラムの移行において、前記サーバプログラムに割り当てられている第3のボリュームが前記マスタボリュームに対して前記類似条件を満足している場合、
前記物理サーバは、前記ストレージ装置に、前記マスタボリュームと前記第3のボリュームとの差分のデータを格納する第2の差分ボリュームを作成し、
前記他の物理サーバは、前記第2の差分ボリュームに格納する差分データを選択的に、前記第3のボリュームから前記物理サーバに送信する、請求項1に記載の計算機システム。 - 前記類似条件の判定において、前記第3のボリューム及び前記マスタボリュームのデータから算出したハッシュ値が使用され、
前記差分データは、前記第3のボリューム及び前記マスタボリュームのハッシュ値を使用して特定され、
前記差分データの特定において同一データから算出されるハッシュ値の数は、前記類似条件の判定において同一データから算出されるハッシュ値の数よりも多い、請求項5に記載の計算機システム。 - 管理装置と、仮想化制御プログラム及ぶ前記仮想化プログラム上で動作する仮想サーバを実行する物理サーバと、前記仮想サーバにボリュームを提供するストレージ装置と、を備える計算機システムにおいて、前記仮想サーバにボリュームを割り当てる方法であって、
前記管理装置が、稼動している第1の仮想サーバに対して前記ストレージ装置が提供する第1のボリュームから作成されたマスタボリュームをテーブルに登録し、
前記管理装置が、第2の仮想サーバに対して前記ストレージ装置が提供する第2のボリュームと前記テーブルに登録されている前記マスタボリュームと間の規定の類似条件について判定し、
前記管理装置が、前記類似条件が満たされている場合に、前記マスタボリュームと前記第2の仮想サーバのボリュームとの差分データを格納すると共に前記マスタボリュームと共に前記第2の仮想サーバにアクセスされる差分ボリューム、を作成することを決定し、
前記類似条件は、前記第2のボリュームのハッシュ値配列と前記マスタボリュームのハッシュ値配列との間において、一致するハッシュ値の数が規定値に達していることを含み、
前記第2のボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる規定サイズのデータから算出され、前記マスタボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる前記規定サイズのデータから算出され、
前記管理装置が、前記類似条件の判定において、前記第2のボリュームの規定の属性情報と前記マスタボリュームの規定の属性情報とが一致する場合に、前記ハッシュ値配列についての判定を行う、方法。 - 前記マスタボリュームの前記テーブルへの登録は、前記テーブルに前記マスタボリュームと前記類似条件を満足する登録マスタボリュームが存在しないことを条件とする、請求項7に記載の方法。
- 管理装置と、仮想化制御プログラム及ぶ前記仮想化プログラム上で動作する仮想サーバを実行する物理サーバと、前記仮想サーバにボリュームを提供するストレージ装置と、を備えるシステムに処理を実行させるプログラムを格納する計算機読み取り可能な記憶媒体であって、前記処理において、
前記管理装置は、稼動している第1の仮想サーバに対して前記ストレージ装置が提供する第1のボリュームから作成されたマスタボリュームをテーブルに登録し、
前記管理装置は、第2の仮想サーバに対して前記ストレージ装置が提供する第2のボリュームと前記テーブルに登録されている前記マスタボリュームと間の規定の類似条件について判定し、
前記管理装置は、前記類似条件が満たされている場合に、前記マスタボリュームと前記第2の仮想サーバのボリュームとの差分データを格納すると共に前記マスタボリュームと共に前記第2の仮想サーバにアクセスされる差分ボリューム、を作成することを決定し、
前記類似条件は、前記第2のボリュームのハッシュ値配列と前記マスタボリュームのハッシュ値配列との間において、一致するハッシュ値の数が規定値に達していることを含み、
前記第2のボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる規定サイズのデータから算出され、前記マスタボリュームのハッシュ値配列のハッシュ値のそれぞれは、1又は複数のブロックデータからなる前記規定サイズのデータから算出され、
前記管理装置は、前記類似条件の判定において、前記第2のボリュームの規定の属性情報と前記マスタボリュームの規定の属性情報とが一致する場合に、前記ハッシュ値配列についての判定を行う、計算機読み取り可能な記憶媒体。 - 前記第1のボリュームから作成した前記マスタボリュームの前記登録は、前記第1のボリュームに対して前記類似条件を満たすマスタボリュームが登録されていないことを条件とする、請求項9に記載の計算機読み取り可能な記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/069861 WO2012063315A1 (ja) | 2010-11-08 | 2010-11-08 | 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012063315A1 JPWO2012063315A1 (ja) | 2014-05-12 |
JP5547814B2 true JP5547814B2 (ja) | 2014-07-16 |
Family
ID=46050497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012542739A Expired - Fee Related JP5547814B2 (ja) | 2010-11-08 | 2010-11-08 | 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130247039A1 (ja) |
JP (1) | JP5547814B2 (ja) |
WO (1) | WO2012063315A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201108118D0 (en) * | 2011-05-13 | 2011-06-29 | Waterleaf Ltd | System for playing multiplayer games |
JP6089855B2 (ja) * | 2013-03-26 | 2017-03-08 | 日本電気株式会社 | 仮想化システム、仮想サーバ、ファイル書き込み方法、及びファイル書き込みプログラム |
JP6291933B2 (ja) * | 2014-03-17 | 2018-03-14 | 日本電気株式会社 | ディスク管理装置、ディスク管理プログラムならびにディスク管理方法 |
EP3195112A4 (en) * | 2014-09-18 | 2018-06-27 | Intel Corporation | Supporting multiple operating system environments in computing device without contents conversion |
FR3029729A1 (fr) * | 2014-12-04 | 2016-06-10 | Orange | Procede de gestion de contenus dans un reseau de distribution de contenus |
WO2018016007A1 (ja) * | 2016-07-19 | 2018-01-25 | 株式会社日立製作所 | 計算機システム及び計算機の提供方法 |
US11372565B2 (en) * | 2020-10-27 | 2022-06-28 | EMC IP Holding Company LLC | Facilitating data reduction using weighted similarity digest |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066265A (ja) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機装置及び仮想マシン提供方法 |
WO2007110951A1 (ja) * | 2006-03-29 | 2007-10-04 | The Bank Of Tokyo-Mitsubishi Ufj, Ltd. | ユーザ確認装置、方法及びプログラム |
JP2008257444A (ja) * | 2007-04-04 | 2008-10-23 | Nec Corp | 類似ファイル管理装置、その方法及びそのプログラム |
WO2009153917A1 (ja) * | 2008-06-18 | 2009-12-23 | 富士通株式会社 | 仮想計算機システム、仮想計算機システムを提供する情報処理装置およびプログラム |
JP2010231661A (ja) * | 2009-03-27 | 2010-10-14 | Nec Corp | 仮想マシンシステム、仮想マシンシステムの動作方法、及び仮想マシンシステムの動作プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US8479194B2 (en) * | 2007-04-25 | 2013-07-02 | Microsoft Corporation | Virtual machine migration |
-
2010
- 2010-11-08 US US13/825,708 patent/US20130247039A1/en not_active Abandoned
- 2010-11-08 JP JP2012542739A patent/JP5547814B2/ja not_active Expired - Fee Related
- 2010-11-08 WO PCT/JP2010/069861 patent/WO2012063315A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066265A (ja) * | 2005-09-02 | 2007-03-15 | Hitachi Ltd | 計算機装置及び仮想マシン提供方法 |
WO2007110951A1 (ja) * | 2006-03-29 | 2007-10-04 | The Bank Of Tokyo-Mitsubishi Ufj, Ltd. | ユーザ確認装置、方法及びプログラム |
JP2008257444A (ja) * | 2007-04-04 | 2008-10-23 | Nec Corp | 類似ファイル管理装置、その方法及びそのプログラム |
WO2009153917A1 (ja) * | 2008-06-18 | 2009-12-23 | 富士通株式会社 | 仮想計算機システム、仮想計算機システムを提供する情報処理装置およびプログラム |
JP2010231661A (ja) * | 2009-03-27 | 2010-10-14 | Nec Corp | 仮想マシンシステム、仮想マシンシステムの動作方法、及び仮想マシンシステムの動作プログラム |
Non-Patent Citations (5)
Title |
---|
CSND200701199001; '台頭するデータ重複排除技術 新技術を実装するバックアップ・ソフト' OPEN Enterprise magazine 第5巻,第10号, 20071001, pp.32-39, 株式会社ソキウス・ジャパン * |
CSNG200600575025; 松本 隆明: '送受信データ間の相関に基づく未知ワーム検知を利用した蔓延防止手法の提案' 情報処理学会論文誌 第47巻 第6号, 20060615, p.1941-1953, 社団法人情報処理学会 * |
JPN6008061900; '台頭するデータ重複排除技術 新技術を実装するバックアップ・ソフト' OPEN Enterprise magazine 第5巻,第10号, 20071001, pp.32-39, 株式会社ソキウス・ジャパン * |
JPN6011001670; C. P. Sapuntzakis et al.: 'Optimizing the Migration of Virtual Computers' Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI'02) , 2002, pp.377-390 * |
JPN6014018914; 松本 隆明: '送受信データ間の相関に基づく未知ワーム検知を利用した蔓延防止手法の提案' 情報処理学会論文誌 第47巻 第6号, 20060615, p.1941-1953, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
WO2012063315A1 (ja) | 2012-05-18 |
JPWO2012063315A1 (ja) | 2014-05-12 |
US20130247039A1 (en) | 2013-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11853780B2 (en) | Architecture for managing I/O and storage for a virtualization environment | |
US10613786B2 (en) | Heterogeneous disk to apply service level agreement levels | |
JP5547814B2 (ja) | 計算機システム、仮想サーバへのボリューム割り当て方法及び計算機読み取り可能な記憶媒体 | |
US9038066B2 (en) | In-place snapshots of a virtual disk configured with sparse extent | |
US9652265B1 (en) | Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types | |
JP5749803B2 (ja) | 情報記憶システム及びストレージシステム管理方法 | |
US10031703B1 (en) | Extent-based tiering for virtual storage using full LUNs | |
JP7050034B2 (ja) | ストレージシステム及びノード管理方法 | |
JP5314772B2 (ja) | 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法 | |
US9116913B2 (en) | File storage system and file cloning method | |
US8463981B2 (en) | Storage apparatus having deduplication unit | |
JP2022095781A (ja) | データベーステナントマイグレーションのシステム及び方法 | |
US9256382B2 (en) | Interface for management of data movement in a thin provisioned storage system | |
US8806126B2 (en) | Storage apparatus, storage system, and data migration method | |
WO2021098267A1 (zh) | 一种磁盘处理的方法、系统、设备及可读存储介质 | |
JP2013531283A (ja) | ストレージの仮想化機能と容量の仮想化機能との両方を有する複数のストレージ装置を含んだストレージシステム | |
US9582214B2 (en) | Data access method and data access apparatus for managing initialization of storage areas | |
JP5248912B2 (ja) | サーバ計算機、計算機システムおよびファイル管理方法 | |
WO2012164627A1 (en) | Information storage system, snapshot acquisition method, and data storage medium | |
US10936243B2 (en) | Storage system and data transfer control method | |
JP2020052919A (ja) | ストレージ装置、管理方法及びプログラム | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
JP2019124983A (ja) | ストレージシステム及び記憶制御方法 | |
JP6019169B2 (ja) | 情報記憶システム | |
JP6643524B2 (ja) | ストレージシステム及び記憶制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140515 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5547814 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |