以下、本発明の実施の形態を、図面を参照して説明する。
図1Aは、本発明の実施の形態の計算機システムの構成を示すブロック図である。
本実施の形態の計算機システムは、業務クライアント100〜103、性能管理クライアント104、性能情報収集サーバ110、ホストサーバ120〜122、性能情報収集サーバ140、性能情報収集サーバ150、性能管理サーバ160、ネットワークアタッチドストレージ(NAS)190、ストレージサブシステム195及びストレージエリアネットワーク(SAN)スイッチ170〜172を備える。上記のうちストレージサブシステム195を除く各装置は、ローカルエリアネットワーク(LAN)105によって相互に接続されている。
業務クライアント100〜103は、業務システムのユーザインターフェース機能を提供するパソコン、ワークステーション又はシンクライアント端末等の装置である。業務クライアント100〜103は、LAN105を経由して、ホストサーバ120〜122の業務ソフト126等と通信する。
ホストサーバ120〜122は、LAN105を経由して業務クライアント100〜103から受信した要求に応じて種々の処理を実行する計算機である。ホストサーバ120〜122のハードウェア構成については、後で図1Fを参照して説明する。
ホストサーバ120〜122は、少なくとも、業務ソフト126、データベース(DB)管理ソフト127、オペレーティングシステム(OS)128、業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131等のソフトウェアを保持する。
業務ソフト126は、業務システムの業務論理機能を提供するソフトウェアである。具体的には、業務ソフト126は、業務クライアント100〜103からの処理要求に応答し、必要に応じてDB管理ソフト127にデータの参照又は更新を要求する。ホストサーバ120〜122は、複数の業務ソフト126を保持してもよい。
DB管理ソフト127は、業務システムのデータ管理機能を提供するソフトウェアである。具体的には、DB管理ソフト127は、業務ソフト126からの要求に応答し、ストレージサブシステム195又はNAS190に格納されたデータの定義、操作及び管理に関する処理を実行する。業務ソフト126と、その業務ソフト126が利用するDB管理ソフト127は、同一のホストサーバ120〜122によって実行されてもよいし、それぞれが専用のホストサーバ120〜122によって実行されてもよい。
DB管理ソフト127からストレージサブシステム195へのデータアクセスは、OS128、ホストバスアダプタ(HBA)133(図1F参照)のポート173〜175、SANスイッチ170〜172のホスト側ポート176〜178、SANスイッチ170〜172のストレージ側ポート180〜182、及び、ストレージサブシステム195のポート183〜185を経由して実行される。一方、DB管理ソフト127からNAS190へのデータアクセスは、OS128及びLAN105を経由する。
性能管理クライアント104、性能管理サーバ160、性能情報収集サーバ110、140及び150は、ストレージネットワーク及び業務システムの性能を管理するために設けられる計算機である。性能管理サーバ160、性能情報収集サーバ110、140及び150のハードウェア構成については、後で図1Bから図1Eを参照して説明する。
性能管理サーバ160が保持するストレージネットワーク性能管理ソフト164、各性能情報収集サーバが保持するNAS性能情報収集エージェント114、SANスイッチ性能情報収集エージェント144、サブシステム性能情報収集エージェント154、ホストサーバ120〜122が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131は、ストレージネットワーク及び業務システムの性能を管理するためのソフトウェアである。
性能管理クライアント104は、ストレージネットワーク性能管理ソフト164のユーザインターフェース機能を提供する装置である。性能管理クライアント104は、LAN105を経由して、性能管理サーバ160のストレージネットワーク性能管理ソフト164と通信する。
ストレージネットワーク性能管理ソフト164は、ストレージネットワークが導入された計算機システムの性能情報を収集及び分析する機能を提供するソフトウェアである。性能情報とは、計算機システムを構成するハードウェアリソース及びソフトウェアリソースの性能を示す情報である。ストレージネットワーク性能管理ソフト164は、計算機システムを構成する種々のハードウェアリソース及びソフトウェアリソースから性能情報を取得するために、それぞれのハードウェアリソース及びソフトウェアリソース専用の性能情報収集エージェントソフトウェアを利用する。性能情報収集エージェントの構成及び配置として種々のものが考えられるため、以下、その一例を説明する。
業務ソフト性能情報収集エージェント129及びDB性能情報収集エージェント130は、それぞれ、業務ソフト126及びDB管理ソフト127に関する性能情報を取得するためのソフトウェアである。
ホスト性能情報収集エージェント131は、ホストサーバ120〜122、OS128及びポート173〜175に関する性能情報を取得する。
サブシステム性能情報収集エージェント154は、ポート186及びSANスイッチ170〜172を経由して、ストレージサブシステム195、及び、ストレージサブシステム195が備えるポート183〜185に関する性能情報を取得する。
NAS性能情報収集エージェント114は、LAN105を経由して、NAS190に関する性能情報を取得する。
SANスイッチ性能情報収集エージェント144は、LAN105を経由して、SANスイッチ170〜172、及び、SANスイッチ170〜172が備えるポート176〜182に関する性能情報を取得する。
サブシステム性能情報収集エージェント154、NAS性能情報収集エージェント114及びSANスイッチ性能情報収集エージェント144は、一つの性能情報収集サーバによって実行されてもよいし、それぞれが専用の性能情報収集サーバによって実行されてもよい。
これらの性能情報収集エージェント及びストレージネットワーク性能管理ソフト164の構成については、後で図2A及び図2Bを参照して説明する。
ストレージサブシステム195は、ホストサーバ120〜122にデータ記憶領域を提供するデータ記憶装置である。具体的には、ストレージサブシステム195は、データを格納する物理ディスク301〜308(図3参照)と、物理記憶領域へのデータの書き込み及び読み出しを制御するコントローラ(図示省略)とを備える。ホストサーバ120〜122の業務ソフト126及びDB管理ソフト127がOS128を介してストレージサブシステム195に書き込むデータは、最終的に、物理ディスク301〜308に格納される。
ストレージサブシステム195は、ストレージエリアネットワーク(SAN)を介してホストサーバ120〜122と接続される。図1Aの例では、複数のSANスイッチ170〜172がSANを構成する。
NAS190は、ストレージサブシステム195と同様、ホストサーバ120〜122にデータ記憶領域を提供するデータ記憶装置である。ただし、NAS190は、LAN105を介してホストサーバ120〜122と接続される。
図1Bは、本発明の実施の形態の性能管理サーバ160のハードウェア構成を示すブロック図である。
本実施の形態の性能管理サーバ160は、相互に接続されたCPU161、メモリ162、ディスクドライブ163及びインターフェース(I/F)165を備える。
CPU161は、メモリ162に格納されたソフトウェアを実行するプロセッサである。
メモリ162は、例えば半導体メモリであり、CPU161によって実行されるソフトウェア及びその他のデータを格納する。
ディスクドライブ163は、例えばハードディスクドライブ(HDD)であり、CPU161によって実行されるソフトウェア及びその他のデータを格納する。図1Bの例では、ディスクドライブ163には、ストレージネットワーク性能管理ソフト164が格納される。ストレージネットワーク性能管理ソフト164は、必要に応じてメモリ162に複写され、CPU161によって実行される。
なお、ディスクドライブ163は、例えば光ディスクドライブ等、HDD以外のいかなる種類のディスクドライブであってもよい。あるいは、ディスクドライブ163は、例えばフラッシュメモリのような半導体メモリによって置き換えられてもよい。
I/F165は、LAN105に接続されるインターフェースである。I/F165は、LAN105に接続された他の計算機等と通信する。
図1Cは、本発明の実施の形態の性能情報収集サーバ150のハードウェア構成を示すブロック図である。
本実施の形態の性能情報収集サーバ150は、相互に接続されたCPU151、メモリ152、ディスクドライブ153、I/F155及びホストバスアダプタ(HBA)156を備える。
CPU151は、メモリ152に格納されたソフトウェアを実行するプロセッサである。
メモリ152は、例えば半導体メモリであり、CPU151によって実行されるソフトウェア及びその他のデータを格納する。
ディスクドライブ153は、例えばHDDであり、CPU151によって実行されるソフトウェア及びその他のデータを格納する。図1Cの例では、ディスクドライブ153には、サブシステム性能情報収集エージェント154が格納される。サブシステム性能情報収集エージェント154は、必要に応じてメモリ152に複写され、CPU151によって実行される。ディスクドライブ153は、ディスクドライブ163と同様、いかなる種類のディスクドライブ又は半導体メモリであってもよい。
I/F155は、LAN105に接続されるインターフェースである。I/F155は、LAN105に接続された他の計算機等と通信する。
HBA156は、SANスイッチ170〜172の少なくとも一つと接続されるインターフェースである。HBA156は、SANスイッチ170〜172と接続される一つ以上のポート186を備える。HBA156は、SANスイッチ170〜172を介してストレージサブシステム195と通信することによって、ストレージサブシステム195に関する性能情報を取得する。HBA156は、例えばファイバーチャネル(FC)プロトコルを使用するが、その他のいかなるプロトコルを使用してもよい。
図1Dは、本発明の実施の形態の性能情報収集サーバ140のハードウェア構成を示すブロック図である。
本実施の形態の性能情報収集サーバ140は、相互に接続されたCPU141、メモリ142、ディスクドライブ143及びI/F145を備える。
CPU141は、メモリ142に格納されたソフトウェアを実行するプロセッサである。
メモリ142は、例えば半導体メモリであり、CPU141によって実行されるソフトウェア及びその他のデータを格納する。
ディスクドライブ143は、例えばHDDであり、CPU141によって実行されるソフトウェア及びその他のデータを格納する。図1Dの例では、ディスクドライブ143には、SANスイッチ性能情報収集エージェント144が格納される。SANスイッチ性能情報収集エージェント144は、必要に応じてメモリ142に複写され、CPU141によって実行される。ディスクドライブ143は、ディスクドライブ163と同様、いかなる種類のディスクドライブ又は半導体メモリであってもよい。
I/F145は、LAN105に接続されるインターフェースである。I/F145は、LAN105に接続された他の計算機等と通信する。
図1Eは、本発明の実施の形態の性能情報収集サーバ110のハードウェア構成を示すブロック図である。
本実施の形態の性能情報収集サーバ110は、相互に接続されたCPU111、メモリ112、ディスクドライブ113及びI/F115を備える。
CPU111は、メモリ112に格納されたソフトウェアを実行するプロセッサである。
メモリ112は、例えば半導体メモリであり、CPU111によって実行されるソフトウェア及びその他のデータを格納する。
ディスクドライブ113は、例えばHDDであり、CPU111によって実行されるソフトウェア及びその他のデータを格納する。図1Eの例では、ディスクドライブ113には、NAS性能情報収集エージェント114が格納される。NAS性能情報収集エージェント114は、必要に応じてメモリ112に複写され、CPU111によって実行される。ディスクドライブ113は、ディスクドライブ163と同様、いかなる種類のディスクドライブ又は半導体メモリであってもよい。
I/F115は、LAN105に接続されるインターフェースである。I/F115は、LAN105に接続された他の計算機等と通信する。
図1Fは、本発明の実施の形態のホストサーバ120のハードウェア構成を示すブロック図である。
ホストサーバ121及び122のハードウェア構成は、ホストサーバ120と同様であるため、説明を省略する。
本実施の形態のホストサーバ120は、相互に接続されたCPU123、メモリ124、ディスクドライブ125、I/F132及びHBA133を備える。
CPU123は、メモリ124に格納されたソフトウェアを実行するプロセッサである。
メモリ124は、例えば半導体メモリであり、CPU123によって実行されるソフトウェア及びその他のデータを格納する。
ディスクドライブ125は、例えばHDDであり、CPU123によって実行されるソフトウェア及びその他のデータを格納する。図1Fの例では、ディスクドライブ125には、業務ソフト126、DB管理ソフト127、OS128、業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131が格納される。これらのソフトウェアは、必要に応じてメモリ124に複写され、CPU123によって実行される。ディスクドライブ125は、ディスクドライブ163と同様、いかなる種類のディスクドライブ又は半導体メモリであってもよい。
I/F132は、LAN105に接続されるインターフェースである。I/F132は、LAN105に接続された他の計算機等と通信する。
HBA133は、SANスイッチ170〜172の少なくとも一つと接続されるインターフェースである。HBA133は、SANスイッチ170〜172と接続される一つ以上のポート173を備える。HBA133は、SANスイッチ170〜172を介して、ストレージサブシステム195に書き込まれるデータ、又は、ストレージサブシステム195から読み出されたデータを通信する。HBA133は、例えばファイバーチャネル(FC)プロトコルを使用するが、その他のいかなるプロトコルを使用してもよい。
図2Aは、本発明の実施の形態の性能情報収集エージェントの機能ブロック図である。
図2Aにおいて、ストレージネットワーク構成装置・ソフト201〜203は、ストレージネットワークが導入された計算機システムを構成するハードウェア又はソフトウェアである。これらは、ストレージネットワーク性能管理ソフト164による監視の対象である一つ以上のリソースを含む。
具体的には、ストレージネットワーク構成装置・ソフト201〜203のそれぞれは、図1Aにおけるホストサーバ120〜122、業務ソフト126、DB管理ソフト127、OS128、ストレージサブシステム195、NAS190、SANスイッチ170〜172、及び、ポート173〜185のいずれかに相当する。図2Aには三つのストレージネットワーク構成装置・ソフト201〜203のみを示すが、実際には、監視対象となるハードウェア及びソフトウェアと同数のストレージネットワーク構成装置・ソフト201〜203が存在する。
ストレージネットワーク構成装置・ソフト201〜203は、構成情報取得部204及び性能情報取得部205を含む。これらの各部は、ストレージネットワーク構成装置・ソフト201〜203がソフトウェアである場合、そのソフトウェアの一部を構成するモジュールである。あるいは、ストレージネットワーク構成装置・ソフト201〜203がハードウェアである場合、これらの各部は、そのハードウェアの一部、又は、そのハードウェアにおいて実行されるプログラムモジュールである。
性能情報収集エージェント206〜208は、ストレージネットワーク構成装置・ソフト201〜203から性能情報を取得するソフトウェアである。具体的には、性能情報収集エージェント206〜208のそれぞれは、図1AにおけるNAS性能情報収集エージェント114、業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130、ホスト性能情報収集エージェント131、SANスイッチ性能情報収集エージェント144及びサブシステム性能情報収集エージェント154のいずれかに相当する。図2Aには三つの性能情報収集エージェント206〜208のみを示すが、実際には、任意の数の性能情報収集エージェント206〜208が存在してもよい。
性能情報収集エージェント206〜208は、構成情報収集部209、リソース間関連情報記憶部210、構成情報応答部211、性能情報収集部212、メトリクス値テーブル213、性能情報応答部214、閾値設定情報テーブル215、閾値設定部216、閾値超過検知部217、メトリクス値削除部218、収集優先度テーブル219及び収集優先度設定部220を含む。
構成情報収集部209、構成情報応答部211、性能情報収集部212、性能情報応答部214、閾値設定部216、閾値超過検知部217、メトリクス値削除部218及び収集優先度設定部220は、それぞれ、性能情報収集エージェント206〜208の一部を構成するモジュールである。リソース間関連情報記憶部210、メトリクス値テーブル213、閾値設定情報テーブル215及び収集優先度テーブル219は、性能情報収集エージェント206〜208によって管理されるメモリ112等又はディスクドライブ113等の記憶領域である。これらの各部及びテーブルについては、後で詳細に説明する。
図2Bは、本発明の実施の形態のストレージネットワーク性能管理ソフト164の機能ブロック図である。
ストレージネットワーク性能管理ソフト164は、構成情報収集部221、リソース間関連情報記憶部222、性能負荷情報テーブル223、性能情報取得部224、性能負荷目標設定テーブル225、性能負荷目標設定部226、性能情報収集部227、メトリクス値テーブル228、性能分析表示部229、収集優先度テーブル230、収集優先度設定部231、閾値超過履歴テーブル232、閾値超過検知部233、閾値設定情報テーブル234及び閾値設定部235を含む。
構成情報収集部221、性能情報取得部224、性能負荷目標設定部226、性能情報収集部227、性能分析表示部229、収集優先度設定部231、閾値超過検知部233及び閾値設定部235は、それぞれ、ストレージネットワーク性能管理ソフト164の一部を構成するモジュールである。リソース間関連情報記憶部222、性能負荷情報テーブル223、性能負荷目標設定テーブル225、メトリクス値テーブル228、収集優先度テーブル230、閾値超過履歴テーブル232及び閾値設定情報テーブル234は、ストレージネットワーク性能管理ソフト164によって管理されるメモリ162又はディスクドライブ163の記憶領域である。これらの各部及びテーブルについては、後で詳細に説明する。
ここで、図2A及び図2Bを参照して、計算機システムの性能情報の収集及び監視の概要を説明する。
計算機システムのいずれかの部位で障害が発生すると、その障害が性能に影響を与える場合がある。ここで、発生する障害とは、ハードウェア又はソフトウェアの障害であってもよいし、負荷の集中のような運用上の一時的な障害であってもよい。例えば、ハードウェア障害が発生すると、一般に、障害が発生したハードウェアリソース及びそのハードウェアと性能の依存関係があるリソースにおいて性能の低下が観測される。
ストレージネットワーク性能管理ソフト164は、性能の問題(例えば、性能の低下)を検知し、さらに、その問題の原因となった障害等を特定するために有用な情報をユーザに提供するために、計算機システム内のリソースの性能情報を性能情報収集エージェント206〜208から取得する。
性能情報収集エージェント206〜208の性能情報収集部212は、所定のスケジューリング設定に従ってタイマー(図示省略)によって起動されるか、又は、ストレージネットワーク性能管理ソフト164によって起動される。
性能情報収集部212は、起動されると、監視対象であるストレージネットワーク構成装置・ソフト201〜203の性能情報取得部205に、測定値(メトリクス値)の送信を要求する。
性能情報取得部205は、その性能情報取得部205を含むストレージネットワーク構成装置・ソフト201〜203に関するメトリクス値を測定する。メトリクス値は、ストレージネットワーク構成装置・ソフト201〜203の性能情報として参照される値であり、例えば、毎秒I/O回数、毎秒I/Oデータ量等である。性能情報取得部205は、測定されたメトリクス値を、性能情報収集部212からの要求に応じて送信する。
性能情報収集部212は、性能情報取得部205から受信したメトリクス値をメトリクス値テーブル213に格納する。
性能情報応答部214は、ストレージネットワーク性能管理ソフト164の性能情報収集部227から要求を受信すると、要求の対象のメトリクス値をメトリクス値テーブル213から読み出して、性能情報収集部227に送信する。
閾値超過検知部217は、メトリクス値テーブル213に格納されたメトリクス値が所定の閾値を超えたか否かを判定する。閾値超過検知部217は、メトリクス値が所定の閾値を超えた場合、ストレージネットワーク性能管理ソフト164の収集優先度設定部231に通知を送信する。
閾値超過検知部217が参照する閾値は、閾値設定情報テーブル215に格納されている。閾値設定部216は、性能管理クライアント104からの要求に従って、閾値設定情報テーブル215に閾値を格納する。
メトリクス値テーブル213に格納されたデータ量が所定の量を超えた場合、メトリクス値削除部218が、メトリクス値テーブル213からメトリクス値を削除する。このとき、メトリクス値削除部218は、収集優先度テーブル219を参照して、収集優先度の低いリソースに関するメトリクス値(言い換えると、比較的有用でないと推測されるメトリクス値)を削除する。
なお、後述するように、収集優先度は、本来、ストレージネットワーク性能管理ソフト164が性能情報収集エージェント206〜208からメトリクス値を取得する順序を決定するために設定及び参照されるものである。しかし、メトリクス値削除部218は、メトリクス値テーブル213からメトリクス値を削除するために収集優先度を参照する。メトリクス値を削除する処理については、後で図33から図35を参照して詳細に説明する。
収集優先度テーブル219には、メトリクス値削除部218によって参照される収集優先度が格納される。収集優先度設定部220は、ストレージネットワーク性能管理ソフト164の収集優先度設定部231からの要求に従って、収集優先度テーブル219に収集優先度を格納する。
構成情報収集部209は、所定のスケジューリング設定に従ってタイマーによって起動されるか、又は、ストレージネットワーク性能管理ソフト164によって起動される。
構成情報収集部209は、起動されると、監視対象であるストレージネットワーク構成装置・ソフト201〜203の構成情報取得部204に、リソース間関連情報の送信を要求する。
リソース間関連情報とは、リソース間の性能の依存関係を示す情報である。性能の依存関係については後述する(図3等参照)。
構成情報取得部204は、その構成情報取得部204を含むストレージネットワーク構成装置・ソフト201〜203に関するリソース間関連情報を、構成情報収集部209からの要求に応じて送信する。
構成情報収集部209は、構成情報取得部204から受信したリソース間関連情報をリソース間関連情報記憶部210に格納する。
構成情報応答部211は、ストレージネットワーク性能管理ソフト164の構成情報収集部221から要求を受信すると、要求の対象のリソース間関連情報をリソース間関連情報記憶部210から読み出して、構成情報収集部221に送信する。
ストレージネットワーク性能管理ソフト164の構成情報収集部221は、所定のスケジューリング設定に従って、例えば周期的に、リソース間関連情報を送信する要求を構成情報応答部211に送信する。構成情報収集部221は、構成情報応答部211から受信したリソース間関連情報を、リソース間関連情報記憶部222に格納する。
ストレージネットワーク性能管理ソフト164の性能情報収集部227は、所定のスケジューリング設定に従って、例えば周期的に、性能情報応答部214に対してメトリクス値の送信を要求する。この要求を受信した性能情報応答部214は、メトリクス値テーブル213から、要求されたメトリクス値を読み出して、性能情報収集部227に送信する。性能情報収集部227は、性能情報応答部214から受信したメトリクス値を、メトリクス値テーブル228に格納する。
まだメトリクス値テーブル228に格納されていないメトリクス値が性能情報収集エージェント206〜208のメトリクス値テーブル213に格納されている場合、通常、性能情報収集部227は、それらの全てのメトリクス値を送信することを性能情報応答部214に要求する。
しかし、送信要求の対象となるメトリクス値の量が多い場合、全てのメトリクス値を取得するまでに長時間を要する。その結果、各リソースにおける性能低下等の問題の発生を検知し、さらに、その問題の原因を明らかにするまでに長時間を要することとなる。このような問題は、例えば、システム障害又はストレージネットワーク性能管理ソフト164自体の障害のために、性能情報収集部227が長期間メトリクス値を取得することができなかった場合に発生する。
このような場合に、性能の問題の検知及びその原因の究明を迅速に行うために、性能情報収集部227は、まだ取得していない全てのメトリクス値を対象として送信を要求するのではなく、収集優先度テーブル230を参照して、収集優先度の高いリソースに関するメトリクス値を対象として送信を要求する。なお、収集優先度は、リソースごとに設定される。
収集優先度は、原則として、既にストレージネットワーク性能管理ソフト164が取得したメトリクス値(すなわち、既にメトリクス値テーブル228に格納されているメトリクス値)に基づいて、収集優先度設定部231によって設定される。収集優先度設定部231は、メトリクス値を設定するために、リソース間関連情報記憶部222、閾値超過履歴テーブル232及び閾値設定情報テーブル234を参照してもよいし、さらに、性能分析表示部229によって算出された結果を参照してもよい。さらに、収集優先度設定部231は、閾値超過検知部217から受信した通知に基づいて収集優先度を設定してもよい。
収集優先度を設定する手順については、後で図28Aから図31を参照して詳細に説明する。収集優先度に基づいてメトリクス値を取得する手順については、後で図32A及び図32Bを参照して詳細に説明する。
閾値超過履歴テーブル232には、メトリクス値が閾値を超過したことがあるリソースを示す情報が格納される。例えば、収集優先度設定部231は、過去にメトリクス値が閾値を超過したことがあるリソースにおいて、再び性能の問題が発生する可能性が高いと推測してもよい。この場合、収集優先度設定部231は、過去にメトリクス値が閾値を超過したことがあるリソースに高い収集優先度を設定してもよい。
閾値超過検知部233は、メトリクス値テーブル228及び閾値設定情報テーブル234を参照して、メトリクス値が閾値を超過したか否かを判定する。そして、メトリクス値が閾値を超過したリソースを示す情報を閾値超過履歴テーブル232に格納する。
閾値設定情報テーブル234には、性能低下等の問題を検知するために設定されるメトリクス値の閾値が格納される。
閾値設定部235は、性能管理クライアント104からの要求に従って、閾値設定情報テーブル234に閾値を格納する。
性能分析表示部229は、性能管理クライアント104からの要求に従って、メトリクス値テーブル228に格納されたメトリクス値を検索し、検索されたメトリクス値を返信する。さらに、性能分析表示部229は、メトリクス値テーブル228を参照して、現在のメトリクス値を予測する。あるいは、性能分析表示部229は、メトリクス値が増加傾向又は減少傾向にあるか否かを判定することもできる。例えば、収集優先度設定部231は、現在のメトリクス値が閾値を越えると予測されるリソースにおいて、性能の問題が発生する可能性が高いと推測してもよい。この場合、収集優先度設定部231は、現在のメトリクス値が閾値を越えると予測されるリソースに高い収集優先度を設定してもよい。
性能情報収集部227は、収集優先度が高いリソースに関するメトリクス値を全て取得した後、引き続き、収集優先度が低いリソースに関するメトリクス値を取得してもよい。ただし、計算機システムの性能に与える影響を抑えるため、収集優先度が低いリソースに関するメトリクス値は、計算機システムの性能負荷に余裕があるときに実行されてもよい。このため、性能情報収集部227は、性能負荷情報テーブル223及び性能負荷目標設定テーブル225を参照する。
性能負荷情報テーブル223には、計算機システムの実際の性能負荷を示す情報が格納される。この情報は、性能情報取得部224によって取得されたものである。
性能負荷目標設定テーブル225には、計算機システムの性能負荷の目標値が格納される。この目標値は、性能負荷目標設定部226が、性能管理クライアント104からの要求に従って設定したものである。
以上の図2A及び図2Bに示す各部に保持された情報については、図5から図27を参照して詳細に説明する。図2A及び図2Bに示す各部が実行する処理については、図28Aから図35を参照して詳細に説明する。
図3は、本発明の実施の形態におけるリソース間の性能に関する依存関係の説明図である。
リソースとは、メトリクス値を取得する対象となるストレージネットワークの構成要素である。メトリクス値とは、リソースの性能情報を構成する性能監視項目の値(例えば、CPU使用率、I/O回数等)である。ストレージネットワークを構成するハードウェア及びソフトウェアは、それぞれ、種々のリソースを含んでいる。ストレージネットワーク中のリソースは、相互に性能上の影響を及ぼし合う。具体的には、例えば、一つのリソースの性能が障害等によって低下すると、その性能低下の影響を受けて、他のリソースの性能まで低下する場合がある。このように、リソースの性能の変動が影響を及ぼしあう関係を、以下の説明において、性能の依存関係と呼ぶ。すなわち、性能の変動が影響し合うリソースには、性能の依存関係がある。
リソース間に性能の依存関係がある場合、いずれかのリソースにおいて障害等の問題が発生すると、その問題に起因する性能の低下が、問題が発生したリソースと性能の依存関係がある別のリソースにおいても観測される場合がある。言い換えると、あるリソースにおいて性能の低下が観測されたとしても、その性能低下の原因がそのリソース自体にあるとは限らない。このため、性能の変動が観測された場合、変動の原因を明らかにするために、リソース間の性能の依存関係が参照される。
図3の例において、ストレージネットワークを構成するハードウェアは、ホストサーバA301、ホストサーバB302、SANスイッチA321、SANスイッチB322、SANスイッチC323、SANスイッチD324及びストレージサブシステムA354を含む。
ホストサーバA301及びホストサーバB302は、それぞれ、図1Aのホストサーバ120〜122のいずれかに相当する。ホストサーバA301では、アプリケーションA303、アプリケーションB304及びアプリケーションC305が稼動している。ホストサーバB302では、アプリケーションD306が稼動している。これらのアプリケーションは、図1Aの業務ソフト126に相当する。アプリケーションA303からアプリケーションD306は、業務ソフト性能情報収集エージェント129による情報取得対象となるリソースである。
ファイルA307〜ファイルJ316、ボリュームA317〜ボリュームD320及びポートA325〜ポートB326は、ホスト性能情報収集エージェント131による情報取得対象となるリソースである。ファイルA307〜ファイルJ316は、OS128がデータの入出力サービスを提供する単位である。
図3の例では、ファイルA307〜ファイルC309は、アプリケーションA303に割り当てられている。ファイルD310〜ファイルE311は、アプリケーションB304に割り当てられている。ファイルF312〜ファイルG313は、アプリケーションC305に割り当てられている。ファイルH314〜ファイルJ316は、アプリケーションD306に割り当てられている。各ファイルA307〜J316には、それぞれが割り当てられたアプリケーションによって読み書きされるデータが格納される。
ボリュームA317〜ボリュームD320は、ファイルA307〜ファイルJ316を外部記憶装置(例えば、ストレージサブシステム195)に格納するための領域としてOS128によって管理される。
図3の例では、ファイルA307〜ファイルC309は、ボリュームA317に格納される。ファイルD310〜ファイルE311は、ボリュームB318に格納される。ファイルF312〜ファイルG313は、ボリュームC319に格納される。ファイルH314〜ファイルJ316は、ボリュームD320に格納される。
このように、各アプリケーションA303〜D306にファイルA307〜J316が割り当てられ、ファイルA307〜J316がボリュームA317〜ボリュームD320に格納される。例えば、アプリケーションA303がファイルA307を使用し、ファイルA307がボリュームA317に格納される場合、アプリケーションA303がファイルA307にアクセスする負荷が増大すると、アプリケーションA303、ファイルA307及びボリュームA317の負荷が増大する。このため、これらのリソースには性能の依存関係がある。
SANスイッチA321〜D324は、図1AのSANスイッチ170〜172に相当する。SANスイッチA321〜D324は、SANスイッチ性能情報収集エージェント144による情報取得対象となる。具体的には、SANスイッチ性能情報収集エージェント144は、SANスイッチA321〜D324が備えるポート327〜350に関する性能情報を取得する。すなわち、ポート327〜350は、情報取得対象となるリソースである。ポート327〜350は、図1Aのポート176〜182に相当する。これらのポート327〜350のうち、以後の説明において参照されるものには、ポートC328のようにアルファベットによる識別子が付与される。
なお、図3に示すSANスイッチ及びポートの数は、図1Aに示したSANスイッチ及びポートの数より多い。これは、図1Aにおいて図示が省略されているためである。
ストレージサブシステムA354は、図1Aのストレージサブシステム195に相当する。ストレージサブシステムA354は、サブシステム性能情報収集エージェント154による情報取得対象となるリソースとして、ポートN351〜P353、論理ボリュームA355〜D358、パリティグループA359〜B360、及び、物理ディスク361〜366を含む。
物理ディスク361〜366は、物理的なHDDである。物理ディスク361〜366は、HDD以外の物理的な記憶装置(例えば、光ディスク装置又は半導体記憶装置)であってもよい。
パリティグループA359〜B360は、ストレージサブシステム195の機能によって複数の物理ディスク361〜366から生成された、論理的に一つの高性能かつ高信頼のディスクドライブである。例えば、パリティグループA359が物理ディスク361〜363から生成され、パリティグループB360が物理ディスク364〜366から生成されてもよい。
論理ボリュームA355〜D358は、ストレージサブシステム195の機能がパリティグループA359〜B360を分割することによって生成された論理的なディスクドライブである。ストレージサブシステム195は、ホストサーバ120〜122の用途に適したサイズの論理ボリュームA355〜D358を生成することができる。
ホストサーバA301〜B302のボリュームA317〜D320は、それぞれ、ストレージサブシステムA354の論理ボリュームA355〜D358のいずれかに割り当てられる。論理ボリュームA355〜D358は、それぞれ、パリティグループA359〜B360のいずれかに割り当てられる。パリティグループA359〜B360には、それぞれ、物理ディスク361〜366のうち少なくとも二つが割り当てられる。このため、これらのリソース間には、性能の依存関係がある。
また、論理ボリュームA355〜D358と、それらに割り当てられるボリュームA317〜D320との対応関係が定まると、それらの間でやり取りされるデータの経路、言い換えると、それらの間でやり取りされるデータが経由するポートA325〜P353が決定される。ボリュームA317〜D320にかかるデータ入出力の負荷は、そのデータの経路上のポートA325〜P353に対する通信の負荷となる。このため、ボリュームA317〜D320と、それらのボリュームA317〜D320が割り当てられた論理ボリュームA355〜D358と、データの経路上のポートA325〜P353との間には、性能の依存関係がある。
図3の例では、ボリュームA317は、論理ボリュームA355に割り当てられている。ボリュームA317と論理ボリュームA355との間でやり取りされるデータは、ポートA325、ポートC328、ポートD334、ポートH340、ポートI346及びポートN351を経由する。このため、例えば、ストレージサブシステムA354に発生した障害によって、論理ボリュームA355に対する毎秒I/O回数が低下すると、ポートA325、ポートC328、ポートD334、ポートH340、ポートI346及びポートN351の全ての毎秒I/O回数が低下する。このように、これらのリソースの間には、性能の依存関係がある。
同様にして、図3の例では、ボリュームB318は、論理ボリュームB356に割り当てられている。ボリュームB318と論理ボリュームB356との間でやり取りされるデータは、ポートA325、ポートC328、ポートD334、ポートH340、ポートI346及びポートN351を経由する。ボリュームC319は、論理ボリュームC357に割り当てられている。ボリュームC319と論理ボリュームC357との間でやり取りされるデータは、ポートA325、ポートC328、ポートE335、ポートJ342、ポートL348及びポートO352を経由する。ボリュームC319は、論理ボリュームC357に割り当てられている。ボリュームD320と論理ボリュームD358との間でやり取りされるデータは、ポートB326、ポートF332、ポートG338、ポートK344、ポートM350及びポートP353を経由する。
図4は、本発明の実施の形態における性能情報の表示画面の説明図である。
図4に示す画面は、ストレージネットワーク性能管理ソフト164の性能分析表示部229によって、性能管理クライアント104に表示される。
図4には、複数のボリュームA317〜D320の性能情報をグラフによって表示する例を示す。グラフの横軸及び縦軸は、それぞれ、時刻及びメトリクス値である。図4の例において、縦軸のメトリクス値は、転送速度(キロバイト/秒)である。このように、性能情報をグラフによって表示することによって、各リソースの性能情報の推移を比較することができる。
なお、リソースの性能情報は、グラフ以外の形式(例えば、表形式)で表示されてもよい。
次に、各性能情報収集エージェントが使用するテーブルについて説明する。
最初に、ホストサーバA301に関する性能情報を収集する性能情報収集エージェントが使用するテーブルを、図5から図8を参照して説明する。
図5は、本発明の実施の形態のホストサーバA301に関するメトリクス値テーブルの説明図である。
図5に示すメトリクス値テーブル500は、ホストサーバA301に含まれるリソースに関して取得されたメトリクス値を保持する。それらのメトリクス値は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する性能情報収集部212によって取得されたものである。すなわち、メトリクス値テーブル500は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持するメトリクス値テーブル213に相当する。
メトリクス値テーブル500は、日時501、リソース識別子502、メトリクス識別子503及びメトリクス値504の各カラムからなる。
日時501には、メトリクス値が収集された日付及び時刻が登録される。
リソース識別子502には、メトリクス値の収集対象であるリソースの識別子が登録される。図5の例では、ホストサーバA301に含まれるハードウェア又はソフトウェアのうち、メトリクス値の収集対象であるものの識別子(例えば、ファイルA、ボリュームA及びポートA)が登録される。
メトリクス識別子503には、収集されたメトリクス値の種類が登録される。図5の例では、毎秒I/O回数が登録されるが、他の種類(例えば、毎秒I/Oデータ量又はCPU使用率等)が登録されてもよい。
メトリクス値504には、収集されたメトリクス値が登録される。
メトリクス値テーブル500の各行は、ある日時にあるリソースについて収集されたメトリクス値に対応する。例えば、図5の先頭の行は、2006年6月6日の13:00に取得されたファイルA307に関するメトリクス値が、1214.5(毎秒I/O回数)であることを示している。すなわち、2006年6月6日の13:00の時点において、ファイルA307に対する毎秒I/O回数が1214.5であったことを意味する。
図6Aから図6Cには、ホストサーバA301に関するリソース間関連情報記憶部210に含まれるテーブルを示す。
図6Aは、本発明の実施の形態のホストサーバA301に関するアプリケーション・ファイル間関連テーブルの説明図である。
図6Aに示すアプリケーション・ファイル間関連テーブル600は、ホストサーバA301において稼動しているアプリケーションA303〜C305と、そのアプリケーションA303〜C305に割り当てられたファイルA307〜G313との対応関係を示す。アプリケーションA303〜C305と、そのアプリケーションA303〜C305に割り当てられたファイルA307〜G313には、性能の依存関係がある。
アプリケーション・ファイル間関連テーブル600は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
アプリケーション・ファイル間関連テーブル600は、アプリケーション識別子601及びファイル識別子602の各カラムからなる。
アプリケーション識別子601には、ホストサーバA301において稼動しているアプリケーションA303〜C305の識別子が登録される。
ファイル識別子602には、各アプリケーションA303〜C305に割り当てられたファイルA307〜G313の識別子が登録される。
図6Aの例では、アプリケーション識別子601の値「アプリケーションA」に対応するファイル識別子602として、「ファイルA」、「ファイルB」及び「ファイルC」が登録されている。「アプリケーションB」に対応して、「ファイルD」及び「ファイルE」が登録されている。「アプリケーションC」に対応して、「ファイルF」及び「ファイルG」が登録されている。これは、図3に示すようにアプリケーションA303〜C305にファイルA307〜G313が割り当てられていることを示す。
図6Bは、本発明の実施の形態のホストサーバA301に関するファイル・ボリューム間関連テーブルの説明図である。
図6Bに示すファイル・ボリューム間関連テーブル610は、ホストサーバA301によって管理されるファイルA307〜G313と、そのファイルA307〜G313を格納するボリュームA317〜C319との対応関係を示す。ファイルA307〜G313と、そのファイルA307〜G313を格納するボリュームA317〜C319には、性能の依存関係がある。ファイル・ボリューム間関連テーブル610は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
ファイル・ボリューム間関連テーブル610は、ファイル識別子611及びボリューム識別子612の各カラムからなる。
ファイル識別子611には、ホストサーバA301が管理するファイルA307〜G313の識別子が登録される。
ボリューム識別子612には、各ファイルA307〜G313を格納するボリュームA317〜C319の識別子が登録される。
図6Bの例では、ファイル識別子611の値「ファイルA」、「ファイルB」及び「ファイルC」に対応するボリューム識別子612として、「ボリュームA」が登録されている。「ファイルD」及び「ファイルE」に対応して「ボリュームB」が登録されている。「ファイルF」及び「ファイルG」に対応して「ボリュームC」が登録されている。これは、図3に示すようにファイルA307〜G313がボリュームA317〜C319に格納されていることを示す。
図6Cは、本発明の実施の形態のホストサーバA301に関するボリューム・論理ボリューム・ポート間関連テーブルの説明図である。
図6Cに示すボリューム・論理ボリューム・ポート間関連テーブル620は、ホストサーバA301によって管理されるボリュームA317〜C319、そのボリュームA317〜C319が割り当てられる論理ボリュームA355〜C357、ボリュームA317〜C319と論理ボリュームA355〜C357との間でやり取りされるデータが経由するホストサーバA301のポートA325及びストレージサブシステムA354のポートN351〜P353の対応関係を示す。これらのリソースの間には、性能の依存関係がある。
ボリューム・論理ボリューム・ポート間関連テーブル620は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
ボリューム・論理ボリューム・ポート間関連テーブル620は、ボリューム識別子621、論理ボリューム識別子622、ホスト側ポート識別子623及びストレージ側ポート識別子624の各カラムからなる。
ボリューム識別子621には、ホストサーバA301が管理するボリュームA317〜C319の識別子が登録される。
論理ボリューム識別子622には、ボリュームA317〜C319が割り当てられる論理ボリュームA355〜D358の識別子が登録される。
ホスト側ポート識別子623には、ボリュームA317〜C319と、それらに割り当てられた論理ボリュームA355〜D358との間でやり取りされるデータが経由するホストサーバA301のポートA325の識別子が登録される。
ストレージ側ポート識別子624には、ボリュームA317〜C319と、それらに割り当てられた論理ボリューム識別子622との間でやり取りされるデータが経由するストレージサブシステムA354のポートN351〜P353の識別子が登録される。
例えば、図6Cの先頭の行には、ボリューム識別子621、論理ボリューム識別子622、ホスト側ポート識別子623及びストレージ側ポート識別子624として、それぞれ、ボリュームA、論理ボリュームA、ポートA及びポートNが登録されている。これは、図3に示すように、ボリュームA317が論理ボリュームA355に割り当てられ、ボリュームA317と論理ボリュームA355との間でやり取りされるデータが、ポートA325及びポートN351を経由することを示す。
図7は、本発明の実施の形態のホストサーバA301に関する収集優先度テーブルの説明図である。
図7に示す収集優先度テーブル700は、ホストサーバA301に含まれる各リソースに設定された、メトリクス値の収集優先度を示す情報を保持する。
収集優先度は、本来、ストレージネットワーク性能管理ソフト164が各性能情報収集エージェントからメトリクス値を収集するときに参照されるものである。後述するように、ストレージネットワーク性能管理ソフト164は、高い収集優先度が設定されたリソースに関するメトリクス値を優先的に収集する。
しかし、収集優先度テーブル700に保持された収集優先度は、メトリクス値削除部218が、メトリクス値テーブル500に保持されたメトリクス値を削除するときに参照される。後述するように、低い収集優先度が設定されたリソースに関するメトリクス値が、優先的にメトリクス値テーブル500から削除される。
この収集優先度は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する収集優先度設定部220によって設定されたものである。すなわち、収集優先度テーブル700は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持する収集優先度テーブル219に相当する。
後で説明するように、収集優先度設定部220は、ストレージネットワーク性能管理ソフト164の収集優先度設定部231から受信した指示に従って、収集優先度テーブル700を設定する。
収集優先度テーブル700は、リソース識別子701及び収集優先度702の各カラムからなる。
リソース識別子701には、ホストサーバA301に含まれるリソースのうち、性能情報の収集対象となるリソースの識別子が登録される。
収集優先度702には、各リソースに設定された収集優先度を示す値が登録される。
図7の例では、リソース識別子「ファイルA」に対応して、収集優先度「Low」が登録され、リソース識別子「ファイルF」に対応して、収集優先度「High B」が登録されている。これは、ファイルA307に収集優先度「Low」が設定され、ファイルF312に収集優先度「High B」が設定されていることを示す。すなわち、ファイルF312には、ファイルA307より高い収集優先度が設定されている。この場合、ファイルA307に関するメトリクス値が、ファイルF312に関するメトリクス値より優先的にメトリクス値テーブル500から削除される。
収集優先度702には、「Low」及び「High B」のほか、「High A」及び「High C」等が登録されてもよい。これらの意味については後述する。「Low」は、「High A」、「High B」及び「High C」のいずれよりも低い収集優先度を示す。
図8は、本発明の実施の形態のホストサーバA301に関する閾値設定情報テーブルの説明図である。
図8に示す閾値設定情報テーブル800は、ホストサーバA301に含まれる各リソースに設定された、メトリクス値の閾値を示す情報を保持する。
この閾値は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する閾値設定部216によって設定されたものである。すなわち、閾値設定情報テーブル800は、ホストサーバA301が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持する閾値設定情報テーブル215に相当する。
閾値設定部216は、性能管理クライアント104から受信した指示に従って、閾値設定情報テーブル800を設定する。ユーザは、性能管理クライアント104を操作して、任意の閾値を設定する指示を閾値設定部216に送信させることができる。
閾値設定情報テーブル800は、閾値超過検知部217によって参照される。
閾値設定情報テーブル800は、リソース識別子801、メトリクス識別子802及び条件803の各カラムからなる。
リソース識別子801には、ホストサーバA301に含まれるリソースのうち、メトリクス値の閾値が設定されるリソースの識別子が登録される。
メトリクス識別子802には、閾値が設定されるメトリクス値の種類を示す情報が登録される。
条件803には、メトリクス値の閾値に相当する条件が設定される。
図8の例では、リソース識別子「ポートA」に対応して、メトリクス識別子「毎秒I/O回数」及び条件「毎秒I/O回数<1100」が登録されている。これは、ポートA325に、メトリクス値「毎秒I/O回数」の閾値が設定され、その閾値は、「毎秒I/O回数が1100回未満」であることを意味する。この場合、閾値超過検知部217は、ポートA325に関して取得されたメトリクス値である毎秒I/O回数が1100回未満であるとき、メトリクス値が閾値を超過したと判定する。
次に、ホストサーバB302に関する性能情報を収集する性能情報収集エージェントが使用するテーブルを、図9から図12を参照して説明する。
図9は、本発明の実施の形態のホストサーバB302に関するメトリクス値テーブルの説明図である。
図9に示すメトリクス値テーブル900は、ホストサーバB302に含まれるリソースに関して取得されたメトリクス値を保持する。図5に示すメトリクス値テーブル500と同様、メトリクス値テーブル900は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持するメトリクス値テーブル213に相当する。
メトリクス値テーブル900は、日時901、リソース識別子902、メトリクス識別子903及びメトリクス値904の各カラムからなる。これらのカラムの説明は、それぞれ、メトリクス値テーブル500の日時501、リソース識別子502、メトリクス識別子503及びメトリクス値504の説明と同様であるため、省略する。
図10Aから図10Cには、ホストサーバB302に関するリソース間関連情報記憶部210に含まれるテーブルを示す。
図10Aは、本発明の実施の形態のホストサーバB302に関するアプリケーション・ファイル間関連テーブルの説明図である。
図10Aに示すアプリケーション・ファイル間関連テーブル1000は、ホストサーバB302において稼動しているアプリケーションD306と、そのアプリケーションD306に割り当てられたファイルH314〜J316との対応関係を示す。アプリケーションD306と、そのアプリケーションD306に割り当てられたファイルH314〜J316には、性能の依存関係がある。アプリケーション・ファイル間関連テーブル1000は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
アプリケーション・ファイル間関連テーブル1000は、アプリケーション識別子1001及びファイル識別子1002の各カラムからなる。これらのカラムの説明は、それぞれ、アプリケーション・ファイル間関連テーブル600のアプリケーション識別子601及びファイル識別子602の説明と同様であるため、省略する。
図10Bは、本発明の実施の形態のホストサーバB302に関するファイル・ボリューム間関連テーブルの説明図である。
図10Bに示すファイル・ボリューム間関連テーブル1010は、ホストサーバB302によって管理されるファイルH314〜J316と、そのファイルH314〜J316を格納するボリュームD320との対応関係を示す。ファイルH314〜J316と、そのファイルH314〜J316を格納するボリュームD320には、性能の依存関係がある。ファイル・ボリューム間関連テーブル1010は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
ファイル・ボリューム間関連テーブル1010は、ファイル識別子1011及びボリューム識別子1012の各カラムからなる。これらのカラムの説明は、それぞれ、ファイル・ボリューム間関連テーブル610のファイル識別子611及びボリューム識別子612の説明と同様であるため、省略する。
図10Cは、本発明の実施の形態のホストサーバB302に関するボリューム・論理ボリューム・ポート間関連テーブルの説明図である。
図10Cに示すボリューム・論理ボリューム・ポート間関連テーブル1020は、ホストサーバB302によって管理されるボリュームD320、そのボリュームD320が割り当てられる論理ボリュームD358、ボリュームD320と論理ボリュームD358との間でやり取りされるデータが経由するホストサーバB302のポートB326及びストレージサブシステムA354のポートP353の対応関係を示す。これらのリソースの間には、性能の依存関係がある。
ボリューム・論理ボリューム・ポート間関連テーブル1020は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
ボリューム・論理ボリューム・ポート間関連テーブル1020は、ボリューム識別子1021、論理ボリューム識別子1022、ホスト側ポート識別子1023及びストレージ側ポート識別子1024の各カラムからなる。これらのカラムの説明は、それぞれ、ボリューム・論理ボリューム・ポート間関連テーブル620のボリューム識別子621、論理ボリューム識別子622、ホスト側ポート識別子623及びストレージ側ポート識別子624の説明と同様であるため、省略する。
図11は、本発明の実施の形態のホストサーバB302に関する収集優先度テーブルの説明図である。
図11に示す収集優先度テーブル1100は、ホストサーバB302に含まれる各リソースに設定された、メトリクス値の収集優先度を示す情報を保持する。
図7の説明と同様、収集優先度テーブル1100に保持された収集優先度は、メトリクス値削除部218が、メトリクス値テーブル900に保持されたメトリクス値を削除するときに参照される。後述するように、低い収集優先度が設定されたリソースに関するメトリクス値が、優先的にメトリクス値テーブル900から削除される。
この収集優先度は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する収集優先度設定部220によって設定されたものである。すなわち、収集優先度テーブル1100は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持する収集優先度テーブル219に相当する。
後で説明するように、収集優先度設定部220は、ストレージネットワーク性能管理ソフト164の収集優先度設定部231から受信した指示に従って、収集優先度テーブル1100を設定する。
収集優先度テーブル1100は、リソース識別子1101及び収集優先度1102の各カラムからなる。これらのカラムの説明は、それぞれ、収集優先度テーブル700のリソース識別子701及び収集優先度702の説明と同様であるため、省略する。
図12は、本発明の実施の形態のホストサーバB302に関する閾値設定情報テーブルの説明図である。
図12に示す閾値設定情報テーブル1200は、ホストサーバB302に含まれる各リソースに設定された、メトリクス値の閾値を示す情報を保持する。
この閾値は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つに属する閾値設定部216によって設定されたものである。すなわち、閾値設定情報テーブル1200は、ホストサーバB302が保持する業務ソフト性能情報収集エージェント129、DB性能情報収集エージェント130及びホスト性能情報収集エージェント131の少なくとも一つが保持する閾値設定情報テーブル215に相当する。
閾値設定部216は、性能管理クライアント104から受信した指示に従って、閾値設定情報テーブル1200を設定する。ユーザは、性能管理クライアント104を操作して、任意の閾値を設定する指示を閾値設定部216に送信させることができる。
閾値設定情報テーブル1200は、閾値超過検知部217によって参照される。
閾値設定情報テーブル1200は、リソース識別子1201、メトリクス識別子1202及び条件1203の各カラムからなる。これらのカラムの説明は、それぞれ、閾値設定情報テーブル800のリソース識別子801、メトリクス識別子802及び条件803の説明と同様であるため、省略する。
次に、SANスイッチA321〜D324に関する性能情報を収集するSANスイッチ性能情報収集エージェント144が使用するテーブルを、図9から図12を参照して説明する。
図13は、本発明の実施の形態のSANスイッチA321〜D324に関するメトリクス値テーブルの説明図である。
図13に示すメトリクス値テーブル1300は、SANスイッチA321〜D324に含まれるリソースに関して取得されたメトリクス値を保持する。それらのメトリクス値は、SANスイッチ性能情報収集エージェント144に属する性能情報収集部212によって取得されたものである。すなわち、メトリクス値テーブル1300は、SANスイッチ性能情報収集エージェント144が保持するメトリクス値テーブル213に相当する。
メトリクス値テーブル1300は、日時1301、リソース識別子1302、メトリクス識別子1303及びメトリクス値1304の各カラムからなる。これらのカラムの説明は、メトリクス値テーブル500の日時501、リソース識別子502、メトリクス識別子503及びメトリクス値504の説明と同様であるため、省略する。
図13の例において、先頭の行は、2006年6月6日の13:00にポートC328から取得したメトリクス値が、1213.6(毎秒I/O回数)であることを示している。
図14は、本発明の実施の形態のSANスイッチA321〜D324に関するポート間通信経路テーブルの説明図である。
図14に示すポート間通信経路テーブル1400には、ホストサーバA301〜B302のポートA325〜B326と、ストレージサブシステムA354のポートN351〜P353との間でやり取りされるデータの経路となるSANスイッチA321〜D324のポートC328〜M350を示す情報が保持される。複数のポートを一つのデータ経路が経由する場合、それらのポートには性能の依存関係がある。
ポート間通信経路テーブル1400は、SANスイッチ性能情報収集エージェント144に属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
ポート間通信経路テーブル1400は、ホスト側ポート識別子1401、ストレージ側ポート識別子1402及びスイッチポート識別子リスト1403の各カラムからなる。
ホスト側ポート識別子1401には、ホストサーバA301〜B302とストレージサブシステムA354との間でやり取りされるデータが経由するホストサーバA301〜B302のポートA325〜B326の識別子が登録される。
ストレージ側ポート識別子1402には、ホストサーバA301〜B302とストレージサブシステムA354との間でやり取りされるデータが経由するストレージサブシステムA354のポートN351〜P353の識別子が登録される。
スイッチポート識別子リスト1403には、ホストサーバA301〜B302のポートA325〜B326と、ストレージサブシステムA354のポートN351〜P353との間でやり取りされるデータが経由するSANスイッチA321〜D324のポートC328〜M350の識別子が登録される。
図14の例において、先頭の行は、ホストサーバA301のポートA325からストレージサブシステムA354のポートN351に至るデータ経路が、図3に示すように、ポートC328、ポートD334、ポートH340及びポートI346を経由することを示す。
図15は、本発明の実施の形態のSANスイッチA321〜D324に関する収集優先度テーブルの説明図である。
図15に示す収集優先度テーブル1500は、SANスイッチA321〜D324に含まれる各リソースに設定された、メトリクス値の収集優先度を示す情報を保持する。
図7の説明と同様、収集優先度テーブル1500に保持された収集優先度は、メトリクス値削除部218が、メトリクス値テーブル1300に保持されたメトリクス値を削除するときに参照される。低い収集優先度が設定されたリソースに関するメトリクス値が、優先的にメトリクス値テーブル1300から削除される。
この収集優先度は、SANスイッチ性能情報収集エージェント144に属する収集優先度設定部220によって設定されたものである。すなわち、収集優先度テーブル1500は、SANスイッチ性能情報収集エージェント144が保持する収集優先度テーブル219に相当する。
収集優先度設定部220は、ストレージネットワーク性能管理ソフト164の収集優先度設定部231から受信した指示に従って、収集優先度テーブル1500を設定する。
収集優先度テーブル1500は、リソース識別子1501及び収集優先度1502の各カラムからなる。これらのカラムの説明は、それぞれ、収集優先度テーブル700のリソース識別子701及び収集優先度702の説明と同様であるため、省略する。
図16は、本発明の実施の形態のSANスイッチA321〜D324に関する閾値設定情報テーブルの説明図である。
図16に示す閾値設定情報テーブル1600は、SANスイッチA321〜D324に含まれる各リソースに設定された、メトリクス値の閾値を示す情報を保持する。
この閾値は、SANスイッチ性能情報収集エージェント144に属する閾値設定部216によって設定されたものである。すなわち、閾値設定情報テーブル1600は、SANスイッチ性能情報収集エージェント144が保持する閾値設定情報テーブル215に相当する。
閾値設定部216は、性能管理クライアント104から受信した指示に従って、閾値設定情報テーブル1600を設定する。ユーザは、性能管理クライアント104を操作して、任意の閾値を設定する指示を閾値設定部216に送信させることができる。
閾値設定情報テーブル1600は、閾値超過検知部217によって参照される。
閾値設定情報テーブル1600は、リソース識別子1601、メトリクス識別子1602及び条件1603の各カラムからなる。これらのカラムの説明は、それぞれ、閾値設定情報テーブル800のリソース識別子801、メトリクス識別子802及び条件803の説明と同様であるため、省略する。
次に、ストレージサブシステムA354に関する性能情報を収集するサブシステム性能情報収集エージェント154が使用するテーブルを、図17から図20を参照して説明する。
図17は、本発明の実施の形態のストレージサブシステムA354に関するメトリクス値テーブルの説明図である。
図17に示すメトリクス値テーブル1700は、ストレージサブシステムA354に含まれるリソースに関して取得されたメトリクス値を保持する。それらのメトリクス値は、サブシステム性能情報収集エージェント154に属する性能情報収集部212によって取得されたものである。すなわち、メトリクス値テーブル1700は、サブシステム性能情報収集エージェント154が保持するメトリクス値テーブル213に相当する。
メトリクス値テーブル1700は、日時1701、リソース識別子1702、メトリクス識別子1703及びメトリクス値1704の各カラムからなる。これらのカラムの説明は、メトリクス値テーブル500の日時501、リソース識別子502、メトリクス識別子503及びメトリクス値504の説明と同様であるため、省略する。
図18は、本発明の実施の形態のストレージサブシステムA354に関する論理ボリューム・パリティグループ間関連テーブルの説明図である。
図18の論理ボリューム・パリティグループ間関連テーブル1800は、論理ボリュームA355〜D358と、論理ボリュームA355〜D358が割り当てられたパリティグループA359〜B360との対応関係を示す情報を保持する。これらのリソース間には、性能の依存関係がある。
論理ボリューム・パリティグループ間関連テーブル1800は、サブシステム性能情報収集エージェント154に属する構成情報収集部209が取得した情報に基づいて生成され、リソース間関連情報記憶部210に格納される。
論理ボリューム・パリティグループ間関連テーブル1800は、論理ボリューム識別子1801及びパリティグループ識別子1802の各カラムからなる。
論理ボリューム識別子1801には、ストレージサブシステムA354が管理する論理ボリュームA355〜D358の識別子が登録される。
パリティグループ識別子1802には、各論理ボリュームA355〜D358が割り当てられたパリティグループA359〜B360の識別子が登録される。
図18の例は、図3に示すように、論理ボリュームA355及び論理ボリュームB356がパリティグループA359に割り当てられ、論理ボリュームC357及び論理ボリュームD358がパリティグループB360に割り当てられていることを示す。
図19は、本発明の実施の形態のストレージサブシステムA354に関する収集優先度テーブルの説明図である。
図19に示す収集優先度テーブル1900は、ストレージサブシステムA354に含まれる各リソースに設定された、メトリクス値の収集優先度を示す情報を保持する。
図7の説明と同様、収集優先度テーブル1900に保持された収集優先度は、メトリクス値削除部218が、メトリクス値テーブル1700に保持されたメトリクス値を削除するときに参照される。低い収集優先度が設定されたリソースに関するメトリクス値が、優先的にメトリクス値テーブル1700から削除される。
この収集優先度は、サブシステム性能情報収集エージェント154に属する収集優先度設定部220によって設定されたものである。すなわち、収集優先度テーブル1900は、サブシステム性能情報収集エージェント154が保持する収集優先度テーブル219に相当する。
収集優先度設定部220は、ストレージネットワーク性能管理ソフト164の収集優先度設定部231から受信した指示に従って、収集優先度テーブル1900を設定する。
収集優先度テーブル1900は、リソース識別子1901及び収集優先度1902の各カラムからなる。これらのカラムの説明は、それぞれ、収集優先度テーブル700のリソース識別子701及び収集優先度702の説明と同様であるため、省略する。
図20は、本発明の実施の形態のストレージサブシステムA354に関する閾値設定情報テーブルの説明図である。
図20に示す閾値設定情報テーブル2000は、ストレージサブシステムA354に含まれる各リソースに設定された、メトリクス値の閾値を示す情報を保持する。
この閾値は、サブシステム性能情報収集エージェント154に属する閾値設定部216によって設定されたものである。すなわち、閾値設定情報テーブル2000は、サブシステム性能情報収集エージェント154が保持する閾値設定情報テーブル215に相当する。
閾値設定部216は、性能管理クライアント104から受信した指示に従って、閾値設定情報テーブル2000を設定する。ユーザは、性能管理クライアント104を操作して、任意の閾値を設定する指示を閾値設定部216に送信させることができる。
閾値設定情報テーブル2000は、閾値超過検知部217によって参照される。
閾値設定情報テーブル2000は、リソース識別子2001、メトリクス識別子2002及び条件2003の各カラムからなる。これらのカラムの説明は、それぞれ、閾値設定情報テーブル800のリソース識別子801、メトリクス識別子802及び条件803の説明と同様であるため、省略する。
次に、性能管理サーバ160のストレージネットワーク性能管理ソフト164が使用するテーブルを、図21から図27を参照して説明する。
図21は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用するメトリクス値テーブルの説明図である。
図21に示すメトリクス値テーブル2100は、図2Bに示すストレージネットワーク性能管理ソフト164が保持するメトリクス値テーブル228に相当する。性能情報収集部227は、周期的に各性能情報収集エージェントに対してポーリングを実行することによって、各性能情報収集エージェントのメトリクス値テーブル213が保持する情報を取得し、メトリクス値テーブル228に格納する。このため、メトリクス値テーブル500、900、1300及び1700が保持する情報は、原則として、全てメトリクス値テーブル2100に格納される。
ただし、ポーリングが実行された後でメトリクス値テーブル500、900、1300及び1700に格納された情報は、次回のポーリングが実行されるまで、メトリクス値テーブル2100に格納されない。このため、例えばシステム障害等の原因によってポーリングが長期間実行されなかった場合、大量の情報が、メトリクス値テーブル2100に格納されないまま、メトリクス値テーブル500、900、1300及び1700に残される場合がある。
メトリクス値テーブル2100は、日時2101、リソース識別子2102、メトリクス識別子2103及びメトリクス値2104の各カラムからなる。これらのカラムの説明は、メトリクス値テーブル500の日時501、リソース識別子502、メトリクス識別子503及びメトリクス値504の説明と同様であるため、省略する。
図22Aから図22Cには、リソース間関連情報記憶部222に含まれるテーブルを示す。
図22Aは、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用するファイル・ボリューム間関連テーブルの説明図である。
図22Aに示すファイル・ボリューム間関連テーブル2200は、図2Bに示すストレージネットワーク性能管理ソフト164が保持するリソース間関連情報記憶部222に格納される。構成情報収集部221は、各性能情報収集エージェントに対してポーリングを実行することによって、リソース間関連情報記憶部210に含まれるファイル・ボリューム間関連テーブル610及びファイル・ボリューム間関連テーブル1010が保持する情報を取得し、ファイル・ボリューム間関連テーブル2200に格納する。このため、ファイル・ボリューム間関連テーブル2200は、ファイル・ボリューム間関連テーブル610が保持する情報、及び、ファイル・ボリューム間関連テーブル1010が保持する情報の両方を保持する。
ファイル・ボリューム間関連テーブル2200は、ファイル識別子2201及びボリューム識別子2202の各カラムからなる。これらのカラムの説明は、それぞれ、ファイル・ボリューム間関連テーブル610のファイル識別子611及びボリューム識別子612の説明と同様であるため、省略する。
図22Bは、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する論理ボリューム・パリティグループ間関連テーブルの説明図である。
図22Bに示す論理ボリューム・パリティグループ間関連テーブル2210は、図2Bに示すストレージネットワーク性能管理ソフト164が保持するリソース間関連情報記憶部222に格納される。構成情報収集部221は、サブシステム性能情報収集エージェント154に対してポーリングを実行することによって、リソース間関連情報記憶部210に含まれる論理ボリューム・パリティグループ間関連テーブル1800が保持する情報を取得し、論理ボリューム・パリティグループ間関連テーブル2210に格納する。このため、論理ボリューム・パリティグループ間関連テーブル2210は、論理ボリューム・パリティグループ間関連テーブル1800が保持するものと同じ情報を保持する。
論理ボリューム・パリティグループ間関連テーブル2210は、論理ボリューム識別子2211及びパリティグループ識別子2212の各カラムからなる。これらのカラムの説明は、それぞれ、論理ボリューム・パリティグループ間関連テーブル1800の論理ボリューム識別子1801及びパリティグループ識別子1802の説明と同様であるため、省略する。
図22Cは、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用するボリューム・論理ボリューム・ポート対応テーブルの説明図である。
図22Cに示すボリューム・論理ボリューム・ポート対応テーブル2220は、図2Bに示すストレージネットワーク性能管理ソフト164が保持するリソース間関連情報記憶部222に格納される。
構成情報収集部221は、各性能情報収集エージェントに対してポーリングを実行することによって、リソース間関連情報記憶部210に含まれるボリューム・論理ボリューム・ポート間関連テーブル620、ボリューム・論理ボリューム・ポート間関連テーブル1020及びポート間通信経路テーブル1400が保持する情報を取得し、ボリューム・論理ボリューム・ポート対応テーブル2220に格納する。このため、ボリューム・論理ボリューム・ポート対応テーブル2220は、ボリューム・論理ボリューム・ポート間関連テーブル620、ボリューム・論理ボリューム・ポート間関連テーブル1020及びポート間通信経路テーブル1400が保持する情報を保持する。
ボリューム・論理ボリューム・ポート対応テーブル2220は、ボリューム識別子2221、論理ボリューム識別子2222、ホスト側ポート識別子2223、ストレージ側ポート識別子2224及びスイッチポート識別子リスト2225の各カラムからなる。
ボリューム識別子2221は、ボリューム・論理ボリューム・ポート間関連テーブル620のボリューム識別子621及びボリューム・論理ボリューム・ポート間関連テーブル1020のボリューム識別子1021と対応する。このため、ボリューム識別子2221についての説明は省略する。
論理ボリューム識別子2222は、ボリューム・論理ボリューム・ポート間関連テーブル620の論理ボリューム識別子622及びボリューム・論理ボリューム・ポート間関連テーブル1020の論理ボリューム識別子1022と対応する。このため、論理ボリューム識別子2222についての説明は省略する。
ホスト側ポート識別子2223は、ボリューム・論理ボリューム・ポート間関連テーブル620のホスト側ポート識別子623及びボリューム・論理ボリューム・ポート間関連テーブル1020のホスト側ポート識別子1023と対応する。さらに、ホスト側ポート識別子2223は、ポート間通信経路テーブル1400のホスト側ポート識別子1401とも対応する。このため、ホスト側ポート識別子2223についての説明は省略する。
ストレージ側ポート識別子2224は、ボリューム・論理ボリューム・ポート間関連テーブル620のストレージ側ポート識別子624及びボリューム・論理ボリューム・ポート間関連テーブル1020のストレージ側ポート識別子1024と対応する。さらに、ストレージ側ポート識別子2224は、ポート間通信経路テーブル1400のストレージ側ポート識別子1402とも対応する。このため、ストレージ側ポート識別子2224についての説明は省略する。
スイッチポート識別子リスト2225は、ポート間通信経路テーブル1400のスイッチポート識別子リスト1403と対応する。このため、スイッチポート識別子リスト2225についての説明は省略する。
図22Cの例において、先頭の行は、ボリュームA317が論理ボリュームA355に割り当てられていること、及び、ボリュームA317から論理ボリュームA355に至るデータの経路が、ポートA325、ポートC328、ポートD334、ポートH340、ポートI346及びポートN351を経由することを示す。
図23は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する収集優先度テーブルの説明図である。
図23に示す収集優先度テーブル2300は、図2Bに示すストレージネットワーク性能管理ソフト164が保持する収集優先度テーブル230に相当する。収集優先度テーブル2300が保持する情報は、収集優先度設定部231によって設定される。一方、収集優先度設定部220は、収集優先度設定部231から受信した指示に従って、各性能情報収集エージェントが保持する収集優先度テーブル700、1100、1500及び1900を設定する。このため、収集優先度テーブル2300は、収集優先度テーブル700、1100、1500及び1900が保持するデータを保持する。
収集優先度テーブル2300は、リソース識別子2301及び収集優先度2302の各カラムからなる。これらのカラムの説明は、それぞれ、収集優先度テーブル700のリソース識別子701及び収集優先度702の説明と同様であるため、省略する。
図24は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する閾値設定情報テーブルの説明図である。
図24に示す閾値設定情報テーブル2400は、図2Bに示すストレージネットワーク性能管理ソフト164が保持する閾値設定情報テーブル234に相当する。閾値設定情報テーブル2400が保持する情報は、閾値設定部235によって、性能管理クライアント104から受信した指示に従って設定される。一方、各性能情報収集エージェントが保持する閾値設定情報テーブル800、1200、1600及び2000は、閾値設定部216によって、性能管理クライアント104から受信した指示に従って設定される。このため、閾値設定情報テーブル2400は、閾値設定情報テーブル800、1200、1600及び2000が保持するデータを保持する。
閾値設定情報テーブル2400は、リソース識別子2401、メトリクス識別子2402及び条件2403の各カラムからなる。これらのカラムの説明は、それぞれ、閾値設定情報テーブル800のリソース識別子801、メトリクス識別子802及び条件803の説明と同様であるため、省略する。
図25は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する閾値超過履歴テーブルの説明図である。
図25に示す閾値超過履歴テーブル2500は、設定された閾値を超過したメトリクス値の履歴を示す情報を保持する。
閾値超過履歴テーブル2500は、図2Bに示す閾値超過履歴テーブル232に相当する。閾値超過検知部233は、メトリクス値テーブル2100及び閾値設定情報テーブル2400を参照して、メトリクス値2104に登録された値が、条件2403に設定された閾値を超えているか否かを判定する。そして、閾値を超えているメトリクス値に関する情報を、閾値超過履歴テーブル2500に格納する。
閾値超過履歴テーブル2500は、発生日時2501、リソース識別子2502、メトリクス識別子2503及びメトリクス値2504の各カラムからなる。閾値超過検知部233は、メトリクス値テーブル2100に登録されたいずれかのメトリクス値が閾値を超えている場合、そのメトリクス値を含む行の日時2101、リソース識別子2102、メトリクス識別子2103及びメトリクス値2104に登録されている値を、それぞれ、発生日時2501、リソース識別子2502、メトリクス識別子2503及びメトリクス値2504に登録する。
図25の例において、先頭の行は、2006年5月1日に取得されたポートP353に関するメトリクス値「1002.3」(毎秒I/O回数)が、閾値「毎秒I/O回数<1100」(図24参照)を超過したことを示す。
図26は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する性能負荷目標設定テーブルの説明図である。
図26に示す性能負荷目標設定テーブル2600は、計算機システムの性能負荷の目標値として設定される値を保持する。性能負荷目標設定テーブル2600は、図2Bに示す性能負荷目標設定テーブル225に相当する。すなわち、性能負荷目標設定テーブル2600は、性能負荷目標設定部226によって、性能管理クライアント104から受信した指示に従って設定される。
性能負荷目標設定テーブル2600は、性能項目2601及び性能項目目標値2602の各カラムからなる。
性能項目2601には、計算機システムの性能評価の指標として用いられる項目が登録される。性能評価の指標としては、例えば、ホストサーバ120〜122のCPU123の使用率、毎秒I/O回数又は毎秒I/Oデータ量等、任意の指標を用いることができる。
性能項目目標値2602には、性能項目2601に設定された項目の目標値が登録される。
ユーザは、性能管理クライアント104を操作することによって、任意の性能項目2601及び性能項目目標値2602を設定することができる。
図26の例では、性能負荷目標として、ホストサーバ120〜122のCPU使用率70%が設定されている。
性能負荷目標設定テーブル2600は、性能負荷情報テーブル2700(図27参照)と共に、性能情報収集部227によって参照される。その処理については、後述する。
図27は、本発明の実施の形態のストレージネットワーク性能管理ソフト164が使用する性能負荷情報テーブルの説明図である。
図27に示す性能負荷情報テーブル2700は、計算機システムにおいて測定された性能負荷の値を保持する。性能負荷情報テーブル2700は、図2Bに示す性能負荷情報テーブル223に相当する。すなわち、性能負荷情報テーブル2700は、性能情報取得部224が取得した性能負荷の値を保持する。
性能負荷情報テーブル2700は、性能項目2701及び性能項目値2702の各カラムからなる。
性能項目2701には、図26に示す性能項目2601と同じ項目が登録される。
性能項目値2702には、性能情報取得部224が取得した性能負荷の値が登録される。性能情報取得部224は、周期的に性能負荷の値を取得し、性能項目値2702の値を更新する。
図27の例は、最後に取得されたホストサーバ120〜122のCPU使用率の実測値が、60%であることを示す。
次に、本発明の実施の形態の各部が実行する処理について、フローチャートを参照して説明する。
図28A及び図28Bは、本発明の実施の形態のストレージネットワーク性能管理ソフト164内の収集優先度設定部231が実行する処理のフローチャートである。
最初に、処理の概要を説明する。
ストレージネットワーク性能管理ソフト164は、各リソースにおける性能低下等の問題の発生を検知し、さらに、その問題の原因を明らかにするために、各リソースに関するメトリクス値を取得する。したがって、性能低下等の問題が発生していないリソースに関するメトリクス値と比較して、問題が発生しているリソースに関するメトリクス値は、ストレージネットワーク性能管理ソフト164及びそれを使用するユーザにとって有用であるといえる。このため、問題の発生を早急に検知するためには、問題が発生しているリソースの収集優先度を高く設定することが望ましい。
一方、既に説明したように、リソースの間には性能の依存関係がある。このため、障害が発生したリソースと、その障害を原因とする性能の問題が発生したリソースとは、必ずしも同一でない。したがって、発生した問題の原因を早急に明らかにするためには、問題が発生しているリソースと性能の依存関係があるリソースに関するメトリクス値が有用であるといえる。このため、そのようなリソースの収集優先度を高く設定することが望ましい。
現在リソースに性能低下等の問題が発生しているか否かは、現在のメトリクス値を取得しなければ判定できない。しかし、過去に取得したメトリクス値に基づいて、現在問題が発生している可能性を推測することはできる。さらに、将来問題が発生する可能性を推測することもできる。本実施の形態において、収集優先度は、現在又は将来において問題が発生する可能性に基づいて設定される。すなわち、問題が発生する可能性が高いと推測されるリソースに関するメトリクス値は、性能の問題を検知するために有用であると推測される。問題が発生する可能性が高いと推測されるリソースと性能の依存関係があるリソースに関するメトリクス値は、性能の問題の原因を調査するために有用であると推測される。このため、それらのリソースには高い収集優先度が設定される。
性能の問題が発生する可能性は、種々の方法によって推測することができる。例えば、過去に問題が発生したことがあるリソースは、過去に問題が発生したことがないリソースと比較して、再び問題が発生する可能性が高いと推測される。あるいは、既に取得されたメトリクス値に基づいて、現在のメトリクス値を予測することができる。そして、予測されたメトリクス値が所定の閾値を超えている場合、超えていない場合と比較して、性能の問題が発生する可能性が高いと推測される。あるいは、既に取得されたメトリクス値に基づいて、メトリクス値の変化率を算出することができる。そして、算出された変化率が所定の閾値を超えた場合、言い換えると、メトリクス値が増加傾向又は減少傾向にある場合、そうでない場合と比較して問題が発生する可能性が高いと推測される。
本実施の形態においては、上記の三つの基準によって、性能の問題が発生する可能性が推測される。さらに、本実施の形態においては、過去に問題が発生したことがある場合、性能の問題が発生する可能性が最も高く、予測された現在のメトリクス値が所定の閾値を超える場合、性能の問題が発生する可能性が2番目に高く、算出されたメトリクス値の変化率が所定の閾値を超える場合、性能の問題が発生する可能性が3番目に高いと推測される。そして、性能の問題が発生する可能性がより高いと判定されたリソースには、そのリソースに関するメトリクス値がより有用であると推測されるため、より高い収集優先度が設定される。
なお、上記の三つの基準以外の基準によって、性能の問題が発生する可能性が推測されてもよい。また、上記の三つの基準による優先度には、上記と異なる順位が設定されてもよい。
次に、処理の詳細を説明する。
図28A及び図28Bに示す処理は、ストレージネットワーク性能管理ソフト164がメトリクス値を取得するためのポーリングを実行するときに、その実行を契機として、ポーリング直前に実行されてもよい。あるいは、図28A及び図28Bに示す処理は、ポーリングの実行タイミングとは関係なく、予め実行されてもよい。
最初に、収集優先度設定部231は、収集優先度テーブル2300を初期化する(2801)。具体的には、収集優先度設定部231は、収集優先度テーブル2300の全ての行の収集優先度2302を「Low」にする。
次に、収集優先度設定部231は、リソースリスト(図示省略)を作成する(2802)。リソースリストとは、ステップ2803以降の処理において検出されたリソースが一時的に登録されるリストである。ステップ2802が終了した時点で、リソースリストには、いずれのリソースも登録されていない。
次に、収集優先度設定部231は、閾値を超過した履歴のあるリソースを検出する(2803)。検出されたリソースは、リソースリストに追加される。この検出の処理については後述する(図29参照)。
次に、収集優先度設定部231は、ステップ2803において検出されたリソースを基点として、そのリソースと性能の依存関係があるリソースを検出する(2805)。具体的には、収集優先度設定部231は、ボリューム・論理ボリューム・ポート対応テーブル2220を参照し、ステップ2803において検出されたリソースを含む行に登録されている全てのリソースを、性能の依存関係があるリソースとして検出する。
次に、収集優先度設定部231は、ステップ2805において検出されたリソースをリソースリストに追加する(2806)。
次に、収集優先度設定部231は、リソースリストを参照し、リソースリストに登録されたリソースに対応する収集優先度テーブル2300の収集優先度2302の値を「High A」に更新する(2807)。その結果、ステップ2803において検出されたリソースの収集優先度2302として「High A」が設定され、さらに、そのリソースと性能の依存関係があるリソースにも「High A」が設定される。
次に、収集優先度設定部231は、リソースリストを参照し、リソースリストに登録されたリソースを監視している性能情報収集エージェント206〜208に対して、収集優先度の値を「High A」に更新する要求を送信する(2808)。例えば、リソースリストに「ポートF」が登録されている場合、収集優先度設定部231は、「ポートF」に対応する収集優先度1502の値を「High A」に更新する要求をSANスイッチ性能情報収集エージェント144に送信する。この要求を受信したSANスイッチ性能情報収集エージェント144の収集優先度設定部220は、収集優先度テーブル1500の「ポートF」に対応する収集優先度1502の値を「High A」に更新する(図15の第4行参照)。
次に、収集優先度設定部231は、リソースリストをクリアする(2809)。その結果、ステップ2809が終了した時点で、リソースリストにはいずれのリソースも登録されていない。
次に、収集優先度設定部231は、メトリクスの予測値が閾値を超過するリソースを検出する(2810)。検出されたリソースは、リソースリストに追加される。この検出の処理については後述する(図30参照)。
次に、収集優先度設定部231は、ステップ2810において検出されたリソースを基点として、そのリソースと性能の依存関係があるリソースを検出する(2812)。この検出は、ステップ2805と同様、ボリューム・論理ボリューム・ポート対応テーブル2220を参照して実行される。
次に、収集優先度設定部231は、ステップ2812において検出されたリソースをリソースリストに追加する(2813)。
次に、収集優先度設定部231は、リソースリストを参照し、リソースリストに登録されたリソースに対応する収集優先度テーブル2300の収集優先度2302の値を「High B」に更新する(2814)。その結果、ステップ2810において検出されたリソースの収集優先度2302として「High B」が設定され、さらに、そのリソースと性能の依存関係があるリソースにも「High B」が設定される。
次に、収集優先度設定部231は、ステップ2808において説明したように、リソースリストを参照し、リソースリストに登録されたリソースを監視している性能情報収集エージェント206〜208に対して、収集優先度の値を「High B」に更新する要求を送信する(2815)。この要求を受信した性能情報収集エージェント206〜208の収集優先度設定部220は、ステップ2808において説明したように、自らが管理する収集優先度テーブル219に登録された収集優先度の値を「High B」に更新する。
なお、ステップ2814が実行される前に、リソースリストに登録されたリソースに対応する収集優先度テーブル2300の収集優先度2302の値が既に「High A」に更新されている場合、収集優先度設定部231は、ステップ2814及び2815を実行しなくてもよい。一つのリソースが複数の収集優先度に該当する場合、該当する収集優先度の中で最も高いものをそのリソースに設定するためである。ステップ2814及び2815が実行されない場合、「High A」及び「High B」のいずれの条件も満たすリソースの収集優先度2302は、「High A」となる。
次に、収集優先度設定部231は、リソースリストをクリアする(2816)。その結果、ステップ2816が終了した時点で、リソースリストにはいずれのリソースも登録されていない。
次に、収集優先度設定部231は、メトリクス値の推移が増加傾向又は減少傾向にあるリソースを検出する(2817)。検出されたリソースは、リソースリストに追加される。この検出の処理については後述する(図31参照)。
次に、収集優先度設定部231は、ステップ2817において検出されたリソースを基点として、そのリソースと性能の依存関係があるリソースを検出する(2819)。この検出は、ステップ2805と同様、ボリューム・論理ボリューム・ポート対応テーブル2220を参照して実行される。
次に、収集優先度設定部231は、ステップ2819において検出されたリソースをリソースリストに追加する(2820)。
次に、収集優先度設定部231は、リソースリストを参照し、リソースリストに登録されたリソースに対応する収集優先度テーブル2300の収集優先度2302の値を「High C」に更新する(2821)。その結果、ステップ2817において検出されたリソースの収集優先度2302として「High C」が設定され、さらに、そのリソースと性能の依存関係があるリソースにも「High C」が設定される。
次に、収集優先度設定部231は、ステップ2808において説明したように、リソースリストを参照し、リソースリストに登録されたリソースを監視している性能情報収集エージェント206〜208に対して、収集優先度の値を「High C」に更新する要求を送信する(2822)。この要求を受信した性能情報収集エージェント206〜208の収集優先度設定部220は、ステップ2808において説明したように、自らが管理する収集優先度テーブル219に登録された収集優先度の値を「High C」に更新する。
なお、ステップ2814が実行される前に、リソースリストに登録されたリソースに対応する収集優先度テーブル2300の収集優先度2302の値が既に「High A」又は「High B」に更新されている場合、収集優先度設定部231は、ステップ2814及び2815を実行しなくてもよい。ステップ2814及び2815が実行されない場合、「High A」及び「High C」のいずれの条件も満たすリソースの収集優先度2302は、「High A」となり、「High B」及び「High C」のいずれの条件も満たすリソースの収集優先度2302は、「High B」となる。
次に、収集優先度設定部231は、各性能情報収集エージェント206〜208に対して、メトリクス値が閾値を超えたリソースの一覧の送信を要求する(2823)。この要求を受信した性能情報収集エージェント206〜208の閾値超過検知部217は、メトリクス値テーブル213及び閾値設定情報テーブル215を参照して、メトリクス値が閾値を超えたリソースの一覧を収集優先度設定部231に送信する。
例えば、SANスイッチ性能情報収集エージェント144は、メトリクス値テーブル1300及び閾値設定情報テーブル1600を参照して、メトリクス値1304が条件1603に示す閾値を超えているリソース(図16の例では、メトリクス値1304の値が1100未満であるリソース)のリソース識別子1302の一覧を収集優先度設定部231に送信する。
次に、収集優先度設定部231は、各性能情報収集エージェント206〜208の閾値超過検知部217から、メトリクス値が閾値を超えたリソースの一覧を受信する(2824)。
次に、収集優先度設定部231は、メトリクス値が閾値を超えたリソースがあるか否かを判定する(2825)。具体的には、収集優先度設定部231は、ステップ2824において受信した一覧に、一つ以上のリソース識別子が含まれているか否かを判定する。
ステップ2825において、一覧に一つ以上のリソース識別子が含まれていると判定された場合、一つ以上のリソースにおいて、メトリクス値が実際に閾値を超えている。この場合、収集優先度設定部231は、受信した一覧に含まれるリソース識別子が示すリソースに対応する収集優先度テーブル2300の収集優先度2302の値を「High A」に更新する(2826)。
次に、収集優先度設定部231は、メトリクス値が閾値を超過したリソースを監視している性能情報収集エージェント206〜208に対して、収集優先度の値を「High A」に更新する要求を送信する(2827)。この要求を受信した性能情報収集エージェント206〜208の収集優先度設定部220は、ステップ2808において説明したように、自らが管理する収集優先度テーブル219に登録された収集優先度の値を「High A」に更新する。
ステップ2827の処理が終了すると、収集優先度設定部231は処理を終了する。
ステップ2825において、一覧にリソース識別子が一つも含まれていないと判定された場合、どのリソースのメトリクス値も、まだ閾値を超えていない。この場合、収集優先度設定部231は、ステップ2826及び2827を実行せずに、処理を終了する。
図29は、本発明の実施の形態の収集優先度設定部231が、閾値を超過した履歴のあるリソースを検出するために実行する処理のフローチャートである。
図29に示す処理は、図28Aのステップ2803において実行される。
収集優先度設定部231は、閾値超過履歴テーブル2500の各行について、以下のステップ2902及び2903を実行する(2901及び2904)。
まず、収集優先度設定部231は、閾値超過履歴テーブル2500の一つの行について、リソース識別子2502を取得する(2902)。閾値超過履歴テーブル2500には、過去に閾値を超過したメトリクス値2504と、そのメトリクス値に対応するリソース識別子2502(すなわち、そのメトリクス値が観測されたリソース)が格納されている。このため、ステップ2902において取得されたリソース識別子2502は、過去に性能の問題が発生したことのあるリソースの識別子である。
次に、収集優先度設定部231は、ステップ2902において取得したリソース識別子を、リソースリストに追加する(2903)。
収集優先度設定部231は、閾値超過履歴テーブル2500の全ての行について上記のステップ2902及び2903が終了すると、図29に示す処理を終了して、図28Aのステップ2805以降の処理を実行する。
図30は、本発明の実施の形態の収集優先度設定部231が、メトリクス予測値が閾値を超過するリソースを検出するために実行する処理のフローチャートである。
図30に示す処理は、図28Aのステップ2810において実行される。
最初に、収集優先度設定部231は、閾値設定情報テーブル2400の全ての行から、リソース識別子2401、メトリクス識別子2402及び条件2403を取得する(3001、3002及び3003)。
次に、収集優先度設定部231は、ステップ3001〜3003において取得された全てのリソースについて、ストレージネットワーク性能管理ソフト164が過去に取得したメトリクス値に基づいてメトリクス予測値を算出することを、性能分析表示部229に要求する(3004)。ストレージネットワーク性能管理ソフト164が過去に取得したメトリクス値とは、すなわち、メトリクス値テーブル2100に既に格納されているメトリクス値である。メトリクス予測値とは、過去に取得されたメトリクス値に基づいて予測された現在のメトリクス値である。
ステップ3004の要求を受信した性能分析表示部229は、メトリクス値テーブル2100に既に格納されているメトリクス値に基づいて、メトリクス予測値を算出する。性能分析表示部229は、いかなる方法でメトリクス予測値を算出してもよい。例えば、性能分析表示部229は、最小二乗法のような周知の方法によってメトリクス予測値を算出することができる。性能分析表示部229は、算出したメトリクス予測値を収集優先度設定部231に送信する。
次に、収集優先度設定部231は、性能分析表示部229から、算出されたメトリクス予測値を受信する(3005)。
次に、収集優先度設定部231は、ステップ3001〜3003において取得された全てのリソースについて、メトリクス値の閾値と、メトリクス予測値とを比較する(3006及び3007)。
次に、収集優先度設定部231は、ステップ3007の比較の結果、メトリクス予測値が閾値を超過しているか否かを判定する(3008)。
ステップ3008において、メトリクス予測値が閾値を超過していると判定された場合、判定対象のリソースのメトリクス値は、現在、閾値を超過していると予測される。この場合、収集優先度設定部231は、ステップ3008の判定対象のリソースをリソースリストに追加する(3009)。
一方、ステップ3008において、メトリクス予測値が閾値を超過していないと判定された場合、判定対象のリソースのメトリクス値は、現在のところ、閾値を超過していないと予測される。この場合、収集優先度設定部231は、ステップ3009を実行しない。
ステップ3007〜3009に示す処理が全てのリソースについて終了すると、収集優先度設定部231は、図30に示す処理を終了し、図28Aのステップ2812以降の処理を実行する。
図31は、本発明の実施の形態の収集優先度設定部231が、メトリクス値の推移が増加傾向又は減少傾向にあるリソースを検出するために実行する処理のフローチャートである。
図31に示す処理は、図28Bのステップ2817において実行される。
収集優先度設定部231は、各リソースについて、ステップ3102〜3105を実行する。全てのリソースについてステップ3102〜3105の実行が終了すると、収集優先度設定部231は、図31に示す処理を終了する。
最初に、収集優先度設定部231は、性能分析表示部229に対して、処理の対象であるリソースのメトリクス値の推移を予測することを要求する(3102)。
ステップ3102の要求を受信した性能分析表示部229は、メトリクス値テーブル2100に既に格納されているメトリクス値に基づいて、現在までのメトリクス値の推移を予測する。性能分析表示部229は、図30のステップ3004と同様、例えば、最小二乗法のような周知の方法によってメトリクス値の推移を予測することができる。性能分析表示部229は、メトリクス値の推移の予測結果を収集優先度設定部231に送信する。
次に、収集優先度設定部231は、性能分析表示部229から、メトリクス値の予測結果を受信する(3103)。
次に、収集優先度設定部231は、ステップ3103において受信したメトリクス値の推移の予測結果が、増加傾向又は減少傾向にあるか否かを判定する(3104)。具体的には、例えば、予測されたメトリクス値の推移が増加傾向にあり、かつ、その増加率が所定の閾値を超えている場合、収集優先度設定部231は、ステップ3104において、予測結果が増加傾向にあると判定してもよい。あるいは、予測されたメトリクス値の推移が減少傾向にあり、かつ、その減少率が所定の閾値を超えている場合、収集優先度設定部231は、ステップ3104において、予測結果が減少傾向にあると判定してもよい。このように、メトリクス値の変化率が算出され、その変化率が所定の閾値を超えた場合に、ステップ3104において「Yes」と判定される。
ステップ3104において、メトリクス値の推移の予測結果が増加傾向又は減少傾向にあると判定された場合、収集優先度設定部231は、処理対象のリソースのリソース識別子をリソースリストに追加する(3105)。
一方、ステップ3104において、メトリクス値の推移の予測結果が増加傾向及び減少傾向のいずれでもないと判定された場合、収集優先度設定部231は、ステップ3105を実行しない。
全てのリソースについてステップ3102〜3105の実行が終了すると、収集優先度設定部231は、図31に示す処理を終了し、図28Bのステップ2819以降の処理を実行する。
図32A及び図32Bは、本発明の実施の形態のストレージネットワーク性能管理ソフト164内の性能情報収集部227が実行する処理のフローチャートである。
既に説明したように、通常、ストレージネットワーク性能管理ソフト164は、性能情報収集エージェント206〜208のメトリクス値テーブル213に格納されたメトリクス値のうち、まだストレージネットワーク性能管理ソフト164が取得していないもの全ての送信を周期的に要求する。しかし、例えばこのようなポーリングが長期間中断していた場合、送信要求の対象となるメトリクス値の量が膨大になり、それらの取得に長時間を要することとなる。このような場合に、図32A及び図32Bに示す処理が実行される。
最初に、性能情報収集部227は、収集優先度テーブル2300を参照して、収集優先度2302として「High A」が登録されているリソースのリソース識別子2301の一覧を取得する(3201)。
次に、性能情報収集部227は、ステップ3201において取得した一覧が示すリソースを監視対象とする各性能情報収集エージェント206〜208の性能情報応答部214に対して、それらのリソース(すなわち、収集優先度2302が「High A」であるリソース)のメトリクス値を送信することを要求する(3202)。
ステップ3202の要求を受信した性能情報応答部214は、要求の対象であるリソースに関するメトリクス値をメトリクス値テーブル213から読み出し、読み出されたメトリクス値を性能情報収集部227に送信する。
次に、性能情報収集部227は、性能情報応答部214から、要求の対象であるリソースに関するメトリクス値を受信する(3203)。
次に、性能情報収集部227は、ステップ3203において受信したメトリクス値を、メトリクス値テーブル2100に格納する(3204)。
次に、性能情報収集部227は、収集優先度テーブル2300を参照して、収集優先度2302として「High B」が登録されているリソースのリソース識別子2301の一覧を取得する(3205)。
次に、性能情報収集部227は、ステップ3205において取得した一覧が示すリソースを監視対象とする各性能情報収集エージェント206〜208の性能情報応答部214に対して、それらのリソース(すなわち、収集優先度2302が「High B」であるリソース)のメトリクス値を送信することを要求する(3206)。
ステップ3206の要求を受信した性能情報応答部214は、要求の対象であるリソースに関するメトリクス値をメトリクス値テーブル213から読み出し、読み出されたメトリクス値を性能情報収集部227に送信する。
次に、性能情報収集部227は、性能情報応答部214から、要求の対象であるリソースに関するメトリクス値を受信する(3207)。
次に、性能情報収集部227は、ステップ3207において受信したメトリクス値を、メトリクス値テーブル2100に格納する(3208)。
次に、性能情報収集部227は、収集優先度テーブル2300を参照して、収集優先度2302として「High C」が登録されているリソースのリソース識別子2301の一覧を取得する(3209)。
次に、性能情報収集部227は、ステップ3209において取得した一覧が示すリソースを監視対象とする各性能情報収集エージェント206〜208の性能情報応答部214に対して、それらのリソース(すなわち、収集優先度2302が「High C」であるリソース)のメトリクス値を送信することを要求する(3210)。
ステップ3210の要求を受信した性能情報応答部214は、要求の対象であるリソースに関するメトリクス値をメトリクス値テーブル213から読み出し、読み出されたメトリクス値を性能情報収集部227に送信する。
次に、性能情報収集部227は、性能情報応答部214から、要求の対象であるリソースに関するメトリクス値を受信する(3211)。
次に、性能情報収集部227は、ステップ3211において受信したメトリクス値を、メトリクス値テーブル2100に格納する(3212)。
以上で、収集優先度が比較的高いリソース(上記の例では、収集優先度として「High A」、「High B」又は「High C」が設定されたリソース)に関するメトリクス値が取得された。本実施の形態では、「High A」が最も高い収集優先度を表す。このため、収集優先度として「High A」が設定されたリソースに関するメトリクス値が最も優先して取得される(3201〜3204)。
一方、比較的低い収集優先度(上記の例では、「Low」)が設定されたリソースに関するメトリクス値は、性能の問題の検出及びその問題の原因の究明のために比較的有用でないと推測されたものである。しかし、実際には、それらのメトリクス値の中に有用なものが含まれている場合がある。このため、性能情報収集部227は、収集優先度が比較的高いリソースに関するメトリクス値を取得した後で、収集優先度が比較的低いリソースに関するメトリクス値を取得する(3213〜3227)。
ただし、収集優先度が比較的低いリソースに関するメトリクス値に有用なものが含まれている可能性は低い。そこで、性能情報収集部227は、有用でないメトリクス値を取得するための負荷が他の処理を阻害することを防ぐため、計算機システムの負荷が低い場合に限ってそれらのメトリクス値を取得する。計算機システムの負荷が高い場合、負荷が低くなるのを待ってから取得してもよいし(3220〜3227)、取得を断念してもよい。取得を断念した場合、ステップ3221から3227は実行されない。この場合、図32Aの処理が開始された時点でメトリクス値テーブル213に格納されていたメトリクス値のうち、収集優先度2302が「Low」であるリソースに関するメトリクス値は、結局収集されない。
以下、ステップ3213以降の処理を説明する。
性能情報収集部227は、性能負荷情報テーブル2700及び性能負荷目標設定テーブル2600を参照する(3213)。
次に、性能情報収集部227は、実際に測定された性能負荷の値が、性能負荷の目標値として設定されている値以下であるか否かを判定する(3214)。実際に測定された性能負荷の値は、性能負荷情報テーブル2700の性能項目値2702として登録されている。性能負荷の目標値は、性能負荷目標設定テーブル2600の性能項目目標値2602として登録されている。
ステップ3214において、実際に測定された性能負荷が目標値以下であると判定された場合、計算機システムの性能に余裕がある。すなわち、この場合、さらにメトリクス値を取得する処理を実行したとしても、計算機システムが実行する他の処理を阻害する可能性は低い。したがって、この場合、性能情報収集部227は、収集優先度テーブル2300を参照して、収集優先度2302として「Low」が登録されているリソースのリソース識別子2301の一覧を取得する(3215)。
次に、性能情報収集部227は、ステップ3215において取得した一覧が示すリソースを監視対象とする各性能情報収集エージェント206〜208の性能情報応答部214に対して、それらのリソース(すなわち、収集優先度2302が「Low」であるリソース)のメトリクス値を送信することを要求する(3216)。
ステップ3216の要求を受信した性能情報応答部214は、要求の対象であるリソースに関するメトリクス値をメトリクス値テーブル213から読み出し、読み出されたメトリクス値を性能情報収集部227に送信する。
次に、性能情報収集部227は、性能情報応答部214から、要求の対象であるリソースに関するメトリクス値を受信する(3217)。
次に、性能情報収集部227は、ステップ3217において受信したメトリクス値を、メトリクス値テーブル2100に格納する(3218)。
ステップ3218が終了すると、少なくとも、図32Aの処理が開始された時点でメトリクス値テーブル213に格納されていたメトリクス値は、全てメトリクス値テーブル2100に格納された。以後、通常の収集処理が実行され(3219)、性能情報収集部227は、図32A及び図32Bに示す処理を終了する。通常の収集処理とは、性能情報収集部227が、まだ取得していない全てのメトリクス値を対象として送信を要求する処理である。
一方、ステップ3214において、実際に測定された性能負荷が目標値以下であると判定された場合、計算機システムの性能に余裕がない。すなわち、この場合、さらにメトリクス値を取得する処理を実行すると、計算機システムが実行する他の処理を阻害する可能性が高い。したがって、この場合、収集優先度2302が「Low」であるリソースに関するメトリクス値がまだ収集されていないにも関らず、一旦、通常の収集処理の実行が開始される(3220)。
ただし、既にメトリクス値テーブル213に格納されている、収集優先度「Low」に対応するメトリクス値は、ステップ3220における通常の収集処理の対象とならない。これらのメトリクス値は、以下のステップ3221以降の処理によって順次取得される。
その後、性能情報収集部227は、性能負荷情報テーブル2700及び性能負荷目標設定テーブル2600を参照する(3221)。
そして、性能情報収集部227は、ステップ3214と同様にして、実際に測定された性能負荷の値と、性能負荷の目標値として設定されている値とを比較する(3222)。性能情報収集部227は、実際に測定された性能負荷の値が、性能負荷の目標値として設定されている値以下となるまで、ステップ3221及び3222を繰り返す(3223)。
実際に測定された性能負荷の値が、性能負荷の目標値として設定されている値以下となると、性能情報収集部227は、収集優先度テーブル2300を参照する。そして、性能情報収集部227は、収集優先度2302として「Low」が登録されているリソースのリソース識別子2301の一覧を取得する(3224)。
次に、性能情報収集部227は、ステップ3224において取得した一覧が示すリソースを監視対象とする各性能情報収集エージェント206〜208の性能情報応答部214に対して、それらのリソース(すなわち、収集優先度2302が「Low」であるリソース)のメトリクス値を送信することを要求する(3225)。
ステップ3216の要求を受信した性能情報応答部214は、要求の対象であるリソースに関するメトリクス値をメトリクス値テーブル213から読み出し、読み出されたメトリクス値を性能情報収集部227に送信する。
次に、性能情報収集部227は、性能情報応答部214から、要求の対象であるリソースに関するメトリクス値を受信する(3226)。
次に、性能情報収集部227は、ステップ3226において受信したメトリクス値を、メトリクス値テーブル2100に格納する(3227)。
以上で、性能情報収集部227は、図32A及び図32Bに示す処理を終了する。
上記のように、図32A及び図32Bに示す処理によれば、性能情報収集部227は、高い収集優先度が設定されたリソースに関するメトリクス値を、低い収集優先度が設定されたリソースに関するメトリクス値より先に取得する。低い収集優先度が設定されたリソースに関するメトリクス値は、結局取得されなくてもよいし、後で、計算機システムの負荷が低いとき(言い換えると、計算機システムの性能に余裕があるとき)に取得されてもよい。
次に、各性能情報収集エージェント206〜208のメトリクス値削除部218が実行する処理について、図33〜図35を参照して説明する。
各性能情報収集エージェント206〜208は、管理対象であるストレージネットワーク構成装置・ソフト201〜203から取得したメトリクス値を、メトリクス値テーブル213に格納する。
しかし、性能情報収集エージェント206〜208が管理する記憶領域の容量には限りがあるため、所定のデータ量を超えるメトリクス値をメトリクス値テーブル213に格納することはできない。したがって、記憶されたデータ量が記憶容量の上限に達した場合、さらにメトリクス値を格納するためには、既に格納されているメトリクス値を削除する必要がある。
既に性能情報応答部214がストレージネットワーク性能管理ソフト164に送信したメトリクス値は、ストレージネットワーク性能管理ソフト164のメトリクス値テーブル228に格納されるため、メトリクス値テーブル213からは削除されてもよい。しかし、まだストレージネットワーク性能管理ソフト164に送信されていないメトリクス値まで削除してしまうと、ストレージネットワーク性能管理ソフト164がそれらの削除されたメトリクス値を取得する機会が失われる。その結果、ストレージネットワーク性能管理ソフト164は、それらの削除されたメトリクス値に基づいて性能の問題の検知及びその原因の調査をすることができなくなる。このため、まだストレージネットワーク性能管理ソフト164に送信されていないメトリクス値をメトリクス値テーブル213から削除することは望ましくない。
しかし、例えば計算機システムの障害等のため、ストレージネットワーク性能管理ソフト164がポーリングを実行する間隔が長くなった場合、まだストレージネットワーク性能管理ソフト164が取得していないメトリクス値をメトリクス値テーブル213から削除する必要が生じる場合がある。このような場合、本実施の形態のメトリクス値削除部218は、メトリクス値テーブル213に格納されているメトリクス値から、比較的有用性が低いと考えられるものを選択し、選択されたメトリクス値を優先的に削除する。
メトリクス値削除部218は、メトリクス値を削除する処理を開始するか否かを判定するために、格納されているデータ量と所定の閾値とを比較する。さらに、メトリクス値削除部218は、メトリクス値を削除する処理を開始した後、その処理を終了するか否かを判定するために、格納されているデータ量と所定の閾値とを比較する。前者の閾値と後者の閾値は、同じ値であってもよいし、異なる値であってもよい。
図33は、前者の閾値と後者の閾値が同じ値である場合の処理を示す。一方、図34は、前者の閾値と後者の閾値が異なる値である場合の処理を示す。図35は、いずれの場合においても実行される共通のサブルーチンである。
図33は、本発明の実施の形態のメトリクス値削除部218が実行する第1の処理のフローチャートである。
最初に、メトリクス値削除部218は、性能情報収集エージェント206〜208が管理するデータ記憶領域に格納されているデータ量を取得する(3301)。
次に、メトリクス値削除部218は、ステップ3301において取得したデータ量が、性能情報収集エージェント206〜208が管理するデータ記憶領域の記憶容量の限界値を超過しているか否かを判定する(3302)。ここで、記憶容量の限界値とは、予め設定された閾値である。データ記憶領域の記憶容量を超過しない限り、任意の値(例えば、記憶容量の70%)を限界値として設定することができる。
ステップ3302において、データ量が限界値を超過していると判定された場合、メトリクス値を削除することによって、データ記憶領域の空き領域を確保する必要がある。このため、メトリクス値削除部218は、メトリクス値削除処理サブルーチンを呼び出す(3303)。メトリクス値削除処理サブルーチンについては、後述する(図35参照)。
一方、ステップ3302において、データ量が限界値を超過していないと判定された場合、データ記憶領域には十分な空き容量があるため、メトリクス値を削除する必要がない。このため、メトリクス値削除部218は、処理を終了する。
図34は、本発明の実施の形態のメトリクス値削除部218が実行する第2の処理のフローチャートである。
最初に、メトリクス値削除部218は、性能情報収集エージェント206〜208が管理するデータ記憶領域に格納されているデータ量を取得する(3401)。
次に、メトリクス値削除部218は、ステップ3401において取得したデータ量が、性能情報収集エージェント206〜208が管理するデータ記憶領域の記憶容量の上限値Aを超過しているか否かを判定する(3402)。ここで、記憶容量の上限値Aとは、予め設定された閾値である。データ記憶領域の記憶容量を超過しない限り、任意の値(例えば、記憶容量の70%)を上限値Aとして設定することができる。
ステップ3402において、データ量が上限値Aを超過していると判定された場合、メトリクス値を削除することによって、データ記憶領域の空き領域を確保する必要がある。このため、メトリクス値削除部218は、メトリクス値削除処理サブルーチンを呼び出す(3404)。メトリクス値削除処理サブルーチンについては、後述する(図35参照)。
一方、ステップ3402において、データ量が上限値Aを超過していないと判定された場合、メトリクス値削除部218は、ステップ3401において取得したデータ量が、性能情報収集エージェント206〜208が管理するデータ記憶領域の記憶容量の下限値Bを超過しているか否かを判定する(3403)。
ここで、記憶容量の下限値Bとは、予め設定された閾値である。データ記憶領域の記憶容量を超過しない限り、任意の値を下限値Bとして設定することができる。ただし、下限値Bは、上限値Aより小さい必要がある。例えば、上限値Aが記憶容量の70%である場合、下限値Bは、記憶容量の60%であってもよい。
ステップ3403において、データ量が下限値Bを超過していると判定された場合、メトリクス値を削除することによって、データ記憶領域の空き領域を確保する必要がある。このため、メトリクス値削除部218は、メトリクス値削除処理サブルーチンを呼び出す(3404)。
一方、ステップ3403において、データ量が下限値Bを超過していないと判定された場合、データ記憶領域には十分な空き容量があるため、メトリクス値を削除する必要がない。このため、メトリクス値削除部218は、処理を終了する。
図33に示すように、1種類の閾値を使用すると、メトリクス値の削除処理が頻繁に起動されることが予想される。例えば、限界値が記憶容量の70%であった場合、メトリクス値の削除によってデータ量が記憶容量の70%を少しでも下回れば、メトリクス値削除処理が終了する。しかし、その後データ量が増加し、記憶容量の70%を少しでも上回れば、メトリクス値削除処理が再び起動される。その結果、短い間隔でメトリクス値削除処理が起動されることが予想される。
一方、図34に示すように、2種類の閾値を使用すると、例えば、データ量が記憶容量の70%を超えたときにメトリクス値削除処理が起動され、データ量が記憶容量の60%を下回ると、メトリクス値削除処理が終了する。その後、再びデータ量が記憶容量の70%を超えるまで、メトリクス値削除処理は起動されない。その結果、短い間隔でメトリクス値削除処理が起動されることを防ぐことができるため、計算機システムの負荷が軽減される。
図35は、本発明の実施の形態のメトリクス値削除部218が実行するメトリクス値削除処理サブルーチンのフローチャートである。
図35に示す処理は、図33のステップ3303及び図34のステップ3404において実行される。
最初に、メトリクス値削除部218は、収集優先度テーブル219を参照して、収集優先度が低い(すなわち、「Low」である)行のリソース識別子を取得する(3501〜3503)。例えば、SANスイッチ性能情報収集エージェント144のメトリクス値削除部218は、収集優先度テーブル1500を参照して、収集優先度1502が「Low」である行のリソース識別子「ポートD」、「ポートH」及び「ポートI」を取得する。
次に、メトリクス値削除部218は、メトリクス値テーブル213の各行について(3504)、収集優先度が高いか否かを判定する(3505)。例えば、収集優先度が「High A」、「High B」又は「High C」のいずれかである場合、収集優先度が高いと判定され、収集優先度が「Low」である場合、収集優先度が低いと判定される。メトリクス値テーブル1300及び収集優先度テーブル1500を例とすると、収集優先度1502が「High B」であるポートCに関するメトリクス値テーブル1300の行は、収集優先度が高いと判定される。収集優先度1502が「Low」であるポートDに関するメトリクス値テーブル1300の行は、収集優先度が低いと判定される。
ステップ3505において、収集優先度が低いと判定された場合、その行のメトリクス値は、有用度が比較的低いと推測される。このため、メトリクス値削除部218は、収集優先度が低いと判定された行をメトリクス値テーブル213から削除する(3508)。
一方、ステップ3505において、収集優先度が高いと判定された場合、その行のメトリクス値は、有用度が比較的高いと推測される。しかし、その行が取得されてから現在までに、予め定められた保存期間を経過している場合には、その行を削除することができる。このため、メトリクス値削除部218は、予め定められた性能情報の保存期間を参照する(3506)。この保存期間は、性能情報収集エージェント206〜208が管理する記憶領域に記憶されている。
次に、メトリクス値削除部218は、処理の対象の行が、ステップ3506において参照された保存期間を経過しているか否かを判定する(3507)。具体的には、メトリクス値削除部218は、処理対象の行に登録された日時(例えば、日時1301)から現在までの期間が、ステップ3506において参照された保存期間を経過しているか否かを判定する。
ステップ3507において、保存期間を経過していると判定された場合、処理対象の行をメトリクス値テーブル213から削除する(3508)。
一方、ステップ3507において、保存期間を経過していると判定された場合、処理対象の行をメトリクス値テーブル213から削除しない。
メトリクス値テーブル213の全ての行について、ステップ3505から3508までの処理を実行すると(3509)、メトリクス値削除処理サブルーチンが終了する。
以上、本発明の実施の形態によれば、ストレージネットワーク性能管理ソフト164は、これから取得すべきメトリクス値を性能情報収集エージェント206〜208が大量に保持している場合、既に取得したメトリクス値に基づいて、メトリクス値を収集する順序を決定する。具体的には、ストレージネットワーク性能管理ソフト164は、既に取得したメトリクス値に基づいて、各リソースに収集優先度を設定する。そして、ストレージネットワーク性能管理ソフト164は、高い収集優先度が設定されたリソースに関するメトリクス値を、低い収集優先度が設定されたリソースに関するメトリクス値より先に取得する。
収集優先度は、性能の問題(例えば、性能が所定の閾値より低下したこと)の発生を検知し、さらに、その問題の原因を明らかにするために有用なメトリクス値が優先して取得されるように設定される。例えば、現在性能の問題が発生している可能性が高いリソースに関するメトリクス値は、性能の問題(例えば、性能が所定の閾値より低下したこと)が発生したことを検知するために比較的有用であると推測される。したがって、このようなリソースには、高い収集優先度が設定される。現在性能の問題が発生している可能性が高いリソースと性能の依存関係があるリソースに関するメトリクス値は、性能の問題の原因を明らかにするために有用であると推測される。したがって、このようなリソースには、高い収集優先度が設定される。
このように、比較的有用であると推測されるメトリクス値を優先して取得することによって、取得すべきメトリクス値が大量に存在する場合であっても、計算機システムに発生した障害等を迅速に検知することができる。その後、ストレージネットワーク性能管理ソフト164は、比較的有用でないと推測されるメトリクス値(すなわち、低い収集優先度が設定されたリソースに関するメトリクス値)を、結局取得しなくてもよいし、計算機システムの負荷が低いときに取得してもよい。
性能情報収集エージェント206〜208は、記憶容量の制限のために、新たに取得したメトリクス値を格納することができなくなった場合、既に格納されているメトリクス値のうち、比較的有用でないと推測されるメトリクス値を削除する。その結果、比較的有用であると推測されるメトリクス値が削除されることを防ぐことができる。