AD数据库分四个目录分区,如下图所示:
![活动目录系列之十三:AD的复制_2003 AD AD的复制](https://s2.51cto.com/attachment/200909/200909271254038253261.jpg?x-oss-process=image/resize,m_fixed,w_1184)
其中在森林级别复制的是前两个分区,即架构分区和配置分区。而在域级别复制的是域分区。应用程序分区是一个可选复制,可以自己配置,在这里不讨论。
(一)站点内部的复制
如果单域环境,同时存在多台DC,此时每台DC都会同步森林及域级别的三个分区。如果多域环境,同时存在多台DC,此时便会存在多路复制拓朴。如下图所示:
![活动目录系列之十三:AD的复制_2003 AD AD的复制_02](https://s2.51cto.com/attachment/200909/200909271254038262725.jpg?x-oss-process=image/resize,m_fixed,w_1184)
上图有三种复制拓朴,第一路是森林级别的复制,在所有的DC之间复制;第二路是域A的域分区的复制拓朴,在所有域A的DC之间复制;第三路是域B的域分区的复制拓朴,在所有域B的DC之间复制。如果在上图的DC之中还存在GC,则上面的复制拓朴还会改变,因为GC是一个特殊的角色,它将拥有所有域的域分区对象及对象属性的子集。
其实大家也都看到了,我们的复制拓朴是一个双向环(保证容错),而这个环是由每台DC上的KCC进程自动生成的。
如果在上图中再加入新的DC,KCC会再次计算,生成新的环。当然我们自己也可以自定义,各位可以参考下面第二个图可完成。如下图所示:
![活动目录系列之十三:AD的复制_2003 AD AD的复制_03](https://s2.51cto.com/attachment/200909/200909271254038281365.jpg?x-oss-process=image/resize,m_fixed,w_1184)
如:通过KCC,在A1和A2之间创建一个连接对象,A2就叫做A1的直接复制伙伴。如下图所示:
![活动目录系列之十三:AD的复制_2003 AD AD的复制_04](https://s2.51cto.com/attachment/200909/200909271254038298271.jpg?x-oss-process=image/resize,m_fixed,w_1184)
a.更改通知的方式:如果A1上创建了一个帐号test,则它会15秒后通知A2,然后3秒后通知A3、再3秒后通知A4。如果A2收到通知后就会从A1把数据要过来写到自己的数据库中。这是拉复制。
b.紧急复制:如密码修改、帐户锁定策略等。修改后就马上联系复制伙伴。没有时间延迟。
c.每隔1小时复制:检查是否有数据复制遗漏。
其实在上述环中复制允许的路数不能超过3,即A1把数据复制给A2,A2再复制给A3,A3再复制给A4,就再不能间接复制给A5了,也就是说中间只能跳3跳。这个目的其实是不让复制的时间过长。大家可以仔细观察上面复制拓朴就满足这个条件。
(二)站点间的复制
如果你的企业位于两地或多地,试想根据上面的复制情况,不言而喻,DC之间的复制流量很大,这个流量要跨越WAN,我们不希望这样。怎么办呢,我们要控制复制。因此我们只能建站点,当然建站点的好处我们也可以控制用户的登录流量。详见<活动目录系列之四:单域环境的实现(多站点)--基本配置>。这样我们便可以按计划进行AD的复制,同时这里复制还是压缩的,基本上是原来流量的15%左右吧。
下面我们来比较一下站点内和站点间复制的特点:
![活动目录系列之十三:AD的复制_2003 AD AD的复制_05](https://s2.51cto.com/attachment/200909/200909271254038313104.jpg?x-oss-process=image/resize,m_fixed,w_1184)
属性冲突:是指同一个对象的相同属性在两台DC上改的不同。
AD会根据对象的属性戳(stamp)来解决冲突的问题,它包括三个数据:
版本号码:初始为1,为最先比较者。
修改时间:若版本号相同,此修改时间较后的优先。
DC的GUID:若上修改时间相同,会比较GUID。高的优先。
Repadmin /showmeta DN 可以查看用户或OU的版本号