Zone reload time after NOTIFY
Kevin Darcy
kcd at daimlerchrysler.com
Wed May 24 00:56:34 UTC 2006
Scott, Casey wrote:
>
>
>
>
>>-----Original Message-----
>>From: Mark_Andrews at isc.org [mailto:Mark_Andrews at isc.org]
>>Sent: Tuesday, May 23, 2006 4:30 PM
>>To: Scott, Casey
>>Cc: Barry Margolin; comp-protocols-dns-bind at isc.org
>>Subject: Re: Zone reload time after NOTIFY
>>
>>
>>
>>
>>>>>I have a BIND machine configured as a secondary server
>>>>>
>>>>>
>>with 1 zone.
>>
>>
>>>>>The zone can receive many DDNS update from Windows clients.
>>>>>
>>>>>
>>>>The DDNS
>>>>
>>>>
>>>>>updates occur on the primary server, which is Windows 2003. My
>>>>>question is that although the primary DNS server sends
>>>>>
>>>>>
>>>>NOTIFY's to the
>>>>
>>>>
>>>>>BIND server, the BIND server takes quite a while before it
>>>>>
>>>>>
>>>>implements any of the changes.
>>>>
>>>>
>>>>>I can not find any BIND config option that will effect the
>>>>>responsiveness of BIND to NOTIFY's. I don't want to
>>>>>
>>>>>
>>force BIND to
>>
>>
>>>>>reload the zone for every NOTIFY, but I would like to have some
>>>>>control over the amount of time taken to implement the
>>>>>
>>>>>
>>>>changes in the zone.
>>>>
>>>>What is "quite a while"? BIND waits a random amount of time, to
>>>>avoid a thundering herd problem if all the slaves tried
>>>>
>>>>
>>to transfer
>>
>>
>>>>immediately.
>>>>But this shouldn't be much more than a minute, I think.
>>>>
>>>>--
>>>>Barry Margolin, barmar at alum.mit.edu
>>>>Arlington, MA
>>>>*** PLEASE post questions in newsgroups, not directly to me ***
>>>>*** PLEASE don't copy me on replies, I'll read them in
>>>>
>>>>
>>the group ***
>>
>>
>>>>
>>>>
>>>>
>>>Its been between 15-30 minutes each time. BIND is installed
>>>
>>>
>>from RPM,
>>
>>
>>>and running on a RHEL 4 machine.
>>>
>>>Thanks,
>>>Casey
>>>
>>>
>> Are you measuring the time it takes named to write the
>> master file or the time it takes named to transfer the
>> updated zone contents and to serve the contents. These
>> are usually very different times.
>>
>> Are the notify messages being sent from a address in the
>> masters clause. Named will, by default, only act on notify
>> messages that match a master. Notifies from non masters
>> will be acknowledge but otherwise ignored.
>>
>> Lastly there are many different versions of BIND. It is
>> useful to report which version you are running, "named -v"
>> will report it.
>>
>> Mark
>>--
>>Mark Andrews, ISC
>>1 Seymour St., Dundas Valley, NSW 2117, Australia
>>PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews at isc.org
>>
>>
>>
>
>BIND 9.2.4 running on RHEL-4 U2
>
>The zone is configured with Ips of all the primary nameservers as
>masters.
>
>This is a relevant portion of /var/log/messages:
>
>May 23 16:37:28 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>transferred serial 9909782
>May 23 16:37:28 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>sending notifies (serial 9909782)
>May 23 16:38:03 RHEL-4-Test ntpd[1990]: kernel time sync enabled 0001
>May 23 16:38:04 RHEL-4-Test named[2572]: received notify for zone
>'examplezone.com'
>May 23 16:38:04 RHEL-4-Test named[2572]: journal file
>/etc/slave/examplezone.com.slave.jnl does not exist, creating it
>May 23 16:38:04 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>transferred serial 9909783
>May 23 16:38:04 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>sending notifies (serial 9909783)
>May 23 16:38:58 RHEL-4-Test named[2572]: received notify for zone
>'examplezone.com'
>May 23 16:38:58 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>transferred serial 9909784
>May 23 16:38:58 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>sending notifies (serial 9909784)
>May 23 16:40:01 RHEL-4-Test crond(pam_unix)[2674]: session opened for
>user root by (uid=0)
>May 23 16:40:01 RHEL-4-Test crond(pam_unix)[2674]: session closed for
>user root
>May 23 16:50:01 RHEL-4-Test crond(pam_unix)[2874]: session opened for
>user root by (uid=0)
>May 23 16:50:01 RHEL-4-Test crond(pam_unix)[2874]: session closed for
>user root
>May 23 16:52:13 RHEL-4-Test named[2572]: received notify for zone
>'examplezone.com'
>May 23 16:52:13 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>transferred serial 9909785
>May 23 16:52:13 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>sending notifies (serial 9909785)
>May 23 16:53:28 RHEL-4-Test named[2572]: received notify for zone
>'examplezone.com'
>May 23 16:53:29 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>transferred serial 9909786
>May 23 16:53:29 RHEL-4-Test named[2572]: zone examplezone.com/IN:
>sending notifies (serial 9909786)
>
>At 16:54, the zone was still at version 9909782 and 16:56 the zone
>updated to 9909786. So,
>in this case, it took about 18 minutes to update.
>
The log indicates that it transferred serial #9909782 at 16:37:28,
serial #9909783 at 16:38:04, serial #9909784 at 16:38:58, serial
#9909785 at 16:52:13 and finally serial #9909786 at 16:53:29. Not sure
where you're getting 18 minutes from. This all looks fairly typical,
although perhaps a correlation between the master and slave logs would
be informative. If you have a large number of frequently-changing zones
and/or a large number of slaves, then there might be some
NOTIFY-throttling occurring on the master.
- Kevin
More information about the bind-users
mailing list