JP5185445B2 - ストレージシステム及びストレージシステムにおける使用容量管理方法 - Google Patents

ストレージシステム及びストレージシステムにおける使用容量管理方法 Download PDF

Info

Publication number
JP5185445B2
JP5185445B2 JP2011532397A JP2011532397A JP5185445B2 JP 5185445 B2 JP5185445 B2 JP 5185445B2 JP 2011532397 A JP2011532397 A JP 2011532397A JP 2011532397 A JP2011532397 A JP 2011532397A JP 5185445 B2 JP5185445 B2 JP 5185445B2
Authority
JP
Japan
Prior art keywords
storage
storage device
capacity
user
usage amount
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
JP2011532397A
Other languages
English (en)
Other versions
JP2012516479A (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
Publication of JP2012516479A publication Critical patent/JP2012516479A/ja
Application granted granted Critical
Publication of JP5185445B2 publication Critical patent/JP5185445B2/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/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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

Landscapes

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

Description

本発明はストレージシステム及びストレージシステムにおける使用容量管理方法に係わり、特に複数のストレージ装置を含んだ階層構造を持つストレージシステムにおいて、ユーザ毎のストレージ資源使用容量を効率的にかつ公平に管理することを可能とするストレージシステム及びストレージシステムにおける使用容量管理方法に関する。
ネットワークに接続された複数のクライアント装置から、NFS(Network File System)、CIFS(Common Internet File System)等のプロトコルを用いてストレージ装置内に格納したファイルへのアクセスを可能とする機能を備えた、NAS(Network Attached Storage)と呼ばれるネットワーク対応ストレージ装置が実用化されている。ストレージ装置及びそれを利用したファイルサーバには、クオータ(Quota)と呼ばれる、ユーザ、グループ、ディレクトリ等を管理単位としてストレージ資源の使用量を制限する機能を備えるものが存在する。複数のネットワーク対応ストレージ装置からなるネットワークストレージシステムにおいて、ストレージ資源の使用量を制限する技術が、特許文献1に開示されている。
NASを含むストレージ装置には、様々な性能、容量を持つものが存在する。一般に、FC(Fibre Channel)やSAS(Serial Attached SCSI)等の高速なディスクを用いたストレージ装置は、I/O性能は高いが高価であり、記憶容量を多く用意するためには費用が嵩む。逆に、SATA(Serial Advanced Technology Attachment)ディスクや磁気テープ等を用いた装置は、I/O性能は低いが低コストで大記憶容量を確保しやすい。
これらのストレージ装置を階層的に接続し管理する技術として、階層化ストレージ管理(Hierarchical Storage Management、以下「HSM」)と呼ばれる技術が知られている。HSMでは、通常、上位階層に高速、小記憶容量のストレージ装置を、下位階層に低速、大記憶容量のストレージ装置を配置し、ユーザのストレージ資源利用頻度等を判断基準としてデータを上位から下位のストレージ装置へ移行することで、ストレージシステムの利用効率の向上を図っている。複数のストレージ装置を階層的に接続した階層ストレージシステムにおいて、ストレージ装置間でデータを移行する技術が、特許文献2に開示されている。
また、複数のストレージ装置からなるストレージシステムにおいて、ストレージシステムに格納したファイルのパス名等を統一的に管理する技術として、GNS(Global Name Space)と呼ばれる技術が知られている。GNSにより、ユーザは実際にファイルが格納されているストレージ装置を意識することなくファイルにアクセスすることができる。GNSを備えるNASファイルシステム仮想化技術が、特許文献3に開示されている。
特開2006-92322号公報 特開2006-195960号公報 特開2008-159027号公報
階層ストレージシステムは、データI/O性能、容量の異なる複数のストレージ装置を用いて構成するため、ストレージ装置間で単位記憶容量あたりの性能、価格等が異なる。したがって、従来の技術を用いて階層ストレージシステムに容量制限を設定した場合、同容量を割り当てられているユーザであっても、上位のより高性能なストレージ装置にデータが配置されているユーザと、下位の相対的に性能が低いストレージ装置にデータが配置されているユーザとの間で、性能面で不公平が発生する。
また、小容量でも高性能な記憶領域を求めるユーザと、低性能でも大容量な記憶領域を求めるユーザとが階層ストレージシステムのユーザの中に混在する場合に、各ユーザのニーズに応じた設定を行うことは困難である。例えば、各階層のストレージ装置に個別にユーザ毎の容量制限を設定するとすれば、多数のストレージ装置からなる階層ストレージシステムでは設定が煩雑になるという課題がある。
本発明は、前記の、及び他の課題を解決するためになされたもので、複数のストレージ装置を含んだ階層構造を持つストレージシステムにおいて、ユーザ毎のストレージ資源使用容量を効率的にかつ公平に管理することを可能とするストレージシステム及びストレージシステムにおける使用容量管理方法及びを提供することを目的とする。
前記の、及び他の目的を達成するために、本発明の一態様は、外部装置と通信可能に接続されており、前記外部装置が使用する記憶領域を提供するストレージシステム000であって、それぞれ前記記憶領域を提供する記憶媒体を有する、複数の性能の異なるストレージ装置と、前記ストレージ装置毎に、前記性能に応じて設定された当該ストレージ装置を使用する際に要する使用コストの指標であるストレージコスト係数と、前記外部装置から前記ストレージシステムを使用するユーザ毎に、前記各ストレージ装置の使用可能容量の指標であるユーザコスト割り当て情報と、前記使用可能容量を前記各ストレージ装置に分配する比率を規定しているユーザコスト分配情報とを保持しており、前記ストレージコスト係数と、前記ユーザコスト分配情報とから、各ユーザについての各ストレージ装置の理想的な使用容量配分を表す情報である理想使用量を算出し、各ユーザについて、前記各ストレージ装置に、性能の高いものから順に前記理想使用量を割り当てるストレージ制御部とを備えているストレージシステムである。
本発明によれば、複数のストレージ装置を含んだ階層構造を持つストレージシステムにおいて、ユーザ毎のストレージ資源使用容量を効率的にかつ公平に管理することが可能となる。
図1は、本発明の一実施形態に関わる階層ストレージシステム1000の構成例を示す図である。 図2は、階層ストレージシステム1000に含まれるストレージ装置1100,1200,1300として利用可能なストレージ装置200の構成例を示す図である。 図3は、階層ストレージシステム1000を利用するクライアント装置1500として使用することができるコンピュータ10の構成例を示す図である。 図4Aは、階層ストレージシステム1000に含まれる階層ストレージ制御装置2000の構成例を示す図である。 図4Bは、階層ストレージ制御プログラム2600の構成例を示す図である。 図5は、階層ストレージ制御装置2000に保持されている階層ストレージ使用容量管理テーブル3000の詳細を示す図である。 図6は、本発明の実施例1での使用可能コスト初期分配処理の手順の一例を示すフローチャートである。 図7は、本発明の実施例1での理想使用量計算処理の手順の一例を示すフローチャートである。 図8は、本発明の実施例1での初期容量チェック処理の手順の一例を示すフローチャートである。 図9は、本発明の実施例1での使用可能コスト分配変更処理の手順の一例を示すフローチャートである。 図10は、本発明の実施例1での変更容量チェック処理の手順の一例を示すフローチャートである。 図11は、本発明の実施例1での移行ファイル選択処理の手順の一例を示すフローチャートである。 図12は、本発明の実施例1でのファイル移行処理の手順の一例を示すフローチャートである。 図13は、本発明の実施例1でのファイル追加処理の手順の一例を示すフローチャートである。 図14は、本発明の実施例1でのファイル削除処理の手順の一例を示すフローチャートである。 図15は、本発明の実施例1での削除時ファイル移行処理の手順の一例を示すフローチャートである。 図16は、本発明の実施例1でのストレージ装置への容量追加処理の手順の一例を示すフローチャートである。 図17は、本発明の実施例2に関わる重複排除対応階層ストレージシステム15000の構成例を示す図である。 図18は、実施例2の重複排除対応階層ストレージ制御装置16000の構成例を示す図である。 図19は、重複排除操作時のストレージ装置1200のファイル格納状況を例示する図である。 図20は、重複排除操作時のストレージ装置1100、及び、ストレージ装置1200のファイル格納状況を例示する図である。
以下、本発明を実施するための形態について、図面を用いて説明する。なお、各図面で同一の構成には同一符号を付しその説明を省略する。
[実施例1]
まず、本発明の一実施例に即して本発明の構成、作用、及び効果を説明する。
実施例1による情報処理システム1の構成
図1は、本発明の実施例1による階層ストレージシステム1000を備えた情報処理システム1の構成例を示す図である。本実施例の階層ストレージシステム1000は、ストレージ装置1100(S1)、ストレージ装置1200(S2)、ストレージ装置1300(S3)、及び、階層ストレージ制御装置2000を備える。なお、符号S1〜S3は、ストレージ装置1100〜1300について、階層構造を構成する、性能及び容量が異なるストレージ資源である点に着目して区別する場合に使用するものとする。
ストレージ装置1100は、例えば、記憶媒体がSASディスクで構成されるストレージ装置であり、I/O性能は高速であるが容量は比較的に少ない。ストレージ装置1200は、例えば、記憶媒体がSATAディスクで構成されるストレージ装置であり、ストレージ装置1100よりもI/O性能は劣るが容量は比較的に大きい。ストレージ装置1300は、例えば、記憶媒体が磁気テープで構成されるストレージ装置であり、ストレージ装置1200よりもさらに低速であるが、最も大きな記憶容量を提供する。これらのストレージ装置1100〜1300は、階層ストレージ制御装置2000によって制御される。なお、本実施例の階層ストレージシステム1000は3階層のストレージ装置S1〜S3を備えた構成を有するが、さらに多数のストレージ装置からなる多階層の構成であってもよい。
階層ストレージシステム1000は、LAN(Local Area Network)等のネットワーク1400を介して複数のクライアント装置1500(外部装置)に接続される。情報処理システム1の管理者及びユーザは、クライアント装置1500からネットワーク1400を介して階層ストレージシステム1000にアクセスし、階層ストレージシステム1000の設定、及び、階層ストレージシステム1000内の各ストレージ装置1100〜1300に格納されるファイルの読み書きを行う。
ストレージ装置1100〜1300
図2に、ストレージ装置1100〜1300として使用することができるストレージ装置200の構成例を示している。ストレージ装置200は、情報処理システム1に含まれる各クライアント装置1500のデータ格納領域を提供するサブシステムである。図示のように、ストレージ装置200は、例えば複数のHDD(Hard Disk Drive)221を備えるディスク装置220によって編成された、適宜のタイプのRAID(Redundant Array of Independent (or Inexpensive) Disks)システムとすることができる。なお、階層化ストレージシステム1000に使用する場合、前記のように、インタフェースとしてSAS又はSATAを採用したHDD221を混在させて用いる。また、磁気テープ、SSD(Solid State Drive、半導体ドライブ)等の他の記憶媒体も適宜採用することができる。
ストレージ装置200は、ディスク装置220と、ディスク装置220のデータI/O処理を実行するディスク制御部210とを備える。
ディスク制御部210は、通信IFIF211、CPU212、キャッシュメモリ(Cache Memory、以下「CM」)213、共有メモリ(Shared Memory、以下「SM」)214、及びディスクIF215を備え、これらの間は内部バス230によって通信可能に接続されている。
CM213は、HDD221に書き込まれたデータ、あるいはHDD221から読み出されたデータを一時的に記憶するための記憶領域を提供する。SM214は、例えば、ストレージ装置200のデータI/Oを制御するためのプログラム、及びその制御に使用される各種管理テーブルを記憶する。
ディスクIF215は、ディスク制御部210とディスク装置220との間での通信を可能とするために設けられる通信インタフェースとしてのディスクアダプタ(DisK Adaptor、「DKA」)である。通信IF211は、後述する階層ストレージ制御装置2000との間を通信可能に接続する内部ネットワークとの通信制御機能を備え、例えばHBA(Host Bus Adaptor)である。
クライアント装置1500
図3に、情報処理システム1に接続されているクライアント装置1500として使用することができるコンピュータ10の構成例を示している。このコンピュータ10は、中央処理装置11(例えばCPU(Central Processing Unit)やMPU(Micro Processing Unit)、以下簡単のため「CPU」と称する)、主記憶装置12(例えばRAM(Random Access Memory)やROM(Read Only Memory))、補助記憶装置13(例えばHDD)、ユーザの操作入力を受け付ける入力装置14(例えばキーボードやマウス)、出力装置15(例えば液晶モニタ)、他の装置との間の通信を実現する通信インタフェース16(例えばNIC(Network Interface Card)やHBA(Host Bus Adapter))を備えている。
コンピュータ10で稼働するオペレーティングシステム(Operating System, OS)は特に特定のシステムに限定されることはないが、例えばUNIX(登録商標)系のオペレーティングシステムが好適に用いられる。また、クライアント装置1500には、ユーザ又は管理者が、入力装置14及び出力装置15を介して、階層ストレージ制御装置2000の階層ストレージ制御プログラム2600にアクセスして、後述の階層ストレージ使用容量管理テーブル3000の初期設定及び設定変更を行うことを可能とする階層ストレージ制御クライアントプログラムが実装される。あるいは、クライアント装置1500のいずれかを、階層ストレージシステム1000の管理専用の管理装置としてもよい。
階層ストレージ制御装置2000
図4Aに、階層ストレージシステム1000に設けられている階層ストレージ制御装置2000の構成例を示す。階層ストレージ制御装置2000は、CPU、MPU等で構成されるプロセッサ2100、ネットワークインタフェース2200、ディスクインタフェース2300、及びメモリ2400を備えて構成されている。
階層ストレージ制御装置2000は、例えばNICであるネットワークインタフェース2200、及び例えばLANであるネットワーク1400を介してクライアント装置1500と通信可能に接続している。また、階層ストレージ制御装置2000は、ディスクインタフェース2300を介してストレージ装置1100、ストレージ装置1200、ストレージ装置1300と通信可能に接続している。なお、ディスクインタフェース2300は、図2に例示した構成のストレージ装置200と接続する場合には、例えばHBA等の通信インタフェースとしてもよい。また、階層ストレージ制御装置2000は、ストレージ装置200のディスク制御部210の機能をあわせて備える構成であるとしてもよい。
RAM、ROM等で構成されるメモリ2400には、例えばUNIXであるOS、従来のストレージ管理プログラムである基本プログラム2500、本実施例の階層ストレージシステム1000を制御するための階層ストレージ制御プログラム2600、及び階層ストレージ制御プログラム2600が実行されるときに使用する階層ストレージ使用容量管理テーブル3000が格納される。
階層ストレージ制御装置2000は、基本プログラム2500及び階層ストレージ制御プログラム2600がCPU2100によって読み出されて実行されることにより、階層ストレージシステム1000全体の機能を制御する。
階層ストレージ制御プログラム2600
図4Bに、階層ストレージ制御プログラム2600(ストレージ制御部)の構成例を示している。本実施例の階層ストレージ制御プログラム2600は、初期分配処理部2601、理想使用量計算処理部2602、初期容量チェック処理部2603、分配変更処理部2604、変更容量チェック処理部2605、移行ファイル選択処理部2606、ファイル移行処理部2607、ファイル追加処理部2608、ファイル削除処理部2609、削除時ファイル移行処理部2610、及び容量追加処理部2611の各機能ブロックの機能を実現するためのプログラムから構成されている。これらの機能ブロックによって実現される具体的な機能は、各処理フローを示すフローチャートを参照して後述する。
なお、階層ストレージ制御プログラム2600は、必ずしもこれらの機能ブロックに分割して構成する必要はない。階層ストレージ制御プログラム2600全体として本実施例の機能が実現されるように構成してあればよい。また、上記のように、本明細書では、それぞれのプログラムによって実現される機能をハードウェアに擬して「××部」と称する。
階層ストレージ使用容量管理テーブル3000
図5に、階層ストレージ使用容量管理テーブル3000の構成例を示す。階層ストレージ使用容量管理テーブル3000は、本実施例の階層ストレージ制御プログラム2600が処理を実行する際に参照するデータを格納している。階層ストレージ使用容量管理テーブル3000は、ストレージ空き容量テーブル3100、ストレージコスト係数テーブル3200、ユーザコスト割り当てテーブル3300、ユーザコスト分配テーブル3400、ユーザ理想使用量テーブル3500、及びユーザ実使用量テーブル3600を備えて構成されている。
ストレージ空き容量テーブル3100は、ストレージ装置ID欄3101及び空き容量欄3102を有する。ストレージ装置ID欄3101には、階層ストレージシステム1000を構成する各ストレージ装置1100〜1300を識別するための識別符号であるストレージ装置IDS1〜S3が記録される。空き容量欄3102には、各ストレージ装置S1〜S3の空き容量3102が例えばテラバイト(TB)単位で記録される。
各ストレージ装置S1〜S3の空き容量は、例えば階層ストレージ制御装置2000の基本プログラム2500によって、各ストレージ装置S1〜S3から取得される。
ストレージコスト係数テーブル3200
ストレージコスト係数テーブル3200は、管理者が各ユーザに割り当てるコスト1単位あたりで使用を許されるストレージ装置の容量をストレージ装置毎に格納する。ストレージコスト係数テーブル3200は、ストレージ装置ID欄3201及びストレージコスト係数欄3202を有する。
例えば、本実施例では、コスト1単位で、ストレージ装置S1(1100)は1GB、ストレージ装置S2(1200)は10GB、ストレージ装置S3(1300)は100GBの容量を使用可能とするようにあらかじめ設定されている。この場合、ストレージ装置S1、S2、S3の順に、高性能で容量あたりのコストが高い設定となっている。
ストレージコスト係数3202の値は、例えば、管理者が、ストレージ装置S1〜S3の容量を取得金額で割って求まるビット単価の比や、カタログスペックの性能比に基づいて設定することができる。あるいは、階層ストレージ制御装置2000が、例えば基本プログラム2500によって各ストレージ装置S1〜S3のI/O性能を実測し、最も性能の低いストレージ装置の測定値を基準に各ストレージ装置の性能比を正規化した値を設定してもよい。
ユーザコスト割り当てテーブル3300
ユーザコスト割り当てテーブル3300は、管理者が各ユーザに割り当てた使用可能コストをユーザ毎に格納する。ユーザコスト割り当てテーブル3300は、ユーザを互いに識別するための識別符号であるユーザID欄3301及び使用可能コスト欄3302を有する。使用可能コスト3302は、管理者が、例えば、各ユーザA〜Cから徴収する使用料金に基づいて設定する。図5の例では、ユーザCが使用可能なコストは、ユーザA、Bの80%に設定されている。
ユーザコスト分配テーブル3400
ユーザコスト分配テーブル3400は、各ユーザA〜Cが、ストレージ装置S1〜S3毎に分配した使用可能コストを格納する。ユーザコスト分配テーブル3400は、ストレージ装置ID欄3401及び各ユーザA〜Cがストレージ装置S1〜S3に割り当てた分配コストを示す分配コスト欄3402を有する。
ユーザコスト分配テーブル3400は、ユーザコスト割り当てテーブル3300に格納される、各ユーザA〜Cに割り当てられた使用可能コスト内で、ユーザが各々のニーズにあわせて設定する。なお、ユーザコスト分配テーブル3400の初期値は、例えば、管理者によるユーザコスト割り当てテーブル3300の設定を契機に、階層ストレージ制御装置2000が、当該ユーザに割り当てられた使用可能コストをストレージ装置S1〜S3の数で等分した値(本実施例では三等分)を設定してもよい。
ユーザ理想使用量テーブル3500
ユーザ理想使用量テーブル3500は、ユーザA〜C及びストレージ装置S1〜S3毎に、ユーザが理想的に使用可能な容量を格納しており、階層ストレージ制御装置2000が階層ストレージシステム1000の使用容量制限に利用する。ユーザ理想使用量テーブル3500は、ストレージ装置ID欄3501及びユーザA〜C毎にストレージ装置S1〜S3について設定された理想使用量欄3502を有する。ユーザ理想使用量情報3500の値の設定及び変更手順の詳細は後述する。
ユーザ実使用量テーブル3600
ユーザ実使用量テーブル3600は、各ユーザが、ストレージ装置S1〜S3毎に実際に使用している記憶領域の容量を格納する。ユーザ実使用量テーブル3600は、ストレージ装置ID欄3601及び各ユーザA〜Cについてのストレージ装置S1〜S3の実使用量を示す実使用欄3602を有する。ユーザA〜C毎の各ストレージ装置S1〜S3の実使用量は、例えば階層ストレージ制御装置2000の基本プログラム2500が各ストレージ装置S1〜S3から取得する。
階層ストレージシステム1000で実行される処理フロー
以下、本実施例の階層ストレージシステム1000における、使用可能コスト初期分配処理、使用可能コスト分配変更処理、ファイル追加処理、ファイル削除処理、及び、ストレージ装置S1〜S3への容量追加処理について、フローチャートを用いて説明する。これらの処理は、図4Bに関して説明したように、階層ストレージ制御プログラム2600として実装され、階層ストレージ制御装置2000により実行される。なお、本発明の構成と直接関係しない従来のストレージ装置制御処理は、基本プログラム2500に実装されているものとして説明を省略する。なお、各フローチャートにおいて、符号Sは「ステップ」を表す。
使用可能コスト初期分配処理
図6は、本実施例の使用可能コスト初期分配処理の手順の一例を示すフローチャートである。本処理は、ユーザ又は管理者が、クライアント装置1500を通じてユーザ毎の使用可能コスト分配を初期設定する場合に、階層ストレージ制御部2600の初期分配処理部2601によって実行される。
使用可能コスト初期分配処理(S4000)では、最初に理想使用量計算処理(S5000)を実行し、次に初期容量チェック処理(S6000)を実行する。各処理ステップについては後述する。
理想使用量計算処理
図7は、理想使用量計算処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の理想使用量計算処理部2602で実行される理想使用量計算処理(S5000)では、ストレージコスト係数テーブル3200に格納される管理者によって設定されたコスト係数3202と、ユーザコスト分配テーブル3400に格納されるユーザによって分配された使用可能分配情報である分配コスト3402とを掛け合わせることで、ユーザ理想使用量テーブル3500に格納されるストレージ装置S1〜S3毎の理想使用容量3502を設定する処理(S5100)を、上位から下位のストレージ装置に対して(本実施例の場合、ストレージ装置S1からストレージ装置S3まで順に)繰り返して行う。
初期容量チェック処理
図8は、初期容量チェック処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の初期容量チェック処理部2603で実行される本手順では、ストレージ装置S1〜S3毎の仮実使用量と、あふれ量という一時変数を使用する。これらの初期値は0である。初期容量チェック処理(S6000)では、上位から下位のストレージ装置S1〜S3に対して、次の手順を繰り返す。最初に、当該ストレージ装置の仮実使用量と、ユーザ理想使用量テーブル3500に格納される当該ユーザ、ストレージ装置S1〜S3の理想使用量とを加えた値が、ストレージ空き容量テーブル3100に格納される当該ストレージ装置S1〜S3の空き容量よりも大きいかを判定する(S6100)。
仮実使用量と理想使用量とを加えた値が空き容量以下の場合(S6100、No)、次の階層のストレージ装置の処理に移る。仮実使用量と理想使用量とを加えた値が空き容量よりも大きい場合(S6100、Yes)、さらに下位のストレージ装置があるかを判定する(S6200)。下位のストレージ装置がない場合(S6200、No)、現在の各ストレージ装置S1〜S3の空き容量では指定された使用可能コスト分配より求まる理想使用容量の合計の容量のファイルを格納できないため、容量不足エラーをユーザ又は管理者に、例えばクライアント装置1500の出力装置15を通じて通知し(S6300)、処理を終了する。下位のストレージ装置がある場合(S6200、Yes)、あふれ量を、前記仮実使用量と前記理想使用量を加えた値から前記空き容量を減じた値とし(S6400)、あふれ量をひとつ下位のストレージ装置S2、S3の仮実使用量に加え(S6500)、次の階層のストレージ装置の処理に移る。
以上の使用可能コスト初期分配処理により、階層ストレージ制御装置2000は、与えられた使用可能コスト分配から理想使用量を計算し、計算した理想使用量の合計容量のファイルを現状の各ストレージ装置の空き容量で格納可能かをチェックする。理想使用量の合計容量のファイルを格納できない場合は、ユーザ又は管理者に容量不足エラーが通知される。
なお、階層ストレージ制御装置2000は、容量不足エラーを警告として管理者に通知するに留め、ユーザ理想使用量テーブル3500の設定を容認してもよい。この場合、管理者は、階層ストレージシステム1000の運用を進め、ユーザA〜Cが実際にファイルを追加することにより容量が足りなくなって実際にエラーが発生するまでに、ストレージ容量を追加する等の対応を行えばよい。
使用可能コスト分配変更処理
図9は、本実施例の使用可能コスト分配変更処理の手順の一例を示すフローチャートである。本処理は、ユーザ又は管理者が、クライアント装置1500を通じてユーザ毎の使用可能コスト分配を変更する場合に、階層ストレージ制御部2600の分配変更処理部2604によって実行される。使用可能コスト分配変更処理(S7000)では、最初に理想使用量計算処理(S5000)を実行し、次に変更容量チェック処理(S8000)を実行し、最後にファイル移行処理(S10000)を実行する。各処理ステップについては後述する。
変更容量チェック処理
図10は、変更容量チェック処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の変更容量チェック処理部2605によって実行される本手順では、ストレージ装置S1〜S3毎の仮実使用量と、あふれ量という一時変数を使用する。仮実使用量の初期値は、実使用量テーブル3600に格納される当該ユーザ、ストレージ装置の実使用量であり、あふれ量の初期値は0である。変更容量チェック処理(S8000)では、上位から下位のストレージ装置S1〜S3に対して、次の手順を繰り返す。
最初に、当該ストレージ装置の仮実使用量が、ストレージ空き容量情報3100に格納される当該ストレージ装置の空き容量よりも大きいかを判定する(S8100)。仮実使用量が空き容量よりも大きい場合(S8100、Yes)、さらに下位のストレージ装置があるかを判定する(S8200)。下位のストレージ装置がない場合(S8200、No)、例えばクライアント装置1500の出力装置15を通じて、容量不足エラーをユーザ又は管理者に通知し(S6300)、処理を終了する。下位のストレージ装置がある場合(S8200、Yes)、あふれ量を、前記仮実使用量から前記空き容量を減じた値とし(S8400)、後述する移行ファイル選択処理を実行し(S9000)、最初の判定(S8100)で仮実使用量が空き容量以下であった場合と同じ処理(S8500)に移る。
最初の判定(S8100)で仮実使用量が空き容量以下であった場合(S8100、No)、当該ストレージ装置S1〜S3の仮実使用量が、ユーザ理想使用量テーブル3500に格納される、当該ユーザ、ストレージ装置の理想使用量3502よりも大きいかを判定する(S8500)。仮実使用量が理想使用量よりも大きい場合(S8500、Yes)、さらに下位のストレージ装置があるかを判定する(S8600)。下位のストレージ装置がない場合(S8600、No)、例えばクライアント装置1500の出力装置15を通じて、容量不足エラーをユーザ又は管理者に通知し(S8300)、処理を終了する。下位のストレージ装置がある場合(S8600、Yes)、あふれ量を、前記仮実使用量から前記理想使用量を減じた値とし(S8700)、後述する移行ファイル選択処理を実行し(S9000)、次の階層のストレージ装置の処理に移る。
移行ファイル選択処理
図11は、移行ファイル選択処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の移行ファイル選択処理部2606によって実行される本手順では、上流手順よりあふれ量を実行引数として受け取り、移行量という一時変数を使用する。移行量の初期値は0である。移行ファイル選択処理(S9000)では、最初に、対象ストレージ装置S1〜S3に格納されているファイルに、移行対象として選択されていない、未選択のファイルがあるかを判定する(S9100)。本手順を最初に実行する場合、各ストレージ装置S1〜S3に格納されているすべてのファイルは未選択の状態である。
未選択のファイルがある場合(S9100、Yes)、その中からファイルをひとつ、移行対象ファイルとして選択する(S9200)。ファイル選択の基準は管理者又はユーザが任意に規定してよいが、ここでは、例えば、ファイルのアクセスタイムが最も古い、最近使われていないファイルを選択する。次に、選択したファイルのサイズを移行量に加え(S9300)、移行量があふれ量よりも小さいか判定する(S9400)。移行量があふれ量よりも小さい場合(S9400、Yes)、さらに移行対象となるファイルを選択するため、最初の判定(S9100)に戻る。移行量があふれ量以上の場合(S9400、No)、最初の判定(S9100)で未選択のファイルがない場合と同じ処理(S9500)に移る。
最初の判定(S9100)で未選択のファイルがない場合(S9100、No)、対象ストレージ装置の仮実使用量から移行量を減じる(S9500)。次に、ひとつ下位のストレージの仮実使用量に、移行量かあふれ量のいずれか大きいほうを加え(S9600)、処理を終了する。このような構成により、各ストレージ装置において、実使用量が理想使用量を上回る容量分の適切なファイルを選択して、より下位のストレージ装置へ移行させることができる。
ファイル移行処理
図12は、ファイル移行処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600のファイル移行処理部2607によって実行されるファイル移行処理(S10000)では、下位から上位のストレージ装置に対して、次の手順を繰り返す。最初に、ひとつ上位のストレージ装置に格納される移行対象ファイルを、対象ストレージ装置に移行する(S10100)。このとき、ストレージ空き容量テーブル3100に格納される、移行に関係するストレージ装置の空き容量を、移行対象ファイルのサイズ分増減する。次に、ユーザ実使用量情報3600に格納される、当該ユーザ、ひとつ上位のストレージ装置の実使用量から、移行対象ファイルのサイズを減じる(S10200)。最後に、ユーザ実使用量テーブル3600に格納される、当該ユーザ、対象ストレージ装置の実使用量に、移行対象ファイルのサイズを加える(S10300)。
以上の使用可能コスト分配変更処理により、階層ストレージ制御装置2000は、ユーザ毎の使用可能コストの分配が変更された場合に、既に階層ストレージシステム1000に格納されているファイルが変更後の設定で格納可能かをチェックし、格納不可能となるような設定変更を許可しない。
ファイル追加処理
図13は、本実施例のファイル追加処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600のファイル追加処理部2608によって実行される本手順では、ストレージ装置毎の仮実使用量という一時変数を使用する。仮実使用量の初期値は、実使用量テーブル3600に格納される当該ユーザ、ストレージ装置の実使用量である。ファイル追加処理(S11000)では、最初に、最上位のストレージ装置の仮実使用量に、追加対象ファイルのサイズを加える(S11100)。次に、前記仮実使用量が、ユーザ理想使用量テーブル3500に格納される当該ユーザ、ストレージ装置の理想使用量3502以下、かつ、ストレージ空き容量テーブル3100に格納される当該ストレージ装置の空き容量以下であるかを判定する(S11200)。
上記の条件が満たされない場合(S11200、No)、変更容量チェック処理(S8000)、及び、ファイル移行処理(S10000)を実行した後、条件が満たされた場合と同じ処理に移る。条件が満たされた場合、追加対象ファイルを最上位のストレージ装置に書き込む(S11300)。このとき、ストレージ空き容量テーブル3100の当該ストレージ装置の空き容量3101を、追加対象ファイルのサイズ分減じる。最後に、ユーザ実使用量テーブル3600に格納される、当該ユーザ、ストレージ装置の実使用量に追加対象ファイルのサイズを加える(S11400)。
以上のファイル追加処理により、階層ストレージ制御装置2000は、ストレージ空き容量テーブル3100及びユーザ理想使用量テーブル3500の制限を越えるファイルの追加を、変更容量チェック処理(S8000)でチェックし、容量不足となるようなファイル追加はエラー通知して許可しない。
ファイル削除処理
図14は、本実施例のファイル削除処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600のファイル削除処理部2609によって実行される本手順では、空き使用量という一時変数を使用する。空き使用量の初期値は0である。ファイル削除処理(S12000)では、最初に、クライアント装置1500の入力装置14を通じてユーザ又は管理者が指定した削除対象ファイルを格納するストレージ装置S1〜S3から削除対象ファイルを削除する(S12100)。このとき、ストレージ空き容量テーブル3100の当該ストレージ装置S1〜S3の空き容量3101を、削除対象ファイルのサイズ分増やす。次に、ユーザ実使用量テーブル3600に格納される、当該ユーザ、ストレージ装置の実使用量から削除対象ファイルのサイズを減じる(S12200)。
次に、下位のストレージ装置があるか判定する(S12300)。下位のストレージ装置がない場合(S12300、No)、処理を終了する。下位のストレージ装置がある場合(S12300、Yes)、空き使用量を削除対象ファイルのサイズとし(S12400)、ひとつ下位のストレージ装置に対して後述する削除時ファイル移行処理(S13000)を実行し、処理を終了する。
削除時ファイル移行処理
図15は、削除時ファイル移行処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の削除時ファイル移行処理部2610によって実行される本手順では、上流手順であるファイル削除処理より空き使用量を実行引数として受け取る。削除時ファイル移行処理(S13000)では、最初に、対象ストレージ装置S1〜S3にファイルが存在するか判定する(S13100)。
対象ストレージ装置にファイルが存在しない場合(S13100、No)、さらに下位のストレージ装置があるか判定する(S13200)。さらに下位のストレージ装置がない場合(S13200、No)、処理を終了する。さらに下位のストレージ装置が存在する場合(S13200、Yes)、さらにひとつ下位のストレージ装置に対して、削除時ファイル移行処理を実行する(S13300)。
対象ストレージ装置S1〜S3にファイルが存在する場合(S13100、Yes)、移行対象ファイルとしてファイルをひとつ選択する(S13300)。ファイル選択の基準は管理者又はユーザが任意に規定してよいが、ここでは、例えば、ファイルのアクセスタイムが最も新しい、最近使われたファイルを選択する。次に、選択したファイルのサイズが空き使用量以下であるか判定する(S13400)。選択したファイルのサイズが空き使用量よりも大きい場合(S13400、No)、処理を終了する。選択したファイルのサイズが空き使用量以下である場合(S13400、Yes)、選択したファイルをひとつ上位のストレージ装置へ移行する(S13500)。このとき、ストレージ空き容量テーブル3100に格納される、ひとつ上位のストレージ装置の空き容量3101を、移行対象ファイルのサイズ分減じる(対象ストレージ装置の空き容量は、後の処理S12000で増やされる)。
次に、ユーザ実使用量テーブル3600に格納される、当該ユーザの、ひとつ上位のストレージ装置の実使用量3601に、移行対象ファイルのサイズを加える(S13600)。次に、移行対象ファイルを削除対象ファイルとして、ファイル削除処理を実行する(S12000)。最後に、空き使用量から移行対象ファイルのサイズを減じて(S13800)、最初の判定(S13100)に戻る。
以上のファイル削除処理により、階層ストレージ制御装置2000は、上位のストレージ装置に格納されていたファイルを削除した場合に、ファイル削除によって発生した空き使用量に応じて、下位のストレージ装置に格納されていたファイルを上位に移行することができる。
容量追加処理
図16は、本実施例のストレージ装置への容量追加処理の手順の一例を示すフローチャートである。階層ストレージ制御部2600の容量追加処理部2611によって実行される本手順では、削除時ファイル移行処理と同様に、空き使用量という一時変数を使用する。空き使用量の初期値は0である。なお、本発明の特徴と直接関係しない、ストレージ装置S1〜S3への物理的な容量追加手順及び既存のストレージ装置管理手順は、例えば階層ストレージ制御装置2000の基本プログラム2500が実行するものとして、その説明は省略する。
また、以下の処理は階層ストレージシステム1000を使用するユーザA〜C毎に繰り返し行うが、特定のユーザA〜Cへの偏りをなくすため、ひとつのファイルを移行する毎に次のユーザA〜Cに処理を切り替えるという操作を、移行対象ファイル又は空き容量がなくなるまで繰り返してもよい。容量追加処理(S14000)では、最初に、ストレージ空き容量テーブル3100に格納される、増量対象となるストレージ装置S1〜S3の空き容量3101を追加する(S14100)。
次に、ユーザ実使用量情報3600に格納される当該ユーザ、ストレージ装置の実使用量が、ユーザ理想使用量情報3500に格納される当該ユーザ、ストレージ装置の理想使用量よりも小さいかを判定する(S14200)。前記実使用量が前記理想使用量以上である場合(S14200、No)、処理を終了する。前記実使用量が前記理想使用量より小さい場合(S14200、Yes)、空き使用量を、前記理想使用量から前記実使用量を減じたものとする(S14300)。
次に、空き使用量が、ストレージ空き容量テーブル3100に格納される当該ストレージ装置S1〜S3の空き容量3101以下であるかを判定する(S14400)。空き使用量が、前記空き容量よりも大きい場合(S14400、No)、空き使用量を、前記空き容量3101とし(S14500)、空き使用量が前記空き容量以下であった場合と同じ処理に移る。空き使用量が前記空き容量以下であった場合(S14400、Yes)、ひとつ下位のストレージ装置に対して、削除時ファイル移行処理を実行する(S13000)。
以上の容量追加処理により、階層ストレージ制御装置2000は、容量を追加した階層のストレージ装置に、下位ストレージ装置に格納されているファイルを移行することができる。階層ストレージシステム1000に新たに階層を追加する場合も、ユーザコスト分配テーブル3400、ユーザ理想使用量テーブル3500、及びユーザ実使用量テーブル3600に当該ストレージ階層分のエントリを追加し、それぞれの値を0として上記容量追加処理を行えばよい。
以上に説明したように、本実施例の階層ストレージシステム1000では、階層ストレージ制御装置2000がユーザ理想使用量テーブル3500及びユーザ実使用量テーブル3600を用いて使用量制限を実現するため、管理者はストレージコスト係数テーブル3200及びユーザコスト割り当てテーブル3300を設定することにより、効率的に使用量制限を設定することができる。
また、ユーザは、ユーザコスト分配テーブル3400を設定することにより、割り当てられた使用可能コスト内でストレージ装置S1〜S3の使用量制限を使用目的に合わせて柔軟に設定することができる。
[実施例2]
次に、本発明の階層ストレージシステムについて、他の実施例に即して説明する。図17は、本発明の実施例2に関わる重複排除対応階層ストレージシステム15000を備えた情報処理システム1の構成例を示す図である。重複排除対応階層ストレージシステム15000では、実施例1の階層ストレージシステム1000が備える階層ストレージ制御装置2000に代わり、重複排除対応階層ストレージ制御装置16000を備える。他の実施例1と同様の構成については、説明を省略する。
図18は、重複排除対応階層ストレージ制御装置16000の構成例を示す図である。重複排除対応階層ストレージ制御装置16000では、実施例1の階層ストレージ制御装置2000が備える階層ストレージ制御プログラム2600に代わり、重複排除対応階層ストレージ制御プログラム16100を備える。重複排除対応階層ストレージ制御プログラム16100は、実施例1で説明した階層ストレージ制御プログラム2600の機能に加え、ストレージ装置内及びストレージ装置間でファイルの重複排除を行う機能を備える。本実施例で説明するファイルの重複排除機能は、複数のストレージ装置S1〜S3に同じ内容のファイルが存在する場合に、それぞれのファイルのGNSファイルパスや作成日付などのファイル管理情報と、ひとつのファイルデータのみを残して重複するファイルデータを削除するという従来の重複排除機能に加え、階層ストレージ使用容量管理テーブル3000を更新する機能を備える。なお、従来の重複排除技術としては、例えばファイル単位で重複データを検出して排除するシングル・インスタンス・ストレージ(Single Instance Storage, SIS)方式等の既存技術があり、ここではその詳細の説明は省略する。
図19は、重複排除操作時のストレージ装置1200のファイル格納状況を表す。ストレージ装置1200(S2)には、ユーザAの使用するS2A領域17000と、ユーザBの使用するS2B領域17100があり、S2A領域17000にはファイル1(17200)が、S2B領域17100にはファイル2(17300)とファイル3(17400)が格納されている。
ここで、従来の重複排除技術により、ファイル1(17200)とファイル2(17300)とファイル3(17400)が同一内容であると検出され、重複排除の対象となったとする。本実施例の重複排除対応階層ストレージ制御装置16000は、同じユーザの使用領域内の重複ファイルを削除した場合、削除したファイルのサイズ分、ユーザ実使用量テーブル3600の当該ユーザ、ストレージ装置の実使用量3602を減らすが、異なるユーザの使用領域内の重複ファイルを削除した場合には、ユーザ実使用量テーブル3600に当該ユーザについて記録されている実使用量3602は減らさない。したがって、この例の場合、重複排除操作によりファイル1(17200)が残され、ファイル2(17300)及びファイル3(17400)が削除されるとすると、ユーザ実使用量テーブル3600に格納される、ユーザAのストレージ装置S2の実使用量3602は変化せず、ユーザBのストレージ装置S2の実使用量3602は当該ファイル1個分、重複排除対応階層ストレージ制御装置16000によって減らされる。また、ストレージ空き容量テーブル3100に格納されるストレージ装置S2の空き容量3101は当該ファイル1個分、重複排除対応階層ストレージ制御装置16000によって増やされる。
前記重複排除操作後、ファイル2(17300)又はファイル3(17400)に対するクライアント装置1500からの読み込みアクセスはファイル1(17200)に対して行われるように設定される。また、クライアント装置1500からのファイル2(17300)又はファイル3(17400)に対する書き込みアクセスは、ファイル1(17200)のデータをファイル2(17300)又はファイル3(17400)として複製した後、実行されるように設定される。この場合、ユーザ実使用量テーブル3600に変化はなく、ユーザ理想使用量テーブル3500の制限を越えてファイルが格納されることはない。
図20は、重複排除操作時のストレージ装置1100(S1)、及びストレージ装置1200(S2)のファイル格納状況を表す。ストレージ装置S1には、ユーザAの使用するS1A領域18000があり、ファイル4(18100)が格納されている。また、ストレージ装置S1のひとつ下の階層のストレージ装置S2の、ユーザAが使用するS2A領域17000にはファイル5(18200)が、ユーザBが使用するS2B領域17100にはファイル6(18300)が格納されている。
ここで、従来の重複排除技術により、ファイル4(18100)とファイル5(18200)とファイル6(18300)が同一内容であると検出され、重複排除の対象となったとする。本実施例の重複排除対応階層ストレージ制御装置16000は、階層の異なるストレージ装置S1、S2間で重複排除を行う場合、上位階層のストレージ装置S1に格納されるファイルを残し、下位階層のストレージ装置S2に格納される重複するファイルを削除するが、下位階層のストレージ装置S2のユーザ実使用量テーブル3600に記録されている実使用量3602を減らさない。したがって、この例の場合、重複排除操作により、ユーザ実使用量テーブル3600は変化せず、ストレージ空き容量テーブル3100に格納されるストレージ装置S2の空き容量3101は当該ファイル2個分増やされる。
前記重複排除操作後、ファイル5(18200)又はファイル6(18300)に対するクライアント装置1500からの読み込みアクセスはファイル4(18100)に対して行われるように設定される。また、ファイル5(18200)又はファイル6(18300)に対するクライアント装置1500からの書き込みアクセスは、ファイル4(18100)のデータをファイル5(18200)又はファイル6(18300)として複製した後に実行されるように設定される。この場合もまた、ユーザ実使用量テーブル3600に変化はなく、ユーザ理想使用量テーブル3500の制限を越えてファイルが格納されることはない。また、S1A領域(18000)からファイル4(18100)を削除する場合は、重複排除対応階層ストレージ制御装置16000は、ファイル4(18100)の内容を、ファイル5(18200)又はファイル6(18300)の内容として複製した後、実施例1記載のファイル削除処理を行えばよい。
以上説明したように、本実施例の重複排除対応階層ストレージシステム15000では、重複排除対応階層ストレージ制御装置16000が実行する重複排除操作により、ユーザ理想使用量テーブル3500による実施例1記載の使用量制限を実現しつつ、重複するファイルのデータを削除してストレージ装置の空き容量を増やし、ストレージ装置の領域を有効に活用することができる。
以上要するに、本発明の実施形態によれば、階層ストレージシステムにおいて、管理者はストレージ装置毎のコスト係数を定義しユーザ毎の使用可能コストを割り当てることにより、効率的に使用量制限を設定することができる。また、ユーザは割り当てられた使用可能コスト内でストレージ装置の使用量制限を使用目的に合わせて柔軟に設定することができる
以上、本願発明を、その実施例に即して添付図面を参照しながら説明したが、本願発明は、これらの実施例に限定されるものではない。また、本願発明の趣旨を逸脱しないいかなる変形例、均等物も本願発明の範囲内のものである。

Claims (15)

  1. 外部装置と通信可能に接続されており、前記外部装置が使用する記憶領域を提供するストレージシステムであって、
    それぞれ前記記憶領域を提供する記憶媒体を有する、複数の性能の異なるストレージ装置と、
    前記ストレージ装置毎に、前記性能に応じて設定された当該ストレージ装置を使用する際に要する使用コストの指標であるストレージコスト係数と、
    前記外部装置から前記ストレージシステムを使用するユーザ毎に、前記各ストレージ装置の使用可能容量の指標であるユーザコスト割り当て情報と、
    前記使用可能容量を前記各ストレージ装置に分配する比率を規定しているユーザコスト分配情報と、を保持しており、
    前記ストレージコスト係数と、前記ユーザコスト分配情報とから、各ユーザについての各ストレージ装置の理想的な使用容量配分を表す情報である理想使用量を算出し、
    各ユーザについて、前記各ストレージ装置に、性能の高いものから順に前記理想使用量を割り当てるストレージ制御部と、
    を備えているストレージシステム。
  2. 請求項1に記載のストレージシステムであって、
    前記ストレージ制御部が、
    前記複数のストレージ装置のうち、もっとも性能の高い最上位の前記ストレージ装置からユーザ毎の前記理想使用量を割り当て、前記理想使用量が前記ストレージ装置の空き容量を超える場合に、下位の階層の前記ストレージ装置があるかを判定し、あると判定された場合、上位の前記ストレージ装置の空き容量を超えた分を下位階層の前記ストレージ装置に順次割り当て、
    前記複数のストレージ装置の前記空き容量の範囲内で、各ストレージ装置に前記理想使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信し、
    前記ユーザコスト分配情報を変更する場合に、前記各ストレージ装置について、変更後の前記ユーザコスト分配情報と前記ストレージコスト係数とを用いて前記理想使用量を算出し、前記各ストレージ装置から取得した空き容量及び算出された前記各ストレージ装置に割り当てられている前記理想使用量を超えない範囲で、もっとも性能の高い前記ストレージ装置から順に前記各ストレージ装置のユーザ毎に取得した実使用量を割り当て、上位のストレージ装置で前記理想使用量を超えた分の容量に相当するデータを下位のストレージ装置に移行し、
    前記複数のストレージ装置の前記空き容量又は前記理想使用量の範囲内で、各ストレージ装置に変更後の前記実使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信し、
    前記ストレージコスト係数を、前記各ストレージ装置の性能実測値の比率に基づき設定し、前記性能実測値には、各ストレージ装置のデータI/O性能が含まれる、
    ストレージシステム。
  3. 請求項1に記載のストレージシステムであって、
    前記複数のストレージ装置は、SAS対応ディスク装置、SATA対応ディスク装置、及び磁気テープ装置のうちの少なくともいずれかの組み合わせを含んでおり、
    前記ストレージ制御部は、
    前記ストレージコスト係数を格納するストレージコスト係数テーブルと、
    前記ユーザコスト割り当て情報を格納するユーザコスト割り当てテーブルと、
    前記ユーザコスト分配情報を格納するユーザコスト分配テーブルと、
    前記各ストレージ装置の空き容量を取得してこれを保持しているストレージ空き容量テーブルと、を備え、
    前記ストレージコスト係数テーブルから読み出した前記ストレージコスト係数と、前記ユーザコスト分配テーブルから読み出した前記ユーザコスト分配情報とから各ユーザの各ストレージ装置についての前記理想使用量を算出し、
    前記ストレージ空き容量テーブルから読み出した前記各ストレージ装置の前記空き容量を超えない範囲内で、前記ストレージ装置として備えられている前記SAS対応ディスク装置、SATA対応ディスク装置、及び磁気テープ装置のうちの性能の高いものから順に前記理想使用量をユーザ毎に設定する、
    ストレージシステム。
  4. 請求項1に記載のストレージシステムであって、
    前記ストレージ制御部が、
    前記複数のストレージ装置のうち、もっとも性能の高い最上位の前記ストレージ装置からユーザ毎の前記理想使用量を割り当て、前記理想使用量が前記ストレージ装置の空き容量を超える場合に、下位の階層の前記ストレージ装置があるかを判定し、あると判定された場合、上位の前記ストレージ装置の空き容量を超えた分を下位階層の前記ストレージ装置に順次割り当てる、
    ストレージシステム。
  5. 請求項4に記載のストレージシステムであって、
    前記ストレージ制御部が、
    前記複数のストレージ装置の前記空き容量の範囲内で、各ストレージ装置に前記理想使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信する、
    ストレージシステム。
  6. 請求項1に記載のストレージシステムであって、
    前記ストレージ制御部が、
    前記ユーザコスト分配情報を変更する場合に、
    前記各ストレージ装置について、変更後の前記ユーザコスト分配情報と前記ストレージコスト係数とを用いて前記理想使用量を算出し、
    前記各ストレージ装置から取得した空き容量及び算出された前記各ストレージ装置に割り当てられている前記理想使用量を超えない範囲で、もっとも性能の高い前記ストレージ装置から順に前記各ストレージ装置のユーザ毎に取得した実使用量を割り当て、上位のストレージ装置で前記理想使用量を超えた分の容量に相当するデータを下位のストレージ装置に移行する、
    ストレージシステム。
  7. 請求項6に記載のストレージシステムであって、
    前記ストレージ制御部が、
    前記複数のストレージ装置の前記空き容量又は前記理想使用量の範囲内で、各ストレージ装置に変更後の前記実使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信する、
    ストレージシステム。
  8. 請求項1に記載のストレージシステムであって、
    前記ストレージ制御部が、前記ストレージコスト係数を、前記各ストレージ装置の性能実測値の比率に基づき設定し、前記性能実測値には、各ストレージ装置のデータI/O性能が含まれる、ストレージシステム。
  9. 請求項1に記載のストレージシステムであって、
    前記ストレージ制御部が、前記ストレージ装置に同一のデータが複数格納されているかを判定し、同一のデータが複数格納されていると判定した場合に、当該データに関するメタデータ及び1つのデータ本体を残して他の前記データを削除する、重複排除機能を備えている、ストレージシステム。
  10. 請求項9に記載のストレージシステムであって、
    前記各ストレージ装置には、前記外部装置から利用するユーザ毎にユーザ記憶領域が設定されており、
    前記ストレージ制御部が、前記ストレージ装置の同じ前記ユーザ記憶領域に同一のデータが複数格納されているかを判定し、同一のデータが複数格納されていると判定した場合に、当該データに関するメタデータ及び1つのデータ本体を残して他の前記データを削除するとともに、前記各ストレージ装置について取得されている記憶領域の実使用量から前記削除したデータ分の容量を減算する、ストレージシステム。
  11. 外部装置と通信可能に接続されており、前記外部装置が使用する記憶領域を提供するストレージシステムの使用容量管理方法であって、
    前記ストレージシステムは、それぞれ前記記憶領域を提供する記憶媒体を有する、複数の性能の異なるストレージ装置と、前記ストレージ装置毎に、前記性能に応じて設定された当該ストレージ装置を使用する際に要する使用コストの指標であるストレージコスト係数と、前記外部装置から前記ストレージシステムを使用するユーザ毎に、前記各ストレージ装置の使用可能容量の指標であるユーザコスト割り当て情報と、前記使用可能容量を前記各ストレージ装置に分配する比率を規定しているユーザコスト分配情報と、を保持しているストレージ制御部を備え、
    前記ストレージ制御部は、前記ストレージコスト係数と、前記ユーザコスト分配情報とから、各ユーザについての各ストレージ装置の理想的な使用容量配分を表す情報である理想使用量を算出し、
    各ユーザについて、前記各ストレージ装置に、性能の高いものから順に前記理想使用量を割り当てる、
    ストレージシステムの使用容量管理方法。
  12. 請求項11に記載のストレージシステムの使用容量管理方法であって、
    前記ストレージ制御部が、
    前記複数のストレージ装置のうち、もっとも性能の高い最上位の前記ストレージ装置からユーザ毎の前記理想使用量を割り当て、前記理想使用量が前記ストレージ装置の空き容量を超える場合に、下位の階層の前記ストレージ装置があるかを判定し、あると判定された場合、上位の前記ストレージ装置の空き容量を超えた分を下位階層の前記ストレージ装置に順次割り当てる、
    ストレージシステムの使用容量管理方法。
  13. 請求項12に記載のストレージシステムの使用容量管理方法であって、
    前記ストレージ制御部が、
    前記複数のストレージ装置の前記空き容量の範囲内で、各ストレージ装置に前記理想使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信する、
    ストレージシステムの使用容量管理方法。
  14. 請求項11に記載のストレージシステムの使用容量管理方法であって、
    前記ストレージ制御部が、
    前記ユーザコスト分配情報を変更する場合に、
    前記各ストレージ装置について、変更後の前記ユーザコスト分配情報と前記ストレージコスト係数とを用いて前記理想使用量を算出し、
    前記各ストレージ装置から取得した空き容量及び算出された前記各ストレージ装置に割り当てられている前記理想使用量を超えない範囲で、もっとも性能の高い前記ストレージ装置から順に前記各ストレージ装置のユーザ毎に取得した実使用量を割り当て、上位のストレージ装置で前記理想使用量を超えた分の容量に相当するデータを下位のストレージ装置に移行する、
    ストレージシステムの使用容量管理方法。
  15. 請求項14に記載のストレージシステムの使用容量管理方法であって、
    前記ストレージ制御部が、
    前記複数のストレージ装置の前記空き容量又は前記理想使用量の範囲内で、各ストレージ装置に変更後の前記実使用量を割り当てることができないと判定した場合、ストレージ装置の容量不足を示す容量不足エラー情報を該当ユーザが使用している前記外部装置に送信する、
    ストレージシステムの使用容量管理方法。
JP2011532397A 2009-05-13 2009-05-13 ストレージシステム及びストレージシステムにおける使用容量管理方法 Expired - Fee Related JP5185445B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/002074 WO2010131292A1 (en) 2009-05-13 2009-05-13 Storage system and utilization management method for storage system

Publications (2)

Publication Number Publication Date
JP2012516479A JP2012516479A (ja) 2012-07-19
JP5185445B2 true JP5185445B2 (ja) 2013-04-17

Family

ID=41323596

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532397A Expired - Fee Related JP5185445B2 (ja) 2009-05-13 2009-05-13 ストレージシステム及びストレージシステムにおける使用容量管理方法

Country Status (5)

Country Link
US (2) US8225066B2 (ja)
EP (1) EP2430516B1 (ja)
JP (1) JP5185445B2 (ja)
CN (1) CN102369506B (ja)
WO (1) WO2010131292A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008854A (ja) * 2010-06-25 2012-01-12 Hitachi Ltd ストレージ仮想化装置
US20120150818A1 (en) * 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US8996450B1 (en) * 2011-12-31 2015-03-31 Teradata Us, Inc. System and method for allocating resources in a mixed SSD and HDD storage environment
JP5998517B2 (ja) * 2012-02-24 2016-09-28 日本電気株式会社 ストレージシステム
WO2013147783A1 (en) * 2012-03-29 2013-10-03 Hitachi Data System Corporation Content selection for storage tiering
WO2014013524A1 (en) * 2012-07-18 2014-01-23 Hitachi, Ltd. Storage system and storage control method
CN103577117B (zh) * 2012-08-09 2017-07-25 深圳市腾讯计算机系统有限公司 数据存储方法及装置
US8930328B2 (en) 2012-11-13 2015-01-06 Hitachi, Ltd. Storage system, storage system control method, and storage control device
US9396459B2 (en) 2013-03-12 2016-07-19 Netapp, Inc. Capacity accounting for heterogeneous storage systems
JP5853996B2 (ja) * 2013-06-10 2016-02-09 コニカミノルタ株式会社 情報システム、情報機器およびコンピュータプログラム
CN103530355A (zh) * 2013-10-10 2014-01-22 曙光信息产业(北京)有限公司 数据对象的管理方法和装置
JP6075571B2 (ja) * 2014-10-31 2017-02-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層型ストレージ・システムでのファイルの移動方法
JP6394315B2 (ja) * 2014-11-20 2018-09-26 富士通株式会社 ストレージ管理装置、性能調整方法及び性能調整プログラム
CN105739911B (zh) 2014-12-12 2018-11-06 华为技术有限公司 存储数据的分配方法、装置以及存储系统
US11829333B2 (en) * 2015-05-08 2023-11-28 Chicago Mercantile Exchange Inc. Thread safe lock-free concurrent write operations for use with multi-threaded in-line logging
US11003381B2 (en) * 2017-03-07 2021-05-11 Samsung Electronics Co., Ltd. Non-volatile memory storage device capable of self-reporting performance capabilities
US10831371B2 (en) * 2018-01-02 2020-11-10 International Business Machines Corporation Quota controlled movement of data in a tiered storage system
CN111858144A (zh) * 2019-04-25 2020-10-30 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品
US11726684B1 (en) * 2021-02-26 2023-08-15 Pure Storage, Inc. Cluster rebalance using user defined rules

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
JPH09265416A (ja) * 1996-03-28 1997-10-07 Hitachi Ltd 階層的情報管理方法及びその実施装置
US6330621B1 (en) * 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
JP4677115B2 (ja) * 2001-04-17 2011-04-27 株式会社日立製作所 データ記憶装置の貸し出し課金方法
JP2004110290A (ja) * 2002-09-17 2004-04-08 Sony Corp データストレージシステム
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP4281658B2 (ja) 2004-09-24 2009-06-17 日本電気株式会社 ファイルアクセスサービスシステムとスイッチ装置及びクオータ管理方法並びにプログラム
US7404039B2 (en) * 2005-01-13 2008-07-22 International Business Machines Corporation Data migration with reduced contention and increased speed
JP4933861B2 (ja) 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US20080155214A1 (en) * 2006-12-21 2008-06-26 Hidehisa Shitomi Method and apparatus for file system virtualization
JP4375435B2 (ja) * 2007-05-23 2009-12-02 株式会社日立製作所 予知型データ移行を行う階層ストレージシステム
JP2010097359A (ja) 2008-10-15 2010-04-30 Hitachi Ltd ファイル管理方法および階層管理ファイルシステム

Also Published As

Publication number Publication date
WO2010131292A1 (en) 2010-11-18
US20120265961A1 (en) 2012-10-18
CN102369506A (zh) 2012-03-07
JP2012516479A (ja) 2012-07-19
US20110179247A1 (en) 2011-07-21
EP2430516B1 (en) 2018-07-11
US8612715B2 (en) 2013-12-17
EP2430516A1 (en) 2012-03-21
CN102369506B (zh) 2015-05-20
US8225066B2 (en) 2012-07-17

Similar Documents

Publication Publication Date Title
JP5185445B2 (ja) ストレージシステム及びストレージシステムにおける使用容量管理方法
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
US8706961B2 (en) Storage apparatus and data management method
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US8495331B2 (en) Storage apparatus and storage management method for storing entries in management tables
US8943270B2 (en) Storage system, storage control method and storage control program
JP5981563B2 (ja) 情報記憶システム及び情報記憶システムの制御方法
US9658779B2 (en) Computer system and control method for computer system
US20120011329A1 (en) Storage apparatus and storage management method
JP5706531B2 (ja) 計算機システム、及び情報管理方法
US8271559B2 (en) Storage system and method of controlling same
US20120011336A1 (en) Method of controlling information processing system and information apparatus
JP5073259B2 (ja) 仮想化システム及び領域割当て制御方法
US9250813B2 (en) Storage system coupled to a host computer and a management device
WO2016046911A1 (ja) ストレージシステム及びストレージシステムの管理方法
JP5395962B2 (ja) 計算機システム、及びその管理方法、並びに、プログラム
WO2015198441A1 (ja) 計算機システム、管理計算機、および管理方法
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
JP6100404B2 (ja) 計算機システムおよびその階層記憶の制御方法
JP2019191886A (ja) 情報処理装置,情報処理方法およびプログラム
WO2015189988A1 (ja) ファイル再配置ポリシーを出力する管理サーバ、及びストレージシステム
JP6035363B2 (ja) 管理計算機、計算機システム、及び管理方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121226

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees