When you think about high availability, what comes to mind? Perhaps redundant servers, redundant switches, redundant array controllers, dual power supplies, RAID 1/5/6, etc. While all of these are important and highly recommended, they only address the fault-tolerance of the hardware components. The most important component has been overlooked: THE DATA!
Most would agree, if the data is gone then all the time and money spent on the architectural redundancies are pointless, right? Just like a house, if the foundation is rickety, then it doesn’t matter how the rest of the house is built when it all comes crashing down. In order to achieve a truly rock-solid foundation you must have redundancy at the data-level as well. This is what we call synchronous mirroring or data-in-two-places.
DataCore Synchronous Mirroring
Synchronous Mirroring is the coordinated lock-step writing of data performed between two DataCore nodes. It ensures that two fully operational and fully accessible copies of the data exist in two places at the exact same time. This ensures that even if one node becomes inoperable, the applications will not experience any interruption, and the data is always available.
This of course can be done with the nodes close to each other (in the same room or building) or with up to 100 km between them (across or between cities). In both cases it is synchronous mirroring, but when significant distance in placed between the two nodes it is more specifically referred to as a metro-cluster or stretch-cluster.
It is also important to note that the hardware at both locations doesn’t have to be the same make and model. One of the major strengths of DataCore is that you can use any block level storage device you choose. This gives you amazing flexibility with the solution and keeps costs under control.
At a minimum, having two separate copies of your data is a good idea, it’s even better when you can put some distance between the two nodes. If the nodes are separated, then it is more likely that you will have them running in different buildings, on different power systems and cooled by different air conditioning systems. Then to top it all off, you could have two different storage makes/models at each site ensuring that a vendor-specific bug/issue at one site wouldn’t affect the other.
For a more in-depth conversation about DataCore high availability, see my blog post: Is Your Storage Highly Available, Or Simply Fault-Tolerant? – Part 1 for more information.