説明

制御装置、制御方法およびストレージ装置

【課題】過剰なデータ記憶領域を有するボリュームの作成を抑制すること。
【解決手段】計数部2aは、記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリューム3aに記憶されているファイル数を計数する。判断部2bは、計数部2aにより計数されたファイル数が所定数より多い場合に第1のボリューム3aに記憶されているファイルの使用容量の増加傾向を判断する。ボリューム制御部2cは、ファイルの使用容量が所定期間に所定量以上増加していると判断部2bが判断した場合に第2のボリューム3bを作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は制御装置、制御方法およびストレージ装置に関する。
【背景技術】
【0002】
複数のRAID(Redundant Arrays of Inexpensive/Independent Disks)グループを統合して1つのストレージ・プールを作成し、必要に応じて論理的なボリューム(フレックスボリューム)を1つまたは複数個作成する技術が知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】ETRNUS NR1000F Series [online] FUJITSU Corporation, [retrieved on 2011-03-31]. Retrieved from the Internet: <http://storage-system.fujitsu.com/jp/products/nwdiskarray/feature/hard090/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、記憶するデータのアドレスを管理する単位に64ビットを用いた64ビットフレックスボリュームをストレージ・プール内に作成することが可能になっている。64ビットフレックスボリュームは、例えば記憶するデータのアドレスを管理する単位に32ビットを用いた32ビットフレックスボリュームと比べ、記憶容量を大きくすることができる。また、64ビットフレックスボリュームは、32ビットフレックスボリュームと比べ、同じ記憶容量を確保した場合にフレックスボリューム内のパリティディスクが占める割合を減らすことができるため、ストレージ・プールの資源を有効に活用することができる。
【0005】
1つの64ビットフレックスボリュームに記憶できるファイルの上限が決められている場合がある。この場合、64ビットフレックスボリュームが記憶できるファイルの上限に達すると、未使用のデータ記憶領域が残っているにもかかわらず新たなファイルの書き込みができなくなってしまう。
【0006】
本発明はこのような点に鑑みてなされたものであり、過剰なデータ記憶領域を有するボリュームの作成を抑制する制御装置、制御方法およびストレージ装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、開示の制御装置が提供される。この制御装置は、計数部と判断部とボリューム制御部とを有する。
計数部は、記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームに記憶されているファイル数を計数する。
【0008】
判断部は、計数部により計数されたファイル数が所定数より多い場合に第1のボリュームに記憶されているファイルの使用容量の増加傾向を判断する。
ボリューム制御部は、ファイルの使用容量が所定期間に所定量以上増加していると判断部が判断した場合に第2のボリュームを作成する。
【発明の効果】
【0009】
過剰なデータ記憶領域を有するボリュームの作成を抑制することができる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態のストレージ装置を示す図である。
【図2】第2の実施の形態のストレージシステムを示すブロック図である。
【図3】第2の実施の形態の制御部の機能を示すブロック図である。
【図4】ボリューム情報管理テーブルを説明する図である。
【図5】ファイル情報管理テーブルを説明する図である。
【図6】アグリゲート制御部の処理を示すフローチャートである。
【図7】64ビットアグリゲートボリュームへの移行処理を説明する図である。
【図8】64ビットアグリゲートボリュームへの移行処理を説明する図である。
【発明を実施するための形態】
【0011】
以下、実施の形態のストレージ装置を、図面を参照して詳細に説明する。第1の実施の形態において、開示のストレージ装置の実施の形態について説明し、その後、第2の実施の形態において、開示のストレージ装置をより具体的に説明する。
【0012】
<第1の実施の形態>
図1は、第1の実施の形態のストレージ装置を示す図である。
第1の実施の形態のストレージ装置1は、制御装置2と、ストレージ・プール3とを有している。ストレージ・プール3は、1つまたは複数のドライブ装置(HDD(Hard Disk Drive)や、SSD(Solid State Drive)等)で構成される仮想的な記憶領域である。ストレージ・プール3には、ドライブ装置の一部のデータ記憶領域で構成される論理的な第1のボリューム3aが、制御装置2によって作成されている。第1のボリューム3aは、制御装置2によって書き込むファイル数に上限が設定された記憶領域(例えば16TB(Tera Byte))を有する。ストレージ・プール3には、第1のボリューム3a以外に、複数の論理ボリュームを作成可能なデータ記憶領域が存在する。
【0013】
制御装置2は、第1のボリューム3aに通信回線を介して接続されている。この制御装置2は、業務等に用いるサーバ装置4から第1のボリューム3aへのファイルアクセスを制御する。すなわち、制御装置2は、サーバ装置4から受け付けたデータの、第1のボリューム3aへの書き込み、およびサーバ装置4から受け付けた、第1のボリューム3aに記憶されているデータの読み出しを制御する。この制御装置2は、計数部2aと、判断部2bと、ボリューム制御部2cと、移行処理部2dとを有している。なお、計数部2a、判断部2b、ボリューム制御部2c、および移行処理部2dは、制御装置2が有するCPU(Central Processing Unit)が備える機能により実現することができる。
【0014】
計数部2aは、第1のボリューム3aに記憶されているファイルの数を計数する。
判断部2bは、計数部2aにより計数されたファイル数が所定数(例えば、上限の90%)より多い場合に第1のボリューム3aに記憶されているファイルの使用容量(データの記憶に使用している記憶容量)の増加傾向を判断する。判断部2bが、ファイルの使用容量の増加傾向を判断する方法としては、例えば、ファイルの使用容量が、所定期間内に所定割合以上増加しているか否かを判断する。
【0015】
ボリューム制御部2cは、計数部2aにより計数されたファイル数が所定数より多い場合であっても、ファイルの使用容量が、所定期間内に所定割合以上増加している場合は、第1のボリューム3aのデータ記憶領域を拡張した第2のボリューム3b(例えば100TB)を作成する。このボリューム制御部2cの処理は、判断部2bの判断により、ファイルの容量が増加する可能性が比較的高いと予測されることに基づく処理である。なお、第2のボリューム3bは、第1のボリューム3aを拡張して作成してもよいし、第1のボリューム3aとは別個に第2のボリューム3bを新たに作成してもよい。ボリューム制御部2cが、第2のボリューム3bを作成することにより、第2のボリューム3bに記憶するファイルの使用容量が増加しても、新たなボリュームの作成を回避し、ボリュームの移行処理に伴う制御装置2の処理負荷を軽減することができる。
【0016】
移行処理部2dは、ボリューム制御部2cが作成した第2のボリューム3bに第1のボリューム3aに記憶されているファイルをコピーする等、作成された第2のボリューム3bにサーバ装置4がファイルアクセスを可能とする処理を行う。
【0017】
他方、ボリューム制御部2cは、ファイルの使用容量が所定期間に所定量以上増加していないと判断部2bが判断した場合に第2のボリューム3bの作成を回避する。このボリューム制御部2cの処理は、判断部2bの判断により、ファイルの容量が増加する可能性が比較的低いと予測されることに基づく処理である。データ記憶領域の使用率の増加の見込みが少ない第2のボリューム3bの作成を回避することで、過剰なデータ記憶領域を有するボリュームの作成を抑制することができる。
【0018】
なお、ボリューム制御部2cは、第1のボリューム3aに記憶するファイル数が上限に達した場合、新たに第3のボリューム3cを作成することができる。なお、第3のボリューム3cの容量は、特に限定されない。
【0019】
このストレージ装置1によれば、ボリューム制御部2cが、第1のボリューム3aのファイルの使用容量が所定期間に所定量以上増加していないと判断した場合、第1のボリューム3aのデータ記憶領域を拡張した第2のボリューム3bの作成を回避する。このため、計数部2aにより計数されたファイル数が所定数より多い場合に一意に第2のボリューム3bを作成する場合に比べ、過剰なデータ記憶領域を有するボリュームの作成を抑制することができる。ひいては、ストレージ・プール3の記憶領域を節約することができる。
【0020】
<第2の実施の形態>
図2は、第2の実施の形態のストレージシステムを示すブロック図である。
図2に示すストレージシステムは、サーバ装置41、42、43と、これらのサーバ装置41、42、43にLAN(Local Area Network)を介して接続されたストレージ装置100とを有している。
【0021】
ストレージ装置100は、NAS(Network Attached Storage)であり、複数のHDD20を備えるドライブエンクロージャ(DE:Drive Enclosure)20aと、このドライブエンクロージャ20aの物理記憶領域をRAIDによって管理する制御部10を有している。制御部10は、制御装置の一例である。なお、本実施の形態では、ドライブエンクロージャ20aが備える記憶媒体としては、HDD20を例示したが、HDD20に限らず、SSD等、他の記憶媒体を用いてもよい。以下、ドライブエンクロージャ20aが備える複数のHDD20を区別しない場合は、「HDD20群」と言う。
【0022】
なお、ストレージ装置100が備える制御部の数は、1つに限定されず、2つ以上の制御部によりHDD20群の制御の冗長性が確保されていてもよい。また、本実施の形態では、NASのストレージ装置100を説明するが、制御部10が備える機能は、SAN(Storage Area Network)等、他のストレージ装置にも適用することができる。
【0023】
ストレージ装置100とサーバ装置41、42、43との間のデータアクセスは、ファイル単位で行われる。サーバ装置41、42、43からストレージ装置100へのデータアクセスは、例えばファイル名や共有名等ファイルを特定する呼び名で行われる。制御部10は、それぞれ、サーバ装置41、42、43からのファイルアクセス要求に応じてドライブエンクロージャ20aが有するHDD20の物理記憶領域へのファイルアクセスをRAIDによって制御する。
【0024】
制御部10は、CPU101と、RAM(Random Access Memory)102と、フラッシュROM103と、キャッシュメモリ104と、LANインタフェース105と、デバイスインタフェース(DI:Device Interface)106とを備えている。
【0025】
CPU101は、フラッシュROM103等に記憶されたプログラムを実行することにより、制御部10全体を統括的に制御する。RAM102は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部や、プログラムによる処理に必要な各種データを一時的に記憶する。フラッシュROM103は、不揮発性のメモリであり、CPU101により実行されるOSのプログラム、アプリケーションプログラムや、プログラムの実行に必要な各種のデータ等を記憶する。
【0026】
また、フラッシュROM103は、ストレージ装置100の停電時等にキャッシュメモリ104に記憶されているデータの退避先となる。
キャッシュメモリ104は、HDD20群に書き込まれているファイルやHDD20群から読み出したファイルを一時的に記憶する。
【0027】
そして、制御部10は、例えばサーバ装置41、42、43からのファイル読み出し命令を受けたときに、読み出し対象のファイルがキャッシュメモリ104に記憶されているか否かを判断する。読み出し対象のファイルがキャッシュメモリ104に記憶されていれば、制御部10は、キャッシュメモリ104に記憶されている読み出し対象のファイルをサーバ装置41、42、43に送る。読み出し対象のファイルをHDD20群から読み出す場合に比べ、ファイルを迅速にサーバ装置41、42、43に送ることができる。
【0028】
また、キャッシュメモリ104には、CPU101による処理に必要なファイルが一時的に記憶されてもよい。このキャッシュメモリ104としては、例えば、SRAM、DRAM等の揮発性の半導体装置が挙げられる。また、キャッシュメモリ104の記憶容量は、特に限定されないが、一例として2〜64GB程度である。
【0029】
LANインタフェース105は、LAN50に接続され、LAN50を介してサーバ装置41、42、43に接続されている。LANインタフェース105は、サーバ装置41、42、43と制御部10との間でNFS(Network File System)、CIFS(Common Internet File System)、HTTP(HyperText Transfer Protocol)等のプロトコルを用いてファイルを送受信する。
【0030】
デバイスインタフェース106は、ドライブエンクロージャ20aに接続されている。このデバイスインタフェース106は、ドライブエンクロージャ20aが備えるHDD20群とキャッシュメモリ104との間でファイルを送受信するインタフェース機能を提供する。制御部10は、デバイスインタフェース106を介してドライブエンクロージャ20aが備えるHDD20群との間でファイルの送受信を行う。
【0031】
ドライブエンクロージャ20aには、ドライブエンクロージャ20aが備える複数のHDD20のうち、1つ、または複数のHDD20により構成されたRAIDグループが形成されている。
【0032】
図2では、RAID6の実装の1つであり、RAIDグループ内にパリティディスクを2つ設置するRAID−DP(Double Parity)(登録商標)を構成するRAIDグループ21、22を示している。なお、RAIDグループ21、22のRAID構成は、一例であり、図示のRAID構成に限定されない。例えば、RAIDグループ21、22は、任意の個数のHDD20を有することができる。また、RAIDグループ21、22は、RAID5等、任意のRAID方式で構成することができる。次に、制御部10が有する機能を説明する。
【0033】
図3は、第2の実施の形態の制御部の機能を示すブロック図である。
制御部10は、RAIDグループ21、22を1つの仮想的な記憶領域として取り扱うアグリゲート20bを有している。アグリゲート20b内には、1つまたは複数の論理的なボリュームを作成することができる。以下、アグリゲート20b内に作成されたボリュームを「アグリゲートボリューム」と言う。図3は、2つのアグリゲートボリューム31、32を図示している。
【0034】
制御部10は、ネットワーク制御部11と、プロトコル制御部12と、アクセス制御部13と、アグリゲート制御部14と、ディスク制御部15とを有している。
ネットワーク制御部11は、LAN50を介してサーバ装置41、42、43それぞれとネットワークを構築する。
【0035】
プロトコル制御部12は、前述したNFSやCIFS等のプロトコルを用いてサーバ装置41〜43と通信を行う。
アクセス制御部13は、サーバ装置41、42、43からアグリゲートボリューム31、32へのアクセス権限の確認、認証等を行う。
【0036】
アグリゲート制御部14は、計数部、判断部およびボリューム制御部の一例である。アグリゲート制御部14は、サーバ装置41、42、43とアグリゲートボリューム31、32とのアクセスを制御する。また、アグリゲート制御部14は、アグリゲートボリュームを作成する機能を有している。アグリゲート制御部14は、作成するアグリゲートボリュームの記憶容量を、例えば20MBから4KB単位にて作成可能であり、既に作成したアグリゲートボリューム31、32の記憶容量を変更することも可能である。また、アグリゲート制御部14は、アグリゲート20b内に作成したアグリゲートボリュームの管理用に作成したボリューム情報管理テーブルを監視、管理する。例えば、アグリゲート制御部14は、ボリューム情報管理テーブルを用いてアグリゲートボリュームの作成、削除およびアグリゲートボリュームの移行処理を制御する。ここで、アグリゲートボリュームの移行処理は、新たなアグリゲートボリュームを作成する処理、既存のアグリゲートボリュームに記憶されているファイルを作成したアグリゲートボリュームにコピーする処理、およびサーバ装置41、42、43と既存のアグリゲートボリュームとのアクセスパスを、作成したアグリゲートボリュームに切り替える処理を含む。
【0037】
ところで、フラッシュROM103には、HDD20のデータ記憶領域を管理するアドレスに32ビットを用いたアグリゲートボリューム31、32をサポートする第1のバージョンのOSが記憶されている。アグリゲート制御部14は、フラッシュROM103に記憶された第1のバージョンのOSを実行することで、記憶容量の上限が16TBのアグリゲートボリューム31、32を作成することができる。
【0038】
ストレージ装置100の管理者(以下、単に「管理者」と言う)の改版処理により、フラッシュROM103に記憶されている第1のバージョンのOSを、第2のバージョンのOSに改版することができる。第2のバージョンのOSは、HDD20のデータ記憶領域を管理するアドレスに64ビットを用いたアグリゲートボリュームをサポートする。CPU101がフラッシュROM103に記憶された第2のバージョンのOSを実行することで、アグリゲート制御部14は、記憶容量の上限が100TBのアグリゲートボリュームを作成することができる。但し、32ビットアグリゲートボリュームも64ビットアグリゲートボリュームも、格納することができるファイル数の上限は等しく設定されている。ファイル数の上限は、管理者が設定することができる。
【0039】
アグリゲート制御部14は、ボリューム管理部14aとファイル管理部14bとを有している。
ボリューム管理部14aは、アグリゲートボリューム毎に作成されアグリゲート20bに関する情報を記憶したボリューム情報管理テーブルを管理する。
【0040】
ファイル管理部14bは、ファイル毎に設定され、ファイルに関する情報を記憶したファイル情報管理テーブルを管理する。なお、ボリューム情報管理テーブルおよびファイル情報管理テーブルは、RAM102に記憶されている。
【0041】
ディスク制御部15は、アグリゲート制御部14の要求に応じてアグリゲートボリューム31、32および作成した64ビットアグリゲートボリュームを構築するHDD20群に対しアクセスする。
【0042】
次に、ボリューム情報管理テーブルの内容を説明する。
図4は、ボリューム情報管理テーブルを説明する図である。
ボリューム情報管理テーブル141には、アグリゲートボリューム番号、アグリゲートボリューム名、アグリゲートボリュームサイズ、使用容量、格納ボリューム数、構成ディスク数、RAIDタイプ、および格納ファイル数の欄が設けられている。横方向に並べられた情報同士が互いに関連づけられている。
【0043】
アグリゲートボリューム番号の欄には、ボリューム情報管理テーブル141を管理する番号が設定されている。
アグリゲートボリューム名の欄には、アグリゲートボリュームを識別する名前が設定されている。
【0044】
アグリゲートボリュームサイズの欄には、当該アグリゲートボリュームが備える記憶容量(Byte)が設定されている。
使用容量の欄には、当該アグリゲートボリュームのデータの記憶に使用している記憶容量(Byte)が設定されている。
【0045】
格納ボリューム数の欄には、当該アグリゲートボリューム内に作成される論理ボリューム(以下、「サブボリューム」と言う)の数が設定されている。このように、アグリゲートボリューム内に、さらに論理的なサブボリュームを作成することも可能である。
【0046】
構成ディスク数の欄には、当該アグリゲートボリュームを構築するHDD20の数が設定されている。
RAIDタイプの欄には、当該アグリゲートボリュームのRAIDタイプが設定されている。
【0047】
格納ファイル数の欄には、当該アグリゲートボリュームに格納されているファイルの数が設定されている。
次に、ファイル情報管理テーブルの内容を説明する。
【0048】
図5は、ファイル情報管理テーブルを説明する図である。
ファイル情報管理テーブル142には、ファイル名、ファイル格納ボリューム名、ファイル格納場所、ファイル作成日、オリジナルファイルサイズ、更新回数、最終ファイル更新日、カレントファイルサイズの欄が設けられている。横方向に並べられた情報同士が互いに関連づけられている。
【0049】
ファイル名の欄には、ファイルを識別する名前が設定されている。
ファイル格納ボリューム名の欄には、当該ファイルを格納するアグリゲート20bのボリューム名を識別する名前が設定されている。
【0050】
ファイル格納場所の欄には、当該ファイルが格納されているアグリゲート20b内の場所を識別する情報が設定されている。
ファイル作成日の欄には、当該ファイルが最初に作成された日付が設定されている。この日付は、当該ファイルが上書きされた場合も変わらない。
【0051】
オリジナルファイルサイズの欄には、当該ファイルが最初に作成されたときのファイルの容量が設定されている。
更新回数の欄には、当該ファイルが更新された回数が設定されている。
【0052】
最終ファイル更新日の欄には、当該ファイルが最後に更新された日付が設定されている。
カレントファイルサイズの欄には、当該ファイルの現在の容量(当該ファイルが最後に更新されたときの容量)が設定されている。
【0053】
次に、フラッシュROM103に記憶されているOSが、第1のバージョンのOSから第2のバージョンのOSに改版された後に、最初に制御部10が起動したときのアグリゲート制御部14の処理を説明する。
【0054】
図6は、アグリゲート制御部の処理を示すフローチャートである。
[ステップS1] アグリゲート制御部14は、ボリューム管理部14aが管理している全てのボリューム情報管理テーブル141を取得する。その後、ステップS2に遷移する。
【0055】
[ステップS2] アグリゲート制御部14は、ステップS1にて取得した各ボリューム情報管理テーブル141のアグリゲートボリュームサイズの欄と使用容量の欄を参照し、アグリゲートボリュームサイズにおける使用容量の割合をそれぞれ演算する。そして、使用率が75%以上の32ビットアグリゲートボリュームを検索する。なお、75%は管理者が予め設定した値の一例であり、75%は任意の値に変更することができる。検索が終了すると、ステップS3に遷移する。
【0056】
[ステップS3] アグリゲート制御部14は、ステップS2の検索の結果、使用率が75%以上の32ビットアグリゲートボリュームが存在するか否かを判断する。使用率が75%以上のボリュームが存在する場合(ステップS3のYes)、ステップS4に遷移する。使用率が75%以上のボリュームが存在しない場合(ステップS3のNo)、図6の処理を終了する。すなわち、使用率が75%以上のボリュームが存在しない場合は、いずれの32ビットアグリゲートボリュームも、後述する64ビットアグリゲートボリュームへの移行処理を行わない。
【0057】
[ステップS4] アグリゲート制御部14は、使用率が75%以上の32ビットアグリゲートボリューム(以下、「該当ボリューム」と言う)のボリューム情報管理テーブル141の格納ファイル数を取得する。また、アグリゲート制御部14は、該当ボリュームそれぞれのファイル情報管理テーブル142のファイル作成日と最終ファイル更新日とを参照し、最終ファイル更新日が、ファイル作成日の6ヶ月以内であるファイルの数、すなわち、現在から6ヶ月以内に更新したファイルの数(以下、更新ファイル数と言う)を計数する。なお、6ヶ月以内は管理者が予め設定した期間の一例であり、6ヶ月以内は任意の期間に変更することができる。格納ファイル数および更新ファイル数の取得が終了すると、ステップS5に遷移する。
【0058】
[ステップS5] アグリゲート制御部14は、ステップS4にて取得した更新ファイル数を格納ファイル数で除算して、格納ファイル数における更新ファイル数の割合を算出する。その後、ステップS6に遷移する。
【0059】
[ステップS6] アグリゲート制御部14は、ステップS4にて取得した格納ファイル数が上限に近いか否かを判断する。アグリゲート制御部14は、例えば、上限として予め設定された割合以上である場合や、上限として予め設定されたファイル数以上である場合に、格納ファイル数が上限に近いと判断することができる。上限とする割合やファイル数は、管理者が定めることができる。ステップS4にて取得した格納ファイル数が上限に近いと判断した場合(ステップS6のYes)、ステップS8に遷移する。近くないと判断した場合(ステップS6のNo)、ステップS7に遷移する。
【0060】
[ステップS7] アグリゲート制御部14は、該当ボリューム内のサブボリュームを、更新割合の高い、かつステップS2にて演算した使用容量の高い順にソートする。このソート処理により、後述する移行処理を行った64ビットアグリゲートボリュームに記憶されたファイルへのアクセス効率の向上を図ることができる。その後、ステップS11に遷移する。
【0061】
[ステップS8] アグリゲート制御部14は、更新ファイルのカレントファイルサイズを合計する。具体的には、アグリゲート制御部14は、全てのファイル情報管理テーブル142を参照する。そして、ファイル格納ボリューム名の欄の、ボリューム名が該当ボリューム名に一致するファイル情報管理テーブル142のカレントファイルサイズを合計する。その後、ステップS9に遷移する。
【0062】
[ステップS9] アグリゲート制御部14は、更新ファイルのオリジナルファイルサイズの合計をする。具体的には、アグリゲート制御部14は、全てのファイル情報管理テーブル142を参照する。そして、ファイル格納ボリューム名の欄に、該当ボリューム名が設定されているファイル情報管理テーブル142のオリジナルファイルサイズを合計する。その後、ステップS10に遷移する。なお、ステップS8の処理とステップS9の処理を並行して行ってもよい。
【0063】
[ステップS10] アグリゲート制御部14は、ステップS8にて算出した更新ファイルのカレントファイルサイズの合計が、ステップS9にて算出した更新ファイルのオリジナルファイルサイズの合計より1.3倍以上か否かを判断する。なお、1.3倍は管理者が予め設定した値の一例であり、1.3倍は1倍より大きい任意の値に変更することができる。ステップS9にて算出した更新ファイルのカレントファイルサイズの合計が、ステップS8にて算出した更新ファイルのオリジナルファイルサイズの合計の1.3倍以上である場合(ステップS10のYes)、ステップS11に遷移する。なお、ステップS11に遷移する場合は、当該ステップS10の条件に加え、該当ボリュームが、使用率が75%以上のボリュームであり(ステップS3参照)、かつ、ファイルの総数が上限値に近い(ステップS6参照)場合である。このため、該当ボリュームのファイルサイズの増加分は、6ヶ月以内に更新されたファイルが占める割合が比較的高いと判断することができる。
【0064】
ステップS9にて算出した更新ファイルのカレントファイルサイズの合計が、ステップS8にて算出した更新ファイルのオリジナルファイルサイズの合計の1.3倍未満である場合(ステップS10のNo)、ステップS12に遷移する。なお、ステップS12に遷移する場合は、当該ステップS10の条件に加え、該当ボリュームが、使用率が75%以上のボリュームであり(ステップS3参照)、かつ、ファイルの総数が上限値に近い(ステップS6参照)場合であるため、該当ボリュームのファイルサイズの増加分は、6ヶ月以内に更新されたファイルが占める割合が比較的低いと判断することができる。
【0065】
[ステップS11] アグリゲート制御部14は、64ビットアグリゲートボリュームを作成し、該当ボリュームに記憶されているファイルを、作成した64ビットアグリゲートボリュームにコピーする。そして、アグリゲート制御部14は、サーバ装置41、42、43と該当ボリュームとのアクセスパスを、作成した64ビットアグリゲートボリュームに切り替える。その後、図6の処理を終了する。ステップS11の処理を実行させる意図は、移行元の32ビットアグリゲートボリュームに記憶するファイルの総数が上限に達した場合においても、ファイルの容量が今後も増加することを予測して、64ビットアグリゲートボリュームに移行することにある。このステップS11の処理を行うことにより、ファイルの総数の上限に近づいてはいるが、6ヶ月以内の更新頻度が比較的高いファイルが記憶された32ビットアグリゲートボリュームを64ビットアグリゲートボリュームに移行することができる。そのため、例えば、ファイルサイズの増加に対応することができる。
【0066】
[ステップS12] アグリゲート制御部14は、新たなアグリゲートボリュームの作成を促すアラームを管理者に報知する。報知する方法は、例えば、図示しないLEDを点滅させる方法や、警告音を発する方法等が挙げられる。アラームを報知することで、該当ボリュームに記憶されているファイルの総数が上限値に近い(ステップS6参照)ことを管理者に知らせることができる。その後、図6の処理を終了する。以上で図6の説明を終了する。なお、図6に示すフローチャートの手順の一部(例えば、ステップS8とステップS9)を入れ替えてもよい。また、図6では、最初に制御部10が起動したときのアグリゲート制御部14の処理を説明したが、アグリゲート制御部14は、図6の処理を行った後もアグリゲート20b内の32ビットアグリゲートボリュームの状態を定期的に確認し、任意のタイミングで図6の処理を実行するようにしてもよい。
【0067】
次に、ステップS11の32ビットアグリゲートボリュームから64ビットアグリゲートボリュームへの移行処理をより詳しく説明する。
図7は、64ビットアグリゲートボリュームへの移行処理を説明する図である。
【0068】
アグリゲート制御部14は、アグリゲート20b内の未使用のHDD20を用いて64ビットアグリゲートボリューム34を新たに作成する。なお、図7には図示していないが、既存の64ビットアグリゲートボリュームに、移行元となる32ビットアグリゲートボリューム33以上の記憶容量を有するサブボリュームを作成してもよい。その後、アグリゲート制御部14は、32ビットアグリゲートボリューム33内のメタデータ33aおよび全てのファイル33bを64ビットアグリゲートボリューム34にコピーする。なお、メタデータ33aは、移行元の32ビットアグリゲートボリューム33に記憶されているファイル33bの作成日時や作成者、ファイル形式、タイトル、注釈等を含む。ファイルのコピーが終了すると、アグリゲート制御部14は、サーバ装置41、42、43と32ビットアグリゲートボリューム33とのアクセスパスP1を、サーバ装置41、42、43と64ビットアグリゲートボリューム34とのアクセスパスP2に切り替える。
【0069】
ところで、64ビットアグリゲートボリュームを新たに作成する際に、64ビットアグリゲートボリュームを構築するHDD20がアグリゲート20b内に確保できず、かつ、移行元の32ビットアグリゲートボリュームに記憶されている全てのファイルを記憶できる既存の64ビットアグリゲートボリュームが存在しない場合、以下の方法で64ビットアグリゲートボリュームへの移行処理を行う。
【0070】
図8は、64ビットアグリゲートボリュームへの移行処理を説明する図である。
アグリゲート制御部14は、各アグリゲートボリュームを管理するボリューム情報管理テーブル141のアグリゲートボリュームサイズの欄と使用容量の欄を参照し、各アグリゲートボリュームの未使用の(ファイルが書き込まれていない)記憶容量を確認する。そして、アグリゲート制御部14は、移行元の32ビットアグリゲートボリューム33の記憶容量以上の未使用の記憶容量を備える既存のアグリゲートボリュームが存在するか否かを確認する。移行元の32ビットアグリゲートボリューム33の記憶容量以上の未使用の記憶容量を備える既存のアグリゲートボリュームが存在する場合、そのアグリゲートボリュームを32ビットアグリゲートボリュームに記憶されているファイル33bを一時的にコピーするボリューム(以下、一時コピー先ボリュームと言う)に設定する。なお、一時コピー先ボリュームは、32ビットアグリゲートボリュームでも64ビットアグリゲートボリュームでもよい。また、一時コピー先ボリュームの数は1つでもよいし、2つ以上でもよい。図8では一例として3つの一時コピー先ボリューム35、36、37を図示している。3つの一時コピー先ボリューム35、36、37の未使用の記憶容量の総和が、32ビットアグリゲートボリューム33の記憶容量以上である。
【0071】
アグリゲート制御部14は、メタデータ33aを一時コピー先ボリューム35にコピーする。一時コピー先ボリューム35へのメタデータ33aのコピーが完了すると、アグリゲート制御部14は、32ビットアグリゲートボリューム33に記憶されているファイル33bを一時コピー先ボリューム36、37に分散してコピーする。その後、32ビットアグリゲートボリューム33を解放し、32ビットアグリゲートボリューム33の記憶容量より大きな記憶容量の64ビットアグリゲートボリューム38を作成する。そして、一時コピー先ボリューム35に記憶されているメタデータ33aおよび一時コピー先ボリューム36、37に記憶されているファイル33bを作成した64ビットアグリゲートボリューム38にコピーする。なお、アグリゲート制御部14は、メタデータ33aのコピーの際、メタデータ33aに記憶されているデータを、移行した64ビットアグリゲートボリューム38用に更新する。例えば、メタデータ33aに記憶されているサーバ装置41、42、43と32ビットアグリゲートボリューム33とのアクセスパスをサーバ装置41、42、43と64ビットアグリゲートボリューム38とのアクセスパスに更新する。その後、一時コピー先ボリューム35に記憶したメタデータ33aおよび一時コピー先ボリューム36、37に記憶したファイル33bを削除する。
【0072】
なお、ボリュームの移行処理を実施する場合には、CPU101やキャッシュメモリ104等の資源を利用する。このため、移行元となる32ビットアグリゲートボリュームが複数存在する場合、アグリゲート制御部14は、これらの32ビットアグリゲートボリュームを1つずつ段階的に64ビットアグリゲートボリュームに移行するよう調整するのが好ましい。
【0073】
以上述べたように、ストレージ装置100によれば、アグリゲート制御部14が図6のステップS11の処理を行うことにより、ファイルの総数の上限に近づいてはいるが、6ヶ月以内の更新頻度が比較的高いファイルが記憶された32ビットアグリゲートボリュームを64ビットアグリゲートボリュームに移行することができる。64ビットアグリゲートボリュームに移行することで、既存のファイルの容量の拡大に対応することができる。従って、アグリゲートボリュームの再作成を抑制し、移行処理に伴う負荷を抑制することができる。また、アグリゲート制御部14は、図6のステップS12に示すように、ファイルの総数の上限に近づいてはいるが、6ヶ月以内の更新頻度が比較的低いファイルが記憶された32ビットアグリゲートボリュームは、64ビットアグリゲートボリュームに移行し記憶容量を拡張しても拡張した記憶容量が使用されない可能性が高い。このため、64ビットアグリゲートボリュームに移行しない。従って、一意に64ビットアグリゲートボリュームに移行する場合に比べ、アグリゲート20bの記憶領域を節約することができる。
【0074】
また、OSの第1のバージョンから第2のバージョンへの改版に伴い、各32ビットアグリゲートボリュームについて、図6に示す処理が実行され、使用状況に応じて自動的に64ビットアグリゲートボリュームへの移行処理が行われる。このため、64ビットアグリゲートボリュームへの移行処理を容易に行うことができる。また、ユーザが手動で移行する場合に比べ、早期に移行処理が行われる。このため、サーバ装置41、42、43からストレージ装置100へのファイルアクセスが滞る影響を小さくすることができる。
【0075】
以上、本発明の制御装置、制御方法およびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【0076】
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、制御装置2および制御部10が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)/RW(ReWritable)等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
【0077】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0078】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0079】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
【0080】
以上の第1〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームに記憶されているファイル数を計数する計数部と、
前記計数部により計数された前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されているファイルの使用容量の増加傾向を判断する判断部と、
前記ファイルの使用容量が所定期間に所定量以上増加していると前記判断部が判断した場合に第2のボリュームを作成するボリューム制御部と、
を有することを特徴とする制御装置。
【0081】
(付記2) 前記ボリューム制御部は、前記ファイルの使用容量が所定期間に所定量以上増加していないと前記判断部が判断した場合に前記第1のボリュームのデータ記憶領域を拡張した前記第2のボリュームの作成を回避することを特徴とする付記1記載の制御装置。
【0082】
(付記3) 前記第1のボリュームがデータ記憶領域を示すアドレスの管理単位に使用するビット数より、前記第2のボリュームがデータ記憶領域を示すアドレスの管理単位に使用するビット数の方が多いことを特徴とする付記2記載の制御装置。
【0083】
(付記4) 前記ボリューム制御部は、当該制御装置のオペレーションシステムの更新時に動作することを特徴とする付記1ないし3のいずれかに記載の制御装置。
(付記5) 前記第1のボリュームおよび第2のボリュームは、複数のディスクを備えるストレージ・プール内のデータ記憶領域の一部で構成されていることを特徴とする付記1ないし4のいずれかに記載の制御装置。
【0084】
(付記6) 前記ボリューム制御部により作成された前記第2のボリュームに、前記第1のボリュームに記憶されているファイルをコピーする移行処理部をさらに有することを特徴とする付記1記載の制御装置。
【0085】
(付記7) コンピュータが、
記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームに記憶されているファイル数を計数し、
計数した前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されている前記ファイルの使用容量の増加傾向を判断し、
前記ファイルの使用容量が所定期間に所定量以上増加していると判断した場合に第2のボリュームを作成する、
ことを特徴とする制御方法。
【0086】
(付記8) 記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームと、
前記第1のボリュームに記憶されているファイル数を計数する計数部と、前記計数部により計数された前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されているファイルの使用容量の増加傾向を判断する判断部と、前記ファイルの使用容量が所定期間に所定量以上増加していると前記判断部が判断した場合に第2のボリュームを作成するボリューム制御部と、を有する制御装置と、
を備えることを特徴とするストレージ装置。
【符号の説明】
【0087】
1、100 ストレージ装置
2 制御装置
2a 計数部
2b 判断部
2c ボリューム制御部
2d 移行処理部
3 ストレージ・プール
3a 第1のボリューム
3b 第2のボリューム
3c 第3のボリューム
4、41、42、43 サーバ装置
10 制御部
11 ネットワーク制御部
12 プロトコル制御部
13 アクセス制御部
14 アグリゲート制御部
14a ボリューム管理部
141 ボリューム情報管理テーブル
14b ファイル管理部
142 ファイル情報管理テーブル
15 ディスク制御部
20 HDD
20a デバイスエンクロージャ
20b アグリゲート
21、22 RAIDグループ
31、32 アグリゲートボリューム
33 32ビットアグリゲートボリューム
34、38 64ビットアグリゲートボリューム
35、36、37 一時コピー先ボリューム
103 フラッシュROM

【特許請求の範囲】
【請求項1】
記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームに記憶されているファイル数を計数する計数部と、
前記計数部により計数された前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されているファイルの使用容量の増加傾向を判断する判断部と、
前記ファイルの使用容量が所定期間に所定量以上増加していると前記判断部が判断した場合に第2のボリュームを作成するボリューム制御部と、
を有することを特徴とする制御装置。
【請求項2】
前記ボリューム制御部は、前記ファイルの使用容量が所定期間に所定量以上増加していないと前記判断部が判断した場合に前記第1のボリュームのデータ記憶領域を拡張した前記第2のボリュームの作成を回避することを特徴とする請求項1記載の制御装置。
【請求項3】
前記ボリューム制御部は、当該制御装置のオペレーションシステムの更新時に動作することを特徴とする請求項1または2に記載の制御装置。
【請求項4】
コンピュータが、
記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームに記憶されているファイル数を計数し、
計数した前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されている前記ファイルの使用容量の増加傾向を判断し、
前記ファイルの使用容量が所定期間に所定量以上増加していると判断した場合に第2のボリュームを作成する、
ことを特徴とする制御方法。
【請求項5】
記憶可能なファイル数に上限が設定されたデータ記憶領域を有する第1のボリュームと、
前記第1のボリュームに記憶されているファイル数を計数する計数部と、前記計数部により計数された前記ファイル数が所定数より多い場合に前記第1のボリュームに記憶されているファイルの使用容量の増加傾向を判断する判断部と、前記ファイルの使用容量が所定期間に所定量以上増加していると前記判断部が判断した場合に第2のボリュームを作成するボリューム制御部と、を有する制御装置と、
を備えることを特徴とするストレージ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate