(57)【要約】【課題】ストレージ管理装置によるストレージ装置からの性能情報の取得処理を効率的に実現する。【解決手段】ストレージ装置の状態情報の受信結果に基づき前記ストレージ装置の種類を識別する識別部２４と、識別した種類が第１のストレージ装置である場合、第１のストレージ装置から、前記第１のストレージ装置の第１の性能情報を受信し、前記第１の性能情報を、受信した期間ごとに対応づけたテーブルのデータとしてデータベース２１に格納する、第１の処理を実行する第１処理部２ａと、識別した種類が第２のストレージ装置である場合、第２のストレージ装置から、前記第２のストレージ装置の第２の性能情報を受信してテキスト形式のファイルのデータとして記憶部２２に格納する、第２の処理を実行する第２処理部２ｂと、識別した種類に応じて、前記第１の処理の実行、又は、前記第２の処理の実行、を切り替える切替部２４と、をそなえる。【選択図】図７
2019160124.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別する識別部と、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、第１の処理を実行する第１処理部と、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、第２の処理を実行する第２処理部と、
識別した前記ストレージ装置の種類に応じて、前記第１処理部による前記第１の処理の実行、又は、前記第２処理部による前記第２の処理の実行、を切り替える切替部と、をそなえる
ストレージ管理装置。
【請求項２】
前記第１の性能情報は、性能種別ごとの複数の性能データを含み、
前記第１処理部は、前記第１の処理において、前記第１のストレージ装置から受信した前記複数の性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
請求項１に記載のストレージ管理装置。
【請求項３】
前記第１処理部は、前記第１の処理において、
前記第１のストレージ装置により前記性能種別ごとの複数の性能データが圧縮された圧縮データである前記第１の性能情報を、前記第１のストレージ装置から受信し、
受信した前記圧縮データのうちの少なくとも一部を伸張して少なくとも一つの性能データを取得し、
取得した前記少なくとも一つの性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
請求項２に記載のストレージ管理装置。
【請求項４】
前記第１処理部は、前記第１の処理において、受信した前記圧縮データのうちの伸張していない部分の性能データを圧縮形式の状態で前記データベースに格納する、
請求項３に記載のストレージ管理装置。
【請求項５】
前記第１の性能情報に含まれる前記複数の性能データの各々のファイル名に、当該性能データの性能種別と、当該性能データの取得時刻と、が設定され、
前記第１処理部は、前記第１の処理において、各性能データのファイル名に基づいて、当該性能データを含めるテーブルを検索する、
請求項２〜４のいずれか１項に記載のストレージ管理装置。
【請求項６】
前記データベースに格納されたテーブルのテーブル名に、当該テーブルに含まれる性能データの性能種別と、当該テーブルに含まれる性能データが受信された期間と、が設定され、
前記第１処理部は、所定周期で、前記データベースに格納されたテーブルのテーブル名と、現在時刻とに基づいて、前記データベースから保持期間を超えたテーブルを削除する、
請求項２〜５のいずれか１項に記載のストレージ管理装置。
【請求項７】
ストレージ装置と、
前記ストレージ装置をそなえるストレージシステムを管理するストレージ管理装置と、をそなえ、
前記ストレージ管理装置は、
前記ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別し、
識別した前記ストレージ装置の種類に応じて、第１の処理の実行、又は、第２の処理の実行、を切り替え、
前記第１の処理は、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、
受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、処理を含み、
前記第２の処理は、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、
受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、処理を含む、
ストレージシステム。
【請求項８】
コンピュータに、
ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別し、
識別した前記ストレージ装置の種類に応じて、第１の処理の実行、又は、第２の処理の実行、を切り替える、
処理を実行させ、
前記第１の処理は、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、
受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、処理を含み、
前記第２の処理は、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、
受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、処理を含む、
ストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理装置、ストレージシステム、及びストレージ管理プログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、ストレージ装置の管理、例えば、ストレージ装置の構成管理、障害管理、性能情報管理等の機能を提供するストレージ管理装置が用いられることがある。ストレージ管理装置は、ストレージ環境を総合的に管理することで、ストレージシステムの安定運用を実現する。
【０００３】
ストレージ管理装置は、例えば、従来型のストレージ装置等の性能情報をグラフ表示することで、業務要件で定義されるＩ／Ｏ（Input / Output）性能の最適化に用いられる情報をユーザに提供したり、装置やボリュームに閾値を設定して監視することができる。これにより、ユーザは、業務への影響が発生する前に性能問題を把握し対処することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１０３５８０号公報
【特許文献２】特開２００４−３０４９１号公報
【特許文献３】国際公開第２０１５／１０７５７４号パンフレット
【特許文献４】特開平５−３１３９８４号公報
【特許文献５】特開平１０−２７１２７号公報
【特許文献６】特開平１１−７４０１号公報
【特許文献７】特開２０１５−６０２７５号公報
【特許文献８】特開２０１５−９２４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、ストレージ装置においては、ＳＤＳ（Software Defined Storage）の検討が進んでおり、例えば、スケールアウト型の新たなストレージ装置の開発が行なわれている。
【０００６】
ストレージ管理装置により、ストレージシステムのストレージ環境を総合的に管理しようとする場合、従来型のストレージ装置に加えて、スケールアウト型のストレージ装置についても性能情報の収集を可能とすることが効果的である。
【０００７】
しかし、ストレージ管理装置において、従来型のストレージ装置に対して行なっていた性能情報の取得処理を、スケールアウト型のストレージ装置に適用した場合、以下のような不都合が生じる可能性がある。
【０００８】
（ａ）装置から取得するデータの増大による過大なネットワーク負荷の発生。
ストレージ管理装置は、例えば、最新の性能データの値を、ストレージ装置を制御するストレージ制御装置からバイナリ形式で取得し、差分や累積値等を計算した上で、テキスト形式のファイルに書き込み、性能情報として保持する。バイナリ形式の性能データは、例えば、整数型であれば４バイト等であり、倍精度型ならば８バイト等である。テキスト形式としては、例えば、ＣＳＶ（Comma Separated Values）形式が挙げられる。
【０００９】
性能データは、ストレージ装置を構成するボリューム等の部品数に比例して増大する。スケールアウト型のストレージ装置では、例えば、部品数が仕様上の最大値（６万５千程度）になると、１回の性能データの取得サイズが５０メガバイトを超える場合がある。このため、スケールアウト型のストレージ装置においては、大容量のデータ転送に伴うネットワークの輻輳による通信遅延等が増大し、ストレージ管理装置によるシステム全体の安定した管理が困難になる場合がある。
【００１０】
（ｂ）保存用のＣＳＶファイルによる過大なディスクスペースの発生。
ストレージ管理装置は、ストレージ制御装置においてプログラム上で計算可能なバイナリ形式で保持されている性能データレコードを取得し、ＣＳＶ形式の文字列に変換して保持するため、保持するデータは冗長となり格納効率が低い。
【００１１】
例えば、スケールアウト型のストレージ装置の最大構成を想定すると、ストレージ管理装置は、取得処理の周期（例えば６００秒）ごとに５０メガバイトのレコードを採取し、保持期間の間（例えば９０日間）保持する。この場合、７００ギガバイトものディスクスペースを占有することになり、ストレージ管理装置の記憶領域の使用量が増大する。
【００１２】
（ｃ）保持期限を超過したデータの削除処理の負荷の発生。
例えば、性能情報には保持期限が設定され、ストレージ管理装置は、ファイルシステム上で保持期限を超過した性能情報を含むＣＳＶファイルを検索して削除する。このため、性能情報のファイル数やデータサイズが増加するほど、性能情報の削除処理におけるストレージ管理装置の処理負荷が高まることになる。
【００１３】
このように、ストレージ装置の規模（構成）に応じて、ストレージ管理装置によるストレージ装置からの性能情報の取得処理が非効率になる場合がある。
【００１４】
１つの側面では、本発明は、ストレージ管理装置によるストレージ装置からの性能情報の取得処理を効率的に実現することを目的の１つとする。
【課題を解決するための手段】
【００１５】
１つの側面では、ストレージ管理装置は、識別部と、第１処理部と、第２処理部と、切替部と、をそなえてよい。前記識別部は、ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別してよい。前記第１処理部は、識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信してよい。また、前記第１処理部は、受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納してよい。前記第２処理部は、識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信してよい。また、前記第２処理部は、受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、第２の処理を実行してよい。前記切替部は、識別した前記ストレージ装置の種類に応じて、前記第１処理部による前記第１の処理の実行、又は、前記第２処理部による前記第２の処理の実行、を切り替えてよい。
【発明の効果】
【００１６】
１つの側面では、ストレージ管理装置によるストレージ装置からの性能情報の取得処理を効率的に実現することができる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係るストレージシステムの構成例を示すブロック図である。
【図２】一実施形態に係るサーバの機能構成例を示すブロック図である。
【図３】図２に示す性能情報の一例を示す図である。
【図４】図２に示す管理テーブルの一例を示す図である。
【図５】一実施形態に係る制御装置Ａの機能構成例を示すブロック図である。
【図６】一実施形態に係る制御装置Ｂの機能構成例を示すブロック図である。
【図７】一実施形態に係るストレージシステムの全体の動作例を説明する図である。
【図８】一実施形態に係る性能情報取得処理の動作例を説明するフローチャートである。
【図９】一実施形態に係る性能状態送信処理の動作例を説明するフローチャートである。
【図１０】一実施形態に係る性能データ送信処理の動作例を説明するフローチャートである。
【図１１】一実施形態に係る性能情報送信処理の動作例を説明するフローチャートである。
【図１２】一実施形態に係る性能情報格納処理の動作例を説明するフローチャートである。
【図１３】一実施形態に係る性能管理機能のステータスの一例を示す図である。
【図１４】一実施形態に係る性能情報削除処理の動作例を説明するフローチャートである。
【図１５】ファイルシステムを用いたディレクトリの検索及び削除の動作例を説明する図である。
【図１６】論理テーブルを用いたパーティションテーブルの検索及び削除の動作例を説明する図である。
【図１７】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１９】
〔１〕一実施形態
一実施形態においては、ストレージ管理装置によるストレージ装置からの性能情報の取得処理を効率的に実現する手法について説明する。
【００２０】
〔１−１〕一実施形態に係るストレージシステムの構成例
図１に示すように、一実施形態に係るストレージシステム１は、例示的に、ストレージ管理装置の一例としてのサーバ２、並びに、ストレージ制御装置の一例としての制御装置３ａ及び３ｂをそなえてよい。なお、図１においては、性能情報の取得処理に関連する機能ブロックに着目したブロック図を例示しており、サーバ２の他の管理等に関する機能ブロックやストレージシステム１における業務等に関する機能ブロックの図示を省略している。
【００２１】
サーバ２は、ＬＡＮ（Local Area Network）等のネットワーク１ａを介して制御装置３ａと相互に通信可能に接続され、ＬＡＮ等のネットワーク１ｂを介して制御装置３ｂと相互に通信可能に接続される。なお、ネットワーク１ａ及び１ｂは１つの（ストレージ装置４ａ及び４ｂで共通する）ネットワークであってもよい。
【００２２】
制御装置３ａはストレージ装置４ａを制御する第１のストレージ制御装置の一例であり、制御装置３ｂはストレージ装置４ｂを制御する第２のストレージ制御装置の一例である。一実施形態において、ストレージ装置４ａは、例えば、ストレージ（記憶領域を有する記憶装置；図示省略）を増設可能なスケールアウト型のストレージ装置であってよく、第１のストレージ装置の一例である。一方、一実施形態において、ストレージ装置４ｂは、従来型のストレージ装置であってよく、第２のストレージ装置の一例である。
【００２３】
このため、サーバ２は、装置規模に関連する製品仕様が互いに異なる、換言すれば、互いに異なる種別（機種）のストレージ装置４ａ及び４ｂを管理する管理部２ａ及び２ｂをそなえてよい。なお、ストレージシステム１は、複数のストレージ装置４ａを有してもよく、ストレージ装置４ｂを有しない構成であってもよい。
【００２４】
以下、制御装置３ａ及び３ｂを区別しない場合には、単に「制御装置３」と表記し、ストレージ装置４ａ及び４ｂを区別しない場合には、単に「ストレージ装置４」と表記する。
【００２５】
以下の説明において、スケールアウト型のストレージ装置４ａに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“Ａ”を付加して表記することがある。一方、従来型のストレージ装置４ｂに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“Ｂ”を付加して表記することがある。なお、ストレージ装置４に「関連する」とは、例えば、ストレージ装置４に「属する」ことを意味してもよいし、或いは、ストレージ装置４を「処理対象とする」ことを意味してもよい。
【００２６】
制御装置３ａは、ＳＡＮ（Storage Area Network）等のネットワークを介して、業務サーバ（図示省略）等にストレージ装置４ａの記憶領域を提供する。制御装置３ｂは、ＳＡＮ等の図示しないネットワークを介して、業務サーバ（図示省略）等にストレージ装置４ｂの記憶領域を提供する。なお、図１では、ストレージ装置４のストレージ（記憶領域を有する記憶装置）の図示を省略しているが、ストレージ装置４は、例えば、ＳＡＮ等のネットワークにより接続された複数のストレージをそなえてよい。
【００２７】
〔１−１−１〕サーバの構成例
図２に示すように、ストレージ管理装置の一例としてのサーバ２は、一実施形態に係る性能情報の取得処理を行なう機能に着目すると、例示的に、ＤＢ（Database）２１、メモリ部２２、並びに、管理部２ａ及び２ｂをそなえてよい。
【００２８】
ＤＢ２１は、管理部２ａによるストレージ装置４ａの管理に用いられるデータベースの一例であり、例示的に、構成情報２１１、性能情報２１２、及び管理テーブル２１３を格納してよい。ＤＢ２１はリポジトリの一例であり、例えば、ＰｏｓｔｇｒｅＳＱＬのようなデータベース管理システムであってよい。
【００２９】
構成情報２１１は、ストレージ装置４ａの構成に関する情報である。構成情報２１１は、制御装置３ａが保持する装置情報３１１（図５参照）の一部の情報に対応しており、所定のタイミングで（例えば性能情報取得処理において）、制御装置３ａから取得され更新されてよい。
【００３０】
性能情報２１２は、制御装置３ａから取得したストレージ装置４ａの性能に関する第１の性能情報を蓄積した、ＤＢ２１で管理される複数のテーブルの集合である。性能情報２１２は、例えば、サーバ２において、ストレージシステム１の性能分析に用いる情報のユーザへの提示や、ストレージシステム１の性能の監視等に用いられる。
【００３１】
図３に示すように、性能情報２１２は、例示的に、ストレージ装置４ごとに、ストレージの性能に関するテーブル２１２ａ、ノードに関するテーブル２１２ｂ、等のように、性能の種別ごとに分割されたパーティションテーブルを有してよい。なお、性能情報２１２は、上記のテーブル２１２ａ及び２１２ｂの他に、例えば、ポート、ＣＰＵ（Central Processing Unit）、ＣＰＵコア、ドライブ、ストレージのプール、ボリューム等のパーティションテーブルを有してよい。以下、パーティションテーブル（Partition Table）を「ＰＴ」と表記する。
【００３２】
ＰＴの一例として、図３に示すように、テーブル２１２ａは、タイムスタンプ及び各種性能データを含んでよい。性能データには、読み出し（Read）、書き込み（Write）、読み出し及び書き込み、キャッシュ、ＣＰＵ性能、温度、等に関する性能データが含まれてよい。なお、図３に示す性能データは例示に過ぎず、性能情報２１２には、より詳細な性能データ等の種々のデータが含まれてよい。
【００３３】
また、性能データの種類としては、例えば、ユーザ向けの性能データ、開発者向けの性能データ（例えばハードウェア開発者向けの障害調査用データ）、或いは、ユーザ及び開発者の双方向けの性能データ等が挙げられる。なお、サーバ２によるストレージ装置４の管理機能において利用されない性能データ、例えば、開発者向けの性能データのような障害調査用の補助データ等については、後述するように、圧縮ファイルのバイト列として性能情報２１２に格納されてもよい。
【００３４】
ここで、一実施形態においては、性能情報２１２は、ＰＴが一度に削除される単位（例えば１日分のＰＴ）に対応した期間（例えば１日）内に取得又は計測された性能データが、性能の種別ごとに１つのＰＴで管理されてよい。換言すれば、性能情報２１２は、情報を取得した取得期間ごとのテーブルにより管理されてよい。例えば、各ＰＴ（一例として、ストレージの性能に関するテーブル２１２ａ）は、削除単位（例えば１日）ごとに異なるテーブルで管理され、合計で保持期間（例えば７日間）／削除単位（例えば１日）＝７個のテーブルが存在するように管理されてよい。
【００３５】
このように、性能情報２１２のＰＴの時間軸における格納単位を、ＰＴが一度に削除される単位に一致又は略一致させることで、後述するように、性能情報２１２の更新や削除の管理が容易となり、サーバ２の処理負荷の低減を実現できる。なお、簡単のため、以下の説明では、ＰＴの時間軸における格納単位が１日であるものとするが、これに限定されるものではなく、サーバ２の記憶領域や収集される性能データサイズ等に応じて、例えば数時間等であってもよい。また、格納単位が１日である場合であっても、性能データの収集は、定期的に（例えば十分ごとに）実行されてよい。
【００３６】
換言すれば、ＤＢ２１は、管理部２ａが制御装置３ａから受信した複数の性能データを、複数の性能データを受信した期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして格納するといえる。
【００３７】
管理テーブル２１３は、性能情報２１２のＰＴの管理に用いられる情報である。図４に示すように、管理テーブル２１３は、例示的に、ＰＴ名、ストレージ識別子、リソースタイプ（Resource_Type）、開始時刻（Start_Time）、終了時刻（End_Time）、最終更新時（Last_Update）の項目を含んでよい。
【００３８】
ＰＴ名には、ＰＴの名称が設定される。一実施形態においては、ＰＴは、図４に例示するように、性能を示す“performance”、ストレージ識別子を示す“xxxxxx”、リソースタイプを示す“storages”（一例）、格納単位を示す“part_20171001”（一例）等の部分を含んでよい。なお、ストレージ識別子は、ストレージ装置４ａごとに一意の識別子が設定されてよい。リソースタイプには、そのテーブルが示す性能の種別が設定されてよい。格納単位には、例えば、そのテーブルにおける性能データの受信或いは（制御装置３ａにおける）測定のタイミングが属する「年月日」或いは「年月日及び時間（Hour）」等が設定されてよい。
【００３９】
ストレージ識別子、リソースタイプには、ＰＴ名に含まれる情報と同一の情報が設定されてよい。開始時刻、終了時刻、最終更新時には、ＰＴ名の格納単位に属する（含まれる）、性能データの取得或いは測定の開始時刻、終了時刻、及び最終更新時が設定されてよい。ストレージ識別子、リソースタイプ、開始時刻、終了時刻、最終更新時の情報は、後述する管理部２ａによるＰＴの検索に用いられてよい。
【００４０】
メモリ部２２は、管理部２ｂによるストレージ装置４ｂの管理に用いられる記憶領域であり、例示的に、構成ＸＭＬ（eXtensible Markup Language）２２１及びＣＳＶ２２２を格納してよい。なお、メモリ部２２は、ストレージシステム１にストレージ装置４ｂが含まれない場合には省略されてもよい。
【００４１】
構成ＸＭＬ２２１は、ストレージ装置４ｂの構成に関する情報である。構成ＸＭＬ２２１は、制御装置３ｂが保持する装置情報３３１（図６参照）の一部の情報に対応しており、所定のタイミングで（一例として、性能情報取得処理において）、制御装置３ｂから取得され更新されてよい。
【００４２】
ＣＳＶ２２２は、制御装置３ｂから取得したストレージ装置４ｂの性能に関する第２の性能情報を蓄積したＣＳＶ形式の複数のファイルである。ＣＳＶ２２２は、例えば、サーバ２において、ストレージシステム１の性能分析に用いる情報のユーザへの提示や、ストレージシステム１の性能の監視等に用いられる。
【００４３】
ＤＢ２１及びメモリ部２２は、それぞれ、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。揮発性メモリとしては、例えばＲＡＭ（Random Access Memory）が挙げられる。記憶装置としては、例えばＨＤＤ（Hard Disk Drive）等の磁気ディスク装置やＳＳＤ（Solid State Drive）等の半導体ドライブ装置が挙げられる。
【００４４】
管理部２ａは、ストレージ装置４ａの管理を行なう。なお、管理部２ａは、通信先のストレージ装置４がストレージ装置４ａ及び４ｂのいずれであるのかを識別し、通信先がストレージ装置４ｂである場合には管理部２ｂに処理を引き継いでよい。図２に示すように、管理部２ａは、例示的に、ＩＦ（Interface）制御部２３、装置監視部２４、及びＤＢ管理部２５をそなえてよい。
【００４５】
ＩＦ制御部２３は、制御装置３ａとの間の通信ＩＦを制御する。例えば、ＩＦ制御部２３は、制御装置３ａ（の各々）との間で、ＲＥＳＴ（Representational State Transfer）  ＡＰＩ（Application Programming Interface）のフレームワークを介した通信を制御してよい。
【００４６】
装置監視部２４は、ストレージ装置４の監視を行なう。例えば、装置監視部２４は、監視スレッドにより、制御装置３ａ及び３ｂに対する性能情報取得処理の切り替え制御、並びに、制御装置３ａに対する性能情報取得処理に関する制御、等を行なってよい。
【００４７】
ＤＢ管理部２５は、ＤＢ２１の性能情報２１２の管理を行なう。例えば、ＤＢ管理部２５は、性能情報２１２の管理ＡＰＩとして待機し、装置監視部２４からの指示に応じて管理スレッドを起動し、管理スレッドにより性能情報２１２の更新等を行なってよい。
【００４８】
管理部２ｂは、ストレージ装置４ｂの管理を行なう。図２に示すように、管理部２ｂは、例示的に、ＩＦ制御部２６及び装置監視部２７をそなえてよい。
【００４９】
ＩＦ制御部２６は、制御装置３ｂとの間の通信ＩＦを制御する。例えば、ＩＦ制御部２６は、制御装置３ｂ（の各々）との間で、ＮＩＭ（Network Installation Management）−ＰＣＣ（Private Certified Connection）又はＣＬＩ（Command Line Interface）等を介した通信を制御してよい。
【００５０】
装置監視部２７は、ストレージ装置４ｂの監視を行なう。例えば、装置監視部２７は、監視スレッドにより、制御装置３ｂに対する性能情報取得処理に関する制御を行なってよい。
【００５１】
〔１−１−２〕制御装置Ａの構成例
図５に示すように、ストレージ装置４ａの制御装置３ａ（制御装置Ａ）は、例示的に、ＤＢ３１及び制御部３２をそなえてよい。
【００５２】
ＤＢ３１はリポジトリの一例であり、例えば、ＰｏｓｔｇｒｅＳＱＬのようなデータベース管理システムであってよい。図５においては、リポジトリとして管理される情報のうち、ストレージ装置４ａに関する情報を装置情報３１１と表記する。装置情報３１１は、例えば、ストレージ装置４ａの構成に関する構成データや、性能に関する性能データを含んでよい。ＤＢ３１のデータ構造は、サーバ２のＤＢ２１とは異なるデータ構造で合ってもよいし、同一のデータ構造であってもよい。なお、ＤＢ３１は、リポジトリとして、装置情報３１１に加えて、ストレージ装置４ａの制御に用いる種々の制御テーブルを格納してよい。
【００５３】
ＤＢ３１は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【００５４】
制御部３２は、制御装置３ａのファームウェア等により実現され、制御装置３ａに関する種々の制御を行なう。一実施形態に係る性能情報取得処理を行なう機能に着目すると、制御部３２は、例示的に、サーバ２との通信機能や、ＤＢ３１に対する性能データの更新及び抽出機能等をそなえてよい。
【００５５】
〔１−１−３〕制御装置Ｂの構成例
図６に示すように、ストレージ装置４ｂの制御装置３ｂ（制御装置Ｂ）は、例示的に、メモリ部３３及び制御部３４をそなえてよい。
【００５６】
メモリ部３３は、ストレージ装置４ｂに関する装置情報３３１を格納する。装置情報３３１は、例えば、ストレージ装置４ｂの構成に関する構成データや、性能に関する性能データを含んでよい。一実施形態において、装置情報３３１のデータは、バイナリ形式等のデータとして格納・管理されてよい。なお、メモリ部３３は、装置情報３３１に加えて、ストレージ装置４ｂの制御に用いる種々の制御テーブルを格納してよい。
【００５７】
メモリ部３３は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【００５８】
制御部３４は、制御装置３ｂのファームウェア等により実現され、制御装置３ｂに関する種々の制御を行なう。一実施形態に係る性能情報取得処理を行なう機能に着目すると、制御部３４は、例示的に、サーバ２との通信機能や、メモリ部３３に対する性能データの更新及び抽出機能等をそなえてよい。
【００５９】
〔１−２〕動作例
次に、上述の如く構成されたストレージシステム１の動作例を説明する。
【００６０】
はじめに、図７を参照して、性能情報の取得処理の動作例を簡単に説明する。図７に例示するように、管理部２ａの装置監視部２４は、構成情報２１１の装置情報を参照して（（ｉ）参照）、性能データの取得対象となるストレージ装置４ａに対するユーザ設定を取得する。ユーザ設定には、性能管理の有効又は無効、性能データを取得するか否か、及び、性能データの保持日数、等の設定が含まれてよい。そして、装置監視部２４は、ユーザ設定に基づき性能データを取得する場合に、ストレージ装置４ａの制御装置３ａに対して性能情報の取得要求を送信する。
【００６１】
ストレージ装置４ａの制御装置３ａは、装置監視部２４からの要求に応じて、装置情報３１１から性能の種別ごとに、テキスト形式、例えばＣＳＶ形式で性能データを抽出し、抽出した各性能データをまとめて圧縮した圧縮ファイルを生成する。そして、制御装置３ａは、生成した圧縮ファイルの情報を装置監視部２４に送信する（（ii）参照）。
【００６２】
装置監視部２４は、受信した圧縮ファイルを所定の記憶領域に格納する。ＤＢ管理部２５は、圧縮ファイルを伸張（展開）して（（iii）参照）、ＣＳＶ形式の性能データを取得（算出）する（（iv）参照）。
【００６３】
ＤＢ管理部２５は、取得した性能データを用いて、ストレージ、性能の種別、及び格納単位（例えば日にち）、の区分ごとに、性能情報２１２を更新（（ｖ）参照）、例えばＰＴに性能データをインサートする。なお、ＤＢ管理部２５は、性能情報２１２の更新において、管理テーブル２１３を参照し、既存のＰＴへの更新或いは新たなＰＴの作成を判断してよく、また、性能情報２１２の更新に応じて管理テーブル２１３を更新してよい。
【００６４】
一方、装置監視部２７は、構成ＸＭＬ２２１の構成情報を参照して（（Ｉ）参照）、性能データの取得対象となるストレージ装置４ｂに対するユーザ設定を取得する。ユーザ設定には、ストレージ装置４ａに対するユーザ設定と同様の設定が含まれてよい。そして、装置監視部２７は、ユーザ設定に基づき性能データを取得する場合に、ストレージ装置４ｂの制御装置３ｂに対して性能情報の取得要求を送信する。
【００６５】
ストレージ装置４ｂの制御装置３ｂは、装置監視部２７からの要求に応じて、装置情報３３１から性能データを抽出し、抽出した性能データを応答データに格納する。そして、制御装置３ｂは、生成した応答データの情報を装置監視部２７に送信する（（II）参照）。
【００６６】
装置監視部２７は、受信した応答データに基づいて（例えばＣＳＶ形式に変換して）、ＣＳＶ２２２を更新（（III）参照）する。
【００６７】
〔１−２−１〕性能情報取得処理
次に、図８〜図１２を参照して、ストレージシステム１において定期処理として実行される性能情報取得処理の動作例を説明する。なお、定期処理としての性能情報取得処理は、装置監視部２４の監視スレッドにより、定期処理の実施タイミングで実行されてよい。定期処理の実施タイミングは、例えば、６００秒（１０分）程度の周期であってよい。
【００６８】
図８に例示するように、サーバ２において、管理部２ａの装置監視部２４は、構成情報２１１を参照して、ストレージ装置４（例えば、サーバ２に接続される全てのストレージ装置４のそれぞれ）に対する、性能状態取得要求のＲＥＳＴ  ＡＰＩを発行する。ＩＦ制御部２３は、ＲＥＳＴ  ＡＰＩのフレームワークを通じて、ネットワーク１ａ及び１ｂを介してストレージ装置４に要求を送信する（ステップＳ１）。
【００６９】
図９に例示するように、制御装置３ａの制御部３２は、性能状態送信処理において、サーバ２から性能状態取得要求を受信すると（ステップＳ２１）、性能状態の情報を生成する（ステップＳ２２）。そして、制御部３２は、生成した性能状態の情報をサーバ２に送信する（ステップＳ２３）。なお、性能状態は、状態情報の一例であり、例えば、ストレージ装置４ａ或いは制御装置３ａの装置状態（ステータス）等の情報であってよい。
【００７０】
図８の説明に戻り、サーバ２の装置監視部２４は、ＩＦ制御部２３を介して制御装置３から性能状態の情報を正常に取得（受信）したか否かを判定する（ステップＳ２）。制御装置３から性能状態の情報を正常に取得（受信）したか否かの判定結果は、ストレージ装置４の種類の識別結果と捉えることができる。
【００７１】
例えば、性能状態の情報を正常に取得していない場合（ステップＳ２でＮｏ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応していない（取得要求を受信できなかった）ストレージ装置４ｂの制御装置３ｂであることを意味する。一方、性能状態の情報を正常に取得した場合（ステップＳ２でＹｅｓ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応するストレージ装置４ａの制御装置３ａであることを意味する。
【００７２】
従って、装置監視部２４は、性能状態の情報を正常に取得した場合は管理部２ａによる処理を実行し、性能状態の情報を正常に取得していない場合は管理部２ｂに処理を実行させる。
【００７３】
このように、装置監視部２４は、ストレージ装置４から送信される、ストレージ装置４の状態に関する状態情報を受信し、状態情報の受信結果に基づいて、ストレージ装置４の種類を識別する識別部の一例である。また、装置監視部２４は、識別したストレージ装置４の種類に応じて、管理部２ａによる第１の処理としての性能情報取得処理の実行、又は、管理部２ｂによる第２の処理としての性能情報取得処理の実行、を切り替える切替部の一例である。
【００７４】
ステップＳ２において、性能状態の情報を正常に取得していない場合（ステップＳ２でＮｏ）、装置監視部２４は、管理部２ｂに対して、ストレージ装置４ｂに対する制御装置Ｂ用の性能情報取得処理を実行するように指示する。管理部２ｂの装置監視部２７は、待機時間の経過を待ち合わせる（ステップＳ３及びＳ３でＮｏ）。
【００７５】
待機時間が経過すると（ステップＳ３でＹｅｓ）、装置監視部２７は、構成ＸＭＬ２２１を更新する（ステップＳ４）。構成ＸＭＬ２２１の更新処理では、例えば、装置監視部２７は、ＩＦ制御部２６を介して、制御装置３ｂに対して構成情報の取得要求を送信し、制御装置３ｂにおいて装置情報３３１から抽出され送信された構成情報を制御装置３ｂから受信してよい。そして、装置監視部２７は、受信した構成情報に基づき構成ＸＭＬ２２１を更新してよい。
【００７６】
次いで、装置監視部２７は、制御装置３ｂに対して、ＩＦ制御部２６を介して性能データの取得要求（例えばコマンド）を送信する（ステップＳ５）。
【００７７】
図１０に例示するように、制御装置３ｂの制御部３４は、性能データ送信処理において、サーバ２から性能データ取得要求を受信すると（ステップＳ３１）、装置情報３３１から性能データを抽出し、応答データに格納する（ステップＳ３２）。そして、制御部３４は、応答データをサーバ２に送信する（ステップＳ３３）。
【００７８】
図８の説明に戻り、装置監視部２７は、ＩＦ制御部２６を介して制御装置３ｂから性能データを受信し（ステップＳ６）、受信した性能データを所定の記憶領域に記憶する（ステップＳ７）。なお、記憶した性能データは、後述する性能情報格納処理において、ＣＳＶ２２２に書き出される。
【００７９】
装置監視部２７は、性能情報の取得対象となる全てのストレージ装置４ｂについて、性能管理が完了したか否かを判定し（ステップＳ８）、完了してない場合（ステップＳ８でＮｏ）、次の待機時間を計算し（ステップＳ９）、処理がステップＳ３に移行する。
【００８０】
待機時間は、例えば、ステップＳ８の判定後、性能管理が未完了のストレージ装置４ｂに対して性能情報の取得処理を行なうまでの待機時間である。待機時間は、例えば、制御装置３ｂからの性能データ取得処理にかかった時間を考慮して調整されてよい。このように、待機時間を設けることにより、ネットワーク１ｂを連続的に長時間に亘って占有しないようにすることができ、ネットワーク１ｂの通信負荷分散を実現できる。また、性能データのデータサイズやネットワーク状態の影響により性能データ取得処理の処理時間が変動したとしても、待機時間を可変な時間とすることで、変動分の時間を調整（吸収）できるため、次の性能データ取得処理を定期的な開始時刻に開始できる。
【００８１】
一方、全てのストレージ装置４ｂについて性能管理が完了した場合（ステップＳ８でＹｅｓ）、定期処理としての性能情報取得処理が終了する。
【００８２】
ステップＳ２において、制御装置３ａから性能状態の情報を正常に取得した場合（ステップＳ２でＹｅｓ）、装置監視部２４は、ストレージ装置４ａに対する制御装置Ａ用の性能情報の取得処理を実行する。
【００８３】
装置監視部２４は、待機時間の経過を待ち合わせる（ステップＳ１０及びＳ１０でＮｏ）。待機時間が経過すると（ステップＳ１０でＹｅｓ）、装置監視部２４は、構成情報２１１を更新する（ステップＳ１１）。構成情報２１１の更新処理では、例えば、装置監視部２４は、ＩＦ制御部２３を介して、制御装置３ａに対して構成情報の取得要求を送信し、制御装置３ａにおいて装置情報３１１から抽出された構成情報を制御装置３ａから受信してよい。そして、装置監視部２４は、受信した構成情報に基づき構成情報２１１を更新してよい。
【００８４】
次いで、装置監視部２４は、制御装置３ａに対する性能情報取得要求のＲＥＳＴ  ＡＰＩを発行する。ＩＦ制御部２３は、ＲＥＳＴ  ＡＰＩのフレームワークを通じて、ネットワーク１ａを介して制御装置３ａに要求を送信する（ステップＳ１２）。
【００８５】
図１１に例示するように、制御装置３ａの制御部３２は、性能情報送信処理において、サーバ２から性能情報取得要求を受信すると（ステップＳ４１）、未取得の性能情報が存在するか否かを判定する（ステップＳ４２）。
【００８６】
未取得の性能情報が存在する場合（ステップＳ４２でＹｅｓ）、制御部３２は、現在時刻をディレクトリ名に含んだディレクトリを所定の記憶領域に作成する（ステップＳ４３）。そして、制御部３２は、作成したディレクトリにおいて、性能情報名（例えば性能の種別）と、ストレージ識別子と、現在時刻とをファイル名に含むテキストファイルを作成し、当該テキストファイルに性能情報を書き出す（ステップＳ４４）。そして、処理がステップＳ４２に移行する。なお、テキストファイルとしては、例えばＣＳＶファイルが挙げられる。なお、現在時刻は、例えば、ＰＴ名に設定される年月日等の情報であってもよい。
【００８７】
一方、ステップＳ４２において、未取得の性能情報が存在しない場合（ステップＳ４２でＮｏ）、制御部３２は、取得したテキストファイルをストレージ識別子と現在時刻とをファイル名に含む圧縮ファイルに格納する（ステップＳ４５）。
【００８８】
そして、制御部３２は、サーバ２に対して、圧縮ファイルを格納するディレクトリ名を返却（送信）する（ステップＳ４６）。
【００８９】
このように、ストレージシステム１では、ＤＢ３１内の性能データをテキストファイルに変換する処理をストレージ装置４ａ側（制御装置３ａ側）に負担させる（オフロードする）ことで、サーバ２の処理負荷を低減させることができる。
【００９０】
また、制御装置３ａにおいて、性能データを含む複数のテキストファイルを圧縮してから送信することで、データ転送量を少なくでき、ネットワーク負荷を低減できる。
【００９１】
図８の説明に戻り、装置監視部２４は、ＩＦ制御部２３を介して制御装置３ａからディレクトリ名を受信すると（ステップＳ１３）、ディレクトリから圧縮ファイルを取得し、取得した圧縮ファイルを所定の記憶領域に格納する（ステップＳ１４）。なお、装置監視部２４が制御装置３ａのディレクトリから圧縮ファイルを取得する処理は、制御装置３ａが装置監視部２４からの要求に応じて圧縮ファイルを送信し、装置監視部２４が圧縮ファイルを受信する処理であると捉えることができる。
【００９２】
そして、装置監視部２４は、性能情報格納用スレッドを起動する（ステップＳ１５）。スレッドが起動されると、ＤＢ管理部２５は、起動した性能情報格納用スレッドにより、性能情報格納処理を実行する（ステップＳ１６）。
【００９３】
図１２に例示するように、性能情報格納処理では、ＤＢ管理部２５は、構成情報２１１を参照して、ストレージ装置４（例えば、サーバ２に接続される全てのストレージ装置４のそれぞれ）に対する、性能状態取得要求のＲＥＳＴ  ＡＰＩを発行する。ＩＦ制御部２３は、ＲＥＳＴ  ＡＰＩのフレームワークを通じて、ネットワーク１ａ及び１ｂを介してストレージ装置４に要求を送信する（ステップＳ５１）。
【００９４】
ＤＢ管理部２５は、ＩＦ制御部２３を介して制御装置３から性能状態の情報を正常に取得したか否かを判定する（ステップＳ５２）。正常に取得していない場合（ステップＳ５２でＮｏ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応していないストレージ装置４ｂの制御装置３ｂであることを意味する。
【００９５】
この場合、ＤＢ管理部２５は、性能情報格納処理を装置監視部２７に指示する。装置監視部２７は、性能情報格納処理において、図８のステップＳ７で所定の記憶領域に記憶した性能データから性能値を算出する（ステップＳ５３）。そして、装置監視部２７は、算出した性能値をＣＳＶ形式のファイルのデータとしてメモリ部２２に書き出し（ステップＳ５４）、性能情報格納処理が終了する。
【００９６】
一方、ステップＳ５２において、制御装置３ａから性能状態を正常に取得した場合（ステップＳ５２でＹｅｓ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応するストレージ装置４ａの制御装置３ａであることを意味する。
【００９７】
この場合、ＤＢ管理部２５は、ステップＳ１４において所定の記憶領域に格納された圧縮ファイルを伸張し（ステップＳ５５）、テキストファイル（例えばＣＳＶファイル）のリストを取得（算出）する（ステップＳ５６）。
【００９８】
ＤＢ管理部２５は、テキストファイルのファイル名から、格納先のＰＴ名を取得する（ステップＳ５７）。上述のように、テキストファイルのファイル名は、制御装置３ａにおいて、性能情報名（例えば性能の種別）と、ストレージ識別子と、現在時刻（例えば年月日）と、を含むように設定されている。従って、ＤＢ管理部２５は、テキストファイルのファイル名に基づいて、当該ファイル内のデータを保存するＰＴ名を容易に取得（決定）できる。
【００９９】
次いで、ＤＢ管理部２５は、管理テーブル２１３を参照して、取得したＰＴ名に対応するＰＴが性能情報２１２に存在するか否かを判定する（ステップＳ５８）。この判定では、例えば、ＤＢ管理部２５は、管理テーブル２１３（或いは論理テーブル）から、取得したＰＴ名のエントリを検索し、ヒットするか否かを判定してよい。
【０１００】
性能情報２１２にＰＴが存在しない場合（ステップＳ５８でＮｏ）、ＤＢ管理部２５は、取得したＰＴ名のＰＴを作成し（ステップＳ５９）、処理がステップＳ６０に移行する。一方、性能情報２１２にＰＴが存在する場合（ステップＳ５８でＹｅｓ）、処理がステップＳ６０に移行する。
【０１０１】
ステップＳ６０において、ＤＢ管理部２５は、テキストファイルのリストのうち、ＰＴに未格納のテキストファイルが存在するか否かを判定する。
【０１０２】
未格納のテキストファイルが存在する場合（ステップＳ６０でＹｅｓ）、ＤＢ管理部２５は、未格納のテキストファイルのファイル名から、格納先のＰＴを特定する（ステップＳ６１）。そして、ＤＢ管理部２５は、特定したＰＴに対して、未格納のテキストファイル内の性能情報を格納し（ステップＳ６２）、処理がステップＳ６０に移行する。
【０１０３】
一方、未格納のテキストファイルが存在しない場合（ステップＳ６０でＮｏ）、ＤＢ管理部２５は、性能管理のステータスを“Normal”に変更する（ステップＳ６３）。そして、ＤＢ管理部２５は、圧縮ファイルと伸張先ディレクトリとを削除し（ステップＳ６４）、性能情報格納処理が終了する。
【０１０４】
このように、装置監視部２４及びＤＢ管理部２５は、制御装置３ａにより性能種別ごとの複数の性能データが圧縮された圧縮データである第１の性能情報を、制御装置３ａ（ストレージ装置４ａ）から受信する。
【０１０５】
以上のように、ＤＢ管理部２５は、ＣＳＶ形式の性能データを、より格納効率の良いＤＢ２１に格納することで、ディスクスペース使用量を減少させることができ、ＣＳＶ形式でデータを格納する場合に生じるディスクスペース使用量の増大を抑制できる。
【０１０６】
例えば、スケールアウト型のストレージ装置４ａの最大構成を想定する。一例として、管理部２ａは、取得処理の周期（例えば６００秒）ごとに制御装置３ａから性能情報を取得し、保持期間の間（例えば９０日間）保持するものとする。この場合、占有されるディスクスペース使用量は、３３６ギガバイト程度となり、従来型のストレージ装置において占有され得るディスクスペース使用量（７００ギガバイト）の４８％程度に抑えることができる。
【０１０７】
なお、ＤＢ管理部２５は、ストレージ装置４ａの管理機能において利用しない、例えば障害調査用の補助データ等については、圧縮ファイルを伸張せずに、バイト列のデータとして、性能情報２１２のＰＴに格納してもよい。
【０１０８】
障害調査用の補助データ、例えば開発者向けの性能データの判別手法としては、種々の手法が挙げられる。
【０１０９】
一例として、管理部２ａは、性能データの個々の項目ごとに、ユーザ向けの性能データであるのか、開発者向けの性能データであるのか、或いは双方向けの性能データであるのか、を対応付けた管理情報を管理してもよい。この場合、開発者向けの性能データに対応する項目については、圧縮ファイルのまま、或いは、全体が伸張された後に開発者向けの性能データに対応する項目の情報のみがまとめて圧縮（再圧縮）され、バイト列のデータとして性能情報２１２に格納されてよい。
【０１１０】
或いは、他の例として、管理部２ａは、性能の種別（リソースタイプ）ごとに、ユーザ向けの性能データであるのか、開発者向けの性能データであるのか、或いは双方向けの性能データであるのか、を対応付けた管理情報を管理してもよい。この場合、開発者向けの性能データに対応する性能の種別については、圧縮ファイルのまま、バイト列のデータとして性能情報２１２に格納されてよい。
【０１１１】
圧縮ファイル内のファイルの一覧取得や、圧縮ファイルの部分的な伸張については、既知の種々の手法により実現可能である。
【０１１２】
上述した開発者向けの性能データの判別処理は、例えば、図１２に示すステップＳ５５及びＳ５６の処理において実行されてよい。
【０１１３】
以上のように、ＤＢ管理部２５は、受信した圧縮データのうちの少なくとも一部を伸張して少なくとも一つの性能データを取得し、取得した少なくとも一つの性能データを、取得期間ごと且つ性能種別ごとのテーブルに含めてＤＢ２１に格納するのである。また、ＤＢ管理部２５は、取得した圧縮データのうちの伸張していない部分の性能データを圧縮形式の状態でＤＢ２１に格納するのである。
【０１１４】
このように、ＤＢ管理部２５は、ストレージ装置４ａの管理機能において利用されない性能データについては、圧縮ファイルのバイト列としてＤＢ２１に格納することで、ディスクスペースの使用量をより削減でき、格納効率を高めることができる。
【０１１５】
図８の説明に戻り、装置監視部２４は、ＤＢ管理部２５による性能情報格納処理が終了すると、性能監視のステータスを“Normal”に変更し（ステップＳ１７）、全てのストレージ装置４ａに関する性能管理が完了したか否かを判定する（ステップＳ１８）。
【０１１６】
性能管理が完了していない場合（ステップＳ１８でＮｏ）、装置監視部２４は、次の待機時間を計算し（ステップＳ１９）、処理がステップＳ１に移行する。
【０１１７】
待機時間は、例えば、ステップＳ１８の判定後、性能管理が未完了のストレージ装置４ａに対して性能情報の取得処理を行なうまでの待機時間である。待機時間は、例えば、制御装置３ａからの性能データ取得処理にかかった時間を考慮して調整されてよい。このように、待機時間を設けることにより、ネットワーク１ａを連続的に長時間に亘って占有しないようにすることができ、ネットワーク１ａの通信負荷分散を実現できる。また、性能データのデータサイズやネットワーク状態の影響により性能データ取得処理の処理時間が変動したとしても、待機時間を可変な時間とすることで、変動分の時間を調整（吸収）できるため、次の性能データ取得処理を定期的な開始時刻に開始できる。
【０１１８】
一方、全てのストレージ装置４ａについて性能管理が完了した場合（ステップＳ１８でＹｅｓ）、定期処理としての性能情報取得処理が終了する。
【０１１９】
なお、図８のステップＳ１７及び図１２のステップＳ６３において、装置監視部２４及びＤＢ管理部２５は、それぞれ、監視スレッド及びＤＢ管理スレッドのステータスを変更する。
【０１２０】
例えば、管理部２ａは、各スレッドのステータスの組み合わせにより、性能管理機能のステータスを決定し、ステータスに応じて、オペレータへの通知やログへの書き出し等の状態出力処理を行なってもよい。
【０１２１】
一例として、監視スレッドは、“Normal”、“Recovering”、“Internal Error”、“Stop”等のステータスを有してよい。“Normal”は正常動作中を示し、“Recovering”は管理部２ａからストレージ装置４に通信できない状態を示す。“Internal Error”は制御装置３ａからの情報のダウンロード失敗又は圧縮ファイルの伸張失敗を示し、“Stop”はオペレータ指示による動作停止を示す。
【０１２２】
また、一例として、ＤＢ管理スレッドは、“Normal”、“Busy”、“Internal Error”、“Stop”等のステータスを有してよい。“Normal”は正常動作中を示す。“Busy”は、例えば、ディレクトリにＣＳＶファイルが溜まっており、待機時間に対して、ＤＢ管理スレッドによるＣＳＶファイル内の性能データをＰＴにインサートする処理が間に合っていない状況を示す。この場合、装置監視部２４は、待機時間をより長い時間に変更してよい。“Internal Error”は、ＤＢ管理スレッドによるＤＢ２１への書き込み時のディクス容量不足、或いは、ＤＢ２１の管理システム（例えばＰｏｓｔｇｒｅＳＱＬ）にアクセスできない、等の内部エラーを示す。“Stop”はオペレータ指示による動作停止を示す。
【０１２３】
上記のステータスの組み合わせに基づき、管理部２ａは、図１３に例示するように、性能管理機能のステータスを決定し、例えば、ステータスが“Monitoring”以外の場合に状態出力処理を実行してよい。
【０１２４】
このようなステータスの管理により、例えばオペレータは、ストレージ装置４ａ又は制御装置３ａとの通信エラーや管理部２ａの内部エラー、ＤＢ２１と待機時間との関係に起因する障害、等を容易に判別可能となり、リカバリを迅速に行なうことができる。
【０１２５】
以上のように、管理部２ａ（例えば装置監視部２４及びＤＢ管理部２５）は、第１の処理としての性能情報取得処理を実行する第１処理部の一例である。第１の処理は、例えば、以下の処理を含んでよい。
【０１２６】
・管理部２ａは、装置監視部２４が識別したストレージ装置４の種類が第１のストレージ装置４ａである場合、第１のストレージ装置４ａから送信された、第１のストレージ装置４ａの性能に関する第１の性能情報を受信する。
【０１２７】
・管理部２ａは、受信した第１の性能情報を、第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する。
【０１２８】
また、管理部２ｂ（例えば装置監視部２７）は、第２の処理としての性能情報取得処理を実行する第２処理部の一例である。第２の処理は、例えば、以下の処理を含んでよい。
【０１２９】
・管理部２ｂは、装置監視部２４が識別したストレージ装置４の種類が第２のストレージ装置４ｂである場合、第２のストレージ装置４ｂから送信された、第２のストレージ装置４ｂの性能に関する第２の性能情報を受信する。
【０１３０】
・管理部２ｂは、受信した第２の性能情報を、テキスト形式のファイルのデータとして記憶部に格納する。
【０１３１】
〔１−２−２〕性能情報削除処理
次に、図１４を参照して、ストレージシステム１のサーバ２における性能情報削除処理の動作例を説明する。
【０１３２】
なお、性能情報削除処理は、保持期間が超過したＰＴを削除する判定を行なう削除判定タイミング、例えば、数十秒等の所定周期で定期的に実行されてよい。なお、削除判定タイミングは、保持期間やＰＴの時間軸における格納単位に応じた間隔であってもよい。
【０１３３】
図１４に例示するように、装置監視部２４は、構成情報２１１を参照して、ストレージ装置４（例えば、サーバ２に接続される全てのストレージ装置４のそれぞれ）に対する、性能状態取得要求のＲＥＳＴ  ＡＰＩを発行する。ＩＦ制御部２３は、ＲＥＳＴ  ＡＰＩのフレームワークを通じて、ネットワーク１ａ及び１ｂを介してストレージ装置４に要求を送信する（ステップＳ７１）。
【０１３４】
装置監視部２４は、ＩＦ制御部２３を介して制御装置３から性能状態の情報を正常に取得したか否かを判定する（ステップＳ７２）。正常に取得していない場合（ステップＳ７２でＮｏ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応していないストレージ装置４ｂの制御装置３ｂであることを意味する。
【０１３５】
従って、この場合、装置監視部２４は、管理部２ｂに対して、性能状態の情報を正常に取得できなかったストレージ装置４ｂに対する制御装置Ｂ用の性能情報削除処理を実行するように指示する。
【０１３６】
管理部２ｂの装置監視部２７は、メモリ部２２におけるＣＳＶ２２２を管理するファイルシステムにおいて、未検索のディレクトリが存在するか否かを判定する（ステップＳ７３）。
【０１３７】
未検索のディレクトリが存在する場合（ステップＳ７３でＹｅｓ）、装置監視部２７は、ディレクトリ名から、性能情報の格納時刻を取得する（ステップＳ７４）。そして、装置監視部２７は、取得した時刻が削除対象の時刻（例えば現在時刻から保持期間を減じた時刻よりも前の時刻）か否かを判定する（ステップＳ７５）。
【０１３８】
取得した時刻が削除対象の時刻ではない場合（ステップＳ７５でＮｏ）、処理がステップＳ７３に移行する。一方、取得した時刻が削除対象の時刻である場合（ステップＳ７５でＹｅｓ）、装置監視部２７は、該当するディレクトリを削除し（ステップＳ７６）、処理がステップＳ７３に移行する。
【０１３９】
ステップＳ７３において、未検索のディレクトリが存在しない場合（ステップＳ７３でＮｏ）、性能情報削除処理が終了する。
【０１４０】
以下、図１５を参照して、制御装置Ｂ用の性能情報削除処理の一例を説明する。図１５に例示するように、ファイルシステムにおいて１０月１日〜１０月８日の「ディレクトリ１〜８」が管理され、ディレクトリの格納単位は１日であり、保持期間が７日であると仮定する。
【０１４１】
例えば、装置監視部２７は、ファイルシステムにおいて「ディレクトリ１〜８」として管理される性能情報のうち、保持期限の過ぎた“１０月１日”分のディレクトリを検索する。そして、装置監視部２７は、検索した“１０月１日”分の「ディレクトリ８」を削除することで削除対象のＣＳＶ２２２を削除する。
【０１４２】
図１４の説明に戻り、ステップＳ７２において、制御装置３ａから性能状態を正常に取得した場合（ステップＳ７２でＹｅｓ）、性能状態取得要求の送信先の制御装置３が、ＲＥＳＴ  ＡＰＩに対応するストレージ装置４ａの制御装置３ａであることを意味する。
【０１４３】
この場合、装置監視部２４は、ストレージ装置４ａに対する制御装置Ａ用の性能情報削除処理を実行する。
【０１４４】
装置監視部２４は、ストレージ識別子と現在時刻とＰＴ名とを用いて、削除対象のテーブルを検索する（ステップＳ７７）。
【０１４５】
例えば、装置監視部２４は、論理テーブルを用いて、削除判定対象のストレージ識別子を含む複数のＰＴ（ＰＴ名）から、ＰＴ名に含まれる時刻が削除対象の時刻（例えば現在時刻から保持期間を減じた時刻よりも前の時刻）であるＰＴを検索する。
【０１４６】
そして、装置監視部２４は、検索により特定した削除対象のＰＴをＤＢ２１の性能情報２１２から削除し（ステップＳ７８）、性能情報削除処理が終了する。なお、装置監視部２４は、ＰＴの削除に応じて、管理テーブル２１３における削除対象のＰＴに対応するＰＴ名のエントリを削除してよい。
【０１４７】
このように、装置監視部２４は、所定周期で、ＤＢ２１に格納されたテーブルのテーブル名と、現在時刻とに基づいて、ＤＢ２１から保持期間を超えたテーブルを削除するのである。
【０１４８】
以下、図１６を参照して、制御装置Ａ用の性能情報削除処理の一例を説明する。図１６に例示するように、ＰＴの論理テーブルにおいて、１０月１日〜１０月８日のＰＴが管理され、ＰＴの格納単位は１日であり、保持期間が７日であると仮定する。
【０１４９】
この場合、装置監視部２４は、論理テーブルを参照して、保持期間を過ぎたＰＴ、例えば、１０月１日分のＰＴを特定する。
【０１５０】
上述のように、ＰＴは、格納単位で作成・管理されるため、装置監視部２４は、保持期間を過ぎたＰＴを、例えばDrop Table等のコマンドにより削除する。
【０１５１】
なお、論理テーブルは、性能情報２１２から特定のＰＴをまとめて検索（抽出）できる機能として、例えば装置監視部２４により提供されてよい。すなわち、論理テーブルは、実際にデータとして（例えばＤＢ２１において）管理されるテーブルではなく、装置監視部２４が性能情報２１２から特定のＰＴを抽出する際のウィンドウとして実現されてよい。
【０１５２】
論理テーブルでは、例えば、ＰＴ名のうちの特定の部分に対応する文字列を含むＰＴが検索可能であってよい。特定の部分とは、例えば、ＰＴ名のうちの、ストレージ単位で特定可能な“performance_xxxxxx”の部分（換言すれば、ＰＴ名からリソースタイプ及び格納単位、例えば“storages_part_20171001”を除いた部分）であってよい。
【０１５３】
これにより、装置監視部２４は、性能情報２１２が有する複数のＰＴから、特定の部分に対応する文字列を含むＰＴ、例えば、或るストレージ“xxxxxx”に関するＰＴの情報を、１つの大きなテーブルとして扱うことができる。このような機能を持つ論理テーブルは、サーバ２によるユーザに対する性能情報の提供の際に利用されてもよい。
【０１５４】
なお、論理テーブルは、性能情報２１２からＰＴを検索できる機能として説明したが、これに限定されるものではなく、管理テーブル２１３から特定のＰＴ名の一覧を検索できる機能として提供されてもよい。この場合、ＰＴ名に加えて、又は、代えて、管理テーブル２１３のストレージ識別子、リソースタイプ、開始時刻、終了時刻、最終更新時等の項目が検索キーとして利用されてもよい。
【０１５５】
以上のように、管理部２ａは、性能データをＣＳＶ形式ではなくＤＢ２１により管理することで、ファイルシステム上で削除対象を検索する場合と比較して、装置監視部２４による削除対象の検索効率を高めることができる。また、ＤＢ２１では、性能情報２１２が取得日時ごとのＰＴに分割され、装置監視部２４により、保持期限を超過したときにＰＴ単位で性能情報２１２が削除される。これにより、サーバ２の処理負荷を低減することができ、削除処理のオーバヘッドを改善できる。
【０１５６】
また、ＤＢ２１では、インポート時に、削除単位でまとめられたレコードによりＰＴが作成されており、保持期限超過の監視タイミングにおいて、装置監視部２４は、削除対象のＰＴ全体を削除する。これにより、単一のテーブルから削除期間でフィルタリングしてレコード単位に削除する場合よりも、削除処理の効率を高めることができる。
【０１５７】
なお、開発者向けの性能データ（圧縮ファイルのバイト列）を含むＰＴと、少なくともユーザ向けの性能データを含むＰＴとでは、互いに異なる保持期間が設けられてもよい。一例として、少なくともユーザ向けの性能データを含むＰＴの保持期間が９０日間である場合、開発者向けの性能データを含むＰＴの保持期間は、例えば９０日よりも短い７日間程度であってもよい。
【０１５８】
装置監視部２４は、例えば、上記のような保持期間の差異に基づいて、ステップＳ７７及びＳ７８の削除対象のテーブルの検索及び削除の処理を行なってよい。
【０１５９】
〔１−３〕ハードウェア構成例
次に、図１７を参照して、一実施形態に係るサーバ２、並びに、制御装置３ａ及び３ｂのハードウェア構成例について説明する。サーバ２、並びに、制御装置３ａ及び３ｂは、同様のハードウェア構成をそなえてよいため、以下、これらの一例としてコンピュータ１０を例に挙げて、コンピュータ１０のハードウェア構成例について説明する。
【０１６０】
図１７に示すように、コンピュータ１０は、例示的に、プロセッサ１０ａ、メモリ１０ｂ、記憶部１０ｃ、ＩＦ部１０ｄ、Ｉ／Ｏ部１０ｅ、及び読取部１０ｆをそなえてよい。
【０１６１】
プロセッサ１０ａは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ１０ａは、コンピュータ１０内の各ブロックとバス１０ｉで相互に通信可能に接続されてよい。プロセッサ１０ａとしては、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＡＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ等の集積回路（ＩＣ；Integrated Circuit）が用いられてもよい。なお、ＭＰＵはMicro Processing Unitの略称であり、ＧＰＵはGraphics Processing Unitの略称である。ＡＰＵはAccelerated Processing Unitの略称であり、ＤＳＰはDigital Signal Processorの略称である。ＡＳＩＣはApplication Specific ICの略称であり、ＦＰＧＡはField-Programmable Gate Arrayの略称である。
【０１６２】
メモリ１０ｂは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ１０ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【０１６３】
記憶部１０ｃは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部１０ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ＳＣＭ（Storage Class Memory）、ＲＯＭ（Read Only Memory）等が挙げられる。
【０１６４】
なお、サーバ２において、図２に示すＤＢ２１及びメモリ部２２は、それぞれ、例えば、サーバ２のメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。また、制御装置３ａにおいて、図５に示すＤＢ３１は、例えば、制御装置３ａのメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。さらに、制御装置３ｂにおいて、図６に示すメモリ部３３は、例えば、制御装置３ｂのメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。
【０１６５】
また、記憶部１０ｃは、コンピュータ１０の各種機能の全部若しくは一部を実現するプログラム１０ｇを格納してよい。プロセッサ１０ａは、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して実行することにより、サーバ２、又は、制御装置３ａ若しくは３ｂとしての機能を実現できる。
【０１６６】
例えば、サーバ２においては、サーバ２のプロセッサ１０ａが、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して演算処理を実行することで、管理部２ａ及び２ｂとしての機能を実現できる。また、制御装置３ａにおいては、制御装置３ａのプロセッサ１０ａが、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して演算処理を実行することで、制御部３２としての機能を実現できる。さらに、制御装置３ｂにおいては、制御装置３ｂのプロセッサ１０ａが、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して演算処理を実行することで、制御部３４としての機能を実現できる。
【０１６７】
ＩＦ部１０ｄは、ネットワークとの間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えば、ＩＦ部１０ｄは、ＬＡＮ、或いは、光通信（例えばＦＣ（Fibre Channel；ファイバチャネル））等に準拠したアダプタを含んでよい。
【０１６８】
例えば、サーバ２のＩＦ部１０ｄは、ネットワーク１ａ及び１ｂとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。サーバ２のＩＦ制御部２３及び２６は、それぞれ、当該通信インタフェースの一例である。また、制御装置３ａのＩＦ部１０ｄは、ネットワーク１ａとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。さらに、制御装置３ｂのＩＦ部１０ｄは、ネットワーク１ｂとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。
【０１６９】
例えば、サーバ２、又は、制御装置３ａ若しくは３ｂのプログラム１０ｇは、当該通信インタフェースを介してネットワーク１ａ及び１ｂのいずれかからダウンロードされ、記憶部１０ｃに格納されてもよい。
【０１７０】
Ｉ／Ｏ部１０ｅは、マウス、キーボード、又は操作ボタン等の入力部、並びに、タッチパネルディスプレイ、ＬＣＤ（Liquid Crystal Display）等のモニタ、プロジェクタ、又はプリンタ等の出力部、の一方又は双方を含んでよい。
【０１７１】
読取部１０ｆは、記録媒体１０ｈに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部１０ｆは、記録媒体１０ｈを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部１０ｆとしては、例えば、ＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体１０ｈにはプログラム１０ｇが格納されてもよく、読取部１０ｆが記録媒体１０ｈからプログラム１０ｇを読み出して記憶部１０ｃに格納してもよい。
【０１７２】
記録媒体１０ｈとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等が挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【０１７３】
上述したコンピュータ１０のハードウェア構成は例示である。従って、サーバ２、又は、制御装置３ａ若しくは３ｂごとに、コンピュータ１０内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【０１７４】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１７５】
例えば、サーバ２において、管理部２ａ及び２ｂの各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、サーバ２の管理部２ａにおいて、ＩＦ制御部２３、装置監視部２４、及びＤＢ管理部２５の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。さらに、サーバ２の管理部２ｂにおいて、ＩＦ制御部２６及び装置監視部２７の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【０１７６】
また、図１２のステップＳ５１及びＳ５２、並びに、図１４のステップＳ７１及びＳ７２における、ストレージ装置４ａ及び４ｂの判別処理は、例えば、図８のステップＳ１及びＳ２の判別処理における判別結果を利用できる場合には省略されてもよい。
【０１７７】
例えば、装置監視部２４は、ステップＳ１及びＳ２における判別結果を、ストレージ装置４の識別情報やアドレス情報等に対応付けて管理してもよい。この場合、ＤＢ管理部２５及び装置監視部２４は、ステップＳ５１及びＳ５２、並びに、ステップＳ７１及びＳ７２に代えて、判別結果を管理する情報の参照処理を実行してよい。
【０１７８】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１７９】
（付記１）
ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別する識別部と、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、第１の処理を実行する第１処理部と、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、第２の処理を実行する第２処理部と、
識別した前記ストレージ装置の種類に応じて、前記第１処理部による前記第１の処理の実行、又は、前記第２処理部による前記第２の処理の実行、を切り替える切替部と、をそなえる
ストレージ管理装置。
【０１８０】
（付記２）
前記第１の性能情報は、性能種別ごとの複数の性能データを含み、
前記第１処理部は、前記第１の処理において、前記第１のストレージ装置から受信した前記複数の性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
付記１に記載のストレージ管理装置。
【０１８１】
（付記３）
前記第１処理部は、前記第１の処理において、
前記第１のストレージ装置により前記性能種別ごとの複数の性能データが圧縮された圧縮データである前記第１の性能情報を、前記第１のストレージ装置から受信し、
受信した前記圧縮データのうちの少なくとも一部を伸張して少なくとも一つの性能データを取得し、
取得した前記少なくとも一つの性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
付記２に記載のストレージ管理装置。
【０１８２】
（付記４）
前記第１処理部は、前記第１の処理において、受信した前記圧縮データのうちの伸張していない部分の性能データを圧縮形式の状態で前記データベースに格納する、
付記３に記載のストレージ管理装置。
【０１８３】
（付記５）
前記第１の性能情報に含まれる前記複数の性能データの各々のファイル名に、当該性能データの性能種別と、当該性能データの取得時刻と、が設定され、
前記第１処理部は、前記第１の処理において、各性能データのファイル名に基づいて、当該性能データを含めるテーブルを検索する、
付記２〜４のいずれか１項に記載のストレージ管理装置。
【０１８４】
（付記６）
前記データベースに格納されたテーブルのテーブル名に、当該テーブルに含まれる性能データの性能種別と、当該テーブルに含まれる性能データが受信された期間と、が設定され、
前記第１処理部は、所定周期で、前記データベースに格納されたテーブルのテーブル名と、現在時刻とに基づいて、前記データベースから保持期間を超えたテーブルを削除する、
付記２〜５のいずれか１項に記載のストレージ管理装置。
【０１８５】
（付記７）
ストレージ装置と、
前記ストレージ装置をそなえるストレージシステムを管理するストレージ管理装置と、をそなえ、
前記ストレージ管理装置は、
前記ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別し、
識別した前記ストレージ装置の種類に応じて、第１の処理の実行、又は、第２の処理の実行、を切り替え、
前記第１の処理は、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、
受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、処理を含み、
前記第２の処理は、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、
受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、処理を含む、
ストレージシステム。
【０１８６】
（付記８）
前記第１の性能情報は、性能種別ごとの複数の性能データを含み、
前記ストレージ管理装置は、前記第１の処理において、前記第１のストレージ装置から受信した前記複数の性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
付記７に記載のストレージシステム。
【０１８７】
（付記９）
前記第１のストレージ装置は、前記性能種別ごとの複数の性能データを圧縮した圧縮データを前記第１の性能情報として前記ストレージ管理装置に送信し、
前記ストレージ管理装置は、前記第１の処理において、
前記第１のストレージ装置から前記圧縮データを受信し、
受信した前記圧縮データのうちの少なくとも一部を伸張して少なくとも一つの性能データを取得し、
取得した前記少なくとも一つの性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
付記８に記載のストレージシステム。
【０１８８】
（付記１０）
前記ストレージ管理装置は、前記第１の処理において、受信した前記圧縮データのうちの伸張していない部分の性能データを圧縮形式の状態で前記データベースに格納する、
付記９に記載のストレージシステム。
【０１８９】
（付記１１）
前記第１のストレージ装置は、前記第１の性能情報に含まれる前記複数の性能データの各々のファイル名に、当該性能データの性能種別と、当該性能データの取得時刻と、を設定して、前記第１の性能情報を前記ストレージ管理装置に送信し、
前記ストレージ管理装置は、前記第１の処理において、受信した前記第１の性能情報に含まれる各性能データのファイル名に基づいて、当該性能データを含めるテーブルを検索する、
付記８〜１０のいずれか１項に記載のストレージシステム。
【０１９０】
（付記１２）
前記データベースに格納されたテーブルのテーブル名に、当該テーブルに含まれる性能データの性能種別と、当該テーブルに含まれる性能データが受信された期間と、が設定され、
前記ストレージ管理装置は、所定周期で、前記データベースに格納されたテーブルのテーブル名と、現在時刻とに基づいて、前記データベースから保持期間を超えたテーブルを削除する、
付記８〜１１のいずれか１項に記載のストレージシステム。
【０１９１】
（付記１３）
コンピュータに、
ストレージ装置から送信される、前記ストレージ装置の状態に関する状態情報を受信し、前記状態情報の受信結果に基づいて、前記ストレージ装置の種類を識別し、
識別した前記ストレージ装置の種類に応じて、第１の処理の実行、又は、第２の処理の実行、を切り替える、
処理を実行させ、
前記第１の処理は、
識別した前記ストレージ装置の種類が第１のストレージ装置である場合、前記第１のストレージ装置から送信された、前記第１のストレージ装置の性能に関する第１の性能情報を受信し、
受信した前記第１の性能情報を、前記第１の性能情報を受信した期間ごとに対応づけたテーブルのデータとしてデータベースに格納する、処理を含み、
前記第２の処理は、
識別した前記ストレージ装置の種類が第２のストレージ装置である場合、前記第２のストレージ装置から送信された、前記第２のストレージ装置の性能に関する第２の性能情報を受信し、
受信した前記第２の性能情報をテキスト形式のファイルのデータとして記憶部に格納する、処理を含む、
ストレージ管理プログラム。
【０１９２】
（付記１４）
前記第１の性能情報は、性能種別ごとの複数の性能データを含み、
前記コンピュータに、前記第１の処理において、前記第１のストレージ装置から受信した前記複数の性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
処理を実行させる、付記１３に記載のストレージ管理プログラム。
【０１９３】
（付記１５）
前記コンピュータに、前記第１の処理において、
前記第１のストレージ装置により前記性能種別ごとの複数の性能データが圧縮された圧縮データである前記第１の性能情報を、前記第１のストレージ装置から受信し、
受信した前記圧縮データのうちの少なくとも一部を伸張して少なくとも一つの性能データを取得し、
取得した前記少なくとも一つの性能データを、前記期間ごと且つ性能種別ごとに対応づけたテーブルのデータとして前記データベースに格納する、
処理を実行させる、付記１４に記載のストレージ管理プログラム。
【０１９４】
（付記１６）
前記コンピュータに、前記第１の処理において、受信した前記圧縮データのうちの伸張していない部分の性能データを圧縮形式の状態で前記データベースに格納する、
処理を実行させる、付記１５に記載のストレージ管理プログラム。
【０１９５】
（付記１７）
前記第１の性能情報に含まれる前記複数の性能データの各々のファイル名に、当該性能データの性能種別と、当該性能データの取得時刻と、が設定され、
前記コンピュータに、前記第１の処理において、各性能データのファイル名に基づいて、当該性能データを含めるテーブルを検索する、
処理を実行させる、付記１４〜１６のいずれか１項に記載のストレージ管理プログラム。
【０１９６】
（付記１８）
前記データベースに格納されたテーブルのテーブル名に、当該テーブルに含まれる性能データの性能種別と、当該テーブルに含まれる性能データが受信された期間と、が設定され、
前記コンピュータに、所定周期で、前記データベースに格納されたテーブルのテーブル名と、現在時刻とに基づいて、前記データベースから保持期間を超えたテーブルを削除する、
処理を実行させる、付記１４〜１７のいずれか１項に記載のストレージ管理プログラム。
【符号の説明】
【０１９７】
１    ストレージシステム
１ａ、１ｂ    ネットワーク
２    サーバ
２ａ、２ｂ    管理部
２１、３１    ＤＢ
２１１    構成情報
２１２    性能情報
２１２ａ、２１２ｂ    テーブル
２１３    管理テーブル
２２、３３    メモリ部
２２１    構成ＸＭＬ
２２２    ＣＳＶ
２３、２６    ＩＦ制御部
２４、２７    装置監視部
２５    ＤＢ管理部
３、３ａ、３ｂ    制御装置
３１１、３３１    装置情報
３２、３４    制御部
４、４ａ、４ｂ    ストレージ装置
【図１】
2019160124.tif 000003
【図２】
2019160124.tif 000004
【図３】
2019160124.tif 000005
【図４】
2019160124.tif 000006
【図５】
2019160124.tif 000007
【図６】
2019160124.tif 000008
【図７】
2019160124.tif 000009
【図８】
2019160124.tif 000010
【図９】
2019160124.tif 000011
【図１０】
2019160124.tif 000012
【図１１】
2019160124.tif 000013
【図１２】
2019160124.tif 000014
【図１３】
2019160124.tif 000015
【図１４】
2019160124.tif 000016
【図１５】
2019160124.tif 000017
【図１６】
2019160124.tif 000018
【図１７】
2019160124.tif 000019