[Pdns-users] Questions about failing over between multiple gmysql backends

Jeff Fisher guppy at techmonkeys.org
Sat Jun 3 00:04:29 UTC 2006

> I'm in the process of preimplementation testing on a pdns
> implementation, using the gmysql backend.  I'd like some redundancy on
> the backend, so I've configured pdns 2.9.20-1 with 2 gmysql backends.
> This works quiet well, but isn't producing the behavior I'm interested
> in seeing - when one of the mysql services goes down, pdns says:
> Jun  2 14:39:01 primary-ns1 pdns[8191]: gmysql Connection succesful
> Jun  2 14:39:01 primary-ns1 pdns[8191]: gmysql Connection failed: Unable
> to connect to database: Can't connect to MySQL server on 'X.X.X.X' (111)
> Jun  2 14:39:01 primary-ns1 pdns[8191]: Caught an exception
> instantiating a backend, cleaning up
> Jun  2 14:39:11 primary-ns1 pdns[8157]: Distributor misses a thread
> (1<3), spawning new one
>>From comparing these log entries to the actual traffic between the
> machines, I've ascertained that pdns is trying to connect to both mysql
> servers.  The first responds, the second does not.  Rather then merely
> timing out the one connection, pdns queries both backends all the time.
>  When one fails to respond, pdns itself doesn't return a result.
> I've poured through the manual and been unable to identify a way to
> alter this behavior.  I'd like pdns to be able to return a result from
> one backend even when the other backend is unavailable.
> How might I go about accomplishing this?

Personally, my name servers each run a local mysql daemon that has a 
replicated copy of the data they need. I find this approach to work well 
(it has been in production for nearly a year without any hiccups).


More information about the Pdns-users mailing list