JP2011028328A - Virtual machine arrangement program and device - Google Patents

Virtual machine arrangement program and device Download PDF

Info

Publication number
JP2011028328A
JP2011028328A JP2009170459A JP2009170459A JP2011028328A JP 2011028328 A JP2011028328 A JP 2011028328A JP 2009170459 A JP2009170459 A JP 2009170459A JP 2009170459 A JP2009170459 A JP 2009170459A JP 2011028328 A JP2011028328 A JP 2011028328A
Authority
JP
Japan
Prior art keywords
virtual machine
arrangement
conditional expression
placement
workload
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.)
Withdrawn
Application number
JP2009170459A
Other languages
Japanese (ja)
Inventor
Teruhisa Uchida
輝久 内田
Seiichiro Tanaka
誠一郎 田中
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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions 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 Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2009170459A priority Critical patent/JP2011028328A/en
Publication of JP2011028328A publication Critical patent/JP2011028328A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To exclusively arrange virtual machines even when the number of physical machines is limited. <P>SOLUTION: The virtual machine arrangement device 200 includes a virtual machine workload information DB (Database) 202 storing conditional expression information including a virtual machine workload ID (Identification) to be excluded and exclusion priority for each virtual machine workload ID of each virtual machine. The virtual machine arrangement device 200 deletes the conditional expression information having the lowest exclusion priority of the conditional expression information in the virtual machine workload information DB 202, when the number of the virtual machines exceeds the maximum number of the physical machines during arrangement to an arrangement table 205a, initializes the arrangement table 205a and an arrangement-determining table 205b after the deletion, and executes the arrangement processing again. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、物理マシンに仮想マシンを配置するための仮想マシン配置プログラム及び装置であり、例えば、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置し得る仮想マシン配置プログラム及び装置に関する。   The present invention is a virtual machine placement program and apparatus for placing a virtual machine on a physical machine, for example, a virtual machine placement program that can exclusively place a virtual machine even when the number of physical machines is limited, and Relates to the device.

OS(Operating System)およびアプリケーションが含まれる仮想マシンを、実行環境の仮想マシンモニタが動作している物理マシンに配置する際、アプリケーションの性能確保や物理マシンのリソース利用率の最適化のための方法が知られている。   A method for ensuring the performance of applications and optimizing the resource utilization of physical machines when a virtual machine that includes an OS (Operating System) and applications is placed on a physical machine that is running a virtual machine monitor in the execution environment It has been known.

この種の方法としては、例えば、仮想マシンを一定期間運用して、物理サーバリソースおよび各仮想マシンの性能情報(パフォーマンスの実測データ、メモリ容量、ハードディスク容量など)から、算出式により複数の物理サーバにまたがり仮想マシンを再配置し最適的化を行う方式がある(例えば、特許文献1参照)。   As this type of method, for example, a virtual machine is operated for a certain period of time, and physical server resources and performance information of each virtual machine (measured performance data, memory capacity, hard disk capacity, etc.) are used to calculate a plurality of physical servers. There is a method of optimizing by rearranging virtual machines (see, for example, Patent Document 1).

特開2005−115653号公報JP 2005-115653 A

以上のような特許文献1に記載の方式は、通常は何の問題もないが、本発明者の検討によれば、物理マシンの台数が仮想マシンの台数よりも少ない台数に制限された場合において、各仮想マシンを排他的に配置できない状況に対応していない点で改良の余地がある。   The method described in Patent Document 1 as described above normally has no problem, but according to the study of the present inventors, in the case where the number of physical machines is limited to a number smaller than the number of virtual machines. There is room for improvement in that it does not support the situation where each virtual machine cannot be exclusively arranged.

例えば、Webシステムを構築するプロジェクトの場合、Webサーバ、アプリケーションサーバおよびデータベースサーバを含む仮想マシンで構成される。   For example, in the case of a project for constructing a web system, the project is composed of virtual machines including a web server, an application server, and a database server.

この際、1つのプロジェクトが性能面や可用性確保のため、Webサーバやアプリケーションサーバに対応した複数台の仮想マシンを用意して負荷分散させる際、それぞれの仮想マシンを異なる物理マシンに配置させる必要がある。   At this time, in order to ensure performance and availability in one project, when preparing multiple virtual machines corresponding to Web servers and application servers and distributing the load, it is necessary to place each virtual machine on a different physical machine. is there.

また高負荷が発生しやすいデータベースの仮想マシンのサービスが稼動している物理マシン上には、他のワークロード、例えばアプリケーションサーバの仮想マシンと同居させないといった性能面を配慮する必要がある。   In addition, it is necessary to consider performance aspects such as not coexisting with other workloads, for example, a virtual machine of an application server, on a physical machine on which a service of a database virtual machine that is likely to generate a high load is operating.

このとき、物理マシンの台数が制限されていると、場合によっては各仮想マシンを排他的に配置できない状況が生じる。しかしながら、特許文献1に記載の方式は、このような状況に対応していないため、改良の余地がある。   At this time, if the number of physical machines is limited, a situation may occur in which each virtual machine cannot be exclusively arranged. However, since the method described in Patent Document 1 does not support such a situation, there is room for improvement.

本発明は上記実情を考慮してなされたもので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置し得る仮想マシン配置プログラム及び装置を提供することを目的とする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a virtual machine arrangement program and apparatus capable of exclusively arranging virtual machines even when the number of physical machines is limited.

本発明の一つの局面は、最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能であり、且つ前記各仮想マシンの仮想マシンワークロードID毎に、排他したい仮想マシンワークロードID及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段とを備えた仮想マシン配置装置に用いられる仮想マシン配置プログラムであって、前記仮想マシン配置装置を、前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードID及び条件式情報を前記配置決定用テーブルに設定する設定手段、前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードID及び条件式情報と、前記配置テーブル内の仮想マシンワークロードID及び条件式情報とを比較する比較手段、前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードID及び条件式情報を前記配置テーブルに書込む書込手段、前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段、前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第1再実行手段、前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段、前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第2再実行手段、前記配置テーブルに全ての仮想マシンワークロードIDが書き込まれた後、当該配置テーブル内の仮想マシンワークロードIDが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段、として機能させるための仮想マシン配置プログラムである。   According to one aspect of the present invention, it is possible to place more virtual machines than the maximum number of physical machines in the physical machines having the maximum number of physical machines, and to exclude each virtual machine for each virtual machine workload ID. Conditional expression storage means for storing conditional expression information including virtual machine workload ID and exclusive priority, and for each physical machine variable indicating each physical machine, the virtual machine workload ID of each virtual machine and the virtual machine work Corresponding to the placement table storage means for storing the placement table associated with the conditional expression information corresponding to the load ID, the physical machine variable before writing to the placement table, the virtual machine workload ID, and the virtual machine workload ID Arrangement determination table storage means for storing an arrangement determination table associated with conditional expression information A virtual machine placement program used for a virtual machine placement device comprising: a physical machine variable, a virtual machine workload ID, and conditional expression information before the virtual machine placement device is written to the placement table; Setting means for setting in the table, virtual machine workload ID and conditional expression information in the placement determination table, virtual machine work in the placement table in association with the physical machine variable set in the placement determination table The comparison means for comparing the load ID and the conditional expression information, and if the result of the comparison is that both are not exclusive, the arrangement determination table is associated with the physical machine variable in the arrangement determination table. Writing means for writing the virtual machine workload ID and conditional expression information in the placement table, the comparison As a result, when at least one of the two is in an exclusive relationship, the physical machine variable in the placement determination table is changed to another physical machine variable, and the number of physical machines corresponding to the changed physical machine variable is determined. If the result of the determination by the number determination means and the number determination means that determines whether or not the maximum number of physical machines has been exceeded, if the result is NO, the first re-execution means that re-executes the comparison means, and the number determination means As a result of the determination, when the maximum number of physical machines is exceeded, among the conditional expression information in the conditional expression storage means, the conditional expression deleting means for deleting the conditional expression information having the lowest exclusive priority, after the deletion, A second re-execution unit that initializes the arrangement table and the arrangement determination table and re-executes the setting unit and the comparison unit, and all virtual machine workload IDs are written in the arrangement table. A virtual machine placement program for causing a virtual machine indicated by the virtual machine workload ID in the placement table to function as placement means for placing the physical machine in the placement table on the physical machine indicated by the physical machine variable after being entered. .

なお、本発明の一つの局面は、プログラムとして表現したが、これに限らず、装置、方法、プログラムを記憶したコンピュータ読取り可能な記憶媒体、などのように他の名称又はカテゴリーとして表現することも可能である。   Although one aspect of the present invention is expressed as a program, the present invention is not limited thereto, and may be expressed as another name or category such as a device, a method, a computer-readable storage medium storing the program, and the like. Is possible.

(作用)
本発明の一つの局面では、各仮想マシンの仮想マシンワークロードID毎に、排他したい仮想マシンワークロードID及び排他優先度を含む条件式情報を記憶する条件式記憶手段を備え、最大物理マシン台数を超えた場合には、条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除し、削除の後、配置テーブル及び配置決定用テーブルを初期化して設定手段及び比較手段を再実行するので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置できる。
(Function)
In one aspect of the present invention, for each virtual machine workload ID of each virtual machine, the virtual machine workload ID includes conditional expression storage means for storing conditional expression information including a virtual machine workload ID to be excluded and an exclusive priority, and the maximum number of physical machines Is exceeded, the conditional expression information with the lowest exclusive priority is deleted from the conditional expression information in the conditional expression storage means, and after the deletion, the arrangement table and the arrangement determination table are initialized and the setting means and Since the comparison means is re-executed, virtual machines can be exclusively arranged even when the number of physical machines is limited.

以上説明したように本発明によれば、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置できる。   As described above, according to the present invention, virtual machines can be exclusively arranged even when the number of physical machines is limited.

本発明の一実施形態に係る情報システムの構成図である。It is a block diagram of the information system which concerns on one Embodiment of this invention. 同実施形態における物理マシン情報DBの構成を示す模式図である。It is a schematic diagram which shows the structure of physical machine information DB in the embodiment. 同実施形態における仮想マシンワークロード情報DBの構成を示す模式図である。It is a schematic diagram which shows the structure of virtual machine workload information DB in the same embodiment. 同実施形態におけるプロジェクト情報DBの構成を示す模式図である。It is a schematic diagram which shows the structure of project information DB in the embodiment. 同実施形態における仮想マシン配置情報DBの構成を示す模式図である。It is a schematic diagram which shows the structure of virtual machine arrangement | positioning information DB in the embodiment. 同実施形態における配置テーブルの構成を示す模式図である。It is a schematic diagram which shows the structure of the arrangement | positioning table in the embodiment. 同実施形態における配置決定用テーブルの構成を示す模式図である。It is a schematic diagram which shows the structure of the arrangement | positioning determination table in the embodiment. 同実施形態における動作を説明するためのフローチャートである。It is a flowchart for demonstrating the operation | movement in the embodiment. 同実施形態における配置テーブルの処理を説明するための模式図である。It is a schematic diagram for demonstrating the process of the arrangement | positioning table in the embodiment. 同実施形態における配置決定用テーブルを説明するための模式図である。It is a schematic diagram for demonstrating the arrangement | positioning determination table in the embodiment. 同実施形態における配置テーブルの処理の一例を示す模式図である。It is a schematic diagram which shows an example of the process of the arrangement | positioning table in the embodiment. 同実施形態における配置結果の一例を示す模式図である。It is a schematic diagram which shows an example of the arrangement | positioning result in the same embodiment. 同実施形態における配置テーブルの処理の他の例を示す模式図である。It is a schematic diagram which shows the other example of the process of the arrangement | positioning table in the embodiment. 同実施形態における配置結果の他の例を示す模式図である。It is a schematic diagram which shows the other example of the arrangement | positioning result in the same embodiment.

以下、本発明の一実施形態について図面を用いて説明するが、その前に、本発明の概要を述べる。本発明の概要としては、アプリケーションのワークロードの性能面や可用性を条件式(排他関係)で表現し、配置前の仮想マシンに定義することで仮想マシンの配置の自動化を行うものである。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings, but before that, an outline of the present invention will be described. As an overview of the present invention, the performance and availability of an application workload are expressed by conditional expressions (exclusive relationship) and defined in a virtual machine before placement, thereby automating the placement of the virtual machine.

始めに、準備フェーズでアプリケーションのワークロードが含まれる仮想マシンイメージに対して条件式(排他関係)を定義する。   First, a conditional expression (exclusive relationship) is defined for a virtual machine image including an application workload in the preparation phase.

次に、配置フェーズでは、プロジェクトに必要となるワークロードの仮想マシンイメージと台数を選択する。   Next, in the placement phase, a virtual machine image and the number of workloads required for the project are selected.

最後に、仮想マシン配置装置では選択されたワークロード仮想マシンの条件式を取り込み、配置テーブル(配置装置内の記憶部(メモリなど)を利用する)で配置構成を展開して配置する物理サーバ台数と配置先を自動的に決定する。ここで、物理サーバ台数が少ないために幾つかの条件式(排他関係)を満たさない場合でも、仮想マシンの排他関係の優先度を利用した調整(妥協)を行うことにより、仮想マシンの配置を決定する。   Finally, the virtual machine placement device takes in the conditional expression of the selected workload virtual machine, expands the placement configuration in the placement table (using the storage unit (memory, etc.) in the placement device), and the number of physical servers to be placed And the placement location are determined automatically. Here, even when some conditional expressions (exclusive relationships) are not satisfied because the number of physical servers is small, the placement of virtual machines can be adjusted by making adjustments (compromise) using the priority of exclusive relationships of virtual machines. decide.

以上が本発明の概要である。続いて、本発明の一実施形態について具体的に説明する。   The above is the outline of the present invention. Next, an embodiment of the present invention will be specifically described.

図1は本発明の一実施形態に係る仮想マシン配置装置が適用された情報システムの構成図である。この情報システムは、複数の物理マシンR1〜R4、ファイルサーバ装置100、仮想マシン配置装置200及び管理端末装置300を備えている。各装置R1〜R4,100,200,300は、LAN(Local Area Network)等のネットワークにより接続されている。   FIG. 1 is a configuration diagram of an information system to which a virtual machine placement apparatus according to an embodiment of the present invention is applied. This information system includes a plurality of physical machines R1 to R4, a file server apparatus 100, a virtual machine arrangement apparatus 200, and a management terminal apparatus 300. The devices R1 to R4, 100, 200, and 300 are connected by a network such as a LAN (Local Area Network).

なお、これら各装置R1〜R4,100,200,300は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。   Each of the devices R1 to R4, 100, 200, and 300 can be implemented by either a hardware configuration or a combination configuration of hardware resources and software for each device. As the software of the combined configuration, a program that is installed in advance on a computer of a corresponding device from a network or a storage medium and that realizes the function of the corresponding device is used.

ここで、物理マシンR1〜R4は、図示しないホストOSと、仮想マシンモニタ(VMM:Virtual Machine Monitor)1〜4とを備えており、仮想マシン配置装置200により配置された仮想マシン(例、Web1,AP1,AP2,DB1)のソフトウェアを実行可能となっている。仮想マシンは、アプリケーション及びOS(ゲストOS)により構成される。ただし、ハイパーバイザー型仮想マシンモニタの場合は、ホストOSは物理マシンの構成に含まれない。   Here, the physical machines R1 to R4 include a host OS (not shown) and virtual machine monitors (VMM: Virtual Machine Monitors) 1 to 4, and virtual machines (for example, Web1) arranged by the virtual machine arrangement apparatus 200. , AP1, AP2, DB1) software can be executed. The virtual machine includes an application and an OS (guest OS). However, in the case of a hypervisor type virtual machine monitor, the host OS is not included in the configuration of the physical machine.

ファイルサーバ装置100は、仮想マシンイメージファイルを格納する格納部101を有する。仮想マシンイメージファイルは仮想マシンの保存イメージであり、仮想マシンはアプリケーション及びOS(ゲストOS)により構成される。   The file server apparatus 100 includes a storage unit 101 that stores virtual machine image files. The virtual machine image file is a storage image of the virtual machine, and the virtual machine includes an application and an OS (guest OS).

仮想マシン配置装置200は、物理マシン情報DB(Database)201、仮想マシンワークロード情報DB202、プロジェクト情報DB203、仮想マシン配置情報DB204、記憶部205、物理マシン情報管理部206、仮想マシンワークロード情報管理部207、プロジェクト情報管理部208、仮想マシン配置決定部209、仮想マシン複製部210、仮想マシン起動部211、仮想マシン停止部212、仮想マシン削除部213及び仮想マシン配置制御部214を備えている。   The virtual machine placement apparatus 200 includes a physical machine information DB (Database) 201, a virtual machine workload information DB 202, a project information DB 203, a virtual machine placement information DB 204, a storage unit 205, a physical machine information management unit 206, and a virtual machine workload information management. Unit 207, project information management unit 208, virtual machine arrangement determination unit 209, virtual machine replication unit 210, virtual machine activation unit 211, virtual machine stop unit 212, virtual machine deletion unit 213, and virtual machine arrangement control unit 214. .

ここで、物理マシン情報DB201は、各部206〜214から読出/書込可能な記憶手段であり、図2に示すように、物理マシンID(Identification)毎に、物理マシン基本情報を記憶する。物理マシン基本情報としては、例えば、マシン名、メモリ容量、CPU(Central Processing Unit)クロック周波数(コア数)、コア数及びディスク容量などが適宜使用可能となっている。   Here, the physical machine information DB 201 is a storage unit that can be read / written from each of the units 206 to 214, and stores physical machine basic information for each physical machine ID (Identification) as shown in FIG. As the physical machine basic information, for example, a machine name, memory capacity, CPU (Central Processing Unit) clock frequency (number of cores), number of cores, disk capacity, and the like can be used as appropriate.

仮想マシンワークロード情報DB202は、各部206〜214から読出/書込可能な記憶手段であり、図3に示すように、仮想マシンワークロードID毎に、仮想マシン基本情報、アプリケーション情報、ワークロード条件式情報及び格納元仮想マシン情報を記憶する。仮想マシン基本情報としては、例えば、メモリ容量、ディスク容量及びCPUコア数などが適宜使用可能となっている。アプリケーション情報としては、例えば、アプリケーションID及びバージョン情報などが適宜使用可能となっている。   The virtual machine workload information DB 202 is storage means that can be read / written from each of the units 206 to 214. As shown in FIG. 3, for each virtual machine workload ID, virtual machine basic information, application information, and workload conditions are stored. Formula information and storage source virtual machine information are stored. As the virtual machine basic information, for example, the memory capacity, the disk capacity, the number of CPU cores, and the like can be used as appropriate. As the application information, for example, an application ID and version information can be used as appropriate.

ワークロード条件式情報は、排他優先度及び排他したい仮想マシンワークロードIDを含む1つ以上の条件式からなる情報である。例えば、仮想マシンワークロードID=Aに対し、ワークロード条件式情報の条件式に“not B”が設定された場合、仮想マシンワークロードID=Aに対し、排他したい仮想マシンワークロードID=Bが異なる物理サーバに配置される。ここで、排他の優先度の高低をノット文字の小文字及び大文字(例えば、not:優先度低い。NOT:優先度高い)で指定可能となっている(なお、not:優先度高い、NOT:優先度低い、としてもよい)。また、大文字ノット又は小文字ノットに数字を付加して、より細かい優先度(例えばnot01からnot99)も指定可能となっている。また、全ての仮想マシンIDを排他する場合はnot ALLのように指定可能となっている。   The workload conditional expression information is information including one or more conditional expressions including an exclusion priority and a virtual machine workload ID to be excluded. For example, when “not B” is set in the conditional expression of the workload conditional expression information for the virtual machine workload ID = A, the virtual machine workload ID = B to be excluded from the virtual machine workload ID = A Are placed on different physical servers. Here, it is possible to specify the level of exclusion priority with lowercase and uppercase letters of knot characters (for example, not: low priority, NOT: high priority) (note: not high priority, NOT: priority) May be low). Further, it is possible to specify a finer priority (for example, not01 to not99) by adding a number to the uppercase knot or the lowercase knot. Also, when all virtual machine IDs are to be excluded, it can be specified as not ALL.

格納元仮想マシン情報は、仮想マシン複製部210からファイルサーバ装置100内の仮想マシンイメージファイルを取得するための情報であり、具体的には、ファイルサーバ装置100と仮想マシンイメージファイルのパス情報である。   The storage source virtual machine information is information for acquiring a virtual machine image file in the file server apparatus 100 from the virtual machine duplication unit 210, and specifically, path information between the file server apparatus 100 and the virtual machine image file. is there.

プロジェクト情報DB203は、各部206〜214から読出/書込可能な記憶手段であり、図4に示すように、プロジェクトID毎に、利用可能な最大物理マシン台数、利用する仮想マシンを示す仮想マシンワークロードIDとその仮想マシン台数を記憶する。仮想マシンワークロードIDは複数種類を設定可能である。仮想マシン台数は、同一の仮想マシンワークロードIDに対して複数台を設定可能である。   The project information DB 203 is a storage unit that can be read / written from each of the units 206 to 214. As shown in FIG. 4, for each project ID, the maximum number of physical machines that can be used and the virtual machine work that indicates the virtual machine to be used. The load ID and the number of virtual machines are stored. A plurality of types of virtual machine workload IDs can be set. A plurality of virtual machines can be set for the same virtual machine workload ID.

仮想マシン配置情報DB204は、各部206〜214から読出/書込可能な記憶手段であり、図5に示すように、配置完了状態を示す配置ID及びプロジェクトID毎に、物理マシンID、仮想マシンID及び仮想マシンワークロードIDを記憶する。   The virtual machine arrangement information DB 204 is a storage unit that can be read / written from each unit 206 to 214, and as shown in FIG. 5, for each arrangement ID and project ID indicating the arrangement completion state, a physical machine ID and a virtual machine ID. And the virtual machine workload ID.

記憶部205は、各部206〜214から読出/書込可能な記憶手段であり、例えば、配置テーブル205a、配置決定用テーブル205b及びNGワークロード条件式などの記憶に用いられる。   The storage unit 205 is a storage unit that can be read / written from each of the units 206 to 214, and is used for storing, for example, the arrangement table 205a, the arrangement determination table 205b, and the NG workload conditional expression.

ここで、配置テーブル205aは、図6に示すように、各物理マシンを示す物理マシン変数x毎に、各仮想マシンの仮想マシンワークロードID(Wlt列に記憶)及び当該仮想マシンワークロードIDに対応する条件式情報(条件列に記憶)を読出/書込可能な情報テーブルである。また、配置テーブル205aは、書き込まれた仮想マシンワークロードID及び条件式情報を、物理マシン変数xの列座標xと仮想マシン変数yの行座標yとにより特定可能となっている。なお、仮想マシン変数yを省略し、当該仮想マシン変数yとして、仮想マシンワークロードID(wlt列に記憶)を用いてもよい。   Here, as illustrated in FIG. 6, the arrangement table 205 a includes, for each physical machine variable x indicating each physical machine, a virtual machine workload ID (stored in the Wlt column) of each virtual machine and the virtual machine workload ID. It is an information table which can read / write corresponding conditional expression information (stored in a condition column). In the arrangement table 205a, the written virtual machine workload ID and conditional expression information can be specified by the column coordinate x of the physical machine variable x and the row coordinate y of the virtual machine variable y. Note that the virtual machine variable y may be omitted, and a virtual machine workload ID (stored in the wlt column) may be used as the virtual machine variable y.

配置決定用テーブル205bは、図7に示すように、物理マシン変数x毎に、仮想マシン変数y、仮想マシンワークロードID(変数$wlt列)、当該仮想マシンワークロードIDに対応する条件式情報(配列@exp[con,wlt]列)、第1及び第2条件ステータスを読出/書込可能な情報テーブルである。なお、仮想マシン変数yを省略し、当該仮想マシン変数yとして、仮想マシンワークロードID(変数$wlt列に記憶)を用いてもよい。また、第1及び第2条件ステータスは、書込み済みの配置テーブルとの間の排他関係の有無を示す情報であり、必ずしも配置決定用テーブル205bに書き込む必要は無いので、配置決定用テーブル205bから省略してもよい。   As shown in FIG. 7, the placement determination table 205b includes, for each physical machine variable x, a virtual machine variable y, a virtual machine workload ID (variable $ wlt column), and conditional expression information corresponding to the virtual machine workload ID. (Array @exp [con, wlt] column) is an information table that can read / write the first and second condition statuses. Note that the virtual machine variable y may be omitted, and a virtual machine workload ID (stored in the variable $ wlt column) may be used as the virtual machine variable y. The first and second condition statuses are information indicating whether or not there is an exclusive relationship with the arrangement table that has been written, and are not necessarily written to the arrangement determination table 205b, and are therefore omitted from the arrangement determination table 205b. May be.

また、各DB201〜204及び記憶部205に用いられる記憶手段は、同一の記憶装置内の互いに異なる記憶領域としてもよく、互いに異なる記憶装置としてもよい。例えば、各DB201〜204は同一のハードディスク装置内の互いに異なる記憶領域を用い、記憶部205はRAMを用いるようにしてもよい。また、各DB201〜204及び記憶部205は同一のRAM内の互いに異なる記憶領域を用いるようにしてもよい。   Further, the storage means used for each of the DBs 201 to 204 and the storage unit 205 may be different storage areas in the same storage device, or may be different storage devices. For example, the DBs 201 to 204 may use different storage areas in the same hard disk device, and the storage unit 205 may use a RAM. Further, the DBs 201 to 204 and the storage unit 205 may use different storage areas in the same RAM.

物理マシン情報管理部206は、管理者端末装置300の操作により、物理マシンID毎に、物理マシン基本情報を物理マシン情報DB201に書き込む機能をもっている。   The physical machine information management unit 206 has a function of writing physical machine basic information in the physical machine information DB 201 for each physical machine ID by operating the administrator terminal device 300.

仮想マシンワークロード情報管理部207は、管理者端末装置300の操作により、仮想マシンワークロードID毎に、仮想マシン基本情報、アプリケーション情報、ワークロード条件式情報及び格納元仮想マシン情報を仮想マシンワークロード情報DB202に書き込む機能をもっている。   The virtual machine workload information management unit 207 displays virtual machine basic information, application information, workload conditional expression information, and storage source virtual machine information for each virtual machine workload ID by operating the administrator terminal device 300. It has a function of writing in the load information DB 202.

プロジェクト(PJ)情報管理部208は、管理者端末装置300の操作により、プロジェクトID毎に、最大物理マシン台数、仮想マシンワークロードID及び仮想マシン台数をプロジェクト情報DB203に書き込む機能をもっている。   The project (PJ) information management unit 208 has a function of writing the maximum number of physical machines, the virtual machine workload ID, and the number of virtual machines for each project ID in the project information DB 203 by operating the administrator terminal device 300.

仮想マシン配置決定部209は、仮想マシン配置制御部214に起動されると、仮想マシンワークロード情報DB202と、プロジェクト情報DB203に基づいて、仮想マシンワークロードIDに対応する条件式情報を満たすように、配置テーブル205aを決定する機能と、配置テーブル205aを決定すると、仮想マシン配置制御部214に制御を移す機能をもっている。   When activated by the virtual machine arrangement control unit 214, the virtual machine arrangement determination unit 209 satisfies the conditional expression information corresponding to the virtual machine workload ID based on the virtual machine workload information DB 202 and the project information DB 203. And a function for determining the placement table 205a and a function for transferring control to the virtual machine placement control unit 214 when the placement table 205a is determined.

ここで、配置テーブル205aを決定する機能は、概略的には以下の各機能(f209-1)〜(f209-7)から構成されている。   Here, the function for determining the arrangement table 205a is roughly composed of the following functions (f209-1) to (f209-7).

(f209-1) 配置テーブル205aに書込む前の物理マシン変数、仮想マシンワークロードID及び条件式情報を配置決定用テーブル205bに設定する設定機能。   (f209-1) A setting function for setting the physical machine variable, virtual machine workload ID, and conditional expression information before writing to the placement table 205a in the placement determination table 205b.

なお、この設定機能は、(f209-1-1) 仮想マシンワークロードID及び条件式情報の配置決定用テーブル205bへの設定順序を示す順列を記録する設定順序記録機能を更に備えていてもよい。   This setting function may further include (f209-1-1) a setting order recording function for recording a permutation indicating the setting order of the virtual machine workload ID and conditional expression information in the arrangement determination table 205b. .

また、設定機能は、(f209-1-2) 後述する(f209-3)の書込機能による書込みの後、物理マシン変数を初期値に設定すると共に、現時点で配置テーブル205aに書込み前の仮想マシンワークロードID及び条件式情報を配置決定用テーブル205bに設定する機能、を更に備えていてもよい。なお、(f209-1-1) の設定順序記録機能と、 (f209-1-2)の機能とは、両方を備えるか両方とも備えない場合に限らず、いずれか一方を備えていてもよい。   The setting function is (f209-1-2) After writing by the writing function (f209-3) described later, the physical machine variable is set to an initial value, and the virtual before writing to the arrangement table 205a at the present time is set. A function of setting the machine workload ID and the conditional expression information in the arrangement determination table 205b may be further provided. Note that the setting order recording function in (f209-1-1) and the function in (f209-1-2) are not limited to having both or both, and may have either one. .

(f209-2) 配置決定用テーブル205bに設定された物理マシン変数に関連付けて、配置決定用テーブル205b内の仮想マシンワークロードID及び条件式情報と、配置テーブル205a内の仮想マシンワークロードID及び条件式情報とを比較する比較機能。   (f209-2) In association with the physical machine variable set in the placement determination table 205b, the virtual machine workload ID and conditional expression information in the placement determination table 205b, the virtual machine workload ID in the placement table 205a, and Comparison function that compares conditional expression information.

なお、この比較機能は、(f202-2-1) 比較により、配置決定用テーブル205b内の条件式情報に基づいて、配置テーブル205a内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果を得る第1の比較結果取得機能と、(f202-2-2) 比較により、配置テーブル205a内の条件式情報に基づいて、配置決定用テーブル205b内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果を得る第2の比較結果取得機能と、を含んでいてもよい。   Note that this comparison function determines whether or not the virtual machine workload ID in the arrangement table 205a is exclusive based on the conditional expression information in the arrangement determination table 205b by (f202-2-1) comparison. And a first comparison result acquisition function for obtaining a comparison result indicating the determination result, and (f202-2-2) an arrangement determination table based on conditional expression information in the arrangement table 205a by comparison. A second comparison result acquisition function that determines whether or not the virtual machine workload ID in 205b is exclusive, and obtains a comparison result indicating the determination result.

(f209-3) 比較の結果、両者のいずれも排他される関係にない場合には、配置決定用テーブル205b内の物理マシン変数に関連付けて当該配置決定用テーブル205b内の仮想マシンワークロードID及び条件式情報を配置テーブル205aに書込む書込機能。   (f209-3) As a result of the comparison, if neither of them is exclusive, the virtual machine workload ID in the placement determination table 205b and the virtual machine workload ID in association with the physical machine variable in the placement determination table 205b A writing function for writing conditional expression information into the arrangement table 205a.

(f209-4) 比較の結果、両者の少なくとも一方が排他される関係にある場合には、配置決定用テーブル205b内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が最大物理マシン台数Mを超えたか否かを判定する台数判定機能。   (f209-4) If, as a result of the comparison, at least one of the two is in an exclusive relationship, the physical machine variable in the placement determination table 205b is changed to another physical machine variable, and the changed physical machine variable Function for determining whether the number of physical machines corresponding to the number exceeds the maximum number of physical machines M.

(f209-5) 台数判定機能による判定の結果、否の場合には、比較機能を再実行する第1再実行機能。   (f209-5) A first re-execution function that re-executes the comparison function when the result of determination by the number determination function is negative.

(f209-6) 台数判定機能による判定の結果、最大物理マシン台数Mを超えた場合には、仮想マシンワークロード情報DB202内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除機能。   (f209-6) If the maximum physical machine number M is exceeded as a result of the determination by the number determination function, the conditional expression information with the lowest exclusive priority is deleted from the conditional expression information in the virtual machine workload information DB 202 Conditional expression deletion function.

なお、この条件式削除機能は、(f209-6-1) 削除を実行する前に、全ての仮想マシンワークロードID及び条件式情報の順列のうち、設定順序記録機能に記録された順列とは異なる順列があるか否かを判定する順列判定機能と、(f209-6-2) 順列判定機能による判定の結果、異なる順列がある場合には、配置テーブル205a及び配置決定用テーブル205bを初期化し、当該異なる順列に基づいて設定機能及び比較機能を再実行する機能と、(f209-6-3) 順列判定機能による判定の結果、否の場合には、削除を実行する機能と、を含んでいてもよい。   This conditional expression deletion function is the permutation recorded in the setting order recording function among the permutations of all virtual machine workload IDs and conditional expression information before executing (f209-6-1) deletion. A permutation determination function for determining whether or not there is a different permutation, and (f209-6-2) If there is a different permutation as a result of the determination by the permutation determination function, the arrangement table 205a and the arrangement determination table 205b are initialized. A function that re-executes the setting function and the comparison function based on the different permutations, and a function that executes a deletion if the result of the determination by the permutation determination function is negative, (f209-6-3) May be.

(f209-7) 削除の後、配置テーブル205a及び配置決定用テーブル205bを初期化して設定機能及び比較機能を再実行する第2再実行機能。   (f209-7) A second re-execution function that initializes the arrangement table 205a and the arrangement determination table 205b and deletes the setting function and the comparison function after deletion.

仮想マシン複製部210は、仮想マシン配置制御部214により起動されると、仮想マシン配置情報内の仮想マシンワークロードIDに対応する仮想マシンワークロード情報DB202内の格納元仮想マシン情報(パス情報)に基づいて、ファイルサーバ装置100の仮想マシンイメージファイルを複製する機能と、この複製した仮想マシンイメージファイルを仮想マシン配置情報内の物理マシンIDに基づいて、物理マシンR1〜R4の仮想マシンモニタ1〜4上にネットワークを介して配置する機能とをもっている。   When the virtual machine duplication unit 210 is activated by the virtual machine arrangement control unit 214, the storage source virtual machine information (path information) in the virtual machine workload information DB 202 corresponding to the virtual machine workload ID in the virtual machine arrangement information. Based on the virtual machine image file of the file server device 100 and the virtual machine monitor 1 of the physical machines R1 to R4 based on the physical machine ID in the virtual machine arrangement information. To 4 on the network.

仮想マシン起動部211は、仮想マシン配置制御部214により指定された物理マシン上の仮想マシンモニタに対して仮想マシン起動命令を発行する機能をもっている。   The virtual machine activation unit 211 has a function of issuing a virtual machine activation instruction to the virtual machine monitor on the physical machine designated by the virtual machine arrangement control unit 214.

仮想マシン停止部212は、仮想マシン配置制御部214により指定された物理マシン上の仮想マシンモニタに対して仮想マシン停止命令を発行する機能をもっている。   The virtual machine stop unit 212 has a function of issuing a virtual machine stop command to the virtual machine monitor on the physical machine designated by the virtual machine arrangement control unit 214.

仮想マシン削除部213は、仮想マシン配置制御部214により指定された物理マシン上の仮想マシンモニタに対して仮想マシン削除命令を発行する機能をもっている。   The virtual machine deletion unit 213 has a function of issuing a virtual machine deletion command to the virtual machine monitor on the physical machine designated by the virtual machine arrangement control unit 214.

仮想マシン配置制御部214は、主には図8に示す如き、仮想マシンを配置する処理を実行するように各部206〜210を制御するものであり、例えば、配置テーブル205aに全ての仮想マシンワークロードIDが書き込まれた後、当該配置テーブル205a内の仮想マシンワークロードIDが示す仮想マシンを当該配置テーブル205a内の物理マシン変数が示す物理マシンに配置するように、仮想マシン配置情報DB204に仮想マシン配置情報を書き込む機能と、この書込みの後、仮想マシン複製部210を起動する機能と、仮想マシン複製部210による仮想マシンの配置の後、仮想マシン起動部211を利用して仮想マシンを起動する機能とをもっている。   As shown in FIG. 8, the virtual machine placement control unit 214 controls the units 206 to 210 so as to execute processing for placing virtual machines. For example, the virtual machine placement control unit 214 stores all virtual machine work in the placement table 205a. After the load ID is written, the virtual machine indicated by the virtual machine workload ID in the placement table 205a is virtualized in the virtual machine placement information DB 204 so as to be placed on the physical machine indicated by the physical machine variable in the placement table 205a. A function for writing machine arrangement information, a function for starting the virtual machine replication unit 210 after this writing, and a virtual machine starting unit 211 using the virtual machine startup unit 211 after the virtual machine replication unit 210 is arranged It has a function to do.

但し、仮想マシン配置制御部214は、仮想マシンを配置する処理に限らず、仮想マシンを起動、停止又は削除する処理を実行するように、各部211〜213を制御する機能も持っている。   However, the virtual machine arrangement control unit 214 has a function of controlling each of the units 211 to 213 so as to execute a process of starting, stopping, or deleting a virtual machine as well as a process of arranging a virtual machine.

管理端末装置300は、図示しない表示部(ディスプレイ)及び入力部(キーボード、マウス)を備えたコンピュータであり、管理者が操作指示を行う。管理端末装置300は仮想マシン配置装置200に接続して、各種命令を送信する機能と命令実行結果を受信し表示する機能を有する。   The management terminal device 300 is a computer including a display unit (display) and an input unit (keyboard, mouse) (not shown), and an administrator gives an operation instruction. The management terminal device 300 is connected to the virtual machine placement device 200 and has a function of transmitting various commands and a function of receiving and displaying command execution results.

次に、以上のように構成された仮想マシン配置装置の動作を図8のフローチャートを用いて説明する。   Next, the operation of the virtual machine placement apparatus configured as described above will be described with reference to the flowchart of FIG.

[ステップST1] 配置する際の準備段階として、管理端末装置300は、管理者による入力部の操作により、仮想マシン配置装置200に接続する。   [Step ST1] As a preparation stage for placement, the management terminal device 300 is connected to the virtual machine placement device 200 by an operation of the input unit by the administrator.

仮想マシン配置装置200においては、管理者による管理端末装置300の操作に応じて、物理マシン情報管理部206及び仮想マシンワークロード情報管理部207が、物理マシンID及び物理マシン基本情報や、仮想マシンワークロードIDに対応する条件式情報(ワークロード条件式)を物理マシン情報DB201や仮想マシンワークロード情報DB202に書き込む。   In the virtual machine placement apparatus 200, the physical machine information management unit 206 and the virtual machine workload information management unit 207, in response to an operation of the management terminal device 300 by an administrator, Conditional expression information (workload conditional expression) corresponding to the workload ID is written in the physical machine information DB 201 and the virtual machine workload information DB 202.

[ステップST2] 配置を行う場合、管理端末装置300は、管理者による入力部の操作により、仮想マシン配置装置200に接続する。   [Step ST2] When the placement is performed, the management terminal device 300 is connected to the virtual machine placement device 200 by the operation of the input unit by the administrator.

仮想マシン配置装置200においては、管理者による管理端末装置300の操作に応じて、プロジェクト情報管理部208が、プロジェクトIDに対応して当該プロジェクトで使用可能な最大物理マシン台数、プロジェクトで利用する仮想マシンワークロードID及び仮想マシン台数をプロジェクト情報DB203に書き込む。しかる後、仮想マシン配置装置200においては、仮想マシン配置制御部214が配置の実行を開始する。仮想マシン配置制御部214は、仮想マシンの配置先決定を実行する指示を仮想マシン配置決定部209に送出し、仮想マシン配置決定部209を起動する。また、仮想マシン配置制御部214は条件削除数及び全条件数に0を設定(セット)して記憶部205に書き込む。   In the virtual machine placement apparatus 200, in response to an operation of the management terminal apparatus 300 by an administrator, the project information management unit 208 corresponds to the project ID, the maximum number of physical machines that can be used in the project, and the virtual machine used in the project. The machine workload ID and the number of virtual machines are written in the project information DB 203. Thereafter, in the virtual machine placement apparatus 200, the virtual machine placement control unit 214 starts placement. The virtual machine arrangement control unit 214 sends an instruction to execute the virtual machine arrangement destination determination to the virtual machine arrangement determination unit 209 and activates the virtual machine arrangement determination unit 209. In addition, the virtual machine arrangement control unit 214 sets (sets) 0 to the number of condition deletions and the number of all conditions, and writes it to the storage unit 205.

[ステップST3] 仮想マシン配置決定部209は、記憶部205内に配置テーブル205a及び配置決定用テーブル205bを作成して書き込む。このとき、各テーブル205a,205bの列R(x),行V(y)の座標を示す変数x,yにそれぞれ1を設定(セット)する。xは物理マシンIDに対応し、yは仮想マシンIDに対応する。   [Step ST3] The virtual machine arrangement determination unit 209 creates and writes the arrangement table 205a and the arrangement determination table 205b in the storage unit 205. At this time, 1 is set (set) to each of the variables x and y indicating the coordinates of the column R (x) and the row V (y) of the tables 205a and 205b. x corresponds to the physical machine ID, and y corresponds to the virtual machine ID.

[ステップST4] 仮想マシン配置決定部209は、プロジェクト情報DB203からプロジェクトIDに対応する仮想マシンワークロードID及び仮想マシン台数のデータを1件読み込み、この仮想マシンワークロードIDに対応する条件式情報を仮想マシンワークロード情報DB202から読み出す。なお、プロジェクト情報DB203から読み込む仮想マシンワークロードIDは、現時点で配置テーブル205aに存在しないものである。   [Step ST4] The virtual machine arrangement determination unit 209 reads one piece of data of the virtual machine workload ID and the number of virtual machines corresponding to the project ID from the project information DB 203, and sets conditional expression information corresponding to the virtual machine workload ID. Read from the virtual machine workload information DB 202. Note that the virtual machine workload ID read from the project information DB 203 does not exist in the arrangement table 205a at the present time.

しかる後、仮想マシン配置決定部209は、読み込んだ仮想マシンワークロードIDを配置決定用テーブル205bの変数$wltに設定し、読み出した条件式情報を配置決定用テーブル205bの配列@exp[con,wlt]へ設定する。その際、仮想マシン配置決定部209は、プロジェクト情報に含まれない、仮想マシンワークロードに関係しない条件式を除外する。   Thereafter, the virtual machine placement determination unit 209 sets the read virtual machine workload ID in the variable $ wlt of the placement determination table 205b, and sets the read conditional expression information as an array @exp [con, Set to wlt]. At that time, the virtual machine arrangement determination unit 209 excludes conditional expressions that are not included in the project information and are not related to the virtual machine workload.

[ステップST5] 仮想マシン配置決定部209は、配置決定用テーブル205bに設定された物理マシン変数xに関連付けて、配置決定用テーブル205b内の仮想マシンワークロードID及び条件式情報と、配置テーブル205a内の仮想マシンワークロードID及び条件式情報とを比較する。   [Step ST5] The virtual machine placement determination unit 209 associates the virtual machine workload ID and conditional expression information in the placement determination table 205b with the physical machine variable x set in the placement determination table 205b, and the placement table 205a. The virtual machine workload ID and the conditional expression information are compared.

しかる後、仮想マシン配置決定部209は、この比較により、配置決定用テーブル205b内の条件式情報に基づいて、配置テーブル205a内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果である第1条件ステータスを得る。   Thereafter, the virtual machine placement determination unit 209 determines whether or not the virtual machine workload ID in the placement table 205a is exclusive based on the conditional expression information in the placement decision table 205b based on this comparison. A first condition status that is a result of comparison indicating the determination result is obtained.

具体的には、仮想マシン配置決定部209は、配置決定用テーブル205bの配列@exp[con]に条件式がある場合、配置テーブルR(x).V(y=全ての列)に、条件式中の変数@exp[wlt]が存在しないか否かを判定する。また、配置決定用テーブル205bの条件式中の変数@exp[wlt]にallが指定されている場合、配置テーブルR(x).V(y=全ての列)に、条件式中の変数wltのデータが存在しないか否かを判定する。判定結果として第1条件ステータスをOK(変数@exp[wlt]が存在しない場合:排他される関係にない場合)もしくはNG(変数@exp[wlt]が存在する場合:排他される関係にある場合)として書き込む。   Specifically, when there is a conditional expression in the array @exp [con] of the placement determination table 205b, the virtual machine placement determination unit 209 determines the placement table R (x). It is determined whether or not the variable @exp [wlt] in the conditional expression does not exist in V (y = all columns). When all is specified in the variable @exp [wlt] in the conditional expression of the arrangement determination table 205b, the arrangement table R (x). It is determined whether or not the data of the variable wlt in the conditional expression does not exist in V (y = all columns). As the judgment result, the first condition status is OK (if the variable @exp [wlt] does not exist: if it is not exclusive) or NG (if the variable @exp [wlt] exists: if it is exclusive )

[ステップST6] 同様に、仮想マシン配置決定部209は、前述した比較により、配置テーブル205a内の条件式情報に基づいて、配置決定用テーブル205b内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す比較の結果である第2条件ステータスを得る。   [Step ST6] Similarly, the virtual machine placement determination unit 209 determines that the virtual machine workload ID in the placement determination table 205b is exclusive based on the conditional expression information in the placement table 205a based on the comparison described above. It is determined whether or not there is, and a second condition status that is a result of comparison indicating the determination result is obtained.

具体的には、仮想マシン配置決定部209は、配置テーブルR(x).V(y=全ての列)に条件式がある場合、この条件式に配置決定用テーブル205bの変数$wltが含まれないか否かを判定する。判定結果として第2条件ステータスをOK(変数$wltが含まれない場合:排他される関係にない場合)もしくはNG(変数$wltが含まれる場合:排他される関係にある場合)として書き込む。なお、ステップST5,ST6の判定は、いずれを先に実行してもよい。   Specifically, the virtual machine arrangement determination unit 209 determines the arrangement table R (x). When there is a conditional expression in V (y = all columns), it is determined whether or not the variable $ wlt of the arrangement determination table 205b is not included in this conditional expression. As the determination result, the second condition status is written as OK (when the variable $ wlt is not included: when there is no exclusive relationship) or NG (when the variable $ wlt is included: when there is an exclusive relationship). Note that either of the determinations in steps ST5 and ST6 may be executed first.

[ステップST7] 仮想マシン配置決定部209は、ステップST5,ST6の第1及び第2条件ステータスがいずれもOKとなったか否かを判定する。真(全てOK)となった場合(両者のいずれも排他される関係にない場合)は、ステップST8へ進む。偽(いずれかNG)となった場合は、ステップST15へ進む。   [Step ST7] The virtual machine arrangement determination unit 209 determines whether or not both the first and second condition statuses in steps ST5 and ST6 are OK. If true (all OK) (if neither of them is exclusive), the process proceeds to step ST8. If it is false (any NG), the process proceeds to step ST15.

[ステップST8] 仮想マシン配置決定部209は、配置決定用テーブル205b内の物理マシン変数xに関連付けて変数$wlt及び配列@exp[con,wlt]を配置テーブルR(x).V(y)に格納する。   [Step ST8] The virtual machine placement determination unit 209 associates the variable $ wlt and the array @exp [con, wlt] with the placement table R (x) .x in association with the physical machine variable x in the placement determination table 205b. Store in V (y).

[ステップST9] 仮想マシン配置決定部209は、物理マシンR(x)の変数xに初期値“1”を設定(セット)する。   [Step ST9] The virtual machine arrangement determining unit 209 sets (sets) the initial value “1” in the variable x of the physical machine R (x).

[ステップST10] 仮想マシン配置決定部209は、プロジェクト情報管理DBからプロジェクトIDに対応する全ての仮想マシンワークロードID及び仮想マシン台数を読込完了したかを判断する。真(全て完了)となった場合は、ステップST12へ進む。偽となった場合は、ステップST11へ進む。   [Step ST10] The virtual machine placement determination unit 209 determines whether all virtual machine workload IDs and the number of virtual machines corresponding to the project ID have been read from the project information management DB. If true (all completed), the process proceeds to step ST12. When it becomes false, it progresses to step ST11.

[ステップST11] 仮想マシン配置決定部209は、仮想マシンV(y)の変数yに1を加算した後、現時点で配置テーブル205aに書込み前の仮想マシンワークロードID及び条件式情報を配置決定用テーブル205bに設定するように、ステップST4に戻って処理を継続する。   [Step ST11] After adding 1 to the variable y of the virtual machine V (y), the virtual machine placement determination unit 209 uses the current virtual machine workload ID and conditional expression information to be placed in the placement table 205a for placement determination. As set in the table 205b, the process returns to step ST4 and continues.

[ステップST12] 仮想マシン配置決定部209は、配置テーブル205aを確定する。   [Step ST12] The virtual machine placement determination unit 209 determines the placement table 205a.

[ステップST13] 仮想マシン配置決定部209は、次式に基づいて適合率を計算し、計算結果を管理者端末装置300に表示する。   [Step ST <b> 13] The virtual machine arrangement determination unit 209 calculates the relevance ratio based on the following equation, and displays the calculation result on the administrator terminal device 300.

適合率=(全条件数−条件削除数)/全条件数 ×100[%]
このとき、削除した条件式があれば、その削除した条件式も表示する。なお、適合率の計算及び表示は、仮想マシンの配置に対して任意の付加的事項であり、省略してもよい。
Compliance rate = (total condition number-condition deletion number) / total condition number x 100 [%]
At this time, if there is a deleted conditional expression, the deleted conditional expression is also displayed. Note that the calculation and display of the relevance ratio is an arbitrary additional matter with respect to the placement of the virtual machine, and may be omitted.

[ステップST14] 仮想マシン配置制御部214は、配置テーブル205aに全ての仮想マシンワークロードIDが書き込まれた後、当該配置テーブル205a内の仮想マシンワークロードIDが示す仮想マシンを当該配置テーブル205a内の物理マシン変数が示す物理マシンに配置するように、仮想マシン配置情報DB204に仮想マシン配置情報を書き込む。仮想マシン配置情報は、配置ID及びプロジェクトID毎に、物理マシンID、仮想マシンID及び仮想マシンワークロードIDを関連付けた情報である。   [Step ST14] After all virtual machine workload IDs are written in the placement table 205a, the virtual machine placement control unit 214 moves the virtual machine indicated by the virtual machine workload ID in the placement table 205a to the placement table 205a. The virtual machine arrangement information is written in the virtual machine arrangement information DB 204 so that the virtual machine arrangement information is arranged in the physical machine indicated by the physical machine variable. The virtual machine arrangement information is information in which a physical machine ID, a virtual machine ID, and a virtual machine workload ID are associated for each arrangement ID and project ID.

しかる後、仮想マシン配置制御部214は、仮想マシン複製部210を起動する。   Thereafter, the virtual machine arrangement control unit 214 activates the virtual machine duplication unit 210.

仮想マシン複製部210は、仮想マシン配置情報内の仮想マシンワークロードIDに対応する仮想マシンワークロード情報DB202内の格納元仮想マシン情報(パス情報)に基づいて、ファイルサーバ装置100の仮想マシンイメージファイルを複製し、この複製した仮想マシンイメージファイルを仮想マシン配置情報内の物理マシンIDに基づいて物理マシンR1〜R4に配置する。   The virtual machine duplication unit 210 uses the virtual machine image of the file server apparatus 100 based on the storage source virtual machine information (path information) in the virtual machine workload information DB 202 corresponding to the virtual machine workload ID in the virtual machine arrangement information. The file is duplicated, and the duplicated virtual machine image file is arranged in the physical machines R1 to R4 based on the physical machine ID in the virtual machine arrangement information.

[ステップST15] 仮想マシン配置決定部209は、NGとなったワークロード条件式を記憶部205上の配列に記憶(追加)する
[ステップST16] 仮想マシン配置決定部209は、配置決定用テーブル205b内の物理マシン変数を他の物理マシン変数に変更する。具体的には、仮想マシン配置決定部209は、配置決定用テーブル205b内の物理マシンR(x)の変数xに1を加える。
[Step ST15] The virtual machine placement determining unit 209 stores (adds) the workload conditional expression that has become NG in the array on the storage unit 205. [Step ST16] The virtual machine placement determining unit 209 includes the placement determining table 205b. Change the physical machine variable in to another physical machine variable. Specifically, the virtual machine arrangement determination unit 209 adds 1 to the variable x of the physical machine R (x) in the arrangement determination table 205b.

[ステップST17] 仮想マシン配置決定部209は、変更後の物理マシン変数に対応する物理マシン台数が最大物理マシン台数Mを超えたか否かを判定する。このアップカウンタの例では、物理マシン変数の初期値が“1”で物理マシン変数の変更が“+1”の加算であることから変更後の物理マシン変数x(=x+1)とそれに対応する物理マシン台数x’(=x)とが一致するので、物理マシンR(x)の変数xが最大物理マシン台数Mを越えたか否かを判定する。   [Step ST17] The virtual machine arrangement determination unit 209 determines whether or not the number of physical machines corresponding to the changed physical machine variable exceeds the maximum number of physical machines M. In this example of the up counter, since the initial value of the physical machine variable is “1” and the change of the physical machine variable is an addition of “+1”, the changed physical machine variable x (= x + 1) and the corresponding physical machine Since the number x ′ (= x) matches, it is determined whether or not the variable x of the physical machine R (x) exceeds the maximum number M of physical machines.

なお、変形例としてダウンカウンタで実装した場合であっても、物理マシン変数の初期値が“M”で物理マシン変数の変更が“1”の減算(−1の加算)であることから、変更後の物理マシン変数x(=x−1)とそれに対応する物理マシン台数x’(=M−x)とは中央以外は一致しないが、判定結果がアップカウンタの場合の判定結果と一致するので、判定には差し支えない。   Even when the down counter is implemented as a modification, the initial value of the physical machine variable is “M” and the change of the physical machine variable is “1” subtraction (addition of −1). The subsequent physical machine variable x (= x−1) and the corresponding physical machine number x ′ (= M−x) do not match except for the center, but the determination result matches the determination result in the case of the up counter. It does not interfere with the judgment.

いずれにしても、当該ステップST17の判定結果が真(超えた)となった場合は、ステップST18へ進む。偽となった場合は、ステップST4へ進む。   In any case, if the determination result in step ST17 is true (exceeded), the process proceeds to step ST18. When it becomes false, it progresses to step ST4.

[ステップST18] 仮想マシン配置決定部209は、配置決定用テーブル205bへの設定の順列の全てのパターンを実行したか否かを判定する。   [Step ST18] The virtual machine placement determination unit 209 determines whether or not all the patterns in the permutation of the settings in the placement determination table 205b have been executed.

具体的には、仮想マシン配置決定部209は、仮想マシンワークロードID及び条件式情報の配置決定用テーブル205bへの設定順序を示す順列を記憶部205に記録しておき、プロジェクトIDに対応する全ての仮想マシンワークロードID及び条件式情報の順列のうち、記憶部205に記録された順列とは異なる順列があるか否かを判定する。なお、配置決定用テーブル205bへの設定順序は、プロジェクト情報DB203からの読込み順序や仮想マシンワークロード情報DB202からの読出順序と等しいものであり、これら読込み順序や読出順序を包含している。   Specifically, the virtual machine arrangement determination unit 209 records a permutation indicating the setting order of the virtual machine workload ID and the conditional expression information in the arrangement determination table 205b in the storage unit 205, and corresponds to the project ID. It is determined whether there is a permutation different from the permutation recorded in the storage unit 205 among the permutations of all virtual machine workload IDs and conditional expression information. The setting order in the arrangement determination table 205b is the same as the reading order from the project information DB 203 and the reading order from the virtual machine workload information DB 202, and includes these reading order and reading order.

[ステップST19] 仮想マシン配置決定部209は、ステップST18の判定の結果、異なる順列がある場合には、条件式の設定順序を他の順列パターンに変更する。また、仮想マシン配置決定部209は、配置テーブル205a,配置決定用テーブル205bを初期化し、当該異なる順列に基づいて処理を再実行するように、ステップST4に戻る。   [Step ST19] If there is a different permutation as a result of the determination in step ST18, the virtual machine arrangement determining unit 209 changes the setting order of the conditional expressions to another permutation pattern. Further, the virtual machine arrangement determination unit 209 returns to step ST4 so as to initialize the arrangement table 205a and the arrangement determination table 205b and re-execute processing based on the different permutations.

[ステップST20] 仮想マシン配置決定部209は、ステップST18の判定の結果、否の場合には、仮想マシンワークロード情報DB202において、NGとなったワークロード条件式の配列から条件式を一つ削除する。排他の条件式NOT/notがある場合、排他優先度の最も低い条件式 notを先に削除する。記憶部205内の条件削除数に1を加えると共に、削除した条件式を記憶部205に記録する。   [Step ST20] If the result of the determination in step ST18 is negative, the virtual machine arrangement determining unit 209 deletes one conditional expression from the array of the workload conditional expressions that are NG in the virtual machine workload information DB 202. To do. If there is an exclusive conditional expression NOT / not, the conditional expression not with the lowest exclusive priority is deleted first. While adding 1 to the number of condition deletions in the storage unit 205, the deleted conditional expression is recorded in the storage unit 205.

しかる後、仮想マシン配置決定部209は、配置テーブル205a,配置決定用テーブル205bを初期化して処理を再実行するように、ステップST3に戻る。   Thereafter, the virtual machine arrangement determination unit 209 returns to step ST3 so as to initialize the arrangement table 205a and the arrangement determination table 205b and re-execute the processing.

(第1の例)
配置テーブル205aの処理の一例を図11に示し、配置結果を図12に示す。この例は、全ての条件式を満たす場合である。仮想マシンワークロードID“Web”,“AP1”は、第1の物理マシンR(1)に配置できる。しかしながら、仮想マシンワークロードID“DB1”は、条件式が“not ALL”のため、第1の物理マシンR(1)に配置できない。よって、仮想マシンID“DB1”は、仮想マシンワークロードIDが未だ配置されていない第2の物理マシンR(2)に配置される。
(First example)
An example of the processing of the arrangement table 205a is shown in FIG. 11, and the arrangement result is shown in FIG. This example is a case where all the conditional expressions are satisfied. The virtual machine workload IDs “Web” and “AP1” can be arranged in the first physical machine R (1). However, the virtual machine workload ID “DB1” cannot be placed in the first physical machine R (1) because the conditional expression is “not ALL”. Therefore, the virtual machine ID “DB1” is arranged in the second physical machine R (2) where the virtual machine workload ID is not yet arranged.

この場合、削除条件数が0であるため、適合率は100%(=(5−0)/5 ×100)となる。   In this case, since the number of deletion conditions is 0, the precision is 100% (= (5-0) / 5 × 100).

(第2の例)
配置テーブル205aの処理の一例を図13に示し、配置結果を図14に示す。この例は、幾つかの条件式を満たさない場合である。仮想マシンワークロードID“Web”,“AP1”を第1の物理マシンR(1)に配置し、仮想マシンワークロードID“DB1”及び条件式“NOT ALL”を第2の物理マシンR(2)に配置した状態とする。また、最大物理マシン台数Mは2台である。
(Second example)
An example of the processing of the arrangement table 205a is shown in FIG. 13, and the arrangement result is shown in FIG. This example is a case where some conditional expressions are not satisfied. The virtual machine workload IDs “Web” and “AP1” are arranged in the first physical machine R (1), and the virtual machine workload ID “DB1” and the conditional expression “NOT ALL” are set in the second physical machine R (2 ). The maximum number of physical machines M is two.

ここで、仮想マシンワークロードID“DB2”は、条件式が“not Web”,“not AP1”のため、最大物理マシン台数Mが2台の場合、配置できない。このため、配置テーブル205aの作成中、条件式チェックがNGとなり、NGワークロード条件式の記憶領域に追加される。また最大物理マシン台数Mを超えた際に、設定順列を変更しても格納できないので、ステップST20の妥協ロジック(条件式削除処理)に進む。   Here, the virtual machine workload ID “DB2” cannot be placed when the maximum number of physical machines M is two because the conditional expressions are “not Web” and “not AP1”. Therefore, during the creation of the arrangement table 205a, the conditional expression check becomes NG and is added to the storage area for the NG workload conditional expression. Further, when the number of physical machines exceeds the maximum number M, it cannot be stored even if the setting permutation is changed, so the process proceeds to the compromise logic (conditional expression deletion process) in step ST20.

ステップST20では、仮想マシンワークロード情報DB202内の条件式の排他優先度not/NOTを昇順ソートして、排他優先度の最も低いnotの条件式を1つ消す。この場合、「DB2 not Web」の条件式が削除される。再度、配置テーブル205aを初期化、配置テーブル205aに書き込みを行う。再び、条件式チェックがNGとなり、格納できないので、ステップST20に進む。次に排他優先度が低いNGワークロード条件式を削除する。この場合、条件式「DB2 not AP1」を削除する。再度、配置テーブル205aを初期化し、配置テーブル205aに書き込みを行う。今回は条件式チェックがOKとなる。この場合、前述した通り、削除条件数が2であるため、適合率は60%(=(5−2)/5 ×100)となる。   In step ST20, the exclusive priority not / NOT of the conditional expression in the virtual machine workload information DB 202 is sorted in ascending order, and one conditional expression of not having the lowest exclusive priority is deleted. In this case, the conditional expression “DB2 not Web” is deleted. The arrangement table 205a is initialized again and written to the arrangement table 205a. Again, since the conditional expression check is NG and cannot be stored, the process proceeds to step ST20. Next, the NG workload conditional expression with the lower exclusive priority is deleted. In this case, the conditional expression “DB2 not AP1” is deleted. The arrangement table 205a is initialized again, and the arrangement table 205a is written. This time the conditional expression check is OK. In this case, since the number of deletion conditions is 2, as described above, the precision is 60% (= (5-2) / 5 × 100).

上述したように本実施形態によれば、仮想マシン配置装置200としては、各仮想マシンの仮想マシンワークロードID毎に、排他したい仮想マシンワークロードID及び排他優先度を含む条件式情報を記憶する仮想マシンワークロード情報DB202を備え、配置テーブル205aへの配置処理の途中で、最大物理マシン台数を超えた場合には、仮想マシンワークロード情報DB202内の条件式情報のうち、排他優先度が最も低い条件式情報を削除し、削除の後、配置テーブル205a及び配置決定用テーブル205bを初期化して配置処理を再実行するので、物理マシンの台数が制限されている場合でも仮想マシンを排他的に配置することができる。   As described above, according to the present embodiment, the virtual machine placement apparatus 200 stores conditional expression information including a virtual machine workload ID to be excluded and an exclusive priority for each virtual machine workload ID of each virtual machine. The virtual machine workload information DB 202 is provided, and when the maximum number of physical machines is exceeded during the placement process in the placement table 205a, the exclusive priority is the highest among the conditional expression information in the virtual machine workload information DB 202. The low conditional expression information is deleted, and after the deletion, the placement table 205a and the placement determination table 205b are initialized and the placement process is re-executed, so even if the number of physical machines is limited, the virtual machine is exclusively Can be arranged.

補足すると、本実施形態においては、物理マシンに対する、性能面や可用性確保を考慮した配置の自動化を実現することができる。また、配置先の物理サーバの条件において、条件式による排他関係と、条件式の調整(妥協)を行うことにより、限られた台数の物理サーバにおいても仮想マシンを配置することができる。   Supplementally, in the present embodiment, it is possible to realize the automation of the arrangement with respect to the physical machine in consideration of performance and availability. In addition, in the condition of the physical server at the placement destination, by performing the exclusive relationship by the conditional expression and adjusting (compromising) the conditional expression, it is possible to place virtual machines on a limited number of physical servers.

また、本実施形態においては、ステップST5,ST6の2つの比較処理を実行することにより、配置テーブル205aの内容と、配置決定用テーブル205bの内容との排他関係の有無を容易且つ確実に判定することができる。   In the present embodiment, the two comparison processes of steps ST5 and ST6 are executed to easily and reliably determine whether or not there is an exclusive relationship between the contents of the arrangement table 205a and the contents of the arrangement determination table 205b. be able to.

また、本実施形態においては、ステップST18,ST19の順列の変更処理を実行することにより、条件式を削除せずに条件式を満たす配置を得る可能性があるので、適合率の向上を期待することができる。   In the present embodiment, by executing the permutation changing process in steps ST18 and ST19, there is a possibility of obtaining an arrangement that satisfies the conditional expression without deleting the conditional expression. be able to.

また、本実施形態においては、配置テーブル205aに格納した後、ステップST9で物理マシン変数xを初期値“1”に設定することにより、共通の排他対象をもつ複数の条件式情報を初期値“1”の物理マシンR(1)に配置できるので、物理マシン変数xをランダムに設定する場合に比べ、配置処理を円滑に進めることができる。例えば、図11に示した例において、仮に物理マシン変数xをランダムに設定し、共通の排他対象“DB1”をもつ2つの条件式“Web not DB1”“AP1 not DB1”を第1及び第2の物理マシンR(1),R(2)に分散して配置したとすると、第3の条件式“DB1 not ALL”を配置できず、配置処理が円滑に進まない状況が生じる。しかしながら、本実施形態では、前述した通り、共通の排他対象をもつ複数の条件式情報を初期値“1”の物理マシンR(1)に配置できるので、配置処理を円滑に進めることができる。   In this embodiment, after storing in the arrangement table 205a, the physical machine variable x is set to the initial value “1” in step ST9, whereby a plurality of pieces of conditional expression information having a common exclusion target are set to the initial value “ Since the arrangement can be performed on the physical machine R (1) of 1 ″, the arrangement process can be smoothly performed as compared with the case where the physical machine variable x is set at random. For example, in the example shown in FIG. 11, if the physical machine variable x is set randomly, two conditional expressions “Web not DB1” and “AP1 not DB1” having a common exclusion target “DB1” If the physical machines R (1) and R (2) are arranged in a distributed manner, the third conditional expression “DB1 not ALL” cannot be arranged, resulting in a situation where the arrangement processing does not proceed smoothly. However, in the present embodiment, as described above, a plurality of pieces of conditional expression information having a common exclusion target can be arranged in the physical machine R (1) having the initial value “1”, so that the arrangement process can proceed smoothly.

なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。   Note that the method described in the above embodiment includes a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk (MO) as programs that can be executed by a computer. ), And can be distributed in a storage medium such as a semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。   In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Further, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。   Further, the number of storage media is not limited to one, and the case where the processing in the above embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。   The computer according to the present invention executes each process in the above-described embodiment based on a program stored in a storage medium, and is a single device such as a personal computer or a system in which a plurality of devices are connected to a network. Any configuration may be used.

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。   In addition, the computer in the present invention is not limited to a personal computer, but includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. .

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

R1〜R4…物理マシン、1〜4…仮想マシンモニタ、100…ファイルサーバ装置、200…仮想マシン配置装置、201…物理マシン情報DB、202…仮想マシンワークロード情報DB、203…プロジェクト情報DB、204…仮想マシン配置情報DB、205…記憶部、206…物理マシン情報管理部、207…仮想マシンワークロード情報管理部、208…プロジェクト情報管理部、209…仮想マシン配置決定部、210…仮想マシン複製部、211…仮想マシン起動部、212…仮想マシン停止部、213…仮想マシン削除部、214…仮想マシン配置制御部、300…管理端末装置。   R1 to R4 ... physical machines, 1-4 ... virtual machine monitor, 100 ... file server device, 200 ... virtual machine placement device, 201 ... physical machine information DB, 202 ... virtual machine workload information DB, 203 ... project information DB, 204 ... Virtual machine arrangement information DB, 205 ... Storage unit, 206 ... Physical machine information management unit, 207 ... Virtual machine workload information management unit, 208 ... Project information management unit, 209 ... Virtual machine arrangement determination unit, 210 ... Virtual machine Replication unit 211... Virtual machine start unit 212 212 Virtual machine stop unit 213 Virtual machine deletion unit 214 Virtual machine placement control unit 300 Management terminal device

Claims (5)

最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能であり、且つ前記各仮想マシンの仮想マシンワークロードID毎に、排他したい仮想マシンワークロードID及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段とを備えた仮想マシン配置装置に用いられる仮想マシン配置プログラムであって、
前記仮想マシン配置装置を、
前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードID及び条件式情報を前記配置決定用テーブルに設定する設定手段、
前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードID及び条件式情報と、前記配置テーブル内の仮想マシンワークロードID及び条件式情報とを比較する比較手段、
前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードID及び条件式情報を前記配置テーブルに書込む書込手段、
前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段、
前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第1再実行手段、
前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段、
前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第2再実行手段、
前記配置テーブルに全ての仮想マシンワークロードIDが書き込まれた後、当該配置テーブル内の仮想マシンワークロードIDが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段、
として機能させるための仮想マシン配置プログラム。
More virtual machines than the maximum number of physical machines can be placed on the maximum number of physical machines, and for each virtual machine workload ID of each virtual machine, the virtual machine workload ID to be excluded and exclusive priority Conditional expression storage means for storing conditional expression information including degrees, and for each physical machine variable indicating each physical machine, a virtual machine workload ID of each virtual machine and conditional expression information corresponding to the virtual machine workload ID A placement table storing means for storing a placement table associated with the placement table, a physical machine variable before writing to the placement table, the virtual machine workload ID, and a placement determination that associates conditional expression information corresponding to the virtual machine workload ID Virtual machine arrangement comprising arrangement determination table storage means for storing an operation table A virtual machine placement program used in the apparatus,
The virtual machine placement device,
Setting means for setting the physical machine variable, virtual machine workload ID, and conditional expression information before writing in the arrangement table in the arrangement determination table;
In association with the physical machine variables set in the placement determination table, the virtual machine workload ID and conditional expression information in the placement determination table, and the virtual machine workload ID and conditional expression information in the placement table Comparison means to compare,
As a result of the comparison, if neither of them is exclusive, the virtual machine workload ID and the conditional expression information in the placement determination table are associated with the physical machine variable in the placement determination table. Writing means for writing to the arrangement table;
As a result of the comparison, if at least one of the two is in an exclusive relationship, the physical machine variable in the placement determination table is changed to another physical machine variable, and the physical machine variable corresponding to the changed physical machine variable is changed. Number determination means for determining whether the number of machines exceeds the maximum number of physical machines,
If the result of the determination by the number determination means is negative, a first re-execution means that re-executes the comparison means,
If the result of determination by the number determination means exceeds the maximum number of physical machines, conditional expression deletion means for deleting conditional expression information having the lowest exclusive priority from the conditional expression information in the conditional expression storage means;
A second re-execution unit that initializes the arrangement table and the arrangement determination table after the deletion and re-executes the setting unit and the comparison unit;
An arrangement unit that, after all virtual machine workload IDs are written in the arrangement table, arranges the virtual machine indicated by the virtual machine workload ID in the arrangement table on the physical machine indicated by the physical machine variable in the arrangement table;
Virtual machine placement program to function as
請求項1に記載の仮想マシン配置プログラムにおいて、
前記比較手段は、
前記比較により、前記配置決定用テーブル内の条件式情報に基づいて、前記配置テーブル内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す前記比較の結果を得る第1の比較結果取得手段と、
前記比較により、前記配置テーブル内の条件式情報に基づいて、前記配置決定用テーブル内の仮想マシンワークロードIDが排他される関係にあるか否かを判定し、この判定結果を示す前記比較の結果を得る第2の比較結果取得手段と、
を含んでいることを特徴とする仮想マシン配置プログラム。
In the virtual machine arrangement program according to claim 1,
The comparison means includes
Based on the conditional expression information in the arrangement determination table, the comparison determines whether or not the virtual machine workload ID in the arrangement table is in an exclusive relationship, and the comparison result indicating the determination result A first comparison result obtaining means for obtaining a result;
Based on the conditional expression information in the arrangement table, the comparison determines whether or not the virtual machine workload ID in the arrangement determination table is in an exclusive relationship, and the comparison result indicating the determination result is determined. A second comparison result acquisition means for obtaining a result;
A virtual machine placement program characterized by comprising:
請求項1又は請求項2に記載の仮想マシン配置プログラムにおいて、
前記設定手段は、前記仮想マシンワークロードID及び条件式情報の配置決定用テーブルへの設定順序を示す順列を記録する設定順序記録手段、を含んでおり、
前記条件式削除手段は、
前記削除を実行する前に、全ての前記仮想マシンワークロードID及び条件式情報の順列のうち、前記設定順序記録手段に記録された順列とは異なる順列があるか否かを判定する順列判定手段と、
前記順列判定手段による判定の結果、前記異なる順列がある場合には、前記配置テーブル及び前記配置決定用テーブルを初期化し、当該異なる順列に基づいて前記設定手段及び前記比較手段を再実行する手段と、
前記順列判定手段による判定の結果、否の場合には、前記削除を実行する手段と、
を含んでいることを特徴とする仮想マシン配置プログラム。
In the virtual machine arrangement program according to claim 1 or 2,
The setting means includes setting order recording means for recording a permutation indicating a setting order of the virtual machine workload ID and the conditional expression information in the arrangement determination table;
The conditional expression deleting means is:
Before executing the deletion, permutation determination means for determining whether there is a permutation different from the permutation recorded in the setting order recording means among all permutations of the virtual machine workload ID and conditional expression information. When,
If there is the different permutation as a result of the determination by the permutation determining means, the arrangement table and the arrangement determination table are initialized, and the setting means and the comparison means are re-executed based on the different permutation; ,
If the result of determination by the permutation determination means is negative, means for executing the deletion;
A virtual machine placement program characterized by comprising:
請求項1乃至請求項3のいずれか1項に記載の仮想マシン配置プログラムにおいて、
前記設定手段は、前記書込手段による書込みの後、物理マシン変数を初期値に設定すると共に、現時点で前記配置テーブルに書込み前の仮想マシンワークロードID及び条件式情報を前記配置決定用テーブルに設定する手段、として前記仮想マシン配置装置を更に機能させる仮想マシン配置プログラム。
In the virtual machine arrangement program according to any one of claims 1 to 3,
The setting means sets a physical machine variable to an initial value after writing by the writing means, and stores the virtual machine workload ID and conditional expression information before writing in the placement table at the present time in the placement determination table. A virtual machine placement program for further functioning the virtual machine placement device as means for setting.
最大物理マシン台数よりも多い台数の仮想マシンを前記最大物理マシン台数の物理マシンに配置可能な仮想マシン配置装置であって、
前記各仮想マシンの仮想マシンワークロードID毎に、排他したい仮想マシンワークロードID及び排他優先度を含む条件式情報を記憶する条件式記憶手段と、
前記各物理マシンを示す物理マシン変数毎に、前記各仮想マシンの仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置テーブルを記憶する配置テーブル記憶手段と、
前記配置テーブルに書込む前の物理マシン変数、前記仮想マシンワークロードID及び当該仮想マシンワークロードIDに対応する条件式情報を関連付けた配置決定用テーブルを記憶するための配置決定用テーブル記憶手段と、
前記配置テーブルに書込む前の物理マシン変数、仮想マシンワークロードID及び条件式情報を前記配置決定用テーブルに設定する設定手段と、
前記配置決定用テーブルに設定された物理マシン変数に関連付けて、前記配置決定用テーブル内の仮想マシンワークロードID及び条件式情報と、前記配置テーブル内の仮想マシンワークロードID及び条件式情報とを比較する比較手段と、
前記比較の結果、両者のいずれも排他される関係にない場合には、前記配置決定用テーブル内の物理マシン変数に関連付けて当該配置決定用テーブル内の仮想マシンワークロードID及び条件式情報を前記配置テーブルに書込む書込手段と、
前記比較の結果、両者の少なくとも一方が排他される関係にある場合には、前記配置決定用テーブル内の物理マシン変数を他の物理マシン変数に変更し、変更後の物理マシン変数に対応する物理マシン台数が前記最大物理マシン台数を超えたか否かを判定する台数判定手段と、
前記台数判定手段による判定の結果、否の場合には、前記比較手段を再実行する第1再実行手段と、
前記台数判定手段による判定の結果、最大物理マシン台数を超えた場合には、前記条件式記憶手段内の条件式情報のうち、排他優先度が最も低い条件式情報を削除する条件式削除手段と、
前記削除の後、前記配置テーブル及び前記配置決定用テーブルを初期化して前記設定手段及び前記比較手段を再実行する第2再実行手段と、
前記配置テーブルに全ての仮想マシンワークロードIDが書き込まれた後、当該配置テーブル内の仮想マシンワークロードIDが示す仮想マシンを当該配置テーブル内の物理マシン変数が示す物理マシンに配置する配置手段と、
を備えたことを特徴とする仮想マシン配置装置。
A virtual machine placement device capable of placing more virtual machines than the maximum number of physical machines on the physical machines of the maximum number of physical machines,
Conditional expression storage means for storing conditional expression information including a virtual machine workload ID to be excluded and an exclusive priority for each virtual machine workload ID of each virtual machine;
For each physical machine variable indicating each physical machine, a placement table storage unit that stores a placement table that associates a virtual machine workload ID of each virtual machine and conditional expression information corresponding to the virtual machine workload ID;
An arrangement determination table storage means for storing an arrangement determination table in which physical machine variables before writing to the arrangement table, the virtual machine workload ID, and conditional expression information corresponding to the virtual machine workload ID are associated with each other; ,
Setting means for setting the physical machine variable, virtual machine workload ID and conditional expression information before writing in the arrangement table in the arrangement determining table;
In association with the physical machine variables set in the placement determination table, the virtual machine workload ID and conditional expression information in the placement determination table, and the virtual machine workload ID and conditional expression information in the placement table A comparison means for comparing;
As a result of the comparison, if neither of them is exclusive, the virtual machine workload ID and the conditional expression information in the placement determination table are associated with the physical machine variable in the placement determination table. Writing means for writing to the arrangement table;
As a result of the comparison, if at least one of the two is in an exclusive relationship, the physical machine variable in the placement determination table is changed to another physical machine variable, and the physical machine variable corresponding to the changed physical machine variable is changed. Number determination means for determining whether the number of machines exceeds the maximum number of physical machines;
If the result of determination by the number determination means is NO, first re-execution means for re-execution of the comparison means;
If the number of physical machines exceeds the maximum number of physical machines as a result of the determination by the number determination unit, a conditional expression deletion unit that deletes conditional expression information having the lowest exclusive priority among the conditional expression information in the conditional expression storage unit; ,
After the deletion, a second re-execution unit that initializes the arrangement table and the arrangement determination table and re-executes the setting unit and the comparison unit;
Arrangement means for arranging a virtual machine indicated by the virtual machine workload ID in the arrangement table on a physical machine indicated by a physical machine variable in the arrangement table after all virtual machine workload IDs are written in the arrangement table; ,
A virtual machine placement device comprising:
JP2009170459A 2009-07-21 2009-07-21 Virtual machine arrangement program and device Withdrawn JP2011028328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009170459A JP2011028328A (en) 2009-07-21 2009-07-21 Virtual machine arrangement program and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009170459A JP2011028328A (en) 2009-07-21 2009-07-21 Virtual machine arrangement program and device

Publications (1)

Publication Number Publication Date
JP2011028328A true JP2011028328A (en) 2011-02-10

Family

ID=43637041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009170459A Withdrawn JP2011028328A (en) 2009-07-21 2009-07-21 Virtual machine arrangement program and device

Country Status (1)

Country Link
JP (1) JP2011028328A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034403A (en) * 2009-08-03 2011-02-17 Ntt Data Corp Apparatus and method for executing service
JP2012198631A (en) * 2011-03-18 2012-10-18 Ntt Data Corp Virtual machine arrangement device, virtual machine arrangement method and virtual machine arrangement program
JP2012215937A (en) * 2011-03-31 2012-11-08 Hitachi Solutions Ltd Scale-up/down method and system using stream type replication function of database
JPWO2014147802A1 (en) * 2013-03-21 2017-02-16 富士通株式会社 Information processing apparatus, resource allocation method, and program
WO2024034001A1 (en) * 2022-08-09 2024-02-15 三菱電機株式会社 Information processing apparatus, information processing method, configuration apparatus, and configuration method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011034403A (en) * 2009-08-03 2011-02-17 Ntt Data Corp Apparatus and method for executing service
JP2012198631A (en) * 2011-03-18 2012-10-18 Ntt Data Corp Virtual machine arrangement device, virtual machine arrangement method and virtual machine arrangement program
JP2012215937A (en) * 2011-03-31 2012-11-08 Hitachi Solutions Ltd Scale-up/down method and system using stream type replication function of database
JPWO2014147802A1 (en) * 2013-03-21 2017-02-16 富士通株式会社 Information processing apparatus, resource allocation method, and program
WO2024034001A1 (en) * 2022-08-09 2024-02-15 三菱電機株式会社 Information processing apparatus, information processing method, configuration apparatus, and configuration method

Similar Documents

Publication Publication Date Title
US11055181B2 (en) Unique identifiers for data replication, migration, failover operations and failback operations
US9817606B1 (en) System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment
US10552483B2 (en) Mechanism for performing lockless rolling upgrade of NoSQL database
JP4592814B2 (en) Information processing device
US20160203008A1 (en) Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management
US10061669B2 (en) Mechanism for providing real time replication status information in a networked virtualization environment for storage management
JP2020535559A (en) Resource scheduling methods, scheduling servers, cloud computing systems, and storage media
JP2011028328A (en) Virtual machine arrangement program and device
JP2015038644A (en) Computer and method of updating virtual machine
WO2019211992A1 (en) System, server, program, and method for detecting user&#39;s foul play in game
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
US20100205410A1 (en) Data Processing
JP2009075877A (en) Information processing system and monitoring method
WO2012124017A1 (en) Command control method and command control program
JP6828253B2 (en) Backup control device, backup control method and program
US10430287B2 (en) Computer
US20110314203A1 (en) Resource adjustment methods and systems for virtual machines
JP6680896B2 (en) Method and apparatus for replicating data between storage systems
CN111506389A (en) Virtual machine starting method and device
JP5832592B1 (en) Data management device
JP2015114841A (en) Information processing device, control program, and data movement method
US11972245B2 (en) Proactive prevention of data unavailability and data loss
JP6731620B2 (en) Computer system and storage device activation control method
US20230342135A1 (en) Proactive prevention of data unavailability and data loss
US20220239555A1 (en) Remediation of a system to new desired state using configuration dependency graph

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20121002