JP6221701B2 - 制御プログラム、制御装置及び制御方法 - Google Patents

制御プログラム、制御装置及び制御方法 Download PDF

Info

Publication number
JP6221701B2
JP6221701B2 JP2013250600A JP2013250600A JP6221701B2 JP 6221701 B2 JP6221701 B2 JP 6221701B2 JP 2013250600 A JP2013250600 A JP 2013250600A JP 2013250600 A JP2013250600 A JP 2013250600A JP 6221701 B2 JP6221701 B2 JP 6221701B2
Authority
JP
Japan
Prior art keywords
replication
virtual machine
backup
processing
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013250600A
Other languages
English (en)
Other versions
JP2015108899A (ja
Inventor
浩之 稲田
浩之 稲田
直広 田村
直広 田村
正博 千葉
正博 千葉
雅佳 宇▲高▼
雅佳 宇▲高▼
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013250600A priority Critical patent/JP6221701B2/ja
Priority to US14/534,922 priority patent/US9430261B2/en
Priority to EP14192434.0A priority patent/EP2887220B1/en
Publication of JP2015108899A publication Critical patent/JP2015108899A/ja
Application granted granted Critical
Publication of JP6221701B2 publication Critical patent/JP6221701B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/3433Recording 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 for load management
    • 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]
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、制御プログラム、制御装置及び制御方法に関する。
従来、物理装置上に生成される仮想計算機(Virtual Machine,仮想マシン)を備えたシステムにおいて、仮想計算機が使用する記憶領域の複製(バックアップ)処理を実行する技術がある。例えば、かかるシステムに物理装置であるバックアップ装置が設けられ、バックアップ装置が複製処理を実行する技術がある。
特開2008−123205号公報
ここで、バックアップ装置の処理の負荷が増加したことによる複製処理の遅延を抑止するために、上述したシステムにおいて、次のような処理を実行することが考えられる。例えば、バックアップ装置において、複製処理ごとに、複製処理を実行する仮想計算機である複製処理仮想計算機を動作させ、複製処理が遅延する場合には、遅延の要因となる複製処理仮想計算機を、バックアップ装置以外の物理装置に移動させることが考えられる。
複製処理の遅延の要因を特定するための指標としては、バックアップ装置上で動作する複製処理仮想計算機のCPU(Central Processing Unit)及びメモリの負荷の他、装置間を接続する経路の負荷が挙げられる。例えば、負荷が閾値以上のCPU、メモリを有する複製処理仮想計算機が複製処理の遅延の要因として考えられる。
ここで、バックアップ装置と、複製処理による複製先の記憶装置とを接続する経路が冗長化される場合が考えられる。この場合には、バックアップ装置で動作する複数の複製処理仮想計算機は、冗長化された複数の経路のいずれも使用することができる。そのため、経路が冗長化された態様では、負荷が閾値以上の経路を複製処理の遅延の要因として特定できたとしても、特定した経路を使用する複製処理仮想計算機を特定することが困難である。よって、経路が冗長化された態様では、遅延の要因となる経路を特定するだけでは、バックアップ装置以外の物理装置に移動させる複製処理仮想計算機を特定することが困難である。したがって、経路が冗長化された態様では、経路が複製処理の遅延の要因となっている場合には、規定の時間内に複製処理を完了させることが出来ない場合があるという問題がある。
1つの側面では、本発明は、経路が複製処理の遅延の要因となっている場合に、複製処理の遅延を抑制することを目的とする。
1態様では、制御プログラムが以下の処理を実行させるコンピュータは、それぞれ仮想計算機が動作する複数の物理装置に接続されている。また、コンピュータは、複数の物理装置のそれぞれと複数の経路で接続された、複数の仮想計算機が用いるデータを複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置に接続されている。そして、制御プログラムは、コンピュータに、複数の経路それぞれに関する複数の複製処理仮想計算機のリソースの負荷を取得する処理を実行させる。また、制御プログラムは、コンピュータに、複数の複製処理仮想計算機それぞれが複製処理を実行するときに、記憶装置へ転送済みの複数の複製処理仮想計算機のシステム領域のデータのデータ量をそれぞれ特定して、特定したデータ量に基づいて複数の複製処理仮想計算機の複製処理の進捗の度合いを表す進捗度を取得する処理を実行させる。そして、制御プログラムは、コンピュータに、複数の複製処理仮想計算機による複数の経路の負荷のうち所定値を超える経路を選択する処理を実行させる。そして、制御プログラムは、コンピュータに、選択した経路を用いる複製処理の進捗度のうち、閾値以下の進捗度がある場合、選択した経路を用いる複製処理が規定時間内に終了しないことを検知する処理を実行させる。そして、制御プログラムは、コンピュータに、選択した経路を用いる複製処理が規定時間内に終了しないことを検知したとき、選択した経路を用いて複製処理を行う複製処理仮想計算機のいずれかを、複数の経路のそれぞれと該経路を用いて複製処理を行う複製処理仮想計算機との対応関係に基づいて特定する処理を実行させる。そして、制御プログラムは、コンピュータに、特定された複製処理仮想計算機が移動した場合に該複製処理仮想計算機が実行する複製処理が規定時間内に終了する条件を満たす物理装置を、複数の物理装置のリソースの使用量に基づいて特定する処理を実行させる。そして、制御プログラムは、コンピュータに、処理装置から、特定された物理装置、特定された複製処理仮想計算機を移動する処理を実行させる。
経路が複製処理の遅延の要因となっている場合に、複製処理の遅延を抑制することができる。
図1は、実施例に係る管理サーバを有するシステムの構成の一例を示す図である。 図2は、実施例に係る制御装置の一例である管理サーバの機能構成の一例を示す図である。 図3は、負荷許容量テーブルのデータ構造の一例を示す図である。 図4は、対応関係テーブルのデータ構造の一例を示す図である。 図5は、負荷情報のデータ構造の一例を示す図である。 図6は、バックアップ情報のデータ構造の一例を示す図である。 図7は、サイズ情報のデータ構造の一例を示す図である。 図8は、実施例に係る管理サーバが実行する処理の一例を説明するための図である。 図9は、実施例に係る制御処理の手順を示すフローチャートである。 図10は、実施例に係る対応関係テーブル生成処理の手順を示すフローチャートである。 図11は、制御プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願の開示する制御装置の一例である管理サーバ、制御プログラム及び制御方法の実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
[システム1の構成の一例]
図1は、実施例に係る管理サーバ10を有するシステム1の構成の一例を示す図である。図1の例に示すように、システム1は、端末5、管理サーバ10、LAN(Local Area Network)スイッチ20、バックアップサーバ21、管理対象サーバ22,23,24、FC(Fibre Channel)スイッチ25を有する。また、システム1は、ストレージサーバ26,27を有する。
端末5は、システム1の管理者などのユーザが利用する端末である。例えば、端末5は、ユーザからの指示を受け付けるキーボードやマウスなどの図示しない受付部を有し、受け付けた指示を管理サーバ10に送信する。かかる指示の一例としては、仮想マシンの各種の設定などを行う指示などが挙げられる。
管理サーバ10は、システム1の各種の装置を管理する。例えば、管理サーバ10は、仮想マシンの各種の設定を行う指示をLANスイッチ20を介して管理対象サーバ22〜24に送信する。また、管理サーバ10は、バックアップサーバ21上で稼働する仮想マシン21a〜21dによる後述するバックアップ処理が規定の時間内に終了するように、次の処理を行う。すなわち、管理サーバ10は、バックアップ処理が規定の時間内に終わらないと予測された仮想マシン21a〜21dを3つの管理対象サーバ22〜24のうち何れかの管理対象サーバに移動させるように制御する。例えば、管理サーバ10は、仮想マシン21a〜21dを動作させる制御を行うVMホスト21eに、バックアップ処理が規定の時間内に終わらないと予測された仮想マシンを管理対象サーバに移動させるマイグレーション指示を送信する。
バックアップサーバ21は、LANスイッチ20を介して管理サーバ10に接続されている。また、バックアップサーバ21は、ストレージサーバ26に接続されている。また、バックアップサーバ21は、2本の回線28a,28bを介してFCスイッチ25に接続されている。ここで、FCスイッチ25は、バックアップ処理によるデータのバックアップ先の記憶装置であるストレージサーバ27と接続されている。このように、システム1では、バックアップサーバ21と、バックアップ処理によるデータのバックアップ先のストレージサーバ27とを接続する経路が2つ存在する。すなわち、システム1では、バックアップサーバ21とストレージサーバ27とを接続する経路が冗長化されている。複数の仮想マシン21a〜21dは、冗長化された複数の回線28a,28bのいずれも使用することができる。
バックアップサーバ21は、VM(Virtual Machine,仮想マシン)ホスト21eを有する。VMホスト21eは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン21a〜21dを動作させる制御を行う。また、VMホスト21eは、管理サーバ10から受信したマイグレーション指示に応じて、管理対象サーバ22〜24との間での仮想マシン21a〜21dのマイグレーションの制御を行う。
仮想マシン21a〜21dのそれぞれは、管理対象サーバ22〜24で動作する仮想マシンのそれぞれのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムを実行する。例えば、仮想マシン21aは、管理対象サーバ22上で動作する仮想マシン22aのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムAを実行する。また、仮想マシン21bは、管理対象サーバ22上で動作する仮想マシン22bのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムBを実行する。また、仮想マシン21cは、管理対象サーバ23上で動作する仮想マシン23aのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムCを実行する。また、仮想マシン21dは、管理対象サーバ24上で動作する仮想マシン24aのシステム領域のデータをバックアップするバックアップ処理を行うためのバックアッププログラムDを実行する。バックアップ処理は、後述するが、ストレージ26aに記憶されたシステム領域のデータを後述するバックアップ用ストレージ27aに格納することにより、システム領域のデータを複製する処理であるため、複製処理とも称される。また、バックアップ処理を実行する仮想マシン21a〜21dは、複製処理仮想計算機の一例である。
管理対象サーバ22〜24は、管理サーバ10の管理対象の装置である。管理対象サーバ22〜24では、所定のアプリケーションを実行する仮想マシンが動作し、管理サーバ10から送信された仮想マシンの各種の設定を行う指示にしたがって、仮想マシンの設定が行われる。
管理対象サーバ22は、VMホスト22cを有する。VMホスト22cは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、2つの仮想マシン22a,22bを動作させる制御を行う。また、VMホスト22cは、管理サーバ10から送信された仮想マシン22a,22bの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン22a,22bの各種の設定を行う。仮想マシン22aは、所定のアプリケーションを実行する。また、仮想マシン22aは、仮想マシン22aのシステム領域のデータをストレージサーバ26に送信する。これにより、後述するように、ストレージサーバ26のストレージ26aに仮想マシン22aのシステム領域のデータが記憶される。また、仮想マシン22bは、所定のアプリケーションを実行する。また、仮想マシン22bは、仮想マシン22bのシステム領域のデータをストレージサーバ26に送信する。これにより、後述するように、ストレージ26aに仮想マシン22bのシステム領域のデータが記憶される。
管理対象サーバ23は、VMホスト23cを有する。VMホスト23cは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン23aを動作させる制御を行う。また、VMホスト23cは、管理サーバ10から送信された仮想マシン23aの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン23aの各種の設定を行う。仮想マシン23aは、所定のアプリケーションを実行する。また、仮想マシン23aは、仮想マシン23aのシステム領域のデータをストレージサーバ26に送信する。これにより、後述するように、ストレージ26aに仮想マシン23aのシステム領域のデータが記憶される。
管理対象サーバ24は、VMホスト24cを有する。VMホスト24cは、コンピュータシステムの動作環境を仮想的に実現する仮想化ソフトウェアの制御プログラムであり、仮想マシン24aを動作させる制御を行う。また、VMホスト24cは、管理サーバ10から送信された仮想マシン24aの各種の設定を行う指示を受信すると、受信した指示にしたがって、仮想マシン24aの各種の設定を行う。仮想マシン24aは、所定のアプリケーションを実行する。また、仮想マシン24aは、仮想マシン24aのシステム領域のデータをストレージサーバ26に送信する。これにより、後述するように、ストレージ26aに仮想マシン24aのシステム領域のデータが記憶される。
FCスイッチ25は、データを中継する中継装置である。FCスイッチ25は、ファイバチャネルファブリックにより、回線28a,28bを介してバックアップサーバ21に接続されている。また、FCスイッチ25は、ファイバチャネルファブリックにより、回線28cを介して管理対象サーバ22に接続され、回線28dを介して管理対象サーバ23に接続され、回線28eを介して管理対象サーバ24に接続されている。また、FCスイッチ25は、ファイバチャネルファブリックにより、ストレージサーバ27に接続されている。このように、システム1では、SAN(Storage Area Network)が構築されている。
ストレージサーバ26は、HDD(Hard Disk Drive)などのストレージ26aを有し、仮想マシン22a,22b,23a,24aから送信されたシステム領域のデータを受信すると、受信したシステム領域のデータをストレージ26aに格納する。これにより、ストレージ26aに仮想マシン22a,22b,23a,24aのシステム領域のデータが記憶される。
ストレージサーバ27は、仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップ先の記憶装置である。また、ストレージサーバ27は、HDDなどのバックアップ用ストレージ27aを有する。ストレージサーバ27は、FCスイッチ25を介して、バックアッププログラムAを実行する仮想マシン21aから送信された仮想マシン22aのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ27aに格納する。また、ストレージサーバ27は、FCスイッチ25を介して、バックアッププログラムBを実行する仮想マシン21bから送信された仮想マシン22bのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ27aに格納する。また、ストレージサーバ27は、FCスイッチ25を介して、バックアッププログラムCを実行する仮想マシン21cから送信された仮想マシン23aのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ27aに格納する。また、ストレージサーバ27は、FCスイッチ25を介して、バックアッププログラムDを実行する仮想マシン21dから送信された仮想マシン24aのシステム領域のデータを受信すると、受信したデータをバックアップ用ストレージ27aに格納する。
図2は、実施例に係る制御装置の一例である管理サーバ10の機能構成の一例を示す図である。図2に示すように、管理サーバ10は、表示部11、通信部12、記憶部13及び制御部14を有する。
表示部11は、各種の情報を表示する。表示部11のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
通信部12は、管理サーバ10以外の装置から送信された各種の指示などのデータを受信すると、受信したデータを制御部14に送信する。また、通信部12は、制御部14から各種のデータを受信すると、受信したデータを指定された装置へ送信する。例えば、制御部14は、端末5から送信されたユーザの指示を受信すると、受信した指示を制御部14へ送信する。また、通信部12は、制御部14から送信されたVMホスト22c,22d,22eへ各種の指示を受信すると、受信した指示を指定されたVMホストへ送信する。通信部12のデバイスとしては、ネットワークカードが挙げられる。
記憶部13は、各種情報を記憶する。例えば、記憶部13は、負荷許容量テーブル13a、対応関係テーブル13b、負荷情報13c、バックアップ情報13d及びサイズ情報13eを記憶する。
負荷許容量テーブル13aは、バックアップサーバ21及び管理対象サーバ22〜24の各サーバの各種のリソース(resource)の負荷の最大許容量が登録されたテーブルである。図3は、負荷許容量テーブルのデータ構造の一例を示す図である。図3の例に示す負荷許容量テーブル13aは、「物理サーバ名」、「CPU性能」、「メモリ容量」及び「ネットワーク帯域(SAN)」の各項目を有する。
「物理サーバ名」の項目には、物理サーバであるバックアップサーバ21及び管理対象サーバ22〜24の各サーバを識別するための各サーバの名称が登録されている。図3に示すように、負荷許容量テーブル13aの1番目のレコードの「物理サーバ名」の項目には、バックアップサーバ21の名称であるバックアップサーバが登録されている。図3に示すように、負荷許容量テーブル13aの2番目のレコードの「物理サーバ名」の項目には、管理対象サーバ22の名称である管理対象サーバAが登録されている。図3に示すように、負荷許容量テーブル13aの3番目のレコードの「物理サーバ名」の項目には、管理対象サーバ23の名称である管理対象サーバBが登録されている。図3に示すように、負荷許容量テーブル13aの4番目のレコードの「物理サーバ名」の項目には、管理対象サーバ24の名称である管理対象サーバCが登録されている。
「CPU性能」の項目には、バックアップサーバ21及び管理対象サーバ22〜24の各サーバが有するCPUの処理性能を示す動作周波数とコアの数とが登録されている。図3に示すように、負荷許容量テーブル13aの1番目のレコードの「CPU性能」の項目には、名称がバックアップサーバであるバックアップサーバ21のCPUの動作周波数4GHzと、コアの数32とが登録されている。図3に示すように、負荷許容量テーブル13aの2番目のレコードの「CPU性能」の項目には、名称が管理対象サーバAである管理対象サーバ22のCPUの動作周波数4GHzと、コアの数12とが登録されている。図3に示すように、負荷許容量テーブル13aの3番目のレコードの「CPU性能」の項目には、名称が管理対象サーバBである管理対象サーバ23のCPUの動作周波数4GHzと、コアの数24とが登録されている。図3に示すように、負荷許容量テーブル13aの4番目のレコードの「CPU性能」の項目には、名称が管理対象サーバCである管理対象サーバ24のCPUの動作周波数4GHzと、コアの数8とが登録されている。
「メモリ容量」の項目には、バックアップサーバ21及び管理対象サーバ22〜24の各サーバが有するメモリの性能を示す容量が登録されている。図3に示すように、負荷許容量テーブル13aの1番目のレコードの「メモリ容量」の項目には、名称がバックアップサーバであるバックアップサーバ21のメモリの容量128GB(Giga Byte)が登録されている。図3に示すように、負荷許容量テーブル13aの2番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバAである管理対象サーバ22のメモリの容量32GBが登録されている。図3に示すように、負荷許容量テーブル13aの3番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバBである管理対象サーバ23のメモリの容量64GBが登録されている。図3に示すように、負荷許容量テーブル13aの4番目のレコードの「メモリ容量」の項目には、名称が管理対象サーバCである管理対象サーバ24のメモリの容量16GBが登録されている。
「ネットワーク帯域(SAN)」の項目には、バックアップサーバ21及び管理対象サーバ22〜24の各サーバに接続された回線28a〜28eのいずれかの回線の帯域が登録されている。図3に示すように、負荷許容量テーブル13aの1番目のレコードの「ネットワーク帯域(SAN)」の項目には、次の内容が登録されている。すなわち、名称がバックアップサーバであるバックアップサーバ21に接続された、名称が経路1である回線28aの帯域8Gbps(Giga bit per second)が登録されている。また、図3に示すように、負荷許容量テーブル13aの1番目のレコードの「ネットワーク帯域(SAN)」の項目には、名称がバックアップサーバであるバックアップサーバ21に接続された、名称が経路2である回線28bの帯域8Gbpsが登録されている。図3に示すように、負荷許容量テーブル13aの2番目のレコードの「ネットワーク帯域(SAN)」の項目には、名称が管理対象サーバAである管理対象サーバ22に接続された、名称が経路3である回線28cの帯域8Gbpsが登録されている。図3に示すように、負荷許容量テーブル13aの3番目のレコードの「ネットワーク帯域(SAN)」の項目には、名称が管理対象サーバBである管理対象サーバ23に接続された、名称が経路4である回線28dの帯域8Gbpsが登録されている。図3に示すように、負荷許容量テーブル13aの4番目のレコードの「ネットワーク帯域(SAN)」の項目には、名称が管理対象サーバCである管理対象サーバ24に接続された、名称が経路5である回線28eの帯域4Gbpsが登録されている。
図2の説明に戻る。対応関係テーブル13bには、仮想マシン21a〜21dのそれぞれが実行する各バックアッププログラムA〜Dの識別子と、仮想マシン21a〜21dのそれぞれが各バックアッププログラムA〜Dを実行する際に使用する回線の名称とが対応付けて登録される。図4は、対応関係テーブルのデータ構造の一例を示す図である。図4の例に示す対応関係テーブル13bは、「バックアッププログラム」及び「ネットワーク経路(SAN)」の各項目を有する。
「バックアッププログラム」の項目には、仮想マシン21a〜21dのそれぞれが実行する各バックアッププログラムA〜Dの識別子が制御部14により登録される。図4に示すように、対応関係テーブル13bの1番目のレコードの「バックアッププログラム」の項目には、仮想マシン21aが実行するバックアッププログラムAの識別子Aが登録されている。図4に示すように、対応関係テーブル13bの2番目のレコードの「バックアッププログラム」の項目には、仮想マシン21bが実行するバックアッププログラムBの識別子Bが登録されている。図4に示すように、対応関係テーブル13bの3番目のレコードの「バックアッププログラム」の項目には、仮想マシン21cが実行するバックアッププログラムCの識別子Cが登録されている。図4に示すように、対応関係テーブル13bの4番目のレコードの「バックアッププログラム」の項目には、仮想マシン21dが実行するバックアッププログラムDの識別子Dが登録されている。
「ネットワーク経路(SAN)」の項目には、各バックアッププログラムA〜Dを実行する仮想マシン21a〜21dのそれぞれが各バックアッププログラムA〜Dを実行する際に使用する回線の名称が制御部14により登録される。図4に示すように、対応関係テーブル13bの1番目のレコードの「ネットワーク経路(SAN)」の項目には、回線28aの名称である経路1が登録されている。図4に示すように、対応関係テーブル13bの2番目のレコードの「ネットワーク経路(SAN)」の項目には、回線28bの名称である経路2が登録されている。図4に示すように、対応関係テーブル13bの3番目のレコードの「ネットワーク経路(SAN)」の項目には、回線28aの名称である経路1が登録されている。図4に示すように、対応関係テーブル13bの4番目のレコードの「ネットワーク経路(SAN)」の項目には、回線28bの名称である経路2が登録されている。
すなわち、図4の例に示す対応関係テーブル13bの1番目のレコードは、識別子がAであるバックアッププログラムAを実行する仮想マシン21aは、バックアッププログラムAを実行する際に、名称が経路1である経路28aを使用することを示す。また、図4の例に示す対応関係テーブル13bの2番目のレコードは、識別子がBであるバックアッププログラムBを実行する仮想マシン21bは、バックアッププログラムBを実行する際に、名称が経路2である経路28bを使用することを示す。また、図4の例に示す対応関係テーブル13bの3番目のレコードは、識別子がCであるバックアッププログラムCを実行する仮想マシン21cは、バックアッププログラムCを実行する際に、名称が経路1である経路28aを使用することを示す。また、図4の例に示す対応関係テーブル13bの4番目のレコードは、識別子がDであるバックアッププログラムDを実行する仮想マシン21dは、バックアッププログラムDを実行する際に、名称が経路2である経路28bを使用することを示す。
図2の説明に戻る。負荷情報13cには、各仮想マシン21a〜21dが各バックアッププログラムA〜Dを実行する際の各種のリソースの負荷が登録される。図5は、負荷情報のデータ構造の一例を示す図である。図5の例に示す負荷情報13cは、「バックアッププログラム」、「CPU負荷(%)」、「メモリ負荷(%)」及び「SANの負荷(%)」の各項目を有する。
「バックアッププログラム」の項目には、仮想マシン21a〜21dのそれぞれが実行する各バックアッププログラムA〜Dの識別子が制御部14により登録される。図5に示すように、負荷情報13cの1番目のレコードの「バックアッププログラム」の項目には、仮想マシン21aが実行するバックアッププログラムAの識別子Aが登録されている。図5に示すように、負荷情報13cの2番目のレコードの「バックアッププログラム」の項目には、仮想マシン21bが実行するバックアッププログラムBの識別子Bが登録されている。図5に示すように、負荷情報13cの3番目のレコードの「バックアッププログラム」の項目には、仮想マシン21cが実行するバックアッププログラムCの識別子Cが登録されている。図5に示すように、負荷情報13cの4番目のレコードの「バックアッププログラム」の項目には、仮想マシン21dが実行するバックアッププログラムDの識別子Dが登録されている。
「CPU負荷(%)」の項目には、仮想マシン21a〜21dのそれぞれが各バックアッププログラムA〜Dを実行する際の各仮想マシン21a〜21dのCPUの負荷が制御部14により登録される。例えば、「CPU負荷(%)」の項目には、後述のCPUの平均負荷(%)が制御部14により登録される。図5の例に示す負荷情報13cの1番目のレコードの「CPU負荷(%)」の項目には、後述するCPUの平均負荷10%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの2番目のレコードの「CPU負荷(%)」の項目には、後述するCPUの平均負荷20%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの3番目のレコードの「CPU負荷(%)」の項目には、後述するCPUの平均負荷30%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの4番目のレコードの「CPU負荷(%)」の項目には、後述するCPUの平均負荷10%が制御部14により登録された場合が示されている。
「メモリ負荷(%)」の項目には、仮想マシン21a〜21dのそれぞれが各バックアッププログラムA〜Dを実行する際の各仮想マシン21a〜21dのメモリの負荷が制御部14により登録される。例えば、「メモリ負荷(%)」の項目には、後述のメモリの平均負荷(%)が制御部14により登録される。図5の例に示す負荷情報13cの1番目のレコードの「メモリ負荷(%)」の項目には、後述するメモリの平均負荷20%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの2番目のレコードの「メモリ負荷(%)」の項目には、後述するメモリの平均負荷20%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの3番目のレコードの「メモリ負荷(%)」の項目には、後述するメモリの平均負荷30%が制御部14により登録された場合が示されている。図5の例に示す負荷情報13cの4番目のレコードの「メモリ負荷(%)」の項目には、後述するメモリの平均負荷20%が制御部14により登録された場合が示されている。
「SANの負荷(%)」の項目には、後述の仮想マシンによる回線の平均負荷(%)が制御部14により登録される。図5に示す負荷情報13cの1番目のレコードの「SANの負荷(%)」の項目には、後述の仮想マシン21aによる回線28aの平均負荷10(%)が制御部14により登録された場合が示されている。図5に示す負荷情報13cの2番目のレコードの「SANの負荷(%)」の項目には、後述の仮想マシン21bによる回線28bの平均負荷5(%)が制御部14により登録された場合が示されている。図5に示す負荷情報13cの3番目のレコードの「SANの負荷(%)」の項目には、後述の仮想マシン21cによる回線28aの平均負荷30(%)が制御部14により登録された場合が示されている。図5に示す負荷情報13cの4番目のレコードの「SANの負荷(%)」の項目には、後述の仮想マシン21dによる回線28bの平均負荷95(%)が制御部14により登録された場合が示されている。
図2の説明に戻る。バックアップ情報13dには、仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行う曜日と時間帯とが登録されている。
図6は、バックアップ情報のデータ構造の一例を示す図である。
図6の例に示すバックアップ情報13dは、「曜日」及び「バックアップ時間帯」の各項目を有する。「曜日」の項目には、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日のいずれかの曜日を示す情報が登録されている。例えば、図6に示すように、バックアップ情報13dの1番目のレコードの「曜日」の項目には、月曜日を示す「月」が登録されている。図6に示すように、バックアップ情報13dの2番目のレコードの「曜日」の項目には、火曜日を示す「火」が登録されている。図6に示すように、バックアップ情報13dの3番目のレコードの「曜日」の項目には、水曜日を示す「水」が登録されている。図6に示すように、バックアップ情報13dの4番目のレコードの「曜日」の項目には、木曜日を示す「木」が登録されている。図6に示すように、バックアップ情報13dの5番目のレコードの「曜日」の項目には、金曜日を示す「金」が登録されている。図6に示すように、バックアップ情報13dの6番目のレコードの「曜日」の項目には、土曜日を示す「土」が登録されている。図6に示すように、バックアップ情報13dの7番目のレコードの「曜日」の項目には、日曜日を示す「日」が登録されている。
また、「バックアップ時間帯」の項目には、バックアップの時間帯が登録されている。例えば、図6に示すように、バックアップ情報13dの1番目のレコードの「バックアップ時間帯」の項目には、午前0時0分から午前5時0分までのバックアップの時間帯が登録されている。図6に示すように、バックアップ情報13dの2番目のレコードの「バックアップ時間帯」の項目には、午前2時0分から午前5時0分までのバックアップの時間帯が登録されている。図6に示すように、バックアップ情報13dの3番目のレコードの「バックアップ時間帯」の項目には、午前2時0分から午前5時0分までのバックアップの時間帯と、午後10時0分から午前0時0分までのバックアップの時間帯とが登録されている。図6に示すように、バックアップ情報13dの4番目のレコードの「バックアップ時間帯」の項目には、午前0時0分から午前5時0分までのバックアップの時間帯が登録されている。図6に示すように、バックアップ情報13dの5番目のレコードの「バックアップ時間帯」の項目には、午前2時0分から午前5時0分までのバックアップの時間帯が登録されている。図6に示すように、バックアップ情報13dの6番目のレコードの「バックアップ時間帯」の項目には、午前4時0分から午前7時0分までのバックアップの時間帯と、午後9時0分から午前0時までのバックアップの時間帯とが登録されている。図6に示すように、バックアップ情報13dの7番目のレコードの「バックアップ時間帯」の項目には、午前0時0分から午前7時0分までのバックアップの時間帯と、午後9時0分から午前0時までのバックアップの時間帯とが登録されている。
すなわち、図6の例に示すバックアップ情報13dの1番目のレコードは、月曜日に、午前0時0分から午前5時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの2番目のレコードは、火曜日に、午前2時0分から午前5時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの3番目のレコードは、水曜日に、午前2時0分から午前5時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。さらに、図6の例に示すバックアップ情報13dの3番目のレコードは、水曜日に、午後10時0分から午前0時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの4番目のレコードは、木曜日に、午前0時0分から午前5時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの5番目のレコードは、金曜日に、午前2時0分から午前5時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの6番目のレコードは、土曜日に、午前4時0分から午前7時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。さらに、図6の例に示すバックアップ情報13dの6番目のレコードは、土曜日に、午後9時0分から午前0時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。図6の例に示すバックアップ情報13dの7番目のレコードは、日曜日に、午前0時0分から午前7時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。さらに、図6の例に示すバックアップ情報13dの7番目のレコードは、日曜日に、午後9時0分から午前0時0分までの規定の時間内で仮想マシン22a,22b,23a,24aのシステム領域のデータのバックアップを行うことを示す。
図2の説明に戻る。サイズ情報13eには、仮想マシン22a,22b,23a,24aの名称と、仮想マシン22a,22b,23a,24aのシステム領域のデータのサイズとが登録されている。
図7は、サイズ情報のデータ構造の一例を示す図である。図7の例に示すサイズ情報13eは、「バックアップ対象の仮想マシン名」及び「システム領域のデータのサイズ」の各項目を有する。「バックアップ対象の仮想マシン名」の項目には、仮想マシン22a,22b,23a,24aのいずれかの仮想マシンの名称が登録されている。例えば、図7に示すように、バックアップ情報13dの1番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン22aの名称である業務Aが登録されている。図7に示すように、バックアップ情報13dの2番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン22bの名称である業務Bが登録されている。図7に示すように、バックアップ情報13dの3番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン23aの名称である業務Cが登録されている。図7に示すように、バックアップ情報13dの4番目のレコードの「バックアップ対象の仮想マシン名」の項目には、仮想マシン24aの名称である業務Dが登録されている。
「システム領域のデータのサイズ」の項目には、バックアップの対象である仮想マシン22a,22b,23a,24aのシステム領域のデータのサイズが登録されている。例えば、図7に示すように、バックアップ情報13dの1番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Aである仮想マシン22aのシステム領域のデータのサイズ20GBが登録されている。図7に示すように、バックアップ情報13dの2番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Bである仮想マシン22bのシステム領域のデータのサイズ30GBが登録されている。図7に示すように、バックアップ情報13dの3番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Cである仮想マシン23aのシステム領域のデータのサイズ10GBが登録されている。図7に示すように、バックアップ情報13dの4番目のレコードの「システム領域のデータのサイズ」の項目には、名称が業務Dである仮想マシン24aのシステム領域のデータのサイズ50GBが登録されている。
記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
図2の説明に戻り、制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図2に示すように、制御部14は、取得部14aと、第1の特定部14bと、第2の特定部14cと、移動制御部14dとを有する。
取得部14aは、複数の回線28a,28bそれぞれの帯域負荷と、複数の管理対象サーバ22〜24それぞれのリソース使用量と、複数の仮想マシン21a〜21dそれぞれが実行するバックアップ処理の進捗の度合いを示す進捗度とを取得する。
取得部14aの一態様について説明する。取得部14aは、所定時間間隔(例えば30秒間隔)で、バックアップ情報13dを参照し、現在の時刻がバックアップ情報13dに登録されたバックアップ処理を行う時間帯に含まれるか否かを判定する。
現在の時刻がバックアップ情報13d登録されたバックアップ処理を行う時間帯に含まれると判定した場合、すなわち、仮想マシン21a〜21dがバックアップ処理を行う時間帯であると判定した場合には、取得部14aは、次の処理を行う。すなわち、取得部14aは、負荷許容量テーブル13aから、バックアップサーバ21及び管理対象サーバ22〜24の各サーバの各種のリソース(CPU、メモリ、各サーバに接続された回線)の負荷の最大許容量を取得する。例えば、図3の例に示す負荷許容量テーブル13aが記憶部13に記憶されている場合には、取得部14aは、次の処理を行う。すなわち、取得部14aは、「物理サーバ名」の項目にバックアップサーバが登録されたレコードを特定し、特手したレコードの「CPU性能」の項目に登録されたCPUの動作周波数4GHzとコアの数32とを、バックアップサーバ21のCPUの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードの「メモリ」の項目に登録されたメモリの容量128GBを、バックアップサーバ21のメモリの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードの「ネットワーク帯域(SAN)」の項目に登録された、名称が経路1である回線28aの帯域8Gbpsと、名称が経路2である回線28bの帯域8Gbpsとを、次のような値として取得する。すなわち、取得部14aは、名称が経路1である回線28aの帯域8Gbpsと、名称が経路2である回線28bの帯域8Gbpsとを、バックアップサーバ21に接続された回線の負荷の最大許容量として取得する。
また、取得部14aは、「物理サーバ名」の項目に管理対象サーバAが登録されたレコードを特定する。そして、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、CPUの動作周波数4GHzとコアの数12とを、管理対象サーバ22のCPUの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量32GBを、管理対象サーバ22のメモリの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路3である回線28cの帯域8Gbpsを、管理対象サーバ22に接続された回線の負荷の最大許容量として取得する。
また、取得部14aは、「物理サーバ名」の項目に管理対象サーバBが登録されたレコードを特定する。そして、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、CPUの動作周波数4GHzとコアの数24とを、管理対象サーバ23のCPUの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量64GBを、管理対象サーバ23のメモリの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路4である回線28dの帯域8Gbpsを、管理対象サーバ23に接続された回線の負荷の最大許容量として取得する。
また、取得部14aは、「物理サーバ名」の項目に管理対象サーバCが登録されたレコードを特定する。そして、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、CPUの動作周波数4GHzとコアの数8とを、管理対象サーバ24のCPUの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、メモリの容量16GBを、管理対象サーバ24のメモリの負荷の最大許容量として取得する。また、取得部14aは、特定したレコードに対して上述した処理と同様の処理を行うことで、名称が経路5である回線28eの帯域4Gbpsを、管理対象サーバ24に接続された回線の負荷の最大許容量として取得する。
上述したような方法で、取得部14aは、負荷許容量テーブル13aから、バックアップサーバ21及び管理対象サーバ22〜24の各サーバの各種のリソースの負荷の最大許容量を取得する。
次に、取得部14aは、対応関係テーブル13bに各種の情報を登録して、対応関係テーブル13bを生成する対応関係テーブル生成処理を実行する。対応関係テーブル生成処理では、取得部14aは、まず、バックアップサーバ21に接続された回線28a,28bの最大帯域の合計を算出する。例えば、取得部14aは、既に取得した回線28a,28bのそれぞれの帯域の合計を算出する。図3の例に示す負荷許容量テーブル13aが記憶部13に記憶されている場合には、取得部14aは、回線28a,28bのそれぞれの帯域の合計16Gbps((8+8)Gbps)を算出する。
そして、対応関係テーブル生成処理では、取得部14aは、算出した帯域の合計に対する各回線28a,28bの帯域の割合を算出する。図3の例に示す負荷許容量テーブル13aが記憶部13に記憶されている場合には、取得部14aは、合計に対する回線28aの帯域の割合として8/16を算出する。また、取得部14aは、合計に対する回線28bの帯域の割合として8/16を算出する。
そして、対応関係テーブル生成処理では、取得部14aは、バックアップ処理を実行する仮想マシンを特定する。例えば、図1に示すように、4台の仮想マシン21a〜21dがバックアップ処理を実行する場合には、取得部14aは、バックアップ処理を実行する仮想マシン21a〜21dを特定する。
そして、対応関係テーブル生成処理では、取得部14aは、特定した全ての仮想マシンを1つずつ選択する。そして、取得部14aは、仮想マシンを選択するたびに、算出した割合に応じて、選択した仮想マシンを回線28a,28bに対応付ける。例えば、合計に対する回線28aの帯域の割合として8/16を算出し、合計に対する回線28bの帯域の割合として8/16を算出した場合には、取得部14aは、次の処理を行う。すなわち、取得部14aは、回線28aに対して50%、回線28bに対して50%の確率で選択した仮想マシンを回線28aまたは回線28bのいずれかの回線に対応付ける。これにより、特定した全ての仮想マシンに対して回線が対応付けられる。
そして、対応関係テーブル生成処理では、取得部14aは、対応付けられた仮想マシンと回線とを対応付けて対応関係テーブル13bに登録する。例えば、回線28aに対して、仮想マシン21a,21cが対応付けられ、回線28bに対して、仮想マシン21b,21dが対応付けられた場合には、取得部14aは、次の処理を行う。すなわち、取得部14aは、先の図4に示すように、対応関係テーブル13bの「バックアッププログラム」の項目に、仮想マシン21aが実行するバックアッププログラムAの識別子Aを登録する。そして、取得部14aは、「バックアッププログラム」の項目に識別子Aが登録されたレコードの「ネットワーク経路(SAN)」の項目に、回線28aの名称である経路1を登録する。また、取得部14aは、先の図4に示すように、対応関係テーブル13bの「バックアッププログラム」の項目に、仮想マシン21bが実行するバックアッププログラムBの識別子Bを登録する。そして、取得部14aは、「バックアッププログラム」の項目に識別子Bが登録されたレコードの「ネットワーク経路(SAN)」の項目に、回線28bの名称である経路2を登録する。また、取得部14aは、先の図4に示すように、対応関係テーブル13bの「バックアッププログラム」の項目に、仮想マシン21cが実行するバックアッププログラムCの識別子Cを登録する。そして、取得部14aは、「バックアッププログラム」の項目に識別子Cが登録されたレコードの「ネットワーク経路(SAN)」の項目に、回線28aの名称である経路1を登録する。また、取得部14aは、先の図4に示すように、対応関係テーブル13bの「バックアッププログラム」の項目に、仮想マシン21dが実行するバックアッププログラムDの識別子Dを登録する。そして、取得部14aは、「バックアッププログラム」の項目に識別子Dが登録されたレコードの「ネットワーク経路(SAN)」の項目に、回線28bの名称である経路2を登録する。
このようにして、対応関係テーブル生成処理が実行されることにより、対応関係テーブル13bが生成される。
対応関係テーブル13bが生成されると、取得部14aは、仮想マシン21a〜21dがバックアップ処理を開始するように制御する。例えば、対応関係テーブル13bが生成されると、取得部14aは、仮想マシン21aがバックアッププログラムAを実行する指示をVMホスト21eに送信する。かかる指示を受信したVMホスト21eは、仮想マシン21aにバックアッププログラムAを実行する指示を送信する。バックアッププログラムAを実行する指示を受信した仮想マシン21aは、指示にしたがって、バックアッププログラムAを実行する。すなわち、仮想マシン21aは、バックアップ処理を実行する。バックアップ処理において、仮想マシン21aは、仮想マシン22aのシステム領域のデータをストレージサーバ26のストレージ26aから取得し、取得したシステム領域のデータを回線28a及びFCスイッチ25を介してストレージサーバ27に送信する。これにより、バックアップ用ストレージ27aに仮想マシン22aのシステム領域のデータが記憶され、仮想マシン22aのシステム領域のデータが複製される。
また、対応関係テーブル13bが生成されると、取得部14aは、仮想マシン21bがバックアッププログラムBを実行する指示をVMホスト21eに送信する。かかる指示を受信したVMホスト21eは、仮想マシン21bにバックアッププログラムBを実行する指示を送信する。バックアッププログラムBを実行する指示を受信した仮想マシン21bは、指示にしたがって、バックアッププログラムBを実行する。すなわち、仮想マシン21bは、バックアップ処理を実行する。バックアップ処理において、仮想マシン21bは、仮想マシン22bのシステム領域のデータをストレージサーバ26のストレージ26aから取得し、取得したシステム領域のデータを回線28b及びFCスイッチ25を介してストレージサーバ27に送信する。これにより、バックアップ用ストレージ27aに仮想マシン22bのシステム領域のデータが記憶され、仮想マシン22bのシステム領域のデータが複製される。
また、対応関係テーブル13bが生成されると、取得部14aは、仮想マシン21cがバックアッププログラムCを実行する指示をVMホスト21eに送信する。かかる指示を受信したVMホスト21eは、仮想マシン21cにバックアッププログラムCを実行する指示を送信する。バックアッププログラムCを実行する指示を受信した仮想マシン21cは、指示にしたがって、バックアッププログラムCを実行する。すなわち、仮想マシン21cは、バックアップ処理を実行する。バックアップ処理において、仮想マシン21cは、仮想マシン23aのシステム領域のデータをストレージサーバ26のストレージ26aから取得し、取得したシステム領域のデータを回線28a及びFCスイッチ25を介してストレージサーバ27に送信する。これにより、バックアップ用ストレージ27aに仮想マシン23aのシステム領域のデータが記憶され、仮想マシン23aのシステム領域のデータが複製される。
また、対応関係テーブル13bが生成されると、取得部14aは、仮想マシン21dがバックアッププログラムDを実行する指示をVMホスト21eに送信する。かかる指示を受信したVMホスト21eは、仮想マシン21dにバックアッププログラムDを実行する指示を送信する。バックアッププログラムDを実行する指示を受信した仮想マシン21dは、指示にしたがって、バックアッププログラムDを実行する。すなわち、仮想マシン21dは、バックアップ処理を実行する。バックアップ処理において、仮想マシン21dは、仮想マシン24aのシステム領域のデータをストレージサーバ26のストレージ26aから取得し、取得したシステム領域のデータを回線28b及びFCスイッチ25を介してストレージサーバ27に送信する。これにより、バックアップ用ストレージ27aに仮想マシン24aのシステム領域のデータが記憶され、仮想マシン24aのシステム領域のデータが複製される。
そして、取得部14aは、各仮想マシン21a〜21dが各バックアッププログラムA〜Dを実行する際の各種のリソースの負荷の計測を開始する。そして、取得部14aは、計測した各種のリソースの負荷を負荷情報13cに登録する。例えば、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムAを実行する仮想マシン21aのCPUの使用量(GHz)を計測することを開始する。そして、取得部14aは、CPUの使用量(GHz)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたCPUの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のCPUの動作周波数4GHzで除した値に、100を乗じた値を仮想マシン21aのCPUの平均負荷(%)として算出する。例えば、現在から過去5分間計測された仮想マシン21aのCPUの使用量の平均値が0.4GHzである場合には、取得部14aは、仮想マシン21aのCPUの平均負荷10%を算出する。そして、取得部14aは、バックアッププログラムAの識別子Aと対応付けて仮想マシン21aのCPUの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムBを実行する仮想マシン21bのCPUの使用量(GHz)を計測することを開始する。そして、取得部14aは、CPUの使用量(GHz)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたCPUの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のCPUの動作周波数4GHzで除した値に、100を乗じた値を仮想マシン21bのCPUの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムBの識別子Bと対応付けて仮想マシン21bのCPUの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムCを実行する仮想マシン21cのCPUの使用量(GHz)を計測することを開始する。そして、取得部14aは、CPUの使用量(GHz)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたCPUの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のCPUの動作周波数4GHzで除した値に、100を乗じた値を仮想マシン21cのCPUの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムCの識別子Cと対応付けて仮想マシン21cのCPUの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムDを実行する仮想マシン21dのCPUの使用量(GHz)を計測することを開始する。そして、取得部14aは、CPUの使用量(GHz)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたCPUの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のCPUの動作周波数4GHzで除した値に、100を乗じた値を仮想マシン21dのCPUの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムDの識別子Dと対応付けて仮想マシン21dのCPUの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムAを実行する仮想マシン21aのメモリの使用量(GB)を計測することを開始する。そして、取得部14aは、メモリの使用量(GB)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のメモリの容量128GBで除した値に、100を乗じた値を仮想マシン21aのメモリの平均負荷(%)として算出する。例えば、現在から過去5分間計測された仮想マシン21aのメモリの使用量の平均値が25.6GBである場合には、取得部14aは、仮想マシン21aのメモリの平均負荷20%を算出する。そして、取得部14aは、バックアッププログラムAの識別子Aと対応付けて仮想マシン21aのメモリの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムBを実行する仮想マシン21bのメモリの使用量(GB)を計測することを開始する。そして、取得部14aは、メモリの使用量(GB)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のメモリの容量128GBで除した値に、100を乗じた値を仮想マシン21bのメモリの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムBの識別子Bと対応付けて仮想マシン21bのメモリの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムCを実行する仮想マシン21cのメモリの使用量(GB)を計測することを開始する。そして、取得部14aは、メモリの使用量(GB)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のメモリの容量128GBで除した値に、100を乗じた値を仮想マシン21cのメモリの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムCの識別子Cと対応付けて仮想マシン21cのメモリの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、バックアッププログラムDを実行する仮想マシン21dのメモリの使用量(GB)を計測することを開始する。そして、取得部14aは、メモリの使用量(GB)を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたメモリの使用量の平均値を算出し、算出した平均値をバックアップサーバ21のメモリの容量128GBで除した値に、100を乗じた値を仮想マシン21dのメモリの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムDの識別子Dと対応付けて仮想マシン21dのメモリの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、次の処理を行う。例えば、取得部14aは、バックアッププログラムAを実行する仮想マシン21aがバックアップ処理を実行する際に使用する回線28aに、バックアップ対象のデータが1秒間あたり流れるデータ量(Gbps)を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン22aのシステム領域のデータを指す。そして、取得部14aは、データ量を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線28aの帯域8Gbpsで除した値に、100を乗じた値を仮想マシン21aによる回線28aの平均負荷(%)として算出する。例えば、現在から過去5分間計測されたバックアップ対象のデータが1秒間あたり流れるデータ量の平均値が0.8Gbpsである場合には、取得部14aは、仮想マシン21aによる回線28aの平均負荷10%を算出する。そして、取得部14aは、バックアッププログラムAの識別子Aと対応付けて仮想マシン21aによる回線28aの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、次の処理を行う。例えば、取得部14aは、バックアッププログラムBを実行する仮想マシン21bがバックアップ処理を実行する際に使用する回線28bに、バックアップ対象のデータが1秒間あたり流れるデータ量(Gbps)を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン22bのシステム領域のデータを指す。そして、取得部14aは、データ量を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線28bの帯域8Gbpsで除した値に、100を乗じた値を仮想マシン21bによる回線28bの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムBの識別子Bと対応付けて仮想マシン21bによる回線28bの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、次の処理を行う。例えば、取得部14aは、バックアッププログラムCを実行する仮想マシン21cがバックアップ処理を実行する際に使用する回線28aに、バックアップ対象のデータが1秒間あたり流れるデータ量(Gbps)を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン23aのシステム領域のデータを指す。そして、取得部14aは、データ量を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線28aの帯域8Gbpsで除した値に、100を乗じた値を仮想マシン21cによる回線28aの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムCの識別子Cと対応付けて仮想マシン21cによる回線28aの平均負荷を負荷情報13cに上書きして登録する。
また、取得部14aは、所定時間間隔(例えば3秒間隔)で、次の処理を行う。例えば、取得部14aは、バックアッププログラムDを実行する仮想マシン21dがバックアップ処理を実行する際に使用する回線28bに、バックアップ対象のデータが1秒間あたり流れるデータ量(Gbps)を計測することを開始する。ここで、バックアップ対象のデータとは、仮想マシン24aのシステム領域のデータを指す。そして、取得部14aは、データ量を計測するたびに、次の処理を行う。すなわち、取得部14aは、現在から過去5分間計測されたデータ量の平均値を算出し、算出したデータ量の平均値を回線28bの帯域8Gbpsで除した値に、100を乗じた値を仮想マシン21dによる回線28bの平均負荷(%)として算出する。そして、取得部14aは、バックアッププログラムDの識別子Dと対応付けて仮想マシン21dによる回線28bの平均負荷を負荷情報13cに上書きして登録する。
上述したような方法で、取得部14aは、各仮想マシン21a〜21dが各バックアッププログラムA〜Dを実行する際の各種のリソースの負荷の計測を開始し、負荷情報13cにおける各種のリソースの負荷の更新を開始する。
また、取得部14aは、負荷情報13cに登録された各種の平均負荷のうち、所定値(例えば、90%)を超える平均負荷があると後述の第1の特定部14bにより判定された場合に、次の処理を行う。すなわち、取得部14aは、サイズ情報13eから、仮想マシン22a,22b,23a,24aのそれぞれのシステム領域のデータのサイズを取得する。次に、取得部14aは、ストレージ27へ転送済みの仮想マシン22aのシステム領域のデータのデータ量を特定する。そして、取得部14aは、特定したデータ量を仮想マシン22aのシステム領域のデータのサイズで除した値に100を乗じた値を、仮想マシン21aのバックアップ処理の進捗度(%)として算出する。また、取得部14aは、ストレージ27へ転送済みの仮想マシン22bのシステム領域のデータのデータ量を特定する。そして、取得部14aは、特定したデータ量を仮想マシン22bのシステム領域のデータのサイズで除した値に100を乗じた値を、仮想マシン21bのバックアップ処理の進捗度(%)として算出する。また、取得部14aは、ストレージ27へ転送済みの仮想マシン23aのシステム領域のデータのデータ量を特定する。そして、取得部14aは、特定したデータ量を仮想マシン23aのシステム領域のデータのサイズで除した値に100を乗じた値を、仮想マシン21cのバックアップ処理の進捗度(%)として算出する。また、取得部14aは、ストレージ27へ転送済みの仮想マシン24aのシステム領域のデータのデータ量を特定する。そして、取得部14aは、特定したデータ量を仮想マシン24aのシステム領域のデータのサイズで除した値に100を乗じた値を、仮想マシン21dのバックアップ処理の進捗度(%)として算出する。なお、バックアップ処理の進捗度は、バックアップ処理の進捗の度合いを示す値である。このようにして、取得部14aは、バックアップ処理の進捗度を取得する。
第1の特定部14bは、複数の回線28a,28bの少なくとも1つの使用帯域が増加したことを検知し、かつ、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、第1の特定部14bは、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行ういずれかの仮想マシンを特定する。この際、第1の特定部14bは、複数の回線28a,28bのそれぞれと、回線28a,28bを用いてバックアップ処理を行う仮想マシン21a〜21dとの対応関係に基づいて、仮想マシンを特定する。ここで、バックアップ処理が遅延するとは、例えば、バックアップ処理が規定の時間内に終了しないことである。
第1の特定部14bの一態様について説明する。例えば、第1の特定部14bは、上述した各種のリソースの負荷の計測、及び、負荷情報13cにおける各種のリソースの負荷の更新が取得部14aにより開始されると、次の処理を行う。すなわち、第1の特定部14bは、負荷情報13cに登録された仮想マシン21a〜21dのそれぞれのCPUの平均負荷のうち、所定値、例えば、90%を超える平均負荷があるか否かを判定する。また、第1の特定部14bは、負荷情報13cに登録された仮想マシン21a〜21dのそれぞれのメモリの平均負荷のうち、所定値、例えば、90%を超える平均負荷があるか否かを判定する。これに加えて、第1の特定部14bは、負荷情報13cに登録された仮想マシン21aによる回線28aの平均負荷と仮想マシン21cによる回線28aの平均負荷との合計を回線28aの平均負荷として算出する。また、第1の特定部14bは、負荷情報13cに登録された仮想マシン21bによる回線28bの平均負荷と仮想マシン21dによる回線28bの平均負荷との合計を回線28bの平均負荷として算出する。そして、第1の特定部14bは、回線28aの平均負荷、及び、回線28bの平均負荷の中に、所定値、例えば、90%を超える平均負荷があるか否かを判定する。
所定値(例えば、90%)を超える平均負荷があると判定した場合には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、仮想マシン21a〜21dの中から、平均負荷が所定値を超えた仮想マシンを特定し、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があるか否かを判定する。ここで、かかる閾値は、取得部14aにより算出される値であり、バックアップ処理が開始されてから現在の時刻までの経過時間を、バックアップの予定時間で除した値に、100を乗じた値である。例えば、図6の例に示すバックアップ情報13dが記憶部13に記憶されており、現在の曜日が月曜日で、現在の時刻が午前2時0分である場合には、取得部14aは、次のようにして閾値を計算する。すなわち、取得部14aは、バックアップ処理が開始されてから現在の時刻までの経過時間である2時間を、バックアップの予定時間である5時間で除した値に、100を乗じて閾値40%を算出する。
特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると判定した場合には、第1の特定部14bは、進捗度が閾値以下であるバックアップ処理の進捗加速度(%/s*s)の中に、負の値の進捗加速度があるか否かを判定する。ここで、進捗加速度は、取得部14aにより算出される値である。取得部14aは、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると第1の特定部14bにより判定されると、現在から過去5分間の進捗度の変化率を進捗速度(%/s)として算出する。そして、取得部14aは、現在から過去5分間の進捗速度の変化率を進捗加速度(%/s*s)として算出する。
進捗度が閾値以下であるバックアップ処理の進捗加速度の中に、負の値の進捗加速度があると判定した場合には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、所定値(例えば、90%)を超える平均負荷が、回線28aの平均負荷、または、回線28bの平均負荷であるか否かを判定する。
所定値(例えば90%)を超える平均負荷が、回線28aの平均負荷、又は、回線28bの平均負荷であると判定した場合には、第1の特定部14bは次の処理を行う。すなわち、第1の特定部14bは、対応関係テーブル13bから、平均負荷が所定値を超えた回線に対応する仮想マシンを特定する。第1の特定部14bは、特定した仮想マシンが1台である場合には、特定した仮想マシンを移動対象の仮想マシンとして特定する。一方、第1の特定部14bは、特定した仮想マシンが複数台である場合には、負荷情報13cを参照し、特定した複数台の仮想マシンの中から、平均負荷が所定値を超えた回線に対する平均負荷が最も高い仮想マシンを移動対象の仮想マシンとして特定する。例えば、回線28bの平均負荷が所定値を超え、対応関係テーブル13bから、名称が経路2である回線28bに対応する、バックアッププログラムB,Dを実行する仮想マシン21b,21dを特定した場合には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、図5に示す負荷情報13cを参照し、仮想マシン21b,21dの中から、平均負荷が所定値を超えた回線28bに対する平均負荷が高い仮想マシン21dを移動対象の仮想マシンとして特定する。ここで、仮想マシン21b,21dの中から、仮想マシン21dが特定された理由は、図5の負荷情報13cが示すように、仮想マシン21dによる回線28bの平均負荷95%のほうが、仮想マシン21bによる回線28bの平均負荷5%よりも高いからである。
一方、所定値(例えば90%)を超える平均負荷が、回線28aの平均負荷、及び、回線28bの平均負荷ではないと判定した場合には、第1の特定部14bは次の処理を行う。すなわち、第1の特定部14bは、平均負荷が所定値を超えた仮想マシンを移動対象の仮想マシンとして特定する。
第2の特定部14cは、バックアップ処理の進捗の度合いに基づいて、次の処理を行う。すなわち、第2の特定部14cは、複数の管理対象サーバ22〜24の中から、特定された移動対象の仮想マシンが移動した場合に、移動後の仮想マシンが実行するバックアップ処理が遅延しないという条件を満たす管理対象サーバを特定する。
第2の特定部14cの一態様について説明する。例えば、第2の特定部14cは、移動対象の仮想マシンが第1の特定部14bにより特定されると、取得部14aにより計測されたバックアップ処理が開始されてから現在までの移動対象の仮想マシンのCPUの使用量の平均値を算出する。そして、第2の特定部14cは、算出した平均値をストレージ27へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第1の値を算出する。そして、第2の特定部14cは、算出した第1の値にストレージ27へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第2の値を、次のような内容の値として算出する。すなわち、第2の特定部14cは、第2の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのCPUの使用量(GHz)として算出する。
また、第2の特定部14cは、移動対象の仮想マシンが第1の特定部14bにより特定されると、取得部14aにより計測されたバックアップ処理が開始されてから現在までの移動対象の仮想マシンのメモリの使用量の平均値を算出する。そして、第2の特定部14cは、算出した平均値をストレージ27へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第3の値を算出する。そして、第2の特定部14cは、算出した第3の値にストレージ27へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第4の値を、次のような内容の値として算出する。すなわち、第2の特定部14cは、第4の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのメモリの使用量(GB)として算出する。
また、第2の特定部14cは、移動対象の仮想マシンが第1の特定部14bにより特定されると、次の処理を行う。すなわち、第2の特定部14cは、バックアップ処理が開始されてから現在までの移動対象の仮想マシンがバックアップ処理を実行する際に使用する回線に1秒間あたり流れるバックアップ対象のデータのデータ量(Gbps)の平均値を算出する。なお、バックアップ処理が開始されてから現在までの移動対象の仮想マシンがバックアップ処理を実行する際に使用する回線に1秒間あたり流れるバックアップ対象のデータのデータ量は、取得部14aにより計測されている。そして、第2の特定部14cは、算出した平均値をストレージ27へ転送済みの移動対象の仮想マシンのシステム領域のデータのデータ量で除した第5の値を算出する。そして、第2の特定部14cは、算出した第5の値にストレージ27へ転送されていない移動対象の仮想マシンのシステム領域のデータのデータ量を乗じた第6の値を、次のような内容の値として算出する。すなわち、第2の特定部14cは、第6の値を、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバに接続された回線の帯域(Gbps)として算出する。
そして、第2の特定部14cは、管理対象サーバ22〜24の中から、以下に説明する3つの条件を満たす管理対象サーバを検索する。1つ目の条件は、算出した移動先の管理対象サーバのCPUの使用量(GHz)以上の使用量が使用が可能なCPUを有するという条件である。2つ目の条件は、算出した移動先の管理対象サーバのメモリの使用量(GB)以上の使用量が使用可能なメモリを有するという条件である。3つ目の条件は、算出した回線の帯域(Gbps)以上の帯域が使用可能な回線に接続されているという条件である。検索の結果、3つの条件を満たす管理対象サーバが1台得られた場合には、第2の特定部14cは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。
また、検索の結果、3つの条件を満たす管理対象サーバが複数得られた場合には、第2の特定部14cは、次の処理を行う。すなわち、第2の特定部14cは、得られた複数の管理対象サーバの中から、CPUの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。ここで、CPUの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する理由の一例について説明する。バックアップ処理に求められる要件は、規定の時間内で終了することであり、早く終了することではない。そのため、第2の特定部14cは、規定の時間内でバックアップ処理が終了する管理対象サーバのうち、CPUの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバのような、使用可能なリソース量が少ない管理対象サーバを特定する。これにより、そもそも管理対象サーバで実行されている仮想マシンの処理の性能が、バックアップ処理を実行する仮想マシンが移動されたことにより低下することを抑制することができる。
一方、検索の結果、3つの条件を満たす管理対象サーバが得られなかった場合には、第2の特定部14cは、次の処理を行う。すなわち、第2の特定部14cは、管理対象サーバ22〜24で動作する仮想マシン22a,22b,23a,24aを特定の管理対象サーバに移動させて、管理対象サーバ22〜24のいずれかの管理対象サーバのリソースの空きが大きくなるように制御する。そして、第2の特定部14cは、再び、上記3つの条件を満たす管理対象サーバを検索する処理を行う。検索の結果、3つの条件を満たす管理対象サーバが1台得られた場合には、第2の特定部14cは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。また、検索の結果、3つの条件を満たす管理対象サーバが複数得られた場合には、第2の特定部14cは、次の処理を行う。すなわち、第2の特定部14cは、得られた複数の管理対象サーバの中から、CPUの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定する。
移動制御部14dは、回線28a,28bの少なくとも1つの使用帯域が増加したことを検知し、バックアップ処理の進捗の度合いに基づいて、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、移動制御部14dは、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行う仮想マシンのいずれかを、バックアップサーバ21から複数の管理対象サーバ22〜24のいずれかの管理対象サーバに移動する。
移動制御部14dの一態様について説明する。例えば、移動制御部14dは、第1の特定部14bにより特定された移動対象の仮想マシンを、第2の特定部14cにより特定された管理対象サーバに移動させるマイグレーション指示をVMホスト21eに送信する。これにより、移動対象の仮想マシンが、動対象の仮想マシンを移動させる管理対象サーバに移動される。例えば、第1の特定部14bにより仮想マシン21dが移動対象の仮想マシンとして特定され、第2の特定部14cにより管理対象サーバ23が移動対象の仮想マシンを移動させる管理対象サーバとして特定された場合には、移動制御部14dは、次の処理を行う。すなわち、移動制御部14dは、仮想マシン21dを管理対象サーバ23に移動させるマイグレーション指示をVMホスト21eに送信する。これにより、図8に示すように、仮想マシン21dが、管理対象サーバ23に移動される。そして、移動制御部14dは、移動対象の仮想マシンが実行するバックアッププログラムの識別子に対して、移動対象の仮想マシンが移動された管理対象サーバに接続された回線の名称が対応付けられて登録されるように、対応関係テーブル13bを更新する。
制御部14は、CPUなどの回路である。
[処理の流れ]
次に、本実施例に係る管理サーバ10が実行する処理の流れについて説明する。図9は、実施例に係る制御処理の手順を示すフローチャートである。実施例に係る制御処理は、例えば、取得部14aが、バックアップ情報13dを参照し、現在の時刻がバックアップ情報13dに登録されたバックアップ処理を行う時間帯に含まれると判定した場合に実行される。
図9に示すように、取得部14aは、負荷許容量テーブル13aから、バックアップサーバ21及び管理対象サーバ22〜24の各サーバの各種のリソース(CPU、メモリ、各サーバに接続された回線)の負荷の最大許容量を取得する(S101)。
次に、取得部14aは、対応関係テーブル生成処理を実行する(S102)。対応関係テーブル生成処理について説明する。図10は、実施例に係る対応関係テーブル生成処理の手順を示すフローチャートである。図10に示すように、取得部14aは、バックアップサーバ21に接続された回線28a,28bの最大帯域の合計を算出する(S201)。
そして、取得部14aは、算出した帯域の合計に対する各回線28a,28bの帯域の割合を算出する(S202)。そして、取得部14aは、バックアップ処理を実行する仮想マシンを特定する(S203)。
そして、取得部14aは、特定した仮想マシンの中に、未選択の仮想マシンがあるか否かを判定する(S204)。未選択の仮想マシンがあると判定した場合(S204;Yes)には、取得部14aは、未選択の仮想マシンを1つ選択する(S205)。
そして、取得部14aは、算出した割合に応じて、選択した仮想マシンを回線28a,28bに対応付け(S206)、S204に戻る。
一方、未選択の仮想マシンがないと判定した場合(S204;No)には、取得部14aは、対応付けられた仮想マシンと回線とを対応付けて対応関係テーブル13bに登録し(S207)、処理結果を制御部14の内部メモリに格納し、リターンする。
図9の説明に戻り、取得部14aは、仮想マシン21a〜21dがバックアップ処理を開始するように制御する(S103)。そして、取得部14aは、各仮想マシン21a〜21dが各バックアッププログラムA〜Dを実行する際の各種のリソースの負荷の計測を開始し、負荷情報13cにおける各種のリソースの負荷の更新を開始する(S104)。
そして、第1の特定部14bは、負荷情報13cに登録された仮想マシン21a〜21dのそれぞれのCPUの平均負荷のうち、所定値(例えば90%)を超える平均負荷があるか否かを判定する。また、第1の特定部14bは、負荷情報13cに登録された仮想マシン21a〜21dのそれぞれのメモリの平均負荷のうち、所定値、例えば、90%を超える平均負荷があるか否かを判定する。これに加えて、第1の特定部14bは、負荷情報13cに登録された仮想マシン21aによる回線28aの平均負荷と仮想マシン21cによる回線28aの平均負荷との合計を回線28aの平均負荷として算出する。また、第1の特定部14bは、負荷情報13cに登録された仮想マシン21bによる回線28bの平均負荷と仮想マシン21dによる回線28bの平均負荷との合計を回線28bの平均負荷として算出する。そして、第1の特定部14bは、回線28aの平均負荷、及び、回線28bの平均負荷の中に、所定値、例えば、90%を超える平均負荷があるか否かを判定する(S105)。所定値(例えば、90%)を超える平均負荷がないと判定した場合(S105;No)には、第1の特定部14bは、後述のS121に進む。
一方、所定値(例えば、90%)を超える平均負荷があると判定した場合(S105;Yes)には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、仮想マシン21a〜21dの中から、平均負荷が所定値を超えた仮想マシンを特定し、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があるか否かを判定する(S106)。特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度がないと判定した場合(S106;No)には、第1の特定部14bは、後述のS121に進む。
一方、特定した仮想マシンのバックアップ処理の進捗度の中に、閾値以下の進捗度があると判定した場合(S106;Yes)には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、進捗度が閾値以下であるバックアップ処理の進捗加速度(%/s*s)の中に、負の値の進捗加速度があるか否かを判定する(S107)。負の値の進捗加速度がないと判定した場合(S107;No)には、第1の特定部14bは、後述のS121に進む。
一方、負の値の進捗加速度があると判定した場合(S107;Yes)には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、所定値(例えば90%)を超える平均負荷が、回線28aの平均負荷、または、回線28bの平均負荷であるか否かを判定する(S108)。
所定値(例えば90%)を超える平均負荷が、回線28aの平均負荷、又は、回線28bの平均負荷であると判定した場合(S108;Yes)には、第1の特定部14bは、次の処理を行う。すなわち、第1の特定部14bは、対応関係テーブル13bから、平均負荷が所定値を超えた回線に対応する仮想マシンを特定する(S109)。
そして、第1の特定部14bは、特定した仮想マシンが1台である場合には、特定した仮想マシンを移動対象の仮想マシンとして特定する。また、第1の特定部14bは、特定した仮想マシンが複数台である場合には、負荷情報13cを参照し、特定した複数台の仮想マシンの中から、平均負荷が所定値を超えた回線に対する平均負荷が最も高い仮想マシンを移動対象の仮想マシンとして特定する(S110)。
一方、所定値(例えば90%)を超える平均負荷が、回線28aの平均負荷、及び、回線28bの平均負荷ではないと判定した場合(S108;No)には、第1の特定部14bは次の処理を行う。すなわち、第1の特定部14bは、平均負荷が所定値を超えた仮想マシンを移動対象の仮想マシンとして特定する(S111)。
そして、第2の特定部14cは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのCPUの使用量(GHz)を算出する。また、第2の特定部14cは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバのメモリの使用量(GB)を算出する。また、第2の特定部14cは、移動対象の仮想マシンのバックアップ処理を規定の時間内に完了させるのに要する移動先の管理対象サーバに接続された回線の帯域(Gbps)を算出する(S112)。
そして、第2の特定部14cは、管理対象サーバ22〜24の中から、上述した3つの条件を満たす管理対象サーバを検索する(S113)。そして、第2の特定部14cは、検索の結果、3つの条件を満たす管理対象サーバが得られたか否かを判定する(S114)。3つの条件を満たす管理対象サーバが得られたと判定した場合(S114;Yes)には、第2の特定部14cは、得られた管理対象サーバの台数が、複数であるか否かを判定する(S115)。得られた管理対象のサーバの台数が1台である場合(S115;No)には、第2の特定部14cは、得られた管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定し(S116)、後述のS119へ進む。
一方、得られた管理対象サーバの台数が複数であると判定した場合(S115;Yes)には、第2の特定部14cは、次の処理を行う。すなわち、第2の特定部14cは、得られた複数の管理対象サーバの中から、CPUの空き使用量及びメモリの空き使用量が最も少ない管理対象サーバを移動対象の仮想マシンを移動させる管理対象サーバとして特定し(S117)、後述のS119へ進む。
また、検索の結果、3つの条件を満たす管理対象サーバが得られなかったと判定した場合(S114;No)には、第2の特定部14cは、次の処理を行う。すなわち、第2の特定部14cは、仮想マシン22a,22b,23a,24aを特定の管理対象サーバに移動させて、管理対象サーバ22〜24のいずれかの管理対象サーバのリソースの空きが大きくなるように制御し(S118)、S113に戻る。
そして、移動制御部14dは、第1の特定部14bにより特定された移動対象の仮想マシンを、第2の特定部14cにより特定された管理対象サーバに移動させるマイグレーション指示をVMホスト21eに送信する(S119)。そして、移動制御部14dは、移動対象の仮想マシンが実行するバックアッププログラムの識別子に対して、移動対象の仮想マシンが移動された管理対象サーバに接続された回線の名称が対応付けられて登録されるように、次の処理を行う。すなわち、移動制御部14dは、対応関係テーブル13bを更新する(S120)。
そして、移動制御部14dは、バックアップ処理が実行中であるか否かを判定する(S121)。バックアップ処理が実行中であると判定した場合(S121;Yes)には、移動制御部14dは、S105に戻る。一方、バックアップ処理が実行中でないと判定した場合(S121;No)には、移動制御部14dは、制御処理を終了する。
上述してきたように、本実施例に係る管理サーバ10は、回線28a,28bそれぞれの帯域負荷と、複数の管理対象サーバ22〜24それぞれのリソース使用量と、仮想マシン21a〜21dそれぞれが実行するバックアップ処理の進捗の度合いとを取得する。そして、管理サーバ10は、回線28a,28bの少なくとも1つの使用帯域が増加したことを検知し、かつ、進捗の度合いに基づいて、使用帯域が増加したことが検知された回線を用いるバックアップ処理が遅延することを検知すると、次の処理を行う。すなわち、管理サーバ10は、使用帯域が増加したことが検知された回線を用いてバックアップ処理を行う仮想マシン21a〜21dのいずれかを、バックアップサーバ21から複数の管理対象サーバ22〜24のいずれかに移動する。そして、移動対象の仮想マシンの移動先の管理対象サーバは、移動対象の仮想マシンが移動した場合に、移動する仮想マシンが実行するバックアップ処理が遅延しないことが進捗の度合いに基づいて予測されることを条件として決定される。したがって、管理サーバ10によれば、経路がバックアップ処理の遅延の要因となっている場合に、バックアップ処理の遅延を抑制することができる。
また、管理サーバ10は、上述した条件を満たす管理対象サーバの中で空きリソースが最小となる管理対象サーバを、移動対象の仮想マシンの移動先の管理対象サーバとして特定する。これにより、そもそも管理対象サーバで実行されている仮想マシンの処理の性能が、バックアップ処理を実行する仮想マシンが移動されたことにより低下することを抑制することができる。
また、管理サーバ10は、使用帯域が増加したことが検知された回線を用いるバックアップ処理の進捗の度合いを示す進捗度に基づいた進捗加速度に基づいて、バックアップ処理が遅延傾向であることを検知すると、次の処理を行う。すなわち、管理サーバ10は、対応関係テーブル13bの登録内容に基づいて、仮想マシン21a〜21dの中から、バックアップ処理の進捗の度合いが遅延傾向である仮想マシンを移動対象の仮想マシンとして特定する。したがって、管理サーバ10は、バックアップ処理の進捗の度合いが遅延傾向であるかどうかを示す指標である進捗加速率を加味して移動対象の仮想マシンを特定できるので、遅延傾向を加味して移動対象の仮想マシンを特定することができる。
さて、これまで開示のシステム、開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、バックアップサーバ21と複数の管理対象サーバ22〜24のそれぞれとが冗長化された複数の回線で接続され、各管理対象サーバ上で動作する仮想マシンのそれぞれが、システム領域のデータをバックアップサーバ21に送信するようにしてもよい。この場合、バックアップサーバ21上で動作するバックアップ処理を行う仮想マシンは、各管理対象サーバ上で動作する仮想マシンから送信されたシステム領域のデータを用いて、上述した内容と同様の方法でバックアップ処理を行うことができる。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[制御プログラム]
また、上記の実施例で説明した管理サーバ10の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図11を用いて、上記の実施例で説明した管理サーバ10と同様の機能を有する制御プログラムを実行するコンピュータの一例を説明する。図11は、制御プログラムを実行するコンピュータを示す図である。
図11に示すように、コンピュータ300は、CPU310、ROM320、HDD330、RAM340、表示装置350、通信装置360を有する。これら各機器310〜360は、バス370を介して接続されている。
表示装置350は、例えば、液晶ディスプレイなどである。表示装置350は、表示部11に対応する。通信装置360は、ネットワークカードなどである。通信装置360は、通信部12に対応する。
ROM320には、OS(Operating System)などの基本プログラムが記憶されている。また、HDD330には、上記の実施例で示す取得部14a、第1の特定部14b、第2の特定部14c、移動制御部14dと同様の機能を発揮する制御プログラム330aが予め記憶される。また、HDD330には、記憶部13に記憶された各種のデータが設けられる。
そして、CPU310が、制御プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、HDD330から各種のデータを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された各種のデータを用いて、制御プログラム330aを実行する。なお、RAM340に格納されるデータは、常に全てのデータがRAM340に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記した制御プログラム330aについては、必ずしも最初からHDD330に記憶させなくともよい。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
10 管理サーバ
13 記憶部
13a 負荷許容量テーブル
13b 対応関係テーブル
13c 負荷情報
13d バックアップ情報
13e サイズ情報
14 制御部
14a 取得部
14b 第1の特定部
14c 第2の特定部
14d 移動制御部

