(57)【特許請求の範囲】
【請求項１】
データを格納する二以上の論理領域が設定されたディスク装置と、前記ディスク装置へのデータの読み書きを制御する制御部と、ホスト計算機に接続するインターフェースとを備えたストレージシステムと、ネットワークを介して前記インターフェースに接続され、前記ディスク装置の論理領域へのデータの読み書きを要求するホスト計算機と、前記各論理領域、前記ネットワーク及び前記ホスト計算機の負荷情報を収集する管理計算機と、を備えた計算機システムで実行される負荷情報収集方法において、
前記管理計算機には、前記各論理領域と、各々の論理領域を占有する前記ホスト計算機との対応関係が設定されており、
前記ホスト計算機が、当該ホスト計算機に格納された第１の負荷情報収集プログラムによって、当該ホスト計算機の負荷情報を取得する第１のステップと、
前記制御部が、前記二以上の論理領域のいずれかである第１の論理領域に格納された第２の負荷情報収集プログラムによって、各論理領域の負荷情報を取得し、前記第１の論理領域に格納する第２のステップと、
前記制御部が、取得された前記各論理領域の負荷情報を、前記ホスト計算機に送信する第３のステップと、
前記ホスト計算機が、前記制御部から受信した前記各論理領域の負荷情報と、当該ホスト計算機の負荷情報とを、非同期に前記管理計算機に送信する第４のステップと、
前記管理計算機が、前記ホスト計算機から受信した前記各論理領域の負荷情報及び前記ホスト計算機の負荷情報を収集する第５のステップと、
前記管理計算機が、収集された前記各論理領域の負荷情報に基づいて、所定の下限値よりも負荷が大きく、且つ、所定の上限値よりも負荷が小さい論理領域を抽出する第６のステップと、
前記管理計算機が、収集された前記ホスト計算機の負荷情報に基づいて、所定の閾値よりも負荷が低いホスト計算機を抽出する第７のステップと、
前記管理計算機が、前記抽出された論理領域と前記抽出されたホスト計算機とが前記対応関係において対応付けられている場合には、当該対応付けられた論理領域とホスト計算機とを管理者に通知し、前記抽出された論理領域と前記抽出されたホスト計算機とが前記対応関係において対応付けられていない場合には、前記抽出された論理領域と前記抽出されたホスト計算機とを管理者に通知する第８のステップと、
前記管理計算機が、前記第１の論理領域の情報と、前記抽出された論理領域のうちの、前記通知に基づいて管理者によって選択された第２の論理領域の情報と、を前記制御部に送信する第９のステップと、
前記制御部が、前記第１の論理領域に格納されている第２の負荷情報収集プログラム及び負荷情報を、前記第２の論理領域にコピーする第１０のステップと、
を含むことを特徴とする負荷情報収集方法。
【請求項２】
前記第１のステップ及び前記第２のステップの前に、前記管理計算機は、前記管理者によって選択されたホスト計算機、論理領域のそれぞれに、前記第１の負荷情報収集プログラム、前記第２の負荷情報収集プログラムを格納することを特徴とする請求項１に記載の負荷情報収集方法。
【請求項３】
前記計算機システムは、複数のホスト計算機を備え、
前記第３のステップは、
前記制御部が、取得された各論理領域の負荷情報を、前記管理計算機からの指示に応じて二以上のデータに分割するステップと、
前記制御部が、前記分割されたデータに前記ストレージシステムを識別する情報を付加するステップと、
前記制御部が、前記識別子を付加したデータを、二以上の前記ホスト計算機に分散して送信するステップとを含み、
前記第４のステップにおいて、前記各ホスト計算機は、前記制御部によって送信されたデータを前記管理計算機に送信し、
前記第５のステップにおいて、前記管理計算機は、前記ホスト計算機によって送信されたデータを結合することによって、前記各論理領域の負荷情報を収集するステップと、を含むことを特徴とする請求項１に記載の負荷情報収集方法。
【請求項４】
データを格納する二以上の論理領域が設定されたディスク装置と、前記ディスク装置へのデータの読み書きを制御する制御部と、ホスト計算機に接続するインターフェースとを備えたストレージシステムと、
ネットワークを介して前記インターフェースに接続され、前記ディスク装置の論理領域へのデータの読み書きを要求するホスト計算機と、
前記各論理領域、前記ネットワーク及び前記ホスト計算機の負荷情報を収集する管理計算機と、を備えた計算機システムにおいて、
前記管理計算機には、前記各論理領域と、各々の論理領域を占有する前記ホスト計算機との対応関係が設定されており、
前記ホスト計算機は、当該ホスト計算機に格納された第１の負荷情報収集プログラムによって、当該ホスト計算機の負荷情報を取得し、
前記制御部は、前記一以上の論理領域のいずれかである第１の論理領域に格納された第２の負荷情報収集プログラムによって、各論理領域の負荷情報を取得し、前記第１の論理領域に格納し、
前記制御部は、取得された前記各論理領域の負荷情報を、前記ホスト計算機に送信し、
前記ホスト計算機は、前記制御部から受信した前記各論理領域の負荷情報と、当該ホスト計算機の負荷情報とを、非同期に前記管理計算機に送信し、
前記管理計算機は、前記ホスト計算機から受信した前記各論理領域の負荷情報及び前記ホスト計算機の負荷情報を収集し、
前記管理計算機は、収集された前記各論理領域の負荷情報に基づいて、所定の下限値よりも負荷が大きく、且つ、所定の上限値よりも負荷が小さい論理領域を抽出し、
前記管理計算機は、収集された前記ホスト計算機の負荷情報に基づいて、所定の閾値よりも負荷が低いホスト計算機を抽出し、
前記管理計算機は、前記抽出された論理領域と前記抽出されたホスト計算機とが前記対応関係において対応付けられている場合には、当該対応付けられた論理領域とホスト計算機とを管理者に通知し、前記抽出された論理領域と前記抽出されたホスト計算機とが前記対応関係において対応付けられていない場合には、前記抽出された論理領域と前記抽出されたホスト計算機とを管理者に通知し、
前記管理計算機は、前記第１の論理領域の情報と、前記抽出された論理領域のうちの、前記通知に基づいて管理者によって選択された第２の論理領域の情報と、を前記制御部に送信し、
前記制御部は、前記第１の論理領域に格納されている第２の負荷情報収集プログラム及び負荷情報を、前記第２の論理領域にコピーすることを特徴とする計算機システム。
【請求項５】
前記ホスト計算機による当該ホスト計算機の負荷情報の取得及び前記制御部による各論理領域の負荷情報の取得の前に、前記管理計算機は、前記管理者によって選択されたホスト計算機、論理領域のそれぞれに、前記第１の負荷情報収集プログラム、前記第２の負荷情報収集プログラムを格納することを特徴とする請求項４に記載の計算機システム。
【請求項６】
前記計算機システムは、複数のホスト計算機を備え、
前記制御部は、取得された各論理領域の負荷情報を、前記管理計算機からの指示に応じて二以上のデータに分割し、
前記分割されたデータに前記ストレージシステムを識別する情報を付加し、
前記識別子を付加したデータを、二以上の前記ホスト計算機に分散して送信し、
前記各ホスト計算機は、前記制御部によって送信されたデータを前記管理計算機に送信し、
前記管理計算機は、前記ホスト計算機によって送信されたデータを結合することによって、前記各論理領域の負荷情報を収集することを特徴とする請求項４に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関し、特に、ストレージシステムの性能情報を取得するプログラムの稼働による性能負荷を軽減する計算機システムに関する。
【背景技術】
【０００２】
ホスト計算機からの要求に従ってディスク装置のデータを入出力する制御装置を含むストレージシステムを備えた計算機システムにおいて、計算機システムの運用に際し、ストレージシステムの性能情報を収集したいという要求がある。
【０００３】
ストレージシステムの性能情報とは、例えば、ホスト計算機からのＩ／Ｏ数、ホスト計算機からのＩ／Ｏのデータ量、制御装置のプロセッサの負荷、制御装置のＩ／Ｏ数、ディスク装置の使用量等である。
【０００４】
これらの性能情報は、一般的に、ホスト計算機又は管理計算機において稼働するプログラムによって、ストレージシステムの性能情報を取得する（例えば特許文献１参照。）。
【特許文献１】特開２００３−３１６５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ストレージ等の性能情報を収集するためのプログラムは、そのプログラム自体のリソースの負荷が発生する。そのため、特定のユーザプログラムとリソースの競合が発生したり、プログラムによるＩ／Ｏ等の負荷の発生によって、性能情報のＩ／Ｏ数が性格に測定できない場合があった。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、ストレージシステムの性能情報を取得するプログラムをどのように稼働させるかを判断することによって、より精度の高い性能情報を取得可能な計算機システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による実施の形態の一例は、データを格納する二以上の論理領域が設定されたディスク装置と、ディスク装置へのデータの読み書きを制御する制御部と、ホスト計算機に接続するインターフェースとを備えたストレージシステムと、ネットワークを介してインターフェースに接続され、ディスク装置の論理領域へのデータの読み書きを要求するホスト計算機と、各論理領域、ネットワーク及びホスト計算機の負荷情報を収集する管理計算機と、を備えた計算機システムで実行される負荷情報収集方法において、管理計算機には、各論理領域と、各々の論理領域を占有するホスト計算機との対応関係が設定されており、ホスト計算機が、当該ホスト計算機に格納された第１の負荷情報収集プログラムによって、当該ホスト計算機の負荷情報を取得する第１のステップと、制御部が、二以上の論理領域のいずれかである第１の論理領域に格納された第２の負荷情報収集プログラムによって、各論理領域の負荷情報を取得し、第１の論理領域に格納する第２のステップと、制御部が、取得された各論理領域の負荷情報を、ホスト計算機に送信する第３のステップと、ホスト計算機が、制御部から受信した各論理領域の負荷情報と、当該ホスト計算機の負荷情報とを、非同期に管理計算機に送信する第４のステップと、管理計算機が、ホスト計算機から受信した各論理領域の負荷情報及びホスト計算機の負荷情報を収集する第５のステップと、管理計算機が、収集された各論理領域の負荷情報に基づいて、所定の下限値よりも負荷が大きく、且つ、所定の上限値よりも負荷が小さい論理領域を抽出する第６のステップと、管理計算機が、収集されたホスト計算機の負荷情報に基づいて、所定の閾値よりも負荷が低いホスト計算機を抽出する第７のステップと、管理計算機が、抽出された論理領域と抽出されたホスト計算機とが対応関係において対応付けられている場合には、当該対応付けられた論理領域とホスト計算機とを管理者に通知し、抽出された論理領域と抽出されたホスト計算機とが対応関係において対応付けられていない場合には、抽出された論理領域と抽出されたホスト計算機とを管理者に通知する第８のステップと、管理計算機が、第１の論理領域の情報と、抽出された論理領域のうちの、通知に基づいて管理者によって選択された第２の論理領域の情報と、を制御部に送信する第９のステップと、制御部が、第１の論理領域に格納されている第２の負荷情報収集プログラム及び負荷情報を、第２の論理領域にコピーする第１０のステップと、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によると、計算機システムにおいて、ストレージシステムの制御部が取得した性能情報を、負荷が低いホスト計算機を介して管理計算機に送信するので、計算機システムで実行されている業務に対する影響を最小限に抑えると共に、より正確な性能情報を取得することができる。
【発明を実施するための最良の形態】
【０００９】
以下に本発明の実施の形態を図面に基づいて説明する。
【００１０】
本発明の実施の形態は、計算機システムにおいて、ストレージシステム３０の性能情報を、ストレージシステム３０に格納された性能情報を取得するためのプログラム（エージェント１プログラム３０００）によって取得する。そして、取得した性能情報を、ホスト２０に格納されたプログラム（エージェント２プログラム２０００）を介して、性能情報を収集する統合管理サーバ１０に送信するよう構成した。
【００１１】
まず、この計算機システムの構成を説明する。
【００１２】
図１は、本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【００１３】
本実施の形態の計算機システムは、統合管理サーバ１０、ホスト２０Ａ及び２０Ｂ、ストレージシステム３０Ａ及び３０Ｂ、スイッチ（ＳＷ）４０Ａ及び４０Ｂを含む。
【００１４】
ホスト２０Ａ及び２０Ｂは、ストレージシステム３０Ａ及び３０Ｂに格納されているデータの読み書きを要求する。ストレージシステム３０Ａ及び３０Ｂは、ディスク装置３３０を備え、ホスト２０Ａ及び２０Ｂからのディスク装置３３０に格納されているデータへの読み書きの要求を処理する。統合管理サーバ１０は、ホスト２０Ａ、２０Ｂ及びストレージシステム３０Ａ及び３０Ｂ等の性能情報を取得し、取得した性能情報に関する統計情報やアラート（エラー）を報知する。
【００１５】
ホスト２０Ａは、ＳＷ４０Ａを介してストレージシステム３０Ａ及び３０Ｂに接続している。また、ホスト２０Ｂは、ＳＷ４０Ｂを介してストレージシステム３０Ａ及び３０Ｂに接続している。これらホスト２０とＳＷ４０との間、及びＳＷ４０ストレージシステム３０との間の接続は、ＦＣ（Fibre Channel）やＳＣＳＩ等の、データ転送に適したネットワークによって構成される。
【００１６】
統合管理サーバ１０は、ネットワーク１１を介してホスト２０Ａ、２０Ｂ及びストレージシステム３０Ａ、３０Ｂに接続している。ネットワーク１１は、Ｅｔｈｅｒｎｅｔ（登録商標、以下同じ）等のネットワークによって構成される。
【００１７】
統合管理サーバ１０は、ＣＰＵ１０１、メモリ１０２及びインターフェース１０３を含む。
【００１８】
ＣＰＵ１０１は、メモリ１０２に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。メモリ１０２は、各種プログラムやプログラムが使用するデータ等を格納する。インターフェース１０３は、ネットワーク１１を介してホスト２０Ａ、２０Ｂ及びストレージシステム３０Ａ及び３０Ｂ等とでデータを送受信する。
【００１９】
ホスト２０Ａは、ＣＰＵ２０１、メモリ２０２、インターフェース２０３及びインターフェース２０４を含む。
【００２０】
ＣＰＵ２０１は、メモリ２０２に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。メモリ２０２は、各種プログラムやプログラムが使用するデータ等を格納する。インターフェース２０３は、ネットワーク１１を介して統合管理サーバ１１とでデータを送受信する。インターフェース２０３は、ＳＷ４０Ａを介して、ストレージシステム３０Ａ及び３０Ｂとデータを送受信する。
【００２１】
なお、ホスト２０Ｂの構成は、ホスト２０Ａの構成と略同一である。
【００２２】
ストレージシステム３０Ａは、複数のチャネルインターフェース３１０（３１０Ａ、３１０Ｂ及び３０１Ｃ）、コントローラ３２０及びディスク装置３３０を含む。
【００２３】
チャネルインターフェース３１０Ａ、３１０Ｂ及び３１０Ｃは、ＳＷ４０Ａ及び４０Ｂを介して、ホスト２０Ａ及び２０Ｂとでデータを送受信する。
【００２４】
チャネルインターフェース３１０Ａは、ＣＰＵ３１１、メモリ３１２、インターフェース３１３及びインターフェース３１４を含む。
【００２５】
ＣＰＵ３１１は、メモリ３１２に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。メモリ３１２は、各種プログラムやプログラムが使用するデータ等を格納する。インターフェース３１３は、ＳＷ４０Ａ及び４０Ｂを介して、ホスト２０Ａ及び２０Ｂとデータを送受信する。インターフェース３１４は、コントローラ３２０と接続して、コントローラ３２０とデータを送受信する。
【００２６】
なお、チャネルインターフェース３１０Ａ、３１０Ｂ及び３１０Ｃのいずれのインターフェース３１３が、いずれのＳＷ４０Ａ及び４０Ｂを介していずれのホスト２０Ａ及び２０Ｂとでデータを送受信するかは、自由である。図１の例では、チャネルインターフェース３１０Ａのインターフェース３１３のうち二つがＳＷ４０Ａに接続している。また、チャネルインターフェース３１０Ｂのインターフェース３１３（図示せず）がＳＷ４０Ａに接続している。また、チャネルインターフェース３１０Ｃのインターフェース３１３（図示せず）がＳＷ４０Ｂに接続している。また、これらの接続は、論理的なインターフェースであるポートを単位として処理される。
【００２７】
コントローラ３２０は、ＣＰＵ３２１、メモリ３２２、インターフェース３２３及びディスクインターフェース３２４を含む。
【００２８】
ＣＰＵ３２１は、メモリ３２２に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。メモリ３２２は、各種プログラムやプログラムが使用するデータ等を格納する。インターフェース３２３は、チャネルインターフェース３１０と接続して、チャネルインターフェース３１０とデータを送受信する。ディスクインターフェース３２４は、ディスク装置３３０と接続して、ディスク装置３３０とデータを送受信する。
【００２９】
ディスク装置３３０は、一つ以上のハードディスクドライブ３３１を含む。ディスク装置３３０は、ＲＡＩＤ構成によってハードディスクドライブ３３１をアレイグループとして構成する。このアレイグループによって、論理的な記憶領域である論理デバイスが構成されている。
【００３０】
ストレージシステム３０Ｂの構成は、ストレージシステム３０Ａの構成と略同一である。図１の例では、ストレージシステム３０Ｂのチャネルインターフェース３１０の一方がＳＷ４０Ａに接続している。そして他方のチャネルインターフェース３１０がＳＷ４０Ａに接続している。
【００３１】
なお、以降では、特に区別する場合を除き、ホスト２０Ａ及びホスト２０Ｂは、ホスト２０とのみ表記する。同様に、ストレージシステム３０Ａ及び３０Ｂは、ストレージシステム３０とのみ表記する。同様に、ＳＷ４０Ａ及びＳＷ４０Ｂは、ＳＷ４０とのみ表記する。同様に、チャネルインターフェース３１０Ａ、３１０Ｂ及び３１０Ｃは、チャネルインターフェース３１０とのみ表記する。
【００３２】
次に、エージェントプログラムについて説明する。
【００３３】
本発明の実施の形態では、ホスト２０及びストレージシステム３０に、それぞれの性能情報を取得するためのプログラムを備える。そして、そのプログラムの処理によって取得された性能情報を、統合管理サーバ１０に備えたマネージャプログラムによって収集する。
【００３４】
図２は、ストレージシステム３０に備えられるエージェント１プログラム３０００の機能ブロック図である。
【００３５】
エージェント１プログラム３０００は、統合管理サーバ１０の処理によってストレージシステム３０のディスク装置３３０のいずれかの論理デバイスに格納される。ストレージシステム３０は、格納されたエージェント１プログラム３０００を読み込んで、プログラムの処理を実行可能に設定（以降、インストールと呼ぶ）して、エージェント１プログラム３０００の処理を実行する。この処理によって、ストレージシステム３０の性能情報が取得される。
【００３６】
エージェント１プログラム３０００は、通信制御処理サブプログラム３１００、データ収集管理モジュール３２００、データ蓄積処理サブプログラム３３００、アラーム管理処理モジュール３４００及びマイクロプログラム処理サブプログラム３５００を含む。
【００３７】
また、データ収集管理モジュール３２００は、データ収集処理サブプログラム３２０１、データ収集対象管理処理サブプログラム３２０２及びデータ収集間隔管理処理サブプログラム３２０３を含む。
【００３８】
また、アラーム管理処理モジュール３４００は、アラーム評価処理サブプログラム３４０１、アラームバインド情報管理サブプログラム３４０２及びイベント管理サブプログラム３４０３を含む。
【００３９】
通信制御処理サブプログラム３１００は、エージェント１プログラム３０００の通信に関する処理をする。より具体的には、エージェント１プログラム３０００が取得した性能情報を統合管理サーバ１０に送付したり、統合管理サーバ１０から送信されたアラームを受信したりする。
【００４０】
データ収集管理モジュール３２００は、ストレージシステム３０の性能情報の取得に関する処理を実行する。より具体的には、データ収集処理サブプログラム３２０１は、データ収集対象管理処理サブプログラム３２０２によって設定されたデータ収集対象、すなわち、ポートや論理デバイスの性能情報を、データ収集間隔管理処理サブプログラム３２０３によって設定されたデータ収集間隔で取得する。
【００４１】
データ蓄積処理サブプログラム３３００は、データ収集管理モジュール３２００によって取得された性能情報を、ディスク装置３３０の論理デバイスに格納する。
【００４２】
アラーム管理処理モジュール３４００は、アラームに関する処理を実行する。より具体的には、アラーム評価処理サブプログラム３４０１は、アラームバインド情報管理サブプログラム３４０２によって管理されているアラーム情報と取得した性能情報とを比較して、アラームをイベントとして報知するか否かを決定する。アラームをイベントとして報知することを決定した場合は、イベント管理サブプログラム３４０３によって、その内容がイベントとして統合管理サーバ１０に報知される。
【００４３】
マイクロプログラム処理サブプログラム３５００は、ストレージシステム３０のコントローラ３２０に備えられ、ディスク装置３３０へのデータの入出力に関する処理をするプログラム、すなわち、マイクロプログラムから、性能情報に関わるデータを取得する。
【００４４】
図３は、ホスト２０に備えられるエージェント２プログラム２０００の機能ブロック図である。
【００４５】
エージェント２プログラム２０００は、統合管理サーバ１０の処理によってホスト２０に格納される。ホスト２０は、格納されたエージェント２プログラム２０００を読み込んで、そのプログラムをインストールし、エージェント２プログラム２０００の処理を実行する。この処理によって、ホスト２０（又はＳＷ４０）の性能情報が取得される。
【００４６】
エージェント２プログラム２０００は、通信制御処理サブプログラム２１００、データ収集管理モジュール２２００、データ蓄積処理サブプログラム２３００、アラーム管理処理モジュール２４００、マイクロプログラム処理サブプログラム２５００及びプログラム配布管理処理モジュール２６００を含む。
【００４７】
また、データ収集管理モジュール２２００は、データ収集処理サブプログラム２２０１、データ収集対象管理処理サブプログラム２２０２及びデータ収集間隔管理処理サブプログラム２２０３を含む。
【００４８】
また、アラーム管理処理モジュール２４００は、アラーム評価処理サブプログラム２４０１、アラームバインド情報管理サブプログラム２４０２及びイベント管理サブプログラム２４０３を含む。
【００４９】
また、プログラム配布管理処理モジュール２６００は、イベント管理サブプログラム２６０１及びプログラム配布処理サブプログラム２６０２を含む。
【００５０】
これら、通信制御処理サブプログラム２１００、データ収集管理モジュール２２００、データ蓄積処理サブプログラム２３００、アラーム管理処理モジュール２４００及びマイクロプログラム処理サブプログラム２５００の処理は、前述したエージェント１プログラム３０００と略同一であるため説明を省略する。なお、マイクロプログラム処理サブプログラム２５００は、ホスト２０とストレージシステム３０とのデータの入出力に関する処理をするプログラム、すなわち、マイクロプログラムから、性能情報に関わるデータを取得する。
【００５１】
プログラム配布管理処理モジュール２６００は、プログラム、すなわちエージェント１プログラム３０００の配布を管理する。より具体的には、イベント管理サブプログラム２６０１は、統合管理サーバ１０から送信されたエージェント１プログラム３０００の配布のための要求に従って、プログラム配布処理サブプログラム２６０２を介して、受信したエージェント１プログラム３０００を配布先であるストレージシステム３０に送信する。
【００５２】
このとき、統合管理サーバ１０はホスト２０に、要求コマンドとしてプログラムの配布要求を送信する。そして、ホスト２０のエージェント２プログラム２０００のプログラム配布管理処理モジュール２６００は、要求に係るエージェント１プログラム３０００とその設定情報を、ライトデータとして、ストレージシステム３０の論理デバイスに書き込む。その後、統合管理サーバ１０は、ストレージシステム３０に、書き込まれたエージェント１プログラム３０００のインストールを、ネットワーク１１を介して、指示する。
【００５３】
図４は、統合管理サーバ１０に備えられるクライアントプログラム２８００の機能ブロック図である。
【００５４】
クライアントプログラム２８００は、統合管理サーバ１０において、管理者とのユーザインターフェースとして機能する。すなわち、管理者に対して情報を通知したり、管理者からの情報の入力を受け付ける。
【００５５】
クライアントプログラム２８００は、通信制御処理サブプログラム２８０１、データ収集処理サブプログラム２８０２、データ表示処理サブプログラム２８０３、アラーム定義処理サブプログラム２８０４、アラーム表示処理サブプログラム２８０５、メッセージ表示処理サブプログラム２８０６を含む。
【００５６】
通信制御処理サブプログラム２８０１は、統合管理サーバ１０の他のプログラム又はホスト２０及びストレージシステム３０とでデータを送受信する。
【００５７】
データ収集処理サブプログラム２８０２は、通信制御処理サブプログラム２８０１を介してデータを収集する。データ表示処理サブプログラム２８０３は、データ収集処理サブプログラム２８０２によって収集された性能情報を、統合管理サーバ１０に備えられた表示装置等に表示する。
【００５８】
アラーム定義処理サブプログラム２８０４は、エージェント１プログラム３０００又はエージェント２プログラム２０００に送信する条件を定義する。アラーム表示処理サブプログラム２８０５は、発生したアラームを統合管理サーバ１０に備えられた表示装置等に表示する。メッセージ表示処理サブプログラム２８０６は、管理者に対するメッセージを統合管理サーバ１０に備えられた表示装置等に表示する。
【００５９】
図５は、統合管理サーバ１０に備えられるマネージャプログラム１０００の構成ブロック図である。
【００６０】
マネージャプログラム１０００は、ホスト２０にエージェント２プログラム２０００を配布し、ストレージシステム３０にエージェント１プログラム３０００を配布する。また、これらエージェント１プログラム３０００及びエージェント２プログラム２０００によって取得された性能情報を受信し、受信した性能情報を集計し、集計したデータを格納する。
【００６１】
マネージャプログラム１０００は、通信制御処理サブプログラム１１００、データ収集管理モジュール１２００、データ蓄積処理サブプログラム１３００、プログラム配布管理処理モジュール１４００、ノード管理情報モジュール１５００、インストール先情報作成処理モジュール１６００、データ統合処理サブプログラム１７００及びアラーム管理処理モジュール１８００を含む。
【００６２】
また、データ収集管理モジュール１２００は、データ収集処理サブプログラム１２０１、データ収集対象管理処理サブプログラム１２０２、データ収集間隔管理処理サブプログラム１２０３及び取得データ時間間隔処理サブプログラム１２０４を含む。
【００６３】
また、プログラム配布管理処理モジュール１４００は、イベント管理サブプログラム１４０１及びプログラム配布処理サブプログラム１４０２を含む。
【００６４】
また、ノード管理情報モジュール１５００は、ノード情報管理処理サブプログラム１５０１、設定情報管理処理サブプログラム１５０２及びイベント管理サブプログラム１５０３を含む。
【００６５】
また、インストール先情報作成処理モジュール１６００は、イベント管理サブプログラム１６０１及びインストール先情報作成処理サブプログラム１６０２を含む。
【００６６】
また、アラーム管理処理モジュール１８００は、アラーム定義管理処理サブプログラム１８０１、アラーム状態管理処理サブプログラム１８０２及びイベント管理サブプログラム１８０３を含む。
【００６７】
通信制御処理サブプログラム１１００は、マネージャプログラム１０００の通信に関する処理をする。より具体的には、ネットワーク１１を介して、ホスト２０及びストレージシステム３０とでデータを送受信する。
【００６８】
データ収集管理モジュール１２００は、ホスト２０及びストレージシステム３０において、エージェント２プログラム２０００及びエージェント１プログラム３０００によって取得された性能情報を収集する。より具体的には、データ収集処理サブプログラム１２０１は、データ収集対象管理処理サブプログラム１２０２によって設定されたデータ収集対象、すなわち、ホスト２０に格納されているエージェント２プログラム２０００及びストレージシステム３０に格納されているエージェント１プログラム３０００が取得した性能情報を、データ収集間隔管理処理サブプログラム１２０３によって設定されたデータ収集間隔によってポーリングを行う。データ収集処理プログラム１２０１は、ポーリングの結果、エージェント１プログラム３０００及びエージェント２プログラム２０００から送信された性能情報を収集する。取得データ時間間隔処理サブプログラム１２０４は、最後にポーリングされた時刻と、エージェント１プログラム３０００及びエージェント２プログラム２０００から取得した性能情報の最新のエントリの時刻とを含む取得データ時間情報管理テーブル１２０４１（図１０）を管理する。
【００６９】
データ蓄積処理サブプログラム１３００は、データ収集管理モジュール１２００によって収集された性能情報を、メモリ１０２に格納する。なお、統合管理サーバ１０にディスク装置を備え、このディスク装置に性能情報を格納してもよい。また、ストレージシステム３０のディスク装置３３０の論理デバイスに性能情報を格納するように設定してもよい。
【００７０】
プログラム配布管理処理モジュール１４００は、プログラム、すなわちエージェント１プログラム３０００及びエージェント２プログラム２０００の配布を管理する。より具体的には、プログラム配布処理サブプログラム１４０２は、ノード情報管理モジュール１５００に設定された情報を参照して、エージェント１プログラム３０００及びエージェント２プログラム２０００の配布を要求する。イベント管理サブプログラム１４０１は、この配布要求を、イベントとしてホスト２０及びストレージシステム３０に送信する。
【００７１】
ノード管理情報モジュール１５００は、ノード、すなわち、計算機システムを構成するホスト２０、ストレージシステム３０及びＳＷ４０の情報を管理する。
【００７２】
ノード情報管理処理サブプログラム１５０１は、ノード情報テーブル１５０１０（図１１）を管理する。設定情報管理サブプログラム１５０２は、設定情報管理テーブル１５０２０（図８）を管理する。イベント管理サブプログラム１５０３は、ノード情報又は設定情報の変更を示すイベントを受信して、その情報をノード情報管理処理サブプログラム１５０１又は設定情報管理処理サブプログラム１５０２に渡す。
【００７３】
インストール先情報作成処理モジュール１６００は、プログラム配布管理処理モジュール１４００によって配布されるプログラムのインストールを管理する。より具体的には、インストール先情報作成処理サブプログラム１６０２は、ノード情報管理モジュール１５００に設定された情報を参照して、インストール先情報（図９）を生成する。イベント管理サブプログラム１６０１は、生成されたインストール先情報を、イベントとして、ホスト２０又はストレージシステム３０に送信する。
【００７４】
データ統合処理サブプログラム１７００は、エージェント１プログラム３０００及びエージェント２プログラム２０００によって取得された性能情報を受信し、受信した各データを、取得元のホスト２０又はストレージシステム３０毎に統合する。
【００７５】
アラーム管理処理モジュール１８００は、アラームをイベントとしてホスト２０及びストレージシステム３０に送信し、ホスト２０又はストレージシステム３０からのアラームの報知を受信する。より具体的には、アラーム定義管理処理サブプログラム１８０１は、クライアントプログラム２８００によって作成されたアラーム定義を、ホスト２０及びストレージシステム３０に送信する。その後、アラーム状態管理処理サブプログラム１８０２は、ホスト２０又はストレージシステム３０から報知されたアラームを受信して、現在のアラーム上垰を更新する。イベント管理サブプログラム１８０３は、アラームの報知を受信する。
【００７６】
図６は、ストレージシステム３０に格納されるエージェント１プログラム３０００の説明図である。
【００７７】
前述したように、エージェント１プログラム３０００は、マネージャプログラム１０００の処理によって、ストレージシステム３０の論理デバイスのいずれかのアレイグループの領域に格納される。そして、統合管理サーバ１０からの指示によって、格納したエージェント１プログラム３０００がインストールされる。より具体的には、アレイグループの領域に格納されているエージェント１プログラム３０００を、コントローラ３２００のメモリ３２２に読み込む、又は領域をスワップすることによって、ＣＰＵ３２１によってエージェント１プログラム３０００の処理を実行可能に設定する。
【００７８】
ストレージシステム３０では、ディスク装置３３０の記憶領域である論理デバイスを、ホスト２０に対する記憶領域としてホスト２０の業務を運用している。そのため、ホスト２０からのアクセス頻度が高い、すなわち負荷の高い論理デバイスにエージェント１プログラム３０００が格納されている場合は、その負荷によってエージェント１プログラム３０００による性能情報の取得に影響がある。
【００７９】
そのため、できるだけ負荷の低い論理デバイスにエージェント１プログラム３０００を格納して、性能情報の取得の処理をする方が望ましい。そこで、本発明の実施の形態では、エージェント１プログラム３０００の格納場所を、エージェント１プログラム３０００によって取得した性能情報、すなわち、ディスク装置３３０の論理デバイスの性能情報に基づいて、変更可能な仕組みを設ける。
【００８０】
図７は、ストレージシステム３０のエージェント１プログラム３０００が、ホスト２０を介して統合管理サーバ１０に送信する性能情報のデータ形式の一例の説明図である。
【００８１】
エージェント１プログラム３０００は、所定の間隔又は所定の時刻にストレージシステムの性能情報を取得する。性能情報は、例えば、ＩＯＰＳ（I/O Per Second）やＴｒａｎｓｆｅｒ（Ｉ／Ｏのバイト数）である。
【００８２】
エージェント１プログラム３０００は、図７に示すデータ形式で、ホスト２０のエージェント２プログラム２０００を介して、統合管理サーバ１０に送信する。このとき、エージェント１プログラム３０００は、送信するデータのそれぞれに「Ｋｅｙ」を設定する。このＫｅｙは、計算機システムにおいて、ストレージシステム３０に対する一意な識別子である。このＫｅｙを設定することによって、統合管理サーバ１０は、ストレージシステム３０毎に非同期で送信された性能情報データを、同一のストレージシステム３０のデータとして収集できる。
【００８３】
図８は、設定情報管理テーブル１５０２０の一例の説明図である。
【００８４】
設定情報管理テーブル１５０２０は、設定情報管理処理サブプログラム１５０２によって管理されている、計算機システムに含まれる各構成（ホスト２０、ストレージシステム３０、ＳＷ４０等）の論理的な設定情報である。
【００８５】
設定情報管理テーブル１５０２０は、ホスト２０で稼働しているユーザプログラムに関するユーザプログラム情報１５０２１、ホスト２０の構成に関するホスト構成情報１５０２２、ストレージシステム３０の構成に関するストレージシステム構成情報１５０２３及びＳＷ４に関するＳＷ構成情報１５０２４を含む。
【００８６】
なお、図８は、これらの相関関係を、ＧＵＩによって表示した例である。すなわち、クライアントプログラム２８００のデータ表示処理サブプログラム２８０３は、ノード情報管理処理サブプログラム１５０１が管理しているノード情報を取得して、統合管理サーバ１０の表示装置等に表示させる。このとき、互いの相関関係を示すことによって、どの構成は後の構成と相関関係にあるかを、管理者にわかりやすく表示することもできる。
【００８７】
図８の例では、ユーザプログラムが使用しているデバイスファイル名は、どのストレージシステム３０のどの論理デバイス名であるかが示される。また、ホスト２０が使用している論理デバイス名は、どのストレージシステム３０の、どのアレイグループを含むか、が示される。また、ホスト２０が使用しているＨＢＡのポートのＷＷＮは、どのＳＷ４０のどのポートであるかが示される。
【００８８】
図９は、統合管理サーバ１０のインストール先情報１６０２０の一例の説明図である。
【００８９】
マネージャプログラム１０００は、ストレージシステム３０に、エージェント１プログラム３０００を配布するときに、プログラムの格納先情報であるインストール先情報１６０２０を送信する。ストレージシステム３０は、このインストール先情報１６０２０を参照して、エージェント１プログラム３０００を格納する。
【００９０】
インストール先情報１６０２０は、格納元情報１６０２１、格納先情報１６０２２、データ収集対象情報１６０２３及びデータ収集間隔情報１６０２４を含む。
【００９１】
格納元情報１６０２１及び格納先情報１６０２２は、論理デバイス番号、アレイグループ名、ストレージシステム名、シリアル番号、コントローラのＩＰアドレスを含む。なお、格納元情報１６０２１は、後述するように、既にストレージシステム３０に格納されているエージェント１プログラム３０００を他の格納先にコピーするときに用いる情報である。そのため、マネージャプログラム１０００が、ストレージシステム３０に最初にエージェント１プログラム３０００を格納するときは、格納元情報１６０２１は空欄とする。
【００９２】
図１０は、統合管理サーバ１０の取得データ時間情報管理テーブル１２０４０の一例の説明図である。
【００９３】
取得データ時間情報管理テーブル１２０４０は、エージェントプログラム１０００の取得データ時間情報管理処理サブプログラム１２０４によって管理され、エージェント１プログラム３０００及びエージェント２プログラム２０００から性能情報をポーリングによって収集するために用いられる。より具体的には、エージェントプログラム１０００は、この取得データ時間情報管理テーブル１２０４０の内容を参照することによって、どのノードのどのエージェントプルグラムから、いつデータを収集し、既に収集されたデータはいつまでのデータであるか、という情報を知ることができる。
【００９４】
図１１は、マネージャプログラム１０００が管理しているノード情報テーブル１５０１０の一例の説明図である。
【００９５】
統合管理サーバ１０において、マネージャプログラム１０００のノード情報管理モジュール１５００のノード情報管理処理サブプログラム１５０１が、ノード情報テーブル１５０１０を管理している。
【００９６】
このノード情報テーブル１５０１０は、エージェントプログラム（エージェント１プログラム３０００及びエージェント２プログラム２０００）がどのノード（ホスト２０、ストレージシステム３０及びＳＷ４０）で、どのような状態であるかを管理する。
【００９７】
ノード情報テーブル１５０１０は、エージェント名１５０１１、エージェントタイプ１５０１２、ノード情報１５０１３、起動／停止状態１５０１４及び制御指示１５０１５を含むエントリによって構成される。
【００９８】
エージェント名１５０１１はエージェントプログラムの識別子を格納する。エージェントタイプ１５０１２は、エージェントプログラムのノードの種別を格納する。ノード情報１５０１３は、エージェントプログラムの格納されたノードの情報を格納する。起動／停止状態１５０１４は、そのエージェントプログラムの現在の状態を格納する。制御指示１５０１５は、そのエージェントプログラムへの制御指示の状態を格納する。
【００９９】
例えば、エージェント名１５０１１が「エージェントＡ」であるエントリは、エージェントタイプ１５０１２が「ストレージ」と示され、そのノード情報１５０１３は、「ストレージＡ（シリアル＃１００１）の論理デバイス＃１０：００」に格納されている。このエージェントプログラムに対する制御指示１５０１５は「停止」であり、この制御指示に従って、起動／停止状態１５０１４は「停止」が示される。
【０１００】
次に、以上のように構成された本発明の実施の形態の計算機システムの動作を説明する。
【０１０１】
まず、エージェントプログラムの配布を説明する。
【０１０２】
図１２は、統合管理サーバ１０のマネージャプログラム１０００によってエージェント１プログラム３０００及びエージェント２プログラム２０００を配布する処理のシーケンス図である。
【０１０３】
統合管理サーバ１０において、マネージャプログラム１０００のプログラム配布管理処理モジュール１４００は、管理者によって指定されたホスト２０に対して、まず、エージェント２プログラム２０００を送信する。このとき同時に、エージェント２プログラム２０００の実行する処理に必要な設定情報を送信する。又ホスト２０は、受信したエージェント２プログラム２０００をインストールして、実行しておく。
【０１０４】
エージェント２プログラム２０００及び設定情報を受信したホスト２０は、メモリ２０２に、受信したエージェント２プログラム２０００及び設定情報を格納する。格納が完了すると、送信元の統合管理サーバ１０に、エージェント２プログラム２０００及び設定情報の格納が完了した旨の通知を送信する。
【０１０５】
この通知を受けたマネージャプログラム１０００は、ホスト２０に、エージェント１プログラム３０００を送信する。このとき同時に、エージェント１プログラム３０００の実行する処理に必要な設定情報、特に格納先のストレージシステム３０に関する情報を送信する。
【０１０６】
このエージェント１プログラム３０００及び設定情報は、ホスト２０のエージェント２プログラム２０００が受信する。エージェント２プログラム２０００のプログラム配布管理処理モジュール２６００は、受信した設定情報を元に、どのストレージシステム３０のどの論理デバイスにエージェント１プログラム３０００及び設定情報を格納するかを決定する。そして、決定した格納場所にエージェント１プログラム３０００及び設定情報を格納する。
【０１０７】
プログラム配布管理処理モジュール２６００は、ストレージシステム３０から、エージェント１プログラム３０００及び設定情報の格納のＩ／Ｏの完了を受信すると、統合管理サーバ１０に、エージェント１プログラム３０００及び設定情報を格納した旨の通知を送信する。このとき同時に、決定した格納先の情報を送信する。
【０１０８】
この通知を受けたマネージャプログラム１０００は、ネットワーク１１を介して、格納先のストレージシステム３０に、受信した格納先情報に含まれる論理デバイスの情報を指示して、エージェント１プログラム３０００のインストールを指示する。
【０１０９】
その後、マネージャプログラム１０００は、ストレージシステム３０から、エージェント１プログラム３０００のインストール完了の通知を受信すると、本シーケンスの処理を終了する。
【０１１０】
この図１２の処理によって格納されたエージェント１プログラム３０００の処理によって、ストレージシステム３０の性能情報が取得される。また、エージェント２プログラム２０００の処理によって、ホスト２０の性能情報が取得される。エージェント１プログラム３０００が取得した性能情報は、定期的、所定の時刻、又は、ホスト２０のエージェント２プログラム２０００の要求によって、ホスト２０のエージェント２プログラム２０００に送信される。ホスト２０のエージェント２プログラム２０００は、送信された性能情報を、自身が取得した性能情報とあわせて、統合管理サーバ１０に送信する。統合管理サーバ１０のマネージャプログラム１０００は、送信された性能情報を収集する。
【０１１１】
次に、収集した性能情報を元に、エージェント１プログラム３０００の格納場所を変更する処理を説明する。
【０１１２】
図１３Ａ乃至図１３Ｃは、クライアントプログラム２８００によって、エージェント１プログラム３０００の格納場所を変更する処理のフローチャート及びシーケンス図である。
【０１１３】
図１３Ａにおいて、クライアントプログラム２８００のデータ収集処理サブプログラム２８０２は、マネージャプログラム１０００によって収集された性能情報を参照する。そして、予め設定した下限値よりも大きく、かつ、予め設定した上限値よりも小さい性能情報のデータの論理デバイス名に対応するアレイグループ名を抽出する。なお、この性能情報のデータは、当該アレイグループに対するＩＯＰＳでもよいし、転送データ量でもよい（ステップＳ１００１）。
【０１１４】
次に、データ収集処理サブプログラム２８０２は、収集された性能情報を参照して、エージェント１プログラム３０００からエージェント２プログラム２０００に性能情報データを送信する時刻に、あらかじめ設定した負荷よりも負荷が低いホスト２０の名前を抽出する（ステップＳ１００２）。
【０１１５】
なお、ステップＳ１００１およびＳ１００２では、閾値（上限値、下限値、負荷値）を予め設定し、この閾値を超えたアレイグループ及びホストがあった場合に、それを抽出した。これに対して、統合管理サーバ１０が、管理者によって設定した閾値をアラーム情報として通知し、そのアラーム条件を満たした場合に返送されるアラームの通知の有無によって、アレイグループ及びホストを抽出してもよい。このアラームの通知は、後述する。
【０１１６】
次に、データ収集処理サブプログラム２８０２は、マネージャプログラム１０００のノード情報管理モジュール１５００から、ノード情報（図１１）を参照する。そして、参照したノード情報から、ステップＳ１００１で抽出したアレイグループ名とステップＳ１００２で抽出したホスト名とが対応するものがあるか否かを判定する（ステップＳ１００３）。すなわち、ステップＳ１００２で抽出したホスト２０が使用する論理デバイス名に対応するアレイグループ名が、ステップＳ１００１で抽出したアレイグループを含んでいるか否かを判定する。
【０１１７】
対応するものがあると判定した場合は、ステップＳ１００４に移行し、対応するものがないと判定した場合は、ステップＳ１００８に移行する。
【０１１８】
ステップＳ１００４では、収集した性能情報のうち、アレイグループとホスト２０との対応関係がある性能情報を、性能情報対応テーブル（図１４）として、管理者に通知する。具体的には、統合管理サーバ１０の表示装置等に、性能情報対応テーブルを表示する。のとき、さらに、対応関係のある性能情報を色付けすることによって、管理者にわかりやすく通知する。
【０１１９】
管理者は、この通知を受けて、エージェント１プログラム３０００をどのアレイグループに移動するかを選択する。
【０１２０】
すなわち、通知されたアレイグループのうち最も性能が低いアレイグループでよいか否かを選択する（ステップＳ１００５）。アレイグループの性能が最も低い場合とは、当該アレイグループがストレージシステム３０において使用頻度が低いものである。従って、当該アレイグループにエージェント１プログラム３０００を格納すれば、性能情報を取得するときに、アレイグループへのＩ／Ｏによる性能情報の影響が最も低い。
【０１２１】
なお、通知された性能情報を参照して、管理者が、どのアレイグループにエージェント１プログラム３０００を格納するかを選択してもよい（ステップｓ１００６）。
【０１２２】
一方、ステップＳ１００３において、対応するものがないと判定した場合は、ステップＳ１００８に移行し、ステップＳ１００１で抽出したアレイグループ及びステップＳ１００２で抽出したホストとを含む性能情報を、管理者に通知する。
【０１２３】
管理者は、この性能情報から、エージェント１プログラム３０００を格納するアレイグループ及び当該アレイグループを使用するホスト２０を決定する（ステップＳ１００９）。このとき、アレイグループにホスト２０からのパスが設定されていない場合は、当該アレイグループとホスト２０とのパスをアサインして、ホスト２０によってアレイグループを使用可能に設定する（ステップＳ１０１０）。
【０１２４】
次に、クライアントプログラム２８００は、ステップＳ１００５、ステップＳ１００６又はステップＳ１００９によって選択されたアレイグループに、既にエージェント１プログラム３０００が格納されているか否かを判定する（ステップＳ１００７）。
【０１２５】
既にエージェント１プログラム３０００が格納されている場合とは、例えば、アレイグループ及びホスト２０を変更しない場合、又は、過去に一度当該アレイグループにエージェント１プログラム３０００が格納されていた場合である。
【０１２６】
エージェント１プログラム３０００が格納済みでない場合は、図１３Ｂに移行する。
【０１２７】
図１３Ｂにおいて、統合管理サーバ１０のクライアントプログラム２８００は、処理をマネージャプログラム１０００に渡す。マネージャプログラム１０００は、まず、エージェント１プログラム３０００及びエージェント１プログラム３０００によって取得された性能情報が格納されているアレイグループの情報（以降、格納元情報と呼ぶ）と、ステップＳ１００５、ステップＳ１００６又はステップＳ１００９によって選択されたアレイグループの情報（以降、格納先情報と呼ぶ）を、ストレージシステム３０に送信する。
【０１２８】
ストレージシステム３０において、コントローラ３２０は、受信した格納元情報及び格納先情報を参照して、格納元のアレイグループに格納されているエージェント１プログラム３０００及び性能情報を、格納先のアレイグループにコピーする。このコピーが完了すると、統合管理サーバ１０に、コピー完了の通知を送信する。
【０１２９】
統合管理サーバ１０において、マネージャプログラム１０００は、次に、ホスト２０に、エージェント２プログラム２０００が格納済みであるか否かを判定する。エージェント２プログラム２０００が格納されていない場合は、ホスト２０にエージェント２プログラム２０００及び設定情報を送信する。
【０１３０】
エージェント２プログラム２０００及び設定情報を受信したホスト２０は、メモリ２０２に受信したエージェント２プログラム２０００及び設定情報を格納する。格納が完了すると、送信元の統合管理サーバ１０に、エージェント２プログラム２０００及び設定情報の格納が完了した旨の通知を送信する。
【０１３１】
エージェント２プログラム２０００がホスト２０に格納済みである場合、及び、ホスト２０から格納が完了した旨の通知を受信した場合は、マネージャプログラム１０００は、まず、ホスト２０に、エージェント２プログラム２０００のインストールを指示する。次に、ストレージシステム３０にエージェント１プログラム３０００のインストールを指示する。
【０１３２】
エージェント１プログラム３０００及びエージェント２プログラム２０００のインストールが完了すると、これらのプログラムの処理によって性能情報が取得され、統合管理サーバによって性能情報が収集される。
【０１３３】
一方、ステップＳ１００７（図１３Ａ）において、エージェント１プログラム３０００が格納済みである場合は、図１３Ｃに移行する。
【０１３４】
図１３Ｃにおいて、統合管理サーバ１０のクライアントプログラム２８００は、処理をマネージャプログラム１０００に渡す。マネージャプログラム１０００は、エージェント１プログラム３０００によって取得された性能情報が格納されているアレイグループの情報である格納元情報と、格納先情報とを、ストレージシステム３０に送信する。
【０１３５】
ストレージシステム３０において、コントローラ３２０は、受信した格納元情報及び格納先情報を参照して、格納元のアレイグループに格納されている性能情報を、格納先のアレイグループにコピーする。このコピーが完了すると、統合管理サーバ１０に、コピー完了の通知を送信する。
【０１３６】
ストレージシステム３０からコピー完了の通知を受信した場合は、マネージャプログラム１０００は、ストレージシステム３０にエージェント１プログラム３０００のインストールを指示する。
【０１３７】
エージェント１プログラム３０００のインストールが完了すると、これらのプログラムの処理によって性能情報が取得され、統合管理サーバ１０によって性能情報が収集される。
【０１３８】
図１４は、図１３ＡのステップＳ１００４において表示される性能情報対応テーブル４０００の一例の説明図である。
【０１３９】
性能情報対応テーブル４０００は、論理デバイス名４００１と、その論理デバイスを使用可能に設定されているホスト名４００５との対応関係を示すエントリを含む。そして、論理デバイスの性能が下限値より大きく上限値より小さいものであり、かつ、負荷の低いホストであるエントリが、網掛けによって示される。
【０１４０】
各エントリは、論理デバイス名４００１、論理デバイスを含むストレージ名４００２、ストレージのシリアル番号４００３、当該論理デバイスの論理デバイス性能４００４、ホスト名４００５、ホストに対応するデバイスファイル名４００６、デバイスファイルのデバイスファイル性能４００７及びＣＰＵの負荷４００８を含む。
【０１４１】
管理者は、統合管理サーバ１０によって通知されたこの性能情報対応テーブル４０００を参照して、エージェント１プログラム３０００を、どの論理領域に格納するかを決定する。
【０１４２】
図１５は、アラーム通知のフローチャートである。
【０１４３】
エージェント１プログラム３０００及びエージェント２プログラム２０００において、アラーム管理処理モジュール（３４００及び２４００）は、マネージャプログラム１０００からイベントとして送信されたアラーム情報を元に、収集された性能情報が、アラーム情報の条件を満たす場合は、アラームとしてマネージャプログラム１０００に通知する。
【０１４４】
なお、ここでは、エージェント１プログラム３００のアラーム管理処理モジュール３４００の処理として説明するが、エージェント２プログラム２０００のアラーム管理処理モジュール２４００の処理も同一である。
【０１４５】
まず、アラーム管理処理モジュール３４００において、アラームバインド情報管理サブプログラム３４０２は、マネージャプログラム１０００から通知されたイベントにアラーム情報が含まれている場合は、そのアラーム情報を取得する（ステップＳ１４０１）。
【０１４６】
次に、アラーム評価処理サブプログラム３４０１は、データ収集管理モジュール３２００によって取得された性能情報と、取得されたアラーム情報に含まれるアラーム条件とを比較し、性能情報がアラーム条件を満たすか否かを判定する（ステップＳ１４０２）。
【０１４７】
性能情報がアラーム条件を満たさない場合は、処理を終了する。
【０１４８】
性能情報がアラーム条件を満たす場合は、イベント管理サブプログラム３４０３は、アラーム条件に対応するアラームが発生したことを示すイベントを生成する（ステップＳ１４０３）。そして、生成されたイベントをマネージャプログラム１０００に送信する。
【０１４９】
以上の処理によって、アラームの発生がマネージャプログラム１０００に通知される。
【０１５０】
図１６は、マネージャプログラム１０００のアラーム管理処理モジュール１８００によって管理されるアラーム状態管理テーブル１８０２０の一例の説明図である。
【０１５１】
アラーム状態管理テーブル１８０２０は、マネージャプログラム１０００のアラーム管理処理モジュール１８００によって管理される。
【０１５２】
エージェント１プログラム３０００及びエージェント２プログラム２０００によって送信されたアラーム発生イベントは、マネージャプログラム１０００のアラーム管理処理モジュール１８００のイベント管理サブプログラム１８０３が受け取り、アラーム状態管理処理サブプログラム１８０２によって、その内容がアラーム状態管理テーブルに格納される。
【０１５３】
アラーム状態管理テーブル１８０２０は、アラーム名１８０２１、アラーム発生時刻１８０２２、アラーム発生条件１８０２３、アラーム発生時のデータ１８０２４及びステータス１８０２５を含む。
【０１５４】
アラーム名１８０２１は、受信したアラーム毎に付される識別子を格納する。アラーム発生時刻１８０２２はアラームが発生した時刻の情報を格納する。アラーム発生条件１８０２３は、管理者によって設定され他アラーム発生条件を格納する。アラーム発生時のデータ１８０２４は、アラームが発生したとき、エージェントプログラムによって取得された性能情報の情報を格納する。ステータス１８０２５は、そのアラームの内容を格納する。
【０１５５】
例えばアラーム名１８０２１が「アラーム００１」であるエントリには、アラームの発生時刻１８０２２が「２００５／７／３０  １３：００」で示される時刻に、アラームが発生したことを示す。このアラームの発生条件１８０２３は、論理デバイス＃００１のＩＯＰＳが、３０００を超えた場合は警告とし、４０００を超えた場合は障害とする。これに対してアラーム発生時のデータ１８０２４はＩＯＰＳが５５００であり、従って、ステータス１８０２５に「障害」が設定されている。
【０１５６】
図１７は、統合管理サーバ１０がデータを収集する処理のシーケンス図である。
【０１５７】
本実施の形態の計算機システムでは、ストレージシステム３０のエージェント１プログラム３０００が取得した性能情報は、一旦ホスト２０のエージェント２プログラム２０００に送信される。エージェント２プログラム２０００は、受信した性能情報を、統合管理サーバ１０に送信する。このとき、エージェント１プログラム３０００は、性能情報を、複数のホスト２０、すなわち、ホスト２０Ａ及びホスト２０Ｂに、分散して送信する。
【０１５８】
まず、統合管理サーバ１０において、マネージャプログラム１０００のデータ収集管理モジュール１２００は、ホスト２０Ａのエージェント２プログラム２０００に対して、データ収集先情報及びデータ収集範囲情報を送信する。
【０１５９】
ホスト２０Ａにおいて、エージェント２プログラム２０００のデータ収集管理モジュール２２００は、受信したデータ収集先情報及びデータ収集範囲情報に従って、データ収集先であるストレージシステム３０に、取得した性能情報の送信を要求する。そして、受信した性能情報を、統合管理サーバ１０に送信する。
【０１６０】
同様に、マネージャプログラム１０００のデータ収集管理モジュール１２００は、ホスト２０Ｂのエージェント２プログラム２０００に対して、データ収集先情報及びデータ収集範囲情報を送信する。
【０１６１】
ホスト２０Ｂにおいて、エージェント２プログラム２０００のデータ収集管理モジュール２２００は、受信したデータ収集先情報及びデータ収集範囲情報に従って、データ収集先であるストレージシステム３０に、取得した性能情報の送信を要求する。そして、受信した性能情報を、統合管理サーバ１０に送信する。
【０１６２】
マネージャプログラム１０００は、ホスト２０Ａのエージェント２プログラム及びホスト２０Ｂのエージェント２プログラム２０００からそれぞれ受信した性能情報を、性能情報に付されたＫｅｙを参照して、時刻順に並べて格納する。
【０１６３】
なお、データ収集範囲情報は、時刻毎に異なるホスト２０によって性能情報を受信するための指示が含まれる。より具体的には、例えば、０：００から７：５９までに取得された性能情報はホスト２０Ａが受信し、８：００から１２：５９までに取得された性能情報はホスト２０Ｂが受信する。このよう、複数のホスト２０によって分散して性能情報を収集することによって、特定のホスト２０の負荷が増大することを防ぐことができる。
【０１６４】
なお、データ収集範囲情報は、時刻によって受信するホスト２０を切り替えるのではなく、ストレージシステム３０のポート毎、すなわちストレージシステム３０とホスト２０とで設定されたパスによって振り分けてもよい。また、ストレージシステム３０に設定されている論理デバイス毎にホスト２０を振り分けてもよい。
【０１６５】
図１８は、ストレージシステム３０が取得した性能情報の振り分けの説明図である。
【０１６６】
ストレージシステム３０のエージェント１プログラム３０００は、図１８（Ｃ）に示すように、取得した性能情報を、取得時間順にデータベースとして格納している。
【０１６７】
このとき、０：００から７：５９までに取得された性能情報をホスト２０Ａのエージェント２プログラム２０００が収集し、８：００から１２：５９までに取得された性能情報はホスト２０Ｂのエージェント２プログラム２０００が収集するように、データ収集範囲情報が設定されている場合を考える。ホスト２０Ａのエージェント２プログラム２０００は、０：００から７：５９までに取得された性能情報の送信をストレージシステム３０のエージェント１プログラム３０００に要求する。これを受けて、エージェント１プログラム３０００は要求された時間に取得された性能情報、すなわち図１８（Ａ）を、ホスト２０Ａに送信する。このとき、送信するデータのヘッダ情報に、当該ストレージシステム３０を示す識別情報であるＫｅｙを付加して、性能情報を送信する。
【０１６８】
同様に、ホスト２０Ｂのエージェント２プログラム２０００は、８：００から１２：５９までに取得された性能情報の送信をストレージシステム３０のエージェント１プログラム３０００に要求する。これを受けて、エージェント１プログラム３０００は要求された時間に取得された性能情報、すなわち図１８（Ｂ）を、ホスト２０Ｂに送信する。このとき、送信するデータのヘッダ情報に、当該ストレージシステム３０を示す識別情報であるＫｅｙを付加して、性能情報を送信する。
【０１６９】
ホスト２０Ａのエージェント２プログラム２０００及びホスト２０Ｂのエージェント２プログラム２０００は、それぞれ収集した性能情報を、統合管理サーバ１０に送信する。
【０１７０】
統合管理サーバ１０において、マネージャプログラム１０００のデータ統合処理サブプログラム１７００が、性能情報を受信する。
【０１７１】
データ統合処理サブプログラム１７００は、各ホスト２０から送信された性能情報のヘッダ情報を参照して、Ｋｅｙが同一の性能情報を、時系列順に一つの性能情報としてまとめる。この性能情報は、ストレージシステム３０が取得した形式、すなわち図１８（Ｃ）と同様になる。データ統合処理サブプログラム１７００は、この性能情報を、メモリ１０２に格納する。
【０１７２】
以上のように構成された本発明の実施の形態の計算機システムでは、ストレージシステム３０の性能情報を取得するためのエージェント１プログラム３０００を、ストレージシステム３０に格納するので、ネットワーク上のデータの送受信による性能情報への影響を最小限に抑えることができる。
【０１７３】
また、エージェント１プログラム３０００が取得した性能情報は、複数のホスト２０が分散して収集して、統合管理サーバ１０に送信するので、特定のホスト２０やホスト２０とストレージシステム３０とで設定されている特定のパスの負荷を軽減することができる。
【０１７４】
また、ストレージシステム３０が格納するエージェント１プログラム３００は、ストレージシステム３０の負荷が低い論理デバイスのうち負荷が低いホストにパスが設定されている論理デバイスに格納するので、他の処理の影響を受けることが少なく、より正確な性能情報を収集できると共に、ホスト２０及びストレージシステム３０によって稼働される業務への影響を最小限に抑えることができる。
【図面の簡単な説明】
【０１７５】
【図１】本発明の実施の形態の、計算機システムの構成のブロック図である。
【図２】本発明の実施の形態の、エージェント１プログラムの機能ブロック図である。
【図３】本発明の実施の形態の、エージェント２プログラムの機能ブロック図である。
【図４】本発明の実施の形態の、クライアントプログラムの機能ブロック図である。
【図５】本発明の実施の形態の、マネージャプログラムの構成ブロック図である。
【図６】本発明の実施の形態の、エージェント１プログラムの説明図である。
【図７】本発明の実施の形態の、性能情報のデータ形式の一例の説明図である。
【図８】本発明の実施の形態の、設定情報テーブルの一例の説明図である。
【図９】本発明の実施の形態の、インストール先情報の一例の説明図である。
【図１０】本発明の実施の形態の、取得データ時間情報管理テーブルの一例の説明図である。
【図１１】本発明の実施の形態の、ノード情報テーブルの一例の説明図である。
【図１２】本発明の実施の形態の、エージェントプログラムを配布する処理のシーケンス図である。
【図１３Ａ】本発明の実施の形態の、エージェント１プログラムの格納場所を変更する処理のフローチャートである。
【図１３Ｂ】本発明の実施の形態の、エージェント１プログラムの格納場所を変更する処理のシーケンス図である。
【図１３Ｃ】本発明の実施の形態の、エージェント１プログラムの格納場所を変更する処理のシーケンス図である。
【図１４】本発明の実施の形態の、性能情報対応テーブルの一例の説明図である。
【図１５】本発明の実施の形態の、アラーム通知のフローチャートである。
【図１６】本発明の実施の形態の、アラーム状態管理テーブルの一例の説明図である。
【図１７】本発明の実施の形態の、データを収集する処理のシーケンス図である。
【図１８】本発明の実施の形態の、性能情報の振り分けの説明図である。
【符号の説明】
【０１７６】
１０  統合管理サーバ
２０Ａ、２０Ｂ  ホスト
３０Ａ、３０Ｂ  ストレージシステム
４０Ａ、４０Ｂ  スイッチ（ＳＷ）
１０００  マネージャプログラム
２０００  エージェント２プログラム
２８００  クライアントプログラム
３０００  エージェント１プログラム
【図１】
0004585423.tif 000002
【図２】
0004585423.tif 000003
【図３】
0004585423.tif 000004
【図４】
0004585423.tif 000005
【図５】
0004585423.tif 000006
【図６】
0004585423.tif 000007
【図７】
0004585423.tif 000008
【図８】
0004585423.tif 000009
【図９】
0004585423.tif 000010
【図１０】
0004585423.tif 000011
【図１１】
0004585423.tif 000012
【図１２】
0004585423.tif 000013
【図１３Ａ】
0004585423.tif 000014
【図１３Ｂ】
0004585423.tif 000015
【図１３Ｃ】
0004585423.tif 000016
【図１４】
0004585423.tif 000017
【図１５】
0004585423.tif 000018
【図１６】
0004585423.tif 000019
【図１７】
0004585423.tif 000020
【図１８】
0004585423.tif 000021