SQL Server 2017 On Linus Availability Group Split Brain Problem
Avoid Split Brain On Availability Groups With SQL Server On Linux with this support article posted by Microsoft.
Running SQL Server on Linux can have some advantages, including cost savings on the OS if running in Azure. Make some calculations. The cost savings are substantials as the number of cores go up. Furthermore you are licensing at least two servers for every cluster pair.
However, why bother saving money if the technology is not rock solid? One of the biggest issues I see with running SQL Server on Linux is the lack of a cohesive HA/DR story. On Windows, Microsoft owns the whole HA stack and SQL Server relies heavily on Windows Server Failover Clustering to support both Availability Groups and Failover Cluster Instances. This has been running well for many years and has a long track record of success stories.
When moving to Linux, Microsoft no longer owns the HA stack at the OS level. Depending upon your distro of Linux, you are left trying to piece together open source solutions like Pacemaker. Not to mention trying to get things to cooperate with SQL Server Availability Groups.
To avoid Split Brain On Availability Groups With SQL Server On Linux, I would much rather look to a 3rd party high availability solution like the SIOS Protection Suite for Linux (SPS-L). It gives you a tried and true HA solution for your business critical applications running on Linux.
Split Brain On Availability Groups With SQL Server On Linux With SIOS
SPS-L has been protecting business critical applications running on Linux since 1999. It is a full HA/DR solution that monitors. It recovers the entire application stack as well as the physical servers and network to ensure your business critical applications are highly available. All this while maintaining a 3rd copy for disaster recover in a remote datacenter or different geographic region of the cloud.
The other benefit of SPS-L is that it doesn’t require the Enterprise Edition of SQL Server, so there can be a significant cost savings advantage on SQL Server licenses as well. Consider SQL Server Standard Edition costs $1859 per core vs $7128 per core for SQL Server Enterprise Edition. The cost savings advantage can be significant, depending upon how many cores you need to license.
Below is a video demonstration of SPS-L protecting SQL Server running on Linux in the Azure Cloud. The demonstration shows a SQL Server Standard Edition Cluster being manually failed over between nodes in different Azure Fault Domains as well as SPS-L responding to an unexpected failure.