(57)【要約】【課題】  高性能と大容量を兼ね備えた低価格の階層ストレージシステムを提供する。【課題を解決するための手段】  複数の計算機に接続されるファイルサーバと、該ファイルサーバに接続される第一のストレージ装置と、該第一のストレージ装置に接続される第二のストレージ装置とを有するストレージシステムであって、第二のストレージ装置は第二のボリューム、第一のストレージ装置は第一のボリュームと上記第二のボリュームを自装置のボリュームとして仮想化した仮想ボリュームとを有し、上記ファイルサーバは、第一のボリュームを第一のディレクトリとしてマウントし、前記仮想ボリュームを第二のディレクトリとしてマウントし、上記第二のディレクトリ内の予め定められたファイルを、第一のディレクトリへコピーする。【選択図】  図１
2008293149.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機と、
前記複数の計算機に接続されるファイルサーバと、
前記ファイルサーバに接続され、第１のボリュームを有する第一のストレージ装置と、
前記第一のストレージ装置に接続され、第２のボリュームを有する第二のストレージ装置と、
前記ファイルサーバ、前記第一のストレージ装置、及び前記第二のストレージ装置に接続される管理装置を有するストレージシステムであって、
前記第一のストレージ装置は、前記第２のボリュームを自装置のボリュームとして仮想化した仮想ボリュームを有し、
前記ファイルサーバは、前記管理装置の指示に基づき、
前記仮想ボリュームを第二のディレクトリとしてマウントし、
予め定められた第一のタイミングで、前記第一のボリュームを第一のディレクトリとしてマウントし、
前記第二のディレクトリ内のファイルを、前記第一のディレクトリへコピーし、
予め定められた第二のタイミングにおいて、前記第一のディレクトリ内の予め定められたファイルを、前記第二のディレクトリへコピーする手段を有することを特徴とするストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、
前記管理装置は、
前記計算機の計算実行ジョブ情報を収集する収集手段と、
前記収集した計算実行ジョブ情報を解析する解析手段と、
前記解析した計算実行ジョブ情報に基づき、入出力されるファイルの特性を抽出する抽出手段と、
前記ファイルの特性に基づき、ファイルを格納する前記第一のボリュームを選択する選択手段を有することを特徴とするストレージシステム。
【請求項３】
請求項２記載のストレージシステムであって、
前記抽出手段は、ファイルの特性としてファイルサイズを抽出し、
前記選択手段は、前記抽出されたファイルサイズが予め定められた値より大きい場合、予め定められたディスク数以上の数の磁気ディスク装置から構成された第一のボリュームを選択することを特徴とするストレージシステム。
【請求項４】
請求項２記載のストレージシステムであって、
前記抽出手段は、ファイルの特性としてファイル数を抽出し、
前記選択手段は、前記抽出されたファイル数が予め定められた値よりより多い場合、予め定められたボリューム数以上のボリュームを第一のボリュームとして選択することを特徴とするストレージシステム。
【請求項５】
請求項４記載のストレージシステムであって、
前記ファイルサーバは、選択された前記複数の第一のボリュームをそれぞれ別の前記第一のディレクトリとしてマウントし、前記第２のボリュームに格納されている複数のファイルを、前記複数の第一のディレクトリに分散してコピーすることを特徴とするストレージシステム。
【請求項６】
請求項１記載のストレージシステムであって、
前記ファイルサーバは、前記予め定められた第二のタイミングで、前記第一のディレクトリ内の予め定められたファイルを、前記第二のディレクトリへコピーした後、前記第一のディレクトリをアンマウントするアンマウント手段と、
アンマウントした前記第一のボリュームを他の計算のファイル格納用ボリュームとして提供するボリューム提供手段、とを有することを特徴とするストレージシステム。
【請求項７】
請求項１記載のストレージシステムであって、
前記ファイルの特性に基づき、ファイルを格納する前記第一のボリュームを選択する選択手段を有し、
前記選択手段は、前記第二のタイミングの所定時間前に、計算結果を出力するファイル格納用ボリュームとして、前記第一のボリュームとは異なる第三のボリュームを選択するし、
前記ファイルサーバは、前記第三のボリュームを第三のディレクトリとしてマウントすることを有することを特徴とするストレージシステム。
【請求項８】
請求項１記載のストレージシステムであって、
前記第一のタイミングにおいて、前記第一のボリュームを前記第一のディレクトリとしてマウントし、前記第二のディレクトリ内の予め定められたファイルを第一のディレクトリへコピーした後、前記第二のボリュームを構成する磁気ディスク装置の電源を切る手段を有することを特徴とするストレージシステム。
【請求項９】
請求項８記載のストレージシステムであって、
前記ファイルサーバは、前記計算機が、前記第一のディレクトリから所望のファイルを読み出した後、前記第一のボリュームをアンマウントする手段を有し、
当該ストレージシステムは、前記アンマウントされた第一のボリュームを構成する磁気ディスク装置の電源を切る手段を有することを特徴とするストレージシステム。
【請求項１０】
請求項１記載のストレージシステムであって、
前記第一及び第二のタイミングを決定するタイミング決定手段を有し、
当該タイミング決定手段は、前記第１のタイミングとして、前記管理装置から通知されるジョブの一つ前のジョブが実行に移ったタイミングを選択することを特徴とするストレージシステム。
【請求項１１】
請求項１記載のストレージシステムであって、
前記第一及び第二のタイミングを決定するタイミング決定手段を有し、
当該タイミング決定手段は、前記第１のタイミングとして、実行対象ジョブの一つ前のジョブのファイルのステージングが完了したタイミングを選択することを特徴とするストレージシステム。
【請求項１２】
請求項１記載のストレージシステムであって、
前記第一及び第二のタイミングを決定するタイミング決定手段を有し、
当該タイミング決定手段は、前記第１のタイミングとして、実行対象ジョブの実行予定時間より、ファイル格納用第一ボリュームの選定あるいは作成の処理に要する時間以上前のタイミングを選択することを特徴とするストレージシステム。
【請求項１３】
請求項１記載のストレージシステムであって、
前記第一及び第二のタイミングを決定するタイミング決定手段を有し、
当該タイミング決定手段は、前記第２のタイミングとして、実行対象ジョブの実行開始時間に、当該ジョブの計算時間を加えたタイミングを選択することを特徴とするストレージシステム。
【請求項１４】
複数の計算機と、
前記複数の計算機に接続されるファイルサーバと、
前記ファイルサーバに接続され、第１のボリュームと第３のボリュームを有する第一のストレージ装置と、
前記第一のストレージ装置に接続され、第２のボリュームを有する第二のストレージ装置と、
前記ファイルサーバ、前記第一のストレージ装置、及び前記第二のストレージ装置に接続される管理装置を有するストレージシステムであって、
前記第一のストレージ装置は、前記第二のボリュームを自装置のボリュームとして仮想化した仮想ボリュームを有し、
前記計算機は、当該計算機の主記憶に格納されたデータを、前記第三のボリュームに対して書込みあるいは読出し、前記ファイルサーバは、前記管理装置の指示に基づき、
前記仮想ボリュームを第二のディレクトリとしてマウントし、
予め定められた第一のタイミングで、前記第一のボリュームを第一のディレクトリとしてマウントし、
前記第二のディレクトリ内のファイルを、前記第一のディレクトリへコピーし、
予め定められた第二のタイミングにおいて、前記第一のディレクトリ内の予め定められたファイルを、前記第二のディレクトリへコピーする手段を有することを特徴とするストレージシステム。
【請求項１５】
請求項１４記載のストレージシステムであって、
前記管理装置は、前記計算機の計算実行ジョブ情報を収集する収集手段と、前記収集した計算実行ジョブ情報を解析する解析手段と、
前記管理装置から通知された前記計算実行ジョブ情報から、前記計算機内の計算に使用される主記憶容量と前記計算機内の主記憶内に格納されたデータを前記第三のボリュームに書き込む回数とに基づき、前記第三のボリュームの数と容量を計算する手段を備えることを特徴とするストレージシステム。
【請求項１６】
請求項１５記載のストレージシステムであって、
前記管理装置は、前記第１のストレージ装置内のボリュームの割り当てにおいて、まず前記第一のボリュームを割り当てた後、残りのボリュームを前記第三のボリュームとして割り当てることを特徴とするストレージシステム。
【請求項１７】
請求項１６記載のストレージシステムであって、
前記管理装置は、前記残りのボリュームの容量が、前記計算実行ジョブ情報から計算した第三のボリュームとして必要な総容量に足りない場合は、前記第三のボリュームに書き込む回数を再設定するように前記計算機へ指示することを特徴とするストレージシステム。
【請求項１８】
請求項１６記載のストレージシステムであって、
前記管理装置は、前記残りのボリュームの容量が、前記計算実行ジョブ情報から計算した第三のボリュームとして必要な総容量に足りない場合は、前記残りのボリュームの範囲内で第三のボリュームを割り当て、容量不足で計算の実行中に前記第三のボリュームにデータを書き込めなくなった場合は、最も古いデータを削除することを特徴とするストレージシステム。
【請求項１９】
請求項１６記載のストレージシステムであって、
計算実行開始後、前記ファイルサーバは前記第一のボリュームをアンマウントし、
前記管理装置は、前記アンマウントした第一のボリュームを前記第三のボリュームとして割り当てることを特徴とするストレージシステム。
【請求項２０】
請求項１９記載のストレージシステムであって、
前記管理装置は、計算終了前に、前記第三のボリュームを第一のボリュームとして割り当て替え、
前記ファイルサーバは、前記割り当て変えた第一のボリュームを前記第一のディレクトリとして再マウントすることを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機（以下「サーバ」とも言う）のデータを格納する記憶装置システム（以下「ストレージシステム」とも言う）、特に複数のディスク装置から構成されるストレージ装置複数台を階層構成とし、ファイル入出力のためにＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）を接続したストレージシステムにおける階層ストレージ装置間でのデータ移行と階層ストレージが提供するボリュームのＮＡＳが提供するディレクトリへの割り当て方法に関する。
【背景技術】
【０００２】
近年、ＨＰＣ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）向け計算機、所謂、スーパーコンピュータの計算能力の向上は目覚しく、今後数年でペタフロップス（Ｐｅｔａ  ＦＬＯＰＳ：Ｆｌｏａｔｉｎｇ  Ｏｐｅｒａｔｉｏｎ  Ｐｅｒ  Ｓｅｃｏｎｄ）級の計算性能を持つスーパーコンピュータ、約１０年後にはエクサフロップス（Ｅｘａ  ＦＬＯＰＳ）級の計算性能をもつスーパーコンピュータが登場するものと予測されている。それに伴って、スーパーコンピュータを利用して行う科学計算等の大規模計算の規模も大きくなり、スーパーコンピュータに入出力される個々のファイルのサイズもギガバイト（ＧＢ：Ｇｉｇａ  Ｂｙｔｅ）からテラバイト（ＴＢ：Ｔｅｒａ  Ｂｙｔｅ）超へと大きくなっていくことが予想される。したがって、スーパーコンピュータに接続されるストレージシステムに対しても、ペタバイト（ＰＢ：Ｐｅｔａ  Ｂｙｔｅ）からエクサバイト（ＥＢ：Ｅｘａ  Ｂｙｔｅ）級の容量が必要とされるようになると予測されている。また、ＴＢ級のファイルの入出力を高速に行う必要性から、ストレージ装置のＩ／Ｏ処理性能も、現状の１〜２桁程度の向上が必要になると考えられている。
【０００３】
従来、スーパーコンピュータ向けのストレージシステムでは、コストパフォーマンスの良いミッドレンジクラスのストレージ装置をスーパーコンピュータのノード数に見合う数だけ横に並べて、並列稼動させることにより、サーバの要求するＩ／Ｏ処理性能に見合うストレージのＩ／Ｏ処理性能を提供していた。
【０００４】
また、スーパーコンピュータ向けのストレージに要求される性能要件はさまざまで、サイズの大きいファイルを高速に入出力するために高いシーケンシャル性能が要求されたり、多数のファイルを同時に入出力するために高いトランザクション性能が要求されたりする。
【０００５】
このような性能要件に対応するために、計算機やアプリケーションが要求する性能に応じてファイルを格納するボリュームを振り分けるという技術が特許文献１に開示されている。その方法は、業務アプリケーション毎に、そのアプリケーションのファイルの格納要件(ファイルを格納するボリュームに要求する性能や信頼性等の要件)を予め決めておき、さらに、ストレージ装置側では予め自身が有するファイル格納用ボリュームの性能等の仕様のテーブルを有しておき、アプリケーションの格納要件毎にファイル単位で上記テーブルを参照して格納先ボリュームを振り分けるという方法であった。
【０００６】
【特許文献１】特開２００４−７０４０３
【発明の開示】
【発明が解決しようとする課題】
【０００７】
スーパーコンピュータ向けのストレージシステムは、サイズの大きいファイルや多数ファイルの入出力を高速に行うための高性能、かつ、大容量のシステムを低価格で構成することが要求されている。
【０００８】
しかし、今後、必要となるＰＢ〜ＥＢ級の容量の大規模なシステムを、従来のミッドレンジクラスのストレージ装置を複数台横に並べて構成する方法では、必要とされる性能を実現するためには、数百台から千台以上のミッドレンジクラスのストレージ装置が必要となり、低価格のシステムを提供することが難しいという問題があった。
【０００９】
また、スーパーコンピュータ向けのストレージシステムに対するさまざまな性能要件に対応する方法として、特許文献１に開示されている従来技術で対処しようとすると以下の課題があった。すなわち、従来技術で、個々のファイルの特性に合った格納用ボリュームに振り分けてファイルを格納することにより、ファイルの入出力の高速化を図ろうとした場合、スーパーコンピュータで実行される科学計算等のプログラムで入出力に使われるファイルの種類は多種多様であるため、計算毎に予めファイルの格納用ボリュームに対する性能や信頼性の必要要件を決めておくことは難しいという問題があった。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本発明では、複数の計算機に接続されるファイルサーバと、上記ファイルサーバに接続される第一のストレージ装置と、第一のストレージ装置に接続される第二のストレージ装置と、上記ファイルサーバ、第一のストレージ装置、及び第二のストレージ装置に接続されるストレージ管理装置からなるストレージシステムであって、上記第一のストレージ装置は、自装置内の磁気ディスク装置上に形成された第一のボリュームを有しており、上記第二のストレージ装置は、自装置内の磁気ディスク装置上に形成された第二のボリュームを有しており、上記第一のストレージ装置は、上記第二のボリュームを自装置のボリュームとして仮想化した仮想ボリュームを有しており、上記ファイルサーバは、上記仮想ボリュームを第二のディレクトリとしてマウントしており、予め定められた第一のタイミングにおいて、上記第一のボリュームを第一のディレクトリとしてマウントし、上記第二のディレクトリ内の予め定められたファイルを、上記第一のディレクトリへコピーし、予め定められた第二のタイミングにおいて、上記第一のディレクトリ内の予め定められたファイルを、上記第二のディレクトリへコピーする。
【００１１】
そして、上記ストレージ管理装置は、上記計算機の計算実行ジョブ情報を収集する手段と、上記計算実行ジョブ情報を解析する手段と、上記第一及び第二のタイミングを決定する手段を備えている。
【００１２】
また、上記ストレージ管理装置は、上記計算実行ジョブ情報から、計算のために入出力されるファイルの特性を抽出する手段と、ファイルを格納する上記第一のボリュームを選択する手段を備え、上記ファイルサーバは、選択された上記第一のボリュームを上記第一のディレクトリとしてマウントする。ここで、上記ファイルを格納する上記第一のボリュームを選択する手段は、ファイルサイズが予め定められた第一の値より大きい場合は、予め定められた第二の値以上の数の磁気ディスク装置から構成された第一のボリュームを選択する。
【００１３】
また、上記ファイルを格納する上記第一のボリュームを選択する手段は、ファイル数が予め定められた第三の値より多い場合は、予め定められた第四の値以上の数のボリュームを選択し、上記ファイルサーバは、選択された上記複数の第一のボリュームをそれぞれ別個の上記第一のディレクトリとしてマウントし、複数のファイルを、上記複数の第一のディレクトリに分散してコピーする。
【００１４】
さらに、上記ファイルサーバは、上記予め定められた第二のタイミングにおいて、上記第一のディレクトリ内の予め定められたファイルを、上記第二のディレクトリへコピーした後、上記第一のディレクトリをアンマウントし、アンマウントした上記第一のボリュームを他の計算のファイル格納用ボリュームとして提供する。
【００１５】
その他、本願が開示する課題、及びその解決方法は、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【００１６】
本発明によれば、スーパーコンピュータ向けに要求される高性能と大容量の両方を兼ね備えたストレージシステムを最小限のストレージ装置台数で提供することが可能となる。
【発明を実施するための最良の形態】
【００１７】
図１は、第一の実施形態のストレージ装置を含むシステムの構成例を示す図である。計算機システム１は、ストレージシステム２、ＩＰスイッチ１６、計算機１４、及び計算機管理サーバ１８を有する。また、ストレージシステム２は、ファイルサーバ１３、第一階層ストレージ装置１１、第二階層ストレージ装置１２、ファイバチャネル（ＦＣ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）スイッチ１７、及びストレージ管理サーバ１９を有する。
【００１８】
図１に示すように、ＩＰスイッチ１６を介してファイルサーバ１３と計算機１４を接続することにより、ストレージシステム２と計算機１４は接続されている。また、計算機管理サーバ１８とストレージ管理サーバ１９は直接接続、またはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して互いに接続される。さらに、ストレージ管理サーバ１９と、ファイルサーバ１３、第一階層ストレージ装置、及び第二階層ストレージ装置間は直接接続、またはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して互いに接続される。
【００１９】
第一階層ストレージ装置１１は、ファイルサーバ１３に直接接続される。接続インターフェースとしては、ファイバチャネル、ｉＳＣＳＩ等のブロックデータを送るプロトコルのインターフェースを用いるのが一般的である。ここで、第一階層ストレージ装置１１はスイッチを介してファイルサーバ１３に接続されていても問題ない。
【００２０】
第二階層ストレージ装置１２は、ＦＣスイッチ１７を介して第一階層ストレージ装置１２に接続される。接続インターフェースとしては、ファイバチャネル以外にｉＳＣＳＩ等のブロックデータを送るプロトコルのインターフェースを用いても問題ない。
【００２１】
第一階層ストレージ装置１１は、ファイルサーバ１３が入出力処理を行うファイルを格納するためのファイル格納用第一ボリューム５１を有する。第二階層ストレージ装置１２は、ファイルサーバ１３が入出力処理を行うファイルを格納するためのファイル格納用第二ボリューム５２を有する。また、第一階層ストレージ装置１１は、第二階層ストレージ１２が有するボリュームを当該第一階層ストレージ装置１１が計算機１４に提供するボリューム、ファイル格納用仮想ボリューム６１として仮想的に提供する仮想化機能を有する。
【００２２】
図２に第一階層ストレージ装置１１の構成の一例を示す。コントローラ３１は、ファイルサーバ３、あるいは計算機１４等の上位装置からのデータの書き込み／読み出しアクセスを制御するチャネルＩＦ(インターフェース)部３２、複数のハードディスク４２に接続され、ハードディスク４２へのデータの書き込み／読出しアクセスを制御するディスクＩＦ(インターフェース)部３３、ハードディスク４２への書き込み／読み出しデータを一時的に格納するキャッシュメモリ３４、及びチャネルＩＦ部３２、ディスクＩＦ部３３、及びキャッシュメモリ３４を接続する結合部３５を有する。結合部３５は、１つ以上のスイッチから構成されるのが一般的であるが、１本以上の共通バスから構成しても問題ない。
【００２３】
チャネルＩＦ部３２は上位装置からのデータの書き込み／読み出しアクセスを受けた際に、キャッシュメモリ３４との間のデータ転送を制御し、ディスクＩＦ部３３は、ハードディスク４２へのデータの書き込み／読出し時にキャッシュメモリ３４との間のデータ転送を制御する。このようなキャッシュメモリ３４を介したチャネルＩＦ部３２とディスクＩＦ部３３の間のデータのやり取りにより、上位装置からハードディスク４２へのデータの書き込み／読出しを行う。このような制御を行うため、チャネルＩＦ部３２、ディスクＩＦ部３３は１つ以上のプロセッサ(図示していない)を有する。このプロセッサには内部ＬＡＮ３７が接続される。さらに、ストレージ装置外部のストレージ管理サーバ１９が内部ＬＡＮ３７に接続される。
【００２４】
ここで、上述のコントローラ３１の構成は一実施例に過ぎず、構成を上記に限定するものではない。コントローラ３１は、計算機からのデータの書き込み／読み出し要求に応じてハードディスク４２へのデータの書き込み／読出しを行う機能を有していれば問題ない。
【００２５】
さらに、コントローラ３１はハードディスク４２の電源のオン／オフ(投入／遮断)を制御する電源制御部３６を有していても良く、その場合、電源制御部３６は内部ＬＡＮ３７に接続される。
【００２６】
ハードディスク搭載部４１は、複数のハードディスク４２と、個々のハードディスク３２へ電源を供給するハードディスク電源４３を有する。複数のハードディスク４２は複数台のハードディスク４２から構成されるＲＡＩＤグループ（Ｇｒ．）にグルーピングされる。
【００２７】
ここで、ハードディスク電源４３は、個々のハードディスク４２毎、またはＲＡＩＤ  Ｇｒ．毎に１個または２個(冗長構成を組む場合)程度設けても問題ない。
【００２８】
コントローラ３１内の電源制御部３６は、ハードディスク電源４３に接続され、電源のオン／オフの制御を行う。
【００２９】
ここで、電源制御部３６は、コントローラ３１の中ではなく、ハードディスク搭載部４１の中にあっても問題ない。また、電源制御部３６はストレージ管理サーバ１９に直接接続されていても問題ない。
【００３０】
図１の説明で述べたファイル格納用第一ボリューム５１は、複数台のハードディスク４２から構成されるＲＡＩＤグループ（Ｇｒ．）の領域上に形成される。
【００３１】
図３に、第二階層ストレージ装置１２の構成の一例を示す。コントローラ７１は、第一階層ストレージ装置１１等の上位装置を接続する計算機接続ポート７６、複数のハードディスク４２を接続するディスク接続ポート７８、ハードディスク４２への書き込み／読み出しデータを一時的に格納する共有メモリ７３、及びプロセッサ７２を有する。また、計算機接続ポート７６、ディスク接続ポート７８、プロセッサ７２、及び共有メモリ７３は結合部７４を介して接続される。結合部７４は、スイッチから構成されるのが一般的であるが、共通バスから構成しても問題ない。
【００３２】
プロセッサ７２は上位装置からのデータの書き込み／読み出しアクセスを受けた際に、計算機接続ポート７６と共有メモリ７３との間のデータ転送を制御するとともに、ハードディスク４２へのデータの書き込み／読出し時に、ハードディスク４２と共有メモリ７３との間のデータ転送を制御する。このような共有メモリ７３を介した計算機接続ポート７６とハードディスク４２の間のデータのやり取りにより、上位装置からハードディスク４２へのデータの書き込み／読出しを行う。
【００３３】
プロセッサ７２には内部ＬＡＮ７７が接続される。さらに、ストレージ装置外部のストレージ管理サーバ１９が内部ＬＡＮ７７に接続される。
ここで、上述のコントローラ７１の構成は一実施例に過ぎず、構成を上記に限定するものではない。コントローラ７１は計算機からのデータの書き込み／読み出し要求に応じてハードディスク４２へのデータの書き込み／読出しを行う機能を有していれば問題ない。
【００３４】
さらに、コントローラ７１はハードディスク４２の電源のオン／オフ(投入／遮断)を制御する電源制御部７５を有していても良く、その場合、電源制御部７５は内部ＬＡＮ３７に接続される。
【００３５】
ハードディスク搭載部４１については、図２で示した第一階層ストレージ装置の構成と同様である。
【００３６】
図１の説明で述べたファイル格納用第二ボリューム５２は、複数台のハードディスク４２から構成されるＲＡＩＤグループ（Ｇｒ．）の領域上に形成される。
【００３７】
図２、図３において第一階層ストレージ装置１１、第二階層ストレージ装置１２の構成について、一般的な構成についてそれぞれ述べたが、それらは上記した構成に限定されるものではない。第一階層ストレージ装置１１として要求されるＩ／Ｏ処理性能としては、第二階層ストレージ装置１２を上回るＩ／Ｏ処理性能を有する装置であれば良い。また、第二階層ストレージ装置１２として要求される仕様としては、上記計算機が必要とする容量を、第一階層ストレージ装置１１に比べて少ない台数のハードディスクで実現できる装置であればよい。
【００３８】
図７に、計算機管理サーバ１８及びストレージ管理サーバ１９の機能を示す。
【００３９】
計算機管理サーバ１８は、計算機１４で実行するＪＯＢを管理するＪＯＢ管理部２１、計算機にＪＯＢの実行を依頼するユーザを管理するユーザ管理部２２、計算機で実行されるＪＯＢ情報をストレージ管理サーバ１９に提供するインターフェースとなる情報提供部２３を有する。
【００４０】
なお、本実施例中の構成要素を説明する際に用いる、ＪＯＢ管理部等の各機能部は、ソフトウェアにより論理的な構成されてもよいし、専用LSI等によりハードウェア的に構成されてもよいし、さらには、ソフトウェアとハードウェアの組み合わせにより実現されても良い。なお、論理的に構成される場合、各機能部は、メモリ上に格納され、プロセッサに実行されることで、その機能が実現される。
【００４１】
ＪＯＢ管理部２１は、投入ＪＯＢ管理部２０１、ＪＯＢスケジューラー２０２、終了ＪＯＢ管理部２０６を有する。また、ＪＯＢスケジューラー２０２は、待ちキュー２０３と実行キュー２０５を有する。
【００４２】
ユーザは、計算機１４で計算ＪＯＢを実行するために、図９に示す計算実行スクリプト２３４を作成し、計算機管理サーバ１８に入力する。その入力は、例えば、計算機管理サーバ１８が備えるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）やＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｓｅ）により、計算機管理サーバ１８に直接か、計算機管理サーバに接続されるクライアント端末を通して行う。
【００４３】
入力された計算実行スクリプト２３４は、投入ＪＯＢ管理部２０１で管理され、待ちキュー２０３内に優先度の高い順に用意されているキュー１：２１１、キュー２：２１２、キュー３：２１３、あるいはキュー４：２１４のいずれかに振り分けられる。その振分け方、つまり、優先度の付け方は、例えば、計算実行スクリプト２３４の中に記述された、計算時間の長短、使用する主記憶容量の多少等で判断することや、ユーザが計算実行スクリプト２３４の中で明示的に優先順位を指定すること等がある。ＪＯＢは各キューに並んだ順番に実行される。また、キュー１〜４のＪＯＢの実行順は、優先度の高いキュー１から順次実行される。優先度の高いキューのＪＯＢが実行に入った後、計算機１４のＣＰＵリソースに空きがあり、次の優先度のＪＯＢが実行可能であるならば、そのＪＯＢについても空いているＣＰＵ上で並行して実行する。その次の優先度のＪＯＢについても同様である。実行中のＪＯＢは実行キュー２０５の中で管理され、ＪＯＢが終了すると終了ＪＯＢ管理部２０６へ管理が移される。
【００４４】
ユーザ管理部２２は、計算機管理サーバ１８や、計算機管理サーバ１８に接続されたクライアント端末から計算機１４を利用するユーザの管理、すなわち、ユーザ認証やユーザが計算に使用するファイルを格納するためのユーザディレクトリの管理を行う。この管理のために、例えば、ＮＩＳ（Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅ）やＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）等のプロトコルが用いられる。
【００４５】
また、情報提供部２３は、ストレージ管理サーバ１９に対して各ＪＯＢの計算実行スクリプト２３４とＪＯＢの実行順序を示す情報、及び計算機１４を使用するユーザ及びそのユーザが使用するユーザディレクトリの情報を送付する。
【００４６】
ストレージ管理サーバ１９は、計算機管理サーバ１８の情報提供部２３から計算機１４で実行されるＪＯＢ情報を受け取る情報収集部２４と、ＪＯＢ情報をストレージ装置で利用するために解析を行う情報解析部２５、解析した情報を元に、ファイルサーバ１３が管理するユーザディレクトリへの第一階層ストレージ装置１１、第二階層ストレージ装置１２が有するボリュームのマウント／アンマウントや、そのユーザディレクトリ間でのファイルのステージング／デステージングの管理を行うボリューム管理部２６、ファイルサーバ１３が取り扱うユーザディレクトリを管理するユーザエリア管理部２７、ファイルサーバ１３、第一階層ストレージ装置１１、及び第二階層ストレージ装置１２へボリュームの割り当てやボリュームのマウント／アンマウントを指示するストレージ管理部２８を有する。
【００４７】
次に、ユーザが計算を実行する際のユーザディレクトリの管理手順を図４乃至６を用いて説明する。
【００４８】
図４は、ユーザが計算を開始する前のユーザディレクトリとボリュームの関係の一例を示している。ファイルサーバ１３は、ストレージ管理部２８の指示に基づいて、ファイル格納用仮想ボリューム６１をユーザディレクトリであるファイル格納用ディレクトリ８１としてマウントする。
【００４９】
第一階層ストレージ装置１１内のコントローラ３１は、ストレージ管理部の指示に基づいて、第二階層ストレージ装置１２内のファイル格納用第二ボリューム５２を、第一階層ストレージ装置１１内のファイル格納用仮想ボリューム６１として仮想化し、第一階層ストレージ装置１１が管理する。こうすることにより、第一階層ストレージ装置１１が第二階層ストレージ装置１２のボリュームも一括して管理することができるため、ボリューム管理を簡単化することができる。
【００５０】
ここで、ファイル格納用第二ボリューム５２を、直接、ファイル格納用ディレクトリ８１としてマウントしてもよい。
【００５１】
ディレクトリ・ツリー９１に、ユーザディレクトリとファイル格納用第二ボリューム５２との関係の一例を示す。ここでは、ｕｓｒ０下のディレクトリｄｉｒ０，ｄｉｒ１と、ｕｓｒ１下のディレクトリｄｉｒ０，ｄｉｒ１，ｄｉｒ２毎に別個のファイル格納用第二ボリューム５２を割り当てている。
ここで、上記のユーザディレクトリとファイル格納用第二ボリューム５２との対応関係（マッピング）は、ストレージ管理部１９内のユーザエリア管理部２７で管理される。またこの対応関係は、ストレージ管理サーバ１９に接続されるクライアント端末からユーザが要求を出した際に、作成、または変更される。
【００５２】
図６は、本発明の階層ストレージシステムでのファイルのステージング／デステージングの手順を示している。まずステップ５０１で、ストレージ管理サーバ１９の情報収集部２４は、計算機管理サーバ１８の情報提供部２３から待ちキュー２０３内にある全てのＪＯＢの計算実行スクリプト２３４と、ＪＯＢの実行順序を示す情報を受け取る。
【００５３】
ここで、ＪＯＢスケジューラー２０２がＪＯＢの実行順を制御する方法としては、（１）ＪＯＢの実行が終わると次の順番のＪＯＢを実行に移す方法、（２）投入ＪＯＢ管理部２０１に複数のＪＯＢを投入し、投入された複数のＪＯＢの計算実行スクリプト２３４内に記述された計算時間から各ＪＯＢの実行開始時間と実行終了時間をスケジューリングし、そのスケジュールに基づいて順番にＪＯＢを実行する方法がある。
【００５４】
したがって、（１）の場合、情報収集部２４は、待ちキュー２０３内に並んでいる全ての計算実行スクリプト２３４とその計算実行スクリプト２３４が待ちキュー２０３内のどのキューの何番目のＪＯＢかというＪＯＢの実行順序を示す情報を情報提供部２３から受け取る。そして、待ちキュー２０３内のキュー（キュー１〜４）毎に、計算実行スクリプト２３４に順番付けを行う。ここで、この順番付けを情報提供部２３で実施して、その結果を情報収集部２４へ送っても問題ない。
【００５５】
また（２）の場合、情報収集部２４は、計算機管理サーバ１８がスケジューリングした各ＪＯＢの実行開始時間と実行終了時間を示す表を情報提供部２３から受け取る。
【００５６】
次にステップ５０２で、計算実行スクリプト２３４の解析を行う。
【００５７】
その解析について説明する前に、計算機１４で実行される実行ジョブ(あるいは計算)の情報を記述した計算実行スクリプト２３４の一例を図９に示す。複数のユーザが計算実行スクリプト２３４を投入するので、図９では複数の計算実行スクリプトがあるイメージを示している。ファイルサーバ１３が管理するユーザディレクトリへの第一階層ストレージ装置１１、第二階層ストレージ装置１２が有するボリュームのマウント／アンマウントのスケジューリングや、そのユーザディレクトリ間でのファイルのステージング／デステージングのスケジューリング、ファイルサーバ１３が取り扱うユーザディレクトリを管理するためには、計算実行スクリプト２３４は少なくとも計算のパラメータや計算の実行結果を格納するディレクトリの情報３００を含む。
【００５８】
さらに、計算実行時間（ＣＰＵ  ＴＩＭＥ）３０１、計算繰り返し回数３０２、計算結果を出力する繰り返し回数間隔３０３を含むことが好ましい。これら情報により、計算機がファイルを出力する時間が正確に求めることが可能となる。
【００５９】
ここで、図９の計算実行スクリプトのフォーマットは一実施例に過ぎず、フォーマットを図のように限定するものではない。上記に述べた情報が少なくとも含まれていれば問題ない。
【００６０】
情報解析部２５では、各ＪＯＢの計算実行スクリプト２３４から、計算時間、入出力用ファイルのディレクトリ、入出力されるファイルの特性を抽出する。ここで、ファイルの特性とは、例えば、ファイルサイズ、ファイル数である。
【００６１】
次にステップ５０３で、ボリューム管理部２６において、ファイルの特性から、計算に使用するファイルを格納するためのファイル格納用第一ボリューム５１に必要な仕様を決定する。仕様の決定方法の例を以下に述べる。
【００６２】
まず１つの例としては、計算に使用するファイルサイズが予め定められたファイルサイズより大きい場合（例えば、ファイルサイズが１ＴＢ以上の場合）は、該計算で使用するボリュームを構成するハードディスクの数を、第一階層ストレージ装置１１で設定可能な最大のハードディスク数(例えば、１６台)とする。ここでは仮に、用意するファイル格納用第一ボリューム５１をｔｍｐ０としてそのボリュームを構成するハードディスクの数をｔｍｐ０の仕様として定める。
【００６３】
ファイルはボリュームを構成するハードディスク全てに跨って格納されるため、ボリュームを構成するハードディスクの数を増やすことにより、ファイルの読み出しの並列度を上げることができ、ファイルの読み出しのスループットが向上する。
【００６４】
他の例としては、ファイル数が予め定められた数より多い場合は、ファイル格納用第一ボリューム５１の数を、ファイル数毎に予め定められた数以上とする。例えば、ファイル数が１０００個以上の場合、ファイル格納用第一ボリューム５１の数をファイル数の１／１００に設定する。ここでは、仮にファイル格納用ボリューム５１の数を８個として、それをｔｍｐ１〜８とする。
【００６５】
これは、例えば１つのボリュームに全てのファイルを格納した場合、そのボリュームのファイルの読み出しスループットがネックとなるためである。ファイル数に応じて定められた複数のボリュームにファイルを分散して格納することにより、ファイルの読み出しスループットが向上する。
【００６６】
ここで、上記２つの例において各ボリューム（ｔｍｐ０〜８）の容量をそれぞれのボリュームに格納する全てのファイルの総サイズ以上にすることは言うまでもない。
【００６７】
次にステップ５０４で、ボリューム管理部２６において、ファイル格納用ディレクトリ８１とファイル格納用第一ボリューム５１（ｔｍｐ０〜ｔｍｐ８）の対応関係（マッピング）を決定する。
【００６８】
その関係の一例を、図５を用いて説明する。図４で説明した計算開始前のユーザ用のファイル格納用ディレクトリ８１とファイル格納用第二ボリューム５２の対応関係に、ファイル格納用第一ボリューム５１が加わる。ここでは、ファイル格納用第一ボリューム５１として、ｔｍｐ０〜８の関係が加わる。ディレクトリ・ツリー９２に示すように、それらはファイルサーバ１３により、ディレクトリｕｓｒ０の下のｔｍｐ０、ｕｓｒ１の下のディレクトリｔｍｐ１〜８としてそれぞれマウントされる。
【００６９】
すなわち、ｕｓｒ０が計算に使用する、ファイルサイズが予め定められたサイズより大きいファイルが、ファイル格納用第二ボリュームｕｓｒ０／ｄｉｒ０に格納されており、そのファイルを格納する第一階層ストレージ装置１１内のファイル格納用第一ボリューム５１としてｔｍｐ０がｖｄｉｒ０の下のディレクトリｔｍｐ０にマウントされる。
【００７０】
また、ｕｓｒ１が計算に使用するファイルは予め定められた数より多く、それらのファイルはファイル格納用第二ボリュームｕｓｒ１／ｄｉｒ０〜ｄｉｒ２に格納されており、そのファイルを格納する第一階層ストレージ装置１１内のファイル格納用第一ボリューム５１としてｔｍｐ１〜８が、ｖｄｉｒ０〜２の３つのディレクトリの下のｔｍｐ１〜８にマウントされる。
【００７１】
ここでは、ファイル格納用第二ボリュームをマウントしたディレクトリと、ファイル格納用第一ボリュームをマウントしたディレクトリの間で対応関係がはっきり分かるように、両者で同じファイルを格納している場合、ファイル格納用第二ボリュームの方がｄｉｒ０〜２としていた場合、対応する第一ボリュームの方のディレクトリをｖｄｉｒ０〜２とした。但し、両者の対応関係が分かるように管理されていれば、この例のようにディレクトリ名の付け方を工夫しなくても良い。
【００７２】
次にステップ５０５で、ボリューム管理部２６において、ステップ５０３で仕様を決定したファイル格納用第一ボリュームの選定／作成の時間、及びそのファイル格納用第一ボリュームをユーザディレクトリにマウントする時間をスケジューリングする。
【００７３】
上記のマウント／アンマウント時間の決め方は、ＪＯＢスケジューラー２０２がＪＯＢの実行順を制御することにより定められる。そして、このＪＯＢスケジューラー２０２がＪＯＢの実行順を制御する方法には、（１）ＪＯＢの実行が終わると次の順番のＪＯＢを実行に移す方法と、（２）投入ＪＯＢ管理部２０１に複数のＪＯＢを投入し、投入された複数のＪＯＢの計算実行スクリプト２３４内に記述された計算時間から各ＪＯＢの実行開始時間と実行終了時間をスケジューリングし、そのスケジュールに基づいて順番にＪＯＢを実行する方法がある。それらについて以下に説明する。
【００７４】
（１）の場合、キューの中にある対象となっているＪＯＢが計算に利用するファイルのステージング時間を計算し、さらにそのＪＯＢの一つ前のＪＯＢの計算所要時間をチェックする。ここで、ファイルのステージング時間は、ステージングするファイルの数、それぞれのファイルサイズと第二階層ストレージ装置１２から第一階層ストレージ１１へのデータ転送スループットから計算される時間に、ある程度余裕を見て、例えば計算した時間の１０％程度を加算した値とする。ステージングの時間が一つ前のＪＯＢの計算時間より短い場合は、マウント時間は決めず、一つ前のＪＯＢが実行に移ったら、実行を開始したという情報を計算機管理サーバ１８より、当該ボリューム管理部に通知してもらうようにする。ステージングの時間が一つ前のＪＯＢの計算時間より長い場合は、１つ前のＪＯＢのファイルのステージングが終了したら、ステージが終了したという情報を計算機管理サーバ１８より当該ボリューム管理部に通知してもらうようにする。この場合、一つ前のＪＯＢの計算所要時間によっては、その一つ前のＪＯＢが終了しても、該当のＪＯＢのファイルのステージングが終了していない場合がある。そうした場合、該当ＪＯＢは実行できない。このような状況を防ぐため、ストレージ管理サーバ１９は、各ＪＯＢに必要なファイルのステージングが終了しているか否かを示す情報を計算機管理サーバ１８に通知する。計算機管理サーバ１８では、上記ストレージ管理サーバ１９から送信されるステージング完了情報に基づき、各ＪＯＢの実行開始前に、そのＪＯＢの実行に必要なファイルのステージングが完了しているかどうかをチェックして、ステージングが完了していればＪＯＢを実行し、完了していなければステージングが完了した後にＪＯＢを実行するように制御する。
【００７５】
なお、アンマウントする時間は、該当ＪＯＢが実行に移された時間に該当ＪＯＢの計算時間を加えた時間とする。したがって、（１）の場合、アンマウントする時間は該当ＪＯＢの実行開始後に決定されることになる。
【００７６】
（２）の場合、ボリューム管理部は、計算機管理サーバ１８から受け取った前述の情報から各ＪＯＢの実行開始時間と実行終了時間を取得する。したがって、マウント開始時間は、ＪＯＢ実行開始時間の一定時間前に設定する。その一定時間は、ステージングするファイルの数、それぞれのファイルサイズと第二階層ストレージ装置１２から第一階層ストレージ１１へのデータ転送スループットから計算される時間に、例えば、計算した時間に、その１０％程度のマージンを加算した値とする。
【００７７】
アンマウント時間は、ＪＯＢ実行終了時間の一定時間後に設定する。その一定時間は、そのＪＯＢの計算結果を出力するために要する時間で、ファイルサイズ毎に第一階層ストレージ装置の書き込みスループットとファイルサイズから計算される値を元に予め定められた値とする。
【００７８】
次にステップ５０６で、指定時間(時刻を意味する)１になるまで待つ。（１）の場合、指定時間１は予め決められておらず、計算機管理サーバ１８から通知される該当ＪＯＢの一つ前のＪＯＢが実行に移ったタイミング、または該当ＪＯＢの一つ前のＪＯＢのファイルのステージングが完了したタイミングとなる。（２）の場合、指定時間１は、ステップ５０５で決定した時間より、ファイル格納用第一ボリュームの選定、あるいは作成の処理に要する時間以上前の時間となる。ここで、まず、必要とする仕様のボリュームが第一階層ストレージ装置５１内あるか否かを判断し、ある場合は“選定時間”、ない場合は、“作成処理に要する時間”が必要になる。
【００７９】
指定時間１になったら、ステップ５０７において、ボリューム管理部２６は、ストレージ管理部２８を介して、ステップ５０３で決定した仕様のファイル格納用第一ボリューム５１を選定、あるいは作成を、第一階層ストレージ装置１１に指示する。
【００８０】
次に、ストレージ管理部２８は、ステップ５０８でボリュームの選定あるいは作成の完了をチェックし、完了したらステップ５０９へ進む。
【００８１】
ステップ５０９では、ボリューム管理部２６は、ステップ５０４で決定したディレクトリ・ツリーに従い、ステップ５０７で選定／作成したファイル格納用第一ボリュームのユーザディレクトリへのマウントと該当ＪＯＢで使用するファイルのステージングを、ストレージ管理部２８を介してファイルサーバ１３へ指示する。そして、ファイルサーバ１３はマウントを実行し、マウントが完了した後、該当ＪＯＢで使用するファイルをステージングする。
【００８２】
図５で説明した例の場合、ｕｓｒ０／ｄｉｒ０のファイルをｕｓｒ／ｖｄｉｒ０／ｔｍｐ０へコピーすることでステージングされる。また、ｕｓｒ１／ｄｉｒ０のファイルをｕｓｒ１／ｖｄｉｒ０／ｔｍｐ１、２に分散して、ｕｓｒ１／ｄｉｒ１のファイルをｕｓｒ１／ｖｄｉｒ１／ｔｍｐ３〜６に分散して、ｕｓｒ１／ｄｉｒ２のファイルをｕｓｒ１／ｖｄｉｒ２／ｔｍｐ７、８に分散してコピーすることでステージングされる。
【００８３】
ステップ５１０で、ストレージ管理部２８はファイルサーバ１３からのステージング完了報告をチェックし、完了報告があったらステップ５１１へ進む。
【００８４】
ステップ５１１では、ストレージ管理部２８は、情報収集部２４を介して、該当ＪＯＢに必要なファイルのステージング完了を計算機管理サーバ１８へ通知する。
【００８５】
次にステップ５１２で、指定時間(時刻を意味する)２になるまで待つ。（１）の場合、先にも述べたように、指定時間２は該当ＪＯＢの実行後に決められ、該当ＪＯＢが実行に移された時間に該当ＪＯＢの計算時間を加えた時間とされる。ここで、指定時間２になってもＪＯＢが終了していない場合、例えば、計算に要した時間が予定よりも延びた場合、ファイルのデステージング及びボリュームのアンマウントを行うことができない。そのため、ＪＯＢの完了通知を計算機管理サーバ１８から受け取るようにする。この情報を元に、指定時間２になった際に、該当ＪＯＢが終了しているかどうかをチェックし、終了していない場合は、該当ＪＯＢの終了通知をストレージ管理サーバ１９が受け取るまでステップ５１３の実行を待つ。（２）の場合、指定時間２は、ステップ５０５で決定した時間となる。ここで、指定時間２になってもＪＯＢが終了していない場合は、（１）の場合と同様の処理を行う。
【００８６】
指定時間２になったら、ステップ５１３において、ストレージ管理部２８は、該当ファイルのデステージングをファイルサーバ１３へ指示し、ファイルサーバ１３は指示を受けデステージングを行う。すなわち、ステップ５０９で説明したコピー元ディレクトリをコピー先ディレクトリ、コピー先ディレクトリをコピー元として、該当ファイルをコピーする。そして、該当ファイルのデステージングが終了したら、ファイルサーバ１３が該当するファイル格納用第一ボリューム５１をユーザディレクトリからアンマウントし、図４に示す状態に、ユーザディレクトリを戻す。次にステップ５１４で、ストレージ管理部２８は、ファイルサーバ１３からのアンマウント完了報告をチェックし、完了報告を受けたらステップ５１５へ移る。
【００８７】
次にステップ５１５で、ストレージ管理サーバ１９は、アンマウントされたファイル格納用第一ボリュームを他のＪＯＢが使用するファイル格納用ボリュームのために開放する。この後は、ステップ５０６からステップ５１５の処理を繰り返す。
【００８８】
本実施形態によれば、計算機１４で実行されるＪＯＢが必要なときに、必要なファイルを第一階層ストレージ装置１１にステージングできるため、第一階層ストレージ装置１１の高性能を活かして計算機１４へのファイルの入出力を高速化することが可能となる。また、第一階層ストレージ装置１１の容量を最小限にすることが可能となり、ストレージシステムのコストを削減することができる。
【００８９】
本実施形態では、ＪＯＢファイル格納用第一ボリューム５１をユーザディレクトリとしてマウントした後、計算機１４でのＪＯＢ実行が終了し、出力されたファイルをデステージングするまでは、ファイル格納用第一ボリューム５１をアンマウントし、開放することはしない。
【００９０】
しかし、図６に示す手順において、ステップ５１１でストレージ管理サーバ１９が計算機管理サーバ１８へステージング完了通知をし、計算機１４が該当ファイルをユーザディレクトリから読み出した後、該当ディレクトリからファイル格納用第一ボリューム５１をアンマウントし、そのボリュームを他のＪＯＢが使用するファイル格納用第一ボリューム５１として確保し、他のユーザディレクトリにマウントしても良い。この場合、ボリュームをアンマウントしたユーザディレクトリを使用しているＪＯＢが終了する前に、改めて必要なボリュームを確保しそのボリュームを当該ユーザディレクトリにマウントすればよい。
【００９１】
また、入力ファイル用ディレクトリ及びボリュームと、出力用ディレクトリ及びボリュームを分離して用意しておき、入力用ボリュームは該当ＪＯＢの実行開始後、入力用ディレクトリからアンマウントし、そのボリュームは他のＪＯＢ用に開放しても良い。
【００９２】
また、指定時間１では入力用ディレクトリ及びボリュームのみ用意しておき、該当ＪＯＢの実行開始後は、入力用ディレクトリからアンマウントし、そのボリュームは他のＪＯＢ用に開放し、指定時間２の前に、出力用ボリュームを確保し、そのボリュームを出力用ディレクトリにマウントしても良い。
【００９３】
上記の制御をすることで、第一階層ストレージ装置１１に必要な容量をさらに削減することができ、ストレージシステム１の低コスト化が可能となる。
【００９４】
もし、指定時間２において、第一階層ストレージ装置１１の容量不足のために出力用ボリュームが確保できない場合は、当該ＪＯＢのファイルは、第二階層ストレージ装置１２の当該ＪＯＢのファイルを格納するファイル格納用第二ボリューム５２をマウントしたユーザディレクトリに直接書き込むことにより、第一階層ストレージ装置１１の容量不足を回避することが可能となる
また次に、本実施形態のストレージシステム２において、消費電力を下げる方法の例を図１０を用いて説明する。その方法では、実行ＪＯＢに関連するファイルを第二階層ストレージ装置１２と第一階層ストレージ装置１１の間で、ステージング、デステージングする時のみ第二階層ストレージ装置１２の関連するファイルが格納されているボリュームを構成するハードディスクの電源をＯＮにし、それ以外のとき、またファイルのステージング、デステージングを行わないボリュームを構成するハードディスクの電源をＯＦＦするという方法である。
【００９５】
図１０にその手順を示す。基本の処理の流れは図６に示す流れと同様である。異なるのは以下の点である。
【００９６】
まず、ステップ４１１（図６のステップ５０９に相当）の前に、ステップ４０９で、ストレージ管理サーバ１９は、第二階層ストレージ装置１２に対して、ステージングの対象となっているファイルを格納しているファイル格納用第二ボリュームを構成するハードディスクの電源をＯＮにする指示を出す。ストレージ管理サーバ１９は、ファイル格納用第二ボリュームとそのボリュームを構成するハードディスクの対応関係を示すテーブルを有している。
【００９７】
そして、ステップ４１０において、ストレージ管理サーバ１９は、第二階層ストレージ装置１２からのＨＤＤ電源ＯＮの完了報告をチェックし、完了報告を受けたら、ステップ４１１の処理へ移る。
【００９８】
また、ステップ４１３の後に、ファイルのステージングが完了したファイルが格納されているファイル格納用第二ボリューム５２を構成するハードディスクの電源を再びＯＦＦするよう、ストレージ管理サーバ１９は第二階層ストレージ装置１２に指示を出す。
【００９９】
次に、指定時間２になったら、ステップ４１６で、該当ＪＯＢに関連するファイル格納用第二ボリューム５２を構成するハードディスクの電源を再びＯＮするよう、ストレージ管理サーバ１９は第二階層ストレージ装置１２に指示を出す。
【０１００】
そして、ステップ４１７において、ストレージ管理サーバ１９は、第二階層ストレージ装置１２からのＨＤＤ電源ＯＮの完了報告をチェックし、完了報告を受けたら、ステップ４１８の処理へ移る。
【０１０１】
また、ステップ４２０の後に、ステップ４２１で、ファイルのデステージングが完了したファイルが格納されているファイル格納用第二ボリューム５２を構成するハードディスクの電源を再びＯＦＦするよう、ストレージ管理サーバ１９は第二階層ストレージ装置１２に指示を出す。その後、ステップ４０６からステップ４２１の処理を繰り返す。
【０１０２】
また、さらに、ステップ４１３の後、計算機１４が入力ファイルを読み込んだ後、当該ファイルが格納されていたファイル格納用第一ボリューム５１を構成するハードディスクの電源をＯＦＦするよう、ストレージ管理サーバ１９は第一階層ストレージ装置１１に指示を出しても良い。その場合、ステップ４１６の後、上記電源ＯＦＦしたハードディスクの電源を再びＯＮするよう、ストレージ管理サーバ１９は第一階層ストレージ装置１１に指示を出す。ストレージ管理サーバ１９は、ファイル格納用第一ボリュームとそのボリュームを構成するハードディスク”の対応関係を示すテーブルを有している。
【０１０３】
これにより、第二階層ストレージ装置１２のみのハードディスクの電源をＯＦＦする処理を行う場合に比べ、さらに消費電力を下げることが可能となる。
【０１０４】
次に、本発明の第二の実施形態について説明する。
【０１０５】
図８に、第二の実施形態のストレージ装置を含むシステムの構成例を示す。図８に示すシステムの構成は、以下の点を除いて、図１に示すシステムの構成と同様である。
【０１０６】
異なる点は、第一階層ストレージ装置１１がダンプ用ボリューム５３を有する点と、計算機１４とＦＣスイッチ１５を介して接続されている点である。
【０１０７】
本実施例のシステムでは、ＪＯＢの実行中に定期的に、計算機１４の中のＪＯＢ実行に使用されている全てのプロセッサの主記憶(プロセッサが計算中に使用するデータ)の内容をそのままブロックデータとして、ダンプ用ボリューム５３へ書き込む。この主記憶の内容をダンプ用ボリューム５３へ書き出すタイミングをチェックポイントと呼ぶ。このように、チェックポイント毎に計算に使用されているプロセッサの主記憶の内容をダンプ用ボリューム５３へ書き出しておくことによって、計算機の障害によりＪＯＢの実行がストップした場合、その直前のチェックポイントでダンプ用ボリューム５３に書き出した主記憶の内容を計算機１４の主記憶に読み込むことにより、その時点から計算を再開し継続することが可能となる。
【０１０８】
このような処理を行わない場合、計算機の障害によりＪＯＢの実行がストップした場合、最初から計算をやり直す必要があり、計算時間の無駄となる。
【０１０９】
この処理を行うシステムでは、第一階層ストレージ装置１１内に、計算機１４へのファイルの入出力用ボリューム（ファイル格納用第一ボリューム５１）の他に、ダンプ用ボリューム５３を用意する必要があるため、ダンプ用ボリュームがない場合に比べ多くの容量を必要とし、ストレージシステム１のコストアップの要因となる。これを防ぐために、以下に示すダンプ用ボリューム５３の割り当てを実施する。
【０１１０】
まず、ダンプ用ボリューム５３として確保するボリュームの数と容量は、前記計算機管理サーバ１８から、計算機１４内の計算に使用される主記憶容量と計算機１４の主記憶内に格納されたデータをダンプ用ボリューム５３に書き込む回数、すなわちチェックポイントの回数の情報を、ストレージ管理サーバ１９が受けとり、当該ストレージ管理サーバ１９がその情報を元に設定する。例えば、ダンプ用ボリューム５３を１個として、そのボリュームに全てのチェックポイントにおける主記憶の内容を書き出す場合は、ダンプ用ボリューム５３の容量を（主記憶容量）×（チェックポイントの数）に設定する。また、ダンプ用ボリューム５３をチェックポイントの数だけ用意する場合は、各ダンプ用ボリューム５３の容量は主記憶容量と等しくするか余裕を見て、主記憶容量より少し例えば５％程度多い容量とする。
【０１１１】
次に、ダンプ用ボリューム５３の割り当て方法を説明する。以下の方法は、ストレージ管理サーバの指示に基づき、第一階層ストレージ装置１１が実行することで実現される。第一階層ストレージ装置１１でのボリュームの割り当てでは、ファイル格納用第一ボリューム５１の割り当てを優先し、残ったボリュームをダンプ用ボリューム５３に割り当てる。これは、ファイル格納用第一ボリューム５１はＪＯＢを実行させるために必要なファイルを格納するためのボリュームであり、そのボリュームが確保できないとＪＯＢを実行させることができないためである。
【０１１２】
このような考え方でボリュームの割り当てを行うため、チェックポイントと計算に使う主記憶容量から計算したダンプ用ボリュームの数とそれぞれのボリュームの容量を確保すると、第一階層ストレージ装置１１の最大容量を超える場合は、チェックポイントの回数を再設定するように計算機管理サーバ１８を介してユーザへ通知する。
【０１１３】
あるいは、必要な数のダンプ用ボリューム５３を用意せず、残りのボリュームの範囲内で割り当てられる最大の数のダンプ用ボリューム５３を割り当てる。そして、計算の途中で用意された数のダンプ用ボリューム５３を使い果たした場合、最も古いチェックポイントのデータ格納したダンプ用ボリューム５３へ新しいチェックポイントのデータの上書きを行う。この場合、この処理を実施することを、計算機管理サーバ１８を介してユーザに通知し、ユーザにこの処理を行うか、チェックポイントの数を再設定するかを選択させてもよい。
【０１１４】
あるいは、ダンプ用ボリューム５３を２〜３個のみとし、その数の範囲内でボリュームを使いまわしても良い。すなわち、ボリュームの数が足りなくなったら、古いチェックポイントのボリュームへ新しいチェックポイントのデータの上書きを行う。
【０１１５】
また、最初に上記の３つの割り当て方法をユーザに提示し、選択させても良い。
【０１１６】
また、ＪＯＢの計算開始時間と終了時間が予め分かっており、かつボリュームの割り当て替えとユーザディレクトリへのマウント／アンマウントに要する時間比べて、計算時間が長い場合、計算開始後に、入力ファイルを格納するために使用したファイル格納用ボリューム５３をユーザディレクトリからアンマウントし、ダンプ用ボリューム５３として割り当て替えても良い。この場合、計算終了時間の一定時間前に、ＪＯＢの出力ファイルを格納するのに必要なボリューム分のダンプ用ボリュームを開放し、出力用ファイルを格納するボリュームとして再割り当てを行い、ユーザディレクトリとしてマウントする。
【０１１７】
こうすることにより、第一階層ストレージ装置１１に必要な容量を削減することが可能となり、ストレージシステム１のコストを削減することができる。
【０１１８】
ここで、上記で説明してきたダンプ用ボリューム５３に格納したチェックポイントにおける主記憶の内容を、ユーザが指定したチェックポイントについて、第二階層ストレージ装置１２に用意したダンプ用ボリュームへデステージングしても良い。そうすることにより、計算終了後にあるチェックポイントから再計算を行いたい場合に、計算時間を短縮することが可能となる。
【図面の簡単な説明】
【０１１９】
【図１】本発明のストレージシステムとそれに繋がる計算機、管理サーバの構成例を示す図である。
【図２】本発明の第一階層ストレージ装置の構成の例を示す図である。
【図３】本発明の第二階層ストレージ装置の構成の例を示す図である。
【図４】ファイル格納用ディレクトリと、ファイル格納用仮想ボリューム、ファイル格納用ボリュームの対応関係の例を示す図である。
【図５】ファイル格納用ディレクトリと、ファイル格納用仮想ボリューム、ファイル格納用第一、第二ボリュームの対応関係の例を示す図である。
【図６】本発明のファイルサーバ、第一、第二階層ストレージ装置間でのファイルのステージング／デステージングの手順の一例を示す図である。
【図７】本発明の計算機管理サーバとストレージ管理サーバの構成の一例を示す図である。
【図８】本発明のストレージシステムとそれに繋がる計算機、管理サーバの他の構成例を示す図である。
【図９】計算機実行スクリプトの例を示す図である。
【図１０】本発明のファイルサーバ、第一、第二階層ストレージ装置間でのファイルのステージング／デステージングの手順の他の一例を示す図である。
【符号の説明】
【０１２０】
１…計算機システム、２…ストレージシステム、１１…第一階層ストレージ装置、１２…第二階層ストレージ装置、１３…ファイルサーバ、１４…計算機、１６…ＩＰスイッチ、１７…ＦＣスイッチ、１８…計算機管理サーバ、１９…ストレージ管理サーバ、２１…ＪＯＢ管理部、２２…ユーザ管理部、２３…情報管理部、２４…情報収集部、２５…情報解析部、２６…ボリューム管理部、２７…ユーザエリア管理部、２８…ストレージ管理部、５１…ファイル格納用第一ボリューム、５２…ファイル格納用第二ボリューム、６１…ファイル格納用仮想ボリューム
【図１】
2008293149.tif 000003
【図２】
2008293149.tif 000004
【図３】
2008293149.tif 000005
【図４】
2008293149.tif 000006
【図５】
2008293149.tif 000007
【図６】
2008293149.tif 000008
【図７】
2008293149.tif 000009
【図８】
2008293149.tif 000010
【図９】
2008293149.tif 000011
【図１０】
2008293149.tif 000012