I’m looking into making a highly available, scalable MySQL database and, although I have looked at MySQL Cluster, I am not convinced it should be automatically considered as a solution. You’ll have to forgive me if I say something stupid - I’m new to HA…
I was thinking of using DRBD with heartbeat to provide a “hot standby” server. Heartbeat provides us with a nice failover procedure. I’m assuming (with no actual proof) that DRBD can’t scale out as readily as MySQL Replication. I could, of course, be entirely wrong with that assumption.
If we go with DRBD to provide one active server with one hot standby, I can see 2 ways to implement load balancing for performance:
- We have slaves replicate from the active server, and then load balance across the read-only slaves…
- Or, to reduce demands on the active server, have slaves replicate from the hot standby. Obviously, if the hot standby goes down, then it’s a simple task to get the slaves to start replicating from the master.
Is there another configuration I have missed?
If DRBD can scale out well, then obviously we can just chain together a bunch of servers and load balance across them, but that doesn’t feel right.
I’m ignoring (for now) the associated problems with replication (slaves are potentially out of sync etc) and I’m assuming that directing read-only queries to the slaves is taken care of…
Any suggestions you have would be appreciated.
Thanks for your time,
Another option is to forget DRBD all together and just use replication to create our active/hot standby server but I like the simplicity/reliability that DRBD appears to present.