WO2016162916A1 - 管理計算機およびリソース管理方法 - Google Patents

管理計算機およびリソース管理方法 Download PDF

Info

Publication number
WO2016162916A1
WO2016162916A1 PCT/JP2015/060722 JP2015060722W WO2016162916A1 WO 2016162916 A1 WO2016162916 A1 WO 2016162916A1 JP 2015060722 W JP2015060722 W JP 2015060722W WO 2016162916 A1 WO2016162916 A1 WO 2016162916A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
server
management
resources
configuration
Prior art date
Application number
PCT/JP2015/060722
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 US15/544,528 priority Critical patent/US10592268B2/en
Priority to PCT/JP2015/060722 priority patent/WO2016162916A1/ja
Priority to JP2017510805A priority patent/JP6472508B2/ja
Publication of WO2016162916A1 publication Critical patent/WO2016162916A1/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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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
    • 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/202Error 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 where processing functionality is redundant
    • 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/2053Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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

Definitions

  • the present invention relates to a computer system that uses a server and a storage.
  • Cloud computing has become widespread as a system having a different form from conventional computer systems.
  • Cloud computing is classified into SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service) depending on the service provided.
  • SaaS Software as a Service
  • PaaS PaaS
  • IaaS Infrastructure as a Service
  • IaaS cloud computing is provided by a computer system in which a server and a storage are connected to each other.
  • Patent Literatures 1 and 2 disclose documents relating to the availability of servers and storages (Availability).
  • Patent Document 1 discloses a technology for realizing high availability (HA: High Availability) of a server in IaaS.
  • Patent Document 2 discloses a technique for realizing high storage availability in IaaS.
  • HA configuration high availability configuration
  • VM Virtual Machine
  • the HA constituting the system is used by the device constituting the system. Restrictions are imposed on the configuration. Whether or not the storage HA configuration can be assembled is highly dependent on the device vendor. In some cases, the HA configuration cannot be assembled unless the storages of the same device vendor exist.
  • IaaS Usually, in IaaS, resources are managed and allocated from the server side. If this is applied to the construction of the HA configuration in which the server and the storage are linked, the HA configuration on the server side is assembled, and then the HA configuration on the storage side is assembled.
  • the HA configuration cannot be constructed between storage devices with different device vendors due to differences in specifications.
  • the construction of the server-side HA configuration if a situation occurs in which it is discovered that the storage-side HA configuration cannot be constructed, the construction of the server-side HA configuration is repeated.
  • IaaS users often request a VM deployment that makes a large amount of VM (Virtual Machine) available at one time. Moreover, it is required to speed up the VM deployment process as much as possible. However, in the method for constructing the HA configuration as described above, the deployment process is delayed, and the time for which the user waits becomes long.
  • VM Virtual Machine
  • An object of the present invention is to provide a technology that makes it possible to efficiently construct a redundant configuration in which a server and a storage are linked.
  • a management apparatus is a management computer that has a plurality of server resources and a plurality of storage resources, and manages the resources of a computer system that is allocated to a virtual machine by combining the server resources and the storage resources. And a memory for storing the management information and the management program, and a CPU for referring to the management information and executing the management program, and the management information can be paired in a redundant configuration with respect to the plurality of storage resources.
  • the storage management information Refer to and determine storage resources to be paired with a redundant configuration, and then refer to the connectable configuration management information to select server resources that can be connected to each of the storage resources to be paired with the redundant configuration. To make a redundant pair.
  • the redundant configuration of the storage that often imposes restrictions on the redundant configuration is determined first, and then the redundant configuration of the server is determined. Therefore, the redundant configuration in which the server and the storage are linked is efficiently constructed. be able to.
  • FIG. 5 is a diagram illustrating a configuration example of a storage management table 33010.
  • FIG. 5 is a diagram illustrating a configuration example of a pool management table 33020.
  • FIG. 5 is a diagram showing a configuration example of a volume management table 33030.
  • FIG. . It is a figure which shows the structural example of the volume pair creation possible structure management table 33040. It is a figure which shows the structural example of the volume pair management table 33050.
  • FIG. 5 is a diagram illustrating a configuration example of a host management table 33110.
  • FIG. 5 is a diagram illustrating a configuration example of a hypervisor management table 33120.
  • FIG. 5 is a diagram illustrating a configuration example of a virtual machine management table 33130.
  • FIG. 5 is a diagram showing a configuration example of a virtual machine pair creatable configuration management table 33140.
  • FIG. 5 is a diagram illustrating a configuration example of a virtual machine pair management table 33150.
  • FIG. 5 is a diagram showing a configuration example of a storage-host connectable configuration management table 33160.
  • FIG. 5 is a diagram showing a configuration example of an all storage management table 33210.
  • FIG. It is a figure which shows the structural example of all the pool management tables 33220.
  • FIG. 5 is a diagram showing a configuration example of an all volume management table 33230.
  • FIG. It is a figure which shows the structural example of the all volume pair creation possible structure management table 33240.
  • FIG. 20 is a diagram showing a configuration example of an all volume pair management table 33250.
  • 5 is a diagram illustrating a configuration example of an all-host management table 33260.
  • FIG. It is a figure which shows the structural example of the all hypervisor management table 33270.
  • It shows the structural example of all the virtual machine management tables 33280.
  • 5 is a diagram showing a configuration example of an all virtual machine pair management table 33300.
  • FIG. 20 is a diagram showing a configuration example of an all volume pair management table 33250.
  • 5 is a diagram illustrating a configuration example of an all-host management table 33260.
  • FIG. It is a figure which shows the structural example of the all hypervisor management table
  • FIG. 5 is a diagram showing a configuration example of an all storage-host connectable configuration management table 33310.
  • FIG. This is a sequence showing a process in which the overall management program 33520 acquires the configuration information shown in FIGS. 5 to 15 from all the host management programs 33530 and the storage management program 33540 and updates the contents of the configuration information tables shown in FIGS. .
  • It is a sequence of virtual machine creation processing to which the HA function of the host and storage is applied.
  • It is a sequence of virtual machine creation processing to which the HA function of the host and storage is applied.
  • It is a flowchart of the process which determines a storage HA configuration and a host HA configuration.
  • It is a sequence of virtual machine creation processing to which the DR function of the host and storage is applied.
  • FIG. 1 is a block diagram showing the system configuration of the first embodiment.
  • the system of FIG. 1 includes a data center 50000 and a network 41000 between the data centers.
  • the data center 50000 includes a host 10000, a storage 20000, a management server 300000, and a host-storage network 40000.
  • the management server 30000 can communicate with all the hosts 10000 and the storage 20000 in the data center 50000.
  • the management server 30000 can communicate with the management server 30000 of another data center 50000. A network connecting them to each other is not shown.
  • the host 10000 includes a hypervisor and a virtual machine (VM in the figure).
  • the virtual machine can form an HA pair (VM pair in the figure) with a virtual machine of another host 10000.
  • the HA pair is a pair that realizes high availability, that is, a redundant configuration pair.
  • the storage 20000 includes a pool that provides storage areas such as RAID Group and Thin Provisioning Pool, and a volume (VOL in the figure) obtained by cutting out the storage area from the pool.
  • a volume can be configured with a volume of another storage 20000 and an HA pair (VOL pair in the figure).
  • the storage 20000 includes a volume of a quorum disk (Quorum Disk (Witness) (Q-xx in the figure)) for the HA pair of the virtual machine and the HA pair of the storage 20000.
  • FIG. 2 is a diagram schematically showing a configuration example of the host 10000.
  • the host 10000 includes a CPU (Central Processing Unit) 11000 that is a processor, a non-volatile secondary storage device 12000, a memory 13000 that is a main storage device, an input / output device 14000, an initiator port 16000 that is an I / O request issuer interface, A management interface 17000 is included. These components are interconnected by a bus 15000 so that they can communicate with each other.
  • CPU Central Processing Unit
  • the CPU 11000 operates by reading and executing a program stored in the memory 13000. Typically, programs and data stored in the secondary storage device 12000 are loaded into the memory 13000.
  • the memory 13000 holds an OS (Operating System) 13100, a hypervisor 13020, and a plurality of virtual machine programs 13030.
  • OS Operating System
  • the initiator port 16000 is a network interface connected to the network 40000 between the host and the storage or the network 41000 between the data centers.
  • the initiator port 16000 transmits / receives data and requests to / from the storage 20000 via the network 40000 or 41000.
  • the management interface 17000 is a network interface connected to the management server 30000.
  • the management interface 17000 transmits / receives management data and control commands to / from the storage 20000 via the local area network (LAN) in the data center 50000 and the network 41000 between the data centers.
  • the management interface 17000 further transmits / receives management data and control commands to / from the management server 30000 via the local area network (LAN) in the data center 50000 and the network 41000 between the data centers.
  • LAN local area network
  • FIG. 3 is a diagram schematically illustrating a hardware configuration example of the storage 20000.
  • the basic configuration of each storage 20000 is the same, but the number of components, storage capacity, and the like depend on each physical storage device. These may have different configurations.
  • the storage 20000 is a storage controller that controls a plurality of storage devices (for example, hard disk drive, SSD (Solid State Drive), etc.) 22000 and the storage 20000, and performs volume management, data communication with the host 10000 or other storages, etc. Including.
  • the storage controller includes a CPU 21000 that is a processor, a memory 23000, an initiator port 26000 that is an I / O request issuer interface, a target port 27000 that is an I / O request reception interface, a management interface 28000, and a cache memory 24000 for data transfer. , including.
  • the components of the storage 20000 are interconnected via a bus 25000 so that they can communicate with each other.
  • the storage 20000 is connected to another external storage via the initiator port 26000, transmits an I / O request and write data (user data) to the external physical storage, and reads data (user data) from the external physical storage. Data).
  • the initiator port 26000 is connected to a host-storage network 40000 and a data center network 41000.
  • the initiator port 26000 is a protocol used within the storage controller, such as Fiber Channel (FC), Fiber Channel Over Ethernet (registered trademark) (FCoE), or iSCSI used for communication with an external physical storage system. It has a function of converting to PCIe.
  • FC Fiber Channel
  • FCoE Fiber Channel Over Ethernet
  • iSCSI iSCSI
  • the storage 20000 is connected to the host 10000 or an external storage at the target port 27000.
  • the storage 20000 receives I / O requests and write data from the host 10000 or external physical storage via the target port 27000, and transmits read data to the host 10000 or external physical storage.
  • the target port 27000 is connected to the host-storage network 40000 and the data center network 41000.
  • the target port 27000 has a function of converting a protocol such as FC, FCoE, iSCSI used for communication with the host 10000 or an external storage into a protocol used inside the storage controller, for example, PCIe.
  • the management interface 28000 is a device for connecting to the management server 30000.
  • the management interface 28000 has a function of converting a protocol used in the LAN into a protocol used in the storage controller, for example, PCIe.
  • the CPU 21000 realizes predetermined functions including control of I / O from the host 10000 and management and control of the volume of the storage 20000 by executing a program for storage control. At least a part of the functions realized by the CPU 21000 described in this embodiment may be realized by a logic circuit different from the CPU 21000.
  • the memory 23000 stores data and programs handled by the CPU 21000.
  • the data in the memory 23000 is loaded into the memory 23000 from, for example, any storage device 22000 or flash memory (not shown) in the storage 20000 or another device connected via a network.
  • FIG. 4 is a diagram illustrating a configuration example of the management server 30000.
  • the management server 30000 includes a CPU 31000 as a processor, a memory 33000 as a main storage device, a secondary storage device 32000, an input / output device 34000, and a management interface (I / F) 36000. These devices of the management server 30000 are interconnected via a bus 35000 so that they can communicate with each other.
  • Management server 30000 executes a management program and operates according to it.
  • the management I / F 36000 is connected to a network in a data center or a network between data centers, and performs conversion between a protocol in the management server 30000 and a protocol of an external network.
  • the management server 30000 can communicate with the storage 20000 and the host 10000 via the management I / F 36000.
  • the input / output device 34000 includes one or more devices such as a display, a pointer, or a keyboard.
  • the user can operate the management server 3000 using the input / output device 34000, and may access the management server 30000 from a client computer connected via a network.
  • the client computer is included in the management system together with the management server 30000.
  • the user can input necessary information with an input device (for example, a mouse and a keyboard), and can visually recognize the necessary information with an output device.
  • the CPU 31000 implements a predetermined function of the management server 30000 by executing a program stored in the memory 33000.
  • the memory 33000 stores a program executed by the CPU 31000 and data necessary for executing the program.
  • a program operating on the management server 30000 will be described later.
  • At least some of the functions realized by the CPU 31000 described in this embodiment may be realized by a logic circuit different from the CPU 31000.
  • the program is loaded from the secondary storage device 32000 to the memory 33000.
  • the secondary storage device 32000 is a storage device provided with a non-volatile non-transitory storage medium that stores programs and data necessary for realizing predetermined functions of the management server 30000.
  • the secondary storage device 32000 may be an external storage device connected via a network.
  • the management system of this configuration example is configured with a management server, but the management system may be configured with a plurality of computers.
  • One of the plurality of computers may be a display computer, and the plurality of computers may realize processing equivalent to that of the management server in order to speed up management processing and increase reliability.
  • the administrator may access the management server of the management system from the management console of the management system, instruct the management server to perform processing, and acquire and display the processing result of the management server on the management console.
  • the management system may be configured in the physical storage. Some functions of the management system may be implemented in the physical storage.
  • the memory 33000 of the management server 30000 stores data and programs handled by the CPU 31000. Data in the memory 33000 is loaded into the memory 33000 from, for example, any storage device 22000 or flash memory (not shown) in the storage 20000 or another device connected via a network.
  • the memory 33000 holds an OS, a virtual machine management user I / F program 33510, an overall management program 33520, a host management program 33530, and a storage management program 33540. Further, the memory 33000 holds a configuration information management table 33400.
  • the virtual machine management user I / F program 33510 provides a user with an interface such as a command line interface (CLI) or a graphical user interface (GUI) for managing a virtual machine.
  • an interface such as a command line interface (CLI) or a graphical user interface (GUI) for managing a virtual machine.
  • CLI command line interface
  • GUI graphical user interface
  • the host management program 33530 manages host resources in the data center.
  • the storage management program 33540 manages storage resources in the data center.
  • the overall management program 33520 manages the host and storage resources of all data centers.
  • the overall management program 33520 can communicate with the host management program and the storage management program of the management server.
  • the configuration information management table 33400 is a table for managing the host and storage resources shown in FIGS.
  • the storage management program 33540 refers to and updates the tables shown in FIGS.
  • the host management program 33530 refers to and updates the tables shown in FIGS.
  • the overall management program 33520 refers to and updates the tables shown in FIGS.
  • the tables of FIGS. 5 to 26 will be described.
  • FIG. 5 shows a configuration example of the storage management table 33010.
  • the storage management table 33010 has a storage ID column 33011 for storing the ID of each storage in the data center, and a vendor name 33012 for storing the vendor name of the storage hardware.
  • FIG. 6 shows a configuration example of the pool management table 33020.
  • the pool management table 33020 includes a pool ID column 33021 for storing a pool ID of a pool possessed by each storage in the data center, a storage ID column 33022 for storing a storage ID of the storage having the pool, a usage amount of the pool, and the like. It has a total capacity column 33023 for storing the value of the total capacity including the free capacity and the like, and a free capacity column 33024 for storing the value of the free capacity of the pool.
  • FIG. 7 shows a configuration example of the volume management table 33030.
  • the volume management table 33030 includes a VOLID column 33031 for storing a volume ID of a volume created from a pool of each storage in the data center, a pool ID column 33032 for storing the pool ID of the pool, and a capacity value of the volume. And a capacity column 33033 for storing.
  • FIG. 8 shows a configuration example of the configuration management table 33040 that can create a volume pair.
  • the volume pair creatable configuration management table 33040 includes a pool ID column 33041 for storing a pool ID of each storage in the data center, and a partner for storing a pool ID of a storage in another data center capable of constructing a volume pair configuration. It has a pool ID column 33043 and a pair type column 33042 for storing information on the pair type.
  • a character string “HA” is stored for an HA pair
  • DR is stored for a DR pair.
  • DR Disaster Recovery
  • a redundant configuration may be constructed in the server and storage. Note that the combination of storages that can be configured as a volume pair may be freely selected in accordance with the specifications of the storage hardware and software.
  • FIG. 9 shows a configuration example of the volume pair management table 33050.
  • the volume pair management table 33050 includes a VOL pair ID column 33051 for storing a pair ID of a volume pair, a VOLID 33052 for storing a volume ID of one side volume or a quorum volume of the pair in the data center, and a pair type of the pair.
  • the consistency group is composed of at least one volume pair, and each volume pair includes a primary volume and a secondary volume.
  • the primary volume is a logical volume that is provided to the host device and in which write access occurs.
  • the secondary volume is a logical volume that is a replica of the primary volume.
  • the consistency group is a volume group that needs to be consistent between one or more primary volumes and one or more secondary volumes. The consistency group is prepared on the disk device.
  • VOL type column for example, a character string “PVOL” is stored for a primary volume (PVOL), “SVOL” is stored for a secondary volume (SVOL), and “Quorum” is stored for a quorum volume.
  • pair status column 33055 for example, “COPY” is displayed when data is being copied between paired volumes, “PAIR” is displayed when data copy is completed and data synchronization is in progress, and “PSUS” (PAIR SUSPEND is displayed when data copy is suspended. ) Etc. are stored.
  • FIG. 10 shows a configuration example of the host management table 33110.
  • the host management table 33110 has a host ID column 33111 for storing the host ID of each host in the data center.
  • FIG. 11 shows a configuration example of the hypervisor management table 33120.
  • the hypervisor management table 33120 includes a hypervisor ID column 33121 for storing a hypervisor ID of a hypervisor on each host in the data center, a hypervisor name column 33122 for storing a character string indicating the type of the hypervisor, and a host having the hypervisor. Host ID 33123.
  • FIG. 12 shows a configuration example of the virtual machine management table 33130.
  • the virtual machine management table 33130 includes a VMID column 33131 that stores an ID of a virtual machine deployed on a hypervisor in the data center, a hypervisor ID column 33132 that stores a hypervisor ID of a hypervisor in which the virtual machine is deployed, And a connection VOLID 33133 for storing an ID of a volume accessible by the VM.
  • FIG. 13 shows a configuration example of the virtual machine pair creation possible configuration management table 33140.
  • the virtual machine pair creatable configuration management table 33140 includes a hypervisor ID column 33141 for storing the ID of a hypervisor in the data center and a partner hypervisor ID column for storing an ID of a hypervisor that can be paired with HA or DR in another data center. 33141 and a pair type column 33142 of the pair.
  • FIG. 14 shows a configuration example of the virtual machine pair management table 33150.
  • the virtual machine pair management table 33150 includes a VM pair ID column 33151 that stores the ID of a pair that is a constituent element of the virtual machine in the data center, and a VMID column 33152 that stores the ID of the virtual machine in the data center of the pair.
  • a pair type column 33153 for storing a character string indicating the information on the pair type
  • a VM status column 33155 for storing a character string indicating the status information of the virtual machine having the ID of the VMID column 33152
  • another data center The other party hypervisor ID column 33156 for storing the ID of the hypervisor that is the one-side pair
  • the QuorumID column 33157 for storing the ID of the quorum volume of the pair.
  • a character string such as “Active” is stored if the virtual machine is in an active state (Active), and “Standby” is stored in a standby state (Standby).
  • FIG. 15 shows a configuration example of the storage-host connectable configuration management table 33160.
  • the storage-host connectable configuration management table 33160 stores a storage ID column 33161 for storing an ID of a storage in the data center, and an ID of a host that is connected to the storage through an arbitrary network and can communicate with the storage. Host ID 33162.
  • FIG. 16 shows a configuration example of the total storage management table 33210.
  • the all storage management table 33210 includes a storage ID column 3321 for storing IDs of storages in all data centers, a vendor name column 33212 for storing the storage hardware vendor name of the storage, and an ID of the data center where the storage is located. And a data center ID column 33213 for storing.
  • FIG. 17 shows a configuration example of the all pool management table 33220.
  • the total pool management table 33220 includes a pool ID 33221 for storing the IDs of the pools in all data centers, a storage ID column 33222 indicating the ID of the storage having the pool, and the total capacity including the used amount and free capacity of the pool. And a free capacity column 33224 for storing the value of the free capacity of the pool.
  • FIG. 18 shows a configuration example of the total volume management table 33230.
  • the all volume management table 33230 includes a VOLID column 3321 for storing IDs of volumes in all data centers, a pool ID 33232 for storing IDs of pools to which capacities are allocated to the volumes, and storages for storing IDs of storages having the pools. It has an ID column 33233 and a capacity column 33234 for storing the capacity value of the volume.
  • FIG. 19 shows a configuration example of the configuration management table 33240 that can create all volume pairs.
  • the all-volume-pair-creatable configuration management table 33240 stores the first pool ID column 33241 for storing the ID of the first pool that provides the volume that can configure the pair and the ID of the second pool in all data centers.
  • Second pool ID 33242 and 33243 for storing a character string indicating pair type information.
  • FIG. 20 shows a configuration example of the all volume pair management table 33250.
  • the all-volume pair management table 33250 includes a VOL pair ID column 33251 that stores IDs of volume pairs in all data centers, a pair type column 33252 that stores character strings indicating pair type information of the pair, A pair status column 33253 for storing a character string indicating pair status information of the pair, a PVOLID column 33254 for storing the ID of the PVOL of the pair, a SVOLID column 33255 for storing the ID of the SVOL of the pair, It has a QuorumID column 33256 for storing the ID of the Quorum volume, and a GrpID column 22357 indicating the ID of a group such as a consistency group of the pair.
  • FIG. 21 shows a configuration example of the all-host management table 33260.
  • the all-host management table 33260 has a host ID 3261 that stores the IDs of hosts in all data centers, and a data center ID column 33262 that stores the IDs of the data centers in which the hosts are located.
  • FIG. 22 shows a configuration example of the entire hypervisor management table 33270.
  • the all hypervisor management table 33270 stores a hypervisor ID column 33271 for storing the IDs of hypervisors in all data centers, a hypervisor name column 33272 for storing a character string indicating the type of the hypervisor, and an ID of a host having the hypervisor. Host ID column 33273.
  • FIG. 23 shows a configuration example of the all virtual machine management table 33280.
  • the all virtual machine management table 33280 includes a VMID column 33281 for storing IDs of virtual machines in all data centers, a hypervisor ID column 33282 for storing IDs of hypervisors with the virtual machines, and volumes accessible to the virtual machines. And a connection VOLID column 33283 indicating the ID of the connection.
  • FIG. 24 shows a configuration example of the configuration management table 33290 that can create all virtual machine pairs.
  • the all-virtual-machine-pair-creatable configuration management table 33290 includes the first hypervisor ID column 33291 for storing the ID of the first hypervisor that provides a virtual machine that can configure a pair in all the data centers, and the ID of the second hypervisor.
  • a second hypervisor ID column 33292 for storing and a pair type column 33293 for storing a character string indicating pair type information of the pair are included.
  • FIG. 25 shows a configuration example of the all virtual machine pair management table 33300.
  • the all virtual machine pair management table 33300 includes a VM pair ID column 33301 for storing the IDs of virtual machine pairs in all data centers, a pair type column 33302 for storing a character string indicating the pair type of the pair, A pair status column 33303 for storing a character string indicating the pair status, a first VMID 33304 for storing the ID of the first virtual machine of the pair, and a first character string for storing the status of the first virtual machine A VM status column 33305, a second VMID 33306 for storing the ID of the second virtual machine, a second VM status column 33307 for storing a character string indicating the status of the second virtual machine, and the Quorum volume of the pair And a QuorumID column 33308 for storing the ID.
  • FIG. 26 shows a configuration example of the all storage-host connectable configuration management table 33310.
  • the all storage-host connectable configuration management table 33310 stores a storage ID column 33311 for storing IDs of storages of all data centers, and IDs of hosts connected to the storage via the network and capable of communicating with the storage.
  • FIG. 27, FIG. 28, and FIG. 29 show the virtual machine creation processing sequence of the first embodiment.
  • This sequence includes a user 60000, a virtual machine management user I / F program 33510, an overall management program 33520, a host management program 33530, and a storage management program 33540.
  • one user 60000 performs a virtual machine creation operation via one virtual machine management user I / F program 33510 of one management server.
  • one overall management program 33520 of the same management server 30000 is replaced with a host management program 33530 and a storage management program 33540 of the same management server 30000, a host management program 33530 and a storage management program 33540 of the management server 30000 in another data center 50000.
  • commands such as acquisition of configuration information of each host and storage, creation of a volume HA pair, and setting of a virtual machine HA pair are issued.
  • FIG. 27 shows a process in which the overall management program 33520 acquires the configuration information shown in FIGS. 5 to 15 from all the host management programs 33530 and the storage management program 33540 and updates the contents of the configuration information tables shown in FIGS.
  • FIG. 27 shows a process in which the overall management program 33520 acquires the configuration information shown in FIGS. 5 to 15 from all the host management programs 33530 and the storage management program 33540 and updates the contents of the configuration information tables shown in FIGS.
  • step S101 the overall management program 33520 transmits an instruction for acquiring the host configuration information in the tables shown in FIGS. 10 to 15 to all the host management programs 33530.
  • the host management program 33530 Upon receiving the configuration information acquisition command from the overall management program 33520, the host management program 33530 transmits the contents of the host configuration information in the tables shown in FIGS. 10 to 15 to the overall management program 33520.
  • step S102 the overall management program 33520 reflects the configuration information received from the host management program 33530 in the tables of FIGS.
  • step S103 the overall management program 33520 transmits an instruction to acquire storage configuration information in the tables shown in FIGS. 10 to 15 to all the storage management programs 33540.
  • the storage management program 33540 transmits the contents of the storage configuration information in the tables shown in FIGS. 5 to 9 to the overall management program.
  • step S104 the overall management program 33520 reflects the configuration information received from the storage management program 33540 in the tables of FIGS.
  • step S100 a series of processing of steps S101 to S104 surrounded by a broken line in FIG. 27 is assumed to be step S100.
  • steps S111 and S112 the configuration information acquisition in step S100 may be executed according to an instruction from the user 60000.
  • FIG. 28 and FIG. 29 are virtual machine creation processing sequences to which the HA functions of the host and storage are applied.
  • a user 60000 in FIGS. 28 and 29 is an IaaS user who issues a request for virtual machine creation / deletion to the overall management program 33520.
  • 28 and 29 indicates the virtual machine management user I / F program 33510.
  • the user 60000 issues a command to the overall management program 33520 via the I / F 33510.
  • the overall management 33520 in FIG. 28 and FIG. 29 indicates the overall management program 33520 in the same management server as the I / F 33510.
  • the host management 33530 in FIGS. 28 and 29 indicates the host management program 33530 in the management server of each data center.
  • the storage management 33540 in FIGS. 28 and 29 shows the storage management program 33540 in the management server of each data center.
  • step S201 of FIG. 28 the user 60000 instructs the virtual machine management user I / F program 33510 to create a virtual machine to which the HA function is applied.
  • step S202 the virtual machine management user I / F program 33510 transmits a command for creating a virtual machine to which the HA function is applied to the overall management program 33520.
  • step S203 the overall management program 33520 determines the storage HA configuration and the host HA configuration. A detailed description of this step will be described later.
  • the overall management program 33520 instructs the plurality of storage management programs 33540 to create HA volume pairs based on the storage HA configuration and the host HA configuration determined in step S203.
  • step S205 the overall management program 33520 transmits a command for creating a primary volume (Primary Volume, PVOL) of the HA to the storage management program 33540.
  • Primary Volume Primary Volume
  • step S206 the storage management program 33540 creates the volume according to the command from the storage management program, and returns the command completion to the storage overall management program.
  • step S207 the overall management program transmits an instruction to create a secondary volume (Secondary Volume, SVOL) of the HA to the storage management program 33540.
  • a secondary volume Secondary Volume, SVOL
  • step S208 the storage management program 33540 creates the volume in accordance with the command from the overall management program 33520, and returns the command completion to the storage management program 33540.
  • step S209 the overall management program 33520 transmits an HA Quorum volume creation command to the storage management program 33540.
  • step S210 the storage management program 33540 creates the volume in accordance with the command from the storage management program 33540, and returns completion of the command to the overall management program 33520.
  • step S211 the overall management program 33520 transmits a PVOL-Quorum connection command to the PVOL-side storage management program 33540.
  • step S212 the storage management program 33540 on the PVOL side executes the PVOL-Quorum connection setting for the storage management program 33540 on the quorum side, and returns completion of the setting to the overall management program 33520.
  • step S213 the overall management program 33520 transmits an SVOL-Quorum connection command to the storage management program 33540 on the SVOL side.
  • step S214 the storage management program 33540 on the SVOL side executes the SVOL-Quorum connection setting for the storage management program 33540 on the quorum side, and returns completion of the setting to the overall management program 33520.
  • step S215 the overall management program 33520 transmits a PVOL-SVOL HA pair creation command to the PVOL-side storage management program 33540.
  • step S216 the PVOL-side storage management program 33540 executes the PVOL-SVOL HA pair creation for the SVOL-side storage management program 33540, and returns the completion of the pair creation to the overall management program 33520.
  • step S217 the overall management program 33520 reflects the configuration information after creating the HA volume pair described above in the configuration management table. At this time, the overall management program 33520 may perform the configuration information TB update process in step S100 again.
  • step S218 in FIG. 29 the overall management program 33520 transmits a command to store the VM image in the PVOL to the host management program 33530.
  • step S219 the host management program 33530 transmits a Write command to the PVOL of the VM image data in accordance with a command from the overall management program 33520 to the storage management program 33540 on the PVOL side.
  • step S220 the storage management program 33540 copies the data written in the PVOL to the SVOL side.
  • step S221 the overall management program 33520 transmits a quorum volume creation command to the storage management program 33540 of the storage that is the quorum creation source of the host HA.
  • step S222 the storage management program 33540 creates a volume and returns completion of the command to the overall management program 33520.
  • step S223 the path definition from the storage HA pair volume and the quorum setting of the host HA are executed for each hypervisor of the host HA configuration determined in step S204.
  • step S224 the host management program 33530 instructs the storage management program 33540 on the PVOL side to define a path from the PVOL to the host.
  • step S225 the host management program 33530 performs quorum setting for the storage management program 33540 on the quorum side of the host HA.
  • step S226 the host management program 33530 sets the path definition from the storage HA pair volume (step S226) and the host HA quorum setting (step S227) to the host management program 33530 of another host in the host HA pair. Instruct.
  • step S228, the overall management program 33520 reflects the configuration information after creating the HA volume pair described above in the configuration management table. At this time, the overall management program 33520 may perform the configuration information TB update process in step S100 again.
  • step S229 the overall management program 33520 instructs the host management program 33530 to start a virtual machine.
  • step S230 the host management program 33530 accesses the volume (step S230) and starts the virtual machine.
  • step S231 the host management program 33530 returns completion of virtual machine activation to the overall management program 33520.
  • step S231 the overall management program 33520 returns the completion of virtual machine creation to the virtual machine management user I / F program 33510.
  • the virtual machine management user I / F program 33510 notifies the user 60000 of completion of virtual machine creation.
  • FIG. 30 is a flowchart of processing for determining the storage HA configuration and the host HA configuration.
  • step S203-01 the overall management program 33520 refers to the configuration management table 33240 that can create all volume pairs, selects one storage pool combination that can create HA volume pairs, and then proceeds to step S203-02. move on. If there is no unselected pool combination, the process is terminated. If either the storage HA configuration or the host HA configuration has not been determined, the process ends abnormally.
  • step S203-02 the overall management program 33520 refers to the all pool management table 33220 and calculates the total free capacity of both pools of the pool combination selected in the immediately preceding step S203-01.
  • step S203-03 the overall management program 33520 has the total free capacity of both pools of the pool combination selected in the immediately preceding step S203-01 larger than that of the already determined storage HA pool combination. If so, the process proceeds to step S203-04; otherwise, the process returns to step S203-01.
  • the method of selecting the pool combination is not limited to the method of this embodiment, and other methods may be used.
  • step S203-04 the overall management program 33520 refers to the all storage-host connectable configuration management table, and selects one unselected one that can be connected to one storage of the pool combination selected in the immediately preceding step S203-01. If there is a host, it is selected and the process proceeds to step S203-05; otherwise, the process returns to step S203-01.
  • step S203-05 the overall management program 33520 refers to the all virtual machine pair creatable configuration management table 33290, and the host hypervisor (first) selected in the immediately preceding step S203-04 and the hypervisor capable of HA configuration. If there is an unselected combination in the (second) combination, it is selected and the process proceeds to step S203-06, and if not, the process returns to step S203-04.
  • step S203-06 the overall management program 33520 acquires calculation processing load information such as the CPU usage rate and memory usage rate of the selected host.
  • step S203-07 the overall management program 33520 refers to the load information acquired in the immediately preceding step S203-06, and the load of the host selected in the immediately preceding step S203-04 is already determined. If it is lower than that of the first host, the process proceeds to step S203-08; otherwise, the process returns to step S203-04.
  • the host selection method is not limited to the method of this embodiment, and other methods may be used.
  • the overall management program 33520 refers to the entire pool management table 33220, and a storage pool for creating a quorum volume for the storage HA and a storage pool for creating a quorum volume for the host HA. Select.
  • the pool in which the volume is created is located in a place other than the two pools in which the HA volume pair is created or the data center where the host where the HA host pair is placed is located, and the free capacity of the pool Select the one that maximizes.
  • the pool selection method is not limited to the method of this embodiment, and other methods may be used.
  • step S203-09 the overall management program 33520 updates the combination information of the storage HA configuration and the host HA configuration determined in the previous step S203-01 to step S203-09, and returns to step S203-01.
  • the management computer (management server 30000) is a computer that manages the resources of the computer system assigned to the virtual machine by combining server resources and storage resources.
  • the computer system has a plurality of server resources and a plurality of storage resources, and the management computer combines the server resources and the storage resources from among them and assigns them to the virtual machine.
  • the configuration information management table 33400 is stored in the memory 33000 of the management server 30000.
  • storage management information (storage management table 33010) that can determine whether or not a plurality of storage resources can be paired in a redundant configuration, and a plurality of storage resources and a plurality of server resources are mutually connected.
  • connectable configuration management information (storage-host connectable configuration management table 33161) capable of determining whether or not it is possible.
  • a storage ID 33011 of each storage and a vendor name 33012 of the storage vendor are recorded in association with each other.
  • storages from the same vendor can be connected.
  • a storage ID of each storage and a host ID 33162 of a host connectable to the storage are recorded in association with each other.
  • the CPU 31000 When deploying a virtual machine, the CPU 31000 first refers to storage management information to determine a storage resource to be paired with a redundant configuration, and then refers to connectable configuration management information to determine a redundant configuration pair. Select server resources that can be connected to each storage resource to be paired in a redundant configuration.
  • the CPU 31000 allocates storage resources to be paired in a redundant configuration to the primary storage and the secondary storage in the redundant configuration, and the storage for the primary storage and the secondary storage to mutually check the survival of the devices other than the primary storage and the secondary storage.
  • Store quorum information Further, the CPU 31000 assigns server resources to be paired in a redundant configuration to the primary server and secondary server in the redundant configuration, respectively, and a server for the primary server and the secondary server to confirm mutual survival to devices other than the primary server and the secondary server.
  • Store quorum information According to this, quorum information can be arranged in a third site other than the primary and secondary.
  • the CPU 31000 may be able to store server quorum information and storage quorum information in the same device. According to this, since the quorum information of the server and the storage can be stored in the same device, the quorum information can be arranged efficiently.
  • a plurality of server devices and a plurality of storage devices may be distributed and arranged in a plurality of sites that do not become obstacles simultaneously in the same disaster.
  • the CPU 31000 may set the server resources and server quorum information to be paired in a redundant configuration so that they are different sites.
  • the CPU 31000 sets the storage resources and storage quorum information to be paired in a redundant configuration so that they are different sites. According to this, it is possible to arrange a redundant configuration pair and a device for storing quorum information at a site that does not become a failure at the same time due to a disaster, thereby ensuring high reliability of the system.
  • the CPU 31000 may set a consistency group that includes the plurality of storage resource pairs and maintains the consistency of all pairs. According to this, storage resource pairs can be managed as a consistency group, and consistency can be ensured and virtualization machines can be efficiently deployed.
  • a redundant server pair is defined later as a storage redundant pair destination is shown, but other configurations are possible.
  • a pair with a larger constraint imposed on the combination of the redundant configuration pair may be determined first.
  • the management apparatus When a redundant configuration pair is selected for the first resource and the second resource, a pair is selected first for a resource having a lower ratio of a pair combination that can be selected from a plurality of pairs. According to this, since a resource with a large restriction imposed on a redundant configuration pair is determined first and then a redundant configuration pair of the other resource is determined, a redundant configuration in which the first resource and the second resource are linked together is determined. It can be constructed efficiently. Here, it is assumed that the restriction imposed on the determination of the pair is larger when the ratio of the pair combination that can be selected is lower.
  • the second embodiment is an example in which the host DR configuration is constructed in accordance with the configuration of the storage DR (Disaster Recovery) after the storage DR is configured in the virtual server creation in IaaS.
  • Quorum is set in addition to the primary and secondary, but in the DR of the second embodiment, only the primary and secondary are set, and the Quorum is not set.
  • FIG. 31 and 32 are virtual machine creation processing sequences to which the DR function of the host and storage is applied.
  • FIG. 31 corresponds to FIG. 28 in the first embodiment
  • FIG. 32 corresponds to FIG. 29 in the first embodiment.
  • the sequence of FIGS. 31 and 32 is different from the sequence of FIGS. 28 and 29 in that there is no quorum setting.
  • FIG. 33 is a flowchart showing processing for determining the storage DR configuration and the host DR configuration.
  • FIG. 33 corresponds to FIG. 30 in the first embodiment.
  • the flowchart of FIG. 33 differs from FIG. 30 only in that there is no quorum setting.
  • the third embodiment is an example in which another volume is connected to a virtual machine applied to an already created HA in creating a virtual server in IaaS.
  • 34 and 35 are sequences showing processing for connecting a volume to a virtual machine to which the HA configuration is applied to the host-storage.
  • step S401 in FIG. 34 the user 60000 instructs the virtual machine management I / F program 33510 to connect a specific volume to a specific virtual machine.
  • step S402 the virtual machine management I / F program 33510 instructs the overall management program 33520 to connect a volume to the virtual machine.
  • step S403 the overall management program 33520 refers to the all virtual machine pair management table 33300 and confirms the pair type 33302 of the specific VM pair ID 33301. Here, it is assumed that the pair type 33302 is “HA”.
  • the overall management program 33520 refers to the all volume management table 33230 and the all volume pair creation possible configuration management table 33240, and can create a SVOL that can create a specific volume and HA pair for which a connection instruction has been issued. Side pool selection and Quorum volume creation destination pool selection. The method for selecting each pool is the same as in step S203 of the first embodiment.
  • the overall management program 33520 implements PVOL creation, SVOL creation, Quorum connection, and HA pair creation for the storage management program 33540.
  • the overall management program 33520 refers to the all volume pair management table 33250 and the all virtual machine management table 33280, and has the same consistency group ID as the HA pair volume already connected to the specific VM. Is identified and HA pair creation is performed.
  • the overall management program 33520 monitors the created HA pair volume and performs path definition for each VM of the specific host HA pair.
  • step S418, the overall management program 33520 reflects the above-described configuration change content in the configuration management table. At this time, the overall management program 33520 may perform the configuration information TB update process in step S100 again.
  • step S419 the overall management program 33520 returns the volume connection completion to the virtual machine to the virtual machine management user I / F program.
  • step S420 the virtual machine management user I / F program 33510 notifies the user 60000 of the completion of volume connection to the virtual machine.
  • 10000 Host, 11000: CPU, 12000: Secondary storage device, 13000 ... Memory, 13020 ... Hypervisor, 13030 ... Virtual machine program, 14000 ... I / O device, 15000 ... Bus, 16000 ... Initiator port, 17000 ... Management interface, 20000 ... Storage, 21000 ... CPU, 22000 ... Storage device, 23000 ... Memory, 24000 ... Cache memory, 25000 ... Bus, 26000 ... Initiator port, 27000 ... Target port, 28000 ... Management interface, 30000 ... Management server, 31000 ... CPU, 32000 ... secondary storage device, 33000 ... memory, 34000 ... input / output device, 35000 ... bus, 36000 ... management interface, 4 000 ... network, 41000 ... network, 50,000 ... data center

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

 複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機は、管理情報と管理プログラムを格納するメモリと、管理情報を参照し、管理プログラムを実行するCPUと、を有し、管理情報は、複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、複数のストレージリソースと複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、CPUは、仮想化マシンをデプロイするとき、まず、ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、接続可能構成管理情報を参照して、冗長構成のペアにするストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする。

