JP6374845B2 - Computer system and container management method - Google Patents

Computer system and container management method Download PDF

Info

Publication number
JP6374845B2
JP6374845B2 JP2015157244A JP2015157244A JP6374845B2 JP 6374845 B2 JP6374845 B2 JP 6374845B2 JP 2015157244 A JP2015157244 A JP 2015157244A JP 2015157244 A JP2015157244 A JP 2015157244A JP 6374845 B2 JP6374845 B2 JP 6374845B2
Authority
JP
Japan
Prior art keywords
container
physical server
resource amount
new
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015157244A
Other languages
Japanese (ja)
Other versions
JP2017037403A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2015157244A priority Critical patent/JP6374845B2/en
Publication of JP2017037403A publication Critical patent/JP2017037403A/en
Application granted granted Critical
Publication of JP6374845B2 publication Critical patent/JP6374845B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、仮想化環境において性能保証型のコンテナ及びベストエフォート型のコンテナを配置する計算機システムに関する。   The present invention relates to a computer system in which a performance guarantee type container and a best effort type container are arranged in a virtual environment.

コンテナ技術は、コンテナ及びホストOSがカーネルを共有することによってオーバーヘッドを少ない軽量な仮想化環境を実現する。コンテナはホストOSとカーネルを共有するため、コンテナにはホストOSと同じOS環境が提供される。その結果、ホストOS上には同一のOS種別の環境のみで構成される。   Container technology realizes a lightweight virtualization environment with low overhead by sharing a kernel between a container and a host OS. Since the container shares the kernel with the host OS, the container is provided with the same OS environment as the host OS. As a result, the host OS is configured only with an environment of the same OS type.

一般的には、OSの種別の数だけ物理サーバが必要となる。そのため、コストが高く、また耐障害性についても問題がある。そのため、仮想化されたサーバ環境を適用して必要な物理サーバの数を削減する方法が考えられる(例えば、特許文献1を参照)。   Generally, as many physical servers as the number of OS types are required. Therefore, the cost is high and there is a problem with fault tolerance. Therefore, a method of reducing the number of necessary physical servers by applying a virtualized server environment is conceivable (see, for example, Patent Document 1).

特開2011−128967号公報JP 2011-128967 A

複数のOS種別のコンテナを配備するためには、一つの物理サーバ上に、OS種別ごとに仮想マシンを稼働させ、各仮想マシン上にコンテナを配備する。前述したシステム環境では、計算機リソースが各仮想マシンに分割して割り当てられるため、あるOS種別の仮想マシンのリソース量が不足し、別のOS種別の仮想マシンのリソース量に余剰が生じる場合がある。特に、性能を保証する性能保証型のコンテナを配備する場合に、前述したような計算機リソース量の問題が顕著になる。   In order to deploy containers of a plurality of OS types, virtual machines are operated for each OS type on one physical server, and containers are deployed on each virtual machine. In the system environment described above, since computer resources are divided and allocated to each virtual machine, the resource amount of a virtual machine of a certain OS type is insufficient, and there may be a surplus in the resource amount of a virtual machine of another OS type. . In particular, when a performance guarantee type container for guaranteeing performance is deployed, the problem of the amount of computer resources as described above becomes remarkable.

性能保証型のコンテナ及びベストエフォート型のコンテナが混在するシステムにおいて、可能な限り少ない物理サーバを用いて多くのコンテナを配置する必要がある。すなわち、本発明は、異なるOS上で稼働する複数のコンテナの高密度な配置を実現することを目的とする。   In a system in which performance guarantee type containers and best effort type containers are mixed, it is necessary to arrange a large number of containers using as few physical servers as possible. That is, an object of the present invention is to realize a high-density arrangement of a plurality of containers operating on different OSs.

本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、管理サーバ、及び複数の仮想計算機が稼動する少なくとも一つの物理サーバを備える計算機システムであって、前記管理サーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、前記少なくとも一つの物理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記少なくとも一つの物理サーバは、当該物理サーバが有する計算機リソースを分割することによって、オペレーティングシステムを実行する仮想計算機を少なくとも一つ生成する仮想化管理部を有し、前記オペレーティングシステムは、ユーザ空間を分割することによって生成されたアプリケーション環境であるコンテナを少なくとも一つ生成するコンテナ実行部を含み、前記管理サーバは、前記計算機システムに新たに追加する前記コンテナの配置を制御するコンテナ制御部を有し、前記コンテナ制御部は、オペレーティングシステムの種別、及び新規コンテナに割り当てる計算機リソース量である第1の要求リソース量を含む新規コンテナの追加要求を受け付け、前記新規コンテナの追加要求に含まれる前記オペレーティングシステムの種類と同一種類のオペレーティングシステムを実行する候補仮想計算機を特定し、前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在するか否かを判定し、前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在しない場合、当該候補仮想計算機が稼動する物理サーバである対象物理サーバを特定し、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加するために、前記対象物理サーバ上の前記複数の仮想計算機の各々に割り当てられる計算機リソース量を調整するリソース調整処理を実行し、前記第1の要求リソース量分の計算機リソースを用いて前記候補仮想計算機に前記新規コンテナを追加し、前記リソース調整処理では、前記コンテナ制御部は、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加するために、前記対象物理サーバ上の前記複数の仮想計算機の各々について、調整した場合の計算機リソース量である新リソース量を算出し、前記新リソース量に基づいて、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加し、前記新リソース量に基づいて、前記対象物理サーバ上の前記候補仮想計算機以外の少なくとも一つの仮想計算機の計算機リソース量を削減することを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, a computer system including a management server and at least one physical server on which a plurality of virtual machines operate, wherein the management server includes a first processor, a first memory connected to the first processor, A first network interface connected to the first processor, wherein the at least one physical server is a second processor, a second memory connected to the second processor, and the second processor; Virtualization management for generating at least one virtual machine for executing an operating system by dividing a computer resource of the physical server, wherein the at least one physical server has a second network interface connected to the physical server The operating system divides the user space A container execution unit that generates at least one container that is an application environment generated by the management server, wherein the management server includes a container control unit that controls the arrangement of the container to be newly added to the computer system, The container control unit receives a request for adding a new container that includes a type of operating system and a first requested resource amount that is a computer resource amount allocated to the new container, and the type of the operating system included in the request for adding the new container The candidate virtual machines that execute the same type of operating system are identified, it is determined whether or not there are free resources for the first requested resource amount in the candidate virtual machines, and the first virtual machine There are no free resources for the requested resource amount. If, to identify the target physical server is a physical server which the candidate virtual machine is operated, to add the computer resources of the first request resource amount to the candidate virtual machine, the plurality of on the target physical server Resource adjustment processing is performed to adjust the amount of computer resources allocated to each of the virtual computers, and the new container is added to the candidate virtual computer using the computer resources for the first required resource amount , and the resource adjustment is performed. In the processing, the container control unit adjusts each of the plurality of virtual machines on the target physical server in order to add computer resources for the first requested resource amount to the candidate virtual machines. A new resource amount that is a computer resource amount is calculated, and based on the new resource amount, the candidate virtual computer is assigned the first resource amount. Computer resources corresponding to the requested resource amount are added, and the computer resource amount of at least one virtual computer other than the candidate virtual computer on the target physical server is reduced based on the new resource amount .

本発明によれば、新規コンテナを追加する場合、新たな物理サーバを追加することなく、既存の物理サーバ上に新規コンテナを追加できる。すなわち、異なるOS上で稼働する複数のコンテナの高密度な配置を実現できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。   According to the present invention, when adding a new container, it is possible to add a new container on an existing physical server without adding a new physical server. That is, a high-density arrangement of a plurality of containers operating on different OSs can be realized. Problems, configurations, and effects other than those described above will become apparent from the following description of embodiments.

実施例1のコンテナ管理システムの構成例を示す図である。It is a figure which shows the structural example of the container management system of Example 1. FIG. 実施例1の物理サーバ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of the physical server management table of Example 1. FIG. 実施例1の仮想マシン管理テーブルの構成例を示す図である。6 is a diagram illustrating a configuration example of a virtual machine management table according to the first embodiment. FIG. 実施例1のコンテナ管理テーブルの構成例を示す図である。It is a figure which shows the structural example of the container management table of Example 1. FIG. 実施例1のコンテナ制御部が実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the container control part of Example 1 performs. 実施例1のコンテナ制御部が実行するリソース調整処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of a resource adjustment process executed by the container control unit according to the first embodiment. 実施例1のコンテナ制御部が実行する物理サーバの追加処理の一例を示すフローチャートである。6 is a flowchart illustrating an example of a physical server addition process executed by the container control unit according to the first embodiment. 実施例1のリソース調整処理を伴う新規コンテナの追加処理が実行された後の仮想マシン管理テーブルの一例を示す図である。FIG. 6 is a diagram illustrating an example of a virtual machine management table after a new container addition process involving a resource adjustment process according to the first embodiment is executed. 実施例1の物理サーバの追加処理を伴う新規コンテナの追加処理が実行された後の仮想マシン管理テーブルの一例を示す図である。FIG. 6 is a diagram illustrating an example of a virtual machine management table after a new container addition process involving a physical server addition process according to the first embodiment is executed.

本発明の実施例を図面に基づいて説明する。   Embodiments of the present invention will be described with reference to the drawings.

図1は、実施例1のコンテナ管理システムの構成例を示す図である。   FIG. 1 is a diagram illustrating a configuration example of a container management system according to the first embodiment.

実施例1のコンテナ管理システムは、管理サーバ101、一つ以上の物理サーバ102、及びクライアント端末103から構成される。管理サーバ101及び一つ以上の物理サーバ102は、ネットワークを介して互いに接続され、また、管理サーバ101及びクライアント端末103は、ネットワークを介して互いに接続される。なお、物理サーバ102及びクライアント端末103は、直接管理サーバ101と接続されてもよい。   The container management system according to the first embodiment includes a management server 101, one or more physical servers 102, and a client terminal 103. The management server 101 and one or more physical servers 102 are connected to each other via a network, and the management server 101 and the client terminal 103 are connected to each other via a network. Note that the physical server 102 and the client terminal 103 may be directly connected to the management server 101.

物理サーバ102上では、ハイパバイザ140によって管理される一つ以上の仮想マシン(VM)150が稼働し、さらに、一つのVM150が実行するOS160上に一つ以上のコンテナ170が稼働する。   On the physical server 102, one or more virtual machines (VM) 150 managed by the hypervisor 140 are operated, and one or more containers 170 are operated on the OS 160 executed by one VM 150.

管理サーバ101は、コンテナ170の配置を管理する。管理サーバ101は、CPU110、メモリ111、記憶装置112、及びNIC113を備える。   The management server 101 manages the arrangement of the containers 170. The management server 101 includes a CPU 110, a memory 111, a storage device 112, and a NIC 113.

CPU110は、メモリ111に格納されるプログラムを実行する。CPU110がプログラムを実行することによって、管理サーバ101の機能を実現できる。以下では、プログラムを主体に処理を説明する場合、当該プログラムがCPU110によって実行されていることを示す。   CPU 110 executes a program stored in memory 111. The function of the management server 101 can be realized by the CPU 110 executing the program. In the following, when the process is described mainly with a program, it indicates that the program is being executed by the CPU 110.

メモリ111は、CPU110によって実行されるプログラム及び当該プログラムの実行に必要な情報を格納する。また、メモリ111は、プログラムが実行する処理に使用するワークエリアを含む。本実施例のメモリ111は、コンテナ制御部120及び物理サーバ追加部121を実現するプログラムを格納する。また、メモリ111は、物理サーバ管理テーブル122、仮想マシン管理テーブル123、及びコンテナ管理テーブル124を格納する。   The memory 111 stores a program executed by the CPU 110 and information necessary for executing the program. The memory 111 includes a work area used for processing executed by the program. The memory 111 according to the present embodiment stores programs that realize the container control unit 120 and the physical server addition unit 121. The memory 111 stores a physical server management table 122, a virtual machine management table 123, and a container management table 124.

コンテナ制御部120は、新たに追加されるコンテナ170の配置を制御する。コンテナ制御部120が実行する処理の詳細は、図5、図6、及び図7を用いて説明する。物理サーバ追加部121は、新たなコンテナ170を配置する物理サーバ102の追加処理を制御する。   The container control unit 120 controls the arrangement of the newly added container 170. Details of processing executed by the container control unit 120 will be described with reference to FIGS. 5, 6, and 7. The physical server adding unit 121 controls the adding process of the physical server 102 in which the new container 170 is arranged.

物理サーバ管理テーブル122は、物理サーバ102の計算機リソース量等を管理する情報である。物理サーバ管理テーブル122の詳細は図2を用いて説明する。仮想マシン管理テーブル123は、各物理サーバ102上のVM150を管理する情報である。仮想マシン管理テーブル123の詳細は図3を用いて説明する。コンテナ管理テーブル124は、コンテナ170を管理する情報である。コンテナ管理テーブル124の詳細は図4を用いて説明する。   The physical server management table 122 is information for managing the amount of computer resources of the physical server 102. Details of the physical server management table 122 will be described with reference to FIG. The virtual machine management table 123 is information for managing the VM 150 on each physical server 102. Details of the virtual machine management table 123 will be described with reference to FIG. The container management table 124 is information for managing the container 170. Details of the container management table 124 will be described with reference to FIG.

記憶装置132は、各種情報を格納する記憶媒体であり、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。なお、メモリ111に格納されるプログラム及び情報は、記憶装置132に格納されてもよい。この場合、CPU110は、必要に応じて記憶装置112からプログラム及び情報を読み出し、メモリ111上にロードする。NIC113は、ネットワークを介して他の装置と通信するためのインタフェースである。   The storage device 132 is a storage medium that stores various types of information. For example, an HDD (Hard Disk Drive) and an SSD (Solid State Drive) can be considered. Note that the program and information stored in the memory 111 may be stored in the storage device 132. In this case, the CPU 110 reads a program and information from the storage device 112 as necessary and loads the program and information onto the memory 111. The NIC 113 is an interface for communicating with other devices via a network.

物理サーバ102は、一つ以上のコンテナ170が稼働する計算機である。物理サーバ102は、計算機リソースとしてCPU130、メモリ131、記憶装置132、及びNIC133を備える。CPU130、メモリ131、記憶装置132、及びNIC133は、CPU110、メモリ111、記憶装置112、及びNIC113と同一のものである。   The physical server 102 is a computer on which one or more containers 170 operate. The physical server 102 includes a CPU 130, a memory 131, a storage device 132, and a NIC 133 as computer resources. The CPU 130, the memory 131, the storage device 132, and the NIC 133 are the same as the CPU 110, the memory 111, the storage device 112, and the NIC 113.

物理サーバ102のメモリ131には、ハイパバイザ140、OS160、及びコンテナ170を実現するプログラムが格納される。   The memory 131 of the physical server 102 stores a program that realizes the hypervisor 140, the OS 160, and the container 170.

ハイパバイザ140は、物理サーバ102の計算機リソースを論理的に分割することによって、一つ以上のVM150を生成する。ハイパバイザ140は、図示しないVM150の管理情報を保持する。当該情報は、VM150の識別子、VM150に割り当てられる計算機リソース量、及び稼働状態等の情報を含む。管理サーバ101は、周期的又は新規コンテナ170の追加時等、所定のタイミングでハイパバイザ140と通信することによって、仮想マシン管理テーブル123を更新する。   The hypervisor 140 generates one or more VMs 150 by logically dividing the computer resources of the physical server 102. The hypervisor 140 holds management information of the VM 150 (not shown). The information includes information such as an identifier of the VM 150, a computer resource amount allocated to the VM 150, and an operating state. The management server 101 updates the virtual machine management table 123 by communicating with the hypervisor 140 at a predetermined timing, such as periodically or when a new container 170 is added.

VM150は、仮想的な計算機であり、ハイパバイザ140によって起動が指示された場合、OS160を実行する。OS160上では一つ以上のコンテナ170が実行される。   The VM 150 is a virtual computer, and executes an OS 160 when instructed to start by the hypervisor 140. One or more containers 170 are executed on the OS 160.

コンテナ170は、アプリケーションを実行するユーザ空間を分割等することによって生成されたアプリケーション環境である。各コンテナ170には、プロセス管理情報、ファイルシステム、ネットワーク設定、計算機リソースが独立に与えられる。コンテナ170内では一つ以上のアプリケーションが実行される。一つのコンテナ170内で実行されるアプリケーションと、他のコンテナ170内で実行されるアプリケーションとは、互いに干渉しない。一方、各コンテナ170は、OS160のカーネル空間を共有する。   The container 170 is an application environment generated by dividing a user space for executing an application. Each container 170 is independently provided with process management information, a file system, network settings, and computer resources. One or more applications are executed in the container 170. An application executed in one container 170 and an application executed in another container 170 do not interfere with each other. On the other hand, each container 170 shares the kernel space of the OS 160.

実施例1のOS160は、コンテナ実行部161を含む。なお、OS160は、図示しない他の機能部を含んでもよいし、また、図示しない情報を保持してもよい。   The OS 160 according to the first embodiment includes a container execution unit 161. The OS 160 may include other functional units (not shown), and may hold information (not shown).

コンテナ実行部161は、コンテナ170を管理する。コンテナ実行部161は、図示しないコンテナ170の管理情報を保持する。当該情報には、コンテナ170の識別子、コンテナ170の種別、及びコンテナ170の稼働状態等の情報を含む。管理サーバ101は、周期的に又は新規コンテナ170の追加時等、所定のタイミングでハイパバイザ140を介してコンテナ実行部161と通信することによって、コンテナ管理テーブル124を更新する。   The container execution unit 161 manages the container 170. The container execution unit 161 holds management information of the container 170 (not shown). The information includes information such as the identifier of the container 170, the type of the container 170, and the operating state of the container 170. The management server 101 updates the container management table 124 by communicating with the container execution unit 161 via the hypervisor 140 at a predetermined timing, such as periodically or when a new container 170 is added.

本実施例では、性能保証型及びベストエフォート型の二つの種類のコンテナ170を設定することができる。   In the present embodiment, two types of containers 170 of the performance guarantee type and the best effort type can be set.

コンテナ実行部161は、要求される性能を維持できるように性能保証型のコンテナ170に対する計算機リソースの割り当てを制御する。すなわち、性能保証型のコンテナ170には常に一定以上の計算機リソースが割り当てられる。一方、コンテナ実行部161は、ベストエフォート型のコンテナ170に対しては性能を維持するための計算機リソースの割り当ての制御は行わない。コンテナ実行部161は、図示しない管理情報に基づいて、コンテナ170に対する計算機リソースの割り当てを制御する。   The container execution unit 161 controls the allocation of computer resources to the performance guarantee type container 170 so that the required performance can be maintained. That is, a certain amount or more of computer resources is always assigned to the performance guarantee type container 170. On the other hand, the container execution unit 161 does not control the allocation of computer resources for maintaining the performance of the best effort type container 170. The container execution unit 161 controls allocation of computer resources to the container 170 based on management information (not shown).

実施例1では、コンテナ170に割り当てる計算機リソースとしてCPU130のコア数を例に説明する。なお、CPU130の周波数、メモリ131の容量、IO性能、及びネットワーク性能等の指標、並びに、これらを組み合わせた指標を用いても同様の効果を得ることができる。   In the first embodiment, the number of cores of the CPU 130 will be described as an example of a computer resource allocated to the container 170. It should be noted that the same effect can be obtained by using indices such as the frequency of the CPU 130, the capacity of the memory 131, the IO performance, the network performance, and an index combining these.

図2は、実施例1の物理サーバ管理テーブル122の構成例を示す図である。   FIG. 2 is a diagram illustrating a configuration example of the physical server management table 122 according to the first embodiment.

物理サーバ管理テーブル122は、物理サーバID201及びリソース202を含む。物理サーバID201は、コンテナ管理システムに配置された物理サーバ102を一意に識別するための識別子である。リソース202は、コンテナ170に割り当て可能な計算機リソースの総量である。   The physical server management table 122 includes a physical server ID 201 and a resource 202. The physical server ID 201 is an identifier for uniquely identifying the physical server 102 arranged in the container management system. The resource 202 is the total amount of computer resources that can be allocated to the container 170.

図3は、実施例1の仮想マシン管理テーブル123の構成例を示す図である。   FIG. 3 is a diagram illustrating a configuration example of the virtual machine management table 123 according to the first embodiment.

仮想マシン管理テーブル123は、物理サーバID301、仮想マシンID302、OS種別303、仮想リソース304、最小リソース305、及び割当リソース306を含む。   The virtual machine management table 123 includes a physical server ID 301, a virtual machine ID 302, an OS type 303, a virtual resource 304, a minimum resource 305, and an allocation resource 306.

物理サーバID301は物理サーバID201と同一のものである。仮想マシンID302は、一つの物理サーバ102上で稼働するVM150を一意に識別するための識別子である。なお、異なる物理サーバ102上のVM150の識別子は重複してもよい。OS種別303は、VM150上で実行されるOS160の種別を示す。   The physical server ID 301 is the same as the physical server ID 201. The virtual machine ID 302 is an identifier for uniquely identifying the VM 150 operating on one physical server 102. Note that the identifiers of the VMs 150 on different physical servers 102 may overlap. The OS type 303 indicates the type of the OS 160 executed on the VM 150.

仮想リソース304は、VM150に対して割り当てられる計算機リソース量を示す。最小リソース305は、VM150に対して割当が保証される計算機リソース量を示す。   The virtual resource 304 indicates a computer resource amount allocated to the VM 150. The minimum resource 305 indicates a computer resource amount that is guaranteed to be allocated to the VM 150.

本実施例では、ハイパバイザ140は、性能保証型のコンテナ170に追加する計算機リソース量を確保するために、計算機リソース量をVM150に余剰に割り当てる。そのため、全てのVM150の仮想リソース304の合計値は、物理サーバ102が有する計算機リソース量より大きくなる。したがって、仮想リソース304に設定された計算機リソース量を必ずしも確保できない場合がある。前述したような場合であっても、最大限確保できる計算機リソース量が最小リソース305に設定される。   In this embodiment, the hypervisor 140 allocates a surplus of computer resources to the VM 150 in order to secure the amount of computer resources to be added to the performance guarantee type container 170. Therefore, the total value of the virtual resources 304 of all the VMs 150 is larger than the computer resource amount that the physical server 102 has. Therefore, the computer resource amount set in the virtual resource 304 may not always be ensured. Even in the case described above, the minimum resource 305 is set to the maximum amount of computer resources that can be secured.

例えば、図3に示す例では、物理サーバID301が「1」の物理サーバ102上では二つのVM150が稼働し、仮想マシンID302が「1」のVM150には「16」のコアが割り当てられ、仮想マシンID302が「2」のVM150には「20」のコアが割り当てられる。すなわち、それぞれのVM150に計算機リソースがオーバーコミットされる。このとき、仮想リソース304の合計値は「36」となる。そのため、仮想マシンID302が「2」のVM150が全てのコアを使用している場合に確保可能なコアの数は「12」となり、また、仮想マシンID302が「1」のVM150が全てのコアを使用している場合に確保可能なコアの数は「18」となる。すなわち、最小リソース305に設定される値は下式(1)に基づいて算出される。   For example, in the example illustrated in FIG. 3, two VMs 150 are operating on the physical server 102 with the physical server ID 301 of “1”, and a core of “16” is assigned to the VM 150 with the virtual machine ID 302 of “1”. A core “20” is assigned to the VM 150 whose machine ID 302 is “2”. That is, the computer resource is overcommitted to each VM 150. At this time, the total value of the virtual resources 304 is “36”. Therefore, when the VM 150 with the virtual machine ID 302 “2” uses all the cores, the number of cores that can be secured is “12”, and the VM 150 with the virtual machine ID 302 “1” has all the cores. The number of cores that can be secured when in use is “18”. That is, the value set for the minimum resource 305 is calculated based on the following equation (1).

Figure 0006374845
Figure 0006374845

ここで、vRiminは、仮想マシンID302が「i」であるVM150の最小リソース305を示す。また、vRjは、仮想マシンID302が「j」であるVM150の仮想リソース304を示す。また、Rは、仮想マシンID302が「i」であるVM150が稼働する物理サーバ102のリソース202を示す。 Here, vRi min indicates the minimum resource 305 of the VM 150 whose virtual machine ID 302 is “i”. Further, vRj indicates the virtual resource 304 of the VM 150 whose virtual machine ID 302 is “j”. R indicates the resource 202 of the physical server 102 on which the VM 150 whose virtual machine ID 302 is “i” operates.

割当リソース306は、一つのVM150上で稼働する各コンテナ170に割り当てられる計算機リソース量の合計値を示す。本実施例では、下式(2)に基づいて算出された値が割当リソース306に設定される。   The allocation resource 306 indicates the total value of the computer resource amount allocated to each container 170 operating on one VM 150. In the present embodiment, a value calculated based on the following equation (2) is set in the allocation resource 306.

Figure 0006374845
Figure 0006374845

ここで、vRalは、割当リソース306の値である。rp(i)は、仮想マシンID302が「i」であるVM150の性能保証型のコンテナ170の要求リソース量であり、後述する性能保証403に設定される数値に対応する。Nは、ベストエフォート型のコンテナ170の総数である。αは、ベストエフォート型のコンテナ170の最小性能値である。αは、システム運用者によって設定される。本実施例ではαは0.1であるものとする。 Here, vR al is the value of the allocation resource 306. rp (i) is a required resource amount of the performance guarantee type container 170 of the VM 150 whose virtual machine ID 302 is “i”, and corresponds to a numerical value set in the performance guarantee 403 described later. N is the total number of best effort type containers 170. α is the minimum performance value of the best effort type container 170. α is set by the system operator. In this embodiment, α is assumed to be 0.1.

図4は、実施例1のコンテナ管理テーブル124の構成例を示す図である。   FIG. 4 is a diagram illustrating a configuration example of the container management table 124 according to the first embodiment.

コンテナ管理テーブル124は、仮想マシンID401、コンテナID402、及び性能保証403を含む。   The container management table 124 includes a virtual machine ID 401, a container ID 402, and a performance guarantee 403.

仮想マシンID401は、仮想マシンID302と同一のものである。コンテナID402は、物理サーバ102内のコンテナ170を一意に識別するための識別子である。なお、異なるOS160上のコンテナ170の識別子は重複してもよい。性能保証403は、コンテナ170の性能保証に関する情報である。性能保証403には、保証すべきリソース量を示す数値、又は文字情報「ベストエフォート」のいずれかが設定される。   The virtual machine ID 401 is the same as the virtual machine ID 302. The container ID 402 is an identifier for uniquely identifying the container 170 in the physical server 102. Note that the identifiers of the containers 170 on different OSs 160 may overlap. The performance guarantee 403 is information regarding the performance guarantee of the container 170. In the performance guarantee 403, either a numerical value indicating the resource amount to be guaranteed or the character information “best effort” is set.

図4に示す例では、仮想マシンID401が「1」のVM150の割当リソース306は、式(2)を用いて下式(3)のように算出される。また、仮想マシンID401が「2」のVM150の割当リソース306は、式(2)を用いて下式(4)のように算出される。   In the example illustrated in FIG. 4, the allocated resource 306 of the VM 150 whose virtual machine ID 401 is “1” is calculated as in the following equation (3) using the equation (2). Further, the allocated resource 306 of the VM 150 whose virtual machine ID 401 is “2” is calculated as in the following equation (4) using the equation (2).

Figure 0006374845
Figure 0006374845

Figure 0006374845
Figure 0006374845

図5は、実施例1のコンテナ制御部120が実行する処理を説明するフローチャートである。   FIG. 5 is a flowchart illustrating processing executed by the container control unit 120 according to the first embodiment.

管理サーバ101は、クライアント端末103から新たなコンテナ170の追加要求を受信した場合、コンテナ制御部120を呼び出す。コンテナ170の追加要求には、コンテナ170を制御するOS160の種別、及びコンテナ170の性能保証に関する情報が含まれる。また、コンテナ170が性能保証型のコンテナ170である場合、追加要求にはコンテナ170に割り当てる計算機リソース量が含まれる。以下の説明では、コンテナ170の追加要求に基づいてコンテナ管理システムに追加されるコンテナ170を新規コンテナ170とも記載する。また、新規コンテナ170の追加に必要な計算機リソース量を要求リソース量とも記載する。   When the management server 101 receives a request for adding a new container 170 from the client terminal 103, the management server 101 calls the container control unit 120. The container 170 addition request includes information regarding the type of the OS 160 that controls the container 170 and the performance guarantee of the container 170. When the container 170 is a performance guarantee type container 170, the addition request includes the amount of computer resources allocated to the container 170. In the following description, the container 170 added to the container management system based on the container 170 addition request is also referred to as a new container 170. In addition, the computer resource amount necessary for adding the new container 170 is also described as the requested resource amount.

コンテナ制御部120は、VM150の最小リソース305が割当リソース306を上回るように計算機リソース量の割り当てを制御する。具体的には、コンテナ制御部120は、四つのステップにしたがって、コンテナ170を配置する。   The container control unit 120 controls the allocation of the computer resource amount so that the minimum resource 305 of the VM 150 exceeds the allocated resource 306. Specifically, the container control unit 120 arranges the container 170 according to four steps.

第1のステップでは、コンテナ制御部120が、物理サーバ102にVM150を追加することなくコンテナ170を配置できるか否かを判定する。前述の条件を満たす場合、コンテナ制御部120は、所定のVM150にコンテナ170を追加する。前述した条件を満たさない場合、コンテナ制御部120は、第2のステップに移行する。   In the first step, the container control unit 120 determines whether or not the container 170 can be arranged without adding the VM 150 to the physical server 102. When the above conditions are satisfied, the container control unit 120 adds the container 170 to the predetermined VM 150. When the above-described conditions are not satisfied, the container control unit 120 proceeds to the second step.

第2のステップでは、コンテナ制御部120が、コンテナ170を追加する予定のVM150とは異なる他のVM150の計算機リソースの割当量を変更することによって、コンテナ170を配置できるか否かを判定する。前述した条件を満たす場合、コンテナ制御部120は、他のVM150の計算機リソースの割当量を調整し、所定のVM150にコンテナ170を追加する。前述した条件を満たさない場合、コンテナ制御部120は、第3のステップに移行する。   In the second step, the container control unit 120 determines whether the container 170 can be arranged by changing the allocation amount of the computer resource of another VM 150 different from the VM 150 to which the container 170 is to be added. When the above-described conditions are satisfied, the container control unit 120 adjusts the allocation amount of the computer resource of the other VM 150 and adds the container 170 to the predetermined VM 150. If the above-described conditions are not satisfied, the container control unit 120 proceeds to the third step.

第3のステップでは、コンテナ制御部120が、コンテナ170の追加に必要な計算機リソースを有する物理サーバ102が存在するか否かを判定する。前述した条件を満たす場合、コンテナ制御部120は、条件を満たす物理サーバ102にVM150を追加し、さらに、当該VM150にコンテナ170を追加する。前述した条件を満たさない場合、コンテナ制御部120は、第4のステップに移行する。   In the third step, the container control unit 120 determines whether there is a physical server 102 having a computer resource necessary for adding the container 170. When the conditions described above are satisfied, the container control unit 120 adds a VM 150 to the physical server 102 that satisfies the conditions, and further adds a container 170 to the VM 150. If the above-described conditions are not satisfied, the container control unit 120 proceeds to the fourth step.

第4のステップでは、コンテナ制御部120は、コンテナ管理システムに新たに物理サーバ102を追加し、当該物理サーバ102にVM150を追加する。さらに、コンテナ制御部120は、追加されたVM150にコンテナ170を追加する。   In the fourth step, the container control unit 120 adds a new physical server 102 to the container management system and adds a VM 150 to the physical server 102. Furthermore, the container control unit 120 adds the container 170 to the added VM 150.

以下、各ステップの詳細な内容について説明する。まず、コンテナ制御部120は、VMのループ処理を開始する(ステップS501)。   Hereinafter, detailed contents of each step will be described. First, the container control unit 120 starts a VM loop process (step S501).

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123を参照して、対象のエントリ(VM150)を一つ選択する。本実施例では、上のエントリから順に選択されるものとする。なお、本発明は選択する順番に依存しない。   Specifically, the container control unit 120 refers to the virtual machine management table 123 and selects one target entry (VM 150). In this embodiment, it is assumed that the entries are selected in order from the top entry. The present invention does not depend on the order of selection.

コンテナ制御部120は、選択されたVM150が新規コンテナ170を追加可能なVM150であるか否かを判定する(ステップS502)。以下の説明では、新規コンテナ170を追加可能なVM150を候補VM150とも記載する。   The container control unit 120 determines whether or not the selected VM 150 is a VM 150 to which a new container 170 can be added (step S502). In the following description, a VM 150 to which a new container 170 can be added is also referred to as a candidate VM 150.

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123を参照して、選択されたVM150に対応するエントリのOS種別303が追加要求に含まれるOS160の種別と一致するか否かを判定する。OS種別303が追加要求に含まれるOS160の種別と一致する場合、コンテナ制御部120は、選択されたVM150が候補VM150であると判定する。   Specifically, the container control unit 120 refers to the virtual machine management table 123 and determines whether or not the OS type 303 of the entry corresponding to the selected VM 150 matches the type of the OS 160 included in the addition request. To do. If the OS type 303 matches the type of the OS 160 included in the addition request, the container control unit 120 determines that the selected VM 150 is a candidate VM 150.

選択されたVM150が候補VM150でないと判定された場合、コンテナ制御部120はステップS506に進む。   When it is determined that the selected VM 150 is not the candidate VM 150, the container control unit 120 proceeds to step S506.

選択されたVM150が候補VM150であると判定された場合、コンテナ制御部120は、候補VM150に要求リソース量分の空きリソースが存在するか否かを判定する(ステップS503)。具体的には、以下のような処理が実行される。   When it is determined that the selected VM 150 is a candidate VM 150, the container control unit 120 determines whether there are free resources corresponding to the requested resource amount in the candidate VM 150 (step S503). Specifically, the following processing is executed.

コンテナ制御部120は、追加要求に含まれる情報に基づいて、新規コンテナ170が性能保証型のコンテナ170であるか否かを判定する。新規コンテナ170がベストエフォート型のコンテナ170であると判定された場合、コンテナ制御部120は、候補VM150に要求リソース量分の空きリソースが存在すると判定する。   The container control unit 120 determines whether or not the new container 170 is a performance guarantee type container 170 based on the information included in the addition request. When it is determined that the new container 170 is the best effort type container 170, the container control unit 120 determines that there are free resources for the requested resource amount in the candidate VM 150.

新規コンテナ170が性能保証型のコンテナ170であると判定された場合、コンテナ制御部120は、候補VM150に対応するエントリの仮想リソース304から割当リソース306を減算して、候補VM150の空きリソース量を算出する。さらに、コンテナ制御部120は、候補VM150の空きリソース量が要求リソース量以上であるか否かを判定する。   When it is determined that the new container 170 is the performance guarantee type container 170, the container control unit 120 subtracts the allocation resource 306 from the virtual resource 304 of the entry corresponding to the candidate VM 150, and obtains the free resource amount of the candidate VM 150. calculate. Furthermore, the container control unit 120 determines whether or not the free resource amount of the candidate VM 150 is equal to or greater than the requested resource amount.

候補VM150の空きリソース量が要求リソース量以上である場合、コンテナ制御部120は、候補VM150に要求リソース量分の空きリソースが存在すると判定する。以上がステップS503の処理の説明である。   When the free resource amount of the candidate VM 150 is equal to or larger than the requested resource amount, the container control unit 120 determines that there are free resources for the requested resource amount in the candidate VM 150. The above is the description of the processing in step S503.

候補VM150に要求リソース量分の空きリソースが存在すると判定された場合、コンテナ制御部120は、候補VM150に新規コンテナ170を追加する(ステップS511)。コンテナ制御部120は、仮想マシン管理テーブル123及びコンテナ管理テーブル124を更新する(ステップS512)。その後、コンテナ制御部120は、処理を終了する。   When it is determined that there are free resources for the requested resource amount in the candidate VM 150, the container control unit 120 adds a new container 170 to the candidate VM 150 (step S511). The container control unit 120 updates the virtual machine management table 123 and the container management table 124 (step S512). Thereafter, the container control unit 120 ends the process.

具体的には、コンテナ制御部120は、ハイパバイザ140を介してコンテナ実行部161に新規コンテナ170の追加を指示する。コンテナ制御部120は、仮想マシン管理テーブル123を参照し、候補VM150に対応するエントリの割当リソース306に要求リソース量を加算する。また、コンテナ制御部120は、コンテナ管理テーブル124にエントリを追加し、追加されたエントリの仮想マシンID401に候補VM150の識別子を設定し、また、当該エントリの性能保証403に要求リソース量を設定する。さらに、コンテナ制御部120は、追加されたエントリのコンテナID402に新規コンテナ170の識別子を設定する。なお、新規コンテナ170がベストエフォート型のコンテナの場合、性能保証403には「ベストエフォート」が設定される。   Specifically, the container control unit 120 instructs the container execution unit 161 to add a new container 170 via the hypervisor 140. The container control unit 120 refers to the virtual machine management table 123 and adds the requested resource amount to the allocated resource 306 of the entry corresponding to the candidate VM 150. Further, the container control unit 120 adds an entry to the container management table 124, sets the identifier of the candidate VM 150 in the virtual machine ID 401 of the added entry, and sets the requested resource amount in the performance guarantee 403 of the entry. . Further, the container control unit 120 sets the identifier of the new container 170 in the container ID 402 of the added entry. When the new container 170 is a best effort type container, “best effort” is set in the performance guarantee 403.

ステップS503において、候補VM150に要求リソース量分の空きリソースが存在しないと判定された場合、コンテナ制御部120は、候補VM150が稼働する物理サーバ102に要求リソース量分の空きリソースが存在するか否かを判定する(ステップS504)。以下の説明では候補VM150が稼働する物理サーバ102を対象物理サーバ102とも記載する。具体的には、以下のような処理が実行される。   If it is determined in step S503 that there are no free resources for the requested resource amount in the candidate VM 150, the container control unit 120 determines whether there are free resources for the requested resource amount in the physical server 102 on which the candidate VM 150 operates. Is determined (step S504). In the following description, the physical server 102 on which the candidate VM 150 operates is also referred to as the target physical server 102. Specifically, the following processing is executed.

コンテナ制御部120は、候補VM150に対応するエントリの物理サーバID301から対象物理サーバ102の識別子を取得する。コンテナ制御部120は、対象物理サーバ102の識別子に基づいて物理サーバ管理テーブル122を参照して、対象物理サーバ102に一致するエントリを検索する。コンテナ制御部120は、検索されたエントリのリソース202の値を取得する。   The container control unit 120 acquires the identifier of the target physical server 102 from the physical server ID 301 of the entry corresponding to the candidate VM 150. The container control unit 120 refers to the physical server management table 122 based on the identifier of the target physical server 102 and searches for an entry that matches the target physical server 102. The container control unit 120 acquires the value of the resource 202 of the searched entry.

コンテナ制御部120は、対象物理サーバ102の識別子に基づいて仮想マシン管理テーブル123を参照して、対象物理サーバ上で稼働する全てのVM150のエントリを検索する。コンテナ制御部120は、検索された各エントリの割当リソース306の合計値を算出する。コンテナ制御部120は、算出された合計値に要求リソース量を加算して、予測リソース量を算出する。コンテナ制御部120は、リソース202の値から予測リソース量を減算して、対象物理サーバ102の空きリソース量を算出する。   The container control unit 120 refers to the virtual machine management table 123 based on the identifier of the target physical server 102 and searches for entries of all VMs 150 operating on the target physical server. The container control unit 120 calculates the total value of the allocated resources 306 of each searched entry. The container control unit 120 calculates the predicted resource amount by adding the requested resource amount to the calculated total value. The container control unit 120 subtracts the predicted resource amount from the value of the resource 202 to calculate the free resource amount of the target physical server 102.

コンテナ制御部120は、対象物理サーバ102の空きリソース量が要求リソース量以上であるか否かを判定する。対象物理サーバ102の空きリソース量が要求リソース量以上である場合、コンテナ制御部120は、対象物理サーバ102に要求リソース量分の空きリソースが存在すると判定する。以上がステップS504の処理の説明である。   The container control unit 120 determines whether or not the free resource amount of the target physical server 102 is greater than or equal to the requested resource amount. When the free resource amount of the target physical server 102 is equal to or larger than the requested resource amount, the container control unit 120 determines that there are free resources for the requested resource amount in the target physical server 102. The above is the description of the process in step S504.

対象物理サーバ102に要求リソース量分の空きリソースが存在すると判定された場合、コンテナ制御部120は、リソース調整処理を実行する(ステップS505)、リソース調整処理の詳細は図6を用いて説明する。   If it is determined that there are free resources for the requested resource amount in the target physical server 102, the container control unit 120 executes resource adjustment processing (step S505), and details of the resource adjustment processing will be described with reference to FIG. .

コンテナ制御部120は、リソース調整処理が終了した後、候補VM150に新規コンテナ170を追加する(ステップS511)。コンテナ制御部120は、仮想マシン管理テーブル123及びコンテナ管理テーブル124を更新する(ステップS512)。その後、コンテナ制御部120は、処理を終了する。   After the resource adjustment process ends, the container control unit 120 adds a new container 170 to the candidate VM 150 (Step S511). The container control unit 120 updates the virtual machine management table 123 and the container management table 124 (step S512). Thereafter, the container control unit 120 ends the process.

具体的には、コンテナ制御部120は、ハイパバイザ140を介してコンテナ実行部161に新規コンテナ170の追加を指示する。コンテナ制御部120は、仮想マシン管理テーブル123を参照し、候補VM150に対応するエントリの割当リソース306に要求リソース量を加算する。また、コンテナ制御部120は、コンテナ管理テーブル124にエントリを追加し、追加されたエントリの仮想マシンID401に候補VM150の識別子を設定し、また、当該エントリの性能保証403に要求リソース量を設定する。さらに、コンテナ制御部120は、追加されたエントリのコンテナID402に新規コンテナ170の識別子を設定する。   Specifically, the container control unit 120 instructs the container execution unit 161 to add a new container 170 via the hypervisor 140. The container control unit 120 refers to the virtual machine management table 123 and adds the requested resource amount to the allocated resource 306 of the entry corresponding to the candidate VM 150. Further, the container control unit 120 adds an entry to the container management table 124, sets the identifier of the candidate VM 150 in the virtual machine ID 401 of the added entry, and sets the requested resource amount in the performance guarantee 403 of the entry. . Further, the container control unit 120 sets the identifier of the new container 170 in the container ID 402 of the added entry.

ステップS504において、対象物理サーバ102に要求リソース量分の空きリソースが存在しないと判定された場合、コンテナ制御部120は、ステップS506に進む。   If it is determined in step S504 that there are no free resources for the requested resource amount in the target physical server 102, the container control unit 120 proceeds to step S506.

ステップS502又はステップS504の判定結果がNOである場合、コンテナ制御部120は、全てのVM150について処理が完了したか否かを判定する(ステップS506)。   When the determination result of step S502 or step S504 is NO, the container control unit 120 determines whether or not the processing has been completed for all the VMs 150 (step S506).

全てのVM150について処理が完了していないと判定された場合、コンテナ制御部120は、ステップS501に戻り、新たにVM150を選択する。   If it is determined that the processing has not been completed for all the VMs 150, the container control unit 120 returns to step S501 and newly selects a VM 150.

全てのVM150について処理が完了していると判定された場合、コンテナ制御部120は、物理サーバ102のループ処理を開始する(ステップS507)。   When it is determined that the processing has been completed for all the VMs 150, the container control unit 120 starts loop processing of the physical server 102 (step S507).

具体的には、コンテナ制御部120は、物理サーバ管理テーブル122を参照して、対象のエントリ(物理サーバ102)を一つ選択する。   Specifically, the container control unit 120 refers to the physical server management table 122 and selects one target entry (physical server 102).

コンテナ制御部120は、選択された物理サーバ102に要求リソース量分の空きリソースが存在するか否かを判定する(ステップS508)。具体的には、以下のような処理が実行される。   The container control unit 120 determines whether or not there are free resources for the requested resource amount in the selected physical server 102 (step S508). Specifically, the following processing is executed.

コンテナ制御部120は、物理サーバ管理テーブル122を参照して、物理サーバID201が選択された物理サーバ102の識別子に一致するエントリを検索する。コンテナ制御部120は、検索されたエントリのリソース202の値を取得する。   The container control unit 120 refers to the physical server management table 122 and searches for an entry whose physical server ID 201 matches the identifier of the selected physical server 102. The container control unit 120 acquires the value of the resource 202 of the searched entry.

コンテナ制御部120は、仮想マシン管理テーブル123を参照し、物理サーバID301が選択された物理サーバ102の識別子に一致するエントリを抽出する。コンテナ制御部120は、抽出されたエントリの最小リソース305の合計値を算出する。   The container control unit 120 refers to the virtual machine management table 123, and extracts an entry whose physical server ID 301 matches the identifier of the selected physical server 102. The container control unit 120 calculates the total value of the minimum resources 305 of the extracted entries.

コンテナ制御部120は、リソース202から最小リソース305の合計値を減算し、算出された値が要求リソース量以上であるか否かを判定する。算出された値が要求リソース量以上である場合、コンテナ制御部120は、選択された物理サーバ102に要求リソース量分の空きリソースが存在すると判定する。以上がステップS508の処理の説明である。   The container control unit 120 subtracts the total value of the minimum resources 305 from the resource 202, and determines whether or not the calculated value is equal to or greater than the requested resource amount. If the calculated value is equal to or greater than the requested resource amount, the container control unit 120 determines that there are free resources for the requested resource amount in the selected physical server 102. The above is the description of the processing in step S508.

選択された物理サーバ102に要求リソース量分の空きリソースが存在しないと判定された場合、コンテナ制御部120は、全ての物理サーバ102について処理が完了したか否かを判定する(ステップS513)。   When it is determined that there are no free resources for the requested resource amount in the selected physical server 102, the container control unit 120 determines whether or not the processing has been completed for all the physical servers 102 (step S513).

全ての物理サーバ102について処理が完了していないと判定された場合、コンテナ制御部120は、ステップS507に戻り、新たな物理サーバ102を選択する。   When it is determined that the processing has not been completed for all the physical servers 102, the container control unit 120 returns to step S507 and selects a new physical server 102.

全ての物理サーバ102について処理が完了したと判定された場合、コンテナ制御部120は、物理サーバ102の追加処理を実行し(ステップS514)、その後、処理を終了する。物理サーバ102に追加処理(デプロイ処理)の詳細は図7を用いて説明する。   When it is determined that the processing has been completed for all the physical servers 102, the container control unit 120 executes the processing for adding the physical server 102 (step S514), and thereafter ends the processing. Details of the addition processing (deployment processing) to the physical server 102 will be described with reference to FIG.

ステップS508において、選択された物理サーバ102に要求リソース量分の空きリソースが存在すると判定された場合、コンテナ制御部120は、追加要求に含まれるOS160の種別に基づいて、要求された種類のOS160を稼働させるVM150を追加する(ステップS509)。VM150の追加方法は公知であるため詳細な説明は省略する。コンテナ制御部120は、仮想マシン管理テーブル123を更新する(ステップS510)。   If it is determined in step S508 that the selected physical server 102 has free resources for the requested resource amount, the container control unit 120 determines the requested type of OS 160 based on the type of OS 160 included in the addition request. Is added (step S509). Since the addition method of VM150 is well-known, detailed description is abbreviate | omitted. The container control unit 120 updates the virtual machine management table 123 (step S510).

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123に追加されたVM150のエントリを追加する。また、コンテナ制御部120は、仮想マシンID302に所定の識別子を設定し、物理サーバID301に選択された物理サーバ102の識別子を設定し、また、OS種別303に追加要求に含まれるOS160の種別を設定する。仮想リソース304及び割当リソース306には、物理サーバ102のリソースの空きに応じて、全ての空きリソース、又は、一定の割合のリソースが設定される。   Specifically, the container control unit 120 adds the entry of the VM 150 added to the virtual machine management table 123. Further, the container control unit 120 sets a predetermined identifier in the virtual machine ID 302, sets the identifier of the selected physical server 102 in the physical server ID 301, and sets the type of the OS 160 included in the addition request in the OS type 303. Set. In the virtual resource 304 and the allocation resource 306, all free resources or a certain percentage of resources are set according to the free resources of the physical server 102.

次に、コンテナ制御部120は、追加されたVM150に新規コンテナ170を追加する(ステップS511)。コンテナ制御部120は、仮想マシン管理テーブル123及びコンテナ管理テーブル124を更新する(ステップS512)。その後、コンテナ制御部120は、処理を終了する。   Next, the container control unit 120 adds a new container 170 to the added VM 150 (step S511). The container control unit 120 updates the virtual machine management table 123 and the container management table 124 (step S512). Thereafter, the container control unit 120 ends the process.

具体的には、コンテナ制御部120は、ハイパバイザ140を介して、コンテナ実行部161に新規コンテナ170の追加を指示する。コンテナ制御部120は、仮想マシン管理テーブル123を参照し、追加されたVM150に対応するエントリの仮想リソース304、及び最小リソース305に初期値を設定し、また、割当リソース306に要求リソース量を設定する。また、コンテナ制御部120は、コンテナ管理テーブル124にエントリを追加し、追加されたエントリの仮想マシンID401に追加されたVM150の識別子を設定し、また、当該エントリの性能保証403に要求リソース量を設定する。さらに、コンテナ制御部120は、追加されたエントリのコンテナID402に新規コンテナ170の識別子を設定する。   Specifically, the container control unit 120 instructs the container execution unit 161 to add a new container 170 via the hypervisor 140. The container control unit 120 refers to the virtual machine management table 123, sets initial values for the virtual resource 304 and the minimum resource 305 of the entry corresponding to the added VM 150, and sets the requested resource amount for the allocated resource 306. To do. In addition, the container control unit 120 adds an entry to the container management table 124, sets the identifier of the added VM 150 in the virtual machine ID 401 of the added entry, and sets the requested resource amount in the performance guarantee 403 of the entry. Set. Further, the container control unit 120 sets the identifier of the new container 170 in the container ID 402 of the added entry.

なお、仮想リソース304及び最小リソース305に設定する初期値は、予め設定された計算機式に基づいて算出された値を設定してもよいし、管理者によって入力された値を設定してもよい。   Note that the initial values set for the virtual resource 304 and the minimum resource 305 may be set based on a preset computer formula, or may be set as a value input by an administrator. .

図6は、実施例1のコンテナ制御部120が実行するリソース調整処理の一例を示すフローチャートである。リソース調整処理には入力としてステップS504において選択された物理サーバ102の識別子が入力される。   FIG. 6 is a flowchart illustrating an example of resource adjustment processing executed by the container control unit 120 according to the first embodiment. In the resource adjustment process, the identifier of the physical server 102 selected in step S504 is input as an input.

コンテナ制御部120は、対象物理サーバ102上のベストエフォート型のコンテナ170に割り当てるリソース量を算出する(ステップS601)。   The container control unit 120 calculates the resource amount to be allocated to the best effort type container 170 on the target physical server 102 (step S601).

本実施例では、対象物理サーバ102のリソース量から性能保証型のコンテナ170に割り当てられたリソース量の合計値を減算することによって算出されるリソース量がベストエフォート型のコンテナ170にオーバーコミットされるものとする。この場合、下式(5)を用いてベストエフォート型のコンテナ170に割り当てるリソース量が算出される。なお、Tkは下式(6)で与えられる。なお、添え字kは、対象物理サーバ102上で稼働するVM150の識別子に対応する。   In this embodiment, the resource amount calculated by subtracting the total value of the resource amount allocated to the performance guarantee type container 170 from the resource amount of the target physical server 102 is overcommitted to the best effort type container 170. Shall. In this case, the amount of resources allocated to the best effort type container 170 is calculated using the following equation (5). Tk is given by the following formula (6). Note that the subscript k corresponds to the identifier of the VM 150 operating on the target physical server 102.

Figure 0006374845
Figure 0006374845

Figure 0006374845
Figure 0006374845

ここで、rbはベストエフォート型のコンテナ170に割り当てるリソース量である。Tkは、識別子が「k」であるVM150上の性能保証型のコンテナ170に割り当てられたリソース量の合計値である。rpnewは、要求リソース量である。 Here, rb is a resource amount allocated to the best effort type container 170. Tk is the total value of the resource amount allocated to the performance guarantee type container 170 on the VM 150 whose identifier is “k”. rp new is the requested resource amount.

次に、コンテナ制御部120は、対象物理サーバ102上の各VM150に割り当てるリソース量を調整するために、対象物理サーバ102上のVM150のループ処理を開始する(ステップS602)。   Next, the container control unit 120 starts loop processing of the VM 150 on the target physical server 102 in order to adjust the resource amount allocated to each VM 150 on the target physical server 102 (step S602).

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123を参照して、物理サーバID301が対象物理サーバ102の識別子と一致するエントリを検索する。コンテナ制御部120は、検索されたエントリの中から対象のエントリ(VM150)を選択する。本実施例では、仮想マシンID302が小さい順にエントリが選択されるものとする。なお、本発明は選択するエントリの順番に依存しない。   Specifically, the container control unit 120 refers to the virtual machine management table 123 and searches for an entry in which the physical server ID 301 matches the identifier of the target physical server 102. The container control unit 120 selects a target entry (VM 150) from the retrieved entries. In this embodiment, it is assumed that entries are selected in ascending order of virtual machine ID 302. The present invention does not depend on the order of entries to be selected.

次に、コンテナ制御部120は、選択されたVM150に新たに割り当てる新リソース量を算出する(ステップS603)。本実施例では、コンテナ制御部120は、下式(7)を用いて選択されたVM150の新リソース量を算出する。   Next, the container control unit 120 calculates a new resource amount to be newly allocated to the selected VM 150 (step S603). In the present embodiment, the container control unit 120 calculates the new resource amount of the VM 150 selected using the following equation (7).

Figure 0006374845
Figure 0006374845

ここで、vRjnewは識別子が「j」である対象物理サーバ102の新リソース量である。 Here, vRj new is the new resource amount of the target physical server 102 whose identifier is “j”.

次に、コンテナ制御部120は、新リソース量が選択されたVM150に現在割り当てられるリソース量より大きいか否かを判定する(ステップS604)。   Next, the container control unit 120 determines whether or not the new resource amount is larger than the resource amount currently allocated to the selected VM 150 (step S604).

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123を参照し、選択されたVM150に対応するエントリの仮想リソース304の値を取得する。コンテナ制御部120は、新リソース量が仮想リソース304の値より大きいか否か判定する。   Specifically, the container control unit 120 refers to the virtual machine management table 123 and acquires the value of the virtual resource 304 of the entry corresponding to the selected VM 150. The container control unit 120 determines whether the new resource amount is larger than the value of the virtual resource 304.

新リソース量が選択されたVM150に現在割り当てられるリソース量より大きいと判定された場合、コンテナ制御部120は、当該VM150に割り当てるリソース量を追加し(ステップS605)、その後、ステップS607に進む。   When it is determined that the new resource amount is larger than the resource amount currently allocated to the selected VM 150, the container control unit 120 adds the resource amount to be allocated to the VM 150 (step S605), and then proceeds to step S607.

具体的には、コンテナ制御部120は、新リソース量と現在のリソース量との差を算出し、算出された差の分だけ計算機リソース量を追加する。また、コンテナ制御部120は、選択されたVM150に対応するエントリの仮想リソース304に新リソース量を設定する。   Specifically, the container control unit 120 calculates the difference between the new resource amount and the current resource amount, and adds the computer resource amount by the calculated difference. Further, the container control unit 120 sets a new resource amount in the virtual resource 304 of the entry corresponding to the selected VM 150.

新リソース量が選択されたVM150に現在割り当てられるリソース量以下であると判定された場合、コンテナ制御部120は、当該VM150に割り当てるリソース量を削減し(ステップS606)、その後、ステップS607に進む。   If it is determined that the new resource amount is less than or equal to the resource amount currently allocated to the selected VM 150, the container control unit 120 reduces the resource amount allocated to the VM 150 (step S606), and then proceeds to step S607.

具体的には、コンテナ制御部120は、新リソース量と現在のリソース量との差を算出し、算出された差の分だけ計算機リソース量を削減する。また、コンテナ制御部120は、選択されたVM150に対応するエントリの仮想リソース304に新リソース量を設定する。   Specifically, the container control unit 120 calculates the difference between the new resource amount and the current resource amount, and reduces the computer resource amount by the calculated difference. Further, the container control unit 120 sets a new resource amount in the virtual resource 304 of the entry corresponding to the selected VM 150.

ステップS605又はステップS606の処理が完了した後、コンテナ制御部120は、対象物理サーバ102上で稼働する全てのVM150について処理が完了したか否かを判定する(ステップS607)。   After the processing in step S605 or step S606 is completed, the container control unit 120 determines whether the processing has been completed for all VMs 150 operating on the target physical server 102 (step S607).

対象物理サーバ102上で稼働する全てのVM150について処理が完了していないと判定された場合、コンテナ制御部120は、ステップS602に戻り、新たにVM150を選択する。対象物理サーバ102上で稼働する全てのVM150について処理が完了したと判定された場合、コンテナ制御部120は、処理を終了する。   When it is determined that the processing has not been completed for all the VMs 150 running on the target physical server 102, the container control unit 120 returns to step S602 and newly selects a VM 150. When it is determined that the processing has been completed for all the VMs 150 operating on the target physical server 102, the container control unit 120 ends the processing.

以上の処理によって、対象VM150以外のVM150のうち、少なくとも一つのVM150の計算機リソース量が削減される。一方、対象VM150の計算機リソース量は追加される。   Through the above processing, the computer resource amount of at least one VM 150 among the VMs 150 other than the target VM 150 is reduced. On the other hand, the computer resource amount of the target VM 150 is added.

図7は、実施例1のコンテナ制御部120が実行する物理サーバ102の追加処理の一例を示すフローチャートである。   FIG. 7 is a flowchart illustrating an example of the addition process of the physical server 102 executed by the container control unit 120 according to the first embodiment.

コンテナ制御部120は、物理サーバ追加部121に新規物理サーバ102の追加を指示し(ステップS701)、物理サーバ管理テーブル122を更新する(ステップS702)。   The container control unit 120 instructs the physical server addition unit 121 to add a new physical server 102 (step S701), and updates the physical server management table 122 (step S702).

具体的には、コンテナ制御部120は、物理サーバ管理テーブル122に新たなエントリを追加し、物理サーバID201に新規物理サーバ102の識別子を設定し、また、リソース202に新規物理サーバ102のリソース量を設定する。   Specifically, the container control unit 120 adds a new entry to the physical server management table 122, sets the identifier of the new physical server 102 in the physical server ID 201, and sets the resource amount of the new physical server 102 in the resource 202. Set.

次に、コンテナ制御部120は、新規物理サーバ102に新規コンテナ170を追加するためのVM150を生成するか否かを判定する(ステップS703)。   Next, the container control unit 120 determines whether to create a VM 150 for adding the new container 170 to the new physical server 102 (step S703).

例えば、コンテナ制御部120は、新規物理サーバ102にVM150を生成するか否かを選択する画面を表示し、管理者からの操作を受け付ける方法が考えられる。また、コンテナ制御部120がオートスケール等の自動制御を行っている場合には、自動制御の種類に応じたポリシを設定し、当該制御ポリシに基づいて判定する方法も考えられる。なお、オートスケールとは、コンテナ170の数を自動的に増加又は削減する処理を示す。   For example, the container control unit 120 may display a screen for selecting whether to create the VM 150 on the new physical server 102 and accept an operation from the administrator. Further, when the container control unit 120 performs automatic control such as auto scaling, a method of setting a policy corresponding to the type of automatic control and determining based on the control policy is also conceivable. The auto scale indicates a process for automatically increasing or reducing the number of containers 170.

新規物理サーバ102にVM150を生成しない場合、コンテナ制御部120は、既存のVM150を新規物理サーバ102に移動し、当該VM150上に新規コンテナ170を追加する。   When the VM 150 is not generated on the new physical server 102, the container control unit 120 moves the existing VM 150 to the new physical server 102 and adds the new container 170 on the VM 150.

新規物理サーバ102にVM150を生成しないと判定された場合、コンテナ制御部120は、移動させるVM150を選択し(ステップS704)、選択されたVM150を新規物理サーバ102に移動する(ステップS705)。   When it is determined that the VM 150 is not generated on the new physical server 102, the container control unit 120 selects the VM 150 to be moved (step S704), and moves the selected VM 150 to the new physical server 102 (step S705).

本実施例では、コンテナ制御部120は、各物理サーバ102についてステップS503と同一の処理を実行することによって新規コンテナ170に要求されるOS160の種別と同一の種別のOS160が稼働するVM150を検索する。コンテナ制御部120は、検索されたVM150のうち、移動コストが最も小さいVM150を選択する。   In the present embodiment, the container control unit 120 searches the VM 150 on which the OS 160 of the same type as the type of the OS 160 required for the new container 170 is operating by executing the same processing as step S503 for each physical server 102. . The container control unit 120 selects a VM 150 having the lowest movement cost among the searched VMs 150.

移動コストは、VM150が使用するリソース量、及び稼働状況に基づいて算出される。例えば、メモリ使用量が少ない場合、CPU使用率が低い場合、メモリへの書込頻度が低い場合、又はIOトラフィック量が低い場合には、移動コストは小さい。   The movement cost is calculated based on the resource amount used by the VM 150 and the operation status. For example, when the memory usage is small, the CPU usage rate is low, the frequency of writing to the memory is low, or the IO traffic volume is low, the movement cost is small.

なお、移動させるVM150の選択方法は、既存のマイグレーション処理等で用いられる方法を用いてもよい。   As a method for selecting the VM 150 to be moved, a method used in an existing migration process or the like may be used.

次に、コンテナ制御部120は、仮想マシン管理テーブル123を更新する(ステップS706)。   Next, the container control unit 120 updates the virtual machine management table 123 (step S706).

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123を参照し、移動したVM150に対応するエントリの物理サーバID301に新規物理サーバ102の識別子を設定する。   Specifically, the container control unit 120 refers to the virtual machine management table 123 and sets the identifier of the new physical server 102 in the physical server ID 301 of the entry corresponding to the moved VM 150.

コンテナ制御部120は、新規物理サーバ102に移動したVM150にコンテナ170を追加する(ステップS707)。   The container control unit 120 adds the container 170 to the VM 150 moved to the new physical server 102 (step S707).

具体的には、コンテナ制御部120は、ハイパバイザ140を介して、新規コンテナ170の追加をコンテナ実行部161に指示する。   Specifically, the container control unit 120 instructs the container execution unit 161 to add a new container 170 via the hypervisor 140.

次に、コンテナ制御部120は、仮想マシン管理テーブル123及びコンテナ管理テーブル124を更新し(ステップS708)、処理を終了する。具体的には、以下のような処理が実行される。   Next, the container control unit 120 updates the virtual machine management table 123 and the container management table 124 (step S708), and ends the process. Specifically, the following processing is executed.

コンテナ制御部120は、仮想マシン管理テーブル123を参照し、新規コンテナ170が追加されたVM150に対応するエントリの仮想リソース304、最小リソース305、及び割当リソース306を更新する。例えば、コンテナ制御部120は、仮想リソース304、最小リソース305、及び割当リソース306のそれぞれに要求リソース量を加算する。   The container control unit 120 refers to the virtual machine management table 123 and updates the virtual resource 304, the minimum resource 305, and the allocated resource 306 in the entry corresponding to the VM 150 to which the new container 170 is added. For example, the container control unit 120 adds the requested resource amount to each of the virtual resource 304, the minimum resource 305, and the allocated resource 306.

なお、仮想リソース304、最小リソース305、及び割当リソース306の更新方法は前述した方法に限定されない。例えば、物理サーバ102の全リソース量を予め割り当てる方法、一定量を割り当てる方法などが考えられる。   Note that the method of updating the virtual resource 304, the minimum resource 305, and the allocated resource 306 is not limited to the method described above. For example, a method of preallocating the total resource amount of the physical server 102, a method of allocating a certain amount, and the like are conceivable.

また、コンテナ制御部120は、コンテナ管理テーブル124にエントリを追加し、追加されたエントリの仮想マシンID401に移動したVM150の識別子を設定し、また、当該エントリの性能保証403に要求リソース量を設定する。さらに、コンテナ制御部120は、追加されたエントリのコンテナID402に新規コンテナ170の識別子を設定する。以上がステップS708の処理の説明である。   Further, the container control unit 120 adds an entry to the container management table 124, sets the identifier of the VM 150 moved to the virtual machine ID 401 of the added entry, and sets the requested resource amount in the performance guarantee 403 of the entry. To do. Further, the container control unit 120 sets the identifier of the new container 170 in the container ID 402 of the added entry. The above is the description of the process in step S708.

ステップS703において、新規物理サーバ102にVM150を生成すると判定された場合、コンテナ制御部120は、新規物理サーバ102に新規VM150を追加し(ステップS709)、仮想マシン管理テーブル123を更新する(ステップS710)。VM150の追加方法は公知であるため詳細な説明を省略する。   If it is determined in step S703 that the VM 150 is generated in the new physical server 102, the container control unit 120 adds the new VM 150 to the new physical server 102 (step S709), and updates the virtual machine management table 123 (step S710). ). Since the addition method of VM150 is well-known, detailed description is abbreviate | omitted.

具体的には、コンテナ制御部120は、仮想マシン管理テーブル123にエントリを追加し、追加されたエントリの物理サーバID301に新規物理サーバ102の識別子、仮想マシンID302に新規VM150の識別子、OS種別303に追加要求に含まれるOS160の識別子を設定する。   Specifically, the container control unit 120 adds an entry to the virtual machine management table 123. The physical server ID 301 of the added entry is the identifier of the new physical server 102, the virtual machine ID 302 is the identifier of the new VM 150, and the OS type 303. Is set to the identifier of the OS 160 included in the addition request.

コンテナ制御部120は、新規物理サーバ102に追加された新規VM150にコンテナ170を追加する(ステップS707)。コンテナ制御部120は、仮想マシン管理テーブル123及びコンテナ管理テーブル124を更新し(ステップS708)、処理を終了する。具体的には、以下のような処理が実行される。   The container control unit 120 adds the container 170 to the new VM 150 added to the new physical server 102 (step S707). The container control unit 120 updates the virtual machine management table 123 and the container management table 124 (step S708), and ends the process. Specifically, the following processing is executed.

コンテナ制御部120は、ハイパバイザ140を介して、コンテナ実行部161に新規コンテナ170の追加を指示する。コンテナ制御部120は、仮想マシン管理テーブル123を参照し、新規VM150に対応するエントリの仮想リソース304、及び最小リソース305に初期値を設定し、また、割当リソース306に要求リソース量を設定する。また、コンテナ制御部120は、コンテナ管理テーブル124にエントリを追加し、追加されたエントリの仮想マシンID401に新規VM150の識別子を設定し、また、当該エントリの性能保証403に要求リソース量を設定する。さらに、コンテナ制御部120は、追加されたエントリのコンテナID402に新規コンテナ170の識別子を設定する。   The container control unit 120 instructs the container execution unit 161 to add a new container 170 via the hypervisor 140. The container control unit 120 refers to the virtual machine management table 123, sets initial values for the virtual resource 304 and the minimum resource 305 of the entry corresponding to the new VM 150, and sets the requested resource amount for the allocated resource 306. Further, the container control unit 120 adds an entry to the container management table 124, sets the identifier of the new VM 150 in the virtual machine ID 401 of the added entry, and sets the requested resource amount in the performance guarantee 403 of the entry. . Further, the container control unit 120 sets the identifier of the new container 170 in the container ID 402 of the added entry.

なお、仮想リソース304及び最小リソース305に設定する初期値は、予め設定された計算機式に基づいて算出された値を設定してもよいし、管理者によって入力された値を設定してもよい。   Note that the initial values set for the virtual resource 304 and the minimum resource 305 may be set based on a preset computer formula, or may be set as a value input by an administrator. .

ここで、図8及び図9を用いてコンテナ制御部120が実行する処理の具体例について説明する。なお、以下の説明では、物理サーバ管理テーブル122、仮想マシン管理テーブル123、及びコンテナ管理テーブル124は、図2、図3、及び図4に示すような状態であるものとする。   Here, the specific example of the process which the container control part 120 performs is demonstrated using FIG.8 and FIG.9. In the following description, it is assumed that the physical server management table 122, the virtual machine management table 123, and the container management table 124 are in a state as shown in FIGS.

まず、リソース調整処理を伴う新規コンテナ170の追加処理の一例を説明する。図8は、実施例1のリソース調整処理を伴う新規コンテナ170の追加処理が実行された後の仮想マシン管理テーブル123の一例を示す図である。ここでは、コンテナ制御部120は、OS160の種別が「OS2」、要求リソース量が「2」の新規コンテナ170の生成が指示されてものとする。   First, an example of a process for adding a new container 170 accompanied by a resource adjustment process will be described. FIG. 8 is a diagram illustrating an example of the virtual machine management table 123 after the addition process of the new container 170 accompanied with the resource adjustment process according to the first embodiment is executed. Here, it is assumed that the container control unit 120 is instructed to generate a new container 170 whose OS 160 type is “OS2” and whose requested resource amount is “2”.

ステップS502において、コンテナ制御部120は、仮想マシンID302が「2」であるVM150を、候補VM150として特定する。候補VM150の仮想リソース304は「20」、割当リソース306は「18.2」である。この場合、候補VM150の空きリソース量は「1.8」であり、要求リソース量より小さい。したがって、ステップS503の判定結果はNOとなる。   In step S <b> 502, the container control unit 120 identifies the VM 150 whose virtual machine ID 302 is “2” as a candidate VM 150. The virtual resource 304 of the candidate VM 150 is “20”, and the allocation resource 306 is “18.2”. In this case, the free resource amount of the candidate VM 150 is “1.8”, which is smaller than the requested resource amount. Therefore, the determination result in step S503 is NO.

ステップS504では、コンテナ制御部120は、物理サーバ管理テーブル122の物理サーバID201が「1」のエントリを参照し、リソース202の値「32」を取得する。識別子が「1」である物理サーバ102上で稼働するコンテナ170の割当リソース306の合計値「28.4」であり、当該物理サーバ102の空きリソース量は「3.6」となる。したがって、ステップS504の判定結果はYESとなり、リソース調整処理が実行される。   In step S <b> 504, the container control unit 120 refers to the entry whose physical server ID 201 is “1” in the physical server management table 122 and acquires the value “32” of the resource 202. The total value “28.4” of the allocated resources 306 of the container 170 operating on the physical server 102 with the identifier “1”, and the free resource amount of the physical server 102 is “3.6”. Therefore, the determination result in step S504 is YES, and the resource adjustment process is executed.

ステップS601において、識別子が「1」のVM150のTkは「10」、識別子が「2」のVM150のTkは「18」と算出される。要求リソース量は「2」であるため、式(5)からベストエフォート型のコンテナ170に割り当てるリソース量は「2」となる。   In step S601, the Tk of the VM 150 with the identifier “1” is calculated as “10”, and the Tk of the VM 150 with the identifier “2” is calculated as “18”. Since the requested resource amount is “2”, the resource amount to be allocated to the best effort type container 170 is “2” from Expression (5).

識別子が「1」のVM150については、ステップS603において、新リソース量は式(7)より「14」と算出される。また、当該VM150の仮想リソース304は「16」である。したがって、ステップS604の判定結果はNOとなる。そのため、ステップS606において、コンテナ制御部120は、識別子が「1」のVM150のリソース量を「16」から「14」まで削減する。   For the VM 150 with the identifier “1”, in step S603, the new resource amount is calculated as “14” from Equation (7). Further, the virtual resource 304 of the VM 150 is “16”. Therefore, the determination result in step S604 is NO. Therefore, in step S606, the container control unit 120 reduces the resource amount of the VM 150 having the identifier “1” from “16” to “14”.

識別子が「2」のVM150については、ステップS603において、新リソース量は式(7)より「22」と算出される。また、当該VM150の仮想リソース304は「20」である。したがって、ステップS604の判定結果はYESとなる。そのため、ステップS605において、コンテナ制御部120は、識別子が「2」のVM150のリソース量を「20」から「22」まで追加する。   For the VM 150 with the identifier “2”, in step S603, the new resource amount is calculated as “22” from Equation (7). The virtual resource 304 of the VM 150 is “20”. Therefore, the determination result of step S604 is YES. Therefore, in step S605, the container control unit 120 adds the resource amount of the VM 150 having the identifier “2” from “20” to “22”.

リソース調整処理が終了した後、ステップS511において、コンテナ制御部120は、候補VM150に新規コンテナ170を追加する。   After the resource adjustment processing ends, in step S511, the container control unit 120 adds a new container 170 to the candidate VM 150.

ステップS512において、コンテナ制御部120は、仮想マシンID302が「1」であるエントリの仮想リソース304を「14」に更新し、また、仮想マシンID302が「2」であるエントリの仮想リソース304を「22」に更新する。また、コンテナ制御部120は、式(1)に基づいて各VM150のvRiminを算出し、それぞれのエントリの最小リソース305にvRiminを設定する。さらに、コンテナ制御部120は、仮想マシンID302が「2」であるエントリの割当リソース306に要求リソース量「2」を追加する。 In step S512, the container control unit 120 updates the virtual resource 304 of the entry whose virtual machine ID 302 is “1” to “14”, and changes the virtual resource 304 of the entry whose virtual machine ID 302 is “2” to “14”. 22 ”. Further, the container control unit 120 calculates the vRimin each VM150 based on equation (1), sets the VRI min minimizing resource 305 of each entry. Further, the container control unit 120 adds the requested resource amount “2” to the allocated resource 306 of the entry whose virtual machine ID 302 is “2”.

以上の処理によって、図3に示す仮想マシン管理テーブル123は図8に示すように更新される。   Through the above processing, the virtual machine management table 123 shown in FIG. 3 is updated as shown in FIG.

次に、物理サーバ102の追加処理を伴う新規コンテナ170の追加処理の一例を説明する。図9は、実施例1の物理サーバ102の追加処理を伴う新規コンテナ170の追加処理が実行された後の仮想マシン管理テーブル123の一例を示す図である。ここでは、コンテナ制御部120は、OS160の種別が「OS1」、要求リソース量が「6」の新規コンテナ170の生成が指示されてものとする。   Next, an example of the process for adding a new container 170 that accompanies the process for adding the physical server 102 will be described. FIG. 9 is a diagram illustrating an example of the virtual machine management table 123 after the addition process of the new container 170 accompanying the addition process of the physical server 102 according to the first embodiment is executed. Here, it is assumed that the container control unit 120 is instructed to generate a new container 170 whose OS 160 type is “OS1” and whose requested resource amount is “6”.

ステップS502において、コンテナ制御部120は、仮想マシンID302が「1」であるVM150を、候補VM150として特定する。候補VM150の仮想リソース304は「16」、割当リソース306は「10.2」である。この場合、候補VM150の空きリソース量は「5.8」であり、要求リソース量より小さい。したがって、ステップS503の判定結果はNOとなる。   In step S <b> 502, the container control unit 120 identifies the VM 150 whose virtual machine ID 302 is “1” as a candidate VM 150. The virtual resource 304 of the candidate VM 150 is “16”, and the allocation resource 306 is “10.2”. In this case, the free resource amount of the candidate VM 150 is “5.8”, which is smaller than the requested resource amount. Therefore, the determination result in step S503 is NO.

ステップS504では、コンテナ制御部120は、物理サーバ管理テーブル122の物理サーバID201が「1」のエントリを参照し、リソース202の値「32」を取得する。識別子が「1」である物理サーバ102上で稼働するコンテナ170の割当リソース306の合計値「28.4」であり、当該物理サーバ102の空きリソース量は「3.6」となる。したがって、ステップS504の判定結果はNOとなる。   In step S <b> 504, the container control unit 120 refers to the entry whose physical server ID 201 is “1” in the physical server management table 122 and acquires the value “32” of the resource 202. The total value “28.4” of the allocated resources 306 of the container 170 operating on the physical server 102 with the identifier “1”, and the free resource amount of the physical server 102 is “3.6”. Therefore, the determination result in step S504 is NO.

ステップS508では、識別子が「1」である物理サーバ102上のVM150の最小リソース305の合計値は「28」であり、リソース202との差は「4」となる。また、識別子が「2」である物理サーバ102上のVM150の最小リソース305の合計値は「30」であり、リソース202との差は「2」となる。したがって、ステップS508の判定結果はNOとなり、物理サーバ102の追加処理が実行される。ここでは、移動指示を受け付けているものとする。   In step S508, the total value of the minimum resources 305 of the VM 150 on the physical server 102 having the identifier “1” is “28”, and the difference from the resource 202 is “4”. Further, the total value of the minimum resources 305 of the VM 150 on the physical server 102 with the identifier “2” is “30”, and the difference from the resource 202 is “2”. Therefore, the determination result in step S508 is NO, and the addition process of the physical server 102 is executed. Here, it is assumed that a movement instruction is accepted.

ステップS701では、コンテナ制御部120が、新規物理サーバ102を追加する。ここでは、新規物理サーバ102の識別子は「3」であるものとする。ステップS703の判定結果はNOであるため、コンテナ制御部120は、ステップS704において移動させるVM150を選択する。本実施例では、識別子が「1」であるVM150が選択される。   In step S701, the container control unit 120 adds a new physical server 102. Here, it is assumed that the identifier of the new physical server 102 is “3”. Since the determination result in step S703 is NO, the container control unit 120 selects the VM 150 to be moved in step S704. In this embodiment, the VM 150 whose identifier is “1” is selected.

ステップS705では、コンテナ制御部120は、新規物理サーバ102に識別子が「1」であるVM150を移動する。ステップS706において、コンテナ制御部120は、仮想マシンID302が「1」であるエントリの物理サーバID301に「3」を設定する。ステップ707において、コンテナ制御部120は、識別子が「1」であるVM150に新規コンテナ170を追加する。   In step S <b> 705, the container control unit 120 moves the VM 150 whose identifier is “1” to the new physical server 102. In step S706, the container control unit 120 sets “3” to the physical server ID 301 of the entry whose virtual machine ID 302 is “1”. In step 707, the container control unit 120 adds a new container 170 to the VM 150 whose identifier is “1”.

ステップS708では、コンテナ制御部120は、仮想マシンID302が「1」であるエントリの仮想リソース304及び最小リソース305に「6」を加算し、割当リソース306に「6」を設定する。コンテナ制御部120は、コンテナ管理テーブル124にエントリを生成し、コンテナID402に所定の識別子を設定する。さらに、コンテナ制御部120は、生成されたエントリの仮想マシンID401に「1」を設定し、性能保証403に「6」を設定する。   In step S708, the container control unit 120 adds “6” to the virtual resource 304 and the minimum resource 305 of the entry whose virtual machine ID 302 is “1”, and sets “6” to the allocation resource 306. The container control unit 120 creates an entry in the container management table 124 and sets a predetermined identifier in the container ID 402. Further, the container control unit 120 sets “1” to the virtual machine ID 401 of the generated entry and sets “6” to the performance guarantee 403.

以上の処理によって、図3に示す仮想マシン管理テーブル123は図9に示すように更新される。   Through the above processing, the virtual machine management table 123 shown in FIG. 3 is updated as shown in FIG.

本発明によれば、コンテナ制御部120は、既存の物理サーバ102におけるVM150への計算機リソースの割当量を調整する。すなわち、コンテナ制御部120は、候補VM150とは異なるVM150の計算機リソース量を削減し、候補VM150に計算機リソース量を追加する。これによって、可能な限りコンテナ管理システムに新たな物理サーバ102を追加することなく、新規コンテナ170を配置することができる。すなわち、少数の物理サーバ102上にOS160の種別が異なる複数のコンテナ170を高密度に配置できる。   According to the present invention, the container control unit 120 adjusts the allocation amount of computer resources to the VM 150 in the existing physical server 102. That is, the container control unit 120 reduces the computer resource amount of the VM 150 different from the candidate VM 150, and adds the computer resource amount to the candidate VM 150. As a result, the new container 170 can be arranged without adding a new physical server 102 to the container management system as much as possible. That is, a plurality of containers 170 having different types of OS 160 can be arranged on a small number of physical servers 102 with high density.

また、本発明では、ステップS601に示すように、一つのVM150上に性能保証型のコンテナ170及びベストエフォート型のコンテナ170が混在する場合、コンテナ制御部120は、VM150に計算機リソースをオーバーコミットする。これによって、性能保証型のコンテナ170及びベストエフォート型のコンテナ170が混在するシステムにも柔軟に対応することができる。   Further, in the present invention, as shown in step S <b> 601, when the performance guarantee type container 170 and the best effort type container 170 coexist on one VM 150, the container control unit 120 overcommits the computer resources to the VM 150. . Accordingly, it is possible to flexibly cope with a system in which the performance guarantee type container 170 and the best effort type container 170 are mixed.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. Further, for example, the above-described embodiments are described in detail for easy understanding of the present invention, and are not necessarily limited to those provided with all the described configurations. Further, a part of the configuration of each embodiment can be added to, deleted from, or replaced with another configuration.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. The present invention can also be realized by software program codes that implement the functions of the embodiments. In this case, a storage medium in which the program code is recorded is provided to the computer, and a CPU included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it constitute the present invention. As a storage medium for supplying such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, A non-volatile memory card, ROM, or the like is used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。   The program code for realizing the functions described in the present embodiment can be implemented by a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。   Furthermore, by distributing the program code of the software that implements the functions of the embodiments via a network, the program code is stored in a storage means such as a hard disk or memory of a computer or a storage medium such as a CD-RW or CD-R. The CPU included in the computer may read and execute the program code stored in the storage unit or the storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。   In the above-described embodiments, the control lines and information lines indicate what is considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. All the components may be connected to each other.

101 管理サーバ
102 物理サーバ
103 クライアント端末
120 コンテナ制御部
121 物理サーバ追加部
122 物理サーバ管理テーブル
123 仮想マシン管理テーブル
124 コンテナ管理テーブル
140 ハイパバイザ
150 VM
160 OS
161 コンテナ実行部
170 コンテナ
101 management server 102 physical server 103 client terminal 120 container control unit 121 physical server addition unit 122 physical server management table 123 virtual machine management table 124 container management table 140 hypervisor 150 VM
160 OS
161 Container execution unit 170 Container

Claims (8)

管理サーバ、及び複数の仮想計算機が稼動する少なくとも一つの物理サーバを備える計算機システムであって、
前記管理サーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
前記少なくとも一つの物理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
前記少なくとも一つの物理サーバは、当該物理サーバが有する計算機リソースを分割することによって、オペレーティングシステムを実行する仮想計算機を少なくとも一つ生成する仮想化管理部を有し、
前記オペレーティングシステムは、ユーザ空間を分割することによって生成されたアプリケーション環境であるコンテナを少なくとも一つ生成するコンテナ実行部を含み、
前記管理サーバは、前記計算機システムに新たに追加する前記コンテナの配置を制御するコンテナ制御部を有し、
前記コンテナ制御部は、
オペレーティングシステムの種別、及び新規コンテナに割り当てる計算機リソース量である第1の要求リソース量を含む新規コンテナの追加要求を受け付け、
前記新規コンテナの追加要求に含まれる前記オペレーティングシステムの種類と同一種類のオペレーティングシステムを実行する候補仮想計算機を特定し、
前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在するか否かを判定し、
前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在しない場合、当該候補仮想計算機が稼動する物理サーバである対象物理サーバを特定し、
前記対象物理サーバ上の前記複数の仮想計算機の各々に割り当てられる計算機リソース量を調整するリソース調整処理を実行することによって、前記候補仮想計算機に前記新規コンテナを追加し、
前記リソース調整処理では、
前記コンテナ制御部は、
前記対象物理サーバ上の前記複数の仮想計算機の各々について、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加するための調整をした場合の計算機リソースの割当量である新リソース量を算出し、
前記新リソース量に基づいて、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加し、
前記新リソース量に基づいて、前記対象物理サーバ上の前記候補仮想計算機以外の少なくとも一つの仮想計算機の計算機リソース量を削減することを特徴とする計算機システム。
A computer system comprising a management server and at least one physical server on which a plurality of virtual machines operate,
The management server has a first processor, a first memory connected to the first processor, a first network interface connected to the first processor,
The at least one physical server has a second processor, a second memory connected to the second processor, and a second network interface connected to the second processor;
The at least one physical server has a virtualization management unit that generates at least one virtual machine that executes an operating system by dividing a computer resource of the physical server.
The operating system includes a container execution unit that generates at least one container that is an application environment generated by dividing a user space,
The management server has a container control unit that controls the arrangement of the container to be newly added to the computer system,
The container control unit
Accepting a request for adding a new container including the type of operating system and the first requested resource amount that is the amount of computer resources allocated to the new container;
A candidate virtual machine that executes an operating system of the same type as the type of the operating system included in the request to add the new container is identified;
It is determined whether or not there are free resources for the first requested resource amount in the candidate virtual machine,
If there is no free resource for the first requested resource amount in the candidate virtual machine, specify a target physical server that is a physical server on which the candidate virtual machine operates,
By performing the resource adjustment processing for adjusting the computer resource amount allocated to each of the plurality of virtual machines on the target physical server, add the new container to the candidate virtual machine,
In the resource adjustment process,
The container control unit
For each of the plurality of virtual machines on the target physical server, a new resource that is an allocation amount of a computer resource when adjustment is made to add a computer resource corresponding to the first required resource amount to the candidate virtual machine Calculate the quantity,
Based on the new resource amount, add computer resources for the first required resource amount to the candidate virtual computer,
A computer system that reduces the computer resource amount of at least one virtual computer other than the candidate virtual computer on the target physical server based on the new resource amount .
請求項1に記載の計算機システムであって、  The computer system according to claim 1,
前記コンテナは、性能保証型のコンテナ及びベストエフォート型のコンテナを含み、  The container includes a performance guarantee type container and a best effort type container,
前記少なくとも一つの物理サーバが有する計算機リソース量を管理する物理サーバ管理情報と、  Physical server management information for managing the computer resource amount of the at least one physical server;
前記複数の仮想計算機の各々に割り当てられる計算機リソース量を管理する仮想計算機管理情報と、  Virtual computer management information for managing the amount of computer resources allocated to each of the plurality of virtual computers;
前記コンテナが配置された仮想計算機、及び前記コンテナに要求される計算機リソース量である第2の要求リソース量を管理するコンテナ管理情報と、を管理し、  Managing a virtual machine in which the container is arranged and container management information for managing a second requested resource amount which is a computer resource amount required for the container;
前記リソース調整処理では、  In the resource adjustment process,
前記コンテナ制御部は、  The container control unit
前記新リソース量が算出される前に、前記物理サーバ管理情報から前記対象物理サーバの計算機リソース量を取得し、  Before calculating the new resource amount, obtain the computer resource amount of the target physical server from the physical server management information,
前記仮想計算機管理情報及び前記コンテナ管理情報を参照して、前記対象物理サーバ上の全ての仮想計算機の前記性能保証型のコンテナの前記第2の要求リソース量の合計値を算出し、  Referring to the virtual machine management information and the container management information, calculate a total value of the second required resource amounts of the performance guarantee type containers of all virtual machines on the target physical server,
前記第1の要求リソース量、前記対象物理サーバの計算機リソース量、及び前記合計値に基づいて、前記ベストエフォート型のコンテナに割り当てる計算機リソース量を算出し、  Based on the first requested resource amount, the computer resource amount of the target physical server, and the total value, a computer resource amount to be allocated to the best effort type container is calculated,
前記第1の要求リソース量、前記対象物理サーバ上の前記複数の仮想計算機の各々の前記性能保証型のコンテナの前記第2の要求リソース量、及び前記ベストエフォート型のコンテナに割り当てる計算機リソース量に基づいて、前記対象物理サーバ上の前記複数の仮想計算機の各々の前記新リソース量を算出することを特徴とする計算機システム。  The first required resource amount, the second required resource amount of the performance guarantee type container of each of the plurality of virtual machines on the target physical server, and the computer resource amount allocated to the best effort type container The computer system according to claim 1, wherein the new resource amount of each of the plurality of virtual machines on the target physical server is calculated.
請求項1に記載の計算機システムであって、  The computer system according to claim 1,
前記管理サーバは、前記計算機システムに前記物理サーバを追加する物理サーバ追加部を有し、  The management server has a physical server addition unit for adding the physical server to the computer system,
前記コンテナ制御部は、  The container control unit
前記対象物理サーバを特定した場合、前記対象物理サーバの空きリソース量を算出し、  When the target physical server is specified, the free resource amount of the target physical server is calculated,
前記対象物理サーバの空きリソース量が前記第1の要求リソース量より大きいか否かを判定し、  Determining whether the amount of free resources of the target physical server is greater than the first requested resource amount;
前記対象物理サーバの空きリソース量が前記第1の要求リソース量より大きいと判定された場合、前記リソース調整処理を実行し、  When it is determined that the amount of free resources of the target physical server is greater than the first requested resource amount, the resource adjustment process is executed,
前記対象物理サーバの空きリソース量が前記第1の要求リソース量以下であると判定された場合、前記物理サーバ追加部と連携して、前記計算機システムに新規物理サーバを追加する物理サーバの追加処理を実行し、  Physical server addition processing for adding a new physical server to the computer system in cooperation with the physical server addition unit when it is determined that the free resource amount of the target physical server is equal to or less than the first requested resource amount Run
前記新規物理サーバ上に前記新規コンテナを追加することを特徴とする計算機システム。  A computer system, wherein the new container is added on the new physical server.
請求項3に記載の計算機システムであって、  The computer system according to claim 3,
前記物理サーバの追加処理では、  In the process of adding the physical server,
前記コンテナ制御部は、  The container control unit
前記物理サーバ追加部に前記新規物理サーバの追加を指示し、  Instructing the physical server addition unit to add the new physical server,
前記候補仮想計算機を前記新規物理サーバに移動させる必要があるか否かを判定し、  Determining whether the candidate virtual machine needs to be moved to the new physical server;
前記候補仮想計算機を前記新規物理サーバに移動させる必要があると判定された場合、前記候補仮想計算機を前記新規物理サーバに移動し、前記新規物理サーバに移動した前記候補仮想計算機に前記新規コンテナを追加し、  When it is determined that the candidate virtual machine needs to be moved to the new physical server, the candidate virtual machine is moved to the new physical server, and the new container is moved to the candidate virtual machine moved to the new physical server Add
前記候補仮想計算機を前記新規物理サーバに移動させる必要がないと判定された場合、前記新規物理サーバに新規仮想計算機を追加し、前記新規仮想計算機に前記新規コンテナを追加することを特徴とする計算機システム。  When it is determined that it is not necessary to move the candidate virtual machine to the new physical server, a new virtual machine is added to the new physical server, and the new container is added to the new virtual machine system.
管理サーバ、及び複数の仮想計算機が稼動する少なくとも一つの物理サーバを備える計算機システムにおけるコンテナ管理方法であって、  A container management method in a computer system comprising a management server and at least one physical server on which a plurality of virtual machines operate,
前記管理サーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、  The management server has a first processor, a first memory connected to the first processor, a first network interface connected to the first processor,
前記少なくとも一つの物理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、  The at least one physical server has a second processor, a second memory connected to the second processor, and a second network interface connected to the second processor;
前記少なくとも一つの物理サーバは、当該物理サーバが有する計算機リソースを分割することによって、オペレーティングシステムを実行する仮想計算機を少なくとも一つ生成する仮想化管理部を有し、  The at least one physical server has a virtualization management unit that generates at least one virtual machine that executes an operating system by dividing a computer resource of the physical server.
前記オペレーティングシステムは、ユーザ空間を分割することによって生成されたアプリケーション環境であるコンテナを少なくとも一つ生成するコンテナ実行部を含み、  The operating system includes a container execution unit that generates at least one container that is an application environment generated by dividing a user space,
前記管理サーバは、前記計算機システムに新たに追加する前記コンテナの配置を制御するコンテナ制御部を有し、  The management server has a container control unit that controls the arrangement of the container to be newly added to the computer system,
前記コンテナ管理方法は、  The container management method is:
前記コンテナ制御部が、オペレーティングシステムの種別、及び新規コンテナに割り当てる計算機リソース量である第1の要求リソース量を含む新規コンテナの追加要求を受け付ける第1のステップと、  A first step in which the container control unit receives a request for adding a new container including a type of operating system and a first requested resource amount that is a computer resource amount to be allocated to the new container;
前記コンテナ制御部が、前記新規コンテナの追加要求に含まれる前記オペレーティングシステムの種類と同一種類のオペレーティングシステムを実行する候補仮想計算機を特定する第2のステップと、  A second step in which the container control unit identifies a candidate virtual machine that executes an operating system of the same type as the type of the operating system included in the request to add the new container;
前記コンテナ制御部が、前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在するか否かを判定する第3のステップと、  A third step in which the container control unit determines whether or not there are free resources corresponding to the first requested resource amount in the candidate virtual machine;
前記コンテナ制御部が、前記候補仮想計算機に前記第1の要求リソース量分の空きリソースが存在しない場合、当該候補仮想計算機が稼動する物理サーバである対象物理サーバを特定する第4のステップと、  A fourth step in which the container control unit identifies a target physical server that is a physical server on which the candidate virtual machine is operated when there is no free resource for the first requested resource amount in the candidate virtual machine;
前記コンテナ制御部が、前記対象物理サーバ上の前記複数の仮想計算機の各々に割り当てられる計算機リソース量を調整するリソース調整処理を実行することによって、前記候補仮想計算機に前記新規コンテナを追加する第5のステップと、を含み、  The container control unit adds a new container to the candidate virtual machine by executing a resource adjustment process for adjusting a computer resource amount allocated to each of the plurality of virtual machines on the target physical server. Including the steps of
前記第5のステップは、  The fifth step includes
前記コンテナ制御部が、前記対象物理サーバ上の前記複数の仮想計算機の各々について、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加するための調整をした場合の計算機リソースの割当量である新リソース量を算出するステップと、  When the container control unit makes an adjustment for adding computer resources corresponding to the first requested resource amount to the candidate virtual computer for each of the plurality of virtual computers on the target physical server, Calculating a new resource amount which is an allocated amount;
前記コンテナ制御部が、前記新リソース量に基づいて、前記候補仮想計算機に前記第1の要求リソース量分の計算機リソースを追加するステップと、  The container control unit adding computer resources corresponding to the first required resource amount to the candidate virtual computer based on the new resource amount;
前記コンテナ制御部が、前記新リソース量に基づいて、前記対象物理サーバ上の前記候補仮想計算機以外の少なくとも一つの仮想計算機の計算機リソース量を削減するステップと、を含むことを特徴とするコンテナ管理方法。  The container control unit includes a step of reducing a computer resource amount of at least one virtual computer other than the candidate virtual computer on the target physical server based on the new resource amount. Method.
請求項5に記載のコンテナ管理方法であって、  The container management method according to claim 5,
前記コンテナは、性能保証型のコンテナ及びベストエフォート型のコンテナを含み、  The container includes a performance guarantee type container and a best effort type container,
前記少なくとも一つの物理サーバが有する計算機リソース量を管理する物理サーバ管理情報と、  Physical server management information for managing the computer resource amount of the at least one physical server;
前記複数の仮想計算機の各々に割り当てられる計算機リソース量を管理する仮想計算機管理情報と、  Virtual computer management information for managing the amount of computer resources allocated to each of the plurality of virtual computers;
前記コンテナが配置された仮想計算機、及び前記コンテナに要求される計算機リソース量である第2の要求リソース量を管理するコンテナ管理情報と、を管理し、  Managing a virtual machine in which the container is arranged and container management information for managing a second requested resource amount which is a computer resource amount required for the container;
前記第5のステップは、  The fifth step includes
前記コンテナ制御部が、前記新リソース量が算出される前に、前記物理サーバ管理情報から前記対象物理サーバの計算機リソース量を取得するステップと、  The container control unit acquiring the computer resource amount of the target physical server from the physical server management information before the new resource amount is calculated;
前記コンテナ制御部が、前記仮想計算機管理情報及び前記コンテナ管理情報を参照して、前記対象物理サーバ上の全ての仮想計算機の前記性能保証型のコンテナの前記第2の要求リソース量の合計値を算出するステップと、  The container control unit refers to the virtual machine management information and the container management information, and calculates a total value of the second required resource amounts of the performance guarantee type containers of all virtual machines on the target physical server. A calculating step;
前記コンテナ制御部が、前記第1の要求リソース量、前記対象物理サーバの計算機リソース量、及び前記合計値に基づいて、前記ベストエフォート型のコンテナに割り当てる計算機リソース量を算出するステップと、  The container control unit calculating a computer resource amount to be allocated to the best effort type container based on the first requested resource amount, the computer resource amount of the target physical server, and the total value;
前記コンテナ制御部が、前記第1の要求リソース量、前記対象物理サーバ上の前記複数の仮想計算機の各々の前記性能保証型のコンテナの前記第2の要求リソース量、及び前記ベストエフォート型のコンテナに割り当てる計算機リソース量に基づいて、前記対象物理サーバ上の前記複数の仮想計算機の各々の前記新リソース量を算出するステップと、を含むことを特徴とするコンテナ管理方法。  The container control unit includes the first required resource amount, the second required resource amount of the performance guarantee type container of each of the plurality of virtual machines on the target physical server, and the best effort type container. Calculating the new resource amount of each of the plurality of virtual computers on the target physical server based on the computer resource amount allocated to the target physical server.
請求項5に記載のコンテナ管理方法であって、  The container management method according to claim 5,
前記管理サーバは、前記計算機システムに前記物理サーバを追加する物理サーバ追加部を有し、  The management server has a physical server addition unit for adding the physical server to the computer system,
前記第4のステップは、  The fourth step includes
前記コンテナ制御部が、前記対象物理サーバの空きリソース量を算出するステップと、  The container control unit calculating a free resource amount of the target physical server;
前記コンテナ制御部が、前記対象物理サーバの空きリソース量が前記第1の要求リソース量より大きいか否かを判定するステップと、を含み、  The container control unit determining whether or not the free resource amount of the target physical server is larger than the first requested resource amount,
前記第5のステップは、前記対象物理サーバの空きリソース量が前記第1の要求リソース量より大きいと判定された場合、前記コンテナ制御部が、前記リソース調整処理を実行するステップを含み、  The fifth step includes a step in which the container control unit executes the resource adjustment process when it is determined that an available resource amount of the target physical server is larger than the first requested resource amount,
前記コンテナ管理方法は、  The container management method is:
前記対象物理サーバの空きリソース量が前記第1の要求リソース量以下であると判定された場合、前記コンテナ制御部が、前記物理サーバ追加部と連携して、前記計算機システムに新規物理サーバを追加する物理サーバの追加処理を実行する第6のステップと、  When it is determined that the amount of free resources of the target physical server is less than or equal to the first required resource amount, the container control unit adds a new physical server to the computer system in cooperation with the physical server addition unit A sixth step of executing a physical server addition process;
前記コンテナ制御部が、前記新規物理サーバ上に前記新規コンテナを追加する第7のステップと、を含むことを特徴とするコンテナ管理方法。  A container management method comprising: a seventh step of adding the new container on the new physical server.
請求項7に記載のコンテナ管理方法であって、  The container management method according to claim 7,
前記第6のステップは、  The sixth step includes
前記コンテナ制御部が、前記物理サーバ追加部に前記新規物理サーバの追加を指示するステップと、  The container control unit instructing the physical server adding unit to add the new physical server;
前記コンテナ制御部が、前記候補仮想計算機を前記新規物理サーバに移動させる必要があるか否かを判定するステップと、  Determining whether the container control unit needs to move the candidate virtual machine to the new physical server;
前記コンテナ制御部が、前記候補仮想計算機を前記新規物理サーバに移動させる必要があると判定された場合、前記候補仮想計算機を前記新規物理サーバに移動し、前記新規物理サーバに移動した前記候補仮想計算機に前記新規コンテナを追加するステップと、  When it is determined that the container control unit needs to move the candidate virtual machine to the new physical server, the candidate virtual machine is moved to the new physical server and moved to the new physical server. Adding the new container to the computer;
前記コンテナ制御部が、前記候補仮想計算機を前記新規物理サーバに移動させる必要がないと判定された場合、前記新規物理サーバに新規仮想計算機を追加し、前記新規仮想計算機に前記新規コンテナを追加するステップと、を含むことを特徴とするコンテナ管理方法。  When it is determined that the candidate virtual machine does not need to be moved to the new physical server, the container control unit adds a new virtual machine to the new physical server and adds the new container to the new virtual machine And a container management method.
JP2015157244A 2015-08-07 2015-08-07 Computer system and container management method Active JP6374845B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015157244A JP6374845B2 (en) 2015-08-07 2015-08-07 Computer system and container management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157244A JP6374845B2 (en) 2015-08-07 2015-08-07 Computer system and container management method

Publications (2)

Publication Number Publication Date
JP2017037403A JP2017037403A (en) 2017-02-16
JP6374845B2 true JP6374845B2 (en) 2018-08-15

Family

ID=58049593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157244A Active JP6374845B2 (en) 2015-08-07 2015-08-07 Computer system and container management method

Country Status (1)

Country Link
JP (1) JP6374845B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108631A1 (en) * 2020-11-23 2022-05-27 Google Llc Coordinated container scheduling for improved resource allocation in virtual computing environment

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7221585B2 (en) * 2017-07-20 2023-02-14 富士通株式会社 Information processing device, information processing system, information processing device control method, and information processing device control program
JP7493450B2 (en) * 2017-09-30 2024-05-31 オラクル・インターナショナル・コーポレイション Dynamic migration of groups of containers
CN111124660B (en) * 2018-11-01 2024-01-05 百度在线网络技术(北京)有限公司 Method and device for allocating idle resources in virtual machine
JP7230603B2 (en) * 2019-03-18 2023-03-01 日本電気株式会社 Container management device, method and program
WO2023238224A1 (en) * 2022-06-07 2023-12-14 日本電信電話株式会社 Virtual computation resource deployment device, program, and virtual computation resource deployment method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274947A1 (en) * 2009-04-27 2010-10-28 Hitachi, Ltd. Memory management method, memory management program, and memory management device
US9973566B2 (en) * 2013-11-17 2018-05-15 Nimbix, Inc. Dynamic creation and execution of containerized applications in cloud computing
JP2014115905A (en) * 2012-12-11 2014-06-26 Canon Marketing Japan Inc Information processing apparatus, information processing method, and program
US9495195B2 (en) * 2013-10-04 2016-11-15 Hitachi, Ltd. Resource migration between virtual containers based on utilization rate and performance degradation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022108631A1 (en) * 2020-11-23 2022-05-27 Google Llc Coordinated container scheduling for improved resource allocation in virtual computing environment
US11740921B2 (en) 2020-11-23 2023-08-29 Google Llc Coordinated container scheduling for improved resource allocation in virtual computing environment

Also Published As

Publication number Publication date
JP2017037403A (en) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6374845B2 (en) Computer system and container management method
US9588789B2 (en) Management apparatus and workload distribution management method
JP5544967B2 (en) Virtual machine management program and virtual machine management apparatus
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
US8782235B2 (en) Resource migration system and resource migration method
JP6293683B2 (en) Computer system and coping method for performance failure of computer system
US10248460B2 (en) Storage management computer
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
JP6741941B2 (en) Virtual machine management program, virtual machine management method, and virtual machine management apparatus
Raj et al. Enhancement of hadoop clusters with virtualization using the capacity scheduler
US20170310564A1 (en) Allocating physical nodes for processes in an execution plan
US20160182403A1 (en) Automatic creation of affinity-type rules for resources in distributed computer systems
EP2975518A1 (en) Information processing system and method for relocating application
JP5640844B2 (en) Virtual computer control program, computer, and virtual computer control method
JP6511025B2 (en) Resource allocation apparatus, resource allocation method and resource allocation program
JP7176633B2 (en) VIRTUALIZATION BASE CONTROL DEVICE, VIRTUALIZATION BASE CONTROL METHOD AND VIRTUALIZATION BASE CONTROL PROGRAM
JP2015022385A (en) Virtual system and method for controlling virtual system
JP6157719B2 (en) calculator
US11762704B2 (en) Resource allocation device, resource management system, and resource allocation program
CN113821157A (en) Local disk mounting method, device, equipment and storage medium
CN110750330A (en) Virtual machine creating method, system, electronic equipment and storage medium
JP6102302B2 (en) System automatic configuration apparatus, information processing system, system automatic configuration method, and system automatic configuration program
JP6241215B2 (en) Processing distribution method, processing distribution program, and processing distribution system
US11119815B2 (en) Management apparatus, control method of calculation resources, and storage medium
WO2016092667A1 (en) Computer and interrupt control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180720

R150 Certificate of patent or registration of utility model

Ref document number: 6374845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150