Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5998566B2 - 移動制御プログラム、移動制御方法および制御装置 - Google Patents
[go: Go Back, main page]

JP5998566B2 - 移動制御プログラム、移動制御方法および制御装置 - Google Patents

移動制御プログラム、移動制御方法および制御装置 Download PDF

Info

Publication number
JP5998566B2
JP5998566B2 JP2012071876A JP2012071876A JP5998566B2 JP 5998566 B2 JP5998566 B2 JP 5998566B2 JP 2012071876 A JP2012071876 A JP 2012071876A JP 2012071876 A JP2012071876 A JP 2012071876A JP 5998566 B2 JP5998566 B2 JP 5998566B2
Authority
JP
Japan
Prior art keywords
image
physical machine
unit
storage
physical
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
JP2012071876A
Other languages
English (en)
Other versions
JP2013205946A (ja
JP2013205946A5 (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 JP2012071876A priority Critical patent/JP5998566B2/ja
Priority to US13/723,277 priority patent/US9021481B2/en
Publication of JP2013205946A publication Critical patent/JP2013205946A/ja
Publication of JP2013205946A5 publication Critical patent/JP2013205946A5/ja
Application granted granted Critical
Publication of JP5998566B2 publication Critical patent/JP5998566B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

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

Description

本発明は、移動制御プログラムなどに関する。
近年、コンピュータシステムでは、仮想マシン環境が利用されている。
仮想マシン環境には、例えばハイパーバイザ方式を利用したものがある。ハイパーバイザ方式では、物理マシンのハードウェア上で仮想化を実現するハイパーバイザを動作させ、このハイパーバイザ上で複数の仮想マシン(VM:Virtual Machine)を動作させる技術がよく知られている。この仮想マシンは、異なる物理マシンのハイパーバイザに移動しても処理を継続することができる。そして、この仮想マシンは、ハイパーバイザによってCPUやメモリなどのリソースを効率的に割り当てられる。
また、コンピュータシステムでは、物理マシン環境が利用されている。物理マシン環境では、データを纏めて一括処理するバッチ処理が、CPUやメモリなどのリソースを、オペレーティングシステム(OS:Operating System)を介して最大限利用することができる。
特開2007−299425号公報 特開2007−183747号公報 特表2010−532527号公報
しかしながら、仮想マシン環境では、バッチ処理を高速に行えないという問題がある。すなわち、仮想マシン環境では、ハイパーバイザが、複数の仮想マシンにリソースを割り当てる際、CPUやメモリなどのリソースを使ってしまう。したがって、仮想マシンがバッチ処理を実行しようとした場合、CPUやメモリなどのリソースを最大限利用できず、バッチ処理を高速に行えない。
開示の技術は、仮想マシン環境のマシンであっても、バッチ処理を高速に行うことができることを目的とする。
1つの側面では、移動制御プログラムは、コンピュータに、仮想マシン環境として使用中のマシンのストレージのイメージを所定の記憶領域に移動し、前記移動する処理によって移動が完了した後に、移動が完了したマシンに対して、物理マシン環境における、オペレーティングシステムを含む新たなストレージのイメージを書き込む処理を実行させる。
本願の開示する移動制御プログラムの一つの態様によれば、仮想マシン環境のマシンであっても、バッチ処理を高速に行うことができるという効果を奏する。
図1は、実施例1に係る移動制御システムの構成を示す機能ブロック図である。 図2は、実施例1に係るRM管理テーブルのデータ構造の一例を示す図である。 図3は、実施例1に係るRMイメージファイルのデータ構造の一例を示す図である。 図4は、実施例1に係るRM管理制御処理の手順を示すフローチャートである。 図5は、RMイメージバックアップ処理の手順を示すフローチャートである。 図6は、RMイメージ書込処理の手順を示すフローチャートである。 図7は、RM起動処理の手順を示すフローチャートである。 図8は、RM停止処理の手順を示すフローチャートである。 図9は、RMイメージバックアップのシーケンスを示す図である。 図10は、RMイメージ書き込み処理のシーケンスを示す図である。 図11は、RM起動のシーケンスを示す図である。 図12は、RM停止のシーケンスを示す図である。 図13は、実施例2に係る移動制御システムの構成を示す機能ブロック図である。 図14は、実施例2に係る押し退け配備処理を説明する図である。 図15は、実施例2に係るVM状態管理テーブルのデータ構造の一例を示す図である。 図16は、実施例2に係るVMイメージファイルのデータ構造の一例を示す図である。 図17は、押し退け対象決定処理の手順を示すフローチャートである。 図18は、RM状態の出力例を示す図である。 図19は、実施例2に係る移動制御システムの別の構成例を示す図である。 図20は、移動制御プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する移動制御プログラム、移動制御方法および制御装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[実施例1に係る移動制御システムの構成]
図1は、実施例1に係る移動制御システムの構成を示す機能ブロック図である。図1に示すように、移動制御システム9は、ネットワーク3で接続されるサーバ1と複数の物理マシン2とを有する。複数の物理マシン2には、物理マシン環境のマシンおよび仮想マシン環境のマシンが含まれる。物理マシン環境のマシンには、ハードウェア上にOSがインストールされている。仮想マシン環境のマシンには、仮想化を実現するハイパーバイザ方式が利用される場合、ハードウェア上にハイパーバイザがインストールされる。そして、仮想マシン環境のマシンは、このハイパーバイザ上で複数の仮想マシン(VM)を動作させる。実施例では、このハイパーバイザを、VMプラットフォーム(VMP)というものとする。なお、仮想化を実現する方式として、ハイパーバイザ方式を採用するが、これに限定されるものではない。
物理マシン2は、ハードディスク(HDD)50を有する。物理マシン2は、「RM」(Removable Machine)として配備される。「RM」とは、マシン環境を移動することができるマシンを指すものとする。すなわち、RMは、仮想マシン環境を物理マシン環境にマシン環境を移動したり、物理マシン環境を仮想マシン環境にマシン環境を移動したりすることができるマシンである。つまり、RMは、従来ではマシン環境が固定であった物理マシン環境の物理マシンであっても、そのマシン環境を退避したり、復元したり、移動したり、複写したりすることが可能なマシンを意味する。
ネットワーク3は、LAN(Local Area Network)を代表例とするが、インターネットであっても良いし、インターネットを利用したイントラネットまたはエクストラネットであっても良いし、キャリア網であっても良い。実施例では、ネットワーク3をLANであるものとして説明する。
サーバ1は、仮想マシン環境として使用中の物理マシンのストレージのイメージを所定の記憶領域にバックアップする。そして、サーバ1は、バックアップが完了した後に、バックアップが完了した物理マシンに対して、物理マシン環境として使用させるべく、OSを含む新たなストレージのイメージを書き込む。言い換えると、サーバ1は、物理マシン2をRMとして配備する。そして、サーバ1は、仮想マシン環境のマシンを物理マシン環境のマシンに切り替える。
サーバ1は、記憶部10と、制御部20と、入力部30と、出力部40とを有する。入力部30は、RMの切り替え指示などを入力し、キーボードやマウス、マイクなどに対応する。出力部40は、各RMの状態などを出力し、ディスプレイ(もしくはモニタ、タッチパネル)に対応する。
記憶部10は、例えばフラッシュメモリ(Frash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)などの不揮発性の半導体メモリ素子などの記憶装置に対応する。そして、記憶部10は、RM管理マスタDB(DataBase)11として、RM管理テーブル12とRMイメージファイル13と運用ログ14を記憶する。
RM管理テーブル12は、各物理マシン2をRMとして管理する。RMイメージファイル13は、各「RMイメージ」のファイル情報であり、RMイメージをバックアップする際に用いられる。「RMイメージ」とは、RMとして配備される物理マシンのストレージのイメージを意味する。ストレージとは、HDD50の内容を意味し、物理マシン環境のOS、仮想マシン環境のVMPおよびVMのイメージを含む。運用ログ14は、後述するRM管理制御の運用時に出力されるログであり、発生する各種イベントによってログの内容は異なる。なお、RM管理テーブル12およびRMイメージファイル13の詳細な説明は、後述する。
制御部20は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部20は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路に対応する。さらに、制御部20は、RM管理制御部21として、RMイメージバックアップ部22と、RMイメージ書込部23と、RM起動部24と、RM停止部25とを有する。
RMイメージバックアップ部22は、切替対象となるRMのRMイメージをRM管理マスタDB11にバックアップする。なお、RMイメージバックアップ部22は、一旦、切替対象となるRMを停止(電源をオフ)してから、改めてRMの電源をオンする。RMの停止は、後述するRM停止部25によって行われる。RMの電源のオンは、例えばWOL(Wake On LAN)を利用することで実現できる。
例えば、RMイメージバックアップ部22は、ウェブブラウザから切替対象となるRMの配置名を含むRMの切替指示を取得する。そして、RMイメージバックアップ部22は、RM管理マスタDB11に基づいて、切替対象となるRMの配置名に対応するRMイメージのイメージファイル名を取得する。そして、RMイメージバックアップ部22は、取得したイメージファイル名のRMイメージを切替対象となるRMから抽出し、抽出したRMイメージをRM管理マスタDB11内のRMイメージファイル13にバックアップする。一例として、RMイメージバックアップ部22は、切替対象となるRMのマシン環境が仮想マシン環境である場合、仮想マシン環境内のVMPおよびVMのRMイメージをバックアップする。なお、RMイメージバックアップ部22の詳細については後述する。
ここで、RM管理テーブル12およびRMイメージファイル13のデータ構造について、図2および図3を参照して説明する。図2は、実施例に係るRM管理テーブルのデータ構造の一例を示す図である。図2に示すように、RM管理テーブル12には、配置名12aとRMホスト名12bとIPアドレス12cと稼動状況12dと使用中フラグ12eとを対応付けて記憶する。さらに、RM管理テーブル12には、対応システム12fと導入済みOS12gと配備権限12hとイメージファイル名12iと備考12jとを対応付けて記憶する。
配置名12aは、RMとして配備される物理マシン自体を識別する名称である。RMホスト名12bは、RMが配備された後のRMのホスト名である。RMホスト名12bは、配備の際にRMイメージファイルに格納されているホスト名であるが、別のホスト名に変更されても良い。IPアドレス12cは、RMが配備された後のRMのIPアドレスである。IPアドレス12cは、配備の際にRMイメージファイルに格納されているIPアドレスであるが、別のIPアドレスに変更されても良い。稼動状況12dは、配置名12aで示されるRMの状態である。例えば、稼動状況12dには、稼動中の状態である「稼動」、停止中の状態である「停止」、準備中の状態である「イメージ抽出中」、「配備中」、「起動中」、「停止中」の各状態が設定される。
使用中フラグ12eは、ユーザが使用中であるか否かを管理するフラグである。例えば、ユーザが使用中である場合、「1」が設定され、ユーザが使用中でない場合、「0」が設定される。なお、ユーザが使用中である場合には、使用中のサービス名が設定される。対応システム12fは、VMPが配備されない物理マシン環境の場合、RMとして配備される物理マシン自体の機種を指し、VMPが配備される仮想マシン環境の場合、VMPの識別子、すなわちVMPの名称およびVMPのバージョンを指す。導入済みOS12gは、配備されたOSの名称およびOSのバージョンを指す。なお、VMPが配備される場合には、加えて、OSに割り当てられたコア数や割り当てメモリ量が設定される。配備権限12hには、RMとして配備される物理マシンの制御可能な権限を持ったユーザの識別子が設定される。イメージファイル名12iは、配備されたRMイメージファイルの名称である。備考12jには、メモが設定される。
図3は、実施例1に係るRMイメージファイルのデータ構造の一例を示す図である。図3に示すように、RMイメージファイル13には、RMイメージファイル名13aとRMバイナリイメージ13bと抽出システム13cと対応システム13dと導入済みOS13eと備考13fとを対応付けて記憶する。RMイメージファイル名13aは、RMイメージを識別するファイルの名称である。RMバイナリイメージ13bは、RMイメージのバイナリデータである。すなわち、RMバイナリイメージ13bは、RMとして配備された物理マシン2のHDD50から抽出されるデータである。抽出システム13cは、RMイメージを抽出した物理マシン2の対応システムであり、RM管理テーブル12の対応システム12fに対応する。対応システム13dは、抽出システム13cで示された対応システム以外にRMイメージファイル名13aで示されるRMイメージを配置可能な対応システムである。導入済みOS13eは、RMイメージのOSの名称およびバージョンを示す。備考13fには、メモが設定される。
図1に戻って、RMイメージ書込部23は、切替対象のRMに新たなRMイメージを書き込む。例えば、RMイメージ書込部23は、ウェブブラウザから指示された新たなRMイメージをRM管理マスタDB11のRMイメージファイル13から取得し、取得したRMイメージを切替対象のRMに書き込む。一例として、RMイメージ書込部23は、物理マシン環境のマシンとなるようにRMを配備すべく、物理マシン環境のOSのRMイメージを切替対象のRMに書き込む。RMイメージ書込部23は、切替対象のRMにRMイメージを全て書き込んだ後、当該RMを配備した物理マシンの電源をオフにする。なお、RMイメージ書込部23の詳細については後述する。
RM起動部24は、RMイメージ書込部23によって新たなRMイメージが書き込まれた物理マシン2について、RMを起動させる。これは、例えば新しく書き込まれたRMイメージがOSである場合、新規なOSを起動するためである。なお、RM起動部24の詳細については後述する。
RM停止部25は、該当するRMを停止させる。例えば、RM停止部25は、RMイメージバックアップ部22でRMを停止させる際に用いられる。なお、RM停止部25の詳細については後述する。
[RM管理制御処理の手順]
次に、RM管理制御部21によって実行されるRM管理制御処理について説明する。図4は、実施例1に係るRM管理制御処理の手順を示すフローチャートである。なお、ウェブブラウザからRMの切替指示が出されるものとして説明する。また、RMとして配備される物理マシン2には、サーバ1がリモートで電源をONまたはOFFできたり、ネットワークブートをしたりできるように、予め設定されているものとする。ここでは、物理マシン2には、BIOS(Basic Input/Output System)に対して、PXE(Preboot eXecution Environment)、WOLの設定がされているものとする。
まず、RMイメージバックアップ部22は、RMの切替指示を取得したか否かを判定する(ステップS11)。切替指示を取得していないと判定した場合(ステップS11;No)、RMイメージバックアップ部22は、切替指示を取得するまで、判定処理を繰り返す。一方、切替指示を取得したと判定した場合(ステップS11;Yes)、RMイメージバックアップ部22は、ステップS12に移行する。なお、切替指示には、切替対象となる物理マシン2(RM)の配置名とRMに新たに書き込まれるRMイメージのファイル名が含まれる。
そして、RMイメージバックアップ部22は、切替対象の配置名の物理マシン2が稼動状態か否かを判定する(ステップS12)。切替対象の配置名の物理マシン2が稼動状態か否かの判定は、RM管理テーブル12の稼動状況12dを参照することで行われる。例えば、RMイメージバックアップ部22は、稼動状況12dが「稼動」や準備中の状態であれば、稼動状態であると判定し、稼動状況12dが「停止」であれば、稼動状態でないと判定する。
そして、切替対象の配置名の物理マシン2が稼動状態でないと判定した場合(ステップS12;No)、RMイメージバックアップ部22は、ステップS16に移行する。一方、切替対象の配置名の物理マシン2が稼動状態であると判定した場合(ステップS12;Yes)、RMイメージバックアップ部22は、切替対象の配置名の物理マシン2が切替抑制対象になっているか否かを判定する(ステップS13)。切替対象の配置名の物理マシン2が切替抑制対象になっているか否かの判定は、例えば、RM管理テーブル12の使用中フラグ12eを参照することで行われる。一例として、RMイメージバックアップ部22は、使用中フラグ12eがユーザの使用中であることを示す「1」であれば、切替抑制対象であると判定し、使用中フラグ12eがユーザの使用中でないことを示す「0」であれば、切替抑制対象でないと判定する。
そして、切替対象の配置名の物理マシン2が切替抑制対象になっていないと判定した場合(ステップS13;No)、RMイメージバックアップ部22は、稼動状態である当該物理マシン2(RM)を停止させる(ステップS14)。そして、RMイメージバックアップ部22は、ステップS16に移行する。一方、切替対象の配置名の物理マシン2が切替抑制対象になっていると判定した場合(ステップS13;Yes)、RMイメージバックアップ部22は、エラーを出力部40に表示するとともに、運用ログ14に記録し(ステップS15)。そして、RMイメージバックアップ部22は、ステップS11に移行する。運用ログ14には、例えば権限ユーザ名、配置名、エラー原因(使用中のユーザ、使用システム名)およびエラーが発生した年月日時分秒が記録される。
ステップS16では、RMイメージバックアップ部22は、ウェブブラウザから指示された配置名の物理マシン2のRMイメージをRM管理マスタDB11にバックアップする(ステップS16)。続いて、RMイメージ書込部23は、ウェブブラウザから指示されたRMイメージをRM管理マスタDB11から取得し、取得したRMイメージを切替対象の物理マシン2に書き込む(ステップS17)。
その後、RM起動部24は、切替対象の物理マシン2について、RMを起動させる(ステップS18)。そして、RM起動部24は、切替対象の物理マシン2について、RM管理マスタDB11内のRM管理テーブル12の情報を更新する(ステップS19)。例えば、RM起動部24は、切替対象の物理マシン2に配備されたRMの管理情報およびRMの起動状態を更新する。RMの管理情報には、例えば、切替対象の配置名に対応する、RM管理テーブル12のIPアドレス12c、対応システム12f、導入済みOS12gおよびイメージファイル名12iが含まれる。RMの起動状態には、例えば、切替対象の配置名に対応する、RM管理テーブル12の稼動状況12dが含まれる。
[RMイメージバックアップ処理の手順]
次に、RMイメージバックアップ部22によって実行されるRMイメージバックアップ処理について説明する。図5は、RMイメージバックアップ処理の手順を示すフローチャートである。
RMイメージバックアップ部22は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信し、当該物理マシン2の電源をONする。そして、RMイメージバックアップ部22は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「イメージ抽出中(0%)」に設定する(ステップS21)。このとき、RMイメージバックアップ部22は、バックアップの状況を運用ログ14に記録する。
そして、RMイメージバックアップ部22は、対象の物理マシン2にネットワークブートをさせるべく、当該物理マシンにブートプログラム、および小規模のOSを送信する(ステップS22)。そして、RMイメージバックアップ部22は、バックアップの制御手順を記述したリモートスクリプトを対象の物理マシン2へ送信する(ステップS23)。
対象の物理マシン2によってリモートスクリプトが実行された結果、RMイメージバックアップ部22は、対象の物理マシン2からRMイメージデータを受信し、受信したRMイメージデータを順次RM管理マスタDB11へ格納する。そして、RMイメージバックアップ部22は、RMイメージデータの受信進捗(%)について、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを更新する(ステップS24)。稼動状況12dには、「イメージ抽出中」に百分率で表される受信進捗(%)を付加して設定される。このとき、RMイメージバックアップ部22は、バックアップの状況を運用ログ14に記録する。
その後、RMイメージバックアップ部22は、対象の物理マシンからRMイメージの抽出が完了した旨の通知を受信すると、当該物理マシン2の電源をリモートでOFFする。そして、RMイメージバックアップ部22は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「イメージ抽出完了(100%)」に更新する(ステップS25)。このとき、RMイメージバックアップ部22は、バックアップの状況を運用ログ14に記録する。
なお、RMイメージバックアップ部22における運用ログ14には、例えば権限ユーザ名、配置名、RMホスト名、イメージファイル名、イメージの抽出を開始した年月日時分秒およびイメージの抽出を終了した年月日時分秒が記録される。
[RMイメージ書込処理の手順]
次に、RMイメージ書込部23によって実行されるRMイメージ書込処理について説明する。図6は、RMイメージ書込処理の手順を示すフローチャートである。
RMイメージ書込部23は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信し、当該物理マシン2の電源をONする。そして、RMイメージ書込部23は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「配備中(0%)」に設定する(ステップS31)。このとき、RMイメージ書込部23は、RMイメージの書き込みの状況を運用ログ14に記録する。
そして、RMイメージ書込部23は、対象の物理マシン2にネットワークブートをさせるべく、当該物理マシン2にブートプログラム、および小規模のOSを送信する(ステップS32)。そして、RMイメージ書込部23は、RMイメージの書込みの制御手順を記述したリモートスクリプトを対象の物理マシン2へ送信する(ステップS33)。
そして、RMイメージ書込部23は、対象の物理マシン2からRMイメージの転送を待ち受けている旨の通知を受信すると、ウェブブラウザから指示された対象のRMイメージデータをRM管理マスタDB11から取得し、取得したRMイメージデータを対象の物理マシン2へ送信する。そして、RMイメージ書込部23は、RMイメージデータの送信進捗(%)について、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを更新する(ステップS34)。稼動状況12dには、「配備中」に百分率で表される送信進捗(%)を付加して設定される。このとき、RMイメージ書込部23は、RMイメージの書き込みの状況を運用ログ14に記録する。
その後、RM管理マスタDB11からのRMイメージの取得が完了すると、RMイメージ書込部23は、対象の物理マシン2の電源をリモートでOFFする。そして、RMイメージ書込部23は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「配備完了(100%)」に更新する(ステップS35)。このとき、RMイメージ書込部23は、RMイメージの書き込みの状況を運用ログ14に記録する。
なお、RMイメージ書込部23における運用ログ14には、例えば権限ユーザ名、配置名、RMホスト名、イメージファイル名、イメージの書き込みを開始した年月日時分秒およびイメージの書き込みを終了した年月日時分秒が記録される。
[RM起動処理の手順]
次に、RM起動部24によって実行されるRM起動処理について説明する。図7は、RM起動処理の手順を示すフローチャートである。
RM起動部24は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信し、当該物理マシン2の電源をONする。そして、RM起動部24は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「起動中」に設定する(ステップS41)。このとき、RM起動部24は、RMの起動状況を運用ログ14に記録する。
そして、RM起動部24は、対象の物理マシン2にネットワークブートをさせるべく、当該物理マシンにブートプログラム、および小規模のOSを送信する(ステップS42)。そして、RM起動部24は、RM起動の制御手順を記述したリモートスクリプトを対象の物理マシン2へ送信する(ステップS43)。
その後、RM起動部24は、対象の物理マシン2から稼動が開始された旨の信号を受信すると、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「稼動」に更新する(ステップS44)。このとき、RMイメージ書込部23は、RMの起動状況を運用ログ14に記録する。
なお、RM起動部24における運用ログ14には、例えば権限ユーザ名、配置名、RMホスト名、RMを起動した年月日時分秒が記録される。
[RM停止処理の手順]
次に、RM停止部25によって実行されるRM停止処理について説明する。図8は、RM停止処理の手順を示すフローチャートである。
RM停止部25は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「停止中」に設定する(ステップS51)。このとき、RM停止部25は、RMの停止状況を運用ログ14に記録する。
そして、RM停止部25は、稼動中の該当する物理マシン2にLAN経由で稼動停止信号(シャットダウン命令)を送信する(ステップS52)。これは、該当する物理マシンをシャットダウン(停止)するためである。このとき、RM停止部25は、RMの停止状況を運用ログ14に記録する。
続いて、RM停止部25は、予め定義された時間だけ待機する(ステップS53)。そして、RM停止部25は、シャットダウン命令の送信先の物理マシン2が応答を返さなくなったか否かを判定する(ステップS54)。シャットダウン命令の送信先の物理マシン2が応答を返すと判定した場合(ステップS54;No)、RM停止部25は、待機すべく、ステップS53に移行する。
一方、シャットダウン命令の送信先の物理マシン2が応答を返さなくなったと判定した場合(ステップS54;Yes)、RM停止部25は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「停止」に更新する(ステップS55)。このとき、RM停止部25は、RMの停止状況を運用ログ14に記録する。
なお、RM停止部25における運用ログ14には、例えば権限ユーザ名、配置名、RMホスト名、RMを停止した年月日時分秒が記録される。
[RMイメージバックアップのシーケンス]
次に、移動制御システム9によって実行されるRMイメージバックアップのシーケンスについて説明する。図9は、RMイメージバックアップのシーケンスを示す図である。
まず、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信する(ステップS61)。WOL信号によって電源がONとなった物理マシン2は、WOL信号を送信したRM管理制御部21に対して確認信号を送信する(ステップS62)。
続いて、RM管理制御部21は、当該物理マシン2にブートプログラム、小規模OSおよびバックアップの制御手順を記述したリモートスクリプトを送信する(ステップS63)。送信されたブートプログラムおよび小規模OSによって起動が開始された物理マシン2は、確認信号を送信する(ステップS64)。
確認信号を受信したRM管理制御部21は、対象の物理マシン2にRMイメージ(HDDイメージ)の転送を指示する(ステップS65)。対象の物理マシン2は、送信されたリモートスクリプトを実行すると、自己のマシンに内蔵されたストレージの内容を連続的に抽出し、抽出した内容、すなわちRMイメージデータをLAN経由でRM管理制御部21に送信する(ステップS66、68)。
RMイメージデータを受信したRM管理制御部21は、受信したRMイメージデータを、順番に、RM管理マスタDB11に保存する。このとき、RM管理制御部21は、RMイメージデータの受信進捗(%)について、対象の物理マシン2の配置名に対応する、RM管理テーブル12の稼動状況12dを更新する(ステップS67、69)。稼動状況12dには、「イメージ抽出中」に百分率で表される受信進捗(%)を付加して設定される。
そして、RM管理制御部21は、物理マシン2から送信されたRMイメージデータの送信完了(ステップS70)を受信すると、受信した最後のRMイメージデータをRM管理マスタDB11に保存する。このとき、RM管理制御部21は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「イメージ抽出完了(100%)」に更新する(ステップS71)。そして、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由で電源OFFの制御信号を送信する(ステップS72)。対象の物理マシン2は、電源OFFの制御信号によって、電源OFFとなる。
[RMイメージ書込のシーケンス]
次に、移動制御システム9によって実行されるRMイメージ書込のシーケンスについて説明する。図10は、RMイメージ書込処理のシーケンスを示す図である。
まず、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信する(ステップS81)。WOL信号によって電源がONとなった物理マシン2は、WOL信号を送信したRM管理制御部21に対して確認信号を送信する(ステップS82)。
続いて、RM管理制御部21は、当該物理マシン2にブートプログラム、小規模OSおよびRMイメージ書込みの制御手順を記述したリモートスクリプトを送信する(ステップS83)。送信されたブートプログラムおよび小規模OSによって起動が開始された物理マシン2は、送信されたリモートスクリプトを実行する。そして、物理マシン2は、RM管理制御部21に対して、RMイメージ(HDDイメージ)の転送を待ち受ける準備が完了した旨の信号を送信する(ステップS84)。
RMイメージの転送を待ち受ける準備が完了した旨の信号を受信したRM管理制御部21は、RM管理マスタDB11から、ウェブブラウザから指示された対象のRMイメージのデータを取得する(ステップS85、S87)。そして、RM管理制御部21は、取得したRMイメージデータを対象の物理マシン2に送信する(ステップS86、S88)。このとき、RM管理制御部21は、RMイメージデータの送信進捗(%)について、対象の物理マシン2の配置名に対応する、RM管理テーブル12の稼動状況12dを更新する。稼動状況12dには、「配備中」に百分率で表される送信進捗(%)を付加して設定される。他方、対象の物理マシン2では、RMイメージデータを受信し、受信したRMイメージデータを自己のマシンに内蔵されたストレージ(HDD)に連続的に書き込む。
そして、RM管理制御部21は、RMイメージデータの取得が完了すると(ステップS89)、取得した最後のRMイメージデータを対象の物理マシン2に送信する(ステップS90)。このとき、RM管理制御部21は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「配備完了(100%)」に更新する。そして、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由で電源OFFの制御信号を送信する(ステップS92)。対象の物理マシン2は、電源OFFの制御信号によって、電源OFFとなる。
[RM起動のシーケンス]
次に、移動制御システム9によって実行されるRM起動のシーケンスについて説明する。図11は、RM起動のシーケンスを示す図である。
RM管理制御部21は、起動する物理マシン2の配置名に対応する、RM管理テーブル12の稼動状況12dを「起動中」に更新する(ステップS101)。そして、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由でWOL信号を送信する(ステップS102)。WOL信号によって電源がONとなった物理マシン2は、WOL信号を送信したRM管理制御部21に対して確認信号を送信する(ステップS103)。
続いて、RM管理制御部21は、対象の物理マシン2にブートプログラム、小規模OSおよびRM起動の制御手順を記述したリモートスクリプトを送信する(ステップS104)。RMが配備された直後の起動の場合には、RM管理制御部21は、リモートスクリプトに、OS起動時に設定されるRMホスト名およびIPアドレスを埋め込む。
対象の物理マシン2は、送信されたリモートスクリプトを実行すると、自己のマシンに内蔵されたストレージに書き込まれているOSを起動する。RMが配備された直後の起動の場合には、対象の物理マシン2は、RMホスト名およびIPアドレスを設定することになる。そして、対象の物理マシン2は、稼動開始および確認信号をRM管理制御部21に対して送信する(ステップS105)。
稼動開始および確認信号を受信したRM管理制御部21は、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「稼働」に更新する(ステップS106)。
[RM停止のシーケンス]
次に、移動制御システム9によって実行されるRM停止のシーケンスについて説明する。図12は、RM停止のシーケンスを示す図である。
RM管理制御部21は、停止させる物理マシン2の配置名に対応する、RM管理テーブル12の稼動状況12dを「停止中」に更新する(ステップS111)。そして、RM管理制御部21は、該当する配置名の物理マシン2にLAN経由でシャットダウン命令を送信する(ステップS112)。シャットダウン命令を受信した物理マシン2は、シャットダウン処理を実行する。
シャットダウン命令を送信後、RM管理制御部21は、予め定義した時間だけ待機し、待機後、対象の物理マシン2に対して生存確認信号を送信する(ステップS113)。そして、RM管理制御部21は、予め定義した時間だけ待機しても対象の物理マシン2から応答が無かった場合、物理マシン2が停止したと判断し、該当する配置名に対応する、RM管理テーブル12の稼動状況12dを「停止」に更新する(ステップS114)。
[実施例1の効果]
上記実施例1では、サーバ1は、仮想マシン環境として使用中の物理マシン2のストレージのイメージをRM管理マスタDB11に移動する。そして、サーバ1は、移動が完了した後に、移動が完了した物理マシン2に対して、物理マシン環境として使用させるべく、OSを含む新たなストレージのイメージを書き込む。かかる構成によれば、サーバ1は、仮想マシン環境として使用中であった物理マシン2を物理マシン環境として使用できるようにしたので、仮にバッチ処理を実行するような場合に当該バッチ処理を高速化することができる。また、サーバ1は、物理マシン2のストレージのイメージを移動し、OSを含む新たなストレージのイメージを当該物理マシン2に書き込むようにしたので、物理マシン2上のマシン環境を移動することができる。
また、上記実施例1では、サーバ1は、仮想マシン環境として使用中の物理マシン2のストレージのイメージをRM管理マスタDB11にバックアップする。そして、サーバ1は、バックアップが完了した物理マシン2に対して、OSを含む、物理マシン環境のストレージのイメージをRM管理マスタDB11から取得し、取得したイメージを書き込む。そして、サーバ1は、書き込みが完了した後に、書き込みが完了した物理マシン2を起動する。かかる構成によれば、サーバ1は、OSを含む、物理マシン環境のストレージのイメージを物理マシン2に書き込んで、その後起動することで、物理マシン環境でバッチ処理を実行させることができるので、バッチ処理の処理速度を高速化できる。
なお、上記実施例1では、サーバ1は、仮想マシン環境として使用中の物理マシン2のストレージのイメージをRM管理マスタDB11にバックアップし、バックアップが完了した物理マシン2に対して、物理マシン環境として使用させるようにした。しかしながら、サーバ1は、これに限定されず、物理マシン環境として使用中の物理マシン2のストレージのイメージをRM管理マスタDB11にバックアップし、バックアップが完了した物理マシン2に対して、仮想マシン環境として使用させるようにしても良い。かかる場合、サーバ1は、物理マシン環境として使用中の物理マシン2のOSのストレージのイメージをRM管理マスタDB11にバックアップする。そして、サーバ1は、バックアップが完了した物理マシン2に対して、例えばウェブブラウザによって指示された、VMPおよびVMのRMイメージをRM管理マスタDB11から取得し、取得したRMイメージを、バックアップが完了した物理マシン2に対して書き込む。これにより、サーバ1は、物理マシン環境であった物理マシン2を仮想マシン環境として使用させることができる。
ところで、実施例1に係るサーバ1では、切替対象の物理マシン2の仮想マシン環境を停止してから、物理マシン2のマシン環境を仮想マシン環境から物理マシン環境に切り替える場合を説明した。しかしながら、サーバ1は、これに限定されず、切替対象の物理マシン2の仮想マシン環境を停止しないで、物理マシン2のマシン環境を仮想マシン環境から物理マシン環境に切り替えるようにしても良い。そこで、実施例2では、サーバ1が切替対象の物理マシン2の仮想マシン環境を停止しないで、物理マシン2のマシン環境を仮想マシン環境から物理マシン環境に切り替える場合について説明する。
[実施例2に係る移動制御システムの構成]
まず、移動制御システム9Aの構成について、図13を参照して説明する。図13は、実施例2に係る移動制御システムの構成を示す機能ブロック図である。なお、図1に示す移動制御システム9と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、制御部20にバッチジョブ制御部61、押し退け配備部62およびRM状態出力部63を追加した点にある。また、実施例1と実施例2とが異なるところは、VM状態管理テーブル64およびVMイメージファイル65を追加した点にある。
バッチジョブ制御部61は、バッチ処理に含まれるバッチジョブを制御する。例えば、バッチジョブ制御部61は、キューに溜まっているバッチジョブの数が予め設定された数を超えると、バッチジョブ用の計算サーバとして物理マシン環境のRMの配備数を増やすべく、RM管理制御部21に対してリソース配備要求を出力する。また、バッチジョブ制御部61は、キューに溜まっていたバッチジョブの数が0になると、バッチジョブ用の計算サーバとして物理マシン環境のRMの配備数を減らすべく、RM管理制御部21に対してリソース解放要求を出力する。また、バッチジョブ制御部61は、配備されたRMでバッチジョブが実行中ならば当該RMをロックするように、配備されたRMでバッチジョブがアイドリング(待機)中ならば、当該RMのロックを解除するように、RM管理制御部21に対して指示する。
押し退け配備部62は、仮想マシン環境として使用中の物理マシン2の中から、当該物理マシン2毎に算出されるCPU使用率に基づいて、仮想マシン環境を押し退ける物理マシン2を決定する。例えば、押し退け配備部62は、配備済みの全RMに対して、RM管理テーブル12の対応システム12fを参照し、VMPを配備したRMのみを抽出する。RM管理テーブル12の対応システム12fには、VMPを配備したRMの場合、VMPの種類が記憶されているので、押し退け配備部62は、対応システム12fを参照し、VMPの種類が記憶されたRMを抽出する。そして、押し退け配備部62は、抽出した各RMのうち、ロックがかかっている(アイドリング状態でない)RMを除外する。また、押し退け配備部62は、ロックがかかっていない場合であっても、移動負荷属性を持つVMが1つでもあるRMを除外する。移動負荷属性を持つVMがあるか否かは、後述するVM状態管理テーブル64を用いて判定される。そして、押し退け配備部62は、除外されなかった各RMを、RM管理テーブル12の対応システム12fに基づいて、VMPの種類毎のVMPグループに分類する。さらに、押し退け配備部62は、除外されなかった各RMについて、それぞれ包含する全てのVMの単位時間当たりの平均CPU使用率を算出する。そして、押し退け配備部62は、算出した各VMの平均CPU使用率を用いて、VMPグループ毎に、平均CPU使用率の低いRMの順にソートする。そして、押し退け配備部62は、平均CPU使用率の低いVMが多く存在するVMPグループ内のRMを、仮想マシン環境を押し退ける物理マシン2として決定する。
また、押し退け配備部62は、決定した物理マシン2のVMのストレージのイメージを、無停止で、仮想マシン環境として使用中の別の物理マシン2に押し退ける(移動する)。このように、無停止でVMを別のVMに移動させる技術は、「ライブマイグレーション」といい、例えばVMイメージファイル65を用いて行われる。なお、ライブマイグレーションの移動元に配備されたVMPは、移動先に配備されたVMPと同一の種類であるものとする。
また、押し退け配備部62は、移動が完了した後、該移動元の物理マシン2のVMPのストレージのイメージをRM管理マスタDB11に押し退ける(移動する)。かかる処理は、RMイメージバックアップ部22によって処理される。そして、押し退け配備部62は、OSを含む、物理マシン環境のストレージのイメージをRM管理マスタDB11から取得し、取得したイメージを、移動元の物理マシン2に対して書き込む。かかる処理は、RMイメージ書込部23によって処理される。そして、押し退け配備部62は、移動元の物理マシン2を再び起動する。かかる処理は、RM起動部24によって処理される。なお、RMイメージバックアップ部22、RMイメージ書込部23およびRM起動部24による処理は、実施例1で説明したので、この説明は省略する。
ここで、押し退け配備部62による押し退け配備処理を、図14を参照して説明する。図14は、実施例2に係る押し退け配備処理を説明する図である。なお、図14では、物理マシン2が仮想マシン環境を押し退けられるマシンであり、物理マシン2が押し退けられた仮想マシン環境を受け入れるマシンであるとする。物理マシン2では、VMP上でVM1およびVM2が動作している。物理マシン2では、VMP上でVM4が動作している。物理マシン2に配備されたVMPは、物理マシン2に配備されたVMPと同一の種類であるとする。
まず、押し退け配備部62は、物理マシン2のVMを、動作を保ちながら物理マシン2に押し退ける。ここでは、押し退け配備部62は、物理マシン2のVM1、VM2を、動作を保ちながら物理マシン2に押し退ける。
そして、押し退け配備部62は、移動元の物理マシン2のVMPのストレージのイメージをRM管理マスタDB11に押し退ける。そして、押し退け配備部61は、移動元の物理マシン2に対して、OSを含む、物理マシン環境のストレージのイメージを書き込む。この間も、物理マシン2では、押し退けられたVM1、VM2が継続して動作している。
そして、押し退け配備部62は、物理マシン2を再起動することで、物理マシン2を物理マシン環境のRMとして配備する。そして、物理マシン2は、バッチジョブ用の計算サーバとして、バッチジョブを実行することができる。
そして、例えばバッチジョブが完了した後に、押し退け配備部62は、同様の手順で、物理マシン2を元の状態に戻す。すなわち、押し退け配備部62は、OSのストレージのイメージをRM管理マスタDB11に移動する。そして、押し退け配備部61は、移動元の物理マシン2に対して、元のVMPのストレージのイメージを書き込む。そして、押し退け配備部62は、物理マシン2のVM1、VM2を、動作を保ちながら物理マシン2に移動する。
図13に戻って、RM状態出力部63は、各RMの状態を出力する。例えば、RM状態出力部63は、ウェブブラウザから現在の管理状況の抽出指示を受け取ると、RM管理テーブル12に記憶されたRMの管理情報に基づいて、各RMの状態を出力部40に出力する。
次に、VM状態管理テーブル64およびVMイメージファイル65のデータ構造について、図15および図16を参照して説明する。図15は、実施例2に係るVM状態管理テーブルのデータ構造の一例を示す図である。図15に示すように、VM状態管理テーブル64は、配置名64aとVM移動可否フラグ64bとVM平均CPU使用率の最大定義値64cとを対応付けて記憶する。図15に示すように、配置名64aは、RMとして配備される物理マシン自体を識別する名称である。VM移動可否フラグ64bは、配置名64aで示されるRMに含まれる各VMについて、移動が可能であるか否かを示すフラグである。例えば、移動が可能である場合、「可」が設定され、移動が不可能である場合、「否」が設定される。VM平均CPU率の最大定義値64cは、配置名64aで示されるRM内の全VMについて合算された平均CPU使用率のさらに増大可能な最大値を示す。一例として、配置名64aが「vnode005」である場合、VM移動可否フラグ64bには、1個目のVMについて「可」、2個目のVMについて「可」が記憶されている。また、VM平均CPU使用率の最大定義値64cには、「20」%が記憶されている。すなわち、平均CPU使用率がさらに20%増大可能であることが示されている。
図16は、実施例2に係るVMイメージファイルのデータ構造の一例を示す図である。図16に示すように、VMイメージファイル65には、VMイメージファイル名65aとVMバイナリイメージ65bとVMプラットフォーム65cとVMプラットフォームバージョン65dと導入済みOS65eと備考65fとを対応付けて記憶する。VMイメージファイル名65aは、VMイメージを識別するファイルの名称である。VMバイナリイメージ65bは、VMイメージのバイナリデータである。VMプラットフォーム65cには、VMPの識別子、例えばVMPの名称が設定される。VMプラットフォームバージョン65dには、VMに配置可能なVMPのバージョンが設定される。導入済みOS65eには、VMイメージのOSの種類およびOSのバージョンが設定される。備考65fには、メモが設定される。
次に、押し退け対象を決定する処理について、図17を参照して説明する。図17は、押し退け対象決定処理の手順を示すフローチャートである。なお、例えば、押し退け配備部62は、バッチジョブ制御部61から出されたリソース配備要求を取得したことにより処理を開始する。リソース配備要求には、確保すべきRMの数が含まれているとする。
押し退け配備部62は、配備済みの全RMに対して、RM管理テーブル12の対応システム12fを参照し、VMPを配備したRMのみを抽出する(ステップS201)。
そして、押し退け配備部62は、抽出した各RMのうち移動不可属性をもつVMが1つでもあるRMを除外する(ステップS202)。例えば、押し退け配備部62は、VM状態管理テーブル64のVM移動可否フラグ64bに「否」が1つでもある配置名のRMを除外する。
そして、押し退け配備部62は、VMが全て移動可能なRMを、RMに配備されたVMPの種類毎のVMPグループに分類する(ステップS203)。例えば、押し退け配備部62は、除外されなかったRMについて、RM管理テーブル12の対応システム12fに基づいて、RMに配備されたVMPの種類毎に分類する。
さらに、押し退け配備部62は、各RM内の各VMの平均CPU使用率をRM毎に合計し、CPU使用率の低いRMの順にソートする(ステップS204)。なお、ソートは、VMPグループ毎に行われる。
続いて、押し退け配備部62は、リソース配備要求に含まれた確保すべきRMの数分RMを確保したか否かを判定する(ステップS205)。確保すべきRMの数分RMを確保したと判定した場合(ステップS205;Yes)、押し退け配備部62は、処理を終了する。
一方、確保すべきRMの数分RMを確保していないと判定した場合(ステップS205;No)、押し退け配備部62は、同種のVMPグループで、移動後に平均CPU使用率が定義値を超えないRMが存在するか否かを判定する(ステップS206)。言い換えれば、押し退け配備部62は、同種のVMPグループで、移動元のRM内のVMを仮に移動先のRMに移動した場合、移動したVMの平均CPU使用率がVM平均CPU使用率の最大定義値64cを超えないような移動先が存在するか否かを判定する。VM平均CPU使用率の最大定義値64cは、VM状態管理テーブル64内に記憶されている。
同種のVMPグループで、定義値を超えないRMが存在すると判定した場合(ステップS206;Yes)、押し退け配備部62は、同種のVMPグループ内で、平均CPU使用率が最も低いRMを押し退け対象に決定する(ステップS207)。そして、押し退け配備部62は、決定したRM内の全VMを、定義値を超えないRMに移動する(ステップS208)。移動先のRMは、一例として、定義値を超えないRMであって押し退け対象に決定される確保すべきRM数分のRMより平均CPU使用率が大きいRMとなる。その後、押し退け配備部62は、次のRMを確保すべく、ステップS205に移行する。
一方、同種のVMPグループで、定義値を超えないRMが存在しないと判定した場合(ステップS206;No)、押し退け配備部62は、平均CPU使用率が次に低い別種のVMPグループがあるか否かを判定する(ステップS209)。平均CPU使用率が次に低い別種のVMPグループがあると判定した場合(ステップS209;Yes)、押し退け配備部62は、次のRMを確保すべく、ステップS205に移行する。
一方、平均CPU使用率が次に低い別種のVMPグループがないと判定した場合(ステップS209;No)、押し退け配備部62は、空きリソースが不足していると判断し、リソースを配備せず、処理を終了する。
次に、RM状態出力部63によるRM状態を出力する一例を、図18を参照して説明する。図18は、RM状態の出力例を示す図である。図18に示すように、出力部40に、配置名g1、RMホスト名g2、稼動状況g3、対応システムg4、導入済みOS、バージョン(VM割当core数)g5およびイメージファイル名g6が出力されている。配置名g1は、RM管理テーブル12の配置名12aに対応する。RMホスト名g2は、RM管理テーブル12のRMホスト名12bに対応する。稼動状況g3は、RM管理テーブル12の稼動状況12dに対応する。対応システムg4は、RM管理テーブル12の対応システム(バージョン)12fに対応する。導入済みOS、バージョン(VM割当core数)g5は、RM管理テーブル12の導入済みOS(バージョン、VM割当コア数)12gに対応する。イメージファイル名g6は、RM管理テーブル12のイメージファイル名12iに対応する。
ところで、実施例2に係る移動制御システム9Aでは、RM管理制御部21を備えるサーバ1Aが1台の場合について説明した。しかしながら、移動制御システム9Aでは、これに限定されず、RM管理制御部21を備えるサーバ1Aが複数台あっても良い。そこで、RM管理制御部21を備えるサーバ1Aが複数台存在する移動制御システム9Aについて説明する。
図19は、実施例2に係る移動制御システムの別の構成例を示す図である。図19に示すように、移動制御システム9Aは、サブネット毎に、RM管理制御部21を備えるサーバ1Aを複数配置する。ここでは、移動制御システム9Aは、サブネット1にサーバ1Aを配置し、サブネット2にサーバ1Aを配置する。そして、サーバ1AのRM管理制御部21は、サブネット1の物理マシン2についてRM管理制御を行う。サーバ1AのRM管理制御部21は、サブネット2の物理マシン2についてRM管理制御を行う。そして、RM管理制御マスタ70が、RM管理マスタDB11を用いて、サブネット1側のRM管理制御部21およびサブネット2側のRM管理制御部21のそれぞれの処理を分散管理する。これにより、移動制御システム9Aは、大規模なシステムになっても、RMとして配備された物理マシン2を管理することができる。
[実施例2の効果]
上記実施例2によれば、押し退け配備部62は、仮想マシン環境として使用中の物理マシン2の中から、当該物理マシン2毎に算出されるCPU使用率に基づいて移動元の物理マシン2を決定する。そして、押し退け配備部62は、決定した移動元の物理マシン2のVMのストレージのイメージを、仮想マシン環境として使用中の別の物理マシン2に移動する。そして、押し退け配備部62は、移動が完了した後、該移動元の物理マシン2のVMを制御するVMPのストレージのイメージをRM管理マスタDB11に移動する。さらに、押し退け配備部62は、OSを含む、物理マシン環境のストレージのイメージを取得し、取得したイメージを、移動が完了した該移動元のマシンに対して書き込む。かかる構成によれば、押し退け配備部62は、仮想マシン環境として使用中であった物理マシン2を物理マシン環境として使用できるようにしたので、バッチ処理を実行するような場合に当該バッチ処理を高速化することができる。また、押し退け配備部62は、使用中の物理マシン2のVMを別の物理マシン2に移動するようにしたので、移動したVMは動作を停止させないで継続して実行することができる。
また、上記実施例2によれば、押し退け配備部62は、仮想マシン環境として使用中の物理マシン2の中からCPU使用率の最も低い物理マシン2を移動元の物理マシン2として決定する。かかる構成によれば、押し退け配備部62は、CPU使用率の最も低い物理マシン2を移動元の物理マシン2として決定することにしたので、移動元のVMを移動先に高速に移動することができ、移動元の物理マシン2を早期に物理マシン環境に配備できる。この結果、押し退け配備部62は、バッチ処理を実行するような場合に、配備された物理マシン環境のもとで、バッチ処理を高速に行うことができる。
なお、実施例2では、サーバ1Aでは、バッチジョブ制御部61が、キューに蓄積されるバッチジョブの溜まり具合に基づいて、RM管理制御部21に対してリソース配備要求を出力し、バッチジョブ用の計算サーバとして物理マシン環境のRMを配備させた。しかしながら、サーバ1Aでは、これに限定されず、ウェブブラウザからRM管理制御部21に対してリソース配備要求を出力し、バッチジョブ用の計算サーバとして物理マシン環境のRMを配備させるようにしても良い。
[プログラムなど]
なお、サーバ1、1Aは、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部20と、記憶部10などの各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、RMイメージバックアップ部22とRM停止部25とを1個の部として統合しても良い。一方、押し退け配備部62を、押し退け対象となるRMを決定する決定部と決定部によって決定されたRMを物理マシン環境に切り替える第1の切替部と元の仮想マシン環境に戻す第2の切替部とに分散しても良い。また、RM管理マスタDB11などの記憶部10をサーバ1、1Aの外部装置としてネットワーク3経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したサーバ1と同様の機能を実現する移動制御プログラムを実行するコンピュータの一例を説明する。図20は、移動制御プログラムを実行するコンピュータの一例を示す図である。
図20に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203を有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取る読み取り装置204と、ネットワーク3を介して他のコンピュータとの間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207を有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置207は、移動制御プログラム207aおよび移動制御関連情報207bを記憶する。CPU201は、移動制御プログラム207aを読み出して、RAM206に展開する。移動制御プログラム207aは、移動制御プロセス206aとして機能する。
例えば、移動制御プロセス206aは、RMイメージバックアップ部22、RMイメージ書込部23、RM起動部24およびRM停止部25に対応する。移動制御関連情報207bは、RM管理マスタDB11に対応する。
なお、移動制御プログラム207aについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ200がこれらから移動制御プログラム207aを読み出して実行するようにしても良い。
1、1A サーバ
2 物理マシン
9、9A 移動制御システム
10 記憶部
11 RM管理マスタDB
12 RM管理テーブル
13 RMイメージファイル
14 運用ログ
20 制御部
21 RM管理制御部
22 RMイメージバックアップ部
23 RMイメージ書込部
24 RM起動部
25 RM停止部
30 入力部
40 出力部
50 HDD
61 バッチジョブ制御部
62 押し退け配備部
63 RM状態出力部
64 RM状態管理テーブル
65 VMイメージファイル

Claims (7)

  1. 第1の記憶領域と第2の記憶領域と第3の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理するコンピュータに、
    前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第1OS(Operation System)を送信し、該いずれかの物理マシン上で動作するVMプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第1OSによって前記第1の記憶領域に移動させ、
    移動が完了した後、前記いずれかの物理マシン上の前記VMプラットフォームのストレージのイメージを、前記ブートプログラムと前記第1OSによって前記第2の記憶領域に移動させ、
    前記第3の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第2Sを含む新たなストレージのイメージを、前記ブートプログラムと前記第1OSによって前記いずれかの物理マシンに書き込ませる
    処理を実行させることを特徴とする移動制御プログラム。
  2. 前記ブートプログラムと前記第1OSを送信する時に、ホスト名とIPアドレスを合わせて送信し、
    前記書き込みが完了した後に、書き込まれた前記新たなストレージのイメージの前記第2OSを、前記ホスト名と前記IPアドレスを設定しつつ起動させ
    処理を実行させることを特徴とする請求項1に記載の移動制御プログラム。
  3. 前記仮想マシンのストレージのイメージを移動させる処理は、複数の仮想マシンの中から、使用負荷に基づいて移動対象となる仮想マシンを決定する
    ことを特徴とする請求項1又は請求項2に記載の移動制御プログラム。
  4. 前記仮想マシンのストレージのイメージを移動させる処理は、前記複数の仮想マシンの中から、CPU使用率の最も低い仮想マシンを、前記移動対象となる仮想マシンとして決定する
    ことを特徴とする請求項3に記載の移動制御プログラム。
  5. 前記いずれかの物理マシンを起動後に所定のプログラムを実行させ
    該プログラムの実行後に前記いずれかの物理マシンのストレージのイメージを、前記ブートプログラムと前記第1OSによって第4の記憶領域に移動させ、
    前記第2の記憶領域に移動させておいた前記VMプラットフォームのストレージのイメージを、前記ブートプログラムと前記第1OSによって前記いずれかの物理マシンに書き込ませ
    前記第1の記憶領域に移動させておいた前記仮想マシンのストレージのイメージを、前記ブートプログラムと前記第1OSによって前記VMプラットフォーム上に書き込ませる
    処理を実行させることを特徴とする請求項2から請求項4のいずれか1つに記載の移動制御プログラム。
  6. 第1の記憶領域と第2の記憶領域と第3の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理するコンピュータが、
    前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第1OS(Operation System)を送信し、該いずれかの物理マシン上で動作するVMプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第1OSによって前記第1の記憶領域に移動させ、
    移動が完了した後、前記いずれかの物理マシン上の前記VMプラットフォームのストレージのイメージを、前記ブートプログラムと前記第1OSによって前記第2の記憶領域に移動させ、
    前記第3の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第2Sを含む新たなストレージのイメージを、前記ブートプログラムと前記第1OSによって前記いずれかの物理マシンに書き込ませる
    処理を実行することを特徴とする移動制御方法。
  7. 第1の記憶領域と第2の記憶領域と第3の記憶領域と、ネットワークを介して接続する複数の物理マシンとを管理する管理部と、
    前記複数の物理マシンのうちいずれかの物理マシンにブートプログラムと第1OS(Operation System)を送信し、該いずれかの物理マシン上で動作するVMプラットフォームの上で動作する仮想マシンのストレージのイメージを、送信された該ブートプログラムと該第1OSによって前記第1の記憶領域に移動させる第1の移動部と、
    前記第1の移動部によって移動が完了した後、前記いずれかの物理マシン上の前記VMプラットフォームのストレージのイメージを、前記ブートプログラムと前記第1OSによって前記第2の記憶領域に移動させる第2の移動部と、
    前記第3の記憶領域に記憶された、前記いずれかの物理マシンとは異なる物理マシン環境の第2Sを含む新たなストレージのイメージを、前記ブートプログラムと前記第1OSによって前記いずれかの物理マシンに書き込ませる書込部と
    を有することを特徴とする制御装置。
JP2012071876A 2012-03-27 2012-03-27 移動制御プログラム、移動制御方法および制御装置 Expired - Fee Related JP5998566B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012071876A JP5998566B2 (ja) 2012-03-27 2012-03-27 移動制御プログラム、移動制御方法および制御装置
US13/723,277 US9021481B2 (en) 2012-03-27 2012-12-21 Computer-readable recording medium, migration control method and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012071876A JP5998566B2 (ja) 2012-03-27 2012-03-27 移動制御プログラム、移動制御方法および制御装置

Publications (3)

Publication Number Publication Date
JP2013205946A JP2013205946A (ja) 2013-10-07
JP2013205946A5 JP2013205946A5 (ja) 2015-03-05
JP5998566B2 true JP5998566B2 (ja) 2016-09-28

Family

ID=49236851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012071876A Expired - Fee Related JP5998566B2 (ja) 2012-03-27 2012-03-27 移動制御プログラム、移動制御方法および制御装置

Country Status (2)

Country Link
US (1) US9021481B2 (ja)
JP (1) JP5998566B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6098392B2 (ja) * 2013-06-24 2017-03-22 富士通株式会社 ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
JP6354290B2 (ja) * 2014-04-24 2018-07-11 富士通株式会社 情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラム
JP6458650B2 (ja) 2015-06-08 2019-01-30 富士通株式会社 情報処理システム、情報処理プログラムおよび情報処理装置
US10698869B2 (en) 2016-09-27 2020-06-30 Bank Of America Corporation System and method for data structure migration control
US10585761B2 (en) * 2018-02-01 2020-03-10 EMC IP Holding Company LLC Methods and systems for energy efficient data backup

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
JP4050249B2 (ja) 2004-05-20 2008-02-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理システム
EP1866825A1 (en) * 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US7607129B2 (en) * 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
JP2007183747A (ja) 2006-01-05 2007-07-19 Hitachi Ltd 物理サーバ間のシステム移動方法およびシステム移動システム
JP2008033483A (ja) 2006-07-27 2008-02-14 Nec Corp 計算機システム、計算機および計算機動作環境の移動方法
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
US8069341B2 (en) 2007-06-29 2011-11-29 Microsoft Corporation Unified provisioning of physical and virtual images
JP4607156B2 (ja) 2007-07-23 2011-01-05 株式会社エヌ・ティ・ティ・データ 仮想マシン管理サーバ、及びプログラム
US8185894B1 (en) * 2008-01-10 2012-05-22 Hewlett-Packard Development Company, L.P. Training a virtual machine placement controller
US7925923B1 (en) * 2008-01-31 2011-04-12 Hewlett-Packard Development Company, L.P. Migrating a virtual machine in response to failure of an instruction to execute
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法
US7506037B1 (en) * 2008-05-13 2009-03-17 International Business Machines Corporation Method determining whether to seek operator assistance for incompatible virtual environment migration
CN101727331B (zh) * 2008-10-24 2013-03-20 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
US8359386B2 (en) * 2009-04-16 2013-01-22 Dell Products, Lp System and method of migrating virtualized environments
JP5085611B2 (ja) * 2009-06-27 2012-11-28 レノボ・シンガポール・プライベート・リミテッド 実環境と仮想環境を遷移させるコンピュータ・プログラム
JP5471080B2 (ja) * 2009-06-30 2014-04-16 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
CN102141928A (zh) * 2010-01-29 2011-08-03 国际商业机器公司 虚拟环境下的数据处理方法、系统以及系统的部署方法
US9069589B2 (en) * 2010-07-06 2015-06-30 Panasonic Intellectual Property Corporation Of America Virtual computer system, virtual computer control method and accumulation circuit
US8826292B2 (en) * 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
US8356120B2 (en) * 2011-01-07 2013-01-15 Red Hat Israel, Ltd. Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM
DE112011105051T5 (de) * 2011-03-18 2013-12-19 Hewlett-Packard Development Company, L.P. Teilen der Internet-Fähigkeit einer mobilen Computereinrichtung mit einer Client-Computereinrichtung unter Verwendung einer virtuellen Maschine
US8533676B2 (en) * 2011-12-29 2013-09-10 Unisys Corporation Single development test environment
JP5852103B2 (ja) * 2011-04-27 2016-02-03 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路
US8549519B2 (en) * 2011-08-19 2013-10-01 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center
US20130091376A1 (en) * 2011-10-05 2013-04-11 International Business Machines Corporation Self-repairing database system

Also Published As

Publication number Publication date
US20130263128A1 (en) 2013-10-03
JP2013205946A (ja) 2013-10-07
US9021481B2 (en) 2015-04-28

Similar Documents

Publication Publication Date Title
US11593149B2 (en) Unified resource management for containers and virtual machines
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
CN110825494A (zh) 物理机调度方法及装置、计算机可存储介质
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
CN101650660B (zh) 从中央存储装置引导计算机系统
US20150095597A1 (en) High performance intelligent virtual desktop infrastructure using volatile memory arrays
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
US9910664B2 (en) System and method of online firmware update for baseboard management controller (BMC) devices
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
WO2017192415A1 (en) Cloning computing device containers
US8006254B2 (en) Bequeathing privilege to a dynamically loaded module
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和系统
JP5998566B2 (ja) 移動制御プログラム、移動制御方法および制御装置
CN105765534A (zh) 虚拟计算系统和方法
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
EP3022647B1 (en) Systems and methods for instantly restoring virtual machines in high input/output load environments
CN114327855B (zh) 边缘节点宕机迁移的服务方法及系统
US10191817B2 (en) Systems and methods for backing up large distributed scale-out data systems
CN105471994A (zh) 一种控制方法及装置
US12073229B2 (en) Single node deployment of container platform
US9645841B2 (en) Dynamic virtual machine storage usage monitoring, provisioning, and migration
WO2025124172A1 (zh) 一种组件部署升级方法、装置、计算机设备及存储介质
CN108369503A (zh) 对外部场可更换单元(fru)过程的自动系统响应
JP6098392B2 (ja) ソフトウェア修正パッチ抽出プログラム、ソフトウェア修正パッチ抽出方法および情報処理装置
US9933953B1 (en) Managing copy sessions in a data storage system to control resource consumption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160525

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160608

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: 20160802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160815

R150 Certificate of patent or registration of utility model

Ref document number: 5998566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees