W2K multi-master features

Barry Finkel b19141 at achilles.ctd.anl.gov
Fri Aug 16 14:53:55 UTC 2002


I wrote:

>> My conclusion is that in a multi-master
>> setup, the handling of zone serial numbers is very complex.

Simon Waters <Simon at wretched.demon.co.uk> replied to me:

>Since, to a first approximation at least, this is a
>monotonically increasing number, it should be easy to replicate
>in a multimaster database. Just take the biggest of your current
>value and the update.

Take this scenario.  There is one zone, xyz, on a multi-master
MS W2k DNS with Domain Controllers DC1 and DC2.  Assume that the copies
of the zone on DC1 and DC2 are identical and have serial number 1000.
Now let two different machines send at the same time DDNS updates for
the xyz zone.  After the updates, each DC has a copy of the zone, and
each has serial number 1001.  But the contents of the zone are
different.  (Here I am assuming that the AD synchronization has not yet
taken place; I have no idea how it works and what is the timeframe for
making the synchronizations.)

When the synchronizations take place, what should be the serial number
of the zone?  I claim it can not really be 1001, as 1001 has already
been used for two different copies of the zone.  Should it be 1002?
What if another DDNS update comes in to DC2 during the synchronization
process.  If that synch produces serial 1002, and DC2 still has the old
serial 1001 (the synch of the new serial number has not yet completed
on DC2), then this new DDNS to DC2 will produce serial number 1002.

The issue is that the DDNS update, the incrementing of the serial
number, and the AD synchronization are not one atomic operation (such
as a "compare and swap" instruction on some CPUs for handling testing
and setting of control block flags in one non-interruptable atomic
operation).  While these three events are occurring, another DDNS
update can arrive independently.

It is to avoid this situation that I run the MS W2k DNS on only ONE
Domain Controller.
----------------------------------------------------------------------
Barry S. Finkel
Electronics and Computing Technologies Division
Argonne National Laboratory          Phone:    +1 (630) 252-7277
9700 South Cass Avenue               Facsimile:+1 (630) 252-4601
Building 222, Room D209              Internet: BSFinkel at anl.gov
Argonne, IL   60439-4828             IBMMAIL:  I1004994



More information about the bind-users mailing list