WO2013051136A1 - 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ - Google Patents

仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ Download PDF

Info

Publication number
WO2013051136A1
WO2013051136A1 PCT/JP2011/073116 JP2011073116W WO2013051136A1 WO 2013051136 A1 WO2013051136 A1 WO 2013051136A1 JP 2011073116 W JP2011073116 W JP 2011073116W WO 2013051136 A1 WO2013051136 A1 WO 2013051136A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution
hypervisor
virtual server
location
execution location
Prior art date
Application number
PCT/JP2011/073116
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/JP2011/073116 priority Critical patent/WO2013051136A1/ja
Priority to US14/349,185 priority patent/US9459898B2/en
Publication of WO2013051136A1 publication Critical patent/WO2013051136A1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • 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

Definitions

  • the present invention relates to a method for controlling resource management operations related to virtual servers.
  • An IT (Information Technology) system operating in an enterprise data center needs to respond flexibly and quickly to the business needs of the enterprise.
  • IT infrastructure resources existing in each department are aggregated in a data center, and the IT infrastructure resources in the data center are lent to the department on a time basis.
  • IaaS Infrastructure as a Service
  • the resource management software supports life cycle management of IT infrastructure resource operation in the data center.
  • Resource management software procures resources, deploys computing environments such as server resources, network resources, and storage resources to resources, controls the computing environment, and when these environments are no longer needed, Collect.
  • the conventional deployment process by resource management software is as follows. Processing to create a virtual network on a virtual switch on the deployment destination hypervisor, processing to deploy a virtual server to the deployment destination hypervisor and the deployment destination data store, processing to connect the virtual server to the virtual network, and virtual server startup. This is customization processing for changing various settings such as an IP address and a host name according to the individual environment for a guest OS or application that will be operated on the virtual server later.
  • Patent Document 1 discloses an invention that speeds up deployment by controlling storage to minimize the number of deployments.
  • an object of the present invention is to reduce the total processing time for a large number of processing requests for a virtual server.
  • the present invention is configured as follows.
  • the present invention is a virtual server processing control method performed by a management server for a hypervisor capable of operating a virtual server, wherein the hypervisor is operated on any physical server, and the virtual server The server is operated based on a file image on one of the data stores, and when the management server is instructed to perform a task including a series of steps for a predetermined execution location, the execution location of the step is temporarily executed. To the execution location, and after execution at the temporary execution location, the virtual server is migrated from the temporary execution location to the predetermined execution location, and the task is continued at the predetermined execution location.
  • a virtual server processing control method characterized by instructing execution. Other means will be described in the embodiment for carrying out the invention.
  • the total processing time can be shortened for a large number of processing requests to the virtual server.
  • FIG. 1 is a diagram showing a configuration of a management system according to the first embodiment.
  • the management system includes a management server 10, physical servers 60a, 60b, and 60c, a storage device 40, and a management terminal 70.
  • the management server 10, physical servers 60 a, 60 b, 60 c, the storage device 40, and the management terminal 70 are connected to each other via the management network 100. Furthermore, the management server 10, the physical servers 60a, 60b, and 60c, and the storage device 40 are connected to each other via the storage network 110.
  • the physical servers 60a, 60b, and 60c are connected to each other via the business network 120.
  • the management system is an example, and the number of physical servers is not limited to three, and an arbitrary number may be provided.
  • the management server 10 includes a storage unit 20, a scenario control unit 31, an execution location determination unit 32, a virtual environment management unit 33, a configuration information management unit 34, a performance information management unit 35, and a storage management unit 36. I have. A detailed logical structure of the management server 10 will be described later with reference to FIG.
  • the storage device 40 is an external storage device that stores data.
  • the storage device 40 includes a storage control unit 41 and, for example, logical units 50a, 50b, and 50c.
  • the logical units 50a, 50b, and 50c may be described as “LU”.
  • the logical unit 50a includes a data store “A” 51a.
  • the logical unit 50b includes a data store “B” 51b.
  • the logical unit 50c includes a data store “C” 51c. Note that the number of logical units is not limited to three, and an arbitrary number may be provided. A detailed logical structure of the storage apparatus 40 will be described with reference to FIG.
  • the management terminal 70 includes an input / output unit 71.
  • the input / output unit 71 is, for example, a keyboard, a mouse, and a display.
  • the management terminal 70 receives input from the administrator through the input / output unit 71, and transmits input information to the management server 10 via the management network 100. Further, the management terminal 70 receives information from the management server 10 via the management network 100 and outputs the information to the display of the input / output unit 71 or the like.
  • the physical servers 60a to 60c are physical computers.
  • the physical servers 60 a to 60 c are one of nodes that can be managed by the management server 10.
  • the hypervisor “A” 61a is operating on the physical server 60a.
  • Two virtual servers 64 are operating by the hypervisor “A” 61a.
  • a guest OS 65 is installed in each virtual server 64.
  • the virtual server 64 may be described as “Svr” and the guest OS 65 may be described as “OS”.
  • the hypervisor “B” 61b is operating on the physical server 60b.
  • One virtual server 64 and a console 66 are operated by the hypervisor “B” 61b.
  • the console 66 may be described as “CON”.
  • the hypervisor “C” 61c is operating on the physical server 60c.
  • One virtual server 64 and console 66 are operated by the hypervisor “C” 61c.
  • the virtual server 64 is a computer environment that virtually reproduces a computer.
  • the virtual server 64 is an environment in which the computing resources of the physical server 60a are physically or logically divided by a hypervisor “A” 61a described later.
  • the virtual server 64 is also called a so-called VM (Virtual Machine), PPAR (Physical Machine Partitioning), and LPAR (Logical Machine Partitioning).
  • the virtual server 64 is one of nodes that can be managed by the management server 10.
  • Each virtual server 64 includes a guest OS 65.
  • the guest OS 65 is a general operating system. For example, Windows (registered trademark), Linux (registered trademark), HP-UX (registered trademark), Solaris (registered trademark), VOS3 (registered trademark), z / OS ( Registered trademark).
  • the guest OS 65 is one of the nodes that can be managed by the management server 10.
  • the hypervisor “A” 61a is virtualization software or a virtualization mechanism that operates on the physical server 60a, and physically allocates resources such as a CPU (not shown) and a main storage device (not shown) of the physical server 60a. Alternatively, logically divided, for example, two virtual servers 64 are operated.
  • the hypervisor “A” 61a is, for example, VMware® vSphere® Hypervisor (registered trademark), Hyper-V (registered trademark), Virtage (registered trademark), KVM (registered trademark), XenServer (registered trademark), or Oracle® VM (registered trademark). Etc.
  • the hypervisor “B” 61b and the hypervisor “C” 61c have the same configuration as the hypervisor “A” 61a.
  • the hypervisor “A” 61 a to the hypervisor “C” 61 c are one of the management targets of the management server 10.
  • a virtual switch 62a is operating on the hypervisor “A” 61a.
  • a virtual switch 62b is operating in the hypervisor “B” 61b.
  • a virtual switch 62c is operating on the hypervisor “C” 61c.
  • the virtual switch 62a is an IP switch virtually realized by the hypervisor “A” 61a, and virtually realizes the port group “A” 63a and the port group “B” 63b.
  • the port group “A” 63a and the port group “B” 63b form a VLAN (Virtual Local Area Network). In the following drawings, the port group may be described as “PG”.
  • the virtual switch 62b is an IP switch virtually realized by the hypervisor “B” 61b, and virtually realizes the port group “C” 63c.
  • a port group “C” 63c forms a VLAN (Virtual Local Area Network).
  • the virtual switch 62c is an IP switch virtually realized by the hypervisor “C” 61c, and virtually realizes the port group “D” 63d and the port group “E” 63e.
  • the port group “D” 63d and the port group “E” 63e form a VLAN (Virtual Local Area Network).
  • a port group “A” 63a and a port group “B” 63b which are port VLANs, are configured on the virtual switches 62a to 62c.
  • the present invention is not limited to this, and a tag VLAN may be configured.
  • the port group “A” 63 a and the port group “B” 63 b are each connected to two virtual servers 64.
  • the port group “C” 63 c is connected to one virtual server 64 and the console 66.
  • the port group “D” 63 d is connected to one virtual server 64 and the console 66.
  • the port group “E” 63 e is connected to one virtual server 64.
  • the console 66 is connected to the management terminal 70 and controls the hypervisor “B” 61b, the hypervisor “C” 61c, and the virtual server 64.
  • the management network 100 is a network for the management terminal 70 and the management server 10 to manage the physical servers 60a to 60c, the hypervisor “A” 61a to the hypervisor “C” 61c, and the virtual server 64 ( Thick solid line). Any network can be used as long as it can be connected to the management interface of these devices or software.
  • the management network 100 may be a physical LAN (Local Area Network) or a VLAN. When the management network 100 is configured by a physical LAN, it may be a wired network or a wireless network.
  • the storage network 110 is a network for transferring data in the logical units 50a to 50c in the storage device 40 (thin solid line).
  • the storage network 110 may be a SAN (Storage Area Network) or an IP (Internet Protocol) network for iSCSI (Internet Small Computer System Interface).
  • the storage network 110 may be formed on a network that is physically the same as the management network 100, or may be formed on a network that is physically different from the management network 100.
  • the business network 120 is a business network that connects the physical servers 60a to 60c (broken line). This network may be any network as long as it is a network used by the business system. That is, the business network 120 may be configured with a physical LAN or a VLAN. When the business network 120 is configured with a physical LAN, it may be a wired network or a wireless network.
  • FIG. 2 is a diagram illustrating a logical configuration of the management server according to the first embodiment.
  • the management server 10 includes a storage unit 20, a scenario control unit 31, an execution location determination unit 32, a virtual environment management unit 33, a configuration information management unit 34, a performance information management unit 35, and a storage management unit 36. I have.
  • the storage unit 20 stores management information of the management server 10.
  • the storage unit 20 includes a correspondence table 21, a concurrent execution number table 22, a configuration table 23, a management table 24, a time table 25, a performance table 26, a scenario table 27, a task table 28, and a virtual server template. 29 are stored.
  • the scenario table 27 includes a scenario table 27A (FIG. 14) and an additional scenario table 27B (FIG. 15) which will be described later.
  • the virtual server template 29 is a template file of the virtual server 64 (FIG. 1) managed by the management server 10 as a library. Based on the template file of the virtual server template 29, the scenario control unit 31 can deploy the virtual server 64 to any of the target hypervisor “A” 61a to hypervisor “C” 61c (FIG. 1). it can.
  • the virtual server template 29 has a virtual disk image file 29a and a template definition file 29b.
  • the virtual disk image file 29a is a file corresponding to a disk included in the virtual server 64.
  • the template definition file 29b is a file that defines template information from which the virtual server 64 is deployed or cloned.
  • the virtual server template 29 is, for example, any one of an OVF (Open Virtualization Format) file, a virtual disk file image file (VMDK (virtual machine disk) file or VHD (Virtual Hard Disk) file), or OVA (open virtual appliance / application) file It may be.
  • OVF Open Virtualization Format
  • VMDK virtual machine disk
  • VHD Virtual Hard Disk
  • OVA open virtual appliance / application
  • the scenario control unit 31 executes the resource management operation of the virtual server 64 based on the scenario information defined in the scenario table 27.
  • the scenario control unit 31 reads the scenario table 27 based on a user request and identifies scenario definition information, determines the scenario execution location via the execution location determination unit 32, changes the scenario contents, It registers as a task in the task table 28. Further, the scenario control unit 31 takes out the task from the task table 28 and sequentially executes each step included in this task.
  • the execution location determination unit 32 determines the execution destination of the resource management operation by the management server 10. The execution location determination unit 32 determines the execution location for each step so that the processing time is shortest based on the number of simultaneous executions stored in the simultaneous execution number table 22. However, the execution location determination unit 32 is not limited to this, and the execution location determination unit 32 may determine the execution location based on the performance information stored in the performance table 26 so that the management target is not overloaded. The execution location may be determined so as not to adversely affect the virtual server 64.
  • the virtual environment management unit 33 manages a hypervisor “A” 61a to a hypervisor “C” 61c and a virtual server 64 which will be described later.
  • the management server 10 collects information on the hypervisor “A” 61 a to the hypervisor “C” 61 c and the virtual server 64 via the management interface of the virtual environment management unit 33, operates them, and operates the virtual server template 29.
  • the virtual server 64 is deployed.
  • the virtual environment management unit 33 is, for example, vCenter® Server (registered trademark) of VMware (registered trademark), SystemCenter® VirtualMachineManger (registered trademark) of Microsoft (registered trademark), or the like.
  • the configuration information management unit 34 collects and manages the configuration information of the physical servers 60a to 60c and their components via the virtual environment management unit 33.
  • the configuration information management unit 34 collects and manages the configuration information of the storage device 40 (FIG. 1) and its components via the storage management unit 36.
  • the configuration information collected by the configuration information management unit 34 is stored in the configuration table 23 and read in response to a request from another component.
  • the performance information management unit 35 collects and manages the performance information of the physical servers 60a to 60c and their constituent elements via the virtual environment management unit 33.
  • the performance information management unit 35 collects and manages the performance information of the storage device 40 and its constituent elements via the storage management unit 36.
  • the performance information collected by the performance information management unit 35 is stored in the performance table 26 and read out in response to requests from other components.
  • the storage management unit 36 manages the storage device 40.
  • the storage management unit 36 collects the configuration information of the logical units 50a to 50c or the storage control unit 41 included in the storage device 40, and creates, deletes, and updates the logical units 50a to 50c via the storage control unit 41. To do.
  • the storage management unit 36 manages path switching of the business network 120 and sets and manages LU (Logical Unit) security of the logical units 50a to 50c. Configuration information is collected.
  • LU Logical Unit
  • FIG. 3 is a diagram showing a logical configuration of the storage apparatus according to the first embodiment.
  • the storage device 40 is an external storage device that stores data.
  • the storage device 40 includes a storage control unit 41 and, for example, logical units 50a, 50b, and 50c.
  • the storage control unit 41 performs RAID (Redundant Arrays of Inexpensive Disks) control and input / output control of the storage device 40.
  • the logical units 50a to 50c are disk devices that the storage device 40 provides to the physical servers 60a to 60c and the virtual server 64.
  • the logical unit 50a includes a data store “A” 51a.
  • the logical unit 50b includes a data store “B” 51b.
  • the logical unit 50c includes a data store “C” 51c.
  • the data store “A” 51 a is a file system that stores the virtual disk image file 53 of the virtual server 64 and the like.
  • the data store “A” 51a is, for example, a data store formatted by the VMFS format of VMware (registered trademark), a file system formatted by NTFS in the Hyper-V (registered trademark) environment, or KVM (registered trademark). ) Ext formatted file system in the environment.
  • the data store “A” 51 a includes a virtual server A entity 52 that is a file entity of a virtual server “A” 64 a to be described later, and a virtual server template 29.
  • the virtual server A entity 52 is a combination of a virtual server definition file 54 and a virtual disk image file 53.
  • the virtual server template 29 is a combination of a virtual disk image file 29a and a template definition file 29b.
  • the data store “B” 51b and the data store “C” 51c have the same configuration as the data store “A” 51a.
  • the virtual disk image file 53 is a file corresponding to a disk included in the virtual server 64.
  • a VMDK OpenDKVirtualization Format
  • VHD Virtual Hard Disk
  • IMG IMG
  • ISO International Organization for Standardization
  • the virtual server definition file 54 is a file that defines the hardware configuration of the virtual server 64, such as a VMX file in a VMware (registered trademark) environment, an XML file in a Hyper-V (registered trademark) environment, or the like. It is.
  • the combination of the virtual server definition file 54 and the virtual disk image file 53 is a virtual server A entity 52.
  • the combination of the template definition file 29b and the virtual disk image file 29a is a virtual server template 29.
  • the hypervisor “A” 61a and the data store “A” 51a are newly transferred from the virtual server template 29 included in the management server 10 via the management network 100 or the storage network 110.
  • the second deployment method uses the virtual server template 29 (the template definition file 29b and the virtual disk image file 53) stored in the data store “A” 51a and the like to the internal of the hypervisor “A” 61a and the like without going through the network. In this method, a new virtual server 64 is deployed.
  • FIG. 4 is a diagram illustrating a physical configuration of the management server according to the first embodiment.
  • the management server 10 includes a CPU (Central Processing Unit) 12, a main storage device 11, a network adapter 13, a storage adapter 14, an external storage medium 15, and a shared bus 16.
  • the CPU 12, main storage device 11, network adapter 13, and storage adapter 14 are connected via a shared bus 16.
  • the CPU 12 is a central processing unit that controls each unit included in the management server 10 and performs calculation and processing of data.
  • the main storage device 11 stores data and programs.
  • the software programs that constitute the scenario control unit 31, the execution location determination unit 32, the virtual environment management unit 33, the configuration information management unit 34, the performance information management unit 35, and the storage management unit 36 are stored in the main storage device 11. Stored above.
  • the CPU 12 executes the software program via the shared bus 16, the scenario control unit 31, the execution location determination unit 32, the virtual environment management unit 33, the configuration information management unit 34, and the performance information management unit 35. And the storage management part 36 is implement
  • the network adapter 13 is an interface connected to the management network 100.
  • the network adapter 13 transmits / receives data to / from an external device via the management network 100.
  • the storage adapter 14 is an interface connected to the storage network 110.
  • the storage adapter 14 transmits / receives data to / from an external device via the storage network 110.
  • the management network 100 may be an IP network or an ATM (Asynchronous Transfer Mode) network.
  • the storage network 110 may be any of an IP network, an ATM network, and a storage area network.
  • the network adapter 13 is an Ethernet (registered trademark) adapter.
  • the storage adapter 14 is a host bus adapter.
  • the network adapter 13 and the storage adapter 14 may be Infiniband host channel adapters or FCoE (FibreFiChannel over Ethernet (registered trademark)) converged network adapters.
  • the external storage medium 15 is a storage medium on the storage device 40.
  • the external storage medium 15 may be either a hard disk drive or a solid state drive using flash memory.
  • the external storage medium 15 may be installed outside the management server 10 and connected to the internal bus via a communication interface, or may be built in the management server 10 and directly connected to the internal bus.
  • the storage unit 20 is information stored on the external storage medium 15 and is read onto the main storage device 11 and processed by the CPU 12. The contents of the storage unit 20 have been described above with reference to FIG.
  • the shared bus 16 is a communication path for communicating data among the CPU 12, the main storage device 11, the network adapter 13, the storage adapter 14, the external storage medium 15, and the like.
  • FIG. 5 is a diagram illustrating the configuration of the management system according to the first embodiment.
  • Physical servers 60a to 60c and data stores “A” 51a to “C” 51c are connected to the management system via a network (not shown).
  • a hypervisor “A” 61a is operating on the physical server 60a.
  • virtual servers “A” 64a to “E” 64e are operating.
  • a hypervisor “B” 61b is operating on the physical server 60b.
  • the virtual server “F” 64f is operated by the hypervisor “B” 61b.
  • a hypervisor “C” 61c is operating on the physical server 60c.
  • a virtual server “G” 64g is operated by the hypervisor “C” 61c.
  • virtual server entities 52a and 52g are stored in the data store “A” 51a.
  • the virtual server entity 52a (Svr Entity) is a file entity that operates the virtual server “A” 64a.
  • the virtual server entity 52g is the entity of the file running the virtual server “G” 64g.
  • virtual server entities 52b to 52e are stored in the data store “B” 51b.
  • the virtual server entity 52b is a file entity that operates the virtual server “B” 64b.
  • the virtual server entity 52c is an entity of a file operating the virtual server “C” 64c.
  • the virtual server entity 52d is an entity of a file operating the virtual server “D” 64d.
  • the virtual server entity 52e is a file entity of the virtual server “E” 64e.
  • a virtual server entity 52f is stored in the data store “C” 51c.
  • the virtual server entity 52f is an entity of a file operating the virtual server “F” 64f.
  • Each of the virtual server entities 52a to 52g has a virtual disk image file 53 (Disk Img) and a virtual server definition file 54 (Def File).
  • FIG. 6 is a diagram illustrating an example of a correspondence table in the first embodiment.
  • the correspondence table 21 stores correspondence information between a temporary execution location and a final execution location to be originally executed when an operation request is made to the virtual server 64 (FIG. 1) at a certain location.
  • the correspondence table 21 stores correspondence information between an execution location to be temporarily deployed and a final execution location to be arranged when the deployment is completed.
  • “location” refers to, for example, a combination of a hypervisor, a data store, and a port group.
  • the present invention is not limited to this, and a combination of a hypervisor and a data store may be a “location”.
  • the hypervisor, the data store, the VLAN-ID of the virtual server 64, the port of the network device, the IP address of the virtual server 64, and the host name of the virtual server 64 may be combined to form a “location”.
  • the correspondence table 21 includes a task number column 21a, a temporary configuration column 21b, and a final configuration column 21c. In the following drawings, the number may be described as “#”.
  • the task number column 21a stores information for uniquely identifying the task information requested by the user. Records in which the same task number is stored in the task number column 21a indicate correspondence information relating to the same task.
  • identification information of instances constituting the temporary execution location is stored.
  • a “hypervisor G” that identifies an instance of a hypervisor that constitutes a temporary execution place is stored.
  • the final configuration column 21c stores identification information of instances that constitute the final execution location that should be executed.
  • “hypervisor A” that identifies an instance of a hypervisor that constitutes a final execution location is stored.
  • FIG. 7 is a diagram illustrating an example of a concurrent execution number table in the first embodiment.
  • Each record of the concurrent execution number table 22 stores the current number of concurrent executions of the resource and the maximum number of concurrent executions that can be executed using the instance information of the resource as a key.
  • the concurrent execution number table 22 includes an instance column 22a, an operation type column 22b, a concurrent execution number column 22c, and a maximum concurrent execution number column 22d.
  • the instance column 22a stores key information that uniquely identifies resource instance information.
  • an identifier of a hypervisor, an identifier of a data store, and the like are stored.
  • the operation type column 22b stores user request task type information.
  • provisioning is stored in the case of deployment or cloning (duplication) of the virtual server 64 (FIG. 5).
  • power control is stored in the case of power-on, power-off, reset, shutdown, reboot, etc. of the virtual server 64 (FIG. 5).
  • live migration is stored.
  • storage migration is stored.
  • the concurrent execution number column 22c stores the current number of concurrent executions of tasks related to the instance and belonging to the operation type stored in the operation type column 22b. For example, there are two deployment tasks to the hypervisor “A” 61a (FIG. 5) and the data store “A” 51a (FIG. 5), the hypervisor “A” 61a (FIG. 5) and the data store “B” 51b (FIG. 5). 5) When two deployment tasks are executed and no other processing is executed, the number of simultaneous executions of the hypervisor “A” 61a (FIG. 5) is 4, and the data store “A” 51a (FIG. 5). Is 2 and the data store “B” 51b (FIG. 5) is 2.
  • the information stored in the concurrent execution number column 22c is periodically updated by the performance information management unit 35 (FIG. 2) via the virtual environment management unit 33 (FIG. 2).
  • the virtual environment management unit 33 (FIG. 2) controls the number of concurrent executions of tasks so as not to exceed the maximum number of concurrent executions managed internally.
  • the maximum concurrent execution number column 22d stores the maximum number of executable tasks related to the instance and belonging to the operation type stored in the operation type column 22b. For example, if the maximum number of simultaneous executions of tasks belonging to the provisioning type to the hypervisor “A” 61a (FIG. 5) is 4, and no other tasks are being executed, the hypervisor “A” 61a (FIG. 5). It shows that up to 4 deployments can be executed. When the maximum number of simultaneous executions of the hypervisor “A” 61a (FIG. 5) is 4, and the maximum number of simultaneous executions of the data store “A” 51a (FIG. 5) is 4, the hypervisor “B” 61b (FIG. 5).
  • FIG. 8 is a diagram illustrating an example of a configuration table according to the first embodiment.
  • the configuration table 23 stores configuration information to be managed by the management server 10.
  • the configuration table 23 includes a configuration table 23A indicating the configuration information of the hypervisor, a configuration table 23B (FIG. 9) indicating the configuration information of the virtual server 64, and a configuration table 23C (FIG. 10) indicating the configuration information of the data store. I have.
  • the configuration table 23 further includes relationship information between the hypervisor and the virtual server 64 (FIG. 5) running on the hypervisor, relationship information between the hypervisor and the port group constructed on the hypervisor, Relationship information between the visor and the data store connected to the hypervisor, the virtual server 64 and the virtual server entity 52 corresponding to the virtual server 64 (FIG. 5) (virtual disk image file 53 and virtual server definition file 54) And the relationship information between the virtual server 64 (FIG. 5) and the port group connected to the virtual server 64 are stored.
  • the configuration table 23A includes a hypervisor column 23a, a task execution dedicated flag column 23b, a data store column 23c, a virtual server column 23d, and a port group column 23e.
  • the hypervisor column 23a stores information for uniquely identifying the hypervisor.
  • the task execution dedicated flag column 23b stores flag information indicating whether or not the hypervisor is a dedicated hypervisor for executing the resource management operation task for the virtual server 64.
  • the task execution dedicated flag column 23b is True, it indicates that the hypervisor is a hypervisor dedicated to executing the resource management operation task.
  • the task execution dedicated flag column 23b is False, it indicates that the hypervisor is a hypervisor that is not dedicated to the resource management operation task execution.
  • the scenario control unit 31 preferentially selects a hypervisor whose flag is true in the task execution dedicated flag field 23b as a temporary execution place of the task. When all the task execution dedicated flag fields 23b are False, one of the hypervisors is selected based on other priority information.
  • the task execution dedicated flag column 23b of the present embodiment is merely an example, and is not limited to this configuration, and may be any information as long as it can determine the priority of the hypervisor.
  • the data store column 23c an information set for uniquely identifying the data store connected to the hypervisor is stored.
  • the data store “A” 51a and the data store “B” 51b are connected to the hypervisor “A” 61a.
  • the virtual server column 23d an information set for uniquely identifying the virtual server 64 operating on the hypervisor is stored.
  • the virtual server column 23d of the present embodiment includes a virtual server “A” 64a, a virtual server “B” 64b, a virtual server “C” 64c, a virtual server “D” 64d, and a virtual server “on the hypervisor“ A ”61a. E "64e is operating.
  • the port group column 23e an information set for uniquely identifying a port group constructed on the hypervisor is stored.
  • the port group column 23e of the present embodiment indicates that the port group “A” 63a and the port group “B” 63b are operating in the hypervisor “A” 61a.
  • FIG. 9 is a diagram illustrating an example of the configuration information of the virtual server in the first embodiment.
  • the configuration table 23B stores the relationship information between the configuration information of the virtual server 64 (FIG. 5) and the instances related to the virtual server 64.
  • the configuration table 23B includes a virtual server column 23f, a production operation flag column 23g, and a port group column 23h.
  • the virtual server column 23f stores information for uniquely identifying the virtual server 64 (FIG. 5).
  • the production operation flag column 23g stores flag information indicating whether or not the virtual server 64 is in a state of executing a resource management operation by the management server 10 (FIG. 1) before the production operation. If True is stored in the production operation flag field 23g, it indicates that the virtual server 64 is after the production operation. If False is stored in the production operation flag column 23g, this indicates that the virtual server 64 is in a state in which a resource management operation is being executed by the management server 10 before the production operation. Specifically, the execution of the resource management operation is any of the virtual server deployment, the virtual server activation, the restart, and the maintenance. In the virtual server 64 in which the production operation flag column 23g is True, the business service is in operation. Therefore, the location of the resource management operation needs to avoid the location of the operating virtual server 64 so as not to adversely affect the business service by the operating virtual server 64.
  • the port group column 23h stores a list of port groups to which the virtual server 64 is connected. For example, the virtual server “A” 64a is connected to the port group “A” 63a and the port group “B” 63b.
  • FIG. 10 is a diagram illustrating an example of the configuration information of the data store according to the first embodiment.
  • the configuration table 23C stores configuration information of the data store and relationship information between instances related to the data store.
  • the data store column 23i becomes key information, and configuration information relating to the data store is stored in each record.
  • the configuration table 23C includes a data store column 23i and a virtual server column 23j.
  • the data store column 23i stores information for uniquely identifying the data store.
  • the virtual server column 23j uniquely identifies the virtual server 64 (FIG. 5) corresponding to the virtual server entity 52 (FIG. 5) (virtual disk image file 53 and virtual server definition file 54) stored on the data store.
  • the information set to be stored is stored.
  • the data store “A” 51a stores a virtual server entity 52a (FIG. 5) corresponding to the virtual server “A” 64a (FIG. 5), and further corresponds to the virtual server “G” 64g (FIG. 5).
  • the virtual server entity 52g (FIG. 5) to be stored is stored.
  • FIG. 11 is a diagram illustrating an example of a hypervisor management table in the first embodiment.
  • the management table 24 includes a hypervisor column 24a and a management authority column 24b.
  • the hypervisor column 24a stores information for uniquely identifying the hypervisor.
  • information indicating the management authority of the hypervisor is stored.
  • the hypervisor “A” 61a (FIG. 5) has an access authority to the data store “A” 51a (FIG. 5) and an access authority to the data store “B” 51b (FIG. 5). is doing.
  • the hypervisor “B” 61b (FIG. 5) has an access right to the data store “C” 51c (FIG. 5).
  • the hypervisor “C” 61c (FIG.
  • FIG. 12 is a diagram illustrating an example of a time table in the first embodiment.
  • the time table 25 stores the estimated processing time of the resource management operation for the virtual server 64 (FIG. 5).
  • the operation column 25a and the instance column 25b serve as a set, and the estimated processing time of the resource management operation task is stored in each record.
  • the time table 25 includes an operation column 25a, an instance column 25b, and an estimated processing time column 25c. Information indicating the type of the resource management operation task is stored in the operation column 25a.
  • the instance column 25b stores information for uniquely identifying an instance that is a target of the resource management operation task.
  • the estimated processing time column 25c stores the estimated processing time required when the resource management operation task stored in the operation column 25a is executed on the instance stored in the instance column 25b.
  • the management server 10 uses the estimated processing time as a guide, and adjusts the estimated processing time as a guide according to the load status of the deployment destination and the load status of the network transfer path.
  • FIG. 13 is a diagram illustrating an example of a performance table in the first embodiment.
  • the performance table 26 stores performance information of each instance included in the management target of the management server 10 (FIG. 1). For example, performance information of a hypervisor and a data store is stored. Each record of the performance table 26 stores performance information for each instance.
  • the performance table 26 includes a time column 26a, an instance column 26b, a metric column 26c, and a metric value column 26d.
  • the time column 26a stores the time when the performance information management unit 35 collected the performance information.
  • the management target may be the time when the performance information is recorded.
  • the instance column 26b stores information that uniquely identifies the instance information that is the target of the performance information.
  • the metric column 26c stores identification information of the performance information type.
  • the metric value column 26d stores the acquired value of the metric specified in the metric column 26c related to the instance specified in the instance column 26b.
  • a value obtained by adding up the CPU allocation shortage of all virtual servers 64 operating on the hypervisor “A” 61a is , 300 MHz.
  • FIG. 14 is a diagram illustrating an example of a scenario table in the first embodiment.
  • the scenario table 27A stores scenario definition information for resource management operations provided by the management server 10.
  • the scenario definition information is composed of a plurality of subdivided steps, and the scenario is executed by sequentially executing each step.
  • the scenario table 27A includes a scenario number column 27a, a type column 27b, an argument column 27c, a step column 27d, and a network column 27e.
  • the scenario number column 27a stores information for uniquely identifying scenario definition information.
  • the type column 27b stores scenario definition information type information.
  • the argument column 27c stores argument definition information for executing the scenario definition information.
  • the step column 27d stores a list of step information constituting the scenario definition information.
  • the network column 27e stores flag information indicating whether or not the step stored in the step column 27d includes processing for communicating using the network. If it is stored in the network column 27e as True, it indicates that the process of communicating using the network is included, and if it is stored as False, it indicates that the process of communicating using the network is not included. .
  • the step in which False is stored indicates that it can be executed on any hypervisor without depending on the configuration requirements of the network.
  • FIG. 15 is a diagram illustrating an example of an additional scenario table in the first embodiment.
  • the additional scenario table 27B stores scenario definition information to be added to the scenario described in the scenario table 27A when the task execution location is changed.
  • the additional scenario table 27B includes a type column 27f, a condition column 27g, an argument column 27h, and a step column 27i.
  • the type column 27f stores the type information of the scenario definition information in the same manner as the type column 27b (FIG. 14).
  • the condition column 27g stores conditions for adding scenario definition information.
  • the argument column 27h stores argument definition information for executing the scenario definition information in the same manner as the argument column 27c (FIG. 14).
  • the step column 27i stores a list of step information constituting the scenario definition information, similarly to the step column 27d.
  • FIG. 16 is a diagram illustrating an example of a task table in the first embodiment.
  • the task table 28 is a table that stores a list of resource management operation tasks being executed and their contents. Each record of the task table 28 stores the contents of each task being executed.
  • the task table 28 includes a task number field 28a, a scenario number field 28b, an argument field 28c, a step field 28d, and a network field 28e.
  • the task number column 28a stores information for uniquely identifying the task being executed.
  • the scenario number column 28b stores information for uniquely identifying scenario definition information that is a source of a task.
  • the argument column 28c stores a list of information for uniquely identifying instance information passed as a scenario argument.
  • the step column 28d stores a list of step processing information that should be executed by subdividing tasks. When executing a task, a list of task processing information is sequentially executed.
  • FIG. 17 is a flowchart showing a resource management operation in the first embodiment.
  • the scenario control unit 31 of the management server 10 identifies the scenario A and the final execution location based on the resource management operation execution request.
  • the resource management operation execution request is a request from the management terminal 70 or the processing program.
  • the final execution location is the execution location when the resource management operation request is completed.
  • the hypervisor “A” 61a, the data store “A” 51a, the port group “A” 63a, and the port group “B” 63b. FIG. 5).
  • the resource management operation request is a request to deploy the virtual server “A” 64a to the hypervisor “A” 61a and the data store “A” 51a using the template A.
  • the port group “A” 63a and the port group “B” 63b are specified.
  • the scenario control unit 31 of the management server 10 searches the scenario table 27A, identifies the record in which “deployment” is stored in the type column 27b, and identifies the scenario number stored in the scenario number column 27a of the record. To do.
  • the scenario control unit 31 of the management server 10 generates a task A in which the final execution place is applied to the scenario A and registers it in the task table 28.
  • a new entry is added to the task table 28.
  • a newly generated task number that can be uniquely identified is stored.
  • the scenario number specified in the process S10 is stored as the scenario “1”.
  • the execution location is realized. For example, the following is substituted as the execution location in the argument field 28c of the new entry.
  • the content obtained by substituting the value of the final execution location into the argument field 28c of the new entry is the following series of steps.
  • the scenario control unit 31 of the management server 10 determines whether or not each step of the scenario A can be executed in another place, and determines an execution place for determining the temporary execution place of the task that executes the step instead.
  • the temporary execution location of the task is, for example, a combination of the hypervisor “C” 61c, the data store “A” 51a, the port group “D” 63d, and the port group “E” 63e (FIG. 5). This execution location determination process will be described in detail with reference to FIG.
  • the scenario control unit 31 of the management server 10 detects that the scenario A cannot be immediately executed at the final execution location, the scenario control unit 31 determines whether there is a temporary execution location that can be immediately processed. If it is determined that there is a temporary execution place that can be processed immediately, the scenario control unit 31 of the management server 10 determines to perform processing at the temporary execution place.
  • the scenario control unit 31 of the management server 10 first refers to the concurrent execution number table 22, and refers to the concurrent execution number column 22c of the hypervisor “A” 61a and the data store “A” 51a and the maximum concurrent execution number. Refer to the value in the column 22d.
  • the number of simultaneous executions of the provisioning process of the hypervisor “A” 61a has reached the maximum number of simultaneous executions. Therefore, the scenario control unit 31 of the management server 10 determines that the hypervisor “A” 61a does not immediately execute the task but queues it.
  • the scenario control unit 31 of the management server 10 determines whether or not there is a temporary execution place that can be processed immediately in order to avoid delay of the task due to waiting for queuing. If it is determined that there is a temporary execution place that can be processed immediately, the scenario control unit 31 of the management server 10 determines to execute at the temporary execution place.
  • the scenario control unit 31 of the management server 10 sets the temporary execution location as hypervisor “C” 61c, data store “A” 51a, port group “D” 63d, and port group “E” 63e (FIG. 5). ) Combination.
  • the scenario control unit 31 of the management server 10 determines that the step in which the network column 28e is False among the steps embodied in the process S11 is executed at the temporary execution location, and the network column 28e is True. It is decided to execute the steps in the final execution place.
  • the scenario control unit 31 of the management server 10 adds correspondence information between the final execution location and the temporary execution location to the correspondence table 21. Specifically, the scenario control unit 31 of the management server 10 adds a new entry to the correspondence table 21 and stores the generated task number in the task number column 28a. The scenario control unit 31 of the management server 10 further stores information for uniquely identifying the temporary execution location in the temporary configuration column 21b, and stores information for uniquely identifying the final execution location in the final configuration column 21c. For example, the scenario control unit 31 of the management server 10 adds the following first to fourth entries to the correspondence table 21.
  • “task 3” is stored in the task number column 21a
  • “data store A” is stored in the temporary configuration column 21b
  • “data store A” is stored in the final configuration column 21c.
  • the correspondence table 21 indicates that the temporary execution location is a combination of the hypervisor C, the port group D, the port group E, and the data store A (FIG. 5). Furthermore, it is shown that the final execution location is a combination of the hypervisor A, the port group A, the port group B, and the data store A (FIG. 5).
  • the scenario control unit 31 of the management server 10 determines whether or not the final execution place and the temporary execution place are the same, and determines whether the replacement process of each step of the task A is necessary. To do. If the scenario control unit 31 of the management server 10 determines that the final execution location and the temporary execution location are the same (Yes), the process S16 is performed, and the final execution location and the temporary execution location are the same. If it is determined that it is not (No), the process S15 is performed.
  • the scenario control unit 31 of the management server 10 performs the task A step replacement process according to the correspondence table 21.
  • This step replacement process will be described in detail later with reference to FIG. More specifically, if False is stored in the network field 28e, the scenario control unit 31 of the management server 10 replaces and stores the value in the argument field 28c from the final execution place to the temporary execution place. .
  • the network field 28e of the new entry is False, and the steps stored after replacement with the temporary execution location are shown below. However, this is a series of steps being created, not steps executed by the scenario control unit 31 of the management server 10.
  • the scenario control unit 31 of the management server 10 adds a step for changing the execution location before the “current step”.
  • the step of changing the execution location is a step of live migration of the virtual server 64 or a step of storage migration of the virtual server 64.
  • the scenario control unit 31 of the management server 10 adds a step for changing the execution location, and there is a necessary step accompanying it, the necessary step is added.
  • the accompanying necessary step is a step of switching the connection between the virtual server 64 and the port group, for example.
  • the scenario control unit 31 of the management server 10 determines the step of changing the execution location and the accompanying necessary steps with reference to the correspondence table 21 and the additional scenario table 27B.
  • the scenario control unit 31 of the management server 10 executes the task A.
  • the scenario control unit 31 of the management server 10 searches the task number column 28a of the task table 28, identifies the record corresponding to the task A, and sequentially executes the steps stored in the step column 28d of the record. .
  • the scenario control unit 31 of the management server 10 deletes the entry related to the task A in the correspondence table 21. Specifically, the scenario control unit 31 of the management server 10 searches the task number column 21a of the correspondence table 21, identifies the record corresponding to the task A, and deletes the identified record from the correspondence table 21. If there are multiple identified records, delete all.
  • the scenario control unit 31 of the management server 10 deletes the entry related to the task A in the task table 28. Specifically, the scenario control unit 31 of the management server 10 searches the task number field 28a of the task table 28, specifies the record corresponding to the task A, and deletes the specified record from the task table 28. When the process S18 ends, the entire process of FIG. 17 ends.
  • the resource management operation when the resource management operation cannot be executed directly at the final execution location, the resource management operation is executed at the temporary execution location and returned to the final execution location. Thereby, the time for the resource management operation can be shortened. This is particularly effective when the step executed at the temporary execution location takes a long time and the change from the temporary execution location to the final execution location is short. Further, when there is no execution place restriction in the step executed at the temporary execution place, it is not necessary to execute the resource management operation task at the final execution place. At this time, as the number of temporary execution location options increases, the waiting time due to queuing of resource management operations decreases.
  • FIG. 18 is a flowchart showing execution place determination processing in the first embodiment.
  • this corresponds to a detailed flow of the process S12, and corresponds to a process in which the scenario control unit 31 determines a temporary execution location via the execution location determination unit 32.
  • the execution place determination unit 32 of the management server 10 specifies a default final execution place.
  • the final execution locations are the hypervisor “A” 61a and the data store “A” 51a.
  • the execution location determination unit 32 of the management server 10 refers to the task execution dedicated flag column 23b of the configuration table 23A and determines whether there is a dedicated execution location for the task.
  • processing S22 is performed, and when it is determined that there is no dedicated execution location for the task (No), processing S23 is performed.
  • the execution place determination unit 32 of the management server 10 determines the dedicated execution place of the task as a temporary execution place of the task, and ends the process of FIG.
  • the execution location determining unit 32 of the management server 10 lists possible execution location candidates based on the configuration tables 23A, 23B, and 23C.
  • the execution location determination unit 32 of the management server 10 can move from the candidate execution locations listed in the process S23 to the current configuration based on the management table 24 and the physical connection table (not shown). Refine to.
  • the execution place determination unit 32 of the management server 10 further narrows down to execution place candidates that can be transferred to the execution place at the time of completion.
  • the execution location determination unit 32 of the management server 10 uses the information on the number of concurrent executions and the processing load for each of the execution location candidates narrowed down in the process S25 based on the time table 25 and the performance table 26. Estimate the estimated processing time.
  • the execution place determination unit 32 of the management server 10 sorts the execution place candidates in ascending order of the estimated processing time calculated in the process S26, and temporarily executes the candidate having the shortest processing time. Decide as a place.
  • the execution location determination unit 32 of the management server 10 ends the process of FIG.
  • the execution location determination unit 32 of the management server 10 determines the candidate with the shortest processing time.
  • the present invention is not limited to this, and the execution location determining unit 32 of the management server 10 may determine the execution location using another index.
  • the execution location determination unit 32 of the management server 10 may determine an execution location that equalizes the number of simultaneous executions of each hypervisor or each data store so that the execution locations are distributed as much as possible. As a result, the number of concurrent executions of each hypervisor or each data store is leveled, processing delay due to task queuing can be prevented, and the overall processing time can be shortened.
  • the execution location determination unit 32 of the management server 10 may estimate the load at each execution location from the performance information of each hypervisor or each data store, and determine the execution location where the load is leveled. As a result, the execution location determination unit 32 of the management server 10 can level the CPU load of the physical server on which each hypervisor operates, or the network I / O load or disk I / O load of each data store. it can.
  • the execution location may be determined so as to avoid the virtual server 64 that is in operation. By selecting an execution location that avoids the virtual server 64 that is in production, resource management operations such as deployment of a new virtual server 64 can be executed without adversely affecting the virtual server 64 that is in production.
  • FIG. 19 is a flowchart showing the step replacement process in the first embodiment. Both are performed by the scenario control unit 31 of the management server 10. Of the overall flow (FIG. 17) described above, this corresponds to a detailed flow of the process S15, and the scenario control unit 31 corresponds to a process of executing a task step replacement process according to the correspondence table.
  • the scenario control unit 31 of the management server 10 repeats the process in order for all the steps added to the task table 28 in the processes S30 to S40.
  • the step being processed is hereinafter referred to as “the relevant step”
  • the task step replacement process (FIG. 19) is performed while comparing the variable “current step” with the variable “immediate step”. It is assumed that nothing is set in the “immediate step” at the start of processing, that is, NULL is set.
  • the scenario control unit 31 of the management server 10 sets “the step” as “the current step”.
  • the scenario control unit 31 of the management server 10 determines whether or not the “immediate step” is NULL.
  • the scenario control unit 31 of the management server 10 performs the process S33 if the “immediate step” is NULL (Yes), and performs the process S34 if the “immediate step” is not NULL (No).
  • the scenario control unit 31 of the management server 10 substitutes “current step” for “previous step”.
  • the scenario control unit 31 of the management server 10 determines whether or not there is a restriction on the execution location in “the step”. If the scenario control unit 31 of the management server 10 determines that “the relevant step” has an execution place restriction (Yes), performs the process S36, and if “the relevant step” has no execution place restriction. If (No), the process S35 is performed. Specifically, the scenario control unit 31 of the management server 10 determines that the execution location is not restricted when “False” is stored in the network column 28e, and is executed when “True” is stored. It is determined that there are restrictions on the location.
  • the scenario control unit 31 of the management server 10 connects to the guest OS 65 via the management network 100 using SSH (Secure Shell) or WMI (Windows Management Instrumentation), and sets application setting items to environment-specific values. Can be set after moving to a place where the management server 10 can communicate with the network.
  • the scenario control unit 31 of the management server 10 matches the setting of the application server running on the target virtual server 64 and the setting of the database management system (DBMS) running on another already deployed virtual server 64. After that, the communication confirmation can be performed after belonging to the same business network 120.
  • SSH Secure Shell
  • WMI Windows Management Instrumentation
  • the scenario control unit 31 of the management server 10 creates a virtual server from the virtual server template in the hypervisor and data store, which is the previous step in the scenario table 27A (FIG. 14) (FIG. 14). 14) can be executed if communication between the management server 10 and the hypervisor (or console 66) is established, and there is no restriction on the execution location.
  • the scenario control unit 31 of the management server 10 for example, a CPU load, a network I / O load, a disk I / O represented by a step of creating a virtual server 64 from the virtual server template 29 and a step of customizing the guest OS 65.
  • a high-load process is offloaded to a hypervisor or datastore that has free resources, and then the virtual server 64 is moved to the target execution location. It is possible to perform processing with restrictions on execution locations.
  • the scenario control unit 31 of the management server 10 has an effect of preventing performance degradation without wastefully taking away the resources of the other virtual servers 64 that are actually operating. .
  • the scenario control unit 31 of the management server 10 executes a number of resource management operation tasks such as deployment requests, the task is queued due to the concurrent execution number restriction of the hypervisor and the data store, and processing is delayed. And overall processing time can be reduced.
  • the scenario control unit 31 of the management server 10 replaces the final execution place of the “current step” with a temporary execution place.
  • the scenario control unit 31 of the management server 10 determines whether or not the execution location of “current step” is different from the execution location of “previous step”. If the execution location of “current step” is different from the execution location of “previous step” (Yes), the scenario control unit 31 of the management server 10 performs processing S37, and the execution location of “current step” If the execution location of “step” is not different (No), processing S39 is performed. In the process S37, the scenario control unit 31 of the management server 10 adds a step of changing the execution location with reference to the additional scenario table 27B.
  • the scenario control unit 31 of the management server 10 refers to the additional scenario table 27B and adds a step necessary to change the execution location immediately before the “current step”.
  • the scenario control unit 31 of the management server 10 sets “current step” as “previous step”.
  • the scenario control unit 31 of the management server 10 determines whether or not all the steps added to the task table 28 have been processed. If the scenario control unit 31 of the management server 10 does not perform processing for all the steps added to the task table 28, the process returns to step S30 and performs processing for all the steps added to the task table 28. Then, the entire process of FIG.
  • the processing server 35 changes the execution location of the step to a temporary execution location and instructs the execution by processing S35. After execution at the execution location, the virtual server can be migrated from the temporary execution location to the predetermined execution location, and the continuous execution of the task can be instructed at the predetermined execution location.
  • Total processing time can be shortened for processing requests such as deployment (provisioning), power control, live migration, storage migration, etc. for a large number of virtual servers.
  • the processing request can be processed in a shorter time by causing the dedicated high-performance physical server or a high-performance storage device to perform the processing request.
  • FIG. 20 is a diagram illustrating an example of an additional scenario table in the second embodiment.
  • the additional scenario table 27C of the second embodiment has the same fields as the additional scenario table 27B of the first embodiment.
  • the following series of steps is stored. “Create port group p in hypervisor p” "Hypervisor p, create second virtual server from data store p from template p” "Replace the created virtual server disk image file instead of the second virtual server disk file”
  • the scenario control unit 31 of the management server 10 uses the created virtual server 64 as the port group p of the final execution location when the data store at the temporary execution location is different from the data store at the final execution location. Instead of connecting to the disk server, the created disk image file of the virtual server 64 is reconnected. Thereby, the created virtual server 64 can be used without the scenario control unit 31 of the management server 10 reconnecting the port group p.
  • the scenario execution location is designated in advance by the user.
  • the present invention is not limited to this, and it may be an execution place decided first by the system.
  • the designation by the user or the designation of the execution location first determined by the system may be a group designation including a plurality of execution locations.
  • the scenario control unit 31 takes into account the number of concurrent executions and the performance status of each execution location, and minimizes the processing time from the group or does not adversely affect other virtual servers 64. Select and run the scenario.
  • the same data store A is the execution location.
  • the present invention is not limited to this, and a different data store may be used.
  • the network I / O load and the disk I / O load related to the data store can be distributed, and the influence on the virtual server 64 that is actually operating on the same data store can be suppressed.
  • Management Server 11 Main Storage Device 12 CPU 13 Network adapter 14 Storage adapter 15 External storage medium 20 Storage unit 21 Corresponding table 22 Simultaneous execution number table 23 Configuration table 24 Management table 25 Time table 26 Performance table 27A Scenario table 27B, 27C Additional scenario table 28 Task table 29 Virtual server template 31 Scenario control unit 32 Execution location determination unit 33 Virtual environment management unit 34 Configuration information management unit 35 Performance information management unit 36 Storage management unit 40 Storage device 41 Storage control units 50a to 50c Logical units 51a to 51c Data stores 52, 52a to 52g Virtual Server entity 53 Virtual disk image file 54 Virtual server definition file 60a-60c Physical server 61a-61c Hypervisor 62a-62c Virtual switch 63a ⁇ 63e port group 64a ⁇ 64g virtual server 65 guest OS 66a to 66b Console 70 Management terminal 71 Input / output unit 100 Management network 110 Storage network 120 Business network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

