説明

SAN管理方法およびSAN管理システム

【課題】データ転送負荷の影響を極力受けないように、アプリケーションを移行すべきホストを決定することができるSAN管理方法を提供する。
【解決手段】管理サーバ100は、ホストAで稼動するアプリケーションA120aを、他のホストに移行する際、データ負荷換算処理S201により、ホストBに移行した場合またはホストCに移行した場合のSAN上のデータ転送負荷を予測し、SAN上の各リソースにおけるボトルネック解析処理S202を行う。さらに、管理サーバ100は、ボトルネック解析処理S202の結果に基づいて、ボトルネックが発生しないホストに移行先を決定するアプリケーションAの移行先ホスト決定処理S203を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SAN(Storage Area Networkの略、以下、SANという。)管理方法およびSAN管理システムに関わり、特に、クラスタシステムによりアプリケーションの移行を行う際のSAN管理方法およびSAN管理システムに関する。
【背景技術】
【0002】
近年、高可用性を要する業務アプリケーションに対してクラスタシステムを用いたシステムを構築することが一般的となっている。高可用性とは、ユーザが期待しているサービスを受けることが出来ることを意味する。例えば、システムが動いていたとしても、負荷が高くユーザに満足な応答時間でサービスを提供できなければ、ユーザにとっては故障しているとみなされる。特に、サーバ障害によりサーバで動作していたアプリケーションを他のサーバへ移行する(フェイルオーバする)際に、アプリケーションの性能保証は、ビジネスクリティカルなアプリケーションでは特に重要である。
【0003】
特許文献1には、平常時にテストプログラムを用いて各ホストにおける性能情報を取得し、フェイルオーバ後の負荷変化が少なくなるような移行先ホストを選択可能としていることが記載されている。
【0004】
特許文献2には、フェイルオーバ先のリソースの稼動状況に応じてフェイルオーバするアプリケーションの停止も含めた優先度の変更を行うことにより、フェイルオーバ後における性能確保を可能としていることが記載されている。
【0005】
また、企業内で必要とされるストレージ容量が加速度的に増加し、SANの導入とその大規模化が進んでいる。さらに、データ転送経路の負荷分散および冗長化のために、マルチパス管理ソフトを利用し、単一のホストと、ストレージサブシステムの各ボリュームの間で、複数のデータパス(HBA(Host Bus Adapter)、CHA(Channel Adapter)を通る論理経路)を設定して利用する場合も多い。
【0006】
特許文献3には、複数のデータパスで冗長化を行っている環境においてパスの障害が発生した場合に、全てのデータパスの障害検知前に予防的にフェイルオーバを行うことで、フェイルオーバの切替時間を短縮可能としていることが記載されている。
【特許文献1】特開2005−234917号公報(段落0013、図3)
【特許文献2】特開平11−353292号公報(段落0009〜0020、図2)
【特許文献3】特開2005−149281号公報(段落0099、図2)
【発明の開示】
【発明が解決しようとする課題】
【0007】
全てのSAN上の通信に関わるリソースを各ホスト、アプリケーションから排他的に利用させるのは経済的、および構成管理の煩雑さから難しい。特にSAN環境の大規模・複雑化にともない、クラスタシステム間で使用するSANリソースが非対称な場合や複雑にリソースを共有する場合が増えている。このため、あるアプリケーションの性能はSAN内部のリソースに対する他のアプリケーションのデータ転送負荷からの影響を受ける可能性がある。このことから、アプリケーションを他のホストに移行した場合のSAN内のリソース使用負荷を予測することは困難であった。
【0008】
また、SANでは、前記の理由から移行先ホストのアプリケーションを停止しても、その他のホストのアプリケーションがSAN上の競合するリソースを使用しデータ転送の性能保証ができない場合があった。
【0009】
さらに、データ転送量はSANのみに影響されるものではなく、ホスト上のCPU使用率などにも依存する。このような状況では、フェイルオーバ後の性能保証を行うことも難しかった。
【0010】
本発明は、上記の課題を解決するための発明であって、データ転送負荷の影響を極力受けないように、アプリケーションを移行すべきホストを決定することができるSAN管理方法およびSAN管理システムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、アプリケーションを他のホストに移行する際に、SAN内のデータ転送負荷を予測するために、管理サーバ上にボリュームに対するアプリケーションの負荷割合の情報と、経路毎のデータ転送負荷情報を保持する。移行元アプリケーションに対して、現在のデータ転送負荷をボリューム毎に合計し、任意のホストから同一ボリュームへ接続する経路に対して、合計したデータ転送負荷を均等に分配する。分配後のデータ転送負荷をリソース毎に合計することで、当該ホストにアプリケーションを移行した場合の各リソースのデータ転送負荷を予測する。
【0012】
さらに、データ転送負荷の換算による予測に基づきボトルネックの解析を行う。このために、管理サーバ上にSAN経路上のリソース毎の性能上限値と、アプリケーションの優先度を保持する。データ転送負荷の換算により予測した各リソースのデータ転送負荷が性能上限値を超える場合に、低優先度のアプリケーションを任意に選択し、その分のデータ転送負荷を経路の負荷情報から削除し、アプリケーションを停止した場合の性能負荷を予測する。その上で、データ転送負荷の換算による予測を再度行ない、ボトルネックが発生しない移行先ホストが見つかるまで低優先度のアプリケーションの停止、データ転送負荷の予測とボトルネックの解析を続ける。
【0013】
また、性能予測が困難な場合、もしくはアプリケーションの切替時間を最小としたい場合には、アプリケーションの優先度に基づき、停止可能な全てのアプリケーションを停止する。このとき、停止完了のレスポンスを最も早く返してきたホストに移行することで移行元アプリケーションの切替時間を最小にする。停止したアプリケーションは本発明の方式に基づいて、ホストを移行し停止したアプリケーションを起動する。
【発明の効果】
【0014】
本発明によれば、SAN環境においてアプリケーションを現在稼動中のホストと異なるホストに移行する際に、データ転送負荷の影響を極力受けないように、アプリケーションの移行すべきホストを決定することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施の形態について図面を参照して説明する。
《第1の実施の形態》
図1は、本発明の全体構成を示すブロック図である。図1に示すように、SAN管理システムは、管理サーバ100、ホストA110a、ホストB110b、ホストC110c、およびFC(Fibre Channel)ネットワーク140を介して接続されたストレージ130を含む。ホストA110aは、HBAポート113aおよび113bを介してFCネットワーク140に接続される。ホストB110bは、HBAポート113cを介してFCネットワーク140に接続される。ホストC110cは、HBAポート113dおよび113eを介してFCネットワーク140に接続される。
【0016】
ストレージ130は、CHAポート131a〜131dを介してFCネットワーク140に接続されている。管理サーバ100とホスト110a〜110cは、LAN141により接続される。ストレージ130には、論理的なボリューム132a〜132dがあり、FCネットワーク140を介してアクセスされる。図1では、3台のホスト110a〜110cと1台のストレージ130の場合を示しているが、4台以上のホストおよび2台以上のストレージであってもよい。
【0017】
ホストA110aには、ストレージ130を利用するアプリケーション・プログラム(App.A)120a(以下、アプリケーション・プログラムを単にアプリケーションという。)、アプリケーションB(App.B)120b、アプリケーションC(App.C)120c、アプリケーションD(App.D)120d、パス管理プログラム112a、およびクラスタ管理プログラム111aを含む。パス管理プログラム112aは、パスの構成情報、およびホストA110aが発行するI/Oリクエスト、データ転送量などを取得し、管理サーバ100に渡すことができる。クラスタ管理プログラム111aは、当該ホスト上で実行されるアプリケーションA〜アプリケーションD(120a〜120d)の状態を監視し、監視中のアプリケーションが停止した時には、異なるホスト上で実行しているクラスタ管理プログラムと連携する。クラスタ管理プログラム111aは、アプリケーションA〜アプリケーションD(120a〜120d)の起動および停止を行い、アプリケーションを他のホストに移行させる。図1では、ホストA110a上では、現在、アプリケーションA120aおよびアプリケーションB120bが稼動状態であり、アプリケーションC120cおよびアプリケーションD120dが停止状態にある。
【0018】
ホストB110bには、ストレージ130を利用するアプリケーションA120a、アプリケーションB120b、アプリケーションC120c、アプリケーションD120d、パス管理プログラム112b、およびクラスタ管理プログラム111bを含む。パス管理プログラム112bは、パスの構成情報、およびホストB110bが発行するI/Oリクエスト、データ転送量などを取得し、管理サーバ100に渡すことができる。クラスタ管理プログラム111bは、当該ホスト上で実行されるアプリケーションA〜アプリケーションD(120a〜120d)の状態を監視し、監視中のアプリケーションが停止した時には、異なるホスト上で実行しているクラスタ管理プログラムと連携する。クラスタ管理プログラム111bは、アプリケーションA〜アプリケーションD(120a〜120d)の起動および停止を行い、アプリケーションを他のホストに移行させる。図1では、ホストB110b上では、現在、アプリケーションC120cが稼動状態であり、アプリケーションA120a、アプリケーションB120b、およびアプリケーションD120dが停止状態にある。
【0019】
ホストC110cには、ストレージ130を利用するアプリケーションA120a、アプリケーションB120b、アプリケーションC120c、アプリケーションD120d、パス管理プログラム112c、およびクラスタ管理プログラム111cを含む。パス管理プログラム112cは、パスの構成情報、およびホストC110cが発行するI/Oリクエスト、データ転送量などを取得し、管理サーバ100に渡すことができる。クラスタ管理プログラム111cは、当該ホスト上で実行されるアプリケーションA〜アプリケーションD(120a〜120d)の状態を監視し、監視中のアプリケーションが停止した時には、異なるホスト上で実行しているクラスタ管理プログラムと連携する。クラスタ管理プログラム111cは、アプリケーションA〜アプリケーションD(120a〜120d)の起動および停止を行い、アプリケーションを他のホストに移行させる。図1では、ホストC110c上では、現在、アプリケーションD120dが稼動状態であり、アプリケーションA120a、アプリケーションB120b、およびアプリケーションC120cが停止状態にある。管理サーバ100の構成については、図3で説明する。
【0020】
図2は、本発明の骨子を示す概念図である。図2では図示していないが、ホストA110aには、クラスタ管理プログラム111aと、パス管理プログラム112aとを有している。ホストB110bには、クラスタ管理プログラム111bと、パス管理プログラム112bとを有している。ホストC110cには、クラスタ管理プログラム111cと、パス管理プログラム112cとを有している。
【0021】
可用性を高めるために、各ホスト110a〜110cからストレージ130への論理経路は、複数のポートを利用することで冗長化される。本実施の形態では、ホストA110aからストレージ130への接続の場合、HBAポート113aおよび113b、CHAポート131aおよび131bが使われる。ホスト上のパス管理プログラムは冗長化された経路を、HBAポートおよびCHAポートの組合せによる論理経路として認識する。本実施の形態のホストA110aの場合、4つの論理経路が存在する。概念図では、発明のポイントを明快にするために論理経路を用いて説明している。
【0022】
同様に、本実施の形態では、ホストC110cからストレージ130への接続の場合、HBAポート113dおよび113e、CHAポート131cおよび131dが使われる。ホストC110cの場合、4つの論理経路が存在する。
【0023】
各ホストの構成は同一とは限らず、論理経路も異なる場合がある。本実施の形態の場合、ホストB110bは、1つのHBAポート113cと3つのCHAポート131b、131c、および131dの組合せによる3つの論理経路を持つ。
【0024】
パス管理プログラム112a〜112d(図1参照)は、ストレージ130の各ボリューム132a〜132dに対応するデバイス220a〜220dを当該ホスト上に構築する。デバイスは、アプリケーションがI/Oリクエストを発行するインタフェースとも言えるもので、論理経路が冗長化されていてもボリュームに対して1つになる。本実施の形態では、アプリケーションA(App.A)120aは、デバイス220aおよびデバイス220bを使用して、ボリューム132aおよびボリューム132bにアクセスする。アプリケーションB(App.B)120bは、デバイス220bを使用して、ボリューム132bにアクセスする。アプリケーションC(App.C)120cは、デバイス220cを使用して、ボリューム132cにアクセスする。アプリケーションD(App.D)120dは、デバイス220dを使用して、ボリューム132dにアクセスする。
【0025】
平常運用時において、管理サーバ100は、パス情報集約処理S200を行う。本実施の形態では、各ホスト上のパス管理プログラム(パス管理ソフト)から論理パス毎のデータ転送負荷を集約するものとする。なお、パス情報集約処理S200は、図9に詳細なステップを示す。
【0026】
ここで、アプリケーションA120aをホストB110bまたはホストC110cに移行する場合を考える。移行の契機は、例えば、ホストA110aの制御部(図示していない)が、クラスタ管理プログラム111aに基づいて、アプリケーションA120aの障害を検知した場合である。但し、本発明は、移行の契機をクラスタ管理プログラム(クラスタ管理ソフト)111aに限定するものではない。例えば、ホストA110aの制御部が、パス管理プログラム(パス管理ソフト)112aに基づいて、冗長化されたパスの一部に障害を検知した場合に早めに移行を決定してもよい。また、ユーザが、事前評価のために特定のアプリケーションを指定してもよい。アプリケーションA120aが選択された場合、管理サーバ100では、アプリケーションA120aによって発生していたデータ転送負荷について、移行先の候補ホストであるホストB110b、ホストC110cのパスへのデータ負荷換算処理S201を行う。これにより、アプリケーションA120aの移行元データ転送負荷210をホストB110bに移行時またはホストC110cに移行時の換算後データ転送負荷211および212を予測する。データ負荷換算処理S201の詳細なステップは、図11に示す。
【0027】
次に、管理サーバ100は、データ負荷換算処理S201による予測に基づいて、SAN上の各リソースにおけるボトルネック解析処理S202を行う。SAN上の各リソースとはCHAポート131a〜131d、HBAポート113a〜113eがある。ボトルネック解析処理S202の詳細なステップは、図13に示す。
【0028】
最後に、管理サーバ100では、ボトルネック解析処理S202の結果に基づいて、アプリケーションA120aの移行先ホスト決定処理S203を行い、ボトルネックが発生しないホストに移行先を決定する。決定した移行先をホストA110aに通知することで、アプリケーションA120aの移行を行う。ユーザによる事前評価の場合は、移行先ホストとその他の評価内容とともに結果レポートとして出力する。移行先ホスト決定処理S203の詳細なステップは、図10に示す。
【0029】
図3は、管理サーバの構成を示すブロック図である。管理サーバ100は、表示装置301、入力装置302、中央演算処理装置(CPU)303、通信制御装置304、外部記憶装置305、メモリ306、およびこれらを接続するバス307から構成される。表示装置301は、ディスプレイなどであり、管理サーバ100による処理の実行状況や実行結果などを表示する。入力装置302は、キーボードやマウスなどのコンピュータに指示を入力するための装置であり、プログラム起動などの指示を入力する。中央演算処理装置(CPU)303は、メモリ306に格納される各種プログラムを実行する。通信制御装置304は、LAN141を介して、他の装置と各種データやコマンドを交換する。外部記憶装置305は、管理サーバ100が処理を実行するための各種データを保存する。メモリ306は、管理サーバ100が処理を実行する各種プログラムおよび一時的なデータを保持する。
【0030】
外部記憶装置305には、経路別負荷テーブル320、ボリューム利用比率テーブル321、換算レートテーブル322、性能上限値テーブル323、アプリケーション優先度テーブル324が格納される。
【0031】
メモリ306には、パス情報集約プログラム310、移行先ホスト決定プログラム311、データ負荷換算プログラム312、ボトルネック解析プログラム313が格納される。
【0032】
パス情報集約プログラム310は、パス情報集約処理S200を実行するプログラムであり、通信制御装置304を介して取得した各ホストの性能情報を集約し、経路別負荷テーブル320に格納する。
【0033】
データ負荷換算プログラム312は、経路別負荷テーブル320、ボリューム利用比率テーブル321、換算レートテーブル322を用いて、データ負荷換算処理S201を行う。
【0034】
ボトルネック解析プログラム313は、換算した結果と性能上限値テーブル323を用いてボトルネック解析処理S202を行う。
【0035】
移行先ホスト決定プログラム311は、データ負荷換算プログラム312を実行して負荷換算を行ない、換算結果を入力としてボトルネック解析プログラム313を実行する。ボトルネックの解析結果とアプリケーション優先度テーブル324に基づいて、移行先ホスト決定処理S203を行う。
【0036】
図4は、経路別負荷テーブルの一例を示す説明図である。図4に示す経路別負荷テーブル320には、経路情報として、HBA401、CHA402、ボリューム403の組を持ち、その論理経路毎にデータ転送量404を格納する。HBA401は、HBAポートを識別する情報であり、そのHBAポートのWWN(World Wide Name)若しくはホスト名とポート番号の組などである。CHA402は、CHAポートを識別する情報であり、そのCHAポートのWWNやストレージ名とポート番号の組などである。ボリューム403は、ボリュームの識別子であり、ストレージ名とボリューム番号の組であらわす。本実施の形態では、これらを図1、図2で用いた番号で表す。
【0037】
図4に示すように、データ転送負荷の値としては、秒間のデータ転送量を用いた。データ転送負荷としては、I/Oリクエストの発行回数などでもよい。また、記録されているデータは、平常運用時の稼動実績を平均したデータとなる。本実施の形態では、各ホスト110a〜110cのパス管理プログラム112a〜112cで、短期的な平均値を計算しているものとする。一方、管理サーバ100に時系列毎の性能情報を蓄積し、中長期的な平均値を計算してこれを用いることもできる。本発明では、データ負荷情報の種別および負荷情報における平均値の取り方については問わない。
【0038】
具体例として、ボリューム132aに対する経路別負荷を410に示す。当該経路は4つであり、経路毎に80MB/sのデータ転送量である。また、本テーブルには実際にアクセスしていないボリュームに対する情報も含まれる。411は、ホストA110aからボリューム132bに対する経路であり、当該経路は4つであり、経路毎にデータ転送量は100MB/sである。412は、ホストA110aからボリューム132cに対する経路であり、この場合のデータ転送量は0MB/sである。413は、ホストB110bからボリューム132cに対する経路であり、当該経路は3つであり、経路毎にデータ転送量は80MB/sである。414は、ホストC110cからボリューム132dに対する経路であり、当該経路は4つであり、経路毎にデータ転送量は120MB/sである。なお、アクセスしていないボリュームへのデータは仮想的な値として入力してもよい。しかし、アプリケーションに障害発生時に、他のホストに移行させるような状況では、フェイルオーバに要する時間は短くすべきである。このためにSANに対するセキュリティ設定や各ホスト上でデバイスを認識させることは平常時に行い、論理経路は設定済みとすべきである。論理経路が設定済みであれば、各ホストのパス管理ソフトは通常の論理経路と同様にデータ転送量0MB/sの経路として認識し、管理サーバに情報を送ることができる。
【0039】
本具体例では、データ転送量0MB/sのデータを一部省略するが、4つのボリューム132a〜132dについて計11本の論理経路が存在するため、実際の行数は44行となる。
【0040】
図5は、ボリューム利用比率テーブルの一例を示す説明図である。ボリューム利用比率テーブル321には、ボリューム501のデータ転送負荷に対するアプリケーション502毎の使用割合503が示されている。本実施の形態の場合、ボリューム132bに対するデータ転送負荷を表す2行(510)のうちアプリケーションA(App.A)120aが0.2、アプリケーションB(App.B)120bが0.8の割合で使用している。ファイルシステムを介してアクセスしているような場合にはこのようなケースが発生する。一方、ボリューム132a、132c、および132dは、使用するアプリケーションが限定されている。この場合はアプリケーションの使用割合が1.0となる。
【0041】
図6は、換算レートテーブルの一例を示す説明図である。換算レートテーブル322には、ホスト601に対するデータ転送負荷の換算レート602が設定される。ホスト601には、ホストA(Host.A)110a、ホストB(Host.B)110b、およびホストC(Host.C)110cがある。同一のアプリケーションを実行した場合でも高性能なホスト上ではより多くの処理を行ない、結果としてより多くのI/Oリクエストを行う場合がある。本換算レート602は、前記のような状況を換算による予測値に取り込むためのものである。例えば、ホストA(Host.A)110aのレートが1.2であるのに対し、ホストC(Host.C)110cのレートは1.5である。これは、ホストA110aのアプリケーションをホストC110cで実行した場合、1.5/1.2=1.25倍の性能負荷に換算することを表す。
【0042】
図7は、性能上限値テーブルの一例を示す説明図である。性能上限値テーブル323には、リソース701毎にデータ転送負荷の上限値(上限転送量)702を保持する。本実施の形態では、リソースとしてHBAポート113a〜113eおよびCHAポート131a〜131dを考慮する。例えば、113cが許容できる上限のデータ転送量は400MB/sである。
【0043】
図8は、アプリケーション優先度テーブルの一例を示す説明図である。アプリケーション優先度テーブル324には、アプリケーション801に対する優先順位802と停止可否803を保持する。例えば、アプリケーションA(App.A)120aは、優先順位1であり、最優先のアプリケーションであり、停止不可のアプリケーションである。アプリケーションB(App.B)120bは、優先順位10であり、停止可のアプリケーションである。
【0044】
次に動作について、図1〜図3を参照しつつ、主に図9、図10、図11、および図13に沿って説明する。
【0045】
図9は、パス情報集約処理の処理過程を示すフローチャートである。図9には、図2に示すパス情報集約処理S200のフローチャートが示されている。パス情報集約処理S200は、パス情報集約プログラム310に基づき、各ホスト110a〜110c上のパス管理プログラム(パス管理ソフト)112a〜112cにより、論理パス毎のデータ転送負荷を集約するものである。中央演算処理装置(CPU)303は、一定時間毎にパス情報集約を繰り返す(ステップS901)。一定時間毎にパス情報集約を繰り返すことにより、最新のパス情報を得ることができる。中央演算処理装置303は、管理サーバ100が管理する全てのホスト110a〜110cに対してパス情報集約を繰り返す(ステップS902)。パス情報集約プログラム310に基づいて、中央演算処理装置303は、各ホスト上のパス管理プログラム112a〜112cに対して通信を行ない、経路毎のデータ転送量を取得し(ステップS903)、収集したデータ転送負荷を、図4に示される経路別負荷テーブル320に格納する(ステップS904)。
【0046】
図10は、第1の実施の形態における移行先ホスト決定処理の処理過程を示すフローチャートである。図10には、図2に示す移行先ホスト決定処理S203のフローチャートが示されている。移行先ホスト決定処理S203は、移行先ホスト決定プログラム311に基づき、データ負荷換算プログラム312およびボトルネック解析プログラム313を実行する。具体例と共に各ステップを説明する。
【0047】
中央演算処理装置(CPU)303は、クラスタ管理プログラム111a〜111cから障害が発生したアプリケーションについて通知を受け取る。本通知により、移行すべきアプリケーションが選択される。本例では、アプリケーションA(App.A)120aに障害が発生し、クラスタ管理プログラム111aによって通知されたものとする(ステップS1001)。中央演算処理装置303は、全ての移行先の候補ホストについて、以降のステップS201、S202を行う。本実施の形態の場合、候補ホストはホストB110bおよびホストC110cである(ステップS1002)。
【0048】
中央演算処理装置303は、データ負荷換算プログラム312に基づき、データ負荷換算を行う。入力は、障害が発生したアプリケーションと移行先候補のホストであり、出力は、候補ホストに対する換算後のデータ転送負荷である(ステップS201)。中央演算処理装置303は、ボトルネック解析プログラム313に基づき、通信経路のボトルネック解析を行う。入力は、データ負荷換算プログラム312により出力した換算後のデータ転送負荷、出力は、ボトルネックの有無である(ステップS202)。ステップS201、ステップS202において、ホストB110bに移行した場合の換算後データ負荷とボトルネック解析経過をそれぞれ図12、図14に示す。
【0049】
図12は、ホストBに移行した場合の換算後データ負荷情報を示す説明図である。図12に示すデータ負荷情報1200には、図4と同様に、経路情報として、HBA1201、CHA1202、ボリューム1203の組を持ち、その論理経路毎にデータ転送量1204を格納する。
【0050】
図14は、ホストBに移行した場合のボトルネック解析経過を示す説明図である。ボトルネック解析経過1400には、リソース1401毎にデータ転送負荷の上限I/O量1402、および予測I/O量1403を保持する。
【0051】
また、ホストC110cに移行した場合の換算後データ負荷とボトルネック解析経過をそれぞれ図15、図16に示す。
【0052】
図15は、ホストCに移行した場合の換算後データ負荷情報を示す説明図である。図15に示すデータ負荷情報1500には、図4と同様に、経路情報として、HBA1501、CHA1502、ボリューム1503の組を持ち、その論理経路毎にデータ転送量1504を格納する。
【0053】
図16は、ホストCに移行した場合のボトルネック解析経過を示す説明図である。ボトルネック解析経過1600には、リソース1601毎にデータ転送負荷の上限I/O量1602、および予測I/O量1603を保持する。
【0054】
中央演算処理装置303は、ボトルネックの発生有無を確認する(ステップS1003)。もし、全ての移行先の候補ホストについてボトルネックが発生する場合、ステップS1004に進む。本具体例の場合、ホストB110bに移行すると図14に示すようにHBAポート113cにボトルネックが発生する。すなわち、HBAポート113cにおいて、予測I/O量1413は、540MB/sであり、上限I/O量400MB/sを超える。また、ホストC110cに移行すると図16に示すようにCHAポート131cおよび131dにボトルネックが発生する。すなわち、CHAポート131cおよび131dにおいて、予測I/O量1611および1612は、570MB/sであり、上限I/O量500MB/sを超える。ステップS1003でボトルネックの発生しない候補ホストがある場合、ステップS1006に進む。
【0055】
ステップS1004において、中央演算処理装置303は、アプリケーション優先度テーブル324(図8参照)から障害発生アプリケーションよりも優先度が低く、かつ、停止可能なアプリケーションを取得する。本具体例の場合、アプリケーションA(App.A)より優先度の低く、かつ、停止可能なアプリケーションは、アプリケーションB(App.B)、アプリケーションC(App.C)、およびアプリケーションD(App.D)である。このうち、より優先度の低いアプリケーションC(App.C)を選択する。なお、条件を満たすアプリケーション全てについてデータ負荷換算を行ない、換算後にSAN上のリソースに対するデータ転送負荷の偏りが最も少ないアプリケーションを停止予定アプリケーションとして選択してもよい。
【0056】
ステップS1005において、中央演算処理装置303は、停止予定アプリケーションのデータ転送負荷を経路別負荷テーブル320から減算し、アプリケーション停止後のデータ負荷を予測する。このデータ負荷に基づいて、再度データ負荷の換算とボトルネック解析を行う(ステップS1002、ステップS201、およびステップS202)。本具体例では、アプリケーションC(App.C)のデータ負荷を減算する。
【0057】
アプリケーションC(App.C)を停止した場合において、ホストBに移行した場合のボトルネック解析経過を図17に示す。アプリケーションC(App.C)を停止する前のホストBに移行した場合のボトルネック解析経過である図14に比べて、HBAポート113cのボトルネックが解消されている。すなわち、HBAポート113cの予測I/O量1711は、300MB/sであり、上限I/O量400MB/s以内となっている。アプリケーションC(App.C)を停止した場合において、ホストCに移行した場合のボトルネック解析経過を図18に示す。アプリケーションC(App.C)を停止する前のホストCに移行した場合のボトルネック解析経過である図16に比べて、CHAポート131c、131dのボトルネックが解消されている。すなわち、CHAポート131cおよび131dにおいて、予測I/O量1811および1812は、490MB/sであり、上限I/O量500MB/s以内となっている。ステップS1003において、全ての候補ホストでボトルネックが発生しない場合、ステップS1006に進む。
【0058】
ステップS1006において、中央演算処理装置303は、停止予定アプリケーションが存在した場合に、停止予定アプリケーションが稼動中の該当ホストに停止の通知をし、実際に停止を行う。停止予定アプリケーションとは、ステップS1004にて選択したアプリケーションである。該当ホストの制御部は、クラスタ管理プログラムに基づき、当該アプリケーションの停止を行う。本具体例では、ホストBに対して、アプリケーションC(App.C)が停止として通知される。なお、実際の停止をステップS1005で行わない理由は、停止可能なアプリケーションを全て停止しても、ボトルネックが解消しない場合が考えられるからである。
【0059】
ステップS1007において、中央演算処理装置303は、ボトルネックが発生しない候補ホストの中から移行先ホストを決定し、移行先ホストの制御部に通知する。条件を満たすホストが複数ある場合には、例えば各リソースにかかるデータ負荷の偏りが最も少ないホストを移行先とする。本具体例の場合、アプリケーションC(App.C)の停止後にホストBに移行した場合を図17に、アプリケーションC(App.C)の停止後にホストCに移行した場合を図18に示す。どちらの場合もボトルネックは発生しない。この場合、各リソースにかかるデータ負荷の標準偏差は、ホストBに移行した場合69であり、ホストCに移行した場合186である。よって偏りの少ないホストBを移行先として決定する。
【0060】
なお、例えば、移行後の性能が最も高くなるように、例えばデータ転送量の平均が大きいものを選んでもよい。本具体例の場合、ホストBに移行すると244MB/s、ホストCに移行すると289MB/sであり、ホストCを移行先として選択する。いずれの場合も、移行先として決定したホストの制御部に通知し、アプリケーションの移行を行う。
【0061】
図11は、データ負荷換算処理の処理過程を示すフローチャートである。図11には、図2に示すデータ負荷換算処理S201のフローチャートが示されている。データ負荷換算処理S201は、データ負荷換算プログラム312に基づき、アプリケーションを移行する際に移行元ホストで選択された移行元アプリケーションのSANにおけるデータ転送負荷を移行先の候補ホストでの移行元アプリケーションに対するデータ転送負荷に換算する。移行先ホスト決定プログラム311から、移行するアプリケーションと移行先の候補ホストを入力として呼び出される。以下では、具体例として、アプリケーションA(App.A)120aをホストB110bに移行する場合について示す。
【0062】
中央演算処理装置(CPU)303は、ボリューム利用比率テーブル321から入力アプリケーションに対応するボリュームの情報を取得する。本具体例では、入力アプリケーションがアプリケーションA(App.A)であり、対応するボリュームがボリューム132aおよび132bである(ステップS1101)。中央演算処理装置303は、経路別負荷テーブル320(図4参照)から、ステップS1101で特定したボリュームに対応する行を抽出する。本具体例の場合、410および411の行を抽出する(ステップS1102)。中央演算処理装置303は、抽出したデータ転送量をボリューム毎に合計する。本具体例では、ボリューム132aに対応するデータ転送量が320MB/s、132bに対応するデータ転送量が400MB/sである(ステップS1103)。
【0063】
中央演算処理装置303は、ステップS1103で算出した値にボリューム利用比率テーブル321(図5参照)の利用比率(使用割合)を乗算し、入力アプリケーションによるボリューム毎のデータ転送量を計算する。ボリューム132aに対応するデータ転送量は1.0をかけて320MB/s、ボリューム132bに対応するデータ転送量は0.2をかけて80MB/sである(ステップS1104)。中央演算処理装置303は、換算レートテーブル322(図6参照)から候補ホストに対するレートを取得し、ステップS1104で求めた値に乗算する。本具体例では、0.9/1.2=0.75である。よって、ボリューム132aに対応するデータ転送量は320×0.75=240、ボリューム132bに対応するデータ転送量は80×0.75=60に換算される(ステップS1105)。中央演算処理装置303は、候補ホストから移行するアプリケーションが利用するボリュームまでの経路を選択する。本具体例では、図12に示した1211および1212が相当する。なお、この時点では、1211、および1212のデータ転送量は0である(ステップS1106)。
【0064】
中央演算処理装置303は、ステップS1105で求めた値をステップS1106で選択したパスに均等に分配して加算する。本具体例では、ボリューム132aに対する経路1211に、ステップS1106で求めたデータ転送量240MB/sを加える。経路1211は3経路なので、ボリューム132aに対する各経路のデータ転送量は80MB/sに分配する。同様にボリューム132bに対応して、経路1212に20MB/sずつ分配する(ステップS1107)。中央演算処理装置303は、出力として換算後のデータ転送負荷を出力する。ホストB移行時の換算データ負荷情報1200(図12参照)は、換算後のデータ負荷情報である。但し、データ転送量が0MB/sの行は省略している(ステップS1108)。
【0065】
図13は、ボトルネック解析処理の処理過程を示すフローチャートである。図13には、図2に示すボトルネック解析処理S202のフローチャートが示されている。ボトルネック解析処理S202は、ボトルネック解析プログラム313に基づき、データ負荷換算後のデータ転送負荷に基づいて通信経路のボトルネックの解析を行う。移行先ホスト決定プログラム311から、換算後のデータ転送負荷を入力として呼び出される。具体例では、前記換算後のデータ負荷情報1200を入力として示す。
【0066】
中央演算処理装置(CPU)303は、以降のステップをSAN上の各リソースに対して繰り返す。本実施例では、HBAポート113a〜113eおよびCHAポート131a〜131dである(ステップS1301)。中央演算処理装置303は、換算後のデータ転送負荷を当該リソースについて集約する。本具体例では、HBAポート113aについて集約した値は160MB/sとなる。ステップS1301の全てのリソースについて集約した結果を図14のホストB移行時のボトルネック解析経過1400に示す。各リソース1401に対応する集約値は、予測I/O量1403である(ステップS1302)。中央演算処理装置303は、性能上限値テーブル323から当該リソースと対応する上限値(上限I/O量)を取得する。具体例では、HBAポート113aに対応する上限のデータ転送量は500MB/sである。図14では、分かりやすさのために性能上限値テーブル323から取得した上限値(上限I/O量)1402を合わせて示す(ステップS1303)。中央演算処理装置303は、集約後のデータ転送負荷がリソースの上限負荷を超えるかどうかを確認する。上限を超える場合にはステップS1305に移る。本具体例では、リソースのHBAポート113cの集約値(予測I/O量)1413が上限値である400MB/sを超える(ステップS1304)。中央演算処理装置303は、出力としてボトルネックの発生有無を呼び出し元プログラムに伝える(ステップS1305)。以上、アプリケーションA(App.A)をホストBに移行する場合について説明した。
【0067】
一方、アプリケーションA(App.A)をホストCに移行する場合は以下のようになる。まず、データ負荷換算プログラム312による換算は以下のようになる。ステップS1106では、1.5/1.2=1.25となる。よって、ボリューム132aに対応する転送量は320×1.25=400MB/s、ボリューム132bに対応する転送量は80×1.25=100MB/sである。ステップS1107では、図15に示した1511および1512が相当する。ステップS1108では、換算後の経路は4つなので、ボリューム132aに対する各経路のデータ転送量は100MB/sとなる。同様にボリューム132bに対応して、1512の各経路のデータ転送量は25MB/sとなる。ステップS1108で出力される換算後のデータ転送負荷を、ホストC移行時の換算後データ負荷情報1500(図15参照)に示す。
【0068】
次に、図16に示すように、ホストC移行時のボトルネック解析経過1600には、CHAポート131cおよび131dに対する集約結果1611および1612が共に570MB/sとなり、ボトルネックが発生する。
【0069】
図17は、アプリケーションCを停止し、かつ、ホストBに移行した場合のボトルネック解析経過を示す説明図である。ボトルネック解析経過1700には、リソース1701毎にデータ転送負荷の上限I/O量1702、および予測I/O量1703を保持する。中央演算処理装置303(図3参照)は、ステップS1004(図10参照)において、アプリケーション優先度テーブル324から低優先度で停止可能なアプリケーションを取得し、ステップS1005(図10参照)において、停止予定アプリケーションのデータ負荷をデータ負荷から減算している。アプリケーションC(App.C)を停止すると、図12の1210に示す経路に対するデータ転送量が0となる。ステップS202におけるボトルネック解析の結果、HBAポート113cに対する集約結果である予測I/O値1711は、300MB/sであり、上限I/O値400MB/sを超えていない。また、その他のリソースにおいても、予測I/O値は、上限I/O値以内でありボトルネックは発生しない。
【0070】
図18は、アプリケーションCを停止し、かつ、ホストCに移行した場合のボトルネック解析経過を示す説明図である。ボトルネック解析経過1800には、リソース1801毎にデータ転送負荷の上限I/O量1802、および予測I/O量1803を保持する。アプリケーションC(App.C)を停止すると、図15の1510に示す経路に対するデータ転送量が0となる。ステップS202におけるボトルネック解析の結果、CHAポート131cおよび131dの集約結果である予測I/O値1811および1812は、いずれも490MB/sであり、上限I/O値500MB/sを超えていない。また、その他のリソースにおいても、予測I/O値は、上限I/O値以内でありボトルネックは発生しない。
【0071】
図19は、アプリケーション移行情報ログの一例を示す説明図である。アプリケーション移行に関する情報は,動作履歴として管理サーバ100の表示装置301に表示されてもよい。表示される情報は、移行したアプリケーション、移行元の業務サーバ、移行先の業務サーバ、優先度に基づいて停止したアプリケーションである。また、より詳細な情報としてボトルネックの発生予測を表示する。図19には、アプリケーションAをホストAから他のホストへ移行する移行情報が示されている。具体的には、ホストBへ移行する場合にボトルネックが発生する可能性があること、ホストCへ移行する場合にボトルネックが発生する可能性があることが表示されている。このため、優先度定義(例えば、アプリケーション優先度テーブル324)に基づいて、アプリケーションCを停止し、移行先ホストとして、ホストBが決定されたことが表示されている。
【0072】
本実施の形態では、ホストを管理する管理サーバ100が、障害が発生しているホストからアプリケーションの障害通知を受け取ると、障害が生じたアプリケーションの移行先の候補となる各ホストに対して、アプリケーションのSANにおけるデータ転送負荷を移行先の候補ホストで運用したときのデータ転送負荷に換算するデータ負荷換算とデータ負荷換算後のデータ転送負荷に基づいて通信経路のボトルネック解析とを行い、前記ボトルネック解析の結果、移行先の候補となる全てのホストでボトルネックが発生したときは、アプリケーション優先度テーブルから障害が生じたアプリケーションよりも低優先度で停止可能なアプリケーションを取得して停止予定アプリケーションを決定し、停止予定アプリケーションを停止した条件で、障害が生じたアプリケーションの移行先の候補となる各ホストに対して、前記データ負荷換算と前記ボトルネック解析とを行い、前記ボトルネック解析の結果、移行先の候補となる全てのホストでボトルネックが発生しないときは、停止予定アプリケーションがあれば停止を指示し、候補ホストから移行先ホストを決定し、障害が発生しているホストへ移行を指示する。これにより、アプリケーションを現在稼動中のホストと異なるホストに移行する場合に、データ転送負荷の影響を極力受けないように、アプリケーションの移行すべきホストを決定することができる。
【0073】
《第2の実施の形態》
図20は、第2の実施の形態における移行先ホスト決定ステップの処理過程を示すフローチャートである。本実施の形態は、第1の実施の形態とシステム構成は同じであるが、移行先ホスト決定プログラム311の処理手順が異なる。まず、障害通知を受け取った移行元アプリケーションより低優先度のアプリケーションを停止し、移行元アプリケーションの移行を完了する。その後、停止した低優先度のアプリケーションを第1の実施の形態に従って移行する。これにより、高優先度の移行元アプリケーションの移行に掛かる時間を短くすると共に、移行元アプリケーションが受けるデータ転送負荷の影響を少なくすることが出来る。
【0074】
中央演算処理装置(CPU)303は、移行先ホスト決定プログラム311に基づき実行する。ホストA、ホストB、およびホストCの各制御部は、クラスタ管理プログラム111a〜111cに基づき実行する。具体例と共に各ステップの動作について説明する。
【0075】
ステップS1001は、図10のステップS1001と同じである。中央演算処理装置303は、アプリケーション優先度テーブル324から移行元アプリケーションよりも低優先度で、かつ、停止可能な全てのアプリケーションの情報を取得する。本具体例の場合、アプリケーションA(App.A)よりも優先度が低く、かつ、停止可能なアプリケーションとして、アプリケーションB(App.B)、アプリケーションC(App.C)、アプリケーションD(App.D)が取得される(ステップS1901)。中央演算処理装置303は、取得した全ての停止可能アプリケーションに対して、停止指示を行う。すなわち、中央演算処理装置303は、停止可能アプリケーションの停止要求を、当該アプリケーションが動作する各ホストに送信する。本具体例の場合、ホストA、ホストB、およびホストCに通知する(ステップS1902)。中央演算処理装置303は、ステップS1902で通知した停止指示に最も早くレスポンスを返したホストを移行先ホストに決定する。これは、稼動状態の確認となりアプリケーションの移行時間を削減できるためである。中央演算処理装置303は、決定したホストの制御部に通知し、アプリケーションの移行を行う。具体例としては、ホストCの制御部が、中央演算処理装置303に最も早くレスポンスを返したものとする。中央演算処理装置303は、ホストCの制御部に通知し、アプリケーションA(App.A)を移行する(ステップS1903)。中央演算処理装置303は、アプリケーションA(App.A)移行後のデータ転送負荷を、パス情報集約プログラム310が取得するまで待ち合わせる。アプリケーションA(App.A)の移行によるデータ転送負荷の変化を反映するためである(ステップS1904)。中央演算処理装置303は、ステップS1902にて停止した全てのアプリケーションについて優先度順に以下のステップを繰り返す。本具体例の場合、アプリケーションD(App.D)、アプリケーションB(App.B)、アプリケーションC(App.C)の順に処理を行う(ステップS1905)。
【0076】
ステップS1002、S201、およびS202は、第1の実施の形態と同じであり、中央演算処理装置303は、停止したアプリケーションについて、データ負荷換算ステップS201とボトルネック解析ステップS202を行う。中央演算処理装置303は、ボトルネック解析の結果、全ての候補ホストでボトルネックが発生する場合に処理を終了する。停止可能なホストが全て停止しており、これ以上ボトルネックを改善できる見込みがないためである(ステップS1906)。ステップS1007は、第1の実施の形態と同じであり、中央演算処理装置303は、ボトルネックが発生しない候補ホストの中から移行先ホストを決定し、移行先ホストの制御部に通知する。条件を満たすホストが複数ある場合には、例えば各リソースにかかるデータ負荷の偏りが最も少ないホストを移行先とする。
【0077】
本実施の形態では、ホストを管理する管理サーバ100が、アプリケーションを移行する際に、アプリケーションの優先度が移行元ホストで選択された移行元アプリケーションよりも低く、かつ、停止可能なアプリケーションを選択する停止可能アプリケーションを決定するステップ(ステップS1901)と、決定された停止可能アプリケーションが動作するホストに対して停止指示を行うステップ(ステップS1902)と、前記停止指示に最も早くレスポンスを返したホストを移行先ホストに決定し、決定した移行先ホストに対し前記移行元アプリケーションと同一のアプリケーションを起動指示し、前記移行元ホストに選択されたアプリケーションの移行指示を行うアプリケーション移行ステップ(ステップS1903)とを含んで実行する。これにより、アプリケーションを現在稼動中のホストと異なるホストに移行する場合に、データ転送負荷の影響を極力受けないように、アプリケーションの移行すべきホストを決定することができる。
【0078】
以上述べた実施の形態においては、SAN上のリソースとして、CHAポート131a〜131d、HBAポート113a〜113eとして説明した。しかし、リソースとしては、必ずしもこのCHAポート131a〜131d、HBAポート113a〜113eに限らない。例えば、FCネットワーク140を構築するファイバチャネルスイッチをリソースとしてもよい。この場合、図4の経路別負荷テーブル320に、ファイバチャネルスイッチを合わせて収集し格納すると、ボトルネック解析処理S202において、ファイバチャネルスイッチに対してもデータ転送負荷を集約することができ、ポートのボトルネック以外に、FCネットワーク140に関してのボトルネックについても評価することができる。
【0079】
また、以上述べた実施の形態においては、アプリケーションを移行する際の契機は、アプリケーションの障害を検知した場合、HBAおよびCHAを通る論理経路パスに障害を検知した場合、ユーザが事前評価のためにアプリケーションの移行を指定した場合として説明したが、必ずしもこのような場合に限らない。例えば、アプリケーションの障害、パスの障害ではないが、ユーザが特定のホストに集中したため、サーバ管理者がユーザに満足な応答時間でアプリケーションのサービスを提供できないと判断した場合に、アプリケーションを移行する際の契機としてもよい。
【産業上の利用可能性】
【0080】
本発明は、データ転送負荷の影響を極力受けないように、アプリケーションを移行すべきホストを決定する用途に適用でき、例えば、クラスタシステムによりアプリケーションの移行を行う際のSAN管理方法およびSAN管理システムの用途に適用できる。
【図面の簡単な説明】
【0081】
【図1】本発明の全体構成を示すブロック図である。
【図2】本発明の骨子を示す概念図である。
【図3】管理サーバの構成を示すブロック図である。
【図4】経路別負荷テーブルの一例を示す説明図である。
【図5】ボリューム利用比率テーブルの一例を示す説明図である。
【図6】換算レートテーブルの一例を示す説明図である。
【図7】性能上限値テーブルの一例を示す説明図である。
【図8】アプリケーション優先度テーブルの一例を示す説明図である。
【図9】パス情報集約処理の処理過程を示すフローチャートである。
【図10】第1の実施の形態における移行先ホスト決定処理の処理過程を示すフローチャートである。
【図11】データ負荷換算処理の処理過程を示すフローチャートである。
【図12】ホストBに移行した場合の換算後データ負荷情報を示す説明図である。
【図13】ボトルネック解析処理の処理過程を示すフローチャートである。
【図14】ホストBに移行した場合のボトルネック解析経過を示す説明図である。
【図15】ホストCに移行した場合の換算後データ負荷情報を示す説明図である。
【図16】ホストCに移行した場合のボトルネック解析経過を示す説明図である。
【図17】アプリケーションCを停止し、かつ、ホストBに移行した場合のボトルネック解析経過を示す説明図である。
【図18】アプリケーションCを停止し、かつ、ホストCに移行した場合のボトルネック解析経過を示す説明図である。
【図19】アプリケーション移行情報ログの一例を示す説明図である。
【図20】第2の実施の形態における移行先ホスト決定ステップの処理過程を示すフローチャートである。
【符号の説明】
【0082】
S200 パス情報集約処理
S201 データ負荷換算処理
S202 ボトルネック解析処理
S203 移行先ホスト決定処理
100 管理サーバ
110a,110b,110c ホスト
111a,111b,111c クラスタ管理プログラム
112a,112b,112c パス管理プログラム
113a,113b,113c,113d,113e HBAポート
120a,120b,120c,120d アプリケーション・プログラム
130 ストレージ
131a,131b,131c,131d CHAポート
132a,132b,132c,132d ボリューム
140 FCネットワーク
141 LAN
210 移行元データ転送負荷
211 ホストBに移行時の換算後データ転送負荷
212 ホストCに移行時の換算後データ転送負荷
220a,220b,220c,220d デバイス
301 表示装置
302 入力装置
303 中央演算処理装置(CPU)
304 通信制御装置
305 外部記憶装置
306 メモリ
307 バス
310 パス情報集約プログラム
311 移行先ホスト決定プログラム
312 データ負荷換算プログラム
313 ボトルネック解析プログラム
320 経路別負荷テーブル
321 ボリューム利用比率テーブル
322 換算レートテーブル
323 性能上限値テーブル
324 アプリケーション優先度テーブル

【特許請求の範囲】
【請求項1】
アプリケーションを実行する複数のホストが、SAN(Storage Area Network)を介してストレージと、LAN(Local Area Network)を介して管理サーバと通信可能にされ、いずれかの前記ホストにていずれかの前記アプリケーションに障害が生じた場合に、前記障害が生じたアプリケーションを他のホストに移行するシステムにおいて、移行先のホストを決定するSAN管理方法であって、
前記管理サーバは、
前記障害が発生しているホストからアプリケーションの障害通知を受け取ると、
前記障害が生じたアプリケーションの移行先の候補となる各ホストに対して、アプリケーションのSANにおけるデータ転送負荷を移行先の候補ホストで運用したときのデータ転送負荷に換算するデータ負荷換算とデータ負荷換算後のデータ転送負荷に基づいて通信経路のボトルネック解析とを行い、
前記ボトルネック解析の結果、移行先の候補となる全てのホストでボトルネックが発生するときは、アプリケーション優先度テーブルから前記障害が生じたアプリケーションよりも低優先度で停止可能なアプリケーションを取得して停止予定アプリケーションを決定し、前記停止予定アプリケーションを停止した条件で、前記障害が生じたアプリケーションの移行先の候補となる各ホストに対して、前記データ負荷換算と前記ボトルネック解析とを行い、
前記ボトルネック解析の結果、移行先の候補となる全てのホストでボトルネックが発生しないときは、停止予定アプリケーションがあれば停止を指示し、候補ホストから移行先ホストを決定し、前記障害が発生しているホストへ移行を指示する
ことを特徴とするSAN管理方法。
【請求項2】
複数のホストおよびストレージをSAN(Storage Area Network)に接続したシステムにおける通信経路のデータ転送負荷を収集および分析するSAN管理方法において、
前記ホストを管理する管理サーバが、
アプリケーションを移行する際に移行元ホストで選択された移行元アプリケーションのSANにおけるデータ転送負荷を移行先の候補ホストでの移行元アプリケーションに対するデータ転送負荷に換算するデータ負荷換算ステップと、
データ負荷換算後のデータ転送負荷に基づいて通信経路のボトルネックの解析を行うボトルネック解析ステップと、
移行先の候補ホストについて前記データ負荷換算ステップと前記ボトルネック解析ステップとを実行しボトルネックとならない候補ホストから移行先ホストを決定する移行先ホスト決定ステップと、を含んで実行する
ことを特徴とするSAN管理方法。
【請求項3】
前記データ負荷換算ステップは、
移行元アプリケーションに対応するボリュームを特定するステップと、
特定したボリュームに対応するデータ転送負荷をボリューム単位に集約するステップと、
集約したデータ転送負荷を移行先ホストの持つ通信経路に均等に分配するステップとを有する
ことを特徴とする請求項2に記載のSAN管理方法。
【請求項4】
前記ボリューム単位に集約するステップは、集約後のデータ転送負荷の値にアプリケーション毎のボリューム利用比率を乗算するステップを有する
ことを特徴とする請求項3に記載のSAN管理方法。
【請求項5】
前記ボリューム単位に集約するステップは、集約後のデータ転送負荷の値にホスト間の性能差に基づく換算レートを乗算するステップを有する
ことを特徴とする請求項3に記載のSAN管理方法。
【請求項6】
前記ボトルネック解析ステップは、
換算後のデータ転送負荷をSANの各リソースについて集約するステップと、
集約したデータ転送負荷の値を各リソースの性能上限値と比較するステップとを有する
ことを特徴とする請求項2に記載のSAN管理方法。
【請求項7】
前記リソースは、通信経路のポートおよびファイバチャネルスイッチの少なくともいずれかを含む
ことを特徴とする請求項6に記載のSAN管理方法。
【請求項8】
前記移行先ホスト決定ステップは、全ての移行先の候補ホストでボトルネックが発生した場合に停止させるアプリケーションを決定するステップを有する
ことを特徴とする請求項2に記載のSAN管理方法。
【請求項9】
前記停止させるアプリケーションを決定するステップは、アプリケーションの優先度が移行元アプリケーションよりも低く、かつ、停止可能なアプリケーションを選択する
ことを特徴とする請求項8に記載のSAN管理方法。
【請求項10】
前記移行先ホスト決定ステップは、移行先に決定したホストで選択された前記移行元アプリケーションと同一のアプリケーションを起動指示し、前記移行元ホストにアプリケーションの移行指示を行うステップを有する
ことを特徴とする請求項2に記載のSAN管理方法。
【請求項11】
複数のホストおよびストレージをSAN(Storage Area Network)に接続したシステムにおける通信経路のデータ転送負荷を収集および分析するSAN管理方法において、
前記ホストを管理する管理サーバが、
アプリケーションを移行する際に、アプリケーションの優先度が移行元ホストで選択された移行元アプリケーションよりも低く、かつ、停止可能なアプリケーションを選択する停止可能アプリケーションを決定するステップと、
決定された停止可能アプリケーションが動作するホストに対して停止指示を行うステップと、
前記停止指示に最も早くレスポンスを返したホストを移行先ホストに決定し、決定した移行先ホストに対し前記移行元アプリケーションと同一のアプリケーションを起動指示し、前記移行元ホストに選択されたアプリケーションの移行指示を行うアプリケーション移行ステップと、を含んで実行する
ことを特徴とするSAN管理方法。
【請求項12】
複数のホストおよびストレージをSAN(Storage Area Network)に接続したシステムにおける通信経路のデータ転送負荷を収集および分析するSAN管理システムにおいて、
アプリケーションを移行する際に移行元ホストで選択された移行元アプリケーションのSANにおけるデータ転送負荷を移行先の候補ホストでの移行元アプリケーションに対するデータ転送負荷に換算するデータ負荷換算手段と、
データ負荷換算後のデータ転送負荷に基づいて通信経路のボトルネックの解析を行うボトルネック解析手段と、
移行先の候補ホストについて前記データ負荷換算手段と前記ボトルネック解析手段とを実行しボトルネックとならない候補ホストから移行先ホストを決定する移行先ホスト決定手段と、を有する
ことを特徴とするSAN管理システム。
【請求項13】
前記データ負荷換算手段は、移行元アプリケーションに対応するボリュームを特定し、
特定したボリュームに対応するデータ転送負荷をボリューム単位に集約し、集約したデータ転送負荷を移行先ホストの持つ通信経路に均等に分配する
ことを特徴とする請求項12に記載のSAN管理システム。
【請求項14】
前記データ負荷換算手段は、ボリューム単位に集約後のデータ転送負荷の値にアプリケーション毎のボリューム利用比率を乗算する
ことを特徴とする請求項13に記載のSAN管理システム。
【請求項15】
前記データ負荷換算手段は、ボリューム単位に集約後のデータ転送負荷の値にホスト間の性能差に基づく換算レートを乗算する
ことを特徴とする請求項13に記載のSAN管理システム。
【請求項16】
前記ボトルネック解析手段は、換算後のデータ転送負荷をSANの各リソースについて集約し、集約したデータ転送負荷の値を各リソースの性能上限値と比較する
ことを特徴とする請求項12に記載のSAN管理システム。
【請求項17】
前記移行先ホスト決定手段は、全ての移行先の候補ホストでボトルネックが発生した場合に停止させるアプリケーションを決定する
ことを特徴とする請求項12に記載のSAN管理システム。
【請求項18】
前記移行先ホスト決定手段は、前記停止させるアプリケーションを決定する場合に、アプリケーションの優先度が移行元アプリケーションよりも低く、かつ、停止可能なアプリケーションを選択する
ことを特徴とする請求項17に記載のSAN管理システム。
【請求項19】
前記移行先ホスト決定手段は、移行先に決定したホストで選択された前記移行元アプリケーションと同一のアプリケーションを起動指示し、前記移行元ホストにアプリケーションの移行指示を行う
ことを特徴とする請求項12に記載のSAN管理システム。
【請求項20】
複数のホストおよびストレージをSAN(Storage Area Network)に接続したシステムにおける通信経路のデータ転送負荷を収集および分析するSAN管理システムにおいて、
アプリケーションを移行する際に、アプリケーションの優先度が移行元ホストで選択された移行元アプリケーションよりも低く、かつ、停止可能なアプリケーションを選択する停止可能アプリケーションを決定する手段と、
決定された停止可能アプリケーションが動作するホストに対して停止指示を行う停止指示手段と、
前記停止指示に最も早くレスポンスを返したホストを移行先ホストに決定し、決定した移行先ホストに対し前記移行元アプリケーションと同一のアプリケーションを起動指示し、前記移行元ホストに選択されたアプリケーションの移行指示を行うアプリケーション移行手段と、を有する
ことを特徴とするSAN管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2007−299161(P2007−299161A)
【公開日】平成19年11月15日(2007.11.15)
【国際特許分類】
【出願番号】特願2006−125960(P2006−125960)
【出願日】平成18年4月28日(2006.4.28)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】