(57)【要約】【課題】ストレージを集約した環境においては、使用されない領域が多く発生し、ストレージ資源をストレージプールとして有効に活用できなかった。【解決手段】計算機に割当てられた記憶デバイス（ボリューム）の使用容量（データ容量）を取得し、データ容量の変化から今後の使用容量を予測する。この予測使用容量から算出した適切な割当て容量の上限及び下限を表す上限確保容量と下限確保容量と記憶デバイスの容量とを比較して、記憶デバイス（旧デバイス）の容量が上限確保容量より大きい場合に、ストレージプールから下限確保容量以上かつ上限確保容量以下の記憶デバイス（新デバイス）を割当て、旧デバイスをストレージプールに回収する。【選択図】  図９
2005038071.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、計算機と記憶装置とに接続された管理計算機により実行される管理方法であって、
前記記憶装置の記憶領域から所定の容量の記憶領域を前記計算機に割当てるステップと、
前記計算機に割当てられた前記各記憶領域の使用容量を取得するステップと、
前記各記憶領域の使用容量から予測される予測使用容量を算出するステップと、
前記割当てられた記憶領域の容量が前記予測使用容量よりも大きい場合に、前記割当てた記憶領域の容量と前記予測使用容量との差に相当する記憶領域を回収するステップとを有する管理方法。
【請求項２】
請求項１に記載の管理方法であって、
前記回収ステップは、
前記予測使用容量以上で前記割当てた第１の記憶領域の容量より小さい容量の第２の記憶領域を前記計算機に割当てるステップと、
前記第１の記憶領域のデータを前記第２の記憶領域にコピー終了後に、前記第１の記憶領域の計算機への割当てを解放するステップを含む管理方法。
【請求項３】
請求項２に記載の管理方法であって、
前記回収ステップは、
前記記憶装置に対して、前記第１の記憶領域のデータを前記第２の記憶領域にコピーを実行するように指示するステップをさらに有する管理方法。
【請求項４】
請求項３に記載の管理方法であって、
前記回収ステップは、
記憶装置にてデータコピーを実行する前に、第１の記憶領域に作成されたファイルシステムを縮小するステップをさらに有する管理方法。
【請求項５】
請求項２に記載の管理方法であって、
前記回収ステップは、
前記計算機に対して、前記第１の記憶領域のデータを前記第２の記憶領域にコピーを実行するように指示するステップをさらに有する管理方法。
【請求項６】
請求項２に記載の管理方法であって、
前記第１の記憶領域のデータを前記第２の記憶領域にコピーを実行するステップをさらに有する管理方法。
【請求項７】
請求項１に記載の管理方法であって、
前記回収ステップは、
前記割当てた記憶領域ごとのフラグに基づいて回収の可否を判定するステップをさらに有する管理方法。
【請求項８】
請求項１に記載の管理方法であって、
前記計算機に割当てられた前記各記憶領域のライトＩ／Ｏ数を取得するステップをさらに有し、
前記回収ステップは、
前記ライトＩ／Ｏ数が０である前記記憶領域をアーカイブ用に指定し、前記予測使用容量以上で前記割当てた第１の記憶領域の容量より小さい容量で低コストの第２の記憶領域を前記計算機に割当てるステップと、
前記第１の記憶領域のデータを前記第２の記憶領域にコピー終了後に、前記第１の記憶領域の計算機への割当てを解放するステップを含む管理方法。
【請求項９】
請求項１に記載の管理方法であって、
前記管理計算機は複数の記憶装置に接続されており、
前記複数の記憶装置の記憶領域を割当て状態を管理するデバイス管理テーブルを保持するメモリを有し、
前記記憶領域を前記計算機に割当てるステップは、
前記デバイス管理テーブルに基づいて、前記記憶領域を前記計算機に割当てることを特長とする管理方法。
【請求項１０】
請求項１に記載の管理方法であって、
前記予測使用容量の算出ステップは、
前記各記憶領域の使用容量のほかに、前記各記憶領域を利用するアプリケーションの種類、アクセス特性又は格納するデータの重要度に基づいて、予測使用容量を算出することを特長とする管理方法。
【請求項１１】
請求項１に記載の管理方法であって、
前記割当てられた記憶領域の容量と前記予測使用容量とに基づいて、前記割当てた記憶領域の容量の適正状態を表示することを特徴とする管理方法。
【請求項１２】
ネットワークを介して、計算機と記憶装置とに接続された管理計算機に実行させる管理プログラムであって、
前記記憶装置の記憶領域から所定の容量の記憶領域を前記計算機に割当てる手順と、
前記計算機に割当てられた前記各記憶領域の使用容量を取得する手順と、
前記各記憶領域の使用容量から予測される予測使用容量を算出する手順と、
前記割当てられた記憶領域の容量が前記予測使用容量よりも大きい場合に、前記割当てた記憶領域の容量と前記予測使用容量との差に相当する記憶領域を回収する手順とを実行させる管理プログラム。
【請求項１３】
ネットワークを介して、計算機と記憶装置とに接続された管理計算機に実行させる管理プログラムを格納した前記管理計算機により読取可能な記録媒体であって、
前記記憶装置の記憶領域から所定の容量の記憶領域を前記計算機に割当てる手順と、
前記計算機に割当てられた前記各記憶領域の使用容量を取得する手順と、
前記各記憶領域の使用容量から予測される予測使用容量を算出する手順と、
前記割当てられた記憶領域の容量が前記予測使用容量よりも大きい場合に、前記割当てた記憶領域の容量と前記予測使用容量との差に相当する記憶領域を回収する手順とを実行させる管理プログラムを格納した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の記憶装置を集中して管理する方法に関する。
【０００２】
【従来の技術】
近年、計算機と複数の記憶装置との間を通信線（ストレージエリアネットワーク（ＳＡＮ））で接続し、ＳＡＮに接続される複数の記憶装置を集中管理する技術が提案されている。
【０００３】
ＳＡＮに接続された複数の記憶装置を管理する方法として、ＳＡＮに接続された複数の記憶装置が有する記憶デバイス（ボリューム）をストレージプールとして一元的に管理し、ＳＡＮに接続された記憶装置が有する記憶容量を有効に活用する技術がある。
【０００４】
従来の技術では、容量の予測が十分にたてられずボリューム容量が不足した場合には、不足した時点でストレージプールからオンデマンドで容量の追加を行なう（例えば特許文献１等参照）。
【０００５】
【特許文献１】
特開２００２−２２２０６１号公報（第９頁、第１１図）
【０００６】
【発明が解決しようとする課題】
事前に使用容量を正確に予測し、ボリュームを割当てることは困難であり、従来技術では、予測どおりに使用容量（データ容量）が増加しない場合、使用されない、記憶領域が発生し、無駄になる。ストレージを集約した環境においては、ボリュームが多数存在するため、使用されず無駄になる記憶領域が多数発生する。このような、ボリュームは使用されていないにも関わらずストレージプールとして利用できないため、ストレージ資源を有効に活用できない。
【０００７】
本発明の目的は、余計に割当てられている記憶領域を別の計算機に利用可能にするためにストレージプールに回収することにより、資源の有効活用を図る管理方法及び管理プログラムを提供することである。
【０００８】
【課題を解決するための手段】
本発発明の一実施形態によると、計算機に割当てられた記憶デバイス（ボリューム）の使用容量（データ容量）を定期的に取得し、データ容量の変化から今後の使用容量を予測する。
【０００９】
また、この予測使用容量から算出した適切な割当て容量の上限及び下限を表す上限確保容量と下限確保容量と記憶デバイスの容量とを比較して、記憶デバイス（旧デバイス）の容量が上限確保容量より大きい場合に、ストレージプールから下限確保容量以上かつ上限確保容量以下の記憶デバイス（新デバイス）を割当て、旧デバイスをストレージプールに回収する。
【００１０】
さらに本発明の他の実施形態では、計算機に割当てられたボリュームの使用容量に加えて、定期的に最大使用容量、最小使用容量、リード回数、ライト回数を取得し、一定期間、データ容量が一定かつライト回数が０である場合に、データをアーカイブ指定して、コストの低い記憶デバイスにデータを移動し容量を回収する。
【００１１】
なお、本発明の他の特長については、本明細書及び添付図面の記載により明らかにする。
【００１２】
【発明の実施の形態】
図１は、本発明を適用した計算機システムの実施形態を示す図である。計算機システム１は、計算機２００ａ、２００ｂ、２００ｃ、２００ｄ（総して「計算機２００」と呼ぶ）、管理計算機３００、ファイバーチャネルスイッチ５０、インターネットプロトコル（以下「ＩＰ」と称する。）ネットワーク６０と７０並びに記憶装置４００を有する。
【００１３】
記憶装置４００は、ファイバーチャネルスイッチ５０を介して計算機２００ａ及び２００ｂと接続されている。また、記憶装置４００は、ＩＰネットワーク６０を介して計算機２００ｃ及び２００ｄと接続されている。さらに記憶装置４００は、ＩＰネットワーク７０によって管理計算機３００と接続されている。
ファイバーチャネルスイッチ５０を介して記憶装置４００と接続される計算機２００ａ及び２００ｂは、ＳＣＳＩ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（以下「ＦＣＰ」と称する）プロトコルを用いてデータ転送を行う。ＩＰネットワーク６０を介して記憶装置４００と接続される計算機２００ｃ及び２００ｄは、ＩＰプロトコルを介してＳＣＳＩコマンドを転送できるｉＳＣＳＩプロトコルを用いてデータ転送を行う。
【００１４】
ファイバーチャネルスイッチ５０は、制御部、メモリ、記憶装置、計算機２００及び記憶装置４００と接続するためのインターフェイス５２ａ、５２ｂ、５２ｃ、５２ｄ、ＩＰネットワーク７０と接続するためのインターフェイス５４を有する。
【００１５】
記憶装置４００は、制御部４０１及びハードディスクドライブ４６０を有する。制御部４０１は、チャネルアダプタ５００ａ、５００ｂ（総して「チャネルアダプタ５００」と称する）、キャッシュメモリ４５０、共有メモリ５９０、ディスクアダプタ５５０、及びクロスバースイッチ５２０を有する。チャネルアダプタ５００、キャッシュメモリ４５０、共有メモリ５９０、及びディスクアダプタ５５０は、クロスバースイッチ５２０で互いに接続される。尚、クロスバースイッチ５２０の代わりにバスが使用されても良い。
【００１６】
ハードディスクドライブ４６０は、ポート５７０を介してディスクアダプタ５５０と接続される。記憶装置４００は、複数のディスクアダプタ５５０を有しても良い。この場合、複数のディスクアダプタ５５０は、各々クロスバースイッチ５２０に接続される。また、各々のディスクアダプタ５５０に複数のハードディスクドライブ４６０が接続される。
【００１７】
チャネルアダプタ５００には番号がふられており、この番号（以後「チャネルアダプタ番号」と称する）によってチャネルアダプタ５００が特定される。
チャネルアダプタ５００ａは、ファイバーチャネルポート４０２ａ、４０２ｂ及びプロセッサ５１０ａを有する。チャネルアダプタ５００ａは、ファイバーチャネルポート４０２ａ及び４０２ｂを介して、計算機２００ａ及び２００ｂが発行するＦＣＰプロトコルに基づくＩ／Ｏ要求を受け付ける。
【００１８】
チャネルアダプタ５００ｂは、ＩＰネットワークポート４０４ａ、４０４ｂ及びプロセッサ５１０ｂを有する。チャネルアダプタ５００ｂは、ＩＰネットワークポート４０４ａを介して、計算機２００ｃ及び２００ｄが発行するｉＳＣＳＩプロトコルに基づくＩ／Ｏ要求を受け付ける。ＩＰネットワークポート４０４ｂは、管理計算機３００と接続されている。チャネルアダプタ５００ｂは、ＩＰネットワークポート４０４ｂを介して管理計算機３００との間で通信を行う。
記憶装置４００は、論理的な記憶領域である記憶論理デバイス（以下論理デバイスと称する）を一つ又は複数有する。論理デバイスは、ハードディスクドライブ４６０が有する記憶領域の全部又は一部分に対応する。論理デバイスは、計算機２００が認識する記憶領域であり、少なくとも計算機システム１内で一意の識別子により識別される。論理デバイスは、サイズ５１２バイトのブロックをデータ入出力（Ｉ／Ｏ）の最小単位とするデバイスである。ブロックには、先頭から０から始まる番号がつけられており、ブロックはＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）によって指定される。論理デバイスの容量はブロックの数で決まり、ブロック数が多いほど容量が大きい。この記憶装置４００の論理デバイスに対して、計算機２００は、ＦＣＰ及びｉＳＣＳＩによるＩ／Ｏを要求する。
【００１９】
ディスクアダプタ５５０は、記憶装置４００内のキャッシュメモリ４５０、ハードディスクドライブ４６０を制御して、キャッシュメモリ４５０、ハードディスクドライブ４６０及びチャネルアダプタ５００との間でデータ転送を行う。ディスクアダプタ５５０は、例えば、ハードディスクドライブ４６０を冗長性のあるＲＡＩＤとして制御することで、記憶装置４００の信頼性向上、性能向上なども行う。尚、記憶装置４００が有するハードディスクドライブ４６０の数は複数でも単数でも構わない。
【００２０】
ハードディスクドライブ４６０とチャネルアダプタ５００間のデータ転送は、キャッシュメモリ４５０とチャネルアダプタ５００間のデータ転送に比べて遅いため、記憶装置４００は、頻繁にアクセスされるデータをキャッシュメモリ４５０上に格納することにより、データ転送性能の向上も行っている。
【００２１】
また、記憶装置４００は、計算機２００がアクセスできる論理デバイスを制限することができる。これにより、例えば計算機２００ａが使用している論理デバイスを、計算機２００ｂが不用意にアクセスすることを防ぐことができる。
【００２２】
図２は、記憶装置４００が計算機２００からのアクセス制御を行うためのアクセス制御テーブル７００である。アクセス制御テーブル７００は、共有メモリ５９０に格納される。アクセス制御テーブル７００は、記憶装置４００の論理デバイスの識別に使用されるデバイス識別子、計算機２００からのＩ／Ｏ要求を受け取る記憶装置４００のストレージポート識別子、ファイバーチャネルポート４０２ａ等のストレージポートを備えるチャネルアダプタ５００のチャネルアダプタ番号、記憶装置４００へのアクセスが認められている計算機２００の計算機ポート識別子が登録されている。
【００２３】
ストレージポート識別子及び計算機ポート識別子は、例えば、ポートがファイバーチャネルポート４０２ａであれば、ポートに付与されるポートＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）であり、ポートがＩＰネットワークポート４０４ａであれば、ポートに付与されるＩＰアドレスである。チャネルアダプタ５００は、このアクセス制御テーブル７００を参照して、記憶装置４００にアクセスする計算機２００に対応する計算機ポート識別子が登録されている場合には、計算機２００の論理デバイスへのＩ／Ｏ要求処理を実行する。
【００２４】
計算機２００ａは、通常の計算機同様、制御部、メモリ、記憶装置、表示部、スイッチ５０と接続するためのインターフェイス２０２ａ及びネットワーク７０と接続されるインターフェイス２０４ａとを有する。計算機２００ｂも同様である。
【００２５】
計算機２００ｃは、通常の計算機同様、制御部、メモリ、記憶装置、表示部、記憶装置４００が接続しているネットワーク６０と接続するためのインターフェイス２０２ｃ及び管理計算機３００が接続しているネットワーク７０と接続されるインターフェイス２０４ｃとを有する。計算機２００ｄも同様である。
【００２６】
管理計算機３００は、通常の計算機同様、制御部、メモリ、記憶装置、表示部及びネットワーク７０と接続されるインターフェイス３０４とを有する。管理計算機３００は、記憶装置に格納されたプログラム（管理アプリケーション）をメモリに読み出して制御部で実行することにより、ネットワーク７０を介して、ネットワーク７０に接続された記憶装置４００を制御する。管理計算機３００は、記憶装置４００以外にも計算機２００、ファイバーチャネルスイッチ５０とネットワーク７０を介して通信することができる。
【００２７】
管理計算機３００と通信するチャネルアダプタ５００ｂのプロセッサ５１０ｂでは、管理計算機３００と通信するためのプログラム（管理エージェント）が動作しており、管理計算機３００の制御部で実行される管理アプリケーションからの設定及び制御要求コマンドを受け取り、記憶装置４００の状態の取得及び設定変更を行なう。
【００２８】
なお、管理エージェントは、ストレージ装置４００だけでなく、ファイバーチャネルスイッチ５０、計算機２００上でも実行される。管理計算機３００上で動作する管理アプリケーションはこれらの管理エージェントと通信を行い、ファイバーチャネルスイッチ５０及び計算機２００の状態の取得及び設定変更を行うこともできる。
【００２９】
図３は、管理計算機３００が有する表示画面に表示され、管理者が使用するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を示す図である。本図では、記憶装置４００の論理デバイスを円筒で、計算機２００を矩形１で表す。本図で、計算機２００を表す矩形１内に円筒が表示される場合、記憶装置４００では、この矩形１に対応する計算機２００がこの円筒で表される論理デバイスに対してアクセスできる設定になっていることを表す。
さらに、本ＧＵＩでは、割当て容量過大、割当て容量適正、割当て容量過小の３つの領域が表示され、論理デバイスを表す円筒は計算機を表す矩形の中で、この３つの領域のいずれかに表示される。
【００３０】
割当て容量過大は、計算機２００での使用容量に比べて容量が過大である論理デバイスが割当てられており、計算機２００によって使用されない論理デバイスの領域が大きいことを表し、容量が無駄になっている状態を表している。
割当て容量過小は、計算機２００での使用容量に比べて容量が過小である論理デバイスが割当てられており、計算機２００によって使用されている論理デバイスの領域が大きいことを表し、容量が不足しないようにより大きい論理デバイスを割当てることが望ましい状態であることを表している。
【００３１】
割当て容量適正は、計算機２００での使用容量に比べて容量が適正である論理デバイスが割当てられており、計算機２００によって使用されていない記憶装置４００の論理デバイスの領域が必要十分にあることを表している。
【００３２】
管理者は、このＧＵＩを使用して、計算機２００に対する記憶装置４００の論理デバイスの割当て状態を確認することができる。
【００３３】
図４は、管理計算機３００にて管理されるデータ管理テーブル９００を示す図である。データ管理テーブル９００は、管理計算機３００が有するメモリに格納される。図３のＧＵＩは、このデータ管理テーブル９００に基づいて、管理計算機３００の表示部に描画される。データ管理テーブル９００には、データを一意に識別するデータ識別子、データを使用するアプリケーションの種類、データを使用している計算機、記憶装置４００の論理デバイスのデバイス識別子、論理デバイスの容量、下限確保割合、上限確保割合、容量回収可否、割当て状態の対応関係を示す情報が登録されている。
【００３４】
管理テーブル９００のエントリは、管理者が管理計算機３００を使用して記憶装置４００の論理デバイスを計算機２００に割当てたときに作成される。このとき、データ識別子が作成される。データ識別子はデータにつけられる一意な識別子であり、データを格納する論理デバイスを変更しても変わらない。論理デバイスを割当てた計算機２００の識別子、割当てた論理デバイスの識別子、割当てた論理デバイスの容量が対応付けられて格納される。
【００３５】
下限確保割合、上限確保割合は、管理者が計算機への論理デバイスへの割当て時に、論理デバイスに格納するデータの特性を管理者が選択することにより設定され、使用容量監視処理３０００において、下限確保容量および上限確保容量を算出するときに使用される。さらに算出された下限確保容量及び上限確保容量と論理デバイスの容量を比較することにより、データに対する論理デバイスの割当て状態が決定される。
【００３６】
アプリケーション種類は、管理者が論理デバイスの割当て時に、論理デバイスのデータ特性を管理者が選択することにより設定される。また、容量監視処理３０００においてデータ更新がないと判断された場合には、アーカイブに設定される。
【００３７】
容量回収可否は、容量監視処理３０００において容量回収処理１０００の実行可否を判断する場合に使用される。管理者は論理デバイスの割当て時に、データを格納する論理デバイスを容量回収処理１０００により変更したくない場合には、この値を不可に設定する。
【００３８】
割当て状態は、データに対して割当てられている記憶装置４００の論理デバイスの容量の状態を表しており、容量監視処理３０００によって設定される。容量監視処理３０００では、下限確保割合、上限確保割合を用いて算出した下限確保容量、上限確保容量と論理デバイスの容量を比較して  「過大」、「過小」、「適正」の３つの割当て状態を設定する。ここで、上限確保容量は、下限確保容量よりも大きい。
【００３９】
「過大」は、論理デバイスの容量が上限確保容量よりも大きい状態であり、データに対して必要以上の容量の論理デバイスが割当てられている状態表す。
【００４０】
「過小」は、データに割当てられている論理デバイスの容量が下限確保容量よりも小さい状態であり、データに対して必要な論理デバイスの容量が不足である状態を表す。
【００４１】
「適正」は、データに割当てられている論理デバイスの容量が下限確保容量以上かつ上限確保容量以下である状態であり、必要かつ十分な容量の論理デバイスが割当てられていることを表す。
【００４２】
割当て状態が「過大」もしくは「過小」であるデータに対して割当てられている論理デバイスが、容量回収処理１０００の対象となる。
下限確保割合は、データに割当てられるべき論理デバイスの容量の最小値（下限確保容量）のデータ量に対する割合（データ量を１００とする）を表し、上限確保割合は、データに割当ててもよい論理デバイスの容量の最大値（上限確保容量）のデータ量に対する割合（データ量を１００とする）を表す。
【００４３】
データ量の急激な増大がある場合には、下限確保割合を大きくすることにより、データ量に対して論理デバイスに多くの空き容量を確保することができるため、論理デバイスの容量不足の発生を防ぐことができる。また、データ量の減少を伴う大きな変動がある場合には、上限確保割合を大きくすることにより、使用容量監視処理３０００実行時に、一時的にデータ量が減少していたために割当て状態が「過大」と判断され、容量回収処理１０００が実行されることを防ぐことができる。データ量から算出される上限確保容量が下限確保容量よりも大きくなるようにするため、データ管理テーブル９００の同一エントリでは、上限確保割合は下限確保割合よりも大きくする。
【００４４】
管理者によるデータ特性の選択による管理テーブル９００の下限確保割合と上限確保割合の設定について説明する。管理者の選択するデータ特性としては、データを使用するアプリケーションの種類、データに対するアクセス特性、データを使用するアプリケーションの重要度などがあり、下限確保割合と上限確保割合は、管理者の選択に応じてテーブル９７０、９８０、９９０から計算する。
【００４５】
テーブル９７０、９８０、９９０は、管理者によるデータ特性選択時の下限確保割合への確保割合の加算量（加算確保割合）と下限確保割合と上限確保割合との間の確保巾の加算量（加算確保巾）を管理するテーブルである。
【００４６】
管理者が選択したデータ特性に対応する加算確保割合を、１００に加算することによって下限確保割合が計算され、この下限確保割合に対応する加算確保巾を加算することによって上限確保容量が計算される。
【００４７】
テーブル９７０は、アプリケーション種類による加算確保割合と加算確保巾を管理するテーブルであり、アプリケーションがデータベースである場合には、加算確保割合を１０、加算確保巾を５としている。ファイルサーバである場合には、データの増大時に容量不足にならないようにするため加算確保割合を２０とする。また、ファイルの削除によりデータ量の減少を伴う変動が考えられるため、加算確保巾を１５としている。アプリケーション種類が、アーカイブである場合には、データの増加がないと考えられるため、加算確保割合を０、加算確保巾を２としている。
【００４８】
管理者が選択したアプリケーション種類は、管理テーブル９００のアプリケーション種類に設定される。
【００４９】
テーブル９８０は、データに対するアクセス特性による加算確保割合と加算確保巾を管理するテーブルであり、リード専用である場合には、データの増加がないため、加算確保割合を０、加算確保巾を２とし、アクセス特性が追記である場合には、データが増加するのみであるため、加算確保割合を１０、加算確保巾を２としている。
【００５０】
テーブル９９０は、データの重要度による加算確保割合と加算確保巾を管理するテーブルである。重要度は、値が大きいほど重要であることを表す。重要度が１である場合には、加算確保割合を０、加算確保巾を２としており、重要度が２である場合には、加算確保割合を１０、加算確保巾を５、重要度が３である場合には、加算確保割合を２０、加算確保巾を１０のように、重要度が高いほど加算確保割合、加算確保巾を大きくしている。
【００５１】
管理者がデータ特性の選択において、アプリケーションの種類としてデータベースを選択した場合には、１００にテーブル９７０で管理される追加確保割合５を加算した１０５が下限確保割合として設定され、この下限確保割合にテーブル９７０で管理される確保巾５を追加した１１０が上限確保割合として設定される。
【００５２】
また、管理者はデータ特性を複数選択してもよい。例えば、アプリケーションの種類としてデータベースを選択し、アクセス特性として追記を選択し、データ重要度として２を選択した場合には、アプリケーション種類の管理テーブル９７０からデータベースの加算確保割合１０、アクセス特性の管理テーブル９８０から追記の加算確保割合１０、重要度の管理テーブル９９０から重要度２の加算確保割合１０の和である３０を１００に加算した１３０が下限確保割合として設定され、同様にアプリケーション種類のデータベースの加算確保巾５、アクセス特性の追記の加算確保巾１０、重要度２の加算確保巾５の和である２０を下限確保割合１３０に加算した１５０が上限確保割合として設定される。
管理者が、データ特性を選択しなかった場合には、アプリケーションの種類として「一般」を使用して、データ管理テーブル９００のアプリケーションの種類、下限確保割合、上限確保割合が設定される。
【００５３】
図５は、管理計算機３００にて管理される使用容量管理テーブル９１０を示す図である。使用容量管理テーブル９１０は、管理計算機３００が有するメモリに格納される。使用容量管理テーブル９１０には、データ識別子、使用容量を取得した時刻である取得時刻、取得時刻における使用容量、前回取得してから今回取得したまでに経過した時間を表す取得期間、取得期間中の使用容量の最大値である最高使用容量、取得期間中の使用容量の最小値である最低使用容量、取得期間中のリード回数、取得期間中のライト回数の対応関係を示す情報が登録されている。
【００５４】
使用容量管理テーブル９１０は、データ識別子にて区別されるデータごとに存在し、管理計算機３００にて定期的に実行される使用容量監視処理３０００にて、将来のデータの容量（論理デバイスの使用容量）を予測する際に使用され、計算機２００から取得した管理情報が格納される。テーブルが一杯になると最も取得時刻が古いデータが上書きされる。
【００５５】
図６は、管理計算機３００にて管理されるデバイス管理テーブル８００を示す図である。計算機システム１の記憶装置４００の論理デバイスはこのデバイス管理テーブル８００で一元的にストレージプールとして管理されている。デバイス管理テーブル８００は、管理計算機３００が有するメモリに格納される。デバイス管理テーブル８００には、記憶装置４００の論理デバイスのデバイス識別子、容量、コスト及び使用している計算機２００の対応関係を示す情報が登録されている。コストは管理者によって設定される。例えば、性能が高い論理デバイスのコストを高に設定する。使用計算機は、論理デバイスを使用している計算機、の識別子であり、論理デバイスを使用している計算機がない場合には、「なし」である。
【００５６】
図７は、ネットワークゾーンメンバ管理テーブル８１０及びネットワークゾーン管理テーブル８２０を示す図である。ネットワークゾーンメンバ管理テーブル８１０には、記憶装置４００や計算機２００が有するファイバーチャネルポート等のポートが、どのネットワークに所属しているかを示す情報が登録されている。ここで、同一のネットワーク識別子が割当てられているポートは、同一のネットワークに属していることを表す。同一のネットワークに属しているポート間でのみ、互いに通信することができる。このテーブルは、管理計算機３００にて管理され、管理計算機３００にて定期的に実行される使用容量監視処理３０００から実行される容量回収処理１０００にて、２つのポート間で通信ができるかを判断するときに使用する。
【００５７】
ネットワークゾーン管理テーブル８２０には、ネットワーク識別子とネットワーク名との対応を示す情報が登録されている。例えば、ネットワーク識別子１に対応するネットワーク名は、「ＦＣ１」である。
【００５８】
図８は、ストレージポート管理テーブル８３０及び計算機ポート管理テーブル８４０を示す図である。ストレージポート管理テーブル８３０には、記憶装置４００に対応する識別子、記憶装置４００が有するチャネルアダプタ５００に対応するチャネルアダプタ番号、及びストレージポート識別子が登録されている。ストレージポート管理テーブル８３０は、管理計算機３００にて管理され、管理計算機３００にて定期的に実行される使用容量監視処理３０００から実行される容量回収処理１０００にて、ストレージポート識別子からポートを有するチャネルアダプタ５００および記憶装置４００を検索するときに使用される。
一方、計算機ポート管理テーブル８４０には、計算機２００を示す計算機識別子と計算機ポート識別子が登録される。計算機ポート管理テーブル８４０は、管理計算機３００にて管理され、管理計算機３００にて定期的に実行される使用容量監視処理３０００から実行される容量回収処理１０００にて、計算機２００が有するポートに対応する識別子を取得するときに使用される。
本発明においては、定期的にデータ量（論理デバイスの使用容量）を取得し、データに設定される下限確保割合及び上限確保割合から算出される下限確保容量及び上限確保容量とデータに割当てられている論理デバイスの容量を比較し、論理デバイスの容量が下限確保容量と上限確保容量との間にない場合に、論理デバイスを変更する。本実施例では、３週間ごとに使用容量監視処理を実行する。
【００５９】
図９は、管理計算機３００にて定期的に実行される使用容量監視処理３０００の流れを示す図である。この処理を行なうことで、計算機に割当てられている容量が適切であるかを判定する。さらに、適切でない場合には容量回収処理１０００によって、記憶装置４００の論理デバイスを再割当てする。これにより、計算機システム１の容量割当てを最適化する。なお、使用容量監視処理３０００は、管理計算機３００内メモリにロードされた管理プログラムを制御部が実行することによりその機能が実現される。また、上記管理プログラムは、必要なときに、管理計算機３００で読取可能な記憶媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、サーバー等）又は、ネットワーク又はネットワーク上を伝搬する搬送波といった管理計算機３００が利用可能な通信媒体を介して、導入されてもよい。さらに、使用容量監視処理３０００の機能の一部又は全部をハードウェア（ＬＳＩ等）によって実現してもよい。
【００６０】
管理計算機３００は、データ管理テーブル９００にてデータ識別子で管理されている監視対象データを使用している計算機２００からネットワーク７０を介して、監視対象データに関する情報である使用容量（データ容量）、最高使用容量（最高データ容量）、最低使用容量（最低データ容量）、リード回数、ライト回数を取得し、取得時刻と前回取得時刻からの経過時間（取得期間）とともに使用容量管理テーブル９１０に格納する（ステップ３０１０）。
【００６１】
監視対象データについて使用容量管理テーブル９１０の使用容量、最高使用容量、最低使用容量及びライト回数を参照し、過去から現在に至るまで使用容量、最高使用容量、最低使用容量が同じ値かつライト回数が０である（ステップ３０１４）場合（データ更新なし）、監視対象データに対応するデータ管理テーブル９００のアプリケーション種類を「アーカイブ」とし、下限確保割合を１００、上限確保割合を１０５とする。（ステップ３０１５）
ステップ３０１４にて、データ更新なしでない場合、管理計算機３００は、現在の使用容量と過去の使用容量から将来の使用容量を予測する（ステップ３０２０）。
【００６２】
本実施例では、ステップ３０１０で取得した最新の使用容量と前回取得した使用容量から、次に使用容量監視処理３０００が実行される時点の使用容量を線形外挿して、予想使用容量を取得する。
【００６３】
好ましい実装形態においては、より多くの過去のデータを用いて使用容量の予測を行なうことにより予測の精度を向上させることができる。また、過去のデータを用いて算出した予想使用容量が、使用容量管理テーブル９１０の最高使用容量の最大値よりも小さい場合には、予想使用容量を前記最高使用容量の最大値とすることもできる。
【００６４】
また、使用容量の増減が激しく、予測の精度が期待できない場合には、最新の使用容量を予測使用容量にしてもよく、データ管理テーブル９００の容量回収可否を不可に変更することにより、論理デバイスを変更しないようにしてもよい。
【００６５】
次に、管理計算機３００は、データ管理テーブル９００から監視対象データに対応する下限確保割合及び上限確保割合を取得して、ステップ３０２０で算出した予想使用容量に乗ずることにより、下限確保容量及び上限確保割合を取得する（ステップ３０３０）。
【００６６】
監視対象データに割当てられている論理デバイスの容量とステップ３０３０で取得した上限確保容量とを比較し（ステップ３０４０）、論理デバイスの容量が上限確保容量以下である場合には、論理デバイスの容量を下限確保容量と比較する（ステップ３０５０）。論理デバイスの容量が下限確保容量以上である場合には、データ管理テーブル９００の対応する割当て状態を「適正」にする（ステップ３０９０）。
【００６７】
ステップ３０４０で論理デバイスの容量が上限確保容量より大きかった場合、もしくはステップ３０５０で論理デバイスの容量が下限確保容量より小さかった場合には、データ管理テーブル９００の対応する容量回収可否の値を参照し（ステップ３０６０）、容量回収可であれば容量回収処理１０００を実行する（ステップ３０７０）。
【００６８】
ステップ３０６０にて容量回収不可である場合、データ管理テーブル９００の対応する割当て状態を、論理デバイスの容量が上限確保容量より大きいならば「過大」に、論理デバイスの容量が下限確保容量より小さいならば「過小」に変更して（ステップ３０８０）処理を終了する。
【００６９】
図１０は、使用容量監視処理３０００が、監視対象データに対する論理デバイスの容量割当てが不適切と判断したときに実行される容量回収処理１０００の流れを示す図である。この処理を行うことで、計算機２００に適切な容量の記憶装置４００の論理デバイスが割当てられ、元の論理デバイスがストレージプールに回収される。なお、容量回収処理１０００は、管理計算機３００内メモリにロードされた管理プログラムを制御部が実行することによりその機能が実現される。また、上記管理プログラムは、必要なときに、管理計算機３００で読取可能な記憶媒体（ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、サーバー等）又は、ネットワーク又はネットワーク上を伝搬する搬送波といった管理計算機３００が利用可能な通信媒体を介して、導入されてもよい。さらに、容量回収処理１０００の機能の一部又は全部をハードウェア（ＬＳＩ等）によって実現してもよい。
【００７０】
管理計算機３００は、デバイス管理テーブル８００から、上限確保容量以下かつ下限確保容量以上の容量であって、計算機に割当てられていない論理デバイスを検索しデバイス識別子を取得する（ステップ１０１０）。監視対象データのアプリケーション種類が「アーカイブ」である場合には、コストが低であることを検索条件に加える。好ましい実装形態においては、上限確保容量と下限確保容量の中間値の論理デバイスを記憶装置４００の未使用領域から作成することもできる。このような技術は、例えば特開２００２−２２２０６１号公報にて公開されている。
【００７１】
検索の結果、該当デバイスがある場合には、管理計算機３００は、ストレージポート管理テーブル８３０から、ステップ１０１０で取得した論理デバイスの識別子に対応するストレージポート識別子のリストを取得する（ステップ１０２０）。
【００７２】
更に、管理計算機３００は、データ管理テーブル９００から容量割当てが適切でないと判断されたデータに対応する計算機２００を取得し、計算機ポート管理テーブル８４０から、計算機２００に対応する計算機ポート識別子のリストを取得する（ステップ１０３０）。
【００７３】
又、管理計算機３００は、ネットワークゾーンメンバ管理テーブル８１０を用いて、ステップ１０２０で取得したストレージポート識別子に対応するネットワーク識別子のリストを作成する。このとき重複するネットワーク識別子がある場合には、管理計算機３００は、重複するネットワーク識別子をリストから排除して１つにする（ステップ１０４０）。
【００７４】
その後、管理計算機３００は、ネットワークゾーンメンバ管理テーブル８１０を使って、ステップ１０３０で取得した計算機ポート識別子に対応するネットワーク識別子のリストを作成する（ステップ１０５０）。
【００７５】
管理計算機３００は、その後、ステップ１０４０で作成したネットワーク識別子のリストとステップ１０５０で作成したネットワーク識別子のリストを比較する（ステップ１０６０）。
【００７６】
双方のリストに同一のネットワーク識別子がある場合、管理計算機３００は、ステップ１０２０で取得したストレージポート識別子のリストから、ステップ１０６０で一致したネットワーク識別子に対応するストレージポート識別子を、及びステップ１０３０で取得した計算機ポート識別子のリストから、ステップ１０６０で一致したネットワーク識別子に対応する計算機ポート識別子を取得する（ステップ１０６５）。
【００７７】
管理計算機３００は、ステップ１０６５で取得したストレージポート識別子を使用して、ストレージポート管理テーブル８３０から、ストレージ装置識別子とチャネルアダプタ番号を取得する（ステップ１０７０）。更に管理計算機３００は、ステップ１０７０で取得したストレージ装置識別子に対応する記憶装置４００のストレージアクセス制御テーブル７００に、ステップ１０６５で取得したストレージポート識別子、計算機ポート識別子及びステップ１０７０で取得したチャネルアダプタ番号を追加する。具体的には、管理計算機３００は、ストレージアクセス制御テーブル７００へのエントリ追加の際に、記憶装置へ追加の指示を出す（ステップ１０８０）。
【００７８】
次に管理計算機３００は、前記計算機２００に対して、容量割当てが不適切と判断された論理デバイス（旧デバイス）に格納されているデータを、ステップ１０１５で検索しステップ１０８０で前記計算機２００からアクセスできるようにした論理デバイス（新デバイス）にコピーする（ステップ２０１０）。
このデータのコピーは、計算機２００でのコピーコマンドによって実行することができる。計算機２００でのコピーは、ファイルのコピーによって行なわれるため、完了するのは長時間を要し、計算機２００の負荷を上げてしまう。計算機２００の負荷を上げることができない場合には、管理計算機３００にて、ファイルをコピーすることによって旧デバイスから新デバイスにデータをコピーすることもできる。旧デバイスから新デバイスにデータを完全にコピーするためには、旧デバイスに対する書き込みを禁止する必要があるため、業務が停止し旧デバイスに対するライトが発生しない時間（例えば夜間）に実行する必要がある。
【００７９】
旧デバイスに格納されるデータに対するライト及びライトを長時間停止させることができない場合もしくは計算機２００および管理計算機３００に負荷をかけることができない場合には、記憶装置４００において論理デバイス間でデータコピーを行なう機能を使用してデータコピーを行なうことができる。このような記憶装置４００は、米国特許５、０５１、８８７にて開示されている。旧デバイスは、新デバイスよりも容量が大きく、旧デバイスは新デバイスよりもブロック数が多い場合、新デバイスの最大ＬＢＡより大きいＬＢＡの旧デバイスのブロックに保存されているデータは、新デバイスにコピーできない。これらのブロックを使用されていない状態にし、データを失うことなく旧デバイスのパーティションを縮小し、新デバイスのブロック数と同じブロック数をもつパーティションに縮小した後、記憶装置４００のデータコピー機能を利用して旧デバイスから新デバイスにデータをコピーする。パーティションの縮小方法は、米国特許５、６７５、７６９などで開示されている。コピーが終了したら、管理計算機３００は、容量割当てが不適切と判断された論理デバイスを有する記憶装置４００のストレージアクセス制御テーブル７００から、前記論理デバイスに対応するエントリを削除する（ステップ２０２０）。
【００８０】
さらに管理計算機３００は、データ管理テーブル９００の前記データに対応するデバイス識別子、容量を更新し、割当て状態を「適正」にする。さらに、デバイス管理テーブル８００の容量割当てが不適切と判断された論理デバイスの使用計算機をなしに設定し、新しく割当てられた論理デバイスの使用計算機をステップ１０３０で取得した計算機に更新して処理を終了する。
ステップ１０１５で、該当デバイスがなかった場合、もしくは、ステップ１０６０で、一致するネットワーク識別子が見つからなかった場合、データ管理テーブル９００の割当て状態を、ステップ３０４０で論理デバイスの容量が上限確保容量より大きかった場合には「過大」に、ステップ３０５０で論理デバイスの容量が下限確保容量より小さかった場合には「過小」に変更して（ステップ１０９０）処理を終了する。
【００８１】
本発明によれば、管理計算機３００により、データに割当てられている記憶装置４００の論理デバイスの容量が監視され、割当て容量が過大もしくは過小である場合には、論理デバイスが変更される。このため、計算機システム１における記憶装置４００の論理デバイスの割当て状態が自動的に最適化され、容量を有効に活用することができるようになる。
【００８２】
【発明の効果】
本発明によると、余計に割当てられている記憶領域を別の計算機に利用可能にするためにストレージプールに回収することにより、資源の有効活用を図る管理方法及び管理プログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態における計算機システムの構成図。
【図２】本実施形態のアクセス制御テーブルの内容を示す図。
【図３】本実施形態の管理計算機におけるＧＵＩを示す図。
【図４】本実施形態のデータ管理テーブル、加算確保容量及び加算確保巾管理テーブルの内容を示す図。
【図５】本実施形態の使用容量管理テーブルの内容を示す図。
【図６】本実施形態のデバイス管理テーブルの内容を示す図。
【図７】本実施形態のネットワークゾーンメンバ管理テーブル及びネットワークゾーン管理テーブルの内容を示す図。
【図８】本実施形態のストレージポート管理テーブル及び計算機ポート管理テーブルの内容を示す図。
【図９】本実施形態の使用容量監視処理の手順を示す図。
【図１０】本実施形態の容量回収処理の手順を示す図。
【符号の説明】
１…計算機システム
５０…ファイバーチャネルスイッチ
６０…ＩＰネットワーク
７０…管理用ＩＰネットワーク
２００…計算機
３００…管理計算機
４００…ストレージ装置
【図１】
2005038071.tif 000003
【図２】
2005038071.tif 000004
【図３】
2005038071.tif 000005
【図４】
2005038071.tif 000006
【図５】
2005038071.tif 000007
【図６】
2005038071.tif 000008
【図７】
2005038071.tif 000009
【図８】
2005038071.tif 000010
【図９】
2005038071.tif 000011
【図１０】
2005038071.tif 000012