[go: up one dir, main page]

JP4438457B2 - 記憶領域割当方法、システム及び仮想化装置 - Google Patents

記憶領域割当方法、システム及び仮想化装置 Download PDF

Info

Publication number
JP4438457B2
JP4438457B2 JP2004063392A JP2004063392A JP4438457B2 JP 4438457 B2 JP4438457 B2 JP 4438457B2 JP 2004063392 A JP2004063392 A JP 2004063392A JP 2004063392 A JP2004063392 A JP 2004063392A JP 4438457 B2 JP4438457 B2 JP 4438457B2
Authority
JP
Japan
Prior art keywords
virtual volume
area
control unit
real area
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.)
Expired - Fee Related
Application number
JP2004063392A
Other languages
English (en)
Other versions
JP2005011316A (ja
Inventor
一 芹沢
眞司 森田
直子 岩見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004063392A priority Critical patent/JP4438457B2/ja
Priority to US10/825,158 priority patent/US7213124B2/en
Publication of JP2005011316A publication Critical patent/JP2005011316A/ja
Priority to US11/312,393 priority patent/US7257694B2/en
Priority to US11/819,775 priority patent/US7484071B2/en
Application granted granted Critical
Publication of JP4438457B2 publication Critical patent/JP4438457B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、記憶装置システムが有する記憶領域の計算機への割り当て技術に関する。
複数の記憶装置システムが有する複数の記憶領域をまとめて、一つの記憶領域として計算機にアクセスさせるスイッチが特許文献1に開示されている。特許文献1によれば、スイッチは複数の記憶装置システムとホストとに接続されている。スイッチはホストから、複数の記憶装置システムが有する複数の記憶領域(論理ユニット)から構成される統合論理ユニットに対するアクセス要求を受信する。そしてスイッチは、受信したアクセス要求を、アクセス対象のデータが格納されている論理ユニットに対するアクセス要求に変換して、この論理ユニットを有する記憶装置システムに変換後のアクセス要求を送信する。
一方、計算機に割り当てられている論理的な記憶領域が拡大された場合に、記憶領域の拡大を計算機側で認識するためのソフトウェア技術は、非特許文献1に開示されている。
特開2000−242434号公報 "エルヴイエム ハウツゥ9.9(LVM HOWTO9.9)"、[online]、リナックスオンライン(Linux online)、[平成16年2月10日検索]、インターネット<URL:http://www.linux.org/docs/ldp/howto/LVM-HOWTO/x592.html>
計算機に割り当てられている記憶領域のサイズを拡大する場合、非特許文献1に示すように、計算機が記憶領域のサイズの拡大を認識するためのソフトウェアが必要となる。従って、記憶装置システムに計算機を接続して、計算機が記憶装置システム内の記憶領域にアクセスしてこの記憶領域に格納されたデータを使用するシステムにおいて、計算機に割り当てられた(即ち、計算機からアクセス可能な)記憶領域のサイズを変更する場合には、計算機にこのソフトウェアをインストールしておく必要がある。
しかし、記憶装置システムに複数の計算機が接続されている場合には、複数の計算機全てにこのソフトウェアを追加する必要があり、また複数の計算機の種類が各々異なる場合には計算機の種類に応じたソフトウェアをインストールする必要がある。さらに、計算機で使用されるオペレーティングシステムがバージョンアップした場合に、それに追随して、対応するソフトウェアを更新する必要がある。従って、計算機に記憶領域のサイズの拡大を認識させるためにソフトウェアをインストールしておくのは、管理負荷が大きく、コストも高くなる。
ところで、計算機に割り当てられている記憶領域のサイズが拡大されるのは、計算機が扱うデータ量が増大し、当初割り当てられていた記憶領域では記憶容量が足りなくなってしまうからである。従って最初から大きなサイズの記憶領域を計算機に割り当てておけば、記憶容量の不足は起こらず、途中で計算機に割り当てられている記憶領域のサイズを拡大する必要もないので、計算機に上述の様なソフトウェアをインストールしておく必要もない。しかしそうすると、計算機がそれほど大量のデータを使わない場合には、計算機に割り当てられた記憶領域に未使用領域が発生して記憶領域に無駄が生じる。
そこで、計算機に対して効率的に記憶領域を割当てることが可能なシステムを開示する。
システムは、計算機に接続される仮想化装置と、仮想化装置に接続される複数の記憶装置とを有する。仮想化装置は、計算機からの要求に応じて、計算機に所定の大きさの仮想ボリュームを割り当てた旨の通知を発行する。計算機から仮想ボリュームに対するアクセス要求を受信した際に仮想化装置は、複数の記憶装置内に存在する記憶領域を仮想ボリュームに割り当て、計算機から受信したアクセス要求を、仮想ボリュームに割り当てた記憶領域を有する記憶装置宛てのアクセス要求に変換して、この記憶装置に変換後のアクセス要求を送信する。
本発明によれば、効率的に計算機に記憶領域を割当てることができる。
以下、本発明の実施形態を、図面を用いて説明する。尚、本発明は以下に説明する実施形態に限定されるものではない。
図1は、本発明を適用したシステムの、第一の実施形態の構成例を示す図である。
システムは、少なくとも1台のホストプロセッサ12、少なくとも1台のストレージ装置13、仮想化スイッチ11及び管理コンソール14を有する。
ホストプロセッサ12は、ストレージ装置13に格納されたデータを使用する計算機である。ホストプロセッサ12は、仮想化スイッチ11が提供する記憶領域を仮想化スイッチ11に接続されていない他の計算機に提供する機能を有するファイルサーバでも良い。
ストレージ装置13は記憶装置又は記憶装置システムである。ここで、記憶装置とは、ハードディスクドライブやDVDドライブ等の単体の記憶装置を指し、記憶装置システムとは、制御部及び制御部に接続された一又は複数のハードディスクドライブ等のディスク装置を有し、制御部が各ディスク装置への入出力を制御するストレージサブシステムを指すものとする。尚記憶装置システムは、複数のハードディスクドライブがRAID構成を有しているディスクアレイシステムであっても良い。
ストレージ装置13は、少なくとも1つの論理ユニット(以下「LU」と呼ぶ。)131を有する。LU131は、ストレージ装置13が有する物理的な記憶領域から構成されている論理的な記憶領域である。LU131は、ホストプロセッサ12などストレージ装置13に接続される装置には、論理的に独立した1つのストレージ装置として認識される。
また、LU131は、複数の部分的な論理的記憶領域(以下「実領域」と呼ぶ。)132から構成される。実領域132の各々も、ストレージ装置13が有する物理的な記憶領域に対応する。実領域132のサイズは任意であり、実領域132は、連続したアドレスをもつ領域である。
仮想化スイッチ11は、図示するように通信線やスイッチによって他の装置(ホストプロセッサ12、管理コンソール14、若しくはストレージ装置13)と接続されており、他の装置と通信することができる装置である。また、仮想化スイッチ11は、仮想化スイッチ11に接続されている一つ又は複数のストレージ装置13が有する一又は複数の記憶領域をまとめて一の記憶領域として管理する(一又は複数のストレージ装置が有する一又は複数の記憶領域をまとめて、一の記憶領域として管理することを、「仮想化する」と称する)仮想化装置である。そして仮想化スイッチ11は、仮想化された記憶領域に対するアクセス要求をホストプロセッサ12から受け付けると、この仮想化された記憶領域に対応するストレージ装置13内の記憶領域を特定し、受信したアクセス要求を特定された記憶領域に対するアクセスアクセス要求に変換して、変換後のアクセス要求をストレージ装置13に送信する(仮想化された記憶領域に対するアクセス要求を受領して、これに対応するストレージ装置13内の記憶領域へのアクセス要求をストレージ装置13に送信することにより、仮想化された記憶領域に対するアクセス要求を処理することを、「仮想化された記憶領域を提供する」と呼ぶ)。
仮想化スイッチ11とホストプロセッサ12との間、および仮想化スイッチ11とストレージ装置13との間で使用される通信線やスイッチでは、ファイバチャネル等のプロトコルが使用される。ただし、使用される通信線やプロトコルはローカルエリアネットワーク等で使用される通信線やプロトコルでも良い。
仮想化スイッチ11は、ホストプロセッサ12とストレージ装置13との間に接続され、ホストプロセッサ12が発行するコマンドをストレージ装置13側に転送する機能を有する。また、仮想化スイッチ11がホストプロセッサ12に対して提供する仮想的な記憶領域(即ち仮想化スイッチによって仮想化された記憶領域)を以下仮想ボリューム100と称する。
仮想ボリューム100は、仮想化スイッチ11によって、少なくとも1つの実領域132と対応づけられる。仮想化スイッチ11は、複数の仮想ボリューム100をホストプロセッサ12等に提供することが出来る。仮想ボリューム100の各々には、仮想ボリュームを特定するための仮想化スイッチ11内で一意の識別子(以下「仮想ボリューム識別子」)が与えられている。また、個々の仮想ボリューム100の記憶領域には連続したアドレス(以下仮想アドレスとも呼ぶ)が付されている。ホストプロセッサ12は、ストレージ装置13のLU131内の実領域132を直接指定する代わりに、仮想ボリューム識別子及び仮想ボリューム100内の場所を示す仮想アドレスを指定してアクセス要求を発行する。仮想化スイッチは、仮想ボリューム識別子及び仮想アドレスから、これに対応するLU131内の実領域132を特定し、特定された実領域132へのアクセス要求を発行する。従って、ホストプロセッサ12は、仮想ボリューム識別子と仮想ボリューム100内の記憶領域を示す仮想アドレスを用いて、ストレージ装置13の実領域132に格納されたデータを利用できる。
管理コンソール14は、仮想ボリューム100を作成(設定)するためにシステム管理者によって使用される計算機であり、表示装置と入力装置を備える。管理コンソール14は、仮想化スイッチ11とネットワークを介して接続されている。
図2は、仮想化スイッチ11の内部構成例を示す図である。
仮想化スイッチ11は、入力ポート240、出力ポート250、転送部230、制御部210及び記憶部220を有する。
入力ポート240は、仮想化スイッチ11がホストプロセッサ12と通信するための通信線と接続されるポートである。出力ポート250は、仮想化スイッチ11がストレージ装置13と通信するための通信線と接続されるポートである。尚、入力ポート240及び出力ポート250を構成する装置は同一であっても良い。この場合、どのポートを入力ポートあるいは出力ポートとして使用するかは、使用者が選択する。仮想スイッチ11は入力ポート240及び出力ポート250を各々一若しくは複数有する。
転送部230はメモリを有し、そのメモリに転送情報テーブル231を保持する。転送情報テーブル231には、入力ポート240と該入力ポート240を介して仮想化スイッチ11と通信可能なホストプロセッサ12との間の対応関係、及び出力ポート250と該出力ポート250を介して仮想化スイッチ11と通信可能なストレージ装置13との間の対応関係についての情報が格納される。
転送部230は、転送情報テーブル231を参照し、入力ポート240がホストプロセッサ12から受信した入出力要求を、要求先のストレージ装置13と仮想化スイッチ11との間の通信に使用される出力ポート250へ転送する。また、転送部230は、出力ポート250がストレージ装置13から受信した応答情報やデータを、データ等を受信すべきホストプロセッサ12と仮想化スイッチ11の間の通信に使用される入力ポート240へ転送する。ただし、ホストプロセッサ12から受け取った入出力要求が仮想ボリューム100に対する入出力要求である場合には、後述のアクセス変換プログラム212を制御部210が実行した結果選択されるストレージ装置13へ、入出力要求を送信すべく、転送部230は、このストレージ装置13との間の通信に使用される出力ポート250に入出力要求を転送する。
制御部210はプロセッサ及びメモリを有し、そのメモリに仮想ボリューム定義プログラム211、アクセス変換プログラム212及び割当処理プログラム213の各プログラムが格納される。これらのプログラムは、制御部210のプロセッサで実行される。
記憶部220は、仮想ボリューム管理テーブル221、実領域管理テーブル222及びアクセス変換テーブル224を記憶する。
アクセス変換テーブル224は、仮想化スイッチ11がホストプロセッサ12に提供する仮想ボリューム100ごとに存在する。アクセス変換テーブル224は、一又は複数のエントリ331と、対応する仮想ボリューム100の仮想ボリューム識別子を登録するエントリ332とを保持する。個々のエントリ331には、仮想ボリューム100内の記憶領域を示す仮想アドレス範囲と、その仮想アドレス範囲に対応する実領域132が属するLU131を指定する識別子であるLUアドレスと、当該実領域132のLU131内における位置を示すLU内アドレスとが対応付けられて登録される。即ちアクセス変換テーブル224は、仮想ボリューム100内の記憶領域を指定するための仮想アドレスと、ストレージ装置13内の記憶領域を指定するためのアドレスとの対応情報を保持している。
なお、仮想ボリューム100内に実領域132が割当てられていない記憶領域が存在する場合、当該記憶領域に対応するエントリ331には、当該記憶領域の仮想アドレス範囲と、LUアドレスとして実領域132が割当てられていないことを示す「−1」、LU内アドレスとして同じく実領域132が割り当てられていないことを示す「−1」が登録される。アクセス変換テーブル224は、仮想ボリューム100の記憶領域の構成が変更されたとき、即ち仮想ボリューム100内の記憶領域に対応づけられている実領域132に変更があったとき、制御部210によって更新される。 制御部210は、アクセス変換プログラム212を実行し、アクセス変換テーブル224を参照して、ホストプロセッサ12から受け取った仮想ボリューム100に対する入出力要求を、対応するストレージ装置13が有するLU131への入出力要求に変換する。また、制御部210は変換後の入出力要求のターゲットであるLU131を有する記憶装置13を転送部230に通知する。従って、転送部230は転送情報テーブル231を参照して、通知された記憶装置13と接続されている出力ポート250に、変換後の入出力要求を転送することになる。
尚、ホストプロセッサから受信した入出力要求によって指定される仮想ボリューム100内の記憶領域に対応するLU131が存在しない場合(即ち、当該仮想ボリューム100内の記憶領域に対して未だ実領域が割り当てられておらず、アクセス変換テーブル224のエントリ331に、LUアドレス及びLU内アドレスとして「-1」が登録されている場合)、制御部210は、仮想ボリューム定義プログラム211を実行して、仮想ボリューム100の定義変更処理を実行する。
性能向上のために、仮想化スイッチ11は、アクセス変換テーブル224およびアクセス変換プログラム212を各入力ポート240ごとに有していても良い。 実領域管理テーブル222は、LU131ごとに存在する。実領域管理テーブル222は、LU131に含まれる実領域132を管理するために使用されるテーブルである。各実領域管理テーブル222には、ストレージ装置ID321、LUアドレス322及び実領域リスト324が格納される。
ストレージ装置ID321は、LU131を保持するストレージ装置13を示す識別子である。LUアドレス322は、当該LU131の識別子である。
実領域リスト324は、少なくとも1つのエントリ325を有する。各エントリ325は、LU131を構成する個々の実領域132に対応して設けられ、実領域ID、実領域のサイズ及び仮想ボリューム識別子の情報を登録する項目を有する。実領域IDはエントリ325に対応する実領域132を特定するための識別子、サイズは実領域132のサイズである。またエントリ325に登録される仮想ボリューム識別子は、実領域132が割当てられている仮想ボリューム100を識別するための仮想ボリューム識別子である。実領域リスト324内のエントリ325は、実領域132のアドレス順に配列されている。
なお、本実施形態では、実領域132のサイズは固定であると仮定するため、エントリ325に実領域132のサイズを登録する項目を含めなくても良い。また、未使用である実領域132については、エントリ325の仮想ボリューム識別子を登録する項目には、未使用であることを示すnullが登録される。
このように、実領域管理テーブル222は、LU131に属する各実領域132が仮想ボリューム100として利用されているか否かを示す情報を保持しており、仮想化スイッチ11が仮想化ボリューム100に新たに割当てる実領域132を選択する際に使用される。
尚、実領域管理テーブル222は、仮想化スイッチ11にストレージ装置13が接続された時等のタイミングで、管理端末14を介した管理者の指示に基づいて作成される。さらに、この際LU131とそれを構成する実領域132の記憶容量等が決定される。尚、実領域管理テーブル222が作成された時点では、全てのエントリ325について、実領域IDには仮想化スイッチ11内で一意に決定される識別子が書き込まれ、仮想ボリューム識別子にはnullが設定される。
仮想ボリューム管理テーブル221は、仮想ボリューム100ごとに存在する。各仮想ボリューム管理テーブル221には、識別子エントリ311及び実領域リスト315が格納される。識別子エントリ311には、仮想ボリューム管理テーブル221に対応する仮想ボリューム100の仮想ボリューム識別子が登録される。実領域リスト315は、仮想ボリューム管理テーブル221に対応する仮想ボリューム100にどの実領域132が割当てられているかを示すリストである。実領域リスト315内では、仮想ボリューム100上の仮想アドレス順に対応する実領域132のエントリ317が並んでおり、各エントリ317には仮想アドレスに対応する実領域132の実領域IDが格納されている。当該仮想ボリューム100のうち、実領域132が割当てられていない記憶領域に相当するエントリ317には、有効な実領域ID317の代わりに空きを示すnull値が格納される。
このように、仮想ボリューム管理テーブル221は、仮想ボリューム100の記憶領域がどの実領域132と対応付けられているかを示す情報を保持しており、仮想化スイッチ11が解放可能な実領域132を選択する際に使用される。
以下、本実施形態における仮想化スイッチ11が行う記憶領域の割当て処理について説明する。
制御部210は、仮想ボリューム定義プログラム211を実行することで、仮想ボリューム100の定義を作成または変更する。制御部210は、管理コンソール14を介してシステム管理者から仮想ボリューム100の作成要求を受け取ると、仮想ボリューム定義プログラム211を実行して、仮想ボリューム管理テーブル221及びアクセス変換テーブル224を新規作成する。この場合、制御部210は、既に作成された他の仮想ボリューム100と重複しない仮想ボリューム識別子を生成して、これを仮想ボリューム管理テーブル221の識別子エントリ311に格納し、実領域リスト315内の各エントリ317に空の値(null値)を設定することで実領域リスト315を初期化する。このように、仮想ボリューム100の生成直後は、仮想ボリューム100に実領域132が対応付けられない。従って、このとき制御部210は、新規作成された仮想ボリューム管理テーブル221によって定義される仮想ボリューム100に対応するアクセス変換テーブル224についても、エントリ332には当該仮想ボリューム100の仮想ボリューム識別子を登録するが、エントリ331のLUアドレス及びLU内アドレスには空の値(「−1」)を登録し、アクセス変換テーブル224を初期設定する。
このようにアクセスボリューム管理テーブル221とアクセス変換テーブル224が初期設定されていれば、ホストプロセッサ12が仮想化スイッチ11に接続されて仮想化スイッチ11に記憶領域を検出するためのコマンドを発行した際には、仮想化スイッチ11の制御部210は所定の大きさの仮想ボリューム100がホストプロセッサ12からアクセス可能であることを示す情報を通知する。この制御部210がホストプロセッサ12に通知する情報には、仮想ボリューム識別子と仮想ボリュームのサイズ(所定のサイズ)が含まれる。しかし、その仮想ボリューム100にはストレージ装置13が有する論理的な記憶領域である実領域132は実際には割当てられていない状態となる。仮想化スイッチ11は、その後、ホストプロセッサ12等からデータの書き込み要求を受信したタイミングで、仮想ボリューム100に実領域132を割当てる。この結果、実際に計算機が記憶装置にアクセス要求を発行した際にこの計算機に対して実領域132を割り当てることができるので、予め容量に余裕を持って計算機に実領域132を割り当てておく必要がなく、計算機に割当てる記憶領域の無駄を省くことが出来る。
実領域132を仮想ボリューム100に割当てる際には、制御部210は、ホストプロセッサ12のデータ書き込み要求等の要求に従い、仮想ボリューム管理テーブル221を変更する。この場合、制御部210は、仮想ボリューム100に実領域132を割当てた後、アクセス変換テーブル224を更新する。尚、実際には、入力ポート240から受信した入出力要求の宛先が仮想ボリューム100であった場合に、転送部230は、その入出力要求を制御部210に転送する。制御部210は、転送された入出力要求について、図3に示す以下の処理を実行する。また、図3の処理終了後、制御部210は変換した入出力要求の要求先の情報を転送部230に送信し、転送部230はその情報に基づいて入出力要求を各ストレージ装置13に転送する。
図3は、制御部210がホストプロセッサ12から入出力要求を受け取った際に行う処理の一例を示すフローチャートである。
まず、制御部210は、ホストプロセッサ12から受け取った仮想ボリューム100に対する入出力要求が書き込み要求であるかどうかを判断する(ステップ2001)。
ホストプロセッサ12からの入出力要求が書き込み要求である場合、制御部210は、書き込み要求で指定された仮想ボリューム100の仮想アドレスに実領域132が対応付けられているかどうかを、アクセス変換テーブル224で確認する(ステップ2002)。
指定された仮想ボリューム100の仮想アドレスに対応する実領域132がアクセス変換テーブル224に登録されていない場合(即ち入出力要求中に含まれる仮想ボリューム識別子と仮想アドレスに対応する、アクセス変換テーブル224のエントリ331にLUアドレス及びLU内アドレスとして「−1」が登録されている場合)、制御部210は、仮想ボリューム定義プログラム211を実行して仮想ボリューム100の定義変更処理を行う。
具体的には、制御部210は、入出力要求中で指定された仮想ボリュームの仮想アドレス範囲に実領域132を割当てる。このために、制御部210はまず実領域管理テーブル222を検索して、未使用の実領域132(即ち、実領域管理テーブル222のエントリ325に仮想ボリューム識別子としてnull値が登録されている実領域132)を探し出す。そして制御部210は、探し出した未使用の実領域132を、入出力要求で指定された仮想ボリューム100の仮想アドレスに対応する記憶領域に割当てる。即ち制御部は、実領域管理テーブル222のうち、当該未使用の実領域132に対応するエントリ325に、入出力要求中に含まれる仮想ボリューム識別子を登録し、入出力要求中に含まれる仮想ボリューム識別子に対応する仮想ボリューム管理テーブル221のエントリ315に、探し出された未使用の実領域132の実領域IDを登録する。更に制御部は、アクセス変換テーブル224のうち、入出力要求中に含まれる仮想ボリューム識別子及び仮想アドレスに対応するエントリ331に、探し出された未使用の実領域132のLUアドレス及びLU内アドレスを登録する。
尚、検索された未使用の実領域132の記憶容量が、入出力要求中で指定される仮想ボリューム100の仮想アドレス領域に対して不足する場合、制御部210は更に空きの(未使用の)実領域132を検索し、仮想アドレス領域に充当するまで検索を行う(ステップ2006)。
ステップ2006の処理の後、若しくはステップ2002で入出力要求中で指定された仮想ボリュームの仮想アドレスに対応する実領域132が登録されていると判断された場合、若しくはステップ2001で書き込み要求ではないと判断された場合は、制御部210は、アクセス変換テーブル224を参照して、ホストプロセッサ12から受け取った仮想ボリューム100の仮想アドレスに対する入出力要求を、対応するストレージ装置13のLU131の実領域132への入出力要求に変換して(ステップ2009)、処理を完了する。
尚、制御部210は、変換後の入出力要求を転送部230へ渡し、転送部230は変換後の入出力要求のあて先であるストレージ装置13に基づいて、転送情報テーブル231を参照し、この記憶装置13に変換後の入出力要求を、出力ポート250を介して送信する。
このように図3のステップ2006の処理によって、仮想ボリューム100へデータが書き込まれる際に、データが書き込まれる仮想ボリューム上の記憶領域に対応する実領域132を仮想ボリューム100に実際に割当てることができる。従って、計算機は初期設定当初から大きな容量を有する記憶領域(仮想ボリューム)が割り当てられていると認識しているが、実際には計算機が必要とする容量の実領域132を割り当てておけばよく、効率的な記憶領域の割当てが可能である。
次に、本発明の第二の実施形態を説明する。
第一の実施形態では、仮想ボリュームに対して実領域132が割り当てられた後、その実領域132に格納されたデータが使用されなくなる場合についての考慮がされていない。そこで、第二の実施形態では、第一の実施形態に加え、使用されなくなった実領域132の仮想ボリューム100への割当てを止める(以下「解放する」と呼ぶ)ことを考慮する。
本実施形態においては、第一の実施形態の構成に加え、制御部210のメモリには、デフラグ処理プログラム214が格納されている。制御部210は、システム管理者からのデフラグ処理開始指示を管理コンソール14を通して受け取り、デフラグ処理プログラム214を実行して、仮想ボリューム100に格納されたファイル等のデータを再配置する。
具体的には、制御部210は、ストレージ装置13に格納されたファイルシステムの管理情報(ファイルシステムに格納されている各ファイルのデータ部が、仮想ボリューム100上のどこに配置されているかを示す仮想アドレスのリストの集合)を読み取って、読み出したファイルシステムの管理情報に基づいて、実領域132に格納されたデータがなるべく仮想ボリューム内の連続した記憶領域に格納されるよう、データを実領域132内の空きの領域にコピーし、管理情報に格納されている仮想アドレスをコピー元を示す値からコピー先を示す値へ書き換えることにより配置を変更する。なお、この再配置処理によるデータ破壊を防止するために、本実施形態ではシステム管理者は該仮想ボリューム100を使用するファイルシステムを、デフラグ処理開始指示の前にアンマウントしておく必要がある。
その後、制御部210は、仮想ボリューム100内の記憶領域のうち、実領域132の割当てが不要になった記憶領域の仮想アドレス範囲を特定し、特定された仮想アドレス範囲に対応する実領域132を解放する(即ち、ファイルシステムの管理情報から、全てのファイルについて、そのデータ部が格納されている仮想ボリューム100上の記憶領域がわかるので、それらの記憶領域以外でかつ管理情報自身が格納されている仮想ボリューム100上の記憶領域以外の、仮想ボリューム100上の記憶領域に割当てられている実領域132を検索し、検索により特定された実領域132を解放する)。この際制御部210は、当該仮想ボリューム100についての仮想ボリューム管理テーブル221のうち、解放される実領域132の実領域IDが登録されているエントリ317にnull値を登録し、更に制御部210は、当該仮想ボリューム100に関するアクセス変換テーブル224のうち、解放される実領域132のLU131内での位置を示すLU内アドレスが登録されているエントリ331に、LUアドレス及びLU内アドレスとして「−1」を登録する。また制御部は、実領域管理テーブル222も更新し、解放される実領域132の実領域IDが登録されているエントリ325の仮想ボリューム識別子としてnull値を登録する。
図4は、第二の実施形態において、仮想ボリュームへの割当てが不要となり解放可能となった実領域132を特定する処理の概念を示す図である。
図4は仮想ボリューム100におけるファイルの配置及び仮想ボリューム100と実領域132との対応関係を例示しており、図4(1)は制御部210のデフラグ処理プログラム214が実行される前の例を、図4(2)はデフラグ処理プログラム214が実行された後の例を示す。
図4(1)において、仮想ボリューム100の図示された範囲の記憶領域には、3個のファイル(ファイルA、ファイルB、ファイルC)が格納されており、ファイルAのデータは仮想ボリューム100内の記憶領域501a1及び記憶領域501a2に分割されて格納されており、ファイルBのデータは記憶領域501bに、ファイルCのデータは記憶領域501cに格納されている。一方、仮想ボリューム100の図示された範囲の記憶領域には、2個の実領域132(実領域132−1と実領域132−2)が対応付けられている。
ここで制御部210はデフラグ処理プログラム214を実行して、ファイルA、ファイルB、ファイルCが、仮想ボリューム100内の連続する記憶領域にアドレス順に格納されるよう、これらのファイルを再配置する。
その結果、再配置処理後は、図4(2)のように、仮想ボリューム100の記憶領域中左(左の方がアドレスが小さいと仮定する)から順に、ファイルAのデータが記憶領域501a1及び記憶領域501a2に、ファイルBのデータが記憶領域501bに、ファイルCのデータが記憶領域501cに連続して配置される。すると、記憶領域501cの後ろにはまとまった空き領域が出現する。この仮想ボリューム上での空き領域には実領域132を割当てておく必要がない。従って図4(2)の例では、仮想ボリューム上の空き領域に対応する実領域132−2は解放することが出来る。
制御部210は、デフラグ処理プログラム214の実行後に出現した仮想ボリューム上の空き領域に対応する実領域132を、仮想ボリューム管理テーブル221から検索する。つまり制御部210は、仮想ボリューム管理テーブル211を検索して、空き領域の仮想アドレス範囲に対応する実領域を見つけ出す。そして見つかった実領域132を制御部210は解放する。具体的には、制御部210は解放する実領域132の実領域IDを仮想ボリューム管理テーブル221から削除してこの実領域IDが登録されていたエントリ317にnull値を登録し、実領域管理テーブル222内で解放される実領域132と対応付けられていた仮想ボリューム識別子を削除してこの仮想ボリューム識別子が登録されていたエントリ325にnull値を設定する。更に制御部210は、アクセス変換テーブル224に登録されている、解放される実領域132が属するLU131の識別情報(LUアドレス)とこのLU131内での解放される実領域132の位置情報(LU内アドレス)情報を削除して代わりに「-1」を設定する。
次に、本発明の第三の実施形態を説明する。
第一の実施形態では、仮想ボリューム100に割当てられる実領域132のサイズは固定であった。しかし、所定の処理、例えばフォーマット処理に基づくデータの書き込み要求では、比較的記憶領域の使用量が小さい書き込み処理が発生する。この場合にも他の実施形態と同様に仮想ボリューム100に固定サイズの実領域132を割当てると、割当てた記憶領域に無駄が発生する。そこで、本実施形態では、処理内容に見合ったサイズの実領域132を仮想ボリューム100に割当てる。
本実施形態は第一の実施形態の構成に加え、制御部210のメモリにフォーマット処理プログラム215が格納されている。また、仮想ボリューム管理テーブル221のエントリ317に、対応する実領域132のサイズを示す情報が含まれる。また、実領域管理テーブル222のエントリ325に含まれる実領域132のサイズは、本実施形態では第一の実施形態と異なり省略されない。仮想ボリューム管理テーブル221のエントリ317及び実領域管理テーブル222のエントリ325にサイズを含めるのは、上述したように、実領域132のサイズを可変長として、割当効率を上げるためである。
制御部210は、フォーマット処理プログラム215を実行することで、ホストプロセッサ12に代わり、仮想ボリューム100を使用するファイルシステムを初期化、即ちファイルシステム上のファイル及びディレクトリを全て消去し、新規にファイル及びディレクトリを作成可能な状態にする。このとき、制御部210は仮想ボリューム100に、メタデータと呼ぶ管理データを書き込むための入出力要求を自分自身に対して発行する。なお、制御部210は、この入出力要求の送信元アドレス(具体的にはFibreChannelのPortID)に制御部210自身を示す特別な値、具体的には0xFFFF00を含める。このとき書き込まれるメタデータのサイズはそれほど大きくないが、メタデータは仮想ボリューム100の記憶領域に一定の間隔に書き込まれるため、仮想ボリューム100のサイズが大きい場合は1つの仮想ボリュームに多数のメタデータが一定の記憶領域間隔で書き込まれる。従ってメタデータが仮想ボリュームに書き込まれるたびにメタデータサイズより大きな実領域132を当該仮想ボリュームに割り当てていると、仮想ボリュームに割り当てられた実領域132内にはデータが書き込まれていない未使用領域が発生し、実領域132の割当効率が低下する。実領域132のサイズを可変長とするのは、この割当効率の低下を防ぐためである。
尚、フォーマット処理プログラム215は、管理者等の管理端末14を介した指示に基づき、あるいはホストプロセッサ12からの指示に基づき実行される。
図5は、第三の実施形態において、ホストプロセッサ12から入出力要求を受信した場合、又は制御部210自身が入出力要求を生成した場合の、制御部210の処理の一例を示すフローチャートである。
本処理手順には、第一の実施形態の図3で示した処理手順に加え、入出力要求がフォーマット処理に基づく入出力要求かどうかを判断する処理(ステップ2003)、及びフォーマット処理に基づく入出力要求である場合に、仮想ボリューム100に割当てる実領域132のサイズを変更する処理(ステップ2004)が含まれる。尚、その他のステップの処理は第一の実施形態と同様であるので、ここでは説明しない。
制御部210は、処理対象の入出力要求が書き込み要求であって(ステップ2001でYの場合)、入出力要求で指定された仮想ボリューム100の仮想アドレスに対応する実領域132がアクセス変換テーブル224に登録されていない場合(ステップ2002でNの場合)、その入出力要求がフォーマット処理に基づく入出力要求か否かを判別する。
具体的には、制御部210は、入出力要求がフォーマット処理プログラム215の実行により制御部210自身によって生成されたものである場合(入出力要求の送信元アドレスが制御部210自身を示す値(0xFFFF00)である場合)はフォーマット処理に基づく入出力要求であると判断し、それ以外、即ちホストプロセッサ12から受信した入出力要求である場合はフォーマット処理に基づく入出力要求ではないと判断する(ステップ2003)。
処理対象の入出力要求が、フォーマット処理に基づく入出力要求であった場合には、制御部210は、仮想ボリューム100に割当てる実領域132のサイズを、他のデータ書き込み処理の際に仮想ボリューム100に対して割当てる実領域132のサイズの1/32と指定する。この除数はシステム管理者が任意に定めることができる。また制御部210は、フォーマット処理に基づく入出力要求があった際に仮想ボリューム100に割り当てる実領域132のサイズを直接指定しても良い。
さらに、制御部210は図3に示すステップ2006と同様に実領域管理テーブル222から未使用の実領域132を検索する。その際、指定された大きさの空き実領域132がない場合は、制御部210はそれより大きな実領域132を2個に分割する処理を、指定された大きさの未使用実領域132が生成されるまで繰り返す。制御部210は、指定されたサイズの未使用の実領域132が見つかったら、その実領域132を仮想ボリュームに割当て、図3のステップ2006で説明したのと同様の方法でアクセス変換テーブル224、実領域管理テーブル222及び仮想ボリューム管理テーブル221を更新する。
図6は、第三の実施形態における、フォーマット処理の概要を示す図である。
図6は仮想ボリューム100のメタデータの配置及び実領域132との対応を示しており、図6(1)は実領域132のサイズが固定されていると仮定した場合、図6(2)は実領域132のサイズが可変である場合を示す。
図6(1)及び図6(2)では共に、仮想ボリューム100に対して2つのメタデータ502が書き込まれている。
図6(1)では実領域132のサイズは固定されているので、フォーマット処理が実行された際、制御部210は、第一のメタデータを書き込むために実領域132−1を、第二のメタデータを書き込むために実領域132−2を、各々仮想ボリュームに割り当てる必要がある。図6(1)に示すように、メタデータ502のサイズが、実領域132のサイズより小さい場合には、仮想ボリューム100に割り当てられた実領域内に、実際にはデータが書き込まれない空き領域が発生し、記憶領域の効率的な使用の妨げとなる。
一方図6(2)では実領域132のサイズは1つには限られず可変であるので、フォーマット処理が実行された際、第一のメタデータを書き込むためには図6(1)の実領域よりサイズの小さい実領域132−1を、第2のメタデータを書き込むためには同じくサイズの小さい実領域132−2が仮想ボリューム100に割り当てられる。そして、仮想ボリューム100の他の部分については、実際にホストプロセッサからデータの書き込み要求が発行された際に、実領域132−3や実領域132−4を割り当てれば良い。従って、図6(1)の場合と比べて、仮想ボリュームに割り当てられた実領域内に、空き領域が発生し難い。
このように、図5のステップ2004で仮想ボリューム100に割り当てる実領域132のサイズを縮小することで、仮想ボリューム100に割当てた実領域132中に実際には使用されない空き記憶領域が発生する確率を小さくし、記憶領域を効率的に割り当てることができる。
次に、本発明の第四の実施形態を説明する。
本実施形態では、第二の実施形態と同様に、制御部210は、一度仮想ボリューム100に割当てられた実領域132のうち、解放可能な実領域132を検索し解放する。ただし、実領域の解放のために本実施形態では、制御部210はジャーナルファイルシステムにおけるログ情報を使用する。
本実施形態では、ホストプロセッサ12でジャーナルファイルシステムが使用される。また本実施形態では、第一の実施形態の構成に加え、制御部210のメモリにジャーナル解析プログラム216が格納され、仮想ボリューム管理テーブル221に、ジャーナル領域の仮想アドレス範囲を登録するエントリ318及びメタデータの複製を登録するエントリ319が含まれる。
本実施形態においては、制御部210はジャーナル解析プログラム216を実行して、仮想ボリューム100に配置されたジャーナル領域に書き込まれた情報を解析し、解放可能な実領域132がある場合に実領域132の解放処理を行う。
仮想ボリューム管理テーブル221内の、ジャーナル領域の仮想アドレス範囲が登録されるエントリ318は、入出力要求がジャーナル領域への書き込み要求か否かを判定するために制御部210によって参照される。仮想ボリューム100がジャーナルファイルシステムとしてフォーマットされていない場合、仮想ボリューム管理テーブル221内のジャーナル領域の仮想アドレス範囲エントリ318は空である(即ち当該エントリ318にはnull値が登録されている)。仮想ボリューム100がジャーナルファイルシステムとして初期化されるときには、管理者が管理コンソール14を介して、ジャーナルファイルシステムのジャーナルが格納される仮想ボリューム中の仮想アドレス範囲を、仮想ボリューム管理テーブル221のエントリ318に書き込む。尚、ジャーナルが格納される仮想ボリューム中の仮想アドレス範囲は、ジャーナルファイルシステムのフォーマットプログラム(フォーマットプログラムは、制御部210のメモリに格納されている)が制御部210に実行されることによって、仮想ボリューム管理テーブル211のエントリ318に書き込まれることとしても良い。
仮想ボリューム管理テーブル211内の、メタデータの複製エントリ319は、制御部210が仮想ボリューム100に格納されるメタデータの複製を保存する際に使用される。
図7は、第四の実施形態において、入出力要求を受け付けた制御部210が実行する処理の一例を示すフローチャートである。
本処理では、第一の実施形態の図3に示した処理に加え、入出力要求がジャーナル領域への書き込みか否かを判断する処理(ステップ2007)、及び解放可能な実領域132の解放を行う処理(ステップ2008)が、制御部210によって行われる。
ステップ2007において制御部210は、処理対象の書き込み要求が、ジャーナル領域への書き込み要求か否かを判断する。この際制御部210は、書き込み要求中に含まれる書き込み先のアドレスが、仮想ボリューム管理テーブル221のエントリ318に登録されている仮想アドレス範囲に含まれるか否かに基づいて、書き込み要求がジャーナル領域への書き込み要求か否かを判断する。書き込み先のアドレスが仮想ボリューム管理テーブル221のエントリ318に登録された仮想アドレス範囲に入る場合には、書き込み要求はジャーナル領域に対する書き込み要求であるため、ジャーナル解析プログラム216の処理、即ちステップ2008へ進む。
ステップ2008において制御部210は、ジャーナル解析プログラム216を実行してジャーナル領域に書き込まれる情報を解析する。ジャーナル領域に書き込まれる情報とは具体的には、メタデータの一部と当該一部のメタデータのメタデータ全体における(メタデータ内での)オフセットである。そして、ジャーナル領域に書き込まれる情報を元に制御部210はメタデータを構築して、仮想ボリューム管理テーブル221のエントリ319に格納する。
メタデータにはファイルシステム上のファイルと、ファイルが格納されている仮想ボリューム上の記憶領域の仮想アドレスとの対応情報が含まれている。従って制御部210はメタデータを参照することによって、ファイルが格納されていない仮想ボリューム内の記憶領域の仮想アドレスを特定することができる。そして制御部210は、ファイルが格納されていない(即ち、実領域132を割り当てる必要のない)仮想ボリューム上の記憶領域の仮想アドレス範囲を特定すると、その特定された仮想アドレス範囲を元に仮想ボリューム管理テーブル221を検索し、当該仮想アドレス範囲に対応する実領域132を特定する。そして、特定された実領域132を解放すべく、仮想ボリューム管理テーブル221、アクセス変換テーブル224及び実領域管理テーブル222を更新する。尚、仮想ボリューム管理テーブル211、アクセス変換テーブル224、実領域管理テーブル222の更新処理は第二の実施形態と同様であるので説明を省略する。
図8は、第四の実施形態における、実領域132の解放処理の概要を示す図である。
図8は、仮想ボリューム100におけるジャーナル領域、メタデータ、ファイルの配置及び仮想ボリューム100と実領域132との対応を示している。
図8(1)は、ジャーナルファイルシステム上のファイル501のサイズが縮小される前を、図8(2)はファイル501が更新されてファイルサイズが縮小された後の様子を示している。
ファイル501のサイズが更新によって縮小される場合、縮小されるファイル501を管理しているメタデータ502は、ファイルの更新時にホストプロセッサ12によって更新される。それに先立ち、ホストプロセッサ12は処理内容をジャーナルログとして記録するために、仮想ボリューム100内のジャーナル領域503に情報を書き込む。このジャーナル領域503には、メタデータ502の内容も書き込まれるので、ジャーナル領域503に書き込まれたメタデータ502を読み出せば、制御部210は読み出したメタデータの内容からファイル501が更新されてサイズが縮小され、更新後のファイルは図8(2)に示した記憶領域に格納されることが分かる。
その結果、図8(2)の場合は、実領域132−4に対応する仮想ボリューム100上の記憶領域が空きになることが分かるので、制御部210は仮想ボリューム管理テーブル211を用いてこの記憶領域に対応する実領域132−4が解放可能である旨を特定できる。
なお、メタデータ502にはファイルシステム内の全てのファイル501各々について、仮想ボリューム100内のどの記憶領域に格納されているかを示す情報が登録されている。従って、制御部210は、メタデータ502に登録された情報から、仮想ボリューム100内の記憶領域の内空き状態にある記憶領域を判断できる。
さらに制御部210は、ジャーナル領域503へデータが書き込まれると、ジャーナル領域503に書き込まれたデータから構築した最新のメタデータを仮想ボリューム管理テーブル221内のエントリ319に保存し、エントリ319に保存された最新のメタデータを参照して実領域132−4を解放する。
以上に述べた、(1)ファイル501の更新によるのファイルサイズの縮小、(2)ファイルの更新に伴うジャーナル領域503への情報の書き込み、(3)ジャーナル領域503に書き込まれたデータに基づく最新メタデータの生成及び、生成された最新メタデータによる仮想ボリューム管理テーブル211のエントリ319の更新、(4)実領域132−4の解放、はこの順で行われることになる。
尚、ホストプロセッサ12によるメタデータ502の書き込みは、ジャーナル領域503への情報の書き込み以降に、制御部210の処理とは非同期に行われる。そのために本実施形態では、制御部210はホストプロセッサによって仮想ボリューム100に書き込まれるメタデータ502を読み込むのではなく、代わりにジャーナル領域503に書き込まれたデータから生成され、仮想ボリューム管理テーブル211のエントリ319に格納されたメタデータを使用する。
尚、上述の第四の実施形態においては、ファイルの更新によりファイルのサイズが縮小される場合を例に説明をしたが、ファイル501の削除によって実領域132が解放可能になる場合にも、同様の方法によって実領域132の解放が可能である。ファイル501が削除される場合にも、ジャーナル領域にはその削除処理についての内容(メタデータ)が記録されるので、制御部210は上述した処理と同様の方法で実領域132を解放することができる。
このように、制御部210は、仮想ボリューム100内の記憶領域で、実際にはデータが格納されていない記憶領域に対応する実領域132を解放できる。
次に、本発明の第五の実施形態を説明する。
本実施形態では、上述の第二、第三の実施形態において仮想化スイッチ11で実行されていたデフラグ処理プログラム214やフォーマット処理プログラム215等が専用の計算機にて実行される。
本実施形態では、図1で示した第一の実施形態の構成に、仮想化スイッチ11に接続される計算機である専用サーバ15が追加される。専用サーバ15は、制御部210に代わり、デフラグ処理プログラム214およびフォーマット処理プログラム215の実行を行う。制御部210の処理能力やメモリ容量には限りがあり、仮想ボリューム100の数や対応するファイルシステムの種類には限界がある。そのため、専用サーバ15でデフラグ処理やフォーマット処理を代行する。
したがって、第五の実施形態においては、仮想化スイッチ11の制御部210のメモリには、上述した実施形態で説明したデフラグ処理プログラム214やフォーマット処理プログラム215は格納されておらず、その代わり、仮想化スイッチ11に接続される専用サーバ15と仮想化スイッチ11との間の遣り取りを制御部210が制御するために実行されるプログラムであるサーバ連携プログラム217がメモリに格納されている。
制御部210は、デフラグ処理を行うときに、デフラグ処理プログラム214を実行する代わりに、サーバ連携プログラム217を実行し、専用サーバ15にデフラグ処理開始要求を送信し、専用サーバ15から仮想ボリューム100上で空きになった記憶領域のリストを受信する。次に制御部210は、この空きになった記憶領域のリストから対応する実領域132を仮想ボリューム管理テーブル221を検索して特定し、特定された実領域132を解放する。
制御部210は、フォーマット処理を行うときに、フォーマット処理プログラム215を実行する代わりにサーバ連携プログラム217を実行し、専用サーバ15にフォーマット処理開始要求を送信する。その後制御部210の処理は第三の実施形態と同様である。
このように、本実施形態では専用サーバ15でデフラグ処理やフォーマット処理等を実行することにより、仮想化スイッチ11の処理負荷を軽くすることができるので、仮想化スイッチ11が管理する仮想ボリューム100の数や、仮想化スイッチ11が対応可能なファイルシステムの種類を増やすことが出来る。
図9から図10を用いて、本発明の第六の実施形態を説明する。
本実施形態では、第一の実施形態に対して、仮想化スイッチ11がホストプロセッサ12に対して未使用の実領域132の合計サイズを報告することが異なる。これは以下の理由による。
本発明ではホストプロセッサ12に対し、仮想ボリューム100の作成時または利用開始時に、所定の大きさの記憶領域(仮想ボリューム100)がホストプロセッサ12に割り当てられ利用可能となったことを示す情報が通知されるが、実際には当該ホストプロセッサに割り当てられた仮想ボリューム100全体には実領域132は割当てられていない。従って、後にホストプロセッサからの書き込み要求の受領時等に、新たにその仮想ボリューム100に実領域132を割り当てようとしても、未使用の実領域132が不足していて十分なサイズの実領域132を仮想ボリューム100に割り当てられない可能性がある。
そこで本実施形態では、割り当て可能な空きの(未使用の)実領域132のサイズの合計を管理者が確認可能とすることにより、ストレージ装置13を追加するなどして、仮想ボリューム100への実領域132の割り当て時に空きの実領域132が不足する事態を回避できるようにする。
図9は、仮想化スイッチ11が記憶部220内に有する、空き容量管理テーブル225の一例を示している。
空き容量管理テーブル225は仮想ボリューム識別子332と空き容量226とを列挙したテーブルである。空き容量226は、対になっている仮想ボリューム識別子332で特定される仮想ボリューム100に対して割り当て可能な空きの(即ち未使用の)実領域132のサイズの合計である。空き容量226は、システム管理者が個別に設定する。尚、実領域管理テーブル222に登録されている全ての空きの実領域132のサイズの合計を仮想ボリューム100の総数で等分した値を、空き容量管理テーブル225の空き容量226に設定しても、またはシステム管理者が設定した空き実領域132の各仮想ボリューム100への配分比に応じて空き容量226を設定しても良く、空き容量226の合計が実領域管理テーブル222に登録されている全ての空きの実領域132のサイズの合計を超えなければ、各仮想ボリューム100の空き容量226の設定方法は任意でよい。
この空き容量管理テーブル225はホストプロセッサ12から、ある特別な仮想ボリューム(以下、空き容量管理仮想ボリュームと呼ぶ)として参照可能とし、その仮想ボリューム識別子として、仮想ボリューム100に割当てられている仮想ボリューム識別子とは別の仮想ボリューム識別子(以下、空き容量管理仮想ボリューム識別子と呼ぶ)を付与しておく。ホストプロセッサは、通常の入出力要求と同様の形式のコマンドを用いて、空き容量管理仮想ボリューム識別子を指定して空き容量管理テーブル255の読み出し要求を仮想化スイッチに送信する。これを受信した仮想化スイッチは、空き容量管理テーブル225の内容を返す。
なお、空き容量管理仮想ボリューム識別子は後述する空き容量表示プログラムに直接書き込まれるか、空き容量表示プログラムが参照するホストプロセッサ上の設定ファイルにシステム管理者が書き込む。
また、仮想化スイッチ11とホストプロセッサ12がLANなど他の通信手段で互いに通信可能であれば、その通信手段に従った方法によってホストプロセッサ12は空き容量管理テーブル255の読み出しを行っても良い。
図10は、制御部210がホストプロセッサ12から入出力要求を受取った際に行う処理の手順を示すフローチャートである。
図3と異なり、図10において制御部210は、ステップ2006を実行する代わりにステップ2010を実行する。ステップ2010において制御部210は、仮想ボリューム定義プログラム211を実行して図3のステップ2006と同様に仮想ボリューム100の定義変更処理を実行すると共に更に空き容量管理テーブル225の更新処理を行う。
具体的には、ステップ2006の処理に加えて制御部210は、空き容量管理テーブル225内を検索して、書き込み要求の対象となっている仮想ボリューム100の仮想ボリューム識別子332を探す。そして制御部210は、この仮想ボリューム識別子332に対応する空き容量226の値から、ステップ2010においてこの仮想ボリュームに対して割当てた実領域132の合計サイズを減算し、その値を空き容量226に書き戻す。
一方、ホストプロセッサ12は内蔵するメモリに空き容量表示プログラムを格納している。ホストプロセッサ12に内蔵されたCPUは、空き容量表示プログラムを実行して、管理者に対し、ホストプロセッサ12が使用している仮想ボリューム100に今後割当て可能な実領域の容量を表示する。この「今後割当て可能な実領域の容量」として、仮想化スイッチからホストプロセッサが受信した、空き容量管理テーブル225の情報の内、当該仮想ボリューム100の空き容量226の値を使用が使用される。
以上に述べた通り本実施形態では、管理者が仮想ボリューム100に割り当て可能な実領域132のサイズの合計を知ることができる。
なお、本実施例に示した方法は、上述した第二から第五の実施形態に対しても適用することができる。 尚、上述の実施例1から実施例6に示した実施形態では、仮想化を実現する装置としてスイッチを例にあげて説明したが、それ以外の装置、例えば計算機でもルーターでも良い。
本発明を適用したシステムの全体構成の一例を示す図である。 仮想化スイッチ11の内部構成の一例を示す図である。 制御部210の入出力要求の処理手順の一例を示すフローチャートである。 第二の実施形態におけるデータの再配置の処理概要の一例を示す図である。 第三の実施形態における制御部210の入出力要求の処理手順の一例を示すフローチャートである。 第三の実施形態におけるフォーマット処理の一例を示す図である。 第四の実施形態における制御部210の入出力要求の処理手順の一例を示すフローチャートである。 第四の実施形態における、実領域132の解放処理の一例を示す図である。 第六の実施形態における、空き容量管理テーブル225の一例を示す図である。 第六の実施形態における、制御部210の入出力要求の処理手順の一例を示すフローチャートである。
符号の説明
11…仮想化スイッチ
12…ホスト
13…ストレージ装置
210…制御部
220…記憶部

Claims (3)

  1. 制御部とディスク装置とを有して論理ユニットを提供するストレージシステムと、
    前記論理ユニットを用いて仮想ボリュームを提供する仮想化装置と、
    前記仮想ボリュームをファイルシステムとして用いる計算機と、
    を有するシステムであって、
    前記仮想化装置は、前記計算機と接続される入力ポートと、前記ストレージシステムと接続される出力ポートと、前記入力ポートと前記出力ポートとの間でデータを転送する転送部と、制御部と、アクセス変換テーブルと、を有し、
    前記アクセス変換テーブルは、前記仮想ボリューム内の仮想領域に割り当てた実領域が存在する前記論理ユニットの識別子及び前記論理ユニット内のアドレスを記録し、
    前記制御部は、前記計算機からの所定のサイズを指定した要求に応じて前記仮想ボリュームを作成した後に作成完了通知を送信し、前記仮想ボリュームを前記計算機に検出させるために、前記仮想ボリュームの識別子及び前記仮想ボリュームの未割り当ての範囲を含めた前記所定のサイズを、前記計算機の要求に応じて前記計算機に送信し、
    所定の指示に従って、前記制御部は前記仮想ボリュームのフォーマット処理として、前記ファイルシステムの複数のメタデータ領域のそれぞれに、前記論理ユニットの領域であって、第一の領域サイズである実領域を割り当て、
    前記制御部は、前記仮想ボリュームの前記識別子及び前記仮想ボリューム内の仮想アドレスを指定した第一の書き込み要求を受信し、
    前記制御部は、前記計算機から、前記仮想ボリュームの前記識別子及び前記仮想ボリューム内の仮想アドレスを指定した第一の前記第一の書き込み要求を受信した時に、前記仮想ボリュームの前記識別子及び前記仮想アドレスが指定し所定の仮想領域に、前記論理ユニット内に存在する未使用な第二の領域サイズである実領域を新規に割り当て、割り当て結果に基いて前記アクセス変換テーブルを更新し、
    前記制御部は、更新後の前記アクセス変換テーブルに基づいて、前記第一の書き込み要求を前記所定の領域に割り当てた実領域の論理ユニットの識別子及び仮想アドレスを指定した前記第二の書き込み要求に変換し、
    前記転送部は、前記第二の書き込み要求を前記ストレージシステムに送信し、
    前記第一の領域サイズは前記第二の領域サイズより小さい、
    ことを特徴とするシステム。
  2. 請求項1記載のシステムであって、
    前記計算機は、前記仮想ボリューム内のジャーナル領域に、ファイルシステム内のファイル更新及び削除に伴って更新されたメタデータの複製を記録させる書き込み要求を送信し、
    前記制御部は、前記ジャーナル領域を指定した書き込み要求を受信した場合、前記書き込み要求で書き込まれた前記更新されたメタデータを参照することで、前記ファイルのデータを格納していない仮想ボリューム内の領域を特定し、前記特定した仮想ボリューム内の領域に割り当てられた実領域を開放する、
    ことを特徴としたシステム。
  3. 請求項2記載のシステムであって、
    前記制御部は、前記実領域の開放の前に、前記実領域に格納された他のファイルのデータを、前記論理ユニットの他の領域へ移動する、
    ことを特徴としたシステム。
JP2004063392A 2003-05-28 2004-03-08 記憶領域割当方法、システム及び仮想化装置 Expired - Fee Related JP4438457B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004063392A JP4438457B2 (ja) 2003-05-28 2004-03-08 記憶領域割当方法、システム及び仮想化装置
US10/825,158 US7213124B2 (en) 2003-05-28 2004-04-16 Method for allocating storage area to virtual volume
US11/312,393 US7257694B2 (en) 2003-05-28 2005-12-21 Method for allocating storage area to virtual volume
US11/819,775 US7484071B2 (en) 2003-05-28 2007-06-29 Method for allocating storage area to virtual volume

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003150082 2003-05-28
JP2004063392A JP4438457B2 (ja) 2003-05-28 2004-03-08 記憶領域割当方法、システム及び仮想化装置

Publications (2)

Publication Number Publication Date
JP2005011316A JP2005011316A (ja) 2005-01-13
JP4438457B2 true JP4438457B2 (ja) 2010-03-24

Family

ID=33518569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004063392A Expired - Fee Related JP4438457B2 (ja) 2003-05-28 2004-03-08 記憶領域割当方法、システム及び仮想化装置

Country Status (2)

Country Link
US (3) US7213124B2 (ja)
JP (1) JP4438457B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180057374A (ko) * 2016-11-22 2018-05-30 이화여자대학교 산학협력단 입출력 특성에 따른 스토리지 할당 방법 및 장치

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032701B1 (en) * 2004-03-26 2011-10-04 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US20060237636A1 (en) * 2003-06-23 2006-10-26 Advanced Optical Technologies, Llc Integrating chamber LED lighting with pulse amplitude modulation to set color and/or intensity of output
US6995355B2 (en) * 2003-06-23 2006-02-07 Advanced Optical Technologies, Llc Optical integrating chamber lighting using multiple color sources
JP4383132B2 (ja) * 2003-09-02 2009-12-16 株式会社日立製作所 仮想化制御装置及び計算機システム
JP4408692B2 (ja) * 2003-12-19 2010-02-03 富士通株式会社 通信装置管理プログラム
JP4455153B2 (ja) * 2004-05-14 2010-04-21 株式会社日立製作所 記憶装置管理方法およびシステム
US7330910B2 (en) * 2004-05-20 2008-02-12 International Business Machines Corporation Fencing of resources allocated to non-cooperative client computers
US7058731B2 (en) * 2004-08-03 2006-06-06 Hitachi, Ltd. Failover and data migration using data replication
US7761284B2 (en) * 2004-08-30 2010-07-20 Overland Storage, Inc. Tape emulating disk based storage system and method with automatically resized emulated tape capacity
JP4555703B2 (ja) * 2005-02-23 2010-10-06 株式会社日立製作所 領域集合設定方法、および、ネットワークシステム
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
JP2006331158A (ja) 2005-05-27 2006-12-07 Hitachi Ltd ストレージシステム
US7600083B2 (en) * 2005-06-10 2009-10-06 Network Appliance, Inc. Method and system for automatic write request suspension
US7933936B2 (en) 2005-06-10 2011-04-26 Network Appliance, Inc. Method and system for automatic management of storage space
JP4723921B2 (ja) * 2005-06-13 2011-07-13 株式会社日立製作所 記憶制御装置及びその制御方法
JP4700459B2 (ja) 2005-09-27 2011-06-15 株式会社日立製作所 データ処理システム及びデータ管理方法並びにストレージシステム
JP4945118B2 (ja) 2005-11-14 2012-06-06 株式会社日立製作所 記憶容量を効率的に使用する計算機システム
JP4723361B2 (ja) * 2005-11-24 2011-07-13 富士通株式会社 仮想化処理機能を有する情報処理装置
US7647468B2 (en) * 2005-12-09 2010-01-12 Microsoft Corporation Compaction, de-fragmentation, and merging of virtual storage device of virtual machine
JP4671353B2 (ja) * 2005-12-14 2011-04-13 株式会社日立製作所 ストレージ装置及びその制御方法
JP4474356B2 (ja) * 2005-12-27 2010-06-02 富士通株式会社 コンピュータシステムおよびストレージ仮想化装置
JP4927408B2 (ja) 2006-01-25 2012-05-09 株式会社日立製作所 記憶システム及びそのデータ復元方法
JP4927412B2 (ja) * 2006-02-10 2012-05-09 株式会社日立製作所 記憶制御方法及びその制御方法
JP4993928B2 (ja) 2006-03-23 2012-08-08 株式会社日立製作所 記憶システム及び記憶領域解放方法並びにストレージシステム
JP4942371B2 (ja) 2006-03-23 2012-05-30 株式会社日立製作所 記憶システム及びデータ管理方法
JP2007265270A (ja) 2006-03-29 2007-10-11 Hitachi Ltd ストレージシステム及び記憶領域割当て方法
JP4622914B2 (ja) * 2006-03-30 2011-02-02 日本電気株式会社 複製ボリューム作成装置、複製ボリューム作成方法、複製ボリューム作成プログラム
JP5037881B2 (ja) 2006-04-18 2012-10-03 株式会社日立製作所 ストレージシステム及びその制御方法
JP2007304794A (ja) * 2006-05-10 2007-11-22 Hitachi Ltd ストレージシステム及びストレージシステムにおける記憶制御方法
US7633700B2 (en) * 2006-06-16 2009-12-15 Sun Microsystems, Inc. Method and system for contiguously appending data onto media in a tape drive system
US7633701B2 (en) * 2006-06-16 2009-12-15 Sun Microsystems, Inc. Method and system for increasing recording format reliability for limited media space in a tape drive system
JP4975396B2 (ja) 2006-08-24 2012-07-11 株式会社日立製作所 記憶制御装置及び記憶制御方法
JP4932390B2 (ja) * 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法
JP4464378B2 (ja) 2006-09-05 2010-05-19 株式会社日立製作所 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP5087249B2 (ja) * 2006-09-06 2012-12-05 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
JP2008077478A (ja) * 2006-09-22 2008-04-03 Hitachi Ltd 記憶装置制御装置、記憶装置制御方法、ストレージ装置およびストレージ装置による記憶装置制御方法
JP5073259B2 (ja) * 2006-09-28 2012-11-14 株式会社日立製作所 仮想化システム及び領域割当て制御方法
FR2906624A1 (fr) * 2006-10-03 2008-04-04 Bull S A S Soc Par Actions Sim Systeme et procede de stockage de masse.
JP2008123253A (ja) * 2006-11-13 2008-05-29 Data Foundation株式会社 データストレージシステム内のボリューム、及びデータオブジェクトを管理するためのディレクトリサービスを用いる方法
JP2008146574A (ja) 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP5069011B2 (ja) 2007-01-29 2012-11-07 株式会社日立製作所 ストレージモジュール及び容量プール空き容量調整方法
JP4871758B2 (ja) * 2007-02-26 2012-02-08 株式会社日立製作所 ボリューム割当方式
JP4765967B2 (ja) * 2007-03-20 2011-09-07 日本電気株式会社 情報処理装置及び情報処理方法並びにプログラム
JP5041860B2 (ja) * 2007-04-20 2012-10-03 株式会社日立製作所 ストレージ装置及び管理単位設定方法
JP4958739B2 (ja) 2007-11-09 2012-06-20 株式会社日立製作所 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
JP2009134397A (ja) 2007-11-29 2009-06-18 Hitachi Ltd 仮想ボリュームに割り当て済みの全ての実記憶領域を解放するか否かを制御する計算機及び方法
US8224864B1 (en) 2008-01-07 2012-07-17 Network Appliance, Inc. Striping directories across a striped volume set by the filenames contained in the directories
JP5221157B2 (ja) * 2008-02-04 2013-06-26 株式会社日立製作所 コンピュータシステム及び物理ディスク回収方法
US8180983B1 (en) * 2008-02-26 2012-05-15 Network Appliance, Inc. Caching filenames of a striped directory in predictable locations within a volume locally accessible to a storage server node
JP2009217700A (ja) * 2008-03-12 2009-09-24 Toshiba Corp ディスクアレイ装置及び物理配置最適化方法
JP5298594B2 (ja) * 2008-03-26 2013-09-25 富士通株式会社 割当制御プログラム、割当制御装置、および割当制御方法
JP5072692B2 (ja) 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
JP2009258825A (ja) * 2008-04-14 2009-11-05 Hitachi Ltd ストレージシステム、仮想化装置、及び計算機システム
JP4616899B2 (ja) 2008-05-26 2011-01-19 株式会社日立製作所 管理サーバ、プール増設方法および計算機システム
US8065559B2 (en) * 2008-05-29 2011-11-22 Citrix Systems, Inc. Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
FR2933790B1 (fr) * 2008-07-10 2010-09-10 Oberthur Technologies Gestion d'une memoire physique partitionnee dans une entite electronique : procede et dispositif.
JP5250869B2 (ja) * 2008-08-28 2013-07-31 株式会社日立製作所 ストレージシステム、論理記憶領域割り当て方法及び計算機システム
US8868818B2 (en) * 2009-03-03 2014-10-21 Quantum Corporation Method for associating physical address with logical communication address in a media library assembly
JP5534135B2 (ja) * 2009-03-31 2014-06-25 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
JP5317807B2 (ja) 2009-04-13 2013-10-16 株式会社日立製作所 ファイル制御システムおよびそれに用いるファイル制御計算機
JP5218985B2 (ja) * 2009-05-25 2013-06-26 株式会社日立製作所 メモリ管理方法計算機システム及びプログラム
US8190811B2 (en) * 2009-06-09 2012-05-29 Seagate Technology, Llc Defragmentation of solid state memory
JP5532982B2 (ja) * 2010-02-03 2014-06-25 富士通株式会社 ストレージ装置、ストレージ装置のコントローラおよびストレージ装置の記憶領域割当方法
US8996647B2 (en) 2010-06-09 2015-03-31 International Business Machines Corporation Optimizing storage between mobile devices and cloud storage providers
US8489809B2 (en) 2010-07-07 2013-07-16 International Business Machines Corporation Intelligent storage provisioning within a clustered computing environment
WO2012049711A1 (en) * 2010-10-14 2012-04-19 Hitachi, Ltd. Data migration system and data migration method
US8756310B2 (en) 2011-03-09 2014-06-17 International Business Machines Corporation Comprehensive bottleneck detection in a multi-tier enterprise storage system
CN102929884B (zh) * 2011-08-10 2016-05-04 阿里巴巴集团控股有限公司 一种收缩虚拟磁盘镜像文件的方法及装置
US9075528B2 (en) * 2011-11-17 2015-07-07 Jade Quantum Technologies, Inc High-efficiency virtual disk management system
US8606755B2 (en) * 2012-01-12 2013-12-10 International Business Machines Corporation Maintaining a mirrored file system for performing defragmentation
JP5597266B2 (ja) * 2013-01-15 2014-10-01 株式会社日立製作所 ストレージシステム
US10447524B1 (en) * 2013-03-14 2019-10-15 EMC IP Holding Company LLC Unified datapath processing with virtualized storage processors
US9176967B2 (en) * 2013-04-01 2015-11-03 Oracle International Corporation File load balancing in an N-level directory tree of a data storage system
US9015111B2 (en) 2013-04-05 2015-04-21 Hitachi, Ltd. Storage system and storage system control method
US9535630B1 (en) * 2013-06-27 2017-01-03 EMC IP Holding Company LLC Leveraging array operations at virtualized storage processor level
US10241709B2 (en) * 2013-12-09 2019-03-26 Vmware, Inc. Elastic temporary filesystem
US10848545B2 (en) 2018-01-31 2020-11-24 EMC IP Holding Company LLC Managing cloud storage of block-based and file-based data
US10740192B2 (en) 2018-01-31 2020-08-11 EMC IP Holding Company LLC Restoring NAS servers from the cloud
US11042448B2 (en) 2018-01-31 2021-06-22 EMC IP Holding Company LLC Archiving NAS servers to the cloud
US11249852B2 (en) 2018-07-31 2022-02-15 Portwonx, Inc. Efficient transfer of copy-on-write snapshots
US11354060B2 (en) 2018-09-11 2022-06-07 Portworx, Inc. Application snapshot for highly available and distributed volumes
US10970257B2 (en) 2019-01-31 2021-04-06 EMC IP Holding Company LLC Replicating file systems via cloud storage
US10942881B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Parallel operations in aggregated and virtualized solid state drives
US11768613B2 (en) 2019-06-25 2023-09-26 Micron Technology, Inc. Aggregation and virtualization of solid state drives
US11513923B2 (en) 2019-06-25 2022-11-29 Micron Technology, Inc. Dynamic fail-safe redundancy in aggregated and virtualized solid state drives
US11762798B2 (en) 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US10942846B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Aggregated and virtualized solid state drives accessed via multiple logical address spaces
US11573708B2 (en) * 2019-06-25 2023-02-07 Micron Technology, Inc. Fail-safe redundancy in aggregated and virtualized solid state drives
US11055249B2 (en) 2019-06-25 2021-07-06 Micron Technology, Inc. Access optimization in aggregated and virtualized solid state drives
US11281541B2 (en) 2020-01-15 2022-03-22 EMC IP Holding Company LLC Dynamic snapshot backup in multi-cloud environment
US11494128B1 (en) 2020-01-28 2022-11-08 Pure Storage, Inc. Access control of resources in a cloud-native storage system
US11531467B1 (en) 2021-01-29 2022-12-20 Pure Storage, Inc. Controlling public access of resources in a secure distributed storage system
US11733897B1 (en) 2021-02-25 2023-08-22 Pure Storage, Inc. Dynamic volume storage adjustment
US11520516B1 (en) 2021-02-25 2022-12-06 Pure Storage, Inc. Optimizing performance for synchronous workloads
US11726684B1 (en) 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules
US12235800B2 (en) * 2022-11-02 2025-02-25 Micron Technology, Inc. Defrag levels to reduce data loss

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5394532A (en) * 1992-04-15 1995-02-28 Storage Technology Corporation Disk drive array memory system having instant format capability
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
JP3344907B2 (ja) 1996-11-01 2002-11-18 富士通株式会社 Raid装置及び論理ボリュームのアクセス制御方法
US6032224A (en) 1996-12-03 2000-02-29 Emc Corporation Hierarchical performance system for managing a plurality of storage units with different access speeds
US6542961B1 (en) 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP2000242434A (ja) 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
JP3454183B2 (ja) 1999-04-13 2003-10-06 日本電気株式会社 ディスクアレイ装置
AU2001246799A1 (en) * 2000-04-18 2001-10-30 Storeage Networking Technologies Storage virtualization in a storage area network
US6775790B2 (en) 2000-06-02 2004-08-10 Hewlett-Packard Development Company, L.P. Distributed fine-grained enhancements for distributed table driven I/O mapping
WO2002065275A1 (en) 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
US6918022B2 (en) 2001-02-28 2005-07-12 Intel Corporation Memory space organization
JP4175788B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7421509B2 (en) 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US20030079018A1 (en) 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
EP1438808A4 (en) 2001-09-28 2007-05-23 Emc Corp PACKAGE CLASSIFICATION IN A STORAGE SYSTEM
US7185062B2 (en) 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP2003202964A (ja) * 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
JP3702231B2 (ja) * 2002-01-31 2005-10-05 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
JP2003296037A (ja) * 2002-04-05 2003-10-17 Hitachi Ltd 計算機システム
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180057374A (ko) * 2016-11-22 2018-05-30 이화여자대학교 산학협력단 입출력 특성에 따른 스토리지 할당 방법 및 장치
KR101900569B1 (ko) * 2016-11-22 2018-09-19 이화여자대학교 산학협력단 입출력 특성에 따른 스토리지 할당 방법 및 장치

Also Published As

Publication number Publication date
US20040260861A1 (en) 2004-12-23
JP2005011316A (ja) 2005-01-13
US7257694B2 (en) 2007-08-14
US7213124B2 (en) 2007-05-01
US20070255925A1 (en) 2007-11-01
US7484071B2 (en) 2009-01-27
US20060107017A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
JP4438457B2 (ja) 記憶領域割当方法、システム及び仮想化装置
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
JP5069011B2 (ja) ストレージモジュール及び容量プール空き容量調整方法
US9348842B2 (en) Virtualized data storage system optimizations
JP4124331B2 (ja) Dbms向け仮想ボリューム作成・管理方法
US8214606B2 (en) Storage system and control method thereof
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP4519179B2 (ja) 論理ボリューム管理プログラム、論理ボリューム管理装置、論理ボリューム管理方法、および分散ストレージシステム
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
CN111506269B (zh) 一种磁盘存储空间分配方法、装置、设备及存储介质
JP2003345522A (ja) データ再配置方法及び装置
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
JP2006268534A (ja) 記憶装置システムの制御技術
US10242053B2 (en) Computer and data read method
US7676644B2 (en) Data processing system, storage apparatus and management console
JP2004240563A (ja) ディスク制御装置およびディスク制御装置の制御方法
US11409696B2 (en) Methods and systems for utilizing a unified namespace
US11294725B2 (en) Method and system for identifying a preferred thread pool associated with a file system
JP6657990B2 (ja) ストレージ装置、仮想ボリューム制御システム、仮想ボリューム制御方法および仮想ボリューム制御プログラム
JP5534135B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2013105342A (ja) データ管理方法及びデータ管理システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

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: 20091215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140115

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees