Management system for virtual system
The management system optimizes virtual machine placement in IT systems by considering power consumption and performance thresholds, addressing inefficiencies in power loss and relocation, thereby reducing energy usage and stabilizing performance.
Patent Information
- Application Number
- JP2024100606
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-21
- Publication Date
- 2026-01-08
AI Technical Summary
Existing IT systems using virtualization technology face inefficiencies in power consumption due to power loss in power supply equipment and inadequate consideration of power consumption during virtual machine relocation, leading to unnecessary power loss and inefficiencies.
A management system that includes a processor and storage device to manage physical and virtualization packages, utilizing server management information and virtualization package information to optimize virtual machine placement based on power consumption and performance thresholds, reducing power loss by limiting movement within the same group and prioritizing power-efficient server selection.
The system effectively reduces power consumption and stabilizes power and processing performance by optimizing virtual machine placement, minimizing power loss and CO2 emissions while maintaining efficient power conversion.
Smart Images

Figure 2026002538000001_ABST
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, the system including 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 installed on the plurality of physical servers to provide isolated user environments, the server management information indicating a current output power value of each of the plurality of physical servers, a threshold for the output power value of each of the plurality of physical servers, and a type of each of the plurality of physical servers, and the virtualization package management information indicating the physical servers on which each of the plurality of virtualization packages is installed and the virtualization package management information indicating the type of each of the plurality of physical servers. and the type of each virtualization package, and the processor selects a control target server from the plurality of physical servers, acquires information on the output power value and threshold 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 other physical servers or to consolidate the virtualization packages from other physical servers to the control target server based on the output power value and threshold of the control target server, and if it determines that it is necessary to distribute or consolidate the virtualization packages, refers to the server management information and the virtualization package management information to select candidate virtualization packages to be moved from the same group and candidate physical servers to which they are 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 1A] FIG. 1 is a diagram for explaining an overview of an embodiment of the present specification. [Figure 1B] FIG. 1 is a diagram for explaining an overview of an embodiment of the present specification. [Figure 1C] 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] 1 shows the overall flow of processing by the management server. [Figure 9A] 1 shows a flowchart of a type classification process. [Figure 9B] 1 shows a flowchart of a type classification process. [Figure 10] 10 shows a flowchart of a container placement optimization process. [Figure 11] 10 shows a flowchart of a threshold determination process. [Figure 12A] 10 shows a flowchart of a load aggregation process. [Figure 12B] 10 shows a flowchart of a load aggregation process. [Figure 12C] 10 shows a flowchart of a load aggregation process. [Figure 13A] 1 shows a flowchart of a load balancing process. [Figure 13B] 1 shows a flowchart of a load balancing process. [Figure 13C] 1 shows a flowchart of a load balancing process. [Figure 14] 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] 1A-1C are diagrams for explaining an overview of an embodiment of this specification. When operating containers or virtual machines (virtualization packages) on multiple servers, the management server 10 reduces power consumption by migrating virtualization packages 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 one embodiment of the present specification, servers and virtualization packages are grouped together, and the movement range of the virtualization packages is limited to within the same group. This allows for placement that is more suited to the requirements of the virtualization packages. Furthermore, the movement of virtualization packages can cause temporary instability in power and processing performance. By limiting the movement range of virtualization packages, the number of times virtualization packages are moved can be reduced, allowing for early stabilization of power and processing performance.
[0014] 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 four managed servers 20A-20D as an example. The management server 10 and the managed servers 20A-20D 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, or a hybrid cloud environment that combines on-premise and public clouds.
[0015] Each of the servers 20A-20D includes a power supply device 200, physical resources 220, an operating system (OS) 230, and a container management system 240. In Figures 1A-1C, these elements of the server 20A are labeled with reference numerals as an example. The following description will be given using the server 20A as an example.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] Management server 10 manages and controls the movement of containers between servers. Servers 20A-20D execute containers 250A-250F. Servers 20A-20S and containers 250A-250F are grouped. In the example of FIGS. 1A-1C, servers 20A, 20B and containers 250A, 250C form one group, and servers 20C, 20D and containers 250B, 250D form another group. Groups may be preset by the user.
[0020] 1A shows an initial state: Server 20A is running containers 250A and 250B, server 20B is running containers 250C and 250D, server 20C is running container 250E, and server 20D is running container 250F.
[0021] The management server 10 performs a type classification process on the initial container placement, and then performs a container placement optimization process. Figure 1B shows the container placement after the type classification process has been performed. The type classification process moves containers placed on servers in different groups to servers in the same group.
[0022] In Fig. 1A, containers 250B and 250D are located on servers 20A and 20B in different groups, respectively. Therefore, the management server 10 moves containers 250B and 250D to server 20C in the same group, as shown in Fig. 1B. In the container location in Fig. 1B, all containers are located on the servers in their respective groups.
[0023] Next, the management server 10 executes a container placement optimization process. The container placement optimization process rearranges containers within each group according to predetermined conditions. FIG. 1C shows the container placement after the container placement optimization process. The management server 10 moves container 250C from server 20B to server 20A, and moves container 250F from server 20D to server 20C. The management server 10 shuts off the power to servers 20B and 20D, which no longer have containers to run.
[0024] 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.
[0025] 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.
[0026] 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 the physical resources.
[0027] For example, the user can set appropriate thresholds for each group. The example described below defines a performance-priority group and a power-saving-priority group. For example, the upper limits of CPU and memory usage for the performance-priority group may be lower than those for the power-saving-priority group.
[0028] The management server 10 holds management information for managing physical servers and containers, and manages and references that 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.
[0029] 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 when determining whether to move the containers thereafter. This enables more appropriate container movement.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] The server management table 410 has a management number column 411, a managed server column 412, a type column 413, a power status column 414, an output power column 415, a threshold A column 416, a CPU utilization rate column 417, a threshold B column 418, a memory (Mem) column 419, and a threshold C column 420.
[0039] 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 type column 413 shows the type of server, indicating a group formed by grouping servers and containers. In this example, two types (groups) are defined: performance-first type and power-saving-first type. The power status column 414 shows the power status of each server, specifically, whether it is ON or OFF. The output power column 415 shows the current output power of the power supply unit of each server. The threshold A column 416 shows a preset range for output power.
[0040] The CPU usage rate column 417 indicates the current CPU usage rate of the server. The threshold B column 418 indicates a preset threshold for the CPU usage rate of the server. The memory (Mem) usage rate column 419 indicates the current memory usage rate of the server. The threshold C column 420 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.
[0041] For example, the CPU usage threshold B and memory usage threshold C for a performance-priority type server may be smaller than the CPU usage threshold B and memory usage threshold C for a power-saving-priority type (non-performance-priority type) server.
[0042] 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.
[0043] The container management table 430 has a management number column 431 , a managed container column 432 , a type column 433 , a power status column 434 , a CPU usage rate column 435 , a memory (Mem) usage rate column 436 , and an installed server column 437 .
[0044] The management number column 431 indicates the management number assigned to each managed container. Different containers are assigned different management numbers. The managed container column 432 indicates a name that uniquely identifies the managed container. The type column 433 indicates the type of container, and indicates the group formed by grouping servers and containers. In this example, two types (groups) are defined: a performance-first type and a power-saving-first type.
[0045] The power status column 414 indicates the power status of the container, specifically whether it is ON or OFF. The CPU usage column 435 indicates the current CPU usage of the container. The memory (Mem) usage column 436 indicates the current memory usage of the container. The installed server column 437 indicates the name of the physical server on which the container is currently installed (running).
[0046] 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 an initial estimated value or an actual measured value of the output power change amount (difference) that accompanies the container movement.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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 initial estimated values. In Figure 6, "xxxW" represents the initial estimated value. The initial estimated value may be registered in advance by the user. Note that the initial value of a cell may be a NULL value. The initial value of a cell is updated by the actual measured value (e.g., cell 456) due to the actual container movement.
[0051] 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.
[0052] 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.
[0053] 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 initial estimates or actual measurement values of output power changes that accompany container movement.
[0054] 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.
[0055] 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.
[0056] In Figure 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 Figure 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 on the source server of the container to be moved. Unmeasured cells store initial estimates. In Figure 7, "xxxW" represents an initial estimated value. The initial estimated value may be registered in advance by the user. Note that the initial value of a cell may store a NULL value. The initial value of a cell is updated by the actual measured value (e.g., cell 476) due to the actual movement of the container.
[0057] 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.
[0058] 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.
[0059] An example of processing executed by the management server 10 will be described below. Fig. 8 shows the overall flow of processing by the management server 10. The management server 10 executes a type classification process S1 and then executes a container placement optimization process S2. Note that the type classification process S1 may be omitted.
[0060] 9A and 9B show flowcharts of the type classification process S1. The flowchart of the type classification process S1 aggregates containers into servers in the same group. The management server 10 may execute the type classification process S1, for example, when the system starts up or when a new container is added. The type classification process S1 enables containers to be placed into servers in the same group more quickly.
[0061] 9A, the container relocation executing unit 123 sets the server with the smallest management number as the server to be controlled from the server management table 410 (S11). The server to be controlled is a server that is the target of executing processing.
[0062] Next, the container relocation execution unit 123 refers to the server management table 410 and determines whether this flow has been executed for all the control target servers with the management numbers (S12). If this flow has been executed for all the servers with the server management numbers (S12: YES), the management server 10 ends this flow.
[0063] 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.
[0064] Next, the container rearrangement execution unit 123 refers to the container management table 430 and determines whether a container exists on the control-target server (S15). If a container does not exist on the control-target server (S15: NO), the container rearrangement execution 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.
[0065] If a container exists on the control target server (S15: YES), 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 (S17). The selection target container is a container that is a candidate for migration.
[0066] Next, the container relocation executing unit 123 refers to the server management table 410 and sets the server with the smallest management number as the classification target server (S18). The classification target server is a server that is a candidate for the container migration destination in the type classification process S1.
[0067] 9B, the container rearrangement execution unit 123 compares the types of the container to be selected and the server to be classified (S19) by referring to the server management table 410 and the container management table 430. If these types are different (S19: YES), the container rearrangement execution unit 123 refers to the server management table 410, sets the server with the next smallest management number as the server to be classified (S20), and returns to step S19.
[0068] If the types of the container to be selected and the server to be classified are the same (S19: NO), the container rearrangement execution unit 123 compares the management number of the server to be controlled with the management number of the server to be classified (S21). If they are the same (S21: YES), the container rearrangement execution unit 123 sets the server with the next smallest management number as the server to be classified (S20), and returns to step S18.
[0069] If the management number of the control target server and the management number of the classification target server are different (S21: NO), the container rearrangement executing unit 123 moves the selection target container to the classification target server (S23).
[0070] Next, the container rearrangement execution unit 123 determines whether selection has been performed for all containers on the control-target server (S24). If all containers on the control-target server have been selected (S24: YES), the container rearrangement execution unit 123 refers to the server management table 410 and sets the server with the next smallest management number as the control-target server (S25).
[0071] If there are any unselected containers remaining on the server to be controlled (S24: NO), the container relocation execution unit 123 refers to the container management table 430, sets the container with the next smallest management number as the container to be selected (S26), and returns to step S18.
[0072] By the above process, all containers are placed on the servers in the same group. Note that containers may be aggregated on the servers in the same group using a procedure different from the above method.
[0073] Next, the container placement optimization process S2 will be described. The management server 10 executes management and control processes for the virtual system focusing on power conversion efficiency. FIG. 10 shows an example of a flowchart of the container placement optimization process S2. The management server 10 executes the process shown in this flowchart, for example, periodically. The management server 10 sequentially selects control target servers from the physical servers and executes processes for relocating containers. When the process for the selected control target server is completed, the next physical server is selected as the control target server.
[0074] First, the container rearrangement execution unit 123 sets the server with the smallest management number from the server management table 410 as the server to be controlled (S31). Next, the container rearrangement execution unit 123 refers to the server management table 410 and determines whether this flow has been executed for all the servers to be controlled with all the management numbers (S32). If this flow has been executed for all the servers with all the server management numbers (S32: YES), the management server 10 ends this flow.
[0075] If the processing of this flow has not been executed for the control-target server with the current management number (S32: 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 (S33: 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 (S34). Thereafter, the flow returns to step S32.
[0076] If the power supply of the control target server is ON (S33: NO), the container rearrangement executing unit 123 executes threshold determination processing (S35). Fig. 11 shows a flowchart of the threshold determination processing S35.
[0077] 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 (S351). 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.
[0078] 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 (S352). 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.
[0079] 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 (S353). If the current output power of the control-target server exceeds threshold A (S353: YES), the container rearrangement executing unit 123 sets an "excess determination" flag as the threshold determination result, and ends this flow (S354).
[0080] If the current output power of the controlled server does not exceed threshold A (S353: 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 (S355).
[0081] If either the CPU usage rate or the memory usage rate exceeds the corresponding threshold B or threshold C (S355: YES), the container relocation execution unit 123 sets the "excess judgment" flag as the threshold judgment result and terminates this flow (S354).
[0082] 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 (S355: NO), the container rearrangement executing unit 123 determines whether the current output power of the control-target server is less than threshold A (S356).
[0083] If the output power is less than threshold A (S356: YES), the container rearrangement executing unit 123 sets a "less than" flag as the threshold determination result and ends this flow (S357). If the output power is within threshold A (S356: NO), the container rearrangement executing unit 123 sets a "end determination" flag as the threshold determination result and ends this flow (S358).
[0084] 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.
[0085] 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.
[0086] 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.
[0087] 10, the container rearrangement executing unit 123 determines whether the threshold determination result of step S35 is "termination determination" (S36). If the threshold determination result is "termination determination" (S36: 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 (S37). Thereafter, the flow returns to step S32. 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.
[0088] If the threshold judgment result is not "end judgment" (S36: NO), the container rearrangement execution unit 123 judges whether the threshold judgment result of step S35 is "exceed judgment" (S38). If the threshold judgment result is not "exceed judgment" (S38: NO), that is, if the threshold judgment result is "under judgment", the container rearrangement execution unit 123 executes load aggregation processing S41. "Under judgment" means that the control target server is in a low load state.
[0089] 12A, 12B, and 12C show flowcharts of the load aggregation process S41. The load aggregation process is a process for moving (aggregating) containers from other servers to a server to be controlled.
[0090] First, the container relocation executing unit 123 sets the server X with the largest management number from the server management table 410 as the server to be selected (S411). In this flow, the server to be selected is a candidate from which the container will be moved, and the server to be controlled is a candidate to which the container will be moved.
[0091] Next, the container relocation executing unit 123 determines whether the process has been executed for all the selection target servers with the management numbers (S412). If the process has been executed for all the selection target servers with the management numbers (S412), this flow ends.
[0092] If there is an unprocessed selection target server (S412: NO), the container rearrangement executing unit 123 compares the types of the control target server and the selection target server (S413). If these types are different (S413: YES), the container rearrangement executing unit 123 refers to the server management table 410, changes the selection target server to the server with the previous management number (S414), and returns to step S412. In this way, it is possible to avoid moving a container to a server in a different group.
[0093] If the control-target server and the selection-target server are the same type (S413: NO), the container rearrangement executing unit 123 determines whether the management number of the selection-target server is the same as the management number of the current control-target server (S415). If the management numbers of the selection-target server and the control-target server are the same (S415: YES), the container rearrangement executing unit 123 refers to the server management table 410, changes the selection-target server to the server with the previous management number (S416), and returns to step S412.
[0094] If the management numbers of the selection target server and the control target server are different (S415: 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 (S417). If the power of the selection target server is OFF (S417: YES), the container rearrangement executing unit 123 changes the selection target server to the server with the previous management number (S214), and returns to step S412.
[0095] If the power supply of the selection target server is ON (S417: 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 (S419). The selection target container is a candidate for container migration.
[0096] 12B, the container rearrangement executing unit 123 determines whether the process of this flow has been executed for all containers on the selection target server (S420). If the process of this flow has been executed for all containers on the selection target server (S420: YES), the container rearrangement executing unit 123 refers to the server management table 410, changes the selection target server to the server with the previous management number (S421), and returns to step S412. In this way, the selection target 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.
[0097] 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 (S420: NO), the container relocation execution unit 123 acquires information on output power changes in the destination power transition management table 450, where the control target server is the destination and the selection target server is the source, and which match the current CPU usage rate and memory usage rate of the selection target container (S422). The acquired values are actual measured values or initial estimated values. The CPU usage rate and memory usage rate of the selection target container can be acquired from the container management table 430.
[0098] Next, the container rearrangement executing unit 123 determines whether the predicted value of the output power of the control-target server exceeds threshold A after moving the selection-target container from the selection-target server to the control-target server (S423). That is, the container rearrangement executing unit 123 obtains the output power change amount that matches the conditions from the destination power transition management table 450, and adds this 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.
[0099] If the predicted output power of the control-target server after the selection-target container is moved exceeds the threshold (S423: YES), the container rearrangement execution unit 123 changes the selection-target container to the container with the next management number without moving the selection-target container (S424). The flow then returns to step S420. If the predicted output power of the control-target server after the selection-target container is moved does not exceed the threshold (S423: NO), the flow proceeds to step S426 in FIG. 12C.
[0100] 12C, the container rearrangement executing unit 123 moves the selection target container from the selection target server to the control target server and updates the container management table 430 (S426). Furthermore, the container rearrangement executing 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 (S427). The container rearrangement executing 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 (S428).
[0101] Next, the container relocation executing unit 123 executes threshold determination processing for the control target server (S429). The threshold determination processing S224 is the same as the threshold determination processing S35 described with reference to FIG.
[0102] The container rearrangement execution unit 123 determines whether the threshold determination result is an "end determination" (S430). If the threshold determination result is an "end determination" (S430: YES), this flow ends. If the threshold determination result is not an "end determination" (S430: NO), the container rearrangement execution unit 123 determines whether the threshold determination result is an "excess determination" (S431).
[0103] If the threshold determination result is "exceeding determination" (S431: YES), the container relocation execution unit 123 starts load balancing processing for the control target server (S432). The load balancing processing will be described in detail later. After the load balancing processing is completed, the container relocation execution unit 123 changes the container to be selected to the container with the next management number (S433). Thereafter, the flow returns to step S420.
[0104] If the threshold determination result is "exceeding determination" (S431: YES), the container rearrangement executing unit 123 changes the container to be selected to the container with the next management number (S434), after which the flow returns to step S420.
[0105] 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.
[0106] In the above example, the load aggregation process S41 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 S41 records in the management information the amount of change in output power of the source and destination due to the container movement, thereby enabling subsequent container relocation to be performed more accurately.
[0107] 10, if the threshold judgment result is "exceeding judgment" (S38: YES), the container relocation execution unit 123 executes the load balancing process S39. 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 (S40). Thereafter, the flow returns to step S32.
[0108] 13A, 13B, and 13C show flowcharts of the load balancing process S39. 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 as the "destination server" from the server management table 410 (S501).
[0109] Next, the container relocation executing unit 123 determines whether the process has been executed for all destination servers with the management numbers (S502). If the process has been executed for all destination servers with the management numbers (S502), this flow ends.
[0110] If an unprocessed destination server exists (S502: NO), the container relocation executing unit 123 compares the types of the control-target server and the destination server (S503). If these types are different (S503: YES), the container relocation executing unit 123 refers to the server management table 410, changes the destination server to the server with the next management number (S504), and returns to step S502. In this way, it is possible to avoid a container being moved to a server in a different group.
[0111] If the type of the control target server and the type of the destination server are the same (S503: NO), the container rearrangement execution unit 123 determines whether the management number of the destination server is larger than the maximum management number of the server (S505). If the management number of the destination server is larger than the maximum value (S505: YES), the container rearrangement execution unit 123 refers to the server management table 410, changes the destination server to the server with the next management number (S504), and returns to step S502.
[0112] If the management number of the destination server is equal to or less than the maximum value (S505: NO), the container relocation execution unit 123 refers to the server management table 410 and determines whether the power of the destination server is ON or OFF (S507). If the power of the destination server is OFF (S507: YES), the container relocation execution unit 123 changes the destination server to the server with the next (one larger) management number (S508). Thereafter, the flow returns to step S502. The destination server is a server with a management number larger than that of the server to be controlled. In other words, the destination server is selected from physical servers excluding physical servers that have already been processed as servers to be controlled. This prevents changes to the power and resource usage status of the processed server.
[0113] If the power of the destination server is ON (S507: 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" (S509). The selection target container is a candidate for container migration.
[0114] 13B, the container relocation execution unit 123 determines whether the process of this flow has been executed for all containers on the control-target server (S510). If the process of this flow has been executed for all containers on the control-target server (S510: YES), this flow ends.
[0115] 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 (S510: NO), the container relocation execution unit 123 acquires information on output power changes in the source power transition management table 470, where the control-target server is the source and the destination server is the destination, and which match the current CPU usage rate and memory usage rate of the selection target container (S511). The acquired values are actual measured values or initial estimated values. The CPU usage rate and memory usage rate of the selection target container can be acquired from the container management table 430.
[0116] Next, the container rearrangement executing unit 123 determines whether the predicted value of the output power of the control-target server after the selection target container is moved from the control-target server to the destination server will be less than threshold A (S512). That is, the container rearrangement executing unit 123 obtains the output power change amount of the actual measured value 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.
[0117] If the predicted output power of the control-target server after the selection-target container is moved is less than threshold A (S512: YES), the container rearrangement execution unit 123 changes the selection-target container to the container with the next management number without moving the selection-target container (S513). Thereafter, the flow returns to step S510. If the predicted output power of the control-target server after the selection-target container is moved is threshold A or exceeds it (S512: NO), the flow proceeds to step S515 in FIG. 13C.
[0118] 13C, 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 (S515). 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 movement of the selected container (S516). 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 (S517).
[0119] Next, the container relocation executing unit 123 executes a threshold determination process for the control target server (S518). The threshold determination process S518 is the same as the threshold determination process S35 described with reference to FIG.
[0120] The container rearrangement execution unit 123 determines whether the threshold determination result is "termination determination" (S205). If the threshold determination result is "termination determination" (S519: YES), this flow ends. If the threshold determination result is not "termination determination" (S519: NO), the container rearrangement execution unit 123 determines whether the threshold determination result is "less than determination" (S520).
[0121] If the threshold determination result is "under determination" (S520: YES), the container relocation execution unit 123 starts load aggregation processing for the control-target server (S521). The load aggregation processing S521 is the same as the load aggregation processing S41 described with reference to FIGS. 12A, 12B, and 12C. After the load aggregation processing S521 is completed, or if the threshold determination result is "exceeding determination" (step S520: NO), the container relocation execution unit 123 executes load balancing processing for the destination server (S522). Thereafter, the container relocation execution unit 123 changes the container to be selected to the container with the next management number (S523), and the flow returns to step S510.
[0122] 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.
[0123] If the output power of the destination server exceeds a threshold due to the container movement, the management server 10 performs load balancing processing S522 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 S522 on the destination server may be omitted.
[0124] 14 shows a flowchart of the load balancing process S522 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 (S551). The new control target server is the destination server.
[0125] Next, the container relocation executing unit 123 executes a threshold determination process for the control target server (S552). The threshold determination process S552 is the same as the threshold determination process S35 described with reference to FIG.
[0126] The container relocation execution unit 123 determines whether the threshold determination result is "excess determination" (S553). If the threshold determination result is "excess determination" (S553: YES), the container relocation execution unit 123 executes load distribution processing for the control target server (S554). The load distribution processing S554 is the same as the load distribution processing S39 described with reference to Figures 13A, 13B, and 13C.
[0127] After the load balancing process S554 is completed or if the threshold judgment result in step S553 is not "exceeding judgment" (S553: 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 (S555). After that, this flow ends.
[0128] As described above, there are cases where a large number of containers are moved to the destination server in the load balancing process S39, 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.
[0129] 8, after the load concentration process S41, the container relocation executing unit 123 searches the container management table 430 for a server on which an executing container is not present (S42). If a server on which a container is not present exists (S42: YES), the container relocation executing unit 123 turns off the power of the server on which a container is not present (S43). 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 (S42: NO), the container relocation executing unit 123 changes the server to be controlled to the server with the next management number (S44). Thereafter, the flow returns to step S32.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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]
[0135] 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 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 type of each of the plurality of physical servers; The virtualization package management information includes: a physical server on which each of the plurality of virtualization packages is installed; a type of each of the plurality of virtualization packages; The processor: 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 output power value of the control target server and a threshold value; A management system that, when it determines that the virtualization packages need to be dispersed or consolidated, refers to the server management information and the virtualization package management information to select candidate virtualization packages to be migrated from the same group and candidate physical servers to be migrated to.
2. The management system according to claim 1, the server management information indicates a usage status of a physical resource of each of the plurality of physical servers and a threshold value for the usage status of the physical resource; A management system in which the processor determines whether or not to distribute virtualization packages from the controlled server or consolidate virtualization packages to the controlled server based further on the usage status of the physical resources of the controlled server and thresholds.
3. 3. The management system according to claim 2, The management system, wherein the physical resource usage includes processor usage and memory usage.
4. The management system according to claim 1, the storage device stores power transition management information indicating information on a migration source, a resource usage status at the migration source, power consumption at the migration source, and power consumption at a migration destination of the virtualization package; 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 of the virtualization package if it is estimated that moving the migration candidate will cause the output power value at the destination candidate to exceed the threshold or the output power value at the source candidate to fall below the threshold.
5. 5. The management system according to claim 4, The resource usage includes processor usage and memory usage.
6. 5. The management system according to claim 4, The initial value of the power transition management information is an estimated value.
7. The management system according to claim 1, The processor: Selecting the control target server from the plurality of physical servers in order and executing the process; A management system that gives priority to selecting a specific physical server as a candidate destination for the distribution.
8. The management system according to claim 1, In a management system, if there is a physical server without the virtualization package after the distribution or consolidation, the processor cuts off the power to the physical server.
9. The management system according to claim 1, After the virtualization package is migrated, the processor determines whether or not it is necessary to distribute the virtualization package at the migration destination based on the output power value of the physical server at the migration destination and the threshold value.
10. The management system according to claim 1, the processor performs a type classification process before selecting the control target server from the plurality of physical servers; The type classification process refers to the server management information and the virtualization package management information to aggregate the plurality of virtualization packages into physical servers of the same group.
11. A method for a management system to manage a virtualization 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 type of each of the plurality of physical servers; The virtualization package management information includes: a physical server on which each of the plurality of virtualization packages is installed; a type of each of the plurality of virtualization packages; The method further comprises: 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 output power of the control target server and a threshold value; A method for selecting candidate virtualization packages to be migrated and candidate physical servers to be migrated to in the same group by referring to the server management information and the virtualization package management information when it is determined that the virtualization packages need to be dispersed or consolidated.
Citation Information
Patent Citations
Power supply control apparatus, server virtualization system, and power supply control method
JP2016110240A