Mysql – Design for active/passive Master-Master thesql Setup

database-designMySQLperconareplication

I have a dozen virtual machines running application + mysql instances (version 5.1 up to 5.5). Due to the bad I/O of the virtualization I want to buy a physical server for mysql and move all mysqldata to the new server. I would like to install Percona Server or Cluster (5.6).

The new hardware: Xenon E5-2620 (6 Cores), 32GB RAM, 400GB SAS serial 12Gb/s

For higher availability I am thinking about a active/passive Master-Master Setup and install mysql also in one virtual machine. A load balancer would forward all requests (read and write) to the new physical host. If the server would go down, all requests would be send to the virtual machine.

All hosts are connected to one switch so network latency should be no problem.

  • Use Percona Cluster

    1. pro: working multi-master setup; synchronous replication;
    2. con: the fast new server would be waiting for the slow (vm) node at each insert/update?
    3. con: i need a 3rd node which would be an arbitrator on my load balancer?
  • Use mysql regular replication with bin_log

    1. pro: active master has the best performance?
    2. pro: no arbitrator needed
    3. active/passive master-master should not be problematic for replication?
    4. con: slave could be out of sync? would the master resync automatically?

Any other ideas I am missing? Does anyone have experiences with these setups regarding availability/stability/performance?

Best Answer

I will start with only 2 server with an active/passive master-master setup and a loadbalancer in front. I don't see any benifits for the cluster and I don't want a 3rd node or the active master waiting for any other nodes.