[Pdns-users] How should my backend tell pdns_server, that it has changed the zone

jb-wisemo jb-powerdns at wisemo.com
Thu Sep 26 23:00:58 UTC 2019


On using a metric to track the slowness or turning off caching, those
were not the kind of solutions I was looking for.

I was looking for a way to flush the cache for a single zone, causing
the responses (and thus the global propagation of changes) to not
wait for internal cache delays.

Typical sequence would be:

1. Update database.
2. "Rectify" zone to do any internal work that pdns_server does to
   update derived stuff such as NSEC3 records and their signatures.
3. Flush zone from pnds_server cache, ensuring all replies from master
   are now the latest version.
4. Notify slaves.
5. Slaves do AXFR (or IXFR in future) to get changes and serve them
   instantly.
6. Wait the appropriate TTL time for downstream resolvers and ISP
   caches to see the change.
7. SIgnal higher application that it can now reference the changed
   DNS entries.

If done right, step 6 should be the only slow step.

On 26/09/2019 08:13, Thomas Mieslinger wrote:
> Depending on the setting of records ttl, max-cache size, packet-cache
> size pdns will do a select of the name in the underlying database.
>
> Setting caching and ttl to reasonable low values will force pdns to do
> selects in the database.
>
> To me it is a lot easier to monitor the mysql "seconds behind master"
> metric to be sure that all pdns have the latest data instead of having
> to monitor the zone serial of many zones on many servers.
>
> Is there a technical or organizational reason to run different DNS
> Server Softwares in your setup? Usually you need more FTE if you are
> running bind, knot, nsd, powerdns in parallel instead of using only one
> software.
>
> On 9/25/19 10:28 PM, jb-wisemo via Pdns-users wrote:
>> Most of the slaves are not running powerdns.  So can't use database
>> replication to the slaves.
>>
>> And even if they did run powerdns, they would still need a way to
>> tell pdns_server that the database hasbeen updated by replication.
>>
>> On 24/09/2019 19:28, Satya Sharma wrote:
>>> Use SQL replication on all the Slave servers. Making SQL replication
>>> will add speed.
>>>
>>> On Tue, 24 Sep 2019 00:31:30 +0200 <jb-powerdns at wisemo.com
>>> <mailto:jb-powerdns at wisemo.com>> wrote:
>>>
>>>     Date: Tue, 24 Sep 2019 00:31:30 +0200
>>>     From: jb-wisemo <jb-powerdns at wisemo.com
>>>     <mailto:jb-powerdns at wisemo.com>>
>>>     To: pdns-users at mailman.powerdns.com
>>>     <mailto:pdns-users at mailman.powerdns.com>
>>>     Subject: [Pdns-users] How should my backend tell pdns that
>>> pdns_server
>>>             that it has changed the zone
>>>     Message-ID: <cabf1a44-17f8-95e6-ef86-881c0520f2a2 at wisemo.com
>>> <mailto:cabf1a44-17f8-95e6-ef86-881c0520f2a2 at wisemo.com>>
>>>     Content-Type: text/plain; charset=utf-8; format=flowed
>>>
>>>     Hi,
>>>
>>>     I am creating a custom master-mode backend for a special use. But
>>>     some
>>>     questions are left open or vague by the documentation, here is the
>>>     first
>>>     one:
>>>
>>>     How shall I tell pdns_server that I have changed my zone and
>>>     increased
>>>     the zone serial in the database?
>>>
>>>     Idea is to trigger notify and replication to ordinary slaves as
>>>     quickly
>>>     as possible, being able to tell code elsewhere that the changes
>>>     should
>>>     now be available in the global DNS (doing my own TTL calculations).
>>>
>>>     Zone may be unsigned or NSEC3-wide, as NSEC3-narrow doesn't seem to
>>>     support replication to slaves that don't have the ZSK private key.
>>>
>>>
>>

Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded



More information about the Pdns-users mailing list