不管公司有多少台DC,和在什么地方,它们之间必须可以互相复制信息。如果他们不能相互复制信息,那么DC的目录(分区)就不一致,例如在一台DC上创建用户,而这个信息不能被复制到其他DC那么用户就只能通过创建账户所在的DC进行身份验证。
ADDS 复制模型
ADDS 使用多主机复制模型除RODC外任何DC都可以修改ADDS数据存储,也就是在一台DC上做出更改后会复制到域中所有其它的DC上。
ADDS 复制一般是指活动目录数据库的复制
复制特点:
- 松散一致,可以认为并不是所有DC上的分区副本问题相同的信息。在一台DC上创建用户直到下次复制周期才能获得该信息。但最终会达到一致的状态。
- 存储-转发,当不同站点多DC经过慢速WAN连接时,站点中的一台DC目录变化到转发到另一站点中的一台DC,相同站点中的DC再相互转发。
- 也就是复制伙伴在同一站点内是直接复制,站点间是间接复制。
- 基于状态的,每台DC都会跟踪复制更新的状态,也就是DC对更新的信息进行判断(基于当前数据存储状态)是否需要更新这个信息。
- 活动目录一般使用pull(请求)更新而不是主动发送(push)
a domain controller requests updates at a scheduled time and if updates are available, the domain controller pulls the updates from a domain controller in the other site.
成功创建复制拓扑必须设置以下组件 :
- 可路由的IP基础架构,需要配置ADDS站点,并将站点映射到IP子网地址范围。客户机在定位DC时使用IP子网到站点的映射。
- DNS ADDS 复制需要DNS提供SRV 资源记录
- Netlogon 服务。DNS 注册需要Netlogon.而且要让ADDS正常工作必须运行Netlogon 服务
- 远程过程调用(RPC)连接,ADDS域控制器能够用RPC连接到相同域中的其他DC ,如果 DC都在相同的域中、那么一个站点内的DC和不同站点中的DC必须使用RPC 。不同域和不同站点中的DC可以使用SMTP
- 活动目录复制拓扑一般为环形,通过KCC 自动创建,复制拓扑有个严格的限制从源到目标DC之间的间隔不能超过3个DC,也就是从源到目标DC复制数量总数最多是4个
知识一致性检查器KCC(knowledge consistency checker)
- KCC 在每台DC上以进程方式运行,它用存储在每台DC上配置目录分区中的林信息来创建复制拓扑。因为所有DC上使用相同的配置信息和算法创建拓扑,所以创建拓扑不需要在不同DC上的KCC组件之间进行通信。KCC 与其他KCC通信只是为了让RPC请求复制错误信息。默认每台DC上KCC 每15min 重新计算复制拓扑,也可以强制执行“检查复制拓扑” Repadmin /kcc DomainControllerName
- 每台DC上的KCC 每15min 重新计算复制拓扑1次
ISTG 站点间拓扑生成器
查询每个站点拓扑生成器所有的DC repadmin /istg
链接对象
- 当KCC创建复制拓扑时,它会创建一系列存储在AD DS的配置目录分区中的连接对象。连接对象是用于复制目录信息的域控制器之间的直接逻辑连接、用于复制目录信息。
- KCC尝试创建既高效又容错的复制拓扑。KCC构建尽可能多的连接对象来实现这些目标。连接对象始终创建为两个域控制器之间的单向拉连接。这是因为正常的复制过程始终是拉入操作,目标域控制器从发送域控制器请求信息。
- 创建一个新的站点时必须为新的站点指定站点链接对象。父子关系模型只能在父域中创建站点,在子域无法创建。
- 在大多数情况下,KCC将在域控制器之间建立两个单向连接,以便以任何一种方式复制信息、KCC 自动创建的连接对象是优化过的无需做任何的改变。
站点内复制
- 设计活动目录拓扑的主要目标是可用性和容错,避免单台DC不可用时导致ADDS 复制失败,这样就会每台DC 创建多个复制伙伴,使用冗余链接形成复制拓扑,不用担心多次接收相同的更新(因为有传播阻尼),由KCC 来自动创建复制拓扑,形成一个复制环,如下图

- 可以通 repadmin /showrepl 来查看复制连接和复制状态。复制环是基于目录分区的,也就是说KCC 为每个目录分区计算复制环,可以使用Repadmin 查看连接对象,看看每个连接对象复制哪个目录分区,Repadmin /showconn ServerName 显示 每个连接对象复制的分区。
站点间复制
站点内的复制拓扑由KCC 自动生成,如果组织有多个站点,还必须为每个站点创建复制拓扑,这样需要在站点中委派一台DC上的KCC为该站点的站点间拓扑生成Inter-Site Topology Generator(ISTG),每个站点只有一个ISTG,由ISTG负责为在整个站点计算理想的复制拓扑。当中有2个操作:1、找出站点中出现的每个目录分区的桥头服务器,站点间复制问题从一个站点的桥头服务器发送到另一个站点的桥头服务器,2、在桥头服务器之间创建连接对象,保证信息在站点之间复制。
查看站点间 分区复制情况
repadmin /showrepl
配置站点间复制
- 当安装ADDS时,便创建一个默认的站点(default-first-site-name)的站点可以重命名它。创建站点必须将它和现有的站点链接相连。每个站点和ADDS中的一个或多个IP子网关联。
- 如果安装一台新的DC 且林中的站点多于一个,就可以选择在哪个站点中安装新的DC,ADDS安装向导默认是通过匹配DC IP配置来定位站点。
- 当需要移动DC 到新的站点时,确保修改DC的IP配置来反映新站点的位置。还需要使用Ipconfig / refreshDNS 命令刷新DNS中的主机记录,并通过住重新启动NETLOGON服务来更新SRV记录。
站点连接
- 把站点连接起来的ADDS对象称为站点连接(Site Links),安装 ADDS后会创建一个默认名为DefaultIpSiteLink 的站点连接。如果创建额外站点连接之前不创建其他站点链接,那么这个默认的站点链接将包含所有的站点。如果所有站点都通过一个站点链接相连,那么所有站点之间的复制流量就有完全相同的属性。如果想在站点之间配置不同的复制设置,就需要创建额外的站点链接,并把合适的站点分配给站点链接。如果创建新的站点链接请设置站点开销和复制计划,尽量不要和DefaultIpSiteLink 相同,
- Get-AdReplicationSiteLink -Filter * 查看站点链接
- 站点A和站点B相连,则创建站点链接对象AB,站点B和站点C相连创建站点链接BC,
- 新建站点链接 new-adreplicationsitelink ‘sh-yf’ -cost 20 -ReplicationFrequencyInMinutes 30 -siteinclude sh,yf
- 站点链接配置选项
- 开销 反映网络链接的速度和使用该链接的花费,如果有冗余的站点链接会选择开销最小的站点链接为复制路径,设置的开销值越小,则物理链路速度应越快。
- 复制计划,默认为24小时内都可以进行复制
- 复制间隔,定义了桥头服务器检查其他站点中的桥头服务器是否有目录更新的时间间隔,默认情况下为180min ,
- 复制传输协议,默认情况下使用RPC over IP 或SMTP 作为复制传输协议。
站点链接桥(Site Link Bridges)
- 站点间的复制是通过桥头服务器完成的,默认情况下ISTG(站点间拓扑生成器)在计算站点间复制拓扑时,自动识别桥头服务器。 ,可查看站点哪台是桥头服务器可以使用 repadmin /bridgeheads 命令 。默认情况下没有配置BH(BiridgeHead) 。
- 一个站点内设置一个BH 即可、配置首选BH的好处是确保所选的DC被选为BH 、配置首选BH 限制了ISTG选择桥头服务器的能力,ISTG 总是被配置为首选桥头服务器的服务器
- 如果想控制哪台服务器是桥头服务器,那么必须为需要复制到站点的每个分区配置首选桥头服务器。
- 如果首选桥头服务器出现故障,也没有其他服务器被委派为该目录分区的桥头服务器,那么ISTG就不会选择其他的桥头服务器,在服务器再次可以或重新配置首选桥头服务器之前,复制都会停止。如果BH出现故障可以删除该首选BH,让ISTG 标识一台桥头服务器或选择另一台BH。
- 如果首选桥头服务器出现故障,而且选择重新配置首选桥头服务器,就需要在双方站点中做出配置更改,直到双方站点的配置都改变以后,信息才能在站点间复制。