Virtual System Management System
The management system optimizes virtualization systems by monitoring and controlling virtualization package distribution and consolidation based on power values, reducing power consumption and maintaining efficient power conversion.
Patent Information
- Application Number
- JP2023217812
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2043-12-25
AI Technical Summary
Existing IT systems using virtualization technology face unnecessary power loss due to power conversion in power supply equipment, and relocation of virtual machines does not consider power consumption effectively.
A management system that manages virtualization systems by monitoring and controlling the distribution and consolidation of virtualization packages based on the output power values and threshold values of physical servers, optimizing power consumption and performance.
The system reduces power consumption and maintains desirable power conversion efficiency by strategically relocating virtualization packages, thereby minimizing power loss and CO2 emissions.
Smart Images

Figure 0007772767000001 
Figure 0007772767000002 
Figure 0007772767000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a management system for a virtual system. [Background technology]
[0002] Japanese Patent Application Laid-Open Publication No. 2016-110240 (Patent Document 1) is a background technology in this technical field. Patent Document 1 achieves power control by the following virtual machine relocation. The physical server to which a virtual machine that needs to be relocated is determined in response to load fluctuations and changes in the power status. For example, when the load on a physical server falls outside a predetermined range (between the lower load threshold and the upper load threshold), the virtual machines deployed on the physical server that falls outside the range are relocated to other physical servers. In addition, control is performed to increase the number of servers in the spare off state. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2016-110240 Summary of the Invention [Problem to be solved by the invention]
[0004] IT systems using virtualization technology are mainstream in the IT industry, and it is important to operate them in a way that reduces power consumption without reducing the processing capacity of the server equipment. In this case, power conversion in the power supply equipment within the server equipment can cause power loss, resulting in excess power consumption. However, Patent Document 1 does not take into account the power loss caused by power conversion in the power supply equipment, resulting in unnecessary power loss. Furthermore, while relocation is performed based on the load status of virtual machines, the relocation does not take into account power consumption. [Means for solving the problem]
[0005] One aspect of the present invention is a management system for managing a virtualization system, comprising a processor and a storage device, wherein the storage device stores server management information for managing a plurality of physical servers and virtualization package management information for managing a plurality of virtualization packages that are installed on the plurality of physical servers and provide an isolated user environment, the server management information indicating the current output power value of each of the plurality of physical servers and a threshold value for the output power value of each of the plurality of physical servers, and the virtualization package management information indicating the physical server on which each of the plurality of virtualization packages is installed, the processor selects a control target server from the plurality of physical servers, obtains information on the output power value and threshold value of the control target server from the server management information, and determines whether or not it is necessary to distribute the virtualization package of the control target server to another physical server or to consolidate the virtualization package from the other physical server to the control target server based on the output power value and threshold value of the control target server, and if it is determined that the virtualization package needs to be distributed or consolidated, the processor refers to the virtualization package management information to select a virtualization package to be moved. [Effects of the Invention]
[0006] One aspect of the present invention is to configure a virtualization system more appropriately. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram for explaining an overview of an embodiment of the present specification. [Figure 2] 10 is a graph showing an example of the relationship between the output power and power supply efficiency of a power supply device of a physical server. [Figure 3] 1 shows an example of the configuration of a management server. [Figure 4] 10 shows an example of the configuration of a server management table. [Figure 5] An example of the configuration of a container management table is shown below. [Figure 6] 10 shows an example of the configuration of a portion of a destination power transition management table. [Figure 7] 10 shows an example of the configuration of a source power transition management table. [Figure 8] 10 shows an example of a flowchart of a management and control process of a virtual system by a management server, focusing on power conversion efficiency. [Figure 9] 10 shows a flowchart of a threshold determination process. [Figure 10A] 10 shows a flowchart of a load aggregation process. [Figure 10B] 10 shows a flowchart of a load aggregation process. [Figure 11A] 1 shows a flowchart of a load balancing process. [Figure 11B] 1 shows a flowchart of a load balancing process. [Figure 12] 10 shows a flowchart of a load balancing process of a destination server. DETAILED DESCRIPTION OF THE INVENTION
[0008] In the following, when necessary for convenience, the description will be divided into multiple sections or examples, but unless otherwise specified, they are not unrelated to each other, and one is related to the other as a partial or complete modification, detail, supplementary explanation, etc. Furthermore, in the following, when the number of elements, etc. (including the number, numerical value, amount, range, etc.) is mentioned, it is not limited to that specific number, and may be more or less than the specific number, unless otherwise specified or when it is clearly limited in principle to a specific number, etc.
[0009] A computer system can be composed of one computer or multiple computers that can communicate with each other. A computer device, computer system, or group of computing resources includes one or more interface devices (including, for example, communication devices and input / output devices), one or more storage devices (including, for example, memory (main memory) and auxiliary storage devices), and one or more processors.
[0010] When a function is realized by executing a program by a processor, the defined processing is performed using a storage device and / or an interface device, etc., so the function may be considered to be at least a part of the processor. Processing described using a function as the subject may also be processing performed by a processor or a system having that processor.
[0011] The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable storage medium (e.g., a computer-readable non-transitory storage medium). The description of each function is an example, and multiple functions may be combined into one function or one function may be divided into multiple functions.
[0012] FIG. 1 is a diagram for explaining an overview of one embodiment of this specification. When operating containers or virtual machines on multiple servers, the management server 10 reduces power consumption by moving containers or virtual machines according to the load situation. In addition, by focusing on the power conversion efficiency of the power supply unit, desirable conversion efficiency can be maintained, and operation can be achieved with reduced power loss due to power conversion. Reducing power consumption can reduce CO2 emissions.
[0013] In the example of Fig. 1, a management server 10 manages and controls a virtual system of multiple physical servers (also simply referred to as servers). Fig. 1 shows three managed servers 20A, 20B, and 20C as an example. The management server 10 and the managed servers 20A, 20B, and 20C are connected to each other so that they can communicate with each other via a network. These servers can be applied to an on-premise environment, a public cloud environment, and a hybrid cloud environment that combines on-premise and public cloud.
[0014] Each of the servers 20A, 20B, and 20C includes a power supply device 200, physical resources 220, an operating system (OS) 230, and a container management system 240. In Fig. 1, these elements of the server 20A are given reference numerals as an example. The following description will be given using the server 20A as an example.
[0015] The power supply device 200 supplies the necessary power to each physical component of the server 20A. The physical resources 220 include, for example, a processor, memory, auxiliary storage device, network, etc. The server 20A runs a container management system 240 on an operating system 230.
[0016] The container management system 240 virtualizes the physical resources 220. Virtualization represents a single system resource, such as memory, CPU, auxiliary storage device, or network, as multiple resources. Specifically, the container management system 240 divides each component (e.g., processor core) and usage time and allocates them to one or more containers.
[0017] A container is a virtualized software package that provides an isolated application execution environment. Another example of such an isolated user environment virtualized software package (virtualized package or virtualized resource) is a virtual machine. As described above, a virtualized software package has virtual resources, such as processors and memory, to which physical resources are allocated from physical resources 220. Examples of containers are described below.
[0018] The management server 10 manages and controls the movement of containers between servers. In Fig. 1, before the container movement, server 20A is running container 250A, server 20B is running container 250B, and server 20C is running containers 250C and 250D.
[0019] Management server 10 determines, in accordance with predetermined conditions, to move container 250C from server 20C to server 20A, and further determines to move container 250D from server 20C to server 20B. Management server 10 moves container 250C from server 20C to server 20A, and moves container 250D from server 20C to server 20B. Then, it shuts off the power to server 20C, which no longer has any containers to run.
[0020] Based on the specifications of the power supply device 200, the user can set, for example, an output power range with high power conversion efficiency as threshold A in the management server 10. FIG. 2 is a graph showing an example of the relationship between the output power and power supply efficiency of the power supply device 200 of a physical server. The horizontal axis represents the output power, and the vertical axis represents the power supply efficiency. The input voltage is 200V. As shown in FIG. 2, the power supply efficiency varies depending on the output power. In the example shown in FIG. 2, higher power supply efficiency is exhibited in output power range 210.
[0021] The user selects a desired output power range for each physical server, for example, a range that indicates higher power efficiency, and sets this in the management server 10. The management server 10 selects a server that will run a container based on the set output power range. This allows the output power of each server to approach the desired range.
[0022] The user may further set one or more thresholds for the physical resources of each server to ensure the performance of each container. For example, a threshold B and a threshold C can be set for the CPU and memory usage of a physical server, respectively. The CPU usage and memory usage are values that indicate the usage status of physical resources. The management server 10 holds management information for managing the physical servers and containers, and manages and references this management information to monitor the output power and CPU and memory usage of each server, as well as the (allocated) CPU and memory usage of each container.
[0023] For example, if the power output, CPU usage rate, and memory usage rate of a certain server do not reach thresholds A, B, and C, respectively, the management server 10 consolidates containers from other servers to that server. At this time, the management server 10 may record the CPU and memory usage rates of the moved containers and changes in the output power of the source and destination servers in the management information and use this information to determine future container movements. This enables more appropriate container movements.
[0024] The management server 10 may give priority to selecting a specific physical server as the source of the container, and may shut off the power to the server where the container is no longer present due to the container movement. By giving priority to a specific server, the probability of a server being absent from a container can be increased, and the power consumption of the system can be effectively reduced.
[0025] On the other hand, if one or more of the output power, CPU usage rate, and memory usage rate of a certain server exceed the corresponding threshold (including the range), the management server 10 moves one or more containers from that server to another server.
[0026] The management server 10 references the management information to estimate the output power, CPU usage rate, and memory usage rate when a container is moved to a candidate destination server. If the estimated result satisfies the threshold condition, the candidate destination server is selected as the destination. This enables more appropriate container placement from the perspective of power consumption and performance. If a destination cannot be found among the powered-on servers and there is a powered-off server, the management server 10 powers on the server and moves the container to that server. This enables more appropriate container placement throughout the system.
[0027] The following describes in more detail how the management server 10 manages and controls a virtualization system including multiple physical servers. Fig. 3 shows an example of the configuration of the management server 10. The management server 10 includes a processor 11, a memory (main storage device) 12, an auxiliary storage device 13, and a communication interface 15 for communicating with other computer nodes via a network. These components communicate via a bus.
[0028] The processor 11 is, for example, a CPU and may include one or more cores. The memory 12 is, for example, a DRAM, which is a volatile storage device, and the auxiliary storage device 13 is, for example, a solid state drive (SSD) or hard disk drive (HDD), which are nonvolatile storage devices. The number of each component of the management server 10 is not particularly limited, and other components, such as an input device and an output device, may also be included. Examples of input devices include a keyboard and a mouse, and examples of output devices include a display device and a printer.
[0029] The programs (instruction codes) executed by the processor 11 and information used by the programs are stored, for example, in the auxiliary storage device 13 and loaded into the memory 12. The processor 11 realizes predetermined functions by executing the programs stored in the memory 12 (by operating according to the instructions in the programs). The processor 11 may include one or more processor units or processor cores. Other computer nodes may also include the above components. The number of these components is not particularly limited.
[0030] 3, the memory 12 stores a plurality of programs executed by the processor 11. These programs include a power supply monitoring unit 121, a resource monitoring unit 122, and a container relocation execution unit 123. The auxiliary storage device 13 stores management information for managing servers and containers. The management information includes a server management table 410, a container management table 430, a destination power transition management table 450, and a source power transition management table 470.
[0031] 4 shows an example of the configuration of the server management table 410. The server management table 410 manages information about the physical servers managed by the management server 10. The information in the server management table 410 is, for example, periodically acquired from the servers and updated.
[0032] The server management table 410 has a management number column 411, a managed server column 412, a power status column 413, an output power column 414, a threshold A column 415, a CPU utilization rate column 416, a threshold B column 417, a memory (Mem) column 418, and a threshold C column 419.
[0033] The management number column 411 shows the management number assigned to each managed server. Different servers are assigned different management numbers. The managed server column 412 shows the name that uniquely identifies the managed server. The power status column 413 shows the power status of each server, specifically, whether it is ON or OFF. The output power column 414 shows the current output power of the power supply unit of each server. The threshold A column 415 shows a preset range for output power.
[0034] The CPU usage rate column 416 indicates the current CPU usage rate of the server. The threshold B column 417 indicates a preset threshold for the CPU usage rate of the server. The memory (Mem) usage rate column 418 indicates the current memory usage rate of the server. The threshold C column 419 indicates a preset threshold for the memory usage rate of the server. Thresholds A, B, and C each indicate a specified range of the target. For example, threshold A specifies a desirable range for output power, and the range below threshold B and the range below threshold C specify desirable ranges from the perspective of processing performance.
[0035] 5 shows an example of the configuration of the container management table 430. The container management table 430 is virtualization package management information that manages containers, which are virtualization packages. The container management table 430 manages information about containers managed by the management server 10. The information in the container management table 430 is, for example, periodically obtained from the server and updated.
[0036] The container management table 430 has a management number column 431 , a managed container column 432 , a power status column 433 , a CPU usage rate column 434 , a memory (Mem) usage rate column 435 , and an installed server column 436 .
[0037] The management number column 431 indicates the management number assigned to each managed container. Different management numbers are assigned to different containers. The managed container column 432 indicates a name that uniquely identifies the managed container. The power status column 413 indicates the power status of the container, specifically, whether it is ON or OFF. The CPU usage column 434 indicates the current CPU usage of the container. The memory (Mem) usage column 435 indicates the current memory usage of the container. The installed server column 436 indicates the name of the physical server on which the container is currently installed (running).
[0038] 6 shows an example of the configuration of a portion of the destination power transition management table 450. The destination power transition management table 450 manages changes in output power at the destination server when a container is moved to the destination server. In this example, the destination power transition management table 450 stores the actual measured value of the output power change amount (difference) that accompanies the container movement.
[0039] The destination power transition management table 450 includes information on all managed servers from server A to server X as the destination of migration. Fig. 6 shows an example of information on server A as the destination of migration. Server A is the server with the smallest management number, and server X is the server with the largest management number.
[0040] The destination power transition management table 450 shows the change, or increase, in the output power of the destination server when each container running on each of the other servers is migrated to the destination server. In the example shown in FIG. 6, the destination server is Server A. Therefore, FIG. 6 shows the change in output power when each container from Container A to Container X is migrated from Server B to Server X to Server A. Container A is the container with the smallest management number, and Container X is the container with the largest management number. The number of managed servers and the number of managed containers may differ or match. The management number of Server X may match the management number of Container X, or they may be different.
[0041] 6, for example, section 451 indicates the amount of change in the output power of server A when a container running on server B is moved to server A. Section 451 includes information on each of containers A to X. Also, for example, section 455 within section 451 indicates information on the amount of change in the output power of server A when container A is moved from server B to server A.
[0042] As shown in Figure 6, the change in output power due to container movement depends on the CPU usage rate and memory usage rate of the container at the source server. Therefore, this example manages the amount of change in output power for each combination of the source server, the container to be moved, and the CPU usage rate and memory usage rate at the source of the container to be moved. Unmeasured cells store NULL values. Note that the initial value of a cell may be replaced with a NULL value and set to an estimated value.
[0043] 6, the CPU utilization rate and memory utilization rate are each divided into multiple ranges. Each cell in the destination power transition management table 450 indicates the amount of change in output power for each combination of the CPU utilization rate range and the memory utilization rate range. For example, cell 456 indicates that when container A on server B has a CPU utilization rate in the 30% range and a memory utilization rate in the 20% range, and container A is moved to server A, the output power of server A increases by 100 W.
[0044] As described above, the management server 10 records the change in the output power of the destination server when a container is moved from the source server to the destination server. At this time, the management server 10 records information about the source server together with the CPU utilization rate and memory utilization rate of the container to be moved. This information is referenced when determining the conditions for subsequent container movement. Note that one or both of the CPU utilization rate and memory utilization rate of the container may be omitted, and other resource utilization rates may be recorded. Information about the source server of the container may also be omitted.
[0045] 7 shows an example of the configuration of the source power transition management table 470. The source power transition management table 470 manages changes in output power at the source server when a container is moved from the source server. In this example, the source power transition management table 470 stores actual measured values of changes in output power that accompany container movement.
[0046] The source power transition management table 470 includes information on all managed servers from server A to server X as the source of the transfer. Fig. 7 shows an example of information on server A as the source of the transfer. The source power transition management table 470 indicates the change in output power of the source server, i.e., the amount of reduction, when each container running on the source server is transferred to the destination server.
[0047] In the example shown in Fig. 7, the source server is server A. Fig. 7 shows the change in output power when each container from container A to container X is moved from server A to another server. Container A is the container with the smallest management number, and container X is the container with the largest management number.
[0048] In FIG. 7, for example, section 471 shows the change in output power of server A when container A running on server A is moved to another server. As shown in FIG. 7, the change in output power due to container movement depends on the CPU usage rate and memory usage rate of the container on the source server. Therefore, this example manages the change in output power on the source server for each combination of CPU usage rate and memory usage rate of the container to be moved on the source server. Unmeasured cells store NULL values.
[0049] 7, the CPU utilization rate and memory utilization rate are each divided into multiple ranges. Each cell in the source power transition management table 470 indicates the amount of change in output power for each combination of the CPU utilization rate range and the memory utilization rate range. For example, cell 476 indicates that when container A's CPU utilization rate is in the 30% range and its memory utilization rate is in the 20% range, and container A is moved from server A, the output power of server A is reduced by 100 W.
[0050] As described above, the management server 10 records the change in the output power of the source server when a container is moved from the source server to the destination server. At this time, the management server 10 also records the CPU utilization rate and memory utilization rate of the container to be moved. This information is referenced in determining the conditions for subsequent container movement. Note that one or both of the container's CPU utilization rate and memory utilization rate may be omitted, and other resource utilization rates may be recorded instead.
[0051] An example of processing executed by the management server 10 will be described below. FIG. 8 shows a flowchart of management and control processing of a virtual system by the management server 10, focusing on power conversion efficiency. The management server 10 executes the processing shown in this flowchart, for example, periodically. The management server 10 sequentially selects control target servers from the physical servers and executes processing for relocating containers. When processing of the selected control target server is completed, the next physical server is selected as the control target server.
[0052] First, the container relocation execution unit 123 sets the server with the smallest management number from the server management table 410 as the "server to be controlled" (S11). Next, the container relocation execution unit 123 refers to the server management table 410 and determines whether this flow has been executed for the "servers to be controlled" with all management numbers (S12). If this flow has been executed for the servers with all server management numbers (S12: YES), the management server 10 ends this flow.
[0053] If the processing of this flow has not been executed for the control-target server with the current management number (S12: NO), the container rearrangement executing unit 123 determines whether the power of the control-target server is ON or OFF by referring to the server management table 410. If the power of the control-target server is OFF (S13: YES), the container rearrangement executing unit 123 refers to the server management table 410 and changes the control-target server to the server with the next management number (S14). Thereafter, the flow returns to step S12.
[0054] If the power supply of the control target server is ON (S13: NO), the container rearrangement executing unit 123 executes threshold determination processing (S15). Fig. 9 shows a flowchart of the threshold determination processing S15.
[0055] The power supply monitor 121 acquires information about the current output power of the power supply of the server to be controlled from the server to be controlled, and updates the server management table 410 (S151). Note that the power supply state and output power of each server are periodically acquired separately from this flow and registered in the server management table 410. This step may be omitted.
[0056] Next, the resource monitoring unit 122 acquires the CPU utilization rate and memory utilization rate of the control target server from the control target server and updates the server management table 410 (S152). Note that the CPU utilization rate and memory utilization rate of each server are periodically acquired separately from this flow and registered in the server management table 410. This step may be omitted.
[0057] Next, the container rearrangement executing unit 123 refers to the server management table 410 and determines whether the current output power of the control-target server exceeds threshold A (S153). If the current output power of the control-target server exceeds threshold A (S153: YES), the container rearrangement executing unit 123 sets an "excess determination" flag as the threshold determination result, and ends this flow (S154).
[0058] If the current output power of the controlled server does not exceed threshold A (S153: NO), that is, if the output power is within or less than threshold A, the container relocation execution unit 123 compares the CPU utilization rate and memory utilization rate of the controlled server with the corresponding threshold B and threshold C, respectively (S155).
[0059] If either the CPU usage rate or the memory usage rate exceeds the corresponding threshold B or threshold C (S155: YES), the container rearrangement execution unit 123 sets the “excess judgment” flag as the threshold judgment result and terminates this flow (S154).
[0060] If the CPU utilization rate is equal to or lower than threshold B and the memory utilization rate is equal to or lower than threshold C (S155: NO), the container rearrangement executing unit 123 determines whether the current output power of the control-target server is less than threshold A (S156).
[0061] If the output power is less than the threshold A (S156: YES), the container rearrangement executing unit 123 sets a "less than" flag as the threshold determination result and ends this flow (S157). If the output power is within the threshold A (S156: NO), the container rearrangement executing unit 123 sets a "end determination" flag as the threshold determination result and ends this flow (S158).
[0062] As mentioned above, if any one of the server's output power, CPU usage rate, and memory usage rate exceeds the threshold, the threshold judgment result will be "exceeding judgment." As will be described later, "exceeding judgment" indicates a high load state, which will trigger load balancing.
[0063] If the output power is within the threshold (range) and the CPU utilization rate and memory utilization rate are below the threshold, it is determined that the load on the target server is appropriate and that there is no need to change the container on which the target server is mounted.
[0064] If the output power is below the threshold and the CPU usage rate and memory usage rate are equal to or lower than the threshold, the threshold judgment result will be "judged to be below." As will be described later, "judged to be below" means that the target server is in a low load state, which triggers load consolidation.
[0065] 8, the container rearrangement executing unit 123 determines whether the threshold determination result of step S15 is "termination determination" (S16). If the threshold determination result is "termination determination" (S16: YES), the container rearrangement executing unit 123 refers to the server management table 410 and changes the control-target server to the server with the next management number (S17). Thereafter, the flow returns to step S12. If the output power is within the range of threshold A and the CPU utilization rate and memory utilization rate are equal to or lower than thresholds B and C, the control-target server is in an appropriate load state, and it is determined that control of the containers of the control-target server is unnecessary.
[0066] If the threshold judgment result is not "end judgment" (S16: NO), the container rearrangement execution unit 123 judges whether the threshold judgment result of step S15 is "exceed judgment" (S18). If the threshold judgment result is not "exceed judgment" (S18: NO), that is, if the threshold judgment result is "under judgment", the container rearrangement execution unit 123 executes load aggregation processing S21. "Under judgment" means that the control target server is in a low load state.
[0067] 10A and 10B show a flowchart of the load aggregation process S21. The load aggregation process is a process for moving (aggregating) containers from other servers to a server to be controlled. First, the container relocation execution unit 123 sets server X, which has the largest management number in the server management table 410, as the "server to be selected" (S211). In this flow, the server to be selected is a candidate from which the container will be moved.
[0068] Next, it is determined whether the management number of the server to be selected is the same as the management number of the current server to be controlled (S212). If the management numbers of the server to be selected and the server to be controlled are the same (S212: YES), this flow ends.
[0069] If the management numbers of the selection target server and the control target server are different (S212: NO), the container rearrangement executing unit 123 refers to the server management table 410 and determines whether the power of the selection target server is ON or OFF (S213). If the power of the selection target server is OFF (S213: YES), the container rearrangement executing unit 123 changes the selection target server to the server with the previous management number (S214). Thereafter, the flow returns to step S212.
[0070] If the power of the selection target server is ON (S213: NO), the container relocation execution unit 123 refers to the container management table 430 and sets the container with the smallest management number on the selection target server as the "selection target container" (S215). The selection target container is a candidate for container migration.
[0071] Next, the container rearrangement execution unit 123 determines whether the processing of this flow has been executed for all containers on the selection target server (S216). If the processing of this flow has been executed for all containers on the selection target server (S216: YES), the container rearrangement execution unit 123 changes the selection target server to the server with the previous management number (S217). Thereafter, the flow returns to step S212. In this way, the selection target server is selected from the physical servers excluding the physical servers that have been processed as the control target server. This prevents changes to the power and resource usage status of the processed server.
[0072] If the processing of this flow has not been executed for all containers on the selection target server, that is, if the processing of this flow has not been executed for the current selection target container (S216: NO), the container relocation execution unit 123 searches the destination power transition management table 450 for information on output power changes that match the current CPU usage rate and memory usage rate of the selection target container, where the control target server is the destination and the selection target server is the source (S218). The CPU usage rate and memory usage rate of the selection target container can be obtained from the container management table 430.
[0073] If matching information exists (S218: YES), the container rearrangement executing unit 123 determines whether the predicted value of the output power of the control-target server will exceed threshold A after moving the selection-target container from the selection-target server to the control-target server (S219). That is, the container rearrangement executing unit 123 obtains the output power change amount that matches the condition from the destination power transition management table 450, and adds that value to the current output power of the control-target server. The container rearrangement executing unit 123 compares the obtained value with threshold A indicated by the server management table 410.
[0074] If the predicted output power of the server to be controlled after the selected container is moved exceeds the threshold (S219: YES), the container rearrangement execution unit 123 changes the selected container to the container with the next management number without moving the selected container (S220). Then, the flow returns to step S216.
[0075] If the predicted output power of the control target server after the selection target container is moved does not exceed the threshold (S219: NO), the flow proceeds to step S221. Also, if there is no matching information in step S218 (S218: NO), the flow proceeds to step S221.
[0076] 10B, the container rearrangement execution unit 123 moves the selection target container from the selection target server to the control target server and updates the container management table 430 (S221). Furthermore, the container rearrangement execution unit 123 acquires the output power values of the power supplies from each of the control target server and the selection target server, and calculates the difference in output power before and after the selection target container is moved (S222). The container rearrangement execution unit 123 stores the difference in output power of the control target server in the destination power transition management table 450, and stores the difference in output power of the selection target server in the source power transition management table 470 (S223).
[0077] Next, the container relocation executing unit 123 executes a threshold determination process for the control target server (S224). The threshold determination process S224 is the same as the threshold determination process S15 described with reference to FIG.
[0078] The container rearrangement execution unit 123 determines whether the threshold determination result is an "end determination" (S225). If the threshold determination result is an "end determination" (S225: YES), this flow ends. If the threshold determination result is not an "end determination" (S225: NO), the container rearrangement execution unit 123 determines whether the threshold determination result is an "excess determination" (S226).
[0079] If the threshold judgment result is "exceeding judgment" (S226: YES), the container relocation execution unit 123 starts load balancing processing for the control target server (S227). The details of the load balancing processing will be described later. After the load balancing processing 227 is completed, the container relocation execution unit 123 changes the container to be selected to the container with the next management number. Then, the flow returns to step S216.
[0080] If the threshold determination result is "exceeding determination" (S226: YES), the container rearrangement executing unit 123 changes the container to be selected to the container with the next management number (S228), after which the flow returns to step S216.
[0081] As described above, the load aggregation process S21 selects containers that can be aggregated to the control target server by selecting servers in descending order of management number. By prioritizing servers with larger management numbers as the source of containers, it becomes more likely that all containers will be removed from the servers with larger management numbers. As a result, it is possible to increase the probability of finding a server that can be powered off. Note that a reference value other than the management number may be used.
[0082] In the above example, the load aggregation process S21 avoids moving a container that is predicted to cause the output power of the server to be controlled to exceed the threshold A. This reduces the possibility that the output power of the server to be controlled will exceed the threshold A. Furthermore, the load aggregation process S21 records the amount of change in output power of the source and destination due to the container movement in the management information, thereby enabling subsequent container relocation to be performed more accurately.
[0083] 8, if the threshold determination result is "exceeding determination" (S18: YES), the container relocation execution unit 123 executes the load balancing process S19. Thereafter, the container relocation execution unit 123 refers to the server management table 410 and changes the control target server to the server with the next management number (S20). Thereafter, the flow returns to step S12.
[0084] 11A and 11B show a flowchart of the load balancing process S19. The load balancing process is a process for moving (distributing) containers from a server to be controlled to other servers. First, the container relocation execution unit 123 sets the server having the management number next to the management number of the server to be controlled in the server management table 410 as the "destination server" (S191).
[0085] Next, it is determined whether the management number of the destination server is greater than the maximum management number of the server (S192). If the management number of the destination server is greater than the maximum (S192: YES), this flow ends.
[0086] If the management number of the destination server is equal to or less than the maximum value (S192: NO), the container rearrangement execution unit 123 refers to the server management table 410 and determines whether the power of the destination server is ON or OFF (S193). If the power of the destination server is OFF (S193: YES), the container rearrangement execution unit 123 changes the destination server to the server with the next (one larger) management number (S194). Thereafter, the flow returns to step S192. The destination server is a server with a larger management number than the control target server. In other words, the destination server is selected from physical servers excluding physical servers that have already been processed as control target servers. This prevents changes to the power and resource usage status of the processed servers.
[0087] If the power of the destination server is ON (S193: NO), the container relocation execution unit 123 refers to the container management table 430 and sets the container with the smallest management number on the control target server as the "selection target container" (S195). The selection target container is a candidate for container migration.
[0088] Next, the container relocation execution unit 123 determines whether the process of this flow has been executed for all containers on the control target server (S196). If the process of this flow has been executed for all containers on the control target server (S196: YES), this flow ends.
[0089] If the processing of this flow has not been executed for all containers on the control-target server, that is, if the processing of this flow has not been executed for the current selection target container (S196: NO), the container relocation executing unit 123 searches the source power transition management table 470 for information on output power changes that match the current CPU usage rate and memory usage rate of the selection target container, where the control-target server is the source and the destination server is the destination (S197). The CPU usage rate and memory usage rate of the selection target container can be obtained from the container management table 430.
[0090] If matching information exists (S197: YES), the container rearrangement executing unit 123 determines whether the predicted value of the output power of the control-target server will be less than threshold A after the selection target container is moved from the control-target server to the destination server (S198). That is, the container rearrangement executing unit 123 obtains the output power change amount that matches the condition from the source power transition management table 470, and subtracts that value from the current output power of the control-target server. The container rearrangement executing unit 123 compares the obtained value with threshold A indicated by the server management table 410.
[0091] If the predicted output power of the control-target server after the selection target container is moved is less than threshold A (S198: YES), the container rearrangement executing unit 123 changes the selection target container to the container with the next control number without moving the selection target container (S199). Then, the flow returns to step S196.
[0092] If the predicted output power of the control target server after the selection target container is moved is within or exceeds threshold A (S198: NO), the flow proceeds to step S201. Also, if there is no matching information in step S197 (S197: NO), the flow proceeds to step S201.
[0093] 11B, the container rearrangement execution unit 123 moves the selected container from the control-target server to the destination server and updates the container management table 430 (S201). Furthermore, the container rearrangement execution unit 123 acquires the output power values of the power supplies from each of the control-target server and the destination server, and calculates the difference in output power before and after the selection-target container is moved (S202). The container rearrangement execution unit 123 stores the difference in output power of the control-target server in the source power transition management table 470, and stores the difference in output power of the destination server in the destination power transition management table 450 (S203).
[0094] Next, the container rearrangement executing unit 123 executes a threshold determination process for the control target server (S204). The threshold determination process S204 is the same as the threshold determination process S15 described with reference to FIG.
[0095] The container rearrangement execution unit 123 determines whether the threshold determination result is "termination determination" (S205). If the threshold determination result is "termination determination" (S205: YES), this flow ends. If the threshold determination result is not "termination determination" (S205: NO), the container rearrangement execution unit 123 determines whether the threshold determination result is "less than determination" (S206).
[0096] If the threshold determination result is "under determination" (S206: YES), the container relocation execution unit 123 starts load aggregation processing for the control target server (S207). The load aggregation processing S207 is the same as the load aggregation processing S21 described with reference to FIGS. 10A and 10B. After the load aggregation processing S207 is completed, or if the threshold determination result is "exceeding determination" (step S206: NO), the container relocation execution unit 123 executes load distribution processing for the destination server (S208). Thereafter, the container relocation execution unit 123 changes the container to be selected to the container with the next management number (S209), and the flow returns to step S196.
[0097] As described above, the management server 10 selects a container that is estimated to prevent the output power of the server to be controlled from falling below threshold A even if it is moved, and moves it to the server with the next management number. In addition, the management server 10 temporarily moves a container whose management information does not contain information on output power change, and stores the information on output power change.
[0098] If the output power of the destination server exceeds a threshold due to the container movement, the management server 10 performs load balancing processing S208 on the destination server. This prevents the load on the destination server from temporarily becoming extremely high. Note that this processing may be omitted. The load balancing processing S208 on the destination server may be omitted.
[0099] 12 shows a flowchart of the load balancing process S208 of the destination server. The container relocation execution unit 123 sets the server with the next management number of the current control target server as the new control target server (S251). The new control target server is the destination server.
[0100] Next, the container rearrangement executing unit 123 executes a threshold determination process for the control target server (S252). The threshold determination process S252 is the same as the threshold determination process S15 described with reference to FIG.
[0101] The container relocation execution unit 123 determines whether the threshold determination result is "excess determination" (S253). If the threshold determination result is "excess determination" (S253: YES), the container relocation execution unit 123 executes load distribution processing for the control target server (S254). The load distribution processing S254 is the same as the load distribution processing S19 described with reference to Figures 11A and 11B.
[0102] After the load balancing process S254 is completed or if the threshold judgment result in step S253 is not "exceeding judgment" (S253: NO), the container relocation executing unit 123 sets the server with the management number immediately preceding the current control-target server as the new control-target server (S255). After that, this flow ends.
[0103] As described above, there are cases where a large number of containers are moved to the destination server in the load balancing process S19, causing the load on the destination server to become extremely high. By temporarily setting the destination server as the server to be controlled and performing load balancing at the destination, it is possible to prevent the load at the destination from becoming extremely high.
[0104] 8, after the load concentration process S21, the container relocation executing unit 123 searches the container management table 430 for a server on which an executing container is not present (S22). If a server on which a container is not present exists (S22: YES), the container relocation executing unit 123 turns off the power of the server on which a container is not present (S23). After turning off the power of the server on which a container is not present, or if there is no server on which a container is not present in step S22 (S22: NO), the container relocation executing unit 123 changes the server to be controlled to the server with the next management number (S24). Thereafter, the flow returns to step S12.
[0105] As described above, in one embodiment of this specification, in order to reduce power loss due to power conversion, the output power range in which the power supply device has high power efficiency is determined in advance, and containers or virtual machines on managed physical servers (also simply referred to as servers) are relocated based on this output power range. This reduces system power consumption and CO2 emissions. In one embodiment of this specification, containers or virtual machines are relocated so that some servers can be powered off. This further reduces power consumption.
[0106] An embodiment of the present specification collects output power and resource information from a server, and performs resource reallocation and power control based on the management information. An embodiment of the present specification allocates containers or virtual machines so that the utilization rates of the server's processor and memory can be maintained below a threshold. This makes it possible to suppress a decrease in the processing performance of the server. An embodiment of the present specification can realize operation in a virtualization system that suppresses power consumption, including power loss due to power conversion of a power supply device, while suppressing a decrease in the processing performance of the server.
[0107] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.
[0108] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card or SD card.
[0109] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]
[0110] 10 Management Server 11 processors 12 Memory 13 Auxiliary storage device 15 communication interfaces 20 servers 250 containers 121 Power supply monitoring section 122 Resource Monitoring Unit 123 Container relocation execution unit 410 Server Management Table 430 Container Management Table 450 Destination power transition management table 470 Source power transition management table
Claims
1. A management system for managing a virtualization system, a processor; a storage device, The storage device includes: Server management information for managing multiple physical servers, virtualization package management information that manages a plurality of virtualization packages that are installed on the plurality of physical servers and provide isolated user environments; The server management information includes: a current output power value of each of the plurality of physical servers; a threshold value for the output power value of each of the plurality of physical servers; A usage status of physical resources of each of the plurality of physical servers; a threshold value for the usage status of the physical resource; the virtualization package management information indicates a physical server on which each of the plurality of virtualization packages is installed; The processor: Sequentially selecting a control target server from the plurality of physical servers; acquires information on the output power value and threshold of the server to be controlled from the server management information; determining whether or not it is necessary to distribute the virtualization packages of the control target server to other physical servers or to consolidate the virtualization packages from other physical servers to the control target server based on the relationship between the output power value of the control target server and a threshold for the output power value, and the relationship between the usage status of the physical resources of the control target server and a threshold for the usage status of the physical resources; When it is determined that the virtualization packages need to be dispersed or consolidated, the virtualization package management information is referenced to select a migration candidate virtualization package; When it is determined that the virtualization package needs to be distributed, a migration destination candidate for the distribution is selected in accordance with a predetermined priority order; If there is a physical server without the virtualization package after the distribution or consolidation, the management system cuts off the power supply to the physical server.
2. A management system according to claim 1, The management system, wherein the physical resource usage includes processor usage and memory usage.
3. A management system according to claim 1, the storage device stores power transition management information indicating information on a migration source of the virtualization package, a usage status of physical resources at the migration source, power consumption at the migration source, and power consumption at the migration destination; A management system in which the processor refers to the power transition management information and the server management information and avoids moving the migration candidate for the virtualization package if it is estimated that moving the migration candidate will cause the output power value at the destination to exceed the threshold or the output power value at the source to fall below the threshold.
4. A management system according to claim 1, The management system, wherein the physical resource usage includes processor usage and memory usage.
5. A management system according to claim 1, After migrating the virtualization package, the processor determines whether or not it is necessary to distribute the virtualization package at the destination based on the relationship between the output power value of the destination physical server and the threshold value.
6. A management system according to claim 1, The processor: The management system excludes the selected control target server from the migration destination candidates and migration source candidates of the virtualization package.
7. A method for managing a virtualization system by a management system, comprising: The management system includes: Server management information for managing multiple physical servers, virtualization package management information that manages a plurality of virtualization packages that are installed on the plurality of physical servers and provide isolated user environments; The server management information includes: a current output power value of each of the plurality of physical servers; a threshold value for the output power value of each of the plurality of physical servers; A usage status of physical resources of each of the plurality of physical servers; a threshold value for the usage status of the physical resource; the virtualization package management information indicates a physical server on which each of the plurality of virtualization packages is installed; The method further comprises: Sequentially selecting a control target server from the plurality of physical servers; acquires information on the output power and threshold of the server to be controlled from the server management information; determining whether or not it is necessary to distribute the virtualization packages of the control target server to other physical servers or to consolidate the virtualization packages from other physical servers to the control target server based on the relationship between the output power of the control target server and a threshold value for the output power value, and the relationship between the usage status of the physical resources of the control target server and a threshold value for the usage status of the physical resources; When it is determined that the virtualization packages need to be dispersed or consolidated, the virtualization package management information is referenced to select a migration candidate virtualization package; When it is determined that the virtualization packages need to be dispersed or consolidated, the virtualization package management information is referenced to select a migration candidate virtualization package; When it is determined that the virtualization package needs to be distributed, a migration destination candidate for the distribution is selected in accordance with a predetermined priority order; If there is a physical server without the virtualization package after the distribution or consolidation, the power to the physical server is turned off.
Citation Information
Patent Citations
Dynamic migration of virtual machine computer programs
JP2007536657A
Virtual server resource adjusting system, resource adjusting device, virtual server resource adjusting method, and computer program
JP2010033292A
Management apparatus of virtual server system
JP2010061278A
Operation management method of information processing system
JP2011008822A
Information system, control device, data processing method for the same, and program
JP2011013820A