JP2016009341A - Virtual machine arrangement system and arrangement method, and computer program - Google Patents
Virtual machine arrangement system and arrangement method, and computer program Download PDFInfo
- Publication number
- JP2016009341A JP2016009341A JP2014129745A JP2014129745A JP2016009341A JP 2016009341 A JP2016009341 A JP 2016009341A JP 2014129745 A JP2014129745 A JP 2014129745A JP 2014129745 A JP2014129745 A JP 2014129745A JP 2016009341 A JP2016009341 A JP 2016009341A
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- information
- deployment
- image
- common
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、仮想マシンの配備における効率化技術に関する。 The present invention relates to a technology for improving the efficiency of virtual machine deployment.
複数の仮想マシン(Virtual Machine、VM)によって構成される大規模システムを、ネットワーク越しに配備する方法が知られている。そのような方法において、配備対象の仮想マシンが多数ある場合、それぞれの仮想マシンに係るVMイメージ、および配備するソフトウェアコンポーネントのインストールイメージなどが、大量にネットワークを流れる。その結果として、ネットワークの輻輳が発生しやすくなるので、すべてのVMの配備が完了するまでに時間が掛かるという問題がある。 There is known a method of deploying a large-scale system constituted by a plurality of virtual machines (Virtual Machines, VMs) over a network. In such a method, when there are a large number of virtual machines to be deployed, VM images related to the respective virtual machines, installation images of software components to be deployed, and the like flow through a network in large quantities. As a result, network congestion is likely to occur, and there is a problem that it takes time to complete the deployment of all VMs.
こうした問題に対し、特許文献1には、ネットワーク環境において仮想マシンのリモート配備を管理する方法が開示されている。特許文献1に記載された方法においては、既存のコンテンツデリバリネットワーク(Contents Delivery Network、CDN)のように、階層的にVMイメージを保持することにより、配信セグメントを限定する。すなわち、この方法は、必要のないセグメントへVMイメージを流さないことにより、ネットワーク負荷を下げることができる。
For such a problem,
また、特許文献2には、既存の仮想計算機を元に、ユーザの要求に応じた新規の仮想計算機を提供する仮想計算機提供システムが開示されている。特許文献2に記載されたシステムにおいては、仮想計算機提供サービス管理サーバ装置が、既存の仮想計算機を複製することにより新規の仮想計算機を生成する。そして、仮想計算機提供サービス管理サーバ装置は、複製した仮想計算機の環境を様々な管理情報に基づいて初期化した後に、その環境を利用者に提供することにより、利用者のセットアップの手間を省くことができる。
また、特許文献3には、複数の仮想マシンのOSをデプロイ(展開)する方法が開示されている。特許文献3に記載された方法において、管理サーバまたは仮想マシンは、仮想マシンのイメージファイルの複製を他の仮想マシンに対して転送するという複製処理を、複数の仮想マシンにおいて順送りに行う。すなわち、この方法においては、複数の複製処理が、同時並列的に行われないように1つずつ順番に実行されることにより、複製処理が、ネットワークの輻輳を発生させることを防ぐことができる。
しかしながら、多数の仮想マシンによって構成される大規模システムの配備および構築の際、特許文献1に開示された方法は、同一のセグメント内におけるVMイメージの転送によるネットワークの輻輳を防ぐことができない。すなわち、この方法によって、ネットワークに流れるVMイメージの総量を削減する効果を得るには、複雑に隔離されたセグメントを持つネットワークを構築する必要があるという問題がある。
However, when deploying and constructing a large-scale system including a large number of virtual machines, the method disclosed in
また、特許文献2に開示されたシステムにおいても、複数の仮想マシンを含む大規模システムが配備対象である場合、大量のVMイメージがネットワークを流れることが避けられない。これは、特許文献2に開示されたシステムは、単一のVM環境の提供を対象としているので、複数のVM環境を提供する際における転送量の軽減には効果が十分ではないからである。
Also in the system disclosed in
また、特許文献3に開示された方法においては、多数の仮想マシンの配備を完了するまでの時間が掛かるという問題がある。その理由は、VMイメージの複製におけるネットワークを流れるデータの総量を削減することなく、単に複製処理が1つずつ順番に実行されるからである。
Further, the method disclosed in
本発明の一つの目的は、大量の仮想マシンによって構成される大規模システムをネットワーク越しに配備する際、ネットワークの輻輳の発生を抑制することができる配備装置などを提供することにある。 One object of the present invention is to provide a deployment device that can suppress the occurrence of network congestion when a large-scale system composed of a large number of virtual machines is deployed over a network.
上記の目的を達成すべく、本発明の一態様に係る配備装置は、以下の構成を備えることを特徴とする。 In order to achieve the above object, a deployment device according to an aspect of the present invention is characterized by including the following configuration.
すなわち、本発明の一態様に係る配備装置は、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定手段と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える。
That is, the deployment device according to one aspect of the present invention is
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.
また、上記の同目的を達成すべく、本発明の一態様に係る配備方法は、情報処理装置によって、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する。
In order to achieve the above object, a deployment method according to one aspect of the present invention is performed by an information processing apparatus.
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A software module is deployed to each replicated VM image using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is obtained.
また、同目的は、上記の各構成を有する配備装置、並びに対応する方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。 The object can also be achieved by a deployment apparatus having the above-described configurations and a corresponding method by a computer program for realizing the method by a computer, and a computer-readable storage medium storing the computer program. Is done.
本発明には、大量の仮想マシンによって構成される大規模システムの配備において、VMイメージの大量転送に伴うネットワーク輻輳を抑制できるという効果がある。 The present invention has an effect that it is possible to suppress network congestion associated with a large amount of VM image transfer in the deployment of a large-scale system composed of a large number of virtual machines.
次に、本発明の実施形態について図面を参照して詳細に説明する。 Next, embodiments of the present invention will be described in detail with reference to the drawings.
<第1の実施形態>
図1は、本発明の第1の実施形態に係る配備システムの構成を示すブロック図である。図1を参照すると、本実施形態に係る配備システムは、配備装置1、およびサーバ装置10を有する。サーバ装置10は、複数の仮想マシンの配備先となる物理サーバ(ホスト)である。
<First Embodiment>
FIG. 1 is a block diagram showing a configuration of a deployment system according to the first embodiment of the present invention. Referring to FIG. 1, the deployment system according to the present embodiment includes a
配備装置1、およびサーバ装置10は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の図示しない通信ネットワーク(以下、単にネットワークと言う)を介して通信可能である。
The
配備装置1、およびサーバ装置10は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、配備装置1、およびサーバ装置10の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この配備装置1、およびサーバ装置10をコンピュータによって実現したハードウェア構成例については、図16を参照して後述する。
The
配備装置1は、構成決定部2、仮想マシン(VM)イメージ生成部3、配備情報生成部4、および配信制御部5を含む。
The
構成決定部2は、サーバ装置10に対する物理サーバ構成情報20に基づいて、少なくとも各仮想マシンに共通するソフトウェアモジュール(以下、単に「モジュール」とも言う)を含む共通構成を導出することができる。物理サーバ構成情報20は、同一のサーバ装置10に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である。また、共通構成は、サーバ装置10に対して配信するVMイメージの構成である。なお、共通構成には、すべての仮想マシンに共通ではなく、一部の仮想マシンに対して配備されるモジュールを含めてもよい。構成決定部2は、導出した共通構成を表す共通構成情報を、VMイメージ生成部3および配備情報生成部4に対して出力する。
The
VMイメージ生成部3は、構成決定部2から受けた共通構成情報に基づいて、少なくとも共通するモジュールを重複なく含むVMイメージを生成することができる。例えば、VMイメージ生成部3は、共通構成情報に含まれるモジュールを1つずつ含むVMイメージを生成する。
Based on the common configuration information received from the
配備情報生成部4は、構成決定部2から受けた共通構成情報、および物理サーバ構成情報20に基づいて、VMイメージ生成部3が生成するVMイメージを配備する際に必要となる情報を含む配備情報を生成することができる。すなわち、配備情報は、後述するモジュール配備部12が、物理サーバ構成情報20に記述される最終的な仮想マシン構成となるように、VMイメージを設定する際に必要な情報を含む。配備情報の詳細は、モジュール配備部12の説明において後述する。
The deployment
配信制御部5は、VMイメージ生成部3が生成したVMイメージ、構成決定部2に与えられた物理サーバ構成情報20、および配備情報生成部4が生成した配備情報を、サーバ装置10に対して送信することができる。
The
サーバ装置10は、仮想マシン(VM)イメージ複製部11、およびモジュール配備部12を含む。
The
VMイメージ複製部11は、配信制御部5から送信されたVMイメージ、物理サーバ構成情報20、および配備情報を受信し、受信したVMイメージを、物理サーバ構成情報20に基づいて、サーバ装置10に配備される仮想マシンの数に応じて複製することができる。すなわち、VMイメージ複製部11は、受信した物理サーバ構成情報20に基づいて、必要な仮想マシンの数を求め、その数に合わせてVMイメージを複製する。
The VM
モジュール配備部12は、VMイメージ複製部11によって複製された各VMイメージに対して、物理サーバ構成情報20に記述された構成となるように、配備情報を用いてモジュールを配備することができる。すなわち、モジュール配備部12は、VMイメージに対して、余分なモジュールの削除(配備の解除、アンインストール)、不足するモジュールの追加配備(インストール)、またはモジュールの設定などを必要に応じて行ってもよい。また、配備情報は、例えば、モジュールの配備の解除、追加配備、および設定などを行う方法、情報の所在、パラメータなどの各種情報を含むことができる。
The
なお、モジュール配備部12は、不足するモジュールの配備に必要なソフトウェア部品(インストールファイル等)を、図示しないリポジトリなどの外部装置、または図示しない記憶装置などから取得してもよい。または、配備情報生成部4が、上記のソフトウェア部品を含めて、配備情報を生成してもよい。この場合、モジュール配備部12は、受信した配備情報に含まれるソフトウェア部品を用いて、不足するモジュールの追加を行うことができる。
Note that the
このように、本実施形態によれば、配備装置1は、複数の仮想マシンを配備するサーバ装置10に対して、それらの仮想マシンに含まれるモジュールの重複を排除したVMイメージを送信することができる。そして、サーバ装置10は、受信した1つのVMイメージに基づいて、それぞれ異なるモジュール構成を持つ、複数の仮想マシンを配備することができる。
As described above, according to the present embodiment, the
以上説明したように、本実施形態に係る配備装置1は、サーバ装置10に対する仮想マシンの配備に際して、ネットワークを流れるデータの総量を削減することができるという効果がある。そのため、配備装置1は、多数の仮想マシンによって構成される大規模システムをネットワーク越しに配備する場合に、ネットワークの輻輳の発生を抑制できるという効果がある。
As described above, the
その理由は、配備装置1において、構成決定部2が、サーバ装置10に配備される各仮想マシンに共通するモジュールを含む共通構成を導出するからである。そして、VMイメージ生成部3が、その共通構成に応じて、モジュールを重複なく含むVMイメージを生成するからである。すなわち、VMイメージ生成部3は、共通構成に基づいて、VMイメージの転送量を低減することができるからである。さらに、サーバ装置10において、VMイメージ複製部11が、受信した1つのVMイメージを、最終的な仮想マシンの数に応じて複製することにより、複数の仮想マシンを構成するからである。
The reason is that in the
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素について重複する詳細な説明は省略する。
<Second Embodiment>
Next, a second embodiment based on the above-described first embodiment will be described. The following description will focus on the characteristic parts according to the second embodiment, and a detailed description overlapping with the components of the second embodiment having the same configuration as that of the first embodiment will be omitted.
本実施形態は、多数のサーバ装置、および多種類の仮想マシンを含む大規模システムの構築において、本発明を適用した一例である。 The present embodiment is an example in which the present invention is applied in the construction of a large-scale system including a large number of server devices and various types of virtual machines.
まず、図2を参照して、以下に本実施形態の構成を説明する。図2は、本発明の第2の実施形態に係る配備システムの構成を示すブロック図である。 First, the configuration of this embodiment will be described below with reference to FIG. FIG. 2 is a block diagram showing the configuration of the deployment system according to the second embodiment of the present invention.
図2を参照すると、本実施形態に係る配備システムは、配備装置100、構成部品リポジトリ120、および複数のサーバ装置200を有する。
Referring to FIG. 2, the deployment system according to the present embodiment includes a
配備装置100、構成部品リポジトリ120、および各サーバ装置200は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単にネットワークと言う)1000を介して通信可能である。
The
配備装置100、構成部品リポジトリ120、およびサーバ装置200は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、配備装置100、構成部品リポジトリ120、およびサーバ装置200の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この配備装置100、構成部品リポジトリ120、およびサーバ装置200をコンピュータによって実現したハードウェア構成例については、図16を参照して後述する。
The
まず、以下に、配備装置100の構成を説明する。
First, the configuration of the
配備装置100は、構成決定部102、仮想マシン(VM)イメージ生成部103、配備スクリプト生成部104、配信制御部105、および記憶装置110を含む。記憶装置110は、システム構成情報111、仮想マシン(VM)イメージテンプレートリポジトリ112、スクリプトリポジトリ113を記憶することができる。
The
システム構成情報111は、各サーバ装置200に配備される仮想マシンの構成を表す情報を含む。システム構成情報111は、各サーバ装置200に関して、第1の実施形態における物理サーバ構成情報20に対応する情報を含む。本実施形態において、システム構成情報111は、構成決定部102に対する入力情報として、あらかじめ記憶装置110に格納されていることを前提とする。なお、システム構成情報111は、例えば、ネットワーク1000を介して、図示しない外部装置から配備装置100へ送信するなど、他の方法によって入力してもよい。システム構成情報111の詳細は、構成の説明の最後にて後述する。
The
VMイメージテンプレートリポジトリ112は、後述するVMイメージ生成部103がVMイメージを生成する際の材料となるVMイメージテンプレートを格納することができる。VMイメージテンプレートリポジトリ112は、あらかじめ記憶装置110に格納されていることを前提とする。
The VM
スクリプトリポジトリ113は、後述する配備スクリプト生成部104が、配備スクリプトを生成する際の材料となる配備スクリプト部品500を格納することができる。配備スクリプトは、第1の実施形態における配備情報に対応する。スクリプトリポジトリ113は、あらかじめ記憶装置110に格納されていることを前提とする。配備スクリプト部品500の詳細は、構成の説明の最後にて後述する。
The
構成決定部102は、第1の実施形態における構成決定部2を基本とする。本実施形態における構成決定部102は、システム構成情報111から、それぞれのサーバ装置200に対する物理サーバ構成情報20を取得する。構成決定部102は、取得した各物理サーバ構成情報20に基づいて、各サーバ装置200に対して配信するVMイメージの構成(配信構成)を決定する。
The
また、本実施形態に係る構成決定部102は、配信構成を決定する際に、物理サーバ構成情報20に基づいて、仮想マシンに配備されるモジュールにおける「最大の共通構成」、または、「最小の網羅構成」のいずれかを導出する。「最大の共通構成(Greatest Common Configuration、GCC構成)」とは、各仮想マシンに共通して含まれるモジュールを重複なく(各モジュールを1つずつ)含む構成である。また、「最小の網羅構成(Least Comprehensive Configuration、LCC構成)」とは、各仮想マシンに含まれるすべてのモジュールを重複なく含む構成である。この「最大の共通構成」、および、「最小の網羅構成」は、第1の実施形態における「共通構成」に対応する。
In addition, when determining the distribution configuration, the
構成決定部102は、各サーバ装置200ごとに導出したGCC構成、またはLCC構成を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に対して出力する。すなわち、構成決定部102は、各サーバ装置200に対して配信するVMイメージとして、GCC構成またはLCC構成のいずれか1つに基づくVMイメージを選択する。
The
VMイメージ生成部103は、第1の実施形態におけるVMイメージ生成部3を基本とする。VMイメージ生成部103は、構成決定部102から受けた各サーバ装置200ごとの共通構成情報に基づいて、各サーバ装置200に対するVMイメージを生成する。VMイメージ生成部103は、必要に応じて、VMイメージテンプレートリポジトリ112、後述する構成部品リポジトリ120、およびスクリプトリポジトリ113から、VMイメージの生成に際して、必要な材料等を取得することができる。
The VM
配備スクリプト生成部104は、第1の実施形態における配備情報生成部4を基本とする。配備スクリプト生成部104は、構成決定部102から受けた各サーバ装置200ごとの共通構成情報、および物理サーバ構成情報20に基づいて、各サーバ装置200ごとの配備スクリプトを生成する。配備スクリプトは、VMイメージ生成部103によって生成された各サーバ装置200ごとのVMイメージを、最終的な仮想マシン構成となるように配備する際に必要な情報を含む。配備スクリプト生成部104は、システム構成情報111(各サーバ装置200に対する物理サーバ構成情報20)と、共通構成情報スクリプトリポジトリ113から取得した配備スクリプト部品500を用いて、配備スクリプトを生成する。
The deployment
配信制御部105は、第1の実施形態における配信制御部5を基本とする。配信制御部105は、VMイメージ生成部103が生成したVMイメージ、配備スクリプト生成部104が生成した配備スクリプト、およびシステム構成情報111を、サーバ装置200ごとに送信することができる。
The
記憶装置110は、例えば、半導体メモリ装置やディスク装置により実現される。
The
以上が、配備装置100の構成の説明である。次に、以下に、構成部品リポジトリ120の構成を説明する。
The above is the description of the configuration of the
構成部品リポジトリ120は、配備スクリプト、または配備スクリプト部品500の実行によって発行される要求に応じて、モジュールの配備に必要なソフトウェア部品121を要求元に返すことができる。ソフトウェア部品121は、モジュールをVMイメージに追加配備する際に必要なインストールファイルである。
The
以下に、サーバ装置200の構成を説明する。
Below, the structure of the
サーバ装置200は、仮想マシンモニタ(VM Monitor、VMM)201、およびエージェント210を含む。
The
VMM201は、エージェント210によって配備されたVMイメージを、仮想マシンとして動作させることができる。
The
エージェント210は、仮想マシン(VM)イメージ複製部211、およびモジュール配備部212を含む。
The
VMイメージ複製部211は、第1の実施形態におけるVMイメージ複製部11を基本とする。VMイメージ複製部211は、配信制御部105から送信されたVMイメージ、システム構成情報111、および配備スクリプトを受信する。そして、VMイメージ複製部211は、システム構成情報111に含まれる自機に対する物理サーバ構成情報20に基づいて、必要な仮想マシンの数を求め、その数に合わせてVMイメージを複製する。
The VM
モジュール配備部212は、第1の実施形態におけるモジュール配備部12を基本とする。モジュール配備部212は、システム構成情報111における自機に対する物理サーバ構成情報20に記述された仮想マシンの構成となるように、配備スクリプトを用いて、複製された各VMイメージに対してモジュールを配備(配備の解除、または追加配備)することができる。すなわち、モジュール配備部212は、複製された各VMイメージごとに、不要(余分)なモジュールを配備解除(削除)することができる。または、モジュール配備部212は、複製された各VMイメージごとに、必要な(不足している)モジュールを追加配備することができる。
本実施形態では、モジュール配備部212は、配備スクリプトの実行によって、モジュールの追加配備に必要なソフトウェア部品121を構成部品リポジトリ120から取得することができる。
The
In this embodiment, the
以上が、サーバ装置200の構成の説明である。
The above is the description of the configuration of the
構成の説明の最後として、システム構成情報300、および配備スクリプト部品500の詳細を説明する。まず、システム構成情報300の詳細を説明する。図3は、第2の実施形態におけるシステム構成情報111の一例であるシステム構成情報300を示す図である。
As the last description of the configuration, details of the
図3を参照すると、システム構成情報300は、1つのリポジトリ指定部301と、1つ以上の物理サーバ構成情報302および306とを含む。
Referring to FIG. 3, the
リポジトリ指定部301は、構成部品リポジトリ120、VMイメージテンプレートリポジトリ112、およびスクリプトリポジトリ113という各リポジトリの場所を指定する情報を含む。
The
物理サーバ構成情報302および306のそれぞれは、第1の実施形態における物理サーバ構成情報20に対応する。すなわち、システム構成情報300は、少なくとも2つのサーバ装置200に対する物理サーバ構成情報20を含む。以下に、物理サーバ構成情報302を例として、物理サーバ構成情報の構成を詳細に説明する。
Each of the physical
物理サーバ構成情報302は、1つの物理サーバ名情報303と、1つ以上の仮想マシン構成情報304および305とを含む。
The physical
物理サーバ名情報303は、配備先のサーバ装置200を特定するホスト名情報を含む。図3において、物理サーバ名303は、「hs132.example.com」というホスト名情報を含む。
The physical
仮想マシン構成情報304は、物理サーバ名情報303によって特定されるサーバ装置200において配備される仮想マシンの構成情報を含む。仮想マシン構成情報304は、「h132−1」という仮想マシンの識別子と、用いるVMイメージテンプレートを表す「temp−1032」という名称と、配備するモジュールとして少なくとも「mod_A」および「mod_B」という構成部品名が含まれる。
The virtual
同様に、仮想マシン構成情報305は、「h132−2」という識別子の仮想マシンの構成情報が定義されている。すなわち、「h132−2」という仮想マシンには、「h132−1」と同じ「temp−1032」というVMイメージテンプレートが用いられる。また、この仮想マシンには、少なくとも「mod_A」という構成部品名のモジュールが配備される。
Similarly, the virtual
物理サーバ構成情報306の構成は、上記の物理サーバ構成情報302の構成と、基本的に同様である。以上が、システム構成情報300の構成の説明である。
The configuration of the physical
次に、図9を参照して、スクリプトリポジトリ113に格納される配備スクリプト部品500の詳細を説明する。図9は、第2の実施形態における配備スクリプト部品500の一例を示す図である。
Next, details of the
配備スクリプト部品500は、例えば、仮想マシンに配備されるモジュールごとに用意してもよい。図9に例示する配備スクリプト部品500における対象モジュールは、「mod_A」という構成部品名のモジュールである。配備スクリプト部品500は、インストール部501、アンインストール部502、および設定部503を含む。
For example, the
インストール部501は、対象モジュールを、仮想マシンに対してインストールすることができるスクリプトの情報を含む。また、インストール部501は、同じマシンにインストールできないモジュールを表す競合情報などを含んでもよい。 The installation unit 501 includes information on a script that can install the target module in the virtual machine. Further, the installation unit 501 may include conflict information indicating modules that cannot be installed on the same machine.
アンインストール部502は、仮想マシンにインストールされている対象モジュールを、仮想マシンからアンインストールすることができるスクリプトの情報を含む。なお、きれいにアンインストールすることが難しいモジュールの場合、配備スクリプト部品500は、アンインストール部502を含まなくてもよい。
The
設定部503は、対象モジュールを実行環境に合わせて設定することができるスクリプトの情報を含む。設定部503は、例えば、対処モジュールに対して、VMイメージの配信先である各サーバ装置200に合わせたパラメータの設定を可能とするスクリプトであってもよい。特に設定を行う必要がない場合、配備スクリプト部品500は、設定部503を含まなくてもよい。
The
配備スクリプト部品500の各部が含むスクリプトの一例として、Puppet(Introduction to Puppet、[online]、Puppet Labs、[平成26年6月6日検索]、インターネット<URL:http://docs.puppetlabs.com/guides/introduction.html>)がある。また、上記のスクリプトの一例として、他に、Chef(An Overview of Chef、[online]、Chef Software, Inc、[平成26年6月6日検索]、インターネット<URL:http://docs.opscode.com/chef_overview.html>)がある。
As an example of a script included in each part of the
また、インストール部501、およびアンインストール部502に含まれるスクリプトは、対象モジュールのインストール、およびアンインストール処理を行うことができる仕組みを利用してもよい。
The script included in the installation unit 501 and the
上記の仕組みの一例として、Linux(登録商標)系のOSの場合、apt(Gustavo Noronha Silva、APT HOWTO (Obsolete Documentation)、[online]、Debian Project、[平成26年6月6日検索]、インターネット<URL:http://www.debian.org/doc/manuals/apt-howto/index.ja.html>)が使用可能である。また、上記の仕組みの一例として、Linux系のOSの場合、他に、yum(Hradilek Jaromir、外14名、Red Hat Enterprise Linux 6導入ガイド Red Hat Enterprise Linux 6 の導入、設定、管理 エディッション 4、第6章 Yum、[online]、平成25年10月31日、Red Hat, Inc.、[平成26年6月6日検索]、インターネット<URL:https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-yum.html>)がある。また、上記の仕組みの一例として、Linux系のOSの場合、他に、RPM Package Manager(RPM 4.11.2 Release Notes、[online]、Open Source Lab、[平成26年6月6日検索]、インターネット<URL:http://www.rpm.org/wiki/Releases/4.11.2>)がある。
As an example of the above mechanism, in the case of a Linux (registered trademark) OS, apt (Gustavo Noronha Silva, APT HOWTO (Obsolete Documentation), [online], Debian Project, [Search June 6, 2014], Internet <URL: http: //www.debian.org/doc/manuals/apt-howto/index.en.html>) is available. In addition, as an example of the above mechanism, in the case of Linux OS, in addition to yum (Hradilek Jaromir, 14 others, Red Hat Enterprise Linux 6 Installation Guide Red Hat Enterprise Linux 6 Installation, Configuration,
また、上記の仕組みの一例として、Windows(登録商標)系のOSの場合、InstallShield(InstallShield、Overview、[online]、平成26年、Flexera Software LLC.、[平成26年6月6日検索]、インターネット<URL:http://www.flexerasoftware.com/products/software-installation/installshield-software-installer/)がある。 As an example of the above mechanism, in the case of a Windows (registered trademark) OS, InstallShield (InstallShield, Overview, [online], 2014, Flexera Software LLC., [Search June 6, 2014], Internet <URL: http://www.flexerasoftware.com/products/software-installation/installshield-software-installer/).
以上が、配備スクリプト部品500の説明である。また、以上が、本実施形態の構成の説明である。
The above is the description of the
次に、上述した構成を備える本実施形態の動作について、具体例を用いて説明する。まず、図4〜図7を参照して、配備装置100における配信構成の決定から、サーバ装置200において最終的に仮想マシンを配備するまでの動作概略を説明する。図4は、第2の実施形態において配備装置100およびサーバ装置200が行う動作の概略を示すフローチャートである。
Next, the operation of the present embodiment having the above-described configuration will be described using a specific example. First, with reference to FIG. 4 to FIG. 7, an operation outline from the determination of the distribution configuration in the
図4を参照すると、まず、配備装置100における構成決定部102が、システム構成情報111から、サーバ装置200ごとの仮想マシン構成情報を取得する(ステップS10)。具体的には、構成決定部102は、まず、複数のサーバ装置200に対する構成情報を含むシステム構成情報111を記憶装置110から取得する。そして、構成決定部102は、システム構成情報111から、サーバ装置200ごとに物理サーバ構成情報20(図3の物理サーバ構成情報302および306に相当する情報)をそれぞれ分けて取り出す。
Referring to FIG. 4, first, the
ここでは、具体例として、構成決定部102は、図5に示すサーバ装置200の物理サーバ構成情報400を取得したこととする。図5は、第2の実施形態における物理サーバ構成情報、最小網羅構成および最大共通構成の概念を示す図である。図5に示す物理サーバ構成情報400は、図3に示すシステム構成情報111(300)に含まれる物理サーバ構成情報302または306などの1つを、模式化した図である。この具体例における物理サーバ構成情報400は、あるサーバ装置200に対して、VM_A、VM_B、およびVM_Cという仮想マシンを構築するという3つの仮想マシン構成情報401〜403を含む。
Here, as a specific example, it is assumed that the
なお、これら仮想マシン構成情報401〜403は、同じVMイメージテンプレートが指定されていることを前提とする。また、VM_Aの仮想マシン構成情報401は、VM_Aに、モジュールA、B、およびCの3つのソフトウェアモジュールを配備するという情報を含む。同じく、VM_Bの仮想マシン構成情報402は、VM_Bに、モジュールA、B、およびDの3つのソフトウェアモジュールを配備するという情報を含む。さらに、VM_Cの仮想マシン構成情報403は、VM_Cに、モジュールA、およびBの2つのソフトウェアモジュールを配備するという情報を含む。
The virtual
これ以降の概略の説明は、1つの物理サーバ構成情報400(図5)に基づいて、配備対象であるサーバ装置200に仮想マシンを配備する場合における手順(動作)の説明である。すなわち、以下で説明する動作は、システム構成情報111に含まれる各物理サーバ構成情報400ごとにそれぞれ実行される。
The following description of the outline is a description of a procedure (operation) in the case of deploying a virtual machine to the
次に、構成決定部102は、配信構成を決定する(ステップS11)。具体的には、構成決定部102は、最小の網羅構成(LCC)404として、各仮想マシン構成情報401〜403が含むすべてのモジュールA、B、C、およびDを1つずつ含む配信構成を決定する。すなわち、LCC404は、配備対象であるサーバ装置200の仮想マシンに配備されるすべてのモジュールを網羅する最小の構成である。
Next, the
または、構成決定部102は、LCCに対応するVMイメージに基づく仮想マシンの配備が不可能と判断した場合に、LCCの代わりに、最大の共通構成(GCC)405を決定してもよい。GCC405は、すべての仮想マシン構成情報401〜403に共通して含まれるモジュールAおよびBを1つずつ含む。すなわち、GCC405は、配備対象であるサーバ装置200の仮想マシンすべてに共通するモジュールをできるだけ多く取り込んだ(最大の)構成である。構成決定部102が、LCC404およびGCC405を配信構成として決定する手順の詳細については、動作の概略の説明後に説明する。
Alternatively, the
構成決定部102は、LCC404またはGCC405のどちらかに決定した配信構成を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に出力する。
The
ステップS12以降の動作の概略は、配信構成ごとに説明する。 An outline of operations after step S12 will be described for each distribution configuration.
まず、LCC404が配信構成として決定された場合における、ステップS12以降の動作の概略を、図4および図6を参照して説明する。図6は、第2の実施形態に係るサーバ装置200における最小網羅構成を用いた仮想マシンの構成手順を示す概念図である。
First, an outline of operations after step S12 when the
ステップS12において、VMイメージ生成部103は、構成決定部102から受けた共通構成情報に基づいて、LCC404に対応するVMイメージ(図6のVM_LCC414)を生成し、生成したVMイメージを配信制御部105に対して出力する(ステップS12)。
In step S12, the VM
一方、配備スクリプト生成部104は、LCC404に対応する配備スクリプトを生成し、生成した配備スクリプトを配信制御部105に対して出力する(ステップS13)。すなわち、配備スクリプト生成部104は、少なくとも、VM_LCC414から配備を解除する必要があるモジュールに対応する配備スクリプト部品500を含む配備スクリプトを生成する。なお、この具体例では、配備スクリプト生成部104は、LCC404に含まれるすべてのモジュールA〜Dに対する配備スクリプトを生成する。
On the other hand, the deployment
配信制御部105は、VMイメージ(VM_LCC414)、LCC404に対応する配備スクリプト、およびシステム構成情報111を、対象のサーバ装置200に対して送信する(ステップS14)。以上で配備装置100の動作は終了である。
The
サーバ装置200においては、エージェント210のVMイメージ複製部211が、VM_LCC414、配備スクリプト、およびシステム構成情報111を受信する(ステップS20)。エージェント210は、システム構成情報111に含まれる自機に対する物理サーバ構成情報400を読み出し、その物理サーバ構成情報400に基づいて、以下の処理を行う。
In the
次に、エージェント210は、自機に対する物理サーバ構成情報400に示される仮想マシン構成となるように、サーバ装置200において仮想マシンを配備する(ステップS21)。
Next, the
具体的には、まず、VMイメージ複製部211は、物理サーバ構成情報400に含まれる仮想マシンの数に応じて、VM_LCC414を複製する。この具体例では、VMイメージ複製部211は、図6に示すように、VM_A411、VM_B412、およびVM_C413の3つのVMイメージとして複製する。次に、エージェント210のモジュール配備部212が、物理サーバ構成情報400に合致するように、複製した各VMイメージから、不要なモジュールの配備を解除する。この具体例では、モジュール配備部212は、VM_A411から、モジュールDの配備を解除する。また、モジュール配備部212は、VM_B412から、モジュールCの配備を解除する。さらに、モジュール配備部212は、VM_C413から、モジュールCおよびDの配備を解除する。なお、配備を解除する方法は、受信した配備スクリプトに記述されていることを前提とする。
Specifically, first, the VM
このような手順の結果として、所望の仮想マシン構成が、サーバ装置200において構築される。
As a result of such a procedure, a desired virtual machine configuration is constructed in the
次に、GCC405が配信構成として決定された場合における、ステップS12以降の動作の概略を、図4および図7を参照して説明する。図7は、第2の実施形態に係るサーバ装置200における最大共通構成を用いた仮想マシンの構成手順を示す概念図である。
Next, an outline of operations after step S12 when the
ステップS12において、VMイメージ生成部103は、構成決定部102から受けた共通構成情報に基づいて、GCC405に対応するVMイメージ(図7のVM_GCC425)を生成し、生成したVMイメージを配信制御部105に対して出力する(ステップS12)。
In step S12, the VM
一方、配備スクリプト生成部104は、GCC405に対応する配備スクリプトを生成し、生成した配備スクリプトを配信制御部105に対して出力する(ステップS13)。すなわち、配備スクリプト生成部104は、少なくとも、VM_GCC425に追加配備する必要があるモジュールに対応する配備スクリプトを生成する。なお、この具体例では、配備スクリプト生成部104は、物理サーバ構成情報400に含まれるすべてのモジュールA〜Dに対する配備スクリプトを生成する。
On the other hand, the deployment
配信制御部105は、VMイメージ(VM_GCC425)、GCC405に対応する配備スクリプト、およびシステム構成情報111を、対象のサーバ装置200に対して送信する(ステップS14)。以上で配備装置100の動作は終了である。
The
サーバ装置200においては、エージェント210のVMイメージ複製部211が、VM_GCC425、配備スクリプト、およびシステム構成情報111を受信する(ステップS20)。エージェント210は、システム構成情報111に含まれる自機に対する物理サーバ構成情報400を読み出し、その物理サーバ構成情報400に基づいて、以下の処理を行う。
In the
次に、エージェント210は、自機に対する物理サーバ構成情報400に示される仮想マシン構成となるように、サーバ装置200において仮想マシンを配備する(ステップS21)。
Next, the
具体的には、まず、VMイメージ複製部211が、物理サーバ構成情報400に含まれる仮想マシンの数に応じて、VM_GCC425を複製する。この具体例では、VMイメージ複製部211は、図7に示すように、VM_A421、VM_B422、およびVM_C423の3つのVMイメージとして複製する。次に、エージェント210のモジュール配備部212が、物理サーバ構成情報400に合致するように、複製した各VMイメージに、不足しているモジュールを追加配備する。この具体例では、モジュール配備部212は、VM_A421に対して、モジュールCを追加する。また、モジュール配備部212は、VM_B422に対して、モジュールDを追加する。なお、モジュール配備部212は、VM_C413に対しては、何のモジュールも追加しない。なお、追加する方法は、受信した配備スクリプトに記述されていることを前提とする。また、モジュール配備部212は、本実施形態においては、追加するモジュールのソフトウェア部品121(インストールファイルなど)を、構成部品リポジトリ120から取得することができる。
Specifically, first, the VM
このような手順の結果として、所望の仮想マシン構成が、サーバ装置200において構築される。
As a result of such a procedure, a desired virtual machine configuration is constructed in the
以上が、配備装置100およびサーバ装置200が行う動作の概略である。なお、ステップS12とステップS13との実行順番は、上記に限られない。すなわち、ステップS13が、ステップS12より先に、または同時並行的に実行されてもよい。
The above is the outline of the operations performed by the
次に、図8、および図10〜13を参照して、上述した概略の説明における各部の詳細な動作を説明する。以下においても、動作概略の説明と同様の具体例を用いて説明する。 Next, with reference to FIGS. 8 and 10 to 13, detailed operations of the respective units in the above-described outline description will be described. In the following, description will be made using a specific example similar to the description of the operation outline.
まず、図8を参照して、図4のステップS10およびS11における、構成決定部102の動作P1000を詳細に説明する。図8は、第2の実施形態に係る構成決定部102が配信構成を決定する際の動作を示すフローチャートである。
First, the operation P1000 of the
構成決定部102は、まず、配備先であるサーバ装置200のシステム構成情報111から、配備対象である全仮想マシンの構成情報を読み取り、読み取った仮想サーバの構成情報を、配備先である物理サーバ(サーバ装置200)ごとにグルーピングする(ステップS1001)。次に、構成決定部102は、1つのサーバ装置200に配備される仮想マシン群の構成情報を、同じVMイメージテンプレートが指定されている仮想マシンごとにグルーピングする(ステップS1002)。
The
本具体例においては、ステップS1001および1002において、グルーピングした結果の1つのグループ(同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシンのグループ)が、物理サーバ構成情報400(図5)に含まれる仮想マシン群に相当する。
In this specific example, one group (a group of virtual machines that are the
ステップS1003からステップS1008までの構成決定部102の動作は、1台のサーバ装置200の物理サーバ構成情報400(図5)に対する構成決定部102の動作である。
The operation of the
次に、構成決定部102は、グルーピングした同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシン群に対して、最小の網羅構成(LCC)404(図5)を生成する(ステップS1003)。LCC404は、配信構成を表すモジュールのリストの他に、この処理の対象とした仮想マシン群のVMイメージテンプレートを表す情報などを含むことができる。LCC404を生成する際の動作P1100の詳細は、後述する。
Next, the
次に、構成決定部102は、LCC404に含まれる全てのソフトウェアモジュールに対する配備スクリプト部品500を取得する(ステップS1004)。本実施形態では、構成決定部102は、LCC404に含まれる全てのソフトウェアモジュールに対する配備スクリプト部品500を、スクリプトリポジトリ113から取得することができる。
Next, the
次に、構成決定部102は、取得した各配備スクリプト部品500に基づいて、LCC404に含まれるモジュール間に、同じマシンにインストールできないなどの構成競合があるかどうかを調べる(ステップS1005)。構成競合がある場合(ステップS1005のY)、構成決定部102は、後述するステップS1007の動作を実行する。
Next, the
構成競合がない場合(ステップS1005のN)、構成決定部102は、取得した全ての配備スクリプト部品500に、配備の解除手順(アンインストール部)が存在するかどうかを調べる(ステップS1006)。
If there is no configuration conflict (N in step S1005), the
全ての配備スクリプト部品500にアンインストール部がある場合(ステップS1006のY)、構成決定部102は、配信構成として、LCC404の採用を決定する。
When there is an uninstall unit in all the deployment script components 500 (Y in step S1006), the
一方、構成競合がある場合(ステップS1005のY)、およびアンインストール部がない配備スクリプト部品500が1つでもある場合(ステップS1006のN)、構成決定部102は、LCC404に対応するVMイメージに基づく仮想マシンの配備は不可能と判断する。そして、構成決定部102は、ステップS1002においてグルーピングした、同じサーバ装置200かつ同じVMイメージテンプレートである仮想マシン群に対して、最大の共通構成(GCC)405(図5)を生成する(ステップS1007)。GCC405を生成する際の動作P1200の詳細は、後述する。GCC405は、配信構成を表すモジュールのリストの他に、対象となる仮想マシン群のVMイメージテンプレートを表す情報などを含むことができる。構成決定部102は、配信構成として、GCC405の採用を決定する。
On the other hand, if there is a configuration conflict (Y in step S1005), and if there is even one
次に、構成決定部102は、決定した配信構成(LCC404またはGCC405)を表す共通構成情報を、VMイメージ生成部103、および配備スクリプト生成部104に出力することにより、VMイメージ、および配備スクリプトの生成を指示する(ステップS1008)。
Next, the
構成決定部102は、ステップS1003において対象としたサーバ装置200に配備される、他のVMイメージテンプレートが指定された仮想マシン群に対しても、ステップS1003からS1008までの処理を繰り返す(ステップS1009)。
The
ステップS1003からステップS1009の処理が終了した後、構成決定部102は、さらにシステム構成情報111に含まれる、残りのサーバ装置200に関しても、ステップS1002からステップS1009の処理を繰り返す(ステップS1010)。
After the processing from step S1003 to step S1009 is completed, the
なお、ステップS1004において、構成決定部102は、配備スクリプト部品500を、全てのソフトウェアモジュールに対して取得できなくてもよい。すなわち、構成決定部102は、少なくともVM_LCC414から配備を解除する必要があるモジュール、または、構成競合があるモジュールに対する配備スクリプト部品500を取得できればよい。
In step S1004, the
同様に、ステップS1006において、構成決定部102は、アンインストール部の存在を調べる際に、少なくともVM_LCC414から配備を解除する必要があるモジュールに対する配備スクリプト部品500を対象とすればよい。すなわち、具体例の場合、構成決定部102は、モジュールAおよびBに関しては、アンインストール部が存在する配備スクリプト部品500がなくても、LCC404を配信構成として決定してもよい。
Similarly, in step S <b> 1006, the
また、ステップS1008において、構成決定部102は、共通構成情報の代わりに、取得した配備スクリプト部品500を配備スクリプト生成部104に出力してもよい。その場合、配備スクリプト生成部104は、構成決定部102から受けた配備スクリプト部品500から、配備スクリプトを生成することができる。
In step S1008, the
以上が、図4のステップS10およびS11における、構成決定部102の動作P1000の詳細である。
The above is the details of the operation P1000 of the
次に、図10を参照して、LCC404を生成する際(図8のステップS1003)における、構成決定部102の動作P1100を詳細に説明する。図10は、第2の実施形態における構成決定部102が行う最小網羅構成情報を生成する際の動作を示すフローチャートである。以下の動作の対象となる仮想マシン構成情報401〜403(図5)は、ステップS1003において対象とした物理サーバ構成情報400に含まれる仮想マシン構成情報である。
Next, the operation P1100 of the
まず、構成決定部102は、この動作P1100の結果を格納する戻り値とするLCC404を格納する記憶領域(図示しない)を空のリストとして初期化する(ステップS1101)。
First, the
次に、構成決定部102は、仮想マシン構成情報401〜403(図5)のそれぞれに対して、以下の動作を行う。
Next, the
まず、構成決定部102は、仮想マシン構成情報401〜403から選んだ1つに対して、その仮想マシンに配備されるモジュールを列挙する(ステップS1102)。
First, the
次に、構成決定部102は、列挙したモジュールのうち、LCC404にまだ含まれていないモジュールを、LCC404に対して追加する(ステップS1103)。
Next, the
構成決定部102は、残りの仮想マシン構成情報に対して、ステップS1102およびS1103の処理を繰り返す(ステップS1104)。構成決定部102は、このようにして、LCC404を生成することができる。
The
次に、図11を参照して、GCC405を生成する際(図8のステップS1007)における、構成決定部102の動作P1200を詳細に説明する。図11は、第2の実施形態における構成決定部102が行う最大共通構成情報を生成する際の動作を示すフローチャートである。以下の動作の対象となる仮想マシン構成情報401〜403(図5)は、ステップS1007において対象とした物理サーバ構成情報400に含まれる仮想マシン構成情報である。
Next, with reference to FIG. 11, the operation P1200 of the
まず、構成決定部102は、この動作P1200の結果を格納する戻り値とするGCC405を格納する記憶領域(図示しない)を、仮想マシン構成情報401〜403のいずれか1つに含まれるモジュールのリストによって初期化する(ステップS1201)。
First, the
次に、構成決定部102は、仮想マシン構成情報401〜403のそれぞれに対して、以下の動作を行う。
Next, the
まず、構成決定部102は、仮想マシン構成情報401〜403から選んだ1つに対して、その仮想マシンに配備されるモジュールを列挙する(ステップS1202)。
First, the
次に、構成決定部102は、GCC405のうち、ステップS1202において列挙されたモジュールに含まれていないモジュールを、GCC405から削除する(ステップS1203)。
Next, the
構成決定部102は、残りの仮想マシン構成情報に対して、ステップS1202およびS1203の処理を繰り返す(ステップS1204)。構成決定部102は、このようにして、GCC405を生成することができる。
The
次に、図12を参照して、VMイメージを生成する際(図4のステップS12)における、VMイメージ生成部103の動作P1300を詳細に説明する。図12は、第2の実施形態におけるVMイメージ生成部103が行うVMイメージを生成する際の動作を示すフローチャートである。VMイメージ生成部103は、構成決定部102によるVMイメージの生成の指示(図8のステップS1008)に応じて、以下のようなVMイメージの生成を行う。
Next, the operation P1300 of the VM
まず、VMイメージ生成部103は、構成決定部102から、LCC404またはGCC405の配信構成を表す共通構成情報を受け取る。次に、VMイメージ生成部103は、共通構成情報に基づいて、生成するVMイメージに使用するVMイメージテンプレートを、VMイメージテンプレートリポジトリ112から取得する。そして、VMイメージ生成部103は、取得したVMイメージテンプレートを、VMとして起動する(ステップS1301)。
First, the VM
次に、VMイメージ生成部103は、共通構成情報に列挙されたモジュールに対応する配備スクリプト部品500を、スクリプトリポジトリ113から取得する。また、VMイメージ生成部103は、共通構成情報に列挙された各モジュールに対応するソフトウェア部品121を、構成部品リポジトリ120から取得する。そして、VMイメージ生成部103は、配備スクリプト部品500のインストール部501に基づいて、ステップS1301で起動したVMに対して、各モジュール(ソフトウェア部品121)を配備する(ステップS1302)。なお、VMイメージ生成部103は、VMイメージテンプレートに、すでに含まれているモジュールがある場合は、そのモジュールに対してはVMへの配備を行わなくてもよい。また、VMイメージ生成部103は、VMイメージテンプレートにすでに含まれているモジュールのうち、共通構成情報に含まれない余分なモジュールの配備スクリプト部品500に基づいて、VMから余分なモジュールのアンインストール(配備解除)を行ってもよい。
Next, the VM
最後に、VMイメージ生成部103は、上記のモジュールを配備したVMを停止し、その停止したVMから配信可能なVMイメージファイルを生成する(ステップS1303)。VMイメージ生成部103は、このようにして、LCC404またはGCC405に応じたVMイメージを生成することができる。ここで生成されたVMイメージは、配信制御部105によって、図4のステップS14において、サーバ装置200に対して送信される。
Finally, the VM
以上が、図4のステップS12における、VMイメージ生成部103の動作P1300の詳細である。
The above is the details of the operation P1300 of the VM
次に、図13を参照して、サーバ装置200に対して仮想マシンを配備する際(図4のステップS21)における、エージェント210の動作P2000を詳細に説明する。図13は、第2の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。エージェント210は、VMイメージ(図6のVM_LCC414、または図7のVM_GCC425)、配備スクリプト、およびシステム構成情報111を受信した後に、以下のようにして仮想マシンの配備を行う。
Next, with reference to FIG. 13, the operation P2000 of the
まず、VMイメージ複製部211が、受信したシステム構成情報111を読み出し、自機に対する物理サーバ構成情報400に指定される仮想マシンの数に応じて、受信したVMイメージを複製する(ステップS2001)。
First, the VM
次に、モジュール配備部212は、物理サーバ構成情報400に含まれる仮想マシン構成情報401〜403(図5)を1つずつ選び出し、選び出した各々の仮想マシン構成情報に対して、以下の動作を行う。
Next, the
まず、受信したVMイメージがLCC構成(VM_LCC414)である場合(ステップS2002のY)、モジュール配備部212は、VMイメージから削除するモジュールを列挙する(ステップS2003)。具体的には、モジュール配備部212は、選び出した仮想マシン構成情報と、VM_LCC414のモジュール構成(すなわちLCC404)との差分を求める。
First, when the received VM image has an LCC configuration (VM_LCC 414) (Y in step S2002), the
次に、モジュール配備部212は、リストアップした各モジュールに対応する配備スクリプト部品500のアンインストール部502(図9)に基づいて、すべての該モジュールの配備を解除する(ステップS2004)。これで、受信したVMイメージがLCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理は終了する。
Next, the
一方、受信したVMイメージがGCC構成(VM_GCC425)である場合(ステップS2002のN)、モジュール配備部212は、VMイメージに対して追加するモジュールを列挙する(ステップS2005)。具体的には、モジュール配備部212は、ステップS2001の後に選び出した仮想マシン構成情報と、VM_GCC425のモジュール構成(すなわちGCC405)との差分を求める。
On the other hand, when the received VM image has a GCC configuration (VM_GCC 425) (N in step S2002), the
次に、モジュール配備部212は、リストアップした各モジュールに対応する配備スクリプト部品500のインストール部501(図9)に基づいて、構成部品リポジトリ120から、それらのモジュールのソフトウェア部品121を取得する。モジュール配備部212は、構成部品リポジトリ120の場所を、システム構成情報111のリポジトリ指定部301(図3)から取得することができる。そして、モジュール配備部212は、インストール部501に基づき、取得したソフトウェア部品121を用いて、各モジュールを配備する(ステップS2006)。これで、受信したVMイメージがGCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理は終了する。これ以降、VMM201が、エージェント210によって配備されたVMイメージを、仮想マシンとして動作させることができる。
Next, the
モジュール配備部212は、同じVMイメージに基づいて配備される全仮想マシンに対して、ステップS2002からステップS2006までの処理を繰り返す(ステップS2007)。
The
このように、エージェント210は、すべての配備すべき仮想マシン群に対して上記の処理を実行することにより、そのサーバ装置200におけるすべての仮想マシンを、1つのVMイメージに基づいて配備することができる。
As described above, the
以上が、図4のステップS21における、エージェント210の動作P2000の詳細である。
The above is the details of the operation P2000 of the
以上説明したように、本実施形態には、サーバ装置200に対する仮想マシンの配備に際して、ネットワークを流れるデータの総量を削減することができるという効果がある。すなわち、本実施形態に係る配備装置200は、多数の仮想マシンによって構成される大規模システムの初期構築時などに、大量の仮想マシンイメージを配信することがないので、ネットワークの輻輳の発生を抑制できるという効果がある。
As described above, the present embodiment has an effect that the total amount of data flowing through the network can be reduced when the virtual machine is deployed on the
その理由は、配備装置100において、構成決定部102が、サーバ装置200ごとに、同一のVMイメージテンプレートに基づいて構成される仮想マシンのモジュールの共通構成を導出するからである。そして、VMイメージ生成部3が、共通構成に基づいて、モジュールを重複なく含む、1つのVMイメージを生成する。最終的に、配信制御部105が、その1つのVMイメージをサーバ装置200に対して1度送信することにより、複数の仮想マシンに関するVMイメージの送信を完了するからである。
This is because, in the
なお、本実施形態において、配信制御部105は、サーバ装置200に対して、システム構成情報111を送信するが、送信先であるサーバ装置200のエージェント210が必要とする情報が含まれれば、これに限られない。例えば、配信制御部105は、システム構成情報111に代えて、送信先のサーバ装置200に対する物理サーバ構成情報400(図5)、および構成部品リポジトリ120の場所を表す情報を送信してもよい。
In this embodiment, the
<第3の実施形態>
次に、上述した第2の実施形態を基本とする第3の実施形態について説明する。以下では、第3の実施形態に係る特徴的な部分を中心に説明し、第2の実施形態と同様な構成を有する第3の実施形態の構成要素について重複する詳細な説明は省略する。
<Third Embodiment>
Next, a third embodiment based on the above-described second embodiment will be described. In the following description, the characteristic parts according to the third embodiment will be mainly described, and the detailed description of the components of the third embodiment having the same configuration as that of the second embodiment will be omitted.
本実施形態の構成は、第2の実施形態と同じく、図2に示す通りである。本実施形態は、仮想マシンの配備先であるサーバ装置200において、各仮想マシンに含まれるソフトウェアモジュールに対する設定が可能であるという点が、第2の実施形態と異なる。すなわち、本実施形態では、各仮想マシンに配備されたモジュールに対する設定が可能となることにより、仮想マシンごとに異なる設定へ対応することができる。
The configuration of this embodiment is as shown in FIG. 2 as in the second embodiment. This embodiment is different from the second embodiment in that the
図14を参照して、本実施形態におけるシステム構成情報350の構成を説明する。図14は、第3の実施形態におけるシステム構成情報350の一例を示す図である。
With reference to FIG. 14, the configuration of the
図14に示す通り、システム構成情報350の構成要素301〜306は、仮想マシン構成情報304にパラメータ設定が指定されたモジュール情報351を含む点を除き、第2の実施形態におけるシステム構成情報300(図3)と同様である。モジュール情報351は、図14に示す具体例においては、モジュール「mod_A」における「params.param1」というIDのパラメータに対して、「zzzzz」という値をセットすることを指定する情報を含む。
As shown in FIG. 14, the
なお、パラメータの設定が指定されたモジュール情報351は、例えば仮想マシン構成情報306などの、他の仮想マシン構成情報にも含めてもよい。
Note that the
次に、本実施形態に係る配備システムの動作を説明する。本実施形態におけるVMイメージのサーバ装置200への配信までの動作は、第2の実施形態と同様である。すなわち、本実施形態に係るサーバ装置200のエージェント210における各部の動作は、第2の実施形態と同様である。
Next, the operation of the deployment system according to this embodiment will be described. The operations up to distribution of the VM image to the
本実施形態の動作は、サーバ装置200における仮想マシンの配備の処理において、第2の実施形態との違いがある。図15を参照して、本実施形態におけるエージェント210の動作P2100を詳細に説明する。図15は、第3の実施形態におけるエージェント210が行う仮想マシンを配備する際の動作を示すフローチャートである。
The operation of this embodiment is different from that of the second embodiment in the virtual machine deployment processing in the
本実施形態に係るエージェント210の動作は、第2の実施形態におけるモジュール配備部212が行うステップS2006(図13)とステップS2007との間に、モジュールを設定する動作(ステップS2101)が加えられる点で異なる。すなわち、図15において、ステップS2001〜S2007として示される各動作は、第2の実施形態と同様であるので、重複する説明は省略する。
The operation of the
図15を参照すると、配備装置100から受信したVMイメージがGCC構成(VM_GCC425)である場合(ステップS2002のN)、モジュール配備部212は、VMイメージに対して追加するモジュールを列挙する(ステップS2005)。そして、次に、モジュール配備部212は、構成部品リポジトリ120から、リストアップした各モジュールのソフトウェア部品121を取得し、取得したソフトウェア部品121を用いて、各モジュールを配備する(ステップS2006)。
Referring to FIG. 15, when the VM image received from the
本実施形態では、ここで、モジュール配備部212は、配備スクリプト部品500(図9)の設定部503に基づいて、システム構成情報350のモジュール情報351(図14)に指定された各モジュールに対する設定を行う(ステップS2101)。具体的には、モジュール配備部212は、モジュール「mod_A」に対する配備スクリプト部品500の設定部503に記述された設定方法を用いて、「params.param1」というIDのパラメータに対して、「zzzzz」という値をセットする。
In the present embodiment, the
本実施形態では、これで、受信したVMイメージがGCC構成に基づく場合における、1つの仮想マシン構成情報に対する処理が終了する。 In the present embodiment, this completes the processing for one piece of virtual machine configuration information when the received VM image is based on the GCC configuration.
モジュール配備部212は、第2の実施形態と同様に、同じVMイメージに基づいて配備される全仮想マシンに対して、ステップS2002からステップS2006、およびステップS2101までの処理を繰り返す(ステップS2007)。
Similar to the second embodiment, the
このように、本実施形態に係るエージェント210は、すべての配備すべき仮想マシン群に対して上記の処理を実行することにより、そのサーバ装置200におけるすべての仮想マシンを、1つのVMイメージに基づいて配備することができる。
As described above, the
以上、説明したように、本実施形態には、上述した第2の実施形態と同様の効果に加えて、さらに、仮想マシンごとに異なる設定へ対応することができるという効果もある。 As described above, in addition to the same effects as those of the second embodiment described above, this embodiment also has an effect that it is possible to cope with different settings for each virtual machine.
その理由は、モジュール配備部212が、システム構成情報350に含まれるモジュール情報351に応じて、各仮想マシンに含まれるソフトウェアモジュールに対するパラメータなどの設定を行うことができるからである。
This is because the
なお、モジュール配備部212は、受信したVMイメージに含まれ、かつ、配備の際に配備を解除しない(削除しない)モジュールに対する、設定を行ってもよい。この場合、モジュール配備部212は、受信したVMイメージがLCCだった場合に行う動作(ステップS2003〜S2004)の間または前後のいずれかのタイミングにおいても、各モジュールに対する設定(ステップS2101)を行う。
Note that the
なお、上述した各実施形態において図1および図2に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捕らえることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図16を参照して説明する。 1 and 2 in each embodiment described above may be configured by independent hardware circuits, or may be regarded as a function (processing) unit (software module) of a software program. it can. However, the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for mounting. An example of the hardware environment in such a case will be described with reference to FIG.
図16は、本発明の各実施形態、および、その変形例に係る配備システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、図16は、上述した各実施形態における配備装置1および100、サーバ装置10および200、および構成部品リポジトリ120の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
FIG. 16 is a diagram illustrating the configuration of a computer (information processing apparatus) applicable to each of the embodiments of the present invention and a deployment system according to a modification example thereof. That is, FIG. 16 shows a computer configuration capable of realizing at least one of the
図16に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(I/F)904、ディスプレイ905、及びハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を有する。なお、図16に示したコンピュータが配備装置1および100、サーバ装置10および200、および構成部品リポジトリ120として機能する場合、ディスプレイ905は常時設けられる必要はない。
The
また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した図1および図2に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、図2に示したシステム構成情報111、VMイメージテンプレートリポジトリ112、スクリプトリポジトリ113、およびソフトウェア部品121などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。
The
そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(図1および図2)あるいはフローチャート(図4、図8、図10乃至図13、および図15)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリ903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。
The present invention described with reference to each of the above embodiments is a block diagram (FIGS. 1 and 2) or a flowchart (FIGS. 4, 8, 10 to 13) referred to in the description of each embodiment, and After the computer program capable of realizing the function of FIG. 15) is supplied, the computer program is read out and executed by the
また、前記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)やCD−ROM等の各種記録媒体を介して当該装置内にインストールする方法や、インターネット等の通信ネットワーク1000を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
In the above-described case, the computer program can be supplied to each device by a method of installing in the device via various recording media such as a floppy disk (registered trademark) and CD-ROM, the Internet, etc. Currently, a general procedure can be employed, such as a method of downloading from the outside via the
なお、上述した実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではない。 Note that a part or all of the above-described embodiment can be described as the following supplementary notes, but is not limited to the following supplementary notes.
(付記1)
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定手段と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える配備装置。
(Appendix 1)
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A deployment device comprising: a distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.
(付記2)
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記1記載の配備装置。
(Appendix 2)
The deployment apparatus according to
(付記3)
前記構成決定手段は、前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記1記載の配備装置。
(Appendix 3)
The deployment apparatus according to
(付記4)
前記構成決定手段は、前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記2記載の配備装置。
(Appendix 4)
When the configuration determining unit determines that the virtual machine cannot be deployed based on a VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, the minimum coverage configuration is determined. The deployment device according to
(付記5)
付記1乃至4のいずれか1つに記載の配備装置から送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製手段と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備手段と
を備えるサーバ装置。
(Appendix 5)
The VM image, the physical server configuration information, and the deployment information transmitted from the deployment device according to any one of
A server device comprising: module deployment means for deploying a software module to each of the replicated VM images using the deployment information so as to have a virtual machine configuration described in the physical server configuration information.
(付記6)
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記5記載のサーバ装置。
(Appendix 6)
The server device according to
(付記7)
前記モジュール配備手段は、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記5記載のサーバ装置。
(Appendix 7)
The server device according to
(付記8)
情報処理装置を用いて、
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する
配備方法。
(Appendix 8)
Using an information processing device
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A deployment method that deploys a software module to each replicated VM image using the deployment information so that the configuration of the virtual machine is described in the physical server configuration information.
(付記9)
前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記8記載の配備方法。
(Appendix 9)
9. The deployment method according to claim 8, wherein, when deriving the common configuration, a minimum covering configuration that includes all software modules included in each virtual machine without duplication is derived as the common configuration.
(付記10)
前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記8記載の配備方法。
(Appendix 10)
9. The deployment method according to claim 8, wherein, when deriving the common configuration, a maximum common configuration, which is a configuration including modules that are commonly included in the virtual machines, is derived as the common configuration.
(付記11)
前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記9記載の配備方法。
(Appendix 11)
When it is determined that it is impossible to deploy the virtual machine based on the VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, instead of the minimum coverage configuration, The deployment method according to appendix 9, wherein a maximum common configuration, which is a configuration including modules that are commonly included in each virtual machine, is derived as the common configuration.
(付記12)
前記サーバ装置において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記8または9に記載の配備方法。
(Appendix 12)
The deployment method according to appendix 8 or 9, wherein in the server device, when deploying the software module, the software module is deployed by deleting unnecessary modules for each of the duplicated VM images.
(付記13)
前記サーバ装置において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記8、10、および11のいずれか1つに記載の配備方法。
(Appendix 13)
In the server device, when the software module is deployed, the software module is deployed by additionally deploying the missing module for each replicated VM image. The deployment method according to any one of the above.
(付記14)
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、前記共通構成を表す共通構成情報を出力する構成決定処理と、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成処理と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成処理と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御処理と
を第1のコンピュータに実行させるコンピュータ・プログラム。
(Appendix 14)
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine A configuration determination process for deriving a configuration and outputting common configuration information representing the common configuration;
A VM image generation process for generating a VM image including at least the common software module without duplication based on the common configuration information;
A deployment information generation process for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A computer program that causes a first computer to execute distribution control processing for transmitting the VM image, the physical server configuration information, and the deployment information to the server device.
(付記15)
前記構成決定処理において、前記共通構成を導出する際に、前記各仮想マシンに含まれるすべてのソフトウェアモジュールを重複なく含む構成である最小の網羅構成を前記共通構成として導出する
付記14記載のコンピュータ・プログラム。
(Appendix 15)
The computer according to claim 14, wherein, in the configuration determination process, when the common configuration is derived, a minimum coverage configuration that includes all software modules included in the virtual machines without duplication is derived as the common configuration. program.
(付記16)
前記構成決定処理において、前記共通構成を導出する際に、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記14記載のコンピュータ・プログラム。
(Appendix 16)
The computer according to claim 14, wherein, in the configuration determination process, when the common configuration is derived, a maximum common configuration that includes a module that is included in each virtual machine without duplication is derived as the common configuration. program.
(付記17)
前記構成決定処理において、前記最小の網羅構成を前記共通構成として導出した際に、前記最小の網羅構成に対応するVMイメージに基づく前記仮想マシンの配備が不可能と判断した場合、前記最小の網羅構成の代わりに、前記各仮想マシンに共通して含まれるモジュールを重複なく含む構成である最大の共通構成を前記共通構成として導出する
付記15記載のコンピュータ・プログラム。
(Appendix 17)
In the configuration determination process, when the minimum coverage configuration is derived as the common configuration, when it is determined that the virtual machine cannot be deployed based on the VM image corresponding to the minimum coverage configuration, the minimum coverage configuration The computer program according to claim 15, wherein, instead of a configuration, a maximum common configuration that includes a module that is included in each virtual machine in common is derived as the common configuration.
(付記18)
付記14乃至17のいずれか1つに記載の第1のコンピュータから送信された前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製するVMイメージ複製処理と、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備処理と
を第2のコンピュータに実行させるコンピュータ・プログラム。
(Appendix 18)
The VM image, the physical server configuration information, and the deployment information transmitted from the first computer according to any one of appendices 14 to 17 are received, and the VM image is based on the physical server configuration information VM image duplication processing to be duplicated according to the number of virtual machines deployed on the server device,
Module deployment processing for deploying a software module to each of the replicated VM images using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is achieved in the second computer A computer program to be executed.
(付記19)
前記モジュール配備処理において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不要なモジュールを削除することにより前記ソフトウェアモジュールの配備を行う
付記18記載のコンピュータ・プログラム。
(Appendix 19)
The computer program according to appendix 18, wherein, in the module deployment process, when the software module is deployed, the software module is deployed by deleting an unnecessary module for each copied VM image.
(付記20)
前記モジュール配備処理において、前記ソフトウェアモジュールを配備する際に、前記複製された各VMイメージごとに、不足しているモジュールを追加配備することにより前記ソフトウェアモジュールの配備を行う
付記18記載のコンピュータ・プログラム。
(Appendix 20)
The computer program according to claim 18, wherein, in the module deployment process, when the software module is deployed, the software module is deployed by additionally deploying a missing module for each replicated VM image. .
1、100 配備装置
2、102 構成決定部
3、103 仮想マシン(VM)イメージ生成部
4 配備情報生成部
5、105 配信制御部
10、200 サーバ装置
11、211 VMイメージ複製部
12、212 モジュール配備部
20、302、306、400 物理サーバ構成情報
104 配備スクリプト生成部
110 記憶装置
111、300、350 システム構成情報
112 仮想マシン(VM)イメージテンプレートリポジトリ
113 スクリプトリポジトリ
120 構成部品リポジトリ
121 ソフトウェア部品
201 仮想マシンモニタ(VMM)
210 エージェント
301 リポジトリ指定部
303 物理サーバ名情報
304、305 仮想マシン構成情報
351 モジュール情報
401 VM_Aの仮想マシン構成情報
402 VM_Bの仮想マシン構成情報
403 VM_Cの仮想マシン構成情報
404 最小の網羅構成(LCC)
405 最大の共通構成(GCC)
411、421 VM_A
412、422 VM_B
413、423 VM_C
414 LCC404に対応するVMイメージ(VM_LCC)
425 GCC405に対応するVMイメージ(VM_GCC)
500 配備スクリプト部品
501 インストール部
502 アンインストール部
503 設定部
900 情報処理装置(コンピュータ)
901 CPU
902 ROM
903 RAM
904 通信インタフェース(I/F)
905 ディスプレイ
906 ハードディスク装置(HDD)
906A プログラム群
906B 各種の記憶情報
907 バス
1000 ネットワーク(通信ネットワーク)
DESCRIPTION OF SYMBOLS 1,100 Deployment apparatus 2,102 Configuration determination part 3,103 Virtual machine (VM)
210
405 Maximum common configuration (GCC)
411, 421 VM_A
412, 422 VM_B
413, 423 VM_C
414 VM image corresponding to LCC404 (VM_LCC)
425 VM image corresponding to GCC405 (VM_GCC)
500 Deployment Script Parts 501
901 CPU
902 ROM
903 RAM
904 Communication interface (I / F)
905
Claims (10)
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成手段と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成手段と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御部と
を備える配備装置。 Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Configuration determining means for deriving a configuration and outputting common configuration information representing the common configuration;
VM image generation means for generating a VM image including at least the common software module without duplication based on the common configuration information;
Deployment information generating means for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A deployment device comprising: a distribution control unit that transmits the VM image, the physical server configuration information, and the deployment information to the server device.
請求項1記載の配備装置。 The deployment according to claim 1, wherein the configuration determination unit derives, as the common configuration, a minimum coverage configuration that includes all software modules included in each virtual machine without duplication when the common configuration is derived. apparatus.
請求項1記載の配備装置。 The deployment according to claim 1, wherein when the configuration determination unit derives the common configuration, the configuration determination unit derives, as the common configuration, a maximum common configuration that includes a module that is included in each virtual machine without overlap. apparatus.
請求項2記載の配備装置。 When the configuration determining unit determines that the virtual machine cannot be deployed based on a VM image corresponding to the minimum coverage configuration when the minimum coverage configuration is derived as the common configuration, the minimum coverage configuration is determined. The deployment device according to claim 2, wherein instead of a configuration, a maximum common configuration that is a configuration that includes modules that are included in each virtual machine in common is derived as the common configuration.
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備手段と
を備えるサーバ装置。 The VM image, the physical server configuration information, and the deployment information transmitted from the deployment device according to claim 1 are received, and the VM image is used as the physical server configuration information. VM image duplicating means for duplicating according to the number of virtual machines deployed on the server device obtained based on
A server device comprising: module deployment means for deploying a software module to each of the replicated VM images using the deployment information so as to have a virtual machine configuration described in the physical server configuration information.
請求項5記載のサーバ装置。 The server device according to claim 5, wherein when deploying the software module, the module deploying unit deploys the software module by deleting an unnecessary module for each copied VM image.
請求項5記載のサーバ装置。 The server device according to claim 5, wherein when deploying the software module, the module deploying unit deploys the software module by additionally deploying a missing module for each replicated VM image. .
同一のサーバ装置に配備される各仮想マシンの構成、および各仮想マシンが含むソフトウェアモジュールの構成を表す情報である物理サーバ構成情報に基づいて、少なくとも前記各仮想マシンに共通するソフトウェアモジュールを含む共通構成を導出し、
前記共通構成を表す共通構成情報を生成し、
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成し、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成し、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信し、
前記サーバ装置において、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を受信し、
前記VMイメージを、前記物理サーバ構成情報に基づいて求めた、前記サーバ装置に配備される仮想マシンの数に応じて複製し、
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備する
配備方法。 Using an information processing device
Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine Deriving the configuration
Generating common configuration information representing the common configuration;
Generating a VM image including at least the common software module without duplication based on the common configuration information;
Based on the common configuration information and the physical server configuration information, generate deployment information including information necessary for deploying the VM image,
Transmitting the VM image, the physical server configuration information, and the deployment information to the server device;
In the server device,
Receiving the VM image, the physical server configuration information, and the deployment information;
Duplicating the VM image according to the number of virtual machines deployed on the server device, obtained based on the physical server configuration information,
A deployment method that deploys a software module to each replicated VM image using the deployment information so that the configuration of the virtual machine is described in the physical server configuration information.
前記共通構成情報に基づいて、少なくとも前記共通するソフトウェアモジュールを重複なく含むVMイメージを生成するVMイメージ生成処理と、
前記共通構成情報、および前記物理サーバ構成情報に基づいて、前記VMイメージを配備する際に必要となる情報を含む配備情報を生成する配備情報生成処理と、
前記VMイメージ、前記物理サーバ構成情報、および前記配備情報を、前記サーバ装置に対して送信する配信制御処理と
を第1のコンピュータに実行させるコンピュータ・プログラム。 Based on physical server configuration information, which is information representing the configuration of each virtual machine deployed on the same server device and the configuration of software modules included in each virtual machine, at least a common software module common to each virtual machine A configuration determination process for deriving a configuration and outputting common configuration information representing the common configuration;
A VM image generation process for generating a VM image including at least the common software module without duplication based on the common configuration information;
A deployment information generation process for generating deployment information including information necessary for deploying the VM image based on the common configuration information and the physical server configuration information;
A computer program that causes a first computer to execute distribution control processing for transmitting the VM image, the physical server configuration information, and the deployment information to the server device.
前記物理サーバ構成情報に記述された仮想マシンの構成となるように、前記配備情報を用いて、前記複製された各VMイメージに対してソフトウェアモジュールを配備するモジュール配備処理と
を第2のコンピュータに実行させるコンピュータ・プログラム。 The server that has received the VM image, the physical server configuration information, and the deployment information transmitted from the first computer according to claim 9, and obtained the VM image based on the physical server configuration information VM image duplication processing for duplicating according to the number of virtual machines deployed in the device;
Module deployment processing for deploying a software module to each of the replicated VM images using the deployment information so that the configuration of the virtual machine described in the physical server configuration information is achieved in the second computer A computer program to be executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014129745A JP2016009341A (en) | 2014-06-25 | 2014-06-25 | Virtual machine arrangement system and arrangement method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014129745A JP2016009341A (en) | 2014-06-25 | 2014-06-25 | Virtual machine arrangement system and arrangement method, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016009341A true JP2016009341A (en) | 2016-01-18 |
Family
ID=55226853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014129745A Pending JP2016009341A (en) | 2014-06-25 | 2014-06-25 | Virtual machine arrangement system and arrangement method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016009341A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019531010A (en) * | 2016-08-22 | 2019-10-24 | エフワイビーアール | System for distributed intelligent remote sensing system |
JP2020140246A (en) * | 2019-02-26 | 2020-09-03 | 富士通株式会社 | Information processing device, information processing system and information processing program |
US11534056B2 (en) | 2009-06-18 | 2022-12-27 | Endochoice, Inc. | Multi-camera endoscope |
-
2014
- 2014-06-25 JP JP2014129745A patent/JP2016009341A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11534056B2 (en) | 2009-06-18 | 2022-12-27 | Endochoice, Inc. | Multi-camera endoscope |
JP2019531010A (en) * | 2016-08-22 | 2019-10-24 | エフワイビーアール | System for distributed intelligent remote sensing system |
JP2020140246A (en) * | 2019-02-26 | 2020-09-03 | 富士通株式会社 | Information processing device, information processing system and information processing program |
JP7247651B2 (en) | 2019-02-26 | 2023-03-29 | 富士通株式会社 | Information processing device, information processing system and information processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11848982B2 (en) | Access services in hybrid cloud computing systems | |
CN107580083B (en) | Method and system for allocating IP addresses of containers | |
CN109196474B (en) | Distributed operation control in a computing system | |
US9959108B2 (en) | Fast deployment across cloud platforms | |
CN108964982B (en) | Method, apparatus and storage medium for enabling deployment of multiple nodes of a blockchain | |
CN103294765B (en) | For supplying and changing the method and system based on tactful method of virtual unit | |
US20120102480A1 (en) | High availability of machines during patching | |
US20190158499A1 (en) | Usage tracking in hybrid cloud computing systems | |
JP2008021111A (en) | Method of changing business system configuration, management computer, and program for method of changing business system configuration | |
KR20160066228A (en) | Distributed Rendering System | |
KR102035071B1 (en) | System and method for constructing on-demand virtual cluster | |
JP2021039393A (en) | Packaging support system and packaging support method | |
JP2016218530A (en) | Request distribution system, management system, and control method thereof | |
JP2011034137A (en) | Distributed processing device and distributed processing method | |
JP2016009341A (en) | Virtual machine arrangement system and arrangement method, and computer program | |
JP6393612B2 (en) | System backup device and backup method | |
US20160364258A1 (en) | Method for generating upgrade campaigns to upgrade virtualization facilities | |
JP5868149B2 (en) | Data migration device | |
US20200150939A1 (en) | Efficient bundling and delivery of client-side scripts | |
JP2014032503A (en) | Cloning method, system and program that takes into account security | |
JP2011076370A (en) | Deployment system | |
CN107533436B (en) | Hardware management | |
JP7131363B2 (en) | LICENSE MANAGEMENT DEVICE, LICENSE MANAGEMENT SYSTEM, LICENSE MANAGEMENT METHOD, AND PROGRAM | |
JP5403691B2 (en) | Virtual machine deployment method, deployment execution program, and deployment execution device | |
JP2015204025A (en) | Information processing system, arrangement device, arrangement method and program |