JP2007304794A - ストレージシステム及びストレージシステムにおける記憶制御方法 - Google Patents
ストレージシステム及びストレージシステムにおける記憶制御方法 Download PDFInfo
- Publication number
- JP2007304794A JP2007304794A JP2006131621A JP2006131621A JP2007304794A JP 2007304794 A JP2007304794 A JP 2007304794A JP 2006131621 A JP2006131621 A JP 2006131621A JP 2006131621 A JP2006131621 A JP 2006131621A JP 2007304794 A JP2007304794 A JP 2007304794A
- Authority
- JP
- Japan
- Prior art keywords
- virtual volume
- storage
- host
- volume
- host device
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Storage Device Security (AREA)
Abstract
【解決課題】上位装置がアクセスするボリュームに、上位装置からのアクセスに応じて、記憶領域を動的に割り当てるように構成したストレージシステムにおいて、一つのボリュームへの記憶領域の割り当てが他のボリュームへの記憶領域の割り当てに影響がないようするストレージシステムを提供する。
【解決手段】仮想ボリュームに割り当てられる記憶領域をプール化し、ストレージシステムはホストから仮想ボリュームにアクセスがあると、プール内の記憶領域を仮想ボリュームに割り当てる。この際、ホスト或いは仮想ボリュームに、記憶領域の割り当てに関する制限を設け、この制限にホストからのアクセスが抵触する場合には、プールの記憶領域を仮想ボリュームに割り当てることなく、ホストにライトエラーを返す。
【選択図】図5
【解決手段】仮想ボリュームに割り当てられる記憶領域をプール化し、ストレージシステムはホストから仮想ボリュームにアクセスがあると、プール内の記憶領域を仮想ボリュームに割り当てる。この際、ホスト或いは仮想ボリュームに、記憶領域の割り当てに関する制限を設け、この制限にホストからのアクセスが抵触する場合には、プールの記憶領域を仮想ボリュームに割り当てることなく、ホストにライトエラーを返す。
【選択図】図5
Description
本発明はストレージシステムに係わり、より詳しくは、後述するAllocation On Use(以下”AOU”という。)、を利用するストレージシステム及びストレージシステムにおける記憶制御方法に関するものである。
ストレージシステムと、このストレージシステムにネットワークなどの通信経路を介して接続するサーバやホストコンピュータなどの上位装置とを備えた、コンピュータシステムで扱われるデータ量の増加に伴い、ストレージシステムが備える記憶領域が大容量化されてきている。ストレージシステムは、上位装置がアクセス可能なボリュームを論理的に定義し、この論理ボリュームを構成する物理的記憶領域に上位装置がアクセスすることによって、記憶デバイスに対するデータの入出力が可能となる。
最近では、上位装置が取り扱うデータ量が大幅に増えていることから、論理ボリュームの記憶容量である、ボリュームサイズを大幅に増やさなくてはならなくなっている。最初から大きなサイズの記憶領域を持つ論理ボリュームを上位装置に割り当てておけば、上位装置にとって記憶容量の不足は起こらず、途中で上位装置に割り当てられている記憶領域のサイズを拡大する必要もない。しかしながら、上位装置である計算機がそれほど大量のデータを使わない場合には、計算機に割り当てられた記憶領域に未使用の領域が発生して記憶領域の無駄が発生する。そこで、上位装置がストレージ装置の仮想ボリュームに書き込みを行ったときに初めて、書き込みが行われた仮想ボリューム上の領域に実記憶領域を割り当てることが提案されている(特開2005−11316号公報)。さらに、米国特許第6,823,442号公報には、上位装置がアクセスする仮想ボリュームをストレージシステムに設け、この仮想ボリュームに物理的記憶領域を割り当てることが記載されている。なお、本願に関連する従来技術として、その他特開2005−135116号公報に記載されたものが存在する。
特開2005-11316号公報
米国特許第6,823,442号公報
特開2005−135116号公報
出願人は、ストレージシステムにおいて記憶資源を有効に活用するために、既述のAOUという技術を開発している。このAOUは、ストレージシステムが、それ自身は記憶領域を持たない仮想ボリュームを上位装置に提供し、この仮想ボリュームにプールと呼ばれる記憶領域の集合を対応させている。上位装置が仮想ボリュームの中でライトアクセスした領域に、ストレージシステムはプールに含まれる記憶領域を割り当てる。この割り当ては、上位装置が仮想ボリュームにアクセスした際に実行される。
AOUは、上位装置がアクセスするボリュームの全容量に対する記憶領域を最初からボリュームに割り当てておく場合に比べて、上位装置からボリュームにアクセスに応じて記憶領域がボリュームに割り当てられるために、記憶領域の割当に融通性があって記憶領域を有効に利用することができる。さらに、一つのプールには複数の仮想ボリュームを対応させることができるために、ストレージシステムはプールの記憶領域を有効活用することができる。ストレージシステムは、上位装置に対して、あらかじめ所定容量を持つ仮想ボリュームを提供するとともに、プールの利用状況に応じて、プールに記憶容量を追加することができる。
しかしながら、仮想ボリューム全体に上位装置からライトアクセスがあった場合(例えば、仮想ボリュームに対するフルフォーマット)、ストレージシステムは、仮想ボリューム全体にプール内の記憶領域を割り当ててしまうため、プール内の記憶領域が一気に消費され、このプールを共有している他の仮想ボリュームへ影響が懸念される。
そこで、本発明は、上位装置がアクセスするボリュームに、上位装置からのアクセスに応じて、記憶領域を動的に割り当てるように構成したストレージシステムにおいて、一つのボリュームへの記憶領域の割り当てが他のボリュームへの記憶領域の割り当てに影響がないようするストレージシステムを提供することを目的とする。本発明の他の目的は、仮想ボリューム全体にホストからライトアクセスがある場合には、プール内の記憶領域の消費を防いで、他の仮想ボリュームへの記憶領域の割り当てに影響を及ぼさないストレージシステムを提供することにある。本発明のさらに他の目的は、不正な上位装置(Rogue Host)からのストレージシステムへのアクセスを制限して、この上位装置に対する記憶資源の割り当てを制限するストレージシステムを提供することにある。
本発明は、この目的を解決するために、上位装置がアクセスするボリュームに、上位装置からのアクセスに応じて、記憶領域を動的に割り当てるように構成したストレージシステムにおいて、上位装置からストレージシステムへのアクセスに制限を設け、アクセスがこの制限に抵触する場合には、プール領域から仮想ボリュームに対して割り当てられる記憶領域に余裕があっても、ボリュームへ記憶領域を割り当てることを制限するようにしたことを特徴とするものである。
本発明の一つの形態は、上位装置からのアクセスを受けるインタフェースと、記憶資源と、前記上位装置と前記記憶資源との間のデータの入出力を制御するコントローラと、この制御を実行する上で必要な制御情報を記憶する制御メモリと、前記上位装置が認識する仮想ボリュームと、前記仮想ボリュームに割り当てられ、前記記憶資源から提供される、複数の記憶領域を備えるプールと、を備え、前記コントローラは、前記上位装置からの前記仮想ボリュームへのアクセスに基づいて、前記プールから前記仮想ボリュームに前記記憶領域を割り当て、前記上位装置が前記仮想ボリュームに割り当てられた記憶領域にアクセスするように構成された、ストレージシステムであって、前記制御メモリは前記割り当てを制限する制限制御情報を備え、前記コントローラは、前記仮想ボリュームに割り当て可能な記憶領域が前記プールに含まれている状態で、前記制限制御情報に基づいて、前記記憶領域の前記仮想ボリュームへの割り当てを制限する、ことを特徴とするものである。
前記メモリは前記制限情報として、前記上位装置から前記仮想ボリュームへのライトアクセスにより当該仮想ボリュームへ割り当てられる記憶領域に対する制限値を含み、前記コントローラは、当該仮想ボリュームに割り当てられた記憶領域の量がこの制限値に抵触した場合に、前記ライトアクセスを制限する。
また、前記メモリは、前記制限情報として、前記仮想ボリュームへの記憶領域の割り当て速度に関する制限値を備え、当該割り当て速度の演算値が当該制限値に抵触した場合に、前記コントローラは前記ライトアクセスを制限する。
前記制限値は、前記上位装置に対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合に、このライトアクセスに対して警報を発する。前記制限値は、前記上位装置に対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合、このライトアクセスをエラーとする。
前記制限値は、前記仮想ボリュームに対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合に、このライトアクセスに対して警報を発する。前記制限値は、前記仮想ボリュームに対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合、このライトアクセスをエラーとする。前記コントローラは、前記プール内の前記仮想ボリュームへの割り当て済みの前記記憶領域が、当該プールに対して設けられた制限値を越えると、前記ホストからのライトアクセスに応じた前記仮想ボリュームへの前記記憶領域の割り当てを制限する。
前記上位装置で稼動するアプリケーションソフトウエアに対して、前記制限値が設定され、前記コントローラは、当該アプリケーションからのライトアクセスを制限する。前記コントローラは、前記仮想ボリュームに対するライトアクセス頻度或いは速度が高い、前記上位装置で稼動するアプリケーションソフトウエアに対して、当該ライトアクセスを制限する。前記上位装置の種類に応じて、前記制限値は変更される。前記仮想ボリュームの用途に応じて、前記制限値は変更される。
以上説明したように、本発明によれば、他の仮想ボリュームへの影響がないように、プールから仮想ボリュームへの記憶領域の割り当て制御を実行可能なストレージシステムを提供することができる。さらに、仮想ボリューム全体にホストからライトアクセスがある場合には、プール内の記憶領域の消費を防いで、他の仮想ボリュームへの記憶領域の割り当てに影響を及ぼさないストレージシステムを提供することができる。さらにまた、不正な上位装置(Rogue Host)からのストレージシステムへのアクセスを制限して、この上位装置に対する記憶資源の割り当てを制限するストレージシステムを提供することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、以後説明される図面においては、同一部には同一符号を付し、その繰り返しの説明は省略又は簡略化される。
図1は、本発明が適用されるストレージシステム(ストレージ装置ということもある。)600を含んだ、記憶制御システムを示すハードウエアブロック図である。ストレージシステム600は複数の記憶デバイス300と、情報処理装置200からの入出力要求に応答して記憶デバイス300への入出力制御を行う記憶デバイス制御装置(コントローラ)100と、を備えて構成されている。
情報処理装置200は上位装置に相当し、CPUやメモリ等を備えたサーバ(ホスト)や、ストレージ装置の管理用コンピュータからなり、例えば、ワークステーション、メインフレームコンピュータ、パーソナルコンピュータ等で構成される。情報処理装置200は複数台のコンピュータをネットワーク接続して構成することもできる。情報処理装置200はオペレーティングシステム上で動作するアプリケーションプログラムを実装している。アプリケーションプログラムとしては、例えば、銀行の自動預金預け払いシステムや航空機の座席予約システム等がある。また、サーバとしては、アプリケーションを実行する、更新系サーバや、更新系サーバのバックエンドでバックアップなどを実行するバックアップサーバが存在する。
情報処理装置1乃至3(200)はLAN(Local Area Network)400を介してストレージ装置600と接続されている。LAN400は、例えば、イーサネット(登録商標)やFDDI等の通信網であり、情報処理装置1乃至3(200)とストレージシステム600との間の通信はTCP/IPプロトコルスイートによって行われる。情報処理装置1乃至3(200)からはストレージシステム600に対してファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求。以下、ファイルアクセス要求と称する。)が後述のチャネル制御部CHN1乃至CHN4(110)に送信される。
LAN400にはバックアップデバイス910が接続されている。バックアップデバイス910は、例えば、MO、CD−R、DVD−RAM等のディスク系デバイス、DATテープ、カセットテープ、オープンテープ、カートリッジテープ等のテープ系デバイスである。バックアップデバイス910はLAN400を介して記憶デバイス制御装置100との間で通信を行うことにより記憶デバイス300に記憶されているデータのバックアップデータを記憶する。また、バックアップデバイス910は情報処理装置1(200)と接続し、情報処理装置1(200)を介して記憶デバイス300に記憶されているデータのバックアップを取得する。
記憶デバイス制御装置100はチャネル制御部CHN1乃至4(110)を備える。記憶デバイス制御装置100は、チャネル制御部CHN1乃至4(110)とLAN400とを介して、情報処理装置1乃至3(200)と、バックアップデバイス910と、記憶デバイス300との間のライトアクセス又はリードアクセスを媒介する。チャネル制御部CHN1乃至4(110)は情報処理装置1乃至3(200)からのファイルアクセス要求を個々に受け付ける。すなわち、チャネル制御部CHN1乃至4(110)には個々にLAN400上のネットワークアドレス(例えば、IPアドレス)が割り当てられていて、それぞれが個別にNASとして振る舞い、個々のNASがあたかも独立したNASが存在するかのようにNASとしてのサービスを情報処理装置1乃至3(200)に提供することができる。
このように1台のストレージシステム600に個別にNASとしてのサービスを提供するチャネル制御部CHN1乃至4(110)を備えるように構成したことで、従来、独立したコンピュータで個々に運用されていたNASサーバが一台のストレージシステム600に集約される。そして、これによりストレージシステム600の統括的な管理が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化が図られる。
情報処理装置3乃至4(200)はSAN500を介して記憶デバイス制御装置100と接続されている。SAN500は、記憶デバイス300が提供する記憶領域におけるデータの管理単位であるブロックを単位として情報処理装置3乃至4(200)との間でデータの授受を行うためのネットワークである。SAN500を介して行われる情報処理装置3乃至4(200)と記憶デバイス制御装置100との間の通信は一般にSCSIプロトコルに従って行われる。情報処理装置3乃至4(200)からは、ストレージシステム600に対して、ファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求(以下、ブロックアクセス要求と称する。)が送信される。
SAN500にはSAN対応のバックアップデバイス900が接続されている。SAN対応バックアップデバイス900は、SAN500を介して記憶デバイス制御装置100との間で通信を行うことにより、記憶デバイス300に記憶されているデータのバックアップデータを記憶する。
記憶デバイス制御装置100はチャネル制御装置CHN1乃至4(110)に加えて、更にチャネル制御部CHF1乃至2,CHA1乃至2(110)を備える。記憶デバイス制御装置100はチャネル制御部CHF1乃至2(110)とSAN500とを介して、情報処理装置3乃至4(200)及びSAN対応バックアップデバイス900との間の通信を行う。チャネル制御部は、上位装置からのアクセスコマンドを処理する。
情報処理装置5(200)は、更に、LAN400やSAN500等のネットワークを介さずに記憶デバイス制御装置100と接続されている。この情報処理装置5(200)の例は、例えばメインフレームコンピュータである。情報処理装置5(200)と記憶デバイス制御装置100との間の通信は、例えばFICON(Fiber Connection)(登録商標)やESCON(Enterprise System Connection)(登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fiber Connection Architecture)(登録商標)などの通信プロトコルに従って行われる。情報処理装置5(200)からはストレージシステム600に対して、これらの通信プロトコルに従ってブロックアクセス要求が送信される。記憶デバイス制御装置100は、チャネル制御部CHA1乃至2(110)を通じて情報処理装置5(200)との間で通信を行う。
SAN500には、他のストレージシステム610が接続されている。ストレージシステム610は、記憶デバイス制御装置100にストレージシステムが有する記憶資源を提供するという機能を、情報処理装置及びストレージ装置600に提供する。ストレージ装置の情報処理装置に対する見かけ上の記憶領域が、ストレージ装置610によって拡張されたことになる。なお、ストレージシステム610はSAN500以外にもATMなどの通信回線によりストレージシステム600に接続していることもある。また、ストレージシステム610をストレージシステム600に直接接続することもできる。
このように、ストレージシステム600内にチャネル制御部CHN1乃至4(110)、チャネル制御部CHF1乃至2(110)、チャネル制御部CHA1乃至2(110)を混在させて装着させることにより、異種ネットワークに接続できるストレージシステムを実現できる。即ち、このストレージシステム600はチャネル制御部CHN1乃至4(110)を用いてLAN400に接続し、かつチャネル制御部CHA1乃至2(110)を用いてSAN500に接続するという、SAN−NAS統合ストレージシステムである。
接続部150は、各々のチャネル制御部110、共有メモリ120、キャッシュメモリ130、及び各々のディスク制御部140を相互に接続する。これらのチャネル制御部110、共有メモリ120、キャッシュメモリ130、及びディスク制御部140相互間のコマンド又はデータの送受信は接続部150を介して行われる。接続部150は例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスで構成される。これにより、チャネル制御部110相互間の通信パフォーマンスが大幅に向上するとともに、高速なファイル共有機能や高速フェイルオーバー等が可能になる。
共有メモリ120、及びキャッシュメモリ130はチャネル制御部110、及びディスク制御部140が共用するメモリ装置である。共有メモリ120は主として制御情報やコマンド等を記憶するために利用され、キャッシュメモリ130は主としてデータを記憶するために利用される。例えば、あるチャネル制御部110が情報処理装置200から受け取ったデータ入出力コマンドが書き込みコマンドであった場合に、当該チャネル制御部110はその書き込みコマンドを共有メモリ120に書き込むとともに、情報処理装置200から受け取ったライトデータをキャッシュメモリ130に書き込む。一方、ディスク制御部140は共有メモリ120を監視しており、共有メモリ120に書き込みコマンドが書き込まれたと判定すると、当該書き込みコマンドに従ってキャッシュメモリ130からライトデータを読み出して、これを記憶デバイス300に書き込む。
一方、あるチャネル制御部110が情報処理装置200から受け取ったデータ入出力コマンドが読み出しコマンドであった場合に、当該チャネル制御部110はその読み出しコマンドを共有メモリ120に書き込むとともに、読み出し対象となるデータがキャッシュメモリ130に存在しているか否かをチェックする。ここで、読み出し対象となるデータがキャッシュメモリ130に存在している場合には、チャネル制御部110はそのデータをキャッシュメモリ130から読み取って情報処理装置200に送信する。読み出し対象となるデータがキャッシュメモリ130に存在していない場合には、共有メモリ120に読み出しコマンドが書き込まれたことを検出したディスク制御部140は読み出し対象となるデータを記憶デバイス300から読み出してこれをキャッシュメモリ130に書き込むとともに、その旨を共有メモリ120に書き込む。チャネル制御部110は共有メモリ120を監視することにより、読み出し対象となるデータがキャッシュメモリ130に書き込まれたことを検出すると、そのデータをキャッシュメモリ130から読み出して情報処理装置200に送信する。
ディスク制御部140はチャネル制御部110から送信された論理アドレス指定による記憶デバイス300へのデータアクセス要求を、物理アドレス指定によるデータアクセス要求に変換し、チャネル制御部110から出力されるI/O要求に応答して記憶デバイス300へのデータの書き込み又は読み取りを行う。記憶デバイス300がRAID構成されている場合には、ディスク制御部140はRAID構成に従ったデータのアクセスを行う。すなわち、ディスク制御部は、記憶デバイスであるHDDの制御、RAIDグループの制御を行う。複数のHDDの記憶領域によってRAIDグループが構成されている。
記憶デバイス300は単一又は複数のディスクドライブ(物理ボリューム)を備えており、情報処理装置200からアクセス可能な記憶領域を提供する。記憶デバイス300が提供する記憶領域には単一又は複数の物理ボリュームの記憶空間を合わせた論理ボリュームが設定されている。記憶デバイス300に設定される論理ボリュームには、情報処理装置200からアクセス可能なユーザ論理ボリュームや、チャネル制御部110の制御のために使用されるシステム論理ボリュームがある。システム論理ボリュームにはチャネル制御部110で実行されるオペレーティングシステムも格納されている。また、記憶デバイス300が、上位装置に提供する論理ボリュームには、各々のチャネル制御部110がアクセス可能な論理ボリュームが割り当てられている。もとより、複数のチャネル制御部110が同一の論理ボリュームを共有することもできる。
尚、記憶デバイス300として、例えば、ハードディスク装置等を用いることができる。その他、フラッシュメモリのような半導体メモリを用いることもできる。記憶デバイス300のストレージ構成として、例えば、複数の記憶デバイス300によりRAID方式のディスクアレイを構成してもよい。また、記憶デバイス300と記憶デバイス制御装置100は直接接続してもよく、ネットワークを介して接続してもよい。更に、記憶デバイス300は記憶デバイス制御装置100と一体に構成してもよい。
管理端末160はストレージシステム600を保守・管理するためのコンピュータ装置であり、内部LAN151を通じて各々のチャネル制御部110とディスク制御部140と共有メモリ120に接続している。オペレータは管理端末160を操作することで記憶デバイス300のディスクドライブの設定、論理ボリュームの設定、チャネル制御部110やディスク制御部140で実行されるマイクロプログラムのインストール等を行うことが可能である。この種の制御は、管理端末に基づくもののほか、上位装置(ホスト)上で動作するプログラムがネットワークを経由するものに基づいても良い。
図2は図1に示す記憶制御システムの機能ブロック図である。チャネル制御部110は、マイクロプロセッサCT1とローカルメモリLM1を備え、チャネルコマンド制御プログラムはローカルメモリLM1に記憶されている。マイクロプロセッサCT1はローカルメモリLM1を参照してチャネルコマンド制御プログラムを実行する。チャネルコマンド制御プログラムは、ホストにLUを提供する。チャネルコマンド制御プログラムはホストからLUに対して送られるアクセスコマンドを処理し、LDEVへのアクセスへと変換する。チャネルコマンド制御プログラムはホストからのアクセスに依らず、 LDEVに対してアクセスすることもある。LDEVとは、RAIDグループの一部分を論理的に切り出した論理ボリュームである。但し、仮想LDEVはホストのアクセスを受けるが、実記憶領域を備えていない。ホストはLDEVではなく、LUにアクセスする。LUとは、ホストがアクセスする記憶領域の単位である。一部のLUは仮想LDEVに割り当てられている。以後仮想LDEVに割り当てられているLUを実ボリュームに割り当てられているLUと区別するために、便宜上“仮想LU”という。
ディスク制御部140は、マイクロプロセッサCT2とローカルメモリLM2とを備えている。ローカルメモリLM2には、RAID制御プログラムとHDD制御プログラムが記憶されている。マイクロプロセッサCT2はローカルメモリLM2を参照して、RAID制御プログラムとHDD制御プログラムを実行する。RAID制御プログラムは、複数のHDDからRAIDグループを構成し、上位のチャネルコマンド制御プログラムにLDEVを提供する。HDD制御プログラムは、上位のRAID制御プログラムの要求に応じてHDDに対してデータの読み書きを実行する。
ホスト200AはLU10を介してLDEV12Aにアクセスする。ホスト200Bに対する記憶領域はAOU技術によって構成されている。ホスト200Bは仮想LU14を介して仮想LDEV16にアクセスする。仮想LDEV16にはプール18が割り当てられており、このプールにはLDEV12B,12Cが割り当てられている。
仮想LDEVが仮想ボリュームに相当する。プールとは、仮想LDEVに割り当てられる、実際の記憶領域から構成されるLDEVの集合をいう。なお、チャネルI/F,I/Oパスとは、ホストがストレージサブシステムにアクセスするインターフェースであり、ファイバチャネル、iSCSIなどをいう。
図3は仮想ボリュームとプールとの関係を示すブロック図である。ホストは仮想ボリューム16に対してアクセスする。アクセスされた仮想ボリュームの領域はプール(物理記憶装置)18にマッピングされる。このマッピングは仮想ボリュームに対するホストからのアクセスに応じて動的に生成され、以後、ストレージシステムがこのマッピング情報を利用する。仮想ボリュームの領域のうち使用されていない領域の分は物理記憶装置を消費しないので、ある一定容量の仮想ボリュームを用意しておき、プール18の利用状況を見て徐々に他のプールを仮想ボリュームの割り当てに追加するという運用が可能になる。
図4に示すように、仮想ボリューム16は初期状態ではデータを記憶する実領域を持たない。ホストからライトされた部分にのみプール18から“チャンク(chunk)”300Aと呼ぶ実記憶領域の単位が仮想ボリューム16にアサインされる。ホストからは512Bのブロックの単位でリード/ライトされる。チャンクのサイズは、例えばこのブロックよりも大きい1MBとするがこれは任意のサイズで良い。12B及び12Cは、プール18に属するプールボリューム(プールLDEV)である。
図5は、本発明の典型的な制御動作例に係わるブロック図である。ホストAから仮想ボリューム16Aに対するアクセスに対しては、ストレージシステム600は、プール18に実記憶領域であるチャンクが存在するにも拘わらず、チャンク300Aを仮想ボリューム16Aにアサインしない。一方、ホストBから仮想ボリューム16Bへのアクセスには実記憶の単位であるチャンク300Aをアサインする。仮想ボリューム16A及び仮想ボリューム16Bがプールに割り当てられている。
ホストAはホストBと比較して、AOUボリューム(仮想ボリューム)16Aに対して不正なアクセスをしている。ホスト自体を最初から不正なものとする他、ホストから仮想ボリュームへのアクセスの状況によって、ストレージシステムは、仮想ボリュームへライトアクセスするホストを“不正なホスト(Rogue Host)”と評価或いは判定する。後者は、例えば、ホストAから仮想ボリューム16Aに対して大量のアクセスが発生し、このアクセスが“Quota”(クォータ)と呼ばれるアクセス制限に抵触することになる場合である。
ホストBからのアクセスはクォータに抵触していない。このクォータには、ホストに対して設定されるものと、仮想ボリュームに対して設定されるものと、さらに、プールに対して設定されるものがある。
ホストBからのアクセスはクォータに抵触していない。このクォータには、ホストに対して設定されるものと、仮想ボリュームに対して設定されるものと、さらに、プールに対して設定されるものがある。
ホストに対して設定するクォータは制御テーブルとして、共有メモリ(図1の120)に予めストレージシステムの管理者などにより登録されている。管理者は、図1の管理端末160を利用して共有メモリ130にクォータ管理テーブルを設定する。同一プールに対して、複数の仮想ボリューム16A,16Bが割り当てられている。ここでの制御動作の特徴は、プールに仮想ボリュームに割り当てるべき実記憶領域がある場合でも、ホストから仮想ボリュームに対するアクセスがアクセス制限に抵触する場合には、プールの実記憶領域を仮想ボリュームに割り当てないことである。この結果、プールの実記憶領域が特定のホストや仮想ボリュームについてのみ消費されるのを防ぐことができる。
図6はホストに対して設定されるクォータの管理テーブルである。この管理テーブルは、各ホストに対してチャンク割り当てについてのクォータを規定するものである。0,1・・・nは、ホスト番号、即ちエントリ番号を示す。各エントリは、AOUによって定義された仮想ボリュームにアクセスするホストのWWNリストとホスト限界クォータとホスト警告クォータとから構成される。ホストWWNは、マルチパスやクラスタ構成を考慮して複数設定可能である。
クォータにはホスト警告クォータとホスト限界クォータの2種類がある。ホスト警告クォータとは、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量に関する第1の閾値をいい、仮想ボリュームに割り当てられるチャンクの量がこの第1の閾値を越えた場合に、ストレージシステムはストレージ管理者に警告を通知する。これは、GB単位で設定される。ホスト限界クォータとは、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量に関する第2の閾値をいい、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量がこの第2の閾値を超えた場合に、ストレージシステムは、以降そのホストからの(チャンク割り当てを伴う)ライトを異常終了させる。これもGB単位で指定される。警告値(第1の閾値)よりも大きい容量に限界値(第2の閾値)が設定される。
クォータは、仮想ボリュームに割り当てられたチャンクの総容量自体で決められる他、仮想ボリュームの全容量に対する、割り当てられ記憶領域の割合、或いはプールの全容量に対する、割り当てられた記憶領域の割合でも良い。また、仮想ボリュームへのチャンクの割り当て速度によってクォータが定義されても良い。多くのチャンクを消費するホストは、このホストクォータ管理テーブルによって、不正なホストと判定され、このホストからのアクセスに対して、ストレージシステムは、チャンクの割り当てを制限或いは禁止する。なお、ストレージシステムは、仮想ボリュームへの割り当てチャンク数を計測するカウンタを用いて、定期的にカウンタ値をクリアすることによって、チャックの割り当て速度を演算することができる。
図7は、ストレージサブシステム内のボリューム管理テーブルである。この管理テーブルは、図6の場合のようにホストに対してクォータを設定するのではなく、仮想ボリュームにクォータを設定するためのものである。0,1、・・・・nはボリューム番号を示すエントリである。各エントリは、ボリュームのタイプ、仮想ボリュームの場合には、ボリューム割り当てテーブル番号、仮想ボリューム限界クォータ、そして、仮想ボリューム警告クォータから構成される。ボリュームタイプは、0: 通常ボリューム、1: 仮想ボリューム、2: プールボリューム、そして、-1: 未使用のボリュームから構成される。
仮想ボリュームの“限界クォータ”及び“警告クォータ”は、図6で説明したホストに対して設定されたクォータと同じである。ここでのクォータは、仮想ボリュームの全容量に対する割合(%)で定義される。
図8は、仮想ボリュームをホストに割り当てることを管理するテーブルであり、仮想ボリュームごとに一つ存在する。各エントリ(1,2、・・・n)は、その仮想ボリュームに割り当たっているプール内の各プールボリューム(図4の12B,12C)の番号と、仮想ボリュームに割り当てられている当該プールボリューム内のチャンク番号の情報と、そして、そのチャンクを割り当てることとなったライトを発行したホスト番号の情報を持つ。チャンクが割り当たっていない場合には、このエントリに“-1”が設定されている。
図9はプールを管理するテーブルであり、プール内のボリューム毎に1エントリが存在する。各エントリ(0,1・・・n)は、プールボリューム番号と、チャンクビットマップへのポインタとから構成されている。チャンクビットマップとは、チャンクが属するボリュームのチャンクが未使用かどうかを示す情報であり、1ビットが一つのチャンクに対応している。“1”が使用(既に仮想ボリュームに割り当て済み)を示し、“0”が未使用(仮想ボリュームへの割り当てが未)を示す。チャンクビットマップは、プールに属するボリューム毎に存在する。プール管理テーブルはプールボリュームについて有効或いは無効の制御情報を持っており、プールボリュームを仮想ボリュームへ割り当てることを無効にする場合には、プールボリューム番号に“−1”が設定され、反対にこの割り当てを有効にする場合には、“プールボリューム番号”が設定される。
図10はプールクォータ管理テーブルを示す。プールにクォータを設け、プールの利用率が高い時にのみ、ホストからのライトアクセスを制限する。プールクォータは、プール限界クォータとプール警告クォータとからなる。プール内の仮想ボリュームへの割り当て済みチャンク率がこのプール限界クォータを超えたときに、ストレージシステムは、仮想ボリューム限界クォータやホスト限界クォータによるライト抑止を行う。プール内の割り当て済みチャンク率がプール警告クォータを超えたときに、ストレージシステムは、ストレージ管理者に警告を出す。図11は、プールクォータ初期値テーブルの例であり、プール警告クォータはプール内のチャンクの割り当て率が70%に、プール限界クォータはプール内のチャンクの割り当て率が90%に設定されている。
図12はホストクォータ初期値テーブルの例である。ホストの種類によって、限界クォータ値及び警告クォータ値を異ならすことができる。値が零のものは限界クォータ値が無いことを意味している。基幹系データベースにおいて、限界クォータ値が零であるとされているのは、基幹系データベースとして働くホストからのストレージシステムへのアクセスを止めると影響が大きいからである。図13は、仮想ボリュームのクォータについての初期値を保持するテーブルである。ボリュームの用途や性質によって、クォータの値が変更されたり、クォータを設けないように(仮想ボリューム限界クォータ値が“0”)できる。図10から図13の初期値テーブルは、ストレージシステムの共有メモリ上に存在し、保守端末(図1の160)が仮想ボリュームを作成する処理を実行する際に参照される。ストレージシステムに複数のホストが接続されていると、各ホストに対してクォータを設定でき、かつストレージシステムが複数の仮想ボリュームを有する場合には、各仮想ボリュームに対してクォータを設定することができる。
図14は、チャネル制御部がホストからライトコマンドを受領した時に実行する処理動作をフローチャートとして表したものである。チャネル制御部は、チャネルコマンド制御プログラムと前記制御テーブルを参照して、図14のフローチャートを実行する。チャネル制御部がホストからライトコマンドを受領すると、ライト処理を開始させ、次いで、ライトコマンドが発行対象となったボリュームのタイプが仮想ボリュームか否かが判断される(1400)。チャネル制御部はボリューム管理テーブル(図7)から、アクセス対象となったボリュームのエントリにアクセスし、このエントリのボリュームタイプをリードして、ボリュームが仮想ボリュームか否かを判定する。
ホストがアクセスしたボリュームが仮想ボリュームである場合には、チャネル制御部はホストからアクセスされた、仮想ボリュームのブロック番号をチャンク番号に変換する(1402)。ホストが仮想ボリュームに論理ブロックアドレスでアクセスすると、チャネル制御部は論理ブロックアドレスを既述のチャンクの単位で割り算を行うことによりチャンク番号(図8の仮想ボリューム割り当てテーブルのエントリ)を知ることができる。図8の仮想ボリューム割り当てテーブルは仮想ボリュームをチャンク番号で管理する。チャネル制御部は仮想ボリューム割り当てテーブルのエントリにアクセスして、ボリューム番号が“−1”であるか否かをチェックする。ボリューム番号が“−1”の場合には、ホストからアクセスがあった仮想ボリュームの領域には、プールからチャンクが割り当てられていないと判断されて、チャンク割り当て処理に移行する。チャンク割り当て処理については後述する。
次いで、チャネル制御部はエラー発生の有無をチェックし、エラーが発生した場合にはホストに異常終了を通知する(1418)。一方、エラー発生が無い場合には、ライト対象ブロック番号に割り当たっているチャンクを持つプールボリューム番号と、そのチャンクが該当するブロックアドレスとを計算する(1410)。次いで、チャネル制御部は、このアドレス領域にライトデータを書き込み(1412)、次いで書き込みエラーの発生の有無をチェックする(1414)。エラーが無い場合にはチャネル制御部はホストに正常終了を通知し(1416)、エラーが発生する場合には、ホストに異常終了を返す。チャネル制御部がホストからアクセスされた対象のボリュームが仮想ボリュームで無い場合と、チャンクが仮想ボリュームに既に割りあてられている場合には、ステップ1410 に移行する。
図15は仮想ボリュームへのチャンク割り当て処理(図14の1406)を説明するフローチャートである。ディスク制御部がHDD制御プログラムに基づいて、既述の制御テーブルを参照してこのフローチャートを実行する。ディスク制御部はプール管理テーブル(図9)を最初のエントリから走査して、全チャンクビットマップの“1”のビットの割合を計算して、プール中の仮想ボリュームへの割り当て済みチャンク率を求める(1502)。ディスク制御部は、割り当て済みチャンク率がプール限界クォータを超えている場合(1502)には、仮想ボリューム限界クォータ及びホスト限界クォータによるホストからのライト抑止処理を行う。割り当て済みチャンク率がプール限界クォータを超えていない場合には、チャンクの割り当てを行う。
割り当て済みチャンク率がプール限界クォータを超えている場合には、ディスク制御部は、ボリューム管理テーブル(図7)を参照し、ホストからライトアクセスがあった仮想ボリュームのエントリ番号(ボリューム番号)を取得する。ディスク制御部は、このボリューム番号から仮想ボリューム割り当てテーブル番号を取得し(1504)、プールボリューム割り当て番号が“−1”でない有効なエントリの割合を計算する(1506)。この割合は仮想ボリュームに割り当てられたチャンクの総容量が仮想ボリュームの容量に対して示す率である。ディスク制御部はこの割合が仮想ボリューム限界クォータを超えているか否かを判定し(1508)、これが否定判定された場合には、ホストクォータ管理テーブルのWWNリストを参照し、ホストからライトがあったWWNからホスト番号(エントリ番号)を取得する(1510)。
ディスク制御部は、仮想ボリューム割り当てテーブルを参照して、取得したホスト番号が一致するエントリ数を計数し、これにチャンクサイズを乗算する(1512)。ディスク制御部は、計算結果がストレージシステムにライトアクセスを発行したホストについて、ホスト限界クォータを超えているか否かを判定する(1514)。これが否定判定された場合にはチャンクの割り当て処理が行われる。計算結果が仮想ボリューム限界クォータを超えている場合、そして計算結果がホスト限界クォータを超えている場合には、ホストにエラーを返す(1516)。
次に、チャンクの割り当て処理について説明する。ディスク制御部は、プール管理テーブル(図9)を最初のエントリから走査し(1518)、有効なエントリ(プールボリューム番号)があるか否かをチェックする(1520)。これが否定判定された場合は、チャネル制御部はホストにエラーを返す(1524)。
有効なエントリが存在する場合には、ディスク制御部は、有効なエントリについてチャンクビットマップに“0”があるか否かをチェックする(1522)。“0”が無い場合には他のエントリについて、チャンクビットマップに“0”があるか否かをチェックする。チャンクビットマップに“0”があると、そのビットを“1”にする(1526)。次いで、ディスク制御部は、仮想ボリューム割り当てテーブルの所定エントリを選択し、このエントリのボリューム番号にプールボリューム番号と、“1”にしたビットに対応するチャンクのチャンク番号と、ライトアクセスを発行したホストのWWNからホストクォータ管理テーブルを参照してホスト番号(エントリ)を求め、ホスト番号を仮想ボリューム割り当てテーブルのエントリに登録する(1528〜1534)。以上がチャンクの割り当て処理である。
次いで、ディスク制御部は、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量がプール警告クォータを越えたか否かを判定し(1536)、プール警告クォータを超えた場合には、ディスク制御部は、警告が管理端末に送信されたか否かを判定し(1538)、警告の送信が未だであれば、管理端末に警告メールを送信する(1540)。次いで、ディスク制御部は、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量がホスト警告クォータを超えたか否かがチェックされ(1542)、警告が管理端末に送られていない場合には、管理端末(ストレージ管理者)に警告を送る(1546)。仮想ボリューム警告クォータについても同様である(1548〜1552)。以上の処理を終了すると、ストレージシステムはホストのライトアクセスに対して、ホストに正常終了を通知する。
図16は、ホストからのライトにより仮想ボリュームにアサインされたチャンクの総容量が、プール警告クォータを超えた場合に、ディスク制御部から管理端末へ送られる警告メールの例である。図17は、ホスト警告クォータを超えた場合の警告メールの内容である。<xx>はホスト警告クォータの値であり、<WWN−A>、<WWN−B>は、ホストのWWNリストである。図18は、仮想ボリューム警告クォータを超えた場合の警告メールの内容である。<xxxx>は仮想ボリューム番号であり、<xx>%は仮想ボリューム警告クォータの値である。
図19はストレージシステムの管理者がプール警告クォータを受け取った場合の対処例に係わるフローチャートである。管理者は警告メールを読み(1900)、次いでディスクドライブをストレージサブシステムに追加する(1902)。管理者は管理端末(保守端末)を操作して、追加したディスクドライブにボリュームを作成する(1904)。作成直後のボリュームのタイプは“通常”として、ボリューム管理テーブルエントリが設定される。管理者は保守端末を操作してプールに作成したボリュームをストレージシステムに追加する(1906)。
図20に示すように、保守端末のCPUは、プール追加処理を実行する。CPUは、ボリューム管理テーブルのエントリのタイプをプールボリューム(2)とする(2000)。CPUはプール管理テーブルで空いているエントリを探し(2002)、これにボリューム番号を設定する(2004)。CPUは、このボリューム番号についてチャンクビットマップを全て”0”として用意する(2006)。次いで、CPUはチャンクビットマップへのポインタを設定する(2008)。
図21は、管理者がホストクォータ警告メールを受け取った場合の対処例である。管理者は警告メールを読み(2100)、警告メールで特定されたホストを調査する(2102)。管理者はこのホストについて、問題があるアプリケーションが動作しているか否かを判断し、これが否定された場合は、もともとホスト警告クォータが適正でないとして、管理者は保守端末を操作してホスト警告クォータとホスト限界クォータとを変更する(2108)。問題があるアプリケーションが動作中である場合には、ホスト上での当該アプリケーションの動作を停止させる(2106)。管理者は保守端末を操作して、そのアプリケーションが使用していた全ての仮想ボリュームを初期化する(2110)。次いで、そのアプリケーションが使用していた他のボリュームをフォーマットする(2112)。
図22は仮想ボリュームの初期化処理を示すフローチャートであり、保守端末のCPUが実行する。CPUは仮想ボリューム割り当てテーブルのエントリを最初から走査していく(2200)。CPUは、ボリュームエントリ番号が“−1”でないエントリがあるか、を判定し(2202)、“無い”場合には処理を終了する。“あり”と判定される場合には、CPUはこのエントリを選択し(2204)、そのエントリに入っているプールボリューム番号に対応するプール管理テーブルのエントリを選択する(2206)。次いで、対応するチャンクビットマップのビットを“0”にリセットする(2208)。次いで、選択している仮想ボリューム割り当てテーブルエントリをクリア、すなわち、プールボリューム番号、チャンク番号、ホスト番号を全て“−1”にする(2210)。
図23はストレージシステム管理者が仮想ボリュームクォータ警告メールを受け取った場合の対処例である。管理者は警告メールを読み(2300)、警告メールで特定されている仮想ボリュームを使用しているホストを調査する(2302)。次いで、問題あるアプリケーションがホスト上で動作しているか否かについてホストを調査する(2304)。これが否定判定された場合には、管理者は保守端末を操作して仮想ボリューム警告クォータ、仮想ボリューム限界クォータを変更する(2308)。
ステップ2304が肯定判定された場合には、管理者はホスト上での問題あるアプリケーションの動作を停止させる(2306)。管理者は、保守端末を操作して、当該アプリケーションが使用していた全ての仮想ボリュームを初期化する(2310)。次いで、そのアプリケーションが使用した他のボリュームをフォーマットする(2312)。
図24はストレージシステムの管理者が保守端末で仮想ボリュームの作成を指示した場合における、保守端末のCPUが実行する処理を説明したフローチャートである。ストレージシステム管理者は仮想ボリュームを作成する際、ボリュームサイズとボリュームの用途を指定する。CPUは、ボリューム管理テーブルのタイプが“−1”のエントリを選択し、(2400)タイプに“1”(仮想ボリューム)を設定する(2402)。次いで、CPUは、仮想ボリューム割り当てテーブルの全てのエントリを“-1”で初期化する。CPUは、仮想ボリューム割り当てテーブル番号を設定し、ボリューム用途に応じた仮想ボリューム限界クォータと警告クォータとを設定する(2406〜2412)。
以上、説明したように、特に図15に示すように、ストレージシステムは、プール内の記憶領域(チャンク)の仮想ボリュームへの割り当てがプール限界クォータを超えている場合に、仮想ボリューム限界クォータとホスト限界クォータを参照し、チャンクの仮想ボリュームへの割り当てがこれら限界クォータを超えている場合には、この割り当ての契機となったホストからのライトアクセスに対して、チャンクを仮想ボリュームにアサインすることなく、ホストにライトアクセスエラーを返す。
一方、仮想ボリュームへのライトアクセス頻度が低い、他のホストからのライトアクセスに対して、ストレージシステムは、チャンクの仮想ボリュームへの既割り当て量がプール限界クォータを越えても、仮想ボリュームへのチャンクの割り当てを追加して、このホストのライトアクセスを有効にする。
既述の実施形態では、ホストからのライトアクセス頻度が他のホストに比較して大きいものを“不正なホスト”とし、このホストの稼動中のアプリケーションソフトウエアを“不正なプログラム”としたが、これに限られること無く、例えば、特定のホストやソフトウエアを不正なものとすることができる。既述の実施形態において、ストレージシステムがホストにライトアクセスエラーを通知するようにしたが、そのため、仮想ボリュームではなく実領域を持つ予備の論理ボリュームをあらかじめ用意しておき、警告を発するタイミングで仮想ボリュームから予備ボリュームへバックグラウンドでデータ移行い、ホストを仮想ボリュームから解放すれば良い。このようにすることによって、ホストが予備ボリュームにアクセスでき、ホストからのライトアクセスをこの予備ボリュームに対して有効に維持することができる。
さらに、あるプール内に記憶領域が無くなった場合に他のプールから記憶領域を融通することができる。この際、FCドライブをSATAドライブのプールに融通することはできるが、その逆を制限しても良い。
16 仮想ボリューム、18 プール、100 コントローラ、110 チャネル制御部、140 ディスク制御部、200 上位装置、600 ストレージシステム
Claims (16)
- 上位装置からのアクセスを受けるインタフェースと、記憶資源と、前記上位装置と前記記憶資源との間のデータの入出力を制御するコントローラと、この制御を実行する上で必要な制御情報を記憶する制御メモリと、前記上位装置が認識する仮想ボリュームと、前記仮想ボリュームに割り当てられ、前記記憶資源から提供される、複数の記憶領域を備えるプールと、を備え、前記コントローラは、前記上位装置からの前記仮想ボリュームへのアクセスに基づいて、前記プールから前記仮想ボリュームに前記記憶領域を割り当て、前記上位装置が前記仮想ボリュームに割り当てられた記憶領域にアクセスするように構成された、ストレージシステムであって、
前記制御メモリは前記割り当てを制限する制限制御情報を備え、
前記コントローラは、前記仮想ボリュームに割り当て可能な記憶領域が前記プールに含まれている状態で、前記制限制御情報に基づいて、前記記憶領域の前記仮想ボリュームへの割り当てを制限する、ストレージシステム。 - 前記メモリは前記制限情報として、前記上位装置から前記仮想ボリュームへのライトアクセスにより当該仮想ボリュームへ割り当てられる記憶領域に対する制限値を含み、
前記コントローラは、当該仮想ボリュームに割り当てられた記憶領域の量がこの制限値に抵触した場合に、前記ライトアクセスを制限する、請求項1記載のストレージシステム。 - 前記メモリは、前記制限情報として、前記仮想ボリュームへの記憶領域の割り当て速度に関する制限値を備え、当該割り当て速度の演算値が当該制限値に抵触した場合に、前記コントローラは前記ライトアクセスを制限する、請求項2記載のストレージシステム。
- 前記制限値が前記上位装置に対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合に、このライトアクセスに対して警報を発する、請求項2記載のストレージシステム。
- 前記制限値が前記上位装置に対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合、このライトアクセスをエラーとする請求項2記載のストレージシステム。
- 前記制限値が前記仮想ボリュームに対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合に、このライトアクセスに対して警報を発する、請求項2記載のストレージシステム。
- 前記制限値が前記仮想ボリュームに対して設定されており、前記コントローラは当該上位装置からのライトアクセスに基づく前記記憶領域の割り当てが前記制限値に達した場合、このライトアクセスをエラーとする、請求項2記載のストレージシステム。
- 前記コントローラは、前記プール内の前記仮想ボリュームへの割り当て済みの前記記憶領域が、当該プールに対して設けられた制限値を越えると、前記ホストからのライトアクセスに応じた前記仮想ボリュームへの前記記憶領域の割り当てを制限する、請求項2記載のストレージシステム。
- 前記上位装置で稼動するアプリケーションソフトウエアに対して、前記制限値が設定され、前記コントローラは、当該アプリケーションからのライトアクセスを制限する、請求項2記載のストレージシステム。
- 前記コントローラは、前記仮想ボリュームに対するライトアクセス速度が高い、前記上位装置で稼動するアプリケーションソフトウエアに対して、当該ライトアクセスを制限する、請求項8記載のストレージシステム。
- 前記上位装置の種類に応じて、前記制限値が変更される、請求項2記載のストレージシステム。
- 前記仮想ボリュームの用途に応じて、前記制限値が変更される、請求項2記載のストレージシステム。
- 上位装置からのアクセスを受けるインタフェースと、記憶資源と、前記上位装置と前記記憶資源との間のデータの入出力を制御するコントローラと、この制御を実行する上で必要な制御情報を記憶する制御メモリと、前記上位装置が認識する仮想ボリュームと、前記仮想ボリュームに割り当てられ、前記記憶資源から提供される、複数の記憶領域を備えるプールと、を備え、前記コントローラは、前記上位装置からの前記仮想ボリュームへのアクセスに基づいて、前記プールから前記仮想ボリュームに前記記憶領域を割り当て、前記上位装置が前記仮想ボリュームに割り当てられた記憶領域にアクセスするように構成された、ストレージシステムであって、
前記制御メモリは前記割り当てを制限する制限制御情報として、前記上位装置から前記仮想ボリュームへのライトアクセスにより当該仮想ボリュームへ割り当てられる記憶領域に対する制限値を含み、そして、この制限値は、前記上位装置と前記仮想ボリュームに対してそれぞれ設定されており、
前記コントローラは、前記上位装置からのライトアクセスに基づく前記記憶領域の割り当てが、前記上位装置に対する制限値及び前記仮想ボリュームに対する制限値の少なくとも一方に抵触した場合には、前記上位装置からのライトアクセスを制限するようにした、ストレージシステム。 - 前記ライトアクセスの制限が予め定められた特定の上位装置に対して設定される、ストレージシステム。
- 複数の上位装置がそれぞれアクセスする複数の仮想ボリュームを備え、異なる制限値が各上位装置と各仮想ボリュームに設定されている、ストレージシステム。
- 上位装置がアクセスするボリュームに、上位装置からのアクセスに応じて、記憶領域を動的に割り当てるように構成されたストレージシステムにおける記憶制御方法であって、
前記ボリュームに割り当てられる記憶領域をプール化し、上位装置から前記ボリュームにアクセスがあると、プール内の記憶領域を前記ボリュームに割り当てるとともに、前記上位装置及び/又は前記ボリュームに、前記記憶領域の割り当てに関する制限を設け、この制限に前記上位装置からのアクセスが抵触する場合には、前記プールの記憶領域を前記ボリュームに割り当てることなく、上位装置にライトアクセスエラーを返す、ストレージシステムにおける記憶制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006131621A JP2007304794A (ja) | 2006-05-10 | 2006-05-10 | ストレージシステム及びストレージシステムにおける記憶制御方法 |
US11/485,271 US20070266218A1 (en) | 2006-05-10 | 2006-07-13 | Storage system and storage control method for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006131621A JP2007304794A (ja) | 2006-05-10 | 2006-05-10 | ストレージシステム及びストレージシステムにおける記憶制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007304794A true JP2007304794A (ja) | 2007-11-22 |
Family
ID=38686446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006131621A Pending JP2007304794A (ja) | 2006-05-10 | 2006-05-10 | ストレージシステム及びストレージシステムにおける記憶制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070266218A1 (ja) |
JP (1) | JP2007304794A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187468A (ja) * | 2008-02-08 | 2009-08-20 | Hitachi Ltd | 記憶システム、解除方法及び副側のストレージ装置 |
JP2009282922A (ja) * | 2008-05-26 | 2009-12-03 | Hitachi Ltd | 管理サーバ、プール増設方法および計算機システム |
JP2010282608A (ja) * | 2009-06-03 | 2010-12-16 | Hitachi Ltd | 動的チャンク割り当て機能を有するデータストレージシステムに於けるデータボリューム生成を制御するための方法及び装置 |
JP2011242840A (ja) * | 2010-05-14 | 2011-12-01 | Hitachi Ltd | ThinProvisioningが適用されたストレージ装置 |
JP2012523594A (ja) * | 2009-08-31 | 2012-10-04 | 株式会社日立製作所 | 複数のフラッシュパッケージを有するストレージシステム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7653767B2 (en) * | 2007-01-23 | 2010-01-26 | International Business Machines Corporation | Hierarchical enclosure management services |
US7711894B1 (en) | 2007-02-12 | 2010-05-04 | Juniper Networks, Inc. | Dynamic disk throttling in a wide area network optimization device |
US8826351B2 (en) * | 2008-09-11 | 2014-09-02 | At&T Intellectual Property I, Lp | System and method for managing storage capacity on a digital video recorder |
CN102334093B (zh) * | 2009-03-18 | 2017-08-01 | 株式会社日立制作所 | 存储控制装置以及虚拟卷的控制方法 |
US8495331B2 (en) | 2010-12-22 | 2013-07-23 | Hitachi, Ltd. | Storage apparatus and storage management method for storing entries in management tables |
WO2013025553A2 (en) | 2011-08-12 | 2013-02-21 | Splunk Inc. | Data volume management |
US9514014B2 (en) | 2011-08-17 | 2016-12-06 | EMC IP Holding Company, LLC | Methods and systems of managing a distributed replica based storage |
US10983949B2 (en) * | 2016-02-29 | 2021-04-20 | Red Hat, Inc. | File system quota versioning |
CN109976662B (zh) * | 2017-12-27 | 2022-06-14 | 浙江宇视科技有限公司 | 数据存储方法、装置及分布式存储*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6857059B2 (en) * | 2001-01-11 | 2005-02-15 | Yottayotta, Inc. | Storage virtualization system and methods |
US7325017B2 (en) * | 2003-09-24 | 2008-01-29 | Swsoft Holdings, Ltd. | Method of implementation of data storage quota |
US7039769B2 (en) * | 2002-05-30 | 2006-05-02 | International Business Machines Corporation | Direct addressed shared compressed memory system |
US6823442B1 (en) * | 2003-05-12 | 2004-11-23 | 3Pardata, Inc. | Method of managing virtual volumes in a utility storage server system |
JP4438457B2 (ja) * | 2003-05-28 | 2010-03-24 | 株式会社日立製作所 | 記憶領域割当方法、システム及び仮想化装置 |
JP2005135116A (ja) * | 2003-10-29 | 2005-05-26 | Nec Corp | ストレージ装置及びそのアクセス制御方法 |
US20070150690A1 (en) * | 2005-12-23 | 2007-06-28 | International Business Machines Corporation | Method and apparatus for increasing virtual storage capacity in on-demand storage systems |
-
2006
- 2006-05-10 JP JP2006131621A patent/JP2007304794A/ja active Pending
- 2006-07-13 US US11/485,271 patent/US20070266218A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187468A (ja) * | 2008-02-08 | 2009-08-20 | Hitachi Ltd | 記憶システム、解除方法及び副側のストレージ装置 |
JP2009282922A (ja) * | 2008-05-26 | 2009-12-03 | Hitachi Ltd | 管理サーバ、プール増設方法および計算機システム |
JP4616899B2 (ja) * | 2008-05-26 | 2011-01-19 | 株式会社日立製作所 | 管理サーバ、プール増設方法および計算機システム |
US8041917B2 (en) | 2008-05-26 | 2011-10-18 | Hitachi, Ltd. | Managing server, pool adding method and computer system |
JP2010282608A (ja) * | 2009-06-03 | 2010-12-16 | Hitachi Ltd | 動的チャンク割り当て機能を有するデータストレージシステムに於けるデータボリューム生成を制御するための方法及び装置 |
JP2012523594A (ja) * | 2009-08-31 | 2012-10-04 | 株式会社日立製作所 | 複数のフラッシュパッケージを有するストレージシステム |
JP2011242840A (ja) * | 2010-05-14 | 2011-12-01 | Hitachi Ltd | ThinProvisioningが適用されたストレージ装置 |
Also Published As
Publication number | Publication date |
---|---|
US20070266218A1 (en) | 2007-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007304794A (ja) | ストレージシステム及びストレージシステムにおける記憶制御方法 | |
JP5037881B2 (ja) | ストレージシステム及びその制御方法 | |
US7797487B2 (en) | Command queue loading | |
JP5531091B2 (ja) | 計算機システム及びその負荷均等化制御方法 | |
JP2007293442A (ja) | ストレージシステム及びその制御方法 | |
JP2008146574A (ja) | 記憶制御装置及び記憶制御方法 | |
US7689797B2 (en) | Method for automatically configuring additional component to a storage subsystem | |
US8745326B2 (en) | Request priority seek manager | |
US11829803B2 (en) | Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof | |
US10082968B2 (en) | Preferred zone scheduling | |
US20080109630A1 (en) | Storage system, storage unit, and storage management system | |
JP5376624B2 (ja) | ホスト適応シーク技術環境 | |
US8572347B2 (en) | Storage apparatus and method of controlling storage apparatus | |
US8041917B2 (en) | Managing server, pool adding method and computer system | |
US7844711B2 (en) | Volume allocation method | |
WO2016006072A1 (ja) | 管理計算機およびストレージシステム | |
US7853758B2 (en) | Avoiding failure of an initial program load in a logical partition of a data storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20090216 |