Virtual shared disks with application transparent recovery
First Claim
1. A clustered multi-processing system comprising:
- at least three interconnected nodes wherein less than all nodes are server nodes, each node including a memory;
a multi-ported disk having at least a primary tail physically attached to a primary server node and a secondary tail physically attached to a secondary server node;
a disk access request mechanism, coupled to the nodes, for communicating a disk access request from an originating node to a server node physically attached to the disk along one of at least a primary disk access path and a secondary disk access path defined between the originating node, the server nodes and the disk;
a failure detection mechanism, coupled to the nodes, for detecting failures along one of the primary disk access path and the secondary disk access path; and
,proxy logic stored in the memory on each of the nodes and coupled to the failure detection mechanism, for redirecting subsequent disk access requests along a non-failing disk access path to the disk, when a failure is detected;
said proxy logic comprising a two-phase commit protocol including;
a coordinator node being adapted for broadcasting a suspend message to participant nodes to suspend access to a failed disk access path and waiting for an acknowledge message from all participant nodes;
each participant node receiving the suspend message being adapted for suspending said access to the failed disk access path, sending the acknowledge message to the coordinator node confirming suspension of said access to the failed disk access path, and waiting for a resume message from the coordinator node;
the coordinator node being further adapted for sending the resume message upon receipt of the acknowledge message from said all participant nodes; and
said each participant node being further adapted for redirecting said subsequent disk access requests along the non-failing disk access path to the disk, upon receipt of the resume message.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for recovering from failures in the disk access path of a clustered computing system. Each node of the clustered computing system is provided with proxy software for handling physical disk access requests from applications executing on the node and for directing the disk access requests to an appropriate server to which the disk is physically attached. The proxy software on each node maintains state information for all pending requests originating from that node. In response to detection of a failure along the disk access path, the proxy software on all of the nodes directs all further requests for disk access to a secondary node physically attached to the same disk.
285 Citations
9 Claims
-
1. A clustered multi-processing system comprising:
-
at least three interconnected nodes wherein less than all nodes are server nodes, each node including a memory; a multi-ported disk having at least a primary tail physically attached to a primary server node and a secondary tail physically attached to a secondary server node; a disk access request mechanism, coupled to the nodes, for communicating a disk access request from an originating node to a server node physically attached to the disk along one of at least a primary disk access path and a secondary disk access path defined between the originating node, the server nodes and the disk; a failure detection mechanism, coupled to the nodes, for detecting failures along one of the primary disk access path and the secondary disk access path; and
,proxy logic stored in the memory on each of the nodes and coupled to the failure detection mechanism, for redirecting subsequent disk access requests along a non-failing disk access path to the disk, when a failure is detected; said proxy logic comprising a two-phase commit protocol including; a coordinator node being adapted for broadcasting a suspend message to participant nodes to suspend access to a failed disk access path and waiting for an acknowledge message from all participant nodes; each participant node receiving the suspend message being adapted for suspending said access to the failed disk access path, sending the acknowledge message to the coordinator node confirming suspension of said access to the failed disk access path, and waiting for a resume message from the coordinator node; the coordinator node being further adapted for sending the resume message upon receipt of the acknowledge message from said all participant nodes; and said each participant node being further adapted for redirecting said subsequent disk access requests along the non-failing disk access path to the disk, upon receipt of the resume message. - View Dependent Claims (2, 3)
-
-
4. A method for recovering from failures along a disk access path in a clustered computing system which includes at least three interconnected nodes wherein less than all nodes are server nodes and wherein each node includes a memory, and a multi-ported disk having at least a primary tail physically attached to a primary server node and a secondary tail physically attached to a secondary server node, comprising the steps of:
-
detecting a failure in a disk access path in the clustered computing system, wherein a failed access path is associated with the primary tail; upon detection of the failure, a coordinator node broadcasting a message to all nodes of the system having access to the disk; each node receiving the message suspending access to the disk and acknowledging suspension of the access to the disk to the coordinator node; the coordinator node broadcasting a second message to the nodes to resume the access to the disk, responsive to said step of acknowledging suspension of the access to the disk; and each node receiving the second message, resuming the access to the disk by the secondary tail. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A clustered multi-processing system comprising:
-
at least three interconnected nodes wherein less than all nodes are server nodes, each node including a memory; a multi-ported disk having at least a primary tail physically attached to a primary server node and a secondary tail physically attached to a secondary server node; a disk access request mechanism, coupled to the nodes, for communicating a disk access request from an originating node to a server node physically attached to the disk along one of at least a primary disk access path and a secondary disk access path defined between the originating node, the server nodes and the disk; a failure detection mechanism, coupled to the nodes, for detecting failures along one of the primary disk access path and the secondary disk access path; and
,proxy logic means, coupled to the failure detection mechanism, for redirecting subsequent disk access requests via a two-phase commit protocol along a non-failing disk access path to the disk, when a failure is detected.
-
Specification