Claims
- 1. A cluster of computer systems, comprising:
storage devices storing at least one mirrored data volume with at least two mirror legs; a storage area network coupled to said storage devices; and computer system nodes, coupled to said storage area network, sharing direct read/write access to said storage devices and maintaining mirror consistency during normal operation and upon failure of at least one of said storage devices or at least one of said computer system nodes, while continuing to accept access requests to the mirrored data volume.
- 2. A method of maintaining mirror consistency of data volumes in a cluster of computer system nodes sharing direct read/write access to storage devices via a storage area network, comprising:
automatically ensuring replication of a mirror leg in response to detection that a failed process was writing to a mirrored data volume; accepting access requests to the mirrored data volume while reading data from an intact mirror leg and writing the data back to the mirrored data volume; and processing the access requests that do not interfere with the creation of a replacement mirror leg while postponing processing of interfering access requests until there is no interference.
- 3. A method as recited in claim 2, wherein said ensuring comprises
detecting failure of at least process accessing the mirrored data volume; detecting and aborting any outstanding input/output operations requested by the at least one process; and initiating a mirror revive process if a write operation from the at least one process to a mirrored volume is detected.
- 4. A method as recited in claim 3,
wherein the mirror revive process comprises holding input/output requests from the computer system nodes made during the mirror revive process in an overlap queue; reading from a first range of addresses on an intact leg of the mirrored data volume and writing to first range of addresses on all legs of the mirrored data volume after ensuring that all input/output activity to the first range of addresses is complete; and repeating said reading and writing for additional ranges of addresses, until all legs of the mirrored data volume are consistent, and wherein said processing the access requests includes processing the input/output requests in the overlap queue that are outside the first range of addresses during said read and writing to the first range of addresses.
- 5. A method as recited in claim 4, further comprising:
detecting failure of a storage device storing at least part of a leg of the mirrored data volume; replicating the leg of the mirrored data volume using the mirror revive process.
- 6. At least one computer readable medium storing at least one program embodying a method of maintaining mirror consistency of data volumes in a cluster of computer systems sharing direct read/write access to storage devices via a storage area network, said method comprising:
automatically ensuring replication of a mirror leg in response to detection that a failed process was writing to a mirrored data volume; accepting access requests to the mirrored data volume while reading data from an intact mirror leg and writing the data back to the mirrored data volume; and processing the access requests that do not interfere with the creation of a replacement mirror leg while postponing processing of interfering access requests until there is no interference.
- 7. A method of establishing a new cluster membership of computer system nodes sharing direct read/write access to storage devices via a storage area network and a cluster operating system, comprising:
transmitting version tags for at least one subsystem of the cluster operating system from each node of a prospective membership to a leader node when establishing the nodes available for cluster membership; and transmitting version information for all of the nodes with a proposed cluster membership from the leader node to all other nodes in the proposed cluster membership.
- 8. A method as recited in claim 7, further comprising communicating between the at least one subsystem on at least two computer system nodes based on the version information.
- 9. At least one computer readable medium storing at least one program embodying a method of establishing a new cluster membership of computer system nodes sharing direct read/write access to storage devices via a storage area network and a cluster operating system, comprising:
transmitting version tags for at least one subsystem of the cluster operating system from each node of a prospective membership to a leader node when establishing the nodes available for cluster membership; and transmitting version information for all of the nodes with a proposed cluster membership from the leader node to all other nodes in the proposed cluster membership.
- 10. A method of operating a cluster of computer system nodes sharing direct read/write access to storage devices via a storage area network, comprising:
requesting a token by a client node from a metadata server node for a file prior to performing a required access to the file; waiting for a response to said requesting; holding the token at the client node upon receipt from the metadata server node; releasing the token at the client node upon completion of the required access to the file; and interrupting said waiting to check on status of at least one of data and node availability, in response to detection of a change in location of the metadata server.
- 11. At least one computer readable medium storing at least one program embodying a method of operating a cluster of computer system nodes sharing direct read/write access to storage devices via a storage area network, said method comprising:
requesting a token by a client node from a metadata server node for a file prior to performing a required access to the file; waiting for a response to said requesting; holding the token at the client node upon receipt from the metadata server node; releasing the token at the client node upon completion of the required access to the file; and interrupting said waiting to check on status of at least one of data and node availability, in response to detection of a change in location of the metadata server.
- 12. A cluster of computer systems, comprising:
storage devices storing at least one file; a storage area network coupled to said storage devices; at least one metadata server node, coupled to said storage area network metadata client nodes, coupled to said storage area network, sharing direct read/write access to said storage devices by sending a token request from said at least one metadata server node for the at least one file prior to performing a required access to the at least one file, waiting for a response to the token request, holding at least one token upon receipt from said at least one metadata server node, releasing the at least one token upon completion of the required access to the file and interrupting the waiting to check on status of at least one of data and node availability, in response to detection of a change in location of said at least one metadata server node.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application is related to and claims priority to U.S. provisional application entitled CLUSTERED FILE SYSTEM having serial No. 60/296,046, by Bannister et al., filed Jun. 5, 2001 and incorporated by reference herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60296046 |
Jun 2001 |
US |