Percona XtraDB Cluster - Prototyping With Openstack
I’m still a little unsure on the circular topology I ended up using; but it appears absolutely fine so long as the following conditions are met.
- At least one node is always available.
- Nodes are recovered only if their peer is available to sync from. a. Requiring a startup order.
This is not such a bad thing, as if all nodes were to suddenly go down; I can’t think of a situation where you would want it all to recover “automagically” you would want to inspect to ensure data integrity and recover from a “known good” version of your data.
Openstack as an experimentation platform
Openstack i I’ve found perfect for rapid prototyping of hostinsg platform architectures, in none geek building virtual models of servers and services; ensuring sure they all go together properly before committing to the build plan.
The best part being the VM’s are “Throw away”, something goes inexplicably wrong with a vm prototype? assuming you used snapshots at each step it’s easy enough to roll back.
For reference I used Fedora 17 and the wiki reference setup of openstack for prototyping.
Note in this case you may be better off using OpenVZ; whilst openstack does not at the time of writing support this directly, the openstack DBaaS (Database as a Service) project Red Dwarf leverages OpenVZ to provide DBaaS, (Something I’d like to get auto handeling clusters via XtraDB clustering, given the time …).
XtraDB cluster p.o.c. platform
My platform consists of 4 nodes; although I am sured an odd number of nodes is preferable to reduce the risk of split-brain behaviour occuring.