WO2010140183A1 - サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 - Google Patents
サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 Download PDFInfo
- Publication number
- WO2010140183A1 WO2010140183A1 PCT/JP2009/002421 JP2009002421W WO2010140183A1 WO 2010140183 A1 WO2010140183 A1 WO 2010140183A1 JP 2009002421 W JP2009002421 W JP 2009002421W WO 2010140183 A1 WO2010140183 A1 WO 2010140183A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- virtual
- load
- servers
- physical
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Definitions
- the present invention relates to a virtual computing technique for operating a plurality of virtual servers on a plurality of physical servers, and more specifically to scheduling for placing virtual servers on physical servers.
- Patent Document 1 refers to migration.
- the physical server is operating wastefully. . That is, in this case, it is not efficient from the viewpoint of the power consumption of the operating physical server.
- the load of the plurality of virtual servers to be arranged is too high compared to the total performance obtained by one or more physical servers in operation, there is a processing margin in the physical server that is in operation. Therefore, there is a possibility that the processing period may be delayed because it is impossible to cope with the sudden increase in the load on the virtual server.
- An object is to provide a management server and a virtual server arrangement method.
- a server management program for arranging a plurality of virtual servers on a plurality of physical servers.
- This server management program (A) A procedure for predicting a future second load of each virtual server based on a first load in a predetermined period until each of the plurality of virtual servers. (B) The second load of each virtual server is set so that the sum of the second loads of one or more virtual servers arranged in the physical server is within a predetermined ratio with respect to the processing capacity of the physical server.
- a management server for arranging a plurality of virtual servers on a plurality of physical servers.
- This management server (D) a load prediction unit that predicts a future second load of each virtual server based on a first load in a predetermined period until each of the plurality of virtual servers; (E) The second load of each virtual server is set so that the sum of the second loads of one or more virtual servers arranged in the physical server falls within a predetermined ratio with respect to the processing capacity of the physical server.
- a schedule generation unit for determining a schedule for arranging a plurality of virtual servers on a plurality of physical servers (F) an arrangement execution unit that gives an instruction to arrange some or all of the plurality of virtual servers on some or all of the plurality of physical servers according to the schedule; Is provided.
- the block diagram which shows the structure of the whole system in embodiment.
- the management server of an embodiment WHEREIN The flowchart of the prediction process of a load value according to a load prediction algorithm.
- the flowchart which shows the optimization process in FIG. The figure which shows an example of the arrangement
- FIG. 9 is a flowchart illustrating processing when a failure or a failure prediction occurs in a physical server in the management server according to the embodiment.
- 6 is a flowchart illustrating processing when a physical server is normally restored by maintenance replacement or the like in the management server of the embodiment.
- system The overall configuration of a network system (hereinafter simply referred to as “system”) including a management server according to the embodiment will be described below with reference to FIG.
- a management server 2 performs control so that one or a plurality of virtual servers are arranged for each physical server in the managed server group 4.
- the virtual server is arranged efficiently from the viewpoint of the processing capacity of the physical server and its power consumption.
- the managed server group 4 includes a plurality of virtual servers (indicated by “V” in the figure) and a plurality of physical servers (indicated by “P” in the figure).
- V virtual servers
- P physical servers
- This is a server group to be managed by the management server 2 via the server.
- the physical server is a platform on which a virtual server operates, and includes computer hardware and virtual server management software such as a hypervisor.
- the virtual server is a server that is realized by software on a physical server.
- One or more tasks (applications) operate on the virtual server.
- a plurality of virtual servers that perform different tasks may be combined and placed on the physical server, or a plurality of virtual servers that perform the same task may be placed on different physical servers.
- the virtual server data may be stored in a disk device directly connected to the physical server, or may exist separately from the physical server, and may be a shared disk (SAN (Storage Area Network), (NFS (Network File System), iSCSI (Internet Small Computer System Interface), etc.). Further, the type of physical medium of the disk in which the virtual server data is stored is not limited.
- SAN Storage Area Network
- NFS Network File System
- iSCSI Internet Small Computer System Interface
- the management server 2 can communicate with the management target server group 4 via a network, but exists independently of the management target server group 4 and controls and controls the entire system.
- the management server 2 includes a system control unit 21, a load database (load DB) 22, a server management database (server management DB) 23, a load prediction unit 24, and an optimum arrangement creation unit 25 ( A schedule generation unit), a rearrangement execution unit 26 (arrangement execution unit), a failure monitoring unit 27, and an arrangement schedule data storage unit 28.
- Each component of the management server 2 may be physically accommodated in a single server, or may exist across a plurality of servers for each component.
- the management terminal 3 is a client provided with a management information display unit 31.
- the management terminal 3 is connected to the management server 2 directly or via a network.
- FIG. 1 shows an example in which the management terminal 3 is connected to the management server 2 via a network.
- the management information display unit 31 may be mounted on the management terminal 3 or may be mounted on the management server 2.
- FIG. 1 shows an example in which the management information display unit 31 is mounted on the management terminal 3.
- the system control unit 21 is mainly composed of a microcontroller, and controls the entire management server 2, manages each database, and sends a command to each unit of the management server 2.
- the management server 2 is configured by a plurality of computers
- the system control unit 21 controls the plurality of computers as a whole. Further, the system control unit 21 receives a request from the management terminal 3 and transmits data to be displayed on the management terminal 3 based on the request.
- the load database 22 stores past load data of each virtual server.
- the load data includes the load value of each virtual server and information (hereinafter referred to as “operation information”) regarding the operation state (operation or stop) of each virtual server.
- the load value included in the load data may be any index as long as it can be compared with a processing capability value described later.
- the load value may be, for example, a usage rate related to a computer resource such as a CPU, a memory, or a disk, or an index value obtained by integrating these resources, or may be a benchmark value of a calculation capacity necessary to execute a certain workload. Good.
- an agent having a function of measuring load data on the virtual server side and periodically transmitting it to the management server 2 may be provided.
- a manager that periodically acquires load data from the management server 2 to the virtual server may be provided.
- the load data may be transmitted to the management server 2 via a hypervisor that operates on the physical server and manages the virtual server, or an interface of the physical server.
- FIG. 2 is a diagram illustrating a path through which load data is transmitted in this system.
- the system control unit 21 makes an inquiry to the server management database 23, and information (for example, virtual server ID, IP address, etc.) of the virtual server from which load data is acquired. Specific information indicating the upper position). Based on the virtual server information, the system control unit 21 makes an inquiry to the hypervisor on the physical server on which the target virtual server operates via the network.
- the hypervisor has a mechanism for reading the load data of the virtual server, and returns the load data of the target virtual server in response to an inquiry from the system control unit 21.
- the system control unit 21 that has acquired the load data of the target virtual server records the load data in the record of the corresponding virtual server ID in the load database 22.
- load data of all virtual servers at a certain time are acquired.
- the load data is accumulated in the load database 22 by repeatedly executing this data acquisition process at regular intervals such as one minute.
- FIG. 2B unlike FIG. 2A, a case where an agent for transmitting load data is provided on the virtual server is shown. At this time, the agent on the virtual server transmits load data directly to the management server 2 without going through the hypervisor.
- the system control unit 21 that has received the load data collates the virtual server that has transmitted the load data with the server management database 23 and records it in the record of the corresponding virtual server ID in the load database 21.
- the load value included in the load data recorded in the load database 22 at regular intervals may be an instantaneous value (one sample), an average value (average value of a plurality of samples), or a total value (a plurality of samples). May be the total value).
- the number of samples is not particularly limited. Further, the load data acquisition interval (the above-described fixed period) is set to be at least equal to or less than the interval necessary for load prediction described later.
- the load data recorded in the load database 22 includes not only the load value of each virtual server but also the operation information of each virtual server. This operation information is used to calculate an accurate predicted value in consideration of a virtual server stop period in a load prediction described later.
- the system control unit 21 makes an inquiry to the hypervisor
- the operation information of the target virtual server is acquired at the same time as the load value, and the load data including the load value and the operation information is stored in the load database 22.
- the virtual server or the hypervisor notifies the system control unit 21 of a change in the operating state of the virtual server when the virtual server is started and stopped. Based on this notification, the system control unit 21 records the operation information of the virtual server in the load database 22.
- FIG. 3 shows an example of the data structure of the load database 22.
- each virtual server ID (VM1, VM2,..., VMm) and the corresponding virtual server load data are associated with a plurality of records (records 1, 2,..., M). And are recorded.
- the virtual server ID is information for associating the virtual server on the load database 22 with the virtual server on the server management database 23.
- the load data includes the load value and operation information of the virtual server for each time when the load data is acquired.
- FIG. 3 shows an example in which the actual time in units of one minute is recorded as an example of the load data recording time, the actual time itself is not necessarily recorded. An offset from the recording start time may be recorded, or a character string that can specify the recording time may be recorded.
- the processing capacity value of each physical server is an index value indicating the performance related to the processing capacity (or calculation capacity) of each physical server, and may be anything as long as it can be compared with the load value described above.
- the processing capacity value may be, for example, a value (calculation speed, memory capacity, etc.) indicating a resource of a computer such as a CPU, a memory, or a disk, or an index value obtained by integrating these resources.
- FIG. 4 shows an example of the contents included in the table (physical server table, virtual server table) of the server management database 23.
- n physical servers and m virtual servers are managed.
- the number of virtual servers is larger than the number of physical servers (m> n).
- the physical server table includes specific information (for example, addresses) and processing capability values of n physical servers corresponding to records 1 to n.
- the physical server table further includes failure information and operation information corresponding to each record.
- the physical server failure information is information about whether the physical server is normal (indicating "normal” or "failure”).
- the physical server operation information is information related to the operation state of the physical server (indicating “active” or “stopped”).
- the virtual server table includes identification information of m physical servers, virtual server IDs, and virtual server image data corresponding to records 1 to m.
- the specific information is information for uniquely specifying a physical server or a virtual server in the management server 2 and making it accessible, for example, a computer name or an address on the network. In FIG. 4, an address is illustrated as the specific information.
- the virtual server ID is used for associating with a record on the load database 22.
- the data configuration shown in FIG. 4 is merely an example, and information necessary for management of the physical server and / or virtual server may be added as appropriate.
- the load prediction unit 24 operates according to a load prediction algorithm described later, and performs prediction (load prediction) of a future load value in a specific period of a specific virtual server based on past load data.
- the load value and the operation information included in the load data of each virtual server are referred from the load database 22 for a certain long period (for example, one week, one month) or the entire period.
- the predicted load value (second load) is appropriately referred to as “load predicted value”.
- the load prediction algorithm will be described later in detail.
- the optimum placement creation unit 25 as a schedule generation unit operates according to an optimum placement creation algorithm described later, and creates an optimum placement schedule of virtual servers for physical servers based on the load value predicted by the load prediction unit 24.
- “optimal placement” means that the total load value predicted from a plurality of virtual servers placed on a physical server is within a range with an appropriate ratio to the processing capacity value of that physical server (allowable). Range).
- the upper limit of the allowable range is provided in order to have a margin to withstand the sudden load increase of the virtual server, and the lower limit of the allowable range uses the performance of the physical server without waste and minimizes the number of operating physical servers. It is provided to reduce power consumption by limiting it to the limit.
- the optimum placement creation unit 25 refers to the server management database 23 and the load prediction unit 24 when creating the placement schedule. The optimal layout creation algorithm will be described later in detail.
- the rearrangement execution unit 26 rearranges virtual servers according to the arrangement schedule created by the optimum arrangement creation unit 25.
- the rearrangement execution unit 26 includes an interface for issuing a migration instruction. This interface mainly uses what is provided by virtual server management software such as a hypervisor.
- the migration method for executing the rearrangement is not limited.
- the relocation execution unit 26 performs offline migration if the migration target virtual server is stopped. However, if the migration target virtual server is operating, the relocation execution unit 26 may perform offline migration after stopping the virtual server once. . Further, the relocation execution unit 26 may perform online migration when the migration target virtual server is operating.
- the rearrangement execution unit 26 includes an interface that can instruct power-on / stop of a physical server and an interface that can instruct migration of a virtual server.
- the rearrangement execution unit 26 stops the power supply of a physical server for which the number of virtual servers is 0 as a result of the rearrangement. Further, when it is necessary to start a new physical server as a result of execution of the rearrangement, the rearrangement execution unit 26 starts the physical server. Furthermore, when the physical server fails (when the failure information indicates “failure”), the relocation execution unit 26 stops the power supply of the physical server, and another physical server Start up.
- the interface used for turning on and off the power may be provided by the physical server itself, control software provided by the vendor of the physical server, a general tool, or an original implementation.
- the protocol and control path in the interface are not limited.
- a physical server to be a buffer is required during online migration, a physical server that is not temporarily operating may be activated.
- the instruction to turn on / stop the power to the physical server and the instruction to migrate to the virtual server by the relocation execution unit 26 may be performed via any protocol. Examples of such protocols are SNMP (Simple Network Management Protocol), IPMI (Intelligent Platform Management). Interface), SMASH-CLP (System Management Architecture for Server Hardware Command Line) Protocol).
- the failure monitoring unit 27 monitors the state (normal / failure) of each physical server, and when a failure occurs, the failure information in the record corresponding to the physical server on the server management database 23 is rewritten as “failure”. When the failed physical server is restored, the failure information in the record corresponding to the physical server is rewritten as “normal”.
- the arrangement schedule data storage unit 28 stores the arrangement schedule created by the optimum arrangement creation unit 25.
- the rearrangement execution unit 26 refers to the arrangement schedule stored in the arrangement schedule data storage unit 28 and executes the rearrangement.
- the arrangement schedule is updated periodically.
- the management information display unit 31 displays various information including system operation information based on data provided from the management server 2.
- the information displayed on the management information display unit 31 is, for example, the following information.
- ⁇ Details and list of physical servers and virtual servers ⁇ Virtual server load data (load values, operation information) -Virtual server load forecast value-Virtual server placement schedule-Virtual server current placement status
- FIG. 5 is a diagram illustrating a mode in which a management information request is transmitted from the management terminal 3 to the management server 2 and a response is received.
- the system control unit 21 refers to the load database 22 or the server management database 23, extracts the management information related to the request, and transmits the management information to the management terminal 3. To do.
- the management information received as a response from the management server 2 is displayed on the management information display unit 31. Thereby, for example, a system administrator who operates the management terminal 3 can visually recognize the management information.
- each virtual server is a server that operates for 24 hours, or a server that has a stop period (or operation period). Analyzes whether or not And about the server in which a stop period exists, the stop period is estimated.
- a virtual server having a suspension period for example, a virtual server to which a usage method that does not perform business on weekends and nights is applied is typical.
- the load prediction algorithm can directly use the schedule of the stop period as a predicted value of the stop period. In this case, the system administrator may register the operation schedule of the virtual server in the server management database 23 in advance.
- the load prediction algorithm may, for example, operate information (information in the load database 22; see FIG. 3) over a period of several weeks (specific one hour). ) Is analyzed to predict (calculate) the suspension period. In this analysis, for example, based on the operation information of the virtual server, the rate (operation rate) that the virtual server is operating in a specific time interval of the day is calculated, and the operation rate is below a predetermined threshold value. This is performed by determining that the specific time interval is a stop period.
- the operation information based on which the suspension period is calculated may be daily, weekly, monthly, or a combination thereof.
- the reason for distinguishing between the operation period and the outage period in the load prediction algorithm is that if the average of the load values during the entire period is calculated, the average value is calculated including the outage period. This is because the value is lower than the average value and does not match the actual situation.
- FIG. 6 is a diagram illustrating an example of an hourly prediction result (an operation period or a stop period) for one month.
- the time represented in gray is the virtual server outage period, the time represented in white
- the operation period of a virtual server is illustrated.
- the load prediction algorithm may predict the closed days, business days, and working hours of a specific virtual server based on the hourly data shown in FIG.
- the operation period and the stop period in units of one hour are referred to as an operation time and a stop time, respectively.
- the load prediction algorithm determines that the day when the operation time of a virtual server is lower than a predetermined threshold (for example, 30%) is the “closed day” of the virtual server. If this holiday occurs periodically every seven days, it can be predicted that the virtual server will be closed on Saturdays and Sundays and will not operate on Saturdays and Sundays in the future.
- a predetermined threshold for example, 30%
- the load prediction algorithm determines that the day when the operating time of the virtual server exceeds a predetermined threshold (for example, 30%) is the “business day” of the virtual server. Further, the load prediction algorithm determines that the specific time zone in which the operation time is the number of days that are less than a predetermined threshold (for example, 30%) among the business days of one month is “business hours off”. For example, in the example of FIG. 6, it can be predicted that this virtual server is closed from 2:00 to 6:00 in the morning, and will not be operated in the future from 2:00 to 6:00. In addition, the load prediction algorithm determines that the specific time zone in which the operating time is the number of days exceeding a predetermined threshold (for example, 30%) among the business days of one month is “working hours”.
- a predetermined threshold for example, 30%
- the method for predicting the load value of the virtual server described below is executed only for the business hours of the business day of the virtual server.
- FIG. 7 is a diagram in which an example of a load value in units of one hour is added to FIG. In the example illustrated in FIG. 7, all the load values of the virtual server stop time represented by gray are 0.
- the load prediction algorithm predicts the load value sequentially in a 168 hour cycle (1 week cycle) will be described. In this method, by performing the moving average process for the load value at each time for the past several weeks, for example, the past data for 10 weeks (load value data of 168 hour period ⁇ 10) every week, Predict the load value.
- step S10 load value prediction processing executed by the load prediction unit 24 according to the load prediction algorithm.
- the load prediction unit 24 refers to the load database 22 and acquires, for example, load data (load value, operation information) of the virtual server Vx for 10 weeks (step S10), and acquires the acquired operation information of the virtual server Vx. Analysis is performed (step S12). That is, because the acquired operation information indicates, for example, the state (operation or stop) of the virtual server Vx every one minute interval (see FIG. 3), the load predicting unit 24 performs the virtual server in a certain time interval of the day.
- the operation rate of Vx is calculated. Then, the load prediction unit 24 determines that the specific time section is a stop time on condition that the operation rate is equal to or less than a predetermined threshold, and specifies that on the condition that the operation rate exceeds a predetermined threshold. It is determined that the time interval is an operating time. By this analysis, the load prediction unit 24 creates prediction data related to the operation status shown in FIG. 6, for example (step S14). Furthermore, the load prediction unit 24 analyzes the load value during the operation period (operation time for each hour) (step S16). Specifically, the load predicting unit 24 calculates the load value at the operating time by taking the average of the load values for every one minute interval acquired at step S10 for the operating time.
- the load prediction unit 24 obtains predicted load data for the operation time by taking the average of the load values for 10 weeks for only the operation time (step S18). At this time, as described above, if the operation time is 7 weeks out of 10 weeks in one specific hour (the stop time is 3 weeks), the total load value for 7 hours that is the operation time is 7 The divided value is used as the predicted load value for the specific hour.
- the predicted load data includes stop time information as well as the predicted load value.
- the optimal arrangement creating unit 25 obtains predicted load data for each time section for the future week, for example, for all virtual servers from the load predicting unit 24.
- the timing for obtaining the predicted load data is not particularly limited, but may be every period longer than the load data sample timing (1 minute in FIG. 3), such as one hour.
- each of the load prediction values of one or more virtual servers placed on a physical server is within a predetermined ratio range (allowable range) to the processing capacity of the physical server.
- a schedule for arranging a plurality of virtual servers on a plurality of physical servers is determined based on the predicted load value of the virtual server.
- the upper limit of the allowable range is set to provide a margin that can withstand the sudden load increase of the virtual server, and the lower limit of the allowable range uses the performance of the physical server without waste and minimizes the number of operating physical servers. It is set in order to reduce power consumption by limiting it to the limit.
- the suitability value is set to 70%
- the upper limit of the allowable range is 80%
- the lower limit is 60% as the predetermined ratio.
- FIG. 10 exemplifies load prediction values of the virtual servers V1 to Vm and processing capacity values of the physical servers P1 to Pn in a certain time interval.
- the load prediction value and the processing capability value shown in FIG. 10 are merely examples for explanation, and both are index values that can be compared. For example, as illustrated in FIG. 10, it is assumed that the processing capability values of the physical servers are all 100, and the sum of the predicted load values of the plurality of placement target virtual servers is 500.
- N the minimum integer that satisfies the inequality of 100 ⁇ N ⁇ 70% ⁇ 500 is the minimum required number of servers.
- N the minimum required number of servers.
- N 7.14, at least eight physical servers are required.
- the performance of all the physical servers is assumed to be the same, but if they are not the same, it may be considered that the sum of the physical server performances multiplied by 0.7 is the left side.
- the eight physical servers (P 1 , P 2 ,..., P 8 ) are assigned to the physical servers in the order of virtual servers having the largest load prediction values.
- the first virtual server V 1 is the physical server P 1
- the second virtual server V 2 is the physical server P 2
- the eighth virtual server V 8 is the physical server P. 8
- the physical server is not allocated and the next physical Assign to a server. Can not be assigned to the next physical server, if not also be allocated to the final eighth physical server P 8, allocates new prepared ninth physical server P 9. In this way, in the optimal placement creation algorithm, all virtual servers are assigned and a placement schedule in a certain time interval is created.
- FIG. 11 is a flowchart showing the process by the optimum arrangement creating unit 25, and FIG. 12 is a flowchart showing the optimization process in FIG. 11 (the above-described optimum arrangement creating algorithm is a flowchart).
- the optimum arrangement creating unit 25 refers to the server management database 23 and acquires a list of physical servers and virtual servers (step S20). Thereby, the virtual server ID of the virtual server to be arranged and the processing capability value of each physical server are known (see FIG. 4).
- the optimal arrangement creating unit 25 acquires predicted load data (load predicted value and stop time data) of all virtual servers in the time interval Pt from the load predicting unit 24 (step S22).
- Step S24 the predicted load values of all the virtual servers to be arranged and the processing capacity values of the physical servers in the time interval Pt are obtained, so the optimization process is executed according to the above-described optimum arrangement creation algorithm.
- step S32 whether or not the virtual server x can be placed on the physical server y is determined based on whether the sum of the predicted load values of the virtual servers placed on the physical server is within a predetermined ratio with respect to the processing capacity of the physical server. Based on whether or not. If it is not possible to place any more physical servers 0 to n tmp in step S36, that is, if the number of physical servers determined in step S30 does not satisfy the predetermined ratio range (allowable range), the physical server has a margin. With this as a condition (step S38), after adding one physical server to be arranged (step S40), the processing is continued.
- a combination of optimal arrangements in the time interval Pt (combination of each physical server and virtual server arranged in each physical server) is determined (step S26).
- steps S20 to S26 for all time intervals for example, an arrangement schedule for each hour in the future week is created (step S28).
- An example of this arrangement schedule is shown in FIG. In the example of FIG. 13, at time 10:00:00 date YYYY / MM / DD, for example, physical servers P1 virtual server V 1, V 4, V 7 , V 10, V 12 is a plan arranged It is shown that.
- the arrangement schedule is stored in the arrangement schedule data storage unit 28 as arrangement schedule data.
- the processes performed by the rearrangement execution unit 26 are the following three processes (processes 6A, 6B, and 6C) for a time section (referred to as “target time section”) that is a target of execution of rearrangement.
- target time section a time section
- [Process 6A] Read the arrangement schedule data in the target time section. Further, the server management database 23 is inquired about information on the physical server and the virtual server.
- the comparison between the target time interval and the previous time interval is performed by comparing the arrangement schedule data read in the processing 6A.
- a method that is performed by acquiring information on a real-time operation status is also conceivable. In the latter method, it is possible to consider an operation by an unscheduled system administrator or a physical server failure.
- FIG. 14 and FIG. 15 show examples of execution of rearrangement.
- the rearrangement execution unit 26 As shown in (b), of one physical server before the rearrangement. Instruct to turn on the power. Then, as shown in (c), the rearrangement execution unit 26 issues an instruction for performing migration of the virtual server to the newly powered-on physical server.
- FIG. 15 it is assumed that ten physical servers are operating before relocation as shown in FIG.
- the relocation execution unit 26 issues an instruction to perform migration of the virtual server as shown in (b). Execute relocation. Then, as shown in (c), the relocation execution unit 26 issues an instruction to turn off the power of the physical server in which no virtual server is arranged due to the migration.
- the rearrangement execution unit 26 reads out the arrangement schedule data stored in the arrangement schedule data storage unit 28, and from the arrangement schedule data, the arrangement list in the target time interval (where the virtual server is arranged in which physical server). (List data on whether to do) is read (step S50). Then, the relocation execution unit 26 inquires of the server management database 23 about the operation information of the physical server and the virtual server (information indicating the status of “active” or “stopped”) (step S52).
- the rearrangement execution unit 26 compares the operation state of each physical server in the target time interval and the previous time interval based on the operation information obtained in step S52, and changes the operation state of each physical server. (Step S54). Further, the relocation execution unit 26 refers to the load database 22 to compare the operation state of each virtual server in the target time interval and the previous time interval, and examines the change in the operation state of each virtual server ( Step S56).
- the relocation execution unit 26 determines the physical server to be newly added. An instruction to turn on the power is given (step S60), and nothing is done unless it is necessary to increase the number of physical servers. Then, the rearrangement execution unit 26 instructs the migration of the virtual server according to the arrangement schedule data read in step S50 (step S62). Conversely, if the number of physical servers should be reduced between the target time interval and the previous time interval (YES in step S64), an instruction to turn off the power of the physical server to be reduced is given (step S64). S66) If there is no need to reduce the number of physical servers, nothing is done.
- the rearrangement process has been described with reference to the flowchart.
- a scheduler for detecting that the time for starting the process of the target time interval has been reached.
- This scheduler may be provided in the system control unit 21 or may be provided in the rearrangement execution unit 26.
- an instruction to start processing is issued to the rearrangement execution unit 26 when the processing start time is reached.
- an overhead network load or the like
- the management server 2 of this embodiment processing at the time of physical server failure and recovery will be described.
- the failure monitoring unit 27 monitors the state (normal / failure) of each physical server, and corresponds to the physical server on the server management database 23 when a failure occurs (when the physical server immediately stops).
- the failure information of the record to be rewritten is “failure”.
- the relocation execution unit 26 performs automatic recovery by starting another alternative physical server and migrating a virtual server in accordance with a change in the failure information of the physical server on the server management database 23. Further, based on the change in the failure information of the physical server on the server management database 23, the optimum arrangement creation unit 25 excludes the physical server in which the failure has occurred from the physical server to be scheduled.
- the failure monitoring unit 27 does not immediately switch the physical server where the failure sign has occurred to another physical server. 23, it is preferable to rewrite the failure information of the record corresponding to the physical server where the failure sign has occurred as “failure”. As a result, the physical server in which a failure sign has occurred is excluded from the scheduled physical servers when the next allocation schedule is created.
- the failure sign here may lead to failure if the number of rotations of the cooling fan provided in the server is abnormal or if a collectable error occurs more than a predetermined number of times in a certain period. An event with a high probability.
- the failure monitoring unit 27 rewrites the failure information of the corresponding physical server in the server management database 23 to “normal”.
- the restored physical server is incorporated into the scheduled physical server when the next arrangement schedule is created.
- FIG. 17 is a flowchart showing processing when a failure or prediction of failure occurs in the physical server
- FIG. 18 is a flowchart showing processing when the physical server is normally restored by maintenance replacement or the like.
- the failure monitoring unit 27 monitors each physical server, thereby detecting a failure / failure sign of the physical server (step S70).
- the relocation execution unit 26 issues an instruction to migrate all virtual servers arranged on the failed physical server to another alternative physical server. (Step S74). If a sign of failure of the physical server is detected in step S72, step S74 is not executed.
- the failure monitoring unit 27 rewrites the failure information of the physical server in which a failure or a failure sign is detected on the server management database 23 to “failure” (step S76).
- the optimum arrangement creation unit 25 excludes a physical server in which a failure or a sign of a failure has been detected from a candidate for an active physical server, that is, a candidate for a physical server to be scheduled, when the next arrangement schedule is created.
- the failure monitoring unit 27 monitors each physical server to detect recovery of the physical server (step S80). Then, the failure monitoring unit 27 rewrites the failure information of the physical server that detected the recovery to “normal” on the server management database 23 (step S82). As a result, the optimum placement creation unit 25 incorporates the recovered physical server into the candidate physical server to be scheduled at the next creation of the placement schedule.
- the failure detection (recovery) method of the physical server by the failure monitoring unit 27 is not particularly limited. For example, a method of triggering an event from monitoring software provided by a physical server vendor or the like, or the failure monitoring unit 27 A method of collecting information related to the state of the physical server by communicating with each physical server, a method of acquiring / updating information related to the state of the physical server from an input by an operator operation, and the like are conceivable.
- a load prediction value is calculated from past load data of each of a plurality of virtual servers, an optimal placement schedule of virtual servers for physical servers is created, and periodic Reallocation is performed.
- the total of load values predicted from a plurality of virtual servers arranged on a physical server is performed so as to fall within a range of an appropriate ratio with respect to the processing capacity value of the physical server. Therefore, there is room to withstand the sudden load increase of the virtual server, the physical server performance can be used without waste, and the number of operating physical servers can be kept to a minimum, thereby reducing power consumption and thus carbon dioxide emissions. Reduction is planned.
- the generation and rearrangement of the arrangement schedule are automatically performed and do not require manpower, so that the operation and management costs do not increase.
- management server and its system according to the embodiment have been described in detail above, but the management server of the present invention is not limited to the above embodiment, and various improvements and modifications are made without departing from the gist of the present invention. Of course, it may be.
- a virtual server arrangement method executed by the management server is disclosed in relation to the operation of each unit of the management server according to the embodiment.
- the future load value (load predicted value) of each virtual server is predicted based on the load value of each of the plurality of virtual servers in a predetermined period until now, and the virtual server is placed on the physical server.
- the plurality of virtual servers are arranged so that the sum of the predicted load values of the one or more virtual servers falls within a predetermined ratio with respect to the processing capacity of the physical server.
- a schedule for placement on a plurality of physical servers is determined, and an instruction for placing some or all of the plurality of virtual servers on some or all of the plurality of physical servers is performed according to the schedule.
- each part of the management server according to the embodiment or the virtual server arrangement method can be realized by a program.
- the server management program in which the procedure according to the virtual server arrangement method is described is executed by, for example, a microcontroller (computer) included in the system control unit 21, whereby the load prediction unit 24, the optimum arrangement creation unit 25,
- the virtual server placement method is realized by using the hardware resources of the respective parts of the placement schedule data storage unit 28 and the rearrangement execution unit 26.
- the program may be preinstalled in the management server as firmware, or may be executed by the management server as general-purpose software.
- SYMBOLS 2 DESCRIPTION OF SYMBOLS 2 ... Management server, 21 ... System control part, 22 ... Load database, 23 ... Server management database, 24 ... Load prediction part, 25 ... Optimal arrangement creation part, 26 ... Relocation execution part, 27 ... Failure monitoring part, 28 ... Arrangement schedule data storage unit, 3 ... management terminal, 31 ... management information display unit, 4 ... managed server group (multiple physical servers, multiple virtual servers)
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Power Sources (AREA)
Abstract
Description
逆に、稼働中の1又は複数の物理サーバで得られる性能の総和と比較して、配置対象の複数の仮想サーバによる負荷が高すぎるとしたならば、稼動する物理サーバにおいて処理上の余裕がなく、突発的な仮想サーバの負荷の上昇に対して対処できず、処理期間が遅延する可能性がある。
(A)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
(B)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定する手順と、
(C)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
をコンピュータに実行させるためのプログラムである。同様の観点の、管理サーバによって実行される仮想サーバ配置方法も提供される。
(D)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
(E)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定するスケジュール生成部と、
(F)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う配置実行部と、
を備える。
以下、実施形態に係る管理サーバを含むネットワークシステム(以下、単に「システム」という。)の全体構成について、図1を参照して説明する。
図1に示すように、このシステムには、管理サーバ2、管理端末3及び管理対象サーバ群4がネットワークを介して接続される。このシステムでは、管理サーバ2により、管理対象サーバ群4における各物理サーバに対して1又は複数仮想サーバが配置されるように制御される。このとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な仮想サーバの配置が行われることが意図されている。
仮想サーバは、物理サーバ上においてソフトウエア的に実現されるサーバである。仮想サーバ上では1つ以上の業務(アプリケーション)が動作する。異なる業務を行う仮想サーバが複数組み合わされて物理サーバ上に配置される場合もあり、同一の業務を行う複数の仮想サーバが異なる物理サーバ上に配置される場合もある。
なお、仮想サーバのデータは、物理サーバに直接接続されたディスク装置に格納されてもよいし、物理サーバと別に存在し、ネットワークまたは直接結線により接続された共用ディスク(SAN(Storage Area Network)、NFS(Network File System)、iSCSI(Internet Small Computer System Interface)等)に格納されてもよい。また、仮想サーバのデータが格納されるディスクの物理媒体の種類についても限定しない。
図1に示すように、管理サーバ2は、システム制御部21と、負荷データベース(負荷DB)22と、サーバ管理データベース(サーバ管理DB)23と、負荷予測部24と、最適配置作成部25(スケジュール生成部)と、再配置実行部26(配置実行部)と、故障監視部27と、配置スケジュールデータ格納部28と、を備える。この管理サーバ2の各構成要素は物理的に単一のサーバに収容されてもよいし、構成要素ごとに複数のサーバに亘って存在してもよい。
次に、図1に示した管理サーバ2の各構成要素について、より詳細に説明する。
システム制御部21は主としてマイクロコントローラにより構成され、管理サーバ2全体の制御、各データベースの管理、管理サーバ2の各部への指令の送出を行う。管理サーバ2が複数のコンピュータによって構成される場合には、システム制御部21はその複数のコンピュータ全体を統括する。また、システム制御部21は、管理端末3からの要求の受信、及びその要求に基づいて管理端末3で表示すべきデータの送信を行う。
負荷データベース22には、各仮想サーバの過去の負荷データが蓄積される。
ここで、負荷データは、各仮想サーバの負荷値、及び各仮想サーバの動作状態(稼動又は停止)に関する情報(以下、「動作情報」という。)を含む。
負荷データが負荷データベース22に蓄積されるときの経路、蓄積される方法、蓄積されるタイミング等は限定しない。例えば、負荷データが負荷データベース22に蓄積されるときの経路に関して言及すれば、仮想サーバ側に負荷データを計測し、管理サーバ2へ定期的に送信する機能を備えたエージェントを設けるようにしてもよいし、管理サーバ2から仮想サーバに対して定期的に負荷データを取得するマネージャを設けるようにしてもよい。物理サーバ上で動作し仮想サーバを管理するハイパーバイザ、又は物理サーバのインタフェースを経由して負荷データが管理サーバ2へ送信されるようにしてもよい。
図2(a)に示す例では、システム制御部21がサーバ管理データベース23に対して問い合わせを行い、負荷データの取得の対象となる仮想サーバの情報(例えば、仮想サーバIDやIPアドレスなど、ネットワーク上の位置を示す特定情報)を得る。システム制御部21は、その仮想サーバの情報に基づいて、ネットワークを経由して、対象の仮想サーバが動作する物理サーバ上のハイパーバイザに問い合わせる。図2(a)に示す例では、ハイパーバイザは、仮想サーバの負荷データを読み取る機構を備えており、システム制御部21からの問い合わせに対して、対象の仮想サーバの負荷データを返す。対象の仮想サーバの負荷データを取得したシステム制御部21は、負荷データベース22の該当仮想サーバIDのレコードに負荷データを記録する。以上の処理を全仮想サーバについて繰り返すことで、ある時刻におけるすべての仮想サーバの負荷データが取得される。このデータ取得処理を1分間等の一定期間ごとに繰り返し実行することで、負荷データベース22には負荷データが蓄積されていく。
図2(b)に示す例では、図2(a)とは異なり、仮想サーバ上に負荷データを送信するエージェントを設けた場合を示している。このとき、仮想サーバ上のエージェントは、ハイパーバイザを経由せず、直接管理サーバ2に対して負荷データを送信する。負荷データを受信したシステム制御部21は、負荷データを送信した仮想サーバをサーバ管理データベース23と照合し、負荷データベース21の該当仮想サーバIDのレコードに記録する。
図2(a)に示す例では、システム制御部21がハイパーバイザに問い合わせる際、対象の仮想サーバの動作情報を負荷値と同時に取得し、負荷値と動作情報を含む負荷データが負荷データベース22に記録される。
図2(b)に示す例では、仮想サーバの起動時及び停止時に、仮想サーバ、又はハイパーバイザは、システム制御部21に対して、仮想サーバの動作状態の変更の通知を行う。この通知に基づき、システム制御部21は、仮想サーバの動作情報を負荷データベース22に記録する。
図3において、負荷データベース22には、複数のレコード(レコード1,2,…,m)に対応して、各仮想サーバID(VM1,VM2,…,VMm)と、該当する仮想サーバの負荷データとが記録されている。仮想サーバIDは、負荷データベース22上の仮想サーバと、サーバ管理データベース23上の仮想サーバとを関連付けるための情報である。図3に示すように、負荷データは、負荷データを取得した時刻ごとの、仮想サーバの負荷値と動作情報が含まれる。図3では、負荷データの記録時刻として、一例として1分間単位の実際の時刻が記録される例を示しているが、必ずしも実際の時刻そのものが記録される必要はない。記録の開始時刻からのオフセットを記録してもよいし、記録時刻を特定可能な文字列を記録してもよい。
サーバ管理データベース23には、物理サーバとその処理能力一覧、及び仮想サーバ一覧が記録される。管理サーバからアクセス可能であれば、物理サーバのデータと仮想サーバのデータはそれぞれ独立のデータベースとして存在してもよい。
各物理サーバの処理能力値は、各物理サーバの処理能力(又は計算能力)に関する性能を示す指標値であって、前述した負荷値と比較可能なものであれば何でもよい。処理能力値は、例えば、CPU、メモリ或いはディスクなどの計算機のリソースを示す値(計算速度、メモリ容量等)、又はそれらのリソースを総合した指標値でもよい。
物理サーバテーブルには、レコード1~nに対応してn個の物理サーバの特定情報(例えばアドレス)及び処理能力値が含まれる。図4に示すように、物理サーバテーブルにはさらに、各レコードに対応して、故障情報と動作情報が含まれる。物理サーバの故障情報とは、物理サーバが正常か否かについての情報(“正常”又は“故障”を示す。)である。物理サーバの動作情報とは、物理サーバの動作状態に関する情報(“稼動”又は“停止”を示す。)である。この故障情報及び/又は動作情報は、後述する配置スケジュールを作成する時においてスケジュール対象の物理サーバを特定するのに有用となる。
仮想サーバテーブルには、レコード1~mに対応してm個の物理サーバの特定情報、仮想サーバID及び仮想サーバのイメージデータが含まれる。特定情報とは、管理サーバ2内で物理サーバ又は仮想サーバを一意に特定し、アクセス可能とするための情報であり、例えばネットワーク上のコンピュータ名やアドレスなどである。図4では、特定情報としてアドレスを例示してある。仮想サーバIDは、負荷データベース22上のレコードと対応付けるために用いられる。
図4のサーバ管理データベース23において、また、図4に示したデータ構成は例示に過ぎず、物理サーバ及び/又は仮想サーバの管理に必要な情報を、適宜加えて構成するようにしてもよい。
負荷予測部24は、後述する負荷予測アルゴリズムに従って動作し、過去の負荷データに基づいて、特定の仮想サーバの特定の期間における将来の負荷値の予測(負荷予測)を行う。負荷予測にあたっては、負荷データベース22から各仮想サーバの負荷データに含まれる負荷値と動作情報を、ある程度長い一定期間(例えば1週間、1ヶ月)、又は全期間について参照する。以下の説明において、予測された負荷値(第2負荷)を、適宜「負荷予測値」という。負荷予測アルゴリズムについては、後で詳細に説明する。
スケジュール生成部としての最適配置作成部25は、後述する最適配置作成アルゴリズムに従って動作し、負荷予測部24が予測した負荷値に基づき、物理サーバに対する仮想サーバの最適な配置スケジュールを作成する。ここで、「最適な配置」とは、ある物理サーバ上に配置された複数の仮想サーバから予測される負荷値の合計が、その物理サーバの処理能力値に対して適切な比率の範囲(許容範囲)に収まるようになっていることである。その許容範囲の上限は、仮想サーバの突発的な負荷上昇に耐えうる余裕を持たせるために設けられ、許容範囲の下限は、物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減を図るために設けられる。
最適配置作成部25は、配置スケジュールを作成するとき、サーバ管理データベース23及び負荷予測部24をそれぞれ参照する。最適配置作成アルゴリズムについては、後で詳細に説明する。
再配置実行部26は、最適配置作成部25が作成した配置スケジュールに従って、仮想サーバの再配置を行う。再配置実行部26は、マイグレーションの指示を出すためのインタフェースを備える。このインタフェースは主に、ハイパーバイザなどの仮想サーバ管理ソフトウエアが提供するものを利用したものである。
再配置を実行するためのマイグレーションの方法については限定しない。再配置実行部26は、マイグレーション対象の仮想サーバが停止中であればオフラインマイグレーションを行うが、マイグレーション対象の仮想サーバが稼動中の場合、一度仮想サーバを停止してからオフラインマイグレーションを行ってもよい。また、再配置実行部26は、マイグレーション対象の仮想サーバが稼働中の場合、オンラインマイグレーションを行ってもよい。
再配置実行部26は、再配置の実行の結果、仮想サーバ数が0となる物理サーバに対しては、その物理サーバの電源を停止させる。また、再配置実行部26は、再配置の実行の結果、新たに物理サーバを起動することが必要となったときには、その物理サーバを起動させる。さらには、再配置実行部26は、その物理サーバが故障となったとき(故障情報が“故障”を示すようになったとき)には、その物理サーバの電源を停止させ、別の物理サーバを起動させる。電源の投入及び停止に使用されるインタフェースは、物理サーバそのものが備えるもの、物理サーバのベンダが提供する制御ソフト、一般のツールまたは独自の実装によるものでもかまわない。また、そのインタフェースにおけるプロトコル及び制御経路についても限定しない。
なお、再配置を実行するに際して、オンラインマイグレーション時、バッファとなる物理サーバが必要となる場合は、一時的に稼動していない物理サーバを起動してもよい。
また、再配置実行部26による、物理サーバに対する電源の投入・停止の指示、仮想サーバに対するマイグレーションの指示は、いかなるプロトコルを介して行われてもよい。そのようなプロトコルの例として、SNMP(Simple Network Management Protocol),IPMI(Intelligent Platform Management
Interface)、SMASH-CLP(System Management Architecture for Server Hardware Command Line
Protocol)を挙げることができる。
故障監視部27は、各物理サーバの状態(正常/故障)について監視し、故障が発生した場合にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。また、故障していた物理サーバが復旧した場合には、その物理サーバに対応するレコードの故障情報を“正常”と書き換える。
配置スケジュールデータ格納部28には、最適配置作成部25が作成した配置スケジュールが格納される。再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールを参照して、再配置を実行する。なお、配置スケジュールは、定期的に更新される。
次に、図1に示した管理端末3の構成要素についてさらに説明する。
管理情報表示部31は、管理サーバ2から与えられるデータに基づいて、システムの運用情報を含む様々な情報を表示する。管理情報表示部31で表示される情報は、例えば以下の情報である。
・物理サーバ、仮想サーバの詳細及び一覧
・仮想サーバ負荷データ(負荷値、動作情報)
・仮想サーバの負荷予測値
・仮想サーバの配置スケジュール
・仮想サーバの現在の配置状況
次に、管理サーバ2の負荷予測部24に実装されている負荷予測アルゴリズムの一例を、図6~図9を参照して詳細に説明する。
停止期間が存在する仮想サーバとしては、例えば週末や夜間に業務を行わないような利用方法が適用される仮想サーバが典型的である。停止期間がスケジュール化されている場合には、負荷予測アルゴリズムは、その停止期間のスケジュールを停止期間の予測値として直接利用できる。この場合、システム管理者がサーバ管理データベース23に仮想サーバの稼動スケジュールを予め登録するようにしてもよい。
停止期間がスケジュール化されていない場合は、負荷予測アルゴリズムは、例えば1日のうちのある時間区間(特定の1時間)について数週間に亘って動作情報(負荷データベース22内の情報;図3参照)を解析することにより、停止期間を予測(算出)する。この解析は例えば、仮想サーバの動作情報に基づき、1日のある特定の時間区間においてその仮想サーバが稼動している率(稼動率)を算出し、その稼動率が所定の閾値以下であることを条件として、その特定の時間区間が停止期間であると判断することにより行われる。停止期間を算出するために基礎とする動作情報は、日単位のもの、週単位のもの、又は月単位でもよいし、これらを組み合わせるようにしてもよい。
なお、負荷予測アルゴリズムにおいて稼動期間と停止期間を区別する理由は、仮に全期間中の負荷値の平均を算出したならば、その平均値は停止期間も含めて算出されるため、稼働中における負荷値の平均よりも低い値となって、実状と合致しないためである。
負荷予測アルゴリズムは、仮想サーバについて稼動時間が所定の閾値(例えば、30%)を下回る日を、その仮想サーバの「休業日」であると判断する。この休業日が7日おきに周期的に発生しているとすれば、その仮想サーバは土曜日・日曜日が休業日であり、将来も土曜日・日曜日は稼動しないことが予測できる。逆に、負荷予測アルゴリズムは、仮想サーバについて稼動時間が所定の閾値(例えば、30%)を上回る日を、その仮想サーバの「営業日」であると判断する。
また、負荷予測アルゴリズムは、1ヶ月間の営業日のうち所定の閾値(例えば、30%)を下回る日数で稼動時間となっている特定の時間帯は「休業時間」であると判断する。例えば図6の例では、この仮想サーバは朝2時から6時が休業時間であり、将来も2時から6時は稼動しないことが予測できる。また、負荷予測アルゴリズムは、1ヶ月間の営業日のうち所定の閾値(例えば、30%)を上回る日数で稼動時間となっている特定の時間帯は「就業時間」であると判断する。
図7は、図6に対してさらに、1時間単位の負荷値の例を付加した図である。図7に示す例において、灰色で表した仮想サーバの停止時間の負荷値はすべて0となっている。
以下では、負荷予測アルゴリズムが168時間周期(1週間の周期)で順次、負荷値を予測していく方法について説明する。この方法では、過去の数週間、例えば10週間の過去のデータ(168時間周期の負荷値のデータ×10)で毎週、各時間の負荷値についての移動平均処理を実行することにより、1週間分の負荷値を予測する。このとき、10週間に亘って特定の1時間に注目すると、その特定の1時間が稼働時間であったか、又は停止時間であったかについて平均処理において考慮される。例えば、特定の1時間に注目したときに、10週間中7週間で稼動時間(3週間で停止時間)であったならば、稼動時間であった7時間分の負荷値の合計を7で割った値を、その特定の1時間の負荷予測値とする。このような移動平均処理を行うことにより、毎週、将来の168時間(1週間)のすべての時間における負荷値が予測される。この168時間(1週間)のすべての時間における負荷値の予測例を図8に示す。
先ず、負荷予測部24は、負荷データベース22を参照し、例えば10週間分の仮想サーバVxの負荷データ(負荷値、動作情報)を取得し(ステップS10)、取得した仮想サーバVxの動作情報を解析する(ステップS12)。すなわち、取得した動作情報により、例えば1分間隔ごとの仮想サーバVxの状態(稼動又は停止)が分かるため(図3参照)、負荷予測部24は、1日のある特定の時間区間において仮想サーバVxの稼動率を算出する。そして、負荷予測部24は、その稼動率が所定の閾値以下であることを条件としてその特定の時間区間が停止時間であると判断し、稼動率が所定の閾値を上回ることを条件としてその特定の時間区間が稼働時間であると判断する。この解析によって、負荷予測部24は、例えば図6に示した、稼動状況に関する予測データを作成する(ステップS14)。さらに、負荷予測部24は、稼動期間(各1時間ごとの稼動時間)中の負荷値を解析する(ステップS16)。具体的には、負荷予測部24は、稼動時間について、ステップS10で取得した1分間隔ごとの負荷値の平均をとり、その稼動時間における負荷値を算出する。これにより、例えば図7に例示したようなマトリクスのデータ(例えば10週間分のデータ)が得られる。そして、負荷予測部24は、稼動時間のみを対象として、10週間分の負荷値の平均をとることで、稼動時間における予測負荷データを得る(ステップS18)。このとき、前述したように、特定の1時間において10週間中7週間で稼動時間(3週間で停止時間)であったならば、稼動時間であった7時間分の負荷値の合計を7で割った値を、その特定の1時間の負荷予測値とする。なお、予測負荷データには、負荷予測値とともに、停止時間の情報も含まれる。
図9に示す処理を、例えば毎週実行することで1週間ごとの負荷予測データがすべての仮想サーバについて生成される。
次に、管理サーバ2の最適配置作成部25に実装されている最適配置作成アルゴリズムについて、図10~図13を参照して詳細に説明する。
例えば、図10に示すように、各物理サーバの処理能力値がすべて100であり、配置対象の複数の仮想サーバの負荷予測値の合計が500である場合を想定する。仮想サーバすべてを動作させるのに必要な物理サーバ台数をNとすると、100×N×70%≧500という不等式が成立する最小の整数Nが最低限必要なサーバ台数となる。この場合、N≧7.14となるため、最低8台の物理サーバが必要となる。ここではすべての物理サーバの性能が同一としたが、同一でない場合は、物理サーバ性能の総和に0.7を乗じたものが左辺になると考えてよい。
最適配置作成部25は先ず、サーバ管理データベース23を参照し、物理サーバと仮想サーバの一覧を取得する(ステップS20)。これにより、配置対象の仮想サーバの仮想サーバID、及び各物理サーバの処理能力値が分かる(図4参照)。次に最適配置作成部25は、負荷予測部24から時間区間Ptにおける全仮想サーバの予測負荷データ(負荷予測値、停止時間のデータ)を取得する(ステップS22)。ステップS20及びS22により、時間区間Ptにおける、配置対象のすべての仮想サーバの負荷予測値と、各物理サーバの処理能力値とが得られたので、上述した最適配置作成アルゴリズムに従って最適化処理が実行される(ステップS24)。
すなわち、先ず、図11のステップS22で得られた負荷予測値の合計と、図20で得られた、稼働中の物理サーバの処理能力値とに基づいて、最低限必要な物理サーバの台数の初期値ntmpを算出する(ステップS30)。その後、ステップS32、S34、S36が、時間区間Ptにおける、配置対象のすべての仮想サーバx(x=0,1,…,m)と、ntmp個の物理サーバy(y=0,1,…,ntmp)とに対して実行される。ステップS32及びS34では、各仮想サーバを順に1つずつ物理サーバに割り当てる処理が行われる。ステップS32において、物理サーバyに仮想サーバxを配置可能かについての判断は、物理サーバに配置される仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲内にあるか否かに基づく。
ステップS36で、物理サーバ0~ntmpにこれ以上配置できない、すなわち、ステップS30で決めた物理サーバ台数では上記所定の比率の範囲(許容範囲)を満足しない場合には、物理サーバに余裕があることを条件として(ステップS38)、配置先の物理サーバを1台追加した上で(ステップS40)、処理が継続される。
図11において最適化処理が実行されると、時間区間Ptにおける最適配置の組合せ(各物理サーバと、各物理サーバに配置される仮想サーバとの組合せ)が決定される(ステップS26)。ステップS20~S26をすべての時間区間を対象に実行することで、例えば将来の1週間分における1時間ごとの配置スケジュールが作成される(ステップS28)。この配置スケジュールの一例を図13に示す。図13の例では、YYYY/MM/DDの日付の時刻10:00:00において、例えば物理サーバP1に仮想サーバV1,V4,V7,V10,V12が配置される予定であることを示している。配置スケジュールは、配置スケジュールデータとして配置スケジュールデータ格納部28に格納される。
次に、管理サーバ2の再配置実行部26の処理について、図14~図16を参照して説明する。
[処理6A]
対象時間区間における配置スケジュールデータを読み込む。また、物理サーバ及び仮想サーバの情報をサーバ管理データベース23に問い合わせる。
[処理6B]
対象時間区間で稼動する物理サーバと、対象時間区間の一つ前の(1時間前の)時間区間で稼動する物理サーバとを比較する。一致する物理サーバ(すなわち、両方の時間区間で稼動する物理サーバ)に対しては特に何も処理しないが、一致しない物理サーバ(すなわち、一方の時間区間のみで稼動する物理サーバ)に対しては電源の投入または停止の指示を行う。ここで、対象時間区間において物理サーバ数が増加する場合、電源の投入が対象時間区間の仮想サーバの配置に先立って行われる。対象時間区間において物理サーバ数が減少する場合、対象時間区間で停止する物理サーバの電源の切断は、その物理サーバに配置されていた仮想サーバを別の物理サーバへ移動し、すべての仮想サーバがその物理サーバ上で動作していない状態になってから実施する。
[処理6C]
処理6Bと同様に、対象時間区間とその一つ前の時間区間において、各仮想サーバが配置されている物理サーバを比較する。その結果、配置される物理サーバが一致する仮想サーバに対しては何も処理を行わないが、一致しない仮想サーバに対してはマイグレーションの指示を行う。
図14の例では、(a)に示すように再配置前に物理サーバが8台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバが必要なスケジュールであると分かると、再配置実行部26は、(b)に示すように、再配置前に1台の物理サーバの電源を投入する指示を行う。そして、再配置実行部26は、(c)に示すように、新たに電源投入された物理サーバに対して仮想サーバのマイグレーションを行うための指示を出す。
図15の例では、(a)に示すように再配置前に物理サーバが10台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバで足りるスケジュールであると分かると、再配置実行部26は、(b)に示すように、仮想サーバのマイグレーションを行うための指示を出し、再配置を実行する。そして、再配置実行部26は、(c)に示すように、マイグレーションにより仮想サーバを1つも配置しなくなった物理サーバの電源を切断する指示を行う。
図16において、先ず、再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールデータを読み出し、その配置スケジュールデータから対象時間区間における配置一覧(仮想サーバをどの物理サーバに配置するかについての一覧のデータ)を読み込む(ステップS50)。そして、再配置実行部26は、サーバ管理データベース23に対して物理サーバ及び仮想サーバの動作情報(“稼動”又は“停止”のいずれかの状態を示す情報)を問い合わせる(ステップS52)。そして、再配置実行部26は、ステップS52で得られた動作情報に基づき、対象時間区間とその1つ前の時間区間における各物理サーバの動作状態を比較し、各物理サーバの動作状態の変化を調べる(ステップS54)。さらに、再配置実行部26は、負荷データベース22を参照して、対象時間区間とその1つ前の時間区間における各仮想サーバの動作状態を比較し、各仮想サーバの動作状態の変化を調べる(ステップS56)。
また、再配置処理においては、オンライン又はオフラインで行ったとしても、再配置に処理に関わるオーバヘッド(ネットワーク負荷など)が生ずるため、最適配置作成部25では、このオーバヘッドが極力少なくなるような配置スケジュールとなるように考慮がされたアルゴリズムの実装が好ましい。
次に、本実施形態の管理サーバ2の好ましい処理として、物理サーバ故障時及び復旧時の処理について説明する。
物理サーバに故障が生じた場合には、故障が生じた物理サーバ上の仮想サーバを代替の別の物理サーバ上へ移動することが好ましい。具体的には、故障監視部27が各物理サーバの状態(正常/故障)について監視し、故障が発生した場合(直ちに物理サーバが停止した場合)にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。同時に、再配置実行部26は、サーバ管理データベース23上物理サーバの故障情報に変化に応じて、代替の別の物理サーバの起動、及び仮想サーバのマイグレーションにより自動復旧を行う。また、最適配置作成部25は、サーバ管理データベース23上物理サーバの故障情報に変化に基づき、故障が生じた物理サーバをスケジュール対象の物理サーバから除外する。
なお、ここで故障の予兆とは、サーバに備わる冷却用ファンの回転数に異常が生ずることや、一定期間にコレクタブルエラーが所定の回数以上発生すること等、放置しておけば故障につながる可能性が高い事象をいう。
図17では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの故障/故障予兆を検知する(ステップS70)。そして、物理サーバに故障が生じた場合には(ステップS72)、再配置実行部26は、故障した物理サーバ上に配置されている仮想サーバをすべて代替の別の物理サーバへマイグレーションを行う指示を出す(ステップS74)。ステップS72で物理サーバの故障の予兆が検知された場合には、ステップS74は実行しない。さらに、故障監視部27は、サーバ管理データベース23上で、故障又は故障の予兆が検知された物理サーバの故障情報を“故障”に書き換える(ステップS76)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、稼動物理サーバの候補、すなわち、スケジュール対象の物理サーバの候補から、故障又は故障の予兆が検知された物理サーバが除外される。
図18では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの復旧を検知する(ステップS80)。そして、故障監視部27は、サーバ管理データベース23上で、復旧を検知した物理サーバの故障情報を“正常”に書き換える(ステップS82)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、スケジュール対象の物理サーバの候補に、復旧した物理サーバが組み込まれるようになる。
また、上記配置スケジュールの生成及び再配置の実行は、自動的に行われて人手を要しないため、運用・管理コストが上昇しない。
この仮想サーバ配置方法によれば、複数の仮想サーバの各々の現在までの所定期間における負荷値に基づいて、各仮想サーバの将来の負荷値(負荷予測値)を予測し、物理サーバに配置される1又は複数の仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの負荷予測値に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定し、そのスケジュールに従って、複数の仮想サーバの一部又はすべてを、複数の物理サーバの一部又はすべての上に配置するための指示を行う。
Claims (9)
- 複数の仮想サーバを複数の物理サーバに配置するためのサーバ管理プログラムであって、
複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定する手順と、
前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
をコンピュータに実行させるためのサーバ管理プログラム。 - 前記第2負荷を予測する手順において、
前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
請求項1に記載されたサーバ管理プログラム。 - 前記スケジュールを決定する手順において、
前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
請求項1に記載されたサーバ管理プログラム。 - 複数の仮想サーバを複数の物理サーバに配置するための管理サーバであって、
複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定するスケジュール生成部と、
前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う配置実行部と、
を備えた管理サーバ。 - 前記負荷予測部は、前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
請求項4に記載された管理サーバ。 - 前記スケジュール生成部は、前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
請求項4に記載された管理サーバ。 - 複数の仮想サーバを複数の物理サーバに配置するために、管理サーバによって実行される仮想サーバ配置方法であって、
複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測し、
物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定し、
前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う、
仮想サーバ配置方法。 - 前記第2負荷を予測するとき、
前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
請求項7に記載された仮想サーバ配置方法。 - 前記スケジュールを決定するとき、
前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
請求項7に記載された仮想サーバ配置方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200980159500.7A CN102449603B (zh) | 2009-06-01 | 2009-06-01 | 服务器管理程序、管理服务器以及虚拟服务器配置方法 |
JP2011518062A JP5338906B2 (ja) | 2009-06-01 | 2009-06-01 | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 |
PCT/JP2009/002421 WO2010140183A1 (ja) | 2009-06-01 | 2009-06-01 | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 |
KR1020117028077A KR101351688B1 (ko) | 2009-06-01 | 2009-06-01 | 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법 |
EP09845469.7A EP2439641B1 (en) | 2009-06-01 | 2009-06-01 | Server control program, control server, virtual server distribution method |
US13/297,840 US8782652B2 (en) | 2009-06-01 | 2011-11-16 | Control server, virtual server distribution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/002421 WO2010140183A1 (ja) | 2009-06-01 | 2009-06-01 | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/297,840 Continuation US8782652B2 (en) | 2009-06-01 | 2011-11-16 | Control server, virtual server distribution method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010140183A1 true WO2010140183A1 (ja) | 2010-12-09 |
Family
ID=43297332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/002421 WO2010140183A1 (ja) | 2009-06-01 | 2009-06-01 | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8782652B2 (ja) |
EP (1) | EP2439641B1 (ja) |
JP (1) | JP5338906B2 (ja) |
KR (1) | KR101351688B1 (ja) |
CN (1) | CN102449603B (ja) |
WO (1) | WO2010140183A1 (ja) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012141671A (ja) * | 2010-12-28 | 2012-07-26 | Hitachi Ltd | 仮想計算機の移動方法、仮想計算機システム及び管理サーバ |
WO2012117453A1 (ja) * | 2011-03-03 | 2012-09-07 | 株式会社日立製作所 | 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 |
JP2012174068A (ja) * | 2011-02-22 | 2012-09-10 | Fujitsu Ltd | 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム |
JP2012194907A (ja) * | 2011-03-17 | 2012-10-11 | Nec Corp | 仮想計算機割り当てシステム、及び仮想計算機割り当て方法 |
JP2012252602A (ja) * | 2011-06-03 | 2012-12-20 | Nippon Telegr & Teleph Corp <Ntt> | サーバ管理システム、サーバ管理装置、サーバ管理方法、及びサーバ管理プログラム |
JP2013025819A (ja) * | 2011-07-21 | 2013-02-04 | Hon Hai Precision Industry Co Ltd | 電力管理システム及び電力管理システムの電力管理方法 |
JP2013164749A (ja) * | 2012-02-10 | 2013-08-22 | Nomura Research Institute Ltd | 仮想サーバ管理システム |
JP2013218687A (ja) * | 2012-04-09 | 2013-10-24 | Hon Hai Precision Industry Co Ltd | サーバー監視システム及びその方法 |
JP2014093080A (ja) * | 2012-10-31 | 2014-05-19 | International Business Maschines Corporation | 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム |
JP2014531690A (ja) * | 2011-09-30 | 2014-11-27 | アルカテル−ルーセント | ハードウェア消費アーキテクチャ |
WO2014192132A1 (ja) * | 2013-05-31 | 2014-12-04 | 株式会社日立製作所 | 負荷分散装置及び方法 |
JP2015127974A (ja) * | 2015-03-04 | 2015-07-09 | 株式会社野村総合研究所 | 仮想サーバ管理システム |
JP2015170211A (ja) * | 2014-03-07 | 2015-09-28 | 富士通株式会社 | 情報処理プログラム、情報処理方法、及び情報処理装置 |
JP2015215857A (ja) * | 2014-05-13 | 2015-12-03 | 日本電信電話株式会社 | 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 |
JP2016110240A (ja) * | 2014-12-03 | 2016-06-20 | 日本電信電話株式会社 | 電源制御装置、サーバ仮想化システム、および、電源制御方法 |
US9703591B2 (en) | 2014-09-10 | 2017-07-11 | Fujitsu Limited | Workload distribution management apparatus and control method |
WO2020050094A1 (ja) * | 2018-09-03 | 2020-03-12 | 日本電信電話株式会社 | リソース割当装置、リソース割当方法およびリソース割当プログラム |
JP2020508022A (ja) * | 2017-02-16 | 2020-03-12 | カーサシステムズ インコーポレイテッドCasa Systems,Inc. | スケーラブルな進化したパケットコア |
JP2020071779A (ja) * | 2018-11-01 | 2020-05-07 | 富士通株式会社 | スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置 |
US10680904B2 (en) | 2017-04-17 | 2020-06-09 | Fujitsu Limited | Determining periodicity of operation status information to predict future operation statuses of resources of the information processing devices |
US10871986B2 (en) | 2018-07-03 | 2020-12-22 | Fujitsu Limited | Virtual server migration after performance deterioration |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130014113A1 (en) * | 2010-03-25 | 2013-01-10 | Nec Corporation | Machine operation plan creation device, machine operation plan creation method and machine operation plan creation program |
US8782211B1 (en) * | 2010-12-21 | 2014-07-15 | Juniper Networks, Inc. | Dynamically scheduling tasks to manage system load |
WO2013051136A1 (ja) * | 2011-10-06 | 2013-04-11 | 株式会社日立製作所 | 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ |
WO2014045413A1 (ja) * | 2012-09-21 | 2014-03-27 | 株式会社東芝 | システム管理装置、ネットワークシステム、システム管理方法およびプログラム |
EP2755135B1 (en) * | 2013-01-14 | 2016-07-13 | Fujitsu Limited | Computing device, method, and program for energy-efficient distribution of computational load |
JP2014142678A (ja) * | 2013-01-22 | 2014-08-07 | Hitachi Ltd | 仮想サーバ移行計画作成方法およびシステム |
JP6426532B2 (ja) * | 2015-05-08 | 2018-11-21 | 株式会社日立製作所 | 仮想マシン運用支援システムおよび仮想マシン運用支援方法 |
KR102607808B1 (ko) * | 2015-09-11 | 2023-11-30 | 삼성전자주식회사 | 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당 |
JP6640025B2 (ja) * | 2016-05-27 | 2020-02-05 | 本田技研工業株式会社 | 分散処理制御システム及び分散処理制御方法 |
JP6571046B2 (ja) * | 2016-06-21 | 2019-09-04 | 株式会社東芝 | サーバ装置、情報処理方法及びプログラム |
US10594216B2 (en) | 2018-03-23 | 2020-03-17 | Dell Products, L.P. | Configurable voltage drop compensation method and apparatus for voltage regulators |
CN108881435B (zh) * | 2018-06-15 | 2021-12-03 | 广东美的制冷设备有限公司 | 实时时钟提供方法、服务器、家电设备、系统和介质 |
KR102062157B1 (ko) * | 2019-04-29 | 2020-01-03 | 오케스트로 주식회사 | 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 |
KR102135209B1 (ko) * | 2019-08-19 | 2020-07-17 | 오케스트로 주식회사 | 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치 |
KR102316749B1 (ko) * | 2019-07-31 | 2021-10-25 | 오케스트로 주식회사 | 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 |
US11620150B2 (en) | 2019-07-31 | 2023-04-04 | Okestro Co., Ltd. | Virtual machine management method using virtual machine deployment simulation |
KR102135208B1 (ko) * | 2019-07-31 | 2020-07-17 | 오케스트로 주식회사 | 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 |
KR102347371B1 (ko) * | 2019-08-19 | 2022-01-05 | 오케스트로 주식회사 | 딥러닝을 이용한 가상 머신 배치 시뮬레이션 방법 및 이를 실행하는 가상 머신 배치 모의 실험 장치 |
KR102284074B1 (ko) * | 2019-12-26 | 2021-07-30 | 연세대학교 산학협력단 | 가상머신 워크로드 클러스터링 예측을 활용한 높은 전력 효율성을 제공하는 다중 서버 관리 방법 |
KR102126434B1 (ko) * | 2019-12-27 | 2020-06-25 | 오케스트로 주식회사 | 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 |
JP7261195B2 (ja) * | 2020-03-25 | 2023-04-19 | 株式会社日立製作所 | サーバ負荷予測システム及びサーバ負荷予測方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244481A (ja) | 2005-02-28 | 2006-09-14 | Hewlett-Packard Development Co Lp | クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法 |
JP2007200347A (ja) * | 2007-03-26 | 2007-08-09 | Hitachi Ltd | 仮想計算機システム及びプログラム |
WO2008102739A1 (ja) * | 2007-02-23 | 2008-08-28 | Nec Corporation | 仮想サーバシステム及び物理サーバ選択方法 |
JP2008276320A (ja) * | 2007-04-25 | 2008-11-13 | Nec Corp | 仮想システム制御方法およびコンピュータシステム |
JP2009110347A (ja) * | 2007-10-31 | 2009-05-21 | Hewlett-Packard Development Co Lp | 資源管理システム、資源管理装置およびその方法 |
JP2009116852A (ja) * | 2007-10-18 | 2009-05-28 | Fujitsu Ltd | マイグレーションプログラム、および仮想マシン管理装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003271572A (ja) | 2002-03-14 | 2003-09-26 | Fuji Photo Film Co Ltd | 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法 |
US8776050B2 (en) * | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US20050060590A1 (en) * | 2003-09-16 | 2005-03-17 | International Business Machines Corporation | Power-aware workload balancing usig virtual machines |
US7689685B2 (en) * | 2003-09-26 | 2010-03-30 | International Business Machines Corporation | Autonomic monitoring for web high availability |
JP3861087B2 (ja) | 2003-10-08 | 2006-12-20 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン管理装置及びプログラム |
US7437730B2 (en) * | 2003-11-14 | 2008-10-14 | International Business Machines Corporation | System and method for providing a scalable on demand hosting system |
JP2006172241A (ja) | 2004-12-17 | 2006-06-29 | Fujitsu Ltd | 負荷分散装置,負荷分散方法および負荷分散プログラム |
JP5229590B2 (ja) * | 2007-09-18 | 2013-07-03 | 日本電気株式会社 | サーバ組替支援システム、サーバ組替支援方法 |
US8468230B2 (en) | 2007-10-18 | 2013-06-18 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
JP5378946B2 (ja) | 2009-10-26 | 2013-12-25 | 株式会社日立製作所 | サーバ管理装置およびサーバ管理方法 |
-
2009
- 2009-06-01 EP EP09845469.7A patent/EP2439641B1/en not_active Not-in-force
- 2009-06-01 JP JP2011518062A patent/JP5338906B2/ja active Active
- 2009-06-01 CN CN200980159500.7A patent/CN102449603B/zh not_active Expired - Fee Related
- 2009-06-01 KR KR1020117028077A patent/KR101351688B1/ko not_active IP Right Cessation
- 2009-06-01 WO PCT/JP2009/002421 patent/WO2010140183A1/ja active Application Filing
-
2011
- 2011-11-16 US US13/297,840 patent/US8782652B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244481A (ja) | 2005-02-28 | 2006-09-14 | Hewlett-Packard Development Co Lp | クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法 |
WO2008102739A1 (ja) * | 2007-02-23 | 2008-08-28 | Nec Corporation | 仮想サーバシステム及び物理サーバ選択方法 |
JP2007200347A (ja) * | 2007-03-26 | 2007-08-09 | Hitachi Ltd | 仮想計算機システム及びプログラム |
JP2008276320A (ja) * | 2007-04-25 | 2008-11-13 | Nec Corp | 仮想システム制御方法およびコンピュータシステム |
JP2009116852A (ja) * | 2007-10-18 | 2009-05-28 | Fujitsu Ltd | マイグレーションプログラム、および仮想マシン管理装置 |
JP2009110347A (ja) * | 2007-10-31 | 2009-05-21 | Hewlett-Packard Development Co Lp | 資源管理システム、資源管理装置およびその方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2439641A4 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012141671A (ja) * | 2010-12-28 | 2012-07-26 | Hitachi Ltd | 仮想計算機の移動方法、仮想計算機システム及び管理サーバ |
JP2012174068A (ja) * | 2011-02-22 | 2012-09-10 | Fujitsu Ltd | 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム |
WO2012117453A1 (ja) * | 2011-03-03 | 2012-09-07 | 株式会社日立製作所 | 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 |
JPWO2012117453A1 (ja) * | 2011-03-03 | 2014-07-07 | 株式会社日立製作所 | 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 |
JP5412599B2 (ja) * | 2011-03-03 | 2014-02-12 | 株式会社日立製作所 | 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法 |
JP2012194907A (ja) * | 2011-03-17 | 2012-10-11 | Nec Corp | 仮想計算機割り当てシステム、及び仮想計算機割り当て方法 |
JP2012252602A (ja) * | 2011-06-03 | 2012-12-20 | Nippon Telegr & Teleph Corp <Ntt> | サーバ管理システム、サーバ管理装置、サーバ管理方法、及びサーバ管理プログラム |
JP2013025819A (ja) * | 2011-07-21 | 2013-02-04 | Hon Hai Precision Industry Co Ltd | 電力管理システム及び電力管理システムの電力管理方法 |
US8627314B2 (en) | 2011-07-21 | 2014-01-07 | Hon Hai Precision Industry Co., Ltd. | Method for managing power of host computer |
EP2549361A3 (en) * | 2011-07-21 | 2015-06-03 | Hon Hai Precision Industry Co., Ltd. | Control computer and method for managing power using the same |
US9183102B2 (en) | 2011-09-30 | 2015-11-10 | Alcatel Lucent | Hardware consumption architecture |
JP2014531690A (ja) * | 2011-09-30 | 2014-11-27 | アルカテル−ルーセント | ハードウェア消費アーキテクチャ |
JP2013164749A (ja) * | 2012-02-10 | 2013-08-22 | Nomura Research Institute Ltd | 仮想サーバ管理システム |
JP2013218687A (ja) * | 2012-04-09 | 2013-10-24 | Hon Hai Precision Industry Co Ltd | サーバー監視システム及びその方法 |
JP2014093080A (ja) * | 2012-10-31 | 2014-05-19 | International Business Maschines Corporation | 仮想化シミュレーション・エンジンのための方法、システム、およびコンピュータ・プログラム |
WO2014192132A1 (ja) * | 2013-05-31 | 2014-12-04 | 株式会社日立製作所 | 負荷分散装置及び方法 |
US9384059B2 (en) | 2013-05-31 | 2016-07-05 | Hitachi, Ltd. | Comparing resource costs between allocation plans in a load balance apparatus |
JP2015170211A (ja) * | 2014-03-07 | 2015-09-28 | 富士通株式会社 | 情報処理プログラム、情報処理方法、及び情報処理装置 |
JP2015215857A (ja) * | 2014-05-13 | 2015-12-03 | 日本電信電話株式会社 | 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置 |
US9703591B2 (en) | 2014-09-10 | 2017-07-11 | Fujitsu Limited | Workload distribution management apparatus and control method |
JP2016110240A (ja) * | 2014-12-03 | 2016-06-20 | 日本電信電話株式会社 | 電源制御装置、サーバ仮想化システム、および、電源制御方法 |
JP2015127974A (ja) * | 2015-03-04 | 2015-07-09 | 株式会社野村総合研究所 | 仮想サーバ管理システム |
JP7109148B2 (ja) | 2017-02-16 | 2022-07-29 | カーサシステムズ インコーポレイテッド | スケーラブルな進化したパケットコア |
JP2020508022A (ja) * | 2017-02-16 | 2020-03-12 | カーサシステムズ インコーポレイテッドCasa Systems,Inc. | スケーラブルな進化したパケットコア |
US10680904B2 (en) | 2017-04-17 | 2020-06-09 | Fujitsu Limited | Determining periodicity of operation status information to predict future operation statuses of resources of the information processing devices |
US10871986B2 (en) | 2018-07-03 | 2020-12-22 | Fujitsu Limited | Virtual server migration after performance deterioration |
JP2020038434A (ja) * | 2018-09-03 | 2020-03-12 | 日本電信電話株式会社 | リソース割当装置、リソース割当方法およびリソース割当プログラム |
US11397618B2 (en) | 2018-09-03 | 2022-07-26 | Nippon Telegraph And Telephone Corporation | Resource allocation device, resource allocation method, and resource allocation program |
WO2020050094A1 (ja) * | 2018-09-03 | 2020-03-12 | 日本電信電話株式会社 | リソース割当装置、リソース割当方法およびリソース割当プログラム |
JP2020071779A (ja) * | 2018-11-01 | 2020-05-07 | 富士通株式会社 | スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置 |
JP7197776B2 (ja) | 2018-11-01 | 2022-12-28 | 富士通株式会社 | スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5338906B2 (ja) | 2013-11-13 |
EP2439641A1 (en) | 2012-04-11 |
US8782652B2 (en) | 2014-07-15 |
US20120066684A1 (en) | 2012-03-15 |
KR101351688B1 (ko) | 2014-01-14 |
JPWO2010140183A1 (ja) | 2012-11-15 |
CN102449603B (zh) | 2014-10-08 |
CN102449603A (zh) | 2012-05-09 |
EP2439641B1 (en) | 2016-10-12 |
KR20120023703A (ko) | 2012-03-13 |
EP2439641A4 (en) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5338906B2 (ja) | サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 | |
EP3847549B1 (en) | Minimizing impact of migrating virtual services | |
US8589932B2 (en) | Data processing workload control | |
US9807159B2 (en) | Allocation of virtual machines in datacenters | |
US9965262B2 (en) | Application bundle pulling | |
US20150007178A1 (en) | Virtual machines management apparatus, virtual machines management method, and computer readable storage medium | |
US20090259734A1 (en) | Distribution management method, a distribution management system and a distribution management server | |
US20210004000A1 (en) | Automated maintenance window predictions for datacenters | |
US10389850B2 (en) | Managing redundancy among application bundles | |
Zolfaghari et al. | Virtual machine consolidation in cloud computing systems: Challenges and future trends | |
JP2021056955A (ja) | 分散型ストレージシステム及びデータ移動方法 | |
JP2015184879A (ja) | 基盤運用管理システムおよび基盤運用管理方法 | |
JP5664339B2 (ja) | 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム | |
US20140351644A1 (en) | System and method to proactively and intelligently schedule disaster recovery (dr) drill(s)/test(s) in computing system environment | |
US20220382603A1 (en) | Generating predictions for host machine deployments | |
JP5257709B2 (ja) | 仮想計算機の移動方法、仮想計算機システム及び管理サーバ | |
US10909094B1 (en) | Migration scheduling for fast-mutating metadata records | |
US11656914B2 (en) | Anticipating future resource consumption based on user sessions | |
US20230418663A1 (en) | System and methods for dynamic workload migration and service utilization based on multiple constraints | |
US12045667B2 (en) | Auto-split and auto-merge clusters | |
JP2011253475A (ja) | 計算機システム | |
US8234513B2 (en) | Power management method | |
JP2006344091A (ja) | システム再構成自動化装置 | |
CN118672758B (zh) | 一种多集群任务调度和监控的系统、方法、装置和介质 | |
US20230401085A1 (en) | Selection of hosts for virtual machines based on current virtual machine requirements and headroom availability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200980159500.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09845469 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2011518062 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 20117028077 Country of ref document: KR Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2009845469 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009845469 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |