[Pdns-users] Multi server deployment

Frank Louwers frank at openminds.be
Wed Nov 10 15:14:07 UTC 2010

He Atha,

We did the name thing Nick did, and I have two recommendation to his (excellent) writeup:

* we do have one pdns that talks directly to the mysql master. The reason is that we offer backup dns services for some customers that have their own primary dns server. We use the supermaster feature and one of our ns'es is configurered as a axfr-transfer slave

* the second one is in regard to this:

> One more thing, which I believe you will find very helpful. The nature of MySQL replication is that it can go down temporarily to account for minor network fluctuations and recover gracefully. However, problems can arise if it's down for long periods of time; say, over 48 hours. What we did is set up a very small, PHP-based Cron job that runs on every worker server every ten minutes, connects to the local MySQL slave backend, and executes the query "SHOW SLAVE STATUS;". It then looks at the columns "Slave_IO_Running" and "Slave_SQL_Running" in the result set. If they aren't BOTH "Yes", it sends us an alert email, and we know there's an issue that needs to be addressed. I highly recommend you do something similar.

 - there are excellent nagios mysql replication monitoring plugins, BUT an easy one is this, and it tests the entire "chain"

-- every 2 minutes, update the TXT field of a specific record of a test domain in the master DB. set it to the timestamp at that point
-- every 5 minutes, check (with dig +short -t TXT specialrecord.specialdomain) the value at all of our pdns auth servers
-- the timestamp you get back from the dig, can't be different more than a small number of minutes from the current time

If it does, something in the system is broken: either the pdns uses stale caches, your mysql replication is broken (or slow, which you don't want for your pdns's), or your import into your master db is broken.

If it works, your entire stack is fine.


> Feel free to ask me any questions you may have.
> Nick
> On Nov 10, 2010, at 8:29 AM, Atha Kouroussis wrote:
>> Hi all,
>> we are looking to migrate from bind to PowerDNS with MySQL backend. Our initial tests have gone really well and we are now looking into finalizing the architecture for the final deployment and migration. In that respect we have a couple of doubts.
>> Since we are going to be using the MySQL backend, and we are going to have multiple PowerDNS servers deployed, is it possible to have several instances of pdns share the same backend? How does that affect slave updates in case a master has more than one slave configured and both slaves use the same backend?
>> If its not possible to use the same backend, we are thinking of using MySQL replication, master-slave, and have only one pdns instance listed as slave. What we don't like about this setup is the lack of redundancy since in order to have more than one slave listed we would have to use master-master replication, which we are trying to avoid.
>> What are your thoughts on this? Are there any best practices/recommendations for large deployments? Thanks in advance for all your help.
>> Cheers,
>> Atha
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users at mailman.powerdns.com
>> http://mailman.powerdns.com/mailman/listinfo/pdns-users
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users


Frank Louwers
Operations -- Openminds bvba	    http://openminds.be
frank at openminds.be			            +32.9 225 82 91

Schrijf je nu in op onze nieuwsbrief:   http://openminds.be/nieuwsbrief

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20101110/e2827a06/attachment-0001.html>

More information about the Pdns-users mailing list