WO2015104833A1 - 情報システム及びi/o処理方法 - Google Patents
情報システム及びi/o処理方法 Download PDFInfo
- Publication number
- WO2015104833A1 WO2015104833A1 PCT/JP2014/050316 JP2014050316W WO2015104833A1 WO 2015104833 A1 WO2015104833 A1 WO 2015104833A1 JP 2014050316 W JP2014050316 W JP 2014050316W WO 2015104833 A1 WO2015104833 A1 WO 2015104833A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quorum
- storage
- storage device
- request
- attribute
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
Definitions
- the present invention relates to a technology of an information system and an I / O (Input / Output) processing method.
- Patent Document 1 Two storage devices that form a copy pair through a predetermined communication path, one quorum device for failure detection that can be accessed by the two storage devices in common, and an alternate path to the two storage devices.
- an object of the present invention is to provide an information system and an I / O processing method that can maintain a duplex configuration.
- An information system includes first and second storage devices, and first and second quorum devices.
- the first and second storage devices are connected to a host computer that transmits an I / O request that is a write request or a read request, and when the write request is received, the data according to the received write request is sent to the partner storage device. Connected to synchronous copy.
- the first quorum device is connected to the first and second storage devices.
- the second quorum device is connected to the first and second storage devices.
- Each of the first and second storage devices is configured to control whether or not to execute an I / O request according to an execution enable / disable setting that is a setting as to whether or not to execute an I / O request.
- Each of the first and second storage devices stores survival information indicating that its own storage device is alive in the first and second quorum devices in the health check process, which is a repeatedly executed process. It is checked whether the other storage device's survival information can be confirmed from either the first or second quorum device, and the execution setting of the own storage device is set to one or both of the first and second quorum devices. The setting is based on at least one of whether or not information can be stored and whether or not the storage information of the other storage device can be confirmed from one of the first and second quorum devices.
- the duplex configuration of the information system can be further maintained, the availability of the information system can be further increased.
- FIG. 1 shows an overview of the overall configuration of an information system according to an embodiment.
- the LDEV provided to the host computer is shown.
- 2 shows an example of an internal configuration of a storage apparatus.
- the structural example of a storage holding table is shown.
- a configuration example of a quorum holding table is shown.
- An operation example of the information system when a failure occurs in the first quorum device having the active attribute will be described.
- An operation example of the information system when a failure occurs in the inter-storage communication path will be described.
- An operation example of the information system when a failure occurs in the communication path between the first storage device and the second quorum device and a failure occurs in the communication path between the second storage device and the first quorum device is shown.
- FIG. 6 shows an example of a flowchart of health check processing that is repeatedly executed in each storage device.
- 5 shows an example of a flowchart of I / O request processing executed when an I / O request is received.
- An example of changing whether or not an I / O request for a storage apparatus can be executed during the health check process of the storage apparatus will be described.
- An example of changing whether or not to execute an I / O request of a storage apparatus when processing the I / O request of the storage apparatus is shown.
- the “quorum device” is a storage device that stores information that is shared by a plurality of cluster nodes and updated by each of the plurality of cluster nodes.
- the storage device included in the quorum device may be a disk device such as an HDD (Hard Disk Drive) or a device such as an SSD (Solid State Drive).
- the “cluster node” is a node as a component of the cluster.
- the “cluster node” is a storage device that provides an LDEV (Logical Device) accessed from the host computer.
- LDEV is a logical storage device and may be called a logical volume.
- the LDEV may be a tangible LDEV based on one or more physical storage devices (for example, RAID (Redundant Arrays of Inexpensive) group), and may follow storage virtualization technology or capacity expansion technology (eg, Thin Provisioning).
- a virtual LDEV may be used.
- xxx table various types of information may be described using the expression “xxx table”, but the various types of information may be expressed using a data structure other than a table. In order to show that it does not depend on the data structure, the “xxx table” can be called “xxx information”.
- I / O request means a write request or a read request.
- the information system 1 includes a host computer 3, a first storage device 10a, a second storage device 10b, a first quorum device 50a, and a second quorum device 50b.
- the first storage device 10a and the second storage device 10b constitute a cluster and are connected through an inter-storage communication path 7.
- the first storage device 10a and the first quorum device 50a are connected through a communication path 111.
- the first storage device 10a and the second quorum device 50b are connected through a communication path 121.
- the second storage device 10b and the first quorum device 50a are connected through the communication path 112.
- the second storage device 10b and the second quorum device 50b are connected through a communication path 122.
- the host computer 3 is connected to the first storage device 10a through the communication path 5a, and is connected to the second storage device 10b through the communication path 5b.
- These communication paths 5a, 5b, 7, 111, 121, 112, 122 may be communication paths directly connected by physical cables, SAN (Storage Area Network), LAN (Local Area). (Network) and / or a logical communication path configured on the Internet network.
- These communication paths 5a, 5b, 7, 111, 121, 122, 121 may be connected to a switch, router, or the like in the middle.
- the first storage device 10a and the second storage device 10b have a first LDEV 11a and a second LDEV 11b, respectively.
- the storage apparatuses 10a and 10b execute data read / write and the like on their own LDEVs 11a and 11b in accordance with the I / O request transmitted from the host computer 3.
- the first LDEV 11a included in the first storage device 10a and the second LDEV 11b included in the second storage device 10b form a synchronous remote copy pair.
- the data stored in the first LDEV 11a is copied to the second LDEV 11b through the inter-storage communication path 7. In other words, when normal, the data of the first LDEV 11a and the second LDEV 11b are synchronized.
- Each storage device 10a, 10b repeatedly writes (for example, at a predetermined cycle) survival information indicating that the own storage device is alive to the quorum device.
- the storage device 10a, 10b refers to the quorum device to check whether the other storage device is alive.
- the information system 1 allows one storage device (for example, the first storage device 10a) to execute an I / O request, and the other storage device (for example, the second storage device 10b). Are not allowed to execute I / O requests.
- the counterpart storage apparatus is not alive, the information system 1 allows the alive storage apparatus to execute the I / O request.
- the survival of the storage apparatus means that the storage apparatus is operating normally and an I / O request from the host computer 3 can be executed.
- the information system 1 includes two quorum devices 50a and 50b as shown in FIG.
- the cycle for updating the information in the first quorum device 50a and the cycle for updating the information in the second quorum device 50b are the same or different. May be. Since the information system 1 includes the two quorum devices 50a and 50b, even if a failure occurs in one quorum device, the information system 1 can maintain the duplex configuration by the first storage device 10a and the second storage device 10b. .
- the first quorum device 50a and the second quorum device 50b have different attributes.
- the first quorum device 50a has an active attribute that is a kind of first attribute
- the second quorum device 50b has a standby attribute that is a kind of second attribute.
- each of the first storage device 10a and the second storage device 10b based on the attributes of the quorum device accessible by the own storage device, from the host computer 3 as will be described later. It can be determined whether the transmitted I / O request should be set to be executable or not to be executable. That is, it is possible to prevent the information system 1 from providing illegal data to the host computer 3 when a predetermined failure occurs.
- the update cycle of the quorum device with the active attribute may be shorter than the update cycle of the quorum device with the standby attribute.
- the same virtual storage ID is associated with each storage apparatus.
- the host computer 3 recognizes the virtual storage ID.
- LDEV IDs uniquely identified in the respective storage apparatuses are assigned to the LDEVs 11a and 11b of the respective storage apparatuses 10a and 10b. Furthermore, the same virtual LDEV ID is assigned to each LDEV constituting the same copy pair. That is, an LDEV ID and a virtual LDEV ID are assigned to each LDEV constituting the copy pair. The host computer 3 recognizes the virtual LDEV ID.
- the host computer 3 can recognize different LDEVs of different storage devices as the same LDEV of the same storage device.
- the host computer 3 recognizes that two alternate paths (communication paths 5a and 5b) are set in one LDEV, and issues an I / O request.
- the storage device side transfers the write data received by one storage device to the other storage device by synchronous remote copy, and duplicates the write data.
- the two storage apparatuses need to maintain a duplex state so that data inconsistency in the two LDEVs recognized as one LDEV does not occur.
- the host computer 3 in this embodiment transmits an I / O request preferentially to the first storage device 10a, and when the I / O request fails, transmits the I / O request to the second storage device 10b. To do.
- the host computer 3 determines that the I / O request has failed when a failure response to the I / O request is received or when the response to the I / O request times out. Since the same data is stored in the LDEV of the synchronous copy pair of the first storage device 10a and the second storage device 10b, even if the I / O request to the first storage device 10a fails, the host computer 3 2
- the processing can be continued by resending the I / O request to the storage apparatus 10b.
- the two storage apparatuses 10a and 10b in order for the two storage apparatuses 10a and 10b to make the host computer 3 recognize two different LDEVs as the same LDEV, it is necessary to prevent data inconsistency from occurring. Therefore, if a failure occurs in the inter-storage communication path 7 and both of the storage devices are alive, one of the storage devices can be made I / O request executable and the other storage device can be It is necessary to disable execution of I / O requests. Otherwise, when the host computer 3 writes data to the LDEV of one storage device and then refers to the LDEV of the other storage device, the write data is not stored. This is because there is a possibility that illegal data will be provided. However, if either one of the storage apparatuses is not alive, the other storage apparatus needs to be able to execute an I / O request.
- the first storage device 10 a includes a storage controller 30 and a disk unit 40.
- the disk unit 40 has a plurality of storage devices 41-43.
- the disk unit 40 may have a plurality of storage devices of the same type or a plurality of storage devices of different types.
- the storage device may be an SSD, a SAS (Serial Attached SCSI) -HDD, and / or a SATA (Serial ATA) -HDD.
- the storage controller 30 controls a plurality of storage devices 41 to 43 included in the disk unit 40.
- the storage controller 30 includes a host adapter 31, a processor 32, a memory 33, an external disk adapter 34, an inter-storage communication adapter 35, and an internal disk adapter 36, and these elements can communicate bidirectionally. They are connected by a bus 39.
- the internal disk adapter 36 is a device for connecting the storage devices 41 to 43 to the storage controller 30.
- the internal disk adapter 36 may be a SATA adapter, a SCSI adapter, a PCIe (PCI Express (registered trademark)) adapter, a Fiber Channel adapter, an Ethernet (registered trademark) adapter, or the like.
- the host adapter 31 is a device for connecting the storage controller 30 to the communication path 5a related to the host computer 3.
- the host adapter 31 may be a SATA adapter, a SCSI adapter, a PCIe adapter, a FiberChannel adapter, an Ethernet adapter, or the like.
- the external disk adapter 34 is a device for connecting the storage controller 30 to the communication paths 111 and 121 related to the quorum devices 50a and 50b.
- the external disk adapter 34 may be a SATA adapter, a SCSI adapter, a PCIe adapter, a Fiber Channel adapter, an Ethernet adapter, or the like.
- the inter-storage communication adapter 35 is a device for connecting the storage controller 30 to the inter-storage communication path 7 related to the second storage device 10b.
- the inter-storage communication adapter 35 may be a SATA adapter, a SCSI adapter, a PCIe adapter, a FiberChannel adapter, an Ethernet adapter, or the like.
- the memory 33 stores computer programs executed by the processor 32 and data. In the memory 33, data transmitted and received through the bus 39 is temporarily stored (cached).
- the memory 33 includes at least a main memory, and the main memory is typically a volatile memory, but may be a nonvolatile memory.
- the memory 33 is configured by a DRAM (Dynamic Random Access Memory), an MRAM (Magnetic Responsive Random Access Memory), a FeRAM (Ferroelectric Random Access Memory), or an SSD.
- the processor 32 implements various functions of the storage apparatus by executing predetermined computer programs.
- the processor 32 may include an ASIC (Application Specific Integrated Circuit) capable of executing a predetermined process.
- ASIC Application Specific Integrated Circuit
- Each of the first storage device 10a and the second storage device 10b has a storage holding table 300 (described later) in its own storage device.
- Each of the first quorum device 50a and the second quorum device 50b has a quorum holding table 400 (described later) in its own storage device. Both the storage holding table 300 and the quorum holding table 400 manage information such as whether or not the storage apparatus is alive and whether or not the storage apparatus can execute an I / O request.
- the storage holding table of the first storage device 10a may be referred to as a first storage holding table
- the storage holding table of the second storage device 10b may be referred to as a second storage holding table.
- the quorum device with the active attribute may be referred to as “active quorum”
- the quorum with the standby attribute may be referred to as “standby quorum”.
- the quorum holding table of the active quorum may be referred to as an active quorum holding table
- the quorum holding table of the standby quorum may be referred to as a standby quorum holding table.
- the storage holding table 300 includes, as items, own host access permission / inhibition 311, own quorum attribute 312, own quorum update time 313, own standby flag 314, other host access permission / inhibition 315, other quorum attribute 316, and other quorum It has an update time 317 and another standby flag 318, and has a value corresponding to each of these items 311 to 318.
- the own storage I / O availability 311 has a value indicating whether the own storage apparatus having the storage holding table 300 is set to enable or disable execution of the I / O request. For example, when the local storage apparatus can execute an I / O request, this value is “permitted”, and when the I / O request cannot be performed, this value is “impossible”. Note that the I / O availability 315 of the other storage has a value indicating whether the other storage apparatus is set to enable or disable the I / O request.
- the own storage quorum attribute 312 has a value indicating whether the own storage apparatus having the storage holding table 300 can access the active quorum or the standby quorum. For example, if the local storage device can access the active quorum, this value is "active". If the active quorum is inaccessible and the standby quorum is accessible, this value is "standby", and any quorum If the device is also inaccessible, this value is “none”.
- the quorum attribute 316 of the other storage has a value indicating whether the other storage apparatus can access the quorum apparatus of the active attribute or the standby attribute.
- the quorum update time 313 of the own storage has as its value the time when the own storage apparatus having the storage holding table 300 last accessed the quorum apparatus indicated by the value of the quorum attribute 312 of the own storage. This value is called “access time”. For example, when the own storage device accesses the quorum device having the active attribute “December 1, 2013, 9: 7: 35”, this value is “20131201090735”. Note that the quorum update time 317 of the other storage has as its value the time when the partner storage device last accessed the quorum device indicated by the value of the quorum attribute 316 of the other storage.
- the standby flag 314 of the own storage has a value for checking whether or not the own storage apparatus having the storage holding table 300 is the second confirmation for the standby quorum. This value is “off” in the initial state, and is “on” after the first confirmation. Therefore, the self storage apparatus can recognize that this is the second confirmation when this value is “ON”. This value is used in later-described health check processing (S131 in FIG. 8) and I / O request execution processing (S241 in FIG. 9).
- the other standby flag has a value for the partner storage apparatus to check whether or not the standby quorum 50b is the second confirmation.
- the quorum holding table 400 includes, as items, a first I / O enable / disable 411, a first quorum attribute 412, a first quorum update time 413, a first standby flag 414, and a second I / O. It has an enable / disable 415, a second quorum attribute 416, a second quorum update time 417, and a second standby flag 418, and has a value corresponding to each of these items 411 to 418.
- the first I / O permission / inhibition 411 has a value indicating whether the first storage device 10a is set to enable or disable execution of the I / O request. For example, when the first storage device 10a can execute an I / O request, this value is “permitted”, and when the I / O request cannot be performed, this value is “impossible”.
- the second I / O permission / inhibition 415 has a value indicating whether the second storage apparatus 10b is set to enable or disable the I / O request.
- the value of the first I / O availability 411 indicates the value of the I / O availability 311 of the own storage in the storage holding table 300 of the first storage device 10a and the other storage of the storage holding table 300 of the second storage device 10b. It is linked with the value of I / O availability 315 of The value of the second I / O availability 415 is the value of the I / O availability 315 of other storage in the storage holding table 300 of the first storage device 10a and the own storage of the storage holding table 300 of the second storage device 10b. This is linked with the value of I / O availability 31 of.
- the first quorum attribute 412 has a value indicating whether the first storage device 10a can access the quorum device of the active attribute or the standby attribute. For example, when the first storage device 10a can access the quorum device with the active attribute, this value becomes “active”, and when only the quorum device with the standby attribute can be accessed, this value becomes “standby”. If the device is also inaccessible, this value is “none”. Note that the second quorum attribute 416 has a value indicating whether the second storage apparatus 10b can access the quorum apparatus of the active attribute or the standby attribute.
- the value of the first quorum attribute 412 includes the value of the quorum attribute 312 of the storage storage table 300 of the first storage device 10a and the quorum attribute 316 of the other storage of the storage retention table 300 of the second storage device 10b. It is linked with the value of.
- the value of the second quorum attribute 416 includes the value of the quorum attribute 316 of the other storage in the storage holding table 300 of the first storage device 10a and the quorum attribute 312 of the own storage of the storage holding table 300 of the second storage device 10b. It is linked with the value of.
- the first quorum update time 413 has as a value the time (access time) when the first storage device 10a last accessed the quorum device having the quorum holding table 400. While alive, the first storage device 10a repeatedly (in a predetermined cycle) updates the value (access time) of the first quorum update time 413. In other words, when the value of the first quorum update time 413 is not updated longer than a predetermined period, the second storage device 10b has the first storage device 10a not alive or the first storage device 10a is not in the quorum device. It is possible to determine that there is a possibility that access to Note that the second quorum update time 417 has the last time that the second storage device 10b made this quorum device as a value.
- the value of the first quorum update time 413 is the value of the quorum update time 313 of its own storage in the storage holding table 300 of the first storage device 10a and the quorum of other storage in the storage holding table 300 of the second storage device 10b. This is linked with the value of the update time 317.
- the value of the second quorum update time 417 is the value of the quorum update time 317 of the other storage of the storage holding table 300 of the first storage device 10a and the quorum of the own storage of the storage holding table 300 of the second storage device 10b. This is linked with the value of the update time 313.
- the first standby flag 414 has a value for the first storage device 10a to check whether or not the quorum device having the standby attribute is the second confirmation. This value is “off” in the initial state, and is “on” after the first confirmation. Therefore, the first storage device can recognize that this is the second confirmation when this value is “ON”. This value is used in later-described health check processing (S131 in FIG. 8) and I / O request execution processing (S241 in FIG. 9).
- the second standby flag 418 has a value for checking whether or not the second storage device 10b is the second confirmation for the quorum device having the standby attribute.
- the value of the first standby flag 144 is the value of the standby flag 314 of the own storage of the storage holding table 300 of the first storage device 10a, and the standby flag 318 of the other storage of the storage holding table 300 of the second storage device 10b. It is linked with the value of.
- the value of the second standby flag 418 includes the value of the standby flag 318 of the other storage in the storage holding table 300 of the first storage device 10a and the standby flag 314 of the own storage of the storage holding table 300 of the second storage device 10b. It is linked with the value of.
- the first storage device 10a updates the value of the first quorum update time 413 of the first quorum device 50a and the second quorum device 50b to the current access time in the health check process executed at a predetermined cycle.
- the second storage device 10b also updates the value of the second quorum update time 417 in the first quorum device 50a and the second quorum device 50b to the current access time in the health check process executed at a predetermined cycle.
- the first storage device 10a determines that the second storage device 10b is alive if the value of the second quorum update time 417 in the first quorum device 50a or the second quorum device 50b is updated in a predetermined cycle. it can.
- the second storage device 10b In the first storage 10a, when the value of the second quorum update time 417 in the first quorum device 50a and the second quorum device 50b has not been updated for a time longer than a predetermined period, the second storage device 10b is not alive. It can be determined that there is a possibility. The same applies to the second storage device 10b. That is, the values of the first quorum update time 413 and the second quorum update time 417 (that is, the access time) in the quorum holding table 400 are used to determine whether or not the first storage device 10a and the second storage device 10b can survive. Information other than the access time, for example, a count value may be used as long as it is information that can be updated in order to notify whether or not it is alive.
- “when the access time of the partner storage device is updated at a predetermined cycle” means the time when the access time of the partner storage device is confirmed and the access time confirmed by the partner storage device May be less than a threshold value (for example, a predetermined period or a predetermined period + predetermined time). “When the access time of the partner storage device has not been updated for a time longer than the predetermined period” means that the difference between the time when the access time of the partner storage device is checked and the checked access time of the partner storage device is The case where it is more than the said threshold value may be sufficient.
- the recorded access time may be the start time of the health check process.
- storing the survival information may be updating information in the quorum device or adding information to the quorum device. In the embodiment, the survival information is stored by updating information (specifically, access time) in the quorum device.
- each of the first storage device 10a and the second storage device 10b changes the second quorum device 50b having the standby attribute to the active attribute.
- the first storage device 10a has the second quorum update time 417 of the quorum holding table 400 of the second quorum device 50b changed to this active attribute.
- the second storage device 10b can determine whether the first storage device 10a can survive.
- the information system 1 maintains the duplex without releasing the duplex in preparation for a failure of the inter-storage communication path 7 as in the case of a single quorum device. be able to.
- the information system 1 allows only one storage device to execute I / O requests and disables the other storage device to execute I / O requests.
- the first storage device 10a determines whether or not inter-storage communication is possible. .
- the first storage device 10a executes the following process.
- the first storage device 10a updates the value of the first quorum update time 413 in the first quorum device 50a and the second quorum device 50b to the current access time.
- the first storage device 10a refers to the value of the second quorum update time 417 in the first quorum device 50a, which is the active attribute, and refers to the time when the failure of the inter-storage communication path 7 is detected (referred to as “failure detection time”). ), It is determined whether the second storage device 10b has already accessed the first quorum device 50a prior to the first storage device 10a.
- the value of the second quorum update time 417 in the first quorum device 50a is later than the failure detection time of the inter-storage communication path 7, and the first storage device 10a If it is before the current access time, it is determined that the second storage device 10b has already accessed the first quorum device 50a.
- the first storage device 10a If the second storage device 10b has not yet accessed the first quorum device 50a, or if the value of the second I / O availability 415 is set to “impossible”, the first storage device 10a The storage apparatus 10a is set to be able to execute an I / O request. That is, the first storage device 10a sets (maintains) the value 403 of the first I / O availability 411 of the quorum holding table 400 to “permitted”. Then, the first storage device 10a processes the received I / O request and returns a success response to the host computer 3.
- the second storage device 10b updates the value of the second quorum update time 417 in the first quorum device 50a and the second quorum device 50b to the current access time in the health check process executed in a predetermined cycle.
- the second storage device 10b refers to the first quorum device 50a that is an active attribute, and the first storage device 10a is ahead of the second storage device 10b after the failure detection time of the inter-storage communication path 7. Whether or not the first quorum device 50a has been accessed is determined.
- the second storage device 10b sets the second storage device 10b to be unable to execute an I / O request. In other words, the second storage device 10b sets (changes) the value of the second I / O availability 415 of the quorum holding table 400 to “impossible”.
- the second storage device 10b has already accessed the first quorum device 50a that is the active attribute before the first storage device 10a after the failure detection time of the inter-storage communication path 7, 2
- the storage device 10b becomes I / O request executable, and the first storage device 10a becomes unable to execute I / O requests.
- the information system 1 when a failure occurs in the inter-storage communication path 7, the information system 1 allows only one storage device to execute an I / O request and disables the other storage device to execute an I / O request. Thereby, the information system 1 can prevent the provision of unauthorized data to the host computer 3.
- the failure detection time is set to, for example, at least one of the first quorum device 50a and the second quorum device 50b. It may be recorded.
- a failure 133 occurs in the communication path 121 between the first storage device 10a and the second quorum device 50b, and the connection between the second storage device 10b and the first quorum device 50a.
- An operation example when a failure 132 occurs in the communication path 112 will be described.
- the information system 1 needs to allow one storage device to execute an I / O request and disable the other storage device to execute an I / O request. Therefore, the information system 1 disables execution of I / O requests for storage devices that can access the active quorum, and disables execution of I / O requests for storage devices that cannot access the active quorum.
- the first storage device 10a recognizes that in the health check process executed in a predetermined cycle, the first quorum device 50a having the active attribute can be accessed but the second quorum device 50b having the standby attribute cannot be accessed. Since the first storage device 10a can access the first quorum device 50a having the active attribute, the I / O request can be executed.
- the second storage device 10b recognizes that the second quorum device 50b having the standby attribute can be accessed but the first quorum device 50a having the active attribute cannot be accessed in the health check process executed in a predetermined cycle. . Since the second storage device 10b cannot access the first quorum device 50a having the active attribute, the I / O request cannot be executed.
- the information system 1 can access the quorum device having the active attribute in preparation for a failure of the inter-storage communication path 7.
- the storage device is allowed to execute I / O requests, and the storage device that cannot access the quorum device having the active attribute is disabled from executing I / O requests. Thereby, the information system 1 can prevent the provision of unauthorized data to the host computer 3.
- the first storage device 10a cannot execute the I / O request due to the failure 135.
- the second storage device 10b cannot access the first quorum device 50a having the active attribute, the second storage device 10b cannot execute the I / O request. That is, the entire system cannot execute I / O requests. This is due to the following reason.
- a failure occurs in the first storage device 10a after the first storage device 10a writes the data related to the write request received from the host computer 3 and before the data is synchronized with the second storage device 10b. .
- the second storage apparatus 10b processes the read request for the write data from the host computer 3, the second storage apparatus 10b receives illegal data different from the data expected by the host computer 3. I will provide it.
- the information system 1 disables the second storage device 10b from executing an I / O request as described above.
- each of the first storage device 10a and the second storage device 10b executes the following health check process at a predetermined cycle.
- the storage device determines whether or not the active quorum is accessible (S101).
- the storage apparatus updates the value of the quorum update time (313 or 317) of the active quorum according to the access time to the active quorum by the storage device itself (S102).
- the storage apparatus determines whether or not communication between storages is possible (S103).
- the storage apparatus determines whether or not the other storage apparatus has already accessed the active quorum after the failure detection time of the inter-storage communication path 7 (S104).
- the storage device sets the own storage device to "Impossible" I / O request execution, and proceeds to S106. If the partner storage device has not yet accessed the active quorum (S104: NO), the storage device proceeds directly to S106.
- the storage device determines whether or not the standby quorum is accessible (S106).
- the storage device updates the value of the quorum update time (313 or 317) of the standby quorum according to the access time to the standby quorum by the own storage device (S107). Then, the process ends (end).
- the standby quorum cannot be accessed (S106: NO)
- the storage apparatus ends the process as it is (end).
- the storage device determines whether or not inter-storage communication is possible (S111).
- the storage device determines whether or not the standby quorum is accessible (S112). If the standby quorum is inaccessible (S112: NO), the storage device sets the second storage device 10b to be unable to execute an I / O request (S113), and ends the processing (end). That is, if neither the quorum device of the active attribute or the standby attribute is accessible and communication between the storages is possible, only the first storage device 10a preferentially accessed from the host computer 3 is I / O. The request can be executed, and the second storage apparatus 10b cannot execute the I / O request.
- the storage device changes the attribute of this standby quorum to the active attribute (S114). Then, the storage device updates the value of the quorum update time (313 or 317) of the quorum device that has been changed to the active attribute (S115), and ends the processing (end).
- the storage device determines whether or not the standby quorum is accessible (S121).
- the storage device When the standby quorum cannot be accessed (S121: NO), the storage device sets its own storage device to be unable to execute an I / O request (S140), and the processing ends (end). That is, a storage apparatus that cannot access any of the quorum apparatuses having the active attribute and the standby attribute and cannot perform inter-storage communication cannot execute the I / O request.
- the storage device checks whether the partner storage device has already accessed the standby quorum (S122).
- the storage device sets its own storage device to be unable to execute an I / O request (S123), and ends the processing (end).
- the storage device refers to the value of the standby flag (414 or 418) and determines whether this is the first confirmation ( S131).
- the storage apparatus updates the value of the quorum update time (313 or 317) of the standby quorum according to the access time of the own storage apparatus (S132), End processing (end). Thereafter, the storage apparatus executes the following “second” process in the next health check process.
- the storage device refers to the standby quorum I / O availability (411 or 415), and is the partner storage device set to disable I / O request execution? It is determined whether or not (S133).
- the partner storage device is set to disable execution of the I / O request (S133: Impossible)
- the storage device ends the process while the I / O request can be executed (end). This is because the other storage device is alive but cannot execute the I / O request for some reason, and therefore the own storage device needs to be able to execute the I / O request.
- the storage device sets its own storage device to be unable to execute I / O requests (S140), and ends the processing (end). . This is because in this case, since the existence of the other storage device has not been confirmed, the own storage device cannot execute the I / O request, and it is necessary to prevent the host computer 3 from providing illegal data. is there.
- Each of the first storage device 10a and the second storage device 10b executes the following I / O request processing when receiving an I / O request from the host computer 3.
- the host computer 3 of this embodiment first sends an I / O request to the first storage device 10a, and if this fails, sends this I / O request to the second storage device 10b.
- the storage apparatus When the storage apparatus receives an I / O request from the host computer 3, it determines whether or not communication between storages is possible (S201).
- the storage apparatus executes an I / O request (S203) and ends the processing (end). If the I / O request from the host computer 3 is a write request, the storage apparatus performs synchronous remote copy of the write data to the counterpart storage apparatus via the inter-storage communication path 7. This is to maintain data consistency between storages.
- the storage apparatus determines whether or not the active quorum is accessible (S211).
- the storage apparatus updates the value of the quorum update time (313 or 317) of the active quorum according to the access time by the own storage apparatus (S212). Then, the storage apparatus determines whether or not the standby quorum is accessible (S213). If the storage device can access the standby quorum (S213: YES), the storage device updates the value of the quorum update time (313 or 317) of the standby quorum according to the access time of the own storage device (S214), and proceeds to S203. If the storage device cannot access the standby quorum (S213: NO), the storage device proceeds directly to S203.
- the storage apparatus executes an I / O request (S203) and ends the processing (end). For example, when the first storage device 10a can access the active quorum, the first storage device 10a executes an I / O request, so the second storage device 10b does not receive an I / O request from the host computer 3. . Therefore, even if communication between storages is impossible, the information system 1 does not provide illegal data to the host computer 3.
- the storage apparatus determines whether or not the standby quorum is accessible (S221).
- the storage apparatus sets its own storage apparatus to be unable to execute I / O requests (S260) and returns an I / O failure response to the host computer 3 (S261). )
- the process ends (end). That is, a storage apparatus that cannot access any of the quorum apparatuses having the active attribute and the standby attribute and cannot perform inter-storage communication does not execute the I / O request. This is because when data is written to such a storage apparatus, data inconsistency may occur between the storages. For example, when the first storage device 10a returns an I / O failure response, the host computer 3 next transmits an I / O request to the second storage device 10b.
- the storage device checks whether the other storage device has already accessed the standby quorum after the failure detection time of the inter-storage communication path 7 (S222).
- the storage device sets its own storage device to be unable to execute an I / O request (S223). Then, the storage apparatus returns an I / O failure response to the host computer 3 (S224), and ends the processing (end). This is because the fact that the partner storage device has already accessed the standby access first means that the partner storage device is still alive.
- the storage device refers to the value of the standby flag (414 or 418) and determines whether this is the first confirmation ( S231).
- the storage device updates the value of the quorum update time (313 or 317) of the standby quorum according to the access time of the own storage device (S232). Then, after waiting for a longer time than the predetermined cycle of the health check process (S233), the storage apparatus returns to the process of S201. Then, in the second confirmation (S231: second time), the storage apparatus executes the following processing.
- the storage device refers to the standby quorum I / O availability (411 or 415), and determines whether the partner storage device is unable to execute the I / O request (S241).
- the storage apparatus When the partner storage apparatus cannot execute the I / O request (S241: Impossible), the storage apparatus maintains the I / O request execution setting, executes the I / O request (S203), and terminates the processing. (End).
- the counterpart storage device is set to execute the I / O request (S241: Yes)
- the storage device sets (changes) the own storage device to disable execution of the I / O request (S260). Then, the storage apparatus returns an I / O failure response to the host computer 3 (S261), and ends the processing (end). This is because in this case, since the existence of the other storage device has not been confirmed, the own storage device cannot execute the I / O request, and it is necessary to prevent the host computer 3 from providing illegal data. is there.
- the storage apparatus maintains the setting for enabling the I / O request when the inter-storage communication is possible and the active quorum and the standby quorum are accessible (511).
- the storage device If the storage device is capable of inter-storage communication, can access the active quorum, and cannot access the standby quorum, the storage device maintains the setting for enabling I / O requests (512).
- the storage device If the storage device can communicate between storages, cannot access the active quorum, and can access the standby quorum, it changes the attribute of the standby quorum to “active” and The setting to enable execution of / O request is maintained (513).
- the second storage device When the storage device can communicate between the storages and cannot access the active quorum and the standby quorum, the second storage device is set to be unable to execute the I / O request, and the I / O of the own storage device is set.
- the setting for request execution is maintained (514).
- the storage device If the storage device cannot communicate between storages and can access the active quorum and standby quorum, if the partner storage device has already accessed the active quorum, the storage device must set its own storage device. If the I / O request cannot be executed and the own storage apparatus accesses the active quorum first, the setting of the I / O request execution of the own storage apparatus is maintained (515).
- the storage device cannot communicate between the storages, can access the active quorum, and cannot access the standby quorum. If the other storage device has already accessed the active quorum, If the setting of the own storage device is changed to disable execution of the I / O request and the own storage device first accesses the active quorum, the setting of the own storage device that can execute the I / O request is maintained (516). (7) The storage device cannot communicate between the storages, cannot access the active quorum, and can access the standby quorum.
- the storage device changes the setting of its own storage device to disable execution of an I / O request. (518).
- FIG. 9 when a failure occurs in one storage device, the other normal storage device looks the same as when a failure occurs in inter-storage communication, so the above (5) This corresponds to the patterns (8) to (8). The same applies to the following FIG.
- the storage apparatus maintains the setting for enabling the I / O request when the inter-storage communication is possible and the active quorum and the standby quorum are accessible (531).
- the storage device If the storage device can communicate between the storages and can access the active quorum, but cannot access the standby quorum, the storage device maintains the setting to enable execution of the I / O request (532).
- the storage apparatus If the storage apparatus can communicate between the storages, cannot access the active quorum, and can access the standby quorum, the storage apparatus maintains the setting for enabling I / O requests (533).
- the storage apparatus If the storage apparatus can communicate between the storages and cannot access the active quorum and the standby quorum, the storage apparatus maintains the setting for enabling the I / O request (534).
- the storage apparatus If the storage apparatus cannot communicate between the storages and can access the active quorum and the standby quorum, the storage apparatus maintains the setting for enabling the I / O request (535). (6) If the storage apparatus cannot communicate between the storages, can access the active quorum, and cannot access the standby quorum, the storage apparatus maintains the setting for enabling I / O requests (536). (7) The storage device cannot communicate between the storages, cannot access the active quorum, and can access the standby quorum.
- the storage device changes the setting of its own storage device to disable execution of an I / O request. (538).
- the health check process and the I / O request execution process are performed by the “storage device”, but in detail, are performed by the storage controller.
- each of the first storage device 10a and the second storage device 10b may notify the host computer 3 when the storage device of the first storage device 10a and the second storage device 10b is set to be unable to execute the I / O request.
- the host computer 3 may be set not to transmit an I / O request to the storage device that has transmitted the notification thereafter.
- each of the first storage device 10a and the second storage device 10b receives a detection result (for example, communication between storages is impossible or not) to a management computer (not shown) that manages the storage devices 10a and 10b.
- the first quorum device 50a becomes inaccessible or possible
- the second quorum device 50b becomes inaccessible or possible
- the management computer notifies the first storage device 10a and Based on the notification (detection result) from each of the second storage devices 10b, the setting (I / O request can be executed or I / O request cannot be executed) for each of the first storage device 10a and the second storage device 10b. ),
- each of the first storage device 10a and the second storage device 10b responds to a request from the management computer. Then, it may be to change the setting. Further, the attribute of the quorum device may be changed in response to a request from the management computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
Abstract
データを相手のストレージ装置へ同期コピーする第1及び第2ストレージ装置と、第1及び第2ストレージ装置に接続された第1クォーラム装置と、第1及び第2ストレージ装置に接続された第2クォーラム装置とを備えた情報システムにおいて、第1及び第2ストレージ装置の各々は、実行可否設定に従い、I/O要求を実行するか否かを制御し、繰り返し実行される処理であるヘルスチェック処理において、自分のストレージ装置の生存情報を第1及び第2クォーラム装置に格納し、第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否かをチェックし、自分のストレージ装置の実行可否設定を、第1及び第2クォーラム装置の一方又は両方に生存情報を格納可能か否か、及び、第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否か、のうちの少なくとも一つに基づいて設定する。
Description
本発明は、情報システム及びI/O(Input/Output)処理方法の技術に関する。
所定の通信パスを通じてコピーペアを組んでいる二台のストレージ装置と、その二台のストレージ装置が共通にアクセス可能な障害検出用の一台のクォーラム装置と、その二台のストレージ装置に交代パスで接続されているホスト計算機と、を備える情報システムが知られている(特許文献1)。
クォーラム装置が存在しない状態でストレージ装置間の通信パスに障害が発生した場合、一方のストレージ装置をホスト計算機からアクセス不可としないと、それぞれのストレージ装置にホスト計算機がアクセス可能となり、ホスト計算機に対して不正なデータを提供してしまう可能性がある。このため、特許文献1の示す情報システムは、クォーラム装置に障害が発生すると、二台のストレージ装置及びストレージ装置間の通信パスに障害が発生していない場合であっても、ストレージ装置間の通信パスの障害に備えて、一方のストレージ装置をI/O要求実行不可とする。つまり、この情報システムは、クォーラム装置に障害が発生すると、二重化構成を維持できない。
そこで、本発明の目的は、二重化構成をより維持可能な情報システム及びI/O処理方法を提供することにある。
本発明の一実施形態に係る情報システムは、第1及び第2ストレージ装置と、第1及び第2クォーラム装置とを備える。第1及び第2ストレージ装置は、ライト要求又はリード要求であるI/O要求を送信するホスト計算機に接続され、且つ、ライト要求を受信した場合に受信したライト要求に従うデータを相手のストレージ装置へ同期コピーするように接続されている。第1クォーラム装置は、第1及び第2ストレージ装置と接続されている。第2クォーラム装置は、第1及び第2ストレージ装置と接続されている。第1及び第2ストレージ装置の各々は、I/O要求を実行するか否かの設定である実行可否設定に従い、I/O要求を実行するか否かを制御するようになっている。第1及び第2ストレージ装置の各々は、繰り返し実行される処理であるヘルスチェック処理において、自分のストレージ装置が生存中である旨を示す生存情報を第1及び第2クォーラム装置に格納し、第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否かをチェックし、自分のストレージ装置の実行可否設定を、第1及び第2クォーラム装置の一方又は両方に生存情報を格納可能か否か、及び、第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否か、のうちの少なくとも一つに基づく設定とする。
本発明によれば、情報システムの二重化構成をより維持することができるため、情報システムの可用性をより高めることができる。
以下、一実施例を説明する。
本実施例において、「クォーラム装置」は、複数のクラスタノードに共有され、それら複数のクラスタノードの各々によって更新される情報を記憶するストレージ装置である。クォーラム装置が有する記憶デバイスは、HDD(Hard Disk Drive)等のディスクデバイスであってもよいし、SSD(Solid State Drive)等のデバイスであってもよい。また、「クラスタノード」は、クラスタの構成要素としてのノードであり、本実施例では、ホスト計算機からアクセスされるLDEV(Logical Device)を提供するストレージ装置である。「LDEV」は、論理的な記憶デバイスであり、論理ボリュームと呼ばれてもよい。LDEVは、1以上の物理的な記憶デバイス(例えばRAID(Redundant Arrays of Inexpensive(or Independent Disks)グループ)に基づく実体的なLDEVでもよいし、ストレージ仮想化技術又は容量拡張技術(例えばThin Provisioning)に従う仮想的なLDEVでもよい。
本実施例において、「クォーラム装置」は、複数のクラスタノードに共有され、それら複数のクラスタノードの各々によって更新される情報を記憶するストレージ装置である。クォーラム装置が有する記憶デバイスは、HDD(Hard Disk Drive)等のディスクデバイスであってもよいし、SSD(Solid State Drive)等のデバイスであってもよい。また、「クラスタノード」は、クラスタの構成要素としてのノードであり、本実施例では、ホスト計算機からアクセスされるLDEV(Logical Device)を提供するストレージ装置である。「LDEV」は、論理的な記憶デバイスであり、論理ボリュームと呼ばれてもよい。LDEVは、1以上の物理的な記憶デバイス(例えばRAID(Redundant Arrays of Inexpensive(or Independent Disks)グループ)に基づく実体的なLDEVでもよいし、ストレージ仮想化技術又は容量拡張技術(例えばThin Provisioning)に従う仮想的なLDEVでもよい。
また、以下の説明では、「xxxテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「xxxテーブル」を「xxx情報」と呼ぶことができる。また、以下の説明では、「I/O要求」は、ライト要求又はリード要求であることを意味する。
以下、図1を参照しながら、実施例に係る情報システムの全体構成の概要を説明する。
情報システム1は、ホスト計算機3と、第1ストレージ装置10aと、第2ストレージ装置10bと、第1クォーラム装置50aと、第2クォーラム装置50bとを備える。
第1ストレージ装置10aと第2ストレージ装置10bとは、クラスタを構成し、ストレージ間通信パス7を通じて接続されている。第1ストレージ装置10aと第1クォーラム装置50aとは、通信パス111を通じて接続されている。第1ストレージ装置10aと第2クォーラム装置50bとは、通信パス121を通じて接続されている。第2ストレージ装置10bと第1クォーラム装置50aとは、通信パス112を通じて接続されている。第2ストレージ装置10bと第2クォーラム装置50bとは、通信パス122を通じて接続されている。
ホスト計算機3は、通信パス5aを通じて第1ストレージ装置10aに接続されており、通信パス5bを通じて第2ストレージ装置10bに接続されている。これらの通信パス5a、5b、7、111、121、112、122は、物理的なケーブルによって直接的に接続された通信パスであっても良いし、SAN(Storage Area Network)、LAN(Local Area Network)及び/又はインターネット網上に構成される論理的な通信パスであっても良い。また、これらの通信パス5a、5b、7、111、121、122、121は、途中にスイッチやルータなどが接続されていても良い。
第1ストレージ装置10a及び第2ストレージ装置10bはそれぞれ第1LDEV11a及び第2LDEV11bを有する。ストレージ装置10a、10bは、ホスト計算機3から送信されたI/O要求に従って、自分のLDEV11a、11bに対してデータのリード及びライト等を実行する。
第1ストレージ装置10aの有する第1LDEV11aと第2ストレージ装置10bの有する第2LDEV11bとは、同期リモートコピーのペアを形成する。第1LDEV11aに格納されたデータは、ストレージ間通信パス7を通じて、第2LDEV11bへコピーされる。つまり、正常時、第1LDEV11aと第2LDEV11bのデータは同期される。
各ストレージ装置10a、10bは、繰り返し(例えば、所定周期で)、自ストレージ装置が生存している旨を示す生存情報をクォーラム装置にライトする。各ストレージ装置10a、10bは、ストレージ間通信パス7を通じて相手ストレージ装置に同期コピーができない場合、クォーラム装置を参照して、相手ストレージ装置が生存しているか否かを確認する。情報システム1は、相手ストレージ装置が生存している場合、一方のストレージ装置(例えば、第1ストレージ装置10a)をI/O要求実行可とし、他方のストレージ装置(例えば、第2ストレージ装置10b)をI/O要求実行不可とする。情報システム1は、相手ストレージ装置が生存してない場合、生存しているストレージ装置をI/O要求実行可とする。ここで、ストレージ装置の生存とは、ストレージ装置が正常に稼働しており、ホスト計算機3からのI/O要求を実行可能であることをいう。
ここで、一比較例として、クォーラム装置が一つだけであり、且つ、そのクォーラム装置に障害が発生した場合、一方のストレージ装置がI/O要求実行可とし、他方のストレージ装置がI/O要求実行不可とする。つまり、この場合、ストレージ装置の二重化構成が解除される。なぜなら、このような状況で障害が発生しストレージ間通信が不可能となると、各ストレージ装置は、相手ストレージ装置が生存しているか否かを確認することができなくなり、何れのストレージ装置をI/O要求実行可とすれば良いか判定できなくなってしまうからである。例えば、上記の状況で、両方のストレージ装置をI/O要求実行可とすると、それぞれに異なるデータが書き込まれる可能性があり、コピーペアを構成しているボリューム間でデータの不整合が発生する。
これに対して、本実施例に係る情報システム1は、図1に示すように二つのクォーラム装置50a、50bを備える。第1及び第2クォーラム装置のうちの少なくとも一つについて、第1クォーラム装置50a内の情報を更新する周期と、第2クォーラム装置50b内の情報を更新する周期とは、同じあっても異なっていてもよい。情報システム1は、二つのクォーラム装置50a、50bを有することにより、仮に一つのクォーラム装置に障害が発生しても、第1ストレージ装置10a及び第2ストレージ装置10bによる二重化構成を維持することができる。
また、第1クォーラム装置50a及び第2クォーラム装置50bはそれぞれ異なる属性を有する。例えば、第1クォーラム装置50aが第1属性の一種であるアクティブ属性を有し、第2クォーラム装置50bが第2属性の一種であるスタンバイ属性を有する。これにより、所定の障害が発生した場合、第1ストレージ装置10a及び第2ストレージ装置10bの各々は、後述するように、自ストレージ装置がアクセス可能なクォーラム装置の属性に基づいて、ホスト計算機3から送信されるI/O要求を実行可に設定すべきか、実行不可に設定すべきかを決定することができる。すなわち、所定の障害が発生した場合に、情報システム1が、ホスト計算機3に対して不正なデータを提供することを防止することができる。なお、例えば、第1及び第2クォーラム装置のうちの少なくとも一つについて、アクティブ属性のクォーラム装置の更新周期は、スタンバイ属性のクォーラム装置の更新周期よりも短くてもよい。
次に、図2を参照しながら、ホスト計算機3に対して提供されるLDEVについて説明する。
ホスト計算機3に2台のストレージ装置10a、10bを同一のストレージ装置と認識させるために、各ストレージ装置に同一の仮想ストレージIDが対応付けられる。ホスト計算機3は仮想ストレージIDを認識する。
また、各ストレージ装置10a、10bのLDEV11a、11bには、各ストレージ装置内では一意に識別されるLDEV IDが付与される。さらに、同一のコピーペアを構成する各LDEVには、同一の仮想LDEV IDが付与される。つまり、コピーペアを構成する各LDEVには、LDEV IDと、仮想LDEV IDとが付与される。ホスト計算機3は、仮想LDEV IDを認識する。
仮想ストレージIDおよび仮想LDEV IDが設定されることで、ホスト計算機3は、異なるストレージ装置の異なるLDEVを、同一のストレージ装置の同一のLDEVと認識することができる。ホスト計算機3は、1つのLDEVに2本の交替パス(通信パス5a、5b)が設定されているものと認識し、I/O要求を発行する。
ストレージ装置側は、一方のストレージ装置が受信したライトデータを同期リモートコピーによって他方のストレージ装置に転送し、そのライトデータを二重化する。2台のストレージ装置は、1つのLDEVと認識されている2つのLDEV内のデータの不整合が発生しないように二重化の状態を維持する必要がある。
本実施例におけるホスト計算機3は、第1ストレージ装置10aに優先的にI/O要求を送信し、そのI/O要求が失敗した場合に、第2ストレージ装置10bにそのI/O要求を送信する。ホスト計算機3は、I/O要求に対する失敗応答を受信した場合、またはI/O要求に対する応答がタイムアウトになった場合などに、そのI/O要求が失敗したと判定する。第1ストレージ装置10a及び第2ストレージ装置10bの同期コピーペアのLDEVには同じデータが格納されているので、ホスト計算機3は、第1ストレージ装置10aに対するI/O要求が失敗しても、第2ストレージ装置10bにI/O要求を再送することで処理を継続することができる。
上述のとおり、二台のストレージ装置10a、10bは、ホスト計算機3に対して異なる二つのLDEVを同じLDEVと認識させるために、データの不整合が発生しないようにする必要がある。したがって、ストレージ間通信パス7に障害が発生し、且つ、二台のストレージ装置が何れも生存している場合は、何れか一方のストレージ装置をI/O要求実行可とし、他方のストレージ装置をI/O要求実行不可とする必要がある。さもなければ、ホスト計算機3が一方のストレージ装置のLDEVにデータをライトし、次に他方のストレージ装置のLDEVを参照した場合に、そのライトデータが格納されてないことになるなど、ホスト計算機3に対して不正なデータを提供してしまう可能性があるからである。しかしその一方、何れか一方のストレージ装置が生存していない場合、他方のストレージ装置をI/O要求実行可とする必要がある。
以下、図3を参照しながら、ストレージの内部構成の一例を説明する。第1ストレージ装置10a及び第2ストレージ装置10bとも同様の構成であるので、ここでは第1ストレージ装置10aを説明する。
第1ストレージ装置10aは、ストレージコントローラ30と、ディスクユニット40とを備える。
ディスクユニット40は、複数の記憶デバイス41~43を有する。ディスクユニット40は、同種の複数の記憶デバイスを有してもよいし、異種の複数の記憶デバイスを有してもよい。記憶デバイスは、SSD、SAS(Serial Attached SCSI)-HDD及び/又はSATA(Serial ATA)-HDDなどであってよい。
ストレージコントローラ30は、ディスクユニット40が有する複数の記憶デバイス41~43をコントロールする。ストレージコントローラ30は、ホストアダプタ31と、プロセッサ32と、メモリ33と、外部ディスクアダプタ34と、ストレージ間通信アダプタ35と、内部ディスクアダプタ36とを有し、それらの要素は双方向に通信可能なバス39で接続されている。
内部ディスクアダプタ36は、記憶デバイス41~43をストレージコントローラ30に接続するための装置である。内部ディスクアダプタ36は、SATAアダプタ、SCSIアダプタ、PCIe(PCI Express(登録商標))アダプタ、FibreChannelアダプタ、又はEthernet(登録商標)アダプタなどであってよい。
ホストアダプタ31は、ストレージコントローラ30をホスト計算機3に係る通信パス5aに接続するための装置である。ホストアダプタ31は、SATAアダプタ、SCSIアダプタ、PCIeアダプタ、FibreChannelアダプタ、又はEthernetアダプタなどであってよい。
外部ディスクアダプタ34は、ストレージコントローラ30をクォーラム装置50a、50bに係る通信パス111、121に接続するための装置である。外部ディスクアダプタ34は、SATAアダプタ、SCSIアダプタ、PCIeアダプタ、又はFibreChannelアダプタ、Ethernetアダプタなどであってよい。
ストレージ間通信アダプタ35は、ストレージコントローラ30を第2ストレージ装置10bに係るストレージ間通信パス7に接続するための装置である。ストレージ間通信アダプタ35は、SATAアダプタ、SCSIアダプタ、PCIeアダプタ、FibreChannelアダプタ、又はEthernetアダプタなどであってよい。
メモリ33には、プロセッサ32に実行されるコンピュータプログラム及びデータなどが格納される。メモリ33には、バス39を通じて送受信されるデータが一時的に格納(キャッシュ)される。メモリ33は、少なくとも主記憶メモリを含み、主記憶メモリは、典型的には揮発メモリであるが、不揮発メモリでもよい。メモリ33は、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、又はSSDなどで構成されてよい。
プロセッサ32は、所定のコンピュータプログラムを実行することにより、ストレージ装置の有する様々な機能を実現する。プロセッサ32は、所定の処理を実行可能なASIC(Application Specific Integrated Circuit)を含んでもよい。
第1ストレージ装置10a及び第2ストレージ装置10bの各々は、自ストレージ装置内にストレージ保持テーブル300(後述)を有する。第1クォーラム装置50a及び第2クォーラム装置50bの各々は、自ストレージ装置内にクォーラム保持テーブル400(後述)を有する。ストレージ保持テーブル300及びクォーラム保持テーブル400は何れも、ストレージ装置が生存しているか否か、及びストレージ装置がI/O要求実行可能か否かなどの情報を管理する。
なお、本実施例では、第1ストレージ装置10aが有するストレージ保持テーブルを第1ストレージ保持テーブル、第2ストレージ装置10bが有するストレージ保持テーブルを第2ストレージ保持テーブルという場合がある。また、本実施例では、アクティブ属性のクォーラム装置を「アクティブクォーラム」といい、スタンバイ属性のクォーラムを「スタンバイクォーラム」という場合がある。また、本実施例では、アクティブクォーラムが有するクォーラム保持テーブルをアクティブクォーラム保持テーブル、スタンバイクォーラムが有するクォーラム保持テーブルをスタンバイクォーラム保持テーブルという場合がある。
以下、図4を参照しながら、ストレージ保持テーブル300について説明する。
ストレージ保持テーブル300は、項目として、自ホストアクセス可否311と、自クォーラム属性312と、自クォーラム更新時刻313と、自スタンバイフラグ314と、他ホストアクセス可否315と、他クォーラム属性316と、他クォーラム更新時刻317と、他スタンバイフラグ318とを有し、これらの項目311~318のそれぞれに対応する値を有する。
自ストレージのI/O可否311は、このストレージ保持テーブル300を有する自ストレージ装置がI/O要求を実行可または実行不可の何れの設定であるかを示す値を有する。例えば、自ストレージ装置がI/O要求を実行可の場合、この値は「可」となり、I/O要求を実行不可の場合、この値は「不可」となる。なお、他ストレージのI/O可否315は、相手ストレージ装置がI/O要求を実行可または不可の何れの設定であるかを示す値を有する。
自ストレージのクォーラム属性312は、このストレージ保持テーブル300を有する自ストレージ装置がアクティブクォーラム及びスタンバイクォーラムの何れにアクセス可能であるかを示す値を有する。例えば、自ストレージ装置が、アクティブクォーラムにアクセス可能な場合、この値は「アクティブ」となり、アクティブクォーラムにアクセス不可能でありスタンバイクォーラムにアクセス可能な場合、この値は「スタンバイ」となり、何れのクォーラム装置にもアクセス不可能な場合、この値は「なし」となる。なお、他ストレージのクォーラム属性316は、相手ストレージ装置がアクティブ属性又はスタンバイ属性の何れのクォーラム装置にアクセス可能であるかを示す値を有する。
自ストレージのクォーラム更新時刻313は、このストレージ保持テーブル300を有する自ストレージ装置が、自ストレージのクォーラム属性312の値が示すクォーラム装置に最後にアクセスした時刻を値として有する。この値を「アクセス時刻」という。例えば、自ストレージ装置が、アクティブ属性のクォーラム装置に「2013年12月1日9時7分35秒」にアクセスした場合、この値は「20131201090735」となる。なお、他ストレージのクォーラム更新時刻317は、相手ストレージ装置が、他ストレージのクォーラム属性316の値が示すクォーラム装置に最後にアクセスした時刻を値として有する。
自ストレージのスタンバイフラグ314は、このストレージ保持テーブル300を有する自ストレージ装置が、スタンバイクォーラムについて、2回目の確認であるか否かをチェックするための値を有する。この値は、初期状態で「オフ」であり、1回目の確認後に「オン」となる。よって、自ストレージ装置は、この値が「オン」の場合、2回目の確認であると認識できる。この値は、後述のヘルスチェック処理(図8のS131)及びI/O要求実行処理(図9のS241)において用いられる。なお、他スタンバイフラグは、相手ストレージ装置が、スタンバイクォーラム50bについて、2回目の確認であるか否かをチェックするための値を有する。
以下、図5を参照しながら、クォーラム保持テーブル400について説明する。
クォーラム保持テーブル400は、項目として、第1のI/O可否411と、第1のクォーラム属性412と、第1のクォーラム更新時刻413と、第1のスタンバイフラグ414と、第2のI/O可否415と、第2のクォーラム属性416と、第2のクォーラム更新時刻417と、第2のスタンバイフラグ418とを有し、これらの項目411~418のそれぞれに対応する値を有する。
第1のI/O可否411は、第1ストレージ装置10aがI/O要求を実行可または実行不可の何れの設定であるかを示す値を有する。例えば、第1ストレージ装置10aが、I/O要求を実行可の場合、この値は「可」となり、I/O要求を実行不可の場合、この値は「不可」となる。なお、第2のI/O可否415は、第2ストレージ装置10bがI/O要求を実行可または不可の何れの設定であるかを示す値を有する。
第1のI/O可否411の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の自ストレージのI/O可否311の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の他ストレージのI/O可否315の値と、連動する。第2のI/O可否415の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の他ストレージのI/O可否315の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の自ストレージのI/O可否31の値と、連動する。
第1のクォーラム属性412は、第1ストレージ装置10aがアクティブ属性又はスタンバイ属性の何れのクォーラム装置にアクセス可能であるかを示す値を有する。例えば、第1ストレージ装置10aがアクティブ属性のクォーラム装置にアクセス可能な場合、この値は「アクティブ」となり、スタンバイ属性のクォーラム装置にのみアクセス可能な場合、この値は「スタンバイ」となり、何れのクォーラム装置にもアクセス不可能な場合、この値は「なし」となる。なお、第2のクォーラム属性416は、第2ストレージ装置10bがアクティブ属性又はスタンバイ属性の何れのクォーラム装置にアクセス可能であるかを示す値を有する。
第1のクォーラム属性412の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の自ストレージのクォーラム属性312の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の他ストレージのクォーラム属性316の値と、連動する。第2のクォーラム属性416の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の他ストレージのクォーラム属性316の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の自ストレージのクォーラム属性312の値と、連動する。
第1のクォーラム更新時刻413は、第1ストレージ装置10aがこのクォーラム保持テーブル400を有するクォーラム装置に最後にアクセスした時刻(アクセス時刻)を値として有する。第1ストレージ装置10aは、生存している間、繰り返し(所定周期で)、第1のクォーラム更新時刻413の値(アクセス時刻)を更新する。すなわち、この第1のクォーラム更新時刻413の値が、所定周期よりも長く更新されない場合、第2ストレージ装置10bは、第1ストレージ装置10aが生存していない又は第1ストレージ装置10aがこのクォーラム装置にアクセスできない可能性があると判定することができる。なお、第2のクォーラム更新時刻417は、第2ストレージ装置10bがこのクォーラム装置に最後にした時刻を値として有する。
第1のクォーラム更新時刻413の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の自ストレージのクォーラム更新時刻313の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の他ストレージのクォーラム更新時刻317の値と、連動する。第2のクォーラム更新時刻417の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の他ストレージのクォーラム更新時刻317の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の自ストレージのクォーラム更新時刻313の値と、連動する。
第1のスタンバイフラグ414は、第1ストレージ装置10aが、スタンバイ属性のクォーラム装置について、2回目の確認であるか否かをチェックするための値を有する。この値は、初期状態で「オフ」であり、1回目の確認後に「オン」となる。よって、第1ストレージ装置は、この値が「オン」の場合、2回目の確認であると認識できる。この値は、後述のヘルスチェック処理(図8のS131)及びI/O要求実行処理(図9のS241)において用いられる。なお、第2のスタンバイフラグ418は、第2ストレージ装置10bが、スタンバイ属性のクォーラム装置にについて、2回目の確認であるか否かをチェックするための値を有する。
第1のスタンバイフラグ144の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の自ストレージのスタンバイフラグ314の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の他ストレージのスタンバイフラグ318の値と、連動する。第2のスタンバイフラグ418の値は、第1ストレージ装置10aの有するストレージ保持テーブル300の他ストレージのスタンバイフラグ318の値と、第2ストレージ装置10bの有するストレージ保持テーブル300の自ストレージのスタンバイフラグ314の値と、連動する。
次に、図6を参照しながら、アクティブ属性の第1クォーラム装置50aに障害130が発生した場合の情報システム1の動作例を説明する。
第1ストレージ装置10aは、所定周期で実行されるヘルスチェック処理において、第1クォーラム装置50a及び第2クォーラム装置50bの第1のクォーラム更新時刻413の値を、今回のアクセス時刻に更新する。第2ストレージ装置10bも同様に、所定周期で実行されるヘルスチェック処理において、第1クォーラム装置50a及び第2クォーラム装置50bにおける第2のクォーラム更新時刻417の値を、今回のアクセス時刻に更新する。第1ストレージ装置10aは、第1クォーラム装置50a又は第2クォーラム装置50bにおける第2のクォーラム更新時刻417の値が所定周期で更新されている場合、第2ストレージ装置10bが生存中であると判定できる。第1ストレージ10aは、第1クォーラム装置50a及び第2クォーラム装置50bにおける第2のクォーラム更新時刻417の値が所定周期よりも長い時間更新されていない場合、第2ストレージ装置10bが生存していない可能性があると判定できる。第2ストレージ装置10bについても同様である。つまり、クォーラム保持テーブル400の第1のクォーラム更新時刻413及び第2のクォーラム更新時刻417の値(つまり、アクセス時刻)は、第1ストレージ装置10a及び第2ストレージ装置10bの生存可否を判定するために用いられる生存情報であり、生存可否を知らしめるために更新可能な情報であれば、アクセス時刻以外の情報、例えばカウント値であってもよい。
なお、本実施例において、「相手ストレージ装置のアクセス時刻が所定周期で更新されている場合」とは、相手ストレージ装置のアクセス時刻を確認したときの時刻と、相手ストレージ装置の確認されたアクセス時刻との差分が閾値(例えば、所定周期、又は、所定周期+所定時間)未満である場合でよい。「相手ストレージ装置のアクセス時刻が所定周期よりも長い時間更新されていない場合」とは、相手ストレージ装置のアクセス時刻をチェックしたときの時刻と、相手ストレージ装置のチェックされたアクセス時刻との差分が上記閾値以上である場合でよい。また、記録されるアクセス時刻は、ヘルスチェック処理の開始時刻であってもよい。また、生存情報を格納するとは、クォーラム装置内の情報を更新することであってもよいし、クォーラム装置内に情報を追記することでもよい。実施例では、生存情報の格納は、クォーラム装置内の情報(具体的にはアクセス時刻)の更新である。
ここで、アクティブ属性の第1クォーラム装置50aに障害130が発生したとする。この場合、第1ストレージ装置10a及び第2ストレージ装置10bの各々は、スタンバイ属性の第2クォーラム装置50bをアクティブ属性に変更する。この状態で仮にストレージ間通信パス7に障害が発生したとしても、第1ストレージ装置10aは、このアクティブ属性に変更された第2クォーラム装置50bの有するクォーラム保持テーブル400の第2のクォーラム更新時刻417の値を確認することで、第2ストレージ装置10bが生存しているか否かを判定することができる。第2ストレージ装置10bも同様に、第1ストレージ装置10aの生存可否を判定できる。すなわち、一つのクォーラム装置に障害が発生したとしても、本情報システム1は、クォーラム装置が一つの場合のようにストレージ間通信パス7の障害に備えて二重化を解除することなく、二重化を維持することができる。
次に、図7を参照しながら、ストレージ間通信パス7に障害131が発生した場合の情報システム1の動作例を説明する。
ストレージ間通信パス7に障害131が発生した場合、第1ストレージ装置10aと第2ストレージ装置10bとの間で同期リモートコピーをすることができない。よって、情報システム1は、ホスト計算機3への不正なデータの提供を防ぐため、一方のストレージ装置のみをI/O要求実行可とし、他方のストレージ装置をI/O要求実行不可とする。以下、具体的な動作の一例を述べる。
図7の状況において、ホスト計算機3が第1ストレージ装置10aへI/O要求を送信すると、そのI/O要求を受信した第1ストレージ装置10aは、ストレージ間通信が可能か否かを判定する。ここでは、ストレージ間通信パス7に障害131があり、ストレージ間通信が不可能なため、第1ストレージ装置10aは、次の処理を実行する。
すなわち、第1ストレージ装置10aは、第1クォーラム装置50a及び第2クォーラム装置50bにおける第1のクォーラム更新時刻413の値を今回のアクセス時刻に更新する。そして、第1ストレージ装置10aは、アクティブ属性である第1クォーラム装置50aにおける第2のクォーラム更新時刻417の値を参照し、ストレージ間通信パス7の障害を検知した時刻(「障害検知時刻」という)よりも後において、第2ストレージ装置10bが第1ストレージ装置10aよりも先に第1クォーラム装置50aにアクセス済みであるか否かを判定する。例えば、第1ストレージ装置10aは、第1クォーラム装置50aにおける第2のクォーラム更新時刻417の値が、ストレージ間通信パス7の障害検知時刻よりも後であって、且つ、第1ストレージ装置10aの今回のアクセス時刻よりも前である場合、第2ストレージ装置10bが先に第1クォーラム装置50aにアクセス済みであると判定する。
第2ストレージ装置10bが未だ第1クォーラム装置50aにアクセスしていない場合、又は第2のI/O可否415の値が「不可」に設定されている場合、第1ストレージ装置10aは、第1ストレージ装置10aをI/O要求実行可に設定する。つまり、第1ストレージ装置10aは、クォーラム保持テーブル400の第1のI/O可否411の値403を「可」に設定(維持)する。そして、第1ストレージ装置10aは、その受信したI/O要求を処理すると共にホスト計算機3に対して成功応答を返す。
一方、第2ストレージ装置10bは、所定周期で実行されるヘルスチェック処理において、第1クォーラム装置50a及び第2クォーラム装置50bにおける第2のクォーラム更新時刻417の値を今回のアクセス時刻に更新する。
そして、第2ストレージ装置10bは、アクティブ属性である第1クォーラム装置50aを参照し、ストレージ間通信パス7の障害検知時刻よりも後において、第1ストレージ装置10aが第2ストレージ装置10bよりも先に第1クォーラム装置50aにアクセス済みであるか否かを判定する。
第1ストレージ装置10aが先に第1クォーラム装置50aにアクセス済みである場合、第2ストレージ装置10bは、第2ストレージ装置10bをI/O要求実行不可に設定する。つまり、第2ストレージ装置10bは、クォーラム保持テーブル400の第2のI/O可否415の値を「不可」に設定(変更)する。
なお、ストレージ間通信パス7の障害検知時刻よりも以後において、第2ストレージ装置10bが第1ストレージ装置10aよりも先にアクティブ属性である第1クォーラム装置50aにアクセス済みであった場合は、第2ストレージ装置10bがI/O要求実行可となり、第1ストレージ装置10aがI/O要求実行不可となる。
このように、情報システム1は、ストレージ間通信パス7に障害が発生した場合、一方のストレージ装置のみをI/O要求実行可とし、他方のストレージ装置をI/O要求実行不可とする。これにより、情報システム1は、ホスト計算機3への不正なデータの提供を防止することができる。なお、第1ストレージ装置10a及び第2ストレージ装置10bは、ストレージ間通信パス7の障害を検知した場合、障害検知時刻を、例えば、第1クォーラム装置50a及び第2クォーラム装置50bの少なくとも一つに記録しても良い。
次に、図8を参照しながら、第1ストレージ装置10aと第2クォーラム装置50bとの間の通信パス121に障害133が発生し、第2ストレージ装置10bと第1クォーラム装置50aとの間の通信パス112に障害132が発生した場合の動作例について説明する。
この場合、第1ストレージ装置10aと第2ストレージ装置10bとが共有できるクォーラム装置が存在しない。つまり、第1ストレージ装置10a及び第2ストレージ装置10bの各々が、クォーラム装置を用いて相手ストレージ装置の生存を確認することができない。よって、情報システム1は、ストレージ間通信パス7の障害に備えて、一方のストレージ装置をI/O要求実行可とし、他方のストレージ装置をI/O要求実行不可とする必要がある。そこで、情報システム1は、アクティブクォーラムにアクセスできるストレージ装置をI/O要求実行可とし、アクティブクォーラムにアクセスできないストレージ装置をI/O要求実行不可とする。以下、具体的な動作の一例を述べる。
第1ストレージ装置10aは、所定周期で実行されるヘルスチェック処理において、アクティブ属性の第1クォーラム装置50aにはアクセスできるが、スタンバイ属性の第2クォーラム装置50bにはアクセスできないことを認識する。第1ストレージ装置10aは、アクティブ属性の第1クォーラム装置50aにアクセスできるので、I/O要求実行可となる。
一方、第2ストレージ装置10bは、所定周期で実行されるヘルスチェック処理において、スタンバイ属性の第2クォーラム装置50bにはアクセスできるが、アクティブ属性の第1クォーラム装置50aにはアクセスできないことを認識する。第2ストレージ装置10bは、アクティブ属性の第1クォーラム装置50aにアクセスできないので、I/O要求実行不可となる。
このように、情報システム1は、第1ストレージ装置10aと第2ストレージ装置10bとが共有できるクォーラム装置が存在しない場合、ストレージ間通信パス7の障害に備えて、アクティブ属性のクォーラム装置にアクセスできるストレージ装置をI/O要求実行可とし、アクティブ属性のクォーラム装置にアクセスできないストレージ装置をI/O要求実行不可とする。これにより、情報システム1は、ホスト計算機3への不正なデータの提供を防止することができる。
次に、図9を参照しながら、第1ストレージ装置10aに障害135が発生し、且つ、アクティブ属性の第1クォーラム装置50aにも障害134が発生した場合の情報システム1の動作例について説明する。
この場合、第1ストレージ装置10aは、障害135により、I/O要求実行不可である。第2ストレージ装置10bは、上記のとおり、アクティブ属性の第1クォーラム装置50aにアクセスできないので、第2ストレージ装置10bはI/O要求実行不可となる。すなわち、システム全体がI/O要求実行不可となる。これは、以下の理由による。
仮に第1ストレージ装置10aがホスト計算機3から受信したライト要求に係るデータをライトした後、そのデータが第2ストレージ装置10bと同期される前に、第1ストレージ装置10aに障害が発生したとする。このような状態で仮に第2ストレージ装置10bがホスト計算機3からそのライトデータのリード要求を処理してしまうと、第2ストレージ装置10bは、ホスト計算機3が期待するデータとは異なる不正なデータを提供してしまう。
つまり、このような不正なデータをホスト計算機3に提供してしまうことを防止するために、情報システム1は、上述のように第2ストレージ装置10bをI/O要求実行不可とするのである。
以下、図10のフローチャートを参照しながら、第1ストレージ装置10a及び第2ストレージ装置10bのぞれぞれで実行されるヘルスチェック処理について説明する。第1ストレージ装置10a及び第2ストレージ装置10bの各々は、所定の周期で以下のヘルスチェック処理を実行する。
ストレージ装置は、アクティブクォーラムにアクセス可能か否かを判定する(S101)。
以下、ストレージ装置がアクティブクォーラムにアクセス可能な場合(S101:YES)について説明する。ストレージ装置は、自ストレージ装置によるアクティブクォーラムへのアクセス時刻によって、このアクティブクォーラムの有するクォーラム更新時刻(313または317)の値を更新する(S102)。次に、ストレージ装置は、ストレージ間通信が可能か否かを判定する(S103)。
ストレージ間通信が不可能な場合(S103:NO)、ストレージ装置は、ストレージ間通信パス7の障害検知時刻よりも以降に、先に相手ストレージ装置がアクティブクォーラムにアクセス済みであるか否かを判定する(S104)。
先に相手ストレージ装置がアクティブクォーラムにアクセス済みである場合(S104:YES)、ストレージ装置は、自ストレージ装置をI/O要求実行「不可」に設定し、S106へ進む。相手ストレージ装置が未だアクティブクォーラムにアクセスしていない場合(S104:NO)、ストレージ装置は、そのままS106へ進む。
ストレージ装置は、スタンバイクォーラムにアクセス可能か否かを判定する(S106)。スタンバイクォーラムにアクセス可能な場合(S106:YES)、ストレージ装置は、自ストレージ装置によるスタンバイクォーラムへのアクセス時刻によって、このスタンバイクォーラムの有するクォーラム更新時刻(313または317)の値を更新し(S107)、当該処理を終了する(終了)。スタンバイクォーラムにアクセス不可能な場合(S106:NO)、ストレージ装置は、そのまま当該処理を終了する(終了)。
以下、ストレージ装置がアクティブクォーラムにアクセス不可能な場合(S101:NO)について説明する。ストレージ装置は、ストレージ間通信が可能か否かを判定する(S111)。
以下、ストレージ間通信が可能な場合(S111:YES)について説明する。ストレージ装置は、スタンバイクォーラムにアクセス可能か否かを判定する(S112)。スタンバイクォーラムにアクセス不可能な場合(S112:NO)、ストレージ装置は、第2ストレージ装置10bをI/O要求実行不可に設定し(S113)、当該処理を終了する(終了)。つまり、アクティブ属性及びスタンバイ属性の何れのクォーラム装置にもアクセス不可であり、且つ、ストレージ間通信が可能な場合は、ホスト計算機3から優先的にアクセスされる第1ストレージ装置10aのみをI/O要求実行可とし、第2ストレージ装置10bをI/O要求実行不可とする。
スタンバイクォーラムにアクセス可能な場合(S112:YES)、ストレージ装置は、このスタンバイクォーラムの属性をアクティブ属性に変更する(S114)。そして、ストレージ装置は、このアクティブ属性に変更されたクォーラム装置の有するクォーラム更新時刻(313または317)の値を更新し(S115)、当該処理を終了する(終了)。
以下、ストレージ間通信が不可能な場合(S111:NO)について説明する。ストレージ装置は、スタンバイクォーラムにアクセス可能か否かを判定する(S121)。
スタンバイクォーラムにアクセス不可能な場合(S121:NO)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定し(S140)、当該処理を終了する(終了)。すなわち、アクティブ属性及びスタンバイ属性の何れのクォーラム装置にもアクセスできず、且つ、ストレージ間通信も不可能なストレージ装置は、I/O要求実行不可となる。
スタンバイクォーラムにアクセス可能な場合(S121:YES)、ストレージ装置は、相手ストレージ装置が先にスタンバイクォーラムにアクセス済みであるか否かを確認する(S122)。
相手ストレージ装置が先にスタンバイクォーラムにアクセス済みである場合(S122:YES)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定し(S123)、当該処理を終了する(終了)。
相手ストレージ装置が未だスタンバイクォーラムにアクセスしていない場合(S122:NO)、ストレージ装置は、スタンバイフラグ(414または418)の値を参照し、これが1回目の確認であるか否かを判定する(S131)。
これが1回目の確認である場合(S131:1回目)、ストレージ装置は、自ストレージ装置によるアクセス時刻によって、スタンバイクォーラムの有するクォーラム更新時刻(313または317)の値を更新し(S132)、いったん当該処理を終了する(終了)。その後、ストレージ装置は、次回のヘルスチェック処理において以下の「2回目」の処理を実行する。
これが2回目の確認である場合(S131:2回目)、ストレージ装置は、スタンバイクォーラムのI/O可否(411または415)を参照し、相手ストレージ装置がI/O要求実行不可の設定であるか否かを判定する(S133)。
相手ストレージ装置がI/O要求実行不可の設定である場合(S133:不可)、ストレージ装置は、I/O要求実行可のまま当該処理を終了する(終了)。なぜなら、相手ストレージ装置は、生存しているものの何らかの理由によりI/O要求実行不可となったのだから、自ストレージ装置がI/O要求実行可である必要がある。
相手ストレージ装置がI/O要求実行可のままである場合(S133:可)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定し(S140)、当該処理を終了する(終了)。なぜなら、この場合、相手ストレージ装置の生存を確認できていないので、自ストレージ装置もI/O要求実行不可となり、ホスト計算機3に対して不正なデータを提供することを防止する必要があるためである。
以下、図11のフローチャートを参照しながら、I/O要求処理について説明する。第1ストレージ装置10a及び第2ストレージ装置10bの各々は、ホスト計算機3からI/O要求を受信した場合に、以下のI/O要求処理を実行する。なお、本実施例のホスト計算機3は、先に第1ストレージ装置10aにI/O要求を送信し、これに失敗した場合、第2ストレージ装置10bにこのI/O要求を送信する。
ストレージ装置は、ホスト計算機3からI/O要求を受信すると、ストレージ間通信が可能な否かを判定する(S201)。
ストレージ間通信が可能な場合(S201:YES)、ストレージ装置は、I/O要求を実行し(S203)、当該処理を終了する(終了)。なお、ホスト計算機3からのI/O要求がライト要求であった場合、ストレージ装置は、そのライトデータを、ストレージ間通信パス7を通じて、相手ストレージ装置に同期リモートコピーする。ストレージ間でデータの整合性を保つためである。
次に、ストレージ装置が、ストレージ間通信が不可能な場合(S201:NO)について説明する。この場合、ストレージ装置は、アクティブクォーラムにアクセス可能か否かを判定する(S211)。
以下、ストレージ装置が、アクティブクォーラムにアクセス可能な場合(S211:YES)について説明する。この場合、ストレージ装置は、自ストレージ装置によるアクセス時刻によって、アクティブクォーラムの有するクォーラム更新時刻(313または317)の値を更新する(S212)。そして、ストレージ装置は、スタンバイクォーラムにアクセス可能か否かを判定する(S213)。ストレージ装置は、スタンバイクォーラムにアクセス可能な場合(S213:YES)、自ストレージ装置によるアクセス時刻によって、スタンバイクォーラムの有するクォーラム更新時刻(313または317)の値を更新し(S214)、S203へ進む。ストレージ装置は、スタンバイクォーラムにアクセス不可能な場合(S213:NO)、そのままS203へ進む。
S203において、ストレージ装置は、I/O要求を実行し(S203)、当該処理を終了する(終了)。例えば、第1ストレージ装置10aがアクティブクォーラムにアクセス可能な場合は、第1ストレージ装置10aがI/O要求を実行するので、第2ストレージ装置10bは、ホスト計算機3からI/O要求を受信しない。よって、ストレージ間通信が不可能な場合であっても、情報システム1は、ホスト計算機3に対して不正なデータを提供しない。
以下、ストレージ装置が、アクティブクォーラムにアクセス不可能な場合(S211:NO)について説明する。この場合、ストレージ装置は、スタンバイクォーラムにアクセス可能か否かを判定する(S221)。スタンバイクォーラムにアクセス不可能な場合(S221:NO)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定する(S260)と共にホスト計算機3に対してI/O失敗応答を返し(S261)、当該処理を終了する(終了)。すなわち、アクティブ属性及びスタンバイ属性の何れのクォーラム装置にもアクセス不可能であり、且つ、ストレージ間通信が不可能なストレージ装置は、I/O要求を実行しない。なぜなら、このようなストレージ装置にデータがライトされると、ストレージ間でデータの不整合が生じるおそれがあるためである。例えば、第1ストレージ装置10aがI/O失敗応答を返すと、ホスト計算機3は、次に第2ストレージ装置10bにI/O要求を送信する。
スタンバイクォーラムにアクセス可能な場合(S221:YES)、ストレージ装置は、ストレージ間通信パス7の障害検知時刻よりも以降に、先に相手ストレージ装置がそのスタンバイクォーラムにアクセス済みであるか否かを確認する(S222)。
先に相手ストレージ装置がスタンバイクォーラムにアクセス済みである場合(S222:YES)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定する(S223)。そして、ストレージ装置は、ホスト計算機3に対してI/O失敗応答を返し(S224)、当該処理を終了する(終了)。なぜなら、先に相手ストレージ装置がスタンバイアクセスにアクセス済みであるということは、相手ストレージ装置が生存していることも意味するからである。
相手ストレージ装置が未だスタンバイクォーラムにアクセスしていない場合(S222:NO)、ストレージ装置は、スタンバイフラグ(414または418)の値を参照し、これが1回目の確認であるか否かを判定する(S231)。
これが1回目の確認である場合(S231:1回目)、ストレージ装置は、自ストレージ装置によるアクセス時刻によって、スタンバイクォーラムの有するクォーラム更新時刻(313または317)の値を更新する(S232)。そして、ストレージ装置は、ヘルスチェック処理の所定周期よりも長い時間待機した後(S233)、S201の処理へ戻る。そして、ストレージ装置は、2回目の確認において(S231:2回目)、以下の処理を実行する。
ストレージ装置は、スタンバイクォーラムのI/O可否(411または415)を参照し、相手ストレージ装置がI/O要求実行不可であるか否かを判定する(S241)。
相手ストレージ装置がI/O要求実行不可である場合(S241:不可)、ストレージ装置は、I/O要求実行可の設定を維持し、I/O要求を実行し(S203)、当該処理を終了する(終了)。相手ストレージ装置が、I/O要求実行可の設定である場合(S241:可)、ストレージ装置は、自ストレージ装置をI/O要求実行不可に設定(変更)する(S260)。そして、ストレージ装置は、ホスト計算機3に対してI/O失敗応答を返し(S261)、当該処理を終了する(終了)。なぜなら、この場合、相手ストレージ装置の生存を確認できていないので、自ストレージ装置もI/O要求実行不可となり、ホスト計算機3に対して不正なデータを提供することを防止する必要があるためである。
以下、図12の表500を参照しながら、上述のヘルスチェック処理時におけるストレージ装置のI/O要求の実行可否の変更を整理する。
(1)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムへアクセス可能な場合、I/O要求実行可の設定を維持する(511)。
(2)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(512)。
(3)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、スタンバイクォーラムの属性を「アクティブ」に変更し、自ストレージ装置のI/O要求実行可の設定を維持する(513)。
(4)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス不可能である場合、第2ストレージ装置をI/O要求実行不可に設定し、自ストレージ装置のI/O要求実行可の設定を維持する(514)。
(5)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス可能である場合、相手ストレージ装置が先にアクティブクォーラムにアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にアクティブクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(515)。
(6)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、相手ストレージ装置が先にアクティブクォーラムにアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にアクティブクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(516)。
(7)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、相手ストレージ装置が先にスタンバイクォーラムへアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にスタンバイクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(517)。
(8)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス不可能である場合、自ストレージ装置の設定をI/O要求実行不可に変更する(518)。
なお、図9に示すように、一方のストレージ装置に障害が発生した場合については、他方の正常なストレージ装置からはストレージ間通信に障害が発生した場合と同じように見えるので、上記(5)~(8)のパターンに該当することとなる。これは、次の図13においても同様である。
(2)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(512)。
(3)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、スタンバイクォーラムの属性を「アクティブ」に変更し、自ストレージ装置のI/O要求実行可の設定を維持する(513)。
(4)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス不可能である場合、第2ストレージ装置をI/O要求実行不可に設定し、自ストレージ装置のI/O要求実行可の設定を維持する(514)。
(5)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス可能である場合、相手ストレージ装置が先にアクティブクォーラムにアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にアクティブクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(515)。
(6)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、相手ストレージ装置が先にアクティブクォーラムにアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にアクティブクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(516)。
(7)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、相手ストレージ装置が先にスタンバイクォーラムへアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にスタンバイクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(517)。
(8)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス不可能である場合、自ストレージ装置の設定をI/O要求実行不可に変更する(518)。
なお、図9に示すように、一方のストレージ装置に障害が発生した場合については、他方の正常なストレージ装置からはストレージ間通信に障害が発生した場合と同じように見えるので、上記(5)~(8)のパターンに該当することとなる。これは、次の図13においても同様である。
以下、図13の表520を参照しながら、上述のI/O要求処理時におけるストレージ装置のI/O要求の実行可否の変更を整理する。
(1)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムへアクセス可能な場合、I/O要求実行可の設定を維持する(531)。
(2)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス可能であるが、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(532)。
(3)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、I/O要求実行可の設定を維持する(533)。
(4)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス不可能である場合、I/O要求実行可の設定を維持する(534)。
(5)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス可能である場合、I/O要求実行可の設定を維持する(535)。
(6)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(536)。
(7)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、相手ストレージ装置が先にスタンバイクォーラムへアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にスタンバイクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(537)。
(8)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス不可能である場合、自ストレージ装置の設定をI/O要求実行不可に変更する(538)。
(2)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス可能であるが、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(532)。
(3)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、I/O要求実行可の設定を維持する(533)。
(4)ストレージ装置は、ストレージ間通信が可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス不可能である場合、I/O要求実行可の設定を維持する(534)。
(5)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラム及びスタンバイクォーラムにアクセス可能である場合、I/O要求実行可の設定を維持する(535)。
(6)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス可能であり、スタンバイクォーラムへアクセス不可能である場合、I/O要求実行可の設定を維持する(536)。
(7)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス可能である場合、相手ストレージ装置が先にスタンバイクォーラムへアクセス済みであるならば、自ストレージ装置の設定をI/O要求実行不可に変更し、自ストレージ装置が先にスタンバイクォーラムへアクセスしたならば、自ストレージ装置のI/O要求実行可の設定を維持する(537)。
(8)ストレージ装置は、ストレージ間通信が不可能であり、アクティブクォーラムへアクセス不可能であり、スタンバイクォーラムへアクセス不可能である場合、自ストレージ装置の設定をI/O要求実行不可に変更する(538)。
なお、上述の説明において、ヘルスチェック処理およびI/O要求実行処理は「ストレージ装置」により行われるが、詳細には、ストレージコントローラにより行われる。
上述した本発明の実施例は、本発明の説明のための例示であり、本発明の範囲をその実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
例えば、第1ストレージ装置10a及び第2ストレージ装置10bの各々は、自分のストレージ装置がI/O要求実行不可の設定となった場合、その旨をホスト計算機3に通知しても良い。そして、ホスト計算機3は、その通知を受信した場合、それ以降、その通知の送信元のストレージ装置にはI/O要求を送信しない設定としても良い。
また、例えば、第1ストレージ装置10a及び第2ストレージ装置10bの各々は、それらのストレージ装置10a及び10bを管理する管理計算機(図示せず)に、検出結果(例えば、ストレージ間通信が不可能又は可能となった、第1クォーラム装置50aにアクセス不可能又は可能となった、第2クォーラム装置50bにアクセス不可能又は可能となった等)を通知し、管理計算機が、第1ストレージ装置10a及び第2ストレージ装置10bの各々からの通知(検出結果)を基に、第1ストレージ装置10a及び第2ストレージ装置10bの各々に対して、設定(I/O要求実行可又はI/O要求実行不可)の変更を要求してもよく、第1ストレージ装置10a及び第2ストレージ装置10bの各々は、管理計算機からの要求に応答して、設定を変更してもよい。また、クォーラム装置の属性の変更も、管理計算機からの要求に応答して行われてもよい。
1…情報システム 10a…第1ストレージ装置 10b…第2ストレージ装置 50a…第1クォーラム装置 50b…第2クォーラム装置 7…ストレージ間通信パス
Claims (12)
- ライト要求又はリード要求であるI/O要求を送信するホスト計算機に接続され且つライト要求を受信した場合に前記受信したライト要求に従うデータを相手のストレージ装置へコピーするようにそれぞれがなっている第1及び第2ストレージ装置と、
前記第1及び第2ストレージ装置に接続された第1クォーラム装置と、
前記第1及び第2ストレージ装置に接続された第2クォーラム装置と
を備え、
前記第1及び第2ストレージ装置の各々は、I/O要求を実行するか否かの設定である実行可否設定に従い、I/O要求を実行するか否かを制御するようになっており、
前記第1及び第2ストレージ装置の各々は、繰り返し実行される処理であるヘルスチェック処理において、
自分のストレージ装置が生存中である旨を示す生存情報を前記第1及び第2クォーラム装置に格納し、
前記第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否かをチェックし、
自分のストレージ装置の前記実行可否設定を、前記第1及び第2クォーラム装置の一方又は両方に生存情報を格納可能か否か、及び、前記第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否か、のうちの少なくとも一つに基づく設定とする、
情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、同期コピーが可能であり、且つ、前記第1及び第2クォーラム装置のうち少なくとも一つに自分のストレージ装置と相手のストレージ装置との両方が生存情報を格納可能な場合、前記実行可否設定を、I/O要求を実行可能な設定とする
請求項1に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記第1及び第2クォーラム装置の一方について属性を第1属性と設定し他方について属性を第2属性と設定し、
前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、第1属性のクォーラム装置から相手のストレージ装置の生存情報を確認できない場合に、第2属性のクォーラム装置から相手のストレージ装置の生存情報を確認する
請求項2に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、同期コピーが可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置にも生存情報を格納不可能である場合、前記第1及び第2ストレージ装置のうちの一方が、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とする
請求項3に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、同期コピーが可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置についての属性の設定を第1属性に変更する
請求項4に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも後であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とする
請求項3に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも先であり、且つ、相手のストレージ装置の前記実行可否設定がI/O要求を実行不可能な設定であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行可能な設定とする
請求項6に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ホスト計算機から受信したI/O要求の処理において、同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置にも生存情報を格納不可能である場合、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とし、且つ、前記受信したI/O要求に対する失敗応答を前記ホスト計算機に送信する
請求項3に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ホスト計算機から受信したI/O要求の処理において、同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも後であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とし、且つ、前記受信したI/O要求に対する失敗応答をホスト計算機に送信する
請求項8に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ヘルスチェック処理において、
同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも後であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とし、
同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも先であり、且つ、相手のストレージ装置がI/O要求を実行不可能な設定であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行可能な設定とする
請求項5に記載の情報システム。
- 前記第1及び第2ストレージ装置の各々は、前記ホスト計算機から受信したI/O要求の処理において、
同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置にも生存情報を格納不可能である場合、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とし、且つ、前記受信したI/O要求に対する失敗応答を前記ホスト計算機に送信し、
同期コピーが不可能であり、前記第1属性のクォーラム装置に生存情報を格納不可能であり、且つ、前記第2属性のクォーラム装置に生存情報を格納可能である場合、前記第2属性のクォーラム装置への自分のストレージ装置による生存情報の格納が、同期コピーが不可能となった後における相手のストレージ装置による生存情報の格納よりも後であるならば、自分のストレージ装置の前記実行可否設定を、I/O要求を実行不可能な設定とし、且つ、前記受信したI/O要求に対する失敗応答をホスト計算機に送信する
請求項3に記載の情報システム。
- ライト要求又はリード要求であるI/O要求を送信するホスト計算機にそれぞれ接続されライト要求を受信した場合に前記受信したライト要求に従うデータを相手のストレージ装置へ同期コピーするようにそれぞれがなっている第1及び第2ストレージ装置を含み、前記第1及び第2ストレージ装置の各々が、I/O要求を実行するか否かの設定である実行可否設定に従いI/O要求を実行するか否かを制御するようになっているシステム、において実行されるI/O処理方法であって、
前記第1及び第2ストレージ装置の各々は、繰り返し実行される処理であるヘルスチェック処理において、
自分のストレージ装置が生存中である旨を示す生存情報を、前記第1及び第2ストレージ装置の各々に接続されている第1及び第2クォーラム装置に格納し、
前記第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否かをチェックし、
自分のストレージ装置の前記実行可否設定を、前記第1及び第2クォーラム装置の一方又は両方に生存情報を格納可能か否か、及び、前記第1及び第2クォーラム装置の何れかから相手のストレージ装置の生存情報を確認できるか否か、のうちの少なくとも一つに基づく設定とする
I/O処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/424,455 US9395922B2 (en) | 2014-01-10 | 2014-01-10 | Information system and I/O processing method |
PCT/JP2014/050316 WO2015104833A1 (ja) | 2014-01-10 | 2014-01-10 | 情報システム及びi/o処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/050316 WO2015104833A1 (ja) | 2014-01-10 | 2014-01-10 | 情報システム及びi/o処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015104833A1 true WO2015104833A1 (ja) | 2015-07-16 |
Family
ID=53523681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/050316 WO2015104833A1 (ja) | 2014-01-10 | 2014-01-10 | 情報システム及びi/o処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9395922B2 (ja) |
WO (1) | WO2015104833A1 (ja) |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9063967B2 (en) | 2013-01-10 | 2015-06-23 | Pure Storage, Inc. | Performing copies in a storage system |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US10503427B2 (en) * | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
EP3612922A1 (en) | 2017-06-12 | 2020-02-26 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US12067466B2 (en) | 2017-10-19 | 2024-08-20 | Pure Storage, Inc. | Artificial intelligence and machine learning hyperscale infrastructure |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US12067274B2 (en) | 2018-09-06 | 2024-08-20 | Pure Storage, Inc. | Writing segments and erase blocks based on ordering |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US10834190B2 (en) | 2018-01-18 | 2020-11-10 | Portworx, Inc. | Provisioning of clustered containerized applications |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US10564863B2 (en) | 2018-04-24 | 2020-02-18 | International Business Machines Corporation | Identifying an availability of a system |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US11379254B1 (en) | 2018-11-18 | 2022-07-05 | Pure Storage, Inc. | Dynamic configuration of a cloud-based storage system |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US12079502B2 (en) | 2019-11-22 | 2024-09-03 | Pure Storage, Inc. | Storage element attribute-based determination of a data protection policy for use within a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US20220327208A1 (en) * | 2019-11-22 | 2022-10-13 | Pure Storage, Inc. | Snapshot Deletion Pattern-Based Determination of Ransomware Attack against Data Maintained by a Storage System |
US11868318B1 (en) | 2019-12-06 | 2024-01-09 | Pure Storage, Inc. | End-to-end encryption in a storage system with multi-tenancy |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11494128B1 (en) | 2020-01-28 | 2022-11-08 | Pure Storage, Inc. | Access control of resources in a cloud-native storage system |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11593017B1 (en) | 2020-08-26 | 2023-02-28 | Pure Storage, Inc. | Protection of objects in an object store from deletion or overwriting |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11531467B1 (en) | 2021-01-29 | 2022-12-20 | Pure Storage, Inc. | Controlling public access of resources in a secure distributed storage system |
US11520516B1 (en) | 2021-02-25 | 2022-12-06 | Pure Storage, Inc. | Optimizing performance for synchronous workloads |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US12086649B2 (en) | 2021-05-12 | 2024-09-10 | Pure Storage, Inc. | Rebalancing in a fleet of storage systems using data science |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
US12118223B2 (en) * | 2022-07-21 | 2024-10-15 | Dell Products L.P. | Efficient method for data invulnerability architecture (DIA) and data corruption detection for deduped cloud objects |
US12107919B2 (en) | 2022-11-02 | 2024-10-01 | Pure Storage, Inc. | Dynamic determination of locks for a prioritized deployment of nodes in a distributed storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080895A1 (en) * | 2003-10-14 | 2005-04-14 | Cook Steven D. | Remote activity monitoring |
JP2007528557A (ja) * | 2004-03-09 | 2007-10-11 | スケールアウト ソフトウェア インコーポレイテッド | スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ |
US7827441B1 (en) * | 2007-10-30 | 2010-11-02 | Network Appliance, Inc. | Disk-less quorum device for a clustered storage system |
US20120246511A1 (en) * | 2011-03-23 | 2012-09-27 | Hitachi, Ltd. | Storage system and method of controlling the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003076592A (ja) * | 2001-09-04 | 2003-03-14 | Hitachi Ltd | データ格納システム |
JP4516322B2 (ja) * | 2004-01-28 | 2010-08-04 | 株式会社日立製作所 | 複数の上位装置で共有される記憶装置システムを持つサイト間での共有排他制御方式を備えたコンピュータシステム |
US7734596B2 (en) * | 2005-11-30 | 2010-06-08 | Stephen John Vivian | Automatic failover configuration with redundant abservers |
US8498967B1 (en) * | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
JP5222617B2 (ja) | 2008-04-28 | 2013-06-26 | 株式会社日立製作所 | 情報システム及びi/o処理方法 |
US8566635B2 (en) * | 2011-01-21 | 2013-10-22 | Lsi Corporation | Methods and systems for improved storage replication management and service continuance in a computing enterprise |
US9116862B1 (en) * | 2012-01-17 | 2015-08-25 | Amazon Technologies, Inc. | System and method for data replication using a single master failover protocol |
US9483362B2 (en) * | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Use of auxiliary data protection software in failover operations |
-
2014
- 2014-01-10 WO PCT/JP2014/050316 patent/WO2015104833A1/ja active Application Filing
- 2014-01-10 US US14/424,455 patent/US9395922B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080895A1 (en) * | 2003-10-14 | 2005-04-14 | Cook Steven D. | Remote activity monitoring |
JP2007528557A (ja) * | 2004-03-09 | 2007-10-11 | スケールアウト ソフトウェア インコーポレイテッド | スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ |
US7827441B1 (en) * | 2007-10-30 | 2010-11-02 | Network Appliance, Inc. | Disk-less quorum device for a clustered storage system |
US20120246511A1 (en) * | 2011-03-23 | 2012-09-27 | Hitachi, Ltd. | Storage system and method of controlling the same |
Also Published As
Publication number | Publication date |
---|---|
US9395922B2 (en) | 2016-07-19 |
US20160026397A1 (en) | 2016-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015104833A1 (ja) | 情報システム及びi/o処理方法 | |
JP5620614B1 (ja) | ストレージシステム | |
JP4927408B2 (ja) | 記憶システム及びそのデータ復元方法 | |
US10114691B2 (en) | Information storage system | |
US10296429B2 (en) | Storage device | |
US10191685B2 (en) | Storage system, storage device, and data transfer method | |
US8495014B2 (en) | Asynchronous remote copy system and storage control method | |
EP3462299B1 (en) | Bidirectional replication | |
WO2015077955A1 (zh) | 一种写数据方法、装置和系统 | |
US10140035B2 (en) | Method for appropriately controlling duplicated volumes in virtual volume subsystems | |
JP2008287405A (ja) | パス管理方法、ホスト計算機及びパス管理プログラム | |
JP6025973B2 (ja) | 計算機システム及び計算機システムのボリューム管理方法 | |
US10025655B2 (en) | Storage system | |
JP5773446B2 (ja) | 記憶装置、冗長性回復方法、およびプログラム | |
US11630734B2 (en) | Scale-out storage system and storage control method | |
JP4936088B2 (ja) | ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法 | |
US10656867B2 (en) | Computer system, data management method, and data management program | |
WO2019043815A1 (ja) | ストレージシステム | |
WO2015198371A1 (ja) | ストレージシステム及び記憶制御方法 | |
WO2016006108A1 (ja) | ストレージおよびその制御方法 | |
JP2017151857A (ja) | ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム | |
JP6013420B2 (ja) | ストレージシステム | |
WO2014009994A1 (en) | Disk subsystem and method for controlling memory access | |
WO2017081785A1 (ja) | 計算機システム | |
WO2018016041A1 (ja) | ストレージシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 14424455 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14878369 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14878369 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |