Chapter 12. Failover Configuration
A few chapters earlier in this book, we mentioned that we would cover how to actually direct traffic in a failover situation in a later chapter. Congratulations, this is that chapter! Your patience has paid off. Sadly, the wait may not be entirely worth it. Being able to consistently direct traffic between two servers, depending on which one is marked “active,” is tremendously important for high availability in general and many services that back Drupal sites specifically. Having an HA MySQL cluster, NFS cluster, Solr cluster, and load balancing cluster all depend on this. However, it’s not the most exciting thing in the world. The general concept is very simple: you run a daemon on two servers, and those two daemons ping each other fairly constantly. When serverA’s daemon doesn’t get a response from serverB’s daemon within a certain failure criterion, serverB is marked down and traffic is directed to serverA. The interesting issues with failover configurations are:
- What are the failure conditions?
- Can we insert other conditions besides just a full host down? Service-level failure conditions, perhaps?
- How do you direct traffic consistently?
- How do you deal with split-brain?
- Wait, what is split-brain?
- It is not a problem with my brain specifically, is it?
- This seems scary; can’t we just take a downtime?
We will cover some of these issues here, starting with traffic direction.
Note
In most cases, we are assuming that whatever service you are ...