Description

管理計算機およびリソース管理方法
 本発明は、サーバとストレージを利用するコンピュータシステムに関する。
 近年、従来型の計算機システムとは異なる形態のシステムとして、クラウドコンピューティングが広く普及してきている。クラウドコンピューティングは、提供するサービスにより、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)に分類される。クラウドジョンピューティングにおいては可用性および信頼性の向上とシステム拡張の柔軟性の実現のためリソースの管理が重要であり、様々な研究開発がすすめられている。
 IaaSのクラウドコンピューティングは、サーバとストレージが互いに接続されたコンピュータシステムにより提供される。サーバおよびストレージの可用性(Availability)に関する技術を開示する文献として特許文献1、2がある。特許文献1は、IaaSにおけるサーバの高可用性(HA:High Availability)を実現する技術を開示している。特許文献2は、IaaSにおけるストレージの高可用性を実現する技術を開示している。
米国特許出願公開US8880774 PCT/JP2014/061151
 IaaSを提供するコンピュータシステムにおいて、従来からあるサーバ側の高可用性技術と、ストレージ側の高可用性技術を組み合わせることにより、システムとしての可用性を高めることが考えられる。
 しかしながら、上述のように個々にサーバの高可用性技術とストレージの高可用性技術はそれぞれ検討されているものの、サーバとストレージの両方を連携する高可用性技術はない。
 サーバ側とストレージ側の双方で高可用性のための冗長構成(高可用性構成(HA構成))を組んだ環境を構築するにあたり、VM(Virtual Machine)のデプロイにおいて、システムを構成する装置により、HA構成に制約が課される。ストレージのHA構成が組めるかどうかは装置ベンダへの依存性が高く、同じ装置ベンダのストレージ同士出なければHA構成を組めない場合がある。
 通常、IaaSではサーバ側を起点としたリソースの管理および割り当てが行われる。これをサーバとストレージを連携させたHA構成の構築に適用すると、サーバ側のHA構成を組みその後でストレージ側のHA構成を組むことになる。
 しかしながら、装置ベンダが異なるストレージ機器同士では、仕様の相違により、HA構成を構築できない場合がある。サーバ側のHA構成を構築した後、ストレージ側のHA構成が構築できないことが発覚するといった事態が起こると、サーバ側のHA構成の構築からやり直しとなってしまう。
 IaaSのユーザは1度に大量のVM(Virtual Machine)を利用可能な状態にするようなVMデプロイを要求するケースが多い。なおかつ、そのVMデプロイの処理をできるだけ高速化することが求められる。しかし、上述ようなHA構成の構築方法では、デプロイ処理が遅延し、ユーザを待たせる時間が長くなってしまう。
 本発明の目的は、サーバとストレージを連携させた冗長構成を効率よく構築することを可能にする技術を提供することである。
 本発明の一つの実施態様に従う管理装置は、複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機であって、管理情報と管理プログラムを格納するメモリと、前記管理情報を参照し、前記管理プログラムを実行するCPUと、を有し、前記管理情報は、前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、前記CPUは、仮想化マシンをデプロイするとき、まず、前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする。
 本発明によれば、冗長構成に制約が課される場合が多いストレージの冗長構成を先に決めて次にサーバの冗長構成を決めるので、サーバとストレージを連携させた冗長構成を効率よく構築することができる。
第一の実施例のシステム構成を示すブロック図である。 ホスト10000の構成例を模式的に示す図である。 ストレージ20000のハードウェア構成例を模式的に示す図である。 管理サーバ30000の構成例を示す図である。 ストレージ管理テーブル33010の構成例を示す図である。 プール管理テーブル33020の構成例を示す図である。 ボリューム管理テーブル33030の構成例を示す図である。。 ボリュームペア作成可能構成管理テーブル33040の構成例を示す図である。 ボリュームペア管理テーブル33050の構成例を示す図である。 ホスト管理テーブル33110の構成例を示す図である。 ハイパバイザ管理テーブル33120の構成例を示す図である。 仮想マシン管理テーブル33130の構成例を示す図である。 仮想マシンペア作成可能構成管理テーブル33140の構成例を示す図である。 仮想マシンペア管理テーブル33150の構成例を示す図である。 ストレージ-ホスト接続可能構成管理テーブル33160の構成例を示す図である。 全ストレージ管理テーブル33210の構成例を示す図である。 全プール管理テーブル33220の構成例を示す図である。 全ボリューム管理テーブル33230の構成例を示す図である。 全ボリュームペア作成可能構成管理テーブル33240の構成例を示す図である。 全ボリュームペア管理テーブル33250の構成例を示す図である。 全ホスト管理テーブル33260の構成例を示す図である。 全ハイパバイザ管理テーブル33270の構成例を示す図である。 全仮想マシン管理テーブル33280の構成例を示す図である。 全仮想マシンペア作成可能構成管理テーブル33290の構成例を示す図である。 全仮想マシンペア管理テーブル33300の構成例を示す図である。 全ストレージ-ホスト接続可能構成管理テーブル33310の構成例を示す図である。 全体管理プログラム33520が、全てのホスト管理プログラム33530及びストレージ管理プログラム33540から図5~図15の構成情報を取得し、図16~図26の構成情報テーブルの内容を更新する処理を示すシーケンスである。 ホストおよびストレージのHA機能を適用した仮想マシン作成処理のシーケンスである。 ホストおよびストレージのHA機能を適用した仮想マシン作成処理のシーケンスである。 ストレージHA構成及びホストHA構成を決定する処理のフローチャートである。 ホストおよびストレージのDR機能を適用した仮想マシン作成処理のシーケンスである。 ホストおよびストレージのDR機能を適用した仮想マシン作成処理のシーケンスである。 ストレージDR構成及びホストDR構成を決定する処理を示すフローチャートである。 ホスト‐ストレージにHA構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。 ホスト‐ストレージにHA構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。
 図1は、第一の実施例のシステム構成を示すブロック図である。図1のシステムには、データセンタ50000と、データセンタ間のネットワーク41000と、が含まれている。
 データセンタ50000は、ホスト10000と、ストレージ20000と、管理サーバ300000と、ホスト‐ストレージ間のネットワーク40000と、を含む。なお、管理サーバ30000は、データセンタ50000内の全てのホスト10000およびストレージ20000と互いに通信可能である。また、管理サーバ30000は、他のデータセンタ50000の管理サーバ30000と互いに通信可能である。それらを相互に接続するネットワークは不図示である。
 ホスト10000は、ハイパバイザと、仮想マシン(図中のVM)と、を含む。仮想マシンは、別のホスト10000の仮想マシンとHAペア(図中のVMペア)を構成することが可能である。HAペアは高可用性を実現するペアであり、つまり冗長構成のペアである。
 ストレージ20000は、RAID GroupやThin Provisioning Pool等の記憶領域を提供するプールと、プールから記憶領域を切り出したボリューム(図中のVOL)と、を含む。ボリュームは、別のストレージ20000のボリュームとHAペア(図中のVOLペア)構成することが可能である。また、ストレージ20000は、仮想マシンのHAペア及びストレージ20000のHAペア用のクオーラムのディスク(Quorum Disk(Witness)(図中のQ-xx))のボリュームを含む。
 本実施例では、IaaSにおける仮想サーバ作成において、ストレージのHAペアを構成した後、ストレージのHAペアの構成に合わせてホスト(サーバ)のHAペアを構築する例について説明する。
 図2は、ホスト10000の構成例を模式的に示す図である。ホスト10000は、プロセッサであるCPU(Central Processing Unit)11000、不揮発性の二次記憶デバイス12000、主記憶デバイスであるメモリ13000、入出力デバイス14000、I/O要求発行側インタフェースであるイニシエータポート16000、管理インタフェース17000を含む。それら各構成要素は、バス15000により通信可能に相互接続されている。
 CPU11000は、メモリ13000に格納されたプログラムを読み出し、実行することにより動作する。典型的には、二次記憶デバイス12000に格納されているプログラム及びデータが、メモリ13000にロードされる。本例において、メモリ13000は、OS(Operating System)13100、ハイパバイザ13020及び複数の仮想マシンプログラム13030を保持する。
 イニシエータポート16000は、ホスト-ストレージ間のネットワーク40000またはデータセンタ間のネットワーク41000に接続するネットワークインタフェースである。イニシエータポート16000は、ネットワーク40000または41000を介してストレージ20000とデータ及び要求を送受信する。
 管理インタフェース17000は、管理サーバ30000と接続するネットワークインタフェースである。管理インタフェース17000は、データセンタ50000内のLocal Area Network(LAN)やデータセンタ間のネットワーク41000を介してストレージ20000と管理データ及び制御命令を送受信する。管理インタフェース17000は、さらに、データセンタ50000内のLocal Area Network(LAN)やデータセンタ間のネットワーク41000を介して管理サーバ30000と、管理データ及び制御命令を送受信する。
 図3は、ストレージ20000のハードウェア構成例を模式的に示す図である。本例において、各ストレージ20000の基本構成は同じであるが、構成要素の数および記憶容量等は各物理ストレージ装置に依存する。これらは異なる構成を有していてもよい。
 ストレージ20000は、複数の記憶デバイス(例えば、ハードディスクドライブやSSD(Solid State Drive)等)22000と、ストレージ20000を制御し、ボリューム管理や、ホスト10000又は他のストレージとのデータ通信等を行うストレージコントローラとを含む。ストレージコントローラは、プロセッサであるCPU21000、メモリ23000、I/O要求発行側インタフェースであるイニシエータポート26000、I/O要求受信側インタフェースであるターゲットポート27000、管理インタフェース28000、データ転送のためのキャッシュメモリ24000、を含む。ストレージ20000の構成要素は、バス25000で通信可能に相互接続されている。
 ストレージ20000は、イニシエータポート26000 を介して、外部にある他のストレージに接続し、外部の物理ストレージにI/O要求及びライトデータ(ユーザデータ)を送信し、外部の物理ストレージからリードデータ(ユーザデータ)を受信することができる。イニシエータポート26000は、ホスト‐ストレージ間のネットワーク40000及びデータセンタ間のネットワーク41000に接続する。
 イニシエータポート26000は、外部の物理ストレージシステムとの通信に用いられるFibre Channel(FC)、Fibre Channel Over Ethernet(登録商標)(FCoE)、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 ストレージ20000は、ターゲットポート27000において、ホスト10000又は外部のストレージに接続する。ストレージ20000は、ターゲットポート27000を介して、ホスト10000又は外部の物理ストレージからI/O要求及びライトデータを受信し、また、ホスト10000又は外部の物理ストレージにリードデータを送信する。ターゲットポート27000は、ホスト-ストレージ間のネットワーク40000及びデータセンタ間のネットワーク41000に接続する。
 ターゲットポート27000は、ホスト10000又は外部のストレージとの通信に用いられるFC、FCoE、iSCSI等のプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 管理インタフェース28000は、管理サーバ30000に接続するためのデバイスである。管理インタフェース28000は、LANで使用されるプロトコルを、ストレージコントローラ内部で用いられるプロトコル、例えば、PCIeに変換する機能を有する。
 CPU21000は、ストレージ制御のためのプログラムを実行することで、ホスト10000からのI/Oの制御、ストレージ20000のボリュームの管理および制御を含む所定の機能を実現する。本実施例で説明するCPU21000により実現される機能の少なくとも一部は、CPU21000と異なるロジック回路によって実現されてもよい。
 メモリ23000は、CPU21000が扱うデータやプログラムを格納する。メモリ23000のデータは、例えば、ストレージ20000内のいずれかの記憶デバイス22000又はフラッシュメモリ(不図示)、又はネットワークを介して接続された他の装置からメモリ23000にロードされる。
 図4は、管理サーバ30000の構成例を示す図である。管理サーバ30000は、プロセッサであるCPU31000、主記憶デバイスであるメモリ33000、二次記憶デバイス32000、入出力デバイス34000、管理インタフェース(I/F)36000を含む。管理サーバ30000のそれら各デバイスは、バス35000により通信可能に相互接続されている。
 管理サーバ30000は、管理プログラムを実行し、それに従って動作する。管理I/F36000はデータセンタ内のネットワークまたはデータセンタ間のネットワークに接続し、管理サーバ30000内のプロトコルと外部のネットワークのプロトコルとの間の変換を行う。管理サーバ30000は、管理I/F36000を介して、ストレージ20000及びホスト10000と通信することができる。
 入出力デバイス34000は、ディスプレイ、ポインタ又はキーボード等のデバイスの一つ又は複数のデバイスを含む。ユーザは、入出力デバイス34000により、管理サーバ3000を操作することができるほか、ネットワークを介して接続するクライアント計算機から管理サーバ30000にアクセスしてもよい。クライアント計算機は、管理サーバ30000と共に管理システムに含まれる。ユーザは、入力デバイス(例えばマウス及びキーボード)により必要な情報を入力し、出力デバイスにより必要な情報を視認することができる。
 CPU31000は、メモリ33000に記憶されているプログラムを実行することによって管理サーバ30000の所定の機能を実現する。メモリ33000は、CPU31000よって実行されるプログラム及びプログラムの実行に必要なデータを記憶する。管理サーバ30000で動作するプログラムについては後述する。本実施例で説明するCPU31000により実現される機能の少なくとも一部は、CPU31000と異なるロジック回路によって実現されてもよい。
 例えば、プログラムは、二次記憶デバイス32000からメモリ33000にロードされる。二次記憶デバイス32000は、管理サーバ30000の所定の機能を実現するために必要なプログラム及びデータを格納する、不揮発性の非一時的記憶媒体を備える記憶装置である。二次記憶デバイス32000は、ネットワークを介して接続された外部の記憶装置でもよい。
 本構成例の管理システムは、管理サーバで構成されているが、管理システムは複数の計算機で構成してもよい。複数の計算機の一つは表示用計算機であってもよく、管理処理の高速化や高信頼化のために、複数の計算機が管理サーバと同等の処理を実現してもよい。
 例えば、管理者は、管理システムの管理コンソールから、同管理システムの管理サーバにアクセスし、管理サーバに処理を指示するとともに、管理コンソールに管理サーバの処理結果を取得、表示させてもよい。管理システムは、物理ストレージ内に構成されていてもよい。管理システムの一部の機能が、物理ストレージ内に実装されていてもよい。
 管理サーバ30000のメモリ33000は、CPU31000が扱うデータやプログラムを格納する。メモリ33000のデータは、例えば、ストレージ20000内のいずれかの記憶デバイス22000又はフラッシュメモリ(不図示)、又はネットワークを介して接続された他の装置からメモリ33000にロードされる。
 メモリ33000は、OS、及び仮想マシン管理ユーザI/Fプログラム33510、全体管理プログラム33520、ホスト管理プログラム33530、ストレージ管理プログラム33540を保持する。さらに、メモリ33000は、構成情報管理テーブル33400を保持する。
 仮想マシン管理ユーザI/Fプログラム33510は、ユーザに仮想マシンを管理するためのCommand Line Interface(CLI)やGraphical User Interface(GUI)等のインタフェースを提供する。
 ホスト管理プログラム33530は、データセンタ内のホストのリソースを管理する。
 ストレージ管理プログラム33540は、データセンタ内のストレージのリソースを管理する。
 全体管理プログラム33520は、全データセンタのホスト及びストレージのリソースを管理する。全体管理プログラム33520は、管理サーバのホスト管理プログラムとストレージ管理プログラムと通信可能である。
 構成情報管理テーブル33400は、図5~図26に示すホストとストレージのリソースを管理するためのテーブルである。ストレージ管理プログラム33540は、図5~図9に示すテーブルの参照と更新を行う。ホスト管理プログラム33530は、図10~図15に示すテーブルの参照と更新を行う。全体管理プログラム33520は、図16~図26のテーブルの参照と更新を行う。以降にて、図5~図26のテーブルについて説明する。
 図5は、ストレージ管理テーブル33010の構成例を示す。ストレージ管理テーブル33010は、データセンタ内にある各ストレージのIDを格納するストレージID欄33011と、前記ストレージのハードウェアのベンダ名を格納するベンダ名33012とを有する。
 図6は、プール管理テーブル33020の構成例を示す。プール管理テーブル33020は、データセンタ内の各ストレージが持つプールのプールIDを格納するプールID欄33021と、前記プールを持つストレージのストレージIDを格納するストレージID欄33022と、前記プールの使用量や空容量等含めた全体容量の値を格納する全体容量欄33023と、前記プールの空容量の値を格納する空容量欄33024と、を有する。
 図7は、ボリューム管理テーブル33030の構成例を示す。ボリューム管理テーブル33030は、データセンタ内の各ストレージが持つプールから作成したボリュームのボリュームIDを格納するVOLID欄33031と、前記プールのプールIDを格納するプールID欄33032と、前記ボリュームの容量の値を格納する容量欄33033と、を有する。
 図8は、ボリュームペア作成可能構成管理テーブル33040の構成例を示す。ボリュームペア作成可能構成管理テーブル33040は、データセンタ内の各ストレージが持つプールIDを格納するプールID欄33041と、ボリュームペア構成を構築可能な別データセンタ内のストレージが持つプールIDを格納する相手プールID欄33043と、前記ペア種別の情報を格納するペア種別欄33042と、を有する。
 ペア種別欄33042には、例えばHAペアであれば“HA”、DRペアであれば“DR”という文字列が格納される。DR(Disaster Recovery)は、自然災害などの被害を受けたシステムの復旧あるいは修復である。DRでもサーバおよびストレージに冗長構成を構築してよい。なお、ボリュームペア構成可能なストレージの組合せは、当該ストレージハードウェアやソフトウェアの仕様等に従い自由に選択可能であってよい。
 図9は、ボリュームペア管理テーブル33050の構成例を示す。ボリュームペア管理テーブル33050は、ボリュームペアのペアIDを格納するVOLペアID欄33051と、データセンタ内にある当該ペアの片側ボリュームまたはQuorumボリュームのボリュームIDを格納するVOLID33052と、当該ペアのペア種別の情報を格納するペア種別欄33053と、当該ペアに関連するボリュームのボリューム種別の情報を格納するVOL種別欄33054と、当該ペアのペア状態の情報を格納するペア状態欄33055と、別のデータセンタ内にある当該ペアの片側ボリュームのボリュームIDを格納する相手VOLID欄33056と、当該ペアのQuorumボリュームのボリュームIDを格納するQuorumID欄33057と、当該ペアが属するコンシステンシーグループ等のグループIDを格納するGrpID欄33058と、を有する。
 コンシステンシーグループは、少なくとも一つのボリュームペアで構成され、各ボリュームペアは、正ボリュームと副ボリュームとを備える。正ボリュームは、上位装置に提供されライトアクセスの発生する論理ボリュームである。副ボリュームは、正ボリュームの複製となる論理ボリュームである。コンシステンシーグループとは、一以上の正ボリュームと一以上の副ボリュームとの間で整合性をとる必要のあるボリューム群である。コンシステンシーグループは、ディスク装置上に用意される。
 VOL種別欄には、例えばPrimary Volume(PVOL)であれば“PVOL”、Secondary Volume(SVOL)であれば“SVOL”、Quorumボリュームであれば“Quorum”という文字列が格納される。ペア状態欄33055には、例えばペアボリューム間でデータコピー中であれば”COPY”、データコピーが完了しデータ同期中であれば”PAIR”、データコピー中断中であれば”PSUS”(PAIR SUSPEND)等の文字列が格納される。
 図10は、ホスト管理テーブル33110の構成例を示す。ホスト管理テーブル33110は、データセンタ内にある各ホストのホストIDを格納するホストID欄33111と、を有する。
 図11は、ハイパバイザ管理テーブル33120の構成例を示す。ハイパバイザ管理テーブル33120は、データセンタ内の各ホスト上にあるハイパバイザのハイパバイザIDを格納するハイパバイザID欄33121と、ハイパバイザの種類を示す文字列を格納するハイパバイザ名欄33122と、当該ハイパバイザを持つホストのホストID33123と、を有する。
 図12は、仮想マシン管理テーブル33130の構成例を示す。仮想マシン管理テーブル33130は、データセンタ内のハイパバイザ上にデプロイされた仮想マシンのIDを格納するVMID欄33131と、当該仮想マシンがデプロイされたハイパバイザのハイパバイザIDを格納するハイパバイザID欄33132と、当該VMがアクセス可能なボリュームのIDを格納する接続VOLID33133と、を有する。
 図13は、仮想マシンペア作成可能構成管理テーブル33140の構成例を示す。仮想マシンペア作成可能構成管理テーブル33140は、データセンタ内のハイパバイザのIDを格納するハイパバイザID欄33141と、別のデータセンタにあるHAまたはDR等のペアとなり得るハイパバイザのIDを格納する相手ハイパバイザID欄33141と、当該ペアのペア種別欄33142欄と、を有する。
 図14は、仮想マシンペア管理テーブル33150の構成例を示す。仮想マシンペア管理テーブル33150は、データセンタ内の仮想マシンが構成要素となっているペアのIDを格納するVMペアID欄33151と、当該ペアのデータセンタ内の仮想マシンのIDを格納するVMID欄33152と、当該ペア種別の情報を示す文字列を格納するペア種別欄33153と、当該VMID欄33152のIDを持つ仮想マシンの状態の情報を示す文字列を格納するVM状態欄33155と、別データセンタの片側ペアとなるハイパバイザのIDを格納する相手ハイパバイザID欄33156と、当該ペアのQuorumボリュームのIDを格納するQuorumID欄33157と、を有する。
 VM状態欄には、例えば当該仮想マシンが稼動状態(Active)であれば“Active”、待機状態(Standby)であれば“Standby”等の文字列が格納される。
 図15は、ストレージ-ホスト接続可能構成管理テーブル33160の構成例を示す。ストレージ-ホスト接続可能構成管理テーブル33160は、データセンタ内のストレージのIDを格納するストレージID欄33161と、当該ストレージと任意のネットワークで接続されており、当該ストレージと通信可能なホストのIDを格納するホストID33162と、を有する。
 図16は、全ストレージ管理テーブル33210の構成例を示す。全ストレージ管理テーブル33210は、全データセンタにあるストレージのIDを格納するストレージID欄33211と、当該ストレージの前記ストレージハードウェアベンダ名を格納するベンダ名欄33212と、当該ストレージがあるデータセンタのIDを格納するデータセンタID欄33213と、を有する。
 図17は、全プール管理テーブル33220の構成例を示す。全プール管理テーブル33220は、全データセンタにあるプールのIDを格納するプールID33221と、当該プールを持つストレージのIDを示すストレージID欄33222と、当該プールの使用量や空容量等含めた全体容量の値を格納する全体容量欄33223と、前記プールの空容量の値を格納する空容量欄33224と、を有する。
 図18は、全ボリューム管理テーブル33230の構成例を示す。全ボリューム管理テーブル33230は、全データセンタにあるボリュームのIDを格納するVOLID欄3321と、当該ボリュームへ容量を割り当てるプールのIDを格納するプールID33232と、当該プールを持つストレージのIDを格納するストレージID欄33233と、当該ボリュームの容量の値を格納する容量欄33234と、を有する。
 図19は、全ボリュームペア作成可能構成管理テーブル33240の構成例を示す。全ボリュームペア作成可能構成管理テーブル33240は、全データセンタにおいて、ペアを構成可能なボリュームを提供する第一のプールのIDを格納する第一プールID欄33241と、第二のプールのIDを格納する第二プールID33242と、ペア種別の情報を示す文字列を格納する33243と、を有する。
 図20は、全ボリュームペア管理テーブル33250の構成例を示す。全ボリュームペア管理テーブル33250は、全データセンタ内にあるボリュームのペアのIDを格納するVOLペアID欄33251と、当該ペアのペア種別の情報を示す文字列を格納するペア種別欄33252と、当該ペアのペア状態の情報を示す文字列を格納するペア状態欄33253と、当該ペアのPVOLのIDを格納するPVOLID欄33254と、当該ペアのSVOLのIDを格納するSVOLID欄33255と、当該ペアのQuorumボリュームのIDを格納するQuorumID欄33256と、当該ペアのコンシステンシーグループ等のグループのIDを示すGrpID欄22357と、を有する。
 図21は、全ホスト管理テーブル33260の構成例を示す。全ホスト管理テーブル33260は、全データセンタにあるホストのIDを格納するホストID3261と、当該ホストがあるデータセンタのIDを格納するデータセンタID欄33262と、を有する。
 図22は、全ハイパバイザ管理テーブル33270の構成例を示す。全ハイパバイザ管理テーブル33270は、全データセンタにあるハイパバイザのIDを格納するハイパバイザID欄33271と、当該ハイパバイザの種類を示す文字列を格納するハイパバイザ名欄33272と、当該ハイパバイザを持つホストのIDを格納するホストID欄33273と、を有する。
 図23は、全仮想マシン管理テーブル33280の構成例を示す。全仮想マシン管理テーブル33280は、全データセンタにある仮想マシンのIDを格納するVMID欄33281と、当該仮想マシンがあるハイパバイザのIDを格納するハイパバイザID欄33282と、当該仮想マシンがアクセス可能なボリュームのIDを示す接続VOLID欄33283と、を有する。
 図24は、全仮想マシンペア作成可能構成管理テーブル33290の構成例を示す。全仮想マシンペア作成可能構成管理テーブル33290は、全データセンタにおいて、ペアを構成可能な仮想マシンを提供する第一のハイパバイザのIDを格納する第一ハイパバイザID欄33291と、第二のハイパバイザのIDを格納する第二ハイパバイザID欄33292と、当該ペアのペア種別の情報を示す文字列を格納するペア種別欄33293と、を有する。
 図25は、全仮想マシンペア管理テーブル33300の構成例を示す。全仮想マシンペア管理テーブル33300は、全データセンタにある仮想マシンのペアのIDを格納するVMペアID欄33301と、当該ペアのペア種別を示す文字列を格納するペア種別欄33302と、当該ペアのペア状態を示す文字列を格納するペア状態欄33303と、当該ペアの第一の仮想マシンのIDを格納する第一VMID33304と、当該第一の仮想マシンの状態を示す文字列を格納する第一VM状態欄33305と、第二の仮想マシンのIDを格納する第二VMID33306と、当該第二の仮想マシンの状態を示す文字列を格納する第二VM状態欄33307と、当該ペアのQuorumボリュームのIDを格納するQuorumID欄33308と、を有する。
 図26は、全ストレージ-ホスト接続可能構成管理テーブル33310の構成例を示す。全ストレージ-ホスト接続可能構成管理テーブル33310は、全データセンタのストレージのIDを格納するストレージID欄33311と、当該ストレージにネットワークで接続されており、当該ストレージと通信可能なホストのIDを格納する接続ホストID欄33312と、を有する。
 実施例1の仮想マシン作成処理のシーケンスを図27、図28、図29に示す。このシーケンスは、ユーザ60000、仮想マシン管理ユーザI/Fプログラム33510、全体管理プログラム33520、ホスト管理プログラム33530、ストレージ管理プログラム33540を含む。本実施例では、1ユーザ60000が、1管理サーバの1仮想マシン管理ユーザI/Fプログラム33510を介して仮想マシン作成操作を行う。さらに、同一管理サーバ30000の1全体管理プログラム33520が、同一管理サーバ30000のホスト管理プログラム33530及びストレージ管理プログラム33540、別のデータセンタ50000内にある管理サーバ30000のホスト管理プログラム33530及びストレージ管理プログラム33540に対し、各ホスト及びストレージの構成情報取得、ボリュームのHAペア作成、仮想マシンのHAペア設定、等の命令を発行する。
 図27は、全体管理プログラム33520が、全てのホスト管理プログラム33530及びストレージ管理プログラム33540から図5~図15の構成情報を取得し、図16~図26の構成情報テーブルの内容を更新する処理を示すシーケンス図である。
 ステップS101において、全体管理プログラム33520は、全てのホスト管理プログラム33530に対し、図10~図15に示すテーブルにあるホスト構成情報を取得する命令を送信する。ホスト管理プログラム33530は、全体管理プログラム33520から構成情報取得命令を受信したら、図10~図15に示すテーブルにあるホスト構成情報の内容を全体管理プログラム33520に送信する。
 次に、ステップS102において、全体管理プログラム33520は、ホスト管理プログラム33530より受信した構成情報を図16~図26のテーブルに反映する。
 ステップS103において、全体管理プログラム33520は、全てのストレージ管理プログラム33540に対し、図10~図15に示すテーブルにあるストレージ構成情報を取得する命令を送信する。ストレージ管理プログラム33540は、全体管理プログラム33520から構成情報取得命令を受信したら、図5~図9に示すテーブルにあるストレージ構成情報の内容を全体管理プログラムに送信する。
 次に、ステップS104において、全体管理プログラム33520は、ストレージ管理プログラム33540より受信した構成情報を図16~図26のテーブルに反映する。
 ここでは図27にて破線で囲われたステップS101~S104の一連の処理をステップS100とすることにする。ステップS111、S112のように、ユーザ60000の指示によりステップS100の構成情報取得が実行されてもよい。
 図28、図29は、ホストおよびストレージのHA機能を適用した仮想マシン作成処理のシーケンスである。
 図28、図29のユーザ60000は、全体管理プログラム33520に対し、仮想マシン作成・削除等の要求を出すIaaS利用者である。図28、図29のI/F33510は、仮想マシン管理ユーザI/Fプログラム33510を示す。ユーザ60000は、I/F33510を経由し全体管理プログラム33520に命令を発行する。図28、図29の全体管理33520は、I/F33510と同一管理サーバにある全体管理プログラム33520を示す。図28、図29のホスト管理33530は、各データセンタの管理サーバにあるホスト管理プログラム33530を示す。図28、図29のストレージ管理33540は、各データセンタの管理サーバにあるストレージ管理プログラム33540を示す。
 図28のステップS201において、ユーザ60000は、仮想マシン管理ユーザI/Fプログラム33510に対し、HA機能を適用した仮想マシン作成を命令する。
 次に、ステップS202において、仮想マシン管理ユーザI/Fプログラム33510は、全体管理プログラム33520に対し、HA機能を適用した仮想マシン作成の命令を送信する。
 次に、ステップS203において、全体管理プログラム33520は、ストレージHA構成及びホストHA構成を決定する。当該ステップの詳細な説明は後述する。
 次に、ステップS205~S215において、全体管理プログラム33520は、ステップS203で決定した、ストレージHA構成およびホストHA構成を元に、複数のストレージ管理プログラム33540に対し、HAボリュームペア作成を指示する。
 まず、ステップS205において、全体管理プログラム33520は、ストレージ管理プログラム33540に対し、HAのプライマリボリューム(Primary Volume、PVOL)作成の命令を送信する。
 次に、ステップS206において、ストレージ管理プログラム33540は、ストレージ管理プログラムからの命令に従い、当該ボリュームを作成し、当該命令完了をストレージ全体管理プログラムに返す。
 次に、ステップS207において、全体管理プログラムは、ストレージ管理プログラム33540に対し、HAのセカンダリボリューム(Secondary Volume、SVOL)作成の命令を送信する。
 次に、ステップS208において、ストレージ管理プログラム33540は、全体管理プログラム33520からの命令に従い、当該ボリュームを作成し、当該命令完了をストレージ管理プログラム33540に返す。
 次に、ステップS209において、全体管理プログラム33520は、ストレージ管理プログラム33540に対し、HAのQuorum用ボリューム作成の命令を送信する。
 次に、ステップS210において、ストレージ管理プログラム33540は、ストレージ管理プログラム33540からの命令に従い、当該ボリュームを作成し、当該命令の完了を全体管理プログラム33520に返す。
 次に、ステップS211において、全体管理プログラム33520は、PVOL側のストレージ管理プログラム33540に対し、PVOL‐Quorum接続の命令を送信する。
 次に、ステップS212において、PVOL側のストレージ管理プログラム33540は、Quorum側のストレージ管理プログラム33540に対し、PVOL‐Quorum接続設定を実行し、当該設定の完了を全体管理プログラム33520に返す。
 次に、ステップS213において、全体管理プログラム33520は、SVOL側のストレージ管理プログラム33540に対し、SVOL‐Quorum接続の命令を送信する。
 次に、ステップS214において、SVOL側のストレージ管理プログラム33540は、Quorum側のストレージ管理プログラム33540に対し、SVOL‐Quorum接続設定を実行し、当該設定の完了を全体管理プログラム33520に返す。
 次に、ステップS215において、全体管理プログラム33520は、PVOL側のストレージ管理プログラム33540に対し、PVOL‐SVOL間HAペア作成の命令を送信する。
 次に、ステップS216において、PVOL側のストレージ管理プログラム33540は、SVOL側のストレージ管理プログラム33540に対し、PVOL‐SVOL間HAペア作成を実行し、当該ペア作成の完了を全体管理プログラム33520に返す。
 次に、ステップS217において、全体管理プログラム33520は、前述のHAボリュームペア作成後の構成の情報を構成管理テーブルに反映する。このとき、全体管理プログラム33520が再度ステップS100の構成情報TB更新処理を実施してもよい。
 次に、図29のステップS218において、全体管理プログラム33520は、ホスト管理プログラム33530に対し、PVOLへのVMイメージ格納の命令を送信する。
 次に、ステップS219において、ホスト管理プログラム33530は、PVOL側のストレージ管理プログラム33540に対し、全体管理プログラム33520からの命令に従い、VMイメージデータのPVOLへのWrite命令を送信する。
 次に、ステップS220において、ストレージ管理プログラム33540は、PVOLに書き込まれたデータをSVOL側へコピーする。
 次に、ステップS221において、全体管理プログラム33520は、ホストHAのQuorum作成元となるストレージのストレージ管理プログラム33540に対し、Quorum用ボリュームの作成の命令を送信する。
 次に、ステップS222において、ストレージ管理プログラム33540は、ボリュームを作成し、当該命令の完了を全体管理プログラム33520に返す。
 次に、ステップS223において、ステップS204で決定したホストHA構成の各ハイパバイザに対し、ストレージHAペアボリュームからのパス定義、ホストHAのQuorum設定を実施する。
 まず、ステップS224において、ホスト管理プログラム33530は、PVOL側のストレージ管理プログラム33540に対し、PVOLからホストへのパス定義を指示する。
 次に、ステップS225において、ホスト管理プログラム33530は、ホストHAのQuorum側のストレージ管理プログラム33540に対し、Quorum設定を実施する。
 次に、ステップS226において、ホスト管理プログラム33530は、ホストHAペアの別ホストのホスト管理プログラム33530に対し、ストレージHAペアボリュームからのパス定義(ステップS226)、ホストHAのQuorum設定(ステップS227)を指示する。
 次に、ステップS228において、全体管理プログラム33520は、前述のHAボリュームペア作成後の構成の情報を構成管理テーブルに反映する。このとき、全体管理プログラム33520が再度ステップS100の構成情報TB更新処理を実施してもよい。
 次に、ステップS229において、全体管理プログラム33520は、ホスト管理プログラム33530に対し、仮想マシン起動を指示する。
 次に、ステップS230において、ホスト管理プログラム33530は、ボリュームにアクセスし(ステップS230)、仮想マシンを起動する。
 次に、ステップS231において、ホスト管理プログラム33530は、全体管理プログラム33520に対し、仮想マシン起動の完了を返す。
 次に、ステップS231において、全体管理プログラム33520は、仮想マシン管理ユーザI/Fプログラム33510に仮想マシン作成の完了を返す。
 次に、仮想マシン管理ユーザI/Fプログラム33510は、ユーザ60000に対し、仮想マシン作成の完了を通知する。
 図30は、ストレージHA構成及びホストHA構成を決定する処理のフローチャートである。
 まず、ステップS203-01において、全体管理プログラム33520は、全ボリュームペア作成可能構成管理テーブル33240を参照し、HAのボリュームペア作成可能となるストレージのプール組合せを1つ選択し、ステップS203-02に進む。もし未選択のプール組合せがなければ処理を終了する。ストレージHA構成またはホストHA構成のいずれかが未決定の場合は異常終了する。
 次に、ステップS203-02において、全体管理プログラム33520は、全プール管理テーブル33220を参照し、直前のステップS203-01で選択したプール組合せの両プールの空容量合計値を計算する。
 次に、ステップS203-03において、全体管理プログラム33520は、直前のステップS203-01で選択したプール組合せの両プールの空容量合計値が、既に決定済みのストレージHAのプール組合せのそれよりも多い場合、ステップS203-04に進み、そうでなければステップS203-01に戻る。
 なお、当該プール組合せの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。
 次に、ステップS203-04において、全体管理プログラム33520は、全ストレージ‐ホスト接続可能構成管理テーブルを参照し、直前のステップS203-01で選択したプール組合せの1ストレージと接続可能な未選択の1ホストがあればそれを選択しステップS203-05へ進み、そうでなければステップS203-01に戻る。
 次に、ステップS203-05において、全体管理プログラム33520は、全仮想マシンペア作成可能構成管理テーブル33290を参照し、直前のステップS203-04で選択したホストのハイパバイザ(第一)とHA構成可能なハイパバイザ(第二)の組合せのうち、未選択のものがあればそれを選択しステップS203-06に進み、そうでなければステップS203-04へ戻る。
 次に、ステップS203-06において、全体管理プログラム33520は、選択したホストのCPU利用率やメモリ利用率などの計算処理負荷情報を取得する。
 次に、ステップS203-07において、全体管理プログラム33520は、直前のステップS203-06で取得した負荷情報を参照し、直前のステップS203-04で選択したホストの負荷が、既に決定済みのホストHAの第一ホストのそれよりも低いならステップS203-08に進み、そうでなければステップS203-04に戻る。なお、当該ホストの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。
 次に、ステップS203-08において、全体管理プログラム33520は、全プール管理テーブル33220を参照し、ストレージHAのQuorum用ボリュームを作成するストレージのプール、及びホストHAのQuorum用ボリュームを作成するストレージのプールを選択する。当該ボリュームを作成するプールは、可用性維持のため、HAボリュームペアを作成する2プール以外のものやHAホストペアを配置するホストがあるデータセンタとは別のところにあるもの、かつ当該プールの空容量が最大となるものを選択する。なお、当該プールの選択方法は、本実施例の方法に限られず他の方法を用いてもよい。
 次に、ステップS203-09において、全体管理プログラム33520は、直前のステップS203-01からステップS203-09で決定したストレージHA構成とホストHA構成の組合せ情報を更新し、ステップS203-01に戻る。
 本実施例では、管理計算機(管理サーバ30000)は、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する計算機である。コンピュータシステムは、複数のサーバリソースと複数のストレージリソースとを有し、管理計算機は、その中からサーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てる。
 管理サーバ30000のメモリ33000には構成情報管理テーブル33400が格納されている。構成情報管理テーブル33400には、複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能なストレージ管理情報(ストレージ管理テーブル33010)と、複数のストレージリソースと複数のサーバリソースについて相互に接続できるか否かを判断可能な接続可能構成管理情報(ストレージ-ホスト接続可能構成管理テーブル33161)と、を含んでいる。
 ストレージ管理テーブル33010には、各ストレージのストレージID33011と、そのストレージのベンダのベンダ名33012とが対応づけて記録されている。ここでは同じベンダのストレージ同士が接続可能である。ストレージ-ホスト接続可能構成管理テーブル33160には、各ストレージのストレージIDと、そのストレージに接続可能なホストのホストID33162とが対応づけて記録されている。
 CPU31000は、仮想化マシンをデプロイするとき、まず、ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、接続可能構成管理情報を参照して、冗長構成のペアにするストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする。
 これにより、一般にサーバよりもストレージの方が冗長構成のペアを作るのに制約が多いので、冗長構成に制約が課される場合が多いストレージの冗長構成を先に決めて次にサーバの冗長構成を決めることで、サーバとストレージを連携させた冗長構成を効率よく構築することができる。
 また、CPU31000は、冗長構成のペアにするストレージリソースを冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、プライマリストレージおよびセカンダリストレージ以外の装置に、プライマリストレージとセカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納させる。また、CPU31000は、冗長構成のペアにするサーバリソースを冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、プライマリサーバおよびセカンダリサーバ以外の装置に、プライマリサーバとセカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納させる。これによれば、クオーラムの情報をプライマリおよびセカンダリ以外の第三のサイトに配置することができる。
 また、CPU31000は、サーバクオーラム情報とストレージクオーラム情報を同一装置に格納させることができてもよい。これによれば、サーバとストレージのクオーラム情報を同一装置に格納できるので、クオーラム情報を効率よく配置することができる。
 また、複数のサーバ装置および複数のストレージ装置は同一の災害で同時に障害とならない複数のサイトに分散配置されてもよい。その場合、CPU31000は、冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置を互いに異なるサイトとなるように設定するとよい。また、CPU31000は、冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置を互いに異なるサイトとなるように設定する。これによれば、冗長構成のペアおよびクオーラム情報を格納する装置を災害で同時に障害とならないサイトに配置し、システムの高い信頼性を確保することができる。
 また、CPU31000は、冗長構成のストレージリソースのペアが複数となる場合に、その複数のストレージリソースのペアを含み全ペアの整合性をとるコンシステンシーグループを設定するとよい。これによれば、ストレージリソースのペアをコンシステンシーグループにして管理することができ、整合性の確保や仮想化マシンのデプロイを効率よく行うことが可能である。
 なお、本実施例では、ストレージの冗長構成のペア先にサーバの冗長構成のペアを後に定める例を示したが、他の構成も可能である。2つのリソースがあったとき、冗長構成のペアを決定するときにその組み合わせに課される制約が大きい方のペアを先に決定すればよい。
 例えば、コンピュータシステムは、サーバとストレージが例示される複数の第1リソースと複数の第2リソースとを有し、第1リソースと第2リソースを組み合わせて仮想化マシンに割り当てる場合、管理装置は、第1リソースおよび第2リソースについて冗長構成のペアを選択するとき、複数の中から選択可能なペアの組合せの割合が低い方のリソースについて先にペアを選択する。これによれば、冗長構成のペアに課される制約が大きいリソースを先に決めて次に他方のリソースの冗長構成のペアを決めるので、第1リソースと第2リソースを連携させた冗長構成を効率よく構築することができる。ここでは選択可能なペアの組合せの割合が低い方がペアの決定に課される制約が大きいとしている。
 第二の実施例は、IaaSにおける仮想サーバ作成において、ストレージDRを構成した後、ストレージDR(Disaster Recovery)の構成に合わせてホストDR構成を構築する例である。第一の実施例のHAではプライマリとセカンリダリの他にQuorumを設定したが、第二の実施例のDRでは、設定するのはプラオマリとセカンダリだけでQuorumは設定しない。
 図31、図32は、ホストおよびストレージのDR機能を適用した仮想マシン作成処理のシーケンスである。図31は第一の実施例における図28に対応し、図32は第一の実施例における図29に対応する。図31、図32のシーケンスはQuorum設定が無いという点が図28、図29のシーケンスと異なる。
 図33は、ストレージDR構成及びホストDR構成を決定する処理を示すフローチャートである。図33は第一の実施例における図30に対応する。図33のフローチャートは、Quorum設定が無いという点だけが図30と異なる。
 本実施例によれば、第一の実施例におけるHA機能と同様にDR機能においてもサーバとストレージを連携させた冗長構成を効率よく構築することが可能である。
 第三の実施例は、IaaSにおける仮想サーバの作成において、既に作成済みのHAに適用された仮想マシンに対し、別のボリュームを接続する例である。
 図34、図35は、ホスト‐ストレージにHA構成を適用した仮想マシンにボリュームを接続する処理を示すシーケンスである。
 まず、図34のステップS401において、ユーザ60000は、仮想マシン管理I/Fプログラム33510に対し、特定の仮想マシンへの特定のボリューム接続を指示する。
 次に、ステップS402において、仮想マシン管理I/Fプログラム33510は、全体管理プログラム33520に対し、仮想マシンへのボリューム接続を指示する。
 次に、ステップS403において、全体管理プログラム33520は、全仮想マシンペア管理テーブル33300を参照し、特定のVMペアID33301のペア種別33302を確認する。ここでは、当該ペア種別33302が“HA”とする。
 次に、ステップS404において、全体管理プログラム33520は、全ボリューム管理テーブル33230と、全ボリュームペア作成可能構成管理テーブル33240を参照し、接続指示のあった特定のボリュームとHAペアを作成可能となるSVOL側のプール選択と、Quorum用ボリューム作成先プール選択を実施する。各プールの選択方法は、実施例1のステップS203と同様である。
 次に、ステップS405~S413において、全体管理プログラム33520は、ストレージ管理プログラム33540に対し、PVOL作成、SVOL作成、Quorum接続、HAペア作成を実施する。ステップS411のHAペア作成の際、全体管理プログラム33520は、全ボリュームペア管理テーブル33250、全仮想マシン管理テーブル33280を参照し、特定のVMに既に接続されたHAペアボリュームと同一のコンシステンシーグループIDを特定し、HAペア作成を実施する。
 次に、ステップS415~S417において、全体管理プログラム33520は、作成したHAペアボリュームに監視を実施し、特定のホストHAペアの各VMに対するパス定義を実施する。
 次に、ステップS418において、全体管理プログラム33520は、前述の構成変更内容を構成管理テーブルに反映する。このとき、全体管理プログラム33520が再度ステップS100の構成情報TB更新処理を実施してもよい。
 次に、ステップS419において、全体管理プログラム33520は、仮想マシン管理ユーザI/Fプログラムに、仮想マシンへのボリューム接続完了を返す。
 次に、ステップS420において、仮想マシン管理ユーザI/Fプログラム33510は、ユーザ60000に対し、仮想マシンへのボリューム接続完了を通知する。
 上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をそれらの実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
10000…ホスト、11000…CPU、12000…二次記憶デバイス、13000…メモリ、13020…ハイパバイザ、13030…仮想マシンプログラム、14000…入出力デバイス、15000…バス、16000…イニシエータポート、17000…管理インタフェース、20000…ストレージ、21000…CPU、22000…記憶デバイス、23000…メモリ、24000…キャッシュメモリ、25000…バス、26000…イニシエータポート、27000…ターゲットポート、28000…管理インタフェース、30000…管理サーバ、31000…CPU、32000…二次記憶デバイス、33000…メモリ、34000…入出力デバイス、35000…バス、36000…管理インタフェース、40000…ネットワーク、41000…ネットワーク、50000…データセンタ
 
 

Claims (10)

  1.  複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理する管理計算機であって、
     管理情報と管理プログラムを格納するメモリと、
     前記管理情報を参照し、前記管理プログラムを実行するCPUと、を有し、
     前記管理情報は、前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報と、前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報と、を含み、
     前記CPUは、仮想化マシンをデプロイするとき、まず、前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、次に、前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする、
    管理計算機。
  2.  前記CPUは、
     前記冗長構成のペアにするストレージリソースを前記冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、前記プライマリストレージおよび前記セカンダリストレージ以外の装置に、前記プライマリストレージと前記セカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納させ、
     前記冗長構成のペアにするサーバリソースを前記冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、前記プライマリサーバおよび前記セカンダリサーバ以外の装置に、前記プライマリサーバと前記セカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納させる、請求項1に記載の管理計算機。
  3.  前記CPUは、
     前記サーバクオーラム情報と前記ストレージクオーラム情報を同一装置に格納させる、請求項2に記載の管理計算機。
  4.  前記複数のサーバ装置および前記複数のストレージ装置は同一の災害で同時に障害とならない複数のサイトに分散配置されており、
     前記CPUは、
     前記冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置を互いに異なるサイトになるように設定し、
     前記冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置を互いに異なるサイトになるように設定する、
    請求項1に記載の管理計算機。
  5.  前記CPUは、
     前記冗長構成のストレージリソースのペアが複数となる場合に前記複数のストレージリソースのペアを含み前記全ペアの整合性をとるコンシステンシーグループを設定する、
    請求項1に記載の管理計算機。
  6.  複数のサーバリソースと複数のストレージリソースとを有し、サーバリソースとストレージリソースを組み合わせて仮想化マシンに割り当てるコンピュータシステムのリソースを管理するためのリソース管理方法であって、
     管理計算機が、
     前記複数のストレージリソースについて冗長構成のペアにできるか否かを判断可能にするストレージ管理情報、および前記複数のストレージリソースと前記複数のサーバリソースについて相互に接続できるか否かを判断可能にする接続可能構成管理情報を含む管理情報を格納し、
     仮想化マシンをデプロイするとき、
     前記ストレージ管理情報を参照して、冗長構成のペアにするストレージリソースを決定し、
     前記接続可能構成管理情報を参照して、前記冗長構成のペアにする前記ストレージリソースのそれぞれと接続できるサーバリソースを選択して冗長構成のペアにする、
    リソース管理方法。
  7.  前記冗長構成のペアにするストレージリソースを前記冗長構成のプライマリストレージおよびセカンダリストレージにそれぞれ割り当て、前記プライマリストレージおよび前記セカンダリストレージ以外の装置に、前記プライマリストレージと前記セカンダリストレージが相互に生存確認するためのストレージクオーラム情報を格納し、
     前記冗長構成のペアにするサーバリソースを前記冗長構成のプライマリサーバおよびセカンダリサーバにそれぞれ割り当て、前記プライマリサーバおよび前記セカンダリサーバ以外の装置に、前記プライマリサーバと前記セカンダリサーバが相互に生存確認するためのサーバクオーラム情報を格納する、請求項6に記載のリソース管理方法。
  8.  前記サーバクオーラム情報と前記ストレージクオーラム情報を同一装置に格納させる、請求項7に記載のリソース管理方法。
  9.  前記複数のサーバ装置および前記複数のストレージ装置は同一の災害で同時に障害とならない複数のサイトに分散配置されており、
     前記冗長構成のペアにするサーバリソースおよびサーバクオーラム情報を格納する装置を互いに異なるサイトになるように設定し、
     前記冗長構成のペアにするストレージリソースおよびストレージクオーラム情報を格納する装置を互いに異なるサイトになるように設定する、
    請求項6に記載のリソース管理方法。
  10.  前記管理計算機が、
     前記冗長構成のストレージリソースのペアが複数となる場合に前記複数のストレージリソースのペアを含み前記全ペアの整合性をとるコンシステンシーグループを設定する、
    請求項6に記載のリソース管理方法。
     
     
PCT/JP2015/060722 2015-04-06 2015-04-06 管理計算機およびリソース管理方法 WO2016162916A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/544,528 US10592268B2 (en) 2015-04-06 2015-04-06 Management computer and resource management method configured to combine server resources and storage resources and allocate the combined resources to virtual machines
PCT/JP2015/060722 WO2016162916A1 (ja) 2015-04-06 2015-04-06 管理計算機およびリソース管理方法
JP2017510805A JP6472508B2 (ja) 2015-04-06 2015-04-06 管理計算機およびリソース管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/060722 WO2016162916A1 (ja) 2015-04-06 2015-04-06 管理計算機およびリソース管理方法

Publications (1)

Publication Number Publication Date
WO2016162916A1 true WO2016162916A1 (ja) 2016-10-13

Family

ID=57071876

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/060722 WO2016162916A1 (ja) 2015-04-06 2015-04-06 管理計算機およびリソース管理方法

Country Status (3)

Country Link
US (1) US10592268B2 (ja)
JP (1) JP6472508B2 (ja)
WO (1) WO2016162916A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020071840A (ja) * 2018-11-02 2020-05-07 日本電信電話株式会社 負荷平準化装置、負荷平準化方法および負荷平準化プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016162916A1 (ja) * 2015-04-06 2016-10-13 株式会社日立製作所 管理計算機およびリソース管理方法
JP6878369B2 (ja) * 2018-09-03 2021-05-26 株式会社日立製作所 ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム
JP7150551B2 (ja) * 2018-10-02 2022-10-11 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御装置、ネットワーク構築システム、ネットワーク構築方法、及びプログラム
US10705759B2 (en) * 2018-10-25 2020-07-07 Dell Products L.P. Managing disk drives of a data storage environment
US11379246B2 (en) * 2019-07-24 2022-07-05 EMC IP Holding Company LLC Automatic configuration of multiple virtual storage processors
US11620069B2 (en) 2021-01-27 2023-04-04 Hitachi, Ltd. Dynamic volume provisioning for remote replication
US11579780B1 (en) 2021-08-27 2023-02-14 Hitachi, Ltd. Volume remote copy based on application priority
US11977433B2 (en) 2022-09-27 2024-05-07 Hitachi, Ltd. Failure area identification system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290541A1 (en) * 2012-04-25 2013-10-31 Hitachi ,Ltd. Resource management system and resource managing method
WO2014068764A1 (ja) * 2012-11-02 2014-05-08 株式会社日立製作所 システム冗長化確認方法及び計算機システム
WO2014199506A1 (ja) * 2013-06-14 2014-12-18 株式会社日立製作所 ストレージ管理計算機及びストレージ管理方法
JP2015504224A (ja) * 2012-01-17 2015-02-05 アルカテル−ルーセント ネットワークおよびストレージアウェア仮想マシン配置のための方法および装置
JP2015508213A (ja) * 2012-02-28 2015-03-16 マイクロソフト コーポレーション ストレージプール内のディスク所有権の調停

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
US7334064B2 (en) * 2003-04-23 2008-02-19 Dot Hill Systems Corporation Application server blade for embedded storage appliance
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US7584226B2 (en) * 2005-05-24 2009-09-01 International Business Machines Corporation System and method for peer-to-peer grid based autonomic and probabilistic on-demand backup and restore
US7783833B2 (en) * 2006-09-28 2010-08-24 Hitachi, Ltd. Storage system, method for managing the same, and storage controller
US7590672B2 (en) * 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
US7930529B2 (en) * 2006-12-27 2011-04-19 International Business Machines Corporation Failover of computing devices assigned to storage-area network (SAN) storage volumes
JP5184552B2 (ja) * 2007-01-03 2013-04-17 レイセオン カンパニー コンピュータストレージシステム
US20080189700A1 (en) 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US10108460B2 (en) * 2008-02-28 2018-10-23 International Business Machines Corporation Method and system for integrated deployment planning for virtual appliances
JP4792490B2 (ja) * 2008-09-08 2011-10-12 株式会社日立製作所 記憶制御装置及びraidグループの拡張方法
WO2010127365A1 (en) * 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
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
TWI408688B (zh) * 2009-10-12 2013-09-11 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
US8417899B2 (en) * 2010-01-21 2013-04-09 Oracle America, Inc. System and method for controlling access to shared storage device
US8443231B2 (en) * 2010-04-12 2013-05-14 Symantec Corporation Updating a list of quorum disks
JP5424992B2 (ja) * 2010-06-17 2014-02-26 株式会社日立製作所 計算機システム、及びシステム制御方法
US8554917B2 (en) * 2010-08-20 2013-10-08 International Business Machines Corporation Performance isolation for storage clouds
US9203900B2 (en) * 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
US9019123B2 (en) * 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US20140244573A1 (en) * 2013-02-27 2014-08-28 Allan Michael Gonsalves Data warehouse with cloud fact table
US9378145B2 (en) * 2013-03-05 2016-06-28 Dot Hill Systems Corporation Storage controller cache synchronization method and apparatus
US9886451B2 (en) * 2013-04-30 2018-02-06 Hitachi, Ltd. Computer system and method to assist analysis of asynchronous remote replication
JP6212934B2 (ja) * 2013-05-07 2017-10-18 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
US9106537B1 (en) * 2013-06-05 2015-08-11 Parallels IP Holdings GmbH Method for high availability of services in cloud computing systems
JP6191346B2 (ja) * 2013-09-09 2017-09-06 富士通株式会社 ストレージ制御装置、ディスクアレイ装置の制御方法及びディスクアレイ装置の制御プログラム
IN2014DE00404A (ja) * 2014-02-13 2015-08-14 Netapp Inc
TWI548991B (zh) * 2014-02-14 2016-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
JP5620614B1 (ja) 2014-04-21 2014-11-05 株式会社日立製作所 ストレージシステム
WO2016162916A1 (ja) * 2015-04-06 2016-10-13 株式会社日立製作所 管理計算機およびリソース管理方法
US10178168B2 (en) * 2015-08-19 2019-01-08 Facebook, Inc. Read-after-write consistency in data replication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015504224A (ja) * 2012-01-17 2015-02-05 アルカテル−ルーセント ネットワークおよびストレージアウェア仮想マシン配置のための方法および装置
JP2015508213A (ja) * 2012-02-28 2015-03-16 マイクロソフト コーポレーション ストレージプール内のディスク所有権の調停
US20130290541A1 (en) * 2012-04-25 2013-10-31 Hitachi ,Ltd. Resource management system and resource managing method
WO2014068764A1 (ja) * 2012-11-02 2014-05-08 株式会社日立製作所 システム冗長化確認方法及び計算機システム
WO2014199506A1 (ja) * 2013-06-14 2014-12-18 株式会社日立製作所 ストレージ管理計算機及びストレージ管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIROKAZU SETO: "Cluster to Fuka Bunsan de Kayosei to Shori Seino no Kojo o Ryoritsu", NIKKEI WINDOWS FOR IT PROFESSIONALS, 1 January 2005 (2005-01-01), pages 42 - 49 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020071840A (ja) * 2018-11-02 2020-05-07 日本電信電話株式会社 負荷平準化装置、負荷平準化方法および負荷平準化プログラム
WO2020090777A1 (ja) * 2018-11-02 2020-05-07 日本電信電話株式会社 負荷平準化装置、負荷平準化方法および負荷平準化プログラム
JP7014130B2 (ja) 2018-11-02 2022-02-01 日本電信電話株式会社 負荷平準化装置、負荷平準化方法および負荷平準化プログラム

Also Published As

Publication number Publication date
US10592268B2 (en) 2020-03-17
US20180011728A1 (en) 2018-01-11
JPWO2016162916A1 (ja) 2017-12-07
JP6472508B2 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
JP6472508B2 (ja) 管理計算機およびリソース管理方法
US8086808B2 (en) Method and system for migration between physical and virtual systems
US10614096B2 (en) Disaster recovery of mobile data center via location-aware cloud caching
US9098466B2 (en) Switching between mirrored volumes
US8959323B2 (en) Remote restarting client logical partition on a target virtual input/output server using hibernation data in a cluster aware data processing system
US8458413B2 (en) Supporting virtual input/output (I/O) server (VIOS) active memory sharing in a cluster environment
US8122212B2 (en) Method and apparatus for logical volume management for virtual machine environment
US20140115579A1 (en) Datacenter storage system
US10241712B1 (en) Method and apparatus for automated orchestration of long distance protection of virtualized storage
US20120151265A1 (en) Supporting cluster level system dumps in a cluster environment
US9262087B2 (en) Non-disruptive configuration of a virtualization controller in a data storage system
US9069640B2 (en) Patch applying method for virtual machine, storage system adopting patch applying method, and computer system
US8954706B2 (en) Storage apparatus, computer system, and control method for storage apparatus
US9513823B2 (en) Data migration
US9875059B2 (en) Storage system
JP7012010B2 (ja) 情報処理システム、及び、情報処理システムの制御方法
US11023134B1 (en) Addition of data services to an operating system running a native multi-path input-output architecture
US11392329B1 (en) Uniform host attachment
US11853557B2 (en) Shared drive storage stack distributed QoS method and system
US9052839B2 (en) Virtual storage apparatus providing a plurality of real storage apparatuses
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
US11461029B1 (en) Techniques for storage management
US20240069778A1 (en) Integrating mirrored storage to remote replication site

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15544528

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2017510805

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15888411

Country of ref document: EP

Kind code of ref document: A1