OpenVZ: Choosing right MySQL-Server depending on host

Posted by Scheintod on Server Fault See other posts from Server Fault or by Scheintod
Published on 2013-10-23T09:25:11Z Indexed on 2013/10/23 9:59 UTC
Read the original article Hit count: 238

Filed under:
|
|

What I have:

Two servers running Wheezy/OpenVZ with

  • One MySQL container on each host master/master replicated (mysql1/mysql2)
  • Replicated DNS on each host (dns1/dns2)
  • different web-containers on each host but regulary backuped to the other.

What I want:

Each container should use the "local" MySQL-Server (the one which runs on the same hardware-node). I'd like to be able to move the web-containers between the to hosts. Each container should choose the MySQL-Server (semi) automatically. This scheme should continue working if one host is down.

What I tried:

Currently I'm keeping track on which container should run on which host by DNS entries which are queries by scripts e.g. for questions like: "Which container should be backuped on/to which host."

For choosing the right MySQL server I have one extra entry like "mysql.container_abc" which resolves to either mysql1/mysql2. So in the applications in the container I can use "mysql.container_abc" for e.g. mysql_connect and if I want to move the container around I just need to change the dns.

Now I notices one problem with this approach: Every mysql_connect generates one DNS query because the dns is not cached and this slows the request down unnecessarily.

What I would like better:

Some way of passing the information on which host we are running to the container and using it directly instead of using DNS. E.g. some way of setting a custom /etc/hosts entry in the container. Or any other great idea. Doesn't have to include DNS but shouldn't require to much special "magic" inside the container.

© Server Fault or respective owner

Related posts about dns

Related posts about mysql