Mysql requirement for Large deployments

Hello all,

Quoting from the rancher docs
"For true HA, a replicated MySQL database with proper backups is recommended. Using Galera and forcing writes to a single node, due to transaction locks, would be an alternative."

  1. Does this mean that mysql should be configured for master slave mode ?
  2. If we plan to use galera then do we need to configure write to single node rather than master master configuration ?
  3. Can we use mariadb instead of mysql ?

Thanks

@ageekymonk,

  1. In a production setting we recommend that you replicate the data to at least one other slave for backups, failover etc.
  2. In our experience, when running Rancher with Galera DB connecting through a load balancer we had a lot of failing transactions. I found an obscure footnote somewhere that a way around it is to force writes to a single node. When running it on Rancher we use Giddyup leader proxy to do leader election and forward all traffic from the load balancer to a single instance. Ideally we would do that with our own LB instead of a separate proxy. We welcome any advice on better ways to do this.
  3. We haven’t tested extensively, but we have users that have been able to use MariaDB. We did find recently if you run into an issue with Key Index sizes that you have to use Innodb file format Antelope, or if you want Barracuda you need to use the 5.7 equivalent with large index keys enabled.

Thanks for the insights.

Couple of requests

  1. Do you have docker image or configuration to be used with galera db for the purpose to try out?
  2. Also can you provide giddyup leader proxy container / configuration which we can try out ?

Thanks

  1. You can take a look at the Galera catalog entry for what we have done.

  2. if you check out the Galera proxy image you can get an idea how to build the container. There are newer versions of giddyup which is currently at https://github.com/cloudnautique/giddyup, but will be moving to top level Rancher org in the next week or so.