(57)【要約】【課題】動的に論理ボリュームの記憶領域の拡張や縮小が行われるシステムにおいて、記憶領域の管理負担を軽減し記憶資源の有効利用を図る。【解決手段】ホスト装置３０に割り当てた仮想ボリューム１４４２の記憶容量を動的に変更可能なストレージ装置１０と、通信可能に接続される管理装置２０とを含む情報処理システム１において、管理装置２０が、あるストレージプール１４３の使用量が、当該ストレージプール１４３について設定されている閾値を超えると、容量増加率の低い方から順に選択される所定数の仮想ボリューム１４４２を、当該ストレージプール１４３とは異なる他のストレージプール１４３を作成元とするようにマイグレーションさせる指示をストレージ装置１０に送信するようにする。その際、管理装置２０は、例えば記憶資源の属性が共通するストレージプール１４３をマイグレーション先とする。【選択図】図９
2010086424.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージプールのうちのいずれかの前記ストレージプールを作成元として仮想ボリュームを提供するストレージ装置と通信可能に接続される、前記ストレージ装置の管理装置であって、
ある前記ストレージプールの使用量が、当該ストレージプールについて設定されている閾値を超えると、容量増加率の低い方から順に選択される所定数の前記仮想ボリュームを、当該ストレージプールとは異なる他の前記ストレージプールを作成元とするようにマイグレーションさせる指示を前記ストレージ装置に送信するストレージ管理部を備えること
を特徴とするストレージ装置の管理装置。
【請求項２】
請求項１に記載のストレージ装置の管理装置であって、
前記ストレージ管理部は、所定の条件を満たした前記ストレージプールを、前記他のストレージプールとすること
を特徴とするストレージ装置の管理装置。
【請求項３】
請求項２に記載のストレージ装置の管理装置であって、
前記条件が、前記マイグレーションの対象となる前記仮想ボリュームの作成元の前記ストレージプールの記憶資源の属性が共通しているという条件であること
を特徴とするストレージ装置の管理装置。
【請求項４】
請求項３に記載のストレージ装置であって、
前記記憶資源が物理ディスクであり、前記属性は、物理ディスクが有するインタフェースの種別、前記物理ディスクによって構成されているＲＡＩＤのレベル、前記物理ディスクの記憶容量、前記物理ディスクの性能、前記物理ディスクの型番のうち、少なくともいずれかであること
を特徴とするストレージ装置の管理装置。
【請求項５】
請求項２に記載のストレージ装置の管理装置であって、
前記条件が、前記マイグレーションの実施後に、その使用量が予め設定されている閾値を超えないという条件であること
を特徴とするストレージ装置の管理装置。
【請求項６】
請求項２に記載のストレージ装置の管理装置であって、
前記条件が、前記マイグレーションの対象となる前記仮想ボリュームに要求されるＳＬＯ（SLO:Service Level Objective）を満たしているという条件であること
を特徴とするストレージ装置の管理装置。
【請求項７】
請求項２に記載のストレージ装置の管理装置であって、
前記ストレージ管理部は、前記条件を満たす前記他のストレージプールが存在しない場合に、前記条件を満たすストレージプールを新たに作成し、作成した新たな前記ストレージプールを前記他のストレージプールとすること
を特徴とするストレージ装置の管理装置。
【請求項８】
請求項７に記載のストレージ装置の管理装置であって、
前記ストレージ管理部は、前記条件を満たすために必要とされる最低限の記憶資源のみを用いて前記新たなストレージプールを作成すること
を特徴とするストレージ装置の管理装置。
【請求項９】
請求項７に記載のストレージ装置の管理装置であって、
前記ストレージ管理部は、前記マイグレーションの対象となる前記仮想ボリュームの容量増加率に基づいて決定される数又は容量の記憶資源のみを用いて、前記新たなストレージプールを作成すること
を特徴とするストレージ装置の管理装置。
【請求項１０】
請求項１に記載のストレージ装置の管理装置であって、
前記ストレージ管理部は、前記ストレージ装置において前記ストレージプールについて課されている制約の範囲内である場合に、前記指示を前記ストレージ装置に送信すること
を特徴とするストレージ装置の管理装置。
【請求項１１】
請求項１０に記載のストレージ装置の管理装置であって、
前記制約は、前記ストレージプールの一つが構成要素とすることが可能な記憶資源の最大数又は最大容量であること
を特徴とするストレージ装置の管理装置。
【請求項１２】
請求項１０に記載のストレージ装置の管理装置であって、
前記制約は、前記ストレージ装置が保有可能な前記ストレージプールの数であること
を特徴とするストレージ装置の管理装置。
【請求項１３】
複数のストレージプールのうちのいずれかの前記ストレージプールを作成元として仮想ボリュームを提供するストレージ装置と通信可能に接続される、前記ストレージ装置の管理装置であって、
ある前記ストレージプールの使用量が、当該ストレージプールについて設定されている閾値を超えると、容量増加率の低い方から順に選択される所定数の前記仮想ボリュームを、当該ストレージプールとは異なる他の前記ストレージプールを作成元とするようにマイグレーションさせる指示を前記ストレージ装置に送信するストレージ管理部を備え、
前記ストレージ管理部は、
前記マイグレーションの対象となる前記仮想ボリュームの作成元の前記ストレージプールの記憶資源の属性が共通する記憶資源からなり、前記マイグレーションの実施後にその使用量が予め設定されている閾値を超えないという条件を満たすストレージプールを前記他の前記ストレージプールとし、
前記条件を満たす前記他のストレージプールが存在しない場合に、前記条件を満たすストレージプールを新たに作成し、作成した新たな前記ストレージプールを前記他の前記ストレージプールとし、
前記ストレージ装置において前記ストレージプールについて課されている制約の範囲内である場合に、前記指示を前記ストレージ装置に送信すること
を特徴とするストレージ装置の管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置の管理装置に関し、とくにストレージプールに基づく仮想ボリュームを提供する記憶装置システムにおいて、記憶資源の有効利用を図るための技術に関する。
【背景技術】
【０００２】
特許文献１には、記憶装置システムにおいて、ボリューム提供装置が、ホスト計算機から論理ボリュームへのＩ／Ｏ要求を受け付け、Ｉ／Ｏ要求のアクセス対象の論理ブロックアドレスを読み取り、Ｉ／Ｏ要求がアクセスした論理ブロックアドレスの記憶領域が論理ボリュームに存在しない場合、未使用のディスク記憶装置から記憶領域を割り当て、動的に論理ボリュームの記憶領域を拡張することが記載されている。
【０００３】
またボリューム提供装置が、ホスト計算機から論理ボリュームの縮小要求を受け付け、縮小要求の対象となる論理ブロックアドレスを読み取り、縮小要求が指定した論理ブロックアドレスの記憶領域を縮小することが記載されている。
【特許文献１】特開２００３−０１５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記のように動的に論理ボリュームの記憶領域の拡張や縮小が行われるシステムにおいて、記憶資源の有効利用を図ろうとする場合には、例えばユーザはホスト計算機に割り当てられている動的に記憶領域の拡張や縮小が可能な論理ボリューム（以下、仮想ボリューム）の生成元であるストレージプールの現容量や容量の増加率などの利用状況を頻繁に監視し、必要に応じてストレージプールの拡張・縮小や仮想ボリュームの生成元のストレージプールを変更するなど、ホスト計算機に割り当てられている仮想ボリュームの記憶領域の構成変更を実施することになる。
【０００５】
しかしながら、このような監視や構成変更は煩雑な作業を要し、ユーザに多大な負担が生じる。また構成変更に際しては、システムの仕様や運用上の制約などを考慮する必要もあるため、システム規模が大きくなる程、その管理負担や管理コストが増大することとなる。
【０００６】
本発明は、このような背景に鑑みてなされたもので、動的に論理ボリュームの記憶領域の拡張や縮小が行われるシステムにおいて、仮想ボリュームを構成する記憶資源の有効利用及び効率的な管理を実現するためのストレージ装置の管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成する為の、本発明の一つは、
複数のストレージプールのうちのいずれかの前記ストレージプールを作成元として仮想ボリュームを提供するストレージ装置と通信可能に接続される、前記ストレージ装置の管理装置であって、
ある前記ストレージプールの使用量が、当該ストレージプールについて設定されている閾値を超えると、容量増加率の低い方から順に選択される所定数の前記仮想ボリュームを、当該ストレージプールとは異なる他の前記ストレージプールを作成元とするようにマイグレーションさせる指示を前記ストレージ装置に送信するストレージ管理部を備え、
前記ストレージ管理部は、
前記マイグレーションの対象となる前記仮想ボリュームの作成元の前記ストレージプールの記憶資源の属性が共通する記憶資源からなり、前記マイグレーションの実施後にその使用量が予め設定されている閾値を超えないという条件を満たすストレージプールを前記他の前記ストレージプールとし、
前記条件を満たす前記他のストレージプールが存在しない場合に、前記条件を満たすストレージプールを新たに作成し、作成した新たな前記ストレージプールを前記他の前記ストレージプールとし、
前記ストレージ装置において前記ストレージプールについて課されている制約の範囲内である場合に、前記指示を前記ストレージ装置に送信することとする。
【０００８】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００９】
本発明によれば、動的に論理ボリュームの記憶領域の拡張や縮小が行われるシステムにおいて、記憶資源の有効利用及び効率的な管理を実現することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しつつ実施形態について説明する。図１に実施形態として説明する情報処理システム１の概略的な構成を示している。この情報処理システム１は、ストレージ装置１０、管理装置２０、ホスト装置３０、及び管理クライアント装置４０を含んで構成されている。これらの装置はいずれもＬＡＮ（Local Area Network）等の通信ネットワーク５０を介して通信可能に接続されている。またホスト装置３０とストレージ装置１０は、ＳＡＮ（Storage Area Network）等のストレージネットワーク５１を介してストレージ装置１０と接続されている。
【００１１】
尚、図１には２台のストレージ装置１０、１台の管理装置２０、２台のホスト装置３０、１台の管理クライアント装置４０を示しているが、各装置の数はこれに限られない。ストレージネットワーク５１における通信は、例えばファイバチャネル（Fibre Channel）、ｉＳＣＳＩ（internet Small Computer System Interface）等の通信プロトコルに従って行われる。
【００１２】
図２Ａにストレージ装置１０のハードウエアを示している。同図に示すように、ストレージ装置１０は、ディスクコントローラ１１、キャッシュメモリ１２、ストレージネットワーク５１に接続するための通信インタフェース１３、ディスク装置１４、通信ネットワーク５０に接続するための通信インタフェース１５、を備えている。
【００１３】
このうちディスクコントローラ１１は、ＣＰＵ１１１、メモリ１１２を備え、ストレージ装置１０の機能を実現するための処理を実行する。キャッシュメモリ１２には、例えばディスク装置１４に書き込まれるデータ、ディスク装置１４から読み出されたデータが格納される。ディスク装置１４は、一台以上のハードディスクドライブ１４１（物理ディスク）を備える。
【００１４】
ディスク装置１４は、ＲＡＩＤ（Redundant Arrays of Inexpensive （or Independent) Disks）の方式（ＲＡＩＤ０〜ＲＡＩＤ６）で制御されていることもある。各ハードディスクドライブ１４１は、属性（例えば、記憶容量、インタフェース種別（ＳＡＴＡ（Serial AT Attachment）、（ＦＣ（Fibre Channel））、ＳＡＳ（Serial Attached SCSI））、性能（回転数、転送レート、平均シーク時間、平均回転待ち時間等））を有する。尚、ストレージ装置１０の記憶媒体は、ハードディスクドライブ１４１に限られない。例えば、半導体記憶装置（ＳＳＤ（Solid State Drive）等）であってもよい。
【００１５】
尚、ストレージ装置１０は、筐体の異なる複数のハードウエアで構成されていてもよい。またこの場合、機種の異なるハードウエアやベンダーの異なるハードウエアが混在していてもよい。ストレージ装置１０の具体例として、ホスト装置３０と通信するチャネル制御部、ハードディスクドライブに対してアクセスを行うディスク制御部、チャネル制御部とディスク制御部との間のデータの受け渡し等に利用されるキャッシュメモリ、装置の各部を通信可能に接続するスイッチ等通信機構、を備えて構成されるディスクアレイ装置がある。
【００１６】
図１に示した管理装置２０、ホスト装置３０、及び管理クライアント装置４０はいずれもコンピュータ（情報処理装置）である。図２Ｂにこれらの装置として用いられるコンピュータのハードウエアの一例を示している。同図に示すコンピュータ３００は、ＣＰＵ３０１、揮発性又は不揮発性の記憶デバイス（例えばＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory））であるメモリ３０２、補助記憶装置３０３（例えばハードディスク）、ユーザの操作入力を受け付ける入力装置３０４（例えばキーボードやマウス）、出力装置３０５（例えば液晶モニタ）、他の装置との間の通信を実現する通信インタフェース３０６（例えばＮＩＣ（Network Interface Card又はＨＢＡ（Host Bus Adapter）)を備えている。
【００１７】
尚、管理装置２０、ホスト装置３０、及び管理クライアント装置４０は、夫々が複数のコンピュータ３００によって構成されていてもよい。管理装置２０は、ストレージ装置１０と一体であってもよい。管理装置２０及び管理クライアント装置４０は、何れか一方が双方の機能を有していてもよい。
【００１８】
ホスト装置３０は、ストレージ装置１０によって提供される論理ボリュームをデータの記憶領域として利用する。ホスト装置３０は、ユーザにサービスを提供するデータベース管理システム（ＤＢＭＳ(Database Management System））、バックアッププログラムなどを実行し、これにより各種の機能（サービス）を実現する。ホスト装置３０は、これらの機能が使用するデータをストレージ装置１０に対して書き込み、又はストレージ装置１０から読み出す。
【００１９】
図３Ａに管理装置２０の機能、及び管理装置２０によって管理されるデータを示している。尚、同図に示した各機能は、管理装置２０のＣＰＵ３０１がメモリ１０２に読み出されているプログラムを実行することによって、又は管理装置２０のハードウエアによって実現される。尚、上記機能の実現に際しては、管理装置２０において動作するオペレーティングシステムやデバイスドライバ等の他のソフトウエアによって実現される機能が関与することもある。
【００２０】
同図において、ストレージ管理部２００は、管理クライアント装置４０からの要求に従い、後述するストレージ装置１０の機能であるストレージ制御部１０１を介してストレージ装置１０を管理する。同図に示すように、ストレージ管理部２００は、ボリューム管理部２０１、プール管理部２０２、プール監視部２０３の各機能を含む。
【００２１】
ボリューム管理部２０１は、論理ボリュームの作成、削除、ホスト装置３０への論理ボリュームの割り当て、論理ボリューム（後述する通常ボリューム１４４１又は仮想ボリューム１４４２）のマイグレーション（同一のプール１４３内、異なるプール１４３間のマイグレーション）、同一ストレージ装置１０内の論理ボリュームのレプリケーション、ストレージ装置１０間での論理ボリュームのレプリケーションなど、論理ボリュームに関する種々の管理機能を提供する。またボリューム管理部２０１は、後述するボリューム管理テーブル２１を管理する。
【００２２】
プール管理部２０２は、管理クライアント装置４０からの要求に従い、後述するストレージプール（以下、プール１４３と称する。）の管理を行う。例えばプール管理部２０２は、管理クライアント装置４０からの要求に従い、プール１４３の作成要求、又はプール１４３の削除要求をストレージ装置１０に送信する。尚、プール１４３の作成又は削除要求には、作成又は削除しようとするプール１４３を特定する情報（識別子）が付帯する。またプール管理部２０２は、後述する仮想ボリューム１４４２の管理を行う。例えばプール管理部２０２は、管理クライアント装置４０からの要求に応じて、仮想ボリューム１４４２の作成、又は削除要求、仮想ボリューム１４４２のホスト装置３０への割り当て要求、又は割り当て解除要求をストレージ装置１０に送信する。これらの要求には要求の対象となる仮想ボリューム１４４２や仮想ボリューム１４４２が所属するプール１４３を特定する情報（識別子）が付帯する。またプール管理部２０２は、後述するプール管理テーブル２２を管理する。
【００２３】
プール監視部２０３は、プール１４３の記憶容量や使用率の監視、管理クライアント装置４０へのアラート通知を実行する。プール監視部２０３は、管理装置２０上で各ストレージ装置１０のプール１４３の状態を監視してその結果をプール利用履歴管理テーブル２３に反映する。
【００２４】
管理クライアント装置４０は、ストレージ管理部２００の実行結果をユーザに提示するためのＧＵＩ（Graphical User Interface）やＣＬＩ（Command Line Interface）を備えている。管理クライアント装置４０は、ユーザから受け付けた入力指示に応じて管理装置２０に処理を要求する。
【００２５】
ストレージ装置１０は、管理装置２０からの要求に応じて特定のプール１４３を作成元として仮想ボリューム１４４２を構成する。またストレージ装置１０は、管理装置２０からの要求に応じてホスト装置３０に仮想ボリューム１４４２を割り当てる。尚、仮想ボリューム１４４２には、ホスト装置３０が仮想ボリューム１４２２にアクセスする際にアクセス先の仮想ボリューム１４４２を特定するための情報（識別子）が付与される。またストレージ装置１０は、仮想ボリューム１４４２のうち、後述するＬＤＥＶ１４２（LDEV:Logical Device）が割り当てられていないアドレスに対する書き込みが発生すると、そのアドレスについて新たにＬＤＥＶ１４２の一部の記憶領域を割り当てる。
【００２６】
図３Ｂにストレージ装置１０の機能を示している。ストレージ制御部１０１は、ストレージ装置１０のＣＰＵ１１１が、メモリ１１２に読み出されているプログラムを実行することによって、又はストレージ装置１０が備えるハードウエアによって実現される。尚、上記機能の実現に際しては、ストレージ装置１０において動作するオペレーティングシステムやデバイスドライバ等の他のソフトウエアによって実現される機能が関与する場合もある。
【００２７】
ストレージ制御部１０１は、管理装置２０からの要求に従い、論理ボリュームの作成、削除、ホスト装置３０への論理ボリュームの割り当て、プール１４３の作成、削除、仮想ボリューム１４４２の作成、削除、仮想ボリューム１４４２のホスト装置３０への割り当て又は割り当て解除、論理ボリュームのマイグレーション、ストレージ装置１０内又はストレージ装置１０間での論理ボリュームのレプリケーションなどを実行する。またストレージ制御部１０１は、管理装置２０、ホスト装置３０、管理クライアント装置４０、又はユーザによって設定された、後述する各種の閾値を管理する。
【００２８】
図３Ｃにストレージ装置１０からホスト装置３０への記憶領域の供給形態を示している。同図に示すように、ストレージ装置１０のディスク装置１４によって１つ以上のハードディスクドライブ１４１の記憶領域を用いて構成される論理的な記憶領域（記憶資源）であるＬＤＥＶ１４２が提供される。各ＬＤＥＶ１４２は、ＲＡＩＤのレベル、ＬＤＥＶ１４２を構成しているハードディスクドライブ１４１のインタフェースの種別や型番等、各ＬＤＥＶ１４２の構成、性能、信頼性などのＬＤＥＶ１４２の仕様に関する情報である属性を有している。
【００２９】
ストレージ装置１０は、一つ以上のＬＤＥＶ１４２の記憶領域を用いて構成される論理的な記憶領域である論理ボリューム１４４をホスト装置３０に提供する。論理ボリューム１４４に対してデータの書き込みがあると、当該論理ボリューム１４４を構成しているＬＤＥＶ１４２を構成しているディスク装置１４にデータが書き込まれる。
【００３０】
ここで論理ボリューム１４４には通常ボリューム１４４１と仮想ボリューム１４４２とがある。前者の通常ボリューム１４４１は、当該通常ボリューム１４４１の記憶領域を提供しているＬＤＥＶ１４２が固定している論理ボリューム１４４である。一方、後者の仮想ボリューム１４４２は、当該仮想ボリューム１４４２の記憶領域を提供しているＬＤＥＶ１４２が固定していない論理ボリューム１４４である。仮想ボリューム１４４２の記憶容量や属性は、仮想ボリューム１４４２の利用状況やニーズに応じて運用中に変更することができる。仮想ボリューム１４４２の記憶領域は、一つ以上のＬＤＥＶ１４２によって構成される複数のプール１４３によって提供される。このように、ストレージ装置１０がホスト装置３０に対して仮想ボリューム１４４２を単位として記憶領域を提供することで、夫々の利用状況に応じて適切にホスト装置３０に記憶資源を割り当てることができ、記憶資源を有効に利用することができる。またストレージ装置１０が機種やベンダーの異なる複数のハードウエアで構成されている場合には、異機種間、マルチベンダー間でのデータ移行やレプリケーションが可能となる。
【００３１】
＜テーブル説明＞
図４に管理装置２０が管理するボリューム管理テーブル２１の一例を示している。ボリューム管理テーブル２１には、ＬＤＥＶ１４２及び仮想ボリューム１４４２に関する情報が登録される。ボリューム管理テーブル２１は、ボリュームＩＤ２１１、装置ＩＤ２１２、ボリューム種別２１３、記憶容量２１４、プールＩＤ２１５、割り当て先２１６、プール利用２１７の各項目からなる複数のレコードを有する。
【００３２】
ボリュームＩＤ２１１には、ＬＤＥＶ１４２又は仮想ボリューム１４４２を特定する識別子（ボリュームＩＤ）が設定され、そのレコードがＬＤＥＶ１４２についてのレコードである場合はＬＥＤＶ１４２の識別子（ＬＤＥＶ−ＩＤ）が、仮想ボリューム１４４２についてのレコードである場合は仮想ボリューム１４４２の識別子（仮想ボリュームＩＤ）が設定される。
【００３３】
装置ＩＤ２１２には、ＬＤＥＶ１４２又は仮想ボリューム１４４２を提供しているストレージ装置１０の識別子（ストレージＩＤ）が設定される。ストレージＩＤとしては、例えば、ユーザが登録した識別名、ストレージ装置１０の型番と型名、及びストレージ装置１０に付与されているＩＰアドレスを組み合わせたものなどが用いられる。
【００３４】
ボリューム種別２１３は、ＲＡＩＤレベル２１５及びディスク種別２１３２を含む。このうちＲＡＩＤレベル２１３１にはそのＬＤＥＶ１４２又は仮想ボリューム１４４２を構成している物理ディスクのＲＡＩＤレベルが設定され、ＬＤＥＶ１４２の場合はＬＤＥＶ１４２のＲＡＩＤレベルが、仮想ボリューム１４４２の場合はその仮想ボリューム１４４２の作成元のプール１４３を構成しているＬＤＥＶ１４２のＲＡＩＤレベルが設定される。
【００３５】
ある仮想ボリューム１４４２の作成元のプール１４３が、ＲＡＩＤグループが異なる複数のＬＤＥＶ１４２によって構成されている場合、ボリューム種別２１１３にはプール１４３を構成している全てのＬＤＥＶ１４２のＲＡＩＤレベルが設定される。例えばプール１４３がＲＡＩＤ５のＬＤＥＶ１４２とＲＡＩＤ１のＬＤＥＶ１４２とによって構成されている場合、そのプール１４３が作成元である仮想ボリューム１４４２のＲＡＩＤレベル２１３１には”ＲＡＩＤ５”と”ＲＡＩＤ１”が設定される。
【００３６】
ディスク種別２１３２は、そのＬＤＥＶ１４２又は仮想ボリューム１４４２の記憶領域を提供しているハードディスクドライブ１４１の種別が設定される。即ち、ＬＤＥＶ１４２の場合はそのＬＤＥＶ１４２を構成しているハードディスクドライブ１４１の種別が設定され、仮想ボリューム１４４２の場合はその仮想ボリューム１４４２の作成元であるプール１４３を構成しているＬＤＥＶ１４２を構成しているハードディスクドライブ１４１の種別が設定される。
【００３７】
ある仮想ボリューム１４４２の作成元のプール１４３が、ＲＡＩＤグループが異なる複数のＬＤＥＶ１４２によって構成されている場合、ディスク種別２１３１にはプール１４３を構成している全てのＬＤＥＶ１４２のＲＡＩＤレベルが設定される。例えばプール１４３が、種別が”ＦＣ”のハードディスクドライブ１４１を用いて構成されるＬＤＥＶ１４２と、種別が”ＳＡＴＡ”のハードディスクドライブ１４１を用いて構成されるＬＤＥＶ１４２とで構成されている場合、そのプール１４３が作成元である仮想ボリューム１４４２のディスク種別２１３１には”ＦＣ”と”ＳＡＴＡ”が設定される。
【００３８】
尚、図４にはディスク装置の記憶媒体がハードディスクドライブ１４１である場合を示しているが、記憶媒体が半導体記憶装置（ＳＳＤ）である場合には、ディスク種別２１３１には例えば”ＳＳＤ”が設定される。また同図ではボリューム種別２１３の内容としてＲＡＩＤレベル２１３１、及びディスク種別２１３２を示しているが、例えば、ハードディスクドライブ１４１の回転数やハードディスクドライブ１４１の信頼性などの記憶媒体の性能や信頼性に関する項目をボリューム種別２１３に含めてもよい。
【００３９】
記憶容量２１４には、ＬＤＥＶ１４２又は仮想ボリューム１４４２の記憶容量が設定される。ＬＤＥＶ１４２の場合、そのＬＤＥＶ１４２の記憶容量が設定される。仮想ボリューム１４４２の場合、その仮想ボリューム１４４２にプール１４３から割り当てられている現在の記憶容量が設定される。
【００４０】
プールＩＤ２１５にはそのレコードが仮想ボリューム１４４２のレコードである場合にその仮想ボリューム１４４２が所属するプール１４３の識別子（プールＩＤ）が設定される。尚、そのレコードがＬＤＥＶ１４２のレコードである場合はプールＩＤ２１５に例えば”ｎ／ａ”が設定される。
【００４１】
割り当て先２１６には、そのＬＤＥＶ１４２又は仮想ボリューム１４４２の割り当て先を示す情報が設定される。例えばあるＬＥＤＶ１４２が通常ボリューム１４４１として用いられ、その通常ボリューム１４４１がホスト装置３０に割り当てられている場合、その割り当て先のホスト装置３０の識別子（ホストＩＤ）が設定される。またあるＬＤＥＶ１４２がプール１４３として利用されている場合には、そのＬＤＥＶ１４２を利用しているプール１４３のプールＩＤが割り当て先２１６に設定される。あるＬＤＥＶ１４２がホスト装置３０又はプール１４３のいずれにも割り当てられていない場合には、割り当て先２１６に”ｎ／ａ”が設定される。
【００４２】
例えばボリュームＩＤ２１１が”００：０１”であるＬＤＥＶ１４２が、通常ボリューム１４４１として、ホストＩＤが”Ｈｏｓｔ１”のホスト装置３０に割り当てられている場合、割り当て先２１６には”Ｈｏｓｔ１”が設定される。またボリュームＩＤ２１１が”０１：０１”であるＬＤＥＶ１４２が、プールＩＤが”Ｐｏｏｌ１”のプール１４３に割り当てられている場合、割り当て先２１６には”Ｐｏｏｌ１”が設定される。
【００４３】
プール利用２１７には、そのレコードがＬＤＥＶ１４２のレコードである場合に、そのＬＤＥＶ１４２がプール１４３として利用可能か否かを示す情報が設定される。そのＬＤＥＶ１４２がプール１４３として利用可能な場合はプール利用２１７に“Ｔ”が、プール１４３として利用不可能な場合は“Ｆ”が設定される。”Ｆ”が設定される場合の例として、そのＬＤＥＶ１４３を提供しているストレージ装置１０がそもそも仮想ボリューム１４４２を提供するために必要な機能を備えていない場合、通常ボリューム１４４１としてホスト装置３０に既に割り当てられている場合、そのレコードが仮想ボリューム１４４２のレコードである場合等がある。
【００４４】
ボリューム管理部２０１は、ディスク装置１４のディスク１４１によってＲＡＩＤグループが構成されてＬＤＥＶ１４２が作成されると、そのＬＤＥＶ１４２に対応するレコードをボリューム管理テーブル２１に登録する。ボリューム管理部２０１は、仮想ボリューム１４４２が作成されると、その仮想ボリューム１４４２に対応するレコードをボリューム管理テーブル２１に登録する。ボリューム管理部２０１は、ＬＤＥＶ１４２又は仮想ボリューム１４４２が削除されると、該当のレコードをボリューム管理テーブル２１から削除する。
【００４５】
図５に管理装置２０が管理するプール管理テーブル２２の一例を示している。プール管理テーブル２２にはストレージ装置１０によって提供されるプール１４３に関する情報が管理される。同図に示すように、プール管理テーブル２２は、プールＩＤ２２１、装置ＩＤ２２２、ボリュームＩＤ−装置ＩＤ２２３、プール種別２２４、最大容量２２５、使用量２２６、使用率２２７、及びアラート閾値２２８の各項目からなる複数のレコードを有する。
【００４６】
プールＩＤ２２１には、プール１４３を一意に特定するための識別子（プールＩＤ）が設定される。プールＩＤは、例えばプール１４３の作成時に管理装置２０が自動的に採番する。  
装置ＩＤ２２２には、プール１４３を提供しているストレージ装置１０の識別子（ストレージＩＤ）が設定される。
【００４７】
ボリュームＩＤ−装置ＩＤには、プール１４３を構成しているＬＤＥＶ１４２のＩＤ（ＬＤＥＶ−ＩＤ）とそのＬＤＥＶ１４２が属するストレージ装置１０のＩＤを連結した値が設定される。これは、複数ストレージ装置間で同じＬＤＥＶ−ＩＤがある可能性があるため、それを識別するためである。
【００４８】
プール種別２２４には、プール１４３を構成しているＬＤＥＶ１４２の種別が設定される。プール１４３を構成しているＬＤＥＶ１４２が一種類の場合は、ＬＤＥＶ１４２の種別が記号“−”で連結されて設定される。例えばプール１４３を構成しているＬＤＥＶ１４２が”ＲＡＩＤ５”、”ＦＣ”である場合には“ＲＡＩＤ５−ＦＣ”が設定される。
【００４９】
プール１４３を構成しているＬＤＥＶ１４２の種類が複数である場合は、各ＬＤＥＶ１４２の種類が全て設定される。例えばそのプール１４３が、種別が”ＲＡＩＤ５”、”ＦＣ”のＬＤＥＶ１４２と”ＲＡＩＤ１”、”ＳＡＴＡ”のＬＤＥＶ１４２とで構成されている場合には、“ＲＡＩＤ５−ＦＣ／ＲＡＩＤ１−ＳＡＴＡ”のように設定される。
【００５０】
最大容量２２５には、そのプール１４３から作成可能な仮想ボリューム１４４２の最大の記憶容量が設定される。そのプール１４３が複数のＬＤＥＶ１４２で構成されている場合、そのプール１４３を構成している各ＬＤＥＶ１４２の記憶容量の総和が設定される。
【００５１】
使用量２２６（割り当て済量）には、そのプール１４３を構成しているＬＤＥＶ１４２のうち、データが既に書き込まれている記憶領域の容量の総和が設定される。  
使用率２２７（割り当て済率）には、そのプール１４３の最大の記憶容量に対する、現在の使用量の割合が設定され、使用量／最大記憶容量×１００（％）として求まる値が設定される。
【００５２】
アラート閾値２２８には、そのプール１４３の使用率が高くなり、仮想ボリューム１４４２の容量拡張ができなくなる危険性が高まったか否かを判断する際に参照される閾値が設定される。管理装置２０は、使用率２２６の値とこの閾値とを比較することによりユーザや管理クライアント装置４０へのアラートの通知を行う。これによりプール１４３の容量拡張、仮想ボリューム１４４２のマイグレーションなどが自動的に、もしくは手動により行われる。
【００５３】
尚、図５でアラート閾値２２８を９０％に設定しているが、閾値を設定するためのユーザインタフェースを設けてユーザが閾値を設定できるようにしてもよい。またアラートを段階的に発生させるべく、段階に応じた複数の閾値を設定できるようにしてもよい。また図５では閾値をプール１４３毎に設定しているが、必ずしもプール１４３単位で設定しなくてもよく、複数のプール１４３毎に設定する等、ユーザが任意の単位で設定できるようにしてもよい。
【００５４】
プール管理部２０２は、ストレージ装置１０にプール１４３が作成されるとプール管理テーブル２２に新たにレコードを登録し、プール１４３が削除される該当のレコードをプール管理テーブル２２から削除する。またプール管理部２０２は、あるプール１４３についてそれを構成するＬＤＥＶ１４２が追加されるとボリューム管理テーブル２１を参照し、そのプール１４３のボリュームＩＤ−装置ＩＤ２２３に追加されたＬＤＥＶ１４２に関する情報を設定し、最大記憶容量２２５に追加されたＬＤＥＶ１４２の記憶容量を加算し、使用率２２６に再計算した値を設定し直す。また追加されたＬＤＥＶ１４２のボリューム種別２１３が当該プール１４３のプール種別２２４が含まれていない場合には、プール種別２２４に追加されたＬＤＥＶ１４２のボリューム種別２１３を追加する。また逆にプール１４３からＬＤＥＶ１４２が削除された場合、プール管理部２０２は、追加された場合とは逆の処理を行ってプール管理テーブル２２を正しく更新する。
【００５５】
図６に管理装置２０が管理するプール利用履歴管理テーブル２３の一例を示している。尚、このプール利用履歴管理テーブル２３には”Ｐｏｏｌ１”に関する情報のみ示しているが、管理装置２０はプール管理テーブル２２に登録されているプール１４３ごとのプール利用履歴管理テーブル２３を管理している。
【００５６】
プール利用履歴管理テーブル２３には、ストレージ管理部２００が管理している各ストレージ装置１０が提供しているプール１４３の利用履歴が管理される。同図に示すように、プール利用履歴管理テーブル２３は、そのプール１４３を構成している各ＬＤＥＶ１４２の使用量２３１、当該プール１４３の使用量２３２、当該プール１４３の最大記憶容量２３３の夫々について、所定の期間内の各時点における記憶容量（容量履歴２３４）が記録されている。また同図に示すように、そのプール１４３を構成している各ＬＤＥＶ１４２の使用量２３１とプール１４３の使用量２３２については、所定の期間における記憶容量の増加率２３５もあわせて記録される。同図に示すプール利用履歴管理テーブル２３の場合、１日ごとに過去一ヶ月分のデータが登録されているが、別の頻度、別の期間であってもよい。
【００５７】
プール監視部２０３は、ストレージ管理部２００が管理しているストレージ装置１０が提供しているプール１４３の状態を監視し、プール１４３の最新状態をプール利用履歴管理テーブル２３に反映する。尚、必要に応じて所定の期間より前のデータの削除もあわせて実施される。またプール監視部２０３は、プール管理テーブル２２を参照し、プール１４３の使用量が閾値を超えると、プール管理部２０２を呼び出し、プール１４３の自動拡張を行う。また、プール監視部２０３は、ボリューム管理部２０１を呼び出して、仮想ボリューム１４４２のマイグレーションを実施する。
【００５８】
＝処理説明＝
以下、情報処理システム１において行われる処理について説明する。
【００５９】
＜仮想ボリュームの作成＞
図７は仮想ボリューム１４４２の作成に関する処理を説明するフローチャートである。尚、以下の説明において符号の前に付している文字「Ｓ」はステップの略字である。  
仮想ボリューム１４４２を作成したい場合、ユーザは管理クライアント装置４０を操作して仮想ボリューム１４４２の作成指示を行う。これにより管理クライアント装置４０から管理装置２０に仮想ボリューム１４４２の作成要求が送信される。尚、送信される作成要求には、作成しようとする仮想ボリューム１４４２の、ＲＡＩＤレベル、ＨＤＤの種別・回転速度等の条件（以下、指定条件と称する。）が付帯する。
【００６０】
管理装置２０のボリューム管理部２０１は、管理クライアント装置４０から仮想ボリューム１４４２の作成要求を受信する（Ｓ７１１）と、プール管理テーブル２２から当該作成要求に付帯する指定条件を満たすＬＤＥＶ１４２を用いて構成されているプール１４３を検索する（Ｓ７１２）。指定条件を満たすプール１４３が存在した場合（Ｓ７１２ａ）、ボリューム管理部２０１はそのうちの一つを選択してプール１４３を提供しているストレージ装置１０に仮想ボリューム１４４２の作成を要求する（Ｓ７１３）。ストレージ装置１０のストレージ制御部１０１は、上記作成要求を受信するとこれに応じてストレージ装置１０が仮想ボリューム１４４２を作成し、作成完了後は管理装置２０に完了通知を送信する。
【００６１】
ボリューム管理部２０１は、ストレージ装置１０から完了通知を受信すると、作成した仮想ボリューム１４４２に対応するレコードをボリューム管理テーブル２１に登録する。例えば装置ＩＤが “Ｓｔｒｏａｇｅ１”であるストレージ装置１０が提供しているプールＩＤが“Ｐｏｏ１”であるプール１４３を作成元として、ボリュームＩＤが“Ｖ：００：０１”である仮想ボリューム１４４２を作成すると、ボリューム管理部２０１は、ボリュームＩＤ２１１を“Ｖ：００：０１“、装置ＩＤ２１２を“Ｓｔｏｒａｇｅ１“、ＲＡＩＤレベル２１３１を”ＲＡＩＤ５”、ディスク種別２１３２を”ＦＣ”、記憶容量２１４を “０ＧＢ”、プールＩＤ２１５を“Ｐｏｏｌ１”、割り当て先２１６を“ｎ／ａ”、プール利用Ｔ２１７を“Ｆ”としたレコードをボリューム管理テーブル２１に登録する。尚、ＲＡＩＤレベル２１３１の内容は、例えばプール管理テーブル２２の作成元のプール１４３のレコードのプール種別２２４から取得する。その後はＳ７１８に進む。
【００６２】
一方、Ｓ７１２において、指定条件を満たしたプール１４３が見つからなかった場合には（Ｓ７１２ｂ）、ボリューム管理部２０１は、指定条件を満たし、かつ、割り当て先２１６に”ｎ／ａ”が設定され、かつ、プール利用２１７に“Ｔ”が設定されているＬＤＥＶ１４２をボリューム管理テーブル２１から検索する（Ｓ７１４）。
【００６３】
指定条件を満たすＬＤＥＶ１４２が見つかった場合（Ｓ７１４ａ）、ボリューム管理部２０１は、見つかったＬＤＥＶ１４２の中からＬＤＥＶ１４２を一つ選択し、選択したＬＤＥＶ１４２を用いて新たなプール１４３を作成する（Ｓ７１５）。そして作成した新たなプール１４３に対応するレコードをプール管理テーブル２２に登録する。
【００６４】
例えばプール１４３の作成に用いたＬＤＥＶ１４２のボリュームＩＤが”０３：０１”、記憶容量が”２ＧＢ”、装置ＩＤが”Ｓｔｏｒａｇｅ３”、新規に付与されたプールＩＤが”３”である場合、ボリューム管理部２０１は、プールＩＤ２２１を“Ｐｏｏｌ３”、装置ＩＤ２２２を“Ｓｔｏｒａｇｅ３”、ボリュームＩＤ−装置ＩＤ２２３を“０３：０１−Ｓｔｏｒａｇｅ３“、プール種別２２４を”ＲＡＩＤ５−ＦＣ” （作成元のＬＤＥＶ１４２の種別から）、最大記憶容量２２５を”２ＧＢ”、使用量２２６を“０ＧＢ”、使用率２２７を“０％”、アラート閾値２２８を”９０％”としたレコードをプール管理テーブル２２に新たに登録する。尚、プール種別２２４の内容は、ボリューム管理テーブル２１の、プール１４３の作成に用いたＬＤＥＶ１４２のボリューム種別２１３から取得する。
【００６５】
以上のようにして新たにプール１４３を作成すると、次にボリューム管理部２０１は、ストレージ装置１０に新たなプール１４３を作成元とする新たな仮想ボリューム１４４２の作成要求を送信する（Ｓ７１６）。ストレージ装置１０は、作成要求を受信するとこれに応じて仮想ボリューム１４４２を作成する。ボリューム管理部２０１はストレージ装置１０から完了通知を受信すると、作成した仮想ボリューム１４４２に対応するレコードをボリューム管理テーブル２１に登録する。
【００６６】
仮想ボリューム１４４２の作成後は、ボリューム管理部２０１は、仮想ボリューム１４４２の作成に成功した旨を管理クライアント装置４０に通知し（Ｓ７１８）、処理が終了する。
【００６７】
尚、Ｓ７１４において指定条件を満たすＬＤＥＶ１４２が見つからなかった場合には（Ｓ７１４ｂ）、ボリューム管理部２０１は、指定条件を満たす仮想ボリューム１４４２を作成できなかったことを管理クライアント装置４０に通知し（Ｓ７１７）、処理が終了する。
【００６８】
以上によれば、ユーザが指定した条件を満たす仮想ボリューム１４４２を作成することができる。また仮想ボリューム１４４２の作成に伴い、必要な場合はプール１４３を自動的に作成することができる。
【００６９】
＜仮想ボリュームの削除＞
図８は、仮想ボリューム１４４２の削除に関する処理を説明するフローチャートである。仮想ボリューム１４４２を削除したい場合、ユーザは管理クライアント装置４０を操作して仮想ボリューム１４４２の削除するための指示を行う。これにより管理クライアント装置４０から管理装置２０に仮想ボリューム１４４２の削除要求が送信される。尚、送信される削除要求には、削除しようとする仮想ボリューム１４４２を指定する情報（仮想ボリュームＩＤ）が付帯する。
【００７０】
管理装置２０のボリューム管理部２０１は、管理クライアント装置４０から仮想ボリューム１４４２の削除要求を受信すると（Ｓ８１１）、ボリューム管理テーブル２１を参照して当該削除要求に指定されている仮想ボリューム１４４２を提供しているストレージ装置１０を特定し、特定したストレージ装置１０に当該削除要求に指定されている仮想ボリューム１４４２の削除要求を送信する。
【００７１】
ストレージ装置１０は、削除要求を受信すると該当の仮想ボリューム１４４２を削除し、削除が完了した旨の通知を管理装置２０に送信する。ボリューム管理部２０１は、完了通知を受信すると、指定された仮想ボリューム１４４２のレコードをボリューム管理テーブル２１から削除する（Ｓ８１２）。
【００７２】
次にボリューム管理部２０１は、ボリューム管理テーブル２１を参照し、削除した仮想ボリューム１４４２の作成元のプール１４３(以下、プールＡと称する。）に所属している仮想ボリューム１４４２が存在するか否かを判断する（Ｓ８１３）。プールＡに所属している仮想ボリューム１４４２が一つ以上存在する場合には（Ｓ８１３ａ）、Ｓ８１５に進む。プールＡに所属している仮想ボリューム１４４２が一つも存在しない場合（Ｓ８１３ｂ）、ボリューム管理部２０１は、プールＡが所属しているストレージ装置１０にプールＡの削除要求を送信し、当該削除指示についての仮想ボリューム１４４２の削除完了通知を受信すると、プール管理テーブル２２からプールＡのレコードを削除する（Ｓ８１４）。
【００７３】
Ｓ８１５において、ボリューム管理部２０１は、仮想ボリューム１４４２の削除に成功したことを管理クライアント装置４０に通知する。
【００７４】
以上によれば、ユーザは特定の仮想ボリューム１４４２を削除することができる。また仮想ボリューム１４４２が削除される場合に、どの仮想ボリューム１４４２の作成元としても利用されていないプール１４３が自動的に削除される。
【００７５】
＜使用量増加に伴うプールのメンテナンス処理＞
次に使用量の増加に伴うプール１４３のメンテナンス処理について説明する。図９に使用量増加に伴うプール１４３のメンテナンス処理の概要を説明するシーケンス図を示している。同図に示すように、管理装置２０のプール監視部２０３は、管理対象のストレージ装置１０が管理している各プール１４３の情報と各プール１４３によって作成されている仮想ボリューム１４４２の利用状況（使用量、使用率）を所定のタイミングで（定期的又は不定期等の予め設定されたタイミングで）ストレージ装置１０から取得する（Ｓ９１１）。そして管理装置２０は、取得した情報に基づき各プール１４３の使用率がプール管理テーブル２２に設定されている夫々の閾値２２８を超えているか否かを判断する（Ｓ９１２）。
【００７６】
プール監視部２０３によって使用率が閾値を超えているプール１４３が見つかった場合、管理装置２０のプール管理部２０２は、そのプール１４３が作成元になっている所定の仮想ボリューム１４４２を、当該プール１４３よりも容量増加率の低い他のプール１４３にマイグレーションするか、もしくは、当該プール１４３に未割り当てのＬＤＥＶ１４２を追加するか、これらいずれの方法により当該プール１４３の記憶容量を確保するか（使用率が閾値を超えないようにするか）を決定する（Ｓ９１３）。尚、前者のマイグレーションする方法を選択する場合には、閾値を超えている当該プール１４３と属性が共通し、未使用領域が十分に大きな他のプール１４３（予め設定された閾値以上の未使用領域を有するプール１４３）が存在することが前提である。またプール管理部２０２は、プール利用履歴管理テーブル２３を参照して容量増加率を把握するものとする。一方、当該プール１４３にＬＤＥＶ１４２を追加する方法を選択する場合には、追加後に当該プール１４３の属性変更が生じることがなく、かつ、通常ボリューム１４４１やストレージプール１４３の記憶領域として割り当てられていないＬＤＥＶ１４２が存在していることが前提となる。
【００７７】
プール管理部２０２は、当該プール１４３の記憶容量を確保するための方法を決定すると、決定した方法の実施をストレージ装置１０に指示する。ストレージ装置１０は、上記指示に応じて記憶容量を確保するための処理を実施する（Ｓ９１４）。処理の終了後、ストレージ装置１０は管理装置２０に処理結果を通知する（Ｓ９１５）。処理結果を受信した管理装置２０のプール管理部２０２は、受信した処理結果をプール管理テーブル２２に反映する（Ｓ９１６）。
【００７８】
尚、Ｓ９１３でプール１４３の記憶容量を確保する方法としてマイグレーションが選択される場合には、容量増加率の高い仮想ボリューム１４４２の容量拡張が可能になるように、容量増加率の高い仮想ボリューム１４４２の作成元のプール１４３の未使用記憶領域が自動的に増加するので、従来のように、プール１４３の使用量が閾値を超えた場合に行われていた操作が省略され、ユーザの運用負担が軽減されることとなる。
【００７９】
図１０はプール１４３のメンテナンス処理に際し管理装置２０によって行われる処理の詳細を説明したフローチャートである。
【００８０】
管理装置２０のプール監視部２０３は、プール管理テーブル２２に登録されているプール１４３のうち、あるプール１４３（プールＡとする）の使用率が閾値を超えたことを検知すると（Ｓ１０１１）、プールＡを構成しているＬＤＥＶ１４２と同じ種類のＬＤＥＶ１４２を用いて構成されているプール１４３、つまりプールＡのプール種別２２４と一致又は包含するという条件を満たす別のプール１４３（プールＢとする）を、プール管理テーブル２２から検索する（Ｓ１０１２）。
【００８１】
尚、「あるプール１４３を構成するＬＤＥＶ１４２と同じ種類のＬＤＥＶ１４２で構成されるプール１４３」とは、あるプール１４３を構成しているＬＤＥＶ１４２の種類が一つである場合、例えばプール１４３を構成している全てのＬＤＥＶ１４２が、”ＦＣ”かつ”ＲＡＩＤ５”である場合には、その種類と同一属性を持つＬＤＥＶ１４２のみを含むプール１４３を指す。またあるプール１４３を構成しているＬＤＥＶ１４２の種類が複数存在する場合には、それらの種類以外のＬＤＥＶ１４２を含まないプール１４３のことを指す。具体的には、例えばプールＡに含まれるＬＤＥＶ１４２が”ＦＣ”かつ”ＲＡＩＤ５”、又は、”ＳＡＴＡ”かつ”ＲＡＩＤ５”の２パターンであるならば”ＦＣ”かつ”ＲＡＩＤ５”のＬＤＥＶのみで構成されるプール１４３、又は”ＳＡＴＡ”かつ”ＲＡＩＤ５”のみで構成されるプール１４３、又はその両者のＬＤＥＶ１４２のみで構成されるプール１４３が該当することになる。
【００８２】
上記条件を満たす別のプールＢが見つかった場合（Ｓ１０１２ａ）、プール監視部２０３は、プールＡが作成元である仮想ボリューム１４４２のうち、容量増加率の低い方から順に選択した所定数の仮想ボリューム１４４２（ここでは所定数を１とし、仮想ボリュームＡが選択されるものとする）を、プールＢへのマイグレーションの対象として選択する（Ｓ１０１３）。
【００８３】
プール監視部２０３は、仮想ボリュームＡをプールＢにマイグレーション（移動）した際、プールＢの使用量が閾値を超えるか否か確認する（Ｓ１０１４）。その結果、プールＢの使用量が閾値を超えない場合には（Ｓ１０１４ａ）、プール監視部２０３は仮想ボリュームＡをプールＢにマイグレーションする（Ｓ１０１５）。つまりプールＢの使用量が閾値を超えないことが確認された場合にのみ、マイグレーションが行われることになる。尚、マイグレーションの実施後、プール監視部２０３は、プール管理テーブル２２における、マイグレーション対象の仮想ボリューム１４４２に関する情報をマイグレーション後の状態に変更する。
【００８４】
Ｓ１０１２又はＳ１０１４において、上記条件を満たす別のプールＢが見つからなかった場合（Ｓ１０１２ｂ、Ｓ１０１４ｂ）、プール監視部２０３はプールＡを構成しているＬＤＥＶ１４２と同じ種類の未使用のＬＤＥＶ１４２をボリューム管理テーブル２１から検索する（Ｓ１０１７）。このときプールＡの構成要素のＬＤＥＶ１４２にボリューム種別の異なるものが含まれている場合、例えば”ＦＣ”かつ”ＲＡＩＤ５”のＬＤＥＶ１４２と”ＳＡＴＡ”かつ”ＲＡＩＤ５”のＬＤＥＶ１４２が含まれる場合には、いずれかの条件を満たすＬＤＥＶ１４２が検索される。
【００８５】
同一条件の空きＬＤＥＶ１４２が見つかった場合（Ｓ１０１７ａ）、プール監視部２０３は、プールＡに見つかったＬＤＥＶ１４２を追加する旨の指示をストレージ装置１０に送信する。ストレージ装置１０からその完了通知を受信すると、プール監視部２０３はプール管理テーブル２２を更新する（Ｓ１０１８）。ＬＤＥＶ１４２が見つからなかった場合（Ｓ１０１７ｂ）、プール監視部２０３はプール１４３の容量不足に関する警告をログ等に出力する（Ｓ１０１９）。
【００８６】
プール監視部２０３は、仮想ボリュームＢがマイグレーションできたか、又はプールＡの記憶容量が拡張できた場合にはその結果をログ等に出力する（Ｓ１０２０）。
【００８７】
以上の処理を行ってもプール１４３の使用率が閾値より小さくならない場合には、プール１４３の使用率が閾値より小さくなるまで、以上の処理が繰り返し実行され、仮想ボリューム１４４２のマイグレーション又はプール１４３の自動拡張が繰り返し行われることとなる。また自動拡張することができなくなった場合にはプール１４３の容量不足に関する警告が通知されることとなる。
【００８８】
ところで、例えばシステムの運用上、仮想ボリューム１４４２が業務単位などでグルーピングされており、システム運用上、仮想ボリューム１４４２のマイグレーションをグループ単位で実施する方が好ましい場合には、グルーピングの単位を崩さないようにマイグレーションを実施するようにしてもよい。
【００８９】
またストレージ管理部２００がマイグレーション先となるプール１４３を決定する際、マイグレーションの対象となる仮想ボリューム１４４２に要求されているＳＬＯ（SLO: Service Level Objective）を満たしているか否かを確認し、ＳＬＯを満たしているプール１４３をマイグレーション先のプール１４３として優先的に選択するようにしてもよい。
【００９０】
またマイグレーションする仮想ボリュームを決定する際、各仮想ボリュームのマイグレーション時間の予測値が事前に算出可能ならば、プール１４３の使用率が閾値以下になるまで容量増加率の低い仮想ボリュームをマイグレーションするのに要する時間と、容量増加率の高い仮想ボリュームをマイグレーションするのに要する時間を比較し、マイグレーション時間が短い仮想ボリュームを選択するようにマイグレーション対象を決定する処理を追加しても良い。
【００９１】
＜プールの制約を考慮する場合＞
ところで、ストレージ装置１０が提供するプール１４３には、一つのプール１４３の構成要素とすることができるＬＤＥＶ１４２の最大数や最大容量等の制約が存在する場合がある。このため、管理装置２０がストレージ装置１０にプール１４３のメンテナンスやマイグレーションの実行要求を行った場合に、上記制約によってストレージ装置１０が管理装置２０にエラーを返すこととなる。以下ではこのような制約を考慮した場合におけるプール１４３のメンテナンス処理の方法について説明する。
【００９２】
図１１は上記メンテナンス処理のために管理装置２０が管理するテーブルであり、プール１４３の制約が管理されるテーブル（以下、プール制約管理テーブル２４と称する）である。プール制約管理テーブル２４には、各ストレージ装置１０が提供している各プール１４３に関する制約が管理されている。同図に示すように、プール制約管理テーブル２４は、装置ＩＤ２４１、プール１４３の最大容量２４２、プール１４３の最大ボリューム数２４３、１つのストレージ装置１０が保有可能なプール１４３の最大数２４４の項目からなる複数のレコードを有している。
【００９３】
装置ＩＤ２４１には、プール１４３を提供しているストレージ装置１０のストレージＩＤが設定される。１プールあたりのプール最大容量２４２には、１つのプールに追加可能なＬＤＥＶ１４２の合計容量の最大値が設定される。１プール当たりの最大ボリューム数２４３には、１つのプール１４３に追加可能なＬＤＥＶ１４２の個数の最大値が設定される。１装置当たりの最大プール数２４４には、そのストレージ装置１０が保有可能なプール１４３の最大数が設定される。
【００９４】
図１２は、プール１４３の制約を考慮した、管理装置２０によって行われるプール１４３のメンテナンス処理を説明するフローチャートである。
【００９５】
管理装置２０のプール監視部２０３は、プール管理テーブル２２に登録されているプール１４３のうち、使用率２２７がアラート閾値２２８を超えたプール１４３（プールＤとする）を検知すると（Ｓ１２１１）、プール利用履歴管理テーブル２３から、プールＤを作成元とする仮想ボリューム１４４２のうち、容量増加率の低い方から順に選択した所定数の仮想ボリューム１４４２（ここでは所定数を１とし、仮想ボリュームＤが選択されるものとする）を、マイグレーション候補として選択する（Ｓ１２１２）。
【００９６】
プール監視部２０３は、プール管理テーブル２２を参照し、プールＤのプール種別を満たすプール種別２２４を持つプール１４３の一覧（プールリストＡとする）を取得する。そしてプール管理テーブル２２から、プールＤの装置ＩＤ（装置Ｄとする）を取得し、プール制約管理テーブル２４を参照し、装置Ｄの１プール１４３当たりの最大容量２４２と１プール１４３当たりの最大ボリューム数２４３を取得して、仮想ボリュームＤを追加可能なプール１４３をプールリストＡから検索する（検索結果をプールリストＢとする）。そしてプール監視部２０３は、プールリストＢから、仮想ボリュームＤをマイグレーションしても当該プール１４３の閾値を超えないプール１４３（プールＥとする）を検索する。
【００９７】
条件を満たすプール１４３（プールＥ）が見つかった場合（Ｓ１２１３ａ）、プール監視部２０３は、ボリューム管理部２０１を呼び出して仮想ボリュームＤをプールＥにマイグレーションし（Ｓ１２１４）、実行結果をログに出力する（Ｓ１２２０）。条件を満たすプールＥが見つからなかった場合、プールＤに容量追加が可能かプール制約管理テーブル２４を参照して確認する（Ｓ１２１５）。追加できない場合は（Ｓ１２１５ｂ）、プール１４３の容量が不足し閾値を超えたことをログ等に出力する（Ｓ１２１８）。追加できる場合（Ｓ１２１５ａ）、プールＤのプール種別を満たす未割り当てのＬＤＥＶ１４２をボリューム管理テーブル２１から検索する（Ｓ１２１６）。
【００９８】
ＬＤＥＶ１４２が見つからなかった場合（Ｓ１２１６ｂ）、現在のプール種別を維持したまま追加可能なＬＤＥＶ１４２がないことを示すログを出力する（Ｓ１２１８）。ＬＤＥＶ１４２が見つかった場合（Ｓ１２１６ａ）、プール管理部２０２を呼び出し、見つかったＬＤＥＶ１４２からＬＤＥＶ１４２を一つ選んでプールＤに追加した後（Ｓ１２１７）、実行結果をログに出力する（Ｓ１２２０）。
【００９９】
以上によれば、管理装置２０において、プール１４３の制約を考慮した形でストレージ装置１０にプール１４３のメンテナンスやマイグレーションの指示を行うことができる。これによれば、ストレージ装置１０からエラーの返答を受信する前に、管理装置２０において適切な判断をすることができる。
【０１００】
＜未使用領域の大きいプールのサイズ縮小＞
図１３は、管理装置２０によって行われる、未使用領域の大きいプール１４３の記憶領域を縮小する処理を説明するフローチャートである。この処理では、管理装置２０が未使用領域の大きい（未使用領域が所定の閾値以上である）プール１４３を検知した場合、そのプール１４３から、データがまだ格納されていないＬＤＥＶ１４２を削除する。またＬＤＥＶ１４２を削除してもまだそのプール１４３の未使用領域が大きい場合に、未使用領域の大きなプール１４３のデータを記憶する新たなプール１４３を作成し、かつ、古いプール１４３を削除する。ＬＤＥＶ１４２に仮想ボリューム１４４２のデータが既に格納されている場合には、プール１４３の未使用領域が大きい場合でもＬＤＥＶ１４２を削除できない場合があるが、この場合はプール１４３の再作成が行われる。
【０１０１】
尚、未使用領域の大きいプール１４３が生じる理由としては、仮想ボリューム１４４２の記憶容量が過去に一時的に増えたためにプール１４３が拡張されたが、その後、記憶容量が減った場合、仮想ボリューム１４４２に管理されていたデータが他のストレージ装置１０にレプリケーションされ、レプリケーションされたデータを管理していた仮想ボリューム１４４２がプール１４３から削除された場合などがある。
【０１０２】
以下、図１３とともに説明する。管理装置２０のプール監視部２０３は、プール管理テーブル２２のあるプール１４３（プールＣとする）の使用率２２７がアラート閾値２２８以下になったことを検知すると（Ｓ１３１１）、プールＣを構成しているＬＤＥＶ１４２のうち、当該プールＣの構成要素から外すことが可能（削除可能）なＬＤＥＶ１４２を選出し、選出したＬＤＥＶ１４２をプールＣの構成要素から外す（削除する）旨の指示をストレージ装置１０のストレージ制御部１０１に送信する（Ｓ１３１２）。
【０１０３】
尚、上記選出における、ＬＤＥＶ１４２をプールＢから削除可能か否かの判定は、管理装置２０側で判断してもよいし、ストレージ装置１０側で判断するようにしてもよい。このときの判断の基準は、例えばそのＬＤＥＶ１４２に仮想ボリューム１４４２のデータが記録されているか否かである。
【０１０４】
ストレージ装置１０で削除可能なＬＤＥＶ１４２の削除が終了すると、プール監視部２０３は、再度プールＣの使用率を確認する（Ｓ１３１３）。確認した結果、使用率２２７がアラート閾値２２８以下である場合（Ｓ１３１３ｂ）、プール監視部２０３は処理を終了する（Ｓ１３１８）。
【０１０５】
一方、削除可能なＬＤＥＶ１４２をプール１４３から削除した後もプールＣの使用率２２７がアラート閾値２２８を超えている場合（Ｓ１３１３ａ）、プール監視部２０３は、プールＣに含まれるＬＤＥＶ１４２と同じ種類の未使用のＬＤＥＶ１４２を、ボリューム管理テーブル２１から検索する。そして検索された未使用のＬＤＥＶ１４２の合計容量が、プールＣの使用量２２６以上であることを各ストレージ装置１０単位に確認する（Ｓ１３１４）。尚、本実施形態では、複数のストレージ装置１０を跨いで一つのプール１４３を作成することができないことを前提としているため、ストレージ装置１０ごとに記憶容量を確認する。
【０１０６】
ＬＤＥＶ１４２の合計容量がプールＣの使用量以上である場合（Ｓ１３１４ａ）、プール監視部２０３は、プールＣの使用量以上で最小の記憶容量となるように、即ちマイグレーションの対象となる仮想ボリューム１４４２に要求される条件を満たすのに必要最低限の数の未使用のＬＤＥＶ１４２を選択し、新規プール（プールＤとする）を作成する（Ｓ１３１５）。例えば１つのＬＤＥＶ１４２の記憶容量が１０ＧＢである場合、プールＣの使用量が１ＧＢであれば未使用のＬＤＥＶ１４２を一つだけ選択し、プールＣの使用量が１５ＧＢであれば未使用のＬＤＥＶ１４２を２つ選択する。
【０１０７】
尚、他の方法として、プール監視部２０３が、マイグレーションの対象となる仮想ボリューム１４４２の容量増加率に基づいて決定される分の記憶資源（ＬＤＥＶ１４２）のみを用いて、新たなプール１４３を作成するようにしてもよい。例えば予め設定した所定時間以内にプール１４３の使用量が閾値を超えることが見込まれる場合には、所定時間以後に必要とされる分の記憶資源のみを割り当てるようにする。
【０１０８】
以上のようにすることで、不必要に記憶資源が消費されてしまうのを防ぐことができ、未使用の記憶資源を確保することができる。
【０１０９】
新規プール１４３の作成が終了すると、プールＣを作成元とする全仮想ボリューム１４４２をプールＤにマイグレーションし（Ｓ１３１６）、マイグレーション完了後にプールＣを削除する（Ｓ１３１７）。尚、プール監視部２０３は、プールＤの追加、及びプールＣの削除の結果をプール管理テーブル２２に反映する。
【０１１０】
Ｓ１３１４において、ＬＤＥＶ１４２の合計容量がプールＣの使用量よりも小さい場合には（Ｓ１３１４ｂ）、仮想ボリューム１４４２のマイグレーションが実施できないためそのまま処理を終了する（Ｓ１３１８）。
【０１１１】
ところで、以上の処理では、仮想ボリューム１４４２のマイグレーション先として、マイグレーション元と同じ種類のＬＤＥＶ１４２で構成されるプール１４３を作成してマイグレーションを実施しているが、仮想ボリューム１４４２を任意の他の論理ボリュームに一時的にマイグレーションしておき、元のプール１４３を再作成し、再作成したプール１４３にマイグレーションするようにしてもよい。このようにすればマイグレーション元と同じ種類のＬＤＥＶ１４２が存在しない場合でも、プール１４３のサイズを縮小することができる。
【０１１２】
以上によれば、種々の原因により未使用領域が大きくなってしまったプール１４３の記憶容量が自動的に縮小されるため、ストレージ装置１０に空き記憶領域を確保することができる。従って記憶資源の再利用が容易になり、記憶資源を有効に利用することができる。
【０１１３】
また以上に説明した実施形態の総括として、ユーザは、仮想ボリューム１４４２の作成元のプール１４３の利用状況やプール１４３の構成などを直接管理することなく、仮想ボリューム１４４２を運用することができる。また仮想ボリューム１４４２に掛かる管理の煩雑さを低減することができる。
【０１１４】
以上、本発明の好適な実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲を実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば以上の説明では、論理的な記憶領域の最小単位をＬＤＥＶとしているが、記憶領域の最小単位はこれに限られない。
【図面の簡単な説明】
【０１１５】
【図１】情報処理システム１の概略的な構成を示す図である。
【図２Ａ】ストレージ装置１０のハードウエアを示す図である。
【図２Ｂ】管理装置２０、ホスト装置３０、及び管理クライアント装置４０のハードウエアの一例を示す図である。
【図３Ａ】管理装置２０の機能、及び管理装置２０によって管理されるデータを示す図である。
【図３Ｂ】ストレージ装置１０の機能を示す図である。
【図３Ｃ】ストレージ装置１０からホスト装置３０への記憶領域の供給形態を説明する図である。
【図４】ボリューム管理テーブル２１の一例を示す説明図。
【図５】プール管理テーブル２２の一例を示す図である。
【図６】プール利用履歴管理テーブル２３の一例を示す図である。
【図７】仮想ボリューム１４４２の作成に関する処理を説明するフローチャートである。
【図８】仮想ボリューム１４４２の削除に関する処理を説明するフローチャートである。
【図９】使用量増加に伴うプールのメンテナンス処理のシーケンスを説明するシーケンス図である。
【図１０】図９に示したプールのメンテナンス処理における管理装置２０の処理の詳細を説明するフローチャートである。
【図１１】プール制約管理テーブル２４の一例を示す図である。
【図１２】プールの制約を考慮した、プールのメンテナンス処理を説明するフローチャートである。
【図１３】未使用領域の大きいプール１４３の記憶領域を縮小する処理を説明するフローチャートである。
【符号の説明】
【０１１６】
１  情報処理システム
１０  ストレージ装置
１０１  ストレージ制御部
１１  ディスクコントローラ
１２  キャッシュメモリ
１３  通信インタフェース
１４  ディスク装置
１４１  ハードディスクドライブ
１４２  ＬＤＥＶ
１４３  ストレージプール
１４４  ボリューム
１４４１  通常ボリューム
１４４２  仮想ボリューム
１５  通信インタフェース
２０  管理装置
２００  ストレージ管理部
２０１  ボリューム管理部
２０２  プール管理部
２０３  プール監視部
２１  ボリューム管理テーブル
２２  プール管理テーブル
２３  プール利用履歴管理テーブル
２４  プール制約管理テーブル
３０  ホスト装置
４０  管理クライアント装置
５０  通信ネットワーク
５１  ストレージネットワーク
【図１】
2010086424.tif 000003
【図２Ａ】
2010086424.tif 000004
【図２Ｂ】
2010086424.tif 000005
【図３Ａ】
2010086424.tif 000006
【図３Ｂ】
2010086424.tif 000007
【図３Ｃ】
2010086424.tif 000008
【図４】
2010086424.tif 000009
【図５】
2010086424.tif 000010
【図６】
2010086424.tif 000011
【図７】
2010086424.tif 000012
【図８】
2010086424.tif 000013
【図９】
2010086424.tif 000014
【図１０】
2010086424.tif 000015
【図１１】
2010086424.tif 000016
【図１２】
2010086424.tif 000017
【図１３】
2010086424.tif 000018