Patent ID: 8498967
Filing Date: 2013-07-30
Classification: G06F

Abstract:
1. A method for mitigating split brain syndrome in a storage cluster, the method comprising: maintaining state information related to a first storage node in a device specific module running on an initiator, the initiator issuing read or write input/output (I/O) commands to the first storage node, and receiving the state information related to the first storage node piggy-backed together with a response to the read or write I/O commands, the state information related to the first storage node comprising an epoch number, a status of synchronization and a status of being a primary node or a secondary node; maintaining state information related to a second storage node in the device specific module running on the initiator, the initiator issuing read or write I/O commands to the second storage node, and receiving the state information related to the second storage node piggy-backed together with a response to the read or write I/O commands, the state information related to the second storage node comprising an epoch number, a status of synchronization and a status of being a primary node or a secondary node; switching, by the device specific module, operation between the first storage node and the second storage node in response to a failed one of the first storage node and the second storage node; reconciling, by the device specific module, state information upon recovery of the failed storage node using the state information in the device specific module, wherein reconciling state information comprises comparing the epoch number related to the first storage node and the epoch number related to the second storage node, wherein the reconciled state information within the first storage node and the second storage node prevents split brain conflicts by designating one of the first storage node and the second storage node as the primary node or the secondary node, respectively; and demoting one of the first storage node or the second storage node from the primary node to the secondary node, wherein the demoted first or second storage node has a lower epoch number.