JP5298594B2 - 割当制御プログラム、割当制御装置、および割当制御方法 - Google Patents

割当制御プログラム、割当制御装置、および割当制御方法 Download PDF

Info

Publication number
JP5298594B2
JP5298594B2 JP2008081734A JP2008081734A JP5298594B2 JP 5298594 B2 JP5298594 B2 JP 5298594B2 JP 2008081734 A JP2008081734 A JP 2008081734A JP 2008081734 A JP2008081734 A JP 2008081734A JP 5298594 B2 JP5298594 B2 JP 5298594B2
Authority
JP
Japan
Prior art keywords
allocation
address
slice area
disk
request
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
JP2008081734A
Other languages
English (en)
Other versions
JP2009237811A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008081734A priority Critical patent/JP5298594B2/ja
Priority to US12/399,505 priority patent/US8200935B2/en
Priority to EP09155020A priority patent/EP2105828A2/en
Publication of JP2009237811A publication Critical patent/JP2009237811A/ja
Application granted granted Critical
Publication of JP5298594B2 publication Critical patent/JP5298594B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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〜3参照。)。このマルチノードシステムは、汎用のディスク装置とサーバとからなるディスクノード複数台をネットワークで結合して構成するシステムである。
特許第3481391号公報 国際公開2004/104845号パンフレット 特開2007−122463号公報
上述した従来技術によれば、ディスクノードのディスク装置にプロビジョニング機能を持たせることで、マルチノードストレージシステムでのプロビジョニングを実現することができる。しかしながら、アクセスされたディスクノードが個別にディスクプールの割り当てをおこなうため、複数のディスクノード全体で最適な割当をおこなうことができないという問題がある。
具体的には、ディスクノードごとにディスクプールが消費されるため、ディスクプールの空き容量が減少した際に、個別にディスクを追加してディスクプールを拡大する必要がある。したがって、特定のディスクノードに偏ってディスクプールが消費されると、システム全体では空き容量があるにもかかわらずディスクプールを拡大する必要がある。
この発明は、上述した従来技術による問題点を解消するため、ストレージシステム全体の記憶容量の割当状況を一元管理することにより、効率的かつ効果的な容量割当をおこなうことができる割当制御プログラム、割当制御装置、および割当制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この割当制御プログラム、割当制御装置、および割当制御方法は、任意の記憶容量の割当要求を受信し、前記割当要求が受信された場合、複数のストレージ装置を有するストレージシステム全体の記憶領域から分割されたスライス領域のアドレスと、当該スライス領域に非対応のアドレスとを記憶するアドレステーブルを参照して、割当が要求された記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスを割り当てるとともに、残余の容量分に前記スライス領域のアドレスを割り当て、割り当てられた割当結果を前記割当要求の要求元に送信することを要件とする。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、クライアントから要求された記憶容量(仮想ディスク)に対するストレージシステム全体の記憶容量の割当状況を一元管理することができる。また、物理的な記憶領域が存在しない仮想スライス領域を仮想ディスクに割り当てることができる。
また、この割当制御プログラム、割当制御装置、および割当制御方法において、さらに、前記要求された記憶容量の割当完了報告を前記要求元に送信することとしてもよい。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、要求された記憶容量分の記憶容量が割り当てられたかのようにクライアントにみせることができる。
また、この割当制御プログラム、割当制御装置、および割当制御方法において、割り当てられた前記スライス領域に非対応のアドレスに対する書き込み要求を検出し、前記スライス領域に非対応のアドレスへの書き込み要求が検出された場合、前記アドレステーブルの中から、未割当の前記スライス領域のアドレスを検索し、前記書き込み要求が検出された前記スライス領域に非対応のアドレスを、検索されたアドレスに変更し、変更された変更結果を前記要求元に送信することとしてもよい。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、仮想スライス領域に対する書き込み要求が発生した場合に、物理的な記憶領域が存在する実スライス領域を仮想ディスクに割り当てることができる。
また、この割当制御プログラム、割当制御装置、および割当制御方法において、前記アドレステーブルは、前記ストレージ装置ごとに、当該ストレージ装置の記憶領域から分割されたスライス領域のアドレスと、当該スライス領域に非対応のアドレスとを記憶しており、前記アドレステーブルを参照して、前記各ストレージ装置から選ばれた前記スライス領域に非対応のアドレス数が均等になるように、前記記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスを割り当てることとしてもよい。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、各ストレージ装置から均等に選ばれた仮想スライス領域を仮想ディスクに割り当てることができる。
また、この割当制御プログラム、割当制御装置、および割当制御方法において、前記アドレステーブルを参照して、前記各ストレージ装置から選ばれた前記スライス領域のアドレス数が均等になるように、前記残余の容量分に前記スライス領域のアドレスを割り当てることとしてもよい。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、各ストレージ装置から均等に選ばれた実スライス領域を仮想ディスクに割り当てることができる。
この割当制御プログラム、割当制御装置、および割当制御方法によれば、ストレージシステム全体の記憶容量の割当状況を一元管理することにより、効率的かつ効果的な容量割当をおこなうことができるという効果を奏する。
以下に添付図面を参照して、この割当制御プログラム、割当制御装置、および割当制御方法の好適な実施の形態を詳細に説明する。なお、本明細書において、割当制御装置とは、制御ノードであり、割当制御プログラムとは、割当制御装置にインストールされたプログラムである。
(ストレージシステムのシステム構成)
まず、本実施の形態にかかるストレージシステム100のシステム構成について説明する。図1は、ストレージシステムのシステム構成図である。図1において、ストレージシステム100は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク110を介して相互にアクセス可能な制御ノード101と、ディスクノード102−1〜102−nと、クライアントノード103と、から構成される。
制御ノード101は、要求された記憶容量の仮想ディスクに対して、ストレージシステム100全体の記憶容量を割り当てるコンピュータ装置である。また、制御ノード101は、ストレージシステム100全体の記憶領域のアドレスを管理するアドレステーブル120にアクセス可能である。このアドレステーブル120は、制御ノード101に備えられていてもよく、また、不図示の外部装置に備えられていてもよい。
ディスクノード102−1〜102−nは、磁気ディスクや光ディスクを有するディスク装置D1〜Dnを備え、クライアントノード103からのアクセス要求に応じて、データの書き込み/読み出し処理を実行するコンピュータ装置である。各ディスク装置D1〜Dnの記憶容量は一定である必要はなく、それぞれ異なっていてもよい。
クライアントノード103は、割当要求の要求元のユーザが使用するコンピュータ装置である。また、クライアントノード103は、ストレージシステム100に対してデータの書き込み、読み出しなどのアクセス要求をおこなう。なお、図1では、簡単のためクライアントノード103を1台のみ表記している。
ここで、ディスクノード102−iを例に挙げて、ディスク装置Diのデータ構造について説明する。本実施の形態では、ディスク装置Diの記憶領域全体をスライス単位で分割することにより、ディスク装置Diの記憶領域が複数の小領域(実スライス領域Si−1〜Si−x)に区分けされている。
また、ディスク装置Diは、物理的な記憶領域が存在しない仮想的な記憶領域(図1中、点線で示す記憶領域)を備えていると仮定する。さらに、この仮想的な記憶領域をスライス単位で分割することにより、ディスク装置Diの仮想的な記憶領域が複数の小領域(仮想スライス領域Si−(x+1)〜Si−y)に区分けされていることとする。
詳細は後述するが、これら実スライス領域Si−1〜Si−x、仮想スライス領域Si−(x+1)〜Si−yには、仮想ディスクに対する割当状況を特定するためのメタデータが付与されており、ディスクノード102−iにおいて管理されている。メタデータの内容は、制御ノード101からの変更要求に応じて変更される。
また、ストレージシステム100全体の各スライス領域(仮想スライス領域、実スライス領域)のメタデータは、制御ノード101において一元管理されている。さらに、仮想ディスクに対する割り当てが完了すると、その仮想ディスクに割り当てられたスライス領域のメタデータ(割当結果)が制御ノード101からクライアントノード103に送信される。
クライアントノード103は、制御ノード101から送信された割当結果を参照して、ストレージシステム100に対するアクセス要求をおこなう。具体的には、仮想ディスク上のアドレスを指定することで、ストレージシステム100に対するデータの書き込み/読み出し要求をおこなう。
なお、本実施の形態では、ストレージシステム100全体の記憶領域から分割された各スライス領域(たとえば、実スライス領域Si−1〜Si−x、仮想スライス領域Si−(x+1)〜Si−y)の記憶容量は均等であることとする。ただし、必ずしも均等である必要はなく、ディスクノード102−1〜102−nごとにスライス単位の記憶容量を決定し、その記憶容量に従って各ディスク装置D1〜Dnの記憶領域を複数のスライス領域に分割することとしてもよい。
(アドレステーブルのデータ構造)
つぎに、制御ノード101がアクセス可能なアドレステーブル120のデータ構造について説明する。図2は、アドレステーブルのデータ構造を示す説明図である。図2において、アドレステーブル120には、ストレージシステム100内のディスクノード102−1〜102−nごとのアドレスデータA1〜Anが記憶されている。
具体的には、アドレスデータA1〜Anは、各ディスクノード102−1〜102−nが有する実スライス領域および仮想スライス領域に付与されるメタデータから構成されている。たとえば、アドレスデータAiは、実スライス領域Si−1〜Si−xごとのメタデータMi−1〜Mi−xと、仮想スライス領域Si−(x+1)〜Si−yごとのメタデータMi−(x+1)〜Mi−yと、から構成されている。
また、各メタデータMi−1〜Mi−yは、スライス領域(実スライス領域または仮想スライス領域)ごとに、スライスID、仮想フラグ、割当フラグ、アドレス、仮想ディスクID、仮想ディスクアドレスおよびディスクノードアドレスを有している。スライスIDは、各スライス領域を特定する識別子である。
仮想フラグは、仮想スライス領域であるか否かを特定するフラグであり、実スライス領域は「OFF」となり、仮想スライス領域は「ON」となる。割当フラグは、仮想ディスクに割当済みか否かを特定するフラグであり、割当済みの場合は「ON」となり、未割当の場合は「OFF」となる。
アドレスは、実スライス領域の場所を特定するアドレスである。なお、仮想スライス領域に相当する物理的な記憶領域は存在しないため、仮想スライスのアドレスは「null」となっている。仮想ディスクIDは、割当先の仮想ディスクを特定する識別子である。仮想ディスクアドレスは、仮想ディスク上のアドレスである。ディスクノードアドレスは、ディスクノード102−〜102−nのアドレス(たとえば、ディスクノード102−〜102−nのIPアドレス)である。
なお、図2に示すアドレステーブル120の記憶内容は初期状態を示している。また、アドレステーブル120が制御ノード101に備えられる場合には、アドレステーブル120は、図3に示すハードディスク305や光ディスク307などの記憶部によりその機能を実現する。ここでは、アドレステーブル120の初期化時に、実スライス領域のアドレスが割り振られていることとしたが、これに限らない。たとえば、仮想ディスクへの実スライス領域の割当時に、各ディスクノード102−1〜102−nの記憶領域に割り振ることとしてもよい。
(コンピュータ装置のハードウェア構成)
つぎに、図1に示したコンピュータ装置(制御ノード101、ディスクノード102−1〜102−n、クライアントノード103)のハードウェア構成について説明する。図3は、コンピュータ装置のハードウェア構成を示すブロック図である。
図3において、コンピュータ装置は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、ハードディスクドライブ304と、ハードディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(インターフェース)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、コンピュータ装置の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。ハードディスクドライブ304は、CPU301の制御にしたがってハードディスク305に対するデータのリード/ライトを制御する。ハードディスク305は、ハードディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータ装置に読み取らせたりする。
また、光ディスク307として、CD(Compact Disk)、DVD(Digital Versatile Disk)、MO(Magneto Optical)、メモリーカードなどを採用することができる。ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT(Cathode Ray Tube)、TFT(Thin Film Transistor)液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F309は、通信回線を通じてインターネットなどのネットワーク110に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえば、モデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(ストレージシステムの機能的構成)
つぎに、ストレージシステム100の機能的構成について説明する。まず、制御ノード101の機能的構成について説明する。図4は、制御ノードの機能的構成を示すブロック図である。図4において、制御ノード101は、受信部401と、割当部402と、決定部403と、選択部404と、送信部405と、検出部406と、検索部407と、変更部408と、を備えている。
これら各機能401〜408は、制御ノード101のROM302,RAM303,ハードディスク305,光ディスク307などの記憶部に記憶された当該機能401〜408に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。また、各機能401〜408からの出力データは上記記憶部に保持される。また、図4中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。
まず、受信部401は、任意の記憶容量の割当要求を受信する機能を有する。具体的には、割当要求は、任意の記憶容量(たとえば、1[GB(ギガバイト)])のディスクを作成する作成要求である。このディスクは、作成時には、要求されたすべての記憶容量を割り当てない仮想ディスクである。また、割当要求は、クライアントノード103(図1参照)から直接受信してもよく、また、ストレージシステム100のオペレータが使用する外部装置から受信することとしてもよい。
割当部402は、受信部401によって割当要求が受信された場合、アドレステーブル120を参照して、割当が要求された記憶容量の少なくとも一部の容量分にスライス領域に非対応のアドレスを割り当てるとともに、残余の容量分にスライス領域のアドレスを割り当てる機能を有する。
ここで、割当部402による割当処理の具体的な処理内容について説明する。以下、要求された記憶容量を1[GB]とし、各ディスクノード102−1〜ディスクノード102−nが有する仮想スライス領域および実スライス領域の記憶容量をそれぞれ1[MB(メガバイト)]とする。
まず、割当が要求された記憶容量を割り当てる仮想ディスクに、要求元のクライアントと対応付けられた新規の仮想ディスクIDを割り付ける。これにより、要求元のクライアントと仮想ディスクとの対応関係を認識することができる。以下、仮想ディスクID「VD1」が割り付けられた仮想ディスクVD1を例に挙げて説明する。
つぎに、決定部403は、仮想ディスクVD1を構成するスライス数、つまり、仮想ディスクVD1に割り当てるスライス領域の数を決定する。具体的には、要求された記憶容量の1[GB]を、各スライス領域の記憶容量の1[MB]で除算することでスライス数を決定する。この場合、仮想ディスクVD1を構成するスライス数を「1000」に決定する。
このあと、決定部403は、仮想ディスクVD1を構成する1000個のスライス領域のうち、仮想スライス領域のスライス数と実スライス領域のスライス数とを決定する。具体的には、たとえば、予め設定された仮想スライス領域と実スライス領域との比率に基づいて、それぞれのスライス領域のスライス数を決定する。
ここで、上記比率が『(仮想スライス領域:実スライス領域)=(1:1)』であった場合、決定部403は、仮想スライス領域のスライス数を「500」、実スライス領域のスライス数を「500」に決定する。
なお、仮想スライス領域および実スライス領域の記憶容量がディスクノード102−1〜102−nごとに異なる場合には、それぞれの記憶容量を用いて、仮想ディスクを構成するスライス数や仮想スライス領域のスライス数および実スライス領域のスライス数を決定することとなる。
つぎに、選択部404は、アドレステーブル120を参照して、割当フラグが「OFF」の仮想スライス領域の中から、任意の仮想スライス領域を選択する。そして、割当部402は、選択部404によって選択された仮想スライス領域を仮想ディスクVD1に割り当てる。
具体的には、たとえば、選択部404によってディスクノード102−iの仮想スライス領域Si−(x+1)が選択された場合、仮想スライス領域Si−(x+1)を仮想ディスクVD1に割り当てる。また、割当部402によって仮想ディスクにスライス領域が割り当てられると、その都度、アドレステーブル120の記憶内容が更新される。
ここでは、仮想スライス領域Si−(x+1)のメタデータMi−(x+1)の割当フラグを「OFF」から「ON」、仮想ディスクIDを「null」から「VD1」、仮想ディスクアドレスを「null」から「VD1−ADr」に変更する。なお、仮想ディスクアドレス「VD1−ADr」は、仮想ディスクVD1上のアドレスのうち先頭からr番目のアドレスであることを意味している。
選択部404による仮想スライス領域の選択は、割当部402による割当数が決定部403によって決定された仮想スライス領域のスライス数に到達するまで繰り返される。このとき、各ディスクノード102−1〜102−nから選ばれた仮想スライス領域のスライス数が均等になるように選択することとしてもよい。
たとえば、各ディスクノード102−1〜102−nが有する仮想スライス領域の中から、仮想スライス領域を1つずつ順に選択して仮想ディスクVD1に割り当てる。なお、すべてのディスクノード102−1〜102−nから選択した結果、決定部403によって決定されたスライス数に到達していない場合は、再度、各ディスクノード102−1〜102−nが有する仮想スライス領域の中から仮想スライス領域を選択する。
これにより、ディスクノード102−1〜102−nが有する仮想スライス領域を、仮想ディスクVD1に均一に割り当てることができる。この結果、仮想スライス領域に対する書き込み/読み出し要求を、ディスクノード102−1〜102−nにおいて均等に分散処理することができる。
また、選択部404は、アドレステーブル120を参照して、割当フラグが「OFF」の実スライス領域の中から、任意の実スライス領域を選択する。そして、割当部402は、選択部404によって選択された実スライス領域を仮想ディスクVD1に割り当てる。
具体的には、たとえば、選択部404によってディスクノード102−iの実スライス領域Si−1が選択された場合、実スライス領域Si−1を仮想ディスクVD1に割り当てる。また、上述したように割当部402によって仮想ディスクにスライス領域が割り当てられると、その都度、アドレステーブル120の記憶内容が更新される。
ここでは、実スライス領域Si−1のメタデータMi−1の割当フラグを「OFF」から「ON」、仮想ディスクIDを「null」から「VD1」、仮想ディスクアドレスを「null」から「VD1−ADp」に変更する。なお、仮想ディスクアドレス「VD1−ADp」は、仮想ディスクVD1上のアドレスのうち先頭からp番目のアドレスであることを意味している。
選択部404による実スライス領域の選択は、割当部402による割当数が決定部403によって決定された実スライス領域のスライス数に到達するまで繰り返される。このとき、各ディスクノード102−1〜102−nから選ばれた実スライス領域のスライス数が均等になるように選択することとしてもよい。
たとえば、各ディスクノード102−1〜102−nが有する実スライス領域の中から、実スライス領域を1つずつ順に選択して仮想ディスクVD1に割り当てる。なお、すべてのディスクノード102−1〜102−nから選択した結果、決定部403によって決定されたスライス数に到達していない場合は、再度、各ディスクノード102−1〜102−nが有する実スライス領域の中から実スライス領域を選択する。
これにより、ディスクノード102−1〜102−nが有する実スライス領域を、仮想ディスクVD1に均一に割り当てることができる。この結果、実スライス領域に対する書き込み/読み出し要求を、ディスクノード102−1〜102−nにおいて均等に分散処理することができる。
送信部405は、割当部402によって割り当てられた割当結果を割当要求の要求元に送信する機能を有する。具体的には、送信部405は、仮想ディスクVD1に割り当てたスライス領域のメタデータをクライアントノード103に送信する。送信部405による割当結果の送信タイミングは、仮想ディスクVD1に対する割当完了時でもよく、また、クライアントノード103からの割当結果の参照要求があったときでもよい。
より具体的には、たとえば、受信部401によってクライアントノード103からの割当結果の参照要求を受信すると、そのクライアントに対応する仮想ディスクに割り当てられたスライス領域のメタデータをアドレステーブル120の中から抽出し、抽出されたメタデータを割当結果としてクライアントノード103に送信する。
ここで、割当部402による割当結果の具体例について説明する。図5は、割当結果の具体例を示す説明図である。図5において、割当結果500は、仮想ディスクVD1に対して実スライス領域および仮想スライス領域を割り当てた割当結果である。具体的には、仮想ディスクアドレスとして、先頭から順にVD1−AD1,VD1−AD2,…,VD1−ADp,…,VD1−ADq,…,VD1−ADr,…が割り当てられている。
クライアントノード103は、この割当結果500を参照して、仮想ディスクVD1に対するアクセス要求をおこなう。具体的には、たとえば、仮想ディスクVD1上の仮想ディスクアドレス「VD1−AD1」を指定する場合、まず、割当結果500からディスクノードアドレス「ADDR1」を特定する。そして、特定されたディスクノードアドレス「ADDR1」用いてディスクノード102−1にアクセスする。このとき、書き込み/読み出し要求とともに、仮想ディスクID「VD1」と仮想ディスクアドレス「VD1−AD1」とを指定する。
また、送信部405は、割当結果とともに、要求された記憶容量の割当完了報告を要求元に送信することとしてもよい。具体的には、たとえば、送信部405は、割当結果500とともに、要求された記憶容量の割当が完了した旨のメッセージをクライアントノード103に送信する。
これにより、要求された記憶容量を満たす物理的な記憶領域が割り当てられていないにもかかわらず、要求された記憶容量分の記憶領域が割り当てられたかのようにクライアントノード103のユーザにみせることができる。
また、送信部405は、割当部402による割当結果が反映されたメタデータを、該メタデータを有するディスクノード102−1〜102−nに送信する。このとき、メタデータの変更要求もあわせて送信することとなる。
ここで、ディスクノード102−1〜102−nに送信されるメタデータの変更要求の具体例について説明する。図6は、メタデータの変更要求の具体例を示す説明図である。図6において、変更要求600は、ディスクノード102−iが有する各スライス領域に付与されているメタデータMi−1〜Mi−yの変更要求である。
具体的には、図6中網掛け表示された、ディスクノード102−iが有する実スライス領域Si−1のメタデータMi−1と、仮想スライス領域Si−(x+1)のメタデータMi−(x+1)との変更要求である。なお、変更対象となるメタデータMi−1,Mi−(x+1)のみを変更要求としてディスクノード102−iに送信することとしてもよい。
図4の説明に戻り、検出部406は、割当部402によって割り当てられたスライス領域に非対応のアドレスに対する書き込み要求を検出する機能を有する。具体的には、たとえば、受信部401によってクライアントノード103またはディスクノード102−1〜102−nからのエラー通知を受信することで、仮想スライス領域に対する書き込み要求が発生したことを検出する。
エラー通知とは、仮想スライス領域に対する書き込み要求が発生したことをあらわす情報である。このエラー通知には、アクセス元のクライアントノード103およびアクセス先の仮想スライス領域を特定する情報(仮想ディスクID、ディスクノードID、仮想ディスクアドレス、ディスクノードアドレスなど)が含まれている。これにより、どの仮想ディスクに割り当てられたどの仮想スライス領域に対する書き込み要求が発生したのかを特定することができる。
検索部407は、検出部406によってスライス領域に非対応のアドレスへの書き込み要求が検出された場合、アドレステーブル120の中から、割当部402によって割り当てられていない未割当のスライス領域のアドレスを検索する機能を有する。具体的には、割当フラグが「OFF」の任意の実スライス領域のアドレスを検索する。
このとき、仮想スライス領域に対する書き込み要求を受信したディスクノード(ディスクノード102−1〜102−nのいずれか)の実スライス領域のうち、割当フラグが「OFF」の任意の実スライス領域のアドレスを検索することとしてもよい。
変更部408は、書き込み要求が検出されたスライス領域に非対応のアドレスを、検索部407によって検索されたアドレスに変更する機能を有する。ここで、ディスクノード102−iの仮想スライス領域Si−(x+1)に対する書き込み要求が検出され、その結果、ディスクノード102−iの実スライス領域Si−2のアドレス「ADDRi−2」が検索された場合を例に挙げて、変更部408による変更処理について説明する。
図7は、変更前後のメタデータを示す説明図である。図7において、符号710は、変更部408による変更前のメタデータMi−(x+1),Mi−2である。また、符号720は、変更部408による変更後のメタデータMi−(x+1),Mi−2である。
具体的には、変更部408は、検索部407によってディスクノード102−iの実スライス領域Si−2のアドレス「ADDRi−2」が検索された場合、メタデータMi−(x+1)の仮想ディスクIDおよび仮想ディスクアドレスを「null」に変更し、メタデータMi−2の仮想ディスクIDおよび仮想ディスクアドレスを「VD1」および「VD1−ADr」に変更する。
これにより、仮想ディスクVD1に対する仮想スライス領域Si−(x+1)の割り当てが解除され、その換わりに、実スライス領域Si−2が仮想ディスクVD1に割り当てられる。この結果、仮想ディスクVD1に対して、物理的な記憶領域を持つ実スライス領域Si−2が割り当てられる。
また、送信部405は、変更部408によって変更された変更結果を要求元に送信する機能を有する。具体的には、例えば、送信部405は、図7に示した変更後のメタデータMi−(x+1),Mi−2をクライアントノード103に送信する。同様に、送信部405は、変更後のメタデータMi−(x+1),Mi−2を変更要求とともにディスクノード102−i(変更対象のメタデータを保持するディスクノード)に送信する。
この結果、クライアントノード103は、変更後のメタデータMi−(x+1),Mi−2を参照して、仮想スライス領域Si−(x+1)に対しておこなった書き込み要求を、実スライス領域Si−2におこなうことができる。具体的には、変更後のメタデータMi−2から特定されるディスクノードアドレス「ADDRi」を用いてディスクノード102−1にアクセスする。このとき、書き込み要求とともに、仮想ディスクID「VD1」と仮想ディスクアドレス「VD1−ADr」とを指定する。
なお、割当部402による仮想ディスクVD1に対する仮想スライス領域または実スライス領域の割当順序は任意であり、仮想スライス領域から割り当ててもよく、実スライス領域から割り当ててもよい。ただし、仮想ディスクVD1に割り当てるアドレスの配列として、先頭から実スライス領域のアドレスを配置し、後尾に仮想スライス領域に対応するアドレスを配置するほうが望ましい。
なぜなら、仮想ディスクに対するアクセス要求は先頭のアドレスから指定されるため、後尾に仮想スライス領域に対応するアドレスを配置することで仮想スライス領域にアクセスするまでの時間を遅らせることができる。この結果、実スライス領域の割り当てを遅らせることができ、ストレージシステム100全体の記憶領域の割当効率を向上させることができる。
つぎに、ディスクノード102−1〜102−n(以下、単に「ディスクノード102」と表記する)の機能的構成について説明する。図8は、ディスクノードの機能的構成を示すブロック図である。図8において、ディスクノード102は、受信部801と、変更部802と、送信部803と、実行部804と、を備えている。
これら各機能801〜804は、ディスクノード102のROM302,RAM303,ハードディスク305,光ディスク307などの記憶部に記憶された当該機能801〜804に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。また、各機能801〜804からの出力データは上記記憶部に保持される。また、図8中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。
まず、受信部801は、制御ノード101からメタデータの変更要求(たとえば、図6に示した変更要求600)を受信する機能を有する。ディスクノード102は、自ノードの実スライス領域および仮想スライス領域にそれぞれ付与されているメタデータを保持している。
変更部802は、受信部801によって受信された変更要求に基づいて、自ノードが保持しているメタデータを変更する機能を有する。具体的には、たとえば、変更要求を参照して、変更内容を保持しているメタデータにコピー(上書き)することで、メタデータの変更をおこなうことができる。
送信部803は、変更部802によるメタデータの変更が完了すると、変更応答を制御ノード101に送信する機能を有する。これにより、制御ノード101は、ディスクノード102におけるメタデータの変更処理が完了したことを認識することができる。
また、受信部801は、クライアントノード103からアクセス要求を受信する機能を有する。具体的には、特定の仮想ディスクIDと仮想ディスクアドレスとを指定する書き込み/読み出し要求をクライアントノード103から受信する。
実行部804は、受信部801によって受信されたアクセス要求を実行する機能を有する。具体的には、自ノードが管理するメタデータ、および受信部801によって受信された特定の仮想ディスクIDと仮想ディスクアドレスとを指定する書き込み/読み出し要求に基づいて、アクセス先のスライス領域のスライスIDを特定する。
このとき、特定されたスライスIDのスライス領域が実スライス領域であった場合、その実スライス領域に対するデータの書き込み/読み出しを実行する。また、特定されたスライスIDのスライス領域が仮想スライス領域であった場合には、その仮想スライス領域に対する要求内容に応じて以下の処理を実行する。
まず、仮想スライス領域に対するデータの読み出し要求があった場合には、予め設定されている値(たとえば、「0」)をROM302、RAM303などの記憶部から読み出す。一方、仮想スライス領域に対するデータの書き込み要求があった場合には、アドレスで指定された記憶領域が存在しない旨のエラーコードを記憶部から読み出す。
送信部803は、実行部804による実行結果をクライアントノード103または制御ノード101に送信する機能を有する。たとえば、実スライス領域に対するデータの書き込み/読み出し結果および仮想スライス領域に対する読み出し結果をクライアントノード103に送信する。
また、エラーコードが読み出された場合は、そのエラーコードを含むエラー通知をクライアントノード103または/および制御ノード101に送信する。このエラー通知には、たとえば、自ノードのディスクノードID、仮想ディスクの仮想ディスクID、仮想ディスクアドレスなどが含まれている。
(ストレージシステム100の各種処理手順)
つぎに、ストレージシステム100の各種処理手順について説明する。まず、メタデータの初期化処理手順について説明する。図9は、メタデータの初期化処理手順を示すシーケンス図である。図9において、まず、制御ノード101の送信部405により、メタデータの初期化要求をディスクノード102に送信する(ステップS901)。
このあと、ディスクノード102の受信部801により、メタデータの初期化要求を制御ノード101から受信し(ステップS902)、実行部804により、メタデータの初期化処理を実行する(ステップS903)。そして、送信部803により、メタデータの初期化処理が完了したことをあらわす初期化応答を制御ノード101に送信する(ステップS904)。
最後に、制御ノード101の受信部401により、メタデータの初期化応答をディスクノード102から受信する(ステップS905)。これにより、ストレージシステム100内のディスクノード102が保持するメタデータを初期化することができる。
つぎに、仮想ディスクに対する記憶容量の割当処理手順について説明する。図10は、仮想ディスクに対する記憶容量の割当処理手順を示すシーケンス図である。図10において、まず、制御ノード101の受信部401により、仮想ディスクに対する記憶容量の割当要求を受信したか否かを判断する(ステップS1001)。
ここで、割当要求を受信するのを待って(ステップS1001:No)、受信した場合(ステップS1001:Yes)、割当部402により、仮想ディスクに対する記憶容量の割当処理を実行する(ステップS1002)。そして、送信部405により、メタデータの変更要求をディスクノード102に送信する(ステップS1003)。
このあと、ディスクノード102の受信部801により、メタデータの変更要求を制御ノード101から受信し(ステップS1004)、変更部802により、メタデータの内容を変更し(ステップS1005)、送信部803により、メタデータの変更応答を制御ノード101に送信する(ステップS1006)。
最後に、制御ノード101の受信部401により、メタデータの変更応答をディスクノード102から受信する(ステップS1007)。
つぎに、図10に示したステップS1002における割当処理の具体的処理手順について説明する。図11は、割当処理の具体的処理手順を示すフローチャートである。図11のフローチャートにおいて、まず、要求された記憶容量を割り当てる仮想ディスクに、要求元のクライアントと対応付けられた新規の仮想ディスクIDを割り付ける(ステップS1101)。
このあと、決定部403により、仮想ディスクを構成するスライス数を決定し(ステップS1102)、仮想スライス領域および実スライス領域のスライス数を決定する(ステップS1103)。つぎに、選択部404により、アドレステーブル120を参照して、割当フラグが「OFF」の実スライス領域の中から、任意の実スライス領域を選択する(ステップS1104)。
そして、割当部402により、選択部404によって選択された実スライス領域のアドレスを仮想ディスクに割り当て(ステップS1105)、アドレステーブル120の記憶内容を更新する(ステップS1106)。
このあと、割当部402によって割り当てられた実スライス領域のスライス数が、ステップS1103において決定された実スライス領域のスライス数に到達したか否かを判断し(ステップS1107)、未到達の場合は(ステップS1107:No)、ステップS1104に戻る。
一方、到達した場合は(ステップS1107:Yes)、選択部404により、アドレステーブル120を参照して、割当フラグが「OFF」の仮想スライス領域の中から、任意の仮想スライス領域を選択する(ステップS1108)。
そして、割当部402により、選択部404によって選択された仮想スライス領域を仮想ディスクに割り当て(ステップS1109)、アドレステーブル120の記憶内容を更新する(ステップS1110)。
このあと、割当部402によって割り当てられた仮想スライス領域のスライス数が、ステップS1103において決定された仮想スライス領域のスライス数に到達したか否かを判断し(ステップS1111)、未到達の場合は(ステップS1111:No)、ステップS1108に戻る。一方、到達した場合は(ステップS1111:Yes)、図10に示したステップS1003に移行する。
つぎに、ディスクノード102におけるアクセス要求処理手順について説明する。図12は、ディスクノードにおけるアクセス要求処理手順を示すフローチャートである。図12のフローチャートにおいて、まず、受信部801により、クライアントノード103からアクセス要求を受信したか否かを判断する(ステップS1201)。
ここで、アクセス要求を受信するのを待って(ステップS1201:No)、受信した場合(ステップS1201:Yes)、アクセス要求が読み出し要求か否かを判断し(ステップS1202)、読み出し要求であった場合(ステップS1202:Yes)、アクセス先が実スライス領域か否かを判断する(ステップS1203)。
ここで、実スライス領域であった場合(ステップS1203:Yes)、実行部804により、指定されたアドレスの実スライス領域からデータを読み出す(ステップS1204)。一方、仮想スライス領域であった場合(ステップS1203:No)、実行部804により、予め設定された値を記憶部から読み出す(ステップS1205)。
また、ステップS1202において、アクセス要求が書き込み要求であった場合(ステップS1202:No)、アクセス先が実スライス領域か否かを判断する(ステップS1206)。ここで、実スライス領域であった場合(ステップS1206:Yes)、実行部804により、指定されたアドレスの実スライス領域にデータを書き込む(ステップS1207)。
一方、仮想スライス領域であった場合(ステップS1206:No)、実行部804により、エラーコードを記憶部から読み出す(ステップS1208)。最後に、送信部803により、アクセス応答をクライアントノード103に送信して(ステップS1209)、本フローチャートによる一連の処理を終了する。
なお、ステップS1208においてエラーコードを読み出した場合は、指定されたアドレスが存在しない旨のエラーメッセージをクライアントノード103(または/および制御ノード101)に送信することとなる。
つぎに、制御ノード101における、仮想スライス領域に換えて実スライス領域を仮想ディスクに割り当てる変更処理手順について説明する。図13は、制御ノードにおける変更処理手順を示すフローチャートである。図13のフローチャートにおいて、まず、検出部406により、仮想スライス領域に対する書き込み要求が検出されたか否かを判断する(ステップS1301)。
ここで、仮想スライス領域に対する書き込み要求が検出されるのを待って(ステップS1301:No)、検出された場合(ステップS1301:Yes)、検索部407により、アドレステーブル120の中から、割当フラグが「OFF」の実スライス領域のアドレスを検索し(ステップS1302)、変更部408により、書き込み要求が検出された仮想スライス領域に対応するアドレスを、検索部407によって検索されたアドレスに変更する(ステップS1303)。
そして、変更部408による変更結果に基づいてアドレステーブル120の記憶内容を更新し(ステップS1304)、最後に、送信部405により、変更部408による変更結果をクライアントノード103に送信して(ステップS1305)、本フローチャートによる一連の処理を終了する。
なお、ステップS1305において、変更対象となった仮想スライス領域および実スライス領域のメタデータを保持するディスクノード102に変更結果を送信することとしてもよい。
また、ステップS1302において、割当フラグが「OFF」の実スライス領域のアドレスが検索されなかった場合には、ディスクノード102(ディスク装置)を増設する必要がある旨のメッセージをストレージシステム100の管理者に提示することとしてもよい。
以上説明したように、本実施の形態によれば、制御ノード101により、仮想ディスクに対するストレージシステム100全体の記憶容量の割当状況を一元管理することができる。これにより、ストレージシステム100全体での最適な容量割当をおこなうことができる。
また、ストレージシステム100全体の記憶容量をディスクプールとすることにより、新たなディスクノードを追加するだけで、単一のディスクプールを拡張することができる。また、物理的な記憶領域が存在しない仮想スライス領域を仮想ディスクに割り当てることができる。これにより、ストレージシステム100全体の記憶容量以上の容量割当をおこなうことができる。
さらに、仮想スライス領域に対する書き込み要求が発生した場合に、その仮想スライス領域に換えて、物理的な記憶領域が存在する実スライス領域を仮想ディスクに割り当てることができる。この結果、クライアントからの書き込み要求を適切に処理することができる。
また、仮想ディスクに割り当てる仮想スライス領域および実スライス領域を複数のディスクノード102−1〜102−nで均等に分散することができる。これにより、仮想スライス領域および実スライス領域に対するアクセス要求を複数のディスクノード102−1〜102−nで分散処理することができる。
このように、この割当制御プログラム、割当制御装置、および割当制御方法によれば、ストレージシステム100全体の記憶容量の割当状況を一元管理することにより、効率的かつ効果的な容量割当をおこなうことができる。
なお、本実施の形態で説明した割当制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
ストレージシステムのシステム構成図である。 アドレステーブルのデータ構造を示す説明図である。 コンピュータ装置のハードウェア構成を示すブロック図である。 制御ノードの機能的構成を示すブロック図である。 割当結果の具体例を示す説明図である。 メタデータの変更要求の具体例を示す説明図である。 変更前後のメタデータを示す説明図である。 ディスクノードの機能的構成を示すブロック図である。 メタデータの初期化処理手順を示すシーケンス図である。 仮想ディスクに対する記憶容量の割当処理手順を示すシーケンス図である。 割当処理の具体的処理手順を示すフローチャートである。 ディスクノードにおけるアクセス要求処理手順を示すフローチャートである。 制御ノードにおける変更処理手順を示すフローチャートである。
符号の説明
100 ストレージシステム
101 制御ノード
102−1〜102−n,102 ディスクノード
120 アドレステーブル
401 受信部
402 割当部
403 決定部
404 選択部
405 送信部
406 検出部
407 検索部
408 変更部
801 受信部
802 変更部
803 送信部
804 実行部

Claims (7)

  1. 複数のストレージ装置に含まれるストレージ装置ごとに、当該ストレージ装置の記憶領域から分割されたスライス領域のアドレスの割当状況と、当該スライス領域に非対応のアドレスの割当状況とを記憶するアドレステーブルにアクセス可能なコンピュータを、
    任意の記憶容量の割当要求を受信する受信手段、
    前記受信手段によって前記割当要求が受信された場合、前記アドレステーブルを参照して、割当が要求された記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスのうち未割当のアドレスを割り当てるとともに、残余の容量分に前記スライス領域のアドレスのうち未割当のアドレスを割り当てる割当手段、
    前記割当手段によって割り当てられた割当結果を前記割当要求の要求元に送信する送信手段、
    として機能させることを特徴とする割当制御プログラム。
  2. 前記送信手段は、
    さらに、前記要求された記憶容量の割当完了報告を前記要求元に送信することを特徴とする請求項1に記載の割当制御プログラム。
  3. 前記コンピュータを、
    前記割当手段によって割り当てられた前記スライス領域に非対応のアドレスに対する書き込み要求を検出する検出手段、
    前記検出手段によって前記スライス領域に非対応のアドレスへの書き込み要求が検出された場合、前記アドレステーブルの中から、前記割当手段によって割り当てられていない未割当の前記スライス領域のアドレスを検索する検索手段、
    前記書き込み要求が検出された前記スライス領域に非対応のアドレスを、前記検索手段によって検索されたアドレスに変更する変更手段として機能させ、
    前記送信手段は、
    前記変更手段によって変更された変更結果を前記要求元に送信することを特徴とする請求項1または2に記載の割当制御プログラム。
  4. 記割当手段は、
    前記アドレステーブルを参照して、前記各ストレージ装置から選ばれた前記スライス領域に非対応のアドレス数が均等になるように、前記記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスを割り当てることを特徴とする請求項1〜3のいずれか一つに記載の割当制御プログラム。
  5. 前記割当手段は、
    前記アドレステーブルを参照して、前記各ストレージ装置から選ばれた前記スライス領域のアドレス数が均等になるように、前記残余の容量分に前記スライス領域のアドレスを割り当てることを特徴とする請求項4に記載の割当制御プログラム。
  6. 意の記憶容量の割当要求を受信する受信手段と、
    前記受信手段によって前記割当要求が受信された場合、複数のストレージ装置に含まれるストレージ装置ごとに、当該ストレージ装置の記憶領域から分割されたスライス領域のアドレスの割当状況と、当該スライス領域に非対応のアドレスの割当状況とを記憶するアドレステーブルを参照して、割当が要求された記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスのうち未割当のアドレスを割り当てるとともに、残余の容量分に前記スライス領域のアドレスのうち未割当のアドレスを割り当てる割当手段と、
    前記割当手段によって割り当てられた割当結果を前記割当要求の要求元に送信する送信手段と、
    を備えることを特徴とする割当制御装置。
  7. 任意の記憶容量の割当要求を受信する受信工程と、
    前記受信工程によって前記割当要求が受信された場合、複数のストレージ装置に含まれるストレージ装置ごとに、当該ストレージ装置の記憶領域から分割されたスライス領域のアドレスの割当状況と、当該スライス領域に非対応のアドレスの割当状況とを記憶するアドレステーブルを参照して、割当が要求された記憶容量の少なくとも一部の容量分に前記スライス領域に非対応のアドレスのうち未割当のアドレスを割り当てるとともに、残余の容量分に前記スライス領域のアドレスのうち未割当のアドレスを割り当てる割当工程と、
    前記割当工程によって割り当てられた割当結果を前記割当要求の要求元に送信する送信工程と、
    を含むことを特徴とする割当制御方法。
JP2008081734A 2008-03-26 2008-03-26 割当制御プログラム、割当制御装置、および割当制御方法 Expired - Fee Related JP5298594B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008081734A JP5298594B2 (ja) 2008-03-26 2008-03-26 割当制御プログラム、割当制御装置、および割当制御方法
US12/399,505 US8200935B2 (en) 2008-03-26 2009-03-06 Storage capacity allocation control apparatus and method thereof
EP09155020A EP2105828A2 (en) 2008-03-26 2009-03-12 Allocation control apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008081734A JP5298594B2 (ja) 2008-03-26 2008-03-26 割当制御プログラム、割当制御装置、および割当制御方法

Publications (2)

Publication Number Publication Date
JP2009237811A JP2009237811A (ja) 2009-10-15
JP5298594B2 true JP5298594B2 (ja) 2013-09-25

Family

ID=40792695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008081734A Expired - Fee Related JP5298594B2 (ja) 2008-03-26 2008-03-26 割当制御プログラム、割当制御装置、および割当制御方法

Country Status (3)

Country Link
US (1) US8200935B2 (ja)
EP (1) EP2105828A2 (ja)
JP (1) JP5298594B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727266B2 (en) * 2009-12-29 2017-08-08 International Business Machines Corporation Selecting storage units in a dispersed storage network
US10114697B2 (en) * 2012-06-25 2018-10-30 International Business Machines Corporation Large object parallel writing
US11093327B1 (en) 2012-06-25 2021-08-17 Pure Storage, Inc. Failure abatement approach for failed storage units common to multiple vaults
WO2015167579A1 (en) * 2014-05-02 2015-11-05 Hitachi, Ltd. Storage provisioning method and apparatus using device virtualization in heterogeneous storage environment
US20180293013A1 (en) * 2017-04-06 2018-10-11 Dell Products, Lp System and Method for Dynamically Allocating Storage Drives in a Storage Array
US11461023B1 (en) * 2018-01-31 2022-10-04 EMC IP Holding Company LLC Flexible expansion of data storage capacity

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
JP3481391B2 (ja) 1996-05-23 2003-12-22 日本電気株式会社 ファイルデータ分散格納方式
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
JP3555618B2 (ja) 2002-09-04 2004-08-18 日産自動車株式会社 四輪駆動車両の駆動力制御装置
JP4139675B2 (ja) * 2002-11-14 2008-08-27 株式会社日立製作所 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
US7082500B2 (en) * 2003-02-18 2006-07-25 Cray, Inc. Optimized high bandwidth cache coherence mechanism
JP4711688B2 (ja) * 2003-05-21 2011-06-29 富士通株式会社 ストレージシステム
JP4438457B2 (ja) * 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
EP1640873A4 (en) * 2003-06-27 2008-03-05 Fujitsu Ltd STORAGE CAPABILITY MANAGEMENT METHOD, ASSOCIATED SERVER, AND RECORDING MEDIUM
JP4244319B2 (ja) * 2003-12-17 2009-03-25 株式会社日立製作所 計算機システム管理プログラム,記録媒体,ならびに計算機システム管理システムおよびそのための管理装置および記憶装置
JP4987307B2 (ja) * 2005-03-25 2012-07-25 株式会社日立製作所 ストレージシステム
JP4723921B2 (ja) * 2005-06-13 2011-07-13 株式会社日立製作所 記憶制御装置及びその制御方法
JP4550717B2 (ja) 2005-10-28 2010-09-22 富士通株式会社 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
US20070261059A1 (en) * 2006-04-25 2007-11-08 Orth Joseph F Array-based memory abstraction

Also Published As

Publication number Publication date
US20090248995A1 (en) 2009-10-01
US8200935B2 (en) 2012-06-12
EP2105828A2 (en) 2009-09-30
JP2009237811A (ja) 2009-10-15

Similar Documents

Publication Publication Date Title
JP5276218B2 (ja) リアルタイムでlunをファイルに、またはファイルをlunに変換すること
JP4932390B2 (ja) 仮想化システム及び領域割当て制御方法
JP4671353B2 (ja) ストレージ装置及びその制御方法
US6889309B1 (en) Method and apparatus for implementing an enterprise virtual storage system
US8055723B2 (en) Virtual array site configuration
JP4437650B2 (ja) ストレージシステム
JP4701282B2 (ja) ストレージシステムおよびインタフェース管理方法
US8271612B2 (en) On-demand virtual storage capacity
JP5384576B2 (ja) 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用
JP4485230B2 (ja) マイグレーション実行方法
JP4452064B2 (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
JP5931196B2 (ja) I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法
JP5298594B2 (ja) 割当制御プログラム、割当制御装置、および割当制御方法
JP2007072813A (ja) ストレージシステム、ファイル移動方法、及びコンピュータプログラム
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP2010170411A (ja) 計算機システム、ストレージプール管理方法
JP2007272357A (ja) ストレージクラスタシステム、データ処理方法、及びプログラム
JP2004133885A (ja) 複製ボリュームを管理するための方法と装置
WO2015114745A1 (ja) 計算機及び計算機のi/o制御方法
JP4285058B2 (ja) ネットワーク管理プログラム、管理計算機及び管理方法
EP2187332A1 (en) Storage area allocation method and a management server
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
US20100146240A1 (en) Method, Application System and Storage Device for Managing Application Configuration Information
JP2003091449A (ja) ストレージシステムおよびストレージシステムの管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130218

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R150 Certificate of patent or registration of utility model

Ref document number: 5298594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees