(57)【要約】【課題】計算機システム全体の性能を考慮した計算機あるいはデータ移動を可能とする。【解決手段】計算機４１０００と、論理ボリューム５１２１０〜５１２１２を提供するＲＡＩＤグループ５１２２０、５１２２１を有するストレージ装置５１０００とに接続されている管理計算機である。計算機４１０００からＲＡＩＤグループ５１２２０、５１２２１までのＩ／Ｏ経路上のリソースに所定のイベントが発生した場合に、そのＩ／Ｏ経路を抽出し、いずれのリソースも共用せず、かつ前記抽出したＩ／Ｏ経路を使用していない、他の計算機及び論理ボリュームが使用している他のＩ／Ｏ経路があるか否かを判定する。他のＩ／Ｏ経路があれば、計算機４１０００及び論理ボリューム５１２１０〜５１２１２をこれに移動した場合に、そこに含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内となるか判定する。範囲内ならば、当該他のＩ／Ｏ経路を移動先に決定する。【選択図】図１２
2010086049.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、
前記管理計算機が、
前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのＩ／Ｏ経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むＩ／Ｏ経路を抽出し、
当該Ｉ／Ｏ経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むＩ／Ｏ経路を使用していない、他の計算機及び論理ボリュームが使用している他のＩ／Ｏ経路があるか否かを判定する性能依存関係判定部と、
前記性能依存関係判定部が、前記他のＩ／Ｏ経路があると判定した場合に、
前記計算機及び前記論理ボリュームを前記他のＩ／Ｏ経路に移動した場合に、当該他のＩ／Ｏ経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のＩ／Ｏ経路に含まれているリソースの性能を表す情報に基づいて判定し、
閾値要件の範囲内に保持されると判定された場合に、当該他のＩ／Ｏ経路を前記計算機及び論理ボリュームの移動先に決定する移動先決定部と
を備えたことを特徴とする管理計算機。
【請求項２】
請求項１に記載の管理計算機であって、
前記イベントが発生したリソースを含むＩ／Ｏ経路に含まれるリソースを共用しない他のＩ／Ｏ経路がないと判定された場合に、前記計算機及び論理ボリュームを移動させるためのリソースが不足している旨を管理者に通知することを特徴とする管理計算機。
【請求項３】
請求項１に記載の管理計算機であって、
前記計算機及び前記論理ボリュームを前記他のＩ／Ｏ経路に移動させた場合に、当該他のＩ／Ｏ経路に含まれるリソースの性能があらかじめ設定した閾値要件の範囲内に保持されないと判定された場合に、前記他のＩ／Ｏ経路に含まれる記憶デバイスの性能情報に基づいて、最も性能情報が優れていると判定された記憶デバイスからあらたに論理ボリュームを構成して、移動させようとする前記計算機とのＩ／Ｏ経路を設定して、当該Ｉ／Ｏ経路を前記計算機及び前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
【請求項４】
請求項１に記載の管理計算機であって、
前記移動先決定部がさらに、前記ソフトウェアが使用している論理ボリュームを他の論理ボリュームに移動させる場合に、前記記憶デバイスの性能情報に基づいて、前記他の論理ボリュームとして前記ソフトウェアと同一のソフトウェアによって使用された履歴を有するものがあるかを判定し、かかる他の論理ボリュームが存在すると判定した場合には、当該他の論理ボリュームを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
【請求項５】
請求項４に記載の管理計算機であって、
前記移動先決定部が、前記ソフトウェアと同一のソフトウェアによって使用された履歴を有する他の論理ボリュームが存在しないと判定した場合には、他の論理ボリュームを構成する記憶デバイスのうちで最も性能情報が優れていると判定されたものを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
【請求項６】
請求項１に記載の管理計算機であって、
前記性能情報が、前記記憶デバイスのＩ／Ｏ応答時間、単位時間あたりのＩ／Ｏ数、又はＩ／Ｏ転送率のいずれかを含むことを特徴とする管理計算機。
【請求項７】
請求項１に記載の管理計算機であって、
移動先となる前記他の論理ボリュームとして、前記計算機のいずれのソフトウェアからも使用されない論理ボリュームを保持してその性能情報を記録しておくことを特徴とする管理計算機。
【請求項８】
ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機の運用方法であって、
前記管理計算機が、
前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのＩ／Ｏ経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むＩ／Ｏ経路を抽出し、
当該Ｉ／Ｏ経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むＩ／Ｏ経路を使用していない、他の計算機及び論理ボリュームが使用している他のＩ／Ｏ経路があるか否かを判定し、
前記他のＩ／Ｏ経路があると判定された場合に、
前記計算機及び前記論理ボリュームを前記他のＩ／Ｏ経路に移動した場合に、当該他のＩ／Ｏ経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のＩ／Ｏ経路に含まれているリソースの性能を表す情報に基づいて判定し、
閾値要件の範囲内に保持されると判定された場合に、当該他のＩ／Ｏ経路を前記計算機及び論理ボリュームの移動先に決定する
ことを特徴とする管理計算機の運用方法。
【請求項９】
ソフトウェアが稼働している計算機と、前記ソフトウェアが利用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、
前記ソフトウェアが使用している論理ボリュームを他の論理ボリュームに移動させる場合に、前記論理ボリュームが属する記憶デバイスの性能情報に基づいて、前記他の論理ボリュームとして前記ソフトウェアと同一のソフトウェアによって利用されているものがあるかを判定し、かかる他の論理ボリュームが存在すると判定した場合には、当該他の論理ボリュームを移動先に決定する移動先決定部を備えた
ことを特徴とする管理計算機。
【請求項１０】
請求項９に記載の管理計算機であって、
前記移動先決定部が、前記ソフトウェアと同一のソフトウェアによって使用された履歴を有する他の論理ボリュームが存在しないと判定した場合には、他の論理ボリュームを構成する記憶デバイスのうちで最も性能情報が優れていると判定されたものを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
【請求項１１】
請求項９に記載の管理計算機であって、
前記性能情報が、前記記憶デバイスのＩ／Ｏ応答時間、単位時間あたりのＩ／Ｏ数、又はＩ／Ｏ転送率のいずれかを含むことを特徴とする管理計算機。
【請求項１２】
請求項９に記載の管理計算機であって、
移動先となる前記他の論理ボリュームとして、前記計算機のいずれのソフトウェアからも使用されない論理ボリュームを保持してその性能情報を記録しておくことを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は管理計算機及びその運用方法に係わり、特に計算機システムの性能劣化時に、計算機からストレージ装置の論理ボリュームまでのＩ／Ｏ経路、又はストレージ装置の記憶デバイス、あるいはその双方の性能を考慮して実行される計算機あるいは論理ボリューム移動管理のための管理計算機及びその運用方法に関する。
【背景技術】
【０００２】
計算機システムにおける計算機あるいはボリュームデータの移動（マイグレーション）を制御する技術として、例えば特許文献１には、計算機上のＯＳでの主記憶装置、拡張記憶装置、プロセッサ、入出力チャネルなどの資源情報を考慮し、ある計算機で動作しているＯＳおよびアプリケーションを、他の計算機へ移動する技術が開示されている。
【０００３】
また、計算機上のＯＳ及びアプリケーションの移動と、ストレージのボリュームデータの移動の連携動作を可能とする技術が公知である。
【特許文献１】米国特許第６８０２０６２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記のように、従来、計算機の移動と、ストレージのボリュームデータの移動を連携させて構成変更操作を行うことが可能となっている。しかし、性能面では計算機側の性能のみを考慮しており、ストレージ側の性能までを合わせて考慮した移動を行っていなかった。そのため、性能劣化時などにサーバからストレージまで含めた、計算機システム全体の性能を考慮した計算機あるいはボリュームデータの移動を実施することが困難であった。
【課題を解決するための手段】
【０００５】
前記の、及び他の課題を解決するための本発明の一態様は、ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、前記管理計算機が、前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのＩ／Ｏ経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むＩ／Ｏ経路を抽出し、当該Ｉ／Ｏ経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むＩ／Ｏ経路を使用していない、他の計算機及び論理ボリュームが使用している他のＩ／Ｏ経路があるか否かを判定する性能依存関係判定部と、前記性能依存関係判定部が、前記他のＩ／Ｏ経路があると判定した場合に、前記計算機及び前記論理ボリュームを前記他のＩ／Ｏ経路に移動した場合に、当該他のＩ／Ｏ経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のＩ／Ｏ経路に含まれているリソースの性能を表す情報に基づいて判定し、閾値要件の範囲内に保持されると判定された場合に、当該他のＩ／Ｏ経路を前記計算機及び論理ボリュームの移動先に決定する移動先決定部とを備えたことを特徴とする管理計算機である。
【０００６】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
【発明の効果】
【０００７】
本発明によれば、計算機システムの性能劣化時に、計算機からストレージ装置の論理ボリュームまでのＩ／Ｏ経路、又はストレージ装置の記憶デバイス、あるいはその双方の性能を考慮して計算機あるいは論理ボリュームの移動管理を行うことができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照しつつ実施の形態について説明する。
【０００９】
＝＝第１実施形態＝＝
まず本発明の第１実施形態による計算機システム１の構成例について説明する。図１は、本発明の第１実施形態に係る管理計算機を備えた計算機システム１の構成例を示すブロック図である。
【００１０】
計算機システム１は、情報収集プログラム４１１２０及びサーバプログラム４１１１０を有する計算機４１０００、情報収集プログラム５１１１０を有するストレージ装置５１０００、そして性能依存関係判定プログラム１１１１０（これを実行することによって実現される機能ブロックが「性能依存関係判定部」である。）及び移動先決定プログラム１１１２０（これを実行することによって実現される機能ブロックが「移動先決定部」である。）を有する管理サーバ１１０００（管理計算機）を有する。本実施形態では、計算機４１０００及びストレージ装置５１０００の有する情報収集プログラム４１１２０、５１１１０は、計算機４１０００及びストレージ装置５１０００内に保持されているものとしたが、別途、情報収集プログラム用サーバを設けてそれに実装したり、管理サーバ１１０００内に置いたりして動作させてもよい。
【００１１】
なお、本実施形態の計算機システム１においては、図示の通り、１台の計算機４１０００（計算機Ａ）と、１台のストレージ装置５１０００（ストレージ装置Ａ）とがファイバチャネルネットワーク３００００を介して相互に接続されているものとするが、それぞれを２台以上設けて構成してもよい。
【００１２】
図１では、ストレージ装置Ａ（５１０００）は、計算機Ａ（４１０００）に対して、ボリューム５１２１０（ボリュームｖ１）、ボリューム５１２１１（ボリュームｖ２）として、ＲＡＩＤグループ５１２２０（ＲＧ１）からなる論理ボリュームを提供し、ボリューム５１２１２（ボリュームｖ３）として、ＲＡＩＤグループ５１２２１（ＲＧ２）からなる論理ボリュームを提供する。なお、ここでは論理ボリュームがＲＡＩＤグループ５１２２０、５１２２１によって提供されるとしているが、各論理ボリュームがそれぞれ単体物理ディスクにより提供される構成をとることも差し支えない。また、以下単に「ボリューム」というときは、「論理ボリューム」を意味するものとする。
【００１３】
なお、計算機Ａ（４１０００）とストレージ装置Ａ（５１０００）との接続形態については、図１に示すようにファイバチャネルネットワーク３００００を利用して直接接続されるのではなく、１台以上のファイバチャネルスイッチなどネットワーク機器を介して接続される形態をとってもよい。また、本実施形態では計算機Ａ（４１０００）とストレージ装置Ａ（５１０００）との接続に、ファイバチャネルネットワーク３００００を利用しているが、データ通信用のネットワークであれば、別種のネットワークでもよく、例えばＩＰネットワークでもよい。
【００１４】
管理サーバＡ（１００００）は、管理用ネットワーク２００００を介して、計算機Ａ（４１０００）及びストレージ装置Ａ（５１０００）に接続されており、各装置の情報収集プログラム４１１２０、５１１１０による機能ブロックと通信する。性能依存関係判定プログラム１１１１０の実行により、性能上の関連判定処理を行う。移動先決定プログラム１１１２０の実行により、性能依存関係判定プログラム１１１１０により判定された性能上の関連、リザーブボリューム情報、及び構成・性能履歴に従い、移動先決定処理を行う。
【００１５】
次に、管理サーバ１１０００について説明する。図２は管理サーバ１１０００の構成例を示すブロック図である。
【００１６】
管理サーバ１１０００は、メモリ１１１００と、管理用ネットワーク２００００に接続するための通信装置１１２００と、プロセッサ１１３００と、移動先決定プログラム１１１２０などによる移動制御処理の実行結果を出力するディスプレイ装置などの出力装置１１４００と、管理者が指示を入力するためのキーボードなどの入力装置１１５００と、記憶装置１１６００とを有し、これらは内部バスなどの通信路１１７００を介して相互に接続される。
【００１７】
メモリ１１１００には、管理サーバによって実行されるプログラムである、性能依存関係判定プログラム１１１１０、移動先決定プログラム１１１２０と、計算機システム１内の計算機４１０００及びストレージ装置５１０００をそれぞれ管理する情報収集プログラム４１１２０、５１１１０から収集した構成・性能情報を格納する領域である構成・性能情報リポジトリ１１１５０が格納されている。
【００１８】
構成・性能情報リポジトリ１１１５０には、計算機４１０００及び計算機４１０００上で動作しているサーバプログラム４１１１０（ＯＳ、動作アプリケーション）の情報と、計算機４１０００内にマウントされたボリュームの対応関係を保持するサーバ−ストレージマッピングテーブル１１１５１と、計算機システム１に含まれる装置及び装置の持つリソースの性能情報を保持する性能情報テーブル１１１５２と、サーバ−ストレージマッピングテーブル１１１５１の情報と性能情報テーブル１１１５２の情報とを対応付けて、時間軸に従い保持する構成・性能履歴テーブル１１１５３と、任意の計算機４１０００から利用されていないボリュームが、過去にどのようなサーバプログラム４１１１０（ＯＳ、動作アプリケーション）に利用されていたかの情報を保持する、リザーブボリューム情報テーブル１１１５４とが格納されている。
【００１９】
プロセッサ１１３００は、メモリ１１１００に格納されるプログラムを読み出して実行し、またメモリ１１１００に格納される各テーブルの参照、更新処理を行なう。
【００２０】
本実施形態は、サーバ移動プログラム１１１３０を管理サーバ１１０００内のメモリ１１１００内に格納されているものとしたが、例えば、計算機４１０００のメモリ４１１００内で動作させてもよく、また、別の計算機上で動作させてもよい。また、そのほかの上述の各プログラム及び各テーブルについて、メモリ１１１００内に格納されているものとしたが、これら各プログラム及び各テーブルが、記憶装置１１６００あるいは別の記録媒体に格納され、実行時にプロセッサ１１３００がメモリ１１１００上に読み出し、処理を行うものとしてもよい。また、さらに別の計算機上あるいはストレージ装置５１０００内、計算機４１０００内に保持するものとしてもよい。
【００２１】
次に、計算機４１０００について説明する。図３は計算機４１０００の構成例を示すブロック図である。  
計算機４１０００は、メモリ４１１００と、記憶装置４１２００と、プロセッサ４１３００と、管理用ネットワーク２００００に接続するための管理Ｉ／Ｆ制御部４１８００と、ファイバチャネルネットワーク３００００に接続するための一つ以上のデータＩ／Ｆ制御部４１９００とを備えており、これらは内部バス等の通信路４１７００を介して相互に接続される。
【００２２】
メモリ４１１００には、ＯＳ及びＯＳ上の動作アプリケーションを表すサーバプログラム４１１１０と、管理サーバ１１０００と通信して当該サーバ１１０００の管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム４１１２０と、ストレージ装置５１０００から公開されているボリュームを当該サーバ１１０００内にマウントするプログラムであるボリューム管理プログラム４１１３０とが格納されている。
【００２３】
ボリューム管理プログラム４１１３０は、ストレージ装置５１０００から、計算機システム１に提供されている仮想ボリュームを、管理サーバ１１０００の記憶装置１１６００内のボリュームにマウントし、計算機４１０００上の業務プログラムからストレージ装置５１０００のボリュームを利用可能としている。
【００２４】
なお、本実施形態では計算機４１０００は１台、計算機４１０００の備えるデータＩ／Ｆ制御部４１９００は一つとしたが、計算機４１０００の台数及びデータＩ／Ｆ制御部４１９００の数はいくつであってもよい。また、サーバプログラム４１１１０、情報収集プログラム４１１２０、ボリューム管理プログラム４１１３０は、メモリ４１１００内に格納されているものとしたが、記憶装置１１６００あるいは記憶媒体に格納され、実行時にプロセッサ４１３００がメモリ４１１００上に読み込みを行うものとしてもよく、また、別のサーバ上あるいはストレージ装置５１０００内、サーバ内で保持することとしてもよい。
【００２５】
次に、ストレージ装置５１０００について説明する。図４はストレージ装置５１０００の構成例を示すブロック図である。  
ストレージ装置５１０００は、メモリ５１１００と、データ格納領域を提供するボリューム提供部５１２００と、プロセッサ５１３００と、ディスクＩ／Ｆ制御部５１４１０、５１４２０と、管理用ネットワーク２００００に接続するための管理Ｉ／Ｆ制御部５１８００と、ファイバチャネルネットワーク３００００に接続するためのデータＩ／Ｆ制御部５１９００とを有し、これらは内部バス等の通信路５１７００を介して相互に接続される。
【００２６】
メモリ５１１００には、管理サーバ１１０００と通信して当該ストレージ装置５１０００の管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム５１１１０、及び物理領域におけるデータの移動を行うデータ移動プログラム５１１２０が格納されている。
【００２７】
ボリューム提供部５１２００は、複数の物理ディスクから構成されたＲＡＩＤグループ５１２２０、５１２２１の部分領域、すなわち論理ボリュームを提供することで、物理領域に対する当該ストレージ装置５１０００外からのアクセスを可能としている。ストレージ装置５１０００を１台、ストレージ装置５１０００の備えるデータＩ／Ｆ制御部を一つ、ストレージ装置５１０００の備えるディスクＩ／Ｆ制御部を一つとしたが、ストレージ装置５１０００の台数及びデータＩ／Ｆ制御部の数、ディスクＩ／Ｆ制御部の数はいくつであってもよい。
【００２８】
また、情報収集プログラム５１１１０はメモリ５１１００内に格納されているものとしたが、別の記憶装置あるいは別の記憶媒体に格納され、実行時にプロセッサ５１３００がメモリ５１１００上に読み出して実行するものとしてもよい。また、別のサーバ上あるいはストレージ装置５１０００内、サーバ内で保持するものとしてもよい。
【００２９】
次に、本実施形態において使用される各テーブルについて順次説明する。まず、サーバ−ストレージマッピングテーブル１１１５１について説明する。図５は、管理サーバ１１０００が保持する構成・性能情報リポジトリ１１１５０内に格納されるサーバ−ストレージマッピングテーブル１１１５１の一例を示す図である。
【００３０】
本テーブルは、各サーバ上の各ボリュームが、ストレージ装置５１０００のどのデータＩ／Ｆ制御部５１９００を経由して、どの論理ボリューム５１２１０〜５１２１２、ＲＡＩＤグループ５１２２０、５１２２１に対応しているかについての対応関係を格納しているテーブルである。サーバ−ストレージマッピングテーブル１１１５１には、性能依存関係判定プログラム１１１１０の実行により、レコードが追加される。
【００３１】
サーバ−ストレージマッピングテーブル１１１５１の計算機名欄１１１５１Ａには、計算機４１０００を一意に識別するための値が登録される。ボリューム番号欄１１１５１Ｂには、サーバ内のボリュームを一意に識別するための値が登録される。ストレージ名欄１１１５１Ｃには、ボリューム番号欄１１１５１Ｂのボリュームが利用しているストレージ装置５１０００を一意に識別するための値が登録される。  
データＩ／Ｆ番号欄１１１５１Ｄには、ボリューム番号欄１１１５１Ｂのボリュームが利用しているデータＩ／Ｆを一意に識別するための値が登録される。論理ボリューム番号欄１１１５１Ｅには、ストレージ名欄１１１５１Ｃで一意に識別されるストレージ装置５１０００内で論理ボリューム５１２１０〜５１２１２を一意に識別するための値が登録される。  
ＲＡＩＤグループ番号欄１１１５１Ｆには、ストレージ名欄１１１５１Ｃで一意に識別されるストレージ装置５１０００内でＲＡＩＤグループ５１２２０、５１２２１を一意に識別するための値が登録される。
【００３２】
次に、性能情報テーブル１１１５２について説明する。図６Ａは、管理サーバ１１０００が保持する構成・性能情報リポジトリ１１１５０内に格納される、論理ボリューム５１２１０〜５１２１２に関する性能情報テーブル１１１５２の一例を、図６Ｂは、ＲＡＩＤグループ５１２２０、５１２２１に関する性能情報テーブル１１１５２’の一例を示す。
【００３３】
本テーブルは、各サーバ上のボリューム、各ストレージ装置５１０００内の論理ボリューム５１２１０〜５１２１２、各ストレージ装置５１０００内のＲＡＩＤグループ５１２２０、５１２２１などの性能情報を格納したテーブルである。性能情報テーブル１１１５２、１１１５２’には、性能依存関係判定プログラム１１１１０の実行によりレコードが追加される。
【００３４】
性能情報テーブル１１１５２は論理ボリューム５１２１０〜５１２１２に関する情報を格納しており、そのストレージ名欄１１１５２Ａには、ストレージ装置５１０００を一意に識別するための値が登録される。論理ボリューム番号欄１１１５２Ｂには、ストレージ名欄１１１５２Ａにより一意に識別されたストレージ装置５１０００内で論理ボリューム５１２１０〜５１２１２を一意に識別するための値が登録される。
【００３５】
I/O Response Time欄１１１５２Ｃには、論理ボリューム５１２１０〜５１２１２へのＩ／Ｏに対する応答時間の平均値が登録される。ＩＯＰＳ（I/O Per Second）欄には論理ボリューム５１２１０〜５１２１２への単位時間当たりのＩ／Ｏ量（毎秒処理されるＩ／Ｏ数）が登録される。I/O Transfer Rate欄１１１５２Ｅには、論理ボリューム５１２１０〜５１２１２からの単位時間当たりのＩ／Ｏ転送量が登録される。
【００３６】
また、性能情報テーブルの他の一例を１１１５２´に示す。性能情報テーブル１１１５２´はＲＡＩＤグループ５１２２０、５１２２１に関する情報を格納しており、そのストレージ名欄１１１５２Ｆにはストレージ装置５１０００を一意に識別するための値が登録される。ＲＡＩＤグループ番号欄１１１５２Ｇには、ＲＡＩＤグループ５１２２０、５１２２１を一意に識別するための値が登録される。I/O Response Time欄１１１５２Ｈには、ＲＡＩＤグループ５１２２０、５１２２１へのＩ／Ｏに対する応答時間が登録される。ＩＯＰＳ欄１１１５２Ｉには、ＲＡＩＤグループ５１２２０、５１２２１への単位時間当たりのＩ／Ｏ量が登録される。I/O Transfer Rate欄１１１５２Ｊには、ＲＡＩＤグループ５１２２０、５１２２１からの単位時間当たりのＩ／Ｏ転送量が登録される。
【００３７】
本実施形態では、前記のように、性能情報の一例として、I/O Response Time、I/O Per Second、I/O Transfer Rateの各値を挙げたが、Read I/O Response Time、Write I/O Response TimeなどのＲｅａｄとＷｒｉｔｅ別々の性能や、その他の性能指標を保持させることとしてもよい。
【００３８】
次に、構成・性能履歴テーブル１１１５３について説明する。図７に、管理サーバ１１０００が保持する構成・性能情報リポジトリ１１１５０内に格納される構成・性能履歴テーブル１１１５３の一例を示す。図７では図示の都合により二段に分けて示しているが、上下段一連で一つの構成・性能履歴テーブル１１１５３を構成している。
【００３９】
本テーブルは、計算機システム１の構成情報（ＯＳと動作アプリケーションの種類）・性能情報の履歴を格納したテーブルである。構成・性能履歴テーブル１１１５３には、性能依存関係判定プログラム１１１１０の実行により、レコードが追加される。
【００４０】
構成・性能履歴テーブル１１１５３のTime Stamp欄１１１５３Ａには、管理サーバ１１０００の情報収集プログラムが実現する機能ブロックが各装置の情報収集プログラムが実現する機能ブロックと通信して、各装置が保持する情報を取得した時刻を示す値が登録される。サーバプログラム欄１１１５３Ｂには、ＯＳ及びＯＳ上の動作アプリケーションを含むサーバプログラム４１１１０を一意に識別するための値が登録される。
【００４１】
計算機名欄１１１５３Ｃには、計算機４１０００を一意に識別するための値が登録される。ボリューム番号欄１１１５３Ｄには、サーバ内のボリュームを一意に識別するための値が登録される。ＯＳ欄１１１５３Ｅには、どのようなサーバプログラム（ＯＳ）が利用されていたかの情報が登録される。ここでは、ＷｉｎＸＰ、Solarisといった製品名で特定しているが、特にこれに制約されるものではない。
【００４２】
ＡＰＰ欄１１１５３Ｆには、どのようなサーバプログラム（動作アプリケーション）が利用されていたかの情報が登録される。ここでは例えばOracleといった製品名で特定している。ＩＯＰＳ欄１１１５３Ｇには、どの程度のＩＯＰＳで運用されていたかの情報が登録される。ＩＯＰＳ値が大きいほど要求されるＩ／Ｏ処理能力が大であることを示している。
【００４３】
また、ストレージ名欄１１１５３Ｈにはボリューム番号欄１１１５３Ｄのボリュームが利用しているストレージ装置５１０００を一意に識別するための値が登録される。データＩ／Ｆ番号欄１１１５３Ｉには、ボリューム番号欄１１１５３Ｄに記録されているボリュームが利用しているデータＩ／Ｆを一意に識別するための値が登録される。論理ボリューム番号欄１１１５３Ｊには、ストレージ名欄１１１５３Ｈに記録されている値で一意に識別されるストレージ装置５１０００内で、論理ボリューム５１２１０〜５１２１２を一意に識別するための値が登録される。
【００４４】
I/O Response Time欄１１１５３Ｋには、論理ボリューム５１２１０〜５１２１２へのＩ／Ｏに対する応答時間の平均値が登録される。ＲＡＩＤグループ番号欄１１１５３Ｌには、ストレージ名欄１１１５３Ｈに記録されている値によって一意に識別されるストレージ装置５１０００内で、ＲＡＩＤグループ５１２２０、５１２２１を一意に識別するための値が登録される。ＩＯＰＳ欄１１１５３Ｍには、ＲＡＩＤグループ５１２２０、５１２２１への単位時間当たりのＩ／Ｏ量が登録される。
【００４５】
次に、管理サーバ１１０００が保持する構成・性能情報リポジトリ１１１５０内に格納されるリザーブボリュームテーブル１１１５４について説明する。図８に、リザーブボリュームテーブル１１１５４の一例を示す。本テーブルは、ボリューム格納データの移動が実行された後利用されなくなり残された、移動元のボリュームの情報を表すテーブルである。リザーブボリュームテーブル１１１５４には、後述する移動先決定プログラム１１１２０実行によりレコードが追加される。
【００４６】
リザーブボリュームテーブル１１１５４のＯＳ欄１１１５４Ａには、当該リザーブボリュームが過去にどのようなサーバアプリケーション（ＯＳ）から利用されていたかの情報が登録される。ここでは、例えばＷｉｎＸＰ、Solaris（いずれも登録商標）といった製品名で特定している。  
ＡＰＰ欄１１１５４Ｂには、当該リザーブボリュームが過去にどのようなサーバアプリケーション（動作アプリケーション）から利用されていたかの情報が登録される。ここでは、例えばOracle（登録商標）、数値計算と言った製品名やアプリケーションの種類で特定している。  
ストレージ名欄１１１５４Ｃには、当該リザーブボリュームを保有するストレージ装置５１０００を一意に識別するための値が登録される。論理ボリューム番号欄１１１５４Ｄには、ストレージ名欄１１１５４Ｃに記録されている値によって一意に識別されるストレージ装置５１０００内で、論理ボリューム５１２１０〜５１２１２を一意に識別するための値が登録される。  
ＲＡＩＤグループ番号欄１１１５４Ｅには、ストレージ名欄１１１５３Ｈに記録されている値によって一意に識別されるストレージ装置５１０００内で、ＲＡＩＤグループ５１２２０、５１２２１を一意に識別するための値が登録される。
【００４７】
次に、管理サーバ１１０００上の性能依存関係判定プログラム１１１１０の実行により実現される、テーブル作成処理について説明する。図９に、性能依存関係判定プログラム１１１１０を読み出したプロセッサ１１３００が実行するテーブル作成処理を表すフローチャート１０００を示す。
【００４８】
本処理は、管理サーバ１１０００のプロセッサ１１３００がメモリ１１１００に格納されている当該プログラムを実行することにより、定期的に実行される。これにより、ＳＡＮ環境における、最新の構成情報およびＩ／Ｏ性能情報を特定するためのテーブル、並びにＳＡＮ環境における構成情報・性能情報の履歴を示すテーブルが作成される。以下、特に明記のない限り、各ステップは管理サーバ１１０００上のプロセッサ１１３００によって実施される。
【００４９】
プロセッサ１１３００は、計算機４１０００の情報収集プログラム４１１２０等の各装置の情報収集プログラムが実現する機能ブロックと通信して、各装置が保持する構成・性能情報を取得する（ステップ１００１）。この場合、特に性能情報は理想的にはリアルタイムにモニタしておくことが望ましいので、例えば１分間隔で情報取得を行うように設定される。  
次に、プロセッサ１１３００は、サーバ−ストレージマッピング、及び性能情報リポジトリの性能情報テーブルに、取得した構成情報及び性能情報を格納する（ステップ１００２）。  
その後、プロセッサ１１３００は、ステップ１００２で格納した各情報を利用して、性能情報を含んだ構成情報履歴からなる、構成・性能履歴テーブルを生成する（ステップ１００３）。
【００５０】
本実施形態では、性能依存関係判定プログラム１１１１０の実行により、各装置の情報収集プログラムを介して構成情報を取得し、構成情報リポジトリ内のサーバ−ストレージマッピングテーブルに構成情報を格納するタイミングと、性能依存関係判定プログラム１１１１０の実行により各装置の情報収集プログラムを介して性能情報を取得し、性能情報リポジトリの性能情報テーブルに格納するタイミングとが同じであるとしているが、異なるタイミングで実施してもよい。
【００５１】
また、性能上の関連を構成情報とマージし、履歴情報を生成するタイミングを、構成・性能情報を取得するタイミングと同じであるとしたが、ストレージ装置５１０００の情報収集プログラム５１１１０実行により性能値の変化を監視し、性能依存関係判定プログラム１１１１０にその変化を適時に通知するなどして、ステップ１００３を実施してもよい。
【００５２】
各装置が保持する情報の取得ステップ１００１では、プロセッサ１１３００は、各装置上で動作する情報収集プログラムを実行することに収集された各情報を、それぞれ収集する。
【００５３】
情報収集プログラム５１１１０は、その実行によりサーバ名、サーバでのボリューム番号、接続先のストレージ装置名、接続先のデータＩ／Ｆ番号、接続先のストレージ装置５１０００の備える論理ボリューム番号、及び接続先のストレージ装置５１０００の備えるＲＡＩＤグループ５１２２０、５１２２１の対応関係を、例えばSCSI Inquiryをサーバ上から各論理ボリューム５１２１０〜５１２１２に対して発行し、ストレージ装置５１０００から情報を取得するなど、どのような方法によって取得してもよい。
【００５４】
サーバ４１０００上の情報収集プログラム４１１２０による機能ブロックはサーバに関する性能情報を、例えばＯＳに依頼するなど、どのような方法によって取得してもよい。またストレージ装置５１０００上の情報収集プログラム５１１１０による機能ブロックはストレージに関する性能情報を、例えば性能情報が蓄えられたメモリから取得するなど、どのような方法によって取得してもよい。
【００５５】
次に、サーバ−ストレージマッピングテーブル１１１５１、及び性能情報テーブル１１１５２の作成ステップ１００２では、プロセッサ１１３００は、各テーブルに新規エントリを作成し、ステップ１００１で収集した情報を新規作成したエントリの各欄に登録する。そして、構成・性能情報テーブル１１１５３の作成ステップ１００３では、プロセッサ１１３００は、構成・性能情報テーブルに新規エントリを作成し、ステップ１００２で登録したエントリの情報を取得し、新規作成したエントリの各欄に登録する。
【００５６】
次に、管理サーバ１１０００上の移動先決定プログラム１１１２０実行により実現されるテーブル作成処理について説明する。図１０に移動先決定プログラム１１１２０を読み出したプロセッサ１１３００が実行するテーブル作成処理を表すフローチャート２０００を示す。
【００５７】
本処理は、管理サーバ１１０００のプロセッサ１１３００がメモリ１１１００に格納されている当該プログラムを実行することにより行われる。本処理は、データ移動処理が行われた後に実行されるもので、通常の書き込み可能なボリュームとして提供させないボリュームを、リザーブボリュームテーブル１１１５４に登録するものである。特に明記のない限り、各ステップは管理サーバ１１０００上のプロセッサ１１３００が実施するものとする。
【００５８】
まずプロセッサ１１３００は、ストレージ装置５１０００の情報収集プログラム５１１１０による機能ブロックと通信し、データ移動プログラム５１１２０による移動処理情報を収集する（ステップ２００１）。  
データ移動が正常終了したかどうかを確認し（ステップ２００２）、移動が正常に完了している場合、構成・性能履歴テーブル１１１５３から、移動元のストレージ、論理ボリューム５１２１０〜５１２１２、ＲＡＩＤグループ５１２２０、５１２２１の情報と、当該ボリュームで利用されていた履歴が存在する、ＯＳ、アプリケーションの情報を取得する（ステップ２００３）。  
最後に、ステップ２００３で取得した情報を、計算機４１０００に対して利用可能なボリュームとして提供しないボリュームとして、リザーブボリュームテーブル１１１５４に登録する（ステップ２００４）。
【００５９】
次に、管理サーバ１１０００上の移動先決定プログラム１１１２０実行により実現される移動先決定処理について説明する。図１１に移動先決定プログラム１１１２０を読み出したプロセッサ１１３００が実行する移動先決定処理を表すフローチャート３０００を示す。
【００６０】
本処理は、管理サーバ１１０００のプロセッサ１１３００がメモリ１１１００に格納されている当該プログラムを実行することにより行われる。特に明記のない限り、各ステップは管理サーバ１１０００上のプロセッサ１１３００が実施するものとする。
【００６１】
本処理は、計算機システム１内で論理ボリューム移動実施の契機となる所定のイベントが発生した時に実行されるもので、移動先を決定し、決定した移動先への移動指示を行うものである。移動の契機となるイベントとして、リソースの性能劣化や障害発生などが想定されるが、どのようなイベントを移動実行の契機として採用してもよい。
【００６２】
まずプロセッサ１１３００は、各装置の情報収集プログラムから収集された、サーバ−ストレージマッピングテーブルの構成情報、及び性能情報テーブルの性能情報を参照し、移動先のリソースに対する影響が閾値要件の範囲内かどうか確認する。具体的には、移動先アレイグループの容量が移動後にも不足が生じないか、と移動先のリソースの性能（ポートのＩＯＰＳ・ＲＡＩＤグループのＩＯＰＳ等）が、移動後も性能閾値要件を満たすかを確認する（ステップ３００１）。  
次に、プロセッサ１１３００は、移動対象のボリュームを利用しているサーバで利用されているサーバプログラム（ＯＳ、動作アプリケーション）で運用されていた履歴を持つ、リザーブボリュームが存在するかどうかを、リザーブボリュームテーブル１１１５４を利用して確認する（ステップ３００２）。  
そして、対象となるリザーブボリュームが存在する場合、そのボリュームについての過去の履歴情報を、論理ボリューム番号１１１５３Ｊをキーとして構成・性能履歴テーブル１１１５３から取得して、最も良い性能を示していたボリュームを抽出する（ステップ３００３）。最後に、プロセッサ１１３００は条件に適合したリザーブボリュームを移動先に決定する（ステップ３００４）。
【００６３】
ステップ３００２においてリザーブボリュームが存在しないと判定された場合、ステップ３００１において要件を満たすボリュームのうち最も良いＩ／Ｏ性能を示すボリュームを移動先に決定する。また、移動先のリソースに対する移動による影響が、全ての移動先候補での要件を満たさない場合、もっとも良いＩ／Ｏ性能を示すＲＡＩＤグループからボリュームを作成し、パス設定を行うことで要件を満たすような移動先を作成する（ステップ３００５）。
【００６４】
以上説明した本発明の第１実施形態では、移動先を決定するために、ボリュームを利用する計算機４１０００におけるサーバプログラム４１１１０（ＯＳ、アプリケーション）、及び過去の履歴性能情報を利用して、移動先を決定することで、論理ボリューム５１２１０〜５１２１２を提供する記憶デバイスの性能を考慮したボリュームの移動を実施可能としている。
【００６５】
＝＝第２実施形態＝＝
次に、本発明の第２実施形態について説明する。図１２に第２実施形態に係る管理計算機を備えた計算機システム１’のブロック構成図の一例を示す。計算機システム１’は、情報収集プログラム４１１２０及びサーバプログラム４１１１０、４２１１０を有する１台以上の計算機４１０００、４２０００、情報収集プログラムを有する１台以上のストレージ装置５１０００、５２０００、そして性能依存関係判定プログラム、移動先決定プログラム、及びサーバ移動プログラムを有する１台以上の管理サーバを有する。
【００６６】
本実施形態では、計算機４１０００及びストレージ装置５１０００の有する情報収集プログラムは、サーバ及びストレージ装置５１０００、５２０００内に保持されているものとしているが、別途、情報収集プログラム用サーバを設けてそれに実装したり、管理サーバ内に置いて動作させたりしてもよい。また、サーバ移動プログラムは、管理サーバ内に保持されているものとしたが、別途、サーバ移動管理サーバを設けてもよいし、また任意の計算機内に置いて動作させてもよい。
【００６７】
以下、本実施形態の説明に際しては、計算機システム１’は、２台の計算機４１０００（計算機Ａ）、４２０００（計算機Ｂ）と、ボリュームデータ移動機能を保持する２台のストレージ装置５１０００（ストレージ装置Ａ）、５２０００（ストレージ装置Ｂ）とを備え、これらがファイバチャネルネットワーク３００００を介して相互に接続されているものとする。計算機４１０００、４２０００上のサーバプログラム４１１１０及び４２１１０は、それぞれサーバ移動機構を備えるものとする。
【００６８】
図１２に図示するように、ストレージ装置Ａ（５１０００）は、計算機Ａ（４１０００）に対して、ボリューム５１２１０（ボリュームｖ１）、ボリューム５１２１１（ボリュームｖ２）として、ＲＡＩＤグループ５１２２０（ＲＧ１）からなる論理ボリューム５１２１０〜５１２１２を提供し、また、ストレージ装置Ｂ（５２０００）は、計算機Ｂ（４２０００）に対して、ボリューム５１２１２（ボリュームｖ３）として、ＲＡＩＤグループ５１２２１（ＲＧ２）からなる論理ボリューム５１２１０〜５１２１２を提供している。
【００６９】
なお、計算機Ａ（４１０００）、計算機Ｂ（４２０００）とストレージ装置Ａ（５１０００）、ストレージ装置Ｂ（５２０００）の接続形態については、図１２に示すようにファイバチャネルネットワーク３００００を利用して直接接続されるのではなく、１台以上のファイバチャネルスイッチなどネットワーク機器を介して接続される構成であってもよい。また、本実施形態では計算機Ａ（４１０００）、計算機Ｂ（４２０００）とストレージ装置Ａ（５１０００）、ストレージ装置Ｂ（５２０００）の接続に、ファイバチャネルネットワーク３００００を利用したが、データ通信用のネットワークであれば、別のネットワークでもよく、例えばＩＰネットワークでもよい。
【００７０】
管理サーバＡ（１００００）は、管理用ネットワーク２００００を介して、計算機Ａ（４１０００）、計算機Ｂ（４２０００）、及びストレージ装置Ａ（５１０００）、ストレージ装置Ｂ（５２０００）に接続されており、各装置の情報収集プログラムによる機能ブロックと通信する。
【００７１】
性能依存関係判定プログラム１１１１０の実行により、性能上の関連判定処理を行う。移動先決定プログラム１１１２０の実行により、性能依存関係判定プログラムにより判定された性能上の関連、リザーブボリューム情報、及び構成・性能履歴に従い、移動先決定処理を行う。サーバ移動プログラム１１１３０の実行により、ストレージ装置５１０００、５２０００の論理ボリューム５１２１０〜５１２１２に格納されたデータの移動を行う。
【００７２】
次に、本実施形態における管理サーバ１１０００について説明する。図１３は、管理サーバ１１０００の構成例を示すブロック図である。
【００７３】
管理サーバ１１０００は、メモリ１１１００と、管理用ネットワーク２００００に接続するための通信装置１１２００と、プロセッサ１１３００と、移動先決定プログラム１１１２０などによる移動制御処理の実行結果を出力するディスプレイ装置などの出力装置１１４００と、管理者が指示を入力するためのキーボードなどの入力装置１１５００と、記憶装置１１６００とを有し、これらは内部バスなどの通信路１１７００を介して相互に接続されている。
【００７４】
メモリ１１１００には、管理サーバによって実行されるプログラムである、性能依存関係判定プログラム１１１１０、移動先決定プログラム１１１２０、及びサーバ移動プログラム１１１３０と、計算機システム１’内の各装置を管理する情報収集プログラム実行により収集した情報を格納する領域である構成・性能情報リポジトリ１１１５０が格納されている。サーバ移動プログラム１１１３０が実装されている点が第１実施形態における管理サーバの構成と異なる。
【００７５】
次に、本実施形態における計算機４１０００について説明する。図１４は、計算機４１０００の構成例を示すブロック図である。  
計算機４１０００は、メモリ４１１００と、記憶装置４１２００と、プロセッサ４１３００と、管理用ネットワーク２００００に接続するための管理Ｉ／Ｆ制御部４１８００と、ファイバチャネルネットワーク３００００に接続するための一つ以上のデータＩ／Ｆ制御部４１９００とを備え、これらは内部バス等の通信路４１７００を介して相互に通信可能に接続されている。
【００７６】
メモリ４１１００には、仮想メモリ４１１００Ａ、４１１００Ｂと、これら仮想メモリを動作させるために仮想プロセッサや仮想Ｉ／Ｆ制御部をエミュレートしている仮想化ソフトウェアプログラム４１１４０と、管理サーバ１１０００と通信して当該サーバの管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム４１１２０と、ストレージ装置５１０００、５２０００から公開されているボリュームを当該サーバ内にマウントするプログラムであるボリューム管理プログラム４１１３０とが格納されている。
【００７７】
各仮想メモリ４１１００Ａ、４１１００Ｂ内には、仮想化ソフトウェアプログラム４１１４０により仮想化された、仮想プロセッサや仮想Ｉ／Ｆ制御部などのリソースを利用して動作する、仮想的な計算機を表すサーバプログラム４１１１０Ａ、４１１１０Ｂがそれぞれ格納されている。
【００７８】
ここで、各サーバプログラム４１１１０Ａ、４１１１０Ｂは移動機構を備え、ＯＳ及びＯＳ上の動作アプリケーションを含む。なお、説明を簡略化するために、仮想化機構の一般的な構成であり、仮想ソフトウェアプログラム４１１４０によりエミュレートされる仮想プロセッサや仮想Ｉ／Ｆ制御部については説明並びに図示を省略する。
【００７９】
ボリューム管理プログラム４２２００は、その実行により、ストレージ装置５１０００（ストレージ装置Ａ）から計算機４１０００（計算機Ａ）に提供されている仮想ボリュームを計算機Ａ（４１０００）の記憶装置４１２００内のボリューム４１２１０にマウントし、計算機Ａ（４１０００）上の業務プログラムからストレージ装置Ａ（５１０００）のボリュームを利用可能としている。
【００８０】
なお、本実施形態では計算機は２台（４１０００、４２０００）、各サーバの備えるデータＩ／Ｆ制御部４１９００は一つとしたが、サーバの台数及びデータＩ／Ｆ制御部４１９００の数はいくつであってもよい。また、サーバプログラム４１１１０、４２１１０、情報収集プログラム４１１２０、４２１２０、ボリューム管理プログラム４１１３０は、メモリ４１１００内に格納されているものとしたが、他の記憶装置あるいは記憶媒体に格納し、実行時にプロセッサ４１３００がメモリ４１１００上に読み込みを行うようにしてもよい。あるいは、別のサーバ上あるいはストレージ装置５１０００、５２０００内、サーバ内で保持するようにしてもよい。
【００８１】
ストレージ装置５１０００、５２０００の構成については、第１実施形態のものと同様であるため、説明を省略する。
【００８２】
また、サーバ−ストレージマッピングテーブル１１１５１、性能情報テーブル１１１５２、１１１５２’、構成・性能情報履歴テーブル１１１５３、リザーブボリュームテーブル１１１５４の各テーブルに格納される個々の情報については第１実施形態の場合と同様であるため、説明を省略する。
【００８３】
以下、本実施形態において実行される処理について、図面を参照しつつ説明する。まず、管理サーバ１１０００上の移動先決定プログラム１１１２０実行によって実現される移動先決定処理について説明する。図１５は、移動先決定処理の処理フローを示すフローチャートである。特に明記のない限り、この処理フローの各ステップは、管理サーバ１１０００上のプロセッサ１１３００によって実行される。
【００８４】
本処理は、管理サーバ１１０００のプロセッサ１１３００がメモリ１１１００に格納されている当該プログラムを読み出して実行することにより行われる。実行タイミングとしては、計算機システム１’内で計算機４１０００、４２０００あるいは論理ボリューム５１２１０〜５１２１２移動実施の契機となるイベントが発生した時であり、その際に移動先の決定を行うものである。
【００８５】
移動の契機となるイベントとしては、リソースの性能劣化や障害発生などを想定することができるが、どのようなイベントを採用しても構わない。ストレージ装置５１０００、５２０００におけるイベント、計算機４１０００、４２０００におけるイベント、ファイバチャネルスイッチなどネットワーク機器におけるイベント、あるいは物理的なネットワークにおけるイベントなど、ユーザが利用するアプリケーションから物理的な記憶領域におけるＩ／Ｏ経路に関連するどのようなリソースにおけるどのようなイベントを採用してもよい。
【００８６】
なお、Ｉ／Ｏ経路とは、物理サーバから物理ディスクまでの一連の経路（パス）のことであり、例えば、物理サーバのＨＢＡポート、ネットワークスイッチ、ストレージコントローラ、論理ボリューム５１２１０〜５１２１２、及びＲＡＩＤグループ５１２２０、５１２２１等の要素を含んでいる。またここでは、上記のＩ／Ｏ経路上にある要素をリソースと称している。
【００８７】
プロセッサ１１３００は、計算機システム１’に含まれている各装置の情報収集プログラムから収集された、サーバ−ストレージマッピングテーブル１１１５１の構成情報、及び性能情報テーブル１１１５２、１１１５２’の性能情報を参照し、移動の契機となるイベントが発生したリソースを含むＩ／Ｏ経路を抽出する（ステップ４００１）。
【００８８】
次に、抽出したＩ／Ｏ経路上のＱｏＳ保証されていないリソースを共有する他のＩ／Ｏ経路が存在するか否かを確認する（ステップ４００２）。二以上の異なるＩ／Ｏ経路が、同一のリソースを共用している場合があり得る。このような場合、共用している一のＩ／Ｏ経路について変更が生じた場合に、他のＩ／Ｏ経路の性能に影響を及ぼす。このような共用リソースは一般に、「ＱｏＳ保証されていない」こととなる。
【００８９】
例えば図７の構成・性能履歴情報テーブル１１１５３を参照すると、サーバプログラムＡ（４１１１０Ａ）とサーバプログラムＢ（４１１１０Ｂ）とはデータＩ／Ｆ「ｐ１」を共用している。したがって、このデータＩ／Ｆ「ｐ１」は、サーバプログラムＡ、Ｂ（４１１１０Ａ、４１１１０Ｂ）のＩ／Ｏ経路においてＱｏＳ保証されないリソースということになる。
【００９０】
ステップ４００２に該当するＩ／Ｏ経路が存在する場合、当該Ｉ／Ｏ経路に含まれない、他の計算機及びＲＡＩＤグループを含むＩ／Ｏ経路が存在するか否かを確認する（ステップ４００３）。ステップ４００３において、該当するＩ／Ｏ経路が存在する場合、当該Ｉ／Ｏ経路上のリソースに対する、移動による影響が閾値要件の範囲内かどうか確認する（ステップ４００４）。
【００９１】
この閾値要件は、移動が実行された場合に、移動先となる各リソースについて、そのリソースを含むＩ／Ｏ経路を利用している既存アプリケーションが、移動後も正常に実行することができるかどうかを判定する観点から、あらかじめ各リソースについての閾値を決定しておくものである。このような閾値としては、例えば、移動先となるＲＡＩＤグループの記憶容量、Ｉ／Ｏ経路に属するＨＢＡポートあるいはＲＡＩＤグループのＩＯＰＳ値、移動先となる計算機のＣＰＵ性能、メモリ性能、移動先計算機で稼働している他のアプリケーションのＩ／Ｏ応答速度などを採用することができる。
【００９２】
なお、移動先のＩ／Ｏ経路に含まれるリソースの重要度に応じて重み付けを行い、移動先のＩ／Ｏ経路全体が受ける影響を点数化して、これを移動可否の指標として用いるようにしてもよい。このような構成によれば、Ｉ／Ｏ経路全体で見れば許容範囲であるにもかかわらず、いずれか一のリソースについて所定の閾値要件を満たさないために、移動そのものが実行できなくなるといった、硬直的なシステム運用を強いられることを避けることができる。
【００９３】
ステップ４００４において移動の影響が閾値要件の範囲内であると判定された場合には、プロセッサ１１３００は、移動対象のボリュームを利用しているサーバで稼働しているサーバプログラム４１１１０、４２１１０（ＯＳ、動作アプリケーション）によって運用されていた履歴を持つリザーブボリュームが存在するかどうかを、リザーブボリュームテーブル１１１５４を参照して確認する（ステップ４００５）。
【００９４】
ここで、移動対象と同一のサーバプログラム４１１１０、４２１１０により使用された経歴のあるリザーブボリュームを選択するのは、移動実行後に移動されたサーバプログラム４１１１０、４２１１０が当該リザーブボリュームを使用開始するまでの時間を短縮することが期待されるためである。例えば、移動対象と同一のサーバプログラム４１１１０、４２１１０がＯＳとして同じＷｉｎｄｏｗｓＸＰ（登録商標）を使用していたとすれば、ファイルシステムの同一性より、物理ディスクフォーマットに要する時間を短縮することができる効果が得られ、あるいはセキュリティの問題を別にすれば、ディスクフォーマット自体を省略することができる場合も考えられる。
【００９５】
対象となるリザーブボリュームが存在する場合（ステップ４００５、Ｙｅｓ）、過去の履歴情報を構成・性能履歴テーブル１１１５３から取得して、最も良い性能を示していたボリュームを抽出する（ステップ４００６）。最後に、プロセッサ１１３００は条件に応じた移動先を決定する（ステップ４００７）。
【００９６】
同一サーバプログラム４１１１０、４２１１０が使用していたリザーブボリュームが存在しない場合には（ステップ４００５、Ｎｏ）、ステップ４００４において閾値要件を満たすボリュームのうち最も良いＩ／Ｏ性能を示すボリュームを移動先に決定する（ステップ４００７）。
【００９７】
移動先のリソースに対する移動による影響が、全ての移動先候補での閾値要件を満たさない場合（ステップ４００４、Ｎｏ）、図６Ｂの性能情報テーブル１１１５２’を参照してもっとも良いＩ／Ｏ性能を示すＲＡＩＤグループから新規ボリュームを作成し、Ｉ／Ｏ経路のパス設定を行うことで閾値要件を満たすような移動先を作成する（ステップ４００８）。
【００９８】
ステップ４００２において、ＱｏＳ保証されていないリソースを共有するＩ／Ｏ経路が存在しないと判定された場合には（ステップ４００２、Ｎｏ）、ＲＡＩＤグループ、ストレージコントローラ、あるいは計算機といった、必要なリソースを例えば管理者が適宜手動で追加した上で（ステップ４００９）、ステップ４００８を実施する。なお、ＱｏＳ保証されていないリソースを共有するＩ／Ｏ経路が存在しないと判定された場合は、プロセッサ１１３００は、出力装置１１４００としてのディスプレイ装置等を通じて管理者にその旨を報知すればよい。
【００９９】
次いで、プロセッサ１１３００は、移動先に決定したボリュームへのＩ／Ｏ経路に含まれる計算機をサーバプログラム４１１１０、４２１１０の移動先に決定する（ステップ４０１０）。ここで、移動先の計算機のプロセッサ性能やデータＩ／Ｆ制御部の性能、あるいはメモリ使用率などに対する影響は、閾値要件の範囲内かどうかの確認ステップ４００４において確認している。
【０１００】
次に、本実施形態における、管理サーバ１１０００上の移動先決定プログラム１１１２０により指示され、管理サーバ１１０００上のサーバ移動プログラム１１１３０、及びストレージ装置５１０００上のデータ移動プログラム５１１２０実行により実現される移動処理について説明する。図１６は、この移動処理の処理フローを示すフローチャートである。
【０１０１】
本処理は、計算機４１０００のプロセッサ４１３００が、メモリ４１１００に格納されているサーバ移動プログラム１１１３０を実行し、合わせてストレージ装置５１０００のプロセッサ５１３００がメモリ５１１００に格納されているデータ移動プログラム５１１２０を実行することにより行われる。本処理は、移動先決定プログラム１１１２０が移動先を決定した後に実行されるもので、決定した移動先への移動指示を行うものである。
【０１０２】
まず、管理サーバ１１０００は、移動先決定プログラム１１１２０により、データ移動プログラム５１１２０に、移動先決定プログラム１１１２０により決定された移動先のボリュームにデータコピーを実施するよう指示を出す（ステップ５００１）。
【０１０３】
データコピーの具体的な手順は以下の通りである。まず、データ移動プログラム５１１２０は、本指示により、コピーペア作成コマンドおよびコピー開始コマンドを発行する。ここで、コピーペア作成コマンドには、コピーペア管理番号、コピー元ボリューム名、コピー先ボリューム名を含む、データコピーに必要な情報が含まれ、コピー開始コマンドには、コピーペア作成時に割り当てられたコピーペア管理番号が含まれる。
【０１０４】
次いで、コピー開始コマンドの実行に伴い、コピー元ボリュームのデータは、コピー先ボリュームに送信され、コピー元ボリュームへの書き込みデータは差分管理される。コピー開始コマンド発行時のコピー元ボリュームのデータコピーが完了すると、続いて、差分管理していたコピー元ボリュームへの書き込みデータをコピー先ボリュームへデータコピーする。差分管理しているデータ量が十分に小さくなった段階で、コピー元のボリュームへのＩ／Ｏを一時的に受信させない状態にし、すべての差分データをコピー先ボリュームへ送信し、サーバプログラム４１１１０、４２１１０からのＩ／Ｏを受信するボリュームをコピー先ボリュームに切り替える。
【０１０５】
次に、移動先決定プログラム１１１２０は、サーバ移動プログラム１１１３０に、移動先決定プログラム１１１２０により決定された移動先のボリュームをサーバプログラム４１１１０、４２１１０に認識させるよう仮想化ソフトウェアプログラム４１１４０に指示を出し、移動対象のサーバプログラム４１１１０、４２１１０が、移動後に、移動先ボリュームを認識可能とするよう、指示を出す（ステップ５００２）。
【０１０６】
そして、移動先決定プログラム１１１２０は、サーバ移動プログラム１１１３０に、移動先のボリュームを認識した仮想化ソフトウェアプログラム４１１４０が管理する仮想メモリに対して、移動の対象となるサーバプログラム４１１１０、４２１１０のメモリイメージを送信する（ステップ５００３）。
【０１０７】
この際、メモリイメージの差分管理を行い、メモリイメージの差分が十分に小さくなった段階で、移動元のサーバプログラム４１１１０におけるＩ／Ｏ処理を一時停止して、全ての差分メモリイメージを、移動先の仮想メモリに移動を行い、同期が完了した段階で、サーバプログラム４１１１０、４２１１０におけるＩ／Ｏ処理を再開させることとする。
【０１０８】
本実施形態では、データ移動の実施を先に行う処理フローを示したが、サーバの移動を先に実施し、その後でボリュームのデータ移動の実施を行ってもよく、これらにより本発明が限定されるものではない。
【０１０９】
以上説明した本発明の第２実施形態によれば、移動先を決定するために、性能劣化したリソースを含むＩ／Ｏパスに対して、性能依存関係を持たないＩ／Ｏパスを、性能改善のための移動先候補として抽出することで、システム全体の性能を考慮した移動を実施可能とし、システム構成が複雑な場合にも適切な対策をとることができる。
【０１１０】
＝＝第３実施形態＝＝
次に、本発明の第３実施形態について説明する。図１７に、本実施形態に係る計算機システム１’’のブロック構成図の一例を示す。
【０１１１】
本実施形態の計算機システム１’’は、情報収集プログラム４１１２０、４２１２０及びサーバプログラム４１１１０、４２１１０を有する１台以上の計算機４１０００、４２０００と、情報収集プログラム５１１１０、５２１１０を有する１台以上のストレージ装置５１０００、５２０００と、性能依存関係判定プログラム１１１１０、移動先決定プログラム１１１２０、及びサーバ移動プログラム１１１３０を有する１台以上の管理サーバ１１０００とを有する。
【０１１２】
本実施形態では、計算機４１０００、４２０００及びストレージ装置５１０００、５２０００の有する情報収集プログラム４１１１０、４２１１０、５１１１０、５２１１０は、計算機４１０００、４２０００及びストレージ装置５１０００、５２０００内に保持されているものとしたが、別途、情報収集プログラム用サーバ内や、管理サーバ１１０００内で動作させてもよい。また、サーバ移動プログラム１１１３０は、管理サーバ１１０００内に実装されているものとしたが、別にサーバ移動管理サーバを設けてこれに実装する、あるいは、任意の他の計算機内で動作させるとしてもよい。
【０１１３】
ここでは、説明を簡略にするために、本実施形態の計算機システム１’’は、２台の計算機４１０００（計算機Ａ）、４２０００（計算機Ｂ）と、ボリュームデータ移動機能を保持する２台のストレージ装置５１０００（ストレージ装置Ａ）、５２０００（ストレージ装置Ｂ）と、管理サーバ１１０００（管理サーバＡ）とを備え、これらがファイバチャネルネットワーク３００００を介して相互に接続されているものとする。
【０１１４】
計算機４１０００、４２０００上のサーバプログラム４１１１０及び４２１１０は仮想的な計算機を表し、それぞれ計算機の移動機構を備える。また、２台のストレージ装置５１０００、５２０００間はデータバス等の通信路９００００を介して相互に接続されている。
【０１１５】
本構成は、各ストレージ装置５１０００、５２０００をモジュールとして相互接続し、各ストレージ装置５１０００、５２０００の内部バスを、通信路９００００を介して共有することで、複数台のストレージ装置５１０００、５２０００を一台のストレージとして計算機４１０００、４２０００により利用可能としている構成である。
【０１１６】
ストレージ装置Ａ（５１０００）は、計算機Ａ（４１０００）に対して、ボリューム５１２１０（ボリュームｖ１）として、ＲＡＩＤグループ５１２２０（ＲＧ１）からなる論理ボリュームを提供し、また、ストレージ装置Ｂ（５２０００）は、計算機Ｂ（４２０００）に対して、ボリューム５１２１１（ボリュームｖ２）として、ＲＡＩＤグループ５１２２１（ＲＧ２）からなる論理ボリュームを提供する。
【０１１７】
なお、計算機Ａ、計算機Ｂとストレージ装置Ａ（５１０００）、ストレージ装置Ｂ（５２０００）の接続形態については、図１７に示すようにファイバチャネルネットワーク３００００を利用して直接接続してもよいし、１台以上のファイバチャネルスイッチなどネットワーク機器を介して接続してもよい。
【０１１８】
また、本実施形態では計算機Ａ、計算機Ｂとストレージ装置Ａ（５１０００）、ストレージ装置Ｂ（５２０００）の接続に、ファイバチャネルネットワーク３００００を利用したが、データ通信用のネットワークであれば、例えばＩＰネットワークのような別種のネットワークでもよい。また、２台のストレージ装置５１０００と５２０００間にもデータ通信用の高速なネットワークが利用される。
【０１１９】
次に、ストレージ装置５１０００、５２０００について説明する。図１８は、ストレージ装置５１０００、５２０００の構成例を示すブロック図である。  
本実施形態では、複数台のストレージ装置５１０００、５２０００間が、データバス等の通信路９００００を介して相互に接続される。各ストレージ装置５１０００、５２０００の基本的な構成については、第１実施形態の場合と同様であるため、説明を省略する。
【０１２０】
本実施形態において、複数のストレージ装置５１０００、５２０００はクラスタ構造を構成しており、計算機４１０００、４２０００からのＩ／Ｏは各ストレージ装置５１０００、５２０００の任意の領域に格納することができる。また、管理サーバ１１０００の構成は第１実施形態のものと同様であり、計算機４１０００、４２０００の構成については第２実施形態のものと同様であるため、同じく説明を省略する。
【０１２１】
また、サーバ−ストレージマッピングテーブル１１１５１、性能情報テーブル１１１５２、１１１５２’、構成・性能情報履歴テーブル１１１５３、リザーブボリュームテーブル１１１５４の各テーブルに格納される個々の情報については第１実施形態と同様であるため、同じく説明を省略する。
【０１２２】
次に、本実施形態における、管理サーバ１１０００上の移動先決定プログラム１１１２０が実施する移動先決定処理について説明する。図１９は、この移動先決定処理の処理フローを示すフローチャートである。
【０１２３】
本処理は、管理サーバ１１０００のプロセッサ１１３００が、メモリ１１１００に格納されている移動先決定プログラム１１１２０を実行することにより行われる。  
本処理は、計算機システム１’’内で、計算機４１０００、４２０００の性能劣化などのイベントが発生した時に実行されるもので、これによりサーバプログラム４１１１０、４２１１０の移動先を決定し、決定した移動先への移動指示を行うものである。特に明記のない限り、本処理フローにおける各ステップは、管理サーバ１１０００上のプロセッサ１１３００によって実行される。
【０１２４】
図１９のフローチャートにおけるステップ６００１からステップ６００５までの処理内容は、第１実施形態のステップ３００１からステップ３００５までと同様であるため、説明を省略する。  
ステップ６００４、あるいはステップ６００５においてボリュームの移動先が決定した後、プロセッサ１１３００は、移動先に決定したボリュームへのＩ／Ｏ経路に含まれ、かつ距離の近い計算機をサーバプログラム４１１１０、４２１１０の移行先に決定する（ステップ６００６）。  
ここで、サーバとストレージ装置５１０００、５２０００間の距離を表す指標として、例えば、スイッチを何段経由して接続されているかを表すホップ数、あるいはサーバ−ストレージ装置５１０００、５２０００間の実際の物理的な距離などを利用して判定する。
【０１２５】
移動処理については、第２実施形態に関して図１６を参照して説明した処理と同様のため、説明を省略する。また、本実施形態では、データ移動の実施を先に行う処理フローを示したが、サーバの移動を先に実施し、その後でボリュームのデータ移動の実施を行ってもよいことは、第２実施形態の場合と同様である。
【０１２６】
以上説明したように、本発明の第３実施形態によれば、サーバプログラム４１１１０、４２１１０の移動、又はボリューム移動のみが実行された場合に、サーバとそれが使用するストレージ装置５１０００、５２０００間の距離が離れてしまうことにより、性能改善効果が得られない結果を生じないように、サーバプログラム４１１１０、４２１１０の移動先を決定する際に、サーバとストレージ装置５１０００、５２０００間の距離を考慮して移動先候補が決定される。これにより、システム全体の性能を考慮した移動を実施可能とし、システム構成が複雑な場合にも対策をとることができる。
【０１２７】
以上、本願発明を、その実施形態に即して添付図面を参照しながら説明したが、本願発明は、これらの実施形態に限定されるものではない。また、本願発明の趣旨を逸脱しないいかなる変形例、均等物も本願発明の範囲内のものである。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１実施形態に係る計算機システム１の構成例を示すブロック図である。
【図２】本発明の第１実施形態に係る管理サーバ１１０００の構成例を示すブロック図である。
【図３】本発明の第１実施形態に係る計算機４１０００の構成例を示すブロック図である。
【図４】本発明の第１実施形態に係るストレージ装置５１０００の構成例を示すブロック図である。
【図５】本発明の第１実施形態に係る管理サーバ１１０００が保持するリポジトリ内に格納される、計算機システム１の構成情報テーブル１１１５１の一例を示す図である。
【図６Ａ】本発明の第１実施形態に係る管理サーバ１１０００が保持するリポジトリ内に格納される、計算機システム１の性能情報テーブル１１１５２の一例を示す図である。
【図６Ｂ】本発明の第１実施形態に係る管理サーバ１１０００が保持するリポジトリ内に格納される、計算機システム１の性能情報テーブル１１１５２’の一例を示す図である。
【図７】本発明の第１実施形態に係る管理サーバ１１０００が保持するリポジトリ内に格納される、計算機システム１の構成情報・性能情報履歴テーブル１１１５３の一例を示す図である。
【図８】本発明の第１実施形態に係るリザーブボリュームテーブル１１１５４の一例を示す図である。
【図９】本発明の第１実施形態に係る性能依存関係判定プログラム１１１１０によるテーブル作成処理の一例を表すフローチャートである。
【図１０】本発明の第１実施形態に係る移動先決定プログラム１１１２０によるリザーブボリューム情報テーブル作成処理の一例を示すフローチャートである。
【図１１】本発明の第１実施形態に係る移動先決定プログラム１１１２０による移動先決定処理の一例を示すフローチャートである。
【図１２】本発明の第２実施形態に係る計算機システム１’の構成例を示すブロック図である。
【図１３】本発明の第２実施形態に係る管理サーバ１１０００の構成例を示すブロック図である。
【図１４】本発明の第２実施形態に係る計算機４１０００、４２０００の構成例を示すブロック図である。
【図１５】本発明の第２実施形態に係る移動先決定プログラム１１１２０による移動先決定処理の一例を示すフローチャートである。
【図１６】本発明の第２実施形態に係る移動先決定プログラム１１１２０による移動処理の一例を示すフローチャートである。
【図１７】本発明の第３実施形態に係る計算機システム１’’の構成例を示すブロック図である。
【図１８】本発明の第３実施形態に係るストレージ装置５１０００、５２０００の構成例を示すブロック図である。
【図１９】本発明の第３実施形態に係る移動先決定プログラム１１１２０による移動先決定処理の一例を示すフローチャートである。
【符号の説明】
【０１２９】
１、１’、１”  計算機システム
１１０００  管理サーバ
１１１１０  性能依存関係判定プログラム
１１１２０  移動先決定プログラム
１１１３０  サーバ移動プログラム
２００００  管理用ネットワーク
３００００  ファイバチャネルネットワーク
４１０００、４２０００  計算機
４１１１０、４２１１０  サーバプログラム
４１１２０、４２１２０  情報収集プログラム
５１０００、５２０００  ストレージ装置
５１１１０、５２１１０  情報収集プログラム
５１１２０、５２１２０  データ移動プログラム
５１２１０、５１２１１、５１２１２  論理ボリューム
５１２２０、５１２２１  ＲＡＩＤグループ
【図１】
2010086049.tif 000003
【図２】
2010086049.tif 000004
【図３】
2010086049.tif 000005
【図４】
2010086049.tif 000006
【図５】
2010086049.tif 000007
【図６Ａ】
2010086049.tif 000008
【図６Ｂ】
2010086049.tif 000009
【図７】
2010086049.tif 000010
【図８】
2010086049.tif 000011
【図９】
2010086049.tif 000012
【図１０】
2010086049.tif 000013
【図１１】
2010086049.tif 000014
【図１２】
2010086049.tif 000015
【図１３】
2010086049.tif 000016
【図１４】
2010086049.tif 000017
【図１５】
2010086049.tif 000018
【図１６】
2010086049.tif 000019
【図１７】
2010086049.tif 000020
【図１８】
2010086049.tif 000021
【図１９】
2010086049.tif 000022