多数の仮想サーバに対するデプロイなどの処理要求に対して、トータル処理時間を短縮する。更に、データセンタ内の遊休リソースを有効活用する。 ハイパーバイザ「A」(61a)~ハイパーバイザ「C」(61c)は、いずれかの物理サーバ(60a)~(60c)上で動作しており、仮想サーバ(64)は、いずれかのデータストア「A」(51a)~データストア「C」(51c)上のファイルイメージに基いて稼働している。管理サーバ(10)は、物理サーバ(60a)上のハイパーバイザ「A」(61a)に対する一連のステップからなるタスクを指示された際、ステップの実行場所に制約が無いとき、このステップの実行場所を一時的実行場所に変更して実行を指示し、このステップの実行場所に制約が有るとき、デフォルトのハイパーバイザ「A」(61a)に対して実行を指示する。

Description

仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
 本発明は、仮想サーバに関するリソース管理オペレーションを制御する方法に関する。
 企業向けデータセンタで稼働するIT(Information Technology)システムは、企業のビジネスニーズに柔軟かつ迅速に応える必要がある。
 近年のビジネスニーズの変更や負荷の増大に伴い、ITインフラリソースを動的に増強可能とする利用モデルが登場している。更に、部門別に存在したITインフラリソースをデータセンタに集約させ、データセンタのITインフラリソースを部門に時間貸しする利用モデルが登場している。これらの利用モデルは、クラウドコンピューティング、または、IaaS(Infrastructure as a Service)などと呼ばれている。
 このような利用形態を実現するため、リソース管理ソフトウェアは、データセンタ内のITインフラリソース運用のライフサイクル管理を支援する。リソース管理ソフトウェアは、リソースを調達し、リソースへサーバリソースやネットワークリソース、ストレージリソースなどの計算環境を配備(デプロイ)し、計算環境を制御し、環境が不要になった場合に、これらのリソースの回収を行う。
 例えば、従来のリソース管理ソフトウェアによる配備処理は、以下のような処理である。デプロイ先ハイパーバイザ上の仮想スイッチへ仮想ネットワークを作成する処理と、デプロイ先ハイパーバイザおよびデプロイ先データストアに仮想サーバを配備する処理と、仮想サーバを前記仮想ネットワークに接続する処理と、仮想サーバ起動後に仮想サーバ上で稼働するゲストOSやアプリケーションを個別の環境に合わせてIPアドレスやホスト名などの諸設定を変更するカスタマイズ処理とである。
 データセンタ内では、仮想サーバのデプロイ処理が頻繁に発生しており、特に大規模な管理対象を管理する巨大データセンタでは、一度に多くのリソース変更要求(デプロイ処理や電源制御処理など)が発生する場合がある。
 特許文献1には、ストレージを制御することにより、デプロイの回数を最小限にして、デプロイを高速化する発明が開示されている。
特開2009-230655号公報
 従来技術では、仮想サーバのデプロイ処理などを行う際、管理サーバは、ハイパーバイザ上の仮想サーバ共有リソースを利用する。そのため、管理サーバが、仮想サーバのデプロイ処理などの処理要求を多重に実行すると、ハイパーバイザ上の仮想サーバ共有リソースが枯渇してしまう。これにより、デプロイ処理などの処理要求のスループットを上げることができず、トータルの処理時間が長くなってしまう虞がある。
 そこで、本発明は、仮想サーバに対する多数の処理要求に対して、トータル処理時間を短縮することを課題とする。
 前記課題を解決し、本発明の目的を達成するために、以下のように構成した。
 すなわち、本発明は、管理サーバが、仮想サーバを稼働することができるハイパーバイザに対して行う仮想サーバ処理制御方法であって、前記ハイパーバイザは、いずれかの物理サーバ上で動作され、前記仮想サーバは、いずれかのデータストア上のファイルイメージに基いて稼働され、前記管理サーバは、所定の実行場所に対する一連のステップからなるタスクを指示された際、前記ステップの実行場所を一時的実行場所に変更して実行を指示し、前記一時的実行場所での実行後に、前記一時的実行場所から前記所定の実行場所へと前記仮想サーバを移行させ、前記所定の実行場所にて前記タスクの継続実行を指示することを特徴とする仮想サーバ処理制御方法である。
 その他の手段については、発明を実施するための形態のなかで説明する。
 本発明によれば、仮想サーバに対する多数の処理要求に対して、トータル処理時間を短縮することができる。
第1の実施形態に於ける管理システムの構成を示す図である。 第1の実施形態に於ける管理サーバの論理構成を示す図である。 第1の実施形態に於けるストレージ装置の論理構成を示す図である。 第1の実施形態に於ける管理サーバの物理構成を示す図である。 第1の実施形態に於ける管理システムの構成を示す図である。 第1の実施形態に於ける対応テーブルの例を示す図である。 第1の実施形態に於ける同時実行数テーブルの例を示す図である。 第1の実施形態に於ける構成テーブルの例を示す図である。 第1の実施形態に於ける仮想サーバの構成情報の例を示す図である。 第1の実施形態に於けるデータストアの構成情報の例を示す図である。 第1の実施形態に於けるハイパーバイザの管理テーブルの例を示す図である。 第1の実施形態に於ける時間テーブルの例を示す図である。 第1の実施形態に於ける性能テーブルの例を示す図である。 第1の実施形態に於けるシナリオテーブルの例を示す図である。 第1の実施形態に於ける追加シナリオテーブルの例を示す図である。 第1の実施形態に於けるタスクテーブルの例を示す図である。 第1の実施形態に於けるリソース管理操作を示すフローチャートである。 第1の実施形態に於ける実行場所決定処理を示すフローチャートである。 第1の実施形態に於けるステップ置換処理を示すフローチャートである。 第2の実施形態に於ける追加シナリオテーブルの例を示す図である。
 以降、本発明を実施するための形態を、図を参照して詳細に説明する。
(第1の実施形態の構成)
 図1は、第1の実施形態に於ける管理システムの構成を示す図である。
 管理システムは、管理サーバ10と、物理サーバ60a,60b,60cと、ストレージ装置40と、管理端末70とを備えている。管理サーバ10と、物理サーバ60a,60b,60cと、ストレージ装置40と、管理端末70とは、管理用ネットワーク100を介して相互に接続されている。更に、管理サーバ10と、物理サーバ60a,60b,60cと、ストレージ装置40とは、ストレージ用ネットワーク110を介して相互に接続されている。物理サーバ60a,60b,60cは、業務用ネットワーク120を介して相互に接続されている。なお、当該管理システムは一例であり、物理サーバの数は3台に限定されず、任意の台数を配備してもよい。
 管理サーバ10は、記憶部20と、シナリオ制御部31と、実行場所決定部32と、仮想環境管理部33と、構成情報管理部34と、性能情報管理部35と、ストレージ管理部36とを備えている。管理サーバ10の詳細な論理構造は、後述する図2で説明する。
 ストレージ装置40は、データを格納する外部記憶装置である。ストレージ装置40は、ストレージ制御部41と、例えば、ロジカルユニット50a,50b,50cを備えている。なお、以下の図面ではロジカルユニット50a,50b,50cを、「LU」と記載している場合がある。ロジカルユニット50aは、データストア「A」51aを備えている。ロジカルユニット50bは、データストア「B」51bを備えている。ロジカルユニット50cは、データストア「C」51cを備えている。なお、ロジカルユニットの数は3台に限定されず、任意の台数を配備してもよい。
 ストレージ装置40の詳細な論理構造は、後述する図3で説明する。
 管理端末70は、入出力部71を備えている。入出力部71は、例えば、キーボードとマウスとディスプレイである。管理端末70は、入出力部71によって管理者からの入力を受け付け、管理用ネットワーク100を介して管理サーバ10に入力情報を送信する。更に、管理端末70は、管理サーバ10から管理用ネットワーク100を介して情報を受信し、この入出力部71のディスプレイなどに出力する。
 物理サーバ60a~60cは、物理的な計算機である。物理サーバ60a~60cは、管理サーバ10の管理対象になりうるノードのひとつである。
 物理サーバ60aには、ハイパーバイザ「A」61aが稼働している。このハイパーバイザ「A」61aによって、2台の仮想サーバ64が稼働している。仮想サーバ64には、それぞれゲストOS65がインストールされている。なお、以下の図面では仮想サーバ64を「Svr」と、ゲストOS65を「OS」と記載している場合がある。
 物理サーバ60bには、ハイパーバイザ「B」61bが稼働している。このハイパーバイザ「B」61bによって、1台の仮想サーバ64とコンソール66とが稼働している。なお、以下の図面ではコンソール66を「CON」と記載している場合がある。
 物理サーバ60cには、ハイパーバイザ「C」61cが稼働している。このハイパーバイザ「C」61cによって、1台の仮想サーバ64とコンソール66とが稼働している。
 仮想サーバ64は、計算機を仮想的に再現した計算機環境である。仮想サーバ64は、後述するハイパーバイザ「A」61aなどにより、物理サーバ60aの計算資源を物理的または論理的に分割した環境である。仮想サーバ64は、いわゆるVM(Virtual Machine),PPAR(Physical PARtitioning),LPAR(Logical PARtitioning)とも呼ばれている。仮想サーバ64は、管理サーバ10の管理対象になりうるノードの一つである。
 仮想サーバ64は、それぞれゲストOS65を備えている。ゲストOS65は、一般的なオペレーティングシステムであり、例えば、Windows(登録商標)、Linux(登録商標)、HP-UX(登録商標)、Solalis(登録商標)、VOS3(登録商標)、z/OS(登録商標)などである。ここで、ゲストOS65は、管理サーバ10の管理対象になりうるノードのひとつである。
 ハイパーバイザ「A」61aは、物理サーバ60a上で稼働する仮想化ソフトウェアまたは仮想化機構であって、物理サーバ60aの有するCPU(不図示)や主記憶装置(不図示)などのリソースを物理的または論理的に分割し、例えば、2台の仮想サーバ64を稼働させる。ハイパーバイザ「A」61aは、例えば、VMware vSphere Hypervisor(登録商標)、Hyper-V(登録商標)、Virtage(登録商標)、KVM(登録商標)、XenServer(登録商標)、Oracle VM(登録商標)などである。ハイパーバイザ「B」61b、ハイパーバイザ「C」61cは、ハイパーバイザ「A」61aと同様の構成を有している。ここで、ハイパーバイザ「A」61a~ハイパーバイザ「C」61cは、管理サーバ10の管理対象のひとつである。
 ハイパーバイザ「A」61aには、仮想スイッチ62aが稼働している。ハイパーバイザ「B」61bには、仮想スイッチ62bが稼働している。ハイパーバイザ「C」61cには、仮想スイッチ62cが稼働している。
 仮想スイッチ62aは、ハイパーバイザ「A」61aが仮想的に実現するIPスイッチであり、ポートグループ「A」63aとポートグループ「B」63bとを仮想的に実現している。ポートグループ「A」63aとポートグループ「B」63bとで、VLAN(Virtual Local Area Network)が形成されている。なお、以下の図面ではポートグループを「PG」と記載している場合がある。
 仮想スイッチ62bは、ハイパーバイザ「B」61bが仮想的に実現するIPスイッチであり、ポートグループ「C」63cを仮想的に実現している。ポートグループ「C」63cで、VLAN(Virtual Local Area Network)が形成されている。
 仮想スイッチ62cは、ハイパーバイザ「C」61cが仮想的に実現するIPスイッチであり、ポートグループ「D」63dとポートグループ「E」63eとを仮想的に実現している。ポートグループ「D」63dとポートグループ「E」63eとで、VLAN(Virtual Local Area Network)が形成されている。
 本実施形態では仮想スイッチ62a~62c上に、ポートVLANであるポートグループ「A」63aとポートグループ「B」63bを構成している。しかし、これには限定されず、タグVLANを構成してもよい。
 図1に於いて、ポートグループ「A」63a、ポートグループ「B」63bは、それぞれ2台の仮想サーバ64に接続されている。
 ポートグループ「C」63cは、1台の仮想サーバ64とコンソール66とに接続されている。
 ポートグループ「D」63dは、1台の仮想サーバ64とコンソール66とに接続されている。
 ポートグループ「E」63eは、1台の仮想サーバ64に接続されている。
 コンソール66は、管理端末70に接続されて、ハイパーバイザ「B」61b、ハイパーバイザ「C」61cと、仮想サーバ64とを制御する。
 管理用ネットワーク100は、管理端末70および管理サーバ10が、物理サーバ60a~60cと、ハイパーバイザ「A」61a~ハイパーバイザ「C」61cと、仮想サーバ64とを管理するためのネットワークである(太実線)。これらの装置またはソフトウェアが有する管理インタフェースに接続できるネットワークであれば、いずれのネットワークであってもよい。管理用ネットワーク100は、物理的なLAN(Local Area Network)で構成されていても、VLANで構成されていてもよい。また、管理用ネットワーク100が物理的なLANで構成されている場合には、有線ネットワークであっても、無線ネットワークであってもよい。
 ストレージ用ネットワーク110は、ストレージ装置40内のロジカルユニット50a~50c内のデータを転送するためのネットワークである(細実線)。ストレージ用ネットワーク110は、SAN(Storage Area Network)であってもよく、iSCSI(Internet Small Computer System Interface)のためのIP(Internet Protocol)ネットワークであってもよい。ストレージ用ネットワーク110は、管理用ネットワーク100と物理的に同一なネットワーク上に形成してもよく、管理用ネットワーク100とは物理的に異なるネットワーク上に形成してもよい。
 業務用ネットワーク120は、物理サーバ60a~60c間をつなぐ業務用のネットワークである(破線)。このネットワークは業務システムが利用するネットワークであれば、いずれのネットワークでもよい。すなわち、業務用ネットワーク120は、物理的なLANで構成されていても、VLANで構成されていてもよい。また、業務用ネットワーク120が物理的なLANで構成されている場合には、有線ネットワークであっても、無線ネットワークであってもよい。
 図2は、第1の実施形態に於ける管理サーバの論理構成を示す図である。
 管理サーバ10は、記憶部20と、シナリオ制御部31と、実行場所決定部32と、仮想環境管理部33と、構成情報管理部34と、性能情報管理部35と、ストレージ管理部36とを備えている。
 記憶部20は、管理サーバ10の管理情報を格納している。記憶部20は、対応テーブル21と、同時実行数テーブル22と、構成テーブル23と、管理テーブル24と、時間テーブル25と、性能テーブル26と、シナリオテーブル27と、タスクテーブル28と、仮想サーバテンプレート29とを格納している。なお、シナリオテーブル27は、後記するシナリオテーブル27A(図14)と、追加シナリオテーブル27B(図15)とを含んでいる。
 仮想サーバテンプレート29は、管理サーバ10がライブラリ管理する仮想サーバ64(図1)のテンプレートファイルである。シナリオ制御部31は、この仮想サーバテンプレート29のテンプレートファイルに基き、対象となるハイパーバイザ「A」61a~ハイパーバイザ「C」61c(図1)のいずれかに、仮想サーバ64をデプロイすることができる。仮想サーバテンプレート29は、仮想ディスクイメージファイル29aと、テンプレート定義ファイル29bとを有している。仮想ディスクイメージファイル29aは、仮想サーバ64の備えるディスクに相当するファイルである。
 テンプレート定義ファイル29bは、仮想サーバ64をデプロイしたりクローニングしたりする元となるテンプレート情報を定義したファイルである。仮想サーバテンプレート29は、例えば、OVF(Open Virtualization Format)ファイル、仮想ディスクファイルイメージファイル(VMDK(virtual machine disk)ファイルまたはVHD(Virtual Hard Disk)ファイル)、OVA(open virtual appliance/application)ファイルのいずれであってもよい。
 その他の記憶部20の要素については、後述する図6~図16で詳細に説明する。
 シナリオ制御部31は、シナリオテーブル27に定義されたシナリオ情報に基づいて仮想サーバ64のリソース管理オペレーションを実行する。シナリオ制御部31は、ユーザ要求などに基づいて、シナリオテーブル27を読み込み、シナリオ定義情報を特定した後、実行場所決定部32を介してシナリオの実行場所を決定し、シナリオの内容を変更し、タスクテーブル28にタスクとして登録する。更にシナリオ制御部31は、タスクテーブル28からタスクを取り出し、逐次、このタスクに含まれている各ステップを実行していく。
 実行場所決定部32は、管理サーバ10によるリソース管理オペレーションの実行先を決定する。実行場所決定部32は、同時実行数テーブル22に格納された同時実行数に基づいて、処理時間が最短になるようにステップ毎に実行場所を決定する。しかし、これに限られず、実行場所決定部32は、性能テーブル26に格納された性能情報にもとづいて管理対象が過負荷にならないように実行場所を決定してもよく、本番稼動中の他の仮想サーバ64に悪影響を与えないように実行場所を決定してもよい。
 仮想環境管理部33は、後述するハイパーバイザ「A」61a~ハイパーバイザ「C」61cおよび仮想サーバ64を管理する。管理サーバ10は、仮想環境管理部33の管理インタフェースを介して、ハイパーバイザ「A」61a~ハイパーバイザ「C」61cおよび仮想サーバ64の情報を収集して、これらを操作し、仮想サーバテンプレート29から仮想サーバ64をデプロイする。仮想環境管理部33は、例えば、VMware(登録商標)社のvCenter Server(登録商標)や、Microsoft(登録商標)社のSystemCenter VirtualMachineManger(登録商標)などである。
 構成情報管理部34は、仮想環境管理部33を介して物理サーバ60a~60cおよびその構成要素の構成情報を収集して管理する。構成情報管理部34は、ストレージ管理部36を介して、ストレージ装置40(図1)およびその構成要素の構成情報を収集して管理する。構成情報管理部34が収集した構成情報は、構成テーブル23に格納され、他のコンポーネントの要求に応じて読み出される。
 性能情報管理部35は、仮想環境管理部33を介して、物理サーバ60a~60cおよびその構成要素の性能情報を収集し管理する。性能情報管理部35は、ストレージ管理部36を介して、ストレージ装置40およびその構成要素の性能情報を収集し管理する。性能情報管理部35が収集した性能情報は、性能テーブル26に格納され、他のコンポーネントの要求に応じて読み出される。
 ストレージ管理部36は、ストレージ装置40を管理する。ストレージ管理部36は、ストレージ装置40が備えているロジカルユニット50a~50cまたはストレージ制御部41の構成情報を収集し、ストレージ制御部41を介してロジカルユニット50a~50cを作成し、削除し、更新する。また、ストレージ管理部36は、業務用ネットワーク120のパスの切替えの管理や、ロジカルユニット50a~50cのLU(Logical Unit)セキュリティの設定および管理を行い、ストレージ用ネットワーク110を構成するネットワーク装置(不図示)の構成情報を収集する。
 図3は、第1の実施形態に於けるストレージ装置の論理構成を示す図である。
 ストレージ装置40は、データを格納する外部記憶装置である。ストレージ装置40は、ストレージ制御部41と、例えば、ロジカルユニット50a,50b,50cを備えている。
 ストレージ制御部41は、ストレージ装置40のRAID(Redundant Arrays of Inexpensive Disks)制御や入出力制御を行う。ロジカルユニット50a~50cは、ストレージ装置40が、物理サーバ60a~60cや仮想サーバ64に提供するディスク装置である。ロジカルユニット50aは、データストア「A」51aを備えている。ロジカルユニット50bは、データストア「B」51bを備えている。ロジカルユニット50cは、データストア「C」51cを備えている。
 データストア「A」51aは、仮想サーバ64の仮想ディスクイメージファイル53などを格納するファイルシステムである。データストア「A」51aは、例えば、VMware(登録商標)社のVMFSフォーマットによりフォーマットされたデータストア、Hyper-V(登録商標)環境に於けるNTFSなどでフォーマットされたファイルシステム、KVM(登録商標)環境に於けるextフォーマットされたファイルシステムなどである。
 データストア「A」51aは、後記する仮想サーバ「A」64aのファイルの実体である仮想サーバA実体52と、仮想サーバテンプレート29とを有している。仮想サーバA実体52は、仮想サーバ定義ファイル54と仮想ディスクイメージファイル53の組み合わせである。仮想サーバテンプレート29は、仮想ディスクイメージファイル29aとテンプレート定義ファイル29bの組み合わせである。データストア「B」51b、データストア「C」51cは、データストア「A」51aと同様の構成を有している。
 仮想ディスクイメージファイル53は、仮想サーバ64が備えているディスクに相当するファイルであり、例えば、VMDK(Open Virtualization Format)ファイル、VHD(Virtual Hard Disk)ファイル、IMG(IMaGe)ファイル、ISO(International Organization for Standardization)ファイルなどである。
 仮想サーバ定義ファイル54は、仮想サーバ64のハードウェア構成などを定義したファイルであり、例えば、VMware(登録商標)環境に於けるVMXファイル、Hyper-V(登録商標)環境に於けるXMLファイルなどである。
 仮想サーバ定義ファイル54と仮想ディスクイメージファイル53との組み合わせは、仮想サーバA実体52である。また、テンプレート定義ファイル29bと仮想ディスクイメージファイル29aとの組み合わせは、仮想サーバテンプレート29である。
 新たな仮想サーバ64をデプロイする際には、2つの方法がある。
 第1のデプロイ方法は、管理サーバ10が備えている仮想サーバテンプレート29から管理用ネットワーク100またはストレージ用ネットワーク110を経由して、ハイパーバイザ「A」61aおよびデータストア「A」51aなどに、新たな仮想サーバ64をデプロイする方法である。
 第2のデプロイ方法は、データストア「A」51aなどが格納している仮想サーバテンプレート29(テンプレート定義ファイル29bおよび仮想ディスクイメージファイル53)から、ネットワークを介さずハイパーバイザ「A」61aなどの内部で、新たな仮想サーバ64をデプロイする方法である。
 図4は、第1の実施形態に於ける管理サーバの物理構成を示す図である。
 管理サーバ10は、CPU(Central Processing Unit)12と、主記憶装置11と、ネットワークアダプタ13と、ストレージアダプタ14と、外部記憶媒体15と、共有バス16とを備えている。CPU12と、主記憶装置11と、ネットワークアダプタ13と、ストレージアダプタ14とは、共有バス16を介して接続されている。
 CPU12は、管理サーバ10が備えている各部の制御と、データの演算および加工を行う中央処理装置である。
 主記憶装置11は、データやプログラムを格納する。シナリオ制御部31と、実行場所決定部32と、仮想環境管理部33と、構成情報管理部34と、性能情報管理部35と、ストレージ管理部36とを構成するソフトウェアプログラムは、主記憶装置11上に格納されている。当該ソフトウェアプログラムを、共有バス16を介してCPU12が実行することによって、シナリオ制御部31と、実行場所決定部32と、仮想環境管理部33と、構成情報管理部34と、性能情報管理部35と、ストレージ管理部36とが実現される。
 ネットワークアダプタ13は、管理用ネットワーク100に接続するインタフェースである。ネットワークアダプタ13は、管理用ネットワーク100を介して、外部の装置との間でデータを送受信する。
 ストレージアダプタ14は、ストレージ用ネットワーク110に接続するインタフェースである。ストレージアダプタ14は、ストレージ用ネットワーク110を介して、外部の装置との間でデータを送受信する。
 管理用ネットワーク100は、IPネットワーク、ATM(Asynchronous Transfer Mode)ネットワークのいずれであってもよい。ストレージ用ネットワーク110は、IPネットワーク、ATMネットワーク、ストレージエリアネットワークのいずれであってもよい。
 例えば、ネットワークアダプタ13は、イーサネット(登録商標)アダプタである。ストレージアダプタ14は、ホストバスアダプタである。また、ネットワークアダプタ13とストレージアダプタ14が、Infinibandのホストチャネルアダプタであってもよいし、FCoE(Fibre Channel over Ethernet(登録商標))コンバージドネットワークアダプタであってもよい。
 外部記憶媒体15は、ストレージ装置40上の記憶媒体である。外部記憶媒体15は、ハードディスクドライブ、フラッシュメモリを利用したソリッドステートドライブのいずれであってもよい。外部記憶媒体15は、管理サーバ10の外部に設置され、通信インタフェースによって内部バスに接続されていてもよく、管理サーバ10に内蔵されて内部バスに直結されていてもよい。
 記憶部20は、外部記憶媒体15上に格納された情報であり、主記憶装置11上に読み込まれてCPU12によって処理される。記憶部20の内容は、図2で前記しているため、説明を省略する。
 共有バス16は、CPU12、主記憶装置11、ネットワークアダプタ13、ストレージアダプタ14、外部記憶媒体15などの間でデータを通信する通信路である。
 図5は、第1の実施形態に於ける管理システムの構成を示す図である。
 当該管理システムには、物理サーバ60a~60cと、データストア「A」51a~データストア「C」51cとが、図示しないネットワークを介して接続されている。
 物理サーバ60aには、ハイパーバイザ「A」61aが稼働している。このハイパーバイザ「A」61aによって、仮想サーバ「A」64a~仮想サーバ「E」64eが稼働している。
 物理サーバ60bには、ハイパーバイザ「B」61bが稼働している。このハイパーバイザ「B」61bによって、仮想サーバ「F」64fが稼働している。
 物理サーバ60cには、ハイパーバイザ「C」61cが稼働している。このハイパーバイザ「C」61cによって、仮想サーバ「G」64gが稼働している。
 データストア「A」51aには、仮想サーバ実体52a,52gが格納されている。仮想サーバ実体52a(Svr Entity)は、仮想サーバ「A」64aを稼働しているファイルの実体である。仮想サーバ実体52gは、仮想サーバ「G」64gを稼働しているファイルの実体である。
 データストア「B」51bには、仮想サーバ実体52b~52eが格納されている。仮想サーバ実体52bは、仮想サーバ「B」64bを稼働しているファイルの実体である。仮想サーバ実体52cは、仮想サーバ「C」64cを稼働しているファイルの実体である。仮想サーバ実体52dは、仮想サーバ「D」64dを稼働しているファイルの実体である。仮想サーバ実体52eは、仮想サーバ「E」64eのファイルの実体である。
 データストア「C」51cには、仮想サーバ実体52fが格納されている。仮想サーバ実体52fは、仮想サーバ「F」64fを稼働しているファイルの実体である。
 仮想サーバ実体52a~52gは、いずれも仮想ディスクイメージファイル53(Disk Img)と、仮想サーバ定義ファイル54(Def File)とを有している。
 図6は、第1の実施形態に於ける対応テーブルの例を示す図である。
 対応テーブル21には、ある場所で仮想サーバ64(図1)への操作要求があったときに、一時的実行場所と、本来実行すべき最終的実行場所との対応情報が格納されている。デプロイの場合、対応テーブル21には、一時的にデプロイする実行場所とデプロイ完了時に配置すべき最終的実行場所との対応情報が格納される。ここで「場所」とは、例えば、ハイパーバイザとデータストアとポートグループの組み合わせをいう。しかし、これに限られず、ハイパーバイザとデータストアの組み合わせを「場所」としてもよい。更に、ハイパーバイザとデータストアと、仮想サーバ64のVLAN-ID、ネットワーク装置のポート、仮想サーバ64のIPアドレス、仮想サーバ64のホスト名のいずれかを組み合わせて「場所」としてもよい。
 対応テーブル21は、タスク番号欄21aと、一時構成欄21bと、最終構成欄21cとを備えている。なお、以下の図では、番号のことを「#」と記載している場合がある。
 タスク番号欄21aには、ユーザが要求したタスク情報を一意に識別する情報が格納されている。タスク番号欄21aに同一のタスク番号が格納されているレコードは、同一タスクに関わる対応情報であることを示している。
 一時構成欄21bには、一時的実行場所を構成するインスタンスの識別情報が格納されている。本実施形態では、例えば、一時的に実行する場所を構成するハイパーバイザのインスタンスを識別する「ハイパーバイザG」が格納されている。
 最終構成欄21cには、本来実行すべき最終的実行場所を構成するインスタンスの識別情報が格納されている。本実施形態では、例えば、最終的実行場所を構成するハイパーバイザのインスタンスを識別する「ハイパーバイザA」が格納されている。
 図7は、第1の実施形態に於ける同時実行数テーブルの例を示す図である。
 同時実行数テーブル22の各レコードには、リソースのインスタンス情報をキーとして、当該リソースの現状の同時実行数と、実行可能な最大同時実行数とが格納されている。
 同時実行数テーブル22には、インスタンス欄22aと、オペレーション種別欄22bと、同時実行数欄22cと、最大同時実行数欄22dと、を備えている。
 インスタンス欄22aには、リソースのインスタンス情報を一意に識別するキー情報が格納されている。本実施形態では、ハイパーバイザの識別子、データストアの識別子などが格納されている。
 オペレーション種別欄22bには、ユーザ要求タスクの種別情報が格納されている。本実施形態では、例えば、仮想サーバ64(図5)のデプロイやクローニング(複製)の場合は「プロビジョニング」が格納される。そのほか、仮想サーバ64(図5)の電源オン、電源オフ、リセット、シャットダウン、リブートなどの場合は、「電源制御」が格納される。異なるハイパーバイザに仮想サーバ64(図5)を移動させる場合には、「ライブマイグレーション」が格納される。仮想サーバ64(図5)に対応する仮想ディスクイメージファイル53(図5)を異なるデータストア間で移動させる場合には、「ストレージマイグレーション」が格納される。
 同時実行数欄22cには、当該インスタンスに係り、かつ、オペレーション種別欄22bに格納されたオペレーション種別に属するタスクの現在の同時実行数が格納されている。例えば、ハイパーバイザ「A」61a(図5)およびデータストア「A」51a(図5)へのデプロイタスクが2つ、ハイパーバイザ「A」61a(図5)およびデータストア「B」51b(図5)へのデプロイタスクが2つ実行され、それ以外の処理が実行されていないとき、ハイパーバイザ「A」61a(図5)の同時実行数は4、データストア「A」51a(図5)の同時実行数は2、データストア「B」51b(図5)の同時実行数は2となる。
 この同時実行数欄22cに格納される情報は、性能情報管理部35(図2)が仮想環境管理部33(図2)を介することによって、定期的に更新される。仮想環境管理部33(図2)は、内部的に管理する最大同時実行数を超えないように、タスクの同時実行数を制御する。
 最大同時実行数欄22dには、当該インスタンスに係り、かつ、オペレーション種別欄22bに格納されたオペレーション種別に属するタスクの最大実行可能数が格納されている。例えば、プロビジョニング種別に属するタスクのハイパーバイザ「A」61a(図5)への最大同時実行数が4であれば、他のタスクが実行されていなければ、ハイパーバイザ「A」61a(図5)へのデプロイを最大4つまで実行可能であることを示している。なお、ハイパーバイザ「A」61a(図5)の最大同時実行数が4で、データストア「A」51a(図5)の最大同時実行数が4の場合、ハイパーバイザ「B」61b(図5)およびデータストア「A」51a(図5)へのデプロイが2つ実行されている状況では、ハイパーバイザ「A」61a(図5)およびデータストア「A」51a(図5)へのデプロイは、あと2つまでしか実行できない。
 図8は、第1の実施形態に於ける構成テーブルの例を示す図である。
 構成テーブル23には、管理サーバ10の管理対象の構成情報が格納されている。構成テーブル23は、ハイパーバイザの構成情報を示す構成テーブル23Aと、仮想サーバ64の構成情報を示す構成テーブル23B(図9)と、データストアの構成情報を示す構成テーブル23C(図10)とを備えている。
 構成テーブル23には更に、ハイパーバイザと当該ハイパーバイザ上で稼働する仮想サーバ64(図5)との関係情報と、ハイパーバイザと当該ハイパーバイザ上に構築されたポートグループとの関係情報と、ハイパーバイザと当該ハイパーバイザと接続関係にあるデータストアとの関係情報と、仮想サーバ64と当該仮想サーバ64に対応する仮想サーバ実体52(図5)(仮想ディスクイメージファイル53および仮想サーバ定義ファイル54)を格納するデータストアとの関係情報と、仮想サーバ64(図5)と当該仮想サーバ64と接続関係にあるポートグループとの関係情報とが格納されている。
 構成テーブル23Aは、ハイパーバイザ欄23aと、タスク実行専用フラグ欄23bと、データストア欄23cと、仮想サーバ欄23dと、ポートグループ欄23eとを備えている。
 ハイパーバイザ欄23aには、当該ハイパーバイザを一意に識別する情報が格納されている。
 タスク実行専用フラグ欄23bには、当該ハイパーバイザが、仮想サーバ64に対するリソース管理オペレーションタスクを実行させるための専用ハイパーバイザであるか否かを示すフラグ情報が格納されている。タスク実行専用フラグ欄23bがTrueの場合、当該ハイパーバイザは、リソース管理オペレーションタスク実行専用のハイパーバイザであることを示している。タスク実行専用フラグ欄23bがFalseの場合、当該ハイパーバイザは、リソース管理オペレーションタスク実行専用ではないハイパーバイザであることを示している。シナリオ制御部31は、このタスク実行専用フラグ欄23bでフラグがTrueになっているハイパーバイザを、タスクの一時的実行場所として優先的に選択する。すべてのタスク実行専用フラグ欄23bがFalseの場合には、その他の優先度情報に基いて、いずれかのハイパーバイザを選択する。本実施形態のタスク実行専用フラグ欄23bは、あくまで一例であって、この構成に限定されるものではなく、ハイパーバイザの優先度を決定できる情報であれば、いずれの情報であってもよい。
 データストア欄23cには、当該ハイパーバイザに接続されているデータストアを一意に識別する情報セットが格納されている。本実施形態では、例えば、ハイパーバイザ「A」61aには、データストア「A」51aとデータストア「B」51bとが接続されていることを示している。
 仮想サーバ欄23dには、当該ハイパーバイザ上で稼働する仮想サーバ64を一意に識別する情報セットが格納されている。本実施形態の仮想サーバ欄23dは、ハイパーバイザ「A」61a上で、仮想サーバ「A」64a、仮想サーバ「B」64b、仮想サーバ「C」64c、仮想サーバ「D」64d、仮想サーバ「E」64eが稼働していることを示している。
 ポートグループ欄23eには、当該ハイパーバイザ上に構築されたポートグループを一意に識別する情報セットが格納されている。本実施形態のポートグループ欄23eは、ハイパーバイザ「A」61aには、ポートグループ「A」63aとポートグループ「B」63bとが稼働していることを示している。
 図9は、第1の実施形態に於ける仮想サーバの構成情報の例を示す図である。
 構成テーブル23Bは、仮想サーバ64(図5)の構成情報と当該仮想サーバ64に関連するインスタンスとの関係情報が格納されている。構成テーブル23Bは、仮想サーバ欄23fと、本番稼動フラグ欄23gと、ポートグループ欄23hとを備えている。
 仮想サーバ欄23fには、当該仮想サーバ64(図5)を一意に識別する情報が格納されている。
 本番稼動フラグ欄23gには、当該仮想サーバ64が本番稼動前の管理サーバ10(図1)によるリソース管理オペレーション実行中の状態であるか否かを示すフラグ情報が格納されている。本番稼動フラグ欄23gにTrueが格納されていれば、当該仮想サーバ64は、本番稼動後であることを示している。本番稼動フラグ欄23gにFalseが格納されていれば、当該仮想サーバ64は、本番稼動前の管理サーバ10によるリソース管理オペレーション実行中の状態にあることを示している。リソース管理オペレーション実行中とは、具体的には、仮想サーバデプロイ中、仮想サーバ起動中、再起動中、メンテナンス中のいずれかのことである。本番稼動フラグ欄23gがTrueである仮想サーバ64は、業務サービスが稼働中である。そのため、リソース管理オペレーションの場所は、稼働中の仮想サーバ64の場所を避けて、稼働中の仮想サーバ64による業務サービスに悪影響を与えないようにする必要がある。
 ポートグループ欄23hには、当該仮想サーバ64が接続しているポートグループのリストが格納されている。例えば、仮想サーバ「A」64aは、ポートグループ「A」63aとポートグループ「B」63bとに接続していることを示している。
 図10は、第1の実施形態に於けるデータストアの構成情報の例を示す図である。
 構成テーブル23Cは、データストアの構成情報と当該データストアに関連するインスタンスとの関係情報が格納されている。データストア欄23iがキー情報となり、各レコードに当該データストアに関する構成情報が格納されている。
 構成テーブル23Cは、データストア欄23iと、仮想サーバ欄23jとを備えている。
 データストア欄23iには、当該データストアを一意に識別する情報が格納されている。
 仮想サーバ欄23jには、当該データストア上に格納された仮想サーバ実体52(図5)(仮想ディスクイメージファイル53および仮想サーバ定義ファイル54)に相当する仮想サーバ64(図5)を一意に識別する情報セットが格納されている。例えば、データストア「A」51aには、仮想サーバ「A」64a(図5)に相当する仮想サーバ実体52a(図5)が格納され、更に、仮想サーバ「G」64g(図5)に相当する仮想サーバ実体52g(図5)が格納されていることを示している。
 図11は、第1の実施形態に於けるハイパーバイザの管理テーブルの例を示す図である。
 管理テーブル24は、ハイパーバイザ欄24aと、管理権限欄24bとを備えている。
 ハイパーバイザ欄24aには、当該ハイパーバイザを一意に識別する情報が格納されている。
 管理権限欄24bには、当該ハイパーバイザの管理権限を示す情報が格納されている。
 本実施形態では、ハイパーバイザ「A」61a(図5)は、データストア「A」51a(図5)へのアクセス権限と、データストア「B」51b(図5)へのアクセス権限とを有している。
 ハイパーバイザ「B」61b(図5)は、データストア「C」51c(図5)へのアクセス権限を有している。
 ハイパーバイザ「C」61c(図5)は、データストア「A」51a(図5)へのアクセス権限と、データストア「B」51b(図5)へのアクセス権限と、データストア「C」51c(図5)へのアクセス権限とを有している。
 図12は、第1の実施形態に於ける時間テーブルの例を示す図である。
 時間テーブル25には、仮想サーバ64(図5)に対するリソース管理オペレーションの見積処理時間が格納されている。オペレーション欄25aとインスタンス欄25bがセットでキーとなって、各レコードにリソース管理オペレーションタスクの見積処理時間が格納されている。
 時間テーブル25は、オペレーション欄25aと、インスタンス欄25bと、見積処理時間欄25cとを備えている。
 オペレーション欄25aには、当該リソース管理オペレーションタスクの種別を示す情報が格納されている。
 インスタンス欄25bには、当該リソース管理オペレーションタスクの対象となるインスタンスを一意に識別する情報が格納されている。
 見積処理時間欄25cには、オペレーション欄25aに格納したリソース管理オペレーションタスクを、インスタンス欄25bに格納したインスタンスに対して実行した場合にかかる処理時間の見積もり時間が格納されている。
 本実施形態では、例えば、仮想サーバテンプレート「A」を用いて仮想サーバ64(図5)のデプロイを行う場合、およそ30分の時間を要することを示している。管理サーバ10は、この見積処理時間を目安とし、デプロイ先の負荷状況や、ネットワーク転送路の負荷状況によって、目安とした見積処理時間を調整する。
 図13は、第1の実施形態に於ける性能テーブルの例を示す図である。
 性能テーブル26には、管理サーバ10(図1)の管理対象の備える各インスタンスの性能情報が格納されており、例えば、ハイパーバイザやデータストアの性能情報が格納されている。性能テーブル26の各レコードには、インスタンスごとの性能情報が格納されている。
 性能テーブル26は、時刻欄26aと、インスタンス欄26bと、メトリック欄26cと、メトリック値欄26dとを備えている。
 時刻欄26aには、性能情報管理部35が、当該性能情報を収集した時刻が格納されている。しかし、これに限られず、管理対象が当該性能情報を記録した時刻であってもよい。
 インスタンス欄26bには、当該性能情報の対象となるインスタンス情報を一意に識別する情報が格納されている。
 メトリック欄26cには、当該性能情報の種別の識別情報が格納されている。
 メトリック値欄26dには、インスタンス欄26bで特定されるインスタンスに関するメトリック欄26cで特定されるメトリックの取得値が格納されている。
 本実施形態では、例えば、2011年7月31日10時00分の時刻に、ハイパーバイザ「A」61a(図5)上で稼働する全ての仮想サーバ64のCPU割当て不足量を合計した値が、300MHzであることを示している。
 図14は、第1の実施形態に於けるシナリオテーブルの例を示す図である。
 シナリオテーブル27Aには、管理サーバ10の提供するリソース管理オペレーションのシナリオ定義情報が格納されている。シナリオ定義情報は、複数の細分化されたステップから構成され、各ステップを順次実行することでシナリオが実行される。
 シナリオテーブル27Aは、シナリオ番号欄27aと、種別欄27bと、引数欄27cと、ステップ欄27dと、ネットワーク欄27eとを備えている。
 シナリオ番号欄27aには、シナリオ定義情報を一意に識別する情報が格納されている。
 種別欄27bには、シナリオ定義情報の種別情報が格納されている。
 引数欄27cには、シナリオ定義情報を実行する上での引数定義情報が格納されている。
 ステップ欄27dには、シナリオ定義情報を構成するステップ情報のリストが格納されている。
 ネットワーク欄27eには、ステップ欄27dに格納されているステップが、ネットワークを使用して通信する処理を含むか否かを示すフラグ情報が格納されている。ネットワーク欄27eにTrueと格納されていればネットワークを使用して通信する処理を含むことを示しており、Falseと格納されていればネットワークを使用して通信する処理を含まないことを示している。ここで、Falseが格納されているステップは、ネットワークの構成要件に依存せず、いずれのハイパーバイザ上でも実行できることを示している。
 図15は、第1の実施形態に於ける追加シナリオテーブルの例を示す図である。
 追加シナリオテーブル27Bには、タスクの実行場所を変更するときに、シナリオテーブル27Aに記載されたシナリオに追加するシナリオ定義情報が格納されている。
 追加シナリオテーブル27Bは、種別欄27fと、条件欄27gと、引数欄27hと、ステップ欄27iとを備えている。
 種別欄27fは、種別欄27b(図14)と同様に、シナリオ定義情報の種別情報が格納されている。
 条件欄27gは、シナリオ定義情報を追加する上での条件が格納されている。
 引数欄27hは、引数欄27c(図14)と同様に、シナリオ定義情報を実行する上での引数定義情報が格納されている。
 ステップ欄27iは、ステップ欄27dと同様に、シナリオ定義情報を構成するステップ情報のリストが格納されている。
 図16は、第1の実施形態に於けるタスクテーブルの例を示す図である。
 タスクテーブル28は、実行中のリソース管理オペレーションタスクの一覧とその内容を格納するテーブルである。タスクテーブル28の各レコードには、実行中の各タスクの内容が格納されている。
 タスクテーブル28には、タスク番号欄28aと、シナリオ番号欄28bと、引数欄28cと、ステップ欄28dと、ネットワーク欄28eとを備えている。
 タスク番号欄28aには、実行中のタスクを一意に識別する情報が格納されている。
 シナリオ番号欄28bには、タスクの元となるシナリオ定義情報を一意に識別する情報が格納されている。
 引数欄28cには、シナリオの引数として渡されたインスタンス情報を一意に識別する情報のリストが格納されている。
 ステップ欄28dには、タスクを細分化して実行されるべきステップ処理情報のリストが格納されている。タスクを実行する場合には、タスク処理情報のリストを順次実行していく。
(第1の実施形態の動作)
 図17は、第1の実施形態に於けるリソース管理操作を示すフローチャートである。
 処理を開始すると、処理S10に於いて、管理サーバ10のシナリオ制御部31は、リソース管理オペレーション実行要求に基き、シナリオAと最終的実行場所とを特定する。当該リソース管理オペレーション実行要求は、管理端末70または処理プログラムからの要求である。最終的実行場所は、当該リソース管理オペレーション要求の完了時に於ける実行場所であり、例えば、ハイパーバイザ「A」61a、データストア「A」51a、ポートグループ「A」63a、ポートグループ「B」63b(図5)の組み合わせである。
 具体的には、リソース管理オペレーション要求が、テンプレートAを用いて、ハイパーバイザ「A」61aとデータストア「A」51aに、仮想サーバ「A」64aをデプロイする要求であるとする。このとき、仮想サーバ「A」64aのデプロイというシナリオを特定し、デプロイ完了時に、ハイパーバイザ「A」61aとデータストア「A」51aの上で、仮想サーバ「A」64aを稼働させておく必要があると特定する。また、デプロイした仮想サーバ「A」64aを、ハイパーバイザ「A」61a上のポートグループ「A」63aとポートグループ「B」63bとに接続するとユーザが指定していれば、接続先ポートグループとして、ポートグループ「A」63aとポートグループ「B」63bとを特定する。管理サーバ10のシナリオ制御部31は、シナリオテーブル27Aを検索し、種別欄27bに「デプロイ」が格納されているレコードを特定し、そのレコードのシナリオ番号欄27aに格納されているシナリオ番号を特定する。
 処理S11に於いて、管理サーバ10のシナリオ制御部31は、シナリオAに最終的実行場所を適用したタスクAを生成し、タスクテーブル28に登録する。
 具体的には、タスクテーブル28に新たなエントリを追加する。当該新たなエントリのタスク番号欄28aには、一意に識別可能な新たに生成したタスク番号が格納される。例えば、タスク「3」が格納されているシナリオ番号欄28bには、処理S10で特定したシナリオ番号が、シナリオ「1」として格納される。
 当該新たなエントリの引数欄28cには、リソース管理オペレーションで特定した「テンプレートA、ハイパーバイザA、データストアA、ポートグループA,B」の情報を格納する。
 当該新たなエントリのステップ欄28dには、シナリオテーブル27Aのシナリオ番号欄27aに基き、その実行場所を具体化した内容が格納される。具体的には、管理サーバ10のシナリオ制御部31は、シナリオテーブル27Aのシナリオ番号欄27aを、処理S10で特定したシナリオ番号で検索して特定する。その特定したレコードのステップ欄27dを、引数欄28cに実行場所を代入することによって、その実行場所が具体化される。例えば、当該新たなエントリの引数欄28cには、実行場所として以下が代入される。
  ハイパーバイザx = ハイパーバイザA
  データストアx  = データストアA
  ポートグループx = ポートグループA,B
 当該新たなエントリの引数欄28cに最終的実行場所の値を代入して具体化した内容は、以下の一連のステップとなる。但し、これは作成中の一連のステップであり、管理サーバ10のシナリオ制御部31によって実行されるステップではない。
  「1:ハイパーバイザAにポートグループA,B作成」
  「2:ハイパーバイザA、データストアAにテンプレートAから仮想サーバ作成」
  「3:ハイパーバイザAは、作成した仮想サーバをポートグループA,Bに接続」
  「4:ハイパーバイザAは、作成した仮想サーバのゲストOSをカスタマイズ」
  「5:ハイパーバイザAは、作成した仮想サーバのアプリケーションカスタマイズ」
  「6:ハイパーバイザAは、作成した仮想サーバの疎通確認」
 更に、管理サーバ10のシナリオ制御部31は、当該新たなエントリのネットワーク欄27eの内容をネットワーク欄28eに格納する。
 処理S12に於いて、管理サーバ10のシナリオ制御部31は、シナリオAの各ステップを別の場所で実行可能か判定し、代替でステップを実行するタスクの一時的実行場所を決定する実行場所決定処理を行う。タスクの一時的実行場所は、例えば、ハイパーバイザ「C」61c、データストア「A」51a、ポートグループ「D」63d、ポートグループ「E」63e(図5)の組み合わせである。この実行場所決定処理については、後述する図18に於いて詳細に説明する。
 管理サーバ10のシナリオ制御部31は、シナリオAを最終的実行場所では、すぐに実行できないことを検出すると、すぐに処理できる一時的実行場所が存在するか否かを判定する。すぐに処理できる一時的実行場所が存在すると判定したならば、管理サーバ10のシナリオ制御部31は、当該一時的実行場所で処理することを決定する。
 具体的には、管理サーバ10のシナリオ制御部31は、まず、同時実行数テーブル22を参照し、ハイパーバイザ「A」61aとデータストア「A」51aの同時実行数欄22cと最大同時実行数欄22dの値を参照する。本実施形態では、ハイパーバイザ「A」61aのプロビジョニング処理(プロビジョニング処理にはデプロイ処理が含まれている)の同時実行数が最大同時実行数に達している。そのため、管理サーバ10のシナリオ制御部31は、ハイパーバイザ「A」61aが当該タスクをすぐには実行せず、キューイングする、と判定する。管理サーバ10のシナリオ制御部31は、キューイング待ちによる当該タスクの遅延を回避するため、すぐに処理できる一時的実行場所が存在するか否かを判定する。すぐに処理できる一時的実行場所が存在すると判定したならば、管理サーバ10のシナリオ制御部31は、一時的実行場所で実行することを決定する。
 次に、管理サーバ10のシナリオ制御部31は、当該一時的実行場所を、ハイパーバイザ「C」61c、データストア「A」51a、ポートグループ「D」63d、ポートグループ「E」63e(図5)の組み合わせと特定する。管理サーバ10のシナリオ制御部31は、処理S11で具体化したステップのうち、ネットワーク欄28eがFalseになっているステップを、当該一時的実行場所で実行することを決定し、ネットワーク欄28eがTrueになっているステップを、最終的実行場所で実行することを決定する。
 処理S13に於いて、管理サーバ10のシナリオ制御部31は、最終的実行場所と一時的実行場所との対応情報を、対応テーブル21に追加する。具体的には、管理サーバ10のシナリオ制御部31は、対応テーブル21に新たなエントリを追加し、タスク番号欄28aに生成したタスク番号を格納する。管理サーバ10のシナリオ制御部31は更に、一時構成欄21bに一時的実行場所を一意に識別する情報を格納し、最終構成欄21cに最終的実行場所を一意に識別する情報を格納する。
 例えば、管理サーバ10のシナリオ制御部31は、対応テーブル21に、以下に示す第1のエントリ~第4のエントリを追加する。
 第1のエントリは、タスク番号欄21aに「タスク3」が格納され、一時構成欄21bに「ハイパーバイザC」が格納され、最終構成欄21cに「ハイパーバイザA」が格納されている。
 第2のエントリは、タスク番号欄21aに「タスク3」が格納され、一時構成欄21bに「ポートグループD」が格納され、最終構成欄21cに「ポートグループA」が格納されている。
 第3のエントリは、タスク番号欄21aに「タスク3」が格納され、一時構成欄21bに「ポートグループE」が格納され、最終構成欄21cに「ポートグループB」が格納されている。
 第4のエントリは、タスク番号欄21aに「タスク3」が格納され、一時構成欄21bに「データストアA」が格納され、最終構成欄21cに「データストアA」が格納されている。
 この対応テーブル21では、一時的実行場所は、ハイパーバイザC、ポートグループD、ポートグループE、データストアA(図5)の組み合わせであることを示している。更に、最終的実行場所は、ハイパーバイザA、ポートグループA、ポートグループB、データストアA(図5)の組み合わせであることを示している。
 処理S14に於いて、管理サーバ10のシナリオ制御部31は、最終的実行場所と一時的実行場所とが同じであるか否かを判定し、タスクAの各ステップの置換処理が必要かを判断する。管理サーバ10のシナリオ制御部31は、最終的実行場所と一時的実行場所とが同じであると判定したならば(Yes)、処理S16を行い、最終的実行場所と一時的実行場所とが同じでないと判定したならば(No)、処理S15を行う。
 処理S15に於いて、管理サーバ10のシナリオ制御部31は、対応テーブル21に従って、タスクAのステップ置換処理を行う。このステップ置換処理は、後述する図19で詳細に説明する。
 具体的には、管理サーバ10のシナリオ制御部31は、ネットワーク欄28eにFalseが格納されているならば、引数欄28cの値を、最終的実行場所から一時的実行場所に置換して格納する。
 当該新たなエントリのネットワーク欄28eがFalseになっており、一時的実行場所に置換して格納されたステップを、以下に示す。但し、これは作成中の一連のステップであり、管理サーバ10のシナリオ制御部31によって実行されるステップではない。
  「1:ハイパーバイザCにポートグループD,E作成」
  「2:ハイパーバイザC、データストアAにテンプレートAから仮想サーバ作成」
  「3:ハイパーバイザCは、作成した仮想サーバをポートグループD,Eに接続」
  「4:ハイパーバイザCは、作成した仮想サーバのゲストOSをカスタマイズ」
 当該新たなエントリのネットワーク欄28eがTrueになっているステップを以下に示す。
  「5:ハイパーバイザAは、作成した仮想サーバのアプリケーションカスタマイズ」
  「6:ハイパーバイザAは、作成した仮想サーバの疎通確認」
 置換の結果、「直前ステップ」と「現在ステップ」とで実行場所が相違するならば、管理サーバ10のシナリオ制御部31は、それら「現在ステップ」の前に、実行場所を変更するステップを追加する。ここで、実行場所を変更するステップとは、仮想サーバ64をライブマイグレーションするステップ、または、仮想サーバ64をストレージマイグレーションするステップなどである。
 管理サーバ10のシナリオ制御部31は、実行場所を変更するステップを追加した結果、付随して必要なステップがある場合は、その付随して必要なステップを追加する。ここで、付随して必要なステップとは、例えば仮想サーバ64とポートグループの接続を切り替えるステップである。本実施形態に於いて、管理サーバ10のシナリオ制御部31は、実行場所を変更するステップ、および、付随して必要なステップを、対応テーブル21と追加シナリオテーブル27Bを参照して決定する。
 本実施形態では、最終的実行場所であるデータストアpにはデータストアAが代入され、一次的実行場所であるデータストアqにもデータストアAが代入される。すなわち、条件「データストアp=データストアq」が成立するので、管理サーバ10のシナリオ制御部31は、追加シナリオテーブル27Cのうち、条件欄27gに「データストアp=データストアq」と記載されている各ステップを選択し、引数を代入したのち、タスクテーブル28のステップ欄28dに挿入する。このとき、管理サーバ10のシナリオ制御部31は、「直前ステップ」とは実行場所が相違するステップの前に挿入する。この時点でのステップ欄28dの値は以下となる。以下の一連のステップは、管理サーバ10のシナリオ制御部31によって、後記する処理S16に於いて実行される。
  「1:ハイパーバイザCにポートグループD,E作成」
  「2:ハイパーバイザC、データストアAにテンプレートAから仮想サーバ作成」
  「3:ハイパーバイザCは、作成した仮想サーバをポートグループD,Eに接続」
  「4:ハイパーバイザCは、作成した仮想サーバのゲストOSをカスタマイズ」
  「5:ハイパーバイザAにポートグループA,B作成」
  「6:ハイパーバイザBに作成した仮想サーバをハイパーバイザAにライブマイグレーション」
  「7:作成した仮想サーバをポートグループA,Bに接続」
  「8:ハイパーバイザAは、作成した仮想サーバのアプリケーションカスタマイズ」
  「9:ハイパーバイザAは、作成した仮想サーバの疎通確認」
 「直前ステップ」と実行場所が相違するステップとは、上記「ステップ4」である。実行場所を変更するステップとは、上記「ステップ5,6」である。付随して必要なステップとは、上記「ステップ7」である。
 処理S16に於いて、管理サーバ10のシナリオ制御部31は、タスクAを実行する。管理サーバ10のシナリオ制御部31は、タスクテーブル28のタスク番号欄28aを検索し、タスクAに相当するレコードを特定し、そのレコードのステップ欄28dに格納されているステップを順次実行していく。
 処理S17に於いて、管理サーバ10のシナリオ制御部31は、対応テーブル21中のタスクAに関するエントリを削除する。管理サーバ10のシナリオ制御部31は、具体的には、対応テーブル21のタスク番号欄21aを検索し、タスクAに相当するレコードを特定し、対応テーブル21から特定したレコードを削除する。特定したレコードが複数ある場合は、全て削除する。
 処理S18に於いて、管理サーバ10のシナリオ制御部31は、タスクテーブル28中のタスクAに関するエントリを削除する。管理サーバ10のシナリオ制御部31は、具体的には、タスクテーブル28のタスク番号欄28aを検索し、タスクAに相当するレコードを特定し、タスクテーブル28から特定したレコードを削除する。処理S18が終了すると、図17全体の処理を終了する。
 これらの処理により、最終的実行場所で、直接にリソース管理オペレーションを実行できない場合には、一時的実行場所でリソース管理オペレーションを実行し、最終的実行場所に戻している。これにより、リソース管理オペレーションの時間を短縮できる。一時的実行場所で実行するステップが長時間を要し、一時的実行場所から最終的実行場所への変更が短時間で済む場合には、特に有効である。
 また、一時的実行場所で実行するステップに実行場所の制約がない場合、リソース管理オペレーションタスクを最終的実行場所で実行させる必要がなくなる。このとき、一時的実行場所の選択肢が多ければ多いほどリソース管理オペレーションのキューイングによる待ち時間が少なくなる。
 図18は、第1の実施形態に於ける実行場所決定処理を示すフローチャートである。
 前述した全体フロー(図17)のうち、処理S12を詳細化したフローに相当し、シナリオ制御部31が実行場所決定部32を介して一時的実行場所を決定する処理に相当する。
 処理を開始すると、処理S20に於いて、管理サーバ10の実行場所決定部32は、デフォルトの最終的実行場所を特定する。本実施形態に於いて、最終的実行場所は、ハイパーバイザ「A」61a、データストア「A」51aである。
 処理S21に於いて、管理サーバ10の実行場所決定部32は、構成テーブル23Aのタスク実行専用フラグ欄23bを参照して、タスクの専用実行場所があるか否かを判定する。タスクの専用実行場所があると判定した場合(Yes)、処理S22を行い、タスクの専用実行場所がないと判定した場合(No)、処理S23を行う。
 処理S22に於いて、管理サーバ10の実行場所決定部32は、当該タスクの専用実行場所を、当該タスクの一時的実行場所として決定し、図18全体の処理を終了する。
 これにより、タスクの専用実行場所(デプロイの場合は、デプロイ専用ハイパーバイザ)があれば、その専用実行場所で処理を実行させることができるので、他の本番稼動している仮想サーバ64のリソース割当てを圧迫することがない。これにより、他の本番稼動している仮想サーバ64の性能の劣化を抑止することができる。更に、専用の高性能な実行場所(ハイパーバイザまたはデータストア)を一時的実行場所として設定しておくことにより、当該タスクに係るリソース管理オペレーションを、更に高速化させることもできる。
 処理S23に於いて、管理サーバ10の実行場所決定部32は、構成テーブル23A,23B,23Cに基き、取り得る実行場所の候補を列挙する。
 処理S24に於いて、管理サーバ10の実行場所決定部32は、管理テーブル24と物理接続テーブル(不図示)に基き、処理S23で列挙した候補の実行場所から、現状の構成に移行可能なものに絞り込む。
 処理S25に於いて、管理サーバ10の実行場所決定部32は更に、完了時の実行場所に移行可能な実行場所の候補に絞り込む。
 処理S26に於いて、管理サーバ10の実行場所決定部32は、処理S25で絞り込んだ実行場所の候補のそれぞれについて、時間テーブル25と性能テーブル26に基き、同時実行数と処理負荷の情報から、推定処理時間を予測する。
 処理S27に於いて、管理サーバ10の実行場所決定部32は、実行場所の候補を処理S26で算出した推定処理時間の短い順にソートし、最も処理時間の短い候補を、当該タスクの一時的実行場所として決定する。処理S27が終了すると、管理サーバ10の実行場所決定部32は、図18全体の処理を終了する。
 処理S27に於いて、管理サーバ10の実行場所決定部32は、最も処理時間が短い候補に決定している。しかし、これに限られず、管理サーバ10の実行場所決定部32は、他の指標で実行場所を決定してもよい。例えば、管理サーバ10の実行場所決定部32は、実行場所をなるべく分散させるよう、各ハイパーバーザまたは各データストアの同時実行数を平準化するような実行場所に決定してもよい。これにより、各ハイパーバイザまたは各データストアの同時実行数が平準化され、タスクのキューイングによる処理の遅延を防ぎ、全体としての処理時間を短縮することができる。
 更に、管理サーバ10の実行場所決定部32は、各ハイパーバーザまたは各データストアの性能情報から各実行場所の負荷を推定し、負荷が平準化するような実行場所に決定してもよい。これにより、管理サーバ10の実行場所決定部32は、各ハイパーバイザが動作している物理サーバのCPU負荷、または各データストアのネットワークI/O負荷またはディスクI/O負荷を平準化することができる。
 本番稼動フラグ欄23gに基き、本番稼動している仮想サーバ64を避けた実行場所に決定してもよい。本番稼動する仮想サーバ64を避けた実行場所を選択することによって、当該本番稼動する仮想サーバ64に悪影響を与えずに、新たな仮想サーバ64のデプロイなどのリソース管理オペレーションを実行することができる。
 更に、複数のユーザが同居しているマルチテナント環境で実行する場合には、同じテナント内のハイパーバイザだけでなく、他のテナントの空きハイパーバイザを選択させることもできる。これにより、データセンタ全体の遊休資産を有効に活用し、よってリソース利用効率を高めることができる。
 図19は、第1の実施形態に於けるステップ置換処理を示すフローチャートである。いずれも管理サーバ10のシナリオ制御部31が行う。
 前述した全体フロー(図17)のうち、処理S15を詳細化したフローに相当し、シナリオ制御部31が、対応テーブルに従って、タスクのステップ置換処理を実行する処理に相当する。
 処理を開始すると、管理サーバ10のシナリオ制御部31は、処理S30~S40に於いて、タスクテーブル28に追加された全てのステップについて順番に処理を繰り返す。なお、処理中のステップを以下、「当該ステップ」といい、変数「現在ステップ」と変数「直前ステップ」とを比較しながら、タスクのステップ置換処理(図19)を行う。なお、処理の開始時には、「直前ステップ」には何も設定されておらず、すなわちNULLが設定されているものとする。
 処理S31に於いて、管理サーバ10のシナリオ制御部31は、「当該ステップ」を「現在ステップ」とする。
 処理S32に於いて、管理サーバ10のシナリオ制御部31は、「直前ステップ」がNULLであるか否かを判定する。管理サーバ10のシナリオ制御部31は、「直前ステップ」がNULLであるならば(Yes)、処理S33を行い、「直前ステップ」がNULLでないならば(No)、処理S34を行う。
 処理S33に於いて、管理サーバ10のシナリオ制御部31は、「現在ステップ」を、「直前ステップ」に代入する。
 処理S34に於いて、管理サーバ10のシナリオ制御部31は、「当該ステップ」に実行場所の制約が有るか否かを判定する。管理サーバ10のシナリオ制御部31は、「当該ステップ」に実行場所の制約が有ると判定したならば(Yes)、処理S36を行い、「当該ステップ」に実行場所の制約が無いと判定したならば(No)、処理S35を行う。具体的には、管理サーバ10のシナリオ制御部31は、ネットワーク欄28eに「False」と格納されている場合に実行場所に制約がないと判定し、「True」と格納されている場合に実行場所に制約があると判定する。これにより、管理サーバ10のシナリオ制御部31は、管理用ネットワーク100を介してSSH(Secure Shell)やWMI(Windows Management Instrumentation)を用いてゲストOS65に接続し、アプリケーションの設定項目を環境特有の値に設定する場合に、管理サーバ10とネットワーク通信可能な場所に移動してから行うことができる。また、管理サーバ10のシナリオ制御部31は、対象とする仮想サーバ64上で稼働するアプリケーションサーバと、他の既にデプロイ済の仮想サーバ64上で稼働するデータベース管理システム(DBMS)の設定とを合わせたのち、同じ業務用ネットワーク120に属させたうえで、疎通確認を行うことができる。
 逆に、管理サーバ10のシナリオ制御部31は、シナリオテーブル27A(図14)に於ける、その前のステップである「ハイパーバイザおよびデータストアに仮想サーバテンプレートから仮想サーバを作成するステップ」(図14)は、管理サーバ10とハイパーバイザ(またはコンソール66)との間での通信が確立されていれば実行可能であり、実行場所に制約が無い。管理サーバ10のシナリオ制御部31は、例えば、仮想サーバテンプレート29から仮想サーバ64を作成するステップやゲストOS65をカスタマイズするステップに代表されるようなCPU負荷、ネットワークI/O負荷、ディスクI/O負荷の高い処理を、他のリソースの空いているハイパーバイザやデータストア上にオフロードして実行させたのち、仮想サーバ64の稼働場所を目的の実行場所に移動させ、疎通確認などに代表される実行場所の制約がある処理を行わせることができる。このような順番で処理を行うことにより、管理サーバ10のシナリオ制御部31は、本番稼動している他の仮想サーバ64のリソースを無駄に奪うことなく、よって性能の劣化を防ぐという効果がある。
 また、管理サーバ10のシナリオ制御部31が多数のデプロイ要求などのリソース管理オペレーションタスクを実行したとき、ハイパーバイザやデータストアの同時実行数制約により、タスクがキューイングされて処理が遅延することを防き、全体としての処理時間を短縮することができる。
 処理S35に於いて、管理サーバ10のシナリオ制御部31は、「現在ステップ」の最終的実行場所を一時的実行場所に置換する。
 処理S36に於いて、管理サーバ10のシナリオ制御部31は、「現在ステップ」の実行場所と「直前ステップ」の実行場所とが相違するか否かを判定する。管理サーバ10のシナリオ制御部31は、「現在ステップ」の実行場所と「直前ステップ」の実行場所とが相違するならば(Yes)、処理S37を行い、「現在ステップ」の実行場所と「直前ステップ」の実行場所とが相違しないならば(No)、処理S39を行う。
 処理S37に於いて、管理サーバ10のシナリオ制御部31は、追加シナリオテーブル27Bを参照して、実行場所を変更するステップを追加する。
 処理S38に於いて、管理サーバ10のシナリオ制御部31は、追加シナリオテーブル27Bを参照して、実行場所の変更に付随して必要なステップを「現在ステップ」の直前に追加する。
 処理S39に於いて、管理サーバ10のシナリオ制御部31は、「現在ステップ」を、「直前ステップ」とする。
 処理S40に於いて、管理サーバ10のシナリオ制御部31は、タスクテーブル28に追加された全てのステップについて処理を行ったか否かを判断する。管理サーバ10のシナリオ制御部31は、タスクテーブル28に追加された全てのステップについて処理を行っていないならば、処理S30に戻り、タスクテーブル28に追加された全てのステップについて処理を行っていたならば、図19全体の処理を終了する。
 管理サーバ10は、所定の実行場所に対する一連のステップからなるタスクを指示された際、処理S35により、ステップの実行場所を一時的実行場所に変更して実行を指示し、処理S37により、一時的実行場所での実行後に、一時的実行場所から所定の実行場所へと仮想サーバを移行させ、所定の実行場所にて前記タスクの継続実行を指示することができる。
(第1の実施形態の効果)
 以上説明した第1の実施形態では、次の(A)~(E)のような効果がある。
(A) 多数の仮想サーバに対するデプロイ(プロビジョニング)、電源制御、ライブマイグレーション、ストレージマイグレーションなどの処理要求に対して、トータル処理時間を短縮することができる。
(B) 専用の高性能な物理サーバや、高性能なストレージ装置に、上記処理要求を行わせることによって、上記処理要求を更に短時間で処理することができる。
(C) データセンタ内の遊休リソースを活用して、上記処理要求を行わせることができる。よって、遊休リソースを有効活用することができる。
(D) CPU負荷、ネットワークI/O負荷、ディスクI/O負荷の高い処理を、他のリソースの空いているハイパーバイザやデータストア上にオフロードして実行させたのち、仮想サーバの稼働場所を目的の実行場所に移動させ、疎通確認などに代表される実行場所の制約がある処理を行わせることができる。このような順番で処理を行うことにより、本番稼動している他の仮想サーバのリソースを無駄に奪うことなく、よって、性能の劣化を防ぐことができる。
(E) 多数のデプロイ要求などのリソース管理オペレーションタスクを実行したときに、ハイパーバイザやデータストアの同時実行数制約により、タスクがキューイングされて処理が遅延することを防き、全体としての処理時間を短縮することができる。
(第2の実施形態の構成)
 図20は、第2の実施形態に於ける追加シナリオテーブルの例を示す図である。図15に示す第1の実施形態の追加シナリオテーブル27Bと同一の要素には同一の符号を付与している。
 第2の実施形態の追加シナリオテーブル27Cは、第1の実施形態の追加シナリオテーブル27Bと同一の欄を有している。
 第2の実施形態の追加シナリオテーブル27Cは、条件欄27gの「データストアp=データストアq」のときのステップ欄27iが、第1の実施形態の追加シナリオテーブル27Bのステップ欄27iとは異なり、以下の一連のステップが格納されている。
  「ハイパーバイザpにポートグループpを作成」
  「ハイパーバイザp、データストアpにテンプレートpから第2の仮想サーバ作成」
  「第2の仮想サーバのディスクファイルに替えて、作成した仮想サーバのディスクイメージファイルを繋ぎ替え」
(第2の実施形態の動作)
 第2の実施形態の管理サーバ10のシナリオ制御部31は、一時的実行場所のデータストアと最終的実行場所のデータストアとが異なるとき、作成した仮想サーバ64を最終的実行場所のポートグループpに接続する代わりに、作成した仮想サーバ64のディスクイメージファイルを繋ぎ替えている。これにより、管理サーバ10のシナリオ制御部31がポートグループpを接続しなおさなくても、作成した仮想サーバ64を利用可能である。
(第2の実施形態の効果)
 以上説明した第2の実施形態では、次の(F)のような効果がある。
(F) 管理サーバ10のシナリオ制御部31は、作成した仮想サーバ64のディスクイメージファイルを繋ぎ替えている。これにより、ポートグループpを接続しなおさなくても、作成した仮想サーバ64を利用することができる。
(変形例)
 本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で、変更実施が可能である。この利用形態や変形例としては、例えば、次の(a)~(b)のようなものがある。
(a) 第1の実施形態では、あらかじめユーザによってシナリオの実行場所を指定する実施形態としている。しかし、これには限定されず、システムがまず決めた実行場所であってもよい。また、ユーザによる指定またはシステムがまず決めた実行場所の指定が、複数の実行場所を含むグループ指定であってもよい。この場合、シナリオ制御部31が、各実行場所の同時実行数や性能状況を勘案して、そのグループの中から処理時間を最短にする、または他の仮想サーバ64に悪影響を与えない実行場所を選択して、シナリオを実行する。
(b) 第1の実施形態では、同一のデータストアAを実行場所としている。しかし、これには限定されず、異なるデータストアであってもよい。これにより、データストアに係るネットワークI/O負荷およびディスクI/O負荷を分散させて、同一のデータストア上で本番稼働している仮想サーバ64への影響を抑止することができる。
10 管理サーバ
11 主記憶装置
12 CPU
13 ネットワークアダプタ
14 ストレージアダプタ
15 外部記憶媒体
20 記憶部
21 対応テーブル
22 同時実行数テーブル
23 構成テーブル
24 管理テーブル
25 時間テーブル
26 性能テーブル
27A シナリオテーブル
27B,27C 追加シナリオテーブル
28 タスクテーブル
29 仮想サーバテンプレート
31 シナリオ制御部
32 実行場所決定部
33 仮想環境管理部
34 構成情報管理部
35 性能情報管理部
36 ストレージ管理部
40 ストレージ装置
41 ストレージ制御部
50a~50c ロジカルユニット
51a~51c データストア
52,52a~52g 仮想サーバ実体
53 仮想ディスクイメージファイル
54 仮想サーバ定義ファイル
60a~60c 物理サーバ
61a~61c ハイパーバイザ
62a~62c 仮想スイッチ
63a~63e ポートグループ
64a~64g 仮想サーバ
65 ゲストOS
66a~66b コンソール
70 管理端末
71 入出力部
100 管理用ネットワーク
110 ストレージ用ネットワーク
120 業務用ネットワーク

Claims (15)

  1.  管理サーバが、仮想サーバを稼働することができるハイパーバイザに対して行う仮想サーバ処理制御方法であって、
     前記ハイパーバイザは、いずれかの物理サーバ上で動作され、
     前記仮想サーバは、いずれかのデータストア上のファイルイメージに基いて稼働され、
     前記管理サーバは、
     所定の実行場所に対する一連のステップからなるタスクを指示された際、
     前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記一時的実行場所での実行後に、前記一時的実行場所から前記所定の実行場所へと前記仮想サーバを移行させ、前記所定の実行場所にて前記タスクの継続実行を指示する、
     ことを特徴とする仮想サーバ処理制御方法。
  2.  前記管理サーバは、
     前記ステップの実行場所に制約が無いとき、前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記ステップの実行場所に制約が有るとき、前記所定の実行場所を構成するハイパーバイザに対して実行を指示する、
     ことを特徴とする請求の範囲第1項に記載の仮想サーバ処理制御方法。
  3.  前記ステップの実行場所とは、いずれかのハイパーバイザの場所、いずれかのデータストアの場所、または、いずれかのハイパーバイザといずれかのデータストアとの組み合わせの場所のいずれかである、
     ことを特徴とする請求の範囲第1項に記載の仮想サーバ処理制御方法。
  4.  前記管理サーバは、
     前記ステップの実行場所に制約が無く、かつ、前記所定の実行場所を構成するハイパーバイザの負荷または同時実行数が所定閾値を超過したことを検出したとき、前記ステップの実行場所を前記一時的実行場所に変更して、前記一時的実行場所を構成するハイパーバイザに前記ステップの実行を指示し、
     前記ステップの実行場所に制約が有り、または、前記所定の実行場所を構成するハイパーバイザの負荷または同時実行数が所定閾値を超えていないことを検出したとき、前記所定の実行場所を構成するハイパーバイザに前記ステップの実行を指示する、
     ことを特徴とする請求の範囲第3項に記載の仮想サーバ処理制御方法。
  5.  前記管理サーバは、
     予め既定されたハイパーバイザ、負荷またはタスクの同時実行数が所定閾値以下であるハイパーバイザによって、前記一時的実行場所を構成する、
     ことを特徴とする請求の範囲第4項に記載の仮想サーバ処理制御方法。
  6.  前記タスクは、
     所定のデータストア上で稼働する仮想サーバを、当該所定のデータストアとは異なるデータストア上に移動するタスク、
     前記所定の実行場所を構成するハイパーバイザ上で稼働する仮想サーバを、前記所定の実行場所を構成するハイパーバイザとは異なるハイパーバイザ上に移動するタスク、
     仮想サーバのパワーオン、パワーオフ、または、シャットダウンを管理するタスク、
     仮想サーバをデプロイするタスク、のいずれかを含んでいる、
     ことを特徴とする請求の範囲第5項に記載の仮想サーバ処理制御方法。
  7.  前記管理サーバは、
     前記タスクに於いて、直前のステップの実行場所と、今回のステップの実行場所とが異なるとき、
     直前のステップの処理結果を移動するステップの実行と、処理結果の移動に付随するステップの実行とを指示したのち、今回のステップの実行を指示する、
     ことを特徴とする請求の範囲第6項に記載の仮想サーバ処理制御方法。
  8.  前記タスクは、前記所定の実行場所を構成するハイパーバイザ上で稼働する所定の仮想サーバを作成するものであり、
     直前のステップの処理結果を移動するステップは、作成した当該所定の仮想サーバを前記所定の実行場所に移動する処理を含んでおり、
     処理結果の移動に付随するステップは、作成した前記所定の仮想サーバを前記所定の実行場所を構成するハイパーバイザの所定のポートグループに接続する処理を含んでいる、
     ことを特徴とする請求の範囲第7項に記載の仮想サーバ処理制御方法。
  9.  前記管理サーバは、前記ステップの実行場所を前記一時的実行場所に変更して実行を指示した際、前記所定の実行場所を構成するハイパーバイザと前記一時的実行場所を構成するハイパーバイザとの所定の対応情報を記憶し、
     直前のステップの処理結果を移動するステップは、前記所定の対応情報に基いて、直前のステップの処理結果を前記所定の実行場所に移動する処理を含んでいる、
     ことを特徴とする請求の範囲第7項に記載の仮想サーバ処理制御方法。
  10.  管理サーバと、仮想サーバを稼働することができるハイパーバイザと、データストアとを備えた仮想サーバ処理制御システムであって、
     前記ハイパーバイザは、いずれかの物理サーバ上で動作され、
     前記仮想サーバは、いずれかのデータストア上のファイルイメージに基いて稼働され、
     前記管理サーバは、
     所定の実行場所に対する一連のステップからなるタスクを指示された際、
     前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記一時的実行場所での実行後に、前記一時的実行場所から前記所定の実行場所へと前記仮想サーバを移行させ、前記所定の実行場所にて前記タスクの継続実行を指示する、
     ことを特徴とする仮想サーバ処理制御システム。
  11.  前記管理サーバは、
     前記ステップの実行場所に制約が無いとき、前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記ステップの実行場所に制約が有るとき、前記所定の実行場所を構成するハイパーバイザに対して実行を指示する、
     ことを特徴とする請求の範囲第10項に記載の仮想サーバ処理制御システム。
  12.  前記ステップの実行場所とは、いずれかのハイパーバイザの場所、いずれかのデータストアの場所、または、いずれかのハイパーバイザといずれかのデータストアとの組み合わせの場所のいずれかである、
     ことを特徴とする請求の範囲第10項に記載の仮想サーバ処理制御システム。
  13.  仮想サーバを稼働することができるハイパーバイザとデータストアとを管理する仮想サーバ処理制御管理サーバであって、
     前記ハイパーバイザは、いずれかの物理サーバ上で動作され、
     前記仮想サーバは、いずれかのデータストア上のファイルイメージに基いて稼働され、
     当該仮想サーバ処理制御管理サーバは、
     所定の実行場所に対する一連のステップからなるタスクを指示された際、
     前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記一時的実行場所での実行後に、前記一時的実行場所から前記所定の実行場所へと前記仮想サーバを移行させ、前記所定の実行場所にて前記タスクの継続実行を指示する、
     ことを特徴とする仮想サーバ処理制御管理サーバ。
  14.  前記ステップの実行場所に制約が無いとき、前記ステップの実行場所を一時的実行場所に変更して実行を指示し、
     前記ステップの実行場所に制約が有るとき、前記所定の実行場所を構成するハイパーバイザに対して実行を指示する、
     ことを特徴とする請求の範囲第13項に記載の仮想サーバ処理制御管理サーバ。
  15.  前記ステップの実行場所とは、いずれかのハイパーバイザの場所、いずれかのデータストアの場所、または、いずれかのハイパーバイザといずれかのデータストアとの組み合わせの場所のいずれかである、
     ことを特徴とする請求の範囲第13項に記載の仮想サーバ処理制御管理サーバ。
PCT/JP2011/073116 2011-10-06 2011-10-06 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ WO2013051136A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2011/073116 WO2013051136A1 (ja) 2011-10-06 2011-10-06 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
US14/349,185 US9459898B2 (en) 2011-10-06 2011-10-06 Virtual server processing control method, system, and virtual server processing control management server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073116 WO2013051136A1 (ja) 2011-10-06 2011-10-06 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ

Publications (1)

Publication Number Publication Date
WO2013051136A1 true WO2013051136A1 (ja) 2013-04-11

Family

ID=48043327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/073116 WO2013051136A1 (ja) 2011-10-06 2011-10-06 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ

Country Status (2)

Country Link
US (1) US9459898B2 (ja)
WO (1) WO2013051136A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046159A (ja) * 2013-08-27 2015-03-12 ヴイエムウェア インコーポレイテッドVMware,Inc. 仮想マシンデプロイ及び管理エンジン

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313048B2 (en) * 2012-04-04 2016-04-12 Cisco Technology, Inc. Location aware virtual service provisioning in a hybrid cloud environment
US9817728B2 (en) * 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
WO2014189529A1 (en) * 2013-05-24 2014-11-27 Empire Technology Development, Llc Datacenter application packages with hardware accelerators
US9459803B1 (en) * 2015-04-08 2016-10-04 Vmware, Inc. Cloning virtual machines
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
JP6562744B2 (ja) * 2015-07-13 2019-08-21 キヤノン株式会社 システム、及び制御方法
JP6639245B2 (ja) * 2016-01-18 2020-02-05 キヤノン株式会社 サーバシステム、サーバシステムを制御する方法およびプログラム。
US10613708B2 (en) * 2017-02-24 2020-04-07 Red Hat Israel, Ltd. Cloning a hypervisor
JP6399127B2 (ja) * 2017-03-08 2018-10-03 日本電気株式会社 システム管理装置、システム管理方法、プログラム、情報処理システム
US10628197B2 (en) * 2017-07-20 2020-04-21 Vmware, Inc. Intelligent deployment of virtual processing instances from open virtual appliance templates
WO2019126072A1 (en) 2017-12-18 2019-06-27 Formulus Black Corporation Random access memory (ram)-based computer systems, devices, and methods
US10725853B2 (en) 2019-01-02 2020-07-28 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316724A (ja) * 2006-05-23 2007-12-06 Hitachi Ltd 計算機システム、管理計算機及びプログラム配布方法
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US8024726B2 (en) * 2004-05-28 2011-09-20 International Business Machines Corporation System for correct distribution of hypervisor work
US20060048160A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
US7587492B2 (en) * 2005-07-29 2009-09-08 Hewlett-Packard Development Company, L.P. Dynamic performance management for virtual servers
US8442958B2 (en) * 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US8209683B2 (en) * 2007-04-17 2012-06-26 International Business Machines Corporation System and method for probing hypervisor tasks in an asynchronous environment
JP4864817B2 (ja) * 2007-06-22 2012-02-01 株式会社日立製作所 仮想化プログラム及び仮想計算機システム
US8185907B2 (en) * 2007-08-20 2012-05-22 International Business Machines Corporation Method and system for assigning logical partitions to multiple shared processor pools
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
US7966454B2 (en) * 2008-02-01 2011-06-21 International Business Machines Corporation Issuing global shared memory operations via direct cache injection to a host fabric interface
US8275947B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Mechanism to prevent illegal access to task address space by unauthorized tasks
US8200910B2 (en) * 2008-02-01 2012-06-12 International Business Machines Corporation Generating and issuing global shared memory operations via a send FIFO
US8214604B2 (en) * 2008-02-01 2012-07-03 International Business Machines Corporation Mechanisms to order global shared memory operations
JP5028304B2 (ja) * 2008-03-11 2012-09-19 株式会社日立製作所 仮想計算機システム及びその制御方法
JP2009230596A (ja) * 2008-03-25 2009-10-08 Hitachi Ltd サーバ装置のユーザデータ保護方法、サーバ装置及びコンピュータプログラム
JP4840670B2 (ja) 2008-03-25 2011-12-21 日本電気株式会社 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
US8166254B2 (en) * 2008-06-06 2012-04-24 International Business Machines Corporation Hypervisor page fault processing in a shared memory partition data processing system
JP5222651B2 (ja) * 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US9798560B1 (en) * 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US8140717B2 (en) * 2008-09-26 2012-03-20 International Business Machines Corporation Controlling access to physical indicators in a logically partitioned computer system
JP4871948B2 (ja) * 2008-12-02 2012-02-08 株式会社日立製作所 仮想計算機システム、仮想計算機システムにおけるハイパバイザ、及び仮想計算機システムにおけるスケジューリング方法
JP5112277B2 (ja) * 2008-12-18 2013-01-09 株式会社日立製作所 再現処理方法、計算機システムおよびプログラム
US9405347B2 (en) * 2009-02-26 2016-08-02 Microsoft Technology Licensing, Llc Power-saving operating system for virtual environment
US8595737B2 (en) * 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
WO2010106692A1 (en) * 2009-03-17 2010-09-23 Hitachi, Ltd. Storage system and its controlling method
JP5382112B2 (ja) * 2009-03-31 2014-01-08 日本電気株式会社 仮想マシン管理システムおよび方法、並びに、制御装置、方法およびプログラム
JP5478107B2 (ja) * 2009-04-22 2014-04-23 株式会社日立製作所 仮想ストレージ装置を管理する管理サーバ装置及び仮想ストレージ装置の管理方法
US8689211B2 (en) * 2009-05-25 2014-04-01 International Business Machines Corporation Live migration of virtual machines in a computing environment
KR101351688B1 (ko) * 2009-06-01 2014-01-14 후지쯔 가부시끼가이샤 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법
US8352482B2 (en) * 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
JP5124551B2 (ja) * 2009-09-30 2013-01-23 株式会社日立製作所 ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
US9081621B2 (en) * 2009-11-25 2015-07-14 Microsoft Technology Licensing, Llc Efficient input/output-aware multi-processor virtual machine scheduling
JP5282046B2 (ja) * 2010-01-05 2013-09-04 株式会社日立製作所 計算機システム及びその可用化方法
US9342373B2 (en) * 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
US8719834B2 (en) * 2010-05-24 2014-05-06 Panasonic Corporation Information processing system, method, program and integrated circuit for maintaining balance of processing loads with respect to real-time tasks
US8850429B2 (en) * 2010-10-05 2014-09-30 Citrix Systems, Inc. Load balancing in multi-server virtual workplace environments
US8914803B2 (en) * 2011-08-25 2014-12-16 Red Hat Israel, Ltd. Flow control-based virtual machine request queuing
US8549210B2 (en) * 2011-09-20 2013-10-01 International Business Machines Corporation Mirroring virtual machines from a primary host to a secondary host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007316724A (ja) * 2006-05-23 2007-12-06 Hitachi Ltd 計算機システム、管理計算機及びプログラム配布方法
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2009252204A (ja) * 2008-04-11 2009-10-29 Hitachi Ltd 計算機の運用管理システム及び運用管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015046159A (ja) * 2013-08-27 2015-03-12 ヴイエムウェア インコーポレイテッドVMware,Inc. 仮想マシンデプロイ及び管理エンジン

Also Published As

Publication number Publication date
US9459898B2 (en) 2016-10-04
US20140259014A1 (en) 2014-09-11

Similar Documents

Publication Publication Date Title
WO2013051136A1 (ja) 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
US7992032B2 (en) Cluster system and failover method for cluster system
US11461034B2 (en) Envoy for multi-tenant compute infrastructure
US10237201B2 (en) Quality of service (QoS) based device for allocating compute workloads to hosts providing storage and network services in software-based data center
US9582221B2 (en) Virtualization-aware data locality in distributed data processing
US8914546B2 (en) Control method for virtual machine and management computer
US9223604B2 (en) Control method of virtual machine and virtual machine system
US9329889B2 (en) Rapid creation and reconfiguration of virtual machines on hosts
US20200106669A1 (en) Computing node clusters supporting network segmentation
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
US9081613B2 (en) Unified resource manager providing a single point of control
US9027017B2 (en) Methods and apparatus for movement of virtual resources within a data center environment
US9104461B2 (en) Hypervisor-based management and migration of services executing within virtual environments based on service dependencies and hardware requirements
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
US20160188232A1 (en) Systems and methods for implementing stretch clusters in a virtualization environment
US8458700B1 (en) Provisioning virtual machines
US20160381133A1 (en) System and method for deploying an application in a computer system
EP3117311A1 (en) Method and system for implementing virtual machine images
JP2013518330A (ja) 非機能要件に基づく仮想マシンの配置の抽象化方法およびシステム
US9886284B2 (en) Identification of bootable devices
JP2016170669A (ja) 負荷分散機能配備方法、負荷分散機能配備装置および負荷分散機能配備プログラム
US10990373B2 (en) Service managers and firmware version selections in distributed computing systems
US11726684B1 (en) Cluster rebalance using user defined rules
JP2012146280A (ja) 記憶操作のためのキュー及び作業負荷による選択インタフェースの方法及び装置
WO2016109743A1 (en) Systems and methods for implementing stretch clusters in a virtualization environment

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: 11873717

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14349185

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11873717

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP