WO2012066640A1 - 計算機システム、マイグレーション方法及び管理サーバ - Google Patents

計算機システム、マイグレーション方法及び管理サーバ Download PDF

Info

Publication number
WO2012066640A1
WO2012066640A1 PCT/JP2010/070387 JP2010070387W WO2012066640A1 WO 2012066640 A1 WO2012066640 A1 WO 2012066640A1 JP 2010070387 W JP2010070387 W JP 2010070387W WO 2012066640 A1 WO2012066640 A1 WO 2012066640A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
amount
information
virtual
computer
Prior art date
Application number
PCT/JP2010/070387
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 PCT/JP2010/070387 priority Critical patent/WO2012066640A1/ja
Priority to US13/879,035 priority patent/US20130238804A1/en
Priority to JP2012544038A priority patent/JP5577412B2/ja
Publication of WO2012066640A1 publication Critical patent/WO2012066640A1/ja

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system

Definitions

  • This relates to migration technology for migrating virtual servers running on physical servers in a cloud environment.
  • servers with different performances coexist.
  • a server apparatus including a CPU having a high clock frequency and a server apparatus including a CPU having a low clock frequency are mixed.
  • the resource pool the total amount of resources (in the case of a CPU, the total value of clock frequencies) included in each server device included in the resource pool is managed as the resource amount of the resource pool.
  • a resource pool including four CPUs with a clock frequency of 3 GHz and a resource pool including six CPUs with a clock frequency of 2 GHz both have a total clock frequency of 12 GHz and have the same CPU resource. Treated as a pool.
  • the user provides a service using a virtual server device (VM) constructed using the server device.
  • VM virtual server device
  • the user can continue to provide services by migrating the virtual server device to another server device.
  • a migration method for example, there is a method of finding a migration destination data center based on network conditions, server requirements, and storage requirements required by an application in the data center (see, for example, Patent Document 1).
  • a migration destination resource pool is determined based on the amount of resources allocated to the virtual server device.
  • a resource pool having a resource amount equal to or larger than the resource amount allocated to the virtual server device is determined as the migration destination resource pool.
  • it is an object to realize effective use of computer resources in a cloud environment by searching a migration destination resource pool based on a resource amount necessary for a virtual server device.
  • a typical example of the present invention is as follows. That is, a computer system that includes a plurality of physical computers and a management server that manages the plurality of physical computers, and is generated by dividing a computer resource included in the physical computer into a plurality of units on the physical computer.
  • each of the physical computers includes a first processor, A first main storage medium connected to the first processor, a secondary storage medium connected to the first processor, a first network interface connected to the first processor, and a virtual managing the virtual machine A management resource and a use resource that is information related to the usage amount of the allocated resource used by executing the business process A used resource amount acquisition unit for acquiring an amount
  • the management server includes a second processor, a second storage medium connected to the second processor, and a second storage medium connected to the second processor A network interface, a resource information management unit that manages resource information including information about computer resources included in each physical computer, an allocation resource information management unit that manages allocation resource information including information about the allocation resource, and the virtual management unit
  • An acquisition command unit that transmits an acquisition command for the amount of used resources, and a migration processing unit that executes a migration process of the virtual machine, wherein the management server sends the acquisition command to each
  • the management server obtains the resource information and the allocated resource information from each physical computer, and migrates the virtual computer When a processing execution request is received, based on the acquired resource information and the acquired allocated resource information, free resource information that is information on an empty resource that represents an unused computer resource in the computer system is obtained.
  • a requested resource amount which is a resource amount of a computer resource necessary for the virtual machine to be migrated, based on the used resource amount for each acquired sub-process, and generating the generated free resource information and the Based on the calculated requested resource amount, the physical computer that is the migration destination is searched, and the search result is Based on this, the migration target virtual machine is migrated to the migration destination physical machine.
  • a physical computer having a more appropriate resource amount is compared with a search based on an allocated resource assigned to a virtual computer because a physical computer that is a migration destination is searched based on the amount of resources used in sub-processing. Can be migrated to. Therefore, resources in the computer system can be effectively used.
  • the VM method is a method in which a virtualization management unit such as a hypervisor allocates computer resources of a physical server to a virtual server in a time-sharing manner.
  • the LPAR method is a method in which the virtualization management unit allocates a virtual server on the LPAR obtained by logically dividing the computer resources of the physical server.
  • FIG. 1 is an explanatory diagram showing a configuration example of a computer system according to the first embodiment of this invention.
  • the computer system includes a management server 100, a physical server 110, and a storage system 120.
  • Management server 100 and physical server 110 are connected via network 130.
  • the network 130 may be a LAN, a WAN, or the like.
  • the physical server 110 and the storage system 120 are connected directly or via a SAN or the like.
  • Management server 100 manages the entire computer system. The hardware configuration and software configuration of the management server 100 will be described later with reference to FIG.
  • the physical server 110 is a computer on which a virtual server 150 for a user to provide a service operates.
  • the hardware configuration and software configuration of the physical server 110 will be described later with reference to FIG.
  • the storage system 120 provides a storage area allocated to the virtual server 150.
  • the hardware configuration and software configuration of the storage system 120 will be described later with reference to FIG.
  • FIG. 2 is an explanatory diagram illustrating an example of a hardware configuration and a software configuration of the management server 100 according to the first embodiment of this invention.
  • the management server 100 includes a processor 201, a memory 202, a network I / F 203, and a disk I / F 204 as hardware configurations. Note that the management server 100 may include other hardware configurations such as an HDD.
  • the processor 201 includes a plurality of processor cores (not shown) that execute operations, and executes a program stored in the memory 202. As a result, the functions of the management server 100 are realized.
  • the memory 202 stores a program executed by the processor 201 and information necessary for executing the program.
  • the network I / F 203 is an interface for connecting to the network 130.
  • the disk I / F 204 is an interface for connecting to an external storage system (not shown).
  • the memory 202 includes programs for realizing the virtualization management unit 210 and the configuration information management unit 220, as well as physical server management information 230, virtual server management information 240, process management information 250, user definition information 260, and processor performance index information. 270 and free resource pool management information 280 are stored.
  • the virtualization management unit 210 manages information held by the virtualization unit 310 (see FIG. 3) operating on the physical server 110.
  • the virtualization manager 210 includes a workload manager 211, a processor performance manager 212, and a VM migration controller 213.
  • the workload management unit 211 manages information related to processes (for example, processes, threads, etc.) executed on the virtual server 150. Specifically, the workload management unit 211 acquires information such as the usage rate of computer resources used by processes (for example, processes, threads, etc.) executed on the virtual server 150. Further, the workload management unit 211 stores the acquired information in the process management information 250.
  • the processor performance management unit 212 acquires performance information of the processor 301 (see FIG. 3) included in the physical server 110, and stores the acquired performance information in the processor performance index information 270.
  • the VM migration control unit 213 executes migration processing for migrating the virtual server 150 to another physical server 110.
  • the configuration information management unit 220 manages configuration information of the physical server 110 and the virtual server 150.
  • the configuration information management unit 220 includes a physical server configuration management unit 221 and a virtual server configuration management unit 222.
  • the physical server configuration management unit 221 manages configuration information of the physical server 110. Specifically, the physical server configuration management unit 221 acquires the configuration information of the physical server 110 from each physical server 110 and stores the acquired configuration information in the physical server management information 230.
  • computer resources included in one physical server 110 are managed as one resource pool.
  • the present invention is not limited to this.
  • computer resources included in a plurality of physical servers 110 may be managed as one resource pool.
  • the virtual server configuration management unit 222 manages information of computer resources (for example, a processor, a memory, etc.) allocated to the virtual server 150, that is, configuration information of the virtual server 150. Specifically, the virtual server configuration management unit 222 acquires the configuration information of the virtual server 150 operating on the virtualization unit 310 (see FIG. 3) from the virtualization unit 310 (see FIG. 3). The configuration information of the virtual server 150 is stored in the virtual server management information 240.
  • computer resources for example, a processor, a memory, etc.
  • the physical server management information 230 stores configuration information of the physical server 110. Details of the physical server management information 230 will be described later with reference to FIG.
  • the virtual server management information 240 stores configuration information of the virtual server 150. Details of the virtual server management information 240 will be described later with reference to FIG.
  • the process management information 250 stores information related to processing (for example, processes, threads, etc.) executed on the virtual server 150. Details of the process management information 250 will be described later with reference to FIG.
  • the user definition information 260 stores information related to processes (for example, processes, threads, etc.) designated by the user among processes (for example, processes, threads, etc.) executed on the virtual server 150. Details of the user definition information 260 will be described later with reference to FIG.
  • the user definition information 260 is information input by the user when the virtual server 150 is migrated.
  • the processor performance index information 270 stores the performance information of the processor included in the physical server 110. Details of the processor performance index information 270 will be described later with reference to FIG.
  • the free resource pool management information 280 stores information related to unused computer resources, that is, free resource pools.
  • the free resource pool management information 280 is generated based on the physical server management information 230, the virtual server management information 240, and the processor performance index information 270.
  • unused computer resources are managed as one free resource pool.
  • the present invention is not limited to this.
  • unused computer resources in a plurality of physical servers 110 may be managed as one free resource pool.
  • the virtualization management unit 210 the configuration information management unit 220, the workload management unit 211, the processor performance management unit 212, the VM migration control unit 213, the physical server configuration management unit 221 and the virtual server configuration management unit 222 are Although it is realized by software, it may be realized by using hardware.
  • FIG. 3 is an explanatory diagram illustrating an example of a hardware configuration and a software configuration of the physical server 110 according to the first embodiment of this invention.
  • the physical server 110 includes a processor 301, a memory 302, a network I / F 303, and a disk I / F 304.
  • the processor 301 includes a plurality of processor cores (not shown) that execute operations, and executes various programs stored in the memory 302. As a result, the functions of the physical server 110 are realized.
  • the memory 302 stores a program executed by the processor 301 and information necessary to execute the program.
  • the network I / F 303 is an interface for connecting to the network 130.
  • the disk I / F 304 is an interface for connecting to the storage system 120.
  • the memory 302 stores a program for realizing the virtualization unit 310.
  • the virtualization unit 310 generates a plurality of virtual servers 150 by dividing computer resources included in the physical server 110. In addition, the virtualization unit 310 manages the generated virtual server 150.
  • the virtualization unit 310 according to the present embodiment realizes a virtual environment using the VM method.
  • the virtualization unit 310 includes a physical server configuration acquisition unit 311, a virtual server configuration acquisition unit 312, a processor performance acquisition unit 313, physical server configuration information 314, and virtual server configuration information 315.
  • the physical server configuration acquisition unit 311 When the physical server configuration acquisition unit 311 receives a configuration information acquisition request for the physical server 110 from the management server 100, the physical server configuration acquisition unit 311 reads the configuration information of the physical server 110 from the physical server configuration information 314 and reads the physical server 110. The configuration information is transmitted to the management server 100.
  • the physical server configuration acquisition unit 311 may acquire information directly from the physical server 110 when receiving a configuration information acquisition request for the physical server 110.
  • the virtual server configuration acquisition unit 312 When the virtual server configuration acquisition unit 312 receives a configuration information acquisition request for the virtual server 150 from the management server 100, the virtual server configuration acquisition unit 312 reads the configuration information of the virtual server 150 from the virtual server configuration information 315, and The configuration information is transmitted to the management server 100.
  • the virtual server configuration acquisition unit 312 may acquire information directly from the virtual server 150 when receiving a configuration information acquisition request of the virtual server 150.
  • the processor performance acquisition unit 313 When the processor performance acquisition unit 313 receives the performance information acquisition request of the processor 301 from the management server 100, the processor performance acquisition unit 313 acquires the performance information of the processor 301 and transmits the acquired performance information to the management server 100.
  • the physical server configuration information 314 stores information related to the hardware configuration and software configuration of the physical server 110.
  • the virtual server configuration information 315 stores information on computer resources allocated to the virtual server 150.
  • the virtual server 150 operates as a single computer.
  • the virtual server 150 executes the OS 330.
  • one or more applications are executed on the OS 330.
  • An application (not shown) includes one or more processes 350.
  • the process 350 includes a plurality of threads 360.
  • the present invention is not limited to the inclusion relationship between the process 350 and the thread 360 as shown in FIG. That is, the handling of the process 350 or the thread 360 may be different.
  • the OS 330 includes a process information acquisition unit 340.
  • the process information acquisition unit 340 acquires information related to computer resources used by applications executed on the OS 330.
  • the usage amount of the computer resource is acquired for each process 350 and thread 360.
  • Information acquired by the process information acquisition unit 340 is transmitted from the virtualization unit 310 to the management server 100.
  • the virtualization unit 310, physical server configuration acquisition unit 311, virtual server configuration acquisition unit 312, processor performance acquisition unit 313, physical server configuration information 314, and virtual server configuration information 315 are realized by software. However, it may be realized using hardware.
  • FIG. 4 is an explanatory diagram illustrating an example of a hardware configuration of the storage system 120 according to the first embodiment of this invention.
  • the storage system 120 includes a processor 401, a memory 402, a disk I / F 403, and a storage medium 404.
  • the processor 401 includes a plurality of processor cores (not shown) and executes a program stored in the memory 402. As a result, the functions of the storage system 120 are realized.
  • the memory 402 stores a program executed by the processor 401 and information necessary to execute the program.
  • the disk I / F 403 is an interface for connecting to the storage medium 404.
  • the storage medium 404 stores various types of information.
  • As the storage medium 404 for example, an HDD, an SSD, a nonvolatile memory, or the like can be considered.
  • the storage system 120 may configure a disk array from a plurality of storage media 404 and manage it as one storage area.
  • the storage system 120 may generate a plurality of LUs by logically dividing the storage area of the storage medium 404 or the disk array, and assign the generated LUs to each virtual server 150.
  • FIG. 5 is an explanatory diagram showing a logical configuration of the computer system according to the first embodiment of this invention.
  • the virtualization unit 310 allocates the computer resources such as the processor 301 and the memory 302 included in the physical server 110 to the virtual server 150 in a time-sharing manner.
  • the virtual server 150 recognizes the assigned computer resource as a virtual processor 511 and a virtual memory 512.
  • the storage system 120 allocates the LU 502 generated by logically dividing the storage area 501 to each virtual server 150.
  • An execution image of the OS 330 or the like is stored in the LU 502.
  • FIG. 6 is an explanatory diagram illustrating an example of the process management information 250 according to the first embodiment of this invention.
  • the process management information 250 includes a virtual server ID 601, an OS type 602, a process ID 603, a thread ID 604, a process name 605, a parent-child relationship 606, a priority 607, a core ID 608, a usage rate 609, a lifetime 610, and an acquisition time 611.
  • the virtual server ID 601 stores an identifier for uniquely identifying the virtual server 150.
  • the OS type 602 stores the type of the OS 330 executed by the virtual server 150 corresponding to the virtual server ID 601.
  • the definitions of the process 350 and the thread 360 are different depending on the type of the OS 330, the information stored in the process ID 603, the thread ID 604, the parent-child relationship 606, and the priority 607 is different.
  • the definitions of the process 350, the thread 360, and the like are specified based on the OS type 602.
  • the process ID 603 stores an identifier for uniquely identifying the process 350 executed on the virtual server 150 corresponding to the virtual server ID 601.
  • the same process 350 stores the same process ID 603.
  • the thread ID 604 stores an identifier for uniquely identifying the thread 360 generated by the process 350 corresponding to the process ID 603. When the identifier is stored in the thread ID 604, it indicates that the process is the thread 360.
  • the process name 605 stores the name of the process 350 or thread 360 corresponding to the process ID 603 or thread ID 604.
  • the parent-child relationship 606 stores the parent-child relationship of the process 350. When “parent” is stored in the parent-child relationship 606, it indicates that the entry is a parent process. In the parent-child relationship 606 of the child process 350 generated from the parent process 350, the process ID 603 of the parent process 350 is stored.
  • the priority 607 stores information indicating the importance of the process 350 or the thread 360 executed on the virtual server 150 corresponding to the virtual server ID 601.
  • the priority 607 stores different information depending on the OS type 602. For example, numerical values or information such as “high, medium, low” is stored.
  • the core ID 608 stores the identifier of the virtual processor core included in the virtual processor 511 assigned to the virtual server 150 corresponding to the virtual server ID 601.
  • the usage rate 609 stores the usage rate of the virtual processor 511 corresponding to the core ID 608.
  • the lifetime 610 stores the lifetime of the process 350 corresponding to the process ID 603 or the thread 360 corresponding to the thread ID 604.
  • the acquisition time 611 stores information acquisition time of the process 350 corresponding to the process ID 603 or the thread 360 corresponding to the thread ID 604.
  • FIG. 7 is an explanatory diagram illustrating an example of the user definition information 260 according to the first embodiment of this invention.
  • the user definition information 260 includes a physical server ID 701, a virtual server ID 702, and a process name 703.
  • the physical server ID 701 stores an identifier for uniquely identifying the physical server 110.
  • the virtual server ID 702 stores an identifier for uniquely identifying the virtual server 150 in the physical server 110 corresponding to the physical server ID 701.
  • the virtual server ID 702 is the same information as the virtual server ID 601.
  • the process name 703 stores the name of the process 350 or thread 360 executed on the virtual server 150 corresponding to the virtual server ID 702.
  • the process name 703 is the same information as the process name 605.
  • FIG. 8 is an explanatory diagram illustrating an example of the physical server management information 230 according to the first embodiment of this invention.
  • the physical server management information 230 includes a physical server ID 801, a server configuration 802, and a virtualization unit ID 803.
  • the physical server ID 801 is an identifier for uniquely identifying the physical server 110.
  • the physical server ID 801 stores the same information as the physical server ID 701.
  • the server configuration 802 stores resource information of the physical server 110 corresponding to the physical server ID 801.
  • Server configuration 802 includes a processor 804 and memory 805. Note that the server configuration 802 may include other information.
  • the processor 804 stores the resource amount of the processor 301 included in the physical server 110 corresponding to the physical server ID 801. In this embodiment, a value obtained by multiplying the frequency of the processor 301 included in the physical server 110 by the number of processor cores included in the processor 301 is stored.
  • a value obtained by multiplying the frequency of the processor 301 by the number of sockets may be stored.
  • the memory 805 stores the resource amount of the memory 302 included in the physical server 110 corresponding to the physical server ID 801. In this embodiment, the capacity of all storage areas of the memory 302 provided in the physical server 110 is stored.
  • the virtualization unit ID 803 stores an identifier for uniquely identifying the virtualization unit 310 in the physical server 110 corresponding to the physical server ID 801.
  • FIG. 9 is an explanatory diagram illustrating an example of the virtual server management information 240 according to the first embodiment of this invention.
  • the virtual server management information 240 includes a virtualization unit ID 901, a virtual server ID 902, a virtual server configuration 903, an allocation method 904, and a usage status 905.
  • the virtualization unit ID 901 stores an identifier for uniquely identifying the virtualization unit 310.
  • the virtualization unit ID 901 is the same information as the virtualization unit ID 803.
  • the virtual server ID 902 stores an identifier for uniquely identifying the virtual server 150 managed by the virtualization unit 310 corresponding to the virtualization unit ID 901.
  • the virtual server ID 902 is the same information as the virtual server ID 601.
  • the virtual server configuration 903 stores information regarding resources allocated to the virtual server 150 corresponding to the virtual server ID 902.
  • the virtual server configuration 903 includes a virtual processor 906 and a virtual memory 907. Note that the virtual server configuration 903 may include other information.
  • the virtual processor 906 stores the resource amount of the virtual processor 511 assigned to the virtual server 150. Specifically, a value obtained by multiplying the frequency of the processor core included in the virtual processor 511 by the number of the processor core is stored.
  • the virtual server 150 having the virtualization unit ID 901 “hyper1” and the virtual server ID 902 “virt1” is assigned the virtual processor 511 including three processor cores having the frequency “1.7 GHz”. It shows that.
  • a value obtained by multiplying the frequency of the virtual processor 511 and the number of sockets may be stored in the virtual processor 906.
  • the virtual memory 907 stores the resource amount of the virtual memory 512 allocated to the virtual server 150.
  • the virtualization unit 310 allocates the processor 301 included in the physical server 110 to each virtual server 150 so as to satisfy the resource amount stored in the virtual processor 906. Further, the virtualization unit 310 allocates the memory 302 included in the physical server 110 to each virtual server 150 so as to satisfy the resource amount stored in the virtual memory 907.
  • the allocation method 904 stores the allocation method of the processor 301.
  • allocation method 904 when the allocation method 904 is “shared”, it represents a state in which some of the resources indicated by the virtual processor 906 can be allocated to another virtual server 150. Further, when the allocation method 904 is “occupied”, it represents a state in which the resource indicated by the virtual processor 906 is necessarily allocated.
  • the usage status 905 stores information indicating whether the virtual server 150 is operating. For example, when the OS 330 is executed, “in use” is stored in the usage status 905, and “unused” is stored in the usage status 905 when the OS 330 is not executed.
  • FIG. 10 is an explanatory diagram illustrating an example of the processor performance index information 270 according to the first embodiment of this invention.
  • the processor performance index information 270 includes a physical server ID 1001, a processor 1002, and a performance index 1003.
  • the physical server ID 1001 stores an identifier for uniquely identifying the physical server 110.
  • the physical server ID 1001 is the same information as the physical server ID 701.
  • the processor 1002 stores the resource amount of the processor 301 included in the physical server 110 corresponding to the physical server ID 1001. Specifically, a value obtained by multiplying the frequency of the processor core included in the processor 301 by the number of the processor core is stored.
  • a value obtained by multiplying the frequency of the processor 301 by the number of sockets may be stored in the virtual processor 906.
  • the performance index 1003 stores information for evaluating the performance of the processor 301 included in the physical server 110 corresponding to the physical server ID 1001.
  • the performance index 1003 is used as an index for comparing the performance of the processor 301 in this embodiment.
  • the performance index 1003 is a value obtained by executing the same benchmark. Any benchmark may be executed.
  • the resource amount required for the migration destination physical server 110 is calculated using the performance index 1003.
  • FIG. 11 is an explanatory diagram illustrating an example of the free resource pool management information 280 according to the first embodiment of this invention.
  • the free resource pool management information 280 includes a virtualization unit ID 1101 and a server configuration 1102.
  • the virtualization unit ID 1101 stores an identifier for uniquely identifying the virtualization unit 310.
  • the virtualization unit ID 1101 is the same information as the virtualization unit ID 803.
  • the server configuration 1102 stores information on the amount of free resources of the physical server 110 on which the virtualization unit 310 corresponding to the virtualization unit ID 1101 operates.
  • the server configuration 1102 includes a processor 1103 and a memory 1104. Other information may be included.
  • total virtual processors represents the total value of the virtual processors 906 of all virtual servers 150 managed by the virtualization unit 310 corresponding to the virtualization unit ID 1101.
  • the processor 1103 is calculated as follows.
  • all virtual memories represents the total value of the virtual memories 907 of all virtual servers 150 managed by the virtualization unit 310 corresponding to the virtualization unit ID 1101.
  • the memory 1104 is calculated as follows.
  • FIG. 12 is a flowchart illustrating processing executed by the physical server configuration management unit 221 according to the first embodiment of this invention.
  • the physical server configuration management unit 221 transmits an execution request for the physical server configuration acquisition unit 311 to the virtualization unit 310 of each physical server 110 to be managed (step 1210).
  • the physical server 110 to be managed may be all the physical servers 110 connected to the management server 100, or may be the physical server 110 designated in advance for each application executed by the OS 330.
  • the physical server 110 that is the management target is also referred to as the target physical server 110.
  • Each virtualization unit 310 that has received the execution request executes the physical server configuration acquisition unit 311. Thereby, the configuration information of the target physical server 110 is acquired.
  • the processing executed by the physical server configuration acquisition unit 311 will be described later with reference to FIG.
  • the physical server configuration management unit 221 acquires the configuration information of the target physical server 110 from each virtualization unit 310, and updates the physical server management information 230 based on the acquired configuration information of the target physical server 110 (step 1220). ).
  • an entry corresponding to the acquired configuration information of the target physical server 110 is added to the physical server management information 230.
  • the physical server configuration management unit 221 executes the processing described above when configuring the computer system. Further, the physical server configuration management unit 221 may execute the above-described processing when receiving a notification that the configuration of the computer system has been changed. Further, the physical server configuration management unit 221 may periodically perform the above-described processing.
  • FIG. 13 is a flowchart illustrating processing executed by the virtual server configuration management unit 222 according to the first embodiment of this invention.
  • the virtual server configuration management unit 222 transmits an execution request for the virtual server configuration acquisition unit 312 to the virtualization unit 310 of each target physical server 110 (step 1310).
  • Each virtualization unit 310 that has received the execution request executes the virtual server configuration acquisition unit 312. Thereby, the configuration information of the virtual server 150 managed by the virtualization unit 310 is acquired.
  • the processing executed by the virtual server configuration acquisition unit 312 will be described later with reference to FIG.
  • the virtual server configuration management unit 222 acquires the configuration information of the virtual server 150 from each virtualization unit 310, and updates the virtual server management information 240 based on the acquired configuration information of the virtual server 150 (step 1320).
  • an entry corresponding to the acquired configuration information of the virtual server 150 is added to the virtual server management information 240.
  • the virtual server configuration management unit 222 executes the above-described processing when the virtual server 150 is configured. Further, the virtual server configuration management unit 222 may execute the above-described processing when receiving a notification that the configuration of the virtual server 150 has been changed. Further, the virtual server configuration management unit 222 may periodically execute the above-described processing.
  • FIG. 14 is a flowchart illustrating processing executed by the processor performance management unit 212 according to the first embodiment of this invention.
  • the processor performance management unit 212 transmits an execution request for the processor performance acquisition unit 313 to the virtualization unit 310 of each target physical server 110 (step 1410).
  • Each virtualization unit 310 that has received the execution request executes the processor performance acquisition unit 313.
  • the performance information of the processor 301 included in the physical server 110 on which the virtualization unit 310 operates is acquired.
  • the processing executed by the processor performance acquisition unit 313 will be described later with reference to FIG.
  • the processor performance management unit 212 acquires the performance information of the processor 301 from each virtualization unit 310, and updates the processor performance index information 270 based on the acquired performance information of the processor 301 (step 1420).
  • an entry corresponding to the acquired performance information of the processor 301 is added to the processor performance index information 270.
  • processor performance management unit 212 may periodically execute the above-described processing, or may execute the above-described processing based on an instruction of an administrator who operates the management server 100.
  • FIG. 15 is a flowchart illustrating processing executed by the workload management unit 211 according to the first embodiment of this invention.
  • the workload management unit 211 selects one physical server 110 from the target physical servers 110 (step 1510).
  • the workload management unit 211 refers to the user definition information 260 and determines whether or not the virtual server 150 on the selected physical server 110 executes processing designated by the user (step 1520). ).
  • processing designated by the user is also referred to as user processing.
  • the workload management unit 211 transmits an execution request for the process information acquisition unit 340 to the virtual server 150 operating on the selected physical server 110 (step 1530).
  • the execution request includes a process name 703 corresponding to the user process.
  • the virtual server 150 that has received the execution request executes the process information acquisition unit 340. Thereby, the process information of the user process is acquired.
  • the workload management unit 211 transmits an execution request for the process information acquisition unit 340 to all the virtual servers 150 on the selected physical server 110 (step 1540).
  • the virtual server 150 that has received the execution request executes the process information acquisition unit 340. As a result, processing information of processing executed in all virtual servers 150 on the selected physical server 110 is acquired.
  • the workload management unit 211 acquires processing information from each virtual server 150 and updates the process management information 250 based on the acquired processing information (step 1550).
  • an entry corresponding to the acquired processing information is added to the process management information 250.
  • the workload management unit 211 determines whether or not processing has been executed for all target physical servers 110 (step 1560).
  • the workload management unit 211 returns to step 1510 and executes similar processing.
  • the workload management unit 211 ends the process.
  • the workload management unit 211 may periodically execute the above-described processing, or may execute the above-described processing based on a command from an administrator who operates the management server 100.
  • FIG. 16 is a flowchart illustrating processing executed by the physical server configuration acquisition unit 311 according to the first embodiment of this invention.
  • the physical server configuration acquisition unit 311 is executed by the virtualization unit 310 that has received the execution request of the physical server configuration acquisition unit 311 from the management server 100.
  • the physical server configuration acquisition unit 311 acquires the configuration information of the physical server 110 from the physical server configuration information 314 (step 1610).
  • the acquired configuration information of the physical server 110 includes the resource amount of the processor 301 and the resource amount of the memory 302 included in the physical server 110.
  • the physical server configuration acquisition unit 311 transmits the acquired configuration information of the physical server 110 to the management server 100 (step 1620).
  • the transmitted configuration information of the physical server 110 includes the identifier of the physical server 110.
  • FIG. 17 is a flowchart illustrating processing executed by the virtual server configuration acquisition unit 312 according to the first embodiment of this invention.
  • the virtual server configuration acquisition unit 312 is executed by the virtualization unit 310 that has received the execution request of the virtual server configuration acquisition unit 312 from the management server 100.
  • the virtual server configuration acquisition unit 312 identifies the virtual server 150 generated in the physical server 110 (step 1710). The following process is executed for each identified virtual server 150.
  • the virtual server configuration acquisition unit 312 refers to the virtual server configuration information 315 and acquires the identifier of the virtual server 150 generated on the physical server 110.
  • the virtual server configuration acquisition unit 312 acquires configuration information of the specified virtual server 150 (step 1720).
  • the virtual server configuration acquisition unit 312 acquires the configuration information of the virtual server 150 by referring to the virtual server configuration information 315 based on the acquired identifier of the virtual server 150.
  • the acquired configuration information of the virtual server 150 includes the resource amount of the virtual processor 511 allocated to the virtual server 150, the resource amount of the virtual memory 512, the allocation method of the processor 301, and the usage status of the virtual server 150.
  • the virtual server configuration acquisition unit 312 transmits the acquired configuration information of the virtual server 150 to the management server 100 (step 1730), and ends the process.
  • step 1710 If the processing is not executed for all the virtual servers 150, the process returns to step 1710 and the same processing (steps 1710 to 1730) is executed.
  • FIG. 18 is a flowchart illustrating processing executed by the processor performance acquisition unit 313 according to the first embodiment of this invention.
  • the processor performance acquisition unit 313 is executed by the virtualization unit 310 that has received the execution request of the processor performance acquisition unit 313 from the management server 100.
  • the processor performance acquisition unit 313 acquires performance information of the processor 301 included in the physical server 110 (step 1810).
  • a method for acquiring the performance information of the processor 301 a method in which the processor performance acquisition unit 313 executes a predetermined microbenchmark and acquires the result of the microbenchmark as the performance information of the processor 301 can be considered. Note that a method may be used in which the virtualization unit 310 holds the performance table of the processor 301 and acquires the performance information of the processor 301 from the performance table.
  • a program for executing the micro-benchmark may be held in advance by each physical server 110, or a program transmitted from the management server 100 may be used.
  • the performance index is acquired as the performance information of the processor 301.
  • the processor performance acquisition unit 313 transmits the acquired performance information of the processor 301 to the management server 100 (step 1820), and ends the process.
  • FIG. 19 is a flowchart illustrating processing executed by the process information acquisition unit 340 according to the first embodiment of this invention.
  • the process information acquisition unit 340 is executed by the virtualization unit 310 that has received the execution request of the process information acquisition unit 340 from the management server 100.
  • the process information acquisition unit 340 determines whether or not the process name 703 is included in the received execution request (step 1905).
  • the process information acquisition unit 340 selects the user process corresponding to the process name 703, that is, the process 350 process information to be acquired (step 1910). ), Go to Step 1915.
  • the process 350 that is the processing information acquisition target is also referred to as the target process 350.
  • the process information acquisition unit 340 acquires the priorities and lifetimes of all the processes 350 executed by the OS 330 (step 1915). As a result, information corresponding to the priority 607 and the lifetime 610 of the process 350 is acquired.
  • the process information acquisition unit 340 selects the target process 350 based on the acquired priority and lifetime of the process 350 (Step 1915).
  • a method is conceivable in which a process 350 whose priority is “high” and whose lifetime is “one day” or more is selected as the target process 350.
  • the process selection method is not limited to this, and may be a method of determining based on a criterion designated by an administrator who operates the management server 100.
  • a plurality of target processes 350 may be selected.
  • step 1925 to step 1950 The processing from step 1925 to step 1950 is executed for each target process 350.
  • the process information acquisition unit 340 identifies the process 350 and the thread 360 related to the target process 350 (Step 1925). Note that the process 350 and the thread 360 related to the target process 350 can be specified using a known technique, and thus the description thereof is omitted.
  • target process 350 and the process 350 and the thread 360 related to the target process 350 are also referred to as related processing.
  • the process information acquisition unit 340 identifies the virtual processor 511 that executes the related process (step 1930). As a result, information corresponding to the core ID 608 is acquired.
  • the virtual processor 511 that executes the related processing is also referred to as a target virtual processor 511.
  • the process information acquisition unit 340 acquires the usage rate of each target virtual processor 511 (step 1935). As a result, information corresponding to the usage rate 609 is acquired.
  • an average value is acquired as the usage rate of the target virtual processor 511.
  • the process information acquisition unit 340 may acquire the maximum value of the usage rate in the lifetime as the usage rate of the target virtual processor 511.
  • the process information acquisition unit 340 determines whether or not acquisition of the usage rate of the target virtual processor 511 is completed (step 1940).
  • a method is conceivable in which a monitoring time is set in advance and whether or not the time corresponding to the monitoring time has elapsed since the start of acquiring the usage rate of the target virtual processor 511 is started.
  • the monitoring time corresponds to the acquisition time 611.
  • the time from the acquisition start time of the usage rate of the target virtual processor 511 to the end time of the target process 350 is the time corresponding to the acquisition time 611.
  • the process information acquisition unit 340 returns to step 1935 and executes similar processing.
  • the process information acquisition unit 340 determines whether or not processing has been completed for all target processes 350 (step 1945).
  • the process information acquisition unit 340 returns to step 1925 and executes similar processing.
  • the process information acquisition unit 340 transmits the acquired processing information to the management server 100 (step 1950), and ends the processing.
  • the transmitted processing information includes the OS type, process ID, thread ID, processing name, parent-child relationship, core ID, processor usage rate, lifetime, and collection period.
  • the usage rate of the virtual processor 511 is calculated only in the process 350 and the thread 360 that satisfy a predetermined condition in steps 1910 to 1925. That is, an important business is identified, and the amount of resources used by the business is calculated.
  • FIG. 20 is a flowchart illustrating processing executed by the VM migration control unit 213 according to the first embodiment of this invention.
  • the management server 100 executes the VM migration control unit 213 (step 2010).
  • the migration request includes the identifier of the virtualization unit 310 to be migrated and the identifier of the virtual server 150.
  • the VM migration control unit 213 acquires information related to the migration source virtual server 150 from the virtual server management information 240 and the process management information 250 (step 2020).
  • the VM migration control unit 213 refers to the virtual server management information 240 and the process management information 250 based on the identifier of the virtual server 150 included in the migration request.
  • the VM migration control unit 213 acquires information stored in the entry that matches the identifier of the virtual server 150 included in the migration request from the virtual server management information 240 and the process management information 250.
  • the VM migration control unit 213 executes a resource calculation process for calculating the used resource amount of the virtual server 150 based on the acquired information of the virtual server 150 (step 2030).
  • the VM migration control unit 213 executes search processing for searching for the migration destination physical server 110 based on the calculated resource usage amount of the virtual server 150 (step 2040).
  • the VM migration control unit 213 determines whether there is a physical server 110 that can be migrated as a result of the search (step 2050).
  • the VM migration control unit 213 confirms with the user or administrator whether to continue the search process (step 2070).
  • the confirmation method may be a method of displaying an instruction screen for selecting whether or not to continue the search process on a disc play or the like connected to the management server 100.
  • the VM migration control unit 213 When the notification indicating that the search process is continued is received, the VM migration control unit 213 returns to Step 2020 and executes the same process. Note that the processing may be started immediately or the processing may be started after a predetermined time has elapsed.
  • the VM migration control unit 213 When the notification indicating that the search processing is not continued is received, the VM migration control unit 213 notifies the user or the administrator that there is no physical server 110 that can be migrated (step 2080), and ends the processing.
  • step 2050 When it is determined in step 2050 that there is a physical server 110 that can be migrated, the VM migration control unit 213 executes migration processing (step 2060). As a result, the target virtual server 150 is migrated to the migration destination physical server 110.
  • the following process can be considered for the migration process.
  • the management server 100 instructs the VM migration control unit 213 of the migration destination physical server 110 to secure resources necessary for the target virtual server 150.
  • the VM migration control unit 213 of the migration destination physical server 110 that has received the instruction sets necessary information, and transmits a notification to the effect that resources have been secured to the management server 100.
  • the management server 100 After receiving a notification that resources have been secured from the migration destination physical server 110, the management server 100 instructs the VM migration control unit 213 of the migration source physical server 110 to migrate the virtual server 150.
  • the migration source VM migration control unit 213 that has received the instruction transmits the data of the virtual server 150 to the migration destination physical server 110.
  • the VM migration control unit 213 After the virtual server 150 has been migrated to the migration destination physical server 110, the VM migration control unit 213 notifies the user or administrator that the migration process has been completed (step 2080), and ends the process.
  • FIG. 21 is a flowchart for explaining the details of the resource calculation processing in the first embodiment of the present invention.
  • the VM migration control unit 213 calculates the used resource amount of the virtual memory 512 used by the migration target virtual server 150 (step 2105).
  • the VM migration control unit 213 reads from the virtual server management information 240 the virtual memory 907 of the entry that matches the identifier of the virtualization unit 310 and the identifier of the virtual server 150 included in the migration request.
  • the VM migration control unit 213 calculates the value stored in the read virtual memory 907 as the used resource amount of the virtual memory 512.
  • the VM migration control unit 213 selects one process to be executed on the migration target virtual server 150 (step 2110).
  • the VM migration control unit 213 selects one entry that matches the identifier of the virtual server 150 included in the migration request from the process management information 250.
  • step 2115 to step 2140 the used resource amount of the virtual processor 511 used by the selected process is calculated.
  • the VM migration control unit 213 calculates the used resource amount of the virtual processor 511 used by the selected process (step 2115).
  • the VM migration control unit 213 reads the usage rate 609 of the corresponding process from the process management information 250 and reads the virtual processor 906 of the corresponding process from the virtual server management information 240.
  • the VM migration control unit 213 multiplies the read usage rate 609 by the clock frequency included in the read virtual processor 906, thereby using the resource usage amount of the virtual processor 511 used by the selected process. Is calculated.
  • the VM migration control unit 213 refers to the process management information 250 and determines whether or not the acquisition time 611 corresponding to the selected process is one day or longer (step 2120).
  • Step 2125 If it is determined that the acquisition time 611 corresponding to the selected process is one day or longer, the VM migration control unit 213 proceeds to Step 2125.
  • the VM migration control unit 213 determines whether the acquisition time 611 corresponding to the selected process is more than half a day. (Step 2130).
  • the VM migration control unit 213 When it is determined that the acquisition time 611 corresponding to the selected process is more than half a day, the VM migration control unit 213 increases the used resource amount of the virtual processor 511 calculated in Step 2115 by 20% (Step 2135). . Thereafter, the VM migration control unit 213 proceeds to Step 2125.
  • the VM migration control unit 213 When it is determined that the acquisition time 611 corresponding to the selected process is less than half a day, the VM migration control unit 213 increases the used resource amount of the virtual processor 511 calculated in Step 2115 by 40% (Step 2140). . Thereafter, the VM migration control unit 213 proceeds to Step 2125.
  • the VM migration control unit 213 refers to the process management information 250 and determines whether or not the calculation processing has been completed for the target processing in the migration target virtual server 150 (step 2125).
  • the VM migration control unit 213 When it is determined that the calculation process has not been completed for all the processes in the migration target virtual server 150, the VM migration control unit 213 returns to Step 2110 and selects the next process to execute the same calculation process.
  • the VM migration control unit 213 calculates the total value of the amount of resource used by the virtual processor 511 used by each target process ( Step 2145), the process ends.
  • the value calculated in step 2145 is the used resource amount of the virtual processor 511 used by the virtual server 150 to be migrated.
  • the VM migration control unit 213 temporarily holds the value calculated by the resource calculation process.
  • Step 2120 and steps 2130 to 2140 are processes that depend on the reliability of the acquired resources used for the target process. There is a possibility that the load temporarily increases at the time of information acquisition. If the processing information acquisition time is short, the information is not always accurate.
  • the computer resources necessary for the migration destination are given a margin. .
  • the acquisition time is not limited to a unit of one day or half a day. Different criteria may be used for each OS 330 and process 350.
  • This embodiment is characterized in that the resource amount used by the target process on the virtual server 150 to be migrated is calculated. That is, among the processes executed on the virtual server 150, the resource amount used by the important process (business) is calculated as the resource amount necessary for the virtual server 150. As a result, more physical servers 110 can be selected as migration destinations.
  • the used resource amount of the virtual processor 511 calculated by the resource calculating process is described as a requested processor resource amount
  • the used resource amount of the virtual memory 512 is also described as a requested memory resource amount.
  • the requested processor resource amount and the requested memory resource amount are also described together as the requested resource amount.
  • FIG. 22 is a flowchart illustrating details of the search process according to the first embodiment of the present invention.
  • the VM migration control unit 213 generates free resource pool management information 280 based on the physical server management information 230, the virtual server management information 240, and the processor performance index information 270 (step 2210).
  • the VM migration control unit 213 calculates the resource amount allocated to each virtual server 150 on the virtualization unit 310. Next, the VM migration control unit 213 adds up the resource amounts allocated to the virtual servers 150. Thereby, the used resource amount in the virtualization unit 310 is calculated.
  • the virtualization unit ID 901 is “hyper1”
  • the total value of the resources allocated to the virtual processor 511 of each virtual server 150 is “15.3 GHz”
  • the resource allocated to the virtual memory 512 of each virtual server 150 The total value is calculated as “21 GB”.
  • the amount of resources used in the virtualization unit 310 is subtracted from the amount of resources provided in the physical server 110 on which the virtualization unit 310 operates.
  • the performance index 1003 is multiplied by the resource amount of the processor.
  • the value calculated by the above processing is stored in the processor 1103 and the memory 1104 of the free resource pool management information 280.
  • the VM migration control unit 213 acquires the requested resource amount (step 2220).
  • the VM migration control unit 213 refers to the free resource pool management information 280 and selects one free resource pool (step 2230).
  • a selection method a method of selecting in order from the entry on the free resource pool management information 280 can be considered. Other selection methods may be used.
  • the VM migration control unit 213 determines whether or not a resource amount equal to or larger than the requested memory resource amount exists in the selected free resource pool (Step 2240).
  • the value stored in the memory 1104 is equal to or greater than the value of the requested memory resource amount, it is determined that there is a resource amount greater than the requested memory resource amount in the free resource pool.
  • Step 2270 When it is determined that there is no resource amount greater than the requested memory resource amount in the selected free resource pool, the VM migration control unit 213 proceeds to Step 2270.
  • the VM migration control unit 213 When it is determined that there is a resource amount greater than the requested memory resource amount in the selected free resource pool, the VM migration control unit 213 has a resource amount greater than the requested processor resource amount in the selected free resource pool. Whether or not (step 2250).
  • the value stored in the processor 1103 is equal to or greater than the value of the requested processor resource amount, it is determined that a resource amount equal to or greater than the requested processor resource amount exists in the free resource pool.
  • Step 2270 If it is determined that there is no resource amount greater than the requested processor resource amount in the selected free resource pool, the VM migration control unit 213 proceeds to Step 2270.
  • the VM migration control unit 213 is executed on the migration target virtual server 150 in the selected free resource pool. It is determined whether or not a processor capable of executing processing is included (step 2260).
  • the clock frequency of the processor 301 included in the free resource pool is equal to or higher than the clock frequency of the processor core included in the virtual processor 511.
  • the virtual server 150 on the migration target It is determined that a processor necessary for the process executed in step S1 is included.
  • Step 2270 If it is determined that the free resource pool does not include a processor necessary for the processing executed on the migration target virtual server 150, the VM migration control unit 213 proceeds to Step 2270.
  • the VM migration control unit 213 When it is determined that the free resource pool includes a processor necessary for processing to be executed on the migration target virtual server 150, the VM migration control unit 213 performs virtualization that can migrate the selected virtualization unit 310 This is selected as a candidate for the unit 310.
  • the candidates for the migratable virtualization unit 310 are also referred to as candidate virtualization units 310.
  • the VM migration control unit 213 determines whether or not the search processing has been completed for all entries of the free resource pool management information 280 (step 2270).
  • the VM migration control unit 213 When it is determined that the search processing has not been completed for all entries in the free resource pool management information 280, the VM migration control unit 213 returns to Step 2230, selects another entry, and executes the same processing.
  • the VM migration control unit 213 selects the virtualization unit 310 that is the migration destination from the candidate virtualization unit 310 (step 2280). The process is terminated.
  • the VM migration control unit 213 refers to the virtual server management information 240.
  • the VM migration control unit 213 selects the migration destination virtualization unit 310 based on the number of virtual servers 150 on the candidate virtualization unit 310 and the allocation method 904.
  • the resource which is not allocated to the virtual server 150 is managed as an empty resource pool, the present invention is not limited to this.
  • a resource allocated to an unused virtual server 150 may be included in the free resource pool.
  • the migration destination virtualization unit 310 executes processing for operating the migrated virtual server 150.
  • the virtual server 150 executes processing for securing necessary resources.
  • FIG. 23A and FIG. 23B are explanatory diagrams showing application examples of the first embodiment of the present invention.
  • FIG. 23A shows the state of the migration source virtualization unit 1 (310-1) and the migration destination virtualization unit 2 (310-2) before migration.
  • the virtual server 1 (150-1) and the virtual server 2 (150-2) are operating.
  • the resource amount of the virtual processor 511 is “1.7 GHz ⁇ 3”, and the resource amount of the virtual memory 512 is “9 GB”.
  • the virtual server 1 (150-1) includes a VCPU1, a VCPU2, and a VCPU3 as the virtual processor 511.
  • Each of the virtual processors 511 has a frequency of 1.7 GHz.
  • the VCPU 1 executes the process 350 whose process name is “pname1”, and the usage rate used by the process 350 is 50%.
  • the VCPU 2 executes the process 350 whose process name is “pname2”, and the usage rate used by the process 350 is 40%.
  • the thread 360 having the process name “thread1” is executed, and the usage rate used by the thread 360 is 10%.
  • the resource amount of the virtual processor 511 is “3.4 GHz ⁇ 3”, and the resource amount of the virtual memory 512 is “12 GB”.
  • the virtual server 2 (150-2) includes VCPU1, VCPU2, and VCPU3 as virtual processors 511. Each of the virtual processors 511 has a frequency of 3.4 GHz.
  • the VCPU 1 executes the process 350 whose process name is “pname1”, and the usage rate used by the process 350 is 45%.
  • the process 350 whose process name is “pname2” and the thread 360 whose process name is “thread1” are executed, and the usage rate used by the process 350 and the thread 360 is 40%.
  • the VCPU 3 executes the process 350 whose process name is “pname3”, and the usage rate used by the process 350 is 10%.
  • the virtualization unit 2 (310-2) includes a free resource pool 2300.
  • the virtual server 3 (150-3) is in an unused state.
  • the resources allocated to the virtual server 3 (150-3) are handled as one free resource pool.
  • the resource amount of the virtual processor 511 is “1.2 GHz ⁇ 3”, and the resource amount of the virtual memory 512 is “9 GB”.
  • the virtual server 1 (150-1) includes a VCPU1, a VCPU2, and a VCPU3 as the virtual processor 511.
  • Each of the virtual processors 511 has a frequency of 1.2 GHz.
  • the unused processor 301 is “1.7 GHz ⁇ 4”, and the unused memory 302 is “12 GB”.
  • the migration destination has been determined based on the total amount of resources allocated to the virtual server 150. Therefore, in the conventional method, the virtual server 1 (150-1) selects the free resource pool 2300 as the migration destination. On the other hand, it is determined that the virtual server 2 (150-2) has no migration destination.
  • the VM migration control unit 213 calculates the requested processor resource amount in the virtual server 1 (150-1) as “1.7 GHz” and the requested memory resource amount as “9 GB”.
  • the VM migration control unit 213 can select the virtual server 3 (150-3) as the migration destination.
  • the VM migration control unit 213 calculates the requested processor resource amount in the virtual server 2 (150-2) as “3.74 GHz” and the requested memory resource amount as “12 GB”.
  • the VM migration control unit 213 can select the free resource pool 2300 as the migration destination.
  • FIG. 23B shows the state of the migration source virtualization unit 1 (310-1) and the migration destination virtualization unit 2 (310-2) after migration.
  • FIG. 23B shows an example in which virtual server 1 (150-1) is migrated to virtual server 3 (150-3) and virtual server 2 (150-2) is migrated to the free resource pool 2300.
  • the virtualization unit 2 (310-2) generates the virtual server 4 (150-4) from the free resource pool 2300.
  • the VM migration control unit 213 migrates the virtual server 2 (150-2) onto the generated virtual server 4 (150-4).
  • the process 350 and the thread 360 executed on the virtual server 150 before the migration are continuously executed also on the virtual server 150 of the migration destination.
  • the amount of use of the virtual processor 511 for each process is considered, but the present invention is not limited to this.
  • the requested memory resource amount may be calculated using a method similar to the method for calculating the requested processor resource amount.
  • management server 100 Since the configurations of the computer system, management server 100, physical server 110, and storage system 120 of the second embodiment are the same as those of the first embodiment, description thereof is omitted.
  • the resource allocation method to the virtual server 150 is different.
  • FIG. 24 is an explanatory diagram showing a logical configuration of the computer system according to the second embodiment of this invention.
  • the virtualization unit 310 logically divides the resources included in the physical server 110 and allocates the LPAR 2400 including the logically divided resources to the virtual server 150.
  • the LPAR 2400 includes a processor core 2410, a storage area 2420, and an LU 502.
  • the resources allocated to the LPAR 2400 can be used exclusively by the LPAR. Therefore, it is not used from other LPAR2400.
  • the LPAR 2400 may be assigned a resource in units of the processor 301, or may be assigned a resource in units of the memory 302.
  • the physical server management information 230 Since the physical server management information 230, the user definition information 260, and the processor performance index information 270 are the same as those in the first embodiment, description thereof is omitted.
  • FIG. 25 is an explanatory diagram illustrating an example of the process management information 250 according to the second embodiment of this invention.
  • the process management information 250 of the second embodiment differs in information stored in the core ID 2501.
  • an identifier for identifying the processor core 2410 is stored in the core ID 2501.
  • virtual server ID 601, OS type 602, process ID 603, thread ID 604, process name 605, parent-child relationship 606, priority 607, usage rate 609, lifetime 610, and acquisition time 611 are the same as those in the first embodiment. is there.
  • FIG. 26 is an explanatory diagram illustrating an example of the virtual server management information 240 according to the second embodiment of this invention.
  • the information stored in the virtual server configuration 903 is different from the virtual server management information 240 of the second embodiment.
  • the processor 2601 stores a value obtained by multiplying the frequency of the processor core 2410 assigned to the LPAR 2400 by the number of assigned processor cores 2410.
  • the memory 2602 stores the capacity of the storage area 2420 allocated to the LPAR 2400.
  • the virtual server management information 240 of the second embodiment does not include the allocation method 904. This is because the LPAR 2400 laughs exclusively at resources.
  • the virtualization unit ID 901, the virtual server ID 902, and the usage status 905 are the same as those in the first embodiment.
  • FIG. 27 is an explanatory diagram illustrating an example of the free resource pool management information 280 according to the second embodiment of this invention.
  • the value stored in the server configuration 1102 is different in the free resource pool management information 280 of the second embodiment.
  • the server configuration 1102 stores the amount of resources not allocated to the LPAR 2400.
  • the value stored in the processor 2701 is calculated as follows.
  • step 2210 the VM migration control unit 213 subtracts the number of processor cores 2410 allocated to the LPAR 2400 from the number of all processor cores 2410 included in the physical server 110. As a result, the number of processor cores 2410 not assigned to the LPAR 2400 is calculated.
  • the VM migration control unit 213 multiplies the number of processor cores 2410 that are not assigned to the LPAR 2400 by the clock frequency of the processor core 2410.
  • the VM migration control unit 213 further multiplies the calculated value by the performance index 1003 corresponding to the processor core 2410.
  • the value stored in the memory 2702 is calculated as follows.
  • step 2210 the VM migration control unit 213 subtracts the total storage area allocated to the LPAR 2400 from the total capacity of the memory 302 included in the physical server 110. As a result, the capacity of the storage area 2420 not allocated to the LPAR 2400 is calculated.
  • the value calculated by the above processing is stored in the memory 2702.
  • step 1930 the process information acquisition unit 340 specifies the processor core 2410 that executes the related process for each related process.
  • step 1935 the process information acquisition unit 340 acquires the usage rate of each processor core 2410 that executes processing.
  • step 2105 the VM migration control unit 213 calculates the amount of resource used in the storage area 2420 used by the migration target virtual server 150.
  • the VM migration control unit 213 reads from the virtual server management information 240 the virtual memory 907 of the entry that matches the identifier of the virtualization unit 310 and the identifier of the virtual server 150 included in the migration request.
  • the VM migration control unit 213 calculates the value stored in the read memory 2602 as the used resource amount of the storage area 2420.
  • step 2115 the VM migration control unit 213 calculates the amount of resource used by the processor core 2410 used by the selected process.
  • the VM migration control unit 213 reads the usage rate 609 of the process selected from the process management information 250, and sets the processor 2601 of the virtual server 150 that executes the process selected from the virtual server management information 240. read out.
  • the VM migration control unit 213 calculates the usage resource amount of the processor core 2410 used by the selected process by multiplying the read usage rate 609 and the read frequency included in the processor 2601. To do.
  • step 2135 the VM migration control unit 213 increases the number of processor cores 2410 used by the LPAR 2400 by one.
  • step 2140 the VM migration control unit 213 increases the number of processor cores 2410 used by the LPAR 2400 by two.
  • the resource amount required for the virtual server 150 is calculated based on the resource amount used by the processing (process 350, thread 360, etc.) executed on the virtual server 150. Therefore, the virtual server 150 can be migrated to a free resource pool with an appropriate resource amount. In addition, since there are more candidates for the migration destination free resource pool, resources can be used effectively.

Abstract

 リソースプールを用いて計算機リソースが管理されるクラウド環境において、リソースを有効に活用できるマイグレーション技術を提供する。 複数の物理計算機及び複数の物理計算機を管理する管理サーバを備える計算機システムであって、物理計算機上には、割当リソースが割り当てられた仮想計算機が稼働し、仮想計算機は一以上のサブ処理を含む一以上の業務処理を実行し、仮想計算機が、サブ処理毎の使用リソース量を取得し、管理サーバが、各物理計算機からリソース情報及び割当リソース情報を取得し、仮想計算機の移行処理の実行要求を受信した場合に、リソース情報及び割当リソース情報に基づいて空きリソース情報を生成し、サブ処理毎の使用リソース量に基づいて移行対象の仮想計算機に必要な要求リソース量を算出し、空きリソース情報及び要求リソース量に基づいて、移行先となる物理計算機を検索し、移行先の物理計算機に移行対象の仮想計算機を移行する。

Description

計算機システム、マイグレーション方法及び管理サーバ
 クラウド環境において、物理サーバ上で稼動する仮想サーバを移行するマイグレーション技術に関する。
 クラウド環境では、性能の異なるサーバが混在する。例えば、クロック周波数が高いCPUを備えるサーバ装置と、クロック周波数の低いCPUを備えるサーバ装置とが混在する。リソースプールでは、リソースプールに含まれる各サーバ装置が備えるリソース量の合計値(CPUの場合は、クロック周波数の合計値)が、リソースプールのリソース量として管理される。
 例えば、クロック周波数が3GHzであるCPUを4つ含むリソースプールと、クロック周波数が2GHzであるCPUを6つ含むリソースプールとは、クロック周波数の合計値が共に12GHzとなり、同一のCPUリソースを有するリソースプールとして扱われる。
 ユーザは、サーバ装置を用いて構築される仮想サーバ装置(VM)を利用してサービスを提供する。障害が発生した場合、他のサーバ装置に仮想サーバ装置を移行(マイグレーション)することによって、ユーザは継続してサービスを提供することができる。
 マイグレーション方法としては、例えば、データセンタ内において、アプリケーションが要求するネットワーク条件、サーバ要件及びストレージ要件に基づいてマイグレーション先のデータセンタを見つける方法がある(例えば、特許文献1参照)。
 クラウド環境において、リソースプールに含まれるサーバ装置に仮想サーバ装置を移行する場合、仮想サーバ装置に割り当てられたリソース量に基づいてマイグレーション先のリソースプールが決定される。
 具体的には、仮想サーバ装置に割り当てられたリソース量以上のリソース量を備えるリソースプールが、移行先のリソースプールとして決定される。
特開2009-134687号公報
 しかし、従来の方法では、仮想サーバ装置の使用リソース量が少ない場合等に、当該使用リソース量以上のリソース量を備えるリソースプールであっても移行先として選択されない。すなわち、仮想サーバ装置に必要なリソース量以上のリソース量を備えるリソースプールが選択される場合がある。そのため、リソースの有効活用が困難であった。
 本発明では、仮想サーバ装置に必要なリソース量に基づいて移行先のリソースプールを検索することによって、クラウド環境における計算機リソースの有効活用を実現することを目的とする。
 本発明の代表的な一例を示せば以下の通りである。すなわち、複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムであって、前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、前記各物理計算機は、それぞれ、第1のプロセッサ、前記第1のプロセッサに接続される第1の主記憶媒体、前記第1のプロセッサに接続される副記憶媒体、前記第1のプロセッサに接続される第1のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、前記管理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2の記憶媒体、前記第2のプロセッサに接続される第2のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、前記計算機システムは、前記管理サーバが、前記取得命令を前記各仮想計算機に送信し、前記各仮想計算機が、前記受信した取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得し、前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信し、前記管理サーバが、前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする。
 本発明によれば、サブ処理の使用リソース量に基づいて、移行先の物理計算機を検索するため、仮想計算機に割り当てられた割当リソースに基づく検索と比較して、より適切なリソース量の物理計算機に移行することができる。したがって、計算機システム内のリソースを有効活用することができる。
本発明の第1の実施形態の計算機システムの構成例を示す説明図である。 本発明の第1の実施形態の管理サーバのハードウェア構成及びソフトウェア構成の一例を示す説明図である。 本発明の第1の実施形態の物理サーバのハードウェア構成及びソフトウェア構成の一例を示す説明図である。 本発明の第1の実施形態のストレージシステムのハードウェア構成の一例を示す説明図である。 本発明の第1の実施形態の計算機システムの論理的構成を示す説明図である。 本発明の第1の実施形態のプロセス管理情報の一例を示す説明図である。 本発明の第1の実施形態のユーザ定義情報の一例を示す説明図である。 本発明の第1の実施形態の物理サーバ管理情報の一例を示す説明図である。 本発明の第1の実施形態の仮想サーバ管理情報の一例を示す説明図である。 本発明の第1の実施形態のプロセッサ性能Index情報の一例を示す説明図である。 本発明の第1の実施形態の空きリソースプール管理情報の一例を示す説明図である。 本発明の第1の実施形態の物理サーバ構成管理部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態の仮想サーバ構成管理部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態のプロセッサ性能管理部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態のワークロード管理部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態の物理サーバ構成取得部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態の仮想サーバ構成取得部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態のプロセッサ性能取得部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態のプロセス情報取得部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態のVM移行制御部によって実行される処理を説明するフローチャートである。 本発明の第1の実施形態におけるリソース算出処理の詳細を説明するフローチャートである。 本発明の第1の実施形態における検索処理の詳細を説明するフローチャートである。 本発明の第1の実施形態の適用例を示す説明図である。 本発明の第1の実施形態の適用例を示す説明図である。 本発明の第2の実施形態の計算機システムの論理的構成を示す説明図である。 本発明の第2の実施形態のプロセス管理情報の一例を示す説明図である。 本発明の第2の実施形態の仮想サーバ管理情報の一例を示す説明図である。 本発明の第2の実施形態の空きリソースプール管理情報の一例を示す説明図である。
 以下、図面を用いて本発明の実施形態について説明する。なお、同一の構成については同一の符号を付すものとする。
 仮想化方法としては、VM方式及びLPAR方式がある。
 VM方式は、ハイパバイザ等の仮想化管理部が物理サーバの計算機リソースを時分割して仮想サーバに割り当てる方式である。LPAR方式は、仮想化管理部が物理サーバの計算機リソースを論理的に分割したLPAR上に仮想サーバを割り当てる方式である。
 以下、VM方式及びLPAR方式、それぞれの実施形態について説明する。
 [第1の実施形態]
 第1の実施形態では、VM方式を用いた仮想化技術の場合について説明する。
 図1は、本発明の第1の実施形態の計算機システムの構成例を示す説明図である。
 計算機システムは、管理サーバ100、物理サーバ110、及びストレージシステム120から構成される。
 管理サーバ100と物理サーバ110とは、ネットワーク130を介して接続される。ネットワーク130は、例えば、LAN、WAN等が考えられる。
 また、物理サーバ110とストレージシステム120とは、直接、また、SAN等を介して接続される。
 管理サーバ100は、計算機システム全体を管理する。管理サーバ100のハードウェア構成及びソフトウェア構成については、図2を用いて後述する。
 物理サーバ110は、ユーザがサービスを提供するための仮想サーバ150が稼動する計算機である。物理サーバ110のハードウェア構成及びソフトウェア構成については、図3を用いて後述する。
 ストレージシステム120は、仮想サーバ150に割り当てられる記憶領域を提供する。ストレージシステム120のハードウェア構成及びソフトウェア構成については、図4を用いて後述する。
 図2は、本発明の第1の実施形態の管理サーバ100のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
 管理サーバ100は、ハードウェア構成としてプロセッサ201、メモリ202、ネットワークI/F203、及びディスクI/F204を備える。なお、管理サーバ100は、HDD等の他のハードウェア構成を備えてもよい。
 プロセッサ201は、演算を実行するプロセッサコア(図示省略)を複数含み、メモリ202に格納されるプログラムを実行する。これによって、管理サーバ100が備える機能を実現する。
 メモリ202は、プロセッサ201によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
 ネットワークI/F203は、ネットワーク130と接続するためのインタフェースである。
 ディスクI/F204は、外部のストレージシステム(図示省略)と接続するためのインタフェースである。
 以下、管理サーバ100のソフトウェア構成について説明する。
 メモリ202は、仮想化管理部210及び構成情報管理部220を実現するためのプログラム、並びに、物理サーバ管理情報230、仮想サーバ管理情報240、プロセス管理情報250、ユーザ定義情報260、プロセッサ性能Index情報270、及び空きリソースプール管理情報280を格納する。
 仮想化管理部210は、物理サーバ110上で稼動する仮想化部310(図3参照)が保持する情報を管理する。仮想化管理部210は、ワークロード管理部211、プロセッサ性能管理部212、及びVM移行制御部213を備える。
 ワークロード管理部211は、仮想サーバ150上で実行される処理(例えば、プロセス、スレッド等)に関する情報を管理する。具体的には、ワークロード管理部211は、仮想サーバ150上で実行される処理(例えば、プロセス、スレッド等)によって使用される計算機リソースの使用率等の情報を取得する。また、ワークロード管理部211は、取得された情報をプロセス管理情報250に格納する。
 プロセッサ性能管理部212は、物理サーバ110が備えるプロセッサ301(図3参照)の性能情報を取得し、取得された性能情報をプロセッサ性能Index情報270に格納する。
 VM移行制御部213は、仮想サーバ150を別の物理サーバ110に移行するためのマイグレーション処理を実行する。
 構成情報管理部220は、物理サーバ110及び仮想サーバ150の構成情報を管理する。構成情報管理部220は、物理サーバ構成管理部221及び仮想サーバ構成管理部222を備える。
 物理サーバ構成管理部221は、物理サーバ110の構成情報を管理する。具体的には、物理サーバ構成管理部221は、各物理サーバ110から、当該物理サーバ110の構成情報を取得し、取得された構成情報を物理サーバ管理情報230に格納する。
 本実施形態では、一つの物理サーバ110が備える計算機リソースが一つのリソースプールとして管理される。なお、本発明はこれに限定されず、例えば、複数の物理サーバ110が備える計算機リソースが一つのリソースプールとして管理されてもよい。
 仮想サーバ構成管理部222は、仮想サーバ150に割り当てられる計算機リソース(例えば、プロセッサ、メモリ等)の情報、すなわち、仮想サーバ150の構成情報を管理する。具体的には、仮想サーバ構成管理部222は、仮想化部310(図3参照)から、当該仮想化部310(図3参照)上で稼動する仮想サーバ150の構成情報を取得し、取得された仮想サーバ150の構成情報を仮想サーバ管理情報240に格納する。
 物理サーバ管理情報230は、物理サーバ110の構成情報を格納する。物理サーバ管理情報230の詳細については、図8を用いて後述する。
 仮想サーバ管理情報240は、仮想サーバ150の構成情報を格納する。仮想サーバ管理情報240の詳細については、図9を用いて後述する。
 プロセス管理情報250は、仮想サーバ150上で実行される処理(例えば、プロセス、スレッド等)に関する情報を格納する。プロセス管理情報250の詳細については、図6を用いて後述する。
 ユーザ定義情報260は、仮想サーバ150上で実行される処理(例えば、プロセス、スレッド等)のうち、ユーザによって指定された処理(例えば、プロセス、スレッド等)に関する情報を格納する。ユーザ定義情報260の詳細については、図7を用いて後述する。ユーザ定義情報260は、仮想サーバ150のマイグレーション実行時にユーザによって入力される情報である。
 プロセッサ性能Index情報270は、物理サーバ110が備えるプロセッサの性能情報を格納する。プロセッサ性能Index情報270の詳細については、図10を用いて後述する。
 空きリソースプール管理情報280は、使用されていない計算機リソース、すなわち、空きリソースプールに関する情報を格納する。本実施形態では、物理サーバ管理情報230、仮想サーバ管理情報240及びプロセッサ性能Index情報270に基づいて、空きリソースプール管理情報280が生成される。
 なお、空きリソースプール管理情報280の詳細については、図11を用いて後述する。
 本実施形態では、一つの物理サーバ110が備える計算機リソースのうち、未使用の計算機リソースが一つの空きリソースプールとして管理される。なお、本発明はこれに限定されず、例えば、複数の物理サーバ110における未使用の計算機リソースが一つの空きリソースプールとして管理されてもよい。
 本実施形態では、仮想化管理部210、構成情報管理部220、ワークロード管理部211、プロセッサ性能管理部212、VM移行制御部213、物理サーバ構成管理部221及び仮想サーバ構成管理部222は、ソフトウェアによって実現されているが、ハードウェアを用いて実現してもよい。
 図3は、本発明の第1の実施形態の物理サーバ110のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
 物理サーバ110は、プロセッサ301、メモリ302、ネットワークI/F303、及びディスクI/F304を備える。
 プロセッサ301は、演算を実行するプロセッサコア(図示省略)を複数含み、メモリ302に格納される各種プログラムを実行する。これによって、物理サーバ110が備える機能を実現する。
 メモリ302は、プロセッサ301によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
 ネットワークI/F303は、ネットワーク130と接続するためのインタフェースである。
 ディスクI/F304は、ストレージシステム120と接続するためのインタフェースである。
 以下、物理サーバ110のソフトウェア構成について説明する。
 メモリ302は、仮想化部310を実現するためのプログラムを格納する。
 仮想化部310は、物理サーバ110が備える計算機リソースを分割することによって複数の仮想サーバ150を生成する。また、仮想化部310は、生成された仮想サーバ150を管理する。本実施形態の仮想化部310は、VM方式を用いた仮想環境を実現するものとする。
 仮想化部310は、物理サーバ構成取得部311、仮想サーバ構成取得部312、プロセッサ性能取得部313、物理サーバ構成情報314、及び仮想サーバ構成情報315を備える。
 物理サーバ構成取得部311は、管理サーバ100から物理サーバ110の構成情報の取得要求を受信した場合に、物理サーバ構成情報314から物理サーバ110の構成情報を読み出し、読み出された物理サーバ110の構成情報を管理サーバ100に送信する。
 なお、物理サーバ構成取得部311は、物理サーバ110の構成情報の取得要求を受信した時に、物理サーバ110から直接情報を取得してもよい。
 仮想サーバ構成取得部312は、管理サーバ100から仮想サーバ150の構成情報の取得要求を受信した場合に、仮想サーバ構成情報315から仮想サーバ150の構成情報を読み出し、読み出された仮想サーバ150の構成情報を管理サーバ100に送信する。
 なお、仮想サーバ構成取得部312は、仮想サーバ150の構成情報の取得要求を受信した時に、仮想サーバ150から直接情報を取得してもよい。
 プロセッサ性能取得部313は、管理サーバ100からプロセッサ301の性能情報の取得要求を受信した場合に、プロセッサ301の性能情報を取得し、取得された性能情報を管理サーバ100に送信する。
 物理サーバ構成情報314は、物理サーバ110のハードウェア構成及びソフトウェア構成に関する情報を格納する。
 仮想サーバ構成情報315は、仮想サーバ150に割り当てられる計算機リソースの情報を格納する。
 仮想サーバ150は、一つの計算機として稼動する。仮想サーバ150はOS330を実行する。さらに、当該OS330上では一以上のアプリケーション(図示省略)が実行される。アプリケーション(図示省略)は一以上のプロセス350から構成される。また、プロセス350は、複数のスレッド360を含む。
 なお、本発明は、図3に示すようなプロセス350とスレッド360との包含関係に限定されない。すなわち、プロセス350又はスレッド360の扱いが異なっていてもよい。
 OS330は、プロセス情報取得部340を備える。プロセス情報取得部340は、OS330上で実行されるアプリケーションによって使用される計算機リソースに関する情報を取得する。
 本実施形態では、プロセス350及びスレッド360単位に、計算機リソースの使用量が取得される。
 プロセス情報取得部340が取得した情報は、仮想化部310から管理サーバ100に送信される。
 本実施形態では、仮想化部310、物理サーバ構成取得部311、仮想サーバ構成取得部312、プロセッサ性能取得部313、物理サーバ構成情報314、及び仮想サーバ構成情報315は、ソフトウェアによって実現されているが、ハードウェアを用いて実現してもよい。
 図4は、本発明の第1の実施形態のストレージシステム120のハードウェア構成の一例を示す説明図である。
 ストレージシステム120は、プロセッサ401、メモリ402、ディスクI/F403、及び記憶媒体404を備える。
 プロセッサ401は、複数のプロセッサコア(図示省略)を含み、メモリ402に格納されるプログラムを実行する。これによって、ストレージシステム120が備える機能を実現する。
 メモリ402は、プロセッサ401によって実行されるプログラム及び当該プログラムを実行するために必要となる情報を格納する。
 ディスクI/F403は、記憶媒体404に接続するためのインタフェースである。
 記憶媒体404は、各種情報を格納する。記憶媒体404は、例えば、HDD、SSD、及び不揮発性メモリ等が考えられる。
 なお、ストレージシステム120は、複数の記憶媒体404からディスクアレイを構成し、一つの記憶領域として管理してもよい。
 また。ストレージシステム120は、記憶媒体404又はディスクアレイの記憶領域を論理的に分割することによって複数のLUを生成し、生成されたLUを各仮想サーバ150に割り当ててもよい。
 図5は、本発明の第1の実施形態の計算機システムの論理的構成を示す説明図である。
 仮想化部310は、物理サーバ110が備えるプロセッサ301及びメモリ302等の計算機リソースを時分割して、仮想サーバ150に割り当てられる。仮想サーバ150は、割り当てられた計算機リソースを仮想プロセッサ511及び仮想メモリ512として認識する。
 ストレージシステム120は、記憶領域501を論理分割して生成されたLU502を各仮想サーバ150に割り当てる。当該LU502にOS330等の実行イメージが格納される。
 以下、計算機リソースを単にリソースとも記載する。
 図6は、本発明の第1の実施形態のプロセス管理情報250の一例を示す説明図である。
 プロセス管理情報250は、仮想サーバID601、OS種別602、プロセスID603、スレッドID604、処理名605、親子関係606、優先度607、コアID608、使用率609、生存期間610、及び取得時間611を含む。
 仮想サーバID601は、仮想サーバ150を一意に識別するための識別子を格納する。
 OS種別602は、仮想サーバID601に対応する仮想サーバ150が実行するOS330の種別を格納する。
 なお、OS330の種別によってプロセス350及びスレッド360等の定義が異なるため、プロセスID603、スレッドID604、親子関係606及び優先度607に格納される情報が異なる。本実施形態では、OS種別602に基づいて、プロセス350、スレッド360等の定義が特定される。
 プロセスID603は、仮想サーバID601に対応する仮想サーバ150上で実行されるプロセス350を一意に識別するための識別子を格納する。同一のプロセス350には、同一のプロセスID603が格納される。
 スレッドID604は、プロセスID603に対応するプロセス350よって生成されたスレッド360を一意に識別するための識別子を格納する。スレッドID604に識別子が格納される場合、当該処理はスレッド360であることを表す。
 処理名605は、プロセスID603又はスレッドID604に対応するプロセス350又はスレッド360の名称を格納する。
 親子関係606は、プロセス350の親子関係を格納する。親子関係606に「parent」が格納される場合、当該エントリが親プロセスであることを表す。親プロセス350から生成された子プロセス350の親子関係606には、親プロセス350のプロセスID603が格納される。
 優先度607は、仮想サーバID601に対応する仮想サーバ150上で実行されるプロセス350又はスレッド360の重要度を表す情報を格納する。なお、優先度607は、OS種別602によって異なる情報が格納される。例えば、数値、又は「高、中、低」等の情報が格納される。
 コアID608は、仮想サーバID601に対応する仮想サーバ150に割り当てられる仮想プロセッサ511に含まれる仮想プロセッサコアの識別子を格納する。
 使用率609は、コアID608に対応する仮想プロセッサ511の使用率を格納する。
 生存期間610は、プロセスID603に対応するプロセス350又はスレッドID604に対応するスレッド360の生存時間を格納する。
 取得時間611は、プロセスID603に対応するプロセス350又はスレッドID604に対応するスレッド360の情報の取得時間を格納する。
 図7は、本発明の第1の実施形態のユーザ定義情報260の一例を示す説明図である。
 ユーザ定義情報260は、物理サーバID701、仮想サーバID702及び処理名703を含む。
 物理サーバID701は、物理サーバ110を一意に識別するための識別子を格納する。
 仮想サーバID702は、物理サーバID701に対応する物理サーバ110における仮想サーバ150を一意に識別するための識別子を格納する。仮想サーバID702は、仮想サーバID601と同一の情報である。
 処理名703は、仮想サーバID702に対応する仮想サーバ150上で実行されるプロセス350又はスレッド360の名称を格納する。処理名703は、処理名605と同一の情報である。
 図8は、本発明の第1の実施形態の物理サーバ管理情報230の一例を示す説明図である。
 物理サーバ管理情報230は、物理サーバID801、サーバ構成802及び仮想化部ID803を含む。
 物理サーバID801は、物理サーバ110を一意に識別するための識別子である。物理サーバID801は、物理サーバID701と同一の情報を格納する。
 サーバ構成802は、物理サーバID801に対応する物理サーバ110が備えるリソースの情報を格納する。サーバ構成802は、プロセッサ804及びメモリ805を含む。なお、サーバ構成802に他の情報が含まれてもよい。
 プロセッサ804は、物理サーバID801に対応する物理サーバ110が備えるプロセッサ301のリソース量を格納する。本実施形態では、物理サーバ110が備えるプロセッサ301の周波数と、当該プロセッサ301に含まれるプロセッサコアの数とを乗算した値が格納される。
 なお、本発明はこれに限定されない。プロセッサ301の周波数とソケット数とを乗算した値が格納されてもよい。
 メモリ805は、物理サーバID801に対応する物理サーバ110が備えるメモリ302のリソース量を格納する。本実施形態では、物理サーバ110が備えるメモリ302の全記憶領域の容量が格納される。
 仮想化部ID803は、物理サーバID801に対応する物理サーバ110における仮想化部310を一意に識別するための識別子を格納する。
 図9は、本発明の第1の実施形態の仮想サーバ管理情報240の一例を示す説明図である。
 仮想サーバ管理情報240は、仮想化部ID901、仮想サーバID902、仮想サーバ構成903、割当方式904、及び使用状況905を含む。
 仮想化部ID901は、仮想化部310を一意に識別するための識別子を格納する。仮想化部ID901は、仮想化部ID803と同一の情報である。
 仮想サーバID902は、仮想化部ID901に対応する仮想化部310が管理する仮想サーバ150を一意に識別するための識別子を格納する。仮想サーバID902は、仮想サーバID601と同一の情報である。
 仮想サーバ構成903は、仮想サーバID902に対応する仮想サーバ150に割り当てられるリソースに関する情報を格納する。仮想サーバ構成903は、仮想プロセッサ906及び仮想メモリ907を含む。なお、仮想サーバ構成903は、他の情報を含んでもよい。
 仮想プロセッサ906は、仮想サーバ150に割り当てられる仮想プロセッサ511のリソース量を格納する。具体的には、仮想プロセッサ511に含まれるプロセッサコアの周波数と、当該プロセッサコアの数とを乗算した値が格納される。
 例えば、図9の仮想化部ID901が「hyper1」、仮想サーバID902が「virt1」の仮想サーバ150は、周波数が「1.7GHz」のプロセッサコアが3つ含まれる仮想プロセッサ511が割り当てられていることを示す。
 なお、本発明はこれに限定されない。仮想プロセッサ511の周波数と、ソケット数とを乗算した値を仮想プロセッサ906に格納してもよい。
 仮想メモリ907は、仮想サーバ150に割り当てられる仮想メモリ512のリソース量を格納する。
 なお、仮想化部310は、当該仮想プロセッサ906に格納されたリソース量を満たすように物理サーバ110が備えるプロセッサ301を各仮想サーバ150に割り当てる。また、仮想化部310は、当該仮想メモリ907に格納されたリソース量を満たすように物理サーバ110が備えるメモリ302を各仮想サーバ150に割り当てる。
 割当方式904は、プロセッサ301の割当方式を格納する。
 具体的には、割当方式904が「共有」の場合、仮想プロセッサ906に示されたリソースのうちの一部のリソースが他の仮想サーバ150に割り当て可能な状態を表す。また、割当方式904が「占有」の場合、仮想プロセッサ906に示されたリソースが必ず割り当てられる状態を表す。
 使用状況905は、仮想サーバ150が稼動しているか否かを表す情報を格納する。例えば、OS330が実行される場合、使用状況905には「使用中」が格納され、OS330が実行されていない場合、使用状況905には「未使用」が格納される。
 図10は、本発明の第1の実施形態のプロセッサ性能Index情報270の一例を示す説明図である。
 プロセッサ性能Index情報270は、物理サーバID1001、プロセッサ1002、及び性能Index1003を含む。
 物理サーバID1001は、物理サーバ110を一意に識別するための識別子を格納する。物理サーバID1001は、物理サーバID701と同一の情報である。
 プロセッサ1002は、物理サーバID1001に対応する物理サーバ110が備えるプロセッサ301のリソース量を格納する。具体的には、プロセッサ301に含まれるプロセッサコアの周波数と、当該プロセッサコアの数とを乗算した値が格納される。
 なお、本発明はこれに限定されない。プロセッサ301の周波数と、ソケット数とを乗算した値を仮想プロセッサ906に格納してもよい。
 性能Index1003は、物理サーバID1001に対応する物理サーバ110が備えるプロセッサ301の性能を評価するため情報を格納する。
 物理サーバ110が備えるプロセッサ301は、クロック周波数、キャッシュ、アーキテクチャ等によって性能を一律に比較できないため、本実施形態では、プロセッサ301の性能を比較するための指標として性能Index1003が用いられる。性能Index1003は、同一のベンチマークを実行させることによって得られる値である。実行されるベンチマークはどのようなものであってもよい。
 本実施形態では、性能Index1003を用いて移行先の物理サーバ110に必要なリソース量を算出される。
 図11は、本発明の第1の実施形態の空きリソースプール管理情報280の一例を示す説明図である。
 空きリソースプール管理情報280は、仮想化部ID1101、サーバ構成1102を含む。
 仮想化部ID1101は、仮想化部310を一意に識別するための識別子を格納する。仮想化部ID1101は、仮想化部ID803と同一の情報である。
 サーバ構成1102は、仮想化部ID1101に対応する仮想化部310が稼動する物理サーバ110の空きリソース量に関する情報を格納する。サーバ構成1102は、プロセッサ1103及びメモリ1104を含む。なお、他の情報が含まれてもよい。
 プロセッサ1103は、物理サーバ110における、未使用のプロセッサ301のリソース量を格納する。本実施形態では、以下のようにして算出された値が格納される。
プロセッサ1103=(プロセッサ804-総仮想プロセッサ)×性能Index1003
 ここで、「総仮想プロセッサ」は、仮想化部ID1101に対応する仮想化部310が管理する全仮想サーバ150の仮想プロセッサ906の合計値を表す。
 例えば、仮想化部ID1101が「hyper1」の場合、次のようにプロセッサ1103が算出される。
プロセッサ1103={3.4GHz×6-(1.7GHz×3+3.4GHz×3)}×1=5.1GHz×1
 メモリ1104は、物理サーバ110における、未使用のメモリ302のリソース量を格納する。本実施形態では以下ようにして算出された値が格納される。
メモリ1104=(メモリ805-総仮想メモリ)
 ここで、「全仮想メモリ」は、仮想化部ID1101に対応する仮想化部310が管理する全仮想サーバ150の仮想メモリ907の合計値を表す。
 例えば、仮想化部ID1101が「hyper1」の場合、次のようにメモリ1104が算出される。
メモリ1104={32GB-(9GB+12GB)}=11GB
 次に、本実施形態における処理の詳細について説明する。
 図12は、本発明の第1の実施形態の物理サーバ構成管理部221によって実行される処理を説明するフローチャートである。
 物理サーバ構成管理部221は、管理対象である各物理サーバ110の仮想化部310に対して、物理サーバ構成取得部311の実行要求を送信する(ステップ1210)。
 なお、管理対象の物理サーバ110は、管理サーバ100に接続される全ての物理サーバ110でもよいし、OS330が実行するアプリケーション毎に予め指定された物理サーバ110であってもよい。以下、管理対象である物理サーバ110を対象物理サーバ110とも記載する。
 当該実行要求を受信した各仮想化部310は、それぞれ、物理サーバ構成取得部311を実行する。これによって、対象物理サーバ110の構成情報が取得される。なお、物理サーバ構成取得部311によって実行される処理については、図16を用いて後述する。
 物理サーバ構成管理部221は、各仮想化部310から対象物理サーバ110の構成情報を取得し、取得された対象物理サーバ110の構成情報に基づいて、物理サーバ管理情報230を更新する(ステップ1220)。
 例えば、取得された対象物理サーバ110の構成情報に対応するエントリが物理サーバ管理情報230に追加される。
 なお、物理サーバ構成管理部221は、計算機システムの構成時に前述した処理を実行する。また、物理サーバ構成管理部221は、計算機システムの構成が変更された旨の通知を受信した場合に、前述した処理を実行してもよい。また、物理サーバ構成管理部221は、周期的に前述した処理を実行してもよい。
 図13は、本発明の第1の実施形態の仮想サーバ構成管理部222によって実行される処理を説明するフローチャートである。
 仮想サーバ構成管理部222は、各対象物理サーバ110の仮想化部310に対して、仮想サーバ構成取得部312の実行要求を送信する(ステップ1310)。
 当該実行要求を受信した各仮想化部310は、それぞれ、仮想サーバ構成取得部312を実行する。これによって、当該仮想化部310が管理する仮想サーバ150の構成情報が取得される。なお、仮想サーバ構成取得部312によって実行される処理については、図17を用いて後述する。
 仮想サーバ構成管理部222は、各仮想化部310から仮想サーバ150の構成情報を取得し、取得された仮想サーバ150の構成情報に基づいて、仮想サーバ管理情報240を更新する(ステップ1320)。
 例えば、取得された仮想サーバ150の構成情報に対応するエントリが仮想サーバ管理情報240に追加される。
 なお、仮想サーバ構成管理部222は、仮想サーバ150の構成時に前述した処理を実行する。また、仮想サーバ構成管理部222は、仮想サーバ150の構成が変更された旨の通知を受信した場合に、前述した処理を実行してもよい。また、仮想サーバ構成管理部222は、周期的に前述した処理を実行してもよい。
 図14は、本発明の第1の実施形態のプロセッサ性能管理部212によって実行される処理を説明するフローチャートである。
 プロセッサ性能管理部212は、各対象物理サーバ110の仮想化部310に対して、プロセッサ性能取得部313の実行要求を送信する(ステップ1410)。
 当該実行要求を受信した各仮想化部310は、それぞれ、プロセッサ性能取得部313を実行する。これによって、当該仮想化部310が稼動する物理サーバ110が備えるプロセッサ301の性能情報が取得される。なお、プロセッサ性能取得部313によって実行される処理については、図18を用いて後述する。
 プロセッサ性能管理部212は、各仮想化部310からプロセッサ301の性能情報を取得し、取得されたプロセッサ301の性能情報に基づいて、プロセッサ性能Index情報270を更新する(ステップ1420)。
 例えば、取得されたプロセッサ301の性能情報に対応するエントリがプロセッサ性能Index情報270に追加される。
 なお、プロセッサ性能管理部212は、前述した処理を周期的に実行してもよいし、管理サーバ100を操作する管理者の命令に基づいて、前述した処理を実行してもよい。
 図15は、本発明の第1の実施形態のワークロード管理部211によって実行される処理を説明するフローチャートである。
 ワークロード管理部211は、対象物理サーバ110の中から一つの物理サーバ110を選択する(ステップ1510)。
 次に、ワークロード管理部211は、ユーザ定義情報260を参照して、選択された物理サーバ110上の仮想サーバ150が、ユーザによって指定された処理を実行するか否かを判定する(ステップ1520)。以下、ユーザによって指定された処理をユーザ処理とも記載する。
 ユーザ処理を実行すると判定された場合、ワークロード管理部211は、選択された物理サーバ110上で稼動する仮想サーバ150に対して、プロセス情報取得部340の実行要求を送信する(ステップ1530)。なお、当該実行要求には、ユーザ処理に対応する処理名703が含まれる。
 当該実行要求を受信した仮想サーバ150は、プロセス情報取得部340を実行する。これによって、ユーザ処理の処理情報が取得される。
 なお、プロセス情報取得部340によって実行される処理については、図19を用いて後述する。
 ユーザ処理がないと判定された場合、ワークロード管理部211は、選択された物理サーバ110上の全仮想サーバ150に対して、プロセス情報取得部340の実行要求を送信する(ステップ1540)。
 当該実行要求を受信した仮想サーバ150は、プロセス情報取得部340を実行する。これによって、選択された物理サーバ110上の全仮想サーバ150において実行される処理の処理情報が取得される。
 なお、プロセス情報取得部340によって実行される処理については、図19を用いて後述する。
 ワークロード管理部211は、各仮想サーバ150から処理情報を取得し、取得された処理情報に基づいて、プロセス管理情報250を更新する(ステップ1550)。
 例えば、取得された処理情報に対応するエントリがプロセス管理情報250に追加される。
 ワークロード管理部211は、全対象物理サーバ110について処理が実行されたか否かを判定する(ステップ1560)。
 全対象物理サーバ110について処理が実行されていないと判定された場合、ワークロード管理部211は、ステップ1510に戻り、同様の処理を実行する。
 全対象物理サーバ110について処理が実行されたと判定された場合、ワークロード管理部211は、処理を終了する。
 なお、ワークロード管理部211は、前述した処理を周期的に実行してもよいし、管理サーバ100を操作する管理者の命令に基づいて、前述した処理を実行してもよい。
 図16は、本発明の第1の実施形態の物理サーバ構成取得部311によって実行される処理を説明するフローチャートである。
 管理サーバ100から、物理サーバ構成取得部311の実行要求を受信した仮想化部310によって、物理サーバ構成取得部311が実行される。
 物理サーバ構成取得部311は、物理サーバ構成情報314から物理サーバ110の構成情報を取得する(ステップ1610)。
 取得される物理サーバ110の構成情報には、物理サーバ110が備えるプロセッサ301のリソース量、及びメモリ302のリソース量が含まれる。
 物理サーバ構成取得部311は、取得された物理サーバ110の構成情報を管理サーバ100に送信する(ステップ1620)。なお、送信される物理サーバ110の構成情報には、物理サーバ110の識別子が含まれる。
 図17は、本発明の第1の実施形態の仮想サーバ構成取得部312によって実行される処理を説明するフローチャートである。
 管理サーバ100から、仮想サーバ構成取得部312の実行要求を受信した仮想化部310によって、仮想サーバ構成取得部312が実行される。
 仮想サーバ構成取得部312は、物理サーバ110に生成された仮想サーバ150を特定する(ステップ1710)。以下の処理は、特定された仮想サーバ150毎に実行される。
 具体的には、仮想サーバ構成取得部312は、仮想サーバ構成情報315を参照して、物理サーバ110上に生成された仮想サーバ150の識別子を取得する。
 仮想サーバ構成取得部312は、特定された仮想サーバ150の構成情報を取得する(ステップ1720)。
 具体的には、仮想サーバ構成取得部312は、取得された仮想サーバ150の識別子に基づいて、仮想サーバ構成情報315を参照することによって仮想サーバ150の構成情報を取得する。
 取得される仮想サーバ150の構成情報には、当該仮想サーバ150に割り当てられる仮想プロセッサ511のリソース量、仮想メモリ512のリソース量、プロセッサ301の割当方式、及び仮想サーバ150の使用状況が含まれる。
 仮想サーバ構成取得部312は、管理サーバ100に、取得された仮想サーバ150の構成情報を送信し(ステップ1730)、処理を終了する。
 なお、全ての仮想サーバ150について処理が実行されていない場合には、ステップ1710に戻り同様の処理(ステップ1710~ステップ1730)が実行される。
 図18は、本発明の第1の実施形態のプロセッサ性能取得部313によって実行される処理を説明するフローチャートである。
 管理サーバ100から、プロセッサ性能取得部313の実行要求を受信した仮想化部310によって、プロセッサ性能取得部313が実行される。
 プロセッサ性能取得部313は、物理サーバ110が備えるプロセッサ301の性能情報を取得する(ステップ1810)。
 プロセッサ301の性能情報の取得方法としては、プロセッサ性能取得部313が、所定のマイクロベンチマークを実行し、当該マイクロベンチマークの結果をプロセッサ301の性能情報として取得する方法が考えられる。なお、仮想化部310がプロセッサの301の性能表を保持し、当該性能表からプロセッサ301の性能情報を取得する方法を用いてもよい。
 なお、マイクロベンチマークを実行するためのプログラムは各物理サーバ110が予め保持してもよいし、管理サーバ100から送信されたものを用いてもよい。
 本実施形態では、プロセッサ301の性能情報として、性能Indexが取得される。
 プロセッサ性能取得部313は、管理サーバ100に、取得されたプロセッサ301の性能情報を送信し(ステップ1820)、処理を終了する。
 図19は、本発明の第1の実施形態のプロセス情報取得部340によって実行される処理を説明するフローチャートである。
 以下では、OS330がプロセス350及びスレッド360を実行する場合について説明する。
 管理サーバ100から、プロセス情報取得部340の実行要求を受信した仮想化部310によって、プロセス情報取得部340が実行される。
 プロセス情報取得部340は、受信した実行要求に処理名703が含まれるか否かを判定する(ステップ1905)。
 受信した実行要求に処理名703が含まれると判定された場合、プロセス情報取得部340は、処理名703に対応するユーザ処理、すなわち、プロセス350の処理情報を取得する対象として選択し(ステップ1910)、ステップ1915に進む。
 以下、処理情報の取得対象であるプロセス350を対象プロセス350とも記載する。
 受信した実行要求に処理名703が含まれないと判定された場合、プロセス情報取得部340は、OS330によって実行される全プロセス350の優先度及び生存期間を取得する(ステップ1915)。これによって、プロセス350の優先度607及び生存期間610に対応する情報が取得される。
 なお、プロセス350の優先度及び生存期間は、公知の技術を用いて取得できるため説明を省略する。
 プロセス情報取得部340は、取得されたプロセス350の優先度及び生存期間に基づいて、対象プロセス350を選択する(ステップ1915)。
 例えば、プロセス350の優先度が「高」、かつ、生存期間が「1日」以上であるプロセスを対象プロセス350として選択する方法が考えられる。なお、プロセスの選択方法は、これに限定されず、管理サーバ100を操作する管理者が指定した基準に基づいて決定する方法であってもよい。なお、選択される対象プロセス350は複数あってもよい。
 ステップ1925~ステップ1950までの処理は、対象プロセス350毎に実行される。
 プロセス情報取得部340は、対象プロセス350に関連するプロセス350及びスレッド360を特定する(ステップ1925)。なお、対象プロセス350に関連するプロセス350及びスレッド360は、公知の技術を用いて特定できるため説明を省略する。
 これによって、プロセスID603、スレッドID604、処理名605、親子関係606、優先度607及び生存期間610に対応する情報が取得される。
 以下、対象プロセス350、並びに、対象プロセス350に関連するプロセス350及びスレッド360を関連処理とも記載する。
 次に、プロセス情報取得部340は、関連処理毎に、当該関連処理を実行する仮想プロセッサ511を特定する(ステップ1930)。これによってコアID608に対応する情報が取得される。
 以下、関連処理を実行する仮想プロセッサ511を、対象仮想プロセッサ511とも記載する。
 プロセス情報取得部340は、各対象仮想プロセッサ511の使用率を取得する(ステップ1935)。これによって、使用率609に対応する情報が取得される。
 本実施形態では、対象仮想プロセッサ511の使用率として、平均値が取得される。なお、プロセス情報取得部340は、生存時間における、使用率の最大値を対象仮想プロセッサ511の使用率として取得してもよい。
 プロセス情報取得部340は、対象仮想プロセッサ511の使用率の取得が完了したか否かを判定する(ステップ1940)。
 例えば、予め監視時間を設定しておき、対象仮想プロセッサ511の使用率の取得を開始してから、監視時間分の時間が経過したか否かを判定する方法が考えられる。この場合、監視時間が取得時間611に対応する時間となる。
 また、関連処理群に含まれる全てのプロセス350及びスレッド360が終了した場合に、対象仮想プロセッサ511の使用率の取得が完了したと判定してもよい。この場合、対象仮想プロセッサ511の使用率の取得開始時間から対象プロセス350等の終了時間までの時間が取得時間611に対応する時間となる。
 対象仮想プロセッサ511の使用率の取得が完了していないと判定された場合、プロセス情報取得部340は、ステップ1935に戻り同様の処理を実行する。
 対象仮想プロセッサ511の使用率の取得が完了したと判定された場合、プロセス情報取得部340は、全ての対象プロセス350について処理が完了したか否かを判定する(ステップ1945)。
 全ての対象プロセス350について処理が完了していないと判定された場合、プロセス情報取得部340は、ステップ1925に戻り同様の処理を実行する。
 全ての対象プロセス350について処理が完了したと判定された場合、プロセス情報取得部340は、取得された処理情報を管理サーバ100に送信し(ステップ1950)、処理を終了する。
 なお、送信される処理情報には、OS種別、プロセスID、スレッドID、処理名、親子関係、コアID、プロセッサ使用率、生存期間、及び採取期間が含まれる。
 本実施形態では、全てのプロセスを対象とするのではなく、ステップ1910~ステップ1925において、所定の条件を満たすプロセス350及びスレッド360に限定して、仮想プロセッサ511の使用率を算出する。すなわち、重要な業務を特定し、当該業務によって使用されるリソース量が算出される。
 なお、本発明はこれに限定されず、全てのプロセスを対象にしてもよい。
 図20は、本発明の第1の実施形態のVM移行制御部213によって実行される処理を説明するフローチャートである。
 仮想サーバ150を用いてサービスを提供するユーザ、又は、管理サーバ100を操作する管理者から仮想サーバ150の移行要求を受け付けると、管理サーバ100はVM移行制御部213を実行する(ステップ2010)。
 なお、移行要求には、移行対象となる仮想化部310の識別子、及び仮想サーバ150の識別子が含まれる。
 VM移行制御部213は、仮想サーバ管理情報240及びプロセス管理情報250から移行元の仮想サーバ150に関連する情報を取得する(ステップ2020)。
 具体的には、VM移行制御部213は、移行要求に含まれる仮想サーバ150の識別子に基づいて、仮想サーバ管理情報240及びプロセス管理情報250を参照する。
 さらに、VM移行制御部213は、仮想サーバ管理情報240及びプロセス管理情報250から、移行要求に含まれる仮想サーバ150の識別子と一致するエントリに格納された情報を取得する。
 次に、VM移行制御部213は、取得された仮想サーバ150の情報に基づいて、仮想サーバ150の使用リソース量を算出するためのリソース算出処理を実行する(ステップ2030)。
 なお、リソース算出処理の詳細については、図21を用いて後述する。
 VM移行制御部213は、算出された仮想サーバ150の使用リソース量に基づいて、移行先の物理サーバ110を検索するための検索処理を実行する(ステップ2040)。
 なお、検索処理の詳細については、図22を用いて後述する。
 VM移行制御部213は、検索の結果、移行可能な物理サーバ110が存在するか否かを判定する(ステップ2050)。
 移行可能な物理サーバ110が存在しないと判定された場合、VM移行制御部213は、ユーザ又は管理者に検索処理を継続するか確認する(ステップ2070)。
 確認方法は、管理サーバ100に接続されたディスクプレイ等に検索処理を継続する否かを選択するための指示画面を表示する方法が考えられる。
 検索処理を継続する旨の通知を受信した場合、VM移行制御部213は、ステップ2020に戻り同様の処理を実行する。なお、すぐに処理を開始してもよいし、所定時間経過後に処理を開始してもよい。
 検索処理を継続しない旨の通知を受信した場合、VM移行制御部213は、ユーザ又は管理者に移行可能な物理サーバ110が存在しない旨を通知し(ステップ2080)、処理を終了する。
 ステップ2050において、移行可能な物理サーバ110が存在すると判定された場合、VM移行制御部213は、移行処理を実行する(ステップ2060)。これによって、移行先の物理サーバ110に対象となる仮想サーバ150が移行される。
 移行処理は、例えば、以下のような方法が考えられる。
 管理サーバ100が、移行先の物理サーバ110のVM移行制御部213に、対象となる仮想サーバ150に必要なリソースの確保を指示する。当該指示を受信した移行先の物理サーバ110のVM移行制御部213は、必要な情報を設定し、リソースが確保できた旨の通知を管理サーバ100に送信する。
 移行先の物理サーバ110からリソースが確保できた旨の通知を受信した後に、管理サーバ100が、移行元の物理サーバ110のVM移行制御部213に対して、仮想サーバ150の移行を指示する。
 当該指示を受信した移行元のVM移行制御部213は、仮想サーバ150のデータを移行先の物理サーバ110に送信する。
 移行先の物理サーバ110に仮想サーバ150が移行された後、VM移行制御部213は、移行処理が完了した旨をユーザ又は管理者に通知し(ステップ2080)、処理を終了する。
 図21は、本発明の第1の実施形態におけるリソース算出処理の詳細を説明するフローチャートである。
 VM移行制御部213は、移行対象の仮想サーバ150が使用する仮想メモリ512の使用リソース量を算出する(ステップ2105)。
 具体的には、VM移行制御部213は、仮想サーバ管理情報240から、移行要求に含まれる仮想化部310の識別子及び仮想サーバ150の識別子に一致するエントリの仮想メモリ907を読み出す。VM移行制御部213は、読み出された仮想メモリ907に格納される値を仮想メモリ512の使用リソース量として算出する。
 次に、VM移行制御部213は、移行対象の仮想サーバ150上で実行される処理を一つ選択する(ステップ2110)。
 具体的には、VM移行制御部213は、プロセス管理情報250から、移行要求に含まれる仮想サーバ150の識別子に一致するエントリを一つ選択する。
 以下、ステップ2115~ステップ2140では、選択された処理によって使用される仮想プロセッサ511の使用リソース量が算出される。
 VM移行制御部213は、選択された処理によって使用される仮想プロセッサ511の使用リソース量を算出する(ステップ2115)。
 具体的には、VM移行制御部213は、プロセス管理情報250から対応する処理の使用率609を読み出し、また、仮想サーバ管理情報240から対応する処理の仮想プロセッサ906を読み出す。
 VM移行制御部213は、読み出された使用率609と、読み出された仮想プロセッサ906に含まれるクロック周波数とを乗算することによって、選択された処理によって使用される仮想プロセッサ511の使用リソース量を算出する。
 例えば、仮想化部ID901が「hyper1」、仮想サーバID902が「virt1」、処理名605が「pname1」の場合、以下のように算出される。
1.7GHz×0.5=0.85GHz
 次に、VM移行制御部213は、プロセス管理情報250を参照して、選択された処理に対応する取得時間611が1日以上であるか否かを判定する(ステップ2120)。
 選択された処理に対応する取得時間611が1日以上であると判定された場合、VM移行制御部213は、ステップ2125に進む。
 選択された処理に対応する取得時間611が1日未満であると判定された場合、VM移行制御部213は、選択された処理に対応する取得時間611が半日以上であるか否かを判定する(ステップ2130)。
 選択された処理に対応する取得時間611が半日以上であると判定された場合、VM移行制御部213は、ステップ2115で算出された仮想プロセッサ511の使用リソース量を20%増加させる(ステップ2135)。その後、VM移行制御部213は、ステップ2125に進む。
 選択された処理に対応する取得時間611が半日未満であると判定された場合、VM移行制御部213は、ステップ2115で算出された仮想プロセッサ511の使用リソース量を40%増加させる(ステップ2140)。その後、VM移行制御部213は、ステップ2125に進む。
 VM移行制御部213は、プロセス管理情報250を参照して、移行対象の仮想サーバ150における対象処理について算出処理が終了したか否かを判定する(ステップ2125)。
 移行対象の仮想サーバ150における全ての処理について算出処理が終了していないと判定された場合、VM移行制御部213は、ステップ2110に戻り次の処理を選択して同様の算出処理を実行する。
 移行対象の仮想サーバ150における全ての処理について算出処理が終了したと判定された場合、VM移行制御部213は、各対象処理によって使用される仮想プロセッサ511の使用リソース量の合計値を算出し(ステップ2145)、処理を終了する。
 ステップ2145において算出される値が、移行対象の仮想サーバ150が使用する仮想プロセッサ511の使用リソース量である。
 なお、リソース算出処理によって算出された値は、VM移行制御部213が一時的に保持する。
 ステップ2120、ステップ2130~ステップ2140では、取得された対象処理の使用リソースの信頼性に依存する処理である。情報取得時に一時的に負荷が増大する可能性もあり、処理情報の取得時間が短いと、必ずしも正確な情報とは限らない。
 そのため、本実施形態では、取得時間に応じて使用リソース量を余分に見積もることによって、具体的には、余分な使用リソース量を加算することによって、移行先に必要な計算機リソースに余裕を持たせる。
 なお、取得時間は1日、半日という単位に限定されない。また、OS330、プロセス350毎に異なる判定基準を用いてもよい。
 本実施形態では、移行対象となる仮想サーバ150上の対象処理によって使用されるリソース量を算出することに特徴がある。すなわち、仮想サーバ150上で実行される処理のうち、重要な処理(業務)によって使用されるリソース量が、仮想サーバ150に必要なリソース量として算出される。これによって、より多くの物理サーバ110が移行先として選択可能となる。
 以下、リソース算出処理によって算出された仮想プロセッサ511の使用リソース量を要求プロセッサリソース量と記載し、また、仮想メモリ512の使用リソース量を要求メモリリソース量とも記載する。また、要求プロセッサリソース量と要求メモリリソース量とを合わせて、要求リソース量とも記載する。
 図22は、本発明の第1の実施形態における検索処理の詳細を説明するフローチャートである。
 VM移行制御部213は、物理サーバ管理情報230、仮想サーバ管理情報240及びプロセッサ性能Index情報270に基づいて、空きリソースプール管理情報280を生成する(ステップ2210)。
 具体的には、以下のような処理が実行される。
 まず、VM移行制御部213は、仮想化部310上の各仮想サーバ150に割り当てられたリソース量を算出する。次に、VM移行制御部213は、各仮想サーバ150に割り当てられたリソース量を合計する。これによって、仮想化部310における使用リソース量が算出される。
 例えば、仮想化部ID901が「hyper1」の場合、各仮想サーバ150の仮想プロセッサ511に割り当てられたリソースの合計値が「15.3GHz」、各仮想サーバ150の仮想メモリ512に割り当てられたリソースの合計値が「21GB」と算出される。
 仮想化部310が稼動する物理サーバ110が備えるリソース量から、仮想化部310における使用リソース量を減算する。
 さらに、プロセッサのリソース量に、性能Index1003を乗算する。以上の処理によって算出された値が空きリソースプール管理情報280のプロセッサ1103及びメモリ1104に格納される。
 VM移行制御部213は、要求リソース量を取得する(ステップ2220)。
 次に、VM移行制御部213は、空きリソースプール管理情報280を参照して、空きリソースプールを一つ選択する(ステップ2230)。選択方法は、空きリソースプール管理情報280の上のエントリから順に選択する方法が考えられる。他の選択方法を用いてもよい。
 VM移行制御部213は、選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在するか否かを判定する(ステップ2240)。
 具体的には、メモリ1104に格納される値が、要求メモリリソース量の値以上の場合、空きリソースプールに、要求メモリリソース量以上のリソース量が存在すると判定される。
 選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在しないと判定された場合、VM移行制御部213は、ステップ2270に進む。
 選択された空きリソースプールに、要求メモリリソース量以上のリソース量が存在すると判定された場合、VM移行制御部213は、選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在するか否かを判定する(ステップ2250)。
 具体的には、プロセッサ1103に格納された値が、要求プロセッサリソース量の値以上の場合、空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在すると判定される。
 選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在しないと判定された場合、VM移行制御部213は、ステップ2270に進む。
 選択された空きリソースプールに、要求プロセッサリソース量以上のリソース量が存在すると判定された場合、VM移行制御部213は、選択された空きリソースプールに、移行対象の仮想サーバ150上で実行される処理を実行可能なプロセッサが含まれるか否かを判定する(ステップ2260)。
 具体的には、空きリソースプールに含まれるプロセッサ301のクロック周波数が、仮想プロセッサ511に含まれるプロセッサコアのクロック周波数以上であるか否かが判定される。
 例えば、仮想プロセッサ511に含まれるプロセッサコアのクロック周波数が「1.2GHz」であり、空きリソースプールに含まれるプロセッサ301のクロック周波数が「1.7GHz」である場合、移行対象の仮想サーバ150上で実行される処理に必要なプロセッサが含まれると判定される。
 空きリソースプールに、移行対象の仮想サーバ150上で実行される処理に必要なプロセッサが含まれないと判定された場合、VM移行制御部213は、ステップ2270に進む。
 空きリソースプールに、移行対象の仮想サーバ150上で実行される処理に必要なプロセッサが含まれると判定された場合、VM移行制御部213は、選択された仮想化部310を移行可能な仮想化部310の候補として選択する。以下、移行可能な仮想化部310の候補を候補仮想化部310とも記載する。
 VM移行制御部213は、空きリソースプール管理情報280の全てのエントリについて検索処理が完了したか否かを判定する(ステップ2270)。
 空きリソースプール管理情報280の全てのエントリについて検索処理が完了していないと判定された場合、VM移行制御部213は、ステップ2230に戻り、他のエントリを選択して同様の処理を実行する。
 空きリソースプール管理情報280の全てのエントリについて検索処理が完了したと判定された場合、VM移行制御部213は、候補仮想化部310から移行先となる仮想化部310を選択し(ステップ2280)、処理を終了する。
 候補仮想化部310が複数存在する場合、VM移行制御部213は、仮想サーバ管理情報240を参照する。VM移行制御部213は、候補仮想化部310上の仮想サーバ150の数、及び、割当方式904に基づいて、移行先の仮想化部310を選択する。
 例えば、仮想サーバ150の数が多く、さらに、割当方式904が「共有」である仮想サーバ150の数が多い候補仮想化部310を優先的に選択する方法が考えられる。なお、本発明はこれに限定されず、他の方法を用いても同様の効果が得られる。
 なお、仮想サーバ150に割り当てられていないリソースを空きリソースプールとして管理しているが、本発明はこれに限定されない。例えば、使用されていない仮想サーバ150に割り当てられているリソースを空きリソースプールに含めてもよい。
 なお、移行先の仮想化部310は、移行される仮想サーバ150を稼動させるための処理を実行する。例えば、仮想サーバ150が必要なリソースを確保する処理を実行する。
 図23A及び図23Bは、本発明の第1の実施形態の適用例を示す説明図である。
 図23Aは、移行前における、移行元の仮想化部1(310-1)と、移行先の仮想化部2(310-2)との状態を表す。
 仮想化部1(310-1)では、仮想サーバ1(150-1)及び仮想サーバ2(150-2)が稼動している。
 仮想サーバ1(150-1)は、仮想プロセッサ511のリソース量が「1.7GHz×3」、仮想メモリ512のリソース量が「9GB」である。また、仮想サーバ1(150-1)は、仮想プロセッサ511としてVCPU1、VCPU2、及びVCPU3を備える。仮想プロセッサ511の周波数は、それぞれ、1.7GHzである。
 VCPU1は、処理名が「pname1」であるプロセス350を実行し、当該プロセス350によって使用される使用率が50%である。VCPU2は、処理名が「pname2」であるプロセス350が実行され、当該プロセス350によって使用される使用率が40%である。また、VCPU3は、処理名が「thread1」であるスレッド360が実行され、当該スレッド360によって使用される使用率が10%である。
 仮想サーバ2(150-2)は、仮想プロセッサ511のリソース量が「3.4GHz×3」、仮想メモリ512のリソース量が「12GB」である。また、仮想サーバ2(150-2)は、仮想プロセッサ511としてVCPU1、VCPU2、及びVCPU3を備える。仮想プロセッサ511の周波数は、それぞれ、3.4GHzである。
 VCPU1は、処理名が「pname1」であるプロセス350を実行し、当該プロセス350によって使用される使用率が45%である。VCPU2は、処理名が「pname2」であるプロセス350と処理名が「thread1」であるスレッド360とが実行され、当該プロセス350及び当該スレッド360によって使用される使用率が40%である。また、VCPU3は、処理名が「pname3」であるプロセス350が実行され、当該プロセス350によって使用される使用率が10%である。
 仮想化部2(310-2)は、仮想サーバ3(150-3)が生成されている。また、仮想化部2(310-2)は、空きリソースプール2300を備える。
 なお、仮想サーバ3(150-3)は、未使用の状態である。本実施形態では、仮想サーバ3(150-3)に割り当てられたリソースが、一つの空きリソースプールとして扱われる。
 仮想サーバ3(150-3)は、仮想プロセッサ511のリソース量が「1.2GHz×3」、仮想メモリ512のリソース量が「9GB」である。また、仮想サーバ1(150-1)は、仮想プロセッサ511としてVCPU1、VCPU2、及びVCPU3を備える。仮想プロセッサ511の周波数は、それぞれ、1.2GHzである。
 また、空きリソースプール2300は、未使用のプロセッサ301が「1.7GHz×4」、未使用のメモリ302が「12GB」である。
 従来は、仮想サーバ150に割り当てられるリソースの総量に基づいて、移行先が決定されていた。したがって、従来の方法では、仮想サーバ1(150-1)は、空きリソースプール2300が移行先として選択される。一方、仮想サーバ2(150-2)は、移行先がないと判定される。
 そのため、従来の方法では、仮想化部1(310-2)で稼動する仮想サーバ1(150-1)及び仮想サーバ2(150-2)は移行できないと判定される。
 一方、本実施形態では、仮想サーバ150上で実行されるプロセス350及びスレッド360によって使用されるリソース量に着目する。
 VM移行制御部213は、仮想サーバ1(150-1)における要求プロセッサリソース量を「1.7GHz」、要求メモリリソース量を「9GB」と算出する。
 したがって、VM移行制御部213は、仮想サーバ3(150-3)も移行先として選択できる。
 また、VM移行制御部213は、仮想サーバ2(150-2)における要求プロセッサリソース量を「3.74GHz」、要求メモリリソース量を「12GB」と算出する。
 したがって、VM移行制御部213は、空きリソースプール2300を移行先として選択できる。
 図23Bは、移行後における、移行元の仮想化部1(310-1)と、移行先の仮想化部2(310-2)との状態を表す。
 図23Bでは、仮想サーバ1(150-1)が仮想サーバ3(150-3)に移行し、仮想サーバ2(150-2)が空きリソースプール2300に移行した場合の一例を示す。
 なお、仮想化部2(310-2)は、空きリソースプール2300から仮想サーバ4(150-4)を生成する。VM移行制御部213は、生成された仮想サーバ4(150-4)上に仮想サーバ2(150-2)を移行する。
 図23Bに示すように移行前の仮想サーバ150上で実行されたプロセス350及びスレッド360は、移行先の仮想サーバ150上でも継続的に実行される。
 なお、本実施形態では、処理毎の仮想プロセッサ511の使用量に考慮したが本発明はこれに限定されない。例えば、処理毎の仮想メモリ512の使用量を考慮してもよい。この場合、要求プロセッサリソース量を算出する方法と同様の方法を用いて、要求メモリリソース量を算出すればよい。
 [第2の実施形態]
 第2の実施形態では、LPAR方式の場合について説明する。なお、第1の実施形態との差異を中心に説明する。
 第2の実施形態の計算機システム、管理サーバ100、物理サーバ110、及びストレージシステム120の構成は第1の実施形態と同一であるため説明を省略する。
 LPAR方式では、仮想サーバ150へのリソース割当方法が異なる。
 図24は、本発明の第2の実施形態の計算機システムの論理的構成を示す説明図である。
 仮想化部310は、物理サーバ110が備えるリソースを論理的に分割し、論理的に分割されたリソースから構成されるLPAR2400を仮想サーバ150に割り当てる。
 図24に示す例では、LPAR2400は、プロセッサコア2410、記憶領域2420及びLU502から構成される。LPAR2400に割り当てられたリソースは当該LPARが占有的に使用できる。そのため、他のLPAR2400から使用されない。
 なお、LPAR2400にはプロセッサ301単位のリソースを割り当ててもよいし、また、メモリ302単位のリソースを割り当ててもよい。
 物理サーバ管理情報230、ユーザ定義情報260、及びプロセッサ性能Index情報270は、第1の実施形態と同一であるため説明を省略する。
 図25は、本発明の第2の実施形態のプロセス管理情報250の一例を示す説明図である。
 第2の実施形態のプロセス管理情報250は、コアID2501に格納される情報が異なる。LPAR方式では、プロセッサコア2410が直接割り当てられるため、コアID2501には、プロセッサコア2410を識別するための識別子が格納される。
 なお、仮想サーバID601、OS種別602、プロセスID603、スレッドID604、処理名605、親子関係606、優先度607、使用率609、生存期間610、及び取得時間611は、第1の実施形態と同一である。
 図26は、本発明の第2の実施形態の仮想サーバ管理情報240の一例を示す説明図である。
 第2の実施形態の仮想サーバ管理情報240は、仮想サーバ構成903に格納される情報が異なる。
 具体的には、プロセッサ2601には、LPAR2400に割り当てられたプロセッサコア2410の周波数と、割り当てられたプロセッサコア2410の数とを乗算した値が格納される。メモリ2602には、LPAR2400に割り当てられた記憶領域2420の容量が格納される。
 また、第2の実施形態の仮想サーバ管理情報240は、割当方式904を含まない。これは、LPAR2400には占有的にリソースが笑い照られるためである。
 なお、仮想化部ID901、仮想サーバID902、及び使用状況905は、第1の実施形態と同一である。
 図27は、本発明の第2の実施形態の空きリソースプール管理情報280の一例を示す説明図である。
 第2の実施形態の空きリソースプール管理情報280は、サーバ構成1102に格納される値が異なる。サーバ構成1102には、LPAR2400に割り当てられていないリソース量が格納される。
 プロセッサ2701に格納される値は、以下のように算出される。
 ステップ2210において、VM移行制御部213は、物理サーバ110が備える全プロセッサコア2410の数から、LPAR2400に割り当てられたプロセッサコア2410の数を減算する。これによってLPAR2400に割り当てられていないプロセッサコア2410の数が算出される。
 次に、VM移行制御部213は、LPAR2400に割り当てられていないプロセッサコア2410の数と当該プロセッサコア2410のクロック周波数とを乗算する。
 VM移行制御部213は、さらに、算出された値に、プロセッサコア2410に対応する性能Index1003を乗算する。
 以上の処理によって算出された値がプロセッサ2701に格納される。
 また、メモリ2702に格納される値は、以下のように算出される。
 ステップ2210において、VM移行制御部213は、物理サーバ110が備えるメモリ302の総容量から、LPAR2400に割り当てられた記憶領域の総領域を減算する。これによってLPAR2400に割り当てられていない記憶領域2420の容量が算出される。
 以上の処理によって算出された値がメモリ2702に格納される。
 以下、第1の実施形態と異なる処理について説明する。
 図19に示すプロセス情報取得部340が実行する処理では以下の処理が異なる。
 ステップ1930において、プロセス情報取得部340は、関連処理毎に、当該関連処理を実行するプロセッサコア2410を特定する。
 ステップ1935において、プロセス情報取得部340は、処理を実行する各プロセッサコア2410の使用率を取得する。
 他の処理は、第1の実施形態と同一である。
 図21に示すVM移行制御部213が実行するリソース算出処理は以下の処理が異なる。
 ステップ2105において、VM移行制御部213は、移行対象の仮想サーバ150が使用する記憶領域2420の使用リソース量を算出する。
 具体的には、VM移行制御部213は、仮想サーバ管理情報240から、移行要求に含まれる仮想化部310の識別子及び仮想サーバ150の識別子に一致するエントリの仮想メモリ907を読み出す。VM移行制御部213は、読み出されたメモリ2602に格納される値を記憶領域2420の使用リソース量として算出する。
 ステップ2115において、VM移行制御部213は、選択された処理によって使用されるプロセッサコア2410の使用リソース量を算出する。
 具体的には、VM移行制御部213は、プロセス管理情報250から選択された処理の使用率609を読み出し、また、仮想サーバ管理情報240から選択された処理を実行する仮想サーバ150のプロセッサ2601を読み出す。
 VM移行制御部213は、読み出された使用率609と、読み出されたプロセッサ2601に含まれる周波数とを乗算することによって、選択された処理によって使用されるプロセッサコア2410の使用リソース量を算出する。
 ステップ2135において、VM移行制御部213は、LPAR2400が使用するプロセッサコア2410の数を1増加させる。
 ステップ2140において、VM移行制御部213は、LPAR2400が使用するプロセッサコア2410の数を2増加させる。
 他の処理については、第1の実施形態と同一であるため説明を省略する。
 本発明の一形態によれば、仮想サーバ150上で実行される処理(プロセス350、スレッド360等)によって使用されるリソース量に基づいて、仮想サーバ150に必要なリソース量が算出される。したがって、適切なリソース量の空きリソースプールに仮想サーバ150を移行させることができる。また、移行先の空きリソースプールの候補が増えるため、リソースを有効利用することが可能となる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (16)

  1.  複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムであって、
     前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
     前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
     前記各物理計算機は、それぞれ、第1のプロセッサ、前記第1のプロセッサに接続される第1の主記憶媒体、前記第1のプロセッサに接続される副記憶媒体、前記第1のプロセッサに接続される第1のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、
     前記管理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2の記憶媒体、前記第2のプロセッサに接続される第2のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、
     前記計算機システムは、
     前記管理サーバが、前記取得命令を前記各仮想計算機に送信し、
     前記各仮想計算機が、
     前記受信した取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得し、
     前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信し、
     前記管理サーバが、
     前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、
     前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、
     前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、
     前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、
     前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする計算機システム。
  2.  前記管理サーバは、
     前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出し、
     前記空きリソース情報を参照して、前記空きリソースを選択し、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定し、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択することを特徴とする請求項1に記載の計算機システム。
  3.  前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
     前記管理サーバは、
     前記要求リソース量を算出する場合に、前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出し、
     前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出することを特徴とする請求項2に記載の計算機システム。
  4.  前記管理サーバは、
     前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択することを特徴とする請求項2に記載の計算機システム。
  5.  前記仮想計算機は、
     前記サブ処理の実行優先度又は生存期間を取得し、
     前記取得されたサブ処理の実行優先度が所定の閾値以上、又は、前記取得されたサブ処理の生存期間が所定の閾値以上である前記サブ処理を対象サブ処理として選択し、
     前記対象サブ処理毎の使用リソース量を取得することを特徴とする請求項1に記載の計算機システム。
  6.  前記取得命令は、前記使用リソース量の取得対象である前記サブ処理の識別情報を含み、
     前記仮想計算機は、
     前記受信した取得命令に含まれる前記サブ処理の識別情報に基づいて、前記サブ処理の中から、前記使用リソース量の取得対象となる対象サブ処理を選択し、
     前記対象サブ処理毎の使用リソース量を取得することを特徴とする請求項1に記載の計算機システム。
  7.  複数の物理計算機、及び、前記複数の物理計算機を管理する管理サーバを備える計算機システムにおけるマイグレーション方法であって、
     前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
     前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
     前記各物理計算機は、それぞれ、第1のプロセッサ、前記第1のプロセッサに接続される第1の主記憶媒体、前記第1のプロセッサに接続される副記憶媒体、前記第1のプロセッサに接続される第1のネットワークインタフェース、前記仮想計算機を管理する仮想管理部、及び前記業務処理を実行することによって使用される前記割当リソースの使用量に関する情報である使用リソース量を取得する使用リソース量取得部、を備え、
     前記管理サーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2の記憶媒体、前記第2のプロセッサに接続される第2のネットワークインタフェース、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部、前記仮想管理部に前記使用リソース量の取得命令を送信する取得命令部、及び前記仮想計算機の移行処理を実行する移行処理部、を備え、
     前記方法は、
     前記管理サーバが、前記取得命令を前記各仮想計算機に送信する第1のステップと、
     前記各仮想計算機が、前記管理サーバから送信される前記取得命令に基づいて、前記サブ処理毎の前記使用リソース量を取得する第2のステップと、
     前記各仮想計算機が、前記取得されたサブ処理毎の使用リソース量を前記管理サーバに送信する第3のステップと、
     前記管理サーバが、前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得する第4のステップと、
     前記管理サーバが、前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記計算機システムにおける未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成する第5のステップと、
     前記管理サーバが、前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出する第6のステップと、
     前記管理サーバが、前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索する第7のステップと、
     前記管理サーバが、前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行する第8のステップと、
     を含むことを特徴とするマイグレーション方法。
  8.  前記第7のステップは、前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出するステップを含み、
     前記第8のステップは、
     前記空きリソース情報を参照して、前記空きリソースを選択するステップと、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定するステップと、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択するステップと、を含むことを特徴とする請求項7に記載のマイグレーション方法。
  9.  前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
     前記第7のステップは、
     前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出するステップと、
     前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出するステップと、を含むことを特徴とする請求項8に記載のマイグレーション方法。
  10.  前記第8のステップは、前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択するステップを含むことを特徴とする請求項8に記載のマイグレーション方法。
  11.  前記第2のステップは、
     前記サブ処理の実行優先度又は生存期間を取得するステップと、
     前記取得されたサブ処理の実行優先度が所定の閾値以上、又は、前記取得されたサブ処理の生存期間が所定の閾値以上である前記サブ処理を対象サブ処理として選択するステップと、
     前記対象サブ処理毎の使用リソース量を取得するステップと、を含むことを特徴とする請求項7に記載のマイグレーション方法。
  12.  前記取得命令は、前記使用リソース量の取得対象である前記サブ処理の識別情報を含み、
     前記第2のステップは、
     前記受信した取得命令に含まれる前記サブ処理の識別情報に基づいて、前記サブ処理の中から、前記使用リソース量の取得対象となる対象サブ処理を選択するステップと、
     前記対象サブ処理毎の使用リソース量を取得するステップと、を含むことを特徴とする請求項7に記載のマイグレーション方法。
  13.  第1のプロセッサ、前記第1のプロセッサに接続される第1の記憶媒体、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを備える、複数の物理計算機を管理する管理サーバであって、
     前記物理計算機上には、当該物理計算機が備える計算機リソースを複数に分割することによって生成された割当リソースが割り当てられた仮想計算機が一以上稼働し、
     前記仮想計算機は、一以上のサブ処理を含む一以上の業務処理を実行し、
     前記管理サーバは、
     第2のプロセッサと、前記第2のプロセッサに接続される第2の記憶媒体と、前記第2のプロセッサに接続される第2のネットワークインタフェースと、前記各物理計算機が備える計算機リソースに関する情報を含むリソース情報を管理するリソース情報管理部と、前記割当リソースに関する情報を含む割当リソース情報を管理する割当リソース情報管理部と、前記仮想管理部に、前記業務処理を実行することによって使用される前記割当リソースの使用量を表す使用リソース量の取得命令を送信する取得命令部と、前記仮想計算機の移行処理を実行する移行処理部と、を備え、
     前記取得命令を前記各仮想計算機に送信することによって、前記各仮想計算機から、前記サブ処理毎の前記使用リソース量を取得し、
     前記各物理計算機から、前記リソース情報及び前記割当リソース情報を取得し、
     前記仮想計算機の移行処理の実行要求を受信した場合に、前記取得されたリソース情報及び前記取得された割当リソース情報に基づいて、前記各物理計算機における未使用の前記計算機リソースを表す空きリソースに関する情報である空きリソース情報を生成し、
     前記取得されたサブ処理毎の使用リソース量に基づいて、移行対象の前記仮想計算機に必要な計算機リソースのリソース量である要求リソース量を算出し、
     前記生成された空きリソース情報及び前記算出された要求リソース量に基づいて、移行先となる前記物理計算機を検索し、
     前記検索結果に基づいて、前記移行先の物理計算機に前記移行対象の仮想計算機を移行することを特徴とする管理サーバ。
  14.  前記サブ処理毎の使用リソース量の合計値を前記要求リソース量として算出し、
     前記空きリソース情報を参照して、前記空きリソースを選択し、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上であるか否かを判定し、
     前記選択された空きリソースのリソース量が、前記要求リソース量以上である場合に、前記選択された空きリソースに対応する前記物理計算機を、前記移行対象の仮想計算機の移行先となる候補物理計算機として選択することを特徴とする請求項13に記載の管理サーバ。
  15.  前記取得されたサブ処理毎の使用リソース量は、前記使用リソース量が取得された期間を表す取得期間を含み、
     前記管理サーバは、
     前記要求リソース量を算出する場合に、前記サブ処理毎の使用リソース量の合計値を候補リソース量として算出し、
     前記取得期間が所定の閾値以下の場合には、前記候補リソース量に所定の付加リソース量を加算することによって前記要求リソース量を算出することを特徴とする請求項14に記載の管理サーバ。
  16.  前記候補物理計算機が複数ある場合に、前記候補物理計算機上で稼動する前記仮想計算機の数が多く、かつ、前記候補物理計算機における前記空きリソースのリソース量が少ない前記候補物理計算機を選択することを特徴とする請求項14に記載の管理サーバ。
