JP2010086049A - 管理計算機及びその運用方法 - Google Patents

管理計算機及びその運用方法 Download PDF

Info

Publication number
JP2010086049A
JP2010086049A JP2008251346A JP2008251346A JP2010086049A JP 2010086049 A JP2010086049 A JP 2010086049A JP 2008251346 A JP2008251346 A JP 2008251346A JP 2008251346 A JP2008251346 A JP 2008251346A JP 2010086049 A JP2010086049 A JP 2010086049A
Authority
JP
Japan
Prior art keywords
computer
logical volume
path
performance
management computer
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.)
Pending
Application number
JP2008251346A
Other languages
English (en)
Inventor
Atsushi Nakajima
淳 中島
Yukinori Sakashita
幸徳 坂下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008251346A priority Critical patent/JP2010086049A/ja
Priority to US12/271,615 priority patent/US8127092B2/en
Publication of JP2010086049A publication Critical patent/JP2010086049A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】計算機システム全体の性能を考慮した計算機あるいはデータ移動を可能とする。
【解決手段】計算機41000と、論理ボリューム51210〜51212を提供するRAIDグループ51220、51221を有するストレージ装置51000とに接続されている管理計算機である。計算機41000からRAIDグループ51220、51221までのI/O経路上のリソースに所定のイベントが発生した場合に、そのI/O経路を抽出し、いずれのリソースも共用せず、かつ前記抽出したI/O経路を使用していない、他の計算機及び論理ボリュームが使用している他のI/O経路があるか否かを判定する。他のI/O経路があれば、計算機41000及び論理ボリューム51210〜51212をこれに移動した場合に、そこに含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内となるか判定する。範囲内ならば、当該他のI/O経路を移動先に決定する。
【選択図】図12

Description

本発明は管理計算機及びその運用方法に係わり、特に計算機システムの性能劣化時に、計算機からストレージ装置の論理ボリュームまでのI/O経路、又はストレージ装置の記憶デバイス、あるいはその双方の性能を考慮して実行される計算機あるいは論理ボリューム移動管理のための管理計算機及びその運用方法に関する。
計算機システムにおける計算機あるいはボリュームデータの移動(マイグレーション)を制御する技術として、例えば特許文献1には、計算機上のOSでの主記憶装置、拡張記憶装置、プロセッサ、入出力チャネルなどの資源情報を考慮し、ある計算機で動作しているOSおよびアプリケーションを、他の計算機へ移動する技術が開示されている。
また、計算機上のOS及びアプリケーションの移動と、ストレージのボリュームデータの移動の連携動作を可能とする技術が公知である。
米国特許第6802062号明細書
前記のように、従来、計算機の移動と、ストレージのボリュームデータの移動を連携させて構成変更操作を行うことが可能となっている。しかし、性能面では計算機側の性能のみを考慮しており、ストレージ側の性能までを合わせて考慮した移動を行っていなかった。そのため、性能劣化時などにサーバからストレージまで含めた、計算機システム全体の性能を考慮した計算機あるいはボリュームデータの移動を実施することが困難であった。
前記の、及び他の課題を解決するための本発明の一態様は、ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、前記管理計算機が、前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのI/O経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むI/O経路を抽出し、当該I/O経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むI/O経路を使用していない、他の計算機及び論理ボリュームが使用している他のI/O経路があるか否かを判定する性能依存関係判定部と、前記性能依存関係判定部が、前記他のI/O経路があると判定した場合に、前記計算機及び前記論理ボリュームを前記他のI/O経路に移動した場合に、当該他のI/O経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のI/O経路に含まれているリソースの性能を表す情報に基づいて判定し、閾値要件の範囲内に保持されると判定された場合に、当該他のI/O経路を前記計算機及び論理ボリュームの移動先に決定する移動先決定部とを備えたことを特徴とする管理計算機である。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
本発明によれば、計算機システムの性能劣化時に、計算機からストレージ装置の論理ボリュームまでのI/O経路、又はストレージ装置の記憶デバイス、あるいはその双方の性能を考慮して計算機あるいは論理ボリュームの移動管理を行うことができる。
以下、図面を参照しつつ実施の形態について説明する。
==第1実施形態==
まず本発明の第1実施形態による計算機システム1の構成例について説明する。図1は、本発明の第1実施形態に係る管理計算機を備えた計算機システム1の構成例を示すブロック図である。
計算機システム1は、情報収集プログラム41120及びサーバプログラム41110を有する計算機41000、情報収集プログラム51110を有するストレージ装置51000、そして性能依存関係判定プログラム11110(これを実行することによって実現される機能ブロックが「性能依存関係判定部」である。)及び移動先決定プログラム11120(これを実行することによって実現される機能ブロックが「移動先決定部」である。)を有する管理サーバ11000(管理計算機)を有する。本実施形態では、計算機41000及びストレージ装置51000の有する情報収集プログラム41120、51110は、計算機41000及びストレージ装置51000内に保持されているものとしたが、別途、情報収集プログラム用サーバを設けてそれに実装したり、管理サーバ11000内に置いたりして動作させてもよい。
なお、本実施形態の計算機システム1においては、図示の通り、1台の計算機41000(計算機A)と、1台のストレージ装置51000(ストレージ装置A)とがファイバチャネルネットワーク30000を介して相互に接続されているものとするが、それぞれを2台以上設けて構成してもよい。
図1では、ストレージ装置A(51000)は、計算機A(41000)に対して、ボリューム51210(ボリュームv1)、ボリューム51211(ボリュームv2)として、RAIDグループ51220(RG1)からなる論理ボリュームを提供し、ボリューム51212(ボリュームv3)として、RAIDグループ51221(RG2)からなる論理ボリュームを提供する。なお、ここでは論理ボリュームがRAIDグループ51220、51221によって提供されるとしているが、各論理ボリュームがそれぞれ単体物理ディスクにより提供される構成をとることも差し支えない。また、以下単に「ボリューム」というときは、「論理ボリューム」を意味するものとする。
なお、計算機A(41000)とストレージ装置A(51000)との接続形態については、図1に示すようにファイバチャネルネットワーク30000を利用して直接接続されるのではなく、1台以上のファイバチャネルスイッチなどネットワーク機器を介して接続される形態をとってもよい。また、本実施形態では計算機A(41000)とストレージ装置A(51000)との接続に、ファイバチャネルネットワーク30000を利用しているが、データ通信用のネットワークであれば、別種のネットワークでもよく、例えばIPネットワークでもよい。
管理サーバA(10000)は、管理用ネットワーク20000を介して、計算機A(41000)及びストレージ装置A(51000)に接続されており、各装置の情報収集プログラム41120、51110による機能ブロックと通信する。性能依存関係判定プログラム11110の実行により、性能上の関連判定処理を行う。移動先決定プログラム11120の実行により、性能依存関係判定プログラム11110により判定された性能上の関連、リザーブボリューム情報、及び構成・性能履歴に従い、移動先決定処理を行う。
次に、管理サーバ11000について説明する。図2は管理サーバ11000の構成例を示すブロック図である。
管理サーバ11000は、メモリ11100と、管理用ネットワーク20000に接続するための通信装置11200と、プロセッサ11300と、移動先決定プログラム11120などによる移動制御処理の実行結果を出力するディスプレイ装置などの出力装置11400と、管理者が指示を入力するためのキーボードなどの入力装置11500と、記憶装置11600とを有し、これらは内部バスなどの通信路11700を介して相互に接続される。
メモリ11100には、管理サーバによって実行されるプログラムである、性能依存関係判定プログラム11110、移動先決定プログラム11120と、計算機システム1内の計算機41000及びストレージ装置51000をそれぞれ管理する情報収集プログラム41120、51110から収集した構成・性能情報を格納する領域である構成・性能情報リポジトリ11150が格納されている。
構成・性能情報リポジトリ11150には、計算機41000及び計算機41000上で動作しているサーバプログラム41110(OS、動作アプリケーション)の情報と、計算機41000内にマウントされたボリュームの対応関係を保持するサーバ−ストレージマッピングテーブル11151と、計算機システム1に含まれる装置及び装置の持つリソースの性能情報を保持する性能情報テーブル11152と、サーバ−ストレージマッピングテーブル11151の情報と性能情報テーブル11152の情報とを対応付けて、時間軸に従い保持する構成・性能履歴テーブル11153と、任意の計算機41000から利用されていないボリュームが、過去にどのようなサーバプログラム41110(OS、動作アプリケーション)に利用されていたかの情報を保持する、リザーブボリューム情報テーブル11154とが格納されている。
プロセッサ11300は、メモリ11100に格納されるプログラムを読み出して実行し、またメモリ11100に格納される各テーブルの参照、更新処理を行なう。
本実施形態は、サーバ移動プログラム11130を管理サーバ11000内のメモリ11100内に格納されているものとしたが、例えば、計算機41000のメモリ41100内で動作させてもよく、また、別の計算機上で動作させてもよい。また、そのほかの上述の各プログラム及び各テーブルについて、メモリ11100内に格納されているものとしたが、これら各プログラム及び各テーブルが、記憶装置11600あるいは別の記録媒体に格納され、実行時にプロセッサ11300がメモリ11100上に読み出し、処理を行うものとしてもよい。また、さらに別の計算機上あるいはストレージ装置51000内、計算機41000内に保持するものとしてもよい。
次に、計算機41000について説明する。図3は計算機41000の構成例を示すブロック図である。
計算機41000は、メモリ41100と、記憶装置41200と、プロセッサ41300と、管理用ネットワーク20000に接続するための管理I/F制御部41800と、ファイバチャネルネットワーク30000に接続するための一つ以上のデータI/F制御部41900とを備えており、これらは内部バス等の通信路41700を介して相互に接続される。
メモリ41100には、OS及びOS上の動作アプリケーションを表すサーバプログラム41110と、管理サーバ11000と通信して当該サーバ11000の管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム41120と、ストレージ装置51000から公開されているボリュームを当該サーバ11000内にマウントするプログラムであるボリューム管理プログラム41130とが格納されている。
ボリューム管理プログラム41130は、ストレージ装置51000から、計算機システム1に提供されている仮想ボリュームを、管理サーバ11000の記憶装置11600内のボリュームにマウントし、計算機41000上の業務プログラムからストレージ装置51000のボリュームを利用可能としている。
なお、本実施形態では計算機41000は1台、計算機41000の備えるデータI/F制御部41900は一つとしたが、計算機41000の台数及びデータI/F制御部41900の数はいくつであってもよい。また、サーバプログラム41110、情報収集プログラム41120、ボリューム管理プログラム41130は、メモリ41100内に格納されているものとしたが、記憶装置11600あるいは記憶媒体に格納され、実行時にプロセッサ41300がメモリ41100上に読み込みを行うものとしてもよく、また、別のサーバ上あるいはストレージ装置51000内、サーバ内で保持することとしてもよい。
次に、ストレージ装置51000について説明する。図4はストレージ装置51000の構成例を示すブロック図である。
ストレージ装置51000は、メモリ51100と、データ格納領域を提供するボリューム提供部51200と、プロセッサ51300と、ディスクI/F制御部51410、51420と、管理用ネットワーク20000に接続するための管理I/F制御部51800と、ファイバチャネルネットワーク30000に接続するためのデータI/F制御部51900とを有し、これらは内部バス等の通信路51700を介して相互に接続される。
メモリ51100には、管理サーバ11000と通信して当該ストレージ装置51000の管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム51110、及び物理領域におけるデータの移動を行うデータ移動プログラム51120が格納されている。
ボリューム提供部51200は、複数の物理ディスクから構成されたRAIDグループ51220、51221の部分領域、すなわち論理ボリュームを提供することで、物理領域に対する当該ストレージ装置51000外からのアクセスを可能としている。ストレージ装置51000を1台、ストレージ装置51000の備えるデータI/F制御部を一つ、ストレージ装置51000の備えるディスクI/F制御部を一つとしたが、ストレージ装置51000の台数及びデータI/F制御部の数、ディスクI/F制御部の数はいくつであってもよい。
また、情報収集プログラム51110はメモリ51100内に格納されているものとしたが、別の記憶装置あるいは別の記憶媒体に格納され、実行時にプロセッサ51300がメモリ51100上に読み出して実行するものとしてもよい。また、別のサーバ上あるいはストレージ装置51000内、サーバ内で保持するものとしてもよい。
次に、本実施形態において使用される各テーブルについて順次説明する。まず、サーバ−ストレージマッピングテーブル11151について説明する。図5は、管理サーバ11000が保持する構成・性能情報リポジトリ11150内に格納されるサーバ−ストレージマッピングテーブル11151の一例を示す図である。
本テーブルは、各サーバ上の各ボリュームが、ストレージ装置51000のどのデータI/F制御部51900を経由して、どの論理ボリューム51210〜51212、RAIDグループ51220、51221に対応しているかについての対応関係を格納しているテーブルである。サーバ−ストレージマッピングテーブル11151には、性能依存関係判定プログラム11110の実行により、レコードが追加される。
サーバ−ストレージマッピングテーブル11151の計算機名欄11151Aには、計算機41000を一意に識別するための値が登録される。ボリューム番号欄11151Bには、サーバ内のボリュームを一意に識別するための値が登録される。ストレージ名欄11151Cには、ボリューム番号欄11151Bのボリュームが利用しているストレージ装置51000を一意に識別するための値が登録される。
データI/F番号欄11151Dには、ボリューム番号欄11151Bのボリュームが利用しているデータI/Fを一意に識別するための値が登録される。論理ボリューム番号欄11151Eには、ストレージ名欄11151Cで一意に識別されるストレージ装置51000内で論理ボリューム51210〜51212を一意に識別するための値が登録される。
RAIDグループ番号欄11151Fには、ストレージ名欄11151Cで一意に識別されるストレージ装置51000内でRAIDグループ51220、51221を一意に識別するための値が登録される。
次に、性能情報テーブル11152について説明する。図6Aは、管理サーバ11000が保持する構成・性能情報リポジトリ11150内に格納される、論理ボリューム51210〜51212に関する性能情報テーブル11152の一例を、図6Bは、RAIDグループ51220、51221に関する性能情報テーブル11152’の一例を示す。
本テーブルは、各サーバ上のボリューム、各ストレージ装置51000内の論理ボリューム51210〜51212、各ストレージ装置51000内のRAIDグループ51220、51221などの性能情報を格納したテーブルである。性能情報テーブル11152、11152’には、性能依存関係判定プログラム11110の実行によりレコードが追加される。
性能情報テーブル11152は論理ボリューム51210〜51212に関する情報を格納しており、そのストレージ名欄11152Aには、ストレージ装置51000を一意に識別するための値が登録される。論理ボリューム番号欄11152Bには、ストレージ名欄11152Aにより一意に識別されたストレージ装置51000内で論理ボリューム51210〜51212を一意に識別するための値が登録される。
I/O Response Time欄11152Cには、論理ボリューム51210〜51212へのI/Oに対する応答時間の平均値が登録される。IOPS(I/O Per Second)欄には論理ボリューム51210〜51212への単位時間当たりのI/O量(毎秒処理されるI/O数)が登録される。I/O Transfer Rate欄11152Eには、論理ボリューム51210〜51212からの単位時間当たりのI/O転送量が登録される。
また、性能情報テーブルの他の一例を11152´に示す。性能情報テーブル11152´はRAIDグループ51220、51221に関する情報を格納しており、そのストレージ名欄11152Fにはストレージ装置51000を一意に識別するための値が登録される。RAIDグループ番号欄11152Gには、RAIDグループ51220、51221を一意に識別するための値が登録される。I/O Response Time欄11152Hには、RAIDグループ51220、51221へのI/Oに対する応答時間が登録される。IOPS欄11152Iには、RAIDグループ51220、51221への単位時間当たりのI/O量が登録される。I/O Transfer Rate欄11152Jには、RAIDグループ51220、51221からの単位時間当たりのI/O転送量が登録される。
本実施形態では、前記のように、性能情報の一例として、I/O Response Time、I/O Per Second、I/O Transfer Rateの各値を挙げたが、Read I/O Response Time、Write I/O Response TimeなどのReadとWrite別々の性能や、その他の性能指標を保持させることとしてもよい。
次に、構成・性能履歴テーブル11153について説明する。図7に、管理サーバ11000が保持する構成・性能情報リポジトリ11150内に格納される構成・性能履歴テーブル11153の一例を示す。図7では図示の都合により二段に分けて示しているが、上下段一連で一つの構成・性能履歴テーブル11153を構成している。
本テーブルは、計算機システム1の構成情報(OSと動作アプリケーションの種類)・性能情報の履歴を格納したテーブルである。構成・性能履歴テーブル11153には、性能依存関係判定プログラム11110の実行により、レコードが追加される。
構成・性能履歴テーブル11153のTime Stamp欄11153Aには、管理サーバ11000の情報収集プログラムが実現する機能ブロックが各装置の情報収集プログラムが実現する機能ブロックと通信して、各装置が保持する情報を取得した時刻を示す値が登録される。サーバプログラム欄11153Bには、OS及びOS上の動作アプリケーションを含むサーバプログラム41110を一意に識別するための値が登録される。
計算機名欄11153Cには、計算機41000を一意に識別するための値が登録される。ボリューム番号欄11153Dには、サーバ内のボリュームを一意に識別するための値が登録される。OS欄11153Eには、どのようなサーバプログラム(OS)が利用されていたかの情報が登録される。ここでは、WinXP、Solarisといった製品名で特定しているが、特にこれに制約されるものではない。
APP欄11153Fには、どのようなサーバプログラム(動作アプリケーション)が利用されていたかの情報が登録される。ここでは例えばOracleといった製品名で特定している。IOPS欄11153Gには、どの程度のIOPSで運用されていたかの情報が登録される。IOPS値が大きいほど要求されるI/O処理能力が大であることを示している。
また、ストレージ名欄11153Hにはボリューム番号欄11153Dのボリュームが利用しているストレージ装置51000を一意に識別するための値が登録される。データI/F番号欄11153Iには、ボリューム番号欄11153Dに記録されているボリュームが利用しているデータI/Fを一意に識別するための値が登録される。論理ボリューム番号欄11153Jには、ストレージ名欄11153Hに記録されている値で一意に識別されるストレージ装置51000内で、論理ボリューム51210〜51212を一意に識別するための値が登録される。
I/O Response Time欄11153Kには、論理ボリューム51210〜51212へのI/Oに対する応答時間の平均値が登録される。RAIDグループ番号欄11153Lには、ストレージ名欄11153Hに記録されている値によって一意に識別されるストレージ装置51000内で、RAIDグループ51220、51221を一意に識別するための値が登録される。IOPS欄11153Mには、RAIDグループ51220、51221への単位時間当たりのI/O量が登録される。
次に、管理サーバ11000が保持する構成・性能情報リポジトリ11150内に格納されるリザーブボリュームテーブル11154について説明する。図8に、リザーブボリュームテーブル11154の一例を示す。本テーブルは、ボリューム格納データの移動が実行された後利用されなくなり残された、移動元のボリュームの情報を表すテーブルである。リザーブボリュームテーブル11154には、後述する移動先決定プログラム11120実行によりレコードが追加される。
リザーブボリュームテーブル11154のOS欄11154Aには、当該リザーブボリュームが過去にどのようなサーバアプリケーション(OS)から利用されていたかの情報が登録される。ここでは、例えばWinXP、Solaris(いずれも登録商標)といった製品名で特定している。
APP欄11154Bには、当該リザーブボリュームが過去にどのようなサーバアプリケーション(動作アプリケーション)から利用されていたかの情報が登録される。ここでは、例えばOracle(登録商標)、数値計算と言った製品名やアプリケーションの種類で特定している。
ストレージ名欄11154Cには、当該リザーブボリュームを保有するストレージ装置51000を一意に識別するための値が登録される。論理ボリューム番号欄11154Dには、ストレージ名欄11154Cに記録されている値によって一意に識別されるストレージ装置51000内で、論理ボリューム51210〜51212を一意に識別するための値が登録される。
RAIDグループ番号欄11154Eには、ストレージ名欄11153Hに記録されている値によって一意に識別されるストレージ装置51000内で、RAIDグループ51220、51221を一意に識別するための値が登録される。
次に、管理サーバ11000上の性能依存関係判定プログラム11110の実行により実現される、テーブル作成処理について説明する。図9に、性能依存関係判定プログラム11110を読み出したプロセッサ11300が実行するテーブル作成処理を表すフローチャート1000を示す。
本処理は、管理サーバ11000のプロセッサ11300がメモリ11100に格納されている当該プログラムを実行することにより、定期的に実行される。これにより、SAN環境における、最新の構成情報およびI/O性能情報を特定するためのテーブル、並びにSAN環境における構成情報・性能情報の履歴を示すテーブルが作成される。以下、特に明記のない限り、各ステップは管理サーバ11000上のプロセッサ11300によって実施される。
プロセッサ11300は、計算機41000の情報収集プログラム41120等の各装置の情報収集プログラムが実現する機能ブロックと通信して、各装置が保持する構成・性能情報を取得する(ステップ1001)。この場合、特に性能情報は理想的にはリアルタイムにモニタしておくことが望ましいので、例えば1分間隔で情報取得を行うように設定される。
次に、プロセッサ11300は、サーバ−ストレージマッピング、及び性能情報リポジトリの性能情報テーブルに、取得した構成情報及び性能情報を格納する(ステップ1002)。
その後、プロセッサ11300は、ステップ1002で格納した各情報を利用して、性能情報を含んだ構成情報履歴からなる、構成・性能履歴テーブルを生成する(ステップ1003)。
本実施形態では、性能依存関係判定プログラム11110の実行により、各装置の情報収集プログラムを介して構成情報を取得し、構成情報リポジトリ内のサーバ−ストレージマッピングテーブルに構成情報を格納するタイミングと、性能依存関係判定プログラム11110の実行により各装置の情報収集プログラムを介して性能情報を取得し、性能情報リポジトリの性能情報テーブルに格納するタイミングとが同じであるとしているが、異なるタイミングで実施してもよい。
また、性能上の関連を構成情報とマージし、履歴情報を生成するタイミングを、構成・性能情報を取得するタイミングと同じであるとしたが、ストレージ装置51000の情報収集プログラム51110実行により性能値の変化を監視し、性能依存関係判定プログラム11110にその変化を適時に通知するなどして、ステップ1003を実施してもよい。
各装置が保持する情報の取得ステップ1001では、プロセッサ11300は、各装置上で動作する情報収集プログラムを実行することに収集された各情報を、それぞれ収集する。
情報収集プログラム51110は、その実行によりサーバ名、サーバでのボリューム番号、接続先のストレージ装置名、接続先のデータI/F番号、接続先のストレージ装置51000の備える論理ボリューム番号、及び接続先のストレージ装置51000の備えるRAIDグループ51220、51221の対応関係を、例えばSCSI Inquiryをサーバ上から各論理ボリューム51210〜51212に対して発行し、ストレージ装置51000から情報を取得するなど、どのような方法によって取得してもよい。
サーバ41000上の情報収集プログラム41120による機能ブロックはサーバに関する性能情報を、例えばOSに依頼するなど、どのような方法によって取得してもよい。またストレージ装置51000上の情報収集プログラム51110による機能ブロックはストレージに関する性能情報を、例えば性能情報が蓄えられたメモリから取得するなど、どのような方法によって取得してもよい。
次に、サーバ−ストレージマッピングテーブル11151、及び性能情報テーブル11152の作成ステップ1002では、プロセッサ11300は、各テーブルに新規エントリを作成し、ステップ1001で収集した情報を新規作成したエントリの各欄に登録する。そして、構成・性能情報テーブル11153の作成ステップ1003では、プロセッサ11300は、構成・性能情報テーブルに新規エントリを作成し、ステップ1002で登録したエントリの情報を取得し、新規作成したエントリの各欄に登録する。
次に、管理サーバ11000上の移動先決定プログラム11120実行により実現されるテーブル作成処理について説明する。図10に移動先決定プログラム11120を読み出したプロセッサ11300が実行するテーブル作成処理を表すフローチャート2000を示す。
本処理は、管理サーバ11000のプロセッサ11300がメモリ11100に格納されている当該プログラムを実行することにより行われる。本処理は、データ移動処理が行われた後に実行されるもので、通常の書き込み可能なボリュームとして提供させないボリュームを、リザーブボリュームテーブル11154に登録するものである。特に明記のない限り、各ステップは管理サーバ11000上のプロセッサ11300が実施するものとする。
まずプロセッサ11300は、ストレージ装置51000の情報収集プログラム51110による機能ブロックと通信し、データ移動プログラム51120による移動処理情報を収集する(ステップ2001)。
データ移動が正常終了したかどうかを確認し(ステップ2002)、移動が正常に完了している場合、構成・性能履歴テーブル11153から、移動元のストレージ、論理ボリューム51210〜51212、RAIDグループ51220、51221の情報と、当該ボリュームで利用されていた履歴が存在する、OS、アプリケーションの情報を取得する(ステップ2003)。
最後に、ステップ2003で取得した情報を、計算機41000に対して利用可能なボリュームとして提供しないボリュームとして、リザーブボリュームテーブル11154に登録する(ステップ2004)。
次に、管理サーバ11000上の移動先決定プログラム11120実行により実現される移動先決定処理について説明する。図11に移動先決定プログラム11120を読み出したプロセッサ11300が実行する移動先決定処理を表すフローチャート3000を示す。
本処理は、管理サーバ11000のプロセッサ11300がメモリ11100に格納されている当該プログラムを実行することにより行われる。特に明記のない限り、各ステップは管理サーバ11000上のプロセッサ11300が実施するものとする。
本処理は、計算機システム1内で論理ボリューム移動実施の契機となる所定のイベントが発生した時に実行されるもので、移動先を決定し、決定した移動先への移動指示を行うものである。移動の契機となるイベントとして、リソースの性能劣化や障害発生などが想定されるが、どのようなイベントを移動実行の契機として採用してもよい。
まずプロセッサ11300は、各装置の情報収集プログラムから収集された、サーバ−ストレージマッピングテーブルの構成情報、及び性能情報テーブルの性能情報を参照し、移動先のリソースに対する影響が閾値要件の範囲内かどうか確認する。具体的には、移動先アレイグループの容量が移動後にも不足が生じないか、と移動先のリソースの性能(ポートのIOPS・RAIDグループのIOPS等)が、移動後も性能閾値要件を満たすかを確認する(ステップ3001)。
次に、プロセッサ11300は、移動対象のボリュームを利用しているサーバで利用されているサーバプログラム(OS、動作アプリケーション)で運用されていた履歴を持つ、リザーブボリュームが存在するかどうかを、リザーブボリュームテーブル11154を利用して確認する(ステップ3002)。
そして、対象となるリザーブボリュームが存在する場合、そのボリュームについての過去の履歴情報を、論理ボリューム番号11153Jをキーとして構成・性能履歴テーブル11153から取得して、最も良い性能を示していたボリュームを抽出する(ステップ3003)。最後に、プロセッサ11300は条件に適合したリザーブボリュームを移動先に決定する(ステップ3004)。
ステップ3002においてリザーブボリュームが存在しないと判定された場合、ステップ3001において要件を満たすボリュームのうち最も良いI/O性能を示すボリュームを移動先に決定する。また、移動先のリソースに対する移動による影響が、全ての移動先候補での要件を満たさない場合、もっとも良いI/O性能を示すRAIDグループからボリュームを作成し、パス設定を行うことで要件を満たすような移動先を作成する(ステップ3005)。
以上説明した本発明の第1実施形態では、移動先を決定するために、ボリュームを利用する計算機41000におけるサーバプログラム41110(OS、アプリケーション)、及び過去の履歴性能情報を利用して、移動先を決定することで、論理ボリューム51210〜51212を提供する記憶デバイスの性能を考慮したボリュームの移動を実施可能としている。
==第2実施形態==
次に、本発明の第2実施形態について説明する。図12に第2実施形態に係る管理計算機を備えた計算機システム1’のブロック構成図の一例を示す。計算機システム1’は、情報収集プログラム41120及びサーバプログラム41110、42110を有する1台以上の計算機41000、42000、情報収集プログラムを有する1台以上のストレージ装置51000、52000、そして性能依存関係判定プログラム、移動先決定プログラム、及びサーバ移動プログラムを有する1台以上の管理サーバを有する。
本実施形態では、計算機41000及びストレージ装置51000の有する情報収集プログラムは、サーバ及びストレージ装置51000、52000内に保持されているものとしているが、別途、情報収集プログラム用サーバを設けてそれに実装したり、管理サーバ内に置いて動作させたりしてもよい。また、サーバ移動プログラムは、管理サーバ内に保持されているものとしたが、別途、サーバ移動管理サーバを設けてもよいし、また任意の計算機内に置いて動作させてもよい。
以下、本実施形態の説明に際しては、計算機システム1’は、2台の計算機41000(計算機A)、42000(計算機B)と、ボリュームデータ移動機能を保持する2台のストレージ装置51000(ストレージ装置A)、52000(ストレージ装置B)とを備え、これらがファイバチャネルネットワーク30000を介して相互に接続されているものとする。計算機41000、42000上のサーバプログラム41110及び42110は、それぞれサーバ移動機構を備えるものとする。
図12に図示するように、ストレージ装置A(51000)は、計算機A(41000)に対して、ボリューム51210(ボリュームv1)、ボリューム51211(ボリュームv2)として、RAIDグループ51220(RG1)からなる論理ボリューム51210〜51212を提供し、また、ストレージ装置B(52000)は、計算機B(42000)に対して、ボリューム51212(ボリュームv3)として、RAIDグループ51221(RG2)からなる論理ボリューム51210〜51212を提供している。
なお、計算機A(41000)、計算機B(42000)とストレージ装置A(51000)、ストレージ装置B(52000)の接続形態については、図12に示すようにファイバチャネルネットワーク30000を利用して直接接続されるのではなく、1台以上のファイバチャネルスイッチなどネットワーク機器を介して接続される構成であってもよい。また、本実施形態では計算機A(41000)、計算機B(42000)とストレージ装置A(51000)、ストレージ装置B(52000)の接続に、ファイバチャネルネットワーク30000を利用したが、データ通信用のネットワークであれば、別のネットワークでもよく、例えばIPネットワークでもよい。
管理サーバA(10000)は、管理用ネットワーク20000を介して、計算機A(41000)、計算機B(42000)、及びストレージ装置A(51000)、ストレージ装置B(52000)に接続されており、各装置の情報収集プログラムによる機能ブロックと通信する。
性能依存関係判定プログラム11110の実行により、性能上の関連判定処理を行う。移動先決定プログラム11120の実行により、性能依存関係判定プログラムにより判定された性能上の関連、リザーブボリューム情報、及び構成・性能履歴に従い、移動先決定処理を行う。サーバ移動プログラム11130の実行により、ストレージ装置51000、52000の論理ボリューム51210〜51212に格納されたデータの移動を行う。
次に、本実施形態における管理サーバ11000について説明する。図13は、管理サーバ11000の構成例を示すブロック図である。
管理サーバ11000は、メモリ11100と、管理用ネットワーク20000に接続するための通信装置11200と、プロセッサ11300と、移動先決定プログラム11120などによる移動制御処理の実行結果を出力するディスプレイ装置などの出力装置11400と、管理者が指示を入力するためのキーボードなどの入力装置11500と、記憶装置11600とを有し、これらは内部バスなどの通信路11700を介して相互に接続されている。
メモリ11100には、管理サーバによって実行されるプログラムである、性能依存関係判定プログラム11110、移動先決定プログラム11120、及びサーバ移動プログラム11130と、計算機システム1’内の各装置を管理する情報収集プログラム実行により収集した情報を格納する領域である構成・性能情報リポジトリ11150が格納されている。サーバ移動プログラム11130が実装されている点が第1実施形態における管理サーバの構成と異なる。
次に、本実施形態における計算機41000について説明する。図14は、計算機41000の構成例を示すブロック図である。
計算機41000は、メモリ41100と、記憶装置41200と、プロセッサ41300と、管理用ネットワーク20000に接続するための管理I/F制御部41800と、ファイバチャネルネットワーク30000に接続するための一つ以上のデータI/F制御部41900とを備え、これらは内部バス等の通信路41700を介して相互に通信可能に接続されている。
メモリ41100には、仮想メモリ41100A、41100Bと、これら仮想メモリを動作させるために仮想プロセッサや仮想I/F制御部をエミュレートしている仮想化ソフトウェアプログラム41140と、管理サーバ11000と通信して当該サーバの管理情報及び性能情報を送受信するためのプログラムである情報収集プログラム41120と、ストレージ装置51000、52000から公開されているボリュームを当該サーバ内にマウントするプログラムであるボリューム管理プログラム41130とが格納されている。
各仮想メモリ41100A、41100B内には、仮想化ソフトウェアプログラム41140により仮想化された、仮想プロセッサや仮想I/F制御部などのリソースを利用して動作する、仮想的な計算機を表すサーバプログラム41110A、41110Bがそれぞれ格納されている。
ここで、各サーバプログラム41110A、41110Bは移動機構を備え、OS及びOS上の動作アプリケーションを含む。なお、説明を簡略化するために、仮想化機構の一般的な構成であり、仮想ソフトウェアプログラム41140によりエミュレートされる仮想プロセッサや仮想I/F制御部については説明並びに図示を省略する。
ボリューム管理プログラム42200は、その実行により、ストレージ装置51000(ストレージ装置A)から計算機41000(計算機A)に提供されている仮想ボリュームを計算機A(41000)の記憶装置41200内のボリューム41210にマウントし、計算機A(41000)上の業務プログラムからストレージ装置A(51000)のボリュームを利用可能としている。
なお、本実施形態では計算機は2台(41000、42000)、各サーバの備えるデータI/F制御部41900は一つとしたが、サーバの台数及びデータI/F制御部41900の数はいくつであってもよい。また、サーバプログラム41110、42110、情報収集プログラム41120、42120、ボリューム管理プログラム41130は、メモリ41100内に格納されているものとしたが、他の記憶装置あるいは記憶媒体に格納し、実行時にプロセッサ41300がメモリ41100上に読み込みを行うようにしてもよい。あるいは、別のサーバ上あるいはストレージ装置51000、52000内、サーバ内で保持するようにしてもよい。
ストレージ装置51000、52000の構成については、第1実施形態のものと同様であるため、説明を省略する。
また、サーバ−ストレージマッピングテーブル11151、性能情報テーブル11152、11152’、構成・性能情報履歴テーブル11153、リザーブボリュームテーブル11154の各テーブルに格納される個々の情報については第1実施形態の場合と同様であるため、説明を省略する。
以下、本実施形態において実行される処理について、図面を参照しつつ説明する。まず、管理サーバ11000上の移動先決定プログラム11120実行によって実現される移動先決定処理について説明する。図15は、移動先決定処理の処理フローを示すフローチャートである。特に明記のない限り、この処理フローの各ステップは、管理サーバ11000上のプロセッサ11300によって実行される。
本処理は、管理サーバ11000のプロセッサ11300がメモリ11100に格納されている当該プログラムを読み出して実行することにより行われる。実行タイミングとしては、計算機システム1’内で計算機41000、42000あるいは論理ボリューム51210〜51212移動実施の契機となるイベントが発生した時であり、その際に移動先の決定を行うものである。
移動の契機となるイベントとしては、リソースの性能劣化や障害発生などを想定することができるが、どのようなイベントを採用しても構わない。ストレージ装置51000、52000におけるイベント、計算機41000、42000におけるイベント、ファイバチャネルスイッチなどネットワーク機器におけるイベント、あるいは物理的なネットワークにおけるイベントなど、ユーザが利用するアプリケーションから物理的な記憶領域におけるI/O経路に関連するどのようなリソースにおけるどのようなイベントを採用してもよい。
なお、I/O経路とは、物理サーバから物理ディスクまでの一連の経路(パス)のことであり、例えば、物理サーバのHBAポート、ネットワークスイッチ、ストレージコントローラ、論理ボリューム51210〜51212、及びRAIDグループ51220、51221等の要素を含んでいる。またここでは、上記のI/O経路上にある要素をリソースと称している。
プロセッサ11300は、計算機システム1’に含まれている各装置の情報収集プログラムから収集された、サーバ−ストレージマッピングテーブル11151の構成情報、及び性能情報テーブル11152、11152’の性能情報を参照し、移動の契機となるイベントが発生したリソースを含むI/O経路を抽出する(ステップ4001)。
次に、抽出したI/O経路上のQoS保証されていないリソースを共有する他のI/O経路が存在するか否かを確認する(ステップ4002)。二以上の異なるI/O経路が、同一のリソースを共用している場合があり得る。このような場合、共用している一のI/O経路について変更が生じた場合に、他のI/O経路の性能に影響を及ぼす。このような共用リソースは一般に、「QoS保証されていない」こととなる。
例えば図7の構成・性能履歴情報テーブル11153を参照すると、サーバプログラムA(41110A)とサーバプログラムB(41110B)とはデータI/F「p1」を共用している。したがって、このデータI/F「p1」は、サーバプログラムA、B(41110A、41110B)のI/O経路においてQoS保証されないリソースということになる。
ステップ4002に該当するI/O経路が存在する場合、当該I/O経路に含まれない、他の計算機及びRAIDグループを含むI/O経路が存在するか否かを確認する(ステップ4003)。ステップ4003において、該当するI/O経路が存在する場合、当該I/O経路上のリソースに対する、移動による影響が閾値要件の範囲内かどうか確認する(ステップ4004)。
この閾値要件は、移動が実行された場合に、移動先となる各リソースについて、そのリソースを含むI/O経路を利用している既存アプリケーションが、移動後も正常に実行することができるかどうかを判定する観点から、あらかじめ各リソースについての閾値を決定しておくものである。このような閾値としては、例えば、移動先となるRAIDグループの記憶容量、I/O経路に属するHBAポートあるいはRAIDグループのIOPS値、移動先となる計算機のCPU性能、メモリ性能、移動先計算機で稼働している他のアプリケーションのI/O応答速度などを採用することができる。
なお、移動先のI/O経路に含まれるリソースの重要度に応じて重み付けを行い、移動先のI/O経路全体が受ける影響を点数化して、これを移動可否の指標として用いるようにしてもよい。このような構成によれば、I/O経路全体で見れば許容範囲であるにもかかわらず、いずれか一のリソースについて所定の閾値要件を満たさないために、移動そのものが実行できなくなるといった、硬直的なシステム運用を強いられることを避けることができる。
ステップ4004において移動の影響が閾値要件の範囲内であると判定された場合には、プロセッサ11300は、移動対象のボリュームを利用しているサーバで稼働しているサーバプログラム41110、42110(OS、動作アプリケーション)によって運用されていた履歴を持つリザーブボリュームが存在するかどうかを、リザーブボリュームテーブル11154を参照して確認する(ステップ4005)。
ここで、移動対象と同一のサーバプログラム41110、42110により使用された経歴のあるリザーブボリュームを選択するのは、移動実行後に移動されたサーバプログラム41110、42110が当該リザーブボリュームを使用開始するまでの時間を短縮することが期待されるためである。例えば、移動対象と同一のサーバプログラム41110、42110がOSとして同じWindowsXP(登録商標)を使用していたとすれば、ファイルシステムの同一性より、物理ディスクフォーマットに要する時間を短縮することができる効果が得られ、あるいはセキュリティの問題を別にすれば、ディスクフォーマット自体を省略することができる場合も考えられる。
対象となるリザーブボリュームが存在する場合(ステップ4005、Yes)、過去の履歴情報を構成・性能履歴テーブル11153から取得して、最も良い性能を示していたボリュームを抽出する(ステップ4006)。最後に、プロセッサ11300は条件に応じた移動先を決定する(ステップ4007)。
同一サーバプログラム41110、42110が使用していたリザーブボリュームが存在しない場合には(ステップ4005、No)、ステップ4004において閾値要件を満たすボリュームのうち最も良いI/O性能を示すボリュームを移動先に決定する(ステップ4007)。
移動先のリソースに対する移動による影響が、全ての移動先候補での閾値要件を満たさない場合(ステップ4004、No)、図6Bの性能情報テーブル11152’を参照してもっとも良いI/O性能を示すRAIDグループから新規ボリュームを作成し、I/O経路のパス設定を行うことで閾値要件を満たすような移動先を作成する(ステップ4008)。
ステップ4002において、QoS保証されていないリソースを共有するI/O経路が存在しないと判定された場合には(ステップ4002、No)、RAIDグループ、ストレージコントローラ、あるいは計算機といった、必要なリソースを例えば管理者が適宜手動で追加した上で(ステップ4009)、ステップ4008を実施する。なお、QoS保証されていないリソースを共有するI/O経路が存在しないと判定された場合は、プロセッサ11300は、出力装置11400としてのディスプレイ装置等を通じて管理者にその旨を報知すればよい。
次いで、プロセッサ11300は、移動先に決定したボリュームへのI/O経路に含まれる計算機をサーバプログラム41110、42110の移動先に決定する(ステップ4010)。ここで、移動先の計算機のプロセッサ性能やデータI/F制御部の性能、あるいはメモリ使用率などに対する影響は、閾値要件の範囲内かどうかの確認ステップ4004において確認している。
次に、本実施形態における、管理サーバ11000上の移動先決定プログラム11120により指示され、管理サーバ11000上のサーバ移動プログラム11130、及びストレージ装置51000上のデータ移動プログラム51120実行により実現される移動処理について説明する。図16は、この移動処理の処理フローを示すフローチャートである。
本処理は、計算機41000のプロセッサ41300が、メモリ41100に格納されているサーバ移動プログラム11130を実行し、合わせてストレージ装置51000のプロセッサ51300がメモリ51100に格納されているデータ移動プログラム51120を実行することにより行われる。本処理は、移動先決定プログラム11120が移動先を決定した後に実行されるもので、決定した移動先への移動指示を行うものである。
まず、管理サーバ11000は、移動先決定プログラム11120により、データ移動プログラム51120に、移動先決定プログラム11120により決定された移動先のボリュームにデータコピーを実施するよう指示を出す(ステップ5001)。
データコピーの具体的な手順は以下の通りである。まず、データ移動プログラム51120は、本指示により、コピーペア作成コマンドおよびコピー開始コマンドを発行する。ここで、コピーペア作成コマンドには、コピーペア管理番号、コピー元ボリューム名、コピー先ボリューム名を含む、データコピーに必要な情報が含まれ、コピー開始コマンドには、コピーペア作成時に割り当てられたコピーペア管理番号が含まれる。
次いで、コピー開始コマンドの実行に伴い、コピー元ボリュームのデータは、コピー先ボリュームに送信され、コピー元ボリュームへの書き込みデータは差分管理される。コピー開始コマンド発行時のコピー元ボリュームのデータコピーが完了すると、続いて、差分管理していたコピー元ボリュームへの書き込みデータをコピー先ボリュームへデータコピーする。差分管理しているデータ量が十分に小さくなった段階で、コピー元のボリュームへのI/Oを一時的に受信させない状態にし、すべての差分データをコピー先ボリュームへ送信し、サーバプログラム41110、42110からのI/Oを受信するボリュームをコピー先ボリュームに切り替える。
次に、移動先決定プログラム11120は、サーバ移動プログラム11130に、移動先決定プログラム11120により決定された移動先のボリュームをサーバプログラム41110、42110に認識させるよう仮想化ソフトウェアプログラム41140に指示を出し、移動対象のサーバプログラム41110、42110が、移動後に、移動先ボリュームを認識可能とするよう、指示を出す(ステップ5002)。
そして、移動先決定プログラム11120は、サーバ移動プログラム11130に、移動先のボリュームを認識した仮想化ソフトウェアプログラム41140が管理する仮想メモリに対して、移動の対象となるサーバプログラム41110、42110のメモリイメージを送信する(ステップ5003)。
この際、メモリイメージの差分管理を行い、メモリイメージの差分が十分に小さくなった段階で、移動元のサーバプログラム41110におけるI/O処理を一時停止して、全ての差分メモリイメージを、移動先の仮想メモリに移動を行い、同期が完了した段階で、サーバプログラム41110、42110におけるI/O処理を再開させることとする。
本実施形態では、データ移動の実施を先に行う処理フローを示したが、サーバの移動を先に実施し、その後でボリュームのデータ移動の実施を行ってもよく、これらにより本発明が限定されるものではない。
以上説明した本発明の第2実施形態によれば、移動先を決定するために、性能劣化したリソースを含むI/Oパスに対して、性能依存関係を持たないI/Oパスを、性能改善のための移動先候補として抽出することで、システム全体の性能を考慮した移動を実施可能とし、システム構成が複雑な場合にも適切な対策をとることができる。
==第3実施形態==
次に、本発明の第3実施形態について説明する。図17に、本実施形態に係る計算機システム1’’のブロック構成図の一例を示す。
本実施形態の計算機システム1’’は、情報収集プログラム41120、42120及びサーバプログラム41110、42110を有する1台以上の計算機41000、42000と、情報収集プログラム51110、52110を有する1台以上のストレージ装置51000、52000と、性能依存関係判定プログラム11110、移動先決定プログラム11120、及びサーバ移動プログラム11130を有する1台以上の管理サーバ11000とを有する。
本実施形態では、計算機41000、42000及びストレージ装置51000、52000の有する情報収集プログラム41110、42110、51110、52110は、計算機41000、42000及びストレージ装置51000、52000内に保持されているものとしたが、別途、情報収集プログラム用サーバ内や、管理サーバ11000内で動作させてもよい。また、サーバ移動プログラム11130は、管理サーバ11000内に実装されているものとしたが、別にサーバ移動管理サーバを設けてこれに実装する、あるいは、任意の他の計算機内で動作させるとしてもよい。
ここでは、説明を簡略にするために、本実施形態の計算機システム1’’は、2台の計算機41000(計算機A)、42000(計算機B)と、ボリュームデータ移動機能を保持する2台のストレージ装置51000(ストレージ装置A)、52000(ストレージ装置B)と、管理サーバ11000(管理サーバA)とを備え、これらがファイバチャネルネットワーク30000を介して相互に接続されているものとする。
計算機41000、42000上のサーバプログラム41110及び42110は仮想的な計算機を表し、それぞれ計算機の移動機構を備える。また、2台のストレージ装置51000、52000間はデータバス等の通信路90000を介して相互に接続されている。
本構成は、各ストレージ装置51000、52000をモジュールとして相互接続し、各ストレージ装置51000、52000の内部バスを、通信路90000を介して共有することで、複数台のストレージ装置51000、52000を一台のストレージとして計算機41000、42000により利用可能としている構成である。
ストレージ装置A(51000)は、計算機A(41000)に対して、ボリューム51210(ボリュームv1)として、RAIDグループ51220(RG1)からなる論理ボリュームを提供し、また、ストレージ装置B(52000)は、計算機B(42000)に対して、ボリューム51211(ボリュームv2)として、RAIDグループ51221(RG2)からなる論理ボリュームを提供する。
なお、計算機A、計算機Bとストレージ装置A(51000)、ストレージ装置B(52000)の接続形態については、図17に示すようにファイバチャネルネットワーク30000を利用して直接接続してもよいし、1台以上のファイバチャネルスイッチなどネットワーク機器を介して接続してもよい。
また、本実施形態では計算機A、計算機Bとストレージ装置A(51000)、ストレージ装置B(52000)の接続に、ファイバチャネルネットワーク30000を利用したが、データ通信用のネットワークであれば、例えばIPネットワークのような別種のネットワークでもよい。また、2台のストレージ装置51000と52000間にもデータ通信用の高速なネットワークが利用される。
次に、ストレージ装置51000、52000について説明する。図18は、ストレージ装置51000、52000の構成例を示すブロック図である。
本実施形態では、複数台のストレージ装置51000、52000間が、データバス等の通信路90000を介して相互に接続される。各ストレージ装置51000、52000の基本的な構成については、第1実施形態の場合と同様であるため、説明を省略する。
本実施形態において、複数のストレージ装置51000、52000はクラスタ構造を構成しており、計算機41000、42000からのI/Oは各ストレージ装置51000、52000の任意の領域に格納することができる。また、管理サーバ11000の構成は第1実施形態のものと同様であり、計算機41000、42000の構成については第2実施形態のものと同様であるため、同じく説明を省略する。
また、サーバ−ストレージマッピングテーブル11151、性能情報テーブル11152、11152’、構成・性能情報履歴テーブル11153、リザーブボリュームテーブル11154の各テーブルに格納される個々の情報については第1実施形態と同様であるため、同じく説明を省略する。
次に、本実施形態における、管理サーバ11000上の移動先決定プログラム11120が実施する移動先決定処理について説明する。図19は、この移動先決定処理の処理フローを示すフローチャートである。
本処理は、管理サーバ11000のプロセッサ11300が、メモリ11100に格納されている移動先決定プログラム11120を実行することにより行われる。
本処理は、計算機システム1’’内で、計算機41000、42000の性能劣化などのイベントが発生した時に実行されるもので、これによりサーバプログラム41110、42110の移動先を決定し、決定した移動先への移動指示を行うものである。特に明記のない限り、本処理フローにおける各ステップは、管理サーバ11000上のプロセッサ11300によって実行される。
図19のフローチャートにおけるステップ6001からステップ6005までの処理内容は、第1実施形態のステップ3001からステップ3005までと同様であるため、説明を省略する。
ステップ6004、あるいはステップ6005においてボリュームの移動先が決定した後、プロセッサ11300は、移動先に決定したボリュームへのI/O経路に含まれ、かつ距離の近い計算機をサーバプログラム41110、42110の移行先に決定する(ステップ6006)。
ここで、サーバとストレージ装置51000、52000間の距離を表す指標として、例えば、スイッチを何段経由して接続されているかを表すホップ数、あるいはサーバ−ストレージ装置51000、52000間の実際の物理的な距離などを利用して判定する。
移動処理については、第2実施形態に関して図16を参照して説明した処理と同様のため、説明を省略する。また、本実施形態では、データ移動の実施を先に行う処理フローを示したが、サーバの移動を先に実施し、その後でボリュームのデータ移動の実施を行ってもよいことは、第2実施形態の場合と同様である。
以上説明したように、本発明の第3実施形態によれば、サーバプログラム41110、42110の移動、又はボリューム移動のみが実行された場合に、サーバとそれが使用するストレージ装置51000、52000間の距離が離れてしまうことにより、性能改善効果が得られない結果を生じないように、サーバプログラム41110、42110の移動先を決定する際に、サーバとストレージ装置51000、52000間の距離を考慮して移動先候補が決定される。これにより、システム全体の性能を考慮した移動を実施可能とし、システム構成が複雑な場合にも対策をとることができる。
以上、本願発明を、その実施形態に即して添付図面を参照しながら説明したが、本願発明は、これらの実施形態に限定されるものではない。また、本願発明の趣旨を逸脱しないいかなる変形例、均等物も本願発明の範囲内のものである。
本発明の第1実施形態に係る計算機システム1の構成例を示すブロック図である。 本発明の第1実施形態に係る管理サーバ11000の構成例を示すブロック図である。 本発明の第1実施形態に係る計算機41000の構成例を示すブロック図である。 本発明の第1実施形態に係るストレージ装置51000の構成例を示すブロック図である。 本発明の第1実施形態に係る管理サーバ11000が保持するリポジトリ内に格納される、計算機システム1の構成情報テーブル11151の一例を示す図である。 本発明の第1実施形態に係る管理サーバ11000が保持するリポジトリ内に格納される、計算機システム1の性能情報テーブル11152の一例を示す図である。 本発明の第1実施形態に係る管理サーバ11000が保持するリポジトリ内に格納される、計算機システム1の性能情報テーブル11152’の一例を示す図である。 本発明の第1実施形態に係る管理サーバ11000が保持するリポジトリ内に格納される、計算機システム1の構成情報・性能情報履歴テーブル11153の一例を示す図である。 本発明の第1実施形態に係るリザーブボリュームテーブル11154の一例を示す図である。 本発明の第1実施形態に係る性能依存関係判定プログラム11110によるテーブル作成処理の一例を表すフローチャートである。 本発明の第1実施形態に係る移動先決定プログラム11120によるリザーブボリューム情報テーブル作成処理の一例を示すフローチャートである。 本発明の第1実施形態に係る移動先決定プログラム11120による移動先決定処理の一例を示すフローチャートである。 本発明の第2実施形態に係る計算機システム1’の構成例を示すブロック図である。 本発明の第2実施形態に係る管理サーバ11000の構成例を示すブロック図である。 本発明の第2実施形態に係る計算機41000、42000の構成例を示すブロック図である。 本発明の第2実施形態に係る移動先決定プログラム11120による移動先決定処理の一例を示すフローチャートである。 本発明の第2実施形態に係る移動先決定プログラム11120による移動処理の一例を示すフローチャートである。 本発明の第3実施形態に係る計算機システム1’’の構成例を示すブロック図である。 本発明の第3実施形態に係るストレージ装置51000、52000の構成例を示すブロック図である。 本発明の第3実施形態に係る移動先決定プログラム11120による移動先決定処理の一例を示すフローチャートである。
符号の説明
1、1’、1” 計算機システム
11000 管理サーバ
11110 性能依存関係判定プログラム
11120 移動先決定プログラム
11130 サーバ移動プログラム
20000 管理用ネットワーク
30000 ファイバチャネルネットワーク
41000、42000 計算機
41110、42110 サーバプログラム
41120、42120 情報収集プログラム
51000、52000 ストレージ装置
51110、52110 情報収集プログラム
51120、52120 データ移動プログラム
51210、51211、51212 論理ボリューム
51220、51221 RAIDグループ

Claims (12)

  1. ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、
    前記管理計算機が、
    前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのI/O経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むI/O経路を抽出し、
    当該I/O経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むI/O経路を使用していない、他の計算機及び論理ボリュームが使用している他のI/O経路があるか否かを判定する性能依存関係判定部と、
    前記性能依存関係判定部が、前記他のI/O経路があると判定した場合に、
    前記計算機及び前記論理ボリュームを前記他のI/O経路に移動した場合に、当該他のI/O経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のI/O経路に含まれているリソースの性能を表す情報に基づいて判定し、
    閾値要件の範囲内に保持されると判定された場合に、当該他のI/O経路を前記計算機及び論理ボリュームの移動先に決定する移動先決定部と
    を備えたことを特徴とする管理計算機。
  2. 請求項1に記載の管理計算機であって、
    前記イベントが発生したリソースを含むI/O経路に含まれるリソースを共用しない他のI/O経路がないと判定された場合に、前記計算機及び論理ボリュームを移動させるためのリソースが不足している旨を管理者に通知することを特徴とする管理計算機。
  3. 請求項1に記載の管理計算機であって、
    前記計算機及び前記論理ボリュームを前記他のI/O経路に移動させた場合に、当該他のI/O経路に含まれるリソースの性能があらかじめ設定した閾値要件の範囲内に保持されないと判定された場合に、前記他のI/O経路に含まれる記憶デバイスの性能情報に基づいて、最も性能情報が優れていると判定された記憶デバイスからあらたに論理ボリュームを構成して、移動させようとする前記計算機とのI/O経路を設定して、当該I/O経路を前記計算機及び前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
  4. 請求項1に記載の管理計算機であって、
    前記移動先決定部がさらに、前記ソフトウェアが使用している論理ボリュームを他の論理ボリュームに移動させる場合に、前記記憶デバイスの性能情報に基づいて、前記他の論理ボリュームとして前記ソフトウェアと同一のソフトウェアによって使用された履歴を有するものがあるかを判定し、かかる他の論理ボリュームが存在すると判定した場合には、当該他の論理ボリュームを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
  5. 請求項4に記載の管理計算機であって、
    前記移動先決定部が、前記ソフトウェアと同一のソフトウェアによって使用された履歴を有する他の論理ボリュームが存在しないと判定した場合には、他の論理ボリュームを構成する記憶デバイスのうちで最も性能情報が優れていると判定されたものを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
  6. 請求項1に記載の管理計算機であって、
    前記性能情報が、前記記憶デバイスのI/O応答時間、単位時間あたりのI/O数、又はI/O転送率のいずれかを含むことを特徴とする管理計算機。
  7. 請求項1に記載の管理計算機であって、
    移動先となる前記他の論理ボリュームとして、前記計算機のいずれのソフトウェアからも使用されない論理ボリュームを保持してその性能情報を記録しておくことを特徴とする管理計算機。
  8. ソフトウェアが稼働している計算機と、前記ソフトウェアが使用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機の運用方法であって、
    前記管理計算機が、
    前記計算機から当該計算機で稼働している前記ソフトウェアが使用している論理ボリュームが属する記憶デバイスまでのI/O経路に含まれているリソースに所定のイベントが発生した場合に、前記イベントが発生した前記リソースを含むI/O経路を抽出し、
    当該I/O経路に含まれるいずれのリソースも共用せず、かつ前記イベントが発生したリソースを含むI/O経路を使用していない、他の計算機及び論理ボリュームが使用している他のI/O経路があるか否かを判定し、
    前記他のI/O経路があると判定された場合に、
    前記計算機及び前記論理ボリュームを前記他のI/O経路に移動した場合に、当該他のI/O経路に含まれるリソースの性能が、あらかじめ設定した閾値要件の範囲内に保持されるかを、当該他のI/O経路に含まれているリソースの性能を表す情報に基づいて判定し、
    閾値要件の範囲内に保持されると判定された場合に、当該他のI/O経路を前記計算機及び論理ボリュームの移動先に決定する
    ことを特徴とする管理計算機の運用方法。
  9. ソフトウェアが稼働している計算機と、前記ソフトウェアが利用する論理ボリュームを提供する記憶デバイスを有するストレージ装置とに相互に通信可能に接続されている管理計算機であって、
    前記ソフトウェアが使用している論理ボリュームを他の論理ボリュームに移動させる場合に、前記論理ボリュームが属する記憶デバイスの性能情報に基づいて、前記他の論理ボリュームとして前記ソフトウェアと同一のソフトウェアによって利用されているものがあるかを判定し、かかる他の論理ボリュームが存在すると判定した場合には、当該他の論理ボリュームを移動先に決定する移動先決定部を備えた
    ことを特徴とする管理計算機。
  10. 請求項9に記載の管理計算機であって、
    前記移動先決定部が、前記ソフトウェアと同一のソフトウェアによって使用された履歴を有する他の論理ボリュームが存在しないと判定した場合には、他の論理ボリュームを構成する記憶デバイスのうちで最も性能情報が優れていると判定されたものを前記論理ボリュームの移動先に決定することを特徴とする管理計算機。
  11. 請求項9に記載の管理計算機であって、
    前記性能情報が、前記記憶デバイスのI/O応答時間、単位時間あたりのI/O数、又はI/O転送率のいずれかを含むことを特徴とする管理計算機。
  12. 請求項9に記載の管理計算機であって、
    移動先となる前記他の論理ボリュームとして、前記計算機のいずれのソフトウェアからも使用されない論理ボリュームを保持してその性能情報を記録しておくことを特徴とする管理計算機。
JP2008251346A 2008-09-29 2008-09-29 管理計算機及びその運用方法 Pending JP2010086049A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008251346A JP2010086049A (ja) 2008-09-29 2008-09-29 管理計算機及びその運用方法
US12/271,615 US8127092B2 (en) 2008-09-29 2008-11-14 Migration management based on destination performance information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008251346A JP2010086049A (ja) 2008-09-29 2008-09-29 管理計算機及びその運用方法

Publications (1)

Publication Number Publication Date
JP2010086049A true JP2010086049A (ja) 2010-04-15

Family

ID=42058820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008251346A Pending JP2010086049A (ja) 2008-09-29 2008-09-29 管理計算機及びその運用方法

Country Status (2)

Country Link
US (1) US8127092B2 (ja)
JP (1) JP2010086049A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533660A (ja) * 2010-05-20 2013-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・リンク動作の劣化を検出した際にネットワーク・サーバ間で仮想マシンを移行させる
JP2014529774A (ja) * 2011-10-28 2014-11-13 株式会社日立製作所 計算機システム及びその管理システム
JP2015531091A (ja) * 2012-10-04 2015-10-29 株式会社日立製作所 システム管理方法、及び計算機システム
JP5863771B2 (ja) * 2011-03-28 2016-02-17 日本電気株式会社 仮想マシン管理システム、及び仮想マシン管理方法
JP2021144662A (ja) * 2020-03-13 2021-09-24 富士通株式会社 管理装置、情報処理システム及び管理プログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354939B2 (en) * 2010-05-28 2016-05-31 Red Hat, Inc. Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options
US8549129B2 (en) * 2010-10-12 2013-10-01 Microsoft Corporation Live migration method for large-scale IT management systems
WO2013103003A1 (ja) * 2012-01-05 2013-07-11 株式会社日立製作所 計算機システムの管理装置及び管理方法
US9069819B1 (en) * 2013-04-26 2015-06-30 Symantec Corporation Method and apparatus for reliable I/O performance anomaly detection in datacenter
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10880401B2 (en) 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
US11645237B2 (en) * 2018-05-10 2023-05-09 International Business Machines Corporation Replicating data utilizing a virtual file system and cloud storage
US10877892B2 (en) 2018-07-11 2020-12-29 Micron Technology, Inc. Predictive paging to accelerate memory access
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
CN112463062B (zh) * 2020-12-03 2024-03-29 北京浪潮数据技术有限公司 一种基于异构存储的io限流方法、装置和介质
JP7253007B2 (ja) * 2021-05-28 2023-04-05 株式会社日立製作所 ストレージシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6802062B1 (en) 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
JP4183443B2 (ja) * 2002-05-27 2008-11-19 株式会社日立製作所 データ再配置方法及び装置
JP4421230B2 (ja) * 2003-08-12 2010-02-24 株式会社日立製作所 性能情報分析方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533660A (ja) * 2010-05-20 2013-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・リンク動作の劣化を検出した際にネットワーク・サーバ間で仮想マシンを移行させる
JP5863771B2 (ja) * 2011-03-28 2016-02-17 日本電気株式会社 仮想マシン管理システム、及び仮想マシン管理方法
JP2014529774A (ja) * 2011-10-28 2014-11-13 株式会社日立製作所 計算機システム及びその管理システム
JP2015531091A (ja) * 2012-10-04 2015-10-29 株式会社日立製作所 システム管理方法、及び計算機システム
JP2021144662A (ja) * 2020-03-13 2021-09-24 富士通株式会社 管理装置、情報処理システム及び管理プログラム
JP7468012B2 (ja) 2020-03-13 2024-04-16 富士通株式会社 管理装置、情報処理システム及び管理プログラム

Also Published As

Publication number Publication date
US8127092B2 (en) 2012-02-28
US20100082899A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
JP2010086049A (ja) 管理計算機及びその運用方法
JP4749140B2 (ja) データマイグレーション方法及びシステム
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5158074B2 (ja) ストレージ管理プログラム、ストレージ管理方法、ストレージ管理装置およびストレージシステム
US7461196B2 (en) Computer system having an expansion device for virtualizing a migration source logical unit
JP4434235B2 (ja) 計算機システムまたは計算機システムの性能管理方法
US8443160B2 (en) Computer system and data migration method
JP2020052730A (ja) Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム
US8250317B2 (en) Storage system managing information in accordance with changes in the storage system configuration
JP6476932B2 (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
US8578121B2 (en) Computer system and control method of the same
US20070180168A1 (en) Storage system, data processing method and storage apparatus
US20110082988A1 (en) Data migration control method for storage device
US20090235269A1 (en) Storage system
US10437642B2 (en) Management system for computer system
JP5229486B2 (ja) 管理計算機及び処理管理方法
JP2008108020A (ja) 計算機システム、データ移行方法、およびストレージ管理サーバ
WO2012147119A1 (en) Management system and control method for provisioning storage space to writable snapshots satisfying performance requirements
JP5996098B2 (ja) ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法
JP2011013800A (ja) 記憶装置の制御部及び制御方法
US10503440B2 (en) Computer system, and data migration method in computer system
US9329788B2 (en) Computer system and method for allocating and recovering virtual volumes
JP5439435B2 (ja) 計算機システムおよびその計算機システムにおけるディスク共有方法
CN110703995B (zh) 存储系统架构及其访问数据的方法
US10346082B2 (en) Computer system and storage control method