JP4686305B2 - ストレージ管理システムおよびその方法 - Google Patents

ストレージ管理システムおよびその方法 Download PDF

Info

Publication number
JP4686305B2
JP4686305B2 JP2005245528A JP2005245528A JP4686305B2 JP 4686305 B2 JP4686305 B2 JP 4686305B2 JP 2005245528 A JP2005245528 A JP 2005245528A JP 2005245528 A JP2005245528 A JP 2005245528A JP 4686305 B2 JP4686305 B2 JP 4686305B2
Authority
JP
Japan
Prior art keywords
server
storage
path
name
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005245528A
Other languages
English (en)
Other versions
JP2007058727A (ja
Inventor
利明 松尾
景 武田
草間  隆人
達人 青島
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to JP2005245528A priority Critical patent/JP4686305B2/ja
Publication of JP2007058727A publication Critical patent/JP2007058727A/ja
Application granted granted Critical
Publication of JP4686305B2 publication Critical patent/JP4686305B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1097Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for distributed storage of data in a network, e.g. network file system [NFS], transport mechanisms for storage area networks [SAN] or network attached storage [NAS]

Description

本発明は、ストレージとサーバとの間の複数のI/O(Input Output)パスを管理する技術に関するものである。

近年、ディスク装置などのストレージ(ストレージサブシステムともいう)とサーバとの間に専用ネットワークを構築するSAN(Storage Area Network)が注目されている。このSANを構築することにより、ストレージの管理コストを軽減したり、ストレージの容量を有効活用したりすることなどが期待されている。
ところで、SAN環境下では、ストレージ内のI/Oを処理する構成要素(アレイグループ等)に対して、複数のアプリケーションプログラムから同時にI/O要求が発生することとなる。そのため、いずれかのアプリケーションプログラムのI/Oが増加した場合、他のアプリケーションプログラムのI/O性能が劣化してしまうという問題がある。このような問題を一般にI/Oの衝突という。
したがって、既存アプリケーションプログラムがサーバ上で稼動している場合に、ストレージ内のI/Oを処理する構成要素に新規アプリケーションプログラムを割り当てるとき、その新規アプリケーションプログラムのI/O性能に伴う既存アプリケーションプログラムのI/Oの影響と、既存アプリケーションプログラムのI/O性能に伴う新規アプリケーションプログラムのI/Oの影響とをそれぞれ考慮する必要がある。

このような状況下において、従来、ストレージ内のアレイグループにおけるI/Oの衝突を回避する方法が開示されている。この方法では、新規ボリュームの作成先となるアレイグループを選択する前に、まず、その新規ボリュームに関する要求性能を取得する。次に、新規ボリュームの割り当てが可能なアレイグループに関し、各アレイグループに属するすべての各ボリュームが前記した要求性能を満たしているかどうかを調べる。そして、要求性能を満たすアレイグループがあれば、そのアレイグループに新規ボリュームを作成する(特許文献1参照)。
米国特許第6748489号明細書

しかしながら、アプリケーションプログラムをボリュームに割り当てる場合、ストレージとサーバとの間には、アレイグループのほかにも、サーバ側ポートなどの各種構成要素がI/Oパス上に存在する。このため、これら構成要素相互の依存関係(組み合わせが実現可能か否か)を踏まえた上でストレージとサーバとの間のI/Oパスを割り当てることが望ましい。

そこで、本発明は、このような状況下においてなされたものであり、その目的は、ストレージとサーバとの間の最適なI/Oパスの割り当てを支援することである。

前記課題を解決するため本発明は、アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスを管理する管理サーバとを含んで構成されるストレージ管理システムであって、前記管理サーバは、記憶部と処理部とを含んで構成され、前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスの組み合わせを管理するとともに、前記I/Oパスを構成する構成要素に関する各種性能値を管理する。そして、前記管理サーバの処理部は、外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のI/Oパスを前記記憶部に管理された前記I/Oパスの組み合わせから取得し、前記記憶部に管理された前記各種性能値に基づいて、前記取得したI/Oパスの中から、前記外部装置からの条件を満たす性能値を持つI/Oパスを抽出し、前記抽出したI/Oパスを候補パスとして外部出力する。

本発明によれば、ストレージとサーバとの間の最適なI/Oパスの割り当てを支援することができる。

図1は本発明の実施の形態におけるストレージ管理システムの構成例を示すブロック図である。
図1において、ストレージ管理システムは、性能管理サーバ(管理サーバともいう)000と、複数のアプリケーションサーバ100と、複数のストレージ監視サーバ200と、複数のストレージサブシステム300とを含んで構成されている。そして、性能管理サーバ000とアプリケーションサーバ100とストレージ監視サーバ200の各々が、業務LAN(Local Area Network)401に接続されている。
また、アプリケーションサーバ100とストレージ監視サーバ200とストレージサブシステム300の各々が、SAN(Storage Area Network)402と管理LAN403とに接続されている。
なお、図1では、各サーバ100、200と各ストレージサブシステム300との間のデータの送受信にSAN402を用いているが、これに限られることなく、LANなどの一般的なネットワークを用いてもよい。

[性能管理サーバの構成]
次に、性能管理サーバ000の構成について詳述する。
性能管理サーバ000は、図1に示すように、CPU(処理部)000Aとメモリ(記憶部)000Bとを含んで構成されている。
そして、メモリ000Bは、基本情報入力インタフェース020と、I/Oパス抽出用情報入力インタフェース040と、I/Oパス抽出処理部030と、データベース格納処理部010と、性能管理サーバ内部データベース050(「データベース050」ともいう)とを有している。
なお、性能管理サーバ000には、表示装置091、キーボード(外部装置)092およびマウス(外部装置)093が接続されている。

[ストレージサブシステムの構成]
次に、ストレージサブシステム300の構成について詳述する。なお、図1では、1台のストレージサブシステム300の内部構成が示されているが、他のストレージサブシステム300の内部構成も同様である。
ストレージサブシステム300は、図1に示すように、複数のアレイグループ301と、複数のストレージ側ポート302と、複数のキャッシュパーティション303と、マイクロプログラム305(不図示のメモリに格納)とを含んで構成されている。
アレイグループ301とは、例えば、複数の記憶装置(ハードディスクドライブなど)をRAID(Redundant Array of Independent Disks)構成により単一の仮想的な記憶装置としたものをいう。アレイグループ301は、独立の記憶装置として取り扱うことが可能な論理ボリューム(記憶領域ともいう)304を有する。

マイクロプログラム305は、アレイグループ301上で、例えば一定容量ごとに不図示のパーティションを作成する。また、このマイクロプログラム305は、SAN402を経由してアプリケーションサーバ100に当該パーティションを割り当てる機能を持つ。このようなマイクロプログラム305は、プロセッサなどの処理装置(不図示)によって実行される。
パーティションは、一または複数の記憶装置を論理的に複数の論理ボリューム304に分割するためのものである。なお、本実施の形態では、パーティションは、一定容量、すなわち一定サイズ毎に作成することとするが、例えば、ユーザ設定に応じた任意のサイズ毎に作成するようにしてもよい。
このようなマイクロプログラム305によってパーティションが作成された場合、アプリケーションサーバ100は、そのパーティションに基づきファイルシステム101を作成する。このとき作成されるファイルシステム101とパーティションとの対応関係は、一対一、一対多、多対一または多対多のいずれの関係としてもよい。

また、マイクロプログラム305は、不図示のキャッシュを分割してキャッシュパーティション303を作成し、当該キャッシュパーティション303を複数の論理ボリューム304に割り当てる機能を持つ。本実施の形態では、キャッシュパーティション303を複数の論理ボリューム304に割り当てることとしたが、アレイグループ301に割り当てるようにしてもよい。
さらに、マイクロプログラム305は、ストレージ側ポート302、アレイグループ301およびキャッシュパーティション303に関する性能値(転送速度など)を定期的に取得する機能を持つ。

[アプリケーションサーバの構成]
次に、アプリケーションサーバ100の構成について詳述する。なお、図1では、1台のアプリケーションサーバ100の内部構成が示されているが、他のアプリケーションサーバ100の内部構成も同様である。
アプリケーションサーバ100は、割り当てられたアプリケーションプログラム(「アプリケーション」ともいう)を稼動させるためのものであり、図1に示すように、CPU100Aと、メモリ100Bと、複数のファイルシステム101と、複数のサーバ側ポート102とを含んで構成されている。
そして、メモリ100Bは、サーバ情報収集プログラム103(「収集プログラム103」ともいう)、サーバ−ストレージ関連情報収集プログラム104(「収集プログラム104」ともいう)およびアプリケーションサーバ内部データベース105(「データベース105」ともいう)を有している。各収集プログラム103、104の機能は後記するが、これらはCPU100Aによって稼動しているものとする。
なお、ファイルシステム101は、当該ファイルシステムに対するI/O要求をSAN402を経由して受け付け、このI/O要求に応じ、当該ファイルシステムに割り当てられた論理ボリューム304に対して所定の処理を実行する。

[ストレージ監視サーバの構成]
次に、ストレージ監視サーバ200の構成について詳述する。なお、図1では、1台のストレージ監視サーバ200の内部構成が示されているが、他のストレージ監視サーバ200の内部構成も同様である。
ストレージ監視サーバ200は、図1に示すように、CPU200Aとメモリ200Bとを含んで構成されている。
そして、メモリ200Bは、稼働中のストレージ情報収集プログラム201(「収集プログラム201」ともいう)およびアプリケーションサーバ内部データベース202(「データベース202」ともいう)を有している。
なお、本実施の形態では、ストレージ監視サーバ200とストレージサブシステム300の各々は同台数とし、各ストレージ監視サーバ200は、それぞれ異なるストレージサブシステム300を監視しているものとする。もっとも、一台のストレージ監視サーバ200が、複数台のストレージサブシステム300を監視するように構成してもよい。

なお、本実施の形態では、アプリケーションサーバ100と、サーバ側ポート102と、ストレージサブシステム300と、ストレージ側ポート302と、キャッシュパーティション303と、ファイルシステム101と、アレイグループ301と、論理ボリューム304とを総称して「リソース」ともいう。

図2は性能管理サーバ000の機能を示す説明図である(適宜図1参照)。
図2において、各収集プログラム103、104、201は、アプリケーションサーバ100およびストレージサブシステム300の各々から、後記する各リソースの構成情報および性能情報を取得する。

基本情報入力インタフェース020は、I/Oパスの抽出の前提となる情報を取得する処理を行うものであり、既存アプリケーション情報入力インタフェース044(「入力インタフェース044」ともいう)と、構成情報・性能情報取得インタフェース045(「取得インタフェース045」ともいう)とを含んでいる。
入力インタフェース044は、SAN環境で稼動している既存アプリケーション(既に稼働中のもの)に関する情報(アプリケーション名など)を取得するが、この情報は、例えばユーザによるキーボード092などの操作によって入力される。
取得インタフェース045は、各収集プログラム103、104、201から、各リソースの構成情報および性能情報を取得する。構成情報は、アプリケーションサーバ100からストレージサブシステム300に対して行われたI/O要求におけるI/O発行元のリソースとI/O発行先のリソースとの間の経路に存在する各リソースの関係をあらわす情報である。

データベース格納処理部010は、基本情報入力インタフェース020が取得した情報をデータベース050上の構成情報090に格納するものであり、構成情報登録部011と性能情報登録部012と既存アプリケーション情報登録部013とを含んで構成されている。

構成情報登録部011は、構成情報・性能情報取得インタフェース045が取得した情報から、アプリケーションサーバ100とストレージサブシステム300との間の構成に関する構成情報を取り出し、その構成情報を構成情報090に格納する。また、性能情報登録部012は、構成情報・性能情報取得インタフェース045が取得した情報から、後記するリソースの性能情報を取り出し、その性能情報をデータベース050の性能情報060に格納する。なお、性能情報060は、I/Oパスを構成する構成要素(サーバ側ポート102、ストレージ側ポート302、アレイグループ301、キャッシュパーティション303)に関する各種性能値(転送速度(図4,5参照)、応答時間(図6参照)、キャッシュのヒット率(図7参照))をあらわす。
既存アプリケーション情報登録部013は、入力インタフェース044が取得した情報をアプリケーション情報070に格納する。

なお、構成情報登録部011に代えて、基本情報入力インタフェース020が、構成情報登録部011での処理を行ってもよい。
図2では、構成情報090、性能情報060およびアプリケーション情報070を総称して基本情報080と記載している。

I/Oパス抽出用情報入力インタフェース040(入力インタフェース040ともいう)は、新規アプリケーション(稼動中のものでなくこれから新たに稼動するもの)に関する情報(アプリケーション名など)と、I/Oパスを構成するリソースに関する条件(あるポートの転送速度など)とをそれぞれ取得し、取得した情報と条件とをI/Oパス抽出処理部030に渡す。この入力インタフェース040は、新規アプリケーション情報入力インタフェース043(入力インタフェース043ともいう)とI/Oパス抽出条件入力インタフェース042(入力インタフェース042ともいう)とを含んで構成される。
入力インタフェース043は、新規アプリケーションを稼動させるサーバの名称と、新規アプリケーションのI/Oピーク時間帯とを取得する。なお、I/Oピーク時間帯は、対象アプリケーションの稼動時間帯のうち、I/O性能の厳しい要求や他のアプリケーションへの影響などを考慮してユーザにより設定される時間帯をいい、具体的な内容については適宜後記することとする。 入力インタフェース042は、I/Oパスを構成するリソースの性能に関する条件と、I/Oパスを構成するリソースを利用するアプリケーションに関する条件とを取得する。

I/Oパス抽出処理部030は、データベース050の基本情報080から、入力インタフェース040が取得した条件をもとに、アプリケーションサーバ100とストレージサブシステム300との間のI/Oパスの候補を検索する。そして、I/Oパス抽出処理部030は、検索したI/Oパスの候補をI/Oパス候補リストとしてI/Oパス候補出力インタフェース041に渡す。このI/Oパス抽出処理部030は、リソース候補情報作成部031とI/Oパス候補情報作成部032とを含んで構成される。
リソース候補情報作成部031は、入力インタフェース043からの入力情報と基本情報080とを組み合わせて、後記する各リソースに関する情報を作成して、データベース050上のリソース候補情報086に一時的に格納する。
また、I/Oパス候補情報作成部032は、入力インタフェース042からの入力情報と、データベース050上のリソース候補情報086および基本情報080とに基づき、I/Oパスの候補を抽出する。そして、I/Oパス候補情報作成部032は、抽出結果をI/Oパス候補出力インタフェース041に渡す。

I/Oパス候補出力インタフェース041は,I/Oパス候補情報作成部032からI/Oパス候補リストを取得して、ユーザに提供する処理(例えば、表示装置091への表示処理)を行う。

次に、アプリケーションサーバ100およびストレージ監視サーバ200の機能について図3に基づいて詳述する。
まず、アプリケーションサーバ100の機能について説明する。図3(a)に示すアプリケーションサーバ100では、稼働中の収集プログラム103は、当該アプリケーションサーバ100に割り当てられている各サーバ側ポート102の性能値(例えば転送速度)を取得して、データベース105のサーバ側ポート性能情報112に格納する。
また、収集プログラム103は、各ファイルシステム101(図2参照)に使用されているサーバ側ポート102を特定して、データベース105のファイルシステム構成情報113に格納する。

図3(a)の収集プログラム104は、当該プログラムが稼動しているアプリケーションサーバ100から、アプリケーションサーバ100とストレージサブシステム300との間の後記する関連情報を取得し、データベース105のサーバ−ストレージ関連情報122に格納する。

なお、図3(a)の収集プログラム103は、次のような方法で、各サーバ側ポート102の性能値を取得するようにしてもよい。すなわち、サーバ側ポート102の性能値を当該サーバ側ポート102にあらかじめ登録しておく。そして、収集プログラム103が、当該サーバ側ポート102が提供するAPI(Application Program Interface)を使用して、当該サーバ側ポート102の性能値を取得する。もしくは、まず、アプリケーションサーバ100上で稼動しているオペレーティングシステムが、サーバ側ポート102の性能情報を定期的に取得したのち、収集プログラム103が、オペレーティングシステムに取得された性能情報を取得するようにしてもよい。

また、各ファイルシステム101に使用されているサーバ側ポート102の特定は、ストレージサブシステム300内の論理ボリューム304がSAN402経由で当該アプリケーションサーバ100に割り当てられたときに、当該アプリケーションサーバ100上で稼動しているオペレーティングシステム(サーバ側ポート102のポート名を記録している)からの通知により行うようにしてもよい。あるいは、SCSI(Small Computer System Interface)インクワイアリコマンドの実行により、各ファイルシステムに使用されるサーバ側ポート102を特定するようにしてもよい。

次に、ストレージ監視サーバ200の機能について説明する(適宜図1、図2参照)。
図3(b)に示すストレージ監視サーバ200では、収集プログラム201は、SAN402および管理LAN403を経由して単一のストレージサブシステム300を監視する。そして、この監視により、収集プログラム201は、各ストレージ側ポート302の性能値(例えば転送速度)、各アレイグループ301の性能値(例えば応答時間)および各キャッシュパーティション303の性能値(例えばキャッシュヒット率)を取得する。

また、収集プログラム201は、取得した各性能値をそれぞれ、データベース202のストレージ側ポート性能情報212、アレイグループ性能情報213およびキャッシュパーティション性能情報214に格納する。
なお、ストレージ側ポート性能情報212は、ストレージ側ポート302毎の性能値を保持するためのテーブルであり、アレイグループ性能情報213は、アレイグループ301毎の性能値を保持するためのテーブルである。また、キャッシュパーティション性能情報214は、キャッシュパーティション303毎の性能値を保持するためのテーブルである。

さらに、収集プログラム201は、ストレージサブシステム300の各論理ボリューム304に使用される、ストレージ側ポート302、アレイグループ301およびキャッシュパーティション303の各名称を取得し、これら各名称をデータベース202の論理ボリューム構成情報215に格納する。論理ボリューム構成情報215は、各論理ボリューム304が使用するストレージ側ポート302、アレイグループ301およびキャッシュパーティション303の各名称を保持するためのテーブルである。
なお、前記した各性能値および各構成情報は、ストレージサブシステム300内のマイクロプログラム305によって取得される。そして、収集プログラム201は、マイクロプログラム305が取得した各性能値および各構成情報を、管理LAN403あるいはSAN402を介して取得することとなる。

次に、サーバ側ポート性能情報112(図3(a)参照)のデータ構成例を図4に基づいて説明する。
図4に示すように、サーバ側ポート性能情報112は、サーバ名700と、サーバ側ポート名701と、サーバ側ポートの転送速度702と、時刻703とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム103によって、例えば定期的に取得されて格納される。
サーバ名700には、アプリケーションプログラムが稼働中のアプリケーションサーバ100のサーバ名(例えば、mercury)が示される。ポート名701には、アプリケーションサーバ100が持つポートのポート名(例えば、1)が示される。
転送速度702には、ポート名701で指定されたポートの転送速度(例えば、6.2MB/s)が示され、時刻703には、転送速度702で指定された転送速度を取得した時刻が示される。

図5はストレージ側ポート性能情報212(図3(b)参照)のデータ構成例を示す図である。
図5に示すように、ストレージ側ポート性能情報212は、ストレージサブシステム名710と、ストレージ側ポート名711と、ストレージ側ポートの転送速度712と、時刻713とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム201によって、例えば定期的に取得されて格納される。
ストレージサブシステム名710には、ストレージサブシステム300のストレージサブシステム名(例えば、「♯9876」など)が示され、ストレージ側ポート名711には、ストレージ側ポート302のポート名が示される。
転送速度712には、ストレージ側ポート302の転送速度(例えば、「2.3MB/s」など)が示され、時刻713には、転送速度712で指定された転送速度を取得した時刻(収集プログラム201の取得時刻)が示される。

図6はアレイグループ性能情報213(図3(b)参照)のデータ構成例を示す図である。
図6に示すように、アレイグループ性能情報213は、ストレージサブシステム名720と、アレイグループ名721と、アレイグループの応答時間722と、時刻723とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム201によって、例えば定期的に取得されて格納される。
ストレージサブシステム名720には、ストレージサブシステム300のストレージサブシステム名(例えば、「♯9876」など)が示され、アレイグループ名721には、アレイグループのグループ名が示される。
応答時間722には、アレイグループの応答時間(例えば、「7.6ms」など)が示され、時刻723には、応答時間722で指定された応答時間を取得した時刻(収集プログラム201の取得時刻)が示される。

図7はキャッシュパーティション性能情報214(図3(b)参照)のデータ構成例を示す図である。
図7に示すように、キャッシュパーティション性能情報214は、ストレージサブシステム名730と、キャッシュパーティション名731と、キャッシュパーティションのヒット率732と、時刻733とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム201によって、例えば定期的に取得されて格納される。
ストレージサブシステム名730には、ストレージサブシステム300のストレージサブシステム名(例えば、「♯9876」など)が示される。キャッシュパーティション名731は、キャッシュパーティション303の名称が示されている。
ヒット率732は、当該キャッシュパーティション303と関連づけられた論理ボリューム304がアクセスされた場合に、要求されたデータがキャッシュ上に存在する確率をあらわす。このヒット率は、例えば(キャッシュのヒット回数/キャッシュパーティション303と関連づけられた論理ボリューム304への全アクセス数)により求められる。
時刻733には、ヒット率732で指定されたヒット率を取得した時刻(収集プログラム201の取得時刻)が示される。

図8はファイルシステム構成情報113(図3(a)参照)のデータ構成例を示す図である。
図8に示すように、ファイルシステム構成情報113は、サーバ名740と、ファイルシステム名741と、サーバ側ポート名742とをカラムに持つテーブルである。このテーブルの各値は、収集プログラム103によって、例えば定期的に取得されて格納される。
サーバ名740には、アプリケーションプログラムが稼働中のアプリケーションサーバ100のサーバ名(例えば、「mercury」など)が示され、ファイルシステム名741には、対応するファイルシステム101のファイルシステム名が示される。
ポート名742には、アプリケーションサーバ100が持つサーバ側ポート102のポート名が示される。

図9は論理ボリューム構成情報215(図3(b)参照)のデータ構成例を示す図である。
図9に示すように、論理ボリューム構成情報215は、ストレージサブシステム名750と、論理ボリューム名751と、ストレージ側ポート名752と、アレイグループ名753と、キャッシュパーティション名754とをカラムに持つテーブルである。このテーブルの各値は、ストレージ情報収集プログラム201によって、例えば定期的に取得されて格納される。
論理ボリューム名751は、論理ボリューム304を識別するためのものであり、この論理ボリューム名751には、論理ボリューム名が示される。なお、ストレージサブシステム名750、ストレージ側ポート名752,アレイグループ名753およびキャッシュパーティション名754の各値は、ストレージサブシステム名710、720、730(図5〜図7参照)、ストレージ側ポート名711(図5参照)、アレイグループ名721(図6参照)およびキャッシュパーティション名731(図7参照)の各値と同様である。

図10はサーバ−ストレージ関連情報122(図3(a)参照)のデータ構成例を示す図である。
図10に示すように、サーバ−ストレージ関連情報122は、サーバ名700と同様のサーバ名760と、ファイルシステム名761と、ストレージサブシステム名762と、論理ボリューム名763とをカラムに持つテーブルである。ファイルシステム名761、ストレージサブシステム名762および論理ボリューム名763の各値は、収集プログラム104によって、当該収集プログラム104を稼動しているアプリケーションサーバ100から取得され、対応するカラムに格納される。

なお、ファイルシステム名761、ストレージサブシステム名762および論理ボリューム名763の各値は、収集プログラム104がオペレーティングシステムから取得してもよい。この場合、ファイルシステム名761、ストレージサブシステム名762および論理ボリューム名763の各値は、論理ボリューム304がSAN402経由で当該アプリケーションサーバ100に公開されたときに、当該アプリケーションサーバ100上で稼動しているオペレーティングシステムによって記録されることとなる。
また、ファイルシステム名761、ストレージサブシステム名762および論理ボリューム名763の各値は、SCSIインクワイアリコマンドの実行により取得されてもよい。

なお、本実施の形態では、図2に示す収集プログラム103、104は、例えば一時間おきに、情報をデータベース105に格納する。
図2に示す収集プログラム201は、例えば一時間おきに情報をデータベース202に格納する。また、収集プログラム103が取得・格納するサーバ側ポート102の転送速度702の値と、収集プログラム201が取得・格納するストレージ側ポート302の転送速度712の値については、例えば過去一時間内の収集値(例えば一分おきに収集されたすべての値)から平均値が算出されて格納される。
また、アレイグループ301の応答時間とキャッシュパーティション303のヒット率についても、例えば過去一時間内の収集値(例えば、一分おきに収集されたすべての値)から平均値が算出されて格納される。それ以外の値については、一時間おきに取得した値を格納する。
また、図2に示す収集プログラム103、104、201は、取得インタフェース045から問合せを受けると、当該プログラムが保持している情報を取得インタフェース045に送ったのち、当該プログラムが保持している情報を削除する。

図2に戻って、入力インタフェース020の機能について詳述する。
入力インタフェース044は、表示装置091に既存アプリケーションに関する入力画面900(図17参照)を出力装置(表示装置091など)に出力(表示)させる。また、入力インタフェース044は、入力画面900の入力データを既存アプリケーション情報登録部013に渡す。
入力画面900は、既存アプリケーションを稼動するアプリケーションサーバ100のサーバ名と、該当するファイルシステム名と、I/Oピーク時間帯とをユーザに入力(キーボート092、マウス093の入力操作)させるためのものである。入力画面900の表示例を図17に示す。

入力画面900には、図17に示すように、アプリケーションサーバのサーバ名の入力欄901と、ファイルシステムのファイルシステム名の入力欄902と、アプリケーション名の入力欄905と、I/Oピーク時間帯の入力欄903、904とが含まれている。また、この入力画面900には、アプリケーションの重要度の入力欄906が含まれている。これらの入力欄901〜906の値は、ユーザによるキーボード092やマウス093の操作によって入力される。つまり、ユーザの所望値である。

図2に戻って、取得インタフェース045は、収集プログラム103、104、201の各々から、例えば定期的に情報を取得し、構成情報登録部011および性能情報登録部012に渡す。具体的には、図3(a)に示すように、取得インタフェース045は、収集プログラム103から、サーバ側ポート性能情報112(図4参照)およびファイルシステム構成情報113(図8参照)を収集して、サーバ側ポート性能情報112を性能情報登録部012に渡すとともに、ファイルシステム構成情報113を構成情報登録部011に渡す。
また、取得インタフェース045は、収集プログラム201からストレージ側ポート性能情報212(図5参照)、アレイグループ性能情報213(図6参照)、キャッシュパーティション性能情報214(図7参照)および論理ボリューム構成情報215(図9参照)を収集する。そして、取得インタフェース045は、各種性能情報212、213、214を性能情報登録部012に渡すとともに、論理ボリューム構成情報215を構成情報登録部011に渡す。
さらに、取得インタフェース045は、収集プログラム104から、サーバ−ストレージ関連情報122(図10参照)を取得して、構成情報登録部011に渡す。

次に、データベース格納処理部010の処理について詳述する(図2参照)。
データベース格納処理部010は、既存アプリケーション情報登録部013と性能情報登録部012と構成情報登録部011とを含んで構成されている。
既存アプリケーション情報登録部013は、入力インタフェース044が取得した情報をアプリケーション情報070に格納する。

このアプリケーション情報070のデータ構成例を図13に示す。アプリケーション情報070は、アプリケーションサーバ100上のファイルシステム101を利用しているアプリケーションに関する情報である。図13に示すように、アプリケーション情報070は、サーバ名841と、ファイルシステム名842と、アプリケーション名843と、重要度844と、I/Oピーク時間帯845との各項目を含んで構成されている。これらの各項目で指定された値は、図17に示した入力画面900の各入力欄901〜906の値に対応するものである。
図2の既存アプリケーション情報登録部013は、入力インタフェース044から、図17に示した入力画面900を通じて次のような情報を取得して、アプリケーション情報070に登録する。図17に示した入力画面900の各入力欄901〜906には、サーバ名、ファイルシステム名、アプリケーション名、重要度およびI/Oピーク時間帯の各値が入力される。

性能情報登録部012は、サーバ側ポート102の性能情報を収集プログラム103から取得してデータベース050の性能情報060に登録する。また、性能情報登録部012は、ストレージ側ポート302の性能情報、アレイグループ301の性能情報、およびキャッシュパーティション303の性能情報を収集プログラム201から取得して、データベース050の性能情報060に登録する。

性能情報060のデータ構造例を図12に示す。
図12に示す性能情報060は、リソース種別821と、サーバ/ストレージサブシステム名822と、リソース名823と、時刻824と、性能値825とをカラムに持つテーブルである。
リソース種別821には、サーバ側ポート102、キャッシュパーティション303、ストレージ側ポート302またはアレイグループ301のいずれかの種別が示される。
サーバ/ストレージサブシステム名822には、対応するリソース(アプリケーションサーバ100またはストレージサブシステム300)のサーバ名またはストレージサブシステム名のいずれかが示される。
リソース名823は、リソース種別で指定されたリソースを識別するためのものであり、このリソース名には、例えばポート番号などが示される。
時刻824には、後記する性能値825で指定された性能値(例えば、6.2MB/sのポートの転送速度など)が示される。

[性能情報登録部の機能]
次に、図2の性能情報登録部012の機能を詳述する。
まず、性能情報登録部012がサーバ側ポート102の性能情報(例えば転送速度)を性能情報060に格納する処理に関して説明する。
性能情報登録部012は、構成情報・性能情報取得インタフェース045からサーバ側ポート性能情報112(図4のサーバ名700、サーバ側ポート名701、サーバ側ポートの転送速度702、時刻703の各値)を取得する。そして、性能情報登録部012は、サーバ名、サーバ側ポート名、サーバ側ポートの転送速度および時刻をそれぞれ、性能情報060(図12参照)のサーバ/ストレージサブシステム名822、リソース名823、性能値825および時刻824に格納する。なお、性能情報登録部012は、性能情報060の該当行のリソース種別821に「サーバ側ポート」の文字列を格納する。

また、性能情報登録部012がストレージ側ポート302の性能情報(例えば転送速度)を性能情報060に格納する処理に関して説明する。
性能情報登録部012は、構成情報・性能情報取得インタフェース045からストレージ側ポート性能情報212(図5のストレージサブシステム名710、ストレージ側ポート名711、ストレージ側ポートの転送速度712、時刻713の各値)を取得する。そして、性能情報登録部012は、前記したサーバ側ポート102の性能情報の場合と同様に、ストレージサブシステム名、ストレージ側ポート名、ストレージ側ポートの転送速度および時刻をそれぞれ、性能情報060(図12参照)のサーバ/ストレージサブシステム名822、リソース名823、性能値825および時刻824に格納する。なお、性能情報登録部012は、性能情報060の該当行のリソース種別821に不図示の「ストレージ側ポート」の文字列を格納する。なお、その他のリソースに関してもこれらと同様にして、性能情報を登録することができる。

次に、性能情報登録部012がアレイグループ301の性能情報を性能情報060に格納する処理に関して説明する。
性能情報登録部012は、取得インタフェース045からアレイグループ性能情報213(図6のストレージサブシステム名720、アレイグループ名721、アレイグループの応答時間722、時刻723の各値)を取得する。そして、性能情報登録部012は、ストレージサブシステム名、アレイグループ名、アレイグループの応答時間および時刻の各値をそれぞれ、性能情報060(図12参照)のサーバ/ストレージサブシステム名822、リソース名823、性能値825および時刻824に格納する。なお、性能情報登録部012は、性能情報060の該当行のリソース種別821に「アレイグループ」の文字列を格納する。

さらに、性能情報登録部012がキャッシュパーティション303の性能情報を性能情報060に格納する処理に関して説明する。
性能情報登録部012は、取得インタフェース045からキャッシュパーティション性能情報214(図7のストレージサブシステム名730、キャッシュパーティション名731、キャッシュパーティションのヒット率732、時刻733の各値)を取得する。そして、性能情報登録部012は、ストレージサブシステム名、キャッシュパーティション名、キャッシュパーティションのヒット率および時刻の各値をそれぞれ、性能情報060(図12参照)のサーバ/ストレージサブシステム名822、リソース名823、性能値825および時刻824に格納する。なお、性能情報登録部012は、性能情報060の該当行のリソース種別821に「キャッシュパーティション」の文字列を格納する。

[構成情報登録部の機能]
次に、図2の構成情報登録部011の機能について説明する。
構成情報登録部011は、収集プログラム103、104、201から定期的に情報を取得する。そして、構成情報登録部011は、取得した情報に基づいて、アプリケーションサーバ100とストレージサブシステム300との間に存在するリソースの構成情報を作成したのち、作成した構成情報をデータベース050の構成情報090に格納する。構成情報090は、アプリケーションサーバ100とストレージサブシステム300との間のI/Oパスの組み合わせを表すものであり、ファイルシステム101に対するI/O要求が伝播されうるリソース名を保持する。

構成情報090のデータ構造例を図11に示す。
図11に示すように、構成情報090は、サーバ名801と、ファイルシステム名802と、サーバ側ポート名803と、ストレージサブシステム名804と、ストレージ側ポート名805と、アレイグループ名806と、キャッシュパーティション名807とをカラムに持つテーブルである。

図2に戻って、構成情報登録部011の機能を詳述する。
構成情報登録部011は、収集プログラム103により収集されたファイルシステム構成情報113(図8のサーバ名740、ファイルシステム名741、サーバ側ポート名742の各値)を取得する。また、構成情報登録部011は、収集プログラム201により収集された論理ボリューム構成情報215(図9のストレージサブシステム名750、論理ボリューム名751、ストレージ側ポート名752、アレイグループ名753、キャッシュパーティション名754の各値)を取得する。さらに、構成情報登録部011は、収集プログラム104により収集されたサーバ−ストレージ関連情報122(図10のサーバ名760、ファイルシステム名761、ストレージサブシステム名762、論理ボリューム名763の各値)を取得する。

そして、構成情報登録部011は、前記取得したファイルシステム構成情報113、論理ボリューム構成情報215およびサーバ−ストレージ関連情報122の各値を、ファイルシステム名および論理ボリューム名に基づいて組み合わせた構成情報090を作成する。具体的には、まず構成情報登録部011は、ファイルシステム構成情報113から、サーバ名740とファイルシステム名741の各値の組み合わせをすべて取得する。
続いて、構成情報登録部011は、前記取得した各値の組み合わせと、サーバ−ストレージ関連情報122から取得したサーバ名760およびファイルシステム名761の各値の組み合わせとを比較し、一致するサーバ−ストレージ関連情報122(図10参照)の行を抽出する。
次に、構成情報登録部011は、前記抽出した行に示された、ストレージサブシステム名762と論理ボリューム名763の各値の組み合わせをすべて取得する。そして、構成情報登録部011は、前記取得した各組み合わせと、論理ボリューム構成情報215(図9参照)のストレージサブシステム名750と論理ボリューム名751の各値の組み合わせとを比較し、一致する論理ボリューム構成情報215の行をすべて抽出する。

次に、構成情報登録部011は、ファイルシステム構成情報113のサーバ名760の値を構成情報090(図11参照)のサーバ名801に格納するとともに、ファイルシステム名761の値を構成情報090のファイルシステム名802に格納する。また、構成情報登録部011は、サーバ側ポート名742の値を構成情報090のサーバ側ポート名803に格納するとともに、ストレージサブシステム名750の値を構成情報090のストレージサブシステム名804に格納する。さらに、構成情報登録部011は、ストレージ側ポート名752の値を構成情報090のストレージ側ポート名805に格納するとともに、アレイグループ名753の値を構成情報090のアレイグループ名806に格納する。
また、構成情報登録部011は、キャッシュパーティション名754の値を構成情報090のキャッシュパーティション名807に格納する。構成情報登録部011は、このような格納処理を、ファイルシステム構成情報113から取得したサーバ名740とファイルシステム名741の各値の組み合わせすべてについて行う。

次に、I/Oパス抽出処理部030、入力インタフェース040および出力インタフェース041の処理について詳述する。
[入力インタフェースの機能]
まず、入力インタフェース040の機能について説明する。入力インタフェース040は、2つの入力インタフェース042、043を含んでいる(図2参照)。
入力インタフェース043は、新規アプリケーションを稼動させるアプリケーションサーバ100のサーバ名と、新規アプリケーションのI/Oピーク時間帯を取得するインタフェースである。ここでのサーバ名とI/Oピーク時間帯は、図18に示す入力画面910を通じて取得される。
図18に示す入力画面910は、表示装置091に表示され、アプリケーションサーバ100のサーバ名の入力欄911と、I/Oピーク時間帯の入力欄912、913とが含まれている。これらの入力欄911〜913の値は、ユーザによる入力装置(キーボード092、マウス093)による入力操作により指定される。指定された入力欄911〜913の各値は、入力インタフェース043によって、I/Oパス抽出処理部030に渡される。

図2に戻って、入力インタフェース042は、I/Oパスを構成するリソースの性能についての条件、または、I/Oパスを構成するリソースを利用するアプリケーションについての条件を取得するインタフェースである。これらの各条件は、図19に示す入力画面920を通じて取得される。
図19に示す入力画面920には、プルダウンメニュー921が含まれており、このプルダウンメニュー921の中に前記した各条件がある。具体的には、I/Oパスを構成するリソースの性能についての条件として、サーバ側ポート102の平均転送速度、ストレージ側ポート302の平均転送速度、アレイグループ301の平均応答時間、キャッシュパーティション303の平均ヒット率の4つの条件がある。また、I/Oパスを構成するリソースを利用するアプリケーションについての条件として、リソースを使用するアプリケーションの最大重要度、I/Oピーク時間帯の重なるアプリケーションの最大重要度の2つの条件がある。さらに、いずれの条件も指定しない「選択しない」という条件もプルダウンメニュー921にはある。
ユーザは、例えばマウス093を用いて、プルダウンメニュー921の前記7つの条件の中から、1つの条件を選択することが可能となる。選択された条件は、入力インタフェース043を通じてI/Oパス候補情報作成部032に渡される。

なお、図19では、選択可能な条件が1つである場合について説明したが、複数の条件を選択可能にしてもよい。複数の条件が選択可能な場合、I/Oパス候補情報作成部032における処理内容が、1つの条件を選択可能にする場合と異なるが、この点は後記する。

次に、図2のI/Oパス抽出処理部030における処理について説明する。
I/Oパス抽出処理部030は、リソース候補情報作成部031とI/Oパス候補情報作成部032とを含んで構成されている。
リソース候補情報作成部031は、入力インタフェース043からの入力情報と基本情報080を組み合わせて、各リソースの性能平均値と、各リソースに関連するアプリケーションの最大重要度とを作成し、データベース050のリソース候補情報086に格納する。リソース候補情報086のデータ構成例を図15に示す。

図15に示すように、リソース候補情報086は、リソース種別871と、サーバ/ストレージサブシステム名872と、リソース名873と、平均性能値874とを含んでいる。また、リソース候補情報086は、リソースを使用するアプリケーションの最大重要度875と、I/Oピーク時間帯の重なるアプリケーションの最大重要度876とを含んでいる。
平均性能値874には、図12の性能値825で指定された値をリソース種別871ごとのリソース名ごとに分類して算出された平均値が示される。この平均値が算出される時間間隔は、あらかじめ設定されているものとする。
最大重要度875には、当該リソース(サーバ側ポート102、ストレージ側ポート302、アレイグループ301、キャッシュパーティション303)に着目した場合の当該アプリケーションの重要度が示されるが、この重要度は、あらかじめ設定された段階付けの中から指定されたものである。

最大重要度876には、I/Oピーク時間帯の重なるアプリケーションについての当該アプリケーションの重要度が示される。この重要度もあらかじめ設定された段階付けの中から指定されたものである。このような指定をしておくことにより、I/Oピーク時間帯が重なるアプリケーションについてその重要度の順位付けを行うことが可能となる。
なお、リソース種別871、サーバ/ストレージサブシステム名872およびリソース名873は、図12のリソース種別821、サーバ/ストレージサブシステム名822およびリソース名823の内容と同様である。

図2に戻って、I/Oパス候補情報作成部032は、入力インタフェース042からの入力情報と、リソース候補情報086と、基本情報080とに基づいて、後記するI/Oパスの候補を抽出したのち、その抽出結果をI/Oパス候補出力インタフェース041に渡す。

次に、リソース候補情報作成部031の処理例を図14に基づいて説明する。
ステップ605では、図18に示した入力画面910で指定された新規アプリケーション(サーバ名の入力欄911で指定されたもの)が利用可能なリソース一覧を取得する。具体的には、図12に示した性能情報060の中から、指定された新規アプリケーションが使用できないサーバ側ポート102に関する情報(リソース種別で指定されたサーバ側ポートの行など)を除いたものを抽出する。言い換えると、サーバ/ストレージサブシステム名822(図12参照)で指定された文字列が、図18に示した入力画面910に含まれる入力欄911に入力されたサーバ名と同一である行のみを抽出する。

ステップ610では、取得したリソース一覧中、データの重複を排除しリソース集合を作成する。データの重複を排除する前、まず、ステップ605において図12の性能情報060から抽出された行(リソース一覧)の中から、リソース種別821、サーバ/ストレージサブシステム名822およびリソース名823で指定された値の組み合わせを持つ行をすべて取得する。そして、この取得したすべての行の中から、データ重複する組み合わせの行を排除した行からなる組み合わせ集合を作成する。
ステップ615では、ステップ610で作成したリソース集合が空かどうかを調べる。具体的には、組み合わせ集合(リソース集合)の要素数(行数)が0であるか否かを調べる。これにより、リソース集合を構成するすべての行についての処理が行われることとなる。
ステップ615における判断において、0であれば、リソース集合が空と判断し(ステップ615のはい)、リソース候補情報作成部031の処理を終える。他方、0でなければ、リソース集合が空ではないと判断し(ステップ615のいいえ)、ステップ620に進む。

ステップ620では、ステップ610で作成したリソース集合としての組み合わせ集合からリソースを一個取り出し、取り出したリソースをリソース集合から削除する。
ステップ625では、ステップ620で取り出したリソースに関して、性能情報060に基づいて、当該リソースの平均性能値を計算する。具体的には、まず、新規アプリケーションの稼動時間帯(図18のI/Oピーク時間帯で指定された時間帯)に重なり、かつ、図18に示した入力画面910の入力欄916で指定した期間内に含まれる情報のみを抽出する。そして、抽出した情報から、性能値の平均値を計算する。
さらに詳述する。ステップ605において性能情報060から抽出された行から、リソース種別821、サーバ/ストレージサブシステム名822およびリソース名823(図12参照)で指定された値の組み合わせが、ステップ620で取り出した組み合わせと一致する行を抽出する。次に、前記抽出の結果から、時刻824で指定された値が、図18のI/Oピーク時間帯の2つの入力欄912、913に入力された値の時間帯に重なり、かつ、性能情報060の時刻824で指定された時刻と現在の時刻との差が図18の入力画面910の入力欄916に入力された値(日数)以下である行のみを抽出する。そして、抽出した行に含まれる性能値825で指定された値の平均値を求める。

ステップ630では、ステップ620において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「サーバ側ポート」であるか否かを調べる。そして「サーバ側ポート」であれば(ステップ630のはい)、ステップ633に進み、他方、「サーバ側ポート」でなければ(ステップ630のいいえ)、ステップ635に進む。

ステップ633では、サーバ側ポート102に対応付けられているアプリケーションの重要度(図13参照)の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報090(図11参照)を構成する行の中から、ステップ620において取り出したリソースに関するリソース集合の行で指定されたサーバ/ストレージサブシステム名およびリソース名を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名801およびファイルシステム名802で指定された値の組み合わせを取得する。

次に、アプリケーション情報070(図13参照)を構成する行の中から、サーバ名841およびファイルシステム名842で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求める。最後に、前記探索の結果で指定された行の中から、入力画面910(図18参照)の2つの入力欄912、913に入力された時間帯に重なる時間帯をI/Oピーク時間帯845に持つ行のみを抽出する。そして、抽出した行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求めたのち、ステップ650に進む。

ステップ635では、ステップ620において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「ストレージ側ポート」であるか否かを調べる。そして「ストレージ側ポート」であれば(ステップ635のはい)、ステップ638に進み、他方、「ストレージ側ポート」でなければ(ステップ635のいいえ)、ステップ640に進む。

ステップ638では、サーバ側ポート102に対応付けられているアプリケーションの重要度844(図13参照)の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報090(図11参照)を構成する行の中から、ステップ620において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名804およびストレージ側ポート名805を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名801およびファイルシステム名802で指定された値の組み合わせを取得する。

次に、アプリケーション情報070(図13参照)を構成する行の中から、サーバ名841およびファイルシステム名842で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求める。最後に、前記探索結果から、I/Oピーク時間帯845がI/Oピーク時間帯入力欄912およびI/Oピーク時間帯入力欄913に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求めたのち、ステップ650に進む。

ステップ640では、ステップ620において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「アレイグループ」であるか否かを調べる。そして「アレイグループ」であれば(ステップ640のはい)、ステップ643に進み、他方、「アレイグループ」でなければ(ステップ640のいいえ)、ステップ645に進む。

ステップ643では、アレイグループ301に対応付けられているアプリケーションの重要度(図13参照)の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報090(図11参照)を構成する行の中から、ステップ620において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名804およびアレイグループ名806を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名801およびファイルシステム名802で指定された値の組み合わせを取得する。

次に、アプリケーション情報070(図13参照)を構成する行の中から、サーバ名841およびファイルシステム名842で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求める。最後に、前記探索結果から,I/Oピーク時間帯845がI/Oピーク時間帯入力欄912およびI/Oピーク時間帯入力欄913に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求めたのち、ステップ650に進む。

ステップ645では、ステップ620において取り出したリソースに関するリソース集合の行に関して、当該行で指定されたリソース種別が「キャッシュパーティション」であるか否かを調べる。そして「キャッシュパーティション」であれば(ステップ645のはい)、ステップ648に進み、他方、「キャッシュパーティション」でなければ(ステップ645のいいえ)、ステップ615に進む。

ステップ648では、キャッシュパーティションに対応付けられているアプリケーションの重要度844(図13参照)の中から、アプリケーションの最大重要度を計算する。具体的には、構成情報090(図11参照)を構成する行の中から、ステップ620において取り出したリソースに関するリソース集合の行で指定されたストレージサブシステム名804およびキャッシュパーティション名807を含む行を抽出する。そして、その抽出結果で示された行の中から、サーバ名801およびファイルシステム名802で指定された値の組み合わせを取得する。

次に、アプリケーション情報070(図13参照)を構成する行の中から、サーバ名841およびファイルシステム名842で指定された値の組み合わせを含む行を探索する。そして、その探索結果で示された行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求める。最後に、前記探索結果から、I/Oピーク時間帯845がI/Oピーク時間帯入力欄912およびI/Oピーク時間帯入力欄913に入力された時間帯に含まれる行のみを抽出する。そして、抽出した行に含まれる重要度844の中から、最大重要度(ここでは、重要度844で指定された値が最大のもの)を求めたのち、ステップ650に進む。

ステップ650では、ステップ633、638、643、648のいずれかにおいて計算により求めた値をデータベース050に格納する。
具体的には、ステップ620において取り出したリソースに関するリソース集合の行に関して、当該行に含まれるリソース種別をリソース候補情報086のリソース種別871に、当該行に含まれるサーバ/ストレージサブシステムをサーバ/ストレージサブシステム名822にそれぞれ格納する。また、当該行に含まれるリソース名をリソース名823に、ステップ625で計算した平均性能値を平均性能値874にそれぞれ格納する。
さらに、ステップ633、638、643、648のいずれかのステップで計算した一番目と二番目の最大値をリソース候補情報(図15参照)の各項目875、876にそれぞれ格納し、ステップ615へ戻って、リソース集合が空になるまでの間、すべての行についてステップ620以降の処理を繰り返す。

次に、I/Oパス候補情報作成部032の処理例を図16に基づいて説明する。ここでは、まず、I/Oパス候補情報作成部032が内部で作成する一時テーブルについて説明したのち、図16の各ステップの処理について説明することとする。
I/Oパス候補情報作成部032は、ストレージ側ポートリストとI/Oパス候補リストという2つの一時テーブルを持つ。ストレージ側ポートリストは、図15のリソース候補情報086と同じカラム(図15の項目871〜876)を持つテーブルである。
I/Oパス候補リストは、次のような情報を含むテーブルである。すなわち、サーバ側ポート名と、サーバ側ポート平均転送速度と、ストレージサブシステム名と、ストレージ側ポート名と、ストレージ側ポート平均転送速度と、アレイグループ名と、アレイグループ平均応答時間と、キャッシュパーティション名とである。また、キャッシュパーティション平均ヒット率と、リソースを共有するアプリケーションの最大重要度と、I/Oピーク時間帯の重なるアプリケーションの最大重要度とがテーブルに含まれている。

図16はI/Oパス候補情報作成部032の処理例を示す図である。ここでは、I/Oパス候補情報作成部032が、図19に示した入力画面920のプルダウンメニュー921で指定された条件(例えば、サーバ側ポートの平均転送速度など)を受信したことを前提にして以下のステップに進むものとする。
ステップ655では、リソース候補情報086(図15参照)中、例えば、ユーザがマウス093を用いてプルダウンメニュー921(図19参照)で指定した条件を満たさないリソースを除外する(I/Oパスの候補の対象外とする)。

例えば、プルダウンメニュー921で指定された条件が「ストレージ側ポートの平均転送速度」の場合、リソース候補情報086(図15参照)から、前記条件を満たさないストレージ側ポート302に関する行は除外される。さらに具体的に説明する。プルダウンメニュー921で選択された条件が「ストレージ側ポートの平均転送速度」の場合、リソース候補情報086(図15参照)から、「ストレージ側ポート」のリソース種別で、かつ、入力画面920(図19参照)の入力欄927に入力された値(ストレージ側ポートの平均転送速度の閾値)以下の平均性能値を持つ行と、「ストレージ側ポート」以外のリソース種別を持つ行すべてと、「サーバ側ポート」以外のリソース種別を持つ行すべてを抽出し、ステップ660へ進む。あるいは、プルダウンメニュー921で指定された条件が「サーバ側ポートの平均転送速度」の場合、リソース候補情報086(図15参照)から、「サーバ側ポート」のリソース種別871で、かつ、入力画面920(図19参照)の入力欄927に入力された値(サーバ側ポートの平均転送速度の閾値)以下の平均性能値を持つ行のみを抽出し、ステップ660へ進む。

例えば、プルダウンメニュー921で指定された条件が「アレイグループの平均応答時間」の場合、リソース候補情報086(図15参照)から、「アレイグループ」のリソース種別で、かつ、入力画面920(図19参照)の入力欄927に入力された値(アレイグループの平均応答時間の閾値)以下の平均性能値を持つ行と、「アレイグループ」以外のリソース種別を持つ行すべてを抽出し、ステップ660へ進む。あるいは、プルダウンメニュー921で指定された条件が「キャッシュパーティションの平均ヒット率」の場合、リソース候補情報086(図15参照)から、「キャッシュパーティション」のリソース種別871で、かつ、入力画面920(図19参照)の入力欄927に入力された値(キャッシュパーティションの平均ヒット率の閾値)以上の平均性能値を持つ行と、「キャッシュパーテーション」以外のリソース種別を持つ行すべてを抽出し、ステップ660へ進む。

例えば、プルダウンメニュー921で指定された条件が「リソースを使用するアプリケーションの最大重要度」の場合、リソース候補情報086(図15参照)から、入力画面920(図19参照)の入力欄927に入力された、当該リソース(例えば、サーバ側ポートなど)の最大重要度の値以下の重要度を持つ行のみを抽出し、ステップ660へ進む。あるいは、プルダウンメニュー921で指定された条件が「I/Oピーク時間帯の重なるアプリケーションの最大重要度」の場合、リソース候補情報086(図15参照)から、入力画面920(図19参照)の入力欄927に入力された、I/Oピーク時間帯の重なるアプリケーションの最大重要度の値以下の重要度(I/Oピーク時間帯の重なるアプリケーションのもの)を持つ行のみを抽出し、ステップ660へ進む。
あるいは、プルダウンメニュー921で指定された条件が「選択しない」の場合、リソース候補情報086の全行を抽出し、ステップ660へ進む。

なお、図16のステップ655では、プルダウンメニュー921により1つの条件が指定される場合について説明したが、複数の異なる条件を組み合わせて指定されるようにしてもよい。この場合、プルダウンメニュー921で指定された各条件ごとに、リソース候補情報086(図15参照)の行に関し、図16のステップ655以降のステップを連続して実行することとなるが、2つ目以降の条件を用いたステップ処理では、それ以前の条件を用いたステップ処理で抽出されたリソース候補情報086の行を処理対象としてステップ655以降の処理を行うとよい。

ステップ660では、ステップ655で抽出したリソース(除外されなかったリソース)から、「サーバ側ポート」のリソースのみを抽出する。具体的には、リソース候補情報086(図15参照)を構成する行から、「サーバ側ポート」のリソース種別を含む行のみを抽出し、ステップ665へ進む。
ステップ665では、ステップ655で抽出したリソース(除外されなかったリソース)から、「ストレージ側ポート」のリソースのみを抽出し、抽出した行を新規に作成した前記したストレージ側ポートリスト(図15の項目871〜877と同じ項目を持つテーブル)に格納する。具体的には、リソース候補情報086(図15参照)を構成する行から、「ストレージ側ポート」のリソース種別871を含む行のみを抽出し、ステップ670へ進む。
ステップ670では、ステップ665で作成したストレージ側ポートリストが空であるか否か(行数が0か否か)を調べ、空であれば(ステップ670のはい)、ステップ695に進み、他方、空でなければ(ステップ670のいいえ)、ステップ675に進む。

ステップ675では、ステップ665で格納したストレージ側ポートリストから、ストレージ側ポート302の値を1個取り出し、取り出したストレージ側ポート302の値をストレージ側ポートリストから削除する。
ステップ680では、ストレージ側ポートリストと同じストレージサブシステム300に属するアレイグループ301を、ステップ655で抽出したリソースから抽出する。具体的には、ステップ655で抽出したリソース(当該リソースを含む行)から、「アレイグループ」のリソース種別で、かつ、ストレージ側ポートリストのサーバ/ストレージサブシステム名と一致するサーバ/ストレージサブシステム名872を含む行を抽出する。
ステップ685では、ストレージ側ポートリストと同じストレージサブシステムに属するキャッシュパーティション303を、ステップ655で抽出したリソースから抽出する。具体的には、ステップ655で抽出したリソース(当該リソースを含む行)から、「キャッシュパーティション」のリソース種別で、かつ、ストレージ側ポートリストのサーバ/ストレージサブシステム名と一致するサーバ/ストレージサブシステム名872を含む行を抽出する。

ステップ690では、ステップ660、675、680、685で抽出されたリソースについて、可能なすべての組み合わせの情報をI/Oパス候補リストに格納する。具体的には、ステップ660で抽出された行と、ステップ675で削除した後、ステップ680で抽出された行と、ステップ685で抽出された行とから各々1行ずつ取り出して構成されるすべての可能な組み合わせに関して、以下の処理を行う。
まず、ステップ660で抽出した行のリソース名873および平均性能値874を、I/Oパス候補リストのサーバ側ポート名およびサーバ側ポート平均転送速度にそれぞれ格納する。次に、ステップ675で取り出した行のサーバ/ストレージサブシステム名872、リソース名873および平均性能値874の各値を、I/Oパス候補リストのストレージサブシステム名、ストレージ側ポート名およびストレージ側ポート平均転送速度にそれぞれ格納する。
次に、ステップ680で抽出した行のリソース名873および平均性能値874の各値を、I/Oパス候補リストのアレイグループ名およびアレイグループ平均応答時間にそれぞれ格納する。
次に、ステップ685で抽出した行のリソース名873および平均性能値874の各値を、I/Oパス候補リストのキャッシュパーティション名およびキャッシュパーティション平均ヒット率にそれぞれ格納する.

最後に、ステップ660で抽出した行とステップ675で取り出した行とステップ680で抽出した行と、ステップ685で抽出した行とに関し、リソースを使用するアプリケーションの最大重要度875の最大値と、I/Oピーク時間帯の重なるアプリケーションの最大重要度876の最大値とを求める。そして、求めた2つの最大値を、I/Oパス候補リストのリソースを共有するアプリケーションの最大重要度と、I/Oピーク時間帯の重なるアプリケーションの最大重要度とにそれぞれ格納する。以上の処理を前記のすべての組み合わせ(ステップ660、675、680、685で抽出した行)について行ったのち、ステップ670に戻る。

ステップ695では、I/Oパス候補リスト(図20の表示画面を構成する情報)の内容を出力インタフェース041に送る。以上で、I/Oパス候補情報作成部032の処理を終了する。
なお、I/Oパス候補リストを受け取った出力インタフェース041は、当該I/Oパス候補リストをあらわす表示画面を表示装置091に表示する。これにより、表示装置091には、アプリケーションサーバ100とストレージサブシステム300との間のI/Oパス候補が表示されることとなる。

I/Oパス候補リストをあらわす表示画面940を図20に示す。
図20に示すように、表示画面940には、パス候補番号946と、サーバ側ポート名947と、サーバ側ポート平均転送速度948と、ストレージサブシステム名949と、ストレージ側ポート名950と、ストレージ側ポート平均転送速度951とが含まれている。また、この表示画面940には、アレイグループ名952と、アレイグループ平均応答時間953と、キャッシュパーティション名954と、キャッシュパーティション平均ヒット率955とが含まれている。さらに、この表示画面940には、リソースを共有するアプリケーションの最大重要度956と、I/Oピーク時間帯の重なるアプリケーションの最大重要度957とが含まれている。

このような表示画面940を通じて、ユーザは、例えば、アプリケーションサーバ100とストレージサブシステム300との間のI/Oパスの候補を確認した上でその候補の中から最適なI/Oパスを選択して新規アプリケーションをアプリケーションサーバ100に導入することが可能となる。例えば、表示画面940から、「1」のパス候補番号で指定されたI/Oパスを選択したり、「2」のパス候補番号で指定されたI/Oパスを選択したりすることが可能となる。
しかも、この表示画面940に表示されたI/Oパスの候補は、図19で示された入力画面920のプルダウンメニュー921の中から指定された条件を満たすI/Oパスとなっている。このため、あらかじめ指定したリソースを用いたI/Oパスのみを候補にあげることが可能となり、例えば、転送速度などの性能面で不安のあるリソース(例えば、サーバ側ポート102など)をあらかじめ候補対象外とすることが可能となる。

例えば、ユーザが、図19に示した入力画面920のプルダウンメニュー921にて「リソースを使用するアプリケーションの最大重要度」の条件を指定し、かつその閾値を当該入力画面920の入力欄927に入力した場合、図20に示した表示画面940には、指定された条件の最大重要度を超えるアプリケーションに使用されないリソースからなるI/Oパスの候補が表示されることとなる。
この場合、性能管理サーバ000のCPU000Aは、メモリ000Bに管理されたアプリケーション情報070(図13参照)の重要度844に基づいて、図14のステップ605で取得したリソース一覧(I/Oパス)の中から、入力画面920で指定された条件の閾値を満たす重要度を持つアプリケーションが割り当てられているI/Oパスを抽出して、表示画面940に外部出力する。したがって、ユーザが、表示された候補の中のI/Oパスを選択して、新規アプリケーションに対するリソースを割り当てたとしても、指定されたアプリケーションの重要度(閾値)を超えるアプリケーションに影響を及ぼさないようにすることが可能となる。

あるいは、例えば、ユーザが、図19に示した入力画面920のプルダウンメニュー921にて「I/Oピーク時間帯の重なアプリケーションの最大重要度」の条件を指定し、かつ、すべてのアプリケーションの重要度よりも小さい値を当該入力画面920の入力欄927に入力した場合、図20に示した表示画面940には、新規アプリケーションとI/Oピーク時間帯が重ならない既存アプリケーションのみが使用するリソースからなるI/Oパスの候補が表示されることとなる。

この場合、性能管理サーバ000のCPU000Aは、図14のステップ605で取得したリソース一覧(I/Oパス)の中から、次のような(1)(2)の条件を満たすI/Oパスを抽出して外部出力する。すなわち、CPU000Aは、(1)メモリ000Bに管理されたアプリケーション情報070(図13参照)の重要度に基づいて、入力画面920で指定された条件の閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているI/Oパスで、かつ、(2)メモリ000Bに管理されたアプリケーション情報070(図13参照)のI/Oピーク時間帯に基づいて、入力画面920で指定された条件のI/Oピーク時間帯と重ならないI/Oピーク時間帯を持つアプリケーションプログラムが割り当てられているI/Oパスを抽出する。なお、入力画面920で指定された条件に応じ、前記(1)または(2)の一方の条件を満たすI/Oパスを抽出してもよい。したがって、ユーザが、表示された候補中のI/Oパスを用いて、新規アプリケーションに対するリソースを割り当てたとしても、新規アプリケーションと既存アプリケーションの双方におけるI/Oピーク時間帯でのI/Oの衝突を未然に防止することが可能になる。

このように、本実施の形態によると、性能管理サーバ000のCPU000Aは、キーボード092やマウス093の操作により図18の入力画面910を通じて入力されたアプリケーションを特定のアプリケーションサーバ100に新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバ100と、当該アプリケーションサーバ100と組み合わされるストレージサブシステム300との間のI/Oパスをメモリ000Bの構成情報090(図2参照)から取得する。続いて、CPU000Aは、メモリ000Bの性能情報060(図2参照)に基づいて、前記取得したI/Oパスの中から、図19の入力画面920を通じて指定された条件を満たす性能値を持つI/Oパスを抽出する。そして、CPU000Aは、前記抽出したI/Oパスの候補パスを図20の表示画面940を通じて表示装置091に外部出力する。これにより、ストレージサブシステム300とアプリケーションサーバ100との間の最適なI/Oパスをユーザに提供することが可能となる。したがって、新規なアプリケーションの割り当てを支援することが可能となる。

[変形例]
なお、本発明は、前記した実施の形態に限られない。本実施の形態では、図19に示した入力画面920に1つの条件を指定する場合について説明したが、前記したとおり、複数の条件を指定することが可能な場合、図20に示した表示画面940には、次のようなI/Oの候補が表示されることとなる。
例えば、指定された重要度を超えるアプリケーションによって使用されていないリソース、かつ、新規アプリケーションとI/Oピーク時間帯が重ならない既存アプリケーションのみが使用するリソースの2つの条件を満たすI/Oパスの候補である。この場合、ユーザは、その候補としてあげられたI/Oパスを用いて新規アプリケーションに対するリソースを割り当てたとしても、指定した重要度よりも重要なアプリケーションに影響を与えないようにするとともに、新規アプリケーションと既存アプリケーションの双方におけるI/Oピーク時間帯でのI/Oの衝突を未然に防止することが可能となる。

また、出力インタフェース041は、図20に示した表示画面940を表示装置091に表示する場合、例えば、図19に示したプルダウンメニュー921で指定された条件をあらわすサーバ側ポート平均転送速度948などの値を昇順あるいは降順にソートして表示してもよい。これにより、例えば、ユーザは、I/Oパスの候補の中から、適切なI/Oパスを選びやすくなる。

[I/Oパス候補の詳細表示例]
さらに、出力インタフェース041は、図20に示した表示画面940を通じて、I/Oパスの候補を表示装置091に表示することとしたが、例えば、図21に示す表示画面960を通じて、I/Oパス候補に関する詳細情報を表示装置091に表示してもよい。
図21に示す表示画面960は、図20に示した表示画面940と異なり、既存アプリケーションと新規アプリケーション双方のI/Oピーク時間帯を表示することが可能となっている。具体的には、図21に示す表示画面960には、00:00〜24:00を表す時間軸967が表示されている。そして、この時間軸967を用いて、サーバ側ポート102、ストレージ側ポート302、アレイグループ301およびキャッシュパーティション303の各々について、新規アプリケーションのI/Oピーク時間帯973(なお、図21において「長方形973」ともいう)と既存アプリケーションのI/Oピーク時間帯972(なお、図21において「長方形972」ともいう)とが表示されている。

[I/Oパス候補の詳細表示に関する処理例]
次に、出力インタフェース041が図21の表示画面960を表示装置091に表示する場合における出力インタフェース041とI/Oパス候補情報作成部032の処理例について説明する(適宜図2参照)。
この場合、例えば、ユーザがマウス093を用いて図20に示した表示画面940中の1つのI/Oパスを指定(例えば、マウス093によるパス候補番号へのクリック操作指定)すると、当該指定に応じ、出力インタフェース041は、当該I/Oパスに関する詳細情報をI/Oパス候補情報作成部032に問い合わせる。当該問い合わせに応じ、I/Oパス候補情報作成部032は、当該I/Oパスの詳細情報(既存アプリケーションのI/Oピーク時間帯、新規アプリケーションのI/Oピーク時間帯)を基本情報080(アプリケーション情報070、構成情報090、性能情報060)に基づいて求めて出力インタフェース041に送る。そして、出力インタフェース041は、当該I/Oパスの詳細情報を表示画面960に表示する。

具体的には、出力インタフェース041は、図20の表示画面940でパス候補番号がユーザの操作によって選択された場合、選択されたパス候補番号に指定されたサーバ側ポート名、ストレージサブシステム名、ストレージ側ポート名、アレイグループ名およびキャッシュパーティション名の各値をI/Oパス候補情報作成部032に送る。

I/Oパス候補情報作成部032は、出力インタフェース041から、サーバ側ポート名、ストレージサブシステム名、ストレージ側ポート名、アレイグループ名およびキャッシュパーティション名の各値を取得する。続いて、I/Oパス候補情報作成部032は、構成情報090(図11参照)の中から、図18の入力画面910の入力欄911の値(サーバ名)と、出力インタフェース041から取得したサーバ側ポート名803の値とに一致する行を抽出する。
次に、I/Oパス候補情報作成部032は、前記抽出した構成情報090(図11参照)の行に示されたサーバ名801とファイルシステム名802との各値の組み合わせを取得する。
次に、I/Oパス候補情報作成部032は、アプリケーション情報070(図13参照)の中から、前記取得したサーバ名801とファイルシステム名802の各値の組み合わせを含む、アプリケーション情報070の行(サーバ名841およびファイルシステム名842の各値を持つもの)を抽出する。そして、I/Oパス候補情報作成部032は、抽出したすべての行に示されたI/Oピーク時間帯845(図13参照)の値を出力インタフェース041に送る。
出力インタフェース041は、当該I/Oピーク時間帯845の値に基づいて、表示画面960(図21参照)の使用状況表示欄968(サーバ側ポート102のもの)に長方形972で表示する。

次に、I/Oパス候補情報作成部032は、構成情報090(図11参照)の中から、出力インタフェース041から取得したストレージサブシステム名およびストレージ側ポート名の組を含む行(ストレージサブシステム名804およびストレージ側ポート名805の各値の組み合わせを持つもの)を抽出する。続いて、I/Oパス候補情報作成部032は、抽出した構成情報090(図11参照)の行に示されたサーバ名801およびファイルシステム名802の各値の組み合わせを取得する。
次に、I/Oパス候補情報作成部032は、アプリケーション情報070(図13参照)の中から、前記取得したサーバ名801およびファイルシステム名802の各値の組み合わせを含む、アプリケーション情報070の行(サーバ名841およびファイルシステム名842の各値の組み合わせを持つもの)を抽出する。そして、I/Oパス候補情報作成部032は、抽出したすべての行に示されたI/Oピーク時間帯845の値を出力インタフェース041に送る。
出力インタフェース041は、当該I/Oピーク時間帯845の値に基づいて、表示画面960(図21参照)の使用状況表示欄969(ストレージ側ポート302のもの)に長方形972で表示する。

次に、I/Oパス候補情報作成部032は、構成情報090(図11参照)の中から、出力インタフェース041から取得したストレージサブシステム名およびアレイグループ名の組を含む行(ストレージサブシステム名804およびアレイグループ名806の各値の組み合わせを持つもの)を抽出する。続いて、I/Oパス候補情報作成部032は、抽出した構成情報090(図11参照)の行に示されたサーバ名801およびファイルシステム名802の各値の組み合わせを取得する。
次に、I/Oパス候補情報作成部032は、アプリケーション情報070(図13参照)の中から、前記取得したサーバ名801およびファイルシステム名802の各値の組み合わせを含む、アプリケーション情報070の行(サーバ名841およびファイルシステム名842の各値を持つもの)を抽出する。そして、I/Oパス候補情報作成部032は、抽出したすべての行に示されたI/Oピーク時間帯845の値を出力インタフェース041に送る。
出力インタフェース041は、当該I/Oピーク時間帯845の値に基づいて、表示画面960(図21参照)の使用状況表示欄970(アレイグループ301のもの)に長方形972で表示する。

次に、I/Oパス候補情報作成部032は、構成情報090(図11参照)の中から、出力インタフェース041から取得したストレージサブシステム名およびキャッシュパーティション名の組を含む行(ストレージサブシステム名804およびキャッシュパーティション名807の各値の組み合わせを持つもの)を抽出する。続いて、I/Oパス候補情報作成部032は、抽出した構成情報090(図11参照)の行に示されたサーバ名801およびファイルシステム名802の各値の組み合わせを取得する。
次に、I/Oパス候補情報作成部032は、アプリケーション情報070(図13参照)の中から、前記取得したサーバ名801およびファイルシステム名802の各値の組み合わせを含む、アプリケーション情報070の行(サーバ名841およびファイルシステム名842の各値を持つもの)を抽出する。そして、I/Oパス候補情報作成部032は、抽出したすべての行に示されたI/Oピーク時間帯845の値を出力インタフェース041に送る。
出力インタフェース041は、当該I/Oピーク時間帯845の値に基づいて、表示画面960(図21参照)の使用状況表示欄971(キャッシュパーティション303のもの)に長方形972で表示する。

最後に、出力インタフェース041は、入力画面910(図18参照)のI/Oピーク時間帯の入力欄912、913の入力値(時間帯)に基づき、表示画面960(図21参照)のサーバ側ポート、ストレージ側ポート、アレイグループおよびキャッシュパーティションの各使用状況表示欄968〜971に長方形973で表示する。

このように、性能管理サーバ000のCPU000Aが、メモリ000Bの性能管理サーバ内部データベース050の性能情報060に管理されている各種性能情報112、212、213、214(図4〜図7参照)から、アプリケーションのI/Oピーク時間帯を算出する。また、CPU000Aは、図21に示した表示画面960を通じて、ユーザに選択されたI/Oパス候補の詳細(既存アプリケーションのI/Oピーク時間帯、新規アプリケーションのI/Oピーク時間帯)を例えば表示装置091に表示する。このため、ユーザは、例えば、新規アプリケーションをアプリケーションサーバ100で稼動させた場合の他の既存アプリケーションへの影響(新規アプリケーションのI/Oピーク時間帯以外の時間帯でI/Oが増加した場合の他の既存アプリケーションの影響)を予測することが可能となる。

なお、本実施の形態では、図21の表示画面960上で既存アプリケーションのI/Oピーク時間帯を表示する場合について説明したが、既存アプリケーションのアプリケーション名や既存アプリケーションの重要度も表示画面960上に表示するようにしてもよい。

また、本実施の形態では、性能管理サーバ000は、図17に示した入力画面900にて、既存アプリケーションのI/Oピーク時間帯を取得することとしたが、各リソースの性能値から求めるようにしてもよい。
具体的には、図2の入力インタフェース044により表示される入力画面900(図17参照)において、既存アプリケーションの利用する各リソースについて性能値の閾値を取得する。
リソース候補情報作成部031は、性能情報060を用いて、既存アプリケーションの利用する各リソースの性能値がI/Oピークに達しているか否かを前記閾値に基づいて時間帯ごとに判定する。そして、1つでも閾値を超えたリソースが存在する時間帯を前記既存アプリケーションのI/Oピーク時間帯とする。なお、前記判定に用いる性能値としては、入力画面910(図18参照)の入力欄916に入力された値(期間)について,性能値の平均値を時間帯ごとに求めたものを用いる。

このようにすると、各アプリケーションのI/Oピーク時間帯をユーザに指定された閾値に基づいて自動的に求め、求めたI/Oピーク時間帯に従って、新規アプリケーションとI/Oピーク時間帯が重ならない既存アプリケーションのみが使用するリソースからなるI/Oパスの候補を表示することが可能となる。これにより、アプリケーションの発行するI/O量に長期的な変動がある場合でも、常に適切なI/Oパス候補を表示することが可能となる。

さらに、性能管理サーバ000は、1台の場合で説明したが、複数のコンピュータを組み合わせて分散処理するようにしてもよい。

本発明の実施の形態におけるストレージ管理システムの構成例を示すブロック図である。 性能管理サーバの機能を示す説明図である。 アプリケーションサーバおよびストレージ監視サーバの各機能を示す説明図である。 サーバ側ポート性能情報のデータ構成例を示す図である。 ストレージ側ポート性能情報のデータ構成例を示す図である。 アレイグループ性能情報のデータ構成例を示す図である。 キャッシュパーティション性能情報のデータ構成例を示す図である。 ファイルシステム構成情報のデータ構成例を示す図である。 論理ボリューム構成情報のデータ構成例を示す図である。 サーバ−ストレージ関連情報のデータ構成例を示す図である。 構成情報のデータ構成例を示す図である。 性能情報のデータ構成例を示す図である。 アプリケーション情報のデータ構成例を示す図である。 リソース候補情報作成部の処理例を示す図である。 リソース候補情報のデータ構成例を示す図である。 I/Oパス候補情報作成部の処理例を示す図である。 既存アプリケーション情報に関する入力画面の表示例を示す図である。 新規アプリケーション情報に関する入力画面の表示例を示す図である。 I/Oパス抽出条件に関する入力画面の表示例を示す図である。 I/Oパス候補の表示画面の表示例を示す図である。 I/Oパス詳細情報の表示画面の表示例を示す図である。

符号の説明

000 性能管理サーバ
010 データベース格納処理部
020 基本情報入力インタフェース
030 I/Oパス抽出処理部
040 I/Oパス抽出用情報入力インタフェース
050 性能管理サーバ内部データベース
091 表示装置
100 アプリケーションサーバ
101 ファイルシステム
102 サーバ側ポート
103 サーバ情報収集プログラム
104 サーバ−ストレージ関連情報収集プログラム
105 アプリケーションサーバ内部データベース
200 ストレージ監視サーバ
201 ストレージ情報収集プログラム
202 アプリケーションサーバ内部データベース
300 ストレージサブシステム
301 アレイグループ
302 ストレージ側ポート
303 キャッシュパーティション
304 論理ボリューム
305 マイクロプログラム

Claims (6)

  1. アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスを管理する管理サーバとを含んで構成されるストレージ管理システムであって、
    前記管理サーバは、記憶部と処理部とを含んで構成され、
    前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスの組み合わせを管理するとともに、前記I/Oパスを構成する構成要素に関する各種性能値を管理し、さらに、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムの重要度と、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムのI/Oピーク時間帯とを管理し、
    前記管理サーバの処理部は、
    外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のI/Oパスを前記記憶部に管理された前記I/Oパスの組み合わせから取得し、
    前記記憶部に管理された前記各種性能値に基づいて、前記取得したI/Oパスの中から、前記外部装置からの条件を満たす性能値を持つI/Oパスを抽出するときに
    前記外部装置からの条件が、前記割り当て済みのアプリケーションプログラムの重要度の閾値に関するものと、前記割り当て要求されたアプリケーションプログラムのI/Oピーク時間帯に関するものである場合、
    前記取得したI/Oパスの中から、前記記憶部に管理された前記重要度に基づいて、前記外部装置からの条件で指定された閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているI/Oパスで、かつ、
    前記記憶部に管理された前記I/Oピーク時間帯に基づいて、前記外部装置からの条件で指定されたI/Oピーク時間帯と重ならないI/Oピーク時間帯を持つアプリケーションプログラムが割り当てられているI/Oパスを抽出し、
    前記抽出したI/Oパスを候補パスとして外部出力することを特徴とするストレージ管理システム。
  2. 請求項に記載のストレージ管理システムにおいて、
    前記管理サーバの記憶部は、前記I/Oパスを構成する構成要素ごとに、当該構成要素を利用する前記アプリケーションプログラムのI/Oピーク時間帯をさらに管理するとともに、
    前記管理サーバの処理部は、
    前記外部装置に前記抽出したI/Oパスの候補を外部出力する場合、当該I/Oパスを構成する構成要素を利用するアプリケーションのI/Oピーク時間帯を前記記憶部から読み出し、そのI/Oピーク時間帯とともに前記I/Oパスの候補を外部出力することを特徴とするストレージ管理システム。
  3. 請求項1または請求項に記載のストレージ管理システムにおいて、
    前記管理サーバの記憶部に管理されている前記アプリケーションプログラムのI/Oピーク時間帯は、前記管理サーバの処理部が、前記記憶部に管理されている前記各種性能値から算出したものであることを特徴とするストレージ管理システム。
  4. アプリケーションプログラムが割り当てられたアプリケーションサーバと、前記アプリケーションプログラムに用いられる記憶領域を有するストレージサブシステムと、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスを管理する管理サーバとを含んで構成されるコンピュータシステムを用いて実行されるストレージ管理方法であって、
    前記管理サーバは、記憶部と処理部とを含んで構成され、
    前記管理サーバの記憶部は、前記アプリケーションサーバと前記ストレージサブシステムとの間のI/Oパスの組み合わせを管理するとともに、前記I/Oパスを構成する構成要素に関する各種性能値を管理し、さらに、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムの重要度と、前記アプリケーションサーバに割り当て済みの前記アプリケーションプログラムのI/Oピーク時間帯とを管理し、
    前記管理サーバの処理部は、
    外部装置から、アプリケーションプログラムを特定の前記アプリケーションサーバに新規に割り当てる要求を受け付けた場合、当該要求されたアプリケーションサーバと、当該アプリケーションサーバと組み合わされるストレージサブシステムとの間のI/Oパスを前記記憶部に管理された前記I/Oパスの組み合わせから取得し、
    前記記憶部に管理された前記各種性能値に基づいて、前記取得したI/Oパスの中から、前記外部装置からの条件を満たす性能値を持つI/Oパスを抽出するときに
    前記外部装置からの条件が、前記割り当て済みのアプリケーションプログラムの重要度の閾値に関するものと、前記割り当て要求されたアプリケーションプログラムのI/Oピーク時間帯に関するものである場合、
    前記取得したI/Oパスの中から、前記記憶部に管理された前記重要度に基づいて、前記外部装置からの条件で指定された閾値を満たす重要度を持つアプリケーションプログラムが割り当てられているI/Oパスで、かつ、
    前記記憶部に管理された前記I/Oピーク時間帯に基づいて、前記外部装置からの条件で指定されたI/Oピーク時間帯と重ならないI/Oピーク時間帯を持つアプリケーションプログラムが割り当てられているI/Oパスを抽出し、
    前記抽出したI/Oパスを候補パスとして外部出力することを特徴とするストレージ管理方法。
  5. 請求項に記載のストレージ管理方法において、
    前記管理サーバの記憶部は、前記I/Oパスを構成する構成要素ごとに、当該構成要素を利用する前記アプリケーションプログラムのI/Oピーク時間帯をさらに管理するとともに、
    前記管理サーバの処理部は、
    前記外部装置に前記抽出したI/Oパスの候補を外部出力する場合、当該I/Oパスを構成する構成要素を利用するアプリケーションのI/Oピーク時間帯を前記記憶部から読み出し、そのI/Oピーク時間帯とともに前記I/Oパスの候補を外部出力することを特徴とするストレージ管理方法。
  6. 請求項4または請求項に記載のストレージ管理方法において、
    前記管理サーバの記憶部に管理されている前記アプリケーションプログラムのI/Oピーク時間帯は、前記管理サーバの処理部が、前記記憶部に管理されている前記各種性能値から算出したものであることを特徴とするストレージ管理方法。
JP2005245528A 2005-08-26 2005-08-26 ストレージ管理システムおよびその方法 Expired - Fee Related JP4686305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005245528A JP4686305B2 (ja) 2005-08-26 2005-08-26 ストレージ管理システムおよびその方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005245528A JP4686305B2 (ja) 2005-08-26 2005-08-26 ストレージ管理システムおよびその方法
US11/254,803 US7509443B2 (en) 2005-08-26 2005-10-21 Storage management system and method using performance values to obtain optimal input/output paths within a storage network

Publications (2)

Publication Number Publication Date
JP2007058727A JP2007058727A (ja) 2007-03-08
JP4686305B2 true JP4686305B2 (ja) 2011-05-25

Family

ID=37856608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005245528A Expired - Fee Related JP4686305B2 (ja) 2005-08-26 2005-08-26 ストレージ管理システムおよびその方法

Country Status (2)

Country Link
US (1) US7509443B2 (ja)
JP (1) JP4686305B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410106B (en) 2002-09-09 2006-09-13 Commvault Systems Inc Dynamic storage device pooling in a computer system
MXPA05010591A (es) 2003-04-03 2005-11-23 Commvault Systems Inc Sistema y metodo para desempenar dinamicamente operaciones de almacenamiento en una red de computadora.
WO2006053084A2 (en) 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
JP4857818B2 (ja) * 2006-03-02 2012-01-18 株式会社日立製作所 ストレージ管理方法およびストレージ管理サーバ
US8136114B1 (en) * 2006-04-21 2012-03-13 Sprint Communications Company L.P. Business process management system having dynamic task assignment
US7512621B2 (en) * 2006-06-14 2009-03-31 International Business Machines Corporation Moving records between partitions
JP2008084206A (ja) * 2006-09-28 2008-04-10 Fujitsu Ltd ストレージ装置およびデータ転送方法
JP2008268994A (ja) * 2007-04-16 2008-11-06 Hitachi Ltd 計算機システム、負荷分散方法及び管理計算機
US9401846B2 (en) * 2007-10-17 2016-07-26 Dell Products, Lp Information handling system configuration identification tool and method
JP4701267B2 (ja) * 2008-06-04 2011-06-15 株式会社日立製作所 ストレージシステムおよびその管理方法
JP4845982B2 (ja) 2009-03-05 2011-12-28 株式会社日立製作所 情報処理装置、及びストレージシステムから取得した構成情報の管理方法
JP4810585B2 (ja) * 2009-05-11 2011-11-09 株式会社日立製作所 リモートスキャンをサポートする計算機
US20120102201A1 (en) * 2010-10-25 2012-04-26 Hitachi, Ltd. Storage apparatus and management method thereof
JP5668982B2 (ja) * 2011-03-31 2015-02-12 日本電気株式会社 ストレージシステム、アクセスパス状態更新方法およびアクセスパス状態更新プログラム
US9471221B2 (en) * 2011-04-06 2016-10-18 Seagate Technology Llc Generalized positional ordering
CN102521260B (zh) * 2011-11-18 2014-04-02 华为技术有限公司 数据预热方法及装置
CN103823636B (zh) * 2012-11-19 2017-04-05 苏州捷泰科信息技术有限公司 Io调度方法及装置
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
JP6165580B2 (ja) * 2013-10-04 2017-07-19 株式会社 日立産業制御ソリューションズ コンテンツ配信装置及びコンテンツ配信装置のコンテンツ配信方法
US9798665B1 (en) * 2015-12-20 2017-10-24 Infinidat Ltd. Cache eviction according to data hit ratio and service level agreement

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000032048A (ja) * 1998-07-14 2000-01-28 Fujitsu Ltd ネットワーク装置
JP2002318791A (ja) * 2001-01-29 2002-10-31 Internatl Business Mach Corp <Ibm> ホスティング・サービス資源をクライアントに割当てる方法、装置及びコンピュータ・プログラム製品
JP2003099385A (ja) * 2001-06-28 2003-04-04 Intersan Inc ストレージエリアネットワークへのアプリケーションデータ経路の自動生成
JP2004030363A (ja) * 2002-06-27 2004-01-29 Hitachi Ltd 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法
JP2005149283A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理システムの制御方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6895485B1 (en) * 2000-12-07 2005-05-17 Lsi Logic Corporation Configuring and monitoring data volumes in a consolidated storage array using one storage array to configure the other storage arrays
US6957433B2 (en) * 2001-01-08 2005-10-18 Hewlett-Packard Development Company, L.P. System and method for adaptive performance optimization of data processing systems
US6769071B1 (en) * 2001-01-23 2004-07-27 Adaptec, Inc. Method and apparatus for intelligent failover in a multi-path system
US6732104B1 (en) * 2001-06-06 2004-05-04 Lsi Logic Corporatioin Uniform routing of storage access requests through redundant array controllers
JP2003122508A (ja) * 2001-10-15 2003-04-25 Hitachi Ltd ボリューム管理方法及び装置
US20030223428A1 (en) * 2002-05-28 2003-12-04 Blanquer Gonzalez Jose Maria Method and apparatus for scheduling aggregated resources
US6895472B2 (en) * 2002-06-21 2005-05-17 Jp Morgan & Chase System and method for caching results
US7058545B2 (en) * 2002-09-16 2006-06-06 Hewlett-Packard Development Company, L.P. Software application domain and storage domain characterization process and method
JP4560367B2 (ja) * 2004-10-05 2010-10-13 株式会社日立製作所 ストレージネットワーク性能情報の収集・保存方法及び計算機システム並びにプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000032048A (ja) * 1998-07-14 2000-01-28 Fujitsu Ltd ネットワーク装置
JP2002318791A (ja) * 2001-01-29 2002-10-31 Internatl Business Mach Corp <Ibm> ホスティング・サービス資源をクライアントに割当てる方法、装置及びコンピュータ・プログラム製品
JP2003099385A (ja) * 2001-06-28 2003-04-04 Intersan Inc ストレージエリアネットワークへのアプリケーションデータ経路の自動生成
JP2004030363A (ja) * 2002-06-27 2004-01-29 Hitachi Ltd 論理計算機システム、論理計算機システムの構成制御方法および論理計算機システムの構成制御プログラム
JP2005038071A (ja) * 2003-07-17 2005-02-10 Hitachi Ltd ストレージの容量を最適化する管理方法
JP2005149283A (ja) * 2003-11-18 2005-06-09 Hitachi Ltd 情報処理システム、情報処理システムの制御方法及びプログラム

Also Published As

Publication number Publication date
US7509443B2 (en) 2009-03-24
JP2007058727A (ja) 2007-03-08
US20070061446A1 (en) 2007-03-15

Similar Documents

Publication Publication Date Title
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US10467105B2 (en) Chained replication techniques for large-scale data streams
US10552287B2 (en) Performance metrics for diagnosing causes of poor performing virtual machines
US10534793B2 (en) Cloning catalog objects
US10585881B2 (en) Adaptively routing transactions to servers
AU2014346366B2 (en) Partition-based data stream processing framework
Bakshi Considerations for big data: Architecture and approach
EP3069495B1 (en) Client-configurable security options for data streams
US8380947B2 (en) Storage application performance matching
US20170357703A1 (en) Dynamic partitioning techniques for data streams
US8209482B2 (en) Method for analyzing performance information
US20180189367A1 (en) Data stream ingestion and persistence techniques
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
EP3069274B1 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US20160170655A1 (en) Method and apparatus to manage object based tier
US20150067256A1 (en) Storage system
US8706963B2 (en) Storage managing system, computer system, and storage managing method
JP6507167B2 (ja) 分散ストレージシステム上でデータを分散させること
US8683162B2 (en) Computer system and method of managing storage system monitoring access performance for risky pool detection
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
US7363454B2 (en) Storage pool space allocation across multiple locations
US7127456B1 (en) System and method for logging database queries
US7415490B2 (en) Data storage system
JP4367406B2 (ja) コンピュータ割り当て方法
US9400664B2 (en) Method and apparatus for offloading storage workload

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140218

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees