[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2010140183A1 - サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 - Google Patents

サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 Download PDF

Info

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
Application number
PCT/JP2009/002421
Other languages
English (en)
French (fr)
Inventor
高見浩之
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to CN200980159500.7A priority Critical patent/CN102449603B/zh
Priority to JP2011518062A priority patent/JP5338906B2/ja
Priority to PCT/JP2009/002421 priority patent/WO2010140183A1/ja
Priority to KR1020117028077A priority patent/KR101351688B1/ko
Priority to EP09845469.7A priority patent/EP2439641B1/en
Publication of WO2010140183A1 publication Critical patent/WO2010140183A1/ja
Priority to US13/297,840 priority patent/US8782652B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload 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

 複数の物理サーバに対して複数の仮想サーバを配置するとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な配置を行う。 先ず、複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷が予測される。次に、物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールが決定される。さらに、そのスケジュールに従って、配置の指示(再配置の実行)が行われる。

Description

サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
 本発明は、複数の物理サーバ上で複数の仮想サーバを動作させる仮想コンピューティングの技術に係り、より具体的には、仮想サーバを物理サーバに配置するに当たってのスケジューリングに関する。
 近年の仮想サーバ技術の発展により、物理サーバ上で複数の仮想サーバを動作させることや、仮想サーバを稼動させたまま異なる物理サーバ間で移動できる技術(オンラインマイグレーション)が利用可能になっている。マイグレーションについては、例えば特許文献1において言及されている。
特開2006-244481号公報
 ところで、稼働中の1又は複数の物理サーバで得られる性能の総和と比較して、配置対象の複数の仮想サーバによる負荷が低すぎる場合には、物理サーバを無駄に稼動させていることになる。すなわち、この場合、稼動する物理サーバの電力消費量の観点から効率的ではない。
 逆に、稼働中の1又は複数の物理サーバで得られる性能の総和と比較して、配置対象の複数の仮想サーバによる負荷が高すぎるとしたならば、稼動する物理サーバにおいて処理上の余裕がなく、突発的な仮想サーバの負荷の上昇に対して対処できず、処理期間が遅延する可能性がある。
 よって、本発明の1つの側面では、複数の物理サーバに対して複数の仮想サーバを配置するとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な配置を行うサーバ管理プログラム、管理サーバ、仮想サーバ配置方法を提供することを目的とする。
 第1の観点では、複数の仮想サーバを複数の物理サーバに配置するためのサーバ管理プログラムが提供される。このサーバ管理プログラムは、
 (A)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
 (B)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定する手順と、
 (C)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
 をコンピュータに実行させるためのプログラムである。同様の観点の、管理サーバによって実行される仮想サーバ配置方法も提供される。
 第2の観点では、複数の仮想サーバを複数の物理サーバに配置するための管理サーバが提供される。この管理サーバは、
 (D)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
 (E)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定するスケジュール生成部と、
 (F)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う配置実行部と、
 を備える。
 複数の物理サーバに対して複数の仮想サーバを配置するとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な配置を行うことができる。
実施形態におけるシステム全体の構成を示すブロック図。 実施形態のシステムにおいて負荷データが伝達される経路を例示する図。 実施形態の管理サーバにおいて、負荷データベースのデータ構造を例示する図。 実施形態の管理サーバにおいて、サーバ管理データベースの内容の一例を示す図。 管理端末から実施形態の管理サーバに対して管理情報の要求を送信し、その応答を受信する態様を示す図。 1ヶ月間における、1時間単位の予測結果(稼動期間、又は停止期間)を例示する図。 図6に対してさらに、1時間単位の負荷値の例を付加した図。 168時間(1週間)のすべての時間における負荷値の予測例を示す図。 実施形態の管理サーバにおいて、負荷予測アルゴリズムに従った、負荷値の予測処理のフローチャート。 ある時間区間における各仮想サーバの負荷予測値、及び各物理サーバの処理能力値を例示した図。 実施形態の管理サーバにおいて、最適配置作成部による処理を示すフローチャート。 図11における最適化処理を示すフローチャート。 実施形態の管理サーバにおける配置スケジュールの一例を示す図。 実施形態の管理サーバにおける再配置実行の例を示す図。 実施形態の管理サーバにおける再配置実行の例を示す図。 実施形態の管理サーバにおける再配置処理のフローチャート。 実施形態の管理サーバにおいて、物理サーバで故障または故障予知が発生した場合の処理を示すフローチャート。 実施形態の管理サーバにおいて、物理サーバが保守交換等により正常に復旧した場合の処理を示すフローチャート。
 (1)システム構成
 以下、実施形態に係る管理サーバを含むネットワークシステム(以下、単に「システム」という。)の全体構成について、図1を参照して説明する。
 図1に示すように、このシステムには、管理サーバ2、管理端末3及び管理対象サーバ群4がネットワークを介して接続される。このシステムでは、管理サーバ2により、管理対象サーバ群4における各物理サーバに対して1又は複数仮想サーバが配置されるように制御される。このとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な仮想サーバの配置が行われることが意図されている。
 図1に示すように、管理対象サーバ群4は、複数の仮想サーバ(図中、「V」で示す。)、及び複数の物理サーバ(図中、「P」で示す。)を含み、ネットワークを介して管理サーバ2により管理される対象となるサーバ群である。ここで、物理サーバは、仮想サーバが動作するためのプラットフォームであり、コンピュータハードウエア、及びハイパーバイザなどの仮想サーバ管理ソフトウエアを備える。
 仮想サーバは、物理サーバ上においてソフトウエア的に実現されるサーバである。仮想サーバ上では1つ以上の業務(アプリケーション)が動作する。異なる業務を行う仮想サーバが複数組み合わされて物理サーバ上に配置される場合もあり、同一の業務を行う複数の仮想サーバが異なる物理サーバ上に配置される場合もある。
 なお、仮想サーバのデータは、物理サーバに直接接続されたディスク装置に格納されてもよいし、物理サーバと別に存在し、ネットワークまたは直接結線により接続された共用ディスク(SAN(Storage Area Network)、NFS(Network File System)、iSCSI(Internet Small Computer System Interface)等)に格納されてもよい。また、仮想サーバのデータが格納されるディスクの物理媒体の種類についても限定しない。
 管理サーバ2は、管理対象サーバ群4とはネットワークを介して通信可能であるが、管理対象サーバ群4とは独立して存在し、システム全体を統括し制御する。
 図1に示すように、管理サーバ2は、システム制御部21と、負荷データベース(負荷DB)22と、サーバ管理データベース(サーバ管理DB)23と、負荷予測部24と、最適配置作成部25(スケジュール生成部)と、再配置実行部26(配置実行部)と、故障監視部27と、配置スケジュールデータ格納部28と、を備える。この管理サーバ2の各構成要素は物理的に単一のサーバに収容されてもよいし、構成要素ごとに複数のサーバに亘って存在してもよい。
 管理端末3は、管理情報表示部31を備えたクライアントである。管理端末3は、管理サーバ2と直接、又はネットワークを経由して接続される。図1は、管理端末3がネットワークを経由して管理サーバ2と接続されている例を示している。なお、管理情報表示部31は、管理端末3に実装してもよいし、管理サーバ2に実装してもよい。図1は、管理情報表示部31が管理端末3に実装された例を示している。
 (2)管理サーバの構成
 次に、図1に示した管理サーバ2の各構成要素について、より詳細に説明する。
 [システム制御部21]
 システム制御部21は主としてマイクロコントローラにより構成され、管理サーバ2全体の制御、各データベースの管理、管理サーバ2の各部への指令の送出を行う。管理サーバ2が複数のコンピュータによって構成される場合には、システム制御部21はその複数のコンピュータ全体を統括する。また、システム制御部21は、管理端末3からの要求の受信、及びその要求に基づいて管理端末3で表示すべきデータの送信を行う。
 [負荷データベース22]
 負荷データベース22には、各仮想サーバの過去の負荷データが蓄積される。
 ここで、負荷データは、各仮想サーバの負荷値、及び各仮想サーバの動作状態(稼動又は停止)に関する情報(以下、「動作情報」という。)を含む。
 負荷データに含まれる負荷値は、後述する処理能力値と比較可能な指標であれば何でもよい。負荷値は、例えば、CPU、メモリ或いはディスクなどの計算機のリソースに係る使用率、又はそれらのリソースを総合した指標値でもよいし、ある業務量を実行するのに必要な計算能力のベンチマーク値でもよい。
 負荷データが負荷データベース22に蓄積されるときの経路、蓄積される方法、蓄積されるタイミング等は限定しない。例えば、負荷データが負荷データベース22に蓄積されるときの経路に関して言及すれば、仮想サーバ側に負荷データを計測し、管理サーバ2へ定期的に送信する機能を備えたエージェントを設けるようにしてもよいし、管理サーバ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のレコードに記録する。
 なお、図1及び図2では、負荷データベース22とサーバ管理データベース23をそれぞれ別個のデータベースとして存在することを前提として説明したが、単一のデータベース(単一のテーブル)として構成するようにしてもよい。
 一定期間ごとに負荷データベース22に記録される負荷データに含まれる負荷値は、瞬時値(1サンプル)でもよいし、平均値(複数のサンプルの平均値)でもよいし、合計値(複数のサンプルの合計値)でもよい。複数のサンプルに基づいて記録される負荷データを決定する場合には、そのサンプル数について特に限定しない。また、負荷データの取得間隔(上記の一定期間)は、少なくとも後述する負荷予測に必要な間隔以下に設定される。
 前述したように、負荷データベース22に記録される負荷データには、各仮想サーバの負荷値だけでなく、各仮想サーバの動作情報も含む。この動作情報は、後述する負荷予測において、仮想サーバの停止期間を考慮した、正確な予測値を算出するために利用される。
 図2(a)に示す例では、システム制御部21がハイパーバイザに問い合わせる際、対象の仮想サーバの動作情報を負荷値と同時に取得し、負荷値と動作情報を含む負荷データが負荷データベース22に記録される。
 図2(b)に示す例では、仮想サーバの起動時及び停止時に、仮想サーバ、又はハイパーバイザは、システム制御部21に対して、仮想サーバの動作状態の変更の通知を行う。この通知に基づき、システム制御部21は、仮想サーバの動作情報を負荷データベース22に記録する。
 図3に負荷データベース22のデータ構造の例を示す。
 図3において、負荷データベース22には、複数のレコード(レコード1,2,…,m)に対応して、各仮想サーバID(VM1,VM2,…,VMm)と、該当する仮想サーバの負荷データとが記録されている。仮想サーバIDは、負荷データベース22上の仮想サーバと、サーバ管理データベース23上の仮想サーバとを関連付けるための情報である。図3に示すように、負荷データは、負荷データを取得した時刻ごとの、仮想サーバの負荷値と動作情報が含まれる。図3では、負荷データの記録時刻として、一例として1分間単位の実際の時刻が記録される例を示しているが、必ずしも実際の時刻そのものが記録される必要はない。記録の開始時刻からのオフセットを記録してもよいし、記録時刻を特定可能な文字列を記録してもよい。
 [サーバ管理データベース23]
 サーバ管理データベース23には、物理サーバとその処理能力一覧、及び仮想サーバ一覧が記録される。管理サーバからアクセス可能であれば、物理サーバのデータと仮想サーバのデータはそれぞれ独立のデータベースとして存在してもよい。
 各物理サーバの処理能力値は、各物理サーバの処理能力(又は計算能力)に関する性能を示す指標値であって、前述した負荷値と比較可能なものであれば何でもよい。処理能力値は、例えば、CPU、メモリ或いはディスクなどの計算機のリソースを示す値(計算速度、メモリ容量等)、又はそれらのリソースを総合した指標値でもよい。
 図4は、サーバ管理データベース23のテーブル(物理サーバテーブル、仮想サーバテーブル)が含む内容の一例を示している。ここでは、n個の物理サーバとm個の仮想サーバが管理対象となっている。なお、仮想サーバの数が物理サーバの数よりも多いのが一般的である(m>n)。
 物理サーバテーブルには、レコード1~nに対応してn個の物理サーバの特定情報(例えばアドレス)及び処理能力値が含まれる。図4に示すように、物理サーバテーブルにはさらに、各レコードに対応して、故障情報と動作情報が含まれる。物理サーバの故障情報とは、物理サーバが正常か否かについての情報(“正常”又は“故障”を示す。)である。物理サーバの動作情報とは、物理サーバの動作状態に関する情報(“稼動”又は“停止”を示す。)である。この故障情報及び/又は動作情報は、後述する配置スケジュールを作成する時においてスケジュール対象の物理サーバを特定するのに有用となる。
 仮想サーバテーブルには、レコード1~mに対応してm個の物理サーバの特定情報、仮想サーバID及び仮想サーバのイメージデータが含まれる。特定情報とは、管理サーバ2内で物理サーバ又は仮想サーバを一意に特定し、アクセス可能とするための情報であり、例えばネットワーク上のコンピュータ名やアドレスなどである。図4では、特定情報としてアドレスを例示してある。仮想サーバIDは、負荷データベース22上のレコードと対応付けるために用いられる。
 図4のサーバ管理データベース23において、また、図4に示したデータ構成は例示に過ぎず、物理サーバ及び/又は仮想サーバの管理に必要な情報を、適宜加えて構成するようにしてもよい。
 [負荷予測部24]
 負荷予測部24は、後述する負荷予測アルゴリズムに従って動作し、過去の負荷データに基づいて、特定の仮想サーバの特定の期間における将来の負荷値の予測(負荷予測)を行う。負荷予測にあたっては、負荷データベース22から各仮想サーバの負荷データに含まれる負荷値と動作情報を、ある程度長い一定期間(例えば1週間、1ヶ月)、又は全期間について参照する。以下の説明において、予測された負荷値(第2負荷)を、適宜「負荷予測値」という。負荷予測アルゴリズムについては、後で詳細に説明する。
 [最適配置作成部25]
 スケジュール生成部としての最適配置作成部25は、後述する最適配置作成アルゴリズムに従って動作し、負荷予測部24が予測した負荷値に基づき、物理サーバに対する仮想サーバの最適な配置スケジュールを作成する。ここで、「最適な配置」とは、ある物理サーバ上に配置された複数の仮想サーバから予測される負荷値の合計が、その物理サーバの処理能力値に対して適切な比率の範囲(許容範囲)に収まるようになっていることである。その許容範囲の上限は、仮想サーバの突発的な負荷上昇に耐えうる余裕を持たせるために設けられ、許容範囲の下限は、物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減を図るために設けられる。
 最適配置作成部25は、配置スケジュールを作成するとき、サーバ管理データベース23及び負荷予測部24をそれぞれ参照する。最適配置作成アルゴリズムについては、後で詳細に説明する。
 [再配置実行部26]
 再配置実行部26は、最適配置作成部25が作成した配置スケジュールに従って、仮想サーバの再配置を行う。再配置実行部26は、マイグレーションの指示を出すためのインタフェースを備える。このインタフェースは主に、ハイパーバイザなどの仮想サーバ管理ソフトウエアが提供するものを利用したものである。
 再配置を実行するためのマイグレーションの方法については限定しない。再配置実行部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]
 故障監視部27は、各物理サーバの状態(正常/故障)について監視し、故障が発生した場合にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。また、故障していた物理サーバが復旧した場合には、その物理サーバに対応するレコードの故障情報を“正常”と書き換える。
 [配置スケジュールデータ格納部28]
 配置スケジュールデータ格納部28には、最適配置作成部25が作成した配置スケジュールが格納される。再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールを参照して、再配置を実行する。なお、配置スケジュールは、定期的に更新される。
 (3)管理端末の構成
 次に、図1に示した管理端末3の構成要素についてさらに説明する。
 [管理情報表示部31]
 管理情報表示部31は、管理サーバ2から与えられるデータに基づいて、システムの運用情報を含む様々な情報を表示する。管理情報表示部31で表示される情報は、例えば以下の情報である。
 ・物理サーバ、仮想サーバの詳細及び一覧
 ・仮想サーバ負荷データ(負荷値、動作情報)
 ・仮想サーバの負荷予測値
 ・仮想サーバの配置スケジュール
 ・仮想サーバの現在の配置状況
 図5は、管理端末3から管理サーバ2に対して管理情報の要求を送信し、その応答を受信する態様を示す図である。図5において、管理情報の要求を受けた管理サーバ2では、システム制御部21が負荷データベース22又はサーバ管理データベース23を参照して、要求に係る管理情報を取り出し、管理端末3へ管理情報を送信する。管理端末3では、管理サーバ2からの応答として受信した管理情報を、管理情報表示部31に表示させる。これにより、例えば管理端末3を操作するシステム管理者が上記管理情報を視認できるようになっている。
 (4)負荷予測アルゴリズム
 次に、管理サーバ2の負荷予測部24に実装されている負荷予測アルゴリズムの一例を、図6~図9を参照して詳細に説明する。
 負荷予測アルゴリズムでは先ず、各仮想サーバの将来の負荷予測値(第2負荷)を算出するに当たって、各仮想サーバが24時間稼動するサーバであるか、又は停止期間(あるいは稼動期間)が存在するサーバであるかについて解析する。そして、停止期間が存在するサーバについては、その停止期間が予測される。
 停止期間が存在する仮想サーバとしては、例えば週末や夜間に業務を行わないような利用方法が適用される仮想サーバが典型的である。停止期間がスケジュール化されている場合には、負荷予測アルゴリズムは、その停止期間のスケジュールを停止期間の予測値として直接利用できる。この場合、システム管理者がサーバ管理データベース23に仮想サーバの稼動スケジュールを予め登録するようにしてもよい。
 停止期間がスケジュール化されていない場合は、負荷予測アルゴリズムは、例えば1日のうちのある時間区間(特定の1時間)について数週間に亘って動作情報(負荷データベース22内の情報;図3参照)を解析することにより、停止期間を予測(算出)する。この解析は例えば、仮想サーバの動作情報に基づき、1日のある特定の時間区間においてその仮想サーバが稼動している率(稼動率)を算出し、その稼動率が所定の閾値以下であることを条件として、その特定の時間区間が停止期間であると判断することにより行われる。停止期間を算出するために基礎とする動作情報は、日単位のもの、週単位のもの、又は月単位でもよいし、これらを組み合わせるようにしてもよい。
 なお、負荷予測アルゴリズムにおいて稼動期間と停止期間を区別する理由は、仮に全期間中の負荷値の平均を算出したならば、その平均値は停止期間も含めて算出されるため、稼働中における負荷値の平均よりも低い値となって、実状と合致しないためである。
 上述したようにして、例えば1ヶ月間において1時間単位で、稼動期間であるか、又は停止期間であるかを予測することができる。図6は、1ヶ月間における、1時間単位の予測結果(稼動期間、又は停止期間)を例示する図である。図6では、横軸を1時間単位で0~23時間、縦軸を1日単位の0~30日としたマトリクスにおいて、灰色で表した時間は仮想サーバの停止期間、白色で表した時間が仮想サーバの稼動期間、を例示している。
 負荷予測アルゴリズムは、図6に示した1時間単位のデータに基づいて、特定の仮想サーバの休業日、営業日、及び就業時間を予測するようにしてもよい。以下の説明では、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に示す。
 なお、所定期間の移動平均処理により順次負荷値を予測していく上記方法は一例に過ぎず、その他の統計処理(例えば標準偏差を考慮する処理)、及び/又は予測計算の基礎とするデータ(サンプル)の他の取得方法(周期の設定、時間区分の設定等)を用いてもよい。
 次に、図9のフローチャートを参照して、負荷予測部24において負荷予測アルゴリズムに従って実行される負荷値の予測処理について説明する。図9において、ステップS10~S18の処理がm個のすべての仮想サーバVx(x=0,1,…,m)を対象として実行される。
 先ず、負荷予測部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週間ごとの負荷予測データがすべての仮想サーバについて生成される。
 (5)最適配置作成アルゴリズム
 次に、管理サーバ2の最適配置作成部25に実装されている最適配置作成アルゴリズムについて、図10~図13を参照して詳細に説明する。
 最適配置作成部25は、負荷予測部24からすべての仮想サーバについて、例えば将来の1週間分の各時間区間における予測負荷データを得る。予測負荷データを得るタイミングについては特に限定しないが、例えば1時間等、負荷データのサンプルタイミング(図3では1分間)よりも長い期間ごとでよい。
 最適配置作成アルゴリズムでは、物理サーバに配置される1又は複数の仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲(許容範囲)内となるように、各仮想サーバの負荷予測値に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールが決定される。上記許容範囲の上限は、仮想サーバの突発的な負荷上昇に耐えうる余裕を持たせるために設定され、許容範囲の下限は、物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減を図るために設定される。例えば、上記所定の比率として適性値を70%、上記許容範囲の上限が80%で下限が60%、に設定される。
 上記比率の範囲の数値例(適性値:70%,許容範囲:60~80%)を用いて、以下、スケジュール決定の具体的な方法について、図10を参照して説明する。図10は、ある時間区間における各仮想サーバV1~Vmの負荷予測値、及び各物理サーバP1~Pnの処理能力値を例示したものである。図10に示す負荷予測値、及び処理能力値は、説明のための例示に過ぎず、また、両者は比較可能な指標値である。
 例えば、図10に示すように、各物理サーバの処理能力値がすべて100であり、配置対象の複数の仮想サーバの負荷予測値の合計が500である場合を想定する。仮想サーバすべてを動作させるのに必要な物理サーバ台数をNとすると、100×N×70%≧500という不等式が成立する最小の整数Nが最低限必要なサーバ台数となる。この場合、N≧7.14となるため、最低8台の物理サーバが必要となる。ここではすべての物理サーバの性能が同一としたが、同一でない場合は、物理サーバ性能の総和に0.7を乗じたものが左辺になると考えてよい。
 図10に示す例では、最適配置作成アルゴリズムでは、8台の物理サーバ(P,P,…,P)に対して、負荷予測値が大きい仮想サーバの順で物理サーバに割り当てていく。具体的には、最適配置作成アルゴリズムでは、1番目の仮想サーバVを物理サーバP、2番目の仮想サーバVを物理サーバP、…、8番目の仮想サーバVを物理サーバP、9番目の仮想サーバVを物理サーバP、…、16番目の仮想サーバを物理サーバPというようにして、順番に割り当てる。このとき、割り当てようとした仮想サーバの負荷予測値の合計値が物理サーバの処理能力値100に適正範囲の上限80%を乗じた80を超える場合、その物理サーバには割り当てず、次の物理サーバに割り当てる。次の物理サーバにも割り当てることができず、最終的に8番目の物理サーバPにも割り当てができない場合は、9番目の物理サーバPを新たに用意して割り当てる。このようにして、最適配置作成アルゴリズムでは、すべての仮想サーバを割り当て、ある時間区間における配置スケジュールが作成される。
 次に、図11及び図12のフローチャートを参照して、最適配置作成部25において最適配置作成アルゴリズムに従って実行される配置スケジュールの生成処理について説明する。なお、図11は、最適配置作成部25による処理を示すフローチャートであり、図12は、図11における最適化処理を示すフローチャート(上述した最適配置作成アルゴリズムをフローチャートにしたもの)である。
 図11において、ステップS20~S26の処理が、例えば将来の1週間分のすべての時間区間Pt(t=0,1,…,max)を対象として実行される。
 最適配置作成部25は先ず、サーバ管理データベース23を参照し、物理サーバと仮想サーバの一覧を取得する(ステップS20)。これにより、配置対象の仮想サーバの仮想サーバID、及び各物理サーバの処理能力値が分かる(図4参照)。次に最適配置作成部25は、負荷予測部24から時間区間Ptにおける全仮想サーバの予測負荷データ(負荷予測値、停止時間のデータ)を取得する(ステップS22)。ステップS20及びS22により、時間区間Ptにおける、配置対象のすべての仮想サーバの負荷予測値と、各物理サーバの処理能力値とが得られたので、上述した最適配置作成アルゴリズムに従って最適化処理が実行される(ステップS24)。
 図12を参照すると、この最適化処理は以下のとおり実行される。
 すなわち、先ず、図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の説明に戻る。
 図11において最適化処理が実行されると、時間区間Ptにおける最適配置の組合せ(各物理サーバと、各物理サーバに配置される仮想サーバとの組合せ)が決定される(ステップS26)。ステップS20~S26をすべての時間区間を対象に実行することで、例えば将来の1週間分における1時間ごとの配置スケジュールが作成される(ステップS28)。この配置スケジュールの一例を図13に示す。図13の例では、YYYY/MM/DDの日付の時刻10:00:00において、例えば物理サーバP1に仮想サーバV,V,V,V10,V12が配置される予定であることを示している。配置スケジュールは、配置スケジュールデータとして配置スケジュールデータ格納部28に格納される。
 (6)再配置実行部の処理
 次に、管理サーバ2の再配置実行部26の処理について、図14~図16を参照して説明する。
 再配置実行部26によって行われる処理は、再配置の実行の対象となる時間区間(「対象時間区間」という。)についての、以下の3つの処理(処理6A,6B,6C)である。
 [処理6A]
 対象時間区間における配置スケジュールデータを読み込む。また、物理サーバ及び仮想サーバの情報をサーバ管理データベース23に問い合わせる。
 [処理6B]
 対象時間区間で稼動する物理サーバと、対象時間区間の一つ前の(1時間前の)時間区間で稼動する物理サーバとを比較する。一致する物理サーバ(すなわち、両方の時間区間で稼動する物理サーバ)に対しては特に何も処理しないが、一致しない物理サーバ(すなわち、一方の時間区間のみで稼動する物理サーバ)に対しては電源の投入または停止の指示を行う。ここで、対象時間区間において物理サーバ数が増加する場合、電源の投入が対象時間区間の仮想サーバの配置に先立って行われる。対象時間区間において物理サーバ数が減少する場合、対象時間区間で停止する物理サーバの電源の切断は、その物理サーバに配置されていた仮想サーバを別の物理サーバへ移動し、すべての仮想サーバがその物理サーバ上で動作していない状態になってから実施する。
 [処理6C]
 処理6Bと同様に、対象時間区間とその一つ前の時間区間において、各仮想サーバが配置されている物理サーバを比較する。その結果、配置される物理サーバが一致する仮想サーバに対しては何も処理を行わないが、一致しない仮想サーバに対してはマイグレーションの指示を行う。
 処理6B,処理6Cのいずれにおいても、対象時間区間とその一つ前の時間区間の比較は、処理6Aで読み込まれた配置スケジュールデータを比較することにより行われる。比較するための他の方法として、リアルタイムな稼働状況に関する情報を取得することによって行う方法も考えられる。後者の方法では、スケジュールされていないシステム管理者によるオペレーション、あるいは物理サーバの故障等を考慮することも可能となる。
 図14及び図15に再配置実行の例を示す。
 図14の例では、(a)に示すように再配置前に物理サーバが8台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバが必要なスケジュールであると分かると、再配置実行部26は、(b)に示すように、再配置前に1台の物理サーバの電源を投入する指示を行う。そして、再配置実行部26は、(c)に示すように、新たに電源投入された物理サーバに対して仮想サーバのマイグレーションを行うための指示を出す。
 図15の例では、(a)に示すように再配置前に物理サーバが10台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバで足りるスケジュールであると分かると、再配置実行部26は、(b)に示すように、仮想サーバのマイグレーションを行うための指示を出し、再配置を実行する。そして、再配置実行部26は、(c)に示すように、マイグレーションにより仮想サーバを1つも配置しなくなった物理サーバの電源を切断する指示を行う。
 次に、図16のフローチャートを参照して、特定の時間区間(対象時間区間)に対して、再配置実行部26によって実行される再配置処理について説明する。
 図16において、先ず、再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールデータを読み出し、その配置スケジュールデータから対象時間区間における配置一覧(仮想サーバをどの物理サーバに配置するかについての一覧のデータ)を読み込む(ステップS50)。そして、再配置実行部26は、サーバ管理データベース23に対して物理サーバ及び仮想サーバの動作情報(“稼動”又は“停止”のいずれかの状態を示す情報)を問い合わせる(ステップS52)。そして、再配置実行部26は、ステップS52で得られた動作情報に基づき、対象時間区間とその1つ前の時間区間における各物理サーバの動作状態を比較し、各物理サーバの動作状態の変化を調べる(ステップS54)。さらに、再配置実行部26は、負荷データベース22を参照して、対象時間区間とその1つ前の時間区間における各仮想サーバの動作状態を比較し、各仮想サーバの動作状態の変化を調べる(ステップS56)。
 そして、再配置実行部26は、対象時間区間とその1つ前の時間区間との間で、物理サーバの数を増加させるべき場合には(ステップS58のYES)、新たに追加する物理サーバの電源の投入を指示し(ステップS60)、物理サーバの数を増加させる必要がなければ何もしない。そして、再配置実行部26は、ステップS50で読み出した配置スケジュールデータに従って、仮想サーバのマイグレーションを指示する(ステップS62)。逆に、対象時間区間とその1つ前の時間区間との間で、物理サーバの数を減少させるべき場合には(ステップS64のYES)、削減する物理サーバの電源の切断を指示し(ステップS66)、物理サーバの数を減少させる必要がなければ何もしない。
 以上、再配置処理についてフローチャートを参照して説明したが、再配置の実行にあたっては、対象時間区間の処理を開始する時刻に達したことを検知するためのスケジューラを設けることが好ましい。このスケジューラは、システム制御部21に設けてもよいし、再配置実行部26に設けてもよい。システム制御部21にスケジューラを設けた場合は、処理開始時刻に達した時点で再配置実行部26に対して処理開始の指示を出す。
 また、再配置処理においては、オンライン又はオフラインで行ったとしても、再配置に処理に関わるオーバヘッド(ネットワーク負荷など)が生ずるため、最適配置作成部25では、このオーバヘッドが極力少なくなるような配置スケジュールとなるように考慮がされたアルゴリズムの実装が好ましい。
 (7)物理サーバ故障時及び復旧時の処理
 次に、本実施形態の管理サーバ2の好ましい処理として、物理サーバ故障時及び復旧時の処理について説明する。
 物理サーバに故障が生じた場合には、故障が生じた物理サーバ上の仮想サーバを代替の別の物理サーバ上へ移動することが好ましい。具体的には、故障監視部27が各物理サーバの状態(正常/故障)について監視し、故障が発生した場合(直ちに物理サーバが停止した場合)にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。同時に、再配置実行部26は、サーバ管理データベース23上物理サーバの故障情報に変化に応じて、代替の別の物理サーバの起動、及び仮想サーバのマイグレーションにより自動復旧を行う。また、最適配置作成部25は、サーバ管理データベース23上物理サーバの故障情報に変化に基づき、故障が生じた物理サーバをスケジュール対象の物理サーバから除外する。
 物理サーバに故障ではなく、故障の予兆が発生した場合には、直ちにその故障の予兆が生じた物理サーバを別の物理サーバへの切り替える処理は行わないが、故障監視部27は、サーバ管理データベース23上で、故障の予兆が発生した物理サーバに対応するレコードの故障情報を“故障”と書き換えることが好ましい。これにより、次回の配置スケジュール作成時に、故障の予兆が生じた物理サーバがスケジュール対象の物理サーバから除外される。
 なお、ここで故障の予兆とは、サーバに備わる冷却用ファンの回転数に異常が生ずることや、一定期間にコレクタブルエラーが所定の回数以上発生すること等、放置しておけば故障につながる可能性が高い事象をいう。
 また、物理サーバが保守交換等により正常に復旧した場合は、故障監視部27がサーバ管理データベース23の該当する物理サーバの故障情報を“正常”に書き換える。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、復旧した物理サーバがスケジュール対象の物理サーバに組み込まれるようになる。
 次に、物理サーバ故障時及び復旧時の処理について、それぞれ図17及び図18のフローチャートを参照して説明する。図17は物理サーバで故障または故障予知が発生した場合の処理を示すフローチャートであり、図18は物理サーバが保守交換等により正常に復旧した場合の処理を示すフローチャートである。
 図17では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの故障/故障予兆を検知する(ステップS70)。そして、物理サーバに故障が生じた場合には(ステップS72)、再配置実行部26は、故障した物理サーバ上に配置されている仮想サーバをすべて代替の別の物理サーバへマイグレーションを行う指示を出す(ステップS74)。ステップS72で物理サーバの故障の予兆が検知された場合には、ステップS74は実行しない。さらに、故障監視部27は、サーバ管理データベース23上で、故障又は故障の予兆が検知された物理サーバの故障情報を“故障”に書き換える(ステップS76)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、稼動物理サーバの候補、すなわち、スケジュール対象の物理サーバの候補から、故障又は故障の予兆が検知された物理サーバが除外される。
 図18では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの復旧を検知する(ステップS80)。そして、故障監視部27は、サーバ管理データベース23上で、復旧を検知した物理サーバの故障情報を“正常”に書き換える(ステップS82)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、スケジュール対象の物理サーバの候補に、復旧した物理サーバが組み込まれるようになる。
 なお、前述した最適配置作成アルゴリズム(最適配置作成部25の処理)では、将来の1週間分の配置スケジュールを予め作成する場合について説明したが、配置スケジュールに組み込まれた物理サーバに故障または故障の予兆が発生した場合は、次の時間区間以降について故障または故障の予兆が発生した物理サーバを除外してスケジュールが再作成される。このとき、故障または故障の予兆が発生した物理サーバと同一の処理能力を有し、かつ配置スケジュールに組み込まれていない別の物理サーバが存在する場合には、その別の物理サーバを故障または故障の予兆が発生した物理サーバと置換することで、スケジュールの再作成を省略することも可能である。
 故障監視部27による、物理サーバの故障検知(復旧)方法は、特に限定しないが、例えば、物理サーバのベンダなどから提供される監視ソフトからのイベントをトリガにする方法、又は故障監視部27が各物理サーバとの通信により物理サーバの状態に関する情報を収集する方法、オペレータの操作による入力から物理サーバの状態に関する情報を取得・更新する方法等が考えられる。
 以上説明したように、本実施形態の管理サーバによれば、複数の仮想サーバの各々の過去の負荷データから負荷予測値を算出し、物理サーバに対する仮想サーバの最適な配置スケジュールを作成し、定期的に再配置が実行される。この配置スケジュールでは、ある物理サーバ上に配置された複数の仮想サーバから予測される負荷値の合計が、その物理サーバの処理能力値に対して適切な比率の範囲に収まるようにして行われる。よって、仮想サーバの突発的な負荷上昇に耐えうる余裕があり、かつ物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減、ひいては二酸化炭素排出量削減が図られる。
 また、上記配置スケジュールの生成及び再配置の実行は、自動的に行われて人手を要しないため、運用・管理コストが上昇しない。
 以上、実施形態に係る管理サーバ、及びそのシステムについて詳細に説明したが、本発明の管理サーバは上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。
 また、上記実施形態に係る管理サーバの各部の動作に関連して、この管理サーバによって実行される仮想サーバ配置方法が開示される。
 この仮想サーバ配置方法によれば、複数の仮想サーバの各々の現在までの所定期間における負荷値に基づいて、各仮想サーバの将来の負荷値(負荷予測値)を予測し、物理サーバに配置される1又は複数の仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの負荷予測値に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定し、そのスケジュールに従って、複数の仮想サーバの一部又はすべてを、複数の物理サーバの一部又はすべての上に配置するための指示を行う。
 上記実施形態に係る管理サーバの各部の動作、又は上記仮想サーバ配置方法は、プログラムによって実現することができる。この場合、上記仮想サーバ配置方法による手順が記述されたサーバ管理プログラムを、例えばシステム制御部21に含まれるマイクロコントローラ(コンピュータ)に実行させ、これにより、負荷予測部24、最適配置作成部25、配置スケジュールデータ格納部28、及び再配置実行部26の各部のハードウエア資源を用いて上記仮想サーバ配置方法が実現される。また、上記プログラムは、ファームウエアとして管理サーバに予め組み込まれるものでもよいし、汎用ソフトウエアとして管理サーバに実行されるものでもよい。
 2…管理サーバ、21…システム制御部、22…負荷データベース、23…サーバ管理データベース、24…負荷予測部、25…最適配置作成部、26…再配置実行部、27…故障監視部、28…配置スケジュールデータ格納部、3…管理端末、31…管理情報表示部、4…管理対象サーバ群(複数の物理サーバ、複数の仮想サーバ)

Claims (9)

  1.  複数の仮想サーバを複数の物理サーバに配置するためのサーバ管理プログラムであって、
     複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
     物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定する手順と、
     前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
     をコンピュータに実行させるためのサーバ管理プログラム。
  2.  前記第2負荷を予測する手順において、
     前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
     請求項1に記載されたサーバ管理プログラム。
  3.  前記スケジュールを決定する手順において、
     前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
     請求項1に記載されたサーバ管理プログラム。
  4.  複数の仮想サーバを複数の物理サーバに配置するための管理サーバであって、
     複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
     物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定するスケジュール生成部と、
     前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う配置実行部と、
     を備えた管理サーバ。
  5.  前記負荷予測部は、前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
     請求項4に記載された管理サーバ。
  6.  前記スケジュール生成部は、前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
     請求項4に記載された管理サーバ。
  7.  複数の仮想サーバを複数の物理サーバに配置するために、管理サーバによって実行される仮想サーバ配置方法であって、
     複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測し、
     物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定し、
     前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う、
     仮想サーバ配置方法。
  8.  前記第2負荷を予測するとき、
     前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
     請求項7に記載された仮想サーバ配置方法。
  9.  前記スケジュールを決定するとき、
     前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
     請求項7に記載された仮想サーバ配置方法。
PCT/JP2009/002421 2009-06-01 2009-06-01 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 WO2010140183A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 サーバ管理装置およびサーバ管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
See also references of EP2439641A4

Cited By (31)

* Cited by examiner, † Cited by third party
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