JP4592814B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP4592814B2
JP4592814B2 JP2009532095A JP2009532095A JP4592814B2 JP 4592814 B2 JP4592814 B2 JP 4592814B2 JP 2009532095 A JP2009532095 A JP 2009532095A JP 2009532095 A JP2009532095 A JP 2009532095A JP 4592814 B2 JP4592814 B2 JP 4592814B2
Authority
JP
Japan
Prior art keywords
virtual machine
setting
host
target
unit
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
JP2009532095A
Other languages
English (en)
Other versions
JPWO2009034760A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP4592814B2 publication Critical patent/JP4592814B2/ja
Publication of JPWO2009034760A1 publication Critical patent/JPWO2009034760A1/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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、仮想マシンの設定を効率的に行う技術に関する。
仮想マシンを構築する場合、通常は、仮想マシン作成後にゲストOS(Operating System)のインストール、ゲストOSの設定、アプリケーションのインストール、アプリケーションの設定などを行う。
一度仮想マシンを作成した後は、この仮想マシンのイメージを利用して複製することにより新たな仮想マシンを構築することができる。
この場合の仮想マシン構築方法は以下のようになる。
(1)仮想マシンデータ(例えばイメージファイルなど)をターゲットサーバのストレージにコピーする。
(2)コピーした仮想マシンデータで仮想マシンを起動する。
(3)起動した仮想マシン上で設定(ライセンス、ホスト名、IPアドレス、アプリケーションの設定、その他の設定項目)を行う。
このように、設定は複製した仮想マシンを起動した後に仮想マシン上で行う必要がある。
複製した仮想マシンを起動せずに設定まで行う方法として、設定用のイメージファイルを多数用意しておき、マスタイメージファイルと組み合わせて仮想マシンを構築する方法がある(特許文献1)。
これは複数の仮想マシンが稼動する環境を管理し、必要な時にすぐに環境の再構築を行うことができる仮想マシン管理システムを提供する。
特開2005−332223号公報
仮想マシン搭載の製品を大量に生産する場合について考えてみる。
ライセンスやホスト名などは別々の値に設定する必要があるため、仮想マシンデータをターゲットのサーバに複製するだけではなく、個別の設定が必要である。
従来の方法で設定を行う場合、ターゲットの仮想マシンを個別に起動した後に個別に設定を行っていかなければならず、効率が悪いという課題がある。特にターゲットの仮想マシン上のOSが重く起動に時間がかかる場合は、さらに作業効率が悪くなる。
また、特許文献1に示されている設定用のイメージファイルを用いて設定する場合は、製品個別の設定用イメージファイルを大量に用意しておかなければならないという課題がある。
また、製品モデルによってインストールするアプリケーションや設定が異なったりする場合がある。この場合、モデルにしたがった仮想マシンを作成後、OSをインストールし、モデルにしたがってパラメータを設定し、必要なアプリケーションをインストールする必要がある。このため、モデルごと個別に設定していかなければならず効率が悪いという課題がある。
この発明は、上記のような課題を解決することを主な目的としており、効率的に仮想マシンを構築し、構築時間を削減することを主な目的とする。
本発明に係る情報処理装置は、
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストOS(Operating System)と、前記ホストOS上で動作するホスト側仮想マシン設定部とを有するホストと、
ゲストOSと、前記ゲストOS上で動作するゲスト側仮想マシン設定部とを有し、前記ターゲット仮想マシンとは異なる仮想マシンである設定用仮想マシンとを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。
前記記憶装置は、
設定パラメータが記述されたスクリプトを記憶し、
前記設定用仮想マシンのゲスト側仮想マシン設定部は、
前記ホストのホスト側仮想マシン設定部から前記スクリプトを取得し、前記スクリプトを実行して、前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込むことを特徴とする。
前記情報処理装置は、更に、
仮想マシンの複製を行う仮想マシン複製部を有し、
前記記憶装置は、
前記仮想マシン複製部により複製された複製ターゲット仮想マシンに設定する設定パラメータを記憶し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を有し、
前記複製ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記複製ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。
前記情報処理装置は、更に、
ハードウェアリソースに負荷を加える処理を行う負荷評価用仮想マシンと、
前記負荷評価用仮想マシンによる処理により前記ハードウェアリソースにかかる負荷をモニタするリソースモニタと、
前記リソースモニタによるモニタ結果値と閾値とを比較して、前記モニタ結果値が前記閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、前記モニタ結果値が前記閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する負荷評価部とを有することを特徴とする。
本発明に係る情報処理装置は、
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストOS(Operating System)と、前記ホストOS上で動作する仮想マシン設定部とを有するホストを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストの仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域をアクセス可能とし、アクセス可能とした前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。
本発明によれば、ターゲット仮想マシンを起動することなくターゲット仮想マシンの設定が行えるため、実際にターゲット仮想マシンを起動して設定を行う場合に比較して効率的に設定が行える。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。
実施の形態1.
本実施の形態に係るサーバ装置(情報処理装置)を用いた仮想マシンの設定方法の詳細を説明する前に、先ず、本実施の形態に係る仮想マシンの設定方法の概要を説明する。
本実施の形態では、仮想マシンの設定は、ターゲット仮想マシン(パラメータ設定の対象となる仮想マシン)を立ち上げて行うのではなく、設定用の仮想マシンを別途立ち上げ、この設定用仮想マシン上のOS(Operating System)に、ターゲット仮想マシンのディスクをマウントし、マウントしたファイルを書き換えることにより行う。本実施の形態での仮想マシン構築方法の流れは以下となる。
(1)仮想マシンデータ(例えばイメージファイルなど)をターゲットサーバのストレージにコピーする。
(2)設定用仮想マシンデータ(例えばイメージファイルなど)をターゲットサーバのストレージにコピーする。
(3)設定パラメータファイルを用意する。
(4)設定用仮想マシンを起動する。
(5)ターゲット仮想マシンデータをマウントして、設定用仮想マシンからファイルアクセスできるようにする。
(6)設定用仮想マシン上でターゲット仮想マシンの設定を行う(ホスト名やIPアドレス、アプリケーションの設定、ライセンス、その他の設定項目)。
(7)設定用仮想マシンをシャットダウンする。
(8)設定用仮想マシン、設定パラメータファイルをストレージから削除する(削除の必要がなければそのままでも可)。
設定用仮想マシンのOSは必要最小限の機能だけにすることによりOS起動時間を短くすることができ、実際にターゲット仮想マシンのOSを起動するのに比較して効率的に設定が行える。
ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、IPアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとIPアドレスが重複するためエラーになってしまう問題を回避できる。
また、複数の仮想マシンの設定を行う場合は、設定用仮想マシンで、ターゲット仮想マシンデータをマウント、アンマウントをすることにより設定用仮想マシンをターゲット仮想マシンが変わる度に再起動する必要がなく、効率化できる。
なお、本方式は、仮想マシンモニタ(または、ホストOS)に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。
次に、本実施の形態に係るサーバ装置(情報処理装置)及び仮想マシンの設定方法の詳細を説明する。
図1に本実施の形態に係るサーバ装置(1)(情報処理装置)の全体構成例を示す。
なお、以下、サーバ装置(1)を単にサーバ(1)ともいう。
サーバ(1)内には記憶装置(2)があり、仮想マシンモニタ(3)により仮想マシンが管理される。ここでは、仮想マシンモニタ(3)上でホスト(4)が動作する例で示すが、仮想マシンモニタ(3)自身がホストの機能を含む場合や、ホストOS上に仮想マシンモニタが存在する場合でも同様である。
また、図1では、ホスト(4)と設定用仮想マシン(16)が起動された後の状態を示している。
ホスト(4)ではホストOS(11)が動作し、その上にホスト側仮想マシン設定部(12)のアプリケーションが動作する。
ホスト側仮想マシン設定部(12)は、主に、ユーザインタフェース(13)、ファイル読込部(14)、ゲスト側仮想マシン設定部とのインタフェース部(15)で構成される。
また、ホスト側仮想マシン設定部(12)が設定用仮想マシン定義ファイル(9)と設定用仮想マシンデータ(10)を使用して、設定用仮想マシン(16)の起動(23)を仮想マシンモニタ(3)に依頼する。
設定用仮想マシン(16)内で、ゲストOS(17)が動作し、その上でゲスト側仮想マシン設定部(18)のアプリケーションが動作する。
ゲスト側仮想マシン設定部(18)は、主に、仮想マシン設定パラメータ解析・実行部(19)、仮想マシン定義解析部(20)、ディスクまたはファイルマウント部(21)、ホスト側仮想マシン設定部とのインタフェース部(22)で構成される。
ゲスト側仮想マシン設定部とのインタフェース部(15)とホスト側仮想マシン設定部とのインタフェース部(22)は、ホスト側仮想マシン設定部(12)とゲスト側仮想マシン設定部(18)との間でデータを受け渡し(24)するための機能である。例えばソケット通信などで実現できる。
詳細は後述するが、本実施の形態では、ターゲット仮想マシンを起動することなく、設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)が、ゲスト側仮想マシン設定部とのインタフェース部(15)とホスト側仮想マシン設定部とのインタフェース部(22)との通信により、ホスト(4)のホスト側仮想マシン設定部(12)に記憶装置(2)からのターゲット仮想マシン設定パラメータファイル(5)の取得を依頼し、ホスト側仮想マシン設定部(12)が、記憶装置(2)からターゲット仮想マシン設定パラメータファイル(5)を取得し、また、ターゲット仮想マシンのパラメータ設定用の記憶領域を設定用仮想マシン(16)からアクセス可能とする(ターゲット仮想マシン用の仮想ディスクをアタッチする)。
そして、設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)が、ホスト側仮想マシン設定部(12)から設定パラメータを取得し、アクセス可能とされたターゲット仮想マシンのパラメータ設定用の記憶領域(アタッチされたターゲット仮想マシンの仮想ディスク)に設定パラメータを書き込んで、ターゲット仮想マシンを起動することなく、ターゲット仮想マシンのパラメータ設定を行う。
記憶装置(2)には、ターゲット仮想マシン定義ファイル(7)とターゲット仮想マシンデータ(8)が記憶されている。
ターゲット仮想マシン定義ファイル(7)には、パラメータ設定の対象となるターゲット仮想マシンの仮想ハードウェアの構成(CPU(Central Processing Unit)の数、メモリ容量、ディスク容量等)が定義されている。
ターゲット仮想マシンデータ(8)は、ターゲット仮想マシンが用いる仮想ディスクの実体であるファイルまたはディスクパーティションであり、ターゲット仮想マシンのパラメータを書き込むための記憶領域である。後述するように、ホスト(4)のホスト側仮想マシン設定部(12)がターゲット仮想マシンが用いる仮想ディスク(ターゲットディスク)をアタッチし、設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)がアタッチされた仮想ディスク(ターゲットディスク)に設定パラメータを書き込むが、実際にはパラメータ設定用の記憶領域であるターゲット仮想マシンデータ(8)にパラメータを書き込むことになる。
また、記憶装置(2)には、ターゲット仮想マシンを設定するためのターゲット仮想マシン設定パラメータファイル(5)が記憶されている。ターゲット仮想マシン設定パラメータファイル(5)が使用するデータファイルとして、ターゲット仮想マシン設定データファイル(6)を別途使用することも可能とする。
ターゲット仮想マシン設定パラメータファイル(5)の例を図2に示す。この例ではXML(Extensible Markup Language)形式で記述しているが、仮想マシン設定パラメータ解析・実行部(19)が認識できる形式であれば他の形式でもかまわない。
設定ファイル(310)は、ターゲットの仮想マシン毎にブロック分けをして記述する。この例では、仮想マシンVM1用ブロック(320)と仮想マシンVM2用ブロック(330)の2つのブロックを記述している。
各ブロックでは、ターゲットの仮想マシン名と設定パラメータが記述される。仮想マシンVM1用ブロック(320)では、実行スクリプト(340)が記述されている。この例では、Linux(登録商標)の実行コマンドが記述されているが、仮想マシン設定パラメータ解析・実行部(19)で実行できる形式であれば他の形式でもかまわない。
ゲスト側仮想マシン設定部(18)では、仮想マシン設定パラメータ解析・実行部(19)がこの実行スクリプト(340)を実行することによりターゲット仮想マシンデータ(8)に設定パラメータを書込み、ターゲット仮想マシンのパラメータ設定を行う。
仮想マシンVM2用ブロック(330)では、実行スクリプト(360)に加えて、実行スクリプトで使用するデータのマウントを行うための命令(350)も記述されている。この形式についても、仮想マシン設定パラメータ解析・実行部(19)で認識できる形式であれば他の形式でもかまわない。
図2に示す命令(350)に示されるマウント対象のデータ(実行スクリプトで使用するデータ)は、図1のターゲット仮想マシン設定データファイル(6)に含まれている。
また、記憶装置(2)には、設定用仮想マシン定義ファイル(9)と設定用仮想マシンデータ(10)が記憶されている。
設定用仮想マシン定義ファイル(9)と設定用仮想マシンデータ(10)は、ターゲット仮想マシン定義ファイル(7)とターゲット仮想マシンデータ(8)に相当する。
つまり、設定用仮想マシン定義ファイル(9)には、設定用仮想マシン(16)の仮想ハードウェアの構成(CPU(Central Processing Unit)の数、メモリ容量、ディスク容量等)が定義されている。
また、設定用仮想マシンデータ(10)は、設定用仮想マシン(16)が用いる仮想ディスクの実体であるファイルまたはディスクパーティションである。
次に、本実施の形態に係るサーバ(1)における動作の流れについて、フローチャートを使い説明する。
図3及び図4にホスト側仮想マシン設定部(12)の動作フローチャート、図5及び図6にゲスト側仮想マシン設定部(18)の動作フローチャートを示す。
まず、例えばユーザが、ホスト側仮想マシン設定部(12)を起動する(図3)。
そして、ホスト側仮想マシン設定部(12)は、ユーザ入力を待つ(S1)。
ユーザからユーザインタフェース(13)を介して設定の要求があったら、ホスト側仮想マシン設定部(12)は、設定用仮想マシン定義ファイル(9)及び設定用仮想マシンデータ(10)を用いて、設定用仮想マシン(16)の起動(23)を仮想マシンモニタ(3)に依頼して、設定用仮想マシン(16)を起動する(S2)。この設定用仮想マシン(16)の起動手順は、一般的な仮想マシンの起動手順と同様なので、詳細な説明は省略する。
設定用仮想マシン(16)が起動すると、ゲスト側仮想マシン設定部(18)が起動される(図5)。
ホスト側仮想マシン設定部(12)は、ゲスト側仮想マシン設定部(18)からの要求を待つ状態になる(S3)。
ゲスト側仮想マシン設定部(18)では、仮想マシン設定パラメータ解析・実行部(19)がホスト側仮想マシン設定部とのインタフェース部(22)を介して設定パラメータファイルの取得をホスト側仮想マシン設定部(12)に依頼し(S21)、ホスト側仮想マシン設定部(12)からの回答待ちの状態になる(S22)。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)がゲスト側仮想マシン設定部(18)から設定パラメータファイル読込の要求(S4)を受け、ファイル読込部(14)がターゲット仮想マシン設定パラメータファイル(5)を読込み、ゲスト側仮想マシン設定部とのインタフェース部(15)からゲスト側仮想マシン設定部(18)に通知する(S5)。
通知した後、ゲスト側仮想マシン設定部(18)からの要求待ち状態となる(S3)。
ゲスト側仮想マシン設定部(18)では、ホスト側仮想マシン設定部とのインタフェース部(22)がターゲット仮想マシン設定パラメータファイル(5)をホスト側仮想マシン設定部(12)から入力し、仮想マシン設定パラメータ解析・実行部(19)がこの設定パラメータファイルを解析し(S23)、ターゲットとなる仮想マシンをまず1つ選択する。例えばVM1を選択する。
そして、仮想マシン設定パラメータ解析・実行部(19)が、ホスト側仮想マシン設定部とのインタフェース部(22)を介してターゲット仮想マシン(例えば、VM1)に対する仮想マシン定義ファイルの取得をホスト側仮想マシン設定部(12)に依頼し(S24)、ホスト側仮想マシン設定部(12)からの回答待ち状態となる(S25)。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)がゲスト側仮想マシン設定部(18)からの仮想マシン定義ファイルの読み込み要求を受け(S6)、ファイル読込部(14)がターゲット仮想マシン定義ファイル(7)を読込み、ゲスト側仮想マシン設定部とのインタフェース部(15)がゲスト側仮想マシン設定部(18)に通知する(S7)。
通知した後、ゲスト側仮想マシン設定部(18)からの要求待ち状態となる(S3)。
ゲスト側仮想マシン設定部(18)では、ホスト側仮想マシン設定部とのインタフェース部(22)がターゲット仮想マシン定義ファイル(7)をホスト側仮想マシン設定部(12)から入力し、仮想マシン定義解析部(20)が、この定義ファイルを解析する(S25)。
次に、仮想マシン定義解析部(20)が、ターゲット仮想マシン定義ファイル(7)からディスクの情報(デバイス名、ファイル名など)を取得し、このディスクを設定用仮想マシン(16)にアタッチするようにホスト側仮想マシン設定部とのインタフェース部(22)を通じてホスト側仮想マシン設定部(12)に依頼する(S27)。
ターゲット仮想マシン定義ファイル(7)内に設定されているディスクが複数ある場合は、それらすべての情報をホスト側仮想マシン設定部(12)に通知し、ホスト側仮想マシン設定部(12)からの回答待ち状態となる(S28)。
ここで、アタッチとは仮想マシンからディスクパーティションまたはファイルをマウントできるようにすること、すなわち、ゲスト側仮想マシン設定部(18)が、ディスク、換言すればターゲット仮想マシンのパラメータ設定用の記憶領域であるターゲット仮想マシンデータ(8)にアクセスできるようにすることである。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)がゲスト側仮想マシン設定部(18)からのディスクアタッチの要求を受け(S8)、ファイル読込部(14)が、指定されたターゲットディスクまたはファイルを設定用仮想マシン(16)にアタッチする。
そして、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)にアタッチしたことを通知し(S9)、ゲスト側仮想マシン設定部(18)からの要求待ちの状態となる(S3)。
ゲスト側仮想マシン設定部(18)では、ホスト側仮想マシン設定部(12)からの通知を受け、ディスクまたはファイルマウント部(21)がターゲットディスクをマウントする(S29)。複数のディスクがある場合はすべてマウントする。
次に、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)を解析し、ターゲット仮想マシン設定データファイル(6)が必要かどうかをチェックする(S30)。
ターゲット仮想マシン設定データファイル(6)が必要な場合(図2に示す命令(350)が含まれている場合)、ターゲット仮想マシン設定データファイル(6)のアタッチをホスト側仮想マシン設定部(12)に依頼し(S31)、ホスト側仮想マシン設定部(12)からの回答待ち状態となる(S32)。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)からのターゲット仮想マシン設定データファイル(6)のアタッチ要求を受け(S12)、ファイル読込部(14)が、ターゲット仮想マシン設定データファイル(6)を設定用仮想マシン(16)にアタッチし(S13)、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)にアタッチしたことを通知する。
ゲスト側仮想マシン設定部(18)では、ホスト側仮想マシン設定部とのインタフェース部(22)がホスト側仮想マシン設定部(12)からの通知を受け、ディスクまたはファイルマウント部(21)がターゲット仮想マシン設定データファイル(6)をマウントする(S33)。
そして、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)のスクリプトを実行する(S34)。
これにより、設定パラメータが、ターゲット仮想マシンデータ(8)に書き込まれ、ターゲット仮想マシンの設定が実行される。また、スクリプトの実行後、仮想マシン設定パラメータ解析・実行部(19)は、ターゲット仮想マシン設定データファイル(6)をアンマウントする(S35)。
その後、仮想マシン設定パラメータ解析・実行部(19)は、ホスト側仮想マシン設定部とのインタフェース部(22)を介してターゲット仮想マシン設定データファイル(6)のデタッチをホスト側仮想マシン設定部(12)に依頼し(S36)、ホスト側仮想マシン設定部(12)からの回答待ち状態となる(S37)。
ここで、デタッチとはアタッチしたディスクパーティションまたはファイルを仮想マシンからアクセスできなくすることである。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)からのターゲット仮想マシン設定データファイル(6)のデタッチ要求(S14)を受け、ファイル読込部(14)が、ターゲット仮想マシン設定データファイル(6)を設定用仮想マシン(16)からデタッチし(S15)、ゲスト側仮想マシン設定部(18)にデタッチしたことを通知する。
ゲスト側仮想マシン設定部(18)は、ホスト側仮想マシン設定部(12)からの通知を受け、ディスクまたはファイルマウント部(21)が、マウントしたターゲットディスクのアンマウントを行う(S39)。
また、仮想マシン設定パラメータ解析・実行部(19)は、ホスト側仮想マシン設定部とのインタフェース部(22)を介してターゲットディスクのデタッチをホスト側仮想マシン設定部(12)に依頼し(S40)、ホスト側仮想マシン設定部(12)からの回答待ち状態となる(S41)。
ホスト側仮想マシン設定部(12)では、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)からのターゲットディスクのデタッチ要求(S10)を受け、ファイル読込部(14)が、ターゲットディスクを設定用仮想マシン(16)からデタッチし(S11)、ゲスト側仮想マシン設定部とのインタフェース部(15)が、ゲスト側仮想マシン設定部(18)にデタッチしたことを通知する。
ゲスト側仮想マシン設定部(18)では、ホスト側仮想マシン設定部とのインタフェース部(22)がホスト側仮想マシン設定部(12)からの通知を受け、次に進む。
ターゲット仮想マシン設定パラメータファイル(5)で指定されているターゲット仮想マシンがまだある場合はS24から繰り返す(S42)。
すべての仮想マシンについて設定が完了したらホスト側仮想マシン設定部(12)に設定完了を通知し(S43)、終了する。
終了は、自分自身でOSのシャットダウンまで実行し設定用仮想マシン(16)を終了させる。
ホスト側仮想マシン設定部(12)は、ゲスト側仮想マシン設定部(18)からの設定完了の通知を受け(S16)、ユーザインタフェース(13)を介してユーザに設定完了を報告する(S17)。その後ユーザ入力待ちから繰り返す(S1)。
なお、図6のS30において、ターゲット仮想マシン設定データファイル(6)が必要ない場合は、ターゲット仮想マシン設定データファイル(6)のマウントは実行せず、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)のスクリプトを実行する(S38)。
以上の処理により、ターゲットの仮想マシンを起動することなくターゲット仮想マシンの設定が行える。
また、ホスト(4)に配置されているホスト側仮想マシン設定部(12)では、ターゲットディスクであるターゲット仮想マシンデータ(8)にアクセスすることができず、設定データを書き込むことができないが、本実施の形態では、設定用仮想マシン(16)で動作するゲスト側仮想マシン設定部(18)を起動することで、ゲスト側仮想マシン設定部(18)からターゲットディスクであるターゲット仮想マシンデータ(8)にアクセスすることができ、設定データを書き込むことができる。
また、設定用仮想マシンのOSは必要最小限の機能だけにすることによりOS起動時間を短くすることができ、実際にターゲット仮想マシンのOSを起動するのに比較して効率的に設定が行える。
ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、IPアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとIPアドレスが重複するためエラーになってしまう問題を回避できる。
また、複数の仮想マシンの設定を行う場合は、設定用仮想マシンで、ターゲット仮想マシンデータをマウント、アンマウントをすることにより設定用仮想マシンをターゲット仮想マシンが変わる度に再起動するが必要なく、効率化できる。
なお、本方式は、仮想マシンモニタ(または、ホストOS)に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。
以上、本実施の形態では、仮想マシンを構築する際にターゲットの仮想マシンとは別に設定用の仮想マシンを用意し、ターゲットの仮想マシンのディスクやファイルを設定用仮想マシンからアクセスできるように割り当て、ターゲットの仮想マシンを起動することなく、ターゲットの仮想マシンの設定を行うサーバ装置について説明した。
また、本実施の形態では、設定用の仮想マシンに自動設定用のアプリケーションを用意し、ターゲットの仮想マシンの設定を自動的に行うサーバ装置について説明した。
なお、本実施の形態及び以降の実施の形態において、設定用仮想マシンは、ターゲット仮想マシンの設定に特化した仮想マシンであってもよいし、ターゲット仮想マシンの設定機能を有しながらも他の機能を主機能とする仮想マシンであってもよい。
実施の形態2.
図7は、本実施の形態に係るサーバ装置(1)(情報処理装置)の構成例を示す。
本実施の形態に係るサーバ装置(1)は、実施の形態1と同様に、記憶装置(2)、ホスト(4)及び設定用仮想マシン(16)を備えるが、記憶装置(2)及びホスト(4)の内部構成が異なる。記憶装置(2)及びホスト(4)の内部構成の詳細は後述する。なお、設定用仮想マシン(16)の構成は、実施の形態1と同じなので、説明を省略する。
また、図7では、図1と同様に、ホスト(4)と設定用仮想マシン(16)が起動した後の状態を示している。
本実施の形態では、記憶装置(2)はターゲット仮想マシン設定パラメータとターゲット仮想マシン設定データ、ターゲット仮想マシンデータ、ターゲット仮想マシン定義を複数の仮想マシンについて記憶している。
具体的には、ターゲット仮想マシンA用の設定パラメータファイルであるターゲット仮想マシン設定パラメータAファイル(41)と、ターゲット仮想マシンB用の設定パラメータファイルであるターゲット仮想マシン設定パラメータBファイル(42)を記憶している。
また、ターゲット仮想マシンA用の設定データファイルであるターゲット仮想マシン設定データAファイル(43)と、ターゲット仮想マシンB用の設定データファイルであるターゲット仮想マシン設定データBファイル(44)を記憶している。
また、ターゲット仮想マシンAの仮想ハードウェア構成が定義されているターゲット仮想マシン定義Aファイル(45)と、ターゲット仮想マシンBの仮想ハードウェア構成が定義されているターゲット仮想マシン定義Bファイル(47)を記憶している。
また、ターゲット仮想マシンAのターゲットディスクであるターゲット仮想マシンデータA(46)と、ターゲット仮想マシンBのターゲットディスクであるターゲット仮想マシンデータB(48)を記憶している。
ここで、ターゲット仮想マシンAは、複製元の仮想マシンであり、ターゲット仮想マシンBは、ホスト(4)の仮想マシン複製部(31)により複製された仮想マシンとする。
なお、ターゲット仮想マシン設定パラメータAファイル(41)とターゲット仮想マシン設定パラメータBファイル(42)は、図1に示したターゲット仮想マシン設定パラメータファイル(5)と同様である。
また、ターゲット仮想マシン設定データAファイル(43)とターゲット仮想マシン設定データBファイル(44)は、図1に示したターゲット仮想マシン設定データファイル(6)と同様である。
また、ターゲット仮想マシン定義Aファイル(45)とターゲット仮想マシン定義Bファイル(47)はターゲット仮想マシン定義ファイル(7)と同様である。
また、ターゲット仮想マシンデータA(46)とターゲット仮想マシンデータB(48)は、図1に示したターゲット仮想マシンデータ(8)と同様である。
このため、各々についての詳細な説明は省略する。
また、設定用仮想マシン定義ファイル(9)及び設定用仮想マシンデータ(10)は、図1に示したものと同じである。
本実施の形態に係るホスト(4)は、実施の形態1に示したホストOS(11)及びホスト側仮想マシン設定部(12)に加えて、ホストOS(11)上で動作するアプリケーションである仮想マシン複製部(31)を備える。
仮想マシン複製部(31)は、仮想マシンの複製を行う。図7の例では、ターゲット仮想マシンAを複製してターゲット仮想マシンBとする。
仮想マシン複製部(31)は、仮想マシン設定パラメータ自動生成部(32)とデータ複製部(33)を備える。
仮想マシン設定パラメータ自動生成部(32)は、複製元のターゲット仮想マシンAの設定パラメータ及び設定データであるターゲット仮想マシン設定パラメータAファイル(41)及びターゲット仮想マシン設定データAファイル(43)から、複製先のターゲット仮想マシンBの設定パラメータ及び設定データであるターゲット仮想マシン設定パラメータBファイル(42)及びターゲット仮想マシン設定データBファイル(44)を生成する。
データ複製部(33)は、ターゲット仮想マシン定義Aファイル(45)を複製してターゲット仮想マシン定義Bファイル(47)を生成する。
また、データ複製部(33)は、ターゲット仮想マシンデータA(46)と同様の構成のターゲット仮想マシンデータB(48)を生成する。
次に、本実施の形態に係るサーバ装置(1)の動作を説明する。
先ず、前提として、ホスト(4)の仮想マシン複製部(31)によりターゲット仮想マシンAの複製として、ターゲット仮想マシンBが生成され、また、ターゲット仮想マシン設定パラメータBファイル(42)、ターゲット仮想マシン設定データBファイル(44)、ターゲット仮想マシン定義Bファイル(47)及びターゲット仮想マシンデータB(48)が記憶装置(2)に格納されているものとする。
この状態で、設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)は、ターゲット仮想マシンBを起動することなく、ホスト(4)のホスト側仮想マシン設定部(12)に記憶装置(2)からのターゲット仮想マシン設定パラメータBファイル(42)の取得を依頼し、ホスト側仮想マシン設定部(12)が、記憶装置(2)からターゲット仮想マシン設定パラメータBファイル(42)を取得し、また、ターゲット仮想マシンBのパラメータ設定用の記憶領域を設定用仮想マシン(16)からアクセス可能とする(ターゲット仮想マシンデータB(48)をアタッチする)。
そして、設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)が、ホスト側仮想マシン設定部(12)からターゲット仮想マシン設定パラメータBファイル(42)を取得し、アクセス可能とされたターゲット仮想マシンBのパラメータ設定用の記憶領域(アタッチされたターゲット仮想マシンデータB(48))にターゲット仮想マシン設定パラメータBファイル(42)を書き込んで、ターゲット仮想マシンBのパラメータ設定を行う。
つまり、本実施の形態では、ホスト(4)の仮想マシン複製部(31)により複製された複製ターゲット仮想マシンに対しても、当該複製ターゲット仮想マシンを起動することなく、複製ターゲット仮想マシンの設定を行うことができる。
なお、ホスト側仮想マシン設定部(12)及びゲスト側仮想マシン設定部(18)の動作の詳細は、図3〜図6に示したものと同様であり、説明は省略する。
以上、本実施の形態では、仮想マシンの複製を自動的に行い、複製した仮想マシンの設定も自動で行うことのできるサーバ装置について説明した。
実施の形態3.
本実施の形態では、負荷試験や評価試験など、1つのサーバ上に多数の仮想マシンを構築したい場合に、複数の仮想マシンを自動的に作成する負荷評価部の例について示す。
この機能は、対象の仮想マシンを複製し、ホスト名やIPアドレスなど個別でなければならないものも自動的に設定されるものである。
図8に、本実施の形態に係るサーバ装置(1)(情報処理装置)の全体構成例を示す。
本実施の形態では、ホスト(4)内に、実施の形態1に示したホストOS(11)及びホスト側仮想マシン設定部(12)に加えて、ホストOS(11)上で動作するアプリケーションである負荷評価部(51)を設ける。
負荷評価部(51)は、仮想マシン設定パラメータ自動生成部(57)と負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)で構成される。
負荷評価部(51)が負荷評価用仮想マシン定義ファイル(55)、負荷評価用仮想マシンデータ(56)を使用して、負荷評価用仮想マシン(60)、(61)の起動を仮想マシンモニタ(3)に依頼する(59)。
図8では、負荷評価用仮想マシンを2つ示しているが、2台以上で動作することが可能である。
なお、記憶装置(2)内の負荷評価用仮想マシン設定パラメータファイル(52)、負荷評価用仮想マシン設定データファイル(53)、(54)は仮想マシン設定パラメータ自動生成部(57)が生成するファイルである。
この図の例では、負荷評価用仮想マシン設定データAファイル(53)と負荷評価用仮想マシン設定データBファイル(54)の2つを示している。
本実施の形態に係る仮想マシン設定パラメータ自動生成部(57)は、実施の形態2に示した仮想マシン設定パラメータ自動生成部(32)と同様である。
負荷評価用仮想マシン(60)、(61)は、ゲストOS(62)、(63)と負荷評価アプリケーション(64)、(65)で構成される。
また、仮想マシンモニタ(3)内には、CPUの使用率やメモリの使用率などハードウェアリソースの使用率や性能情報をモニタするリソースモニタ(66)を設ける。
ホスト側仮想マシン設定部(12)と設定用仮想マシン(16)の内部構成は図1と同じであり省略する。
本実施の形態において、負荷評価用仮想マシン(60)、(61)は、サーバ装置(1)のCPUやメモリといったハードウェアリソースに負荷を加える処理を行う。
そして、リソースモニタ(66)は、負荷評価用仮想マシン(60)(61)による処理によりハードウェアリソースにかかる負荷をモニタする。
また、ホスト(4)内の負荷評価部(51)は、リソースモニタ(66)によるモニタ結果値と閾値とを比較して、モニタ結果値が閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、モニタ結果値が閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する。
負荷評価部(51)の動作について、サーバ(1)で実行可能な仮想マシン動作可能限度数を求める例を説明する。
仮想マシンが実行可能か不可かは、サーバ(1)全体のCPUとメモリの使用率がある指定した値以下であれば実行可能と判断する。
図9に負荷評価部(51)の動作フローチャートを示す。
なお、実施の形態1で説明した動作については同様のため詳細な説明を省略する。
まず、負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)が、負荷仮想マシンNo変数を1に設定する(S61)。この負荷仮想マシンNo変数は、仮想マシン動作可能限度数をカウントするための変数である。
次に、仮想マシン設定パラメータ自動生成部(57)が、負荷仮想マシンNo=1用の負荷評価用仮想マシン設定パラメータファイル(52)と、負荷評価用仮想マシン定義ファイル(図示せず)と、負荷評価用仮想マシンデータ(図示せず)を生成する(S62)。No=1用負荷評価用仮想マシン定義ファイルは、負荷評価用仮想マシン定義ファイル(55)を複製して生成する。No=1用負荷評価用仮想マシンデータは、負荷評価用仮想マシンデータ(56)を複製して生成する。このとき必要ならば負荷評価用仮想マシン設定データファイル(53)、(54)も生成する。
負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)が、生成した負荷評価用仮想マシン設定パラメータファイル(53)を使い、ホスト側仮想マシン設定部(12)に負荷評価用仮想マシン(60)の設定を依頼する(S63)。
ホスト側仮想マシン設定部(12)は負荷評価用仮想マシン(60)の設定を行う。
負荷評価用仮想マシン(60)の設定は、実施の形態1に示した手順にて、ホスト側仮想マシン設定部(12)が設定用仮想マシン(16)を起動し、その後、ホスト側仮想マシン設定部(12)と設定用仮想マシン(16)のゲスト側仮想マシン設定部(18)との協働により行われる。
設定完了後、負荷評価部(51)の負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)が、負荷評価用仮想マシン(60)の起動を仮想マシンモニタ(3)に依頼する。
負荷評価用仮想マシン(60)が起動される(S64)と、負荷評価アプリケーション(64)が自動起動され、CPU及びメモリに負荷を加える処理が実行される。
リソースモニタ(66)は、負荷評価用仮想マシン(60)による処理によりCPU使用率及びメモリ使用率をモニタする。
負荷評価部(51)の負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)は、リソースモニタ(66)からCPUとメモリの使用率(モニタ結果値)を取得する(S65)。
そして、負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)は、取得したCPU使用率及びメモリ使用率の両者が予め決めておいた閾値よりも小さければまだ負荷に余裕があると判断し(S66でYES)、負荷仮想マシンNoを次の値に設定し(S67)、S62から繰り返す。
CPU使用率及びメモリ使用率の少なくともいずれかが予め決めておいた閾値以上であり、負荷に余裕がない場合(S66でNO)は、負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)は、ここが限界と判断し、負荷数(仮想マシン動作可能限度数)を決定する(S68)。
現在の負荷評価用仮想マシン動作数(負荷仮想マシンNo変数)−1が、このサーバで実行可能な仮想マシン数、すなわち仮想マシン動作可能限度数となる。
負荷数決定後、負荷情報取得・負荷評価用仮想マシン自動起動・停止部(58)は、負荷評価用仮想マシン(60)、(61)をすべて停止し(S69)、S62で生成した負荷評価用仮想マシン設定パラメータファイル(52)、負荷評価用仮想マシン設定データファイル(53)、(54)、負荷評価用仮想マシン定義ファイル(図示せず)、負荷評価用仮想マシンデータ(図示せず)を削除して(S70)、終了する。
以上の方法により仮想マシンの負荷の評価が自動的に実行できる。
このように、本実施の形態では、仮想マシンの負荷評価を行い、負荷の調整を自動的に行うことができるサーバ装置について説明した。
実施の形態4.
実施の形態1〜3では、ターゲットの仮想マシンデータをホストが直接マウントできない場合の方法を示したが、ターゲット仮想マシンデータ(8)の形式が、ホスト側からもマウントできる形式である場合の例について示す。この場合は、設定用仮想マシンを使用せず、ゲスト側仮想マシン設定部(18)もホスト(4)内に置くことにより同様の処理で実現可能である。
図10に本実施の形態に係るサーバ装置(1)(情報処理装置)の全体構成例を示す。
ホスト(4)ではホストOS(11)が動作し、その上に仮想マシン設定部(71)のアプリケーションが動作する。
仮想マシン設定部(71)は、主に、ユーザインタフェース(13)、ファイル読込部(14)、仮想マシン設定パラメータ解析・実行部(19)、仮想マシン定義解析部(20)、ディスクまたはファイルマウント部(21)で構成される。これら13、14、19、20、21は実施の形態1と同じ構成である。また、記憶装置(2)内は、実施の形態1と同じである。
次に、本実施の形態に係るサーバ(1)における動作の流れについて、フローチャートを使い説明する。
図11に仮想マシン設定部(71)の動作フローチャートを示す。
まず、例えばユーザが、仮想マシン設定部(71)を起動する(図11)。
そして、仮想マシン設定部(71)は、ユーザ入力を待つ(S81)。
ユーザからユーザインタフェース(13)を介して設定の要求があったら、仮想マシン設定部(71)は、ファイル読込部(14)がターゲット仮想マシン設定パラメータファイル(5)を読込み(S82)、仮想マシン設定パラメータ解析・実行部(19)がこの設定パラメータファイルを解析し(S83)、ターゲットとなる仮想マシンをまず1つ選択する。例えばVM1を選択する。選択された仮想マシンに対するターゲット仮想マシン定義ファイル(7)をファイル読込部(14)が読込み、仮想マシン定義解析部(20)が、この定義ファイルを解析する(S85)。
ディスクまたはファイルマウント部(21)がターゲットディスクをマウントする(S86)。複数のディスクがある場合はすべてマウントする。
次に、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)を解析し、ターゲット仮想マシン設定データファイル(6)が必要かどうかをチェックする(S87)。
ターゲット仮想マシン設定データファイル(6)が必要な場合(図2に示す命令(350)が含まれている場合)、ディスクまたはファイルマウント部(21)がターゲット仮想マシン設定データファイル(6)をマウントする(S88)。
そして、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)のスクリプトを実行する(S89)。
これにより、設定パラメータが、ターゲット仮想マシンデータ(8)に書き込まれ、ターゲット仮想マシンの設定が実行される。スクリプトの実行後、仮想マシン設定パラメータ解析・実行部(19)は、ターゲット仮想マシン設定データファイル(6)をアンマウントする(S90)。
その後、ディスクまたはファイルマウント部(21)が、マウントしたターゲットディスクのアンマウントを行う(S92)。
ターゲット仮想マシン設定パラメータファイル(5)で指定されているターゲット仮想マシンがまだある場合はS84から繰り返す(S93)。
すべての仮想マシンの設定が完了したら、仮想マシン設定部(71)は、ユーザインタフェース(13)を介してユーザに設定完了を報告する(S94)。その後ユーザ入力待ちから繰り返す(S81)。
なお、図11のS87において、ターゲット仮想マシン設定データファイル(6)が必要ない場合は、ターゲット仮想マシン設定データファイル(6)のマウントは実行せず、仮想マシン設定パラメータ解析・実行部(19)が、ターゲット仮想マシン設定パラメータファイル(5)のスクリプトを実行する(S91)。
以上の処理により、ターゲットの仮想マシンを起動することなくターゲット仮想マシンの設定が行える。
実際にターゲット仮想マシンのOSを起動しないため効率的に設定が行える。
また、ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、IPアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとIPアドレスが重複するためエラーになってしまう問題を回避できる。
なお、本方式は、仮想マシンモニタ(または、ホストOS)に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。
以上、本実施の形態では、ターゲット仮想マシンデータの形式がホスト側からもマウントできる形式である場合に、ホストからターゲットの仮想マシンのディスクやファイルを設定用仮想マシンからアクセスできるように割り当て、ターゲットの仮想マシンを起動することなく、ターゲットの仮想マシンの設定を行うサーバ装置について説明した。
また、本実施の形態では、設定用の仮想マシンに自動設定用のアプリケーションを用意し、ターゲットの仮想マシンの設定を自動的に行うサーバ装置について説明した。
最後に、実施の形態1〜4に示したサーバ装置(1)のハードウェア構成例について説明する。
図12は、実施の形態1〜4に示すサーバ装置(1)のハードウェア資源の一例を示す図である。
なお、図12の構成は、あくまでもサーバ装置(1)のハードウェア構成の一例を示すものであり、サーバ装置(1)のハードウェア構成は図12に記載の構成に限らず、他の構成であってもよい。
図12において、サーバ装置(1)は、プログラムを実行するCPU(911)(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU(911)は、バス(912)を介して、例えば、ROM(Read Only Memory)(913)、RAM(Random Access Memory)(914)、通信ボード(915)、表示装置(901)、キーボード(902)、マウス(903)、磁気ディスク装置(920)と接続され、これらのハードウェアデバイスを制御する。
更に、CPU(911)は、FDD(904)(Flexible Disk Drive)、コンパクトディスク装置(905)(CDD)、プリンタ装置(906)、スキャナ装置(907)と接続していてもよい。また、磁気ディスク装置(920)の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM(914)は、揮発性メモリの一例である。ROM(913)、FDD(904)、CDD(905)、磁気ディスク装置(920)の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード(915)、キーボード(902)、マウス(903)、スキャナ装置(907)、FDD(904)などは、入力部、入力装置の一例である。
また、通信ボード(915)、表示装置(901)、プリンタ装置(906)などは、出力部、出力装置の一例である。
通信ボード(915)は、ネットワークに接続される。例えば、通信ボード(915)は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続される。
磁気ディスク装置(920)には、仮想マシンモニタ(921)、ホストOS(922)、プログラム群(923)、ファイル群(924)が記憶されている。
プログラム群(923)のプログラムは、CPU(911)、仮想マシンモニタ(921)、ホストOS(922)により実行される。
また、前述したように、仮想マシンモニタ(921)自身がホストOS(922)の機能を含む場合や、ホストOS(922)内に仮想マシンモニタ(921)が存在する場合もある。
ROM(913)には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置(920)にはブートプログラムが格納されている。
サーバ装置(1)の起動時には、ROM(913)のBIOSプログラム及び磁気ディスク装置(920)のブートプログラムが実行され、BIOSプログラム及びブートプログラムにより仮想マシンモニタ(921)、ホストOS(922)が起動される。
プログラム群(923)には、実施の形態1〜3に示されるターゲット仮想マシン、設定用仮想マシン、負荷評価用仮想マシン、ホスト側仮想マシン設定部、仮想マシン複製部、負荷評価部及びこれらの内部要素を実現するプログラムが含まれる。
また、ファイル群(924)には、実施の形態1〜3に示されるターゲット仮想マシン設定パラメータファイル、ターゲット仮想マシン設定データファイル、ターゲット仮想マシンデータ、ターゲット仮想マシン定義ファイル等が含まれる。
更に、ファイル群(924)には、実施の形態1〜4の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU(911)によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM(914)のメモリ、FDD(904)のフレキシブルディスク、CDD(905)のコンパクトディスク、磁気ディスク装置(920)の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス(912)や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜4の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM(913)に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU(911)により読み出され、CPU(911)により実行される。すなわち、プログラムは、実施の形態1〜4の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1〜4に示すサーバ装置(1)は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1に係るサーバ装置の構成例を示す図。 実施の形態1に係るターゲット仮想マシン設定パラメータの例を示す図。 実施の形態1に係るホスト側仮想マシン設定部の動作例を示すフローチャート図。 実施の形態1に係るホスト側仮想マシン設定部の動作例を示すフローチャート図。 実施の形態1に係るゲスト側仮想マシン設定部の動作例を示すフローチャート図。 実施の形態1に係るゲスト側仮想マシン設定部の動作例を示すフローチャート図。 実施の形態2に係るサーバ装置の構成例を示す図。 実施の形態3に係るサーバ装置の構成例を示す図。 実施の形態3に係る負荷評価部の動作例を示すフローチャート図。 実施の形態4に係るサーバ装置の構成例を示す図。 実施の形態4に係る仮想マシン設定部の動作例を示すフローチャート図。 実施の形態1〜4に係るサーバ装置のハードウェア構成例を示す図。
符号の説明
1 サーバ装置、2 記憶装置、3 仮想マシンモニタ、4 ホスト、5 ターゲット仮想マシン設定パラメータファイル、6 ターゲット仮想マシン設定データファイル、7 ターゲット仮想マシン定義ファイル、8 ターゲット仮想マシンデータ、9 設定用仮想マシン定義ファイル、10 設定用仮想マシンデータ、11 ホストOS、12 ホスト側仮想マシン設定部、13 ユーザインタフェース、14 ファイル読込部、15 ゲスト側仮想マシン設定部とのインタフェース部、16 設定用仮想マシン、17 ゲストOS、18 ゲスト側仮想マシン設定部、19 仮想マシン設定パラメータ解析・実行部、20 仮想マシン定義解析部、21 ディスクまたはファイルマウント部、22 ホスト側仮想マシン設定部とのインタフェース部、31 仮想マシン複製部、32 仮想マシン設定パラメータ自動生成部、33 データ複製部、41 ターゲット仮想マシン設定パラメータAファイル、42 ターゲット仮想マシン設定パラメータBファイル、43 ターゲット仮想マシン設定データAファイル、44 ターゲット仮想マシン設定データBファイル、45 ターゲット仮想マシン定義Aファイル、46 ターゲット仮想マシンデータA 47 ターゲット仮想マシン定義Bファイル、48 ターゲット仮想マシンデータB、51 負荷評価部、57 仮想マシン設定パラメータ自動生成部、58 負荷情報取得・負荷評価用仮想マシン自動起動・停止部、60 負荷評価用仮想マシン、61 負荷評価用仮想マシン、62 ゲストOS、63 ゲストOS、64 負荷評価アプリケーション、65 負荷評価アプリケーション、66 リソースモニタ、71 仮想マシン設定部。

Claims (4)

  1. パラメータが未設定でありパラメータが設定された後はゲスト仮想マシンとして動作するターゲット仮想マシンを備え、前記ターゲット仮想マシンのパラメータ設定を行う情報処理装置であって、
    前記ターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンが用いる仮想ディスクが含まれる記憶装置と、
    ホストOS(Operating System)と、前記ホストOS上で動作するホスト側仮想マシン設定部とを有するホストと、
    ゲストOSと、前記ゲストOS上で動作するゲスト側仮想マシン設定部とを有し、前記ターゲット仮想マシンとは異なる仮想マシンである設定用仮想マシンとを備え、
    前記ターゲット仮想マシン起動されていない状態で
    記ホストのホスト側仮想マシン設定部が、
    前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンの仮想ディスクを前記設定用仮想マシンにアタッチし
    前記設定用仮想マシンのゲスト側仮想マシン設定部が、
    前記ホストのホスト側仮想マシン設定部から前記設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアタッチされた前記ターゲット仮想マシンの仮想ディスクをマウントし、前記ターゲット仮想マシンの仮想ディスクに前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする情報処理装置。
  2. 前記記憶装置は、
    設定パラメータが記述されたスクリプトを記憶し、
    前記設定用仮想マシンのゲスト側仮想マシン設定部は、
    前記ホストのホスト側仮想マシン設定部から前記スクリプトを取得し、前記スクリプトを実行して、マウントされている前記ターゲット仮想マシンの仮想ディスクに前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、
    パラメータが未設定でありパラメータが設定された後はゲスト仮想マシンとして動作する複製元の仮想マシンを備え、
    前記情報処理装置は、更に、
    前記複製元の仮想マシンの複製を行う仮想マシン複製部を有し、
    前記記憶装置は、
    前記仮想マシン複製部により前記複製元の仮想マシンから複製された複製ターゲット仮想マシンに設定する設定パラメータを記憶し、前記複製ターゲット仮想マシンが用いる仮想ディスクを有し、
    前記複製ターゲット仮想マシン起動されていない状態で
    記ホストのホスト側仮想マシン設定部が、
    前記記憶装置から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記複製ターゲット仮想マシンの仮想ディスクを前記設定用仮想マシンにアタッチし
    前記設定用仮想マシンのゲスト側仮想マシン設定部が、
    前記ホストのホスト側仮想マシン設定部から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアタッチされた前記複製ターゲット仮想マシンの仮想ディスクをマウントし、前記複製ターゲット仮想マシンの仮想ディスクに前記設定パラメータを書き込んで、前記複製ターゲット仮想マシンのパラメータ設定を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記情報処理装置は、更に、
    ハードウェアリソースに負荷を加える処理を行う負荷評価用仮想マシンと、
    前記負荷評価用仮想マシンによる処理により前記ハードウェアリソースにかかる負荷をモニタするリソースモニタと、
    前記リソースモニタによるモニタ結果値と閾値とを比較して、前記モニタ結果値が前記閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、前記モニタ結果値が前記閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する負荷評価部とを有することを特徴とする請求項1〜3のいずれかに記載の情報処理装置。
JP2009532095A 2007-09-12 2008-06-23 情報処理装置 Expired - Fee Related JP4592814B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007236673 2007-09-12
JP2007236673 2007-09-12
PCT/JP2008/061407 WO2009034760A1 (ja) 2007-09-12 2008-06-23 情報処理装置

Publications (2)

Publication Number Publication Date
JP4592814B2 true JP4592814B2 (ja) 2010-12-08
JPWO2009034760A1 JPWO2009034760A1 (ja) 2010-12-24

Family

ID=40451772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009532095A Expired - Fee Related JP4592814B2 (ja) 2007-09-12 2008-06-23 情報処理装置

Country Status (4)

Country Link
US (1) US20100211944A1 (ja)
EP (1) EP2189902A1 (ja)
JP (1) JP4592814B2 (ja)
WO (1) WO2009034760A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5446157B2 (ja) * 2008-07-28 2014-03-19 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8392838B2 (en) * 2010-01-27 2013-03-05 Vmware, Inc. Accessing virtual disk content of a virtual machine using a control virtual machine
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US9009219B2 (en) 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
JP5533005B2 (ja) * 2010-02-17 2014-06-25 富士通株式会社 情報処理装置、計算機システム及びプログラム
JP2011180892A (ja) * 2010-03-02 2011-09-15 Nec Corp 仮想サーバシステム
JP5678508B2 (ja) * 2010-07-29 2015-03-04 日本電気株式会社 シンクライアントシステム、管理サーバ、仮想マシン作成管理方法及び仮想マシン作成管理プログラム
JP2012037935A (ja) * 2010-08-03 2012-02-23 Fujitsu Ltd 情報処理装置
US9411517B2 (en) * 2010-08-30 2016-08-09 Vmware, Inc. System software interfaces for space-optimized block devices
JP2012243254A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
JP2012243255A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
US10983747B2 (en) 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US10976981B2 (en) 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
JP5996094B2 (ja) * 2013-03-29 2016-09-21 株式会社日立製作所 仮想マシンイメージ管理サーバ、及び仮想マシンイメージ管理方法
CN103257878A (zh) * 2013-05-16 2013-08-21 浪潮通信信息系统有限公司 一种基于云计算的应用程序的跨平台平滑迁移方法
US9430212B2 (en) * 2014-02-10 2016-08-30 Netflix, Inc. Automatically generating volume images and launching virtual computing instances
JP6421470B2 (ja) * 2014-06-17 2018-11-14 富士通株式会社 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
JP6613690B2 (ja) * 2015-07-31 2019-12-04 富士通株式会社 ネットワーク装置設定方法、情報処理装置及びbiosプログラム
US10915411B2 (en) * 2018-06-13 2021-02-09 EMC IP Holding Company LLC Advanced multiple backup recovery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241968A (ja) * 2002-02-15 2003-08-29 A & T Corp 臨床検査システムのシステム起動制御方法
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム
JP2006072591A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd 仮想計算機制御方法
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941179B2 (en) * 2002-04-04 2005-09-06 Matsushita Electric Industrial Co., Ltd. Device control system, network constructed by the system, and program executed on device constructing the system
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7334076B2 (en) * 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US7802251B2 (en) * 2005-11-09 2010-09-21 Hitachi, Ltd. System for resource allocation to an active virtual machine using switch and controller to associate resource groups
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241968A (ja) * 2002-02-15 2003-08-29 A & T Corp 臨床検査システムのシステム起動制御方法
JP2005332223A (ja) * 2004-05-20 2005-12-02 Ntt Data Corp 仮想マシン管理システム
JP2006072591A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd 仮想計算機制御方法
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム

Also Published As

Publication number Publication date
WO2009034760A1 (ja) 2009-03-19
US20100211944A1 (en) 2010-08-19
JPWO2009034760A1 (ja) 2010-12-24
EP2189902A1 (en) 2010-05-26

Similar Documents

Publication Publication Date Title
JP4592814B2 (ja) 情報処理装置
RU2446450C2 (ru) Преобразование машин в виртуальные машины
US8135813B2 (en) Method, system and program product for remotely deploying and automatically customizing workstation images
TWI578233B (zh) 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法
CN101650660B (zh) 从中央存储装置引导计算机系统
US6243774B1 (en) Apparatus program product and method of managing computer resources supporting concurrent maintenance operations
JP4768497B2 (ja) ストレージシステムにおけるデータの移動
US20140351815A1 (en) Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
US20090313447A1 (en) Remote, Granular Restore from Full Virtual Machine Backup
US9804855B1 (en) Modification of temporary file system for booting on target hardware
JP2011076605A (ja) 仮想マシン・イメージの実行方法及びシステム
CN102200921A (zh) 智能引导设备选择和恢复
JP2006302273A (ja) 仮想的に無制限なストレージ
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
CN101996109A (zh) 计算机系统及其控制方法和存储计算机程序的记录介质
CN116301596A (zh) 一种软件raid构建方法、装置、设备及存储介质
JP5183448B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP7073654B2 (ja) 情報処理システム、情報処理装置およびプログラム
US20220179806A1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
JP4613598B2 (ja) ディスクシステム
US9087040B2 (en) Method and apparatus for performing host based diagnostics using a service processor
JP2018181305A (ja) プールされた物理リソースのローカルディスク消去メカニズム
Meier et al. IBM systems virtualization: Servers, storage, and software
JP2016181091A (ja) 情報管理装置、情報管理方法、情報管理プログラム、データ構造、及び、ソフトウェア資産管理システム
JP2015114841A (ja) 情報処理装置、制御プログラム、及びデータ移動方法

Legal Events

Date Code Title Description
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: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100914

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4592814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees