Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have been playing with the MSAD_ReplNeighbor wmi class for monitoring AD replication.

I have a hub and spoke, single domain topology where three DCs are in the spoke site.

One holds all the master roles and the other 2 DCs hold no master roles.

I ran a query with the MSAD_ReplNeighbor class on each of the three hub DCs and I am curious about what I'm seeing with the SyncOnStartup property:

On DC1 (which holds all master roles) the SyncOnStartup bit is set for the Domain and Configuration partitions, for all inter-site neighbors. SyncOnStartup is turned off for DomainDnsZones and ForestDnsZones for all inter-site neighbors

On DC2 (holds no master roles) the SyncOnStartup bit is set for the ForestDnsZones partition, for all inter-site neighbors, and is turned off for all other partitions

On DC3 (holds no master roles) the SyncOnStartup bit is set for the DomainDnsZones partition, for all inter-site neighbors, and is turned off for all other partitions

Of course the SyncOnStartup bit is set for all NCs for each DC's intra-site neighbors

So my question is how did AD decide to load balance like this (which is what I assume what its doing).

What would it do if I introduced a fourth DC into the hub site?

I'd just like to understand this better.

Also, this question is not about the wmi class as much as how AD decides how to enable replication of a partition on startup.

I am curious about where I see SyncOnStartup enabled for inter-site neighbors.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

I suspect that the documentation you're looking for is not publicly available.

Arguably the "deepest" technical reference for Active Directory replication, aside from the product's source code, is [MS-DRSR]: Directory Replication Service (DRS) Remote Protocol.

The attribute you're examining with WMI is the DRS_INIT_SYNC bit flag on the RepsFrom type. The protocol documentation doesn't actually define when the product will set this bit flag, however.

If I had to guess, I'd say this flag is set on the bridgehead replication connection out of a site for a given naming-context (NC). I'm not finding documentation that confirms this, but it seems reasonable. I don't have the time today, unfortunately, to really do much reverse engineering of an existing AD topology or building a mock-up.

Edit:

The repadmin /bridgeheads /verbose command should show you the details of each bridgehead for each NC.

The Bridgehead Server Selection section of this document describes how the Intersite Topology Generator (ISGT) chooses a bridgehead for each NC. (Windows Server 2008 R2 introduced a load balancing mechanism but that's not what we're seeing here.)

share|improve this answer
    
Upvote for linking to that doc. I've never read it, but I'm about to! –  Ryan Ries May 22 '13 at 16:17
    
Thank you for the reply and the info. "I'd say this flag is set on the bridgehead replication connection out of a site for a given partition"- so would this mean DC2 and DC3 are bridgeheads for the DNS application partition? Is it normal for AD to designate a different bridgehead for the ForestDnsZones and DomainDnsZones zones? –  red888 May 22 '13 at 21:02
    
is there a way to identify what the bridgeheads are in a site for each naming context? I know there's the "repadmin /bridgeheads" command, but that doesn't show bridgeheads per partition. Maybe I'm not understanding something here? –  red888 May 22 '13 at 21:11
    
I'll drop on an edit. –  Evan Anderson May 23 '13 at 13:23
    
Thank you very much, I'm really learning a lot here. I have a question about what you say here: "(Windows Server 2008 R2 introduced a load balancing mechanism but that's not what we're seeing here.)" what do you mean ".. thats not what we're seeing here", my 3 hub DCs are all 2008 R2, it looks like they are using the new load balancing scheme right? –  red888 May 23 '13 at 18:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.