Claims (5)

  1. それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続されたコンピュータに、
    前記複数の経路それぞれに関する前記複数の複製処理仮想計算機のリソースの負荷を取得し、
    前記複数の複製処理仮想計算機それぞれが前記複製処理を実行するときに、前記記憶装置へ転送済みの前記複数の複製処理仮想計算機のシステム領域のデータのデータ量をそれぞれ特定して、前記特定したデータ量に基づいて前記複数の複製処理仮想計算機の前記複製処理の進捗の度合いを表す進捗度を取得し
    前記複数の複製処理仮想計算機による前記複数の経路の負荷のうち所定値を超える径路を選択し、
    前記選択した経路を用いる前記複製処理の前記進捗度のうち、閾値以下の進捗度がある場合、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知し、
    前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、前記選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記複数の経路のそれぞれと該経路を用いて前記複製処理を行う複製処理仮想計算機との対応関係に基づいて特定し、
    前記特定された複製処理仮想計算機が移動した場合に該複製処理仮想計算機が実行する前記複製処理が規定時間内に終了する条件を満たす物理装置を、前記複数の物理装置のリソースの使用量に基づいて特定し、
    前記処理装置から、前記特定された物理装置、前記特定された複製処理仮想計算機を移動する、
    処理を実行させることを特徴とする制御プログラム。
  2. 前記移動先の物理装置は、さらに、前記移動先の前記物理装置が有する空きリソースが、前記条件を満たす前記複数の物理装置の中で最小となる物理装置である、
    ことを特徴とする請求項1に記載の制御プログラム。
  3. 前記複製処理仮想計算機のいずれかを特定する処理は、前記進捗度に基づいて、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知し、かつ、前記選択した経路を用いる前記複製処理の進捗度の変化率が負の値であることを検知すると、前記対応関係に基づいて、前記複製処理の進捗度の変化率が負の値である複製処理仮想計算機を特定する
    ことを特徴とする請求項1または2に記載の制御プログラム。
  4. それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続された制御装置であって、
    前記複数の経路それぞれに関する前記複数の複製処理仮想計算機のリソースの負荷を取得する第1取得部と、
    前記複数の複製処理仮想計算機それぞれが前記複製処理を実行するときに、前記記憶装置へ転送済みの前記複数の複製処理仮想計算機のシステム領域のデータのデータ量をそれぞれ特定して、前記特定したデータ量に基づいて前記複数の複製処理仮想計算機の前記複製処理の進捗の度合いを表す進捗度を取得する第2取得部と、
    前記複数の複製処理仮想計算機による前記複数の経路の負荷のうち所定値を超える径路を選択する選択部と、
    前記選択した経路を用いる前記複製処理の前記進捗度のうち、閾値以下の進捗度がある場合、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知する検知部と、
    前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、前記選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記複数の経路のそれぞれと該経路を用いて前記複製処理を行う複製処理仮想計算機との対応関係に基づいて特定する第1特定部と、
    前記特定された複製処理仮想計算機が移動した場合に該複製処理仮想計算機が実行する前記複製処理が規定時間内に終了する条件を満たす物理装置を、前記複数の物理装置のリソースの使用量に基づいて特定する第2特定部と、
    前記処理装置から、前記特定された物理装置、前記特定された複製処理仮想計算機を移動する移動制御部と、
    を有することを特徴とする制御装置。
  5. それぞれ仮想計算機が動作する複数の物理装置と、前記複数の物理装置のそれぞれと複数の経路で接続された、前記複数の仮想計算機が用いるデータを前記複数の物理装置と異なる記憶装置に複製する複製処理を実行する複数の複製処理仮想計算機が動作する処理装置と、に接続されたコンピュータが、
    前記複数の経路それぞれに関する前記複数の複製処理仮想計算機のリソースの負荷を取得し、
    前記複数の複製処理仮想計算機それぞれが前記複製処理を実行するときに、前記記憶装置へ転送済みの前記複数の複製処理仮想計算機のシステム領域のデータのデータ量をそれぞれ特定して、前記特定したデータ量に基づいて前記複数の複製処理仮想計算機の前記複製処理の進捗の度合いを表す進捗度を取得し
    前記複数の複製処理仮想計算機による前記複数の経路の負荷のうち所定値を超える径路を選択し、
    前記選択した経路を用いる前記複製処理の前記進捗度のうち、閾値以下の進捗度がある場合、前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知し、
    前記選択した経路を用いる前記複製処理が規定時間内に終了しないことを検知したとき、前記選択した経路を用いて前記複製処理を行う複製処理仮想計算機のいずれかを、前記複数の経路のそれぞれと該経路を用いて前記複製処理を行う複製処理仮想計算機との対応関係に基づいて特定し、
    前記特定された複製処理仮想計算機が移動した場合に該複製処理仮想計算機が実行する前記複製処理が規定時間内に終了する条件を満たす物理装置を、前記複数の物理装置のリソースの使用量に基づいて特定し、
    前記処理装置から、前記特定された物理装置、前記特定された複製処理仮想計算機を移動する、
    処理を実行することを特徴とする制御方法。
JP2013250600A 2013-12-03 2013-12-03 制御プログラム、制御装置及び制御方法 Expired - Fee Related JP6221701B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013250600A JP6221701B2 (ja) 2013-12-03 2013-12-03 制御プログラム、制御装置及び制御方法
US14/534,922 US9430261B2 (en) 2013-12-03 2014-11-06 Controlling apparatus, and controlling method
EP14192434.0A EP2887220B1 (en) 2013-12-03 2014-11-10 Controlling apparatus, and controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013250600A JP6221701B2 (ja) 2013-12-03 2013-12-03 制御プログラム、制御装置及び制御方法

Publications (2)

Publication Number Publication Date
JP2015108899A JP2015108899A (ja) 2015-06-11
JP6221701B2 true JP6221701B2 (ja) 2017-11-01

Family

ID=51900188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013250600A Expired - Fee Related JP6221701B2 (ja) 2013-12-03 2013-12-03 制御プログラム、制御装置及び制御方法

Country Status (3)

Country Link
US (1) US9430261B2 (ja)
EP (1) EP2887220B1 (ja)
JP (1) JP6221701B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496431B2 (en) * 2017-07-31 2019-12-03 Red Hat Israel, Ltd. Virtual machine storage operation progress tracking
US10601837B1 (en) * 2017-10-02 2020-03-24 EMC IP Holding Company LLC Systems and methods for performing data protection operations with a proxy register
JP7255675B2 (ja) * 2019-05-22 2023-04-11 日本電信電話株式会社 仮想マシン監視装置、仮想マシン監視方法およびプログラム
US20220413902A1 (en) * 2021-06-23 2022-12-29 International Business Machines Corporation Partition migration with critical task prioritization

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312245A (ja) * 1997-05-12 1998-11-24 Nec Software Ltd 共有磁気ディスク装置のバックアップ方法およびバック アップ装置
JP4308241B2 (ja) 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US7844954B2 (en) * 2007-11-06 2010-11-30 Vmware, Inc. Using branch instruction counts to facilitate replay of virtual machine instruction execution
US8386610B2 (en) 2007-12-31 2013-02-26 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US8935701B2 (en) * 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
US8959509B1 (en) * 2008-06-02 2015-02-17 Symantec Corporation Techniques for virtual machine backup scheduling
US8046550B2 (en) * 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
JP5428075B2 (ja) 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
US9086928B2 (en) * 2009-08-31 2015-07-21 Accenture Global Services Limited Provisioner within cloud console—defining images of an enterprise to be operable on different cloud computing providers
JP2011128967A (ja) * 2009-12-18 2011-06-30 Hitachi Ltd 仮想計算機の移動方法、仮想計算機システム及びプログラム
US8769534B2 (en) * 2010-09-23 2014-07-01 Accenture Global Services Limited Measuring CPU utilization in a cloud computing infrastructure by artificially executing a bursting application on a virtual machine
JP5439329B2 (ja) 2010-10-08 2014-03-12 株式会社日立製作所 計算機システム、ストレージ管理計算機及びストレージ管理方法
US10203974B2 (en) * 2010-12-20 2019-02-12 Microsoft Technology Licensing, Llc Probe insertion via background virtual machine
US8495178B1 (en) * 2011-04-01 2013-07-23 Symantec Corporation Dynamic bandwidth discovery and allocation to improve performance for backing up data
US8615589B1 (en) * 2011-06-27 2013-12-24 Amazon Technologies, Inc. Resource optimization recommendations
JP5983728B2 (ja) * 2012-03-08 2016-09-06 日本電気株式会社 仮想マシン管理装置及び仮想マシン管理方法
US8498966B1 (en) 2012-05-30 2013-07-30 Symantec Corporation Systems and methods for adaptively performing backup operations
US20130332778A1 (en) * 2012-06-07 2013-12-12 Vmware, Inc. Performance-imbalance-monitoring processor features
US8972971B2 (en) * 2012-08-09 2015-03-03 International Business Machines Corporation Image instance mapping
US9298512B2 (en) * 2012-08-25 2016-03-29 Vmware, Inc. Client placement in a computer network system using dynamic weight assignments on resource utilization metrics
US9424024B2 (en) * 2012-09-07 2016-08-23 Oracle International Corporation System and method for elasticity management of services with a cloud computing environment
WO2014073046A1 (ja) * 2012-11-07 2014-05-15 富士通株式会社 情報処理装置、プログラムおよび仮想マシン移動方法
US9178763B2 (en) * 2013-03-13 2015-11-03 Hewlett-Packard Development Company, L.P. Weight-based collocation management
US9304885B2 (en) * 2013-06-18 2016-04-05 International Business Machines Corporation Passive monitoring of virtual systems using agent-less, near-real-time indexing
US9389893B2 (en) * 2013-08-13 2016-07-12 Vmware, Inc. Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels
US9037758B1 (en) * 2013-11-06 2015-05-19 Vmware, Inc. Dynamic virtual machine (VM) input-output per second (IOPS) control based on application IO profiling and VM IO usage trend analysis
CN106233261B (zh) * 2014-04-17 2020-03-20 起元技术有限责任公司 处理环境的一体化监视和控制

Also Published As

Publication number Publication date
EP2887220A1 (en) 2015-06-24
JP2015108899A (ja) 2015-06-11
US20150154040A1 (en) 2015-06-04
EP2887220B1 (en) 2016-07-27
US9430261B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
US11010206B2 (en) Constrained placement in hierarchical randomized schedulers
US20190220315A1 (en) Dynamic Adjustment Of Application Resources In A Distributed Computing System
US10146636B1 (en) Disaster recovery rehearsals
US9613037B2 (en) Resource allocation for migration within a multi-tiered system
US11755356B2 (en) Asynchronous queries on secondary data cores in a distributed computing system
US20170060707A1 (en) High availability dynamic restart priority calculator
US10067695B2 (en) Management server, computer system, and method
US10069906B2 (en) Method and apparatus to deploy applications in cloud environments
JP6221701B2 (ja) 制御プログラム、制御装置及び制御方法
US20180165109A1 (en) Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
US11150930B2 (en) Autonomic management of multi-site cloud infrastructure
US10007673B1 (en) Cluster file system comprising data mover module arranged between front-end and back-end file systems
Sahasrabudhe et al. Comparing openstack and vmware
JP2017091330A (ja) 計算機システム及び計算機システムのタスク実行方法
CN105635285B (zh) 一种基于状态感知的vm迁移调度方法
US9778854B2 (en) Computer system and method for controlling hierarchical storage therefor
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
US10929245B1 (en) Flexible scheduler for backups
US10366104B2 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
US11442793B1 (en) Fully dynamic virtual proxies for data protection
US11797729B2 (en) Hyper-converged infrastructure (HCI) operation predictor
US20200409767A1 (en) Scaling virtualization resource units of applications
US20240126582A1 (en) Disaster recovery of containerized workloads
US11740976B2 (en) Crash-consistent clone generation in a distributed file system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170830

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R150 Certificate of patent or registration of utility model

Ref document number: 6221701

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees