JP3861087B2 - Virtual machine management apparatus and program - Google Patents

Virtual machine management apparatus and program Download PDF

Info

Publication number
JP3861087B2
JP3861087B2 JP2003349017A JP2003349017A JP3861087B2 JP 3861087 B2 JP3861087 B2 JP 3861087B2 JP 2003349017 A JP2003349017 A JP 2003349017A JP 2003349017 A JP2003349017 A JP 2003349017A JP 3861087 B2 JP3861087 B2 JP 3861087B2
Authority
JP
Japan
Prior art keywords
virtual machine
server
performance
predetermined time
combination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003349017A
Other languages
Japanese (ja)
Other versions
JP2005115653A (en
Inventor
健大郎 田代
直樹 中山
忍 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2003349017A priority Critical patent/JP3861087B2/en
Publication of JP2005115653A publication Critical patent/JP2005115653A/en
Application granted granted Critical
Publication of JP3861087B2 publication Critical patent/JP3861087B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

この発明は、複数のサーバに複数の仮想マシンを最適配置する仮想マシン管理装置等に関する。   The present invention relates to a virtual machine management apparatus that optimally arranges a plurality of virtual machines on a plurality of servers.

従来、サーバのマシン資源をソフトウェアを使って複数に分割して独立させ、1台のサーバ上に複数の仮想マシンを同時に稼働させる仮想マシン(VM:Vertual Machine)技術が知られている。このような仮想マシンシステムをより効率的に稼働させるために仮想マシンをサーバ上に最適配置する技術が考案されている。   2. Description of the Related Art Conventionally, a virtual machine (VM) technology is known in which a server machine resource is divided into a plurality of pieces using software and independent, and a plurality of virtual machines are simultaneously operated on one server. In order to operate such a virtual machine system more efficiently, a technique for optimally arranging virtual machines on a server has been devised.

例えば、1台のサーバ上で複数の仮想マシンを稼働させるシステムにおいて、仮想マシンへの資源の割り当てを各仮想マシンの負荷量に応じて動的に行う仮想計算機システムもある(特許文献1参照)。
特開2002−202959号公報(第6頁、第1図)
For example, in a system that operates a plurality of virtual machines on one server, there is also a virtual computer system that dynamically allocates resources to virtual machines according to the load amount of each virtual machine (see Patent Document 1). .
JP 2002-202959 A (page 6, FIG. 1)

上記のように、従来のシステムは、複数の仮想マシンを1台のサーバ上で稼働させて管理するものであり、複数台のサーバを用いて仮想マシンを稼働させる場合には、各サーバに配置した仮想マシンをサーバ毎に独立して管理を行うため、仮想マシンの稼働状況等によってはサーバ間に負荷の偏りが生じていた。   As described above, the conventional system manages a plurality of virtual machines by operating them on a single server. When a virtual machine is operated using a plurality of servers, it is arranged on each server. Since the virtual machines are managed independently for each server, there is a load imbalance among the servers depending on the operating status of the virtual machines.

本発明は、上記実状に鑑みてなされたものであり、複数の仮想マシンを複数のサーバで効率良く稼働させることができる仮想マシン管理装置等を提供することを目的とする。
また、本発明は、複数のサーバにまたがって仮想マシンの最適配置を行うことができる仮想マシン管理装置等を提供することを他の目的とする。
The present invention has been made in view of the above circumstances, and an object thereof is to provide a virtual machine management apparatus and the like that can efficiently operate a plurality of virtual machines on a plurality of servers.
Another object of the present invention is to provide a virtual machine management apparatus and the like that can perform optimal placement of virtual machines across a plurality of servers.

上記目的を達成するため、この発明の第1の観点に係る仮想マシン管理装置は、
複数の仮想マシンを稼働させる複数のサーバとネットワークを介して接続される仮想マシン管理装置であって、
第1の所定期間において、それぞれの仮想マシン毎に、所定時間毎に取得されたパフォーマンスを示す実測データを記憶する稼働情報管理データベースと、
各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを前記稼働情報管理データベースから読み出す読出手段と、
前記読み出した各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを用いて、前記所定時間毎の、各仮想マシンを複数のサーバのいずれかで稼働させた場合の各時間における各仮想マシンのパフォーマンス値を求め、前記求められた所定時間毎の前記仮想マシンのパフォーマンス値が前記所定時間を複数集めた第2の所定期間において最大となる、仮想マシンとサーバの組み合わせを算出する組み合わせ算出手段と、
前記組み合わせ算出手段により算出された仮想マシンとサーバの組み合わせに従って、各仮想マシンのファイルを当該仮想マシンに対応するサーバの記憶領域に格納して各仮想マシンの再配置を行う手段と、
を備えることを特徴とする。
In order to achieve the above object, a virtual machine management device according to the first aspect of the present invention provides:
A virtual machine management apparatus connected via a network to a plurality of servers that operate a plurality of virtual machines,
In the first predetermined period, for each virtual machine, an operation information management database that stores actual measurement data indicating performance acquired every predetermined time;
Reading means for reading actual measurement data indicating the performance of each virtual machine every predetermined time from the operation information management database;
Using the actual measurement data indicating the performance of each read virtual machine for each predetermined time, the virtual machine at each time when each virtual machine is operated on any of a plurality of servers for each predetermined time . A combination calculation unit that calculates a performance value , and calculates a combination of the virtual machine and the server in which the performance value of the virtual machine for each determined predetermined time is maximized in a second predetermined period in which a plurality of the predetermined times are collected ; ,
Means for relocating each virtual machine by storing a file of each virtual machine in a storage area of the server corresponding to the virtual machine according to the combination of the virtual machine and the server calculated by the combination calculating means;
It is characterized by providing.

このような構成によれば、全ての仮想マシンサーバの資源を利用して各仮想マシンのパフォーマンスが最大となるような仮想マシンと仮想マシンサーバの組み合わせを求め、この組み合わせに基づいて仮想マシンの配置を行うため、複数のサーバにまたがって仮想マシンの最適配置を行うことを可能とし、複数の仮想マシンを複数のサーバで効率良く稼働させることができる。   According to such a configuration, a combination of a virtual machine and a virtual machine server that uses the resources of all virtual machine servers to maximize the performance of each virtual machine is obtained, and the placement of the virtual machines is based on this combination. Therefore, it is possible to optimally arrange virtual machines across a plurality of servers, and a plurality of virtual machines can be efficiently operated on a plurality of servers.

前記読出手段は、各前記サーバの記憶容量に関するデータと、各前記仮想マシンの記憶容量に関するデータと、を前記稼働情報管理データベースからさらに読み出してもよく、
前記組み合わせ算出手段は、前記読出手段により読み出した、各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データと、各前記サーバの記憶容量に関するデータと、各前記仮想マシンの記憶容量に関するデータと、を算出条件に用いて、前記仮想マシンとサーバの組み合わせを算出してもよい。
The reading means may further read data relating to the storage capacity of each server and data relating to the storage capacity of each virtual machine from the operation information management database,
The combination calculation means is the measurement data read by the reading means and indicating the performance of each virtual machine every predetermined time, the data relating to the storage capacity of each server, the data relating to the storage capacity of each virtual machine, May be used as a calculation condition to calculate a combination of the virtual machine and the server.

仮想マシンの作成要求を受信する手段と、
各前記サーバの記憶領域の使用量と、前記受信した作成要求が示す仮想マシンのファイル容量と、に基づいて、前記作成要求が示す仮想マシンのファイルを記憶領域に格納できるサーバを選択する手段と、
前記選択したサーバの記憶領域に、前記作成要求が示す仮想マシンのファイルを格納させる手段と、
を備えてもよい。
Means for receiving a virtual machine creation request;
Means for selecting a server capable of storing the virtual machine file indicated by the creation request in the storage area based on the usage amount of the storage area of each server and the file capacity of the virtual machine indicated by the received creation request; ,
Means for storing a virtual machine file indicated by the creation request in the storage area of the selected server;
May be provided.

また、この発明の第2の観点に係るプログラムは、
複数の仮想マシンを稼働させる複数のサーバとネットワークを介して接続されるコンピュータに、
第1の所定期間において、それぞれの仮想マシン毎に、所定時間毎に取得されたパフォーマンスを示す実測データを稼働情報管理データベースに記憶する記憶ステップ、
各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを前記稼働情報管理データベースから読み出す読出ステップ、
前記読出ステップにより読み出した、各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを用いて、前記所定時間毎の、各仮想マシンを複数のサーバのいずれかで稼働させた場合の各時間における各仮想マシンのパフォーマンス値を求め、前記求められた所定時間毎の前記仮想マシンのパフォーマンス値が前記所定時間を複数集めた第2の所定期間において最大となる、仮想マシンとサーバの組み合わせを算出する組み合わせ算出ステップ、
前記組み合わせ算出ステップにより算出された仮想マシンとサーバの組み合わせに従って、各仮想マシンのファイルを当該仮想マシンに対応するサーバの記憶領域に格納させて各仮想マシンの再配置を行うステップ、
を実行させる。
A program according to the second aspect of the present invention is
To a computer connected to multiple servers running multiple virtual machines via a network,
A storage step of storing, in the operation information management database, actual measurement data indicating performance acquired at predetermined time intervals for each virtual machine in the first predetermined period;
A step of reading out actual measurement data indicating the performance of each virtual machine every predetermined time from the operation information management database;
At each time when each virtual machine is operated on one of a plurality of servers for each predetermined time , using the measured data indicating the performance of each virtual machine for each predetermined time read by the reading step. A performance value of each virtual machine is obtained, and a combination of a virtual machine and a server is calculated such that the performance value of the virtual machine at the obtained predetermined time becomes the maximum in a second predetermined period in which a plurality of the predetermined times are collected. Combination calculation step,
Relocating each virtual machine by storing the file of each virtual machine in the storage area of the server corresponding to the virtual machine according to the combination of the virtual machine and the server calculated by the combination calculating step;
Is executed.

本発明によれば、複数の仮想マシンを複数のサーバで効率良く稼働させることができる。   According to the present invention, a plurality of virtual machines can be efficiently operated on a plurality of servers.

以下、本発明の実施の形態に係る仮想マシンシステムを図面を参照して説明する。
本発明の実施形態に係る仮想マシンシステムの構成を図1に示す。この仮想マシンシステムは、クライアント端末1と、仮想マシン管理サーバ2と、仮想マシンサーバ3と、ファイルサーバ4と、を備える。仮想マシン管理サーバ2と、仮想マシンサーバ3と、ファイルサーバ4は、インターネット等のネットワーク10により接続されている。また、クライアント端末1は、LAN等のネットワークを介して仮想マシン管理サーバ2に接続されている。
Hereinafter, a virtual machine system according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 shows the configuration of a virtual machine system according to an embodiment of the present invention. This virtual machine system includes a client terminal 1, a virtual machine management server 2, a virtual machine server 3, and a file server 4. The virtual machine management server 2, the virtual machine server 3, and the file server 4 are connected by a network 10 such as the Internet. The client terminal 1 is connected to the virtual machine management server 2 via a network such as a LAN.

クライアント端末1は、管理者により操作される端末であり、制御部、記憶部、表示部、入力部、通信制御部等を備えるコンピュータから構成される。クラアイント端末1の制御部は、記憶部に記憶される動作プログラム等を読み出して実行することにより、仮想マシン管理サーバ2に接続し、各種要求の送信、送信した要求に応じたデータの受信及び表示等の処理を行う。   The client terminal 1 is a terminal operated by an administrator, and includes a computer including a control unit, a storage unit, a display unit, an input unit, a communication control unit, and the like. The control unit of the client terminal 1 is connected to the virtual machine management server 2 by reading and executing an operation program stored in the storage unit, and transmits various requests, and receives and displays data according to the transmitted requests. And so on.

仮想マシン管理サーバ2は、例えば図2に示すように、記憶部21、制御部22、通信制御部23等を備えるコンピュータから構成される。   For example, as shown in FIG. 2, the virtual machine management server 2 includes a computer including a storage unit 21, a control unit 22, a communication control unit 23, and the like.

記憶部21は、例えば、ハードディスク装置等から構成される。記憶部21は、制御部22が実行するための動作プログラム及び処理に必要な各種データを記憶する。また、記憶部21は、VMサーバ管理DB211、ファイルサーバ管理DB212、VM管理DB213、VMイメージファイル管理DB214、稼働状況管理DB215等を備える。   The storage unit 21 is composed of, for example, a hard disk device. The storage unit 21 stores an operation program to be executed by the control unit 22 and various data necessary for processing. The storage unit 21 includes a VM server management DB 211, a file server management DB 212, a VM management DB 213, a VM image file management DB 214, an operation status management DB 215, and the like.

VMサーバ管理DB211は、各仮想マシンサーバ3に関する情報(仮想マシンサーバ情報)を記憶する。仮想マシンサーバ情報は、例えば図3に示すように、仮想マシンサーバ名、ホストOS名、仮想マシンソフトウェア名、IPアドレス、CPUサイクル数、メモリ容量、ハードディスク容量、ハードディスクIO帯域幅、ネットワークIO帯域幅、ベンチマーク結果、当該仮想マシンサーバで稼働する仮想マシンの仮想マシンID等のデータを含む。   The VM server management DB 211 stores information related to each virtual machine server 3 (virtual machine server information). For example, as shown in FIG. 3, the virtual machine server information includes a virtual machine server name, a host OS name, a virtual machine software name, an IP address, a CPU cycle number, a memory capacity, a hard disk capacity, a hard disk IO bandwidth, and a network IO bandwidth. , Including benchmark results, virtual machine IDs of virtual machines running on the virtual machine server, and the like.

ファイルサーバ管理DB212は、各ファイルサーバ4に関する情報(ファイルサーバ情報)を記憶する。ファイルサーバ情報は、例えば図4に示すように、IPアドレス、サーバ名、ハードディスク容量等のデータを含む。   The file server management DB 212 stores information (file server information) regarding each file server 4. The file server information includes data such as an IP address, a server name, and a hard disk capacity as shown in FIG.

VM管理DB213は、各仮想マシンサーバ3上で稼働させる仮想マシンに関する情報(仮想マシン情報)を記憶する。仮想マシン情報は、例えば図5に示すように、仮想マシンID、ユーザ名、OS名、CPUサイクル、メモリ容量、ハードディスク容量、IPアドレス、当該仮想マシンのパフォーマンスデータを特定するためのパフォーマンスID等のデータを含む。   The VM management DB 213 stores information (virtual machine information) related to virtual machines that run on each virtual machine server 3. For example, as shown in FIG. 5, the virtual machine information includes a virtual machine ID, a user name, an OS name, a CPU cycle, a memory capacity, a hard disk capacity, an IP address, a performance ID for specifying the performance data of the virtual machine, and the like. Contains data.

VMイメージファイル管理DB214は、仮想マシンのイメージファイル(ディスクやメモリの内容をそのままファイル化したもの)に関する情報(イメージファイル情報)を記憶する。イメージファイル情報は、例えば図6に示すように、イメージファイル名(モデル名)、OS名、メモリ容量、ハードディスク容量、各ソフトウェア名、当該イメージファイル保存先のファイルサーバのIPアドレス、当該イメージファイル保存先のファイルパス等のデータを含む。   The VM image file management DB 214 stores information (image file information) related to the image file of the virtual machine (the contents of the disk and the memory as a file). For example, as shown in FIG. 6, the image file information includes an image file name (model name), an OS name, a memory capacity, a hard disk capacity, each software name, an IP address of a file server that stores the image file, and the image file storage. Includes data such as the previous file path.

稼働状況管理DB215は、各仮想マシンについて所定時間毎(例えば1時間毎)に取得された、パフォーマンスの実測データ(パフォーマンスデータ)を所定期間分(例えば、1ヶ月分)記憶する。本実施例では、例えば図7に示すように、1時間毎(0時、1時、・・・、23時)に取得された1ヶ月分のパフォーマンスデータが仮想マシンID毎に記憶されることとする。   The operating status management DB 215 stores actual performance data (performance data) acquired for each virtual machine at predetermined time intervals (for example, every hour) for a predetermined period (for example, for one month). In the present embodiment, for example, as shown in FIG. 7, performance data for one month acquired every hour (0 hour, 1 hour,..., 23:00) is stored for each virtual machine ID. And

制御部22は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成され、仮想マシン管理サーバ2全体を制御する。制御部22は、記憶部21に予め記憶された動作プログラム等を読み出して実行することにより、VM(仮想マシン:Vertual Machine)サーバ管理部221、VM最適配置部222、VM自動作成部223等を論理的に実現する。   The control unit 22 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and controls the entire virtual machine management server 2. The control unit 22 reads out and executes an operation program or the like stored in advance in the storage unit 21, thereby causing a VM (Virtual Machine) server management unit 221, a VM optimum arrangement unit 222, a VM automatic creation unit 223, and the like. Realize logically.

VMサーバ管理部221は、クライアント端末1からの仮想マシン一覧要求を受信すると、各仮想マシンサーバ3に配置されている全仮想マシンのID(仮想マシンID)を記憶部21のVMサーバ管理DB211から読み出す。そして、読み出した各仮想マシンIDに対応する仮想マシン情報をVM管理DB213から読み出し、読み出した仮想マシン情報の全部又は一部を表示する画面データを生成して要求元のクライアント端末1に送信する。   When receiving the virtual machine list request from the client terminal 1, the VM server management unit 221 obtains the IDs (virtual machine IDs) of all virtual machines arranged in each virtual machine server 3 from the VM server management DB 211 of the storage unit 21. read out. Then, the virtual machine information corresponding to each read virtual machine ID is read from the VM management DB 213, screen data for displaying all or a part of the read virtual machine information is generated, and transmitted to the requesting client terminal 1.

VM最適配置部222は、稼働状況管理DB215に記憶されている各仮想マシンのパフォーマンスデータに基づいて、各仮想マシンのパフォーマンスが最大になるような仮想マシンサーバ3と仮想マシンの組み合わせを算出し、算出した組み合わせに基づいて各仮想マシンを再配置する最適配置処理を行う。通常、ユーザが仮想マシンを使用する場合、ユーザ毎に利用する時間帯が異なることが想定されるため、この最適配置処理では、各仮想マシンの稼働する時間帯が異なることに着目した最適配置を行うものである。   The VM optimal arrangement unit 222 calculates a combination of the virtual machine server 3 and the virtual machine that maximizes the performance of each virtual machine based on the performance data of each virtual machine stored in the operation status management DB 215, Based on the calculated combination, optimal placement processing for rearranging each virtual machine is performed. Normally, when a user uses a virtual machine, it is assumed that the time zone to be used is different for each user. Therefore, in this optimum placement process, an optimum placement that focuses on the time zone in which each virtual machine operates is different. Is what you do.

具体的には、まず、各仮想マシンのパフォーマンスが最大となるような仮想マシンサーバと仮想マシンの組み合わせを求めるために、例えば、VM管理DB213に登録されている全仮想マシンM(i=1、2、・・・、N)を各仮想マシンサーバS(j=1,2,・・・,J)上に配置した場合に出来るだけ多くの仮想マシンMの性能aが、出来るだけ多くの時間t(t=1,2,・・・,23(時))で最大となる組み合わせを、以下の(1)〜(3)に示す算出方法に従って算出する。なお、仮想マシンMのハードディスク容量をh(i=1,2,・・・)、メモリ容量をr(i=1,2,・・・)、仮想マシンサーバSのハードディスク容量をH(j=1,2,・・・)、メモリ容量をR(j=1,2,・・・)、性能をA(j=1,2,・・・)とし、これらのデータは記憶部21に記憶されている。また、性能Aは例えばベンチマークテストの実行結果等である。また、xijは、仮想マシンサーバSにおける仮想マシンMの配置の有無を示すものであり、仮想マシンMを仮想マシンサーバSに配置する場合にはxij=1とし、配置しない場合にはxij=0とする。
また、Yijは、仮想マシンサーバSにおける仮想マシンMの電源ON/OFFを示すものであり、仮想マシンMの電源が入っている場合には、Yij=1とし、入っていない場合には、、Yij=0とする。また、再配置後における仮想マシンMの稼働時の性能aは、予め設定されている仮想マシンの最低性能amin以上であることとする。
Specifically, first, in order to obtain a combination of a virtual machine server and a virtual machine that maximizes the performance of each virtual machine, for example, all virtual machines M i (i = 1) registered in the VM management DB 213 are used. ,..., N) are arranged on each virtual machine server S j (j = 1, 2,..., J), the performance a i of as many virtual machines M i as possible is possible. The combination that becomes the maximum at as many times t (t = 1, 2,..., 23 (hours)) is calculated according to the calculation methods shown in the following (1) to (3). Note that the hard disk capacity of the virtual machine M i is h i (i = 1, 2,...), The memory capacity is r i (i = 1, 2,...), And the hard disk capacity of the virtual machine server S j is H j (j = 1, 2,...), The memory capacity is R j (j = 1, 2,...), And the performance is A j (j = 1, 2,...). Data is stored in the storage unit 21. The performance A j is, for example, a benchmark test execution result. Further, x ij is for indicating the presence or absence of virtual machine placement M i in the virtual machine server S j, and x ij = 1 in the case of arranging the virtual machine M i to a virtual machine server S j, do not place In this case, x ij = 0.
Y ij indicates ON / OFF of the power of the virtual machine M i in the virtual machine server S j . When the power of the virtual machine M i is turned on, Y ij = 1 and is not included. In this case, Y ij = 0. Further, it is assumed that the performance a i during operation of the virtual machine M i after the rearrangement is equal to or higher than the preset minimum performance a min of the virtual machine.

(1)仮想マシンサーバS(j=1,2,・・・)上において、各時間(時刻)tに稼働している仮想マシン数njtを、各時間における仮想マシンのパフォーマンスの実測データに基づいて算出する。この稼働マシン数njtの算出処理の詳細については後述する。
(2)(数6)式の条件を満たす仮想マシンMのt時(t=0,1,・・・,23)での性能aitを(数1)式により求める。
(3)(数1)式、(数3)式、(数4)式、(数5)式の条件下で、(数2)式の値が最大となる組み合わせを組み合わせ最適化アルゴリズム等を用いて算出する。使用する組み合わせ最適化アルゴリズムは任意であり、例えば、遺伝的アルゴリズムやシミュレーティッド・アニーリング手法等を用いてもよい。
(1) On the virtual machine server S j (j = 1, 2,...), The number n jt of virtual machines operating at each time (time) t is used as the actual measurement data of the performance of the virtual machine at each time. Calculate based on Details of the processing for calculating the number of operating machines n jt will be described later.
(2) (6) when t satisfies the condition virtual machine M i of equation (t = 0,1, ···, 23 ) determined by the performance a it (number 1) in.
(3) Under the conditions of (Equation 1), (Equation 3), (Equation 4), and (Equation 5), the combination that optimizes the value of (Equation 2) is combined and an optimization algorithm is used. Use to calculate. The combination optimization algorithm to be used is arbitrary. For example, a genetic algorithm or a simulated annealing method may be used.

(数1)

Figure 0003861087
(数2)
Figure 0003861087
(数3)
Figure 0003861087
(数4)
Figure 0003861087
(数5)
Figure 0003861087
(数6)
Figure 0003861087
(Equation 1)
Figure 0003861087
(Equation 2)
Figure 0003861087
(Equation 3)
Figure 0003861087
(Equation 4)
Figure 0003861087
(Equation 5)
Figure 0003861087
(Equation 6)
Figure 0003861087

VM最適配置部222は、上記(1)〜(3)に示す算出方法に従って算出した組み合わせに基づいて、ファイルサーバ4をテンポラリ領域として利用する等して、各仮想マシンのイメージファイルを当該仮想マシンに対応する仮想マシンサーバ3の記憶領域にコピーすることにより、各仮想マシンの再配置を行う。
また、VM最適配置部222は、各仮想マシンサーバ3からパフォーマンスデータを受信し、稼働状況管理DB215に記録する。
The VM optimum arrangement unit 222 uses the file server 4 as a temporary area based on the combinations calculated according to the calculation methods shown in the above (1) to (3), etc. The virtual machines are rearranged by copying them to the storage area of the virtual machine server 3 corresponding to.
Further, the VM optimum arrangement unit 222 receives performance data from each virtual machine server 3 and records it in the operation status management DB 215.

VM自動作成部223は、クライアント端末1からの仮想マシンの作成要求に応答して、仮想マシンを自動作成する処理を行う。具体的には、クライアント端末1からの仮想マシンの作成要求を受信すると、VMイメージファイル管理DB214に登録されているイメージファイル情報を読み出し、その全部又は一部を表示する画面データを生成してクライアント端末1に送信する等して、ユーザ(管理者)によるイメージファイル名の入力を受け付ける。そして、入力されたイメージファイル名のイメージファイルについて、イメージファイル情報からイメージファイル保存先のファイルサーバ4のIPアドレス、当該イメージファイル保存先のファイルパス等のデータを取得し、選択されたイメージファイルのコピー先の仮想マシンサーバ3を決定し、ファイルサーバ4から該当するイメージファイルを読み出して仮想マシンサーバ3にコピーする。   The VM automatic creation unit 223 performs a process of automatically creating a virtual machine in response to a virtual machine creation request from the client terminal 1. Specifically, when a virtual machine creation request is received from the client terminal 1, the image file information registered in the VM image file management DB 214 is read out, and screen data for displaying all or part of the image file information is generated and the client is created. The input of the image file name by the user (administrator) is received by transmitting to the terminal 1 or the like. For the image file having the input image file name, data such as the IP address of the file server 4 of the image file storage destination and the file path of the image file storage destination is acquired from the image file information, and the selected image file The copy destination virtual machine server 3 is determined, the corresponding image file is read from the file server 4 and copied to the virtual machine server 3.

通信制御部23は、ネットワーク10を介して他のコンピュータとの間でデータ通信を行うためのものである。   The communication control unit 23 is for performing data communication with other computers via the network 10.

仮想マシンサーバ3は、仮想マシンを動作させるためのサーバであり、制御部、記憶部、通信制御部等を備えるコンピュータから構成される。
制御部は、CPU、ROM、RAM等から構成され、ハードディスク等の記憶部に予め記憶された各種プログラム等を読み出して実行することにより、複数の仮想マシンを論理的に実現する。仮想マシンサーバ3の論理構成の概略図の一例を図8に示す。図示されるように、物理マシン(CPU、メモリ、ハードディスク等)を制御するOS(ホストOS)等の上に、仮想マシンを制御するソフトウェア(仮想マシン制御プログラム)があり、例えば、この仮想マシン制御プログラムが、仮想マシンサーバ3の資源(プロセッサ、メモリ、ハードウェア等)を分割し、分割された資源を独立して使用する各仮想マシンを実現する。各仮想マシンの記憶部(割り当てられたメモリ又はハードディスク)には、OS、アプリケーション等の各種プログラム、仮想マシンID等の各種データが記憶される。各仮想マシンは、パフォーマンスデータを取得するプログラム(パフォーマンス取得プログラム)を所定時間毎(本実施例では1時間間隔)に実行し、実行結果(パフォーマンスデータ)を仮想マシンID、時刻データ(実行時刻等)等の情報とともに、仮想マシン管理サーバ2に送信する。なお、パフォーマンスデータは仮想マシンの性能を表すデータであればよく、その内容は任意であり、例えばCPU稼働率でもよく、また、所定の計算処理を実行させて結果が出力されるまでの時間でもよい。
The virtual machine server 3 is a server for operating a virtual machine, and includes a computer including a control unit, a storage unit, a communication control unit, and the like.
The control unit includes a CPU, a ROM, a RAM, and the like, and logically implements a plurality of virtual machines by reading and executing various programs stored in advance in a storage unit such as a hard disk. An example of a schematic diagram of the logical configuration of the virtual machine server 3 is shown in FIG. As shown in the figure, software (virtual machine control program) for controlling a virtual machine is provided on an OS (host OS) for controlling a physical machine (CPU, memory, hard disk, etc.). The program divides the resources (processor, memory, hardware, etc.) of the virtual machine server 3 and realizes each virtual machine that uses the divided resources independently. The storage unit (allocated memory or hard disk) of each virtual machine stores various programs such as OS and applications, and various data such as virtual machine IDs. Each virtual machine executes a program (performance acquisition program) for acquiring performance data at predetermined time intervals (one hour interval in this embodiment), and the execution result (performance data) is a virtual machine ID and time data (execution time, etc.) ) And the like are transmitted to the virtual machine management server 2. The performance data may be data representing the performance of the virtual machine, and the content thereof is arbitrary. For example, the CPU operation rate may be used, and the time until the result is output after executing a predetermined calculation process may be used. Good.

ファイルサーバ4は、制御部、記憶部、通信制御部等を備えるコンピュータから構成される。ファイルサーバ4の記憶部は、仮想マシンのイメージファイルを記憶しており、仮想マシン管理サーバ2からの要求に応じて、指定されたイメージファイルを読み出して送信する。   The file server 4 includes a computer that includes a control unit, a storage unit, a communication control unit, and the like. The storage unit of the file server 4 stores a virtual machine image file, and reads and transmits the designated image file in response to a request from the virtual machine management server 2.

次に、本実施形態に係る仮想マシンシステムの動作について説明する。
まず、仮想マシンを自動的に作成する自動作成処理について図9のフローチャートを参照して説明する。
まず、仮想マシン管理サーバ2の制御部22は、クライアント端末1からの仮想マシンの作成要求に応じて、VMイメージファイル管理DB214に登録されているイメージファイル情報を表示するとともに、イメージファイルを特定する情報(例えば、イメージファイル名等)の入力を受け付ける画面のデータをクライアント端末1に供給し、ユーザ(管理者)により入力されたイメージファイル名等のデータを受信する(ステップS1)。そして、入力されたイメージファイル名等に対応するイメージファイル情報をVMイメージファイル管理DB214から読み出し、指定されたイメージファイルが保存されているファイルサーバ4のIPアドレス、ファイルパス等を取得する(ステップS2)。
Next, the operation of the virtual machine system according to this embodiment will be described.
First, an automatic creation process for automatically creating a virtual machine will be described with reference to a flowchart of FIG.
First, the control unit 22 of the virtual machine management server 2 displays image file information registered in the VM image file management DB 214 and specifies an image file in response to a virtual machine creation request from the client terminal 1. Data of a screen for accepting input of information (for example, an image file name) is supplied to the client terminal 1, and data such as an image file name input by a user (administrator) is received (step S1). Then, the image file information corresponding to the input image file name and the like is read from the VM image file management DB 214, and the IP address, file path, and the like of the file server 4 where the designated image file is stored are acquired (step S2). ).

次に、制御部22は、仮想マシンサーバテーブルを初期化する(ステップS3)。仮想マシンサーバテーブルとは、仮想マシンサーバ3のIPアドレスと、各IPアドレスに対応する候補フラグと、が設定されるサーバ決定テーブルであり、この初期化処理では、VMサーバ管理DB211に登録されている全ての仮想マシンサーバ3のIPアドレスをテーブルに設定するとともに、全てのIPアドレスに対応する候補フラグに”0”を設定する。   Next, the control unit 22 initializes the virtual machine server table (step S3). The virtual machine server table is a server determination table in which the IP address of the virtual machine server 3 and candidate flags corresponding to each IP address are set. In this initialization process, the virtual machine server table is registered in the VM server management DB 211. The IP addresses of all existing virtual machine servers 3 are set in the table, and “0” is set in the candidate flags corresponding to all the IP addresses.

次に、制御部22は、サーバ決定テーブルからランダムにIPアドレスを選択し、選択したIPアドレスの仮想マシンサーバ3の仮想マシン情報をVMサーバ管理DB211を検索して参照し、その仮想マシンサーバ3に、ユーザから指定されたイメージファイルをコピーできるリソースが残っているか否か(即ち、仮想マシンサーバ3のハードディスクの空き容量のデータを取得し、その空き容量がイメージファイルのサイズよりも大きいか等)を判定する(ステップS4)。そして、選択された仮想マシンサーバ3に、イメージファイルをコピーできるリソースが残っていると判定された場合(ステップS4:YES)、その仮想マシンサーバ3にイメージファイルをコピーして(ステップS5)、本処理を終了する。   Next, the control unit 22 randomly selects an IP address from the server determination table, searches the VM server management DB 211 for the virtual machine information of the virtual machine server 3 of the selected IP address, and refers to the virtual machine server 3. Whether or not there are any remaining resources that can copy the image file designated by the user (that is, whether or not the free space data of the hard disk of the virtual machine server 3 is acquired and the free space is larger than the size of the image file) ) Is determined (step S4). If it is determined that there are still resources available for copying the image file in the selected virtual machine server 3 (step S4: YES), the image file is copied to the virtual machine server 3 (step S5). This process ends.

また、選択された仮想マシンサーバ3に、イメージファイルをコピーできるリソースが残っていないと判定された場合(ステップS4:NO)、その仮想マシンサーバ3に対応する候補フラグに”1”を設定し(ステップS6)、サーバ決定テーブルの候補フラグが全て”1”に設定されているかを判定し(ステップS7)、全て”1”に設定されている場合には(ステップS7:YES)、例えば「仮想マシンサーバを追加してください」等のエラーメッセージの表示画面をクライアント端末1に送信して表示させ(ステップS8)、本処理を終了する。   If it is determined that there are no remaining resources available for copying the image file in the selected virtual machine server 3 (step S4: NO), “1” is set in the candidate flag corresponding to the virtual machine server 3. (Step S6), it is determined whether all the candidate flags in the server determination table are set to “1” (Step S7). If all the candidate flags are set to “1” (Step S7: YES), for example, “ An error message display screen such as “Add a virtual machine server” is transmitted to the client terminal 1 for display (step S8), and the process is terminated.

また、サーバ決定テーブルの候補フラグが全て”1”に設定されていない場合には(ステップS7:NO)、ステップS4に戻り、次の仮想マシンサーバ3をランダムに決定し、イメージファイルをコピーできるリソースが残っているか否かの判定等を行う処理等を繰り返す。
なお、ステップS4における仮想マシンサーバ3を選択する処理では、対応する候補フラグに”1”が設定されていないIPアドレスを選択するものとする。具体的には、ランダムに選択したIPアドレスに対応するフラグが”1”の場合にはそのIPアドレスを棄てて、再度IPアドレスをランダムに選択することを繰り返すようにしてもよく、また、対応する候補フラグに”0”が設定されているIPアドレスを先に抽出し、その中からランダムに選択するようにしてもよい。
If all candidate flags in the server determination table are not set to “1” (step S7: NO), the process returns to step S4, the next virtual machine server 3 is determined at random, and the image file can be copied. The process of determining whether or not resources remain is repeated.
In the process of selecting the virtual machine server 3 in step S4, an IP address for which “1” is not set in the corresponding candidate flag is selected. Specifically, when the flag corresponding to the randomly selected IP address is “1”, the IP address may be discarded and the IP address may be selected at random again. An IP address in which “0” is set in the candidate flag to be extracted may be extracted first, and may be selected at random from the IP addresses.

次に、複数の仮想マシンサーバ3に対して複数の仮想マシンを最適配置するための最適配置処理について図10のフローチャートを参照して説明する。
まず、仮想マシン管理サーバ2の制御部22は、各仮想マシンのパフォーマンスデータを稼働状況管理DB215から読み出す(ステップS11)。
次に、制御部22は、仮想マシンサーバS(j=1,2,・・・)上において、各時間(時刻)tに稼働している仮想マシン数njtを算出する(ステップS12)。
Next, an optimal placement process for optimally placing a plurality of virtual machines on a plurality of virtual machine servers 3 will be described with reference to the flowchart of FIG.
First, the control unit 22 of the virtual machine management server 2 reads the performance data of each virtual machine from the operation status management DB 215 (step S11).
Next, the control unit 22 calculates the number n jt of virtual machines operating at each time (time) t on the virtual machine server S j (j = 1, 2,...) (Step S12). .

この稼働マシン数njtを算出する稼働マシン算出処理の詳細を図11のフローを参照して説明する。
制御部22は、所定の初期化処理(t時にサーバS上で稼働している仮想マシンの数njt=0,時間t=0、仮想マシンの電源Yij=0等)を行う(ステップS21)。
そして、VMサーバ管理DB211に登録されている仮想マシンサーバSの仮想マシンサーバ情報中の仮想マシンIDを1つ取り出し、取り出した仮想マシンIDに対応するパフォーマンスIDをVM管理DB213から取得し、そのパフォーマンスIDにより特定されるパフォーマンスデータを稼働状況管理DB215から読み出す(ステップS22)
The details of the working machine calculation process for calculating the number n jt of working machines will be described with reference to the flow of FIG.
The control unit 22 performs a predetermined initialization process (number of virtual machines running on the server S j at time t n jt = 0, time t = 0, virtual machine power supply Y ij = 0, etc.) (steps) S21).
Then, one virtual machine ID in the virtual machine server information of the virtual machine server S j registered in the VM server management DB 211 is extracted, and a performance ID corresponding to the extracted virtual machine ID is acquired from the VM management DB 213, The performance data specified by the performance ID is read from the operation status management DB 215 (step S22).

次に、ステップS22で読み出したパフォーマンスデータに基づいて、その仮想マシンMのd日(例えば、1,2,・・・,30)におけるt時(t=0,1,2,・・・,23)のパフォーマンスデータの値をPidt、各時間(時刻)tにおけるパフォーマンスデータの1ヶ月の平均値をPitとして、(数7)式により、時間(時刻)tにおける仮想マシンMのパフォーマンスの平均値Pitを算出する(ステップS23)。 Then, based on the read performance data in step S22, d date of the virtual machine M i (e.g., 1, 2, ..., 30) at t in (t = 0, 1, 2, ... , 23) is the performance data value P idt , and the average value of the performance data for one month at each time (time) t is P it , according to (Equation 7), the virtual machine M i at time (time) t It calculates an average value P it performance (step S23).

(数7)

Figure 0003861087
(Equation 7)
Figure 0003861087

そして、ステップS23で算出された平均値Pitが予め設定された最低パフォーマンス値Pth以上であるか否かを判別し(ステップS24)、最低パフォーマンス値Pth以上である場合には、その仮想マシンMが稼働しているとみなし、稼働マシン数njtに1だけ加算するとともに、Yij=1とする(ステップS25)。 Then, the average value P it calculated in step S23, it is determined whether or not a preset minimum performance value P th or more (step S24), and if it is the lowest performance value P th or more, the virtual Assuming that the machine M i is operating, 1 is added to the number n jt of operating machines, and Y ij = 1 (step S25).

ステップS25の処理の後、又は、ステップS24において平均値Pitが最低パフォーマンス値Pthより小さいと判別された場合には、仮想マシンサーバSの仮想マシンサーバ情報に登録されている全仮想マシンIDについて処理が完了したかを判定し(ステップS26)、完了していない場合には、ステップS22に戻って、次の未処理の仮想マシンIDを取り出し、それについて上記の処理(その仮想マシンMが稼働しているかを判定して、稼働している場合には稼働マシン数njtに1を加算する処理)を行う。
また、ステップS26において仮想マシンサーバ情報に登録されている全仮想マシンIDについて処理が完了したと判定された場合には、t=23であるか、即ち、全時間(0〜23時)について稼働マシン数njtを計数する処理が完了したかを判定し(ステップS27)、完了していない場合(t≠23の場合)には、tに1だけ加算して(ステップS28)ステップS23に戻り、次の時間tについて上記の処理を行う。
また、ステップS27において、t=23であると判定された場合には本処理を終了する。
After the process of step S25, or when it is determined in step S24 that the average value Pit is smaller than the minimum performance value Pth, all virtual machines registered in the virtual machine server information of the virtual machine server Sj It is determined whether the process has been completed for the ID (step S26). If the process has not been completed, the process returns to step S22, the next unprocessed virtual machine ID is extracted, and the above process (the virtual machine M) is extracted. It is determined whether i is operating, and if it is operating, a process of adding 1 to the number of operating machines n jt is performed.
If it is determined in step S26 that the processing has been completed for all virtual machine IDs registered in the virtual machine server information, t = 23, that is, operation is performed for the entire time (0 to 23:00). It is determined whether or not the process of counting the number of machines n jt has been completed (step S27). If it has not been completed (if t ≠ 23), 1 is added to t (step S28) and the process returns to step S23. The above processing is performed for the next time t.
If it is determined in step S27 that t = 23, this process ends.

制御部22は、上述の算出処理を各仮想マシンサーバS(j=1,2,・・・)上について実行し、各仮想マシンサーバS上で、各時間(時刻)tに稼働している仮想マシン数njtを算出する。 The control unit 22 executes the above-described calculation process on each virtual machine server S j (j = 1, 2,...), And operates on each virtual machine server S j at each time (time) t. The number of virtual machines n jt is calculated.

各仮想マシンサーバS上の仮想マシン数njtを算出した後、制御部22は、先に示した(数6)式の条件を満たす仮想マシンMのt時(t=0,1,・・・,23)での性能aitを、先に示した(数1)式により求めるとともに、各仮想マシンのパフォーマンスが最大になる仮想マシンと仮想マシンサーバの組み合わせ、即ち、先に示した(数1)式、(数3)式、(数4)式、(数5)式の条件下で、先に示した(数2)式の値が最大となる組み合わせを、例えば、遺伝的アルゴリズムやシミュレーティッド・アニーリング手法等の組み合わせ最適化アルゴリズム等を用いて算出することにより、各仮想マシンのパフォーマンスが最大となる組み合わせを求める(ステップS13)。 After calculating the number of virtual machines n jt on each virtual machine server S j , the control unit 22 performs t time (t = 0, 1, 1) of the virtual machine M i that satisfies the above-described equation (6). ..., the performance a it at 23), together with the obtained by previously shown (number 1), the combination of virtual machines and virtual machine server performance of each virtual machine is maximized, i.e., previously shown Under the conditions of (Equation 1), (Equation 3), (Equation 4), and (Equation 5), the combination that maximizes the value of (Equation 2) shown above is, for example, genetic A combination that maximizes the performance of each virtual machine is obtained by calculating using a combination optimization algorithm such as an algorithm or a simulated annealing method (step S13).

そして、制御部22は、ステップS13により各仮想マシンのパフォーマンスが最大となる組み合わせが得られたか否かを判定し(ステップS14)、組み合わせが得られた場合には、ファイルサーバ4をテンポラリ領域として利用する等して、各仮想マシンのイメージファイルを当該仮想マシンに対応する仮想マシンサーバ3の記憶領域にコピーする等して各仮想マシンの再配置を行い(ステップS15)、VMサーバ管理DB211における各仮想マシンサーバ情報における仮想マシンIDを変更登録して、本処理を終了する。
また、ステップS14の判定において、組み合わせの解が得られなかったと判定された場合には、例えば「仮想マシンサーバを追加してください」等のエラーメッセージの表示画面をクライアント端末1に送信して表示させ(ステップS16)、本処理を終了する。
Then, the control unit 22 determines whether or not a combination that maximizes the performance of each virtual machine is obtained in step S13 (step S14). When the combination is obtained, the file server 4 is set as a temporary area. The virtual machine is rearranged by, for example, copying the image file of each virtual machine to the storage area of the virtual machine server 3 corresponding to the virtual machine (step S15), and in the VM server management DB 211 The virtual machine ID in each virtual machine server information is changed and registered, and this process ends.
If it is determined in step S14 that the combination solution has not been obtained, an error message display screen such as “Add a virtual machine server” is transmitted to the client terminal 1 and displayed. (Step S16), and this process is terminated.

以上説明したように、本発明によれば、全ての仮想マシンサーバ3の資源を利用して各仮想マシンのパフォーマンスが最大となるような仮想マシンと仮想マシンサーバ3の組み合わせを求め、この組み合わせに基づいて仮想マシンの配置を行うため、複数のサーバにまたがって仮想マシンの最適配置を行うことを可能とし、複数の仮想マシンを複数のサーバで効率良く稼働させることができる。   As described above, according to the present invention, a combination of a virtual machine and a virtual machine server 3 that uses the resources of all the virtual machine servers 3 to maximize the performance of each virtual machine is obtained. Since the virtual machines are arranged based on them, it is possible to optimally arrange virtual machines across a plurality of servers, and a plurality of virtual machines can be efficiently operated on a plurality of servers.

この発明は上記実施の形態に限定されず、種々の変形及び応用が可能である。
例えば、上記の各数式は一例であり、各仮想マシンのパフォーマンスを最大とする仮想マシンと仮想マシンサーバの組み合わせを求めるための種々の数式が適用可能である。また、上記説明では、仮想マシンと仮想マシンサーバの組み合わせを算出する際に、仮想マシンと仮想マシンサーバの記憶容量に関する条件式を用いているが、他の性能(例えば、ハードディスクIO帯域幅、ネットワークIO帯域幅等)に関する条件式を用いてもよい。
The present invention is not limited to the above embodiment, and various modifications and applications are possible.
For example, each of the above formulas is an example, and various formulas for obtaining a combination of a virtual machine and a virtual machine server that maximize the performance of each virtual machine can be applied. Further, in the above description, when calculating the combination of the virtual machine and the virtual machine server, the conditional expression related to the storage capacity of the virtual machine and the virtual machine server is used, but other performance (for example, hard disk IO bandwidth, network Conditional expressions relating to IO bandwidth etc. may be used.

なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行する仮想マシン管理サーバ2等を構成してもよい。また、インターネット等のネットワーク10上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同より実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
The system of the present invention can be realized using a normal computer system, not a dedicated system. For example, a program for executing the above operation is stored in a computer-readable recording medium (FD, CD-ROM, DVD, etc.) and distributed, and the program is installed in the computer to execute the above processing. The virtual machine management server 2 or the like may be configured. Alternatively, it may be stored in a disk device of a server device on the network 10 such as the Internet and downloaded to a computer, for example.
In addition, when the OS realizes the above functions by sharing the OS or jointly of the OS and the application, only the part other than the OS may be stored and distributed in the medium, or may be downloaded to the computer. Good.

本発明の第1の実施形態の仮想マシンシステムの構成を示す図である。It is a figure which shows the structure of the virtual machine system of the 1st Embodiment of this invention. 仮想マシン管理サーバの構成を示す図である。It is a figure which shows the structure of a virtual machine management server. 仮想マシンサーバ情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of virtual machine server information. ファイルサーバ情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of file server information. 仮想マシン情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of virtual machine information. イメージファイル情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of image file information. パフォーマンスデータのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of performance data. 仮想マシンサーバの論理構成の概略図の一例をである。It is an example of the schematic diagram of the logical structure of a virtual machine server. 自動作成処理を説明するためのフローチャートである。It is a flowchart for demonstrating automatic creation processing. 最適配置処理を説明するためのフローチャートである。It is a flowchart for demonstrating optimal arrangement | positioning processing. 稼働マシン算出処理を説明するためのフローチャートである。It is a flowchart for demonstrating an operating machine calculation process.

符号の説明Explanation of symbols

1 クライアント端末
2 仮想マシン管理サーバ
3 仮想マシンサーバ
4 ファイルサーバ
10 ネットワーク
21 記憶部
211 VMサーバ管理DB
212 ファイルサーバ管理DB
213 VM管理DB
214 VMイメージファイル管理DB
215 稼働状況管理DB
22 制御部
221 VMサーバ管理部
222 VM最適配置部
223 VM自動作成部
23 通信制御部
DESCRIPTION OF SYMBOLS 1 Client terminal 2 Virtual machine management server 3 Virtual machine server 4 File server 10 Network 21 Storage part 211 VM server management DB
212 File server management DB
213 VM management DB
214 VM image file management DB
215 Operation status management DB
DESCRIPTION OF SYMBOLS 22 Control part 221 VM server management part 222 VM optimal arrangement | positioning part 223 VM automatic creation part 23 Communication control part

Claims (4)

複数の仮想マシンを稼働させる複数のサーバとネットワークを介して接続される仮想マシン管理装置であって、
第1の所定期間において、それぞれの仮想マシン毎に、所定時間毎に取得されたパフォーマンスを示す実測データを記憶する稼働情報管理データベースと、
各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを前記稼働情報管理データベースから読み出す読出手段と、
前記読み出した各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを用いて、前記所定時間毎の、各仮想マシンを複数のサーバのいずれかで稼働させた場合の各時間における各仮想マシンのパフォーマンス値を求め、前記求められた所定時間毎の前記仮想マシンのパフォーマンス値が前記所定時間を複数集めた第2の所定期間において最大となる、仮想マシンとサーバの組み合わせを算出する組み合わせ算出手段と、
前記組み合わせ算出手段により算出された仮想マシンとサーバの組み合わせに従って、各仮想マシンのファイルを当該仮想マシンに対応するサーバの記憶領域に格納して各仮想マシンの再配置を行う手段と、
を備えることを特徴とする仮想マシン管理装置。
A virtual machine management apparatus connected via a network to a plurality of servers that operate a plurality of virtual machines,
In the first predetermined period, for each virtual machine, an operation information management database that stores actual measurement data indicating performance acquired every predetermined time;
Reading means for reading actual measurement data indicating the performance of each virtual machine every predetermined time from the operation information management database;
Using the actual measurement data indicating the performance of each read virtual machine for each predetermined time, the virtual machine at each time when each virtual machine is operated on any of a plurality of servers for each predetermined time . A combination calculation unit that calculates a performance value , and calculates a combination of the virtual machine and the server in which the performance value of the virtual machine for each determined predetermined time is maximized in a second predetermined period in which a plurality of the predetermined times are collected ; ,
Means for relocating each virtual machine by storing a file of each virtual machine in a storage area of the server corresponding to the virtual machine according to the combination of the virtual machine and the server calculated by the combination calculating means;
A virtual machine management apparatus comprising:
前記読出手段は、各前記サーバの記憶容量に関するデータと、各前記仮想マシンの記憶容量に関するデータと、を前記稼働情報管理データベースからさらに読み出し、
前記組み合わせ算出手段は、前記読出手段により読み出した、各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データと、各前記サーバの記憶容量に関するデータと、各前記仮想マシンの記憶容量に関するデータと、を算出条件に用いて、前記仮想マシンとサーバの組み合わせを算出する、
ことを特徴とする請求項に記載の仮想マシン管理装置。
The reading means further reads data relating to the storage capacity of each server and data relating to the storage capacity of each virtual machine from the operation information management database,
The combination calculation means is the measurement data read by the reading means and indicating the performance of each virtual machine every predetermined time, the data relating to the storage capacity of each server, the data relating to the storage capacity of each virtual machine, To calculate the combination of the virtual machine and the server using
The virtual machine management apparatus according to claim 1 .
仮想マシンの作成要求を受信する手段と、
各前記サーバの記憶領域の使用量と、前記受信した作成要求が示す仮想マシンのファイル容量と、に基づいて、前記作成要求が示す仮想マシンのファイルを記憶領域に格納可能なサーバを決定する手段と、
前記決定したサーバの記憶領域に、前記作成要求が示す仮想マシンのファイルを格納する手段と、
を備えることを特徴とする請求項1または2に記載の仮想マシン管理装置。
Means for receiving a virtual machine creation request;
Means for determining a server capable of storing the virtual machine file indicated by the creation request in the storage area based on the use amount of the storage area of each server and the file capacity of the virtual machine indicated by the received creation request When,
Means for storing a virtual machine file indicated by the creation request in the storage area of the determined server;
Virtual machine management system according to claim 1 or 2, characterized in that it comprises a.
複数の仮想マシンを稼働させる複数のサーバとネットワークを介して接続されるコンピュータに、
第1の所定期間において、それぞれの仮想マシン毎に、所定時間毎に取得されたパフォーマンスを示す実測データを稼働情報管理データベースに記憶する記憶ステップ、
各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを前記稼働情報管理データベースから読み出す読出ステップ、
前記読出ステップにより読み出した、各前記仮想マシンの所定時間毎のパフォーマンスを示す実測データを用いて、前記所定時間毎の、各仮想マシンを複数のサーバのいずれかで稼働させた場合の各時間における各仮想マシンのパフォーマンス値を求め、前記求められた所定時間毎の前記仮想マシンのパフォーマンス値が前記所定時間を複数集めた第2の所定期間において最大となる、仮想マシンとサーバの組み合わせを算出する組み合わせ算出ステップ、
前記組み合わせ算出ステップにより算出された仮想マシンとサーバの組み合わせに従って、各仮想マシンのファイルを当該仮想マシンに対応するサーバの記憶領域に格納させて各仮想マシンの再配置を行うステップ、
を実行させるプログラム。
To a computer connected to multiple servers running multiple virtual machines via a network,
A storage step of storing, in the operation information management database, actual measurement data indicating performance acquired at predetermined time intervals for each virtual machine in the first predetermined period;
A step of reading out actual measurement data indicating the performance of each virtual machine every predetermined time from the operation information management database;
At each time when each virtual machine is operated on one of a plurality of servers for each predetermined time , using the measured data indicating the performance of each virtual machine for each predetermined time read by the reading step. A performance value of each virtual machine is obtained, and a combination of a virtual machine and a server is calculated such that the performance value of the virtual machine at the obtained predetermined time becomes the maximum in a second predetermined period in which a plurality of the predetermined times are collected. Combination calculation step,
Relocating each virtual machine by storing the file of each virtual machine in the storage area of the server corresponding to the virtual machine according to the combination of the virtual machine and the server calculated by the combination calculating step;
A program that executes
JP2003349017A 2003-10-08 2003-10-08 Virtual machine management apparatus and program Expired - Lifetime JP3861087B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003349017A JP3861087B2 (en) 2003-10-08 2003-10-08 Virtual machine management apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003349017A JP3861087B2 (en) 2003-10-08 2003-10-08 Virtual machine management apparatus and program

Publications (2)

Publication Number Publication Date
JP2005115653A JP2005115653A (en) 2005-04-28
JP3861087B2 true JP3861087B2 (en) 2006-12-20

Family

ID=34540997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003349017A Expired - Lifetime JP3861087B2 (en) 2003-10-08 2003-10-08 Virtual machine management apparatus and program

Country Status (1)

Country Link
JP (1) JP3861087B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010109681A1 (en) 2009-03-25 2010-09-30 株式会社日立製作所 A computer system, resource management server of a computer system, and resource management method of a computer system

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519098B2 (en) * 2006-03-30 2010-08-04 株式会社日立製作所 Computer management method, computer system, and management program
US8112527B2 (en) 2006-05-24 2012-02-07 Nec Corporation Virtual machine management apparatus, and virtual machine management method and program
JP4240062B2 (en) 2006-05-31 2009-03-18 日本電気株式会社 Computer system, performance measurement method, and management server device
JP4609380B2 (en) * 2006-05-31 2011-01-12 日本電気株式会社 Virtual server management system and method, and management server device
JP5317010B2 (en) * 2006-11-24 2013-10-16 日本電気株式会社 Virtual machine placement system, virtual machine placement method, program, virtual machine management device, and server device
JP4853717B2 (en) 2007-02-23 2012-01-11 日本電気株式会社 Server migration plan creation system, server migration plan creation method
US20100030877A1 (en) * 2007-02-23 2010-02-04 Mitsuru Yanagisawa Virtual server system and physical server selecting method
JP4557178B2 (en) * 2007-03-02 2010-10-06 日本電気株式会社 Virtual machine management system, method and program thereof
JP4739271B2 (en) * 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング Power supply control device, virtual server management system, power supply control method, and power supply control program
JP4739272B2 (en) * 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング Load distribution apparatus, virtual server management system, load distribution method, and load distribution program
JP5206674B2 (en) * 2007-05-24 2013-06-12 日本電気株式会社 Virtual machine management apparatus, virtual machine management method, and virtual machine management program
US8069341B2 (en) * 2007-06-29 2011-11-29 Microsoft Corporation Unified provisioning of physical and virtual images
JP5229590B2 (en) * 2007-09-18 2013-07-03 日本電気株式会社 Server reassignment support system and server reassignment support method
JP5056346B2 (en) * 2007-10-29 2012-10-24 日本電気株式会社 Information processing apparatus, information processing system, virtual server movement processing control method, and program
JP4906686B2 (en) * 2007-11-19 2012-03-28 三菱電機株式会社 Virtual machine server sizing apparatus, virtual machine server sizing method, and virtual machine server sizing program
JP5526784B2 (en) 2007-12-26 2014-06-18 日本電気株式会社 Degenerate configuration design system and method
US8719624B2 (en) 2007-12-26 2014-05-06 Nec Corporation Redundant configuration management system and method
JP4577384B2 (en) 2008-03-14 2010-11-10 日本電気株式会社 Management machine, management system, management program, and management method
JP2009237859A (en) * 2008-03-27 2009-10-15 Nec Corp Virtual machine management system
JP2009244999A (en) 2008-03-28 2009-10-22 Fujitsu Ltd Virtual machine management program and management server device
JP5006280B2 (en) * 2008-07-17 2012-08-22 Kddi株式会社 Network operation management method and apparatus
EP2345964A4 (en) * 2008-10-13 2013-11-20 Mitsubishi Electric Corp Resource allocation device, resource allocation program, recording medium, and resource allocation method
US8799895B2 (en) 2008-12-22 2014-08-05 Electronics And Telecommunications Research Institute Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management
KR101259548B1 (en) 2008-12-22 2013-04-30 한국전자통신연구원 System and Method for Resource Management base of Virtualization and Computing System for Resource Management base of Virtualization
JP5257077B2 (en) * 2009-01-06 2013-08-07 日本電気株式会社 Resource allocation apparatus, method and program
JP5245852B2 (en) * 2009-01-17 2013-07-24 日本電気株式会社 Server processing distribution apparatus, server processing distribution method, and server processing distribution program
JP5359328B2 (en) * 2009-02-02 2013-12-04 日本電気株式会社 Virtual machine activation control system, activation control method thereof, information processing apparatus, program, and recording medium
JP5504651B2 (en) * 2009-03-06 2014-05-28 日本電気株式会社 Virtual machine system, information processing apparatus, resource management method, program, and recording medium
JP5338906B2 (en) 2009-06-01 2013-11-13 富士通株式会社 Server management program, management server, and virtual server placement method
WO2010140194A1 (en) * 2009-06-05 2010-12-09 富士通株式会社 Information processing system management method, information processing system, recording medium, and management program
GB2477092A (en) * 2010-01-20 2011-07-27 Nec Corp Selecting virtual machine host servers based on client device location
JP5556393B2 (en) 2010-06-04 2014-07-23 富士通株式会社 Network system, management server, and virtual machine placement method
JP5360000B2 (en) * 2010-06-22 2013-12-04 日本電気株式会社 Virtual server management system and method, and management server device
JP2012018515A (en) 2010-07-07 2012-01-26 Fujitsu Ltd Information processor, control method, and control program
JP5678508B2 (en) 2010-07-29 2015-03-04 日本電気株式会社 Thin client system, management server, virtual machine creation management method, and virtual machine creation management program
WO2012046386A1 (en) * 2010-10-07 2012-04-12 日本電気株式会社 Server system, management device, server management method, and program
CN103154896A (en) * 2010-10-19 2013-06-12 株式会社日立制作所 Method and device for deploying virtual computers
JP5506653B2 (en) * 2010-12-27 2014-05-28 三菱電機株式会社 License management system, license management method, and license management program
JP5417553B2 (en) 2011-02-28 2014-02-19 株式会社日立製作所 Management computer and computer system management method
JP5577283B2 (en) * 2011-03-29 2014-08-20 株式会社エヌ・ティ・ティ・データ Virtual machine starting device, virtual machine starting method, virtual machine starting program
JP5773142B2 (en) * 2011-06-22 2015-09-02 株式会社日立製作所 Computer system configuration pattern calculation method and configuration pattern calculation apparatus
US9374314B2 (en) * 2012-02-26 2016-06-21 Palo Alto Research Center Incorporated QoS aware balancing in data centers
JP5827594B2 (en) * 2012-05-17 2015-12-02 日本電信電話株式会社 Virtual machine placement apparatus and virtual machine placement method
JP6044131B2 (en) 2012-06-25 2016-12-14 富士通株式会社 Program, management server, and virtual machine migration control method
CN103827827B (en) 2012-09-21 2017-05-17 株式会社东芝 System management device, network system and system management method
WO2014087545A1 (en) * 2012-12-07 2014-06-12 株式会社日立製作所 Virtual machine deployment method and computer system
US9762506B2 (en) 2013-02-06 2017-09-12 Hitachi, Ltd. Virtual guest management system and virtual guest management method
JP5477497B2 (en) * 2013-05-17 2014-04-23 日本電気株式会社 Virtual server management system and method, and management server device
JP6031462B2 (en) * 2014-02-12 2016-11-24 日本電信電話株式会社 Virtual machine placement apparatus, method, and program
US10498807B2 (en) 2015-10-19 2019-12-03 Citrix Systems, Inc. Multi-tenant multi-session catalogs with machine-level isolation
JP6405331B2 (en) * 2016-03-22 2018-10-17 日本電信電話株式会社 Cache management system, evaluation method, management server, physical server, and measurement server
JP6511023B2 (en) * 2016-08-22 2019-05-08 日本電信電話株式会社 Virtual machine management device and deployability determination method
JP6969077B2 (en) * 2016-08-23 2021-11-24 日本電気株式会社 Virtual machine control device and its control method, and management device and its control method
JP6969282B2 (en) 2017-10-25 2021-11-24 富士通株式会社 Information processing equipment, information processing system and information processing method
JP6944155B2 (en) * 2018-09-21 2021-10-06 日本電信電話株式会社 Orchestrator equipment, programs, information processing systems, and control methods

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010109681A1 (en) 2009-03-25 2010-09-30 株式会社日立製作所 A computer system, resource management server of a computer system, and resource management method of a computer system
JP5130375B2 (en) * 2009-03-25 2013-01-30 株式会社日立製作所 Computer system, computer system resource resource management server, and computer system resource management method

Also Published As

Publication number Publication date
JP2005115653A (en) 2005-04-28

Similar Documents

Publication Publication Date Title
JP3861087B2 (en) Virtual machine management apparatus and program
US8719818B2 (en) Cloud-based test system utilizing cloud systems that include cloud servers to simulate virtual test machines to test an electrical device
US8327370B2 (en) Dynamic policy manager method, system, and computer program product for optimizing fractional resource allocation
US7827286B1 (en) Providing enhanced access to stored data
JP5325230B2 (en) Methods, computer programs, and devices for monitoring the operation of a designated transaction server having an associated network topology (synthetic transactions dynamically scheduled to monitor the performance and availability of e-business systems) How to use)
WO2020253079A1 (en) Jmeter-based distributed performance test method and apparatus, device, and storage medium
JP2018022520A (en) Determination and monitoring performance of computer resource service
JP4677813B2 (en) Server performance measurement method, server performance measurement system, and computer program used therefor
JP2007323245A (en) Computer system, performance measuring method, and management server device
JPWO2012066640A1 (en) Computer system, migration method and management server
JP2006011860A (en) System configuration management program and system configuration management device
JP2004303190A (en) Program, information processor, method for controlling information processor, and recording medium
US11068317B2 (en) Information processing system and resource allocation method
JP6607963B2 (en) Data store for aggregated metrics measurements
TW202225995A (en) System for processing data using distributed messaging system and data processing method thereof
JP6279816B2 (en) Storage monitoring system and monitoring method thereof
JP2006185019A (en) Retrieval system, information layout configuration determining method and computer program
JP5626937B1 (en) Resource providing apparatus, resource providing method, and resource providing system
WO2022070292A1 (en) Vdi resource allocation determination device, vdi resource allocation determination method, and vdi resource allocation determination program
JP2006228093A (en) Selection of calculation node in pc cluster computer, start of selected calculation node, and method and apparatus for distribution scheduling processing of program
JP5412304B2 (en) Resource providing system, resource providing method, and virtualization apparatus
JP2007226280A (en) Computer resource assignment management method and device
US6934742B2 (en) Efficiently handling client requests in a server farm
JPWO2018225747A1 (en) Distributed system, data management device, data management method, and computer-readable recording medium
JP2005157727A (en) Log processing method, and processing program and execution system of the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050705

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20050811

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20051026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060412

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060925

R150 Certificate of patent or registration of utility model

Ref document number: 3861087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090929

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100929

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110929

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120929

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130929

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term