Patent ID: 8438277

Claim:
A computer-implemented for preventing data inconsistency within computer clusters, at least a portion of the method being performed by at least one node comprising at least one processor, the method comprising: identifying a computer cluster that comprises: a plurality of nodes located at a plurality of sites; a plurality of storage devices that store mirrored data at the sites; at least one network communication link that enables nodes located at different sites to communicate with one another; at least one storage communication link that enables nodes to communicate with storage devices located at different sites; detecting a communication failure that prevents communication via the storage communication link without preventing communication via the network communication link; identifying a preference order that ranks the sites within the computer cluster by preference; satisfying detach requests initiated by nodes within the computer cluster in the order specified by the preference order, wherein each detach request comprises a request initiated by a node to detach at least one storage device located at a different site than the node in order to prevent inconsistent data from being stored within the computer cluster as a result of the communication failure; wherein satisfying detach requests in the order specified by the preference order comprises for each detach request: determining whether the preference order ranks the site where the node is located lower than the site where the storage device is located; denying the detach request when the preference order ranks the site where the node is located lower than the site where the storage device is located and satisfying the detach request by detaching the storage device from the computer cluster when the preference order ranks the site where the node is located higher than the site where the storage device is located.