WO2017056238A1 - Vm assignment management system and vm assignment management method - Google Patents
Vm assignment management system and vm assignment management method Download PDFInfo
- Publication number
- WO2017056238A1 WO2017056238A1 PCT/JP2015/077761 JP2015077761W WO2017056238A1 WO 2017056238 A1 WO2017056238 A1 WO 2017056238A1 JP 2015077761 W JP2015077761 W JP 2015077761W WO 2017056238 A1 WO2017056238 A1 WO 2017056238A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- physical
- machine
- logical
- network
- virtual machine
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the present invention relates to a VM placement management system and a VM placement management method, and in particular, a virtual machine (hereinafter referred to as a VM (Virtual Machine)) on a cloud infrastructure (IaaS (Infrastructure as a Service)) on which a plurality of business systems operate.
- a VM placement management system and a VM placement management method suitable for performing optimal VM placement that conforms to the specifications of a physical network.
- IaaS Intelligent Network as a Service
- a platform infrastructure such as a virtual machine and a network
- constructing and operating a computer system itself is provided as a service via the Internet.
- Patent Literature 1 is a technology aiming at ensuring performance stability in a virtualized environment and improving the aggregation rate.
- a virtual server operating on a certain physical server is transferred to another physical server using live migration technology when a load is unbalanced among the physical servers. Move to. As a result, the load is leveled, and the risk of performance degradation is reduced.
- Patent Document 1 The technology described in Patent Document 1 can be used when a VM is configured with an optimal configuration on a physical machine in a system composed of a plurality of physical machines on an IaaS platform.
- the VM placement destination physical server is determined based on the CPU and memory utilization in determining the VM placement destination, and no consideration is given to the network.
- the network it is necessary to consider not only the physical machine that is the end point of communication but also the bandwidth of all network devices that are routed in the middle of communication, and the topology of the physical network must be considered.
- the optimal communication path may differ depending on the number of communication destinations of applications on the tenant (cloud service service recipient) and the communication mode (unidirectional, bidirectional, synchronous, asynchronous).
- the present invention has been made to solve the above-mentioned problems, and its purpose is to meet the specifications of the physical network and to create an optimal virtual machine on a cloud platform on which a plurality of business systems operate.
- An object of the present invention is to provide a VM placement management system that dynamically performs VM placement so that a service can be provided.
- the configuration of the VM placement management system of the present invention is a VM placement management system that provisions a virtual machine (VM) system to one or more physical machines connected by a network by a computer, and sets up logical information of the system to be constructed.
- a virtual machine placement management unit that has a deployment management unit to hold, physical information of a system to be built, and relationship information between virtual machines and physical machines, and provisions virtual machines to physical machines in response to requests from the deployment management unit are provided.
- the deployment management unit includes a logical configuration template that associates information on a virtual machine, information on software running on the virtual machine, information on a system to be constructed, a logical configuration template management table that holds the logical configuration template, and a logical configuration template And a communication amount calculation definition table for each middleware that defines bandwidth information at the time of communication, and the virtual machine arrangement management unit includes a physical switch that constructs a network, Connection structure of physical machines placed on the network, physical configuration graph information that defines bandwidth information in the network, a virtual machine-physical machine correspondence table that associates virtual machines with physical machines, and a virtual that associates logical networks with physical networks A machine-physical machine correspondence table.
- the deployment management unit based on the logical configuration template, the logical configuration template management table, and the communication amount calculation definition table for each middleware, establishes a communication relationship between VMs in which virtual machines are connected by a logical network. Generates graph information and requests the deployment management unit to provision the physical machine of the virtual machine system.
- the virtual machine arrangement management unit receives the physical configuration graph information, the virtual machine-physical machine correspondence table, and the virtual machine- Based on the physical machine correspondence table and the inter-VM communication relationship graph information, provision of the requested virtual machine system to the physical machine is performed.
- a VM when creating a virtual machine on a cloud platform on which a plurality of business systems operate, a VM that dynamically arranges VMs so as to provide an optimal service that conforms to the specifications of the physical network.
- An arrangement management system can be provided.
- FIG. It is a system configuration figure of VM arrangement management system. It is a hardware block diagram of the computer which mounts VM arrangement management system. It is a figure which shows the structural example of the structure and topology information 151 (the 1) It is a figure which shows the structural example of the structure and topology information 151 (the 2). 6 is a diagram illustrating an example of a logical configuration template management table 121.
- FIG. It is a figure which shows the structural example of the communication amount calculation formula definition table classified by middleware (the 1). It is a figure which shows the structural example of the communication amount calculation formula definition table classified by middleware (the 2). It is a figure which shows the structural example of the communication amount calculation formula definition table classified by middleware (the 3).
- FIG. 6 is a diagram illustrating an example of a virtual machine-physical machine association table 132.
- FIG. 6 is a diagram illustrating an example of a logical network-physical network correspondence table 133.
- FIG. It is the figure which showed the image by the graph of the logical network-physical network matching table 133 of FIG.
- FIG. 10A It is a general flowchart which shows a VM provisioning process from the initial construction request
- FIG. It is a flowchart which shows the production
- FIG. 1 is a system configuration diagram of a VM arrangement management system.
- FIG. 2 is a hardware configuration diagram of a computer on which the VM arrangement management system is mounted.
- the VM placement management system of this embodiment performs management of a tenant's system configuration on the IaaS platform, and generation and placement (provisioning) of VMs based on the system configuration.
- the VM placement management system includes a deployment management unit 10 and a virtual machine placement management unit 11 as shown in FIG.
- the deployment management unit 10 and the virtual machine arrangement management unit 11 can be implemented as programs that run on the computer 200 shown in FIG.
- the computer 200 has a form in which a CPU (Central Processing Unit) 201, a memory 202, a storage device 203, an input device 204, an output device 205, and a communication device 206 are coupled by a bus.
- the CPU 201 controls each unit of the computer 200, refers to data on the memory 202, and executes the loaded program.
- the memory 202 is also called a main storage device, and is a volatile semiconductor storage device.
- the storage device 203 is a device that stores large-capacity data such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores programs, tables described later, and other data.
- the input device 204 is a device for inputting information such as a mouse and a keyboard.
- the output device 205 is a device that displays and prints information such as a liquid crystal display and a printing device.
- the communication device 206 is a device that is connected to the network 207 and can exchange information, and is, for example, an Ethernet (registered trademark) network card.
- the shared data store 14 is a mechanism in which the deployment management unit 10 and the virtual machine arrangement management unit 11 share information.
- the deployment management unit 10 and the virtual machine arrangement management unit 11 each store internal management information in the storage device 208.
- the data shared between both systems is designed so that both can access by some sharing means.
- the shared data store 14 is used to access management information common to both.
- existing means such as NFS (Network File System) and RDB (Relational Data Base) can be used.
- the deployment management unit 10 receives tenant creation / deletion and other configuration change (server addition / deletion) requests on the IaaS from the cloud user 16 managing each tenant, and manages the logical system configuration information of the tenant. After editing, the virtual machine placement management unit 11 is requested to provision an actual VM.
- the virtual machine arrangement management unit 11 receives the VM provisioning request from the deployment management unit 10, determines the VM arrangement destination while considering the actual physical system usage status, and provisions such as creation and activation of the VM Perform the process.
- the deployment management unit 10 receives a business system construction request from the cloud user 16.
- the cloud user 16 inputs the logical configuration template 15 together with the user ID serving as the identifier and the system ID for identifying the system that requests construction, and requests the deployment management unit to construct a business system.
- the construction of the business system is performed based on the configuration / topology information 151 described in the logical configuration template 15.
- Amazon Web Services CloudFormation service template configuration information Amazon Web Services CloudFormation service template configuration information
- open source It conforms to the OpenStack HOT format, which is the IaaS infrastructure management software, and includes virtual machine information including the type of virtual machine operating in the tenant and software information operating on the server.
- the deployment management unit 10 includes a logical configuration / template reception unit 101, an inter-VM communication relationship graph creation unit 102, and a resource request transmission unit 103.
- the logical configuration / template reception unit 101 receives a business system construction request from the cloud user 16, receives input information, and records the user ID, system ID, and logical configuration information template in association with each other in the logical configuration template management table 121. It has a function. Further, based on the recorded information, logical configuration template information corresponding to the business system and a list of VMs provisioned based on the logical configuration template information are returned.
- the inter-VM communication relationship graph creation unit 102 has a graph structure of a list of VMs to be provisioned and logical network configuration information indicating communication relationships between VMs based on the VM type and software dependency information included in the logical configuration template information. And is recorded as the inter-VM communication relationship graph information 141.
- the resource request transmission unit 103 extracts a list of VMs and storage volumes included in the graph structure created by the inter-VM communication relationship graph creation unit, and sends a request to provision each virtual resource to the virtual machine arrangement management unit 11 Send. This is provided as a general IaaS-based function and will not be described in detail.
- the virtual machine arrangement management unit 11 includes a resource request receiving unit 111, an arrangement destination physical machine selection unit 114, an arrangement destination physical network selection unit 113, and a virtual machine-physical machine association management unit 115.
- the resource request reception unit 111 receives a VM creation request from the resource request unit 103 of the deployment management unit 10 and transfers the request to the placement destination physical machine selection unit 114.
- the placement destination physical machine selection unit 114 is abbreviated as “cloud base physical configuration graph information 131”, “virtual machine-physical machine association table 132”, “virtual network-physical network association table” (hereinafter, “virtual NW—physical NW association table”). 133) and the placement relationship of the VM to be newly provisioned are determined using 133 and the inter-VM communication relation graph information 141. If necessary, the placement destination physical network selection unit 113 is called to assign a logical network to a set of physical switches. The called placement destination physical network selection unit 113 places a logical network in a physical network composed of a group of physical switches based on a network allocation status and an application communication form (topology) according to a procedure described later.
- the virtual machine-physical machine correspondence management unit 115 records the placement destination of the VM and the logical network determined by the placement destination physical machine selection unit 114 and the placement destination physical network selection unit 113, and associates them with each other as an identifier. Has a function to return resources. Since the virtual machine-physical machine association management unit is a general management function based on IaaS, detailed description thereof is omitted. (II) Data Structure of Deployment Management Unit Next, the data structure of the deployment management unit will be described with reference to FIGS. 3A to 5C.
- 3A and 3B are diagrams illustrating a configuration example of the configuration / topology information 151.
- FIG. FIG. 4 is a diagram illustrating an example of the logical configuration template management table 121.
- the configuration / topology information 151 is data for defining a logical system configuration and software configuration on a virtual machine, which is passed as an input from the cloud user 16 and held in the logical configuration template 15.
- the configuration example shown in FIG. 3A is a configuration example of a Web three-tier system
- the configuration example shown in FIG. 3B is a configuration example of a big data analysis system.
- the three-tier system here is a system constructed by dividing the client-server system into three layers of “presentation layer”, “application layer”, and “data layer”, and the processing of the client and server is divided into a plurality of layers. It aims to be able to flexibly cope with the need to make changes to a certain hierarchy by arranging them separately.
- the configuration / topology information 151 includes virtual machine information 31 and software information 32.
- the virtual machine information 31 indicates the type and number of virtual resources such as VMs and other storage volumes required in the business system.
- the software information 32 is information relating to software for running on the virtual machine whose specification is indicated by the virtual machine information 31.
- the virtual machine information 31 is expressed as a list composed of a set of virtual resource type, virtual resource class name, required amount, and initial number (not shown).
- the virtual resource type indicates the type of resource, and includes, for example, a VM, a storage volume, and a group.
- a group is a grouping of VM functions, and is expressed as a pointer to other virtual machine information 31. By using this group, other subsystems can be recursively subordinated to their definition, and can be used to indicate additional units when configuring a cluster to be scaled out.
- the virtual resource class name is an identifier in the list.
- the required amount indicates the amount of resource required for the virtual resource, and is determined for each virtual resource type.
- the required amount in the VM is CPU capacity (clock, number of cores, etc.) and memory capacity.
- a necessary amount in the storage volume is a storage capacity.
- the initial number is the number provisioned at the time of initial construction. The initial value is one for each resource type. However, it is possible to request the deployment platform to change the number of units (scale out / in) by a designation from a cloud user after construction or a program that performs external system sizing.
- VMs In the example of the virtual machine information 31A shown in FIG. 3A, four types of VMs, that is, a load balancer 311, a Web server 314, an AP server 315, and a DB server 316, and one storage volume are defined. Web servers and AP servers are grouped as a group 312 and are shown to be added in this unit. The initial number of groups 312 is three.
- Group 1 is composed of HadoopTask, the initial number is three
- Group 2 is composed of HadoopData, and the initial number is four.
- the software information 32 indicates the type of software running on each VM defined by the virtual machine type 31 and the communication status between the software.
- the software information 32 is expressed as a list having a combination of a software name, an installed virtual resource class name, and one or more communication destination software names (not shown).
- the software name is an identifier of the corresponding software and needs to be unique in the logical configuration template 15 at a minimum.
- the middleware-specific communication amount calculation formula definition table 122 described later is prepared in a batch by the deployment management platform, it is necessary to have a unique identifier for each software in the entire deployment management platform.
- the system may be configured such that the table 122 is described in the logical configuration template 15 and is defined by each cloud user.
- the mounting destination virtual resource is for designating the VM on which the software runs with one or more virtual resource class names.
- the communication destination software name indicates software that performs communication in the business system. Although the name software is used in the present invention, it is inherently necessary to distinguish between a software package to be installed and a process / service of a program executed by the software. In the present invention, both are described as being the same for simplicity. Further, communication with the outside of the system cannot be expressed by the communication destination software name. Therefore, a message from outside the system is expressed by a special element called “sink” while a message outside the “source” system is expressed so that communication with the outside of the tenant can be expressed.
- HaProxy 323 operates on the load balancer 311 (specified by the installed virtual resource class name 327), Apache HTTPD 324 operates on the Web server 314, Django 325 operates on the AP server 315, and PostgreSQL 326 operates on the DB server 316. It shows that. In addition, it indicates that HaProxy and Apache HTTPD (notation by arrow 328), Apache HTTPD and Django, Django and PostgreSQL are communicating, respectively.
- the HaProxy 323 receives a message from the source 321 and transmits the message to the sink 322.
- the logical configuration template management table 121 is a table for associating business systems, logical configuration templates, and provisioned resources. As shown in FIG. 4, a user ID 401, system ID 402, system name 403, logical A configuration template 404 and a list including a resource list 405 are configured.
- User ID 401 is an identifier for identifying a user.
- a system ID 402 and a system name 403 are an identifier for identifying a business system and a system name, respectively.
- the logical configuration template 404 stores a pointer to the logical configuration template that is passed when the business system configuration request illustrated in FIGS. 3A and 3B is requested.
- the resource list 405 stores a pointer to a resource list 406 for identifying a resource such as a VM created according to the logical configuration template 404.
- the resource list 406 associates and manages a virtual resource class name 411 in the logical configuration template, a virtual machine ID 412 that is a resource identifier, and a state 413 that indicates the current virtual machine state, such as the progress of the creation task. Yes.
- the virtual machine ID 412 is an instance of the class of the virtual resource class name 411 in the object-oriented manner.
- FIGS. 5A to 5C are diagrams illustrating a configuration example of a communication amount calculation formula definition table for each middleware.
- the communication amount calculation formula definition table for each middleware is a table describing the network bandwidth necessary for network communication for each business system.
- the system ID 511 for identifying the system and the system It is expressed by a set of associated bandwidth calculation definition table 512.
- the bandwidth calculation definition table 512 stores a pointer to the bandwidth calculation definition table.
- the bandwidth calculation definition table is a combination table of communication source software (communication source 521) and communication destination software (communication destination 522). The presence / absence of communication is indicated by ⁇ and ⁇ in the figure.
- the definition table 53 for calculating the communication characteristics is provided. This figure is a representation of the graph structure of the software information 32A shown in FIG.
- Each dependent link can be interpreted as having a bandwidth definition table 53.
- the bandwidth definition table 53 includes a set of a processing type 531, a response time 532, a data transfer frequency 533, and a throughput 534.
- the process type 531 indicates that the communication is synchronous or asynchronous.
- the response time 532 is an average response speed to be obtained.
- Each value is an immediate value or is expressed as a calculation formula calculated with reference to other variables.
- a value is determined by a method such as providing a variable column in the logical configuration template and allowing the cloud user 16 to input the value, such as confirming at the time of deployment request.
- FIG. 5B is an expression in another form of the graph structure of the software information 32A shown in FIG. 3B (in the case of a big data analysis system).
- the middleware-specific communication fee calculation formula definition table 122 may be defined by the cloud user 16 in combination with the logical configuration template 15.
- the cloud administrator 17 separately defines a plurality of types in advance (the pre-defined table 50 in the figure), and the pre-defined name of the pre-defined table is given to the cloud user 16 at the time of deployment.
- 52 methods such as displaying a list and its contents and allowing the cloud user 16 to select an appropriate one, and combining and analyzing data at the time of execution in combination with performance monitoring software to dynamically update the data. In the present embodiment, it is assumed that a value can be acquired at the time of deployment execution.
- FIG. 6 is a diagram for explaining the definition and types of logical networks.
- 7A and 7B are diagrams illustrating a configuration example of the inter-VM communication relationship graph information 141.
- FIG. 6 is a diagram for explaining the definition and types of logical networks.
- 7A and 7B are diagrams illustrating a configuration example of the inter-VM communication relationship graph information 141.
- FIG. 6 is a diagram for explaining the definition and types of logical networks.
- 7A and 7B are diagrams illustrating a
- the inter-VM communication relationship graph information 141 includes, for each of all VMs constituting the business system, the communication partner of each VM derived from the logical configuration template 15 by the procedure described later, and the connection form (1: 1 communication, N 1: communication, N: M unidirectional communication, N: N bi-directional communication), and a graph structure for converting a business system communication amount into a resource usage amount.
- a logical network is a logical object that represents the communication bandwidth and characteristics between VMs having the type shown in FIG. Using the logical network, it is possible to grasp the locality of communication in the system and the size of the communication band.
- the logical network has a link with one or more VM nodes.
- a VM node is an object corresponding to a VM described in the resource list, and each is uniquely identified by a virtual resource ID.
- the 1: 1 logical network 61 has a network structure indicating that 1: 1 communication is performed between specific VMs as illustrated in FIG.
- the VMs that communicate with each other are connected to the one-side terminal 611 of the logical network 61.
- Each terminal has band information 612 indicating a band necessary for each communication.
- “1 side terminal” implies that the number of VMs connected to the terminal is one, and hereinafter, “N side terminal” and “M side terminal” are also respectively the same. It is implied that the number of VM connections is N and M (N, an integer of M ⁇ 2).
- the N: 1 logical network 62 has a network structure in which a specific VM as shown in FIG. 6B communicates with many other VMs. This is the case when the load balancer communicates with many worker nodes.
- the VM connected to the 1-side terminal 621 communicates with other VMs connected to the N-side terminal, and each terminal has band information 623 and 624.
- the band information 624 of the 1 side terminal is expressed as a sum of bands necessary for communication with N VMs.
- VMs as shown in FIG. 6C are classified into two clusters, and VMs in one cluster are 1: N respectively with VMs in the other cluster.
- It is a network structure which shows performing communication. The feature is that there is no communication between VMs in the same cluster.
- This is a communication pattern in which the AP server cluster of the Web 3-tier system accesses the Memcache cluster.
- the VM in one cluster is connected to the M-side terminal 631
- the VM in the other cluster is connected to the N-side terminal 632
- each terminal has band information 633 and 634.
- the band information of the M side terminal is the total amount of communication with the VM connected to the N side terminal.
- the band information of the N-side terminal is the total amount of communication with the VM of the M-side terminal.
- the N: N bidirectional logical network 64 has a network structure in which VMs in a cluster communicate with each other as shown in FIG.
- the VMs in the cluster are connected to the N-side terminal 641 and communicate with other VMs, and the terminal has band information 642. This corresponds to a Hadoop Shuffle operation or an MPI node in HPC.
- FIG. 7A is a configuration example of the communication relationship graph information 141 between the Web 3-tier systems VM in the configuration / topology information 151 illustrated in FIG. 3A
- FIG. 7B is a VM of the analysis system in the configuration / topology information 151 illustrated in FIG. 3B.
- 5 is a configuration example of inter-communication relationship graph information 141.
- the inter-VM communication relationship graph information 141 is automatically generated by a method described later.
- FIG. 9 is a diagram illustrating an example of the virtual machine-physical machine association table 132.
- FIG. 10A is a diagram showing an example of the logical network-physical network correspondence table 133.
- FIG. 10B is a diagram showing a graph of the logical network-physical network correspondence table 133 in FIG. 10A.
- the cloud-based physical configuration graph information 131 used in the virtual machine arrangement management unit 11 is information that records the physical machine group in the data center, the connection relationship between the switches that connect the physical machines, and individual identification numbers and specifications. It is expressed as a graph structure that retains the topology (structure) of the connection relationship.
- each L2 / L3 switch and physical machine in the data center is expressed as a node 811, and a network connection between the nodes is used as an edge.
- Each node has a physical resource class representing a type such as a switch or a physical machine (synonymous with a physical server in this embodiment), and a node ID for uniquely identifying each node as an attribute value of the node.
- the cloud-based physical configuration graph information 131 illustrated in FIG. 8A is a configuration example simulating a general data center, and the cloud-based physical configuration graph information 131 illustrated in FIG. 8B is used in a large-scale IaaS in recent years.
- This is a configuration example that simulates a data center that uses a plurality of SDN (Software Defined Network) technologies and has a network having a plurality of paths.
- SDN Software Defined Network
- the switches 4 to 7 in FIG. 8A and the switches 4 to 8 in FIG. 8B are respectively connected to the physical machine group surrounded by a square in the lower part of the figure in a 1: 1 ratio. Further, it is indicated that both the switch 1 and the switch 2 and the switch 1 and the switch 3 have the band 813 (40 Gps).
- the virtual machine-physical machine correspondence table 132 includes a physical machine ID 901, a physical machine IP address 902, a physical machine CPU core number 903, a physical memory size 904, a user ID 905, a virtual machine ID 906, and a virtual machine.
- Each field includes an IP address 907, a virtual machine CPU core count 908, and a virtual memory size 909. This is used to associate and manage physical machines on which virtual machines are operating, and extract the associated physical machines or virtual machines from each other using the identifiers of both as search keys. In addition, when newly allocating a VM, it is also used to extract a physical machine having a corresponding resource amount available.
- the logical network-physical network correspondence table 133 includes fields of switch ID 1001, terminal-switch port mapping 1002, user ID 1003, system ID 1004, and logical NWID 1005.
- the logical network-physical network association table 133 is a table showing the association of logical networks operating on the physical switch.
- that the logical network is operating means that communication between VMs belonging to the logical network is performed on the switch.
- a logical network is uniquely identified by a combination of a user ID 1003, a system ID 1004, and a logical network ID 1005.
- a VM belonging to a specific logical network may relay a plurality of devices, one logical network may be associated with a plurality of switch IDs 1001 at the same time.
- FIG. 10B shows an image based on a graph of correspondence of the configuration described in the configuration example of FIG.
- FIG. 11 is a general flowchart showing the VM provisioning process from the initial construction request of the cloud user 16.
- Step 1101 First, the cloud user 16 registers the logical configuration template 15 as shown in FIGS. 3A and 3B.
- the cloud user 16 uses the means such as GUI, CLI, or REST API (http://en.wikipedia.org/wiki/REST), and the user ID 401 and the original data of the system ID 402 shown in FIG.
- the defined logical configuration template 15 is input to the deployment management unit 10.
- the logical configuration template 15 is transmitted to the deployment management unit 10 in a text format or a graph structure displayed and managed using a GUI.
- Step 1102 the logical configuration template receiving unit 101 associates the user ID, the system ID, and the logical configuration template 15 input from the cloud user 16 in step 1101 with the logical configuration template management table 121 shown in FIG. save
- Step 1103 the inter-VM communication relationship graph creation unit 102 uses the logical configuration template registered in step 1101 and the communication fee calculation formula definition table 122 for each middleware as shown in FIGS.
- the graph information 141 is generated (the procedure for generating the inter-VM communication relationship graph information 141 will be described in detail later with reference to FIG. 12) and stored in the shared data store 14. Note that the inter-VM communication relationship graph information 141 may be pre-defined in the deployment management unit, or may be information explicitly specified by the cloud user 16 in step 1101.
- the logical configuration template receiving unit 101 includes a VM list (hereinafter referred to as “newly created VM list”) and a storage volume list (hereinafter referred to as “newly created”) included in the inter-VM communication relationship graph information 141 generated in step 1103. "Volume List”) is extracted, the row identified by the system ID in the logical configuration template management table 121 is searched, and the newly created VM list 1153 and the newly created volume 1154 are displayed in the resource list 405 in the row. 413 is registered as “waiting for execution”. (Step 1105) Next, the resource request transmission unit 103 extracts each row in the resource list 405 registered in step 1104 that has a status 413 of “waiting for execution” and issues a provisioning request to the virtual machine arrangement management unit 11 in order. .
- FIG. 12 is a flowchart showing a process for generating the inter-VM communication relationship graph information 141.
- This generation process is executed by a program that generates the inter-VM communication relationship graph information 141.
- this program template information registered in the logical configuration template 404 (illustrated in FIG. 3A, FIG. 3B, etc.) is used as an input.
- a communication relationship graph 141 is created.
- one group (which is an expansion unit of the VM function (logical server) shown in FIG. 3A or the like) is received as an argument, and a communication relationship graph between VMs belonging to the group is calculated. And return the graph structure.
- the initial value of the argument (group) is a reference link pointing to the logical configuration template 404 stored in the logical configuration template management table 121 in association with the business system uniquely specified by the user ID and the system ID.
- Step 1202 a data structure representing the VM in the logical network shown in FIG. 6, the logical network, and the link therebetween is stored.
- a structure such as a structure or a pointer that is generally used for computer programming can be used.
- the communication graph structure is generated without any data structure.
- Steps 1203a and 1203b (Recursion processing with depth priority)
- Step 1203a YES
- the child group is used as an argument. Perform this process recursively and add the result to the communication graph structure.
- Step 1204 The number of virtual machine node information (hereinafter referred to as “newly generated VM”) described in the initial number attribute of the communication relationship extraction target group is generated based on the virtual resource type and added to the communication graph structure.
- the virtual resource class name described in the resource type 310 is used for the resource class of the generated resource.
- Steps 1205a and 1205b Steps 1206, 1207a-1207b (steps 12071 to 12076) are performed on each newly created VM created in step 1204 (hereinafter simply referred to as VM in the loop).
- Step 1206 All the software information 422 included in the software information (illustrated by 32A and 32B) of the logical configuration template 404 is acquired software information (hereinafter referred to as “installed software group”) with a link to the VM.
- Steps 1207a and 1207b The following steps (12071) to (including 12076) are performed on each of the connection links 424 (hereinafter simply referred to as “links”) in FIG. 4 to which each of the installed software groups is connected.
- Step 12071 Obtain linked software information (hereinafter referred to as “connected software group”) (step 12072)
- connection destination VM group In the communication graph structure, with reference to the logical configuration template 404, all the virtual machines of the resource class 410 to which the mounted links are established are extracted from the connection destination software group (hereinafter, the extracted virtual machines are referred to as “connection destination VM group”). ).
- Step 12073 A 1: 1 logical network node is created for each pair of newly created VMs and VMs in the connection destination VM group (VMs in the newly created VM and VMs in the connection destination VM group) and added to the communication graph structure To do.
- Step 12074 In the 1: 1 logical network node in the communication graph structure generated in step 1208, logical network nodes having the same connection destination are aggregated to create and replace an N: 1 logical network node.
- the bandwidth information of each terminal is updated according to the communication amount between VMs described in the middleware communication amount calculation formula definition table 122 and the bandwidth definition of each terminal.
- Step 12075 In the N: 1 logical network node in the communication graph structure, logical network nodes having the same connection destination set at the N-side terminal are aggregated to create and replace an N: M unidirectional logical network node.
- the bandwidth information of each terminal is updated according to the communication amount between VMs described in the middleware communication amount calculation formula definition table 122 and the bandwidth definition of each terminal.
- Step 12076 In the N: M unidirectional logical network node in the communication graph structure, when the VM group of the N side terminal and the M side terminal is the same, the N: M bidirectional logical network node is replaced. When replacing, the bandwidth information of each terminal is updated according to the communication amount between VMs described in the middleware communication amount calculation formula definition table 122 and the bandwidth definition of each terminal. (Step 1208) The communication graph structure is returned as a result of this processing. (V-3) Server Addition Request Processing by Cloud User 16 Next, server addition request processing by the cloud user 16 will be described with reference to FIGS. 13A and 13B.
- FIG. 13A and FIG. 13B are flowcharts showing server addition request processing by the cloud user 16.
- Step 1301 First, the cloud user 16 requests a scale-out by specifying the virtual resource class name and the additional number included in the logical configuration template specified when building the business system identified by the user ID, the system ID, and the system ID. To do.
- Step 1302 Next, the deployment management unit 10 adds the virtual resource class name and the additional number included in the request of the cloud user 16 to the value of the initial number attribute 313 in the logical configuration template management table 121, and the above-described step 1102.
- the logical configuration template management table 121 is updated according to the procedure. After that, according to the procedure shown in FIG.
- the inter-VM communication relationship graph generation unit 102 updates the inter-VM communication relationship graph information 141, specifies the virtual resource name and the added virtual machine ID 412, and sends a VM addition command to the virtual machine.
- the data is transmitted to the arrangement management unit 11.
- the resource request reception unit 111 in the virtual machine arrangement management unit 11 receives a VM addition request from the deployment management unit 10.
- the VM addition request includes a virtual machine ID, a necessary resource amount (CPU, memory), and the like.
- the resource request accepting unit 111 activates the placement destination physical machine selection task in the placement destination physical machine selection unit 114 using the specified list of VMs as an argument.
- the placement destination physical machine selection unit 114 executes Steps 1305 to 1310 for each VM in the VM list specified in Step 1302 (hereinafter referred to as “additional VM”).
- Step 1305 The placement destination physical machine selection unit 114 executes the following steps 13051 to 13055, and extracts a physical machine group to which a VM and a logical network in the business system have been allocated and a required resource amount is available (business system) Allocated physical machine candidate acquisition processing (FIG. 13B)).
- the placement destination physical machine selection unit 114 refers to the virtual machine-physical machine association table 132 shown in FIG. 9 and calculates the actual resource amount and the allocated resource amount of each physical machine in the cloud infrastructure. Then, these two differences are taken to calculate the unallocated resource amount. A list of physical machines having a free space to be allocated to the newly requested virtual machine resource amount (hereinafter referred to as “free physical machine group”) is extracted. (Step 13052) If one or more physical machines corresponding to the free physical machine group 1352 are found in step 13051, steps 13053 to 1355 are executed. If there is no corresponding physical machine, an allocation failure in step 1310b described later is executed.
- Step 13053 A VM node corresponding to the virtual resource ID to be added (hereinafter referred to as “new VM”) is extracted from the inter-VM communication relationship graph information 141. Next, all logical networks connected to the new VM are extracted (hereinafter referred to as connected logical network group).
- Step 13054 With reference to the logical network-physical network correspondence table 133 shown in FIG. 10A, all the physical switches used by the respective logical networks in the connected logical network group are acquired (hereinafter referred to as “logical NW assigned switches”). Group)). For example, in the example of FIG. 10A, the logical NW assigned switch group used by the logical network “Web server AP server” is “switches 2, 4 and 5”.
- Step 13055 With reference to the cloud-based physical configuration graph information 131, a physical machine connected to a switch in the logical NW assigned switch group (hereinafter referred to as “physical machine candidate group”) is extracted from the free physical machine group.
- physical machine candidate group When there are a plurality of connection destination logical network groups connected to the new VM 1353, those having connections with the logical NW assigned switch group 1355 corresponding to each connection destination logical network group are extracted as physical machine candidate groups.
- Step 1306 If there is one or more VMs corresponding to the physical machine candidate group 1356 in step 1305, steps 1307 and 1308 are executed, and one physical machine is selected from the corresponding physical machine list based on the network requirements.
- Step 1307 A physical machine is selected based on the network requirements (search / selection of a physical machine to which a business system has been assigned) according to the procedure described later in FIG.
- Step 1308 A virtual machine is generated and arranged (provisioned) for the physical machine selected in Step 1307. Since this procedure is the same as a general IaaS VM provisioning procedure, a detailed procedure is omitted.
- Step 1309 According to the procedure described later in FIG. 15, logical network assignment processing is performed (logical network assignment processing to a new physical switch), and one physical machine is selected from the free physical machine group 1352.
- Step 1310a and 1310b In step 1309 (or step 13052), if logical network allocation fails, error processing is performed and the process ends.
- V-4 Search / Selection of Physical Machine Already Assigned to Business System
- FIG. 14 is a flowchart showing a procedure for selecting a physical machine.
- the procedure shown in FIG. 14 has free resources in the CPU and memory, and all the logical networks of the business system are connected. That is, the bandwidth of the physical machine on which the VM of the business system is already operating is limited. It is a process of selecting physical machines that do not overflow. According to this procedure, if there is a business system that has already been deployed, the VM is preferentially assigned to the physical machine on which the VM operates, and communication is localized. Thereby, when tenants are mixed as an entire IaaS platform, it is possible to avoid that many tenants are affected by performance due to a communication bottleneck.
- Steps 1402 to 1404 are performed on all physical machines in the physical machine candidate list (hereinafter referred to as “candidate physical machines”).
- Step 1402 By arranging VMs, network packets for inter-VM communication increase, and all physical switches that may consume bandwidth are extracted (hereinafter referred to as “switch group with VM placement effect”).
- the switch group with VM placement influence is calculated by the following steps 14021 and 14022.
- Step 14021 In accordance with the same procedure as in step 13053, all the logical networks connected to the additional VM (hereinafter referred to as “VM connection logical network group A”) are extracted from the inter-VM communication relationship graph 141. For each VM connection logical network group A, all the physical switches to which the VM connection logical network is assigned (hereinafter referred to as a “logical network assigned switch group”) are extracted by the same procedure as in step 13054. .
- Step 14022 For each of the extracted logical network assigned switch groups, the respective terminals on the 1 side, N side, and M side of the logical network are mapped with reference to the logical NW-physical NW correspondence table 133 shown in FIG. 10A. Get the switch port. If there is a corresponding switch port, the physical switch is added to the switch group with VM placement influence. (Step 1403) Using the bandwidth information included in the inter-VM communication relationship graph information 141 shown in FIG. 6, the network bandwidth of each port when the VM is placed on the candidate physical machine is recalculated. (Step 1404) The maximum value in the network bandwidth of each port calculated in step 1403 is set as the physical machine bandwidth penalty value.
- Step 1405a and 1405b If all the physical machines have been removed from the VM placement destination candidates in the step 1404, the processing is terminated as an error, and the process ends. (Step 1406) From the physical machines not deleted in step 1404, the physical machine having the smallest bandwidth penalty value calculated in step 1404 is selected, and the process ends.
- FIG. 15 is a flowchart showing logical network assignment processing to a new physical switch.
- Step 1501 In accordance with the same procedure as in step 13053, all the logical networks connected to the additional VM (hereinafter referred to as “VM connection logical network group B”) are extracted from the inter-VM communication relationship graph 141.
- Step 1502 With reference to the logical NW-physical NW correspondence table 133 shown in FIG.
- Step 1503 It is determined whether or not one or more logical networks corresponding to the assigned logical network group exist.
- Step 1504 When one or more logical networks corresponding to the assigned logical network group exist, a physical machine with a small number of physical switches used for communication in the system to be deployed is selected by the processing shown in the flowchart of FIG. (Step 1505) In step 1502, if there is no assigned logical network in the physical switch, a physical machine that is separated from the assigned logical network and has a low contention probability of using network resources is selected by the method shown in FIG.
- FIG. 16 is a flowchart showing a physical machine selection process for minimizing the number of physical switches for communication used from the assigned logical network group.
- Steps 1601a and 1601b Steps 1602 to 1606 are executed for each of the free physical machine groups 1352 extracted in step 13051 (hereinafter referred to as “physical machine candidates”) to minimize the number of physical switches used for communication in the system to be deployed. Select a physical machine.
- Steps 1602a and 1602b Steps 1603 to 1605 are executed for each of the assigned logical network groups in step 1502.
- Step 1603 All physical switches to which the VM connection logical network is assigned (hereinafter referred to as a logical network assigned switch group 1653) are extracted by the same procedure as in step 13054.
- Step 1604 Between the physical machine candidate and the logical network assigned switch group, the switch having the shortest number of transit switches (hereinafter referred to as “shortest reach switch”) and the number of transit switches to the shortest reach switch (hereinafter “shortest reach switch”) Number)).
- shortest reach switch the switch having the shortest number of transit switches
- shortest reach switch the number of transit switches to the shortest reach switch
- Step 1605 The number of physical switches used for communication in the system is evaluated using the indicators of steps 16051 to 16052 depending on the connection form (1: 1, 1: N, N: M, N: N) of the assigned logical network 1652. To do.
- Step 16051 In the case of 1: 1 and N: N, the number of switches included in the logical network assigned switch group is set as the evaluation value (X). By this step, a plurality of servers having an equal communication relationship are arranged under the same network switch as much as possible, and the network traffic of the entire system is reduced.
- Step 16052 In the case of N: 1 and N: M, the number of the shortest reaching switches is set as the evaluation value (X). This step selects a physical machine that is not far from the existing load balancing cluster.
- Step 1606 The sum of the evaluation values (X) evaluated for the assigned logical network is taken as the evaluation value of the physical machine candidate.
- Step 1607 The physical machine candidate with the smallest evaluation value is selected as the VM placement destination.
- Step 1608 All the transit switches from the shortest arrival switch to the VM placement destination physical machine are associated with the VM connection logical network group B, and the association is additionally recorded in the logical NW-physical NW association table 133 and recorded.
- the terminal where the additional VM is connected to the logical network is associated with the port where the physical switch and the VM placement destination physical machine are connected, and the logical NW-physical NW correspondence table 133 is updated.
- FIG. 17 is a flowchart illustrating a process of selecting a physical machine having a low competition probability for using network resources.
- Step 1505 of FIG. 15 in the process of step 1505 of FIG. 15, among the logical networks related to the additional VM, there is no one already assigned to the physical switch (allocated network group). This is a process of selecting a physical machine that is far from the assigned logical network and has a low contention probability of using network resources. (Steps 1701a and 1701b) Steps 1702 to 1704 are executed for each logical network in the VM connection logical network group A acquired in Step 1501.
- Step 1702 With reference to the logical NW-physical NW correspondence table 133, an unassigned switch group to which no logical network is assigned and an assigned switch group to which one or more logical networks are assigned are extracted.
- a physical switch and a physical machine with a low possibility of interference with other logical networks are selected by the method of steps 1703a-1703b, and if not, the method of steps 1704a-1704b is selected.
- Steps 1703a and 1703b For all switches in the unassigned switch group (hereinafter referred to as “switch candidates”), the switches are evaluated based on the indices of steps 17031 to 17033, and one switch and one physical machine are selected.
- Step 17031 Using the same method as step 1604 above, the physical switch (hereinafter referred to as the “shortest reachable switch”) having the shortest number of transit switches between the switch candidate and the assigned switch group and the number of transit switches to the shortest reach switch (Hereinafter referred to as “the number of shortest reaching switches”).
- the shortest reachable switch having the shortest number of transit switches between the switch candidate and the assigned switch group and the number of transit switches to the shortest reach switch (Hereinafter referred to as “the number of shortest reaching switches”).
- Step 17032 The shortest number of switches is set as the evaluation value of the switch candidate, and the selection is performed in order from the largest evaluation value (hereinafter referred to as “selection switch”).
- Step 17033 With reference to the cloud-based physical configuration graph information 133 shown in FIGS. 8A and 8B, it is confirmed whether or not the selection switch is directly connected to any physical machine in the free physical machine group selected in step 1303 above. To do. If there are one or more directly connected physical machines, select one of the physical machines and go to step 1705. If the corresponding physical machine does not exist, the process returns to step 17032 to select the next physical switch. (Steps 1704a and 1704b) For all the physical switches among the switches assigned to the logical network, the switches are evaluated based on the indicators of steps 17041 and 17042, and the physical switch and the physical machine are selected.
- Step 17041 The bandwidth of the logical network is calculated, the remaining bandwidth up to the maximum performance of the physical switch is calculated, and the evaluation value of the physical switch is selected in order from the largest evaluation value (hereinafter referred to as “selection switch”).
- Step 17042 With reference to the cloud-based physical configuration graph information 133 shown in FIGS. 8A and 8B, it is confirmed whether or not the selection switch is directly connected to any physical machine in the free physical machine group selected in step 1303 above. To do. If there are one or more directly connected physical machines, select one of the physical machines and go to step 1705.
- Step 1705 One physical machine and one physical switch are selected for each logical network (each logical network in the VM connection logical network group A in steps 1701a to 1701b) by the above processing (steps 1703a to 1703b OR steps 1704a to 1704b). Is done. From these, one physical machine is selected by an arbitrary method.
- Step 1706 A physical switch connected to the VM placement destination physical machine is associated with the VM connection logical network group, and the association is added to the logical NW-physical NW association table 133 and recorded.
- the terminal where the additional VM is connected to the logical network is associated with the port where the physical switch and the VM placement destination physical machine are connected, and the logical NW-physical NW correspondence table 133 is updated.
- V Features of VM provisioning according to the form of the logical network of this embodiment
- the VM is arranged in consideration of the communication band between the VMs and communication characteristics (1: 1 communication, N: 1 communication, N: M communication, N: N communication).
- the VM When no VM in communication relationship with the VM is arranged on the physical machine, the VM is arranged so that the distance on the network path from other systems is increased, and the possibility that the network band interferes is reduced.
- N communication is a symmetric intra-cluster communication and does not clearly distinguish between the transmission source and the transmission destination. Therefore, the N: N communication is arranged so that the number of switches used in the entire cluster is reduced within the range satisfying the communication band. This reduces the number of switches used.
- N: 1 and N: M communication communication is asymmetric (for example, server-client communication), so the load may be concentrated on a specific VM, and the method of reducing the total number of switches used will result in insufficient network bandwidth. There is a case. Therefore, in the server-client communication given as an example, by suppressing the distance between the server-side and client-side VMs on the network, it is possible to avoid a decrease in network latency and to avoid an increase in traffic of the entire system. Become.
- the communication characteristics described above can be derived as constraints from information on software (middleware, etc.) arranged on a business system, configuration information such as communication relationships between software, topology information between components, and the like. it can.
- a constraint condition can be arranged from such configuration information and topology information in the configuration information, and a VM placement destination can be deduced to generate a VM arrangement constraint condition.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、VM配置管理システム、及び、VM配置管理方法に係り、特に、複数の業務システムが稼動するクラウド基盤(IaaS(Infrastructure as a Service))での仮想マシン(以下、VM(Virtual Machine)ともいう)の作成するにあたり、物理ネットワークの仕様に適合した最適なVM配置を行うのに好適なVM配置管理システム、及び、VM配置管理方法に関する。 The present invention relates to a VM placement management system and a VM placement management method, and in particular, a virtual machine (hereinafter referred to as a VM (Virtual Machine)) on a cloud infrastructure (IaaS (Infrastructure as a Service)) on which a plurality of business systems operate. In addition, the present invention relates to a VM placement management system and a VM placement management method suitable for performing optimal VM placement that conforms to the specifications of a physical network.
近年、インターネットの急速な普及により、従来は手元のコンピュータに導入して利用していたようなソフトウェアやデータ、あるいはそれらを提供するための技術基盤(サーバなど)を、インターネットなどのネットワークを通じて必要に応じて利用者に提供するサービスであるクラウドサービスが注目されている。 In recent years, due to the rapid spread of the Internet, software and data that were previously installed and used on local computers, or the technical infrastructure (servers, etc.) for providing them have become necessary through networks such as the Internet. In response, cloud services, which are services provided to users, are attracting attention.
このクラウドサービスの一形態として、IaaS(Infrastructure as a Service)という利用形態がある。IaaSでは、コンピュータシステムを構築及び稼動させるための基盤(仮想マシンやネットワークなどのインフラ)そのものをインターネット経由のサービスとして提供するものである。 As one form of this cloud service, there is a use form called IaaS (Infrastructure as a Service). In IaaS, a platform (infrastructure such as a virtual machine and a network) for constructing and operating a computer system itself is provided as a service via the Internet.
また、仮想化環境における性能安定性の確保と集約率向上の両立を目的とした技術として、例えば、特許文献1がある。特許文献1では、複数の物理サーバから構成されるシステムにおいて、物理サーバ間で負荷に偏りが生じた場合に、ライブマイグレーション技術を用いて、ある物理サーバ上で稼働する仮想サーバを他の物理サーバへと移動させる。これにより負荷が平準化されるため、性能劣化が発生するリスクが軽減するとしている。
Also, for example,
特許文献1に記載の技術は、IaaS基盤上において、複数の物理マシンからなるシステムにおいて、VMを物理マシン上に最適な構成で構築する際に利用しうる。しかしながら、特許文献1記載の手法では、VMの配置先の決定においてCPU、メモリの利用率を根拠にVMの配置先の物理サーバを決めており、ネットワークについては配慮がなされていない。ネットワークについては、通信の端点である物理マシンのみではなく、通信の途中で経由する全てのネットワーク装置の帯域を考慮しなければならず、物理的なネットワークのトポロジーを考慮する必要がある。また、テナント(クラウドサービスのサービス享受者)上のアプリケーションの通信先の数、及び、通信の態様(単方向、双方向、同期、非同期)の別により、最適な通信経路が異なる場合がある。例えば、ロードバランサは、他の多数のVMと通信するため、他のVMの通信量が多い物理マシンでの稼動は望ましくない。一方で、特定のサーバとしか通信を行わないことが決まっているWebサーバとAPサーバは、同一の物理マシンに配置することにより、通信を同一物理マシン内に局所化することができる。これはクラウド管理者の視点では、通信が他のテナントに影響を与える可能性を低くするため望ましい。従来技術では、このような観点については考慮されてこなかった。また、オープンソースのHadoopに代表されるビッグデータ分析のソフトウェアは、互いに多数のVM間で非同期通信を行うため、他のテナントからの影響が極力少ないクラスタに分離して配置することが望ましく、またジョブ完了時間に制限がない場合は、同種のアプリケーション同士でリソースをシェアすることがクラウド管理者にとっては望ましいが、同期型のレスポンスタイムを重視するアプリケーションでは、クリティカルパスとなるデータ転送に多数のスイッチを中継することは望ましくない。
The technology described in
本発明は、上記問題点を解決するためになされたもので、その目的は、複数の業務システムが稼動するクラウド基盤での仮想マシンの作成するにあたり、物理ネットワークの仕様に適合して、最適なサービスを提供できるように、動的にVM配置を行うVM配置管理システムを提供することにある。 The present invention has been made to solve the above-mentioned problems, and its purpose is to meet the specifications of the physical network and to create an optimal virtual machine on a cloud platform on which a plurality of business systems operate. An object of the present invention is to provide a VM placement management system that dynamically performs VM placement so that a service can be provided.
本発明のVM配置管理システムの構成は、コンピュータにより、仮想マシン(VM)システムをネットワークにより接続された一つ以上の物理マシンにプロビジョニングするVM配置管理システムであって、構築するシステムの論理情報を保持するデプロイ管理部と、構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを有し、デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備えるものである。デプロイ管理部は、仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、構築するシステムの情報と、論理構成テンプレートを保持する論理構成テンプレート管理表と、論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、仮想マシン配置管理部は、ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、仮想マシンと物理マシンを対応付ける仮想マシン-物理マシン対応付け表と、論理ネットワークと物理ネットワークを対応付ける仮想マシン-物理マシン対応付け表とを有する。そして、デプロイ管理部は、論理構成テンプレートと、論理構成テンプレート管理表と、ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたVM間通信関係グラフ情報を生成して、デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求し、仮想マシン配置管理部は、物理構成グラフ情報と、仮想マシン-物理マシン対応付け表と、仮想マシン-物理マシン対応付け表と、VM間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行う。 The configuration of the VM placement management system of the present invention is a VM placement management system that provisions a virtual machine (VM) system to one or more physical machines connected by a network by a computer, and sets up logical information of the system to be constructed. A virtual machine placement management unit that has a deployment management unit to hold, physical information of a system to be built, and relationship information between virtual machines and physical machines, and provisions virtual machines to physical machines in response to requests from the deployment management unit Are provided. The deployment management unit includes a logical configuration template that associates information on a virtual machine, information on software running on the virtual machine, information on a system to be constructed, a logical configuration template management table that holds the logical configuration template, and a logical configuration template And a communication amount calculation definition table for each middleware that defines bandwidth information at the time of communication, and the virtual machine arrangement management unit includes a physical switch that constructs a network, Connection structure of physical machines placed on the network, physical configuration graph information that defines bandwidth information in the network, a virtual machine-physical machine correspondence table that associates virtual machines with physical machines, and a virtual that associates logical networks with physical networks A machine-physical machine correspondence table. Then, the deployment management unit, based on the logical configuration template, the logical configuration template management table, and the communication amount calculation definition table for each middleware, establishes a communication relationship between VMs in which virtual machines are connected by a logical network. Generates graph information and requests the deployment management unit to provision the physical machine of the virtual machine system. The virtual machine arrangement management unit receives the physical configuration graph information, the virtual machine-physical machine correspondence table, and the virtual machine- Based on the physical machine correspondence table and the inter-VM communication relationship graph information, provision of the requested virtual machine system to the physical machine is performed.
本発明によれば、複数の業務システムが稼動するクラウド基盤での仮想マシンの作成するにあたり、物理ネットワークの仕様に適合して、最適なサービスを提供できるように、動的にVM配置を行うVM配置管理システムを提供することができる。 According to the present invention, when creating a virtual machine on a cloud platform on which a plurality of business systems operate, a VM that dynamically arranges VMs so as to provide an optimal service that conforms to the specifications of the physical network. An arrangement management system can be provided.
以下,本発明に係る一実施形態を、図1ないし図17を用いて説明する。
(I)VM配置管理システムのシステム構成
以下、図1及び図2を用いて本発明の一実施形態に係るVM配置管理システムのシステム構成について説明する。図1は、VM配置管理システムのシステム構成図である。図2は、VM配置管理システムを実装させるコンピュータのハードウェア構成図である。
Hereinafter, an embodiment according to the present invention will be described with reference to FIGS.
(I) System Configuration of VM Placement Management System Hereinafter, a system configuration of a VM placement management system according to an embodiment of the present invention will be described with reference to FIGS. 1 and 2. FIG. 1 is a system configuration diagram of a VM arrangement management system. FIG. 2 is a hardware configuration diagram of a computer on which the VM arrangement management system is mounted.
本実施形態のVM配置管理システムは、IaaS基盤上へのテナントのシステム構成の管理と、システム構成に基づくVMの生成、配置(プロビジョニング)を行う。 The VM placement management system of this embodiment performs management of a tenant's system configuration on the IaaS platform, and generation and placement (provisioning) of VMs based on the system configuration.
VM配置管理システムは、図1に示されるように、デプロイ管理部10と仮想マシン配置管理部11で構成される。
The VM placement management system includes a
このデプロイ管理部10と仮想マシン配置管理部11は、図2に示すコンピュータ200上で動くプログラムとして実装できる。コンピュータ200は、図2に示されるように、CPU(Central Processing Unit)201、メモリ202、記憶装置203、入力装置204、出力装置205、通信装置206が、バスによって結合された形態である。CPU201は、コンピュータ200の各部を制御し、メモリ202上のデータを参照し、ロードされたプログラムを実行する。メモリ202は、主記憶装置ともよばれ、揮発性の半導体記憶装置である。記憶装置203は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの大容量のデータを記憶する装置であり、プログラムや後に説明するテーブル類、その他のデータを格納する。入力装置204は、マウスやキーボードなどの情報を入力する装置である。出力装置205は、液晶ディスプレイや印刷装置などの情報を表示・印刷する装置である。通信装置206は、ネットワーク207と接続して情報のやり取りを可能とする装置であり、例えば、Erthnet(登録商標)仕様のネットワークカードである。共有データストア14は、前記デプロイ管理部10と仮想マシン配置管理部11が情報を共有する機構である。
The
デプロイ管理部10及び仮想マシン配置管理部11は、それぞれ内部での管理情報を記憶装置208に格納する。ただし、双方のシステム間で共有するデータに関しては何らかの共有手段で双方がアクセスできるように設計される。例えば、共有データストア14を用いて、双方が互いに共通の管理情報へのアクセスを行う方法が挙げられる。この共有データストア14の実現には、NFS(Network File Sustem)やRDB(Relational DataBase)などの既存の手段を用いることができる。
The
デプロイ管理部10は、各テナントを管理するクラウドユーザ16から、IaaS上でのテナントの作成、削除、その他構成変更(サーバ追加、削除)の要求を受け付け、テナントの論理的なシステム構成情報を管理、編集した上で、実際のVMのプロビジョニングを仮想マシン配置管理部11に要求する。
The
仮想マシン配置管理部11は前記デプロイ管理部10からのVMプロビジョニング要求を受付け、実際の物理的なシステムの利用状況を考慮しながらVMの配置先の決定、及び、VMの作成、起動などのプロビジョニング処理を実施する。
The virtual machine
デプロイ管理部10は、クラウドユーザ16からの業務システムの構築要求を受け付ける。クラウドユーザ16は、識別子となるユーザID及び構築を依頼するシステムを識別するためのシステムIDとあわせて、論理構成テンプレート15を入力としてデプロイ管理部に業務システムの構築を要求する。業務システムの構築は、論理構成テンプレート15に記載された構成・トポロジ情報151に基づいて行われる。この構成・トポロジ情報151は、例えば、OASIS TOSCA (https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca)、Amazon Web ServicesのCloudFormationサービスのテンプレート構成情報、及びオープンソースのIaaS基盤管理ソフトであるOpenStackのHOT形式などに準じており、テナント内で稼動する仮想マシンの種類などを含む仮想マシン情報、及び、サーバ上で稼動するソフトウェア情報で構成される。
The
デプロイ管理部10は、論理構成・テンプレート受付部101、VM間通信関係グラフ作成部102、リソース要求送信部103で構成される。
The
論理構成・テンプレート受付部101は、クラウドユーザ16からの業務システムの構築要求を受け付け、入力情報を受け付け、ユーザID、システムID及び論理構成情報テンプレートを対応付けて論理構成テンプレート管理表121に記録する機能を有する。また、記録された情報に基づいて、業務システムに対応する論理構成テンプレート情報、及び、それに基づいてプロビジョニングされたVM一覧を返す。
The logical configuration /
VM間通信関係グラフ作成部102は、論理構成テンプレート情報に含まれるVM種類、ソフトウェア依存関係情報に基づいて、プロビジョニングするVMの一覧、及び、VM間の通信関係を示す論理ネットワーク構成情報をグラフ構造として作成して、VM間通信関係グラフ情報141として記録する。
The inter-VM communication relationship
リソース要求送信部103は、VM間通信関係グラフ作成部で作成されたグラフ構造に含まれるVM及びストレージボリュームの一覧を抽出し、それぞれの仮想リソースをプロビジョニングする要求を、仮想マシン配置管理部11に送信する。これは一般的なIaaS基盤の機能として備わるものであり、詳細な説明は省略する。
The resource
仮想マシン配置管理部11は、リソース要求受付部111、配置先物理マシン選択部114、配置先物理ネットワーク選択部113、仮想マシン-物理マシン対応付け管理部115で構成される。
The virtual machine
リソース要求受付部111は、デプロイ管理部10のリソース要求部103からのVM作成要求を受け付け、配置先物理マシン選択部114に要求を転送する。
The resource
配置先物理マシン選択部114は、クラウド基盤物理構成グラフ情報131、仮想マシン-物理マシン対応付け表132、仮想ネットワーク-物理ネットワーク対応付け表(以下、「仮想NW―物理NW対応付け表」と略記する)133及びVM間通信関係グラフ情報141を利用して、新規にプロビジョニングするVMの配置先を決定する。また、必要に応じて、配置先物理ネットワーク選択部113を呼び出し、論理ネットワークを物理スイッチの集合に割当てる。呼び出された配置先物理ネットワーク選択部113は、後述する手順に従い、ネットワークの割当状況及びアプリケーションの通信形態(トポロジー)に基づいて、論理ネットワークを物理スイッチ群で構成される物理ネットワークに配置する。
The placement destination physical
仮想マシン-物理マシン対応付け管理部115は、配置先物理マシン選択部114及び配置先物理ネットワーク選択部113によって決定されたVM及び論理ネットワークの配置先を記録し、相互を識別子として対応付けられたリソースを返す機能を有する。仮想マシン-物理マシン対応付け管理部は、IaaS基盤の一般的な管理機能であるため、詳細な説明は省略する。
(II)デプロイ管理部のデータ構造
次に、図3Aないし図5Cを用いてデプロイ管理部のデータ構造について説明する。図3A、図3Bは、構成・トポロジ情報151の構成例を示す図である。図4は、論理構成テンプレート管理表121の一例を示す図である。
The virtual machine-physical machine
(II) Data Structure of Deployment Management Unit Next, the data structure of the deployment management unit will be described with reference to FIGS. 3A to 5C. 3A and 3B are diagrams illustrating a configuration example of the configuration /
構成・トポロジ情報151は、クラウドユーザ16から入力として渡され、論理構成テンプレート15中に保持されて、仮想マシン上の論理的なシステム構成、ソフトウェア構成を定義するためのデータである。
The configuration /
図3Aに示される構成例は、Web3階層システムの構成例であり、図3Bに示される構成例は、ビッグデータ解析システムの構成例である。なお、ここでの3階層システムとは、クライアントサーバシステムを「プレゼンテーション層」「アプリケーション層」「データ層」の3層に分割して構築したシステムであり、クライアント及びサーバの処理を複数の階層に分離して配置することにより、ある階層へ変更を加える必要が生じた際にも柔軟に対応できることを目指したものである。 The configuration example shown in FIG. 3A is a configuration example of a Web three-tier system, and the configuration example shown in FIG. 3B is a configuration example of a big data analysis system. The three-tier system here is a system constructed by dividing the client-server system into three layers of “presentation layer”, “application layer”, and “data layer”, and the processing of the client and server is divided into a plurality of layers. It aims to be able to flexibly cope with the need to make changes to a certain hierarchy by arranging them separately.
構成・トポロジ情報151は、仮想マシン情報31と、ソフトウェア情報32により構成される。仮想マシン情報31は、業務システムで必要となるVMとその他ストレージボリュームなどの仮想リソースの種類及び台数を示すものである。ソフトウェア情報32は、仮想マシン情報31で仕様が示された仮想マシン上で稼動させるためのソフトウェアに関する情報である。
The configuration /
仮想マシン情報31は、仮想リソース種類、仮想リソースクラス名称、必要量、初期台数の組からなるリストとして表現される(図示せず)。仮想リソース種類は、リソースの種類を示し、例えば、VM、ストレージボリューム、及び、グループがある。グループは、VMによる機能をグループ化したものであり、他の仮想マシン情報31へのポインタとして表現される。このグループを利用することにより、他のサブシステムを再帰的に自身の定義の配下におくことができ、また、スケールアウトするクラスタを構成する際の増設単位を示すために使うことができる。仮想リソースクラス名称は、リスト中における識別子である。必要量は、仮想リソースに要求されるリソースの量を示し、仮想リソース種類ごとに定めされる。例えば、VMにおける必要量は、CPU能力(クロック、コア数など)及びメモリ容量である。また、ストレージボリュームにおける必要量は、記憶容量である。初期台数は、初期構築時にプロビジョニングする台数である。初期値は、各リソース種類ごとに1台とする。ただし、構築後にクラウドユーザからの指定、もしくは外部のシステムサイジングを行うプログラムなどによって、デプロイ基盤に台数の変更(スケールアウト/イン)を要求することができる。
The
図3Aに示した仮想マシン情報31Aの例では、ロードバランサ311、Webサーバ314、APサーバ315、DBサーバ316の四種類のVMと一つのストレージボリュームが定義されている。WebサーバとAPサーバは、グループ312としてまとめられており、この単位で増設することが示されている。グループ312の初期台数は、3台である。
In the example of the virtual machine information 31A shown in FIG. 3A, four types of VMs, that is, a load balancer 311, a
また、図3Bに示した仮想マシン情報31Bの例では、HadoopMaster、HadoopTask、HadoopDataの三種類のVMが定義されており、ストレージボリュームがあわせて定義されている。グループ1は、HadoopTaskからなり、初期台数は、3台であり、グループ2は、HadoopDataからなり、初期台数は、4台である。
Further, in the example of the
ソフトウェア情報32は、仮想マシン種類31で定義された各VM上で稼動するソフトウェアの種類、及びソフトウェア間の通信状況を示すものである。ソフトウェア情報32は、ソフトウェア名称、搭載仮想リソースクラス名称、及び一つ以上の通信先ソフトウェア名称の組を要素とするリストとして表現される(図示せず)。ソフトウェア名称は、該当するソフトウェアの識別子であり、最低限でも論理構成テンプレート15中で一意的である必要がある。後述するミドルウェア別通信量算出式定義表122をデプロイ管理基盤で一括して用意する場合、デプロイ管理基盤全体でソフトウェアごとに一意な識別子を持つことが必要となるが、ミドルウェア別通信量算出式定義表122を論理構成テンプレート15中に記載させ、各クラウドユーザに定義させるシステムにしてもよい。搭載先仮想リソースは、ソフトウェアが稼動するVMを、一つ以上の仮想リソースクラス名称で指定するものである。通信先ソフトウェア名称は、業務システム内で通信を行うソフトウェアを示すものである。なお、本発明ではソフトウェアという名称を用いているが、本来的には、インストールする対象となるソフトウェアパッケージと、そのソフトウェアによって実行されるプログラムのプロセス・サービスを区別する必要がある。本発明では簡単のため両者を同一として説明している。また、通信先ソフトウェア名称では、システム外部との通信を表現することができない。そこで、システム外部からのメッセージを「ソース」システム外部へのメッセージを「シンク」という特殊な要素で表現し、テナント外部との通信を表現できるようにしている。
The software information 32 indicates the type of software running on each VM defined by the
図3Aに示されたソフトウェア情報32Aの例では、HaProxy323がロードバランサ311(搭載仮想リソースクラス名称327により指定)、ApacheHTTPD324がWebサーバ314、Django325がAPサーバ315、PostgreSQL326がDBサーバ316上で稼動していることを示している。また、それぞれHaProxyとApacheHTTPD(矢印328による表記),ApacheHTTPDとDjango、DjangoとPostgreSQLが通信していることを示している。また、HaProxy323は、ソース321からメッセージを受取り、シンク322へメッセージを送信する。
In the example of the
次に、図4を用いて論理構成テンプレート管理表について説明する。 Next, the logical configuration template management table will be described with reference to FIG.
論理構成テンプレート管理表121は、業務システムと論理構成テンプレート、及びプロビジョニングされたリソース間の対応付けを行うテーブルであり、図4に示されるように、ユーザID401、システムID402、システム名403と、論理構成テンプレート404、及び、リソース一覧405の組からなるリストによって構成される。
The logical configuration template management table 121 is a table for associating business systems, logical configuration templates, and provisioned resources. As shown in FIG. 4, a
ユーザID401は、ユーザを識別するための識別子である。システムID402、システム名403は、それぞれ業務システムを識別するための識別子とシステムの名称である。論理構成テンプレート404は、図3A、図3Bで例示した業務システムの構築要求の際に渡される論理構成テンプレートへのポインタを格納する。リソース一覧405は、論理構成テンプレート404にしたがって作成されたVMなどのリソースを識別するためのリソース一覧406へのポインタを格納する。
リソース一覧406は、論理構成テンプレート中の仮想リソースクラス名称411とリソースの識別子である仮想マシンID412、及び、作成タスクの進捗状況など、現在仮想マシンの状態を示す状態413を対応付けて管理している。ここで、仮想マシンID412は、オブジェクト指向でいう所の仮想リソースクラス名称411のクラスのインスタンスになっていることに留意する。
The
次に、図5Aないし図5Cを用いてミドルウェア別通信量算出式定義テーブルについて説明する。図5Aないし図5Cは、ミドルウェア別通信量算出式定義テーブルの構成例を示す図である。 Next, the communication amount calculation formula definition table for each middleware will be described with reference to FIGS. 5A to 5C. 5A to 5C are diagrams illustrating a configuration example of a communication amount calculation formula definition table for each middleware.
ミドルウェア別通信量算出式定義テーブルは、業務システムごとのネットワーク通信に必要なネットワーク帯域を記載したテーブルであり、図5Aないし図5Cに示されるように、システムを識別するシステムID511と、そのシステムに関連付けられた帯域算出定義表512の組で表現される。帯域算出定義表512は、帯域算出定義表へのポインタを格納する。帯域算出定義表は、これは通信元ソフトウェア(通信元521)と通信先ソフトウェア(通信先522)の組合せ表と成っており、図中で〇と×により、通信の有無が記載され、図中で〇の組合せに対して、通信特性を算出する定義表53を有する構成となっている。この図は、図3Aで示されるソフトウェア情報32Aのグラフ構造の別形式での表現であり(Web3階層システムの場合)、実質的には図3Aのソフトウェア情報32で示すグラフ構造の通信先ソフトウェアへの依存リンクごとに帯域定義表53を有する解釈することができる。帯域定義表53は、処理種別531、レスポンスタイム532、データ転送頻度533、スループット534の組で構成される。処理種別531は、通信が同期もしくは非同期であることを示すものである。レスポンスタイム532は、求められる平均の応答速度である。
The communication amount calculation formula definition table for each middleware is a table describing the network bandwidth necessary for network communication for each business system. As shown in FIGS. 5A to 5C, the
各値は、即値であるか、あるいは、他の変数を参照して算出する計算式として表現される。変数を含む場合、論理構成テンプレートに変数欄を設け、クラウドユーザ16に入力させるなどの方法により、デプロイ要求時に確定させるなどの方法で値を決定させることを前提とする。
Each value is an immediate value or is expressed as a calculation formula calculated with reference to other variables. In the case of including a variable, it is assumed that a value is determined by a method such as providing a variable column in the logical configuration template and allowing the
また、図5Bに示される例は、図3Bで示されるソフトウェア情報32Aのグラフ構造の別形式での表現である(ビッグデータ解析システムの場合)。
Also, the example shown in FIG. 5B is an expression in another form of the graph structure of the
ミドルウェア別通信料算出式定義表122は、論理構成テンプレート15と組合せてクラウドユーザ16に定義させる方法がある。
The middleware-specific communication fee calculation formula definition table 122 may be defined by the
また、図5Cの例のように、別途事前にクラウド管理者17が複数種類を定義(図中の事前定義表50)しておき、デプロイ時にクラウドユーザ16に前記事前定義表の事前定義名称52一覧やその内容を表示して、適当なものをクラウドユーザ16に選択させる方法、実行時に性能監視ソフトウェアと組み合わせてデータを蓄積、分析して動的に更新するなどの方法が考えられる。本実施形態では、デプロイ実行時には値を取得できることを前提とする。
(III)デプロイ管理部及び仮想マシン配置管理部の共有データ構造
次に、図6、図7A及び図7Bを用いてデプロイ管理部と仮想マシン配置管理部で共有されるデータ構造について説明する。図6は、論理ネットワークの定義と種類を説明する図である。図7A及び図7Bは、VM間通信関係グラフ情報141の構成例を示す図である。
Further, as in the example of FIG. 5C, the
(III) Shared Data Structure of Deployment Management Unit and Virtual Machine Placement Management Unit Next, a data structure shared between the deployment management unit and the virtual machine placement management unit will be described with reference to FIGS. 6, 7A, and 7B. FIG. 6 is a diagram for explaining the definition and types of logical networks. 7A and 7B are diagrams illustrating a configuration example of the inter-VM communication relationship graph information 141. FIG.
VM間通信関係グラフ情報141は、業務システムを構成する全VMのそれぞれについて、後述する手順により論理構成テンプレート15から導出された各VMの通信相手、及び、接続の形態(1:1通信、N:1通信、N:M単方向通信、N:N双方向通信)の特性を示す論理ネットワークを作成し、業務システムの通信量をリソース利用量に変換するためのグラフ構造である。
The inter-VM communication relationship graph information 141 includes, for each of all VMs constituting the business system, the communication partner of each VM derived from the
論理ネットワークは、図6に示されるタイプを有するVM間の通信帯域と特性を現す論理的なオブジェクトである。論理ネットワークを用いて、システム内の通信の局所性、及び、通信帯域の大きさを把握することができる。論理ネットワークは、一つ以上のVMノードとの間にリンクを有する。VMノードは、リソース一覧に記載されているVMに対応するオブジェクトで、それぞれが仮想リソースIDによって一意に識別される。 A logical network is a logical object that represents the communication bandwidth and characteristics between VMs having the type shown in FIG. Using the logical network, it is possible to grasp the locality of communication in the system and the size of the communication band. The logical network has a link with one or more VM nodes. A VM node is an object corresponding to a VM described in the resource list, and each is uniquely identified by a virtual resource ID.
1:1論理ネットワーク61は、図6(a)に示されるような特定のVM間で1:1の通信を行うことを示すネットワーク構造である。通信をするVMは、それぞれ論理ネットワーク61の1側端子611に接続される。各端子は、それぞれの通信に必要な帯域を示す帯域情報612を有する。なお、ここで「1側端子」とは、その端子へのVMの接続個数が一つであることを暗示しており、以下、「N側端子」、「M側端子」も同様に、それぞれVMの接続個数がN個、M個(N,M≧2の整数)であることを暗示するものとする。
The 1: 1
N:1論理ネットワーク62は、図6(b)に示されるような特定のVMが、他の多数のVMが通信を行うネットワーク構造である。これは、ロードバランサが多数のワーカーノードと通信するようなケースに該当する。1側端子621に接続されたVMが、N側端子に接続された他のVMと通信し、各端子は、帯域情報623及び624を有する。1側端子の帯域情報624は、N個のVMとの通信に必要な帯域の総和として表現される。
The N: 1
N:M単方向論理ネットワーク63は、図6(c)に示されるようなVMが二つのクラスタに分類されており、一方のクラスタ内のVMが他方のクラスタ内のVMとそれぞれ1:Nで通信を行うことを示すネットワーク構造である。同一クラスタ内のVM間では、通信が無いことが特徴である。これは、Web3階層システムのAPサーバクラスタが、Memcacheクラスタにアクセスするような通信パターンである。片方のクラスタ内のVMがM側端子631に接続され、他方のクラスタ内のVMがN側端子632に接続され、各端子は、帯域情報633、634を有する。M側端子の帯域情報は、N側端子に接続されるVMとの通信量の総和である。同様に、N側端子の帯域情報は、M側端子のVMとの通信量の総和である。
In the N: M unidirectional
N:N双方向論理ネットワーク64は、図6(d)に示されるようなクラスタ内のVMが相互に通信するネットワーク構造である。クラスタ内のVMは、N側端子641接続されて、他のVMと通信し、その端子は、帯域情報642を有する。これは、HadoopのShuffle動作、あるいはHPCにおけるMPIノードなどが該当する。
The N: N bidirectional
図7Aは、図3Aで示した構成・トポロジ情報151におけるWeb3階層システムVM間通信関係グラフ情報141の構成例であり、図7Bは、図3Bに示した構成・トポロジ情報151における解析システムのVM間通信関係グラフ情報141構成例である。なお、これらのVM間通信関係グラフ情報141は、後述する方法によって自動的に生成される。
(IV)仮想マシン配置管理部のデータ構造
次に、図8Aないし図10Bを用いて仮想マシン配置管理部のデータ構造について説明する。図8A、図8Bは、クラウド基盤物理構成グラフ情報131の例を示す図である。図9は、仮想マシン-物理マシン対応付け表132の一例を示す図である。図10Aは、論理ネットワーク-物理ネットワーク対応付け表133の一例を示す図である。図10Bは、図10Aの論理ネットワーク-物理ネットワーク対応付け表133のグラフによるイメージ示した図である。
FIG. 7A is a configuration example of the communication relationship graph information 141 between the Web 3-tier systems VM in the configuration /
(IV) Data Structure of Virtual Machine Placement Management Unit Next, a data structure of the virtual machine placement management unit will be described with reference to FIGS. 8A to 10B. 8A and 8B are diagrams illustrating examples of the cloud-based physical
仮想マシン配置管理部11で用いられるクラウド基盤物理構成グラフ情報131は、データセンタ内の物理マシン群と、物理マシンを接続するスイッチの接続関係、及び個々の識別番号及び仕様を記録する情報であり、接続関係のトポロジー(構造)を保持するグラフ構造として表現される。データセンタ内の物理的な構成情報をあらわすために、データセンタ内の各L2/L3スイッチ及び物理マシンをノード811として表現し、ノード間のネットワーク結線をエッジとして用いる。各ノードは、スイッチや物理マシン(本実施形態では、物理サーバと同義)などの種別を表す物理リソースクラスと、各ノードを一意に識別するためのノードIDをノードの属性値として有する。
The cloud-based physical
なお、グラフ構造の一般的な表現・管理方式などはRDF(http://www.w3.org/RDF/)、GraphDB、ActiveRecordを用いたRDB構造への変換などの既存技術が確立している。 In addition, existing techniques such as conversion to an RDB structure using RDF (http://www.w3.org/RDF/), GraphDB, and ActiveRecord have been established as a general expression / management method of the graph structure. .
クラウド基盤物理構成グラフ情報131の具体例は、図8A及び図8Bに示されるようになる。図8Aに示したクラウド基盤物理構成グラフ情報131は、一般的なデータセンタを模擬した構成例であり、図8Bに示したクラウド基盤物理構成グラフ情報131は、近年の大規模IaaSで用いられるようなSDN(Software Defined Network)技術を用いた、ネットワークが複数経路を持つことを特徴とするデータセンタを模擬した構成例である。なお、図8Aのスイッチ4~7、図8Bのスイッチ4~8はそれぞれ図中の下段に四角で囲まれた物理マシン群と1:1で接続されている。また、スイッチ1とスイッチ2、スイッチ1とスイッチ3は、共に帯域813(40Gps)を有することを示している。
Specific examples of the cloud-based physical
仮想マシン-物理マシン対応付け表132は、図9に示されるように、物理マシンID901、物理マシンIPアドレス902、物理マシンCPUコア数903、物理メモリサイズ904、ユーザID905、仮想マシンID906、仮想マシンIPアドレス907、仮想マシンCPUコア数908、仮想メモリサイズ909の各フィールドよりなる。これは、仮想マシンが稼動している物理マシンを対応付けて管理し、双方の識別子を検索キーとして、対応付けられている物理マシン又は仮想マシンを相互に抽出するために用いる。また、新規にVMを配置する場合に、該当するリソース量の空きがある物理マシンを抽出するためにも用いる。なお、物理マシン上で稼動するVMが存在しない場合は、図中にあるようにVMの情報が記載されていない物理マシンのエントリが含まれるものとする。これにより、リソースに空きがある物理マシンの検索を簡単に行うことができる。対応付けは、一般的なIaaS基盤によるものと同じ技術が用いられる。
As shown in FIG. 9, the virtual machine-physical machine correspondence table 132 includes a
論理ネットワーク-物理ネットワーク対応付け表133は、図10Aに示されるように、スイッチID1001、端子-スイッチポートマッピング1002、ユーザID1003、システムID1004、論理NWID1005の各フィールドよりなる。
As shown in FIG. 10A, the logical network-physical network correspondence table 133 includes fields of
論理ネットワーク-物理ネットワーク対応付け表133は、物理スイッチ上で動作している論理ネットワークの対応付けを示すテーブルである。ここで論理ネットワークが動作しているとは、そのスイッチ上で、その論理ネットワークに属するVM間の通信を行っているということを意味する。図10Aの例においては、論理ネットワークは、ユーザID1003、システムID1004、及び論理ネットワークID1005の組合せで一意に特定される。また、特定の論理ネットワークに属するVMが複数の機器を中継する場合があるため、一つの論理ネットワークが同時に複数のスイッチID1001と対応付けられることもありえる。図10Bは、図10Aの構成例に記された構成の実際の物理機器への対応付けのグラフによるイメージを示したものであり、物理構成は、図8Aに記載した構成を想定している。
(V)VM配置管理システムの処理
(V-1)クラウドユーザ16の初期構築要求からVMプロビジョニング処理
先ず、図11を用いてクラウドユーザ16の初期構築要求からVMプロビジョニング処理の概要について説明する。図11は、クラウドユーザ16の初期構築要求からVMプロビジョニング処理を示すゼネラルフローチャートである。
The logical network-physical network association table 133 is a table showing the association of logical networks operating on the physical switch. Here, that the logical network is operating means that communication between VMs belonging to the logical network is performed on the switch. In the example of FIG. 10A, a logical network is uniquely identified by a combination of a
(V) Processing of VM Arrangement Management System (V-1) VM Provisioning Processing from Initial Construction Request of
以下では、デプロイ管理部10が、各テナントを管理するクラウドユーザ16から、IaaS上でのテナントの作成要求を受け付け、それに基づいてVMリソースをプロビジョニングするときの手順を説明する。
(ステップ1101)
先ず、クラウドユーザ16が図3A、図3Bに示したような論理構成テンプレート15を登録する。クラウドユーザ16は、GUI、CLIもしくはREST API(http://ja.wikipedia.org/wiki/REST)などの手段を用いて、図4に示したユーザID401、システムID402の元データ、及び、事前定義した論理構成テンプレート15をデプロイ管理部10に対して入力する。この論理構成テンプレート15はテキストの形式、あるいはGUIで表示され管理されたグラフ構造などによってデプロイ管理部10に対して送信される。
(ステップ1102)
次に、論理構成テンプレート受付部101は、ステップ1101においてクラウドユーザ16から入力されたユーザID、システムID、及び、論理構成テンプレート15とを、図4に示した論理構成テンプレート管理表121に関連付けて保存する
(ステップ1103)
次に、VM間通信関係グラフ作成部102は、ステップ1101において登録された論理構成テンプレート、図5Aないし図5Cに示したようなミドルウェア別通信料算出式定義表122を用いて、VM間通信関係グラフ情報141を生成して(VM間通信関係グラフ情報141を生成する手順は、後に図12により詳説)、共有データストア14に保存する。なお、VM間通信関係グラフ情報141は、デプロイ管理部に事前定義されていてもよいし、ステップ1101においてクラウドユーザ16から明示的に指定されたものを用いてもよい。
(ステップ1104)
次に、論理構成テンプレート受付部101は、ステップ1103において生成されたVM間通信関係グラフ情報141に含まれるVM一覧(以下、「新規作成VM一覧」という)及びストレージボリューム一覧(以下、「新規作成ボリューム一覧」という)を抽出し、論理構成テンプレート管理表121のシステムIDで識別される行を検索し、該当行中のリソース一覧405に新規作成VM一覧1153、及び、新規作成ボリューム1154を、状態413を「実行待ち」として登録する。
(ステップ1105)
次に、リソース要求送信部103は、ステップ1104において登録したリソース一覧405中の各行で状態413 が「実行待ち」であるものを抽出し、順番にプロビジョニング要求を仮想マシン配置管理部11に発行する。
Hereinafter, a procedure when the
(Step 1101)
First, the
(Step 1102)
Next, the logical configuration
(Step 1103)
Next, the inter-VM communication relationship
(Step 1104)
Next, the logical configuration
(Step 1105)
Next, the resource
(V-2)VM間通信関係グラフ情報141の生成処理
次に、図12を用いてVM間通信関係グラフ情報141の生成処理について説明する。図12は、VM間通信関係グラフ情報141の生成処理を示すフローチャートである。
(V-2) Generation Process of Inter-VM Communication Relationship Graph Information 141 Next, the generation process of the inter-VM communication relationship graph information 141 will be described with reference to FIG. FIG. 12 is a flowchart showing a process for generating the inter-VM communication relationship graph information 141.
この生成処理は、VM間通信関係グラフ情報141を生成するプログラムによって実行され、このプログラムでは、論理構成テンプレート404に登録されたテンプレート情報(図3A、図3Bなどに例示)を入力として、VM間通信関係グラフ141を作成する。 This generation process is executed by a program that generates the inter-VM communication relationship graph information 141. In this program, template information registered in the logical configuration template 404 (illustrated in FIG. 3A, FIG. 3B, etc.) is used as an input. A communication relationship graph 141 is created.
また、図12により示されたフローチャートでは、一つのグループ(図3Aなどに示すVM機能(論理サーバ)の増設単位となる)を引数として受け取り、そのグループ内に属するVM間の通信関係グラフを算出してグラフ構造を返すものである。このアルゴリズムをシステム内の各グループに再帰的に適用することにより、グループ単位でまとめられたサーバ間のVM間通信関係グラフを取得することができる。引数(グループ)の初期値は、ユーザID、システムIDで一意に特定された業務システムに対応付けられて論理構成テンプレート管理表121に格納されている論理構成テンプレート404を指し示す参照リンクである。
(ステップ1201)
先ず、グラフ構造格納領域(以下、「通信グラフ構造」という、図示せず)を生成する。このデータ領域には、図6に示された論理ネットワークにおけるVM、論理ネットワーク、及び、その間のリンクを表すデータ構造を格納する。グラフ構造のデータ表現は、計算機のプログラミングとして一般的に用いられる構造体やポインタなどの構造を用いることができる。初期状態では、通信グラフ構造には一切のデータ構造が含まれない状態で生成する。
(ステップ1202)
次に、引数で与えられたグループ(以下、「通信関係抽出対象グループ」という)に含まれる仮想リソース種類を、図3A、図3Bに示したような論理構成テンプレート404を参照して取得する。
(ステップ1203a、1203b)
(深さ優先での再帰処理)次に、論理構成テンプレート404を参照し、通信関係抽出対象グループ内に入れ子でグループが含まれていた場合には(ステップ1203a:YES)、子グループを引数として再帰的に本処理を実施して、結果を通信グラフ構造に追加する。
(ステップ1204)
通信関係抽出対象グループの初期台数属性に記載した数の仮想マシンノード情報(以下、「新規生成VM」という)を、仮想リソース種類に基づいて生成し、通信グラフ構造に追加する。生成されたリソースのリソースクラスには、前記リソース種類310に記載されている仮想リソースクラス名称を用いる。
(ステップ1205a、1205b)
ステップ1204で生成した新規生成VMのそれぞれ(以下、ループ内では単にVMと呼称)に対してステップ1206、1207a-1207b(ステップ12071~12076)を実施する。
In the flowchart shown in FIG. 12, one group (which is an expansion unit of the VM function (logical server) shown in FIG. 3A or the like) is received as an argument, and a communication relationship graph between VMs belonging to the group is calculated. And return the graph structure. By applying this algorithm recursively to each group in the system, an inter-VM communication relationship graph between servers organized in groups can be acquired. The initial value of the argument (group) is a reference link pointing to the
(Step 1201)
First, a graph structure storage area (hereinafter referred to as “communication graph structure”, not shown) is generated. In this data area, a data structure representing the VM in the logical network shown in FIG. 6, the logical network, and the link therebetween is stored. For the data representation of the graph structure, a structure such as a structure or a pointer that is generally used for computer programming can be used. In the initial state, the communication graph structure is generated without any data structure.
(Step 1202)
Next, the virtual resource types included in the group given by the argument (hereinafter referred to as “communication relationship extraction target group”) are acquired with reference to the
(
(Recursion processing with depth priority) Next, referring to the
(Step 1204)
The number of virtual machine node information (hereinafter referred to as “newly generated VM”) described in the initial number attribute of the communication relationship extraction target group is generated based on the virtual resource type and added to the communication graph structure. The virtual resource class name described in the resource type 310 is used for the resource class of the generated resource.
(
(ステップ1206)
論理構成テンプレート404のソフトウェア情報(32A、32Bで例示)内に含まれるすべてのソフトウェア情報422からVMへの搭載リンクが張られたソフトウェア情報(以下、「搭載ソフトウェア群」という)を取得する。
(Step 1206)
All the software information 422 included in the software information (illustrated by 32A and 32B) of the
(ステップ1207a、1207b)
搭載ソフトウェア群のそれぞれが接続されている、図4中の接続リンク424(以下、単に「リンク」という)のそれぞれに対して下記ステップ(12071)~(12076を含む)を実施する。
(
The following steps (12071) to (including 12076) are performed on each of the connection links 424 (hereinafter simply referred to as “links”) in FIG. 4 to which each of the installed software groups is connected.
(ステップ12071)
リンクが張られたソフトウェア情報(以下、「接続先ソフトウェア群」という)を取得する
(ステップ12072)
通信グラフ構造において、論理構成テンプレート404を参照して、接続先ソフトウェア群から搭載リンクが張られたリソースクラス410の仮想マシンをすべて抽出する(以下、抽出した仮想マシンを「接続先VM群」という)。
(Step 12071)
Obtain linked software information (hereinafter referred to as “connected software group”) (step 12072)
In the communication graph structure, with reference to the
(ステップ12073)
新規生成VMと接続先VM群のそれぞれのVMの組(新規生成VM内のVM、接続先VM群内のVM)に対して、それぞれ1:1論理ネットワークノードを生成し、通信グラフ構造に追加する。
(Step 12073)
A 1: 1 logical network node is created for each pair of newly created VMs and VMs in the connection destination VM group (VMs in the newly created VM and VMs in the connection destination VM group) and added to the communication graph structure To do.
(ステップ12074)
ステップ1208で生成した通信グラフ構造内の1:1論理ネットワークノードにおいて、同じ接続先を持つ論理ネットワークノードを集約して、N:1論理ネットワークノードを作成して置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表122に記載されたVM間の通信量及び各端子の帯域定義に従い更新する。
(Step 12074)
In the 1: 1 logical network node in the communication graph structure generated in
(ステップ12075)
通信グラフ構造内のN:1論理ネットワークノードにおいて、N側端子に同じ接続先のセットを持つ論理ネットワークノードを集約して、N:M単方向論理ネットワークノードを作成し、置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表122に記載されたVM間の通信量及び各端子の帯域定義に従い更新する。
(Step 12075)
In the N: 1 logical network node in the communication graph structure, logical network nodes having the same connection destination set at the N-side terminal are aggregated to create and replace an N: M unidirectional logical network node. When replacing, the bandwidth information of each terminal is updated according to the communication amount between VMs described in the middleware communication amount calculation formula definition table 122 and the bandwidth definition of each terminal.
(ステップ12076)
通信グラフ構造内のN:M単方向論理ネットワークノードにおいて、N側端子とM側端子のVM群が同じ場合、N:N双方向論理ネットワークノードに置き換える。置き換える際には、各端子の帯域情報を、ミドルウェア別通信量算出式定義表122に記載されたVM間の通信量及び各端子の帯域定義に従い更新する。
(ステップ1208)通信グラフ構造を本処理の結果として返す
(V-3)クラウドユーザ16によるサーバ追加要求処理
次に、図13A、図13Bを用いてクラウドユーザ16によるサーバ追加要求処理について説明する。
(Step 12076)
In the N: M unidirectional logical network node in the communication graph structure, when the VM group of the N side terminal and the M side terminal is the same, the N: M bidirectional logical network node is replaced. When replacing, the bandwidth information of each terminal is updated according to the communication amount between VMs described in the middleware communication amount calculation formula definition table 122 and the bandwidth definition of each terminal.
(Step 1208) The communication graph structure is returned as a result of this processing.
(V-3) Server Addition Request Processing by
図13A、図13Bは、クラウドユーザ16によるサーバ追加要求処理を示すフローチャートである。
FIG. 13A and FIG. 13B are flowcharts showing server addition request processing by the
これは、業務システムの構築後に、デプロイ管理部10がクラウドユーザ16からのVM追加要求を受けたときに、VM配置先を決定する処理手順である。
(ステップ1301)
先ず、クラウドユーザ16がユーザIDとシステムID、及び、システムIDで識別される業務システムを構築する際に指定した論理構成テンプレートに含まれる仮想リソースクラス名称及び追加台数を指定してスケールアウトを要求する。
(ステップ1302)
次に、デプロイ管理部10は、クラウドユーザ16の要求に含まれる仮想リソースクラス名称及び追加台数を、論理構成テンプレート管理表121中の初期台数属性313の値に追加して、前述のステップ1102の手順に従って、論理構成テンプレート管理表121を更新する。その後、図12に示す手順に従って、VM間通信関係グラフ生成部102がVM間通信関係グラフ情報141を更新し、仮想リソース名称及び追加された仮想マシンID412を指定して、VM追加命令を仮想マシン配置管理部11に送信する。
(ステップ1303)
次に、仮想マシン配置管理部11中のリソース要求受付部111は、デプロイ管理部10からのVM追加要求を受け取る。ここで、VM追加要求は、仮想マシンID及び必要リソース量(CPU、メモリ)などを含む。
This is a processing procedure for determining a VM placement destination when the
(Step 1301)
First, the
(Step 1302)
Next, the
(Step 1303)
Next, the resource
リソース要求受付部111は、指定されたVMのリストを引数として、配置先物理マシン選択部114で配置先物理マシン選択タスクを起動する。
(ステップ1304a、1304b)
配置先物理マシン選択部114は、ステップ1302で指定されたVMリスト中のそれぞれのVM(以下、「追加VMという)に対して、ステップ1305~1310を実行する。
The resource
(
The placement destination physical
(ステップ1305)
配置先物理マシン選択部114は、下記ステップ13051~13055を実行し、業務システム中のVM及び論理ネットワークが割当済で、なおかつ必要とするリソース量の空きがある物理マシン群を抽出する(業務システム割当済の物理マシン候補取得処理(図13B))。
(Step 1305)
The placement destination physical
(ステップ13051)
配置先物理マシン選択部114は、図9に示した仮想マシン-物理マシン対応付け表132を参照して、クラウド基盤中のそれぞれの物理マシンの実リソース量と割り当て済みのリソース量を計算する。そして、これらの二つの差分を取り、未割当てのリソース量を計算する。新規に要求された仮想マシンのリソース量に割り当てる空きがある物理マシンの一覧(以下、「空き物理マシン群」という)を抽出する。
(ステップ13052)
ステップ13051において、空き物理マシン群1352に該当する物理マシンが一つ以上見つかった場合はステップ13053~1355を実行する。該当する物理マシンがない場合は、後述のステップ1310bの割り当て失敗を実行する。
(Step 13051)
The placement destination physical
(Step 13052)
If one or more physical machines corresponding to the free physical machine group 1352 are found in
(ステップ13053)
VM間通信関係グラフ情報141から、追加する仮想リソースIDに対応するVMノード(以下、「新規VM」という)を抽出する。次に、この新規VMと接続されている論理ネットワークをすべて抽出する(以下、接続先論理ネットワーク群と呼称)。
(Step 13053)
A VM node corresponding to the virtual resource ID to be added (hereinafter referred to as “new VM”) is extracted from the inter-VM communication relationship graph information 141. Next, all logical networks connected to the new VM are extracted (hereinafter referred to as connected logical network group).
(ステップ13054)
図10Aに示した論理ネットワーク-物理ネットワーク対応付け表133を参照して、接続先論理ネットワーク群中のそれぞれの論理ネットワークが利用している物理スイッチをすべて取得する(以下、「論理NW割当済スイッチ群」という)。例えば、図10Aの例では、論理ネットワーク「WebサーバーAPサーバ」が利用している論理NW割当済スイッチ群は「スイッチ2,4,5」となる。
(Step 13054)
With reference to the logical network-physical network correspondence table 133 shown in FIG. 10A, all the physical switches used by the respective logical networks in the connected logical network group are acquired (hereinafter referred to as “logical NW assigned switches”). Group)). For example, in the example of FIG. 10A, the logical NW assigned switch group used by the logical network “Web server AP server” is “switches 2, 4 and 5”.
(ステップ13055)
クラウド基盤物理構成グラフ情報131を参照して、空き物理マシン群の中から、論理NW割当済スイッチ群中のスイッチと接続がある物理マシン(以下、「物理マシン候補群」という)を抽出する。新規VM1353と接続のある接続先論理ネットワーク群が複数ある場合、それぞれの接続先論理ネットワーク群に対応する論理NW割当済スイッチ群1355との接続があるものを物理マシン候補群として抽出する。
(ステップ1306)
もし、ステップ1305で物理マシン候補群1356に該当するVMが一つ以上あれば、ステップ1307、1308を実行し、該当する物理マシン一覧からネットワーク要件に基づき物理マシンを一つ選択する。該当する物理マシンが存在しない場合、ステップ1309、1310の手順によって、論理ネットワークを物理スイッチ上に割当てて物理マシンを選択する。
(ステップ1307)
図14に後述する手順に従い、ネットワーク要件に基づき物理マシンを選択する(業務システム割当済みの物理マシンの検索・選択)。
(ステップ1308)
ステップ1307で選択された物理マシンに対して、仮想マシンの生成・配置(プロビジョニング)を実施する。本手順は一般的なIaaSのVMプロビジョニング手順と同等であるため、詳細手順は省略する。
(ステップ1309)
図15に後述する手順に従って、論理ネットワークの割当て処理を実施し(新規物理スイッチへの論理ネットワークの割当処理)、さらに空き物理マシン群1352から物理マシンを一つ選択する。
(ステップ1310a、1310b)
ステップ1309(又は、ステップ13052)において、論理ネットワークの割り当てに失敗した場合、エラー処理を実施して終了する。
(Step 13055)
With reference to the cloud-based physical
(Step 1306)
If there is one or more VMs corresponding to the physical machine candidate group 1356 in
(Step 1307)
A physical machine is selected based on the network requirements (search / selection of a physical machine to which a business system has been assigned) according to the procedure described later in FIG.
(Step 1308)
A virtual machine is generated and arranged (provisioned) for the physical machine selected in
(Step 1309)
According to the procedure described later in FIG. 15, logical network assignment processing is performed (logical network assignment processing to a new physical switch), and one physical machine is selected from the free physical machine group 1352.
(
In step 1309 (or step 13052), if logical network allocation fails, error processing is performed and the process ends.
(V-4)業務システム割当済みの物理マシンの検索・選択
次に、図14を用いて物理マシンを選択する手順について説明する。
(V-4) Search / Selection of Physical Machine Already Assigned to Business System Next, a procedure for selecting a physical machine will be described with reference to FIG.
図14は、物理マシンを選択する手順を示すフローチャートである。 FIG. 14 is a flowchart showing a procedure for selecting a physical machine.
図14に示す手順は、CPU、メモリの空きリソースがあり、なおかつ、業務システムの論理ネットワークが全て接続されている、すなわち、業務システムのVMが既に稼動している物理マシンの中から、帯域が溢れない物理マシンを選択するプロセスである。この手順により、既にデプロイされている業務システムがある場合、そのVMの稼動する物理マシンに優先してVMが割り付けられるようになり、通信の局所化が行われる。これにより、IaaS基盤全体としてテナントが混在しているときに、通信ボトルネックによって多くのテナントが性能の影響を受けるようになることを避けることができる。
(ステップ1401a、1401b)
物理マシン候補一覧中の全ての物理マシン(以下、「候補物理マシン」という)に対してステップ1402~1404を実施する。
(ステップ1402)
VMを配置することにより、VM間通信のネットワークパケットが増加し、帯域を消費する可能性のある物理スイッチをすべて抽出する(以下、「VM配置影響有りスイッチ群」という)。
The procedure shown in FIG. 14 has free resources in the CPU and memory, and all the logical networks of the business system are connected. That is, the bandwidth of the physical machine on which the VM of the business system is already operating is limited. It is a process of selecting physical machines that do not overflow. According to this procedure, if there is a business system that has already been deployed, the VM is preferentially assigned to the physical machine on which the VM operates, and communication is localized. Thereby, when tenants are mixed as an entire IaaS platform, it is possible to avoid that many tenants are affected by performance due to a communication bottleneck.
(
(Step 1402)
By arranging VMs, network packets for inter-VM communication increase, and all physical switches that may consume bandwidth are extracted (hereinafter referred to as “switch group with VM placement effect”).
VM配置影響有りスイッチ群は、下記のステップ14021、14022によって計算する。
The switch group with VM placement influence is calculated by the following
(ステップ14021)
上記ステップ13053と同一の手順により、VM間通信関係グラフ141において、追加VMと接続している全ての論理ネットワーク(以下、「VM接続論理ネットワーク群A」という)を抽出する。VM接続論理ネットワーク群Aのそれぞれに対して、前記ステップ13054と同一の手順により、VM接続論理ネットワークが割り当てられているすべての物理スイッチ(以下、「論理ネットワーク割当て済みスイッチ群」という)を抽出する。
(Step 14021)
In accordance with the same procedure as in
(ステップ14022)
抽出された論理ネットワーク割当て済みスイッチ群のそれぞれについて、図10Aに示された論理NW-物理NW対応付け表133を参照して論理ネットワークの1側、N側、M側のそれぞれの端子がマッピングされているスイッチポートを取得する。もし、該当するスイッチポートがある場合、その物理スイッチをVM配置影響有りスイッチ群に加える。
(ステップ1403)
図6に示したVM間通信関係グラフ情報141中に含まれる帯域情報を用いて、候補物理マシンにVMを配置した時の各ポートのネットワーク帯域を再計算する。
(ステップ1404)
ステップ1403で計算した各ポートのネットワーク帯域の中の最大値を物理マシンの帯域ペナルティ値とし、もし、その帯域ペナルティ値が物理スイッチのポート、又は、物理マシンのネットワーク帯域の値を超えた場合、その候補物理マシンは、VMの配置先候補としては不適なため、物理マシン候補一覧から取り除く。
(ステップ1405a、1405b)
前記ステップ1404において、すべての物理マシンがVMの配置先候補から取り除かれた場合、処理失敗として、エラー処理をして終了する。
(ステップ1406)
ステップ1404により削除されなかった物理マシンの中から、ステップ1404で計算した帯域ペナルティ値の値が最も小さい物理マシンを選択し、処理を終了する。
(Step 14022)
For each of the extracted logical network assigned switch groups, the respective terminals on the 1 side, N side, and M side of the logical network are mapped with reference to the logical NW-physical NW correspondence table 133 shown in FIG. 10A. Get the switch port. If there is a corresponding switch port, the physical switch is added to the switch group with VM placement influence.
(Step 1403)
Using the bandwidth information included in the inter-VM communication relationship graph information 141 shown in FIG. 6, the network bandwidth of each port when the VM is placed on the candidate physical machine is recalculated.
(Step 1404)
The maximum value in the network bandwidth of each port calculated in
(
If all the physical machines have been removed from the VM placement destination candidates in the
(Step 1406)
From the physical machines not deleted in
(V-5)新規物理スイッチへの論理ネットワークの割当処理
次に、図15を用いて新規物理スイッチへの論理ネットワークの割当処理について説明する。図15は、新規物理スイッチへの論理ネットワークの割当処理を示すフローチャートである。
(V-5) Logical Network Assignment Processing to New Physical Switch Next, logical network assignment processing to the new physical switch will be described with reference to FIG. FIG. 15 is a flowchart showing logical network assignment processing to a new physical switch.
上記ステップ1309で、物理スイッチに対して論理ネットワークが接続されていない場合には、業務システムを稼動させるためには、その物理スイッチに論理ネットワークを接続させる必要がある。この際に、論理ネットワークへの割当リソースがもっとも条件が良い物理スイッチを選択することにより、アプリケーションの通信形態に適した物理スイッチを配置先として選択する。
(ステップ1501)
上記ステップ13053と同一の手順により、VM間通信関係グラフ141において、追加VMと接続している全ての論理ネットワーク(以下、「VM接続論理ネットワーク群B」という)を抽出する。
(ステップ1502)
図10Aに示した論理NW-物理NW対応付け表133を参照して、すでに物理スイッチに割り当て済みの論理ネットワークが存在する論理ネットワークをすべて抽出する(以下、「割当済論理ネットワーク群」という)。
(ステップ1503)
割当済論理ネットワーク群に該当する論理ネットワークが一つ以上存在するか否かを判定する。
(ステップ1504)
割当済論理ネットワーク群に該当する論理ネットワークが一つ以上存在する場合は、後述の図16のフローチャートに示す処理により、デプロイするシステム内の通信に使われる物理スイッチ数が少ない物理マシンを選択する。
(ステップ1505)
ステップ1502において、物理スイッチに割当済の論理ネットワークが存在しない場合には、図17に示す方法によって、割当済論理ネットワークから離れていてネットワークリソース利用の競合確率が低い物理マシンを選択する。
If the logical network is not connected to the physical switch in the
(Step 1501)
In accordance with the same procedure as in
(Step 1502)
With reference to the logical NW-physical NW correspondence table 133 shown in FIG. 10A, all logical networks that already have logical networks assigned to physical switches are extracted (hereinafter referred to as “allocated logical network group”).
(Step 1503)
It is determined whether or not one or more logical networks corresponding to the assigned logical network group exist.
(Step 1504)
When one or more logical networks corresponding to the assigned logical network group exist, a physical machine with a small number of physical switches used for communication in the system to be deployed is selected by the processing shown in the flowchart of FIG.
(Step 1505)
In
(V-6)割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択
次に、図16を用いて割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択処理について説明する。図16は、割当済論理ネットワーク群から使用される通信の物理スイッチ数を極小化する物理マシンの選択処理を示すフローチャートである。
(V-6) Selection of Physical Machine for Minimizing the Number of Physical Switches Used for Communication from Allocated Logical Network Group Next, the number of physical switches for communication used from the allocated logical network group is determined using FIG. A process for selecting a physical machine to be minimized will be described. FIG. 16 is a flowchart showing a physical machine selection process for minimizing the number of physical switches for communication used from the assigned logical network group.
図16のフローチャートに示す処理は、図15のステップ1504の処理において、すでに物理スイッチに割り当てられている論理ネットワーク(以下、「割当済ネットワーク群」という)が存在する場合に、デプロイするシステム内の通信に使われる物理スイッチ数を極小化する物理マシンを選択する処理である。
(ステップ1601a、1601b)
上記ステップ13051で抽出された空き物理マシン群1352のそれぞれ(以下、「物理マシン候補」という)について、ステップ1602~1606を実行し、デプロイするシステム内の通信に使われる物理スイッチ数を極小化する物理マシンを選択する。
The process shown in the flowchart of FIG. 16 is the same as the process in
(
Steps 1602 to 1606 are executed for each of the free physical machine groups 1352 extracted in step 13051 (hereinafter referred to as “physical machine candidates”) to minimize the number of physical switches used for communication in the system to be deployed. Select a physical machine.
(ステップ1602a、1602b)
上記ステップ1502の割当済論理ネットワーク群のそれぞれに対して、ステップ1603~1605を実行する。
(
(ステップ1603)
上記ステップ13054と同一の手順により、VM接続論理ネットワークが割り当てられているすべての物理スイッチ(以下、論理ネットワーク割当済スイッチ群1653)を抽出する。
(Step 1603)
All physical switches to which the VM connection logical network is assigned (hereinafter referred to as a logical network assigned switch group 1653) are extracted by the same procedure as in
(ステップ1604)
物理マシン候補と、論理ネットワーク割当済スイッチ群との間で、経由スイッチ数が最短となるスイッチ(以下、「最短到達スイッチ」という)及び最短到達スイッチまでの経由スイッチ数(以下、「最短到達スイッチ数」という)を求める。
(Step 1604)
Between the physical machine candidate and the logical network assigned switch group, the switch having the shortest number of transit switches (hereinafter referred to as “shortest reach switch”) and the number of transit switches to the shortest reach switch (hereinafter “shortest reach switch”) Number)).
これは、論理ネットワーク割当済スイッチ群中のそれぞれのスイッチと物理マシン候補との間の経由スイッチ数を、それぞれダイクストラ法(最短経路問題のアルゴリズムの一種)などによって計算することによって求められる。 This can be obtained by calculating the number of relay switches between each switch in the logical network assigned switch group and the physical machine candidate by the Dijkstra method (a kind of algorithm for the shortest path problem).
(ステップ1605)
割当済論理ネットワーク1652の接続の形態(1:1、1:N、N:M、N:N)の別により、システム内の通信に使われる物理スイッチ数をステップ16051~ステップ16052の指標で評価する。
(Step 1605)
The number of physical switches used for communication in the system is evaluated using the indicators of
(ステップ16051)
1:1、N:Nの場合、論理ネットワーク割当済スイッチ群に含まれるスイッチの数を評価値(X)とする。本ステップにより、対等な通信関係にある複数のサーバが極力同一のネットワークスイッチ配下に配置されることになり、システム全体のネットワークトラフィックが削減される。
(Step 16051)
In the case of 1: 1 and N: N, the number of switches included in the logical network assigned switch group is set as the evaluation value (X). By this step, a plurality of servers having an equal communication relationship are arranged under the same network switch as much as possible, and the network traffic of the entire system is reduced.
(ステップ16052)
N:1、N:Mの場合、最短到達スイッチ数を評価値(X)とする。本ステップにより、既存の負荷分散クラスタからの距離が遠くない物理マシンが選択される。
(Step 16052)
In the case of N: 1 and N: M, the number of the shortest reaching switches is set as the evaluation value (X). This step selects a physical machine that is not far from the existing load balancing cluster.
(ステップ1606)
割当済論理ネットワークに対して評価された評価値(X)の総和を取り、物理マシン候補の評価値とする 。
(ステップ1607)
評価値が最も小さい物理マシン候補をVMの配置先として選択する
(ステップ1608)
VM接続論理ネットワーク群Bに対して、最短到達スイッチからVMの配置先物理マシンまでの経由スイッチをすべて対応付け、論理NW-物理NW対応付け表133に対応付けを追記して記録する。その際、追加VMが論理ネットワークと接続している端子を、物理スイッチとVM配置先物理マシンが接続しているポートと対応付け、論理NW-物理NW対応付け表133を更新する。
(Step 1606)
The sum of the evaluation values (X) evaluated for the assigned logical network is taken as the evaluation value of the physical machine candidate.
(Step 1607)
The physical machine candidate with the smallest evaluation value is selected as the VM placement destination.
(Step 1608)
All the transit switches from the shortest arrival switch to the VM placement destination physical machine are associated with the VM connection logical network group B, and the association is additionally recorded in the logical NW-physical NW association table 133 and recorded. At this time, the terminal where the additional VM is connected to the logical network is associated with the port where the physical switch and the VM placement destination physical machine are connected, and the logical NW-physical NW correspondence table 133 is updated.
(V-7)ネットワークリソース利用の競合確率が低い物理マシンの選択
次に、図17を用いてネットワークリソース利用の競合確率が低い物理マシンを選択する処理について説明する。図17は、ネットワークリソース利用の競合確率が低い物理マシンを選択する処理を示すフローチャートである。
(V-7) Selection of Physical Machine with Low Network Resource Use Contention Probability Next, processing for selecting a physical machine with low network resource use contention probability will be described with reference to FIG. FIG. 17 is a flowchart illustrating a process of selecting a physical machine having a low competition probability for using network resources.
図17のフローチャートに示される処理では、図15のステップ1505の処理において、追加VMに関係する論理ネットワークの中で、すでに物理スイッチに割り当てられているもの(割当済ネットワーク群)が存在しない場合に、割当済論理ネットワークから離れていてネットワークリソース利用の競合確率が低い物理マシンを選択する処理である。
(ステップ1701a、1701b)
ステップ1501で取得したVM接続論理ネットワーク群A中の各論理ネットワークに対してステップ1702~1704を実行する。
In the process shown in the flowchart of FIG. 17, in the process of
(
(ステップ1702)
論理NW-物理NW対応付け表133を参照し、論理ネットワークが一つも割当たっていない未割当スイッチ群と、一つ以上の論理ネットワークが割り当てられている割当済スイッチ群を抽出する。
(Step 1702)
With reference to the logical NW-physical NW correspondence table 133, an unassigned switch group to which no logical network is assigned and an assigned switch group to which one or more logical networks are assigned are extracted.
未割当スイッチ群が存在する場合はステップ1703a-1703bの方法により、存在しない場合はステップ1704a-1704bの方法により、他の論理ネットワークとの干渉の可能性が低い物理スイッチ及び物理マシンを選択する。
If there is an unassigned switch group, a physical switch and a physical machine with a low possibility of interference with other logical networks are selected by the method of
(ステップ1703a、1703b)
未割当スイッチ群中のすべてのスイッチ(以下、「スイッチ候補」という)に対してそれぞれステップ17031~17033の指標に基づきスイッチを評価し、スイッチと物理マシンを一つ選択する。
(
For all switches in the unassigned switch group (hereinafter referred to as “switch candidates”), the switches are evaluated based on the indices of
(ステップ17031)
上記ステップ1604と同等の方法により、スイッチ候補と、割当済スイッチ群との間で、経由スイッチ数が最短となる物理スイッチ(以下、「最短到達スイッチ」という)及び最短到達スイッチまでの経由スイッチ数(以下、「最短到達スイッチ数」という)を求める。
(Step 17031)
Using the same method as
(ステップ17032)
最短スイッチ数をスイッチ候補の評価値とし、評価値が最も大きいものから順に選択する(以下、「選択スイッチ」という)。
(Step 17032)
The shortest number of switches is set as the evaluation value of the switch candidate, and the selection is performed in order from the largest evaluation value (hereinafter referred to as “selection switch”).
(ステップ17033)
図8A、図8Bで示したクラウド基盤物理構成グラフ情報133を参照し、選択スイッチが、上記ステップ1303で選択された空き物理マシン群のいずれかの物理マシンと直接接続しているか否かを確認する。もし、直接接続する物理マシンが一つ以上ある場合は、その中の一つの物理マシンを選択し、ステップ1705に進む。
もし、該当する物理マシンが存在しない場合は、ステップ17032に戻り、次の物理スイッチを選択する。
(ステップ1704a、1704b)
論理ネットワークに割当てられたスイッチ中のすべての物理スイッチについて、ステップ17041、17042の指標に基づきスイッチを評価し、物理スイッチ及び物理マシンを選択する。
(Step 17033)
With reference to the cloud-based physical configuration graph information 133 shown in FIGS. 8A and 8B, it is confirmed whether or not the selection switch is directly connected to any physical machine in the free physical machine group selected in
If the corresponding physical machine does not exist, the process returns to step 17032 to select the next physical switch.
(
For all the physical switches among the switches assigned to the logical network, the switches are evaluated based on the indicators of
(ステップ17041)
論理ネットワークの帯域を計算し、その物理スイッチの最大性能までの残り帯域を計算し、物理スイッチの評価値とし、評価値が最も大きいものから順に選択する(以下、「選択スイッチ」という)。
(Step 17041)
The bandwidth of the logical network is calculated, the remaining bandwidth up to the maximum performance of the physical switch is calculated, and the evaluation value of the physical switch is selected in order from the largest evaluation value (hereinafter referred to as “selection switch”).
(ステップ17042)
図8A、図8Bで示したクラウド基盤物理構成グラフ情報133を参照し、選択スイッチが、上記ステップ1303で選択された空き物理マシン群のいずれかの物理マシンと直接接続しているか否かを確認する。もし、直接接続する物理マシンが一つ以上ある場合は、その中の一つの物理マシンを選択し、ステップ1705に進む。
(Step 17042)
With reference to the cloud-based physical configuration graph information 133 shown in FIGS. 8A and 8B, it is confirmed whether or not the selection switch is directly connected to any physical machine in the free physical machine group selected in
もし、該当する物理マシンが存在しない場合は、ステップ17032に戻り、次の物理スイッチを選択する。
(ステップ1705)
上記処理(ステップ1703a-1703b OR ステップ1704a-1704b)により各論理ネットワーク(ステップ1701a-1701bでのVM接続論理ネットワーク群A中の各論理ネットワーク)に対して、一つずつ物理マシン及び物理スイッチが選択される。この中から、任意の方法により物理マシンを一つ選択する。
(ステップ1706)
VM接続論理ネットワーク群に対して、VMの配置先物理マシンと接続している物理スイッチを対応付け、論理NW-物理NW対応付け表133に対応付けを追記して記録する。 その際、追加VMが論理ネットワークと接続している端子を、物理スイッチとVM配置先物理マシンが接続しているポートと対応付け、論理NW-物理NW対応付け表133を更新する。
(VI)本実施形態の論理ネットワークの形態によるVMプロビジョニングの特徴について
本実施形態によると,業務システムに追加でVMを配置する必要がある場合にCPU、メモリの利用量に加え、業務システム内のVM間の通信帯域、及び、通信特性(1:1通信、N:1通信、N:M通信、N:N通信)を考慮してVMを配置する。
If the corresponding physical machine does not exist, the process returns to step 17032 to select the next physical switch.
(Step 1705)
One physical machine and one physical switch are selected for each logical network (each logical network in the VM connection logical network group A in
(Step 1706)
A physical switch connected to the VM placement destination physical machine is associated with the VM connection logical network group, and the association is added to the logical NW-physical NW association table 133 and recorded. At this time, the terminal where the additional VM is connected to the logical network is associated with the port where the physical switch and the VM placement destination physical machine are connected, and the logical NW-physical NW correspondence table 133 is updated.
(VI) Features of VM provisioning according to the form of the logical network of this embodiment According to this embodiment, when it is necessary to additionally arrange a VM in the business system, in addition to the usage amount of the CPU and memory, The VM is arranged in consideration of the communication band between the VMs and communication characteristics (1: 1 communication, N: 1 communication, N: M communication, N: N communication).
VMと通信する関係にある他のVMが既に物理マシン上に配置されている場合、VMを配置することにより影響を受ける物理スイッチの帯域を再計算して必要帯域を確認してVMを配置するとともに、通信特性ごとのルールに従い、ネットワーク経路上の距離、及び利用されるネットワーク機器数が少なくなるように配置する。利用されるネットワーク機器を少なくすることにより、スイッチ間を横断するトラフィックの総量が削減され、ネットワーク帯域が干渉する可能性を低減する。 If another VM that is in communication with the VM has already been placed on the physical machine, reallocate the bandwidth of the physical switch affected by placing the VM, check the necessary bandwidth, and place the VM At the same time, according to the rules for each communication characteristic, the distance on the network path and the number of network devices to be used are reduced. By reducing the number of network equipment used, the total amount of traffic that traverses between switches is reduced, reducing the possibility of network band interference.
VMと通信関係にあるVMが一つも物理マシン上に配置されていない場合、他のシステムからのネットワーク経路上の距離が大きくなるようVMを配置し、ネットワーク帯域が干渉する可能性を低減する。 When no VM in communication relationship with the VM is arranged on the physical machine, the VM is arranged so that the distance on the network path from other systems is increased, and the possibility that the network band interferes is reduced.
また、本実施形態によれば、1:1通信は通信が局所的であるため、極力同一の物理マシン、あるいはネットワーク経路上の距離が近い物理マシンに配置する。N:N通信は対称性のあるクラスタ内の通信であり、送信元、送信先の区別を明に行わないため、通信帯域を満たす範囲内でクラスタ全体の利用スイッチの数が少なくなるよう配置することで利用スイッチが少なくなる。N:1、N:M通信では通信に非対称性がある(例えば、サーバークライアント通信など)ため特定のVMに負荷が集中する場合があり、合計利用スイッチ数を少なくする方法ではネットワーク帯域が不足する場合がある。したがって、例に挙げたサーバークライアント通信では、サーバ側とクライアント側のVM群のネットワーク上の距離を小さく抑えることにより、ネットワークレイテンシ低下を避け、なおかつ、システム全体のトラフィック増加を避けることができるようになる。 Also, according to the present embodiment, since 1: 1 communication is local, communication is arranged on the same physical machine as much as possible or on a physical machine with a short distance on the network path. N: N communication is a symmetric intra-cluster communication and does not clearly distinguish between the transmission source and the transmission destination. Therefore, the N: N communication is arranged so that the number of switches used in the entire cluster is reduced within the range satisfying the communication band. This reduces the number of switches used. In N: 1 and N: M communication, communication is asymmetric (for example, server-client communication), so the load may be concentrated on a specific VM, and the method of reducing the total number of switches used will result in insufficient network bandwidth. There is a case. Therefore, in the server-client communication given as an example, by suppressing the distance between the server-side and client-side VMs on the network, it is possible to avoid a decrease in network latency and to avoid an increase in traffic of the entire system. Become.
また、上記の通信特性は、業務システム上に配置されるソフトウェア(ミドルウェアなど)の情報、及びソフトウェア間の通信関係などの構成情報、及び構成要素間のトポロジー情報などから制約条件として導出することができる。本発明に於いては、そのような構成情報、及び構成情報内のトポロジー情報から制約条件を配置してVMの配置先を演繹し、VM配置の制約条件を生成することができる。 In addition, the communication characteristics described above can be derived as constraints from information on software (middleware, etc.) arranged on a business system, configuration information such as communication relationships between software, topology information between components, and the like. it can. In the present invention, a constraint condition can be arranged from such configuration information and topology information in the configuration information, and a VM placement destination can be deduced to generate a VM arrangement constraint condition.
10…デプロイ管理部
11…仮想マシン配置管理部
15…論理構成 テンプレート
101…論理構成テンプレート受付部
102…VM間通信関係グラフ作成部
103…リソース要求送信部
111…リソース要求受付部
113…配置先物理ネットワーク選択部
114…配置先物理マシン選択部
115…仮想マシン-物理マシン対応付け管理部
121…論理構成テンプレート管理表
122…ミドルウェア別通信量算出式定義表
131…クラウド基盤物理構成グラフ情報
132…仮想マシン-物理マシン対応付け表
133…論理ネットワーク-物理ネットワーク対応付け表
141…VM間通信関係グラフ情報
10 ... Deployment Management Department
11 ... Virtual machine
102 ... Inter-VM communication relation graph creation unit
103 ... Resource request transmission unit
111 ... Resource request reception part
113: Placement physical network selection unit
114: Placement physical machine selection unit
115... Virtual machine-physical machine association management unit
121 ... Logical configuration template management table
122 ... Communication amount calculation formula definition table by middleware
131 ... Cloud-based physical configuration graph information
132 ... Virtual machine-physical machine correspondence table 133 ... Logical network-physical network correspondence table
141 ... Inter-VM communication relation graph information
Claims (9)
構築するシステムの論理情報を保持するデプロイ管理部と、
構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを保持し、前記デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備え、
前記デプロイ管理部は、
仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、
構築するシステムの情報と、前記論理構成テンプレートを保持する論理構成テンプレート管理表と、
前記論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、
前記仮想マシン配置管理部は、
ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、
仮想マシンと物理マシンを対応付ける仮想マシン-物理マシン対応付け表と、
論理ネットワークと物理ネットワークを対応付ける仮想マシン-物理マシン対応付け表とを有し、
前記デプロイ管理部は、前記論理構成テンプレートと、前記論理構成テンプレート管理表と、前記ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたVM間通信関係グラフ情報を生成して、前記デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求し、
前記仮想マシン配置管理部は、前記物理構成グラフ情報と、前記仮想マシン-物理マシン対応付け表と、前記仮想マシン-物理マシン対応付け表と、前記VM間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行うことを特徴とするVM配置管理システム。 A VM placement management system that uses a computer to provision a virtual machine (VM) system to one or more physical machines connected by a network,
A deployment manager that holds the logical information of the system to be built,
A virtual machine placement management unit that holds physical information of a system to be constructed and relationship information between a virtual machine and a physical machine, and provisions a virtual machine to a physical machine in response to a request from the deployment management unit;
The deployment management unit
A logical configuration template that associates virtual machine information with software running on it,
Information on the system to be constructed, a logical configuration template management table that holds the logical configuration template, and
A communication amount calculation definition table for each middleware that defines the relationship between the communication source and the communication destination of the software in the logical configuration template and the bandwidth information at the time of communication;
The virtual machine arrangement management unit
Physical configuration graph information that defines the physical switch that configures the network, the connection structure of the physical machines placed on the network, and the bandwidth information in the network;
A virtual machine-physical machine mapping table for associating virtual machines with physical machines,
A virtual machine-physical machine correspondence table for associating a logical network with a physical network;
Based on the logical configuration template, the logical configuration template management table, and the middleware traffic amount calculation definition table, the deployment management unit is configured to connect between VMs in which virtual machines are connected by a logical network. Generate communication relationship graph information, request provision to the physical machine of the virtual machine system from the deployment management unit,
The virtual machine arrangement management unit requests based on the physical configuration graph information, the virtual machine-physical machine correspondence table, the virtual machine-physical machine correspondence table, and the inter-VM communication relationship graph information. A VM placement management system characterized by provisioning a virtual machine system to a physical machine.
前記VM配置管理システムは、
構築するシステムの論理情報を保持するデプロイ管理部と、
構築するシステムの物理情報と、仮想マシンと物理マシンの関係情報とを保持し、前記デプロイ管理部からの要求を受けて仮想マシンを物理マシンにプロビジョニングする仮想マシン配置管理部とを備え、
前記デプロイ管理部は、
仮想マシンの情報と、その上で稼動するソフトウェアの情報を関連付けた論理構成テンプレートと、
構築するシステムの情報と、前記論理構成テンプレートを保持する論理構成テンプレート管理表と、
前記論理構成テンプレートの中のソフトウェアの通信元と通信先の関係と、その通信時の帯域情報を定義するミドルウェア別通信量算出定義表とを有し、
前記仮想マシン配置管理部は、
ネットワークを構築する物理スイッチと、ネットワーク上に配置する物理マシンの接続構造と、ネットワークにおける帯域情報を定義した物理構成グラフ情報と、
仮想マシンと物理マシンを対応付ける仮想マシン-物理マシン対応付け表と、
論理ネットワークと物理ネットワークを対応付ける仮想マシン-物理マシン対応付け表とを保持し、
前記デプロイ管理部が、前記論理構成テンプレートと、前記論理構成テンプレート管理表と、前記ミドルウェア別通信量算出定義表に基づいて、構築するシステムに対して、仮想マシンが論理ネットワークにより接続されたVM間通信関係グラフ情報を生成して、前記デプロイ管理部に仮想マシンシステムの物理マシンへのプロビジョニングを要求するステップと、
前記仮想マシン配置管理部が、前記物理構成グラフ情報と、前記仮想マシン-物理マシン対応付け表と、前記仮想マシン-物理マシン対応付け表と、前記VM間通信関係グラフ情報とに基づいて、要求された仮想マシンシステムの物理マシンへのプロビジョニングを行うステップとを有することを特徴とするVM配置管理方法。 A VM placement management system VM placement management system method for provisioning a virtual machine (VM) system to one or more physical machines connected by a network by a computer,
The VM placement management system includes:
A deployment manager that holds the logical information of the system to be built,
A virtual machine placement management unit that holds physical information of a system to be constructed and relationship information between a virtual machine and a physical machine, and provisions a virtual machine to a physical machine in response to a request from the deployment management unit;
The deployment management unit
A logical configuration template that associates virtual machine information with software running on it,
Information on the system to be constructed, a logical configuration template management table that holds the logical configuration template, and
A communication amount calculation definition table for each middleware that defines the relationship between the communication source and the communication destination of the software in the logical configuration template and the bandwidth information at the time of communication;
The virtual machine arrangement management unit
Physical configuration graph information that defines the physical switch that configures the network, the connection structure of the physical machines placed on the network, and the bandwidth information in the network;
A virtual machine-physical machine mapping table for associating virtual machines with physical machines,
Holds a virtual machine-physical machine mapping table that associates a logical network with a physical network,
Based on the logical configuration template, the logical configuration template management table, and the communication amount calculation definition table for each middleware, the deployment management unit is configured between VMs in which virtual machines are connected by a logical network. Generating communication relationship graph information and requesting the deployment management unit to provision a physical machine of a virtual machine system;
The virtual machine arrangement management unit makes a request based on the physical configuration graph information, the virtual machine-physical machine correspondence table, the virtual machine-physical machine correspondence table, and the inter-VM communication relationship graph information. Provisioning to a physical machine of the virtual machine system that has been performed.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2015/077761 WO2017056238A1 (en) | 2015-09-30 | 2015-09-30 | Vm assignment management system and vm assignment management method |
| JP2017514727A JP6220482B2 (en) | 2015-09-30 | 2015-09-30 | VM placement management system and VM placement management method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2015/077761 WO2017056238A1 (en) | 2015-09-30 | 2015-09-30 | Vm assignment management system and vm assignment management method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017056238A1 true WO2017056238A1 (en) | 2017-04-06 |
Family
ID=58422957
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2015/077761 Ceased WO2017056238A1 (en) | 2015-09-30 | 2015-09-30 | Vm assignment management system and vm assignment management method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6220482B2 (en) |
| WO (1) | WO2017056238A1 (en) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110177125A (en) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | A kind of middleware platform moving method and system |
| WO2019167421A1 (en) * | 2018-03-01 | 2019-09-06 | 株式会社日立製作所 | Simulator, simulation device, and simulation method |
| JP2019191894A (en) * | 2018-04-24 | 2019-10-31 | 株式会社日立製作所 | Data store system and data store management method |
| EP3671454A1 (en) * | 2018-12-21 | 2020-06-24 | Bull SAS | Method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| EP3671456A1 (en) * | 2018-12-21 | 2020-06-24 | Bull SAS | Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| FR3091772A1 (en) * | 2018-12-21 | 2020-07-17 | Bull Sas | Method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| FR3091770A1 (en) * | 2018-12-21 | 2020-07-17 | Bull Sas | Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| EP3885905A1 (en) | 2020-03-25 | 2021-09-29 | Fujitsu Limited | Network configuration diagram generate method and network configuration diagram generate program |
| CN113703906A (en) * | 2020-05-20 | 2021-11-26 | 阿里巴巴集团控股有限公司 | Data processing method, device and system |
| JP2022041717A (en) * | 2020-09-01 | 2022-03-11 | キヤノン株式会社 | Information processing system and control method thereof |
| CN114844833A (en) * | 2022-03-30 | 2022-08-02 | 阿里云计算有限公司 | Message processing method and system, storage medium and computer terminal |
| CN115150892A (en) * | 2022-06-14 | 2022-10-04 | 燕山大学 | VM-PM repair strategy method in MEC wireless system with burst traffic |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110740053B (en) * | 2018-07-20 | 2022-07-01 | 中国移动通信集团浙江有限公司 | Service arranging method and device |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012501021A (en) * | 2008-08-25 | 2012-01-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | How to provision virtual resources using name resolution |
-
2015
- 2015-09-30 JP JP2017514727A patent/JP6220482B2/en not_active Expired - Fee Related
- 2015-09-30 WO PCT/JP2015/077761 patent/WO2017056238A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012501021A (en) * | 2008-08-25 | 2012-01-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | How to provision virtual resources using name resolution |
Cited By (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019167421A1 (en) * | 2018-03-01 | 2019-09-06 | 株式会社日立製作所 | Simulator, simulation device, and simulation method |
| JP2019153017A (en) * | 2018-03-01 | 2019-09-12 | 株式会社日立製作所 | Simulator, simulation device, and simulation method |
| JP7048402B2 (en) | 2018-04-24 | 2022-04-05 | 株式会社日立製作所 | Data store system and data store management method |
| JP2019191894A (en) * | 2018-04-24 | 2019-10-31 | 株式会社日立製作所 | Data store system and data store management method |
| CN110177125B (en) * | 2018-05-15 | 2021-08-31 | 广东电网有限责任公司 | A Middleware Platform Migration Method |
| CN110177125A (en) * | 2018-05-15 | 2019-08-27 | 广东电网有限责任公司 | A kind of middleware platform moving method and system |
| EP3671454A1 (en) * | 2018-12-21 | 2020-06-24 | Bull SAS | Method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| EP3671456A1 (en) * | 2018-12-21 | 2020-06-24 | Bull SAS | Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| FR3091772A1 (en) * | 2018-12-21 | 2020-07-17 | Bull Sas | Method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| FR3091770A1 (en) * | 2018-12-21 | 2020-07-17 | Bull Sas | Method for deploying a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| US11334392B2 (en) | 2018-12-21 | 2022-05-17 | Bull Sas | Method for deployment of a task in a supercomputer, method for implementing a task in a supercomputer, corresponding computer program and supercomputer |
| US11327796B2 (en) | 2018-12-21 | 2022-05-10 | Bull Sas | Method for deploying a task in a supercomputer by searching switches for interconnecting nodes |
| US11374815B2 (en) | 2020-03-25 | 2022-06-28 | Fujitsu Limited | Network configuration diagram generate method and recording medium |
| EP3885905A1 (en) | 2020-03-25 | 2021-09-29 | Fujitsu Limited | Network configuration diagram generate method and network configuration diagram generate program |
| CN113703906A (en) * | 2020-05-20 | 2021-11-26 | 阿里巴巴集团控股有限公司 | Data processing method, device and system |
| JP2022041717A (en) * | 2020-09-01 | 2022-03-11 | キヤノン株式会社 | Information processing system and control method thereof |
| US12254336B2 (en) | 2020-09-01 | 2025-03-18 | Canon Kabushiki Kaisha | Information processing system and method of controlling information processing system |
| CN114844833A (en) * | 2022-03-30 | 2022-08-02 | 阿里云计算有限公司 | Message processing method and system, storage medium and computer terminal |
| CN115150892A (en) * | 2022-06-14 | 2022-10-04 | 燕山大学 | VM-PM repair strategy method in MEC wireless system with burst traffic |
| CN115150892B (en) * | 2022-06-14 | 2024-04-09 | 燕山大学 | VM-PM repair strategy method in MEC wireless system with bursty traffic |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6220482B2 (en) | 2017-10-25 |
| JPWO2017056238A1 (en) | 2017-10-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6220482B2 (en) | VM placement management system and VM placement management method | |
| JP7101319B2 (en) | Multi-cluster ingress | |
| Drutskoy et al. | Scalable network virtualization in software-defined networks | |
| KR101650832B1 (en) | Network resource monitoring | |
| RU2595540C2 (en) | Basic controllers for conversion of universal streams | |
| US9088503B2 (en) | Multi-tenant information processing system, management server, and configuration management method | |
| JP2025534241A (en) | Virtual Private Label Cloud Metadata Customization | |
| JP2014522036A (en) | Method and apparatus for allocating virtual resources in a cloud environment | |
| EP3392784B1 (en) | Method and system for managing resource objects | |
| US20140149493A1 (en) | Method for joint service placement and service routing in a distributed cloud | |
| CN108293022A (en) | Method, device and system for message transmission | |
| CN108989068B (en) | A kind of arrangement software defines the method and SDN controller of network | |
| CN106487695A (en) | A kind of data transmission method, virtual network managing device and data transmission system | |
| CN109547349A (en) | Flow managing method, device, terminal and storage medium based on virtual flow-line | |
| JP2016116184A (en) | Network monitoring device and virtual network management method | |
| JP6463461B2 (en) | Optimization framework for multi-tenant data centers | |
| WO2022198524A1 (en) | Service instance deployment method, and method and system for load balancing between nodes | |
| Javadpour et al. | Mapping and embedding infrastructure resource management in software defined networks | |
| CN110601994A (en) | Load balancing method for micro-service chain perception in cloud environment | |
| CN106161603A (en) | A kind of method of networking, equipment and framework | |
| WO2017139924A1 (en) | Optical path allocation method and apparatus | |
| CN115208770B (en) | Methods, devices and computer-readable media for implementing network planning | |
| KR20190001891A (en) | Apparatus for generating and providing cloud infra node for ICT service and method thereof | |
| CN107408058A (en) | A virtual resource deployment method, device and system | |
| Vilalta et al. | Experimental validation of resource allocation in transport network slicing using the ADRENALINE testbed |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ENP | Entry into the national phase |
Ref document number: 2017514727 Country of ref document: JP Kind code of ref document: A |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15905392 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15905392 Country of ref document: EP Kind code of ref document: A1 |