Zone reload time after NOTIFY

Mark Andrews Mark_Andrews at isc.org
Wed May 24 00:32:44 UTC 2006


>  
> 
> > -----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. 

	No.  The zone took < 1 second to update.  It took 18 minutes
	to write it to disk.  Delayed writes are a feature not a
	bug.  The updated contents of the zone were on disk (in the
	journal).  This is done to minimise the impact of disk I/O
	which is very important with large zones or when there are
	many dynamic zones.

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)

	Mark
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org



More information about the bind-users mailing list