WO2011083522A1 - 計算機システム及びその可用化方法 - Google Patents
計算機システム及びその可用化方法 Download PDFInfo
- Publication number
- WO2011083522A1 WO2011083522A1 PCT/JP2010/001535 JP2010001535W WO2011083522A1 WO 2011083522 A1 WO2011083522 A1 WO 2011083522A1 JP 2010001535 W JP2010001535 W JP 2010001535W WO 2011083522 A1 WO2011083522 A1 WO 2011083522A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- standby
- physical
- server
- request
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a computer system and a method for making the computer system usable, and is suitable for application to, for example, a computer system in which physical devices and virtual devices are multiplexed for the purpose of redundancy.
- Patent Document 1 discloses a technique for assigning other physical computer resources to be shared and used for the virtual computer resources of the standby system of the virtual server.
- a specific physical computer resource (hereinafter referred to as an active physical computer resource) is allocated exclusively to the active virtual computer resource of the virtual server, and the standby virtual of the virtual server is allocated.
- other physical computer resources hereinafter referred to as standby physical computer resources
- the standby system of the virtual server Availability can be improved by continuing processing with virtual machine resources.
- a plurality of standby virtual computer resources are allocated the same or a small number of standby physical computer resources, and therefore, countermeasures in the event of a failure as described above. It is necessary to select one of the following two countermeasures. (1) Maintain performance by allocating (occupying) 100% of the standby physical computer resources to the standby virtual computer resources (2) Relieving more virtual computer resources at the expense of performance
- the former countermeasure it is possible to maintain the performance of the virtual server to which the failed physical computer resource has been allocated, but the requests that have been allocated to the physical computer resource up to that point can be Therefore, there is a problem that the performance of the entire system is deteriorated. Also, for example, in a system in which only one standby physical computer resource exists, when a failure occurs in another active physical computer resource, the physical computer resource in which the failure has occurred is allocated. There is a problem that it becomes impossible to relieve the work performed by the virtual server.
- the present invention has been made in view of the above points, and intends to propose a highly available computer system and a failure handling method capable of maintaining performance as much as possible while relieving more work.
- the physical server is an active virtual device obtained by virtualizing the active physical device and the standby physical device, and the active physical device.
- a virtualization mechanism that provides a plurality of virtual servers each having a standby virtual device obtained by virtualizing the standby physical device, and the virtualization mechanism is configured for the active system of the virtual server.
- the active physical device is allocated exclusively to a virtual device, the virtual physical device is shared and allocated to the standby virtual device of the virtual server, and the active or standby virtual device of the virtual server is allocated. Request issued from the active or standby physical device assigned to the active or standby virtual device.
- the standby virtual device of the virtual server When a failure occurs in the active physical device assigned to the active virtual device of the virtual server, the standby virtual device of the virtual server
- the standby physical device that is not set as a physical device to be used with high priority for the standby virtual device of any of the virtual servers is assigned to the standby virtual device as the virtual device of another standby system.
- the device is distributed to the standby physical device set as a device.
- the physical server in the method for enabling a computer system having a physical server, includes a working physical device and a standby physical device, and a working virtual device obtained by virtualizing the working physical device, And a virtualization mechanism that provides a plurality of virtual servers each having a standby virtual device obtained by virtualizing the standby physical device, and the virtualization mechanism is configured for the active system of the virtual server.
- the active physical device is allocated exclusively to a virtual device, the virtual physical device is shared and allocated to the standby virtual device of the virtual server, and the active or standby virtual device of the virtual server is allocated.
- the request issued from is assigned to the active or standby physical device assigned to the active or standby virtual device.
- the standby virtual device of the virtual server When a failure occurs in the active physical device assigned to the active virtual device of the virtual server, the standby virtual device of the virtual server
- the standby physical device that is not set as a physical device to be used with high priority for the standby virtual device of any of the virtual servers is used as the virtual device of the other standby system.
- a physical device that is set as a physical device that is used with higher priority than the standby virtual device of the virtual server and that is used by the standby virtual device of the virtual server with high priority And a second step of allocating to the standby physical device set as.
- the standby virtual device when there is no standby physical device that is not set as a physical device to be used by the standby virtual device of any virtual server with high priority, a request is sent to any of the virtual servers. Because the standby virtual device is allocated to the standby physical device that is set as a physical device to be used with high priority, the transaction that is executed by the virtual server to which the failed physical adapter is assigned. In addition to this, it is possible to realize a highly available computer system capable of maintaining the processing performance of these operations as much as possible while relieving other operations and an enabling method thereof.
- FIG. 3 is a conceptual diagram for explaining an OS management table.
- FIG. 1 denotes a computer system according to this embodiment as a whole.
- the computer system 1 includes a management server 2, a management network 3, a plurality of physical servers 4, a business network 5, and a storage subsystem 6.
- the management server 2 is a server device used to manage the physical server 4 in the computer system 1 and is connected to each physical server 4 via the management network 3.
- the management server 2 is connected to the management interface 3A of the management network 3 and the management interface 5A of the business network 5, so that the management server 2 and the management network 3 and the business network 5 VLAN (Virtual LAN) are connected. ) Can be set.
- VLAN Virtual LAN
- the management network 3 includes, for example, a LAN (Local Area Network), the Internet, a public line, or a dedicated line.
- the management network 3 is used for managing the operation of the physical server 4 such as OS (Operating System) or application distribution and power control.
- the physical server 4 is composed of, for example, a blade server.
- the physical server 4 is implemented with virtualization software called a hypervisor, and one or a plurality of virtual servers can be operated on a virtualization mechanism (to be described later) constructed by executing the virtualization software. It is made like that.
- the business network 5 is composed of, for example, FC-SAN (Fibre-Chanel-Storage Area Network) or IP-SAN (Internet Protocol-Storage Area Network).
- FC-SAN Fibre-Chanel-Storage Area Network
- IP-SAN Internet Protocol-Storage Area Network
- the storage subsystem 6 is a storage device that provides a storage area for reading / writing data from / to the physical server 4, and includes a plurality of storage devices 10 and a controller that controls input / output of data to / from the plurality of storage devices 10. 11.
- the storage device 10 includes, for example, an expensive disk device such as a SCSI (Small Computer System Interface) disk or an inexpensive disk device such as a SATA (Serial AT Attachment) disk or an optical disk.
- an expensive disk device such as a SCSI (Small Computer System Interface) disk or an inexpensive disk device such as a SATA (Serial AT Attachment) disk or an optical disk.
- logical volumes (hereinafter referred to as logical volumes) VOL are set on a physical storage area provided by one or more storage devices 10. Data is stored in the logical volume VOL in units of blocks of a predetermined size.
- FIG. 2 shows a schematic configuration of the management server 2.
- the management server 2 includes a CPU (Central Processing Unit) 20, a memory 21, a network interface 22, and a disk interface 23.
- CPU Central Processing Unit
- the CPU 20 is a processor that controls the operation of the entire management server 2, loads a program and data from an external disk device (not shown) into the memory 21 at the time of startup, and executes various processes based on the loaded program and data.
- the memory 21 is used not only for storing programs and data loaded from the external disk device, but also as a work memory for the CPU 20.
- a control program group 24 and a management table group 25, which will be described later, are also stored and held in the memory 21.
- the network interface 22 functions as an interface for the management server 2 to communicate with the physical server 4 via the management network 3, and executes processing such as protocol conversion during communication between the management server 2 and the physical server 4.
- the disk interface 23 functions as an interface with the external disk device described above.
- one network interface 22 and one disk interface 23 are shown, but actually, there are a plurality of network interfaces 22 and disk interfaces 23, respectively.
- a separate network interface 22 for the management network 3 and a separate network interface 22 for the business network 5 are used.
- the physical server 4 includes a CPU 30, a memory 31, a BMC (Basement Management Controller) 32, a network interface 33, and a disk interface 34.
- BMC Base Management Controller
- the CPU 30 is a processor that controls the operation of the entire physical server 4, and stores various programs such as an OS (Operating System), various business application programs and management programs, and necessary data from an external disk device (not shown) at startup. And execute various processes according to the loaded program.
- the memory 31 is used not only for storing various programs and data loaded from the external disk device, but also used as a work memory for the CPU 30.
- a control program group 35 and a management table group 36 which will be described later, are also stored and held in the memory 21.
- the BMC32 performs power supply control and control of each interface.
- the network interface 33 and the disk interface 34 have the same functions as the network interface 33 and the disk interface 34 of the management server 2, and communicate with the management server 2 via the management network 3 or the business network 5. It is used as an interface when data is transmitted to and received from the storage subsystem 6 via the.
- one network interface 33 and one disk interface 34 are shown, but actually, there are a plurality of network interfaces 33 and disk interfaces 34, respectively.
- a separate network interface 33 for the management network 3 and a separate network interface 33 for the business network 5 are used.
- a virtualization mechanism 40 constructed by executing virtualization software loaded from an external disk device is arranged in the memory 31 of the physical server 4.
- the virtualization mechanism 40 has a function of virtualizing computer resources of the physical server 4, and a virtual CPU 50 obtained by virtualizing the CPU 30, memory 31, BMC 32, network interface 33, and disk interface 34 of the physical server 4, respectively.
- One or a plurality of virtual servers 55 including virtual device groups such as a virtual memory 51, a virtual BMC 52, a virtual network interface 53, and a virtual disk interface 54 are provided.
- the OS 56 is logically stored in the virtual memory 51 of each virtual server 55, and a virtual device group in the virtual server 55 is managed by the virtual CPU 50 based on the OS 56.
- a business application program 57 is executed on the OS 56 so that each virtual server 55 can execute individual business processing.
- a management program 58 is running on the OS 56, and the management program 58 can perform fault detection, power control of the OS 56, inventory management, and the like.
- the virtualization mechanism 40 manages the correspondence between the computer resources (physical computer resources) of the physical server 4 and the computer resources (virtual computer resources) of one or more virtual servers 55 operating on the physical server 4. Thus, by giving an instruction to the virtualization mechanism 40 from the management server 2, it is possible to allocate physical computer resources to the virtual computer resources and to cancel the allocation.
- the virtualization mechanism 40 also includes configuration information such as how much physical computer resources are allocated to each virtual server 55 and how much each virtual server 55 is using the physical computer resources allocated to itself. Manage.
- the virtualization mechanism 40 includes a virtualization mechanism management interface 41 and a distribution mechanism 42, a function (not shown) that virtualizes computer resources of the physical server 4 and provides a virtual server 55. Is provided.
- the virtualization mechanism management interface 41 is an interface for the virtualization mechanism 40 to communicate with the management server 2.
- the virtualization mechanism 40 notifies the management server 2 of information, and the management server 2 performs virtualization. Used when giving instructions to the mechanism 40. It is also possible for the user to directly use the virtualization mechanism management interface 41.
- the distribution mechanism 42 has a function of distributing a request issued from the standby virtual network interface 53 to the standby network interface 33 or the disk interface 34, and includes a control program group 35 and a management table group 36. Is done. Details of the control program group 35 and the management table group 36 will be described later.
- the OS 56 of the virtual server 55 causes the active virtual network interface 53 or Communication through the virtual disk interface 54 cannot be performed. Therefore, the OS 56 of the virtual server 55 issues a request through the standby virtual network interface 53 or the virtual disk interface 54 in response to the failure.
- a life / death monitoring request is issued from the standby virtual network interface 53 or virtual disk interface 54. Therefore, when the virtualization mechanism 40 receives a request from the virtual network interface 53 or the virtual disk interface 54, whether the received request is a life / death monitoring request or a request other than the life / death monitoring request (a failure of the network interface 33). It is a basic role of the distribution mechanism 42 according to the present embodiment to determine whether the request is a request that has been transmitted) and distribute the request to the appropriate network interface 33 or disk interface 34.
- FIG. 4 shows the correspondence between the network interface 33 of the physical server 4 virtualized by the virtualization mechanism 40 and the virtual network interface 53 of the virtual server 55.
- the network interface 33 of the physical server 4 is assigned to the active virtual network interface 53 of the virtual server 55 in the exclusive mode.
- the exclusive mode refers to an allocation mode in which a virtual device can occupy a physical device.
- an allocation mode for allocating a physical device to a virtual device there is a shared mode in which a plurality of virtual devices share one physical device in addition to the exclusive mode.
- the allocation mode of the physical device for the virtual device is set to the exclusive mode or the shared mode can be specified by the user.
- the active system is the exclusive mode
- the standby system is the shared mode
- a part of the exclusive mode or the shared mode may be assigned to the active virtual device.
- the active virtual network interface 53 is assigned to the network interface allocated to itself. 33 can be used 100%.
- the network interface 33 of the physical server 4 is shared with the standby virtual network interface 53 of the virtual server 55 via the distribution mechanism 42 in the virtualization mechanism 40. Assigned in mode. Therefore, for example, two network interfaces 33 of the physical server 4 are allocated to ten virtual network interfaces 53, and these two network interfaces 33 are jointly used by the ten virtual network interfaces 53. it can.
- the standby virtual network interface 53 can be set for all necessary virtual servers 55, and at the same time, it is not necessary to prepare the same number of network interfaces 33 of the physical server 4 as the virtual network interfaces 53.
- the number of network interfaces 33 can be reduced.
- the number of devices can be reduced in this way, a reduction in power consumption can be expected, and a cost reduction effect can be obtained.
- the above is not limited to the relationship between the network interface 33 of the physical server 4 and the virtual network interface 53 of the virtual server 55, but also the relationship between the disk interface 34 of the physical server 4 and the virtual disk interface 54 of the virtual server 55. The same can be said.
- FIG. 5 the network interface 33 and the disk interface 34 of the physical server 4 are collectively referred to as a physical adapter 60 (FIG. 5), and the virtual network interface 53 and the virtual disk interface 54 of the virtual server 55 are collectively referred to as a virtual adapter 61 ( It shall be called FIG.
- the virtual adapter 60 assigned to the active virtual adapter 61 when a failure occurs in the physical adapter (active physical adapter) 60 assigned to the active virtual adapter 61, the virtual adapter to which the failed physical adapter 60 is assigned.
- the virtual adapter 61 of the server 55 is specified and there is a surplus in the standby physical adapter 60, that is, the standby virtual adapter 61 of any virtual server 55 is set as a physical device to be used with high priority. If there is no standby physical adapter 60, one physical adapter 60 to be used by the virtual adapter 61 with high priority is determined from the standby physical adapters 60 as shown in FIG. ("Physical adapter A" in FIG. 5) and assign the physical adapter 60 to the virtual adapter 61 in the shared mode. A function.
- the virtualization mechanism 40 of the physical server 4 has a physical adapter (PA) that is assigned to the active virtual adapter (VA) 61 of the virtual server 55.
- PA physical adapter
- VA active virtual adapter
- the virtualization mechanism 40 also has a role of distributing requests from the virtual adapter 61 in which no other failure has occurred to a standby physical adapter 60 other than the physical adapter 60 set to be used with high priority. .
- the management server 2 when there is no surplus in the standby physical adapter 60, the management server 2 is notified to that effect, and the management server 2 is assigned the physical adapter 60 in which such a failure has occurred.
- the physical adapter 60 that can interrupt the request is already used for the other virtual adapter 61 with high priority.
- One is determined, and an instruction is given to the distribution mechanism 42 to distribute the request to the physical adapter 60.
- the computer system 1 is characterized in that when the standby physical adapter 60 is allocated to the standby virtual adapter 61 of the virtual server 55, the physical adapter 60 is allocated in the shared mode. is there. As a result, it is possible to relieve the business in which the failure has occurred without affecting other business other than the business in which the failure has occurred.
- the standby physical adapter 60 when the standby physical adapter 60 is switched to the exclusive mode, there is a problem that only the rescued work can be saved. Further, when the number of standby physical adapters 60 is one, if the mode is switched to the exclusive mode, a life / death monitoring request from another standby virtual adapter 61 or the like cannot be processed, and the OS 56 receives a standby virtual adapter. It seems that the adapter 61 has failed. According to the present embodiment, such a situation does not occur and the conventional operation can be continued.
- a control program including a distribution setting program 70, a fault determination program 71, and a network topology collection program 72 is stored in the memory 21 of the management server 2 as shown in FIG.
- a group 24, a management table group 25 including a physical server management table 73, a virtual server management table 74, an OS management table 75, a business and SLA management table 76, and a system management table 77 are stored.
- the distribution mechanism 42 (FIG. 4) of the virtualization mechanism 40 (FIG. 4) of the physical server 4 includes a request detection program 80, a failure determination program 81, a management server communication program 82, and a distribution program 83, as shown in FIG.
- a control program group 35 including a management table group 36 including an adapter management table 84 and a request type management table 85 is held.
- the distribution setting program 70 of the management server 2 is a program for setting how the requests from the virtual network interface 53 are distributed to the distribution mechanism 42 of each physical server 4.
- the failure determination program 71 is a program for receiving failure information from the physical server 4 and virtual server 55, the virtualization mechanism 40, the management network 3, the business network 5, and the storage subsystem 6 that are management targets.
- a known technique can be applied as a method of detecting a failure by the failure determination program 71.
- the network topology collection program 72 is a program for collecting information related to network settings and connection relationships.
- the information collection work based on the network topology collection program 72 may be automatically executed or may be executed in response to a user operation.
- a known technique can also be applied to the information collection method by the network topology collection program 72.
- the physical server management table 73 is a table used for managing the physical server 4 existing in the computer system 1, and as shown in FIG. 7, the physical server identifier column 73A, the UUID column 73B, and the physical adapter column. 73C, a switch information column 73D, a server model column 73E, a configuration column 73F, and a performance information column 73G.
- the physical server identifier column 73A identifiers (hereinafter referred to as physical server identifiers) assigned to the physical servers 4 corresponding to the entries (corresponding to one row in FIG. Stored.
- the physical server identifier is an identifier unique to the physical server 4, and a MAC (Media Access Control) address, a WWN (World Wide Name), or the like can be applied.
- MAC Media Access Control
- WWN World Wide Name
- information stored in any one column of the entry in the physical server management table 73 or a combination of information stored in any of the plurality of columns may be applied.
- the physical server identifier may be automatically allocated to the physical server 4 in ascending order.
- UUID Universal Unique Identifier
- the UUID is an identifier whose format is predetermined so as not to be duplicated on a global scale. Therefore, by managing the UUID for each physical server 4, it is possible to guarantee the certain uniqueness of each physical server 4.
- This UUID is an identifier that can be a candidate for a physical server identifier, and is very effective for server management over a wide range.
- the physical server identifier is an identifier for the system administrator to identify the physical server 4, and there is no problem if it does not overlap between the physical servers 4, but it is not essential to apply the UUID.
- the physical adapter column 73C is a column for managing information related to the physical adapter 60 mounted on the physical server 4, and includes a device column 73H, a WWN column 73I, and a status column 73J.
- the device column 73H stores the device ID assigned to each physical adapter 60 mounted on the corresponding physical server 4.
- the types of the physical adapter 60 include HBA (Host Bus Adapter), NIC (Network Interface Card), and CNA (Converged Network Adapter).
- HBA Host Bus Adapter
- NIC Network Interface Card
- CNA Converged Network Adapter
- an identifier of the physical adapter 60 on the network is stored. For example, when the physical adapter 60 is a HAB, WWN is stored, and when the physical adapter 60 is a NIC, a MAC address is stored. Further, the current status of the physical adapter 60 is stored in the status column 73J. The status of the physical adapter 60 includes “normal” indicating that there is no problem (no failure has occurred) and “failure” indicating that a failure has occurred.
- switch information column 73D information on the switch on the management network 3 or the business network 5 to which the physical server 4 is connected via the physical adapter 60 (type and identifier of the switch, connection port and security) Configuration information) is stored.
- the model of the corresponding physical server 4 is stored in the server model column 73E. It is information related to infrastructure, and is information that can be used to know performance and configurable system limits.
- the configuration column 73F the configuration of the corresponding physical server 4 is stored. Specifically, the architecture of the CPU 30 (FIG. 3) mounted on the physical server 4, physical position information such as chassis and slots, and feature functions (SMP (Symmetric Multi-Processing) between blades, HA configuration, etc.) ) Is stored.
- the information stored in the configuration column 73F is information related to infrastructure, similar to the information stored in the server model column 73E.
- the performance information column 73G stores the performance information of the corresponding physical server 4. Specifically, the processing speed of the CPU 30, the number of cores, the memory capacity, the hard disk capacity, the communication speed of the NIC or HBA, and the like are stored in this performance information column.
- the virtual server management table 74 is a table for managing the virtual server 55 existing in the computer system 1, and as shown in FIG. 8, the virtual server identifier column 74A, the UUID column 74B, the I / O device column 74C, It comprises a virtualization type column 74D and a performance information column 74E.
- the virtual server identifier column 74A stores an identifier assigned to the virtual server 55 corresponding to the entry (hereinafter referred to as a virtual server identifier).
- the virtual server identifier is an identifier unique to the virtual server 55, and for example, a virtual MAC address, a virtual WWN, or the like can be applied.
- an identifier for uniquely maintaining uniqueness may be employed. Therefore, a virtual server identifier of the virtual server 55 on which the OS 56 is installed is generated using a part of this identifier. May be.
- the virtual server identifier may be generated by a unique method other than the above.
- the UUID assigned to the virtual server 55 is stored.
- the UUID is an identifier that can be a candidate for a virtual server identifier, and is an extremely effective identifier for server management over a wide range.
- the virtual server identifier is an identifier for the system administrator to identify the virtual server 55, and there is no problem unless it is duplicated between the virtual servers 55. Therefore, although it is desirable to apply the UUID, it is not essential.
- the I / O device column 74C is a column for managing information related to the virtual adapter 61 installed in the virtual server 55.
- the virtual device column 74F, the virtual WWN column 74G, the active / standby column 74H, the mode column 74I, and the security It consists of a column 74J.
- the virtual device column 74F device IDs assigned to the respective virtual adapters 61 set in the corresponding virtual server 55 are stored.
- “first virtual HBA” is “vHBA1”
- “first NIC” is “vNIC1”, etc.
- a serial number for each type is added to the character string indicating the type of the virtual adapter 61.
- the case where what was performed is provided as device ID is illustrated.
- the virtual WWN column 74G stores an identifier of the virtual adapter 61 on the network. For example, when the virtual adapter 61 is a virtual HBA, a virtual WWN is stored, and when the virtual adapter 61 is a virtual NIC, a virtual MAC address is stored.
- information indicating whether the corresponding virtual adapter 61 is an active system or a standby system is stored in the active / standby column 74H. Specifically, when the virtual adapter 61 is the “1” th adapter of the active system, information such as “standby 2” is displayed when the virtual adapter 61 is the “2” th adapter of the standby system. Will be stored.
- the mode column 74I stores the usage mode of the virtual adapter 61.
- the usage mode includes “occupation” in which the virtual adapter 61 occupies and uses the physical adapter 60 associated with the virtual adapter 61, and the physical adapter in which the virtual adapter 61 is associated with the virtual adapter 61. There is “sharing” in which 60 is shared with other virtual adapters 61. Further, setting information regarding the security of the virtual adapter 61 is stored in the security column 74J.
- the virtualization type means a virtualization product or a virtualization technology, and a control interface and a functional difference can be clearly identified. Version information may be included as information regarding the virtualization type, and if the management function is uniquely provided, the name of the management function and the management interface may be included.
- the performance information column 74E stores performance information of the corresponding virtual server 55.
- the performance information includes the operating frequency and the number of cores of the virtual CPU 50 (FIG. 3), the memory capacity of the virtual memory 51 (FIG. 3), the disk capacity of the virtual hard disk device, the communication speed of the virtual adapter 61, and the like.
- the OS management table 75 is a table for managing an OS that is stored in the memory 31 (FIG. 3) of the physical server 4 and is used as the OS 56 by the virtual server 55. As shown in FIG. , UUID column 75B, OS type column 75C, OS setting information column 75D, and redundancy column 75E.
- an identifier unique to the OS assigned to the OS corresponding to the entry (hereinafter referred to as an OS identifier) is stored.
- OS identifier For example, OS setting information stored in the OS setting information column may be applied as the OS identifier.
- the UUID column 75B stores the UUID assigned to the OS.
- the OS identifier is an identifier for the system administrator to identify the OS, and there is no problem if it does not overlap between the OSs, but it is not essential to apply the UUID.
- the OS type column 75C stores the type of the OS.
- the OS setting information column 75D stores OS setting information set for the OS such as an IP address, a host name, an ID, a password, and a disk image.
- the disk image refers to a disk image of a system disk in which the OS before and after setting is distributed to the physical server 4 or the virtual server 55. However, the data disk may be included in the disk image.
- the redundancy column 75E stores information regarding redundancy set for the OS.
- the business and SLA management table 76 is a table for managing information related to business executed by the virtual server 55 operating on the physical server 4, and as shown in FIG. 10, a business identifier column 76A, a UUID column 76B, The job type column 76C, the job setting information column 76D, and the priority / SLA column 76E.
- the business identifier column 76A stores an identifier assigned to a business corresponding to the entry (hereinafter referred to as a business identifier).
- a business identifier an identifier assigned to a business corresponding to the entry
- the business setting information stored in the business setting information column may be applied as the business identifier.
- the UUID column 76B stores the UUID assigned to the business.
- the UUID is an identifier that can be a candidate for a business identifier, and is an extremely effective identifier for business over a wide range.
- the business identifier is an identifier for the system administrator to identify the business, and there is no problem unless it is duplicated between business operations, but it is not essential to apply the UUID.
- the business type column 76C information related to software identifying the business, such as an application to be used and middleware, is stored as information on the business type.
- the business setting information column 76D stores logical IP addresses, IDs, passwords, disk images, port numbers used in the business, and the like as information on items set for the business.
- the disk image refers to a disk image of a system disk in which the business before and after setting is distributed to the OS on the physical server 4 or the virtual server 55. However, the data disk may be included in the disk image.
- the priority / SLA column 76E the priority of the business among the business and the business registered in the SLA management table 76 and the requirements (SLA: Service Level Agreement) set for the business are stored.
- SLA Service Level Agreement
- the system management table 77 is a table for managing a system configuration based on a combination of the physical server 4, the virtual server 55, the OS 56, and business. By managing such a system, it is possible to change a distribution configuration set in a distribution mechanism, which will be described later, in accordance with the priority order between the systems, depending on the business and SLA. As shown in FIG. 11, the system management table 77 includes a system identifier column 77A, a UUID column 77B, a physical server column 77C, a virtual server column 77D, an OS column 77E, and a business column 77F.
- system identifier column 77A an identifier unique to the system assigned to the system corresponding to the entry (hereinafter referred to as a system identifier) is stored.
- the UUID column 77B stores a UUID assigned to the system. As this UUID, a combination of a part or all of the information stored in each column from the physical server column 77C to the business column 77F may be applied.
- the physical server column 77C, the virtual server column 77D, the OS column 77E, and the business column 77F respectively include the physical server identifier of the physical server 4, the virtual server identifier of the virtual server 55, the OS identifier of the OS 56, and the business column of the system. Each business identifier is stored.
- the request detection program 80 (FIG. 4) of the physical server 4 is a program for detecting when a request is issued from the virtual server 55 operating on the virtualization mechanism 40, and is a failure determination program.
- 81 is a program for determining whether or not a failure has occurred in the network interface 33 of the physical server 4 when a request is given from the virtual server 55 to the virtualization mechanism 40.
- the management server communication program 82 is a program for the distribution mechanism 42 to communicate with the management server 2 via the virtualization mechanism management interface 41, and the distribution program 83 is a virtual server according to the determination result of the failure determination program 81.
- This is a program for distributing a request issued from the adapter 61 to the corresponding physical adapter 60.
- the adapter management table 84 of the physical server 4 is a table for managing the virtual adapter 61 mounted in each virtual server 55. As shown in FIG. 12, the virtual server identifier field 84A, the virtual adapter field 84B, The active / standby column 84C, the mode column 84D, the security column 84E, the security type column 84F, the physical adapter column 84G, and the status column 84H are configured.
- the virtual server identifier column 84A, virtual adapter column 84B, working / standby column 84C, mode column 84D, and security column 84E include the virtual server identifier column 74A, the virtual device column 74F of the virtual server management table 74 described above with reference to FIG. The same information as the information stored in the corresponding columns of the working / standby column 74H, the mode column 74I, and the security column 74J is stored.
- the security type column 84F stores a specific type related to security or the like stored in the corresponding security column 84E.
- the adapter ID of the physical adapter 60 to which the corresponding virtual adapter 61 is assigned is stored in the physical adapter column 84G.
- the adapter ID of the physical adapter 60 is not stored in the physical adapter column 84G of the other virtual adapter 61.
- the adapter ID of the physical adapter 60 may be stored in the physical adapter column 84G of the other virtual adapter 61. is there.
- the status column 84H information regarding the status of the corresponding virtual adapter 61 or physical adapter 60 is stored.
- the status includes “normal” meaning that no failure has occurred and “failure” meaning that a failure has occurred.
- Other information regarding the status includes “the physical adapter 60 with the standby virtual adapter 61 (NIC5) being used with high priority” and “the physical adapter with the standby virtual adapter 61”. 60 are shared and used. " The information regarding these statuses includes one or both of contents determined and determined by the virtualization mechanism 40 and contents set, determined and instructed by the management server 2.
- the request type management table 85 is issued from the physical adapter 60 or the virtual adapter 61, or manages the types of requests issued to the physical adapter 60 or the virtual adapter 61, and the distribution mechanism 42 for these requests. Is a table for managing the rules of the sorting operation to be executed. As shown in FIG. 13, the request type management table 85 includes a request identifier field 85A, a request type field 85B, and a distribution instruction field 85C.
- the request identifier column 85A stores an identifier (hereinafter referred to as a request identifier) assigned to the request corresponding to the entry, and the request type column 85B stores the corresponding request type (hereinafter referred to as the request identifier). Simply called request type). Examples of the “request type” include “life monitoring”, “multicast”, and “unicast”.
- the distribution instruction field 85C stores the processing contents of the distribution process to be executed by the distribution mechanism for the request type. For example, in the example of FIG. 13, when an ARP (Address Resolution Protocol) request is issued from the virtual adapter 61 as “life and death monitoring”, the following distribution process is executed.
- ARP Address Resolution Protocol
- the distribution mechanism 42 first searches the physical adapter 60 in the standby system for a physical adapter 60 that is not set to be used by another virtual adapter 61 with high priority, and when such a physical adapter 60 exists. In this case, the ARP request is distributed to the physical adapter 60 ("process by another standby physical adapter" in FIG. 13).
- the distribution mechanism 42 is in charge of a task with a low priority.
- the management server 2 is inquired about the standby physical adapter 60, and if there is such a physical adapter 60, the ARP request is distributed to the physical adapter 60 ("If there is no above, priority is given.” With a lower adapter ").
- the distribution mechanism 42 inquires the management server 2 about the physical adapter 60 with a low load, and such physical If the adapter 60 is present, the ARP request is distributed to the physical adapter 60 (“If there is no such case, processing is performed with an adapter having a low load”).
- the distribution mechanism 42 sets the active physical adapter 60 used in the exclusive mode to the shared mode, and assigns it to the physical adapter 60.
- the ARP request may be distributed.
- the distribution mechanism 42 If the distribution mechanism 42 cannot finally find the physical adapter 60 to which the ARP request should be distributed, the distribution mechanism 42 does not pass the ARP request, that is, there is no physical adapter 60 to which the ARP request is distributed.
- the management server 2 is notified ("Don't pass" in FIG. 13).
- management packets other than the alive monitoring request are issued from the standby virtual adapter 61 in each virtual server 55 regardless of whether or not the physical adapter 60 assigned to the active virtual adapter 61 has a failure.
- these management packets have a small packet size, it is possible to determine a request distribution destination according to the size of the packet size of the request (the distribution instruction field 85C of “request identifier 6” in FIG. (See the distribution instruction field 85C of “request identifier 7”). As a result, the determination can be made faster, and management packets other than life / death monitoring requests can be handled.
- FIG. 14 shows a flow of a distribution process executed in the control program group 35 of the virtualization mechanism 40 of the physical server 4 in relation to the distribution process.
- the request detection program 80 (FIG. 4) waits for a request to be issued from the standby virtual adapter 61 of any virtual server 55 operating on the own physical server 4.
- the request detection program 80 detects that any request is issued from the standby virtual adapter 61 of any of the virtual servers 55, the physical adapter 60 assigned to the virtual adapter 61 has a failure.
- the failure determination program 81 (FIG. 4) determines whether or not an error has occurred (SP1).
- obtaining a negative result (no failure has occurred) in this determination means that the request detected by the request detection program 80 at that time is a life / death monitoring request or another management request.
- the failure determination program 81 passes the request to the distribution program 83.
- the distribution program 83 executes a distribution process described later with reference to FIG. 16 (SP7).
- obtaining an affirmative result (failure has occurred) in the determination at step SP1 indicates that the physical adapter 60 assigned to the active virtual adapter 61 of the virtual server 55 of the request issuing source at that time. Means that a failure has occurred.
- the failure determination program 81 transmits a notification to that effect to the management server 2 via the management server communication program 82 (FIG. 4) (SP2).
- the failure determination program 81 thereafter refers to the adapter management table 84 (FIG. 12) to identify the request issuing source virtual adapter 61 in the request issuing source virtual server 55 (SP3), and further to the standby physical Whether there is a surplus in the adapter 60 (whether there is a standby physical adapter 60 that is not set as a physical device to be used with high priority in the standby virtual adapter 61 of any virtual server 55) Is determined (SP4).
- the failure determination program 81 determines that there is no surplus in the standby physical adapter 60, the failure determination program 81 transmits a notification to that effect (hereinafter referred to as a determination request notification) to the management server 2, thereby causing the problem.
- the management server 2 is inquired about the standby physical adapter 60 to which the request should be distributed (SP5).
- the management server 2 determines which physical adapter 60 is allocated to the request issuing virtual adapter 61 in accordance with a distribution destination determination process described later with reference to FIG.
- the distribution condition is notified to the failure determination program 81.
- the distribution condition is information including candidates for the physical adapter 60 to be allocated to the request-issue virtual adapter 61 as will be described later.
- candidates for the physical adapter 60 to be assigned to the request issuing virtual adapter 61, for example, the standby physical adapter 60 assigned to the virtual adapter 61 of the virtual server 55 executing the business with the lowest priority, In this case, the standby physical adapter 60 assigned to the virtual adapter 61 in which the load is the lowest or the low load state is continued.
- the standby physical adapters 60 when all the standby physical adapters 60 have been allocated to the virtual adapters 61 of other virtual servers 55 that are executing high-priority business, or when the SLA requirement cannot be satisfied, the physical adapter 60 is not allocated. There is also a possibility.
- the failure determination program 81 determines a physical adapter 60 to be assigned to the request issuing virtual adapter 61 of the request issuing virtual server 55 and requests type management. With reference to the table 85, a distribution condition for distributing requests to the physical adapter 60 is set in the distribution program 83. The failure determination program 81 transfers the request to the distribution program 83 (SP6).
- the distribution program 83 responds to the request transferred from the failure determination program 81 at that time according to the distribution condition set in step SP6 and the processing method for each request type specified in the request type management table 85 (FIG. 13). To the physical adapter 60 to be executed (SP7).
- FIG. 15 shows a specific processing procedure of failure determination processing executed by the failure determination program 81 in step SP1 of FIG.
- FIG. 15 shows that a failure has occurred when the request accepted by the request detection program 80 is a life / death monitoring request or a request having a packet size equal to or smaller than a predetermined threshold (hereinafter referred to as a management packet determination threshold).
- a management packet determination threshold a predetermined threshold
- the failure determination program 81 starts this failure determination process, and first determines whether or not the request is an alive monitoring request ( SP10). If the failure determination program 81 obtains a positive result in this determination, it ends this failure determination processing and proceeds to step SP7 of the request distribution processing described above with reference to FIG.
- the failure determination program 81 determines whether or not the size of the request is larger than the above-described management packet determination threshold (SP11).
- the failure determination program 81 If the failure determination program 81 obtains a positive result in this determination, it determines that a failure has occurred and stores it in the status column 84H (FIG. 12) of the corresponding entry in the adapter management table 84 (FIG. 12). The status is updated (SP12). The failure determination program 81 thereafter ends this failure determination processing and proceeds to step SP2 of the request distribution processing described above with reference to FIG.
- the failure determination program 81 obtains a negative result in the determination at step SP11, it determines that no failure has occurred, ends this failure determination processing, and proceeds to step SP7 of the request distribution processing.
- FIG. 16 shows a specific processing procedure of distribution processing executed by the distribution program 83 in step SP7 of FIG.
- the distribution program 83 When the distribution program 83 receives a request from any of the virtual adapters 61 from the failure determination program 81, the distribution program 83 starts this distribution processing. First, referring to the adapter management table 84, the status of the physical adapter 60 that is the distribution destination. Is determined to be “failure”.
- the distribution program 83 If the distribution program 83 obtains a positive result in this determination, it distributes the request to the physical adapter 60 that is set to be used with high priority in step SP6 of FIG. 14 (SP21). Then, the distribution program 83 thereafter ends this distribution process.
- the distribution program 83 obtains a negative result in the determination at step SP20, none of the standby physical adapters 60 is set to be used with high priority among the virtual adapters 61. The request is distributed to the standby physical adapter 60 (SP22). Then, the distribution program 83 thereafter ends this distribution process.
- FIG. 17 shows a distribution setting process executed by the distribution setting program 70 (FIG. 2) of the management server 2 that has received the above determination request notification from the virtualization mechanism 40 of the physical server 4. The processing procedure of is shown.
- the distribution setting program 70 When the distribution setting program 70 receives such a determination request notification, the distribution setting program 70 starts the distribution setting process.
- the physical adapter 60 can be used with high priority by referring to the business and SLA management table 76 (FIG. 2).
- the virtual adapters 61 allocated in this way a set of the virtual adapter 61 that should share the physical adapter 60 with the virtual adapter 61 that issued the request at that time, and the virtual adapter 61 that issued the request (hereinafter referred to as the virtual adapter 61) This is referred to as a distribution condition) is determined from the priority order, the usage amount and usage frequency of computer resources (SP30).
- a method for determining such distribution conditions for example, a method of combining the virtual adapter 61 of the virtual server 55 that executes a high priority job with the virtual adapter 61 of the virtual server 55 that executes a low priority job, A method of combining the virtual adapter 61 of the virtual server 55 that executes a business with a high usage amount or usage frequency and the virtual adapter 61 of the virtual server 55 that executes a business with a low usage amount or usage frequency of a computer resource, a best effort type For example, there is a method of combining only the virtual adapter 61 of the virtual server 55 that executes the above operations.
- the distribution condition is such that the allocation mode of the physical adapter 60 allocated to a certain active virtual adapter 61 is changed from the exclusive mode to the shared mode, and the physical adapter 60 is allocated to the virtual adapter 61 that issued the request. It is also possible to determine the method. At this time, as the physical adapter 60, those with a low usage rate and low usage frequency are targeted. Another possible method is to use the physical adapter 60 allocated to the active virtual adapter 61 of the virtual server 55 that executes a non-busy business period. Furthermore, when such a physical adapter 60 does not exist, a method of not allocating the physical adapter 60 to the virtual adapter 61 can be considered.
- the distribution setting program 70 notifies the distribution conditions set as described above to the distribution mechanism 42 of the virtualization mechanism 40 (SP31), and further stores the management table group 25 stored in the memory 21 of the management server 2.
- the physical server management table 73 and / or the virtual server management table 74 to be configured are updated as necessary (SP32).
- the distribution setting program 70 thereafter ends this distribution setting process.
- the distribution mechanism 42 determines the request type of the request from the virtual adapter 61, and the processing load of the request is When there is room to interrupt processing such as when there is free bandwidth in the standby physical adapter 60 that is set to be used with high priority by any virtual adapter 61, the request is free This is a method of interrupting a certain physical adapter 60.
- a task with high importance can be assigned to the active virtual adapter 61 of the responsible virtual server 55 in a state where there is no surplus in the standby physical adapter 60. Even when a failure occurs in the physical adapter 60 that has been used, it is possible to prevent a task with high importance from being stopped.
- Scenes in which this method can be used include life and death monitoring requests issued by other virtual adapters 61, requests that are smaller than a threshold set in advance by the user, and virtual adapters 61 that are used with high priority.
- performance degradation for example, a range in which a response time is measured by a monitoring program or the like in which a threshold is set and no SLA is violated.
- FIG. 18 shows a processing procedure of request distribution processing according to the second embodiment considering the above.
- the distribution mechanism 40 of the physical server 4 performs the processing of step SP40 to step SP43 in the same manner as step SP1 to step SP4 of the request distribution processing according to the first embodiment described above with reference to FIG. .
- step SP43 If a positive result is obtained in the determination at step SP43, then the processing at step SP46 and step SP47 is the same as the processing at step SP6 and step SP7 of the request distribution processing according to the first embodiment. Thereafter, a series of request distribution processing in the control program group 35 of the physical server 4 ends.
- the failure determination program 81 refers to the adapter management table 84 (FIG. 12) and the request type management table 85 (FIG. 13), and determines any virtual It is determined whether or not there is a physical adapter 60 capable of interrupting the request among the standby physical adapters 60 set to use the adapter 61 with high priority (SP44). Specifically, the failure determination program 81 determines whether the request processing load, the standby physical adapter 60 that is set to be used with high priority by any of the virtual adapters 61 has free bandwidth, and the like. This decision is taken into consideration.
- failure determination program 81 determines the physical adapter 60 to which the request is to be interrupted, notifies the determined physical adapter 60 to the distribution program 83 as the distribution destination of the request, and The request is transferred to the distribution program 83 (SP48).
- the failure determination program 81 transmits a determination request notification to the management server 2 to thereby determine the standby physical adapter 60 to which the request is to be distributed.
- the management server 2 is inquired (SP45).
- the management server 2 determines which physical adapter 60 is assigned to the request-issuing virtual adapter 61 in the same manner as in the first embodiment, and determines the determination result as a distribution condition. To the failure determination program 81.
- the failure determination program 81 determines a physical adapter 60 to be assigned to the request issuing virtual adapter 61 of the request issuing virtual server 55 and requests type management. With reference to the table 85, a distribution condition for distributing requests to the physical adapter 60 is set in the distribution program 83. The failure determination program 81 transfers the request to the distribution program 83 (SP46).
- the distribution program 83 responds to the request transferred from the failure determination program 81 at that time according to the distribution condition set in step SP6 and the processing method for each request type specified in the request type management table 85 (FIG. 13). (SP47).
- the processing load of the request is light, or a standby system in which any virtual adapter 61 is set to be used with high priority
- the request is interrupted to the physical adapter 60 with room, so that the failure is the same as in the first embodiment.
- the work being executed by the virtual server 55 can be relieved without affecting other work other than the work being executed by the virtual server 55 to which the physical adapter 60 having been assigned. In this way, it is possible to realize a highly available computer system that can maintain performance as much as possible while relieving more work.
- a specific setting is made for a port of an external switch (for example, connected to the management network 3 or the business network 5) to which the standby physical adapter 60 is connected.
- the management server 2 may instruct or the distribution mechanism 42 may instruct.
- the same security strength as that of the current physical adapter 60 can be realized, the same performance can be realized by setting the QoS (Quality of Service), the VLAN (Virtual Local Area Network) setting, and the SAN security setting. It will be possible to connect normally.
- QoS Quality of Service
- VLAN Virtual Local Area Network
- the standby physical adapter 60 is assigned to the standby virtual adapter 61 of the virtual server 55 in which a failure has occurred in the physical adapter 60 assigned to the active virtual adapter 61.
- another standby physical adapter 60 is assigned to the standby virtual adapter 61 as a physical adapter to be used with high priority.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システム及び障害対応方法を提案する。 物理サーバの仮想化機構が、仮想サーバの現用系の仮想デバイスに割り当てられた現用系の物理デバイスに障害が発生した場合に、当該仮想サーバの待機系の仮想デバイスに対して、いずれの仮想サーバにも高い優先度で使用設定されていない待機系の物理デバイスを高い優先度で使用する物理デバイスとして設定し、他の仮想サーバの待機系の仮想デバイスから発行されるリクエストを、いずれかの仮想サーバにも高い優先度で使用設定されていない待機系の物理デバイスに振り分ける一方、そのような待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの仮想サーバの待機系の仮想デバイスに高い優先度で使用設定された待機系の物理デバイスに振り分けるようにした。
Description
本発明は、計算機システム及びその可用化方法に関し、例えば、冗長化を目的として物理デバイス及び仮想デバイスを多重構成とした計算機システムに適用して好適なものである。
近年、仮想化技術の進歩により、1台の物理サーバ上で複数台の仮想サーバを稼働させることが可能となってきている。このような仮想化技術を利用することによって1台の物理サーバ上で複数台の仮想サーバを稼働させることによって、物理的な計算機資源を削減することが可能となり、コスト削減を図ることができる。
一方、上述のように1台の物理サーバ上で複数台の仮想サーバを稼働させる場合、物理的な計算機資源を複数の仮想サーバ間で共有することになるが、物理的な計算機資源を複数の仮想サーバで共有する場合、個々の仮想サーバの性能や可用性が低下するという問題がある。
そこで、仮想サーバの現用系として用いる計算機資源(以下、これを仮想計算機資源と呼ぶ)に対しては、特定の物理的な計算機資源(以下、これを物理計算機資源と呼ぶ)を占有で使用するように割り当て、仮想サーバの待機系の仮想計算機資源に対しては、他の物理計算機資源を共有で使用するように割り当てるための技術が特許文献1に開示されている。
ところで、上述のように仮想サーバの現用系の仮想計算機資源に対して特定の物理計算機資源(以下、これを現用系の物理計算機資源と呼ぶ)を占有で割り当て、かかる仮想サーバの待機系の仮想計算機資源に他の物理計算機資源(以下、これを待機系の物理計算機資源と呼ぶ)を共有で割り当てる計算機システムにおいて、現用系の物理計算機資源に障害が発生した場合、当該仮想サーバの待機系の仮想計算機資源で処理を継続することによって、可用性を向上させることができる。
この場合において、かかる計算機システムでは、複数の待機系の仮想計算機資源に対して、これらと同等又は少ない数の待機系の物理計算機資源が割り当てられるため、上述のような障害の発生時における対応策として、以下の2つの対応策の中から1つを選択しておく必要がある。
(1)待機系の仮想計算機資源に待機系の物理計算機資源を100パーセント割り当てる(占有させる)ことによって性能を保つ
(2)性能を犠牲にしてより多くの仮想計算機資源を救済する
(1)待機系の仮想計算機資源に待機系の物理計算機資源を100パーセント割り当てる(占有させる)ことによって性能を保つ
(2)性能を犠牲にしてより多くの仮想計算機資源を救済する
ところが前者の対応策によれば、障害が発生した物理計算機資源が割り当てられていた仮想サーバの性能を維持することはできるが、それまでその物理計算機資源に割り振られていたリクエストが他の待機系の物理計算機資源に分散して割り振られることになるため、システム全体としての性能が低下する問題がある。また例えば、待機系の物理計算機資源が1つしか存在しないようなシステムでは、次に他の現用系の物理計算機資源に障害が発生した場合に、その障害が発生した物理計算機資源が割り当てられていた仮想サーバが実行していた業務を救済し得なくなる問題がある。
本発明は以上の点を考慮してなされたもので、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システム及び障害対応方法を提案しようとするものである。
かかる課題を解決するため本発明においては、物理サーバを有する計算機システムにおいて、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、前記仮想化機構は、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分けるようにした。
また本発明においては、物理サーバを有する計算機システムの可用化方法において、前記物理サーバは、現用系及び待機系の物理デバイスと、前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第1のステップと、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第2のステップとを設けるようにした。
本発明によれば、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない待機系の物理デバイスが存在しないときには、リクエストを、いずれかの仮想サーバの待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された待機系の物理デバイスに振り分けるようにしているため、障害が発生した物理アダプタが割り当てられている仮想サーバが実行している業務のみならず、他の業務をも救済しながら、これら業務の処理性能をできる限り維持し得る可用性の高い計算機システム及びその可用化方法を実現することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1-1)本実施の形態による計算機システムの構成
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、管理サーバ2、管理用ネットワーク3、複数の物理サーバ4、業務用ネットワーク5及びストレージサブシステム6から構成される。
(1-1)本実施の形態による計算機システムの構成
図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、管理サーバ2、管理用ネットワーク3、複数の物理サーバ4、業務用ネットワーク5及びストレージサブシステム6から構成される。
管理サーバ2は、計算機システム1内の物理サーバ4を管理するために用いられるサーバ装置であり、管理用ネットワーク3を介して各物理サーバ4と接続されている。また管理サーバ2は、管理用ネットワーク3の管理インタフェース3A及び業務用ネットワーク5の管理インタフェース5Aとそれぞれ接続されており、これにより管理サーバ2から管理用ネットワーク3及び業務用ネットワーク5のVLAN(Virtual LAN)を設定することができるようになされている。
管理用ネットワーク3は、例えばLAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。管理用ネットワーク3は、OS(Operating System)又はアプリケーションの配信や電源制御などの物理サーバ4の運用管理を行うために利用される。
物理サーバ4は、例えばブレードサーバから構成される。物理サーバ4には、ハイパーバイザと呼ばれる仮想化ソフトウェアが実装されており、この仮想化ソフトウェアを実行することにより構築される後述の仮想化機構上で1又は複数の仮想サーバを稼働させることができるようになされている。
業務用ネットワーク5は、例えばFC-SAN(Fibre Chanel- Storage Area Network)又はIP-SAN(Internet Protocol-Storage Area Network)などから構成される。業務用ネットワーク5は、物理サーバ4上で稼働する仮想サーバがデータをストレージサブシステム6に読み書きするために利用される。
ストレージサブシステム6は、物理サーバ4に対してデータを読み書きするための記憶領域を提供するストレージ装置であり、複数の記憶デバイス10と、これら複数の記憶デバイス10に対するデータの入出力を制御するコントローラ11とから構成される。
記憶デバイス10は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクデバイス、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクデバイスなどから構成される。
これらの記憶デバイス10は、コントローラ11によりRAID(Redundant Arrays of Inexpensive Disks)方式で運用される。1又は複数の記憶デバイス10により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)VOLが設定される。そしてデータは、この論理ボリュームVOL内に所定大きさのブロックを単位として記憶される。
図2は、管理サーバ2の概略構成を示す。この図2に示すように、管理サーバ2は、CPU(Central Processing Unit)20、メモリ21、ネットワークインタフェース22及びディスクインタフェース23を備えて構成される。
CPU20は、管理サーバ2全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からプログラム及びデータをメモリ21にロードし、ロードしたプログラム及びデータに基づいて各種処理を実行する。メモリ21は、外部ディスク装置からロードされたプログラム及びデータなどを記憶するために用いられるほか、CPU20のワークメモリとしても用いられる。後述する制御プログラム群24及び管理テーブル群25もこのメモリ21に格納されて保持される。
ネットワークインタフェース22は、管理サーバ2が管理用ネットワーク3を介して物理サーバ4と通信するためのインタフェースとして機能し、管理サーバ2及び物理サーバ4間の通信時におけるプロトコル変換などの処理を実行する。またディスクインタフェース23は、上述の外部ディスク装置との間のインタフェースとして機能する。
なお、図2においては、ネットワークインタフェース22及びディスクインタフェース23をそれぞれ1つずつ図示しているが、実際には、ネットワークインタフェース22及びディスクインタフェース23はそれぞれ複数存在する。例えば、管理用ネットワーク3に対するネットワークインタフェース22と、業務用ネットワーク5に対するネットワークインタフェース22とはそれぞれ別個のものが使用される。
物理サーバ4は、図3に示すように、CPU30、メモリ31、BMC(Basement Management Controller)32、ネットワークインタフェース33及びディスクインタフェース34を備えて構成される。
CPU30は、物理サーバ4全体の動作制御を司るプロセッサであり、起動時に図示しない外部ディスク装置からOS(Operating System)、各種業務アプリケーションプログラム及び管理プログラムなどの各種プログラムと、必要なデータとをメモリ31にロードし、ロードしたプログラムに従って各種処理を実行する。メモリ31は、かかる外部ディスク装置からロードされた各種プログラム及びデータなどを記憶するために用いられるほか、CPU30のワークメモリとしても用いられる。後述する制御プログラム群35及び管理テーブル群36もこのメモリ21に格納されて保持される。
BMC32は、電源制御や各インタフェースの制御を行う。またネットワークインタフェース33及びディスクインタフェース34は、管理サーバ2のネットワークインタフェース33及びディスクインタフェース34と同様の機能を有するもので、それぞれ管理用ネットワーク3を介して管理サーバ2と通信し、又は業務用ネットワーク5を介してストレージサブシステム6との間でデータを送受するときのインタフェースとして利用される。
なお、図3においては、ネットワークインタフェース33及びディスクインタフェース34をそれぞれ1つずつ図示しているが、実際には、ネットワークインタフェース33及びディスクインタフェース34がそれぞれ複数存在する。例えば、管理用ネットワーク3に対するネットワークインタフェース33と、業務用ネットワーク5に対するネットワークインタフェース33とはそれぞれ別個のものが利用される。
ここで図3に示すように、物理サーバ4のメモリ31には外部ディスク装置からロードした仮想化ソフトウェアを実行することにより構築される仮想化機構40が配備される。この仮想化機構40は、物理サーバ4の計算機資源を仮想化する機能を有するもので、物理サーバ4のCPU30、メモリ31、BMC32、ネットワークインタフェース33及びディスクインタフェース34をそれぞれ仮想化してなる仮想CPU50、仮想メモリ51、仮想BMC52、仮想ネットワークインタフェース53及び仮想ディスクインタフェース54等の仮想デバイス群を備える1又は複数の仮想サーバ55を提供する。
各仮想サーバ55の仮想メモリ51には、OS56が論理的に格納されており、このOS56に基づいて仮想CPU50により仮想サーバ55内の仮想デバイス群が管理される。またOS56上では業務アプリケーションプログラム57が実行されており、これにより各仮想サーバ55においてそれぞれ個別の業務処理を実行し得るようになされている。さらにOS56上では、管理プログラム58が稼働しており、この管理プログラム58によって障害検知やOS56の電源制御及びインベントリ管理などを行い得るようになされている。
仮想化機構40は、物理サーバ4の計算機資源(物理計算機資源)と、当該物理サーバ4上で稼働する1又は複数の仮想サーバ55の計算機資源(仮想計算機資源)との対応付けを管理しており、管理サーバ2からこの仮想化機構40に指示を与えることによって、仮想計算機資源に対する物理計算機資源の割り当てや、当該割り当ての解除を行うことができる。また仮想化機構40は、各仮想サーバ55にそれぞれ物理計算機資源がどの程度割り当てられ、また各仮想サーバ55がそれぞれ自己に割り当てられた物理計算機資源をどの程度使用しているかといった構成情報及び稼働履歴を管理する。
この仮想化機構40は、図3に示すように、仮想化機構管理用インタフェース41及び振分け機構42と、物理サーバ4の計算機資源を仮想化し、仮想サーバ55を提供する機能(図示せず)とを備える。
このうち仮想化機構管理用インタフェース41は、仮想化機構40が管理サーバ2と通信を行うためのインタフェースであり、仮想化機構40から管理サーバ2に情報を通知したり、管理サーバ2から仮想化機構40に指示を与える際に使用される。なお仮想化機構管理用インタフェース41をユーザが直接使用することも可能である。
振分け機構42は、待機系の仮想ネットワークインタフェース53から発行されたリクエストを、待機系のネットワークインタフェース33又はディスクインタフェース34に振り分ける機能を有するもので、制御プログラム群35及び管理テーブル群36を備えて構成される。これら制御プログラム群35及び管理テーブル群36の詳細については後述する。
現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54に割り当てられた物理サーバ4のネットワークインタフェース33又はディスクインタフェース34に障害が発生した場合、仮想サーバ55のOS56は、その現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54を通じた通信を行えなくなる。このため仮想サーバ55のOS56は、かかる障害を契機に待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54を通じてリクエストを発行するようになる。
つまり、現用系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54に割り当てられたネットワークインタフェース33又はディスクインタフェース34に障害が発生したことを契機として、待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54から振分け機構部42にリクエストが送られるようになる。
ただし、かかる障害の発生以外の通常運用時にも、死活監視リクエストが待機系の仮想ネットワークインタフェース53又は仮想ディスクインタフェース54から発行される。従って、仮想ネットワークインタフェース53又は仮想ディスクインタフェース54からのリクエストを仮想化機構40が受信したときに、受信したリクエストが死活監視リクエストなのか、又は、死活監視リクエスト以外のリクエスト(ネットワークインタフェース33の障害に起因して送られてきたリクエスト)なのかを判定し、然るべきネットワークインタフェース33又はディスクインタフェース34にリクエストを振り分けることが本実施の形態による振分け機構42の基本的な役割である。
図4は、仮想化機構40により仮想化された物理サーバ4のネットワークインタフェース33と、仮想サーバ55の仮想ネットワークインタフェース53との対応関係を示す。本実施の形態による計算機システム1では、仮想サーバ55の現用系の仮想ネットワークインタフェース53に対して物理サーバ4のネットワークインタフェース33が占有モードで割り当てられる。
ここで占有モードとは、仮想デバイスが物理デバイスを占有できる割当てモードのことをいう。仮想デバイスに対して物理デバイスを割り当てる割当てモードとしては、占有モードの他に、複数の仮想デバイスが1つの物理デバイスを共有する共有モードが存在する。仮想デバイスに対する物理デバイスの割当てモードを占有モード及び共有モードのいずれにするかは、ユーザ指定とすることができるが、例えば運用ポリシとして現用系は占有モード、待機系は共有モードとしても、また、占有モード又は共有モードの一部を現用系の仮想デバイスに割り当てるようにしても良い。
上述のように本実施の形態においては、現用系の仮想ネットワークインタフェース53に対しては占有モードでネットワークインタフェース33が割り当てられるため、これら現用系の仮想ネットワークインタフェース53は、自己に割り当てられたネットワークインタフェース33を100パーセント利用することができる。
一方、本実施の形態による計算機システム1の場合、仮想サーバ55の待機系の仮想ネットワークインタフェース53に対しては、仮想化機構40内の振分け機構42を介して物理サーバ4のネットワークインタフェース33が共有モードで割り当てられる。従って、例えば10個の仮想ネットワークインタフェース53に対して物理サーバ4の2個のネットワークインタフェース33を割り当て、これら2個のネットワークインタフェース33をかかる10個の仮想ネットワークインタフェース53によって共同で利用するという運用ができる。
これにより、待機系の仮想ネットワークインタフェース53を必要な仮想サーバ55すべてに設定することが可能となり、また、同時に物理サーバ4のネットワークインタフェース33を仮想ネットワークインタフェース53と同数分だけ用意する必要がなくなり、ネットワークインタフェース33の数を低減させることができる。また、このようにデバイス数を低減させることができるため、消費電力量の削減を見込むことができ、コスト削減効果を得ることができる。
なお以上のことは、物理サーバ4のネットワークインタフェース33及び仮想サーバ55の仮想ネットワークインタフェース53間の関係に限らず、物理サーバ4のディスクインタフェース34及び仮想サーバ55の仮想ディスクインタフェース54間の関係についても同様のことが言える。
(1-2)リクエスト振分け機能
次に、本計算機システム1に搭載されたリクエスト振分け機能について説明する。なお、以下においては、物理サーバ4のネットワークインタフェース33及びディスクインタフェース34をまとめて物理アダプタ60(図5)と呼び、仮想サーバ55の仮想ネットワークインタフェース53及び仮想ディスクインタフェース54をまとめて仮想アダプタ61(図5)と呼ぶものとする。
次に、本計算機システム1に搭載されたリクエスト振分け機能について説明する。なお、以下においては、物理サーバ4のネットワークインタフェース33及びディスクインタフェース34をまとめて物理アダプタ60(図5)と呼び、仮想サーバ55の仮想ネットワークインタフェース53及び仮想ディスクインタフェース54をまとめて仮想アダプタ61(図5)と呼ぶものとする。
本計算機システム1においては、現用系の仮想アダプタ61に割り当てられている物理アダプタ(現用系の物理アダプタ)60に障害が発生した場合に、その障害が発生した物理アダプタ60が割り当てられている仮想サーバ55の仮想アダプタ61を特定し、待機系の物理アダプタ60に余剰がある場合、すなわち、いずれの仮想サーバ55の待機系の仮想アダプタ61にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ60が存在する場合には、図5に示すように、当該待機系の物理アダプタ60の中からかかる仮想アダプタ61が高い優先度で使用する物理アダプタ60を1つ決定して(図5では「物理アダプタA」)、その物理アダプタ60を共有モードのままその仮想アダプタ61に割り当てる機能を備える。
すなわち図6に示すように、本実施の形態による物理サーバ4の仮想化機構40は、仮想サーバ55の現用系の仮想アダプタ(VA:Virtual Adapter)61に割り当てられている物理アダプタ(PA:Physical Adapter)60に障害が発生した場合、待機系として用意された物理アダプタ60のうちの1つをその仮想サーバ55の待機系の仮想アダプタ61に割り当て、当該物理アダプタ60を当該仮想アダプタ61に高い優先度で使用させる役割を担う。また、かかる仮想化機構40は、その他の障害が発生していない仮想アダプタ61からのリクエストを、高い優先度で使用する設定をした物理アダプタ60以外の待機系の物理アダプタ60へ振り分ける役割も担う。
加えて、本計算機システム1の場合、待機系の物理アダプタ60に余剰がない場合には、その旨を管理サーバ2に通知し、管理サーバ2が、かかる障害が発生した物理アダプタ60が割り当てられていた仮想サーバ55が実行している業務の優先順位に基づき、リクエストを割り込ませることができる物理アダプタ60を、既に他の仮想アダプタ61に高い優先度で使用するよう設定された物理アダプタ60の中から1つ決定し、その物理アダプタ60にリクエストを振り分けるように振分け機構42に指示を与えるようになされている。
これにより、待機系の物理アダプタ60に余剰がない状態で、重要度の高い業務を担当する仮想サーバ55の現用系の仮想アダプタ61に割り当てられていた物理アダプタ60に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
以上のように本実施の形態による計算機システム1の特徴は、仮想サーバ55の待機系の仮想アダプタ61に待機系の物理アダプタ60を割り当てる際に、当該物理アダプタ60を共有モードのまま割り当てる点にある。これにより、障害があった業務以外の他の業務に影響なく、障害が発生した業務を救済することが可能になる。
本実施の形態に反して、かかる待機系の物理アダプタ60を占有モードに切り替えると、一旦、救済された業務のみしか救われないという問題がある。また、待機系の物理アダプタ60を1つにした場合、占有モードに切り替えてしまうと、他の待機の仮想アダプタ61からの死活監視リクエストなどを処理することができず、OS56からは待機の仮想アダプタ61に障害が発生したように見える。本実施の形態によれば、そのようなことは起こらず、従来のままの運用を継続することが可能である。
以上のような障害対処機能を実現するための手段として、図2に示すように、管理サーバ2のメモリ21には、振分け設定プログラム70、障害判定プログラム71及びネットワークトポロジ収集プログラム72を含む制御プログラム群24と、物理サーバ管理テーブル73、仮想サーバ管理テーブル74、OS管理テーブル75、業務及びSLA管理テーブル76、並びに、システム管理テーブル77を含む管理テーブル群25とが格納されている。また物理サーバ4の仮想化機構40(図4)の振分け機構42(図4)は、図4に示すように、リクエスト検出プログラム80、障害判定プログラム81、管理サーバ通信プログラム82及び振分けプログラム83を含む制御プログラム群35と、アダプタ管理テーブル84及びリクエスト種別管理テーブル85を含む管理テーブル群36とを保持している。
このうち管理サーバ2の振分け設定プログラム70は、各物理サーバ4の振分け機構42に対し、仮想ネットワークインタフェース53からのリクエストをどのように振り分けるかを設定するためのプログラムである。また障害判定プログラム71は、管理対象である物理サーバ4や仮想サーバ55、仮想化機構40、管理用ネットワーク3、業務用ネットワーク5及びストレージサブシステム6からの障害情報を受け付けるためのプログラムである。障害判定プログラム71による障害検知の手法としては公知技術を適用することができる。
さらにネットワークトポロジ収集プログラム72は、ネットワークに関する設定や接続関係に関する情報を収集するためのプログラムである。このネットワークトポロジ収集プログラム72に基づく情報収集作業は、自動的に実行するものであっても、ユーザ操作を契機として実行するものであっても良い。ネットワークトポロジ収集プログラム72による情報収集の手法に関しても公知技術を適用することができる。
一方、物理サーバ管理テーブル73は、計算機システム1内に存在する物理サーバ4を管理するために用いられるテーブルであり、図7に示すように、物理サーバ識別子欄73A、UUID欄73B、物理アダプタ欄73C、スイッチ情報欄73D、サーバモデル欄73E、構成欄73F及び性能情報欄73Gから構成される。
このうち物理サーバ識別子欄73Aには、そのエントリ(図7の1つの行に相当。以下、同様。)に対応する物理サーバ4に付与された識別子(以下、これを物理サーバ識別子と呼ぶ)が格納される。この物理サーバ識別子は、その物理サーバ4に固有の識別子であり、MAC(Media Access Control)アドレスやWWN(World Wide Name)などを適用することができる。ただし、物理サーバ識別子として、本物理サーバ管理テーブル73におけるそのエントリのいずれか1つの欄に格納された情報又はいずれか複数の欄にそれぞれ格納された情報を組み合わせたものを適用するようにしても良く、また物理サーバ識別子を昇順で自動的に物理サーバ4に割り振るようにしても良い。
またUUID欄73Bには、その物理サーバ4に付与されたUUID(Universal Unique IDentifier)が格納される。UUIDは、全宇宙規模で重複しないように形式が既定された識別子である。従って、物理サーバ4ごとのUUIDを管理することにより、各物理サーバ4の確実なユニーク性を保証することができる。このUUIDは、物理サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効である。ただし、物理サーバ識別子は、システム管理者が物理サーバ4を識別するための識別子であって、物理サーバ4間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
物理アダプタ欄73Cは、物理サーバ4に搭載された物理アダプタ60に関する情報を管理するための欄であり、デバイス欄73H、WWN欄73I及びステータス欄73Jから構成される。そしてデバイス欄73Hには、対応する物理サーバ4に搭載された各物理アダプタ60にそれぞれ付与されたデバイスIDが格納される。なお、物理アダプタ60の種別としては、HBA(Host Bus Adaptor)、NIC(Network Interface Card)及びCNA(Converged Network Adapter)などがあるが、図7においては、「1番目のHBA」は「HBA1」、「1番目のNIC」は「NIC1」という具合に、その物理アダプタ60の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスIDとしている。
またWWN欄73Iには、その物理アダプタ60のネットワーク上での識別子が格納される。例えばその物理アダプタ60がHABである場合にはWWNが格納され、その物理アダプタ60がNICである場合にはMACアドレスが格納される。さらにステータス欄73Jには、その物理アダプタ60の現在のステータスが格納される。物理アダプタ60のステータスとしては、問題がない(障害が発生していない)状態を表す「正常」と、障害が発生していることを表す「障害」とがある。
スイッチ情報欄73Dには、その物理サーバ4がその物理アダプタ60を介して接続されている管理用ネットワーク3又は業務用ネットワーク5上のスイッチに関する情報(そのスイッチの種別及び識別子や、接続ポート及びセキュリティ設定情報など)が格納される。
サーバモデル欄73Eには、対応する物理サーバ4のモデルが格納される。インフラに関する情報であり、性能や構成可能なシステム限界を知ることができる情報である。
構成欄73Fには、対応する物理サーバ4の構成が格納される。具体的には、その物理サーバ4に搭載されたCPU30(図3)のアーキテクチャ、シャーシやスロットなどの物理位置情報と、特徴機能(ブレード間SMP(Symmetric Multi-Processing)や、HA構成などの有無)に関する情報とが格納される。構成欄73Fに格納される情報は、サーバモデル欄73Eに格納される情報と同様に、インフラに関する情報である。
さらに性能情報欄73Gには、対応する物理サーバ4の性能情報が格納される。具体的には、CPU30の処理速度、コア数、メモリ容量、ハードディスク容量、NICやHBAの通信速度などが、この性能情報欄に格納されることになる。
仮想サーバ管理テーブル74は、計算機システム1内に存在する仮想サーバ55を管理するためのテーブルであり、図8に示すように、仮想サーバ識別子欄74A、UUID欄74B、I/Oデバイス欄74C、仮想化種別欄74D及び性能情報欄74Eから構成される。
このうち仮想サーバ識別子欄74Aには、そのエントリに対応する仮想サーバ55に付与された識別子(以下、これを仮想サーバ識別子と呼ぶ)が格納される。この仮想サーバ識別子は、その仮想サーバ55に固有の識別子であり、例えば仮想MACアドレスや仮想WWNなどを適用することができる。またOS56によっては、独自にユニーク性を保つための識別子を採用している場合があるので、この識別子を一部に用いてそのOS56が搭載された仮想サーバ55の仮想サーバ識別子を生成するようにしても良い。さらにはユニーク性を確保するために、上記以外の独自の方法により仮想サーバ識別子を生成するようにしても良い。
UUID欄74Bには、その仮想サーバ55に付与されたUUIDが格納される。UUIDは、仮想サーバ識別子の候補ともなり得る識別子であり、広範囲に渡ったサーバ管理には非常に有効な識別子である。ただし、仮想サーバ識別子は、システム管理者が仮想サーバ55を識別するための識別子であって、仮想サーバ55間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
I/Oデバイス欄74Cは、仮想サーバ55に搭載された仮想アダプタ61に関する情報を管理するための欄であり、仮想デバイス欄74F、仮想WWN欄74G、現用/待機欄74H、モード欄74I及びセキュリティ欄74Jから構成される。
そして仮想デバイス欄74Fには、対応する仮想サーバ55に設定された各仮想アダプタ61にそれぞれ付与されたデバイスIDが格納される。なお、図8においては、「1番目の仮想HBA」は「vHBA1」、「1番目のNIC」は「vNIC1」という具合に、その仮想アダプタ61の種別を表す文字列に種別ごとの通し番号を付加したものをデバイスIDとして付与した場合を例示している。また仮想WWN欄74Gには、その仮想アダプタ61のネットワーク上での識別子が格納される。例えばその仮想アダプタ61が仮想HBAである場合には仮想WWNが格納され、その仮想アダプタ61が仮想NICである場合には仮想MACアドレスが格納される。
さらに現用/待機欄74Hには、対応する仮想アダプタ61が現用系及び待機系のいずれであるかを表す情報が格納される。具体的には、その仮想アダプタ61が現用系の「1」番目のアダプタである場合には「現用1」、待機系の「2」番目のアダプタである場合には「待機2」といった情報が格納されることになる。
さらにモード欄74Iには、その仮想アダプタ61の利用モードが格納される。この利用モードとしては、その仮想アダプタ61が当該仮想アダプタ61に対応付けられた物理アダプタ60を占有して使用する「占有」と、その仮想アダプタ61が当該仮想アダプタ61に対応付けられた物理アダプタ60を他の仮想アダプタ61と共有して使用する「共有」とがある。さらにセキュリティ欄74Jには、その仮想アダプタ61のセキュリティに関する設定情報が格納される。
さらに仮想化種別欄74Dには、その仮想サーバ55の仮想化種別に関する情報が格納される。仮想化種別とは、仮想化製品や仮想化技術のことを意味し、制御インタフェースや機能差が明確に判別できるものである。仮想化種別に関する情報として、バージョン情報を含めても良く、また、独自に管理機能をもつ場合には、その管理機能の名称や管理インタフェースを含めても良い。
さらに性能情報欄74Eには、対応する仮想サーバ55の性能情報が格納される。この性能情報としては、仮想CPU50(図3)の動作周波数及びコア数や、仮想メモリ51(図3)のメモリ容量、仮想ハードディスク装置のディスク容量及び仮想アダプタ61の通信速度などが含まれる。
OS管理テーブル75は、物理サーバ4のメモリ31(図3)に格納され、仮想サーバ55にOS56として使用されるOSを管理するためのテーブルであり、図9に示すように、OS識別子欄75A、UUID欄75B、OS種別欄75C、OS設定情報欄75D及び冗長化欄75Eから構成される。
そしてOS識別子欄75Aには、そのエントリに対応するOSに付与されたそのOSに固有の識別子(以下、これをOS識別子と呼ぶ)が格納される。なお、OS識別子として、例えばOS設定情報欄に格納されるOS設定情報を適用するようにしても良い。またUUID欄75Bには、そのOSに付与されたUUIDが格納される。ただし、OS識別子は、システム管理者がOSを識別するための識別子であって、OS間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
またOS種別欄75Cには、そのOSの種別が格納される。さらにOS設定情報欄75Dには、IPアドレスやホスト名、ID、パスワード及びディスクイメージなどのそのOSに対して設定されたOS設定情報が格納される。なお、ディスクイメージとは、設定前後のOSが物理サーバ4又は仮想サーバ55に配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。さらに冗長化欄75Eには、そのOSに関して設定されている冗長化に関する情報が格納される。
業務及びSLA管理テーブル76は、物理サーバ4上で稼働する仮想サーバ55により実行される業務に関する情報を管理するためのテーブルであり、図10に示すように、業務識別子欄76A、UUID欄76B、業務種別欄76C、業務設定情報欄76D及び優先順位・SLA欄76Eから構成される。
このうち業務識別子欄76Aには、そのエントリに対応する業務に付与された識別子(以下、これを業務識別子と呼ぶ)が格納される。業務識別子としては、例えば業務設定情報欄に格納された業務設定情報を適用するようにしても良い。
またUUID欄76Bには、その業務に付与されたUUIDが格納される。UUIDは、業務識別子の候補ともなり得る識別子であり、広範囲に渡った業務には非常に有効な識別子である。ただし、業務識別子は、システム管理者が業務を識別するための識別子であって、業務間で重複しなければ問題はないため、UUIDを適用することが望ましいものの必須ではない。
業務種別欄76Cには、業務種別に関する情報として、使用するアプリケーションやミドルウェアといったその業務を特定するソフトウェアに関する情報が格納される。また業務設定情報欄76Dには、その業務について設定された事項に関する情報として、業務で使用する論理的なIPアドレスやID、パスワード、ディスクイメージ、その業務で使用するポート番号などが格納される。なお、ディスクイメージとは、設定前後のその業務が物理サーバ4又は仮想サーバ55上のOSに配信されたシステムディスクのディスクイメージを指す。ただしデータディスクをディスクイメージに含めるようにしても良い。
さらに優先順位・SLA欄76Eには、業務及びSLA管理テーブル76に登録された各業務間におけるその業務の優先順位や、その業務について設定された要件(SLA:Service Level Agreement)が格納される。これによりこの優先順位・SLA欄76Eに格納された情報に基づいて、どの業務が優先的に救済される必要があり、どの程度であれば計算機資源を共有モードで他の業務とシェアすることができるのかという判断をすることができる。後述のように本実施の形態による計算機システム1では、待機系の計算機資源を共有するため、どこまでのシェアが可能かを設定しておく必要があり、これにより最も本発明の効果を得ることができる運用(どこまで待機の物理計算機資源を減らせるか)を決めることが可能となる。
システム管理テーブル77は、物理サーバ4、仮想サーバ55、OS56及び業務の組合せによるシステム構成を管理するためのテーブルである。このようなシステムを管理することにより、システム間の優先順位に応じて後述する振分け機構に設定する振分け構成を、業務やSLAに応じて変更することが可能となる。このシステム管理テーブル77は、図11に示すように、システム識別子欄77A、UUID欄77B、物理サーバ欄77C、仮想サーバ欄77D、OS欄77E及び業務欄77Fから構成される。
そしてシステム識別子欄77Aには、そのエントリに対応するシステムに付与されたそのシステムに固有の識別子(以下、これをシステム識別子と呼ぶ)が格納される。またUUID欄77Bには、そのシステムに付与されたUUIDが格納される。このUUIDとしては、物理サーバ欄77Cから業務欄77Fまでの各欄にそれぞれ格納された情報の一部又は全部を組み合わせたものを適用するようにしても良い。
さらに物理サーバ欄77C、仮想サーバ欄77D、OS欄77E及び業務欄77Fには、それぞれそのシステムを構成する物理サーバ4の物理サーバ識別子、仮想サーバ55の仮想サーバ識別子、OS56のOS識別子及び業務の業務識別子がそれぞれ格納される。
なお、図11には記載していないが、各システムにそれぞれ関連するラックやフロア、コンセントボックス、ブレーカ、センタ、HA構成の有無、ネットワークインフラ情報、電力グリッド、ネットワーク結線関係、ネットワークスイッチ、ファイバチャネルスイッチ、各スイッチの収容量及びネットワーク帯域などに関する情報をシステム管理テーブル77において管理するようにしても良く、このようにすることによってシステムの可用性についても本発明の効果を得ることができる。
一方、物理サーバ4のリクエスト検出プログラム80(図4)は、仮想化機構40上で稼働している仮想サーバ55からリクエストが発行された場合にこれを検出するためのプリグラムであり、障害判定プログラム81は、仮想サーバ55から仮想化機構40にリクエストが与えられたときに、物理サーバ4のネットワークインタフェース33に障害が発生したことによるものか否かを判定するためのプログラムである。
また管理サーバ通信プログラム82は、振分け機構42が仮想化機構管理用インタフェース41を介して管理サーバ2と通信を行うためのプログラムであり、振分けプログラム83は、障害判定プログラム81の判定結果に従って、仮想アダプタ61から発行されたリクエストを対応する物理アダプタ60に振り分けるためのプログラムである。
さらに物理サーバ4のアダプタ管理テーブル84は、各仮想サーバ55にそれぞれ搭載された仮想アダプタ61を管理するためのテーブルであり、図12に示すように、仮想サーバ識別子欄84A、仮想アダプタ欄84B、現用/待機欄84C、モード欄84D、セキュリティ欄84E、セキュリティ種別欄84F、物理アダプタ欄84G及びステータス欄84Hから構成される。
そして仮想サーバ識別子欄84A、仮想アダプタ欄84B、現用/待機欄84C、モード欄84D及びセキュリティ欄84Eには、図8について上述した仮想サーバ管理テーブル74の仮想サーバ識別子欄74A、仮想デバイス欄74F、現用/待機欄74H、モード欄74I及びセキュリティ欄74Jのうちの対応する欄に格納されている情報と同じ情報がそれぞれ格納される。またセキュリティ種別欄84Fには、対応するセキュリティ欄84Eに格納されたセキュリティ等に関する具体的な種別が格納される。
さらに物理アダプタ欄84Gには、対応する仮想アダプタ61が割り当てられた物理アダプタ60のアダプタIDが格納される。なお、物理アダプタ60が占有モードに設定された仮想アダプタ61に割り当てられている場合、その物理アダプタ60のアダプタIDが他の仮想アダプタ61の物理アダプタ欄84Gに格納されることはない。これに対して物理アダプタ60が共有モードに設定された仮想アダプタ61に割り当てられている場合には、その物理アダプタ60のアダプタIDが他の仮想アダプタ61の物理アダプタ欄84Gに格納されることがある。
ステータス欄84Hには、対応する仮想アダプタ61又は物理アダプタ60のステータスに関する情報が格納される。この場合、かかるステータスとしては、障害が発生していない状態を意味する「正常」や、障害が発生したことを意味する「障害」などがある。またステータスに関する他の情報としては、「待機系の仮想アダプタ61がある物理アダプタ60(NIC5とする)を高い優先度で使用している」ことや、「待機系の仮想アダプタ61がある物理アダプタ60を共有使用している」ことなどがある。これらのステータスに関する情報には、仮想化機構40で判断及び決定した内容と、管理サーバ2が設定、判断及び指示した内容とのいずれか又は両方が含まれる。
リクエスト種別管理テーブル85は、物理アダプタ60若しくは仮想アダプタ61から発行され、又は、これら物理アダプタ60若しくは仮想アダプタ61に対して発行されたリクエストの種別を管理し、これらのリクエストに対して振分け機構42が実行すべき振分け動作のルールを管理するためのテーブルである。このリクエスト種別管理テーブル85は、図13に示すように、リクエスト識別子欄85A、リクエスト種別欄85B及び振分け指示欄85Cから構成される。
そしてリクエスト識別子欄85Aには、そのエントリに対応するリクエストに付与された識別子(以下、これをリクエスト識別子と呼ぶ)が格納され、リクエスト種別欄85Bには、対応するリクエストの種別(以下、これを単にリクエスト種別と呼ぶ)が格納される。この「リクエスト種別」としては、「死活監視」、「マルチキャスト」及び「ユニキ
ャスト」などがある。
ャスト」などがある。
また振分け指示欄85Cには、そのリクエスト種別に対して振分け機構が実行すべき振分け処理の処理内容が格納される。例えば図13の例の場合、「死活監視」としてARP(Address Resolution Protocol)リクエストが仮想アダプタ61から発行されたときに、以下のような振分け処理が実行される。
振分け機構42は、まず、待機系の物理アダプタ60の中から他の仮想アダプタ61が高い優先度で使用する設定がなされていない物理アダプタ60を検索し、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「他の待機の物理アダプタで処理」)。
これに対して、振分け機構42は、上述のような仮想アダプタ61が高い優先度で使用する設定がなされていない待機系の物理アダプタ60が存在しない場合には、優先順位の低い業務を担当している待機系の物理アダプタ60を管理サーバ2に問い合わせ、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「上記がない場合、優先順位の低いアダプタで処理」)。
また振分け機構42は、上述のような優先順位の低い業務を担当している待機系の物理アダプタ60が存在しない場合には、負荷の低い物理アダプタ60を管理サーバ2に問い合わせ、そのような物理アダプタ60が存在する場合には、その物理アダプタ60にそのARPリクエストを振り分ける(図13の「上記がない場合、負荷の低いアダプタで処理」)。
なお、上述のような負荷の低い物理アダプタ60が存在しなかった場合には、振分け機構42が、占有モードで使用している現用系の物理アダプタ60を共有モードにして、その物理アダプタ60にそのARPリクエストを振り分けるようにしても良い。
そして振分け機構42は、最終的にARPリクエストを振り分けるべき物理アダプタ60を見つけ出すことができなかった場合には、そのARPリクエストを通さない、つまりARPリクエストの振分け先となる物理アダプタ60がないことを管理サーバ2に通知する(図13の「通さない」)。
なお、各仮想サーバ55における待機系の仮想アダプタ61からは、現用系の仮想アダプタ61に割り当てられた物理アダプタ60の障害の有無に関わりなく、死活監視リクエスト以外の各種管理パケットが発行される。この場合、これら管理パケットはパケットサイズが小さいため、リクエストのパケットサイズの大小や多少によって、リクエストの振分け先を決定することも可能である(図13の「リクエスト識別子6」の振分け指示欄85C及び「リクエスト識別子7」の振分け指示欄85C参照)。これにより判断が速くなったり、死活監視リクエスト以外の管理パケットにも対応することが可能になる。
(1-3)本実施の形態による振分け処理に関する各種処理
(1-3-1)リクエスト振分け処理
次に、かかる本実施の形態による振分け処理に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明する場合があるが、実際上は、そのプログラムに基づいて、管理サーバ2のCPU20又は物理サーバ4のCPU30がその処理を実行することは言うまでもない。
(1-3-1)リクエスト振分け処理
次に、かかる本実施の形態による振分け処理に関する各種処理の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明する場合があるが、実際上は、そのプログラムに基づいて、管理サーバ2のCPU20又は物理サーバ4のCPU30がその処理を実行することは言うまでもない。
図14は、かかる振分け処理に関連して物理サーバ4の仮想化機構40の制御プログラム群35において実行される振分け処理の一連の流れを示す。
かかる制御プログラム群35では、自物理サーバ4上で稼働するいずれかの仮想サーバ55の待機系の仮想アダプタ61からリクエストが発行されるのをリクエスト検出プログラム80(図4)が待ち受けている。そしてリクエスト検出プログラム80がいずれかの仮想サーバ55の待機系の仮想アダプタ61から何らかのリクエストが発行されたことを検出すると、これを契機として、その仮想アダプタ61に割り当てられている物理アダプタ60に障害が発生しているか否かを障害判定プログラム81(図4)が判定する(SP1)。
ここで、この判定において否定結果(障害が発生していない)を得ることは、そのときリクエスト検出プログラム80が検出したリクエストは、死活監視リクエスト又は他の管理用のリクエストであることを意味する。かくしてこのとき障害判定プログラム81は、そのリクエストを振分けプログラム83に渡たす。そして、振分けプログラム83は、この後、図16について後述する振分け処理を実行する(SP7)。
これに対してステップSP1の判定において肯定結果(障害が発生している)を得ることは、そのときのリクエスト発行元の仮想サーバ55の現用系の仮想アダプタ61に割り当てられている物理アダプタ60に障害が発生していることを意味する。かくしてこのとき障害判定プログラム81は、その旨の通知を管理サーバ通信プログラム82(図4)を介して管理サーバ2に送信する(SP2)。
また障害判定プログラム81は、この後、アダプタ管理テーブル84(図12)を参照して、リクエスト発行元の仮想サーバ55におけるリクエスト発行元の仮想アダプタ61を特定し(SP3)、さらに待機系の物理アダプタ60に余剰があるか否か(いずれの仮想サーバ55の待機系の仮想アダプタ61にも高い優先度で使用する物理デバイスとして設定されていない待機系の物理アダプタ60が存在するか否か)を判定する(SP4)。
そして障害判定プログラム81は、待機系の物理アダプタ60に余剰がないと判定した場合には、その旨の通知(以下、これを判断要求通知と呼ぶ)を管理サーバ2に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ60を管理サーバ2に問い合わせる(SP5)。かくして管理サーバ2は、かかる判断要求通知を受信すると、図17について後述する振分け先判断処理に従ってリクエスト発行元の仮想アダプタ61にどの物理アダプタ60を割り当てるかを判断し、その判断結果でなる後述の振分け条件を障害判定プログラム81に通知する。
ここで、振分け条件とは、後述のようにリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60の候補を含む情報である。リクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60の候補としては、例えば、優先順位が最も低い業務を実行している仮想サーバ55の仮想アダプタ61に割り当てられている待機系の物理アダプタ60や、そのとき負荷が最も低い又は低負荷状態が継続している仮想アダプタ61に割り当てられている待機系の物理アダプタ60が挙げられる。また、優先順位の高い業務を実行している他の仮想サーバ55の仮想アダプタ61に待機系の物理アダプタ60がすべて割り当て済みの場合や、SLA要件を満たせないときには物理アダプタ60を割り当てないという判断もあり得る。
そして障害判定プログラム81は、管理サーバ2から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ55のリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60を決定すると共に、リクエスト種別管理テーブル85を参照して、当該物理アダプタ60にリクエストを振り分ける際の振分け条件を振分けプログラム83に設定する。また障害判定プログラム81は、そのリクエストを振分けプログラム83に転送する(SP6)。
かくして、振分けプログラム83は、ステップSP6において設定された振分け条件及びリクエスト種別管理テーブル85(図13)において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム81から転送されたリクエストを対応する物理アダプタ60に振り分ける(SP7)。
これにより、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
(1-3-2)障害判定処理
一方、図15は、図14のステップSP1において障害判定プログラム81により実行される障害判定処理の具体的な処理手順を示す。この図15は、リクエスト検出プログラム80が受け付けたリクエストが、死活監視リクエスト、又は予め定められた閾値(以下、これを管理パケット判定閾値と呼ぶ)以下のパケットサイズのリクエストのときには障害が発生していないと判断し、これ以外のときには障害が発生していると障害判定プログラム81が判断する場合の一例である。
一方、図15は、図14のステップSP1において障害判定プログラム81により実行される障害判定処理の具体的な処理手順を示す。この図15は、リクエスト検出プログラム80が受け付けたリクエストが、死活監視リクエスト、又は予め定められた閾値(以下、これを管理パケット判定閾値と呼ぶ)以下のパケットサイズのリクエストのときには障害が発生していないと判断し、これ以外のときには障害が発生していると障害判定プログラム81が判断する場合の一例である。
すなわち障害判定プログラム81は、いずれかの仮想アダプタ61からのリクエストをリクエスト検出プログラム80が検出すると、この障害判定処理を開始し、まず、そのリクエストが死活監視リクエストであるか否かを判断する(SP10)。そして障害判定プログラム81は、この判断において肯定結果を得ると、この障害判定処理を終了して図14について上述したリクエスト振分け処理のステップSP7に進む。
これに対して障害判定プログラム81は、ステップSP10の判断において否定結果を得ると、そのリクエストのサイズが上述の管理パケット判定用閾値よりも大きいか否かを判断する(SP11)。
そして障害判定プログラム81は、この判断において肯定結果を得ると、障害が発生したと判断して、アダプタ管理テーブル84(図12)における対応するエントリのステータス欄84H(図12)に格納されているステータスを更新する(SP12)。そして障害判定プログラム81は、この後、この障害判定処理を終了して図14について上述したリクエスト振分け処理のステップSP2に進む。
これに対して障害判定プログラム81は、ステップSP11の判断において否定結果を得ると、障害が発生していないと判断し、この障害判定処理を終了してリクエスト振分け処理のステップSP7に進む。
(1-3-3)振分け処理
他方、図16は、図14のステップSP7において振分けプログラム83により実行される振分け処理の具体的な処理手順を示す。
他方、図16は、図14のステップSP7において振分けプログラム83により実行される振分け処理の具体的な処理手順を示す。
振分けプログラム83は、いずれかの仮想アダプタ61からのリクエストを障害判定プログラム81から与えられると、この振分け処理を開始し、まず、アダプタ管理テーブル84を参照して、振分け先の物理アダプタ60のステータスが「障害」となっているか否かを判断する。
そして振分けプログラム83は、この判断において肯定結果を得ると、図14のステップSP6において高い優先度で利用するように設定された物理アダプタ60にそのリクエストを振り分ける(SP21)。そして振分けプログラム83は、この後、この振分け処理を終了する。
これに対して振分けプログラム83は、ステップSP20の判断において否定結果を得ると、待機系の物理アダプタ60のうち、いずれの仮想アダプタ61にも高い優先度で使用するように設定されていない、いずれかの待機系の物理アダプタ60にリクエストを振り分ける(SP22)。そして振分けプログラム83は、この後、この振分け処理を終了する。
(1-3-4)振分け設定処理
図17は、物理サーバ4の仮想化機構40から上述の判断要求通知を受信した管理サーバ2の振分け設定プログラム70(図2)により実行される振分け設定処理の処理手順を示す。
図17は、物理サーバ4の仮想化機構40から上述の判断要求通知を受信した管理サーバ2の振分け設定プログラム70(図2)により実行される振分け設定処理の処理手順を示す。
振分け設定プログラム70は、かかる判断要求通知を受信すると、この振分け設定処理を開始し、まず、業務及びSLA管理テーブル76(図2)を参照して、既に物理アダプタ60が高い優先度で使用できるように割り当てられている仮想アダプタ61の中から、そのときのリクエスト発行元の仮想アダプタ61と当該物理アダプタ60を共有すべき仮想アダプタ61と、当該リクエスト発行元の仮想アダプタ61との組(以下、これを振分け条件と呼ぶ)を優先順位や計算機資源の使用量及び使用頻度などから決定する(SP30)。
かかる振分け条件の決定方法としては、例えば、優先順位が高い業務を実行する仮想サーバ55の仮想アダプタ61と、優先順位が低い業務を実行する仮想サーバ55の仮想アダプタ61と組み合わせる方法や、計算機資源の使用量や使用頻度が高い業務を実行する仮想サーバ55の仮想アダプタ61と、計算機資源の使用量や使用頻度が低い業務を実行する仮想サーバ55の仮想アダプタ61とを組み合わせる方法、ベストエフォート型の業務を実行する仮想サーバ55の仮想アダプタ61のみを組み合わせる方法などがある。
また、ある現用系の仮想アダプタ61に割り当てられている物理アダプタ60の割当てモードを占有モードから共有モードに変更して、その物理アダプタ60をリクエスト発行元の仮想アダプタ61に割り当てるように、振分け条件を決定する方法も考えられる。この際、かかる物理アダプタ60としては、使用率や使用頻度が低いものが対象となる。また繁忙期でない休閑期の業務を実行する仮想サーバ55の現用系の仮想アダプタ61に割り当てられている物理アダプタ60から融通するという方法も考えられる。さらにそのような物理アダプタ60が存在しない場合には、その仮想アダプタ61に物理アダプタ60を割り当てないという方法も考えられる。
続いて、振分け設定プログラム70は、上述のようにして設定した振分け条件を仮想化機構40の振分け機構42に通知し(SP31)、さらに管理サーバ2のメモリ21に格納された管理テーブル群25を構成する物理サーバ管理テーブル73及び又は仮想サーバ管理テーブル74を必要に応じて更新する(SP32)。そして振分け設定プログラム70は、この後、この振分け設定処理を終了する。
(1-4)本実施の形態の効果
以上のように本実施の形態による計算機システム1では、待機系の物理アダプタ60がすべていずれかの仮想アダプタ61に高い優先度で使用する設定に割り当てられている場合には、これら優先度の高い待機系の物理アダプタ60の処理の隙間を見つけて、他の仮想アダプタ61のリクエストを割り込ませるようにしているため、障害があった物理アダプタ60が割り当てられている仮想サーバ55が実行している業務以外の他の業務に影響なく、当該仮想サーバ55が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
以上のように本実施の形態による計算機システム1では、待機系の物理アダプタ60がすべていずれかの仮想アダプタ61に高い優先度で使用する設定に割り当てられている場合には、これら優先度の高い待機系の物理アダプタ60の処理の隙間を見つけて、他の仮想アダプタ61のリクエストを割り込ませるようにしているため、障害があった物理アダプタ60が割り当てられている仮想サーバ55が実行している業務以外の他の業務に影響なく、当該仮想サーバ55が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
(2)第2の実施の形態
第1の実施の形態においては、図14について上述したリクエスト振分け処理のステップSP4において物理アダプタ60に余剰がないと障害判定プログラム71が判断したときに、そのリクエストを割り込ませる物理アダプタ60を管理サーバ2が判断していたが、この判断の一部を物理サーバ4の振分け機構42が行うこともできる。
第1の実施の形態においては、図14について上述したリクエスト振分け処理のステップSP4において物理アダプタ60に余剰がないと障害判定プログラム71が判断したときに、そのリクエストを割り込ませる物理アダプタ60を管理サーバ2が判断していたが、この判断の一部を物理サーバ4の振分け機構42が行うこともできる。
すなわち、リクエスト振分け処理のステップSP4において物理アダプタ60に余剰がないと障害判定プログラム71が判断したときに、仮想アダプタ61からのリクエストのリクエスト種別を振分け機構42が判定し、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域がある場合などの処理を割り込ませる余裕があるときに、かかるリクエストを余裕がある物理アダプタ60に割り込ませる方法である。
この方法によれば、第1の実施の形態と同様により、待機系の物理アダプタ60に余剰がない状態で、重要度の高い業務を担当の仮想サーバ55の現用系の仮想アダプタ61に割り当てられていた物理アダプタ60に障害が発生した場合にも、その重要度の高い業務が停止することを防ぐことが可能である。
この方法を活用できるシーンとしては、他の仮想アダプタ61が発行する死活監視リクエストや、予め利用者が設定している閾値よりも少量のリクエストや、高い優先度で使用している仮想アダプタ61の帯域使用量を鑑みて性能劣化を生じさせない(例えば、閾値設定をしておく、監視プログラムなどで応答時間を計測しておきSLA違反しない範囲など)場合が考えられる。これらに対応することで、待機系の物理アダプタ60で処理を交替した業務以外の他の業務も救済することが可能になる。さらに、物理アダプタ60を増やす必要がないため、本発明の効果である「仮想化環境における高可用システムを安価に提供」することが可能になる。
図18は、以上を考慮した第2の実施の形態によるリクエスト振分け処理の処理手順を示す。本実施の形態の場合、物理サーバ4の振分け機構40は、ステップSP40~ステップSP43の処理を図14について上述した第1の実施の形態によるリクエスト振分け処理のステップSP1~ステップSP4と同様に処理する。
そしてステップSP43の判断において肯定結果が得られた場合には、この後ステップSP46及びステップSP47の処理が第1の実施の形態によるリクエスト振分け処理のステップSP6及びステップSP7と同様の処理が行われ、この後、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
これに対してステップSP43の判断において否定結果が得られた場合、障害判定プログラム81は、アダプタ管理テーブル84(図12)及びリクエスト種別管理テーブル85(図13)を参照して、いずれかの仮想アダプタ61に高い優先度で使用するように設定された待機系の物理アダプタ60の中に、そのリクエストを割り込ませ得る物理アダプタ60が存在するか否かを判断する(SP44)。具体的に、障害判定プログラム81は、そのリクエストの処理負荷や、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域があるか否かなどを考慮してこの判断を行う。
そして障害判定プログラム81は、この判断において肯定結果を得ると、そのリクエストを割り込ませるべき物理アダプタ60を決定し、決定した物理アダプタ60を当該リクエストの振分け先として振分けプログラム83に通知すると共に、そのリクエストを振分けプログラム83転送する(SP48)。
これに対して障害判定プログラム81は、ステップSP44の判断において否定結果を得ると、管理サーバ2に判断要求通知を管理サーバ2に送信することにより、かかるリクエストを振り分けるべき待機系の物理アダプタ60を管理サーバ2に問い合わせる(SP45)。かくして管理サーバ2は、かかる判断要求通知を受信すると、第1の実施の形態と同様にして、リクエスト発行元の仮想アダプタ61にどの物理アダプタ60を割り当てるかを判断し、その判断結果を振分け条件として障害判定プログラム81に通知する。
そして障害判定プログラム81は、管理サーバ2から送信される上述の振分け条件を受信すると、リクエスト発行元の仮想サーバ55のリクエスト発行元の仮想アダプタ61に割り当てる物理アダプタ60を決定すると共に、リクエスト種別管理テーブル85を参照して、当該物理アダプタ60にリクエストを振り分ける際の振分け条件を振分けプログラム83に設定する。また障害判定プログラム81は、そのリクエストを振分けプログラム83に転送する(SP46)。
かくして、振分けプログラム83は、ステップSP6において設定された振分け条件及びリクエスト種別管理テーブル85(図13)において規定されたリクエスト種別ごとの処理方法に従って、そのとき障害判定プログラム81から転送されたリクエストを対応する物理アダプタ60に振り分ける(SP47)。
そしてこの後、物理サーバ4の制御プログラム群35における一連のリクエスト振分け処理が終了する。
以上のように本実施の形態においては、物理アダプタ60に余剰はないが、そのリクエストの処理負荷が軽いときや、いずれかの仮想アダプタ61が高い優先度で使用する設定がなされている待機系の物理アダプタ60に空き帯域がある場合などの処理を割り込ませる余裕があるときには、かかるリクエストを余裕がある物理アダプタ60に割り込ませるようにしているため、第1の実施の形態と同様に、障害があった物理アダプタ60が割り当てられている仮想サーバ55が実行している業務以外の他の業務に影響なく、当該仮想サーバ55が実行している業務を救済することができる。かくするにつき、より多くの業務を救済しつつ、可能な限り性能を維持し得る可用性の高い計算機システムを実現できる。
(3)第3の実施の形態
待機系の仮想アダプタ61をグループ化し、グループごとに優先順位付けを行うことで、例えばあるシステムを構成する複数の業務が等しく救済することが可能になる。ある業務だけが優先的に救済されるのではなく、その業務と別の業務を救済することで、システムとして救済することが可能になる。このような場合、多くは一方だけを救済するだけでは不十分で、他方も同時に救うことで冗長構成の意味を成す。グループの種別としては、ユーザ種別・役割種別・業務種別・アプリケーション種別・OS種別・VM種別・ハードウェ
ア種別などの計算機システムおよび計算機システムの運用に類する項目であれば、単独または組み合わせることにより、上記の効果を得ることが可能である。種別に関する情報は、管理テーブル群25または管理テーブル群36に格納される。
待機系の仮想アダプタ61をグループ化し、グループごとに優先順位付けを行うことで、例えばあるシステムを構成する複数の業務が等しく救済することが可能になる。ある業務だけが優先的に救済されるのではなく、その業務と別の業務を救済することで、システムとして救済することが可能になる。このような場合、多くは一方だけを救済するだけでは不十分で、他方も同時に救うことで冗長構成の意味を成す。グループの種別としては、ユーザ種別・役割種別・業務種別・アプリケーション種別・OS種別・VM種別・ハードウェ
ア種別などの計算機システムおよび計算機システムの運用に類する項目であれば、単独または組み合わせることにより、上記の効果を得ることが可能である。種別に関する情報は、管理テーブル群25または管理テーブル群36に格納される。
(4)第4の実施の形態
障害発生を契機として、待機系の物理アダプタ60が接続されている外部スイッチ(例えば管理用ネットワーク3、または業務用ネットワーク5に接続)のポートを、特定の設定(例えば、セキュリティ設定など)へ変更したり、現用の物理アダプタ60が接続されているポートの設定(例えば、セキュリティ設定など)を継承させる。管理サーバ2が指示しても良いし、振分け機構42が指示しても良い。これにより、現用の物理アダプタ60と同じセキュリティ強度を実現できたり、QoS(Quality of Service)設定をすることで同じ性能を実現できたり、VLAN(Virtual Local Area Network)設定やSANセキュリティ設定をすることで正常に接続することが可能になる。
障害発生を契機として、待機系の物理アダプタ60が接続されている外部スイッチ(例えば管理用ネットワーク3、または業務用ネットワーク5に接続)のポートを、特定の設定(例えば、セキュリティ設定など)へ変更したり、現用の物理アダプタ60が接続されているポートの設定(例えば、セキュリティ設定など)を継承させる。管理サーバ2が指示しても良いし、振分け機構42が指示しても良い。これにより、現用の物理アダプタ60と同じセキュリティ強度を実現できたり、QoS(Quality of Service)設定をすることで同じ性能を実現できたり、VLAN(Virtual Local Area Network)設定やSANセキュリティ設定をすることで正常に接続することが可能になる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成された計算機システム1に適用するようにした場合について述べたが、本発明はこれに限らず、冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
なお上述の実施の形態においては、本発明を図1のように構成された計算機システム1に適用するようにした場合について述べたが、本発明はこれに限らず、冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
また上述の実施の形態においては、現用系の仮想アダプタ61に割り当てられた物理アダプタ60に障害が発生した仮想サーバ55の待機系の仮想アダプタ61に対して待機系の物理アダプタ60を割り当てる場合についてのみ述べたが、例えば、かかる待機系の物理アダプタ60に障害が発生したときには、さらに他の待機系の物理アダプタ60を高い優先度で使用する物理アダプタとしてその待機系の仮想アダプタ61に割り当てるようにしても良い。
冗長化を目的として仮想デバイスを多重構成としたこの他種々の構成の計算機システムに広く適用することができる。
1……計算機システム、2……管理サーバ、3……管理用ネットワーク、4……物理サーバ、5……業務用ネットワーク、6……ストレージサブシステム、20,30……CPU、21,31……メモリ、22,33……ネットワークインタフェース、23,33……ディスクインタフェース、24,35……制御プログラム群、25,36……管理テーブル群、40……仮想化機構、42……振分け機構、53……仮想ネットワークインタフェース、54……仮想ディスクインタフェース、55……仮想サーバ、60……物理アダプタ、61……仮想アダプタ、70……振分け設定プログラム、71……障害判定プログラム、72……ネットワークトポロジ収集プログラム、73……物理サーバ管理テーブル、74……仮想サーバ管理テーブル、75……OS管理テーブル、76……業務及びSLA管理テーブル、77……システム管理テーブル、80……リクエスト検出プログラム、81……障害判定プログラム、82……管理サーバ通信プログラム、83……振分けプログラム、84……アダプタ管理テーブル、85……リクエスト種別管理テーブル。
Claims (16)
- 物理サーバを有する計算機システムにおいて、
前記物理サーバは、
現用系及び待機系の物理デバイスと、
前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを備え、
前記仮想化機構は、
前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける機能を有し、
前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、
当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが、他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、
前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする計算機システム。 - 前記仮想化機構は、
他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項1に記載の計算機システム。 - 前記物理サーバを管理する管理サーバをさらに備え、
前記仮想化機構は、
前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせ、
前記管理サーバは、
各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知し、
前記仮想化機構は、
前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項1に記載の計算機システム。 - 前記仮想化機構は、
前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
ことを特徴とする請求項3に記載の計算機システム。 - 前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
前記現用系及び待機系の物理デバイスは、
前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
ことを特徴とする請求項1に記載の計算機システム。 - 前記仮想化機構は、
前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
ことを特徴とする請求項1に記載の計算機システム。 - 前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
ことを特徴とする請求項6に記載の計算機システム。 - 前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであって、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに振り分け、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
ことを特徴とする請求項7に記載の計算機システム。 - 物理サーバを有する計算機システムの可用化方法において、
前記物理サーバは、
現用系及び待機系の物理デバイスと、
前記現用系の物理デバイスを仮想化してなる現用系の仮想デバイス、及び、前記待機系の物理デバイスを仮想化してなる待機系の仮想デバイスをそれぞれ有する複数の仮想サーバを提供する仮想化機構とを有し、
前記仮想化機構が、前記仮想サーバの前記現用系の仮想デバイスには前記現用系の物理デバイスを占有で割り当て、前記仮想サーバの前記待機系の仮想デバイスには前記仮想系の物理デバイスを共有で割り当て、前記仮想サーバの現用系又は待機系の仮想デバイスから発行されたリクエストを、当該現用系又は待機系の仮想デバイスに割り当てた現用系又は待機系の物理デバイスに振り分ける第1のステップと、
前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生した場合には、当該仮想サーバの前記待機系の仮想デバイスに対して、いずれの前記仮想サーバの前記待機系の仮想デバイスにも高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスを、当該待機系の仮想デバイスが他の待機系の前記仮想デバイスよりも高い優先度で使用する物理デバイスとして設定すると共に、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストを当該仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける第2のステップと
を備えることを特徴とする計算機システムの可用化方法。 - 前記第2のステップでは、
他の仮想サーバの前記待機系の仮想デバイスから発行される前記リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスに振り分ける一方、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける
ことを特徴とする請求項9に記載の計算機システムの可用化方法。 - 前記計算機システムは、
前記物理サーバを管理する管理サーバをさらに備え、
前記第2のステップは、
前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる問合わせステップと、
前記管理サーバが、各前記仮想サーバが実行する業務の優先順位に基づいて、当該リクエストを振り分けるべき前記待機系の物理デバイスを判断し、判断結果を前記仮想化機構に通知する判断ステップと、
前記仮想化機構が、前記管理サーバの判断結果に基づいて、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定された前記待機系の物理デバイスに振り分ける振分けステップとを備える
ことを特徴とする請求項9に記載の計算機システムの可用化方法。 - 前記問合わせステップでは、
前記仮想化機構が、前記他の仮想サーバの前記待機系の仮想デバイスから前記リクエストが発行されたときに、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理デバイスとして設定されていない前記待機系の物理デバイスが存在しない場合であって、いずれかの前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタの中に、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在するときには、当該リクエストを当該待機系の物理アダプタに割り込ませ、当該リクエストを割り込ませることができる前記待機系の物理アダプタが存在しないときには、当該リクエストを振り分けるべき前記待機系の物理デバイスを前記管理サーバに問い合わせる
ことを特徴とする請求項11に記載の計算機システムの可用化方法。 - 前記計算機システムは、
前記物理サーバを管理する管理サーバ及び又は当該物理サーバからのデータを読み書きするための記憶領域を提供するストレージ装置をさらに備え、
前記現用系及び待機系の物理デバイスは、
前記管理サーバ又は前記ストレージ装置と通信を行うためのアダプタである
ことを特徴とする請求項9に記載の計算機システムの可用化方法。 - 前記第2のステップでは、
前記仮想化機構は、前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストの種別に基づいて、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したか否かを判断する
ことを特徴とする請求項9に記載の計算機システムの可用化方法。 - 前記第2のステップでは、
前記仮想化機構は、いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったとき、又は、前記待機系の仮想デバイスから発行されたリクエストのパケットサイズが閾値よりも小さいとき以外のときには、前記仮想サーバの前記現用系の仮想デバイスに割り当てられた前記現用系の物理デバイスに障害が発生したと判断する
ことを特徴とする請求項14に記載の計算機システムの可用化方法。 - 前記第2のステップにおいて、前記仮想化機構は、
いずれかの前記仮想サーバの前記待機系の仮想デバイスから発行されたリクエストが死活監視用のリクエストであったときには、当該リクエストを、いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在するときには、当該待機系の物理アダプタに振り分け、
いずれかの前記仮想サーバの前記待機系の仮想デバイスが高い優先度で使用する物理アダプタとして設定されていない前記待機系の物理アダプタが存在しないときには、当該リクエストを、優先順位が最も低い業務を実行する前記仮想サーバの前記待機系の仮想アダプタが高い優先度で使用する物理アダプタとして設定された前記待機系の物理アダプタ、又は、負荷が最も低い前記待機系の物理アダプタに振り分ける
ことを特徴とする請求項15に記載の計算機システムの可用化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/388,948 US8874952B2 (en) | 2010-01-05 | 2010-03-05 | Computer system and availability method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010000609A JP5282046B2 (ja) | 2010-01-05 | 2010-01-05 | 計算機システム及びその可用化方法 |
JP2010-000609 | 2010-01-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011083522A1 true WO2011083522A1 (ja) | 2011-07-14 |
Family
ID=44305269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/001535 WO2011083522A1 (ja) | 2010-01-05 | 2010-03-05 | 計算機システム及びその可用化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8874952B2 (ja) |
JP (1) | JP5282046B2 (ja) |
WO (1) | WO2011083522A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013120552A (ja) * | 2011-12-08 | 2013-06-17 | Hitachi Ltd | 仮想計算機システム、仮想計算機管理プログラム、及びmacアドレス管理方法 |
JP6068676B2 (ja) * | 2013-11-28 | 2017-01-25 | 株式会社日立製作所 | 計算機システム及び計算機システムの制御方法 |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013051136A1 (ja) * | 2011-10-06 | 2013-04-11 | 株式会社日立製作所 | 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ |
WO2013099023A1 (ja) * | 2011-12-28 | 2013-07-04 | 富士通株式会社 | 監視プログラム、監視方法および監視装置 |
JP5492253B2 (ja) * | 2012-06-11 | 2014-05-14 | 日本電信電話株式会社 | 制御装置、制御方法および制御プログラム |
US20140149559A1 (en) * | 2012-11-29 | 2014-05-29 | Inside Secure | Virtual private network (vpn) system utilizing configuration message including vpn character configuration string |
WO2014091734A1 (ja) * | 2012-12-14 | 2014-06-19 | 日本電気株式会社 | システム構築装置、及び、システム構築方法 |
JP6149444B2 (ja) * | 2013-03-15 | 2017-06-21 | 日本電気株式会社 | アプリケーション起動制御方法とシステムと装置とプログラム |
US9262351B2 (en) * | 2014-03-27 | 2016-02-16 | International Business Machines Corporation | Inter-adapter cooperation for multipath input/output systems |
WO2016013199A1 (ja) * | 2014-07-22 | 2016-01-28 | 日本電気株式会社 | 仮想化基盤管理装置、仮想化基盤管理システム、仮想化基盤管理方法、及び、仮想化基盤管理プログラムが記録された記録媒体 |
US10048974B1 (en) * | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
JP6189553B2 (ja) * | 2014-11-28 | 2017-08-30 | 株式会社日立製作所 | 仮想計算機システムの制御方法及び仮想計算機システム |
US9413626B2 (en) | 2014-12-05 | 2016-08-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US10108455B2 (en) | 2015-08-26 | 2018-10-23 | Vmware, Inc. | Methods and apparatus to manage and execute actions in computing environments based on a type of virtual compute node |
US10122649B2 (en) * | 2015-08-26 | 2018-11-06 | Vmware, Inc. | Methods and apparatus to manage and execute actions in computing environments based on a routing path |
US10110505B2 (en) | 2015-08-26 | 2018-10-23 | Vmware, Inc. | Methods and apparatus to manage and execute actions in computing environments using a graphical user interface |
US9928108B1 (en) | 2015-09-29 | 2018-03-27 | Amazon Technologies, Inc. | Metaevent handling for on-demand code execution environments |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
JP6840099B2 (ja) * | 2018-02-19 | 2021-03-10 | 日本電信電話株式会社 | サービス提供システム、資源割り当て方法、及び資源割り当てプログラム |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
JP7106953B2 (ja) | 2018-04-10 | 2022-07-27 | 富士通株式会社 | サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005216151A (ja) * | 2004-01-30 | 2005-08-11 | Hitachi Ltd | 資源運用管理システム及び資源運用管理方法 |
JP2008146566A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 計算機、仮想デバイスの制御方法およびそのプログラム |
JP2009266106A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | 管理装置及び管理方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2712861B2 (ja) | 1991-03-26 | 1998-02-16 | 三菱電機株式会社 | 飛しょう体の誘導制御装置 |
JP4544146B2 (ja) * | 2005-11-29 | 2010-09-15 | 株式会社日立製作所 | 障害回復方法 |
JP4542514B2 (ja) * | 2006-02-13 | 2010-09-15 | 株式会社日立製作所 | 計算機の制御方法、プログラム及び仮想計算機システム |
JP4923990B2 (ja) * | 2006-12-04 | 2012-04-25 | 株式会社日立製作所 | フェイルオーバ方法、およびその計算機システム。 |
US8775587B2 (en) * | 2007-05-18 | 2014-07-08 | International Business Machines Corporation | Physical network interface selection to minimize contention with operating system critical storage operations |
JP4902501B2 (ja) * | 2007-11-12 | 2012-03-21 | 株式会社日立製作所 | 電力制御方法、計算機システム、及びプログラム |
JP4448878B2 (ja) * | 2007-12-06 | 2010-04-14 | 株式会社日立製作所 | 障害回復環境の設定方法 |
US8719624B2 (en) * | 2007-12-26 | 2014-05-06 | Nec Corporation | Redundant configuration management system and method |
JP5192226B2 (ja) * | 2007-12-27 | 2013-05-08 | 株式会社日立製作所 | 待機系計算機の追加方法、計算機及び計算機システム |
JP4636625B2 (ja) * | 2008-01-25 | 2011-02-23 | 株式会社日立情報システムズ | 仮想ネットワークシステムのnic接続制御方法と仮想ネットワークのnic接続制御システムおよびプログラム |
-
2010
- 2010-01-05 JP JP2010000609A patent/JP5282046B2/ja not_active Expired - Fee Related
- 2010-03-05 WO PCT/JP2010/001535 patent/WO2011083522A1/ja active Application Filing
- 2010-03-05 US US13/388,948 patent/US8874952B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005216151A (ja) * | 2004-01-30 | 2005-08-11 | Hitachi Ltd | 資源運用管理システム及び資源運用管理方法 |
JP2008146566A (ja) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | 計算機、仮想デバイスの制御方法およびそのプログラム |
JP2009266106A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | 管理装置及び管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013120552A (ja) * | 2011-12-08 | 2013-06-17 | Hitachi Ltd | 仮想計算機システム、仮想計算機管理プログラム、及びmacアドレス管理方法 |
JP6068676B2 (ja) * | 2013-11-28 | 2017-01-25 | 株式会社日立製作所 | 計算機システム及び計算機システムの制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US8874952B2 (en) | 2014-10-28 |
JP2011141609A (ja) | 2011-07-21 |
JP5282046B2 (ja) | 2013-09-04 |
US20120131379A1 (en) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5282046B2 (ja) | 計算機システム及びその可用化方法 | |
JP5489601B2 (ja) | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム | |
US8874749B1 (en) | Network fragmentation and virtual machine migration in a scalable cloud computing environment | |
JP5011073B2 (ja) | サーバ切り替え方法、およびサーバシステム | |
JP5039951B2 (ja) | ストレージ・デバイス・ポートの選択の最適化 | |
US20150242235A1 (en) | Fabric distributed resource scheduling | |
US20120254445A1 (en) | Control method for virtual machine and management computer | |
US7778275B2 (en) | Method for dynamically allocating network adapters to communication channels for a multi-partition computer system | |
JP6458146B2 (ja) | 計算機及びメモリ領域管理方法 | |
JP5856925B2 (ja) | 計算機システム | |
JP2005216151A (ja) | 資源運用管理システム及び資源運用管理方法 | |
JP2008310489A (ja) | I/oデバイス切り替え方法 | |
US9990258B2 (en) | Management computer and management program | |
JP2010257274A (ja) | 仮想化環境におけるストレージ管理システム及びストレージ管理方法 | |
JP2009230263A (ja) | データ処理システム及びその記憶領域割り当て方法 | |
JP2009075718A (ja) | 仮想i/oパスの管理方法、情報処理システム及びプログラム | |
US20110167067A1 (en) | Classification of application commands | |
US9942132B2 (en) | Assigning communication paths among computing devices utilizing a multi-path communication protocol | |
WO2014054070A1 (en) | Management system for managing a physical storage system, method of determining a resource migration destination of a physical storage system, and storage medium | |
JP2021149299A (ja) | 計算機システム | |
US11947805B2 (en) | Load balancing using storage system driven host connectivity management | |
JP5486038B2 (ja) | サーバ切り替え方法、およびサーバシステム | |
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 | |
WO2015037103A1 (ja) | サーバシステム、計算機システム、サーバシステムの管理方法、及びコンピュータ読み取り可能な記憶媒体 | |
JP5744259B2 (ja) | サーバ切り替え方法、サーバシステム、及び管理計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10842043 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13388948 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10842043 Country of ref document: EP Kind code of ref document: A1 |