I'm looking into creating a highly available SAN setup with HAST and ZFS, and I'm trying to find a solution for the following scenario:
The (now unavailable) primary node still needs to send stuff to the secondary, so until then we cannot promote the secondary to primary... or else a split-brain occurs.
How can I figure out reliably whether or not I still need to wait for incoming writes before making myself primary, in case the other node is not available at that point? I cannot rely on CARP information in this scenario because it will simply set the interface to MASTER even though storage-wise we cannot become master yet.
- secondary HAST node dies --> primary starts to accumulate dirty writes
- primary HAST node dies as well before secondary comes back up --> SAN is highly unavailable
- secondary HAST node returns.
The (now unavailable) primary node still needs to send stuff to the secondary, so until then we cannot promote the secondary to primary... or else a split-brain occurs.
How can I figure out reliably whether or not I still need to wait for incoming writes before making myself primary, in case the other node is not available at that point? I cannot rely on CARP information in this scenario because it will simply set the interface to MASTER even though storage-wise we cannot become master yet.