PCT/JP2010/070387 2010-11-16 2010-11-16 計算機システム、マイグレーション方法及び管理サーバ WO2012066640A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2010/070387 WO2012066640A1 (ja) 2010-11-16 2010-11-16 計算機システム、マイグレーション方法及び管理サーバ
US13/879,035 US20130238804A1 (en) 2010-11-16 2010-11-16 Computer system, migration method, and management server
JP2012544038A JP5577412B2 (ja) 2010-11-16 2010-11-16 計算機システム、マイグレーション方法及び管理サーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/070387 WO2012066640A1 (ja) 2010-11-16 2010-11-16 計算機システム、マイグレーション方法及び管理サーバ

Publications (1)

Publication Number Publication Date
WO2012066640A1 true WO2012066640A1 (ja) 2012-05-24

Family

ID=46083604

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/070387 WO2012066640A1 (ja) 2010-11-16 2010-11-16 計算機システム、マイグレーション方法及び管理サーバ

Country Status (3)

Country Link
US (1) US20130238804A1 (ja)
JP (1) JP5577412B2 (ja)
WO (1) WO2012066640A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015075898A (ja) * 2013-10-08 2015-04-20 富士通株式会社 処理再開方法、処理再開プログラムおよび情報処理システム
WO2017002812A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想化インフラストラクチャ管理装置、仮想ネットワークファンクション管理装置、仮想マシンの管理方法及びプログラム
JP2018116556A (ja) * 2017-01-19 2018-07-26 富士通株式会社 管理装置、制御方法、および管理プログラム
WO2024069837A1 (ja) * 2022-09-29 2024-04-04 楽天モバイル株式会社 サービスを複数のエンティティで実行させるためのネットワーク管理

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003514B2 (en) 2010-06-22 2018-06-19 Hewlett Packard Enteprrise Development LP Method and system for determining a deployment of applications
EP2585910B1 (en) 2010-06-22 2018-02-21 Hewlett-Packard Enterprise Development LP Methods and systems for planning application deployment
US20140223430A1 (en) * 2011-04-07 2014-08-07 Hewlett-Packard Development Company, L.P. Method and apparatus for moving a software object
US20130151688A1 (en) * 2011-12-07 2013-06-13 Alcatel-Lucent Usa Inc. Optimization mechanisms for latency reduction and elasticity improvement in geographically distributed data centers
US9049257B2 (en) * 2011-12-19 2015-06-02 Vmware, Inc. Methods and apparatus for an E-mail-based management interface for virtualized environments
US9015838B1 (en) * 2012-05-30 2015-04-21 Google Inc. Defensive techniques to increase computer security
US8813240B1 (en) 2012-05-30 2014-08-19 Google Inc. Defensive techniques to increase computer security
CN102868729B (zh) * 2012-08-24 2018-05-04 中兴通讯股份有限公司 基于云服务的实现软件服务的方法、客户端及云服务器
US9239727B1 (en) 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US9929918B2 (en) * 2013-07-29 2018-03-27 Alcatel Lucent Profile-based SLA guarantees under workload migration in a distributed cloud
US20150089062A1 (en) * 2013-09-25 2015-03-26 Virtual Bridges, Inc. Methods and systems for dynamically specializing and re-purposing computer servers in an elastically scaling cloud computing infrastructure
US11172022B2 (en) 2014-02-21 2021-11-09 Hewlett Packard Enterprise Development Lp Migrating cloud resources
WO2015126411A1 (en) * 2014-02-21 2015-08-27 Hewlett-Packard Development Company, L.P. Migrating cloud resources
US9606826B2 (en) * 2014-08-21 2017-03-28 International Business Machines Corporation Selecting virtual machines to be migrated to public cloud during cloud bursting based on resource usage and scaling policies
KR20180009217A (ko) * 2016-07-18 2018-01-26 삼성전자주식회사 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
US10977086B2 (en) * 2018-11-14 2021-04-13 Vmware, Inc. Workload placement and balancing within a containerized infrastructure
JP7310378B2 (ja) * 2019-07-08 2023-07-19 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
JP7010272B2 (ja) * 2019-10-08 2022-01-26 横河電機株式会社 リアルタイム通信処理システム、およびリアルタイム通信処理方法
CN113626196A (zh) * 2021-08-12 2021-11-09 杭州海康威视数字技术股份有限公司 发送任务的方法及装置
CN115086324A (zh) * 2022-06-27 2022-09-20 中国电信股份有限公司 服务链分配方法和系统、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134640A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、運用管理装置
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム
US20100058108A1 (en) * 2008-09-04 2010-03-04 Hitachi, Ltd. Method for analyzing fault caused in virtualized environment, and management server
JP2010224754A (ja) * 2009-03-23 2010-10-07 Nec Corp リソース割当装置、リソース割当方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20065804L (fi) * 2006-12-14 2008-06-15 Valtion Teknillinen Tietokonejärjestelmän suoritusvaiheen ominaisuuksien kuvaaminen
JP4568770B2 (ja) * 2008-04-22 2010-10-27 株式会社日立製作所 計算機システムの電力制御方法、計算機システム、及び、管理計算機
US8504689B2 (en) * 2010-05-28 2013-08-06 Red Hat, Inc. Methods and systems for cloud deployment analysis featuring relative cloud resource importance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134640A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、運用管理装置
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム
US20100058108A1 (en) * 2008-09-04 2010-03-04 Hitachi, Ltd. Method for analyzing fault caused in virtualized environment, and management server
JP2010086516A (ja) * 2008-09-04 2010-04-15 Hitachi Ltd 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
JP2010224754A (ja) * 2009-03-23 2010-10-07 Nec Corp リソース割当装置、リソース割当方法、及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015075898A (ja) * 2013-10-08 2015-04-20 富士通株式会社 処理再開方法、処理再開プログラムおよび情報処理システム
WO2017002812A1 (ja) * 2015-06-30 2017-01-05 日本電気株式会社 仮想化インフラストラクチャ管理装置、仮想ネットワークファンクション管理装置、仮想マシンの管理方法及びプログラム
JP2018116556A (ja) * 2017-01-19 2018-07-26 富士通株式会社 管理装置、制御方法、および管理プログラム
WO2018135329A1 (ja) * 2017-01-19 2018-07-26 富士通株式会社 管理装置、制御方法、および管理プログラム
US11119815B2 (en) 2017-01-19 2021-09-14 Fujitsu Limited Management apparatus, control method of calculation resources, and storage medium
WO2024069837A1 (ja) * 2022-09-29 2024-04-04 楽天モバイル株式会社 サービスを複数のエンティティで実行させるためのネットワーク管理

Also Published As

Publication number Publication date
US20130238804A1 (en) 2013-09-12
JPWO2012066640A1 (ja) 2014-05-12
JP5577412B2 (ja) 2014-08-20

Similar Documents

Publication Publication Date Title
JP5577412B2 (ja) 計算機システム、マイグレーション方法及び管理サーバ
JP6219512B2 (ja) 仮想ハドゥープマネジャ
US8291430B2 (en) Optimizing system performance using spare cores in a virtualized environment
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
JP5117120B2 (ja) ストレージ装置のボリュームを管理する計算機システム、方法及びプログラム
US9304803B2 (en) Cooperative application workload scheduling for a consolidated virtual environment
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
Palanisamy et al. Purlieus: locality-aware resource allocation for MapReduce in a cloud
JP6005795B2 (ja) 仮想マシンの信頼性のある決定論的ライブ移行
US8631403B2 (en) Method and system for managing tasks by dynamically scaling centralized virtual center in virtual infrastructure
US8281082B2 (en) Hypervisor page fault processing in a shared memory partition data processing system
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
JP5370946B2 (ja) リソース管理方法及び計算機システム
US9396026B2 (en) Allocating a task to a computer based on determined resources
JP5708937B2 (ja) 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
JP2007272263A (ja) 計算機の管理方法、計算機システム、及び管理プログラム
JP2008077652A (ja) 論理的にパーティションされたコンピューティング環境の中央処理ユニットのリソースを、共有メモリをアクセスせずに管理する方法および装置
JP6010975B2 (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
CN107528871B (zh) 存储系统中的数据分析
JP5783259B2 (ja) コンピュータシステム
JP2010026828A (ja) 仮想計算機の制御方法
Anadiotis et al. A system design for elastically scaling transaction processing engines in virtualized servers
US8850447B2 (en) Managing resources in a multiprocessing computer system
JP2016122223A (ja) クラウド向け計算機システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10859667

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012544038

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13879035

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10859667

Country of ref document: EP

Kind code of ref document: A1