[go: up one dir, main page]

JP5849794B2 - ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム Download PDF

Info

Publication number
JP5849794B2
JP5849794B2 JP2012060005A JP2012060005A JP5849794B2 JP 5849794 B2 JP5849794 B2 JP 5849794B2 JP 2012060005 A JP2012060005 A JP 2012060005A JP 2012060005 A JP2012060005 A JP 2012060005A JP 5849794 B2 JP5849794 B2 JP 5849794B2
Authority
JP
Japan
Prior art keywords
physical disk
capacity
allocation area
information indicating
usage
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
JP2012060005A
Other languages
English (en)
Other versions
JP2013196108A (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 JP2012060005A priority Critical patent/JP5849794B2/ja
Priority to US13/800,007 priority patent/US9164885B2/en
Publication of JP2013196108A publication Critical patent/JP2013196108A/ja
Application granted granted Critical
Publication of JP5849794B2 publication Critical patent/JP5849794B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/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
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラムに関する。
有限容量の物理的なディスク領域を有する物理的なストレージに対して、データを格納するためにユーザが要求した全容量を最初から割り当てるシックプロビジョニング方式という技術が知られている。シックプロビジョニング方式では、実際に使用する容量と無関係に要求された全容量が割り当てられるために、物理的なストレージを効率的に使用できい。
これに対して、物理的なディスク領域を効率的に利用するために、ユーザが要求した全容量を最初から割り当てるのではなく、データを格納するために実際に使用する容量を割り当てるシンプロビジョニング方式という技術が知られている。シンプロビジョニング方式では、ストレージに含まれる物理的なディスク領域を、ブロックと呼ばれる小さな領域(例えば、512KB)を単位として分割し、必要に応じて1ブロックずつ適宜割り当てる。つまり、割り当てられる容量が実際に格納するデータのデータ量に応じて1ブロック単位で徐々に拡縮する。例えば、100GBの仮想ディスクを作成した場合、作成と同時に物理的に100GBの領域を割り当てずに、実際にデータが格納される容量に応じたブロック数の領域が割り当てられる。
ところで、シンプロビジョニング方式では、物理的なストレージを効率的に利用できる一方で、個々のユーザに割り当てられる領域が物理的なディスク領域上で分散するため、シックプロビジョニング方式の技術に比べてI/O性能が悪化する場合がある。
そこで、仮想ディスクの作成時に物理的なディスク領域に固定数のブロックを予約しておく技術が知られている。この技術では、有限容量の物理的なディスク領域を有する物理的なストレージに仮想ディスクを作成するときに、固定数のブロックを予約している。
また、シンブロビジョニング方式を適用するときに、1つの論理ディスクに対して異なるI/Oパターンが存在している場合の性能向上を図る技術が知られている。この技術では、仮想的な論理ディスクを構築するストレージに対して、書込要求に応じてデータ領域を確保してデータの書き込む。このとき、シーケンシャルI/OまたはランダムI/OのデータのI/Oパターンに応じて、1つの論理ディスクに対して割り当てるポリシーを変更し、固定的なブロックを割り当てる。さらに、プログラムやデータを管理するファイリングシステムのファイル作成にあたって、ファイルを構成する物理ブロックの物理的な連続性を確保する技術が知られている。この技術では、ファイルの作成時に最初に確保した領域の直後に、連続的に物理ブロックを延長できる場合に、予備ブロックを拡張する。
特開2010−282608号公報 特開2010−086420号公報 特開平2−077949号公報
しかしながら、ストレージに格納するデータの容量は、時々刻々と変化する。従って、物理的なディスク領域に対して固定的なタイミング、例えば仮想ディスクの作成時や、ファイルの作成時にのみ、物理的なディスク領域上に割り当てる領域(ブロック)を考慮したのでは不充分である。また、物理的なディスク領域に対して固定的な領域を割り当てることでは、時々刻々と変化するストレージに格納するデータの容量に対応するには不充分である。
1つの側面では、ストレージのI/O性能の劣化の低減を図ることを目的とする。
開示の技術は、データが記録された記録領域を含む物理ディスクに、追加データを記録するための予約割当領域が割り当てられ、予約割当領域に追加データを記録する。これと共に、物理ディスクに記録されているデータ及び追加データの容量を物理ディスクの使用量として、設定された検知タイミングに基づいて検知し、前回の物理ディスクの使用量に対する現在の物理ディスクの使用量の増減量を求める。例えば、仮想化された環境の場合には、仮想ディスクを単位として、物理ディスクに記録されているデータ及び追加データの容量を物理ディスクの使用量とする。そして、設定された検知タイミングに基づいて検知し、前回の物理ディスクの使用量に対する現在の物理ディスクの使用量の増減量を求める。また、物理ディスクの使用量の増減量と予約割当領域の容量との比率を求め、比率に基づいて、予約割当領域の容量を変更するための変更容量を求める。求めた変更容量の予約割当領域が物理ディスクにおいて連続するように、予約割当領域を物理ディスクに割り当てる。
また、前回の物理ディスクの使用量を示す情報と、現在の物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、が対応付けて登録されたテーブルを記憶部に記憶する。また、設定された検知タイミングに基づいて、前記テーブルに格納された現在の物理ディスクの使用量を示す情報を前回の物理ディスクの使用量を示す情報として前記テーブルを更新する。かつ、検知した物理ディスクに割り当てられた記録領域の容量を示す情報を現在の物理ディスクの使用量を示す情報として前記テーブルを更新する。それと共に、前記比率に基づいて、物理ディスクの使用量を示す情報に対応する予約割当領域の変更容量を示す情報を前記テーブルの予約割当領域の容量を示す情報として更新する。そして、記憶部に記憶された前記テーブルに登録された容量の予約割当領域が物理ディスクにおいて連続するように、前記予約割当領域を物理ディスクに割り当てる
1つの実施態様では、ストレージのI/O性能の劣化の低減を図ることができる、という効果を有する。
本実施形態に係るコンピュータシステムの概略構成を示すブロック図である。 本実施形態に係るコンピュータシステムの詳細構成例を示すブロック図である。 本実施形態に係るストレージ装置の物理的な概念構成と、仮想的な概念構成の一例を示すイメージ図である。 物理ディスク管理テーブルの一例を示すイメージ図である。 フリーリストの一例を示すイメージ図である。 仮想ストレージ管理テーブルの一例を示すイメージ図である。 仮想ディスク管理テーブルの一例を示すイメージ図である。 予約割当領域容量変更基準テーブルの一例を示すイメージ図である。 縮小率テーブルの一例を示すイメージ図である。 拡大率テーブルの一例を示すイメージ図である。 計算ブロセスの処理の流れを示すフローチャートである。 仮想ストレージの空き容量に応じた拡大率及び縮小率の設定を模式的に示したイメージ図である。 要求受付プロセスの処理の流れを示すフローチャートである。 実行プロセスの処理の流れを示すフローチャートである。 物理ディスク管理プロセスの処理の流れを示すフローチャートである。 割当領域探索処理の流れを示すフローチャートである。 割当プロセスの処理の流れを示すフローチャートである。 予約割当領域を割り当てるときの具体的な一例を示すイメージ図である。 予約割当領域を割り当てるときの具体的な一例を示すイメージ図である。 予約割当領域を割り当てるときの具体的な一例を示すイメージ図である。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
図1には、本実施形態に係るコンピュータシステム10の概略構成が示されている。コンピュータシステム10は、LAN等によるネットワーク16に、複数台のコンピュータ(本実施形態では、サーバ)12と、サーバ12の各々が利用するストレージ装置21と、が各々接続されている。ストレージ装置21は、複数台の物理ディスクHDD-01,HDD-02,・・・,HDD-n(nは自然数)を含むストレージ部14と、ストレージ制御装置20と、を備えている。ストレージ部14とストレージ制御装置20とは、接続線18により接続されている。なお、ネットワーク16はインターネット等の通信ネットワークを含むことができる。
なお、図1では、サーバ12が複数台設けられた態様を示したが、複数台に限定されるものではなく、1台以上であればいくつであってもよい。
ストレージ制御装置20は、ストレージ部14の稼働を制御するためのものである。詳細は後述するが、ストレージ制御装置20は例えばコンピュータで実現される。ストレージ制御装置20は、受付部22,実行部24、管理部26,制御部28及び記憶部34を備えている。制御部28は、計算部30及び割当部32を含んでいる。また、記憶部34は、物理ディスク管理テーブル36,フリーリスト37,仮想ディスク管理テーブル38,仮想ストレージ管理テーブル39,予約割当領域容量変更基準テーブル40,縮小率テーブル42及び拡大率テーブル44の各情報が格納されている。
本実施形態では、ストレージ制御装置20は、複数台のサーバ12のデータを記録する装置として、シンプロビジョニング方式による技術によって、物理的なストレージ装置21を効率的に使用する。具体的には、データを格納するために実際に使用する容量をブロックと呼ばれる小さな領域単位で割り当てる。
図3には、本実施形態に係るストレージ装置21の物理的な概念イメージと、公知の仮想化技術によって実現される仮想的な概念イメージとが示されている。ストレージ装置21は、複数台の物理ディスクHDD-01〜HDD-nを含んでいる。仮想化技術は、複数台の物理ディスクをまとめて、あたかも1つの大容量なストレージであるかのように取り扱える仮想ストレージを実現する。さらに、仮想ストレージ上に仮想ディスクを実現する。例えば、500GBの容量を持つ物理ディスク2つをまとめて1TBの仮想ストレージとすると、物理ディスク単体の容量を超えた700GBの容量を持つディスクを仮想的に提供することもできる。ストレージ装置21は、1つ以上の仮想ディスクdisk-01〜disk-m(mは自然数)を含む少なくとも1つの仮想ストレージvststorage-01として取り扱うことができるように機能される。
なお、本実施形態では物理ストレージであるストレージ装置21を1つ以上の仮想ディスクdisk-01〜disk-m(mは自然数)を含む少なくとも1つの仮想ストレージvststorage-01として取り扱うときの一例を説明する。しかし、ストレージ装置21を仮想ディスクや仮想ストレージとして取り扱うことのみに限定されるものではなく、例えば物理ストレージとして扱うストレージ装置を混在させて用いても良い。
図2には、例えばコンピュータにより実現されるストレージ装置21を含むコンピュータシステム10の概略構成が示されている。
サーバ12は、例えば図2に示すコンピュータにより実現することができる。詳細には、サーバ12はCPU90A、メモリ90B、不揮発性の記憶部90Cを備え、これらはバス90Jを介して互いに接続されている。記憶部90CはHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。また、サーバ12はネットワーク16に接続するためのインタフェース(I/O)90Dを備え、I/O90Dはバス90Jに接続されている。なお、サーバ12は、一例として、ディスプレイ90E、キーボード90F、マウス90G及び記録媒体が挿入されて挿入された記録媒体に対して読み書きするための装置(R/W)90H等の入出力デバイスを備え、これらはバス90Jに接続されている。なお、これらの入出力デバイスは、省略してもよく、必要に応じてバス90Jに接続するようにしてもよい。サーバ12の記憶部90Cには、サーバ12を機能させるためのOS92及びアプリケーションプログラム94が記憶されている。CPU90Aは、OS92及びアプリケーションプログラム94を記憶部90Cから読み出してメモリ90Bに展開して、処理を実行する。
ストレージ装置21に含まれるストレージ部14の物理ディスクHDD-01は、例えば図2に示すように接続線18に接続するためのインタフェース(I/F)82,コントローラ84及びデータを格納するディスク86を含んでいる。例えば、物理ディスクHDD-01は、接続線18を介してI/F82に入力されたコマンドやデータに応じて、コントローラ84がディスク86にデータを書き込んだり変更したり消去したりする。
また、ストレージ装置21に含まれるストレージ制御装置20は、例えば図2に示すコンピュータ50により実現することができる。詳細には、コンピュータ50はCPU52、メモリ54、不揮発性の記憶部56を備え、これらはバス80を介して互いに接続されている。記憶部56はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。また、コンピュータ50はネットワーク16に接続するためのインタフェース(I/O)74を備え、I/O74はバス80に接続されかつネットワーク16に接続されている。また、コンピュータ50は接続線18に接続するためのインタフェース(I/F)76を備え、I/F76はバス80に接続されかつ接続線18に接続されている。なお、コンピュータ50は、一例として、ディスプレイ78A、キーボード78B、マウス78C及び記録媒体が挿入されて挿入された記録媒体に対して読み書きするための装置(R/W)78D等の入出力デバイス78を備え、これらはバス80に接続されている。なお、入出力デバイス78の一部または全ては、省略してもよく、必要に応じてバス80に接続するようにしてもよい。
コンピュータ50の記憶部56には、コンピュータ50を、ストレージ部14を制御する処理を実行するストレージ制御装置20として機能させるためのストレージ制御プログラム58が記憶されている。CPU52は、ストレージ制御プログラム58を記憶部56から読み出してメモリ54に展開し、ストレージ制御プログラム58に含まれるプロセスを順次実行する。つまり、ストレージ制御装置20がコンピュータ50で実現され、CPU52がストレージ制御プログラム58を実行することで、コンピュータ50はストレージ制御装置20として動作される。
なお、ストレージ制御プログラム58は、開示の技術におけるストレージ制御プログラムの一例である。また、ストレージ制御プログラム58は、コンピュータ50をストレージ制御装置20として機能させるためのプログラムでもある。
ストレージ制御プログラム58は、要求受付プロセス60、実行プロセス62、計算ブロセス66と割当プロセス68とを含む領域割当制御プロセス64及び物理ディスク管理プロセス70を有する。CPU52は、要求受付プロセス60を実行することで、図1のストレージ制御装置20における受付部22として動作する。すなわち、ストレージ制御装置20がコンピュータ50で実現され、要求受付プロセス60を実行することでコンピュータ50はストレージ制御装置20の受付部22として動作される。また、CPU52は、実行プロセス62を実行することで、図1のストレージ制御装置20における実行部24として動作する。すなわち、ストレージ制御装置20がコンピュータ50で実現され、実行プロセス62を実行することでコンピュータ50はストレージ制御装置20の実行部24として動作される。
また、CPU52は、領域割当制御プロセス64を実行することで、図1のストレージ制御装置20における制御部28として動作する。すなわち、ストレージ制御装置20がコンピュータ50で実現され、領域割当制御プロセス64を実行することで、コンピュータ50はストレージ制御装置20の制御部28として動作される。なお、CPU52が、領域割当制御プロセス64に含まれる計算ブロセス66を実行することで、コンピュータ50はストレージ制御装置20の計算部30として動作される。また、CPU52が、領域割当制御プロセス64に含まれる割当プロセス68を実行することで、コンピュータ50はストレージ制御装置20の割当部32として動作される。
また、CPU52は、物理ディスク管理プロセス70を実行することで、図1のストレージ制御装置20における管理部26として動作する。すなわち、ストレージ制御装置20がコンピュータ50で実現され、物理ディスク管理プロセス70を実行することでコンピュータ50はストレージ制御装置20の管理部26として動作される。
また、コンピュータ50の記憶部56には、データベース72が記憶されている。データベース72は、物理ディスク管理テーブル36,フリーリスト37,仮想ディスク管理テーブル38,仮想ストレージ管理テーブル39,予約割当領域容量変更基準テーブル40,縮小率テーブル42及び拡大率テーブル44を含んでいる。コンピュータ50の記憶部56に記憶されたデータベース72は図1のストレージ制御装置20の記憶部34に対応する。
物理ディスク管理テーブル36は、ストレージ装置21のストレージ部14において物理ディスクと、仮想ストレージ及び仮想ディスクとの関係を示す情報をテーブルとしてデータベース72に格納したものである。
データベース72に格納される物理ディスク管理テーブル36の一例を図4に示す。物理ディスク管理テーブル36は、「物理ディスクの識別子」、「ブロック番号」、「状態」、「ゼロクリア」、「割当先の仮想ストレージ」、及び「割当先の仮想ディスク」の各情報が対応付けて各々登録されている。図4に示す物理ディスク管理テーブル36における「物理ディスクの識別子」の情報は、ストレージ部14に含まれる物理ディスクHDD-01〜HDD-nの何れかを識別するための識別子を示す情報である。また、「ブロック番号」の情報は、例えば512KBの小さな領域を1ブロックとして物理ディスクHDD-01の記憶領域を複数のブロックに分割したときの物理ディスクHDD-01上における各ブロックの位置を示す情報である。なお、ブロック番号の最大値は、物理ディスクの容量に依存して決定される。
また、「状態」の情報は、初期状態及び通常状態のとき、「正常」を示すデータが格納される。例えば、ブロックが読取不能になった等のように壊れた場合に 「異常」を示すデータが格納される。また、「ゼロクリア」の情報は、ブロックが初期化された状態である場合に 「TRUE」を示すデータが格納される。例えば、データ書込み時には「FALSE」を示すデータが格納される。例えば、実行部24がブロックへのデータ書込み時に管理部26に通知し、通知を受けた管理部26が当該ブロックの「ゼロクリア」の情報として「FALSE」を示すデータを格納する。また、「割当先の仮想ストレージ」の情報は、当該ブロックの割当先の仮想ストレージを示すデータ(例えば仮想ストレージの識別子)が格納される。
また、「割当先の仮想ディスク」の情報は、当該ブロックの割当先の仮想ディスクを示すデータ(例えば仮想ディスクの識別子)が格納される。なお、「ゼロクリア」及び「割当先の仮想ディスク」の情報は、関係性を有する。すなわち、「ゼロクリア」及び「割当先の仮想ディスク」の情報は、初期状態(未使用)のブロックの場合、「ゼロクリア」に「TRUE」が格納されかつ「割当先の仮想ディスク」に「−」が格納される。また、詳細を後述する予測により、データ書込みに先行して仮想ディスクに割当られたブロックの場合、「ゼロクリア」に「TRUE」が格納されかつ「割当先の仮想ディスク」に「仮想ディスクの識別子」が格納される。また、仮想ディスクに割当られて、データが書込まれたブロックの場合、「ゼロクリア」に「FALSE」が格納されかつ「割当先の仮想ディスク」に「仮想ディスクの識別子」が格納される。また、仮想ディスクが削除され、初期化中であるブロックの場合、「ゼロクリア」に「FALSE」が格納されかつ「割当先の仮想ディスク」に非割当を示す「−」が格納される。
図4の物理ディスク管理テーブル36では、物理ディスクの使用状況に応じて配列した一例を示した。具体的には、テーブル欄36−1では、物理ディスクHDD-01において、ブロック番号が0x000001〜0x00000F の領域に仮想ディスクdisk-01 のデータが書込まれていることを示す。テーブル欄36−2では、物理ディスクHDD-01において、ブロック番号が0x000010〜0x000017 の領域に仮想ディスクdisk-02 のデータが書込まれていることを示す。テーブル欄36−3では、物理ディスクHDD-01において、ブロック番号が0x000018〜0x00001E の領域に仮想ディスクdisk-01 のデータが書込まれていることを示す。テーブル欄36−4では、物理ディスクHDD-01において、ブロック番号が0x00001F〜0x000022 の領域が仮想ディスクdisk-01 が使うことを予測して割当てられていることを示す。テーブル欄36−5では、物理ディスクHDD-01のブロック番号が0x000023以降の領域及び物理ディスクHDD-02において、未使用の領域(空き領域)であることを示す。
なお、本実施形態では、管理部26において、物理ディスク上の空き領域(初期状態のブロック)の管理を容易にするために、物理ディスク管理テーブル36の他にフリーリスト37を用いている。なお、フリーリスト37は、開示の技術では必ずしも必要なものではなく、省略してもよい。フリーリスト37は、空き領域の先頭ブロック番号と末尾ブロック番号の組を保持する。フリーリスト37は、一例として図5に示すように、「仮想ストレージの識別子」、「物理ディスクの識別子」、「先頭ブロック番号」、及び「末尾のブロック番号」の各情報が対応付けて各々登録されている。
コンピュータ50のデータベース72に含まれる仮想ストレージ管理テーブル39は、仮想ストレージと物理ディスクとが対応付けられた情報を登録したものである。仮想ストレージ管理テーブル39の一例を図6に示す。仮想ストレージ管理テーブル39には、「仮想ストレージの識別子」、「仮想ストレージの物理的容量」、「仮想ストレージの物理的空き容量」、「使用済み容量の割合」、及び「割り当てた物理ディスクの識別子」の各情報が対応付けて各々登録されている。なお、仮想ストレージの物理的な容量は、仮想ストレージに割り当てた物理ディスクの容量の合計値を示す情報である。また、仮想ストレージの物理的な空き容量は、仮想ストレージに割り当てた物理ディスクの空き容量の合計値を示す情報である。
また、データベース72に含まれる仮想ディスク管理テーブル38は、仮想ディスクの稼働状況を示す情報を登録したものである。仮想ディスク管理テーブル38の一例を図7に示す。仮想ディスク管理テーブル38には、「仮想ディスクの識別子」、「仮想ディスクの容量」、「割当済容量」の各情報が対応付けて各々登録されている。また、仮想ディスク管理テーブル38には、「作成元の仮想ストレージの識別子」、「前回チェックの使用量」、「現在の実使用量」、「予約割当の容量」、及び「前回判定」の各情報が対応付けて各々登録されている。
図7に示す仮想ディスク管理テーブル38における「仮想ディスクの識別子」の情報は、仮想ディスクを識別するための情報である。また、「仮想ディスクの容量」の情報は、仮想ディスクに対して予め定められた容量を示す情報である。また、「割当済容量」の情報は、データを書き込むために仮想ディスクに対して実際に割り当てられた容量を示す情報である。また、「作成元の仮想ストレージの識別子」の情報は、仮想ディスクが作成されたときの作成元の仮想ストレージを識別するための情報である。また、「前回チェックの使用量」の情報は、詳細を後述する領域割当制御処理によって仮想ディスクの使用量が定期的に検知されるときの前回の検知結果の実使用量を示す情報である。また、「現在の実使用量」の情報は、詳細を後述する領域割当制御処理による現在の検知結果の実使用量を示す情報である。また、「予約割当の容量」の情報は、詳細を後述する領域割当制御処理によって仮想ディスクの使用量が定期的に検知されるときに計算される予約割当領域の容量を示す情報である。また、「前回判定」の情報は、詳細を後述する領域割当制御処理による仮想ディスクの使用量に対して予約割当領域の増減または維持の判定結果を示す情報である。
また、データベース72に含まれる予約割当領域容量変更基準テーブル40は、予約割当領域容量を拡縮するときの判定基準を示す情報を登録したものである。具体的には、詳細を後述する領域割当制御処理によって仮想ディスクの使用量が定期的に検知されるときに、物理ディスクに連続したブロックを予約割当する領域の容量について拡大、縮小、及び割当中止の判定基準を示す。予約割当領域容量変更基準テーブル40の一例を図8に示す。予約割当領域容量変更基準テーブル40には、「状態名」、「閾値」、「X」、及び「Y」の各情報が対応付けて各々登録されている。
図8に示す予約割当領域容量変更基準テーブル40における「状態名」の情報は、仮想ストレージの物理的な空き容量の状態を示す情報である。つまり、仮想ストレージに属する物理ディスクの空き容量の総量についての状態である。本実施形態では、状態A、状態B、状態C、及び状態Dの4つの状態を用いている。状態Aは、仮想ストレージの物理的な空き容量に余裕がある状態を示す。状態Bは、仮想ストレージの物理的な空き容量が予め定めた標準的な状態を示す。状態Cは、仮想ストレージの物理的な空き容量が少ない状態を示す。状態Dは、仮想ストレージの物理的な空き容量がわずかである状態を示す。なお、本実施形態では、状態A、状態B、状態C、及び状態Dの4つの状態を使用する場合を説明するが、開示の技術は、4つの状態に限定されるものではない。例えば、2つの状態や3つの状態でもよく、5つ以上の状態でもよい。
予約割当領域容量変更基準テーブル40における「閾値」の情報は、上記「状態名」の情報である状態A、状態B、状態C、及び状態Dの各々に対応する使用済容量の割合の閾値を示す。この使用済容量の割合とは、仮想ストレージの物理的な容量に対して仮想ストレージの物理的な空き容量の割合を示す。図8では、閾値として、状態Aが30%、状態Bが60%、状態Cが80%、及び状態Dが90%のデータが格納される一例を示している。例えば、仮想ストレージの使用済容量の割合が30%以下のとき余裕のある状態A、30%を超えて60%未満のとき標準的な状態B、60%を超えて80%未満のとき警告を要する状態C、80%を超えて90%未満のとき逼迫状態Dとなる。この場合、仮想ストレージの使用済容量の割合が90%以上のとき、緊急状態として他の処理へ移行することができる。なお、逼迫状態Dは、80%を超えているときの状態としてもよい。つまり、80%を超えて100%までを逼迫状態Dとしてもよい。
また、予約割当領域容量変更基準テーブル40における「X」及び「Y」の情報は、拡大縮小の判定基準値を示す情報である。拡大縮小の判定基準値とは、予め割り当てられている予約割当領域の容量に対する実際の物理ディスクに記録されたデータの増減量の比率の判定基準値を示す。図8では、縮小の判定基準値Xとして、状態Aが30%、状態Bが50%、及び状態Cが70%のデータが格納される一例を示している。なお、状態Dのときの縮小の判定基準値Xは、仮想ストレージの物理的な空き容量がわずかであることが推測されるため、物理ディスクに予約割当領域を設定することを中止することを示す情報が格納される。また、拡大の判定基準値Yとして、状態Aが80%、状態Bが100%、及び状態Cが150%のデータが格納される一例を示している。なお、状態Dのときの拡大の判定基準値Yは、縮小の判定基準値と同様に、物理ディスクに予約割当領域を設定することを中止することを示す情報が格納される。
縮小の判定基準値Xは、図9に示す縮小率テーブル42と連動する。図9には、縮小率テーブル42の一例を示す。縮小率テーブル42には、「適用状態名」、「増加量の割合」、及び「縮小率」の各情報が対応付けて各々登録されている。予約割当領域容量変更基準テーブル40の縮小の判定基準値Xに対して縮小率テーブル42の増加量の割合が基準値となり、縮小率が設定される。例えば、余裕のある状態Aで、増加量の割合が0〜30%の場合に予約割当領域の容量に対する縮小率は、「0.7」が設定される。また、標準的な状態Bで、増加量の割合が0〜50%の場合に予約割当領域の容量に対する縮小率は、「0.5」が設定される。なお、本実施形態では、警告を要する状態Cについて、段階的な縮小率を設定可能にしている。例えば増加量の割合を0〜70%について3段階に分類して設定できる。つまり、状態Cで、増加量の割合が0〜30%のとき予約割当領域の容量に対する縮小率は「0.3」が設定され、増加量の割合が30〜50%のとき縮小率は「0.5」が設定され、増加量の割合が50〜70%のとき縮小率は「0.7」が設定される。なお境界値(30%または50%)のときは、何れか一方の縮小率を使用する定義を予め設定すればよい。
また、拡大の判定基準値Yは、図10に示す拡大率テーブル44と連動する。図10には、拡大率テーブル44の一例を示す。拡大率テーブル44には、「適用状態名」、「増加量の割合」、及び「拡大率」の各情報が対応付けて各々登録されている。予約割当領域容量変更基準テーブル40の拡大の判定基準値Yに対して拡大率テーブル44の増加量の割合が基準値となり、拡大率が設定される。本実施形態では、余裕のある状態Aについて、段階的な拡大率を設定可能にしている。例えば増加量の割合が80%以上について3段階に分類して設定できる。つまり、状態Aで、増加量の割合が80〜100%のとき予約割当領域の容量に対する拡大率は「1.2」が設定され、増加量の割合が100〜150%のとき拡大率は「1.5」が設定され、増加量の割合が150%〜のとき拡大率は「実績値」が設定される。なお、実績値は、増加量の実績値を予約割当領域の容量で除算した値を拡大率として用いる。また、境界値(100%または150%)のときは、何れか一方の拡大率を使用する定義を予め設定すればよい。また、本実施形態では、標準的な状態Bについて、段階的な拡大率を設定可能にしている。例えば増加量の割合が100%以上について2段階に分類して設定できる。つまり、状態Bで、増加量の割合が100〜150%のとき予約割当領域の容量に対する拡大率は「1.5」が設定され、増加量の割合が150%〜のとき拡大率は「実績値」が設定される。また、状態Cでは、増加量の割合が150%〜の場合に予約割当領域の容量に対する拡大率は、「1.5」が設定される。
次に本実施形態の作用を説明する。
本実施形態では、ストレージ性能、例えばI/O性能の劣化を低減化するために、時々刻々と変化するストレージ装置21に格納するデータの実際の容量を検知しつつ、物理ディスクに連続的なブロックを事前に予約割当領域として割り当てる。そこで、時々刻々と変化するストレージ装置21に格納するデータの実際の容量を検知して、予約割当領域容量を求める予約割当領域の容量更新処理を、設定された検知タイミングに基づいて(例えば、一定時間毎に)実行する。
すなわち、本実施形態では、コンピュータ50においてストレージ制御プログラム58における、領域割当制御プロセス64に含まれる計算ブロセス66による処理が定期的に実行される。例えば、コンピュータ50のCPU52は、領域割当制御プロセス64に含まれる計算ブロセス66を記憶部56から読み出してメモリ54に展開して実行することで、予約割当領域の容量更新処理を実行する。なお、予約割当領域の容量更新処理は、例えば、ユーザによりキーボード78B等の入出力デバイス78で指示されて実行することもできる。
図11は、本実施形態に係るコンピュータ50で実行されるストレージ制御プログラム58に含まれる計算ブロセス66の流れを示すフローチャートである。つまり、コンピュータ50において計算ブロセス66が実行されることで、コンピュータ50はストレージ制御装置20における制御部28の計算部30として動作し、予約割当領域の容量更新処理を実行する。図11に示すように、一定時間毎に(例えば5分毎に)、予約割当領域の容量更新処理が実行されて、ステップ100へ進み、変数nを初期値(n=1)に設定し、次のステップ102において、仮想ディスク管理テーブル38の第n番目の仮想ディスクdisk-nで、仮想ディスクの作成元の仮想ストレージを特定する。仮想ストレージを特定するには、仮想ディスク管理テーブル38を参照し、個々の仮想ディスクについて、仮想ディスク管理テーブル38に登録されている作成元の仮想ストレージを抽出すればよい。
次のステップ104では、ステップ102で特定した仮想ストレージの物理的な空き容量を確認し、判定基準値X,Yを選択する。まず、仮想ストレージ管理テーブル39を参照し、ステップ102で特定した仮想ストレージの物理的な空き容量を確認する。なお、詳細は後述するが、仮想ストレージ管理テーブル39はストレージ制御装置20における制御部28の割当部32によって更新されている。次に、仮想ストレージ管理テーブル39における該当する仮想ストレージについて使用済み容量の割合を取得する。そして、予約割当領域容量変更基準テーブル40を参照し、取得した仮想ストレージの使用済み容量の割合に対する縮小の判定基準値Xと拡大の判定基準値Yを取得する。
次に、ステップ106において、仮想ディスク管理テーブル38の第n番目の仮想ディスクdisk-nについて、実使用量の増加量を計算する。すなわち、現時点における第n番目の仮想ディスクdisk-nについて、現在の実使用量から前回チェック(本実施形態では5分前)の使用量を減算することで、実使用量の増加量Jを計算する。次のステップ108では、実使用量の増加量Jと、現在の予約割当領域の容量Kの比率Gを計算する(G=J/K)。現在の予約割当領域の容量Kは、仮想ディスク管理テーブル38における予約割当のブロック数から求めることができる。つまり、本実施形態では、例えば1ブロックが512KBであるので、ブロック数に512KBを乗算することで求めればよい。
次のステップ110では、比率Gが縮小の判定基準値X以上か否かを判断し、肯定判断のときはステップ112へ進む。ステップ112では、比率Gが拡大の判定基準値Y以上か否かが判断され、否定判断のときは、ステップ114において判定を「維持」に決定し、ステップ128へ進む。
一方、ステップ110で否定判断されるとステップ116において判定を「縮小」に決定し、ステップ118へ進む。ステップ118では、仮想ディスク管理テーブル38を参照し、前回の判定が「拡大」であったか否かが判断され、肯定判断のときは、ステップ114において判定が「維持」に決定される。一方、ステップ118で否定判断のときは、ステップ120へ進み、予約割当領域の容量を縮小し、ステップ128へ進む。ステップ120では、縮小率テーブル42を参照し、適合する状態に一致する状態における増加量の割合に該当する縮小率を取得する。そして、取得した縮小率を予約割当領域の容量(ブロック数)に乗算し、これから割り当てるべき予約割当領域の容量(ブロック数)を求める。このようにして求めたこれから割り当てるべき予約割当領域の容量(ブロック数)で、仮想ディスク管理テーブル38における予約割当のブロック数を更新する。
また、ステップ112で肯定判断されると、ステップ122において判定を「拡大」に決定し、ステップ124へ進む。ステップ124では、仮想ディスク管理テーブル38を参照し、前回の判定が「縮小」であったか否かが判断され、肯定判断のときは、ステップ114において判定が「維持」に決定される。一方、ステップ124で否定判断のときは、ステップ126へ進み、予約割当領域の容量を拡大し、ステップ128へ進む。ステップ126では、拡大率テーブル44を参照し、適合する状態に一致する状態における増加量の割合に該当する拡大率を取得する。そして、取得した拡大率を予約割当領域の容量(ブロック数)に乗算し、これから割り当てるべき予約割当領域の容量(ブロック数)を求める。このようにして求めたこれから割り当てるべき予約割当領域の容量(ブロック数)で、仮想ディスク管理テーブル38における予約割当のブロック数を更新する。
なお、ステップ114では、判定が「維持」のため、仮想ディスク管理テーブル38における予約割当のブロック数の更新は不要である。
次に、ステップ128では、仮想ディスク管理テーブル38を更新する。すなわち、ステップ114,ステップ116またはステップ122により決定された判定値を、仮想ディスク管理テーブル38の前回判定の情報として更新する。また、ステップ128では、仮想ディスク管理テーブル38に登録されている現在の実使用量を前回チェックの使用量に更新すると共に、現時点の使用量を現在の実使用量の情報として更新する。
次に、ステップ130において、変数nをインクリメントし、ステップ132において変数nが仮想ディスク管理テーブル38における仮想ディスクの総数以上か否かが判断される。ステップ132で否定判断のときはステップ102へ戻り、残存する仮想ディスクについて上記と同様に処理を実行する。一方、ステップ132で肯定判断されると本処理ルーチンを終了する。なお、仮想ディスク管理テーブル38に仮想ストレージが複数登録されているときには、次の仮想ストレージを特定し、ステップ104に戻り処理を繰り返す。
ここで、本実施形態では、ステップ100〜126の処理によって、仮想ストレージの空き容量が多い場合は予約割当領域の割り当てを積極的に実施し、空き容量が少ない場合は予約割当領域の割り当てを抑制している。すなわち、仮想ストレージの物理的な空き容量に応じて、図8の予約割当領域容量変更基準テーブル40を用いて、縮小/維持/拡大の判定基準を変更する。また、図9の縮小率テーブル42、及び図10の拡大率テーブル44を用いて、縮小率または拡大率を変更する。このように、空き容量に応じて判定基準を調整する。これによって、仮想ストレージの空き容量に応じて、予約割当領域として割り当てる容量を調整できる。
図12には、仮想ストレージの空き容量に応じた拡大率及び縮小率の設定を模式的に示した。図12(A)に示すように、仮想ストレージの空き容量に余裕のある状態Aでは、増加量に対する予約割当容量の比率Gについて3段階に分類して拡大率を設定できる(拡大率:「1.2」、「1.5」、「実績値」)。また、図12(B)に示すように、標準的な状態Bでは、比率Gについて2段階に分類して拡大率を設定できる(拡大率:「1.5」、「実績値」)。また、図12(C)に示すように、警告を要する状態Cでは、比率Gについて3段階に分類して縮小率を設定できる(縮小率:「0.3」、「0.5」、「0.7」)。
また、本実施形態では、ステップ118またはステップ122において前回の判定結果を今回の判定に反映させている。これは、仮想ディスクに対して、例えば書き込んだデータの容量が瞬間的に変動するような、瞬間的な挙動の乱れが生じたときに、予約割当領域の容量が急激に増減することを防止するためである。例えば、今回の判定が前回チェックにおける判定と相反する場合は、予約割当領域の容量を変更せずに(現状維持として)、一定期間について判定を維持させる(本実施形態では、例えば、1回様子を見る。)。具体的には、前回の判定が「拡大」で、今回の判定が「縮小」の場合や前回の判定が「縮小」で、今回の判定が「拡大」の場合である。本実施形態では、2回同じ判定が続くとき(挙動の傾向が同じであるとき)、予約割当領域の容量について縮小または拡大を実施する。
以上のようにして、定期的に予約割当領域の容量更新処理が実行され、仮想ディスク管理テーブル38が更新される。
次に、ストレージ制御装置20の作動を説明する。ストレージ制御装置20は、コンピュータ50のストレージ制御プログラム58が実行されることにより、実現される。すなわち、コンピュータ50のCPU52は、ストレージ制御プログラム58を記憶部56から読み出してメモリ54に展開してプロセスを順に実行することで、ストレージ制御処理が実行される。
図13は、本実施形態に係るコンピュータ50で実行されるストレージ制御プログラム58に含まれる要求受付プロセス60の流れを示すフローチャートである。コンピュータシステム10におけるコンピュータ50においてストレージ制御プログラム58の要求受付プロセス60が実行されることで、コンピュータ50はストレージ制御装置20の受付部22として動作し、要求受付処理を実行する。図13に示すように、要求受付プロセス60が実行されると、ステップ140へ進み、受付部22はサーバ12からストレージ装置21に対して書き込み要求を受信するまで(ステップ140で肯定判断)、サーバ12からの情報受信を継続する。
サーバ12からストレージ装置21に対してデータの書き込み要求等を受信すると、ストレージ制御装置20の受付部22は、ステップ142において、要求受付処理を実行する。要求受付処理は、サーバ12から要求された、例えばデータの書き込み要求等のデータの容量、仮想ストレージ及び仮想ディスクの情報を確認する処理である。このステップ142では、サーバ12から要求された、例えばデータの書き込み要求等のデータの容量、仮想ストレージ及び仮想ディスクの情報を実行部24に対して確認を要求する。次に、ステップ144において実行部24からの情報を受信するまで(ステップ144で肯定判断)、待機する。このとき、実行部24は、後述する実行プロセス62の処理ルーチン(図14参照)が実行され、受付部22に情報を返信する。
受付部22は、実行部24からの情報を受信すると、ステップ146において、受信した情報がエラー情報であるか否かを判断し、ステップ146で肯定されると、ステップ150においてエラー処理を実行し、本ルーチンを終了する。エラー情報の一例にはサーバ12から書き込み要求がなされたデータの容量が残存する容量を超えた容量であることを示すディスクフルを示す情報がある。この場合、ステップ150のエラー処理では、ディスクフルを示す情報をサーバ12へ返信する。一方、ステップ146で否定判断のときには、ステップ148において、サーバ12へ書き込み指示を送信する。すなわち、サーバ12へデータ送信を促す情報を送信する。これによって、サーバ12はストレージ装置21に書き込むためのデータ送信を開始する。なお、ステップ148では、サーバ12から送信されたデータを24へ転送する処理を含む。
次に、ストレージ制御装置20は、コンピュータ50のストレージ制御プログラム58に含まれる実行プロセス62が実行されることにより、実行処理が実行される。
図14は、本実施形態に係るコンピュータ50で実行されるストレージ制御プログラム58に含まれる実行プロセス62の流れを示すフローチャートである。コンピュータシステム10のコンピュータ50でストレージ制御プログラム58の実行プロセス62が実行されることで、コンピュータ50はストレージ制御装置20の実行部24として動作し、ストレージ部14に対しデータの書き込み等の実行処理を実行する。図14に示すように、実行プロセス62が実行されると、ステップ160へ進む。実行部24は、受付部22に対してデータの書き込み要求がなされ、受付部22から要求受付の確認を示す情報を受信するまで(ステップ160で肯定判断)、待機する。
ステップ160で肯定判断のときには、ステップ162において、サーバ12から要求されたデータの容量や仮想ストレージ及び仮想ディスクの情報についての確認処理を実行する。この確認処理は、サーバ12から要求された、例えばデータの書き込み要求等のデータの容量、仮想ストレージ及び仮想ディスクの情報を取得する処理である。次のステップ164では、ステップ162で取得した情報を物理ディスクの管理部26へ送信することによって、物理ディスクへの書き込み領域の情報を要求する。次に、ステップ166において物理ディスクの管理部26からの情報を受信するまで(ステップ166で肯定判断)、待機する。このとき、物理ディスクの管理部26は、後述する物理ディスク管理プロセス70の処理ルーチン(図15参照)が実行され、実行部24に情報を返信する。
次に、実行部24はステップ168において、管理部26から受信した情報がエラー情報であるか否かを判断し、ステップ168で肯定されると、ステップ172においてエラー処理を実行し、本ルーチンを終了する。エラー処理の一例は、ディスクフルを示す情報を返信する処理である。一方、ステップ168で否定判断のときには、ステップ170において、サーバ12からのデータを14に書き込む処理を実行する。
次に、ストレージ制御装置20は、コンピュータ50のストレージ制御プログラム58に含まれる物理ディスク管理プロセス70が実行されることにより、物理ディスク管理処理が実行される。
図15は、本実施形態に係るコンピュータ50で実行されるストレージ制御プログラム58に含まれる物理ディスク管理プロセス70の流れを示すフローチャートである。コンピュータシステム10におけるコンピュータ50においてストレージ制御プログラム58の物理ディスク管理プロセス70が実行されることで、コンピュータ50はストレージ制御装置20の管理部26として動作し、ストレージ部14の管理処理を実行する。図15に示すように、物理ディスク管理プロセス70が実行されると、ステップ180へ進む。管理部26は、実行部24から物理ディスクへの書き込み領域に関する情報を示す書込領域情報を受信するまで(ステップ180で肯定判断)、待機する。
次に、管理部26はステップ182において、実行部24から要求されたストレージ部14へ書き込むデータの容量、仮想ストレージ、及び仮想ディスクの情報を取得する。次に、物理ディスク管理テーブル36を参照し、要求されたストレージ部14へ書き込むデータに関するストレージ部14の物理ディスクHDD-01〜HDD-nの領域を特定する。ここでは、予約割当領域として設定されているブロック番号を検知することによって、物理ディスクHDD-01〜HDD-n内の領域を特定する。
次のステップ184では、ステップ182で特定した物理ディスクの領域が、要求されたストレージ部14へ書き込むデータの容量を超えるか否かが判断される。ステップ184で否定判断の場合にはステップ186において、ディスクフルを示すエラー情報を実行部24へ返信するエラー処理を実行した後に、本処理ルーチンを終了する。
一方、ステップ184で肯定判断のときには、ステップ188において実行部24へ物理ディスクへデータを書き込むための領域の情報を返信する。具体的には、ブロック番号を送信する。次のステップ190では、上記ステップ188で実行部24へ返信した物理ディスクへデータを書き込むための領域(ブロック)について、物理ディスク管理テーブル36におけるゼロクリアの情報を「FALSE」に更新する。次のステップ192では、制御部28へ予約割当領域の更新設定を要求する。このとき、制御部28は、後述する領域割当制御プロセス64に含まれる割当プロセス68の処理ルーチン(図17参照)が実行され、管理部26に情報を返信する。
次のステップ194では、制御部28からの情報を受信するまで(ステップ194で肯定判断)、待機する。このとき、制御部28が後述する割当プロセス68を実行し、管理部26に情報を返信する。割当プロセス68を実行により返信される情報は、物理ディスクの管理部26に対して、予約割当領域として設定可能な連続ブロックを探索する要求を示す情報である。
管理部26が制御部28からの情報を受信すると、次のステップ196において割当領域探索処理(図16)が実行された後に、本処理ルーチンを終了する。
図16は、管理部26において実行される割当領域探索処理の流れを示すフローチャートである。管理部26は、ステップ200において、仮想ストレージに割り当てられている物理ディスクに変数size以上の連続した空き領域があるか否かを判断する。この変数sizeは、制御部28から引数として渡される情報である(図17参照)。本実施形態では、空き領域管理を容易にするためのフリーリスト37を使用している。従って、ここでは、フリーリスト37を参照して、空き領域を確認する。なお、フリーリスト37を使用しない場合には、仮想ディスク管理テーブル38、及び、仮想ストレージテーブル39を参照して割り当てられている物理ディスクの識別子を特定する。次に、物理ディスク管理テーブル36を参照して当該物理ディスクについて、ゼロクリアが「TRUE」でかつ、割当て先仮想ディスクが「−」である領域を抽出する。
管理部26は、次のステップ202において、物理ディスクの空き領域を選択し、変数size分の領域を割り当てる。ここでは、物理ディスクの空き領域を選択するにあたり、候補となる連続した空き領域が複数ある場合に、周知技術を用いて適切な空き領域を選択すれば良い。例えば、変数sizeのブロック数を満たしかつ最初に見つかった空き領域を選択するファーストヒット法による技術が知られている。また他の例としては、変数sizeのブロック数に一番近い空き領域を選択するベストヒット法による技術が知られている。さらにまた他の例としては、一番大きな空き領域を選択するマキシマム法による技術が知られている。なお、ステップ202では、選択した空き領域の先頭ブロックから変数sizeの値のブロックを割り当てることとする。
次のステップ204では、フリーリスト37を更新する。すなわち、ステップ202で割り当てられたブロックを、フリーリスト37から除外する。次のステップ206では、ステップ202で割り当てた領域の情報を制御部28へ渡し、本処理ルーチンを終了する。この制御部28へ渡す情報は、物理ディスクの識別子、先頭ブロックの番号、及び末尾ブロックの番号を含む組情報である。
一方、ステップ200で否定判断のときには、ステップ208へ進み、仮想ストレージに割り当てられている物理ディスクに空き領域が存在するか否かが判断される。ステップ208で肯定判断のときには、仮想ストレージに割り当てられている物理ディスクの空き領域で最大の連続空き領域が選択され、ステップ204へ処理を移行する。一方、ステップ208で否定判断のときには、空き領域が無または極小のため、ステップ212においてディスクフルを示すエラー情報が制御部28へ渡される。
次に、ストレージ制御装置20は、コンピュータ50のストレージ制御プログラム58に含まれる領域割当制御プロセス64の割当プロセス68が実行されることにより、領域割当処理が実行される。
図17は、本実施形態に係るコンピュータ50で実行されるストレージ制御プログラム58に含まれる領域割当制御プロセス64の割当プロセス68の流れを示すフローチャートである。コンピュータシステム10におけるコンピュータ50においてストレージ制御プログラム58の領域割当制御プロセス64の割当プロセス68が実行されることで、コンピュータ50はストレージ制御装置20における制御部28の割当部32として動作される。図17に示すように、領域割当制御プロセス64の割当プロセス68が実行されると、ステップ220へ進む。制御部28の割当部32は、管理部26から予約割当領域設定に関する情報を取得する。予約割当領域設定に関する情報の一例として、予約割当が要求された仮想ディスクの識別子がある。
次のステップ222では、予約割当の処理を実行するか否かを判断する。ステップ222の判断は、まず仮想ディスク管理テーブル38を参照し、予約割当が要求された仮想ディスクの作成元の仮想ストレージを特定する。次に、仮想ストレージ管理テーブル39を参照して、作成元の仮想ストレージの使用済容量の割合を取得し、予約割当領域容量変更基準テーブル40における何れの状態であるかを特定することにより、ステップ222の判断処理とすることができる。つまり、状態Dであるときは、予約割当を実施しないと判断する。従って、ステップ222で否定判断のときには、ステップ224において、予約割当領域の容量Sに、初期値を設定し、ステップ230へ進む。ステップ224で設定する初期値の一例は、1ブロックであり、変数sizeに「1」を設定することができる。
一方、ステップ222で肯定判断のときには、ステップ226において、仮想ディスク管理テーブル38から割当済容量R、予約割当領域の容量S、及び仮想ディスクの容量Uを取得する。また、予約割当領域の容量Sを変数sizeに設定する。次のステップ228では、R+S≦Uか否かが判断される。ステップ228において否定判断のときには、ステップ230において、仮想ディスクの空き容量を変数sizeに設定し(size=U−R)、ステップ232へ進む。すなわち、ステップ230では、仮想ディスクの容量Uから割当済領域の容量Rを減算した容量を変数sizeに設定する。なお、ステップ228で肯定判断のときには、そのままステップ232へ進む。
ステップ232では、仮想ディスク管理テーブル38から仮想ディスクの作成元の仮想ストレージを特定し、仮想ストレージの識別子を抽出する。次のステップ234では、ステップ232で特定した仮想ストレージの識別子、及び上記で設定された変数sizeの値を引数として、物理ディスクの管理部26に、物理領域の割当を要求する。
次に、ステップ236において物理ディスクの管理部26からの情報を受信するまで(ステップ236で肯定判断)、待機する。このとき、物理ディスクの管理部26は、上述の割当領域探索処理(図16参照)が実行され、実行結果の情報が返信される。次に、制御部28はステップ238において、管理部26から受信した情報がエラー情報であるか否かを判断し、ステップ238で肯定されると、ステップ240においてエラー処理を実行し、本ルーチンを終了する。一方、ステップ238で否定判断のときには、ステップ242へ進む。
ステップ242では、割り当てられた物理領域について、物理ディスク管理テーブル36の割当先の仮想ディスクの情報として、仮想ディスクの識別子を設定する。次のステップ244では、割り当てられた容量を求め、仮想ディスク管理テーブル38の割当済容量、仮想ストレージ管理テーブル39の物理的な空き領域及び使用済み容量の割合を更新して、本処理ルーチンを終了する。
上記で説明したストレージ制御装置20によりストレージ部14に対して予約割当領域を割り当てるときの具体例を図18〜図20に示した。なお、ここでは、実使用量の増加量は、現在の実使用量から前回チェックの実使用量を減算したものとする。また、1ブロックの容量は、512KBとする。さらに、仮想ストレージvstorage-01の「物理的な空き容量」は50%(標準)の状態であるものとする。
図18の例では、仮想ディスクdisk-01については、現在の実使用量から前回チェックの使用量を減算することで求まる増加量3,219KBが、予約割当領域の容量の8ブロック(=4,096KB)に対して87.6%である。従って、予約割当領域の容量を現状維持とする。仮想ディスクdisk-02については、増加量7,936KBが、予約割当領域の容量の10ブロック(=5,120KB)に対して155%である。従って、予約割当領域の容量を16ブロック(7936/512の端数切り上げ)に拡大する。仮想ディスクdisk-03については、増加量370KBが、予約割当領域の容量の1ブロック(=512KB)に対して72.3% である。従って、予約割当領域の容量を現状維持とする。
図19の例では、仮想ディスクdisk-01については、増加量1,716KBが、予約割当領域の容量の8ブロック(=4,096KB)に対して41.9%である。従って、縮小率テーブル42に基づき、予約割当領域の容量を4ブロックに縮小する。仮想ディスクdisk-02については、増加量4,638KBが、予約割当領域の容量の16ブロック(=8,192KB)に対して56.6%である。従って、予約割当領域の容量を現状維持とする。仮想ディスクdisk-03については、増加量128KBが、予約割当領域の容量の1ブロック(=512KB)に対して25.0%である。従って、予約割当領域の容量が1ブロック(最小値)であるので、現状維持とする。
図20の例では、仮想ディスクdisk-01については、増加量5,120KBが、予約割当領域の容量の4ブロック(=4,096KB)に対して125.0%である。判定は、「拡大」の範囲だが、前回の判定(縮小)と逆傾向なので、現状維持とする。仮想ディスクdisk-02については、増加量3,854KBが、予約割当領域の容量の16ブロック(=8,192KB)に対して47.0%である。従って、縮小率テーブル42に基づき、予約割当領域の容量を8ブロックに縮小する。仮想ディスクdisk-03については、増加量740KBが、予約割当領域の容量の1ブロック(=512KB)に対して144.5%である。従って、予約割当領域の容量を2ブロック(1×1.5=1.5の端数切り上げ)に拡大する。
以上説明したように、本実施形態では、物理的なディスクを効率的に利用できるシンプロビジョニング方式の技術を応用し、仮想ディスクに割り当てられる領域が物理ディスク上で分散してI/O性能が悪化することを抑制する。すなわち、物理ディスク上に追加領域を割り当てるときに、1ブロック単位ではなく、書き込むデータ量を考慮して、複数のブロックを連続的に割り当てる。これによって、I/O性能の劣化を低減化できる。また、書き込まれるデータ量は、実際に書き込まれるまで分からないばかりか、時々刻々と変化する。そこで、本実施形態では、過去の実績値をもとに追加領域を割り当てる容量を予測して、複数のブロックを連続的に割り当てる。このために、定期的に実績値を確認して、予約割当領域の容量であるブロック数を調整する。
詳細には、物理的な空き容量に応じた判定基準を調整する。つまり物理的な空き容量に応じて、予約割当領域の容量であるブロックの数を縮小/維持/拡大の何れかに判定する仮想ディスクの実使用量の増加量の範囲と、縮小率または拡大率を自動的に調整する。また、定期的に実績値を確認して予約割当領域の容量を予測するときに、実績値の履歴を考慮することによって、予約割当領域の容量であるブロック数が急激に変動することを防止する。
これによって、仮想ディスクの空き容量が多い場合は予測割当領域の割り当てを積極的に行い、少ない場合は抑制できる。
なお、上記ではストレージ装置21に対してデータの書き込み要求の装置としてサーバを一例としたコンピュータシステム10を例に説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
また、上記ではプログラムがコンピュータの記憶部に予め記憶(インストール)されている態様を説明したが、処理プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータに、
前記コンピュータを、物理ディスクにデータが記録された記録割当領域が割り当てられると共に、前記データが記録されるための予約割当領域が前記物理ディスクに割り当てられる場合に、設定された検知タイミングに基づいて前記物理ディスクに割り当てられた前記記録割当領域の容量を前記物理ディスクの使用量として検知し、前回の前記物理ディスクの使用量に対する現在の前記物理ディスクの使用量の増減量を求めると共に、前記物理ディスクの使用量の増減量と前記割り当てられた予約割当領域の容量との比率を求め、前記比率に基づいて、前記物理ディスクの使用量に対応する前記データが記録されるための予約割当領域の容量を求める計算ステップと、
前記計算部で求めた容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てる割当ステップと、
を含む処理を実行させるためのストレージ制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記2)
コンピュータに、請求項8〜請求項14の何れか1項記載のストレージ制御方法に係る処理を実行させるためのストレージ制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
10 コンピュータシステム
12 サーバ
14 ストレージ部
20 ストレージ制御装置
21 ストレージ装置
22 受付部
24 実行部
26 管理部
28 制御部
30 計算部
32 割当部
34 記憶部
36 物理ディスク管理テーブル
38 仮想ディスク管理テーブル
39 仮想ストレージ管理テーブル
40 予約割当領域容量変更基準テーブル
42 縮小率テーブル
44 拡大率テーブル
50 コンピュータ
52 CPU
54 メモリ
56 記憶部
58 ストレージ制御プログラム
60 要求受付プロセス
62 実行プロセス
64 領域割当制御プロセス
66 計算ブロセス
68 割当プロセス
70 物理ディスク管理プロセス
72 データベース

Claims (14)

  1. データが記録された記録領域を含む物理ディスクに、追加データを記録するための予約割当領域が割り当てられ、前記予約割当領域に前記追加データを記録すると共に、前記物理ディスクに記録されている前記データ及び前記追加データの容量を前記物理ディスクの使用量として設定された検知タイミングに基づいて検知し、前回の前記物理ディスクの使用量に対する現在の前記物理ディスクの使用量の増減量を求めると共に、前記物理ディスクの使用量の増減量と前記予約割当領域の容量との比率を求め、前記比率に基づいて、前記予約割当領域の容量を変更するための変更容量を求める計算部と、
    前記計算部で求めた変更容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てる割当部と、
    前回の前記物理ディスクの使用量を示す情報と、現在の前記物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、が対応付けて登録されたテーブルを記憶する記憶部と、
    を含み、
    前記計算部は、前記設定された検知タイミングに基づいて、前記テーブルに格納された前記現在の前記物理ディスクの使用量を示す情報を前記前回の前記物理ディスクの使用量を示す情報として前記テーブルを更新しかつ、検知した前記物理ディスクに割り当てられた前記記録領域の容量を示す情報を現在の前記物理ディスクの使用量を示す情報として前記テーブルを更新すると共に、前記比率に基づいて、前記物理ディスクの使用量を示す情報に対応する前記予約割当領域の変更容量を示す情報を前記テーブルの予約割当領域の容量を示す情報として更新し、
    前記割当部は、前記記憶部に記憶された前記テーブルに登録された容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てるストレージ制御装置。
  2. 前記計算部は、前記比率に基づいて、前記物理ディスクの使用量の増減傾向を判定する判定部を含み、前記判定部で判定された前記物理ディスクの使用量の増減傾向に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項1に記載のストレージ制御装置。
  3. 前記記憶部は、前回の前記物理ディスクの使用量を示す情報と、現在の前記物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、前記テーブルに前記物理ディスクの使用量の増減傾向を示す判定値の情報と、が対応付けて登録された前記テーブルを記憶し、
    前記計算部は、前記比率に基づいて、前記物理ディスクの使用量の増減傾向を判定した検定結果を示す情報を前記判定値の情報として前記テーブルを更新し、前記記憶部に格納された前記テーブルの前記判定値の情報に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項1に記載のストレージ制御装置。
  4. 前記記憶部は、維持、拡大及び縮小を示す情報を判定値として前記物理ディスクの使用量の増減傾向を判定するための前記比率の基準値が、前記判定値毎に前記物理ディスク全体の容量に対する前記物理ディスクの使用量の使用量率に対応付けて登録された基準テーブルを含み、
    前記計算部は、前記物理ディスク全体の容量に対する前記物理ディスクの使用量の使用量率を求めると共に、前記記憶部に格納された前記テーブルの前記判定値の情報及び前記基準テーブルの前記使用量率に対応する前記基準値に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項3に記載のストレージ制御装置。
  5. 前記記憶部は、前記比率の基準値に対応する前記物理ディスクの使用量の増減傾向に対して拡大率または縮小率を示す情報が対応付けて登録された拡縮テーブルを含み、
    前記計算部は、前記記憶部に記憶された前記拡縮テーブルに基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項4に記載のストレージ制御装置。
  6. 物理ディスクを含む物理ストレージに対して仮想的な論理ディスクを含む仮想ストレージが対応され、前記仮想的な論理ディスクに対して前記データの記録が要求されたときに、前記計算部に前記予約割当領域の変更容量を求めさせかつ、前記割当部に前記予約割当領域を前記物理ディスクに割り当てさせる処理を実行させる実行部を含む
    請求項1〜請求項5の何れか1項に記載のストレージ制御装置。
  7. データが記録された記録領域を含む物理ディスクに、追加データを記録するための予約割当領域が割り当てられ、前記予約割当領域に前記追加データを記録すると共に、前記物理ディスクに記録されている前記データ及び前記追加データの容量を前記物理ディスクの使用量として設定された検知タイミングに基づいて検知し、前回の前記物理ディスクの使用量に対する現在の前記物理ディスクの使用量の増減量を求めると共に、前記物理ディスクの使用量の増減量と前記予約割当領域の容量との比率を求め、前記比率に基づいて、前記予約割当領域の容量を変更するための変更容量を求める計算ステップと、
    前記計算ステップで求めた変更容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てる割当ステップと、
    を備え、
    記憶部に、前回の前記物理ディスクの使用量を示す情報と、現在の前記物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、を対応付けて登録されたテーブルが記憶され、
    前記計算ステップは、前記設定された検知タイミングに基づいて、前記テーブルに格納された前記現在の前記物理ディスクの使用量を示す情報を前記前回の前記物理ディスクの使用量を示す情報として前記テーブルを更新しかつ、検知した前記物理ディスクに割り当てられた前記記録領域の容量を示す情報を現在の前記物理ディスクの使用量を示す情報として前記テーブルを更新すると共に、前記比率に基づいて、前記物理ディスクの使用量を示す情報に対応する前記予約割当領域の変更容量を示す情報を前記テーブルの予約割当領域の容量を示す情報として更新し、
    前記割当ステップは、前記記憶部に記憶された前記テーブルに登録された容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てるストレージ制御方法。
  8. 前記計算ステップは、前記比率に基づいて、前記物理ディスクの使用量の増減傾向を判定する判定ステップを含み、前記判定ステップで判定された前記物理ディスクの使用量の増減傾向に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項7に記載のストレージ制御方法。
  9. 記憶部に、前回の前記物理ディスクの使用量を示す情報と、現在の前記物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、前記テーブルに前記物理ディスクの使用量の増減傾向を示す判定値の情報、を対応付けて登録された前記テーブルが記憶され、
    前記計算ステップは、前記比率に基づいて、前記物理ディスクの使用量の増減傾向を判定した検定結果を示す情報を前記判定値の情報として前記テーブルを更新し、前記記憶部に格納された前記テーブルの前記判定値の情報に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項7に記載のストレージ制御方法。
  10. 記憶部に、維持、拡大及び縮小を示す情報を判定値として前記物理ディスクの使用量の増減傾向を判定するための前記比率の基準値が、前記判定値毎に前記物理ディスク全体の容量に対する前記物理ディスクの使用量の使用量率に対応付けて登録された基準テーブルが含まれ、
    前記計算ステップは、前記物理ディスク全体の容量に対する前記物理ディスクの使用量の使用量率を求めると共に、前記記憶部に格納された前記テーブルの前記判定値の情報及び前記基準テーブルの前記使用量率に対応する前記基準値に基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項9に記載のストレージ制御方法。
  11. 記憶部に、前記比率の基準値に対応する前記物理ディスクの使用量の増減傾向に対して拡大率または縮小率を示す情報が対応付けて登録された拡縮テーブルが含まれ、
    前記計算ステップは、前記記憶部に記憶された前記拡縮テーブルに基づいて、前記物理ディスクの使用量に対応する前記予約割当領域の変更容量を求める
    請求項10に記載のストレージ制御方法。
  12. 物理ディスクを含む物理ストレージに対して仮想的な論理ディスクを含む仮想ストレージが対応され、前記仮想的な論理ディスクに対して前記データの記録が要求されたときに、前記計算ステップに前記予約割当領域の変更容量を求めさせかつ、前記割当ステップに前記予約割当領域を前記物理ディスクに割り当てさせる処理を実行させる実行ステップを含む
    請求項7〜請求項11の何れか1項に記載のストレージ制御方法。
  13. コンピュータに、
    前記コンピュータを、データが記録された記録領域を含む物理ディスクに、追加データを記録するための予約割当領域が割り当てられ、前記予約割当領域に前記追加データを記録すると共に、前記物理ディスクに記録されている前記データ及び前記追加データの容量を前記物理ディスクの使用量として設定された検知タイミングに基づいて検知し、前回の前記物理ディスクの使用量に対する現在の前記物理ディスクの使用量の増減量を求めると共に、前記物理ディスクの使用量の増減量と前記予約割当領域の容量との比率を求め、前記比率に基づいて、前記予約割当領域の容量を変更するための変更容量を求める計算ステップと、
    前記計算ステップで求めた変更容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てる割当ステップと、
    を含み、
    記憶部に、前回の前記物理ディスクの使用量を示す情報と、現在の前記物理ディスクの使用量を示す情報と、予約割当領域の容量を示す情報と、を対応付けて登録されたテーブルが記憶され、
    前記計算ステップは、前記設定された検知タイミングに基づいて、前記テーブルに格納された前記現在の前記物理ディスクの使用量を示す情報を前記前回の前記物理ディスクの使用量を示す情報として前記テーブルを更新しかつ、検知した前記物理ディスクに割り当てられた前記記録領域の容量を示す情報を現在の前記物理ディスクの使用量を示す情報として前記テーブルを更新すると共に、前記比率に基づいて、前記物理ディスクの使用量を示す情報に対応する前記予約割当領域の変更容量を示す情報を前記テーブルの予約割当領域の容量を示す情報として更新し、
    前記割当ステップは、前記記憶部に記憶された前記テーブルに登録された容量の前記予約割当領域が前記物理ディスクにおいて連続するように、前記予約割当領域を前記物理ディスクに割り当てる処理を実行させるためのストレージ制御プログラム。
  14. コンピュータを、請求項7〜請求項12の何れか1項記載のストレージ制御方法に係る処理を実行させるためのストレージ制御プログラム。
JP2012060005A 2012-03-16 2012-03-16 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム Expired - Fee Related JP5849794B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012060005A JP5849794B2 (ja) 2012-03-16 2012-03-16 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
US13/800,007 US9164885B2 (en) 2012-03-16 2013-03-13 Storage control device, storage control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012060005A JP5849794B2 (ja) 2012-03-16 2012-03-16 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2013196108A JP2013196108A (ja) 2013-09-30
JP5849794B2 true JP5849794B2 (ja) 2016-02-03

Family

ID=49158779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012060005A Expired - Fee Related JP5849794B2 (ja) 2012-03-16 2012-03-16 ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム

Country Status (2)

Country Link
US (1) US9164885B2 (ja)
JP (1) JP5849794B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5949046B2 (ja) * 2012-03-28 2016-07-06 ソニー株式会社 記録装置、記録方法
US9740436B2 (en) * 2014-11-14 2017-08-22 International Business Machines Corporation Elastic file system management in storage cloud environments
TWI587217B (zh) * 2016-03-07 2017-06-11 威聯通科技股份有限公司 電子裝置及擴增其儲存容量的方法
US10013425B1 (en) * 2016-03-31 2018-07-03 EMC IP Holding Company LLC Space-efficient persistent block reservation optimized for compression
CN109597564B (zh) * 2017-09-30 2022-01-25 上海川源信息科技有限公司 分布式储存装置
US10802717B2 (en) * 2018-08-20 2020-10-13 Dell Products L.P. Systems and methods for efficient firmware inventory of storage devices in an information handling system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0277949A (ja) 1988-09-14 1990-03-19 Fuji Xerox Co Ltd ファイル作成方法
US7574560B2 (en) * 2006-01-03 2009-08-11 Emc Corporation Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment
JP2008097502A (ja) * 2006-10-16 2008-04-24 Hitachi Ltd 容量監視方法及び計算機システム
JP4961319B2 (ja) * 2007-10-11 2012-06-27 株式会社日立製作所 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
US8250329B2 (en) * 2007-10-24 2012-08-21 International Business Machines Corporation Preemptive write-inhibition for thin provisioning storage subsystem
JP5250869B2 (ja) * 2008-08-28 2013-07-31 株式会社日立製作所 ストレージシステム、論理記憶領域割り当て方法及び計算機システム
JP4905810B2 (ja) 2008-10-01 2012-03-28 日本電気株式会社 ストレージ装置、領域割り当て方法、及びプログラム
US8533417B2 (en) 2009-06-03 2013-09-10 Hitachi, Ltd. Method and apparatus for controlling data volume creation in data storage system with dynamic chunk allocation capability
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8225039B2 (en) 2009-10-09 2012-07-17 Hitachi, Ltd. Storage controller and virtual volume control method
WO2011092739A1 (ja) * 2010-01-28 2011-08-04 株式会社日立製作所 増設/減設する記憶容量を計算する管理システム
US8656136B2 (en) 2010-02-05 2014-02-18 Hitachi, Ltd. Computer system, computer and method for performing thin provisioning capacity management in coordination with virtual machines
WO2012129191A2 (en) * 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8793463B2 (en) * 2011-09-12 2014-07-29 Microsoft Corporation Allocation strategies for storage device sets

Also Published As

Publication number Publication date
US9164885B2 (en) 2015-10-20
US20130246702A1 (en) 2013-09-19
JP2013196108A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
US10635323B2 (en) Managing storage system
JP5849794B2 (ja) ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
US7975112B2 (en) Switch apparatus
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US8554996B2 (en) Dynamically expanding storage capacity of a storage volume
JP2007316725A (ja) 記憶領域管理方法及び管理計算機
US9983806B2 (en) Storage controlling apparatus, information processing apparatus, and computer-readable recording medium having stored therein storage controlling program
JP4684864B2 (ja) 記憶装置システム及び記憶制御方法
TW201140442A (en) Accelerating a wake-up time of a system
EP2784683A1 (en) Storage control program, storage control method, storage system and hierarchy control apparatus thereof
JP2010102458A (ja) コマンドの起動を制御するストレージシステム及び方法
US10176098B2 (en) Method and apparatus for data cache in converged system
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
CN107111627A (zh) 在线文件系统检查
JP2020173727A (ja) ストレージ管理装置、情報システム、及びストレージ管理方法
CN112948279A (zh) 管理存储系统中的访问请求的方法、设备和程序产品
JP5447523B2 (ja) データ処理装置、データ記録方法、データ記録プログラム
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
JP7500991B2 (ja) ストレージ制御装置及びストレージ制御プログラム
CN112748865B (zh) 用于存储管理的方法、电子设备和计算机程序产品
US9858204B2 (en) Cache device, cache system, and cache method
JP2012128770A (ja) バッチジョブ管理サーバ、バッチジョブ処理システム及びバッチジョブ実行方法
JP7200746B2 (ja) 制御装置、及び制御プログラム
CN112214305B (zh) I/o转发架构下为作业分配i/o转发节点的方法
WO2017122263A1 (ja) 管理計算機及び管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151117

R150 Certificate of patent or registration of utility model

Ref document number: 5849794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees