出处:http://www.360doc.com/content/19/0226/14/50391_817661867.shtml
首先我们来回顾一下什么是“域”,域:是共享用户账号、计算机账号及安全策略的一组计算机;这个定义是基于逻辑因素考虑的,只要用户和计算机在同一个Active Directory域内,我们就认为他们都在域的安全边界之内。我们从域的定义中可以看到,域没有考虑网络速度等物理因素,无论计算机和域控制器之间是一个快速的物理连接还是一个慢速的物理连接,域都会一视同仁,也即完全把连接速度视若无物。
但在实际的生产环境中我们就会发现如果不考虑网速这样的物理因素,我们会遇到很多麻烦。我们通过一个例子加以说明,如下图所示,某域的域控制器分布在北京、上海两处;北京有A、B俩台域控制器,上海有C、D俩台域控制器;北京和上海的本地局域网都是千兆以太网,北京和上海之间是一条128K的专线;您现在查阅的是AD站点划分原理及操作。
我们知道AD数据会在域中每台域控制器之间互相同步的,例如我们在A域控制器上做了某个修改动作那么接下来该动作就会被同步到域内每一台域控制器上,在未划分站点前复制拓扑我们是无法人为控制的,那么此时我们在A域控制器做某个操作后复制顺序就有可能是从A到C,然后从C到B,在从B到D最后完成复制同步;此时是不是有种崩溃的感觉,因为整个复制动作在128K的慢速链路上走了3次,在想想每天客户端登陆,部分北京的用户就可能通过慢速链路登录到了上海的域控制器上做身份验证,部分上海的用户就可能通过慢速链路登录到了北京的域控制器上做身份验证,登陆以及登陆的操作速度慢到可想而知;那么这种由KCC(Active Directory知识一致性检查程序Knowledge Consistency Checker,KCC)万一决定出来的复制拓扑无论如何我们是接受不了的;
那么合理的、有效率的处理方法应该是什么样子呢;显然是当A域控制器做操作后,A应该先把更改复制到同一高速局域网内的B,然后再利用慢速的广域网链接复制到上海的某一个域控制器上,例如复制到C,最后再由C复制到D;用户每天登录到域进行身份验证的时候,北京的用户应该登录到北京的域控制器,上海的用户应该登录到上海的域控制器,这样效率才会比较高效也是最合理的复制拓扑,那么如何能达到这种人为的期望结果呢,就是下面要讲到的划分站点。
就比如上面的例子而言,我们在日常维护工作中肯定不能把速度因素透明处理,必须考虑到计算机之间的链接速度,正是基于这种考虑,微软才引入了站点对计算机进行管理。站点的概念其实很简单,站点就是高速相连的一组计算机!从这个概念来看,站点强调了速度这个物理因素,域则是强调要共享Active Directory这个逻辑因素,把站点和域结合起来对计算机从物理和逻辑两个角度进行管理的高效而合理的行为就称为单域多站点;
有了站点帮助管理,我们处理前面提到的那个例子就容易多了,从站点的定义来看,由于北京和上海之间存在一条慢速链路,因此我们应该把北京的域控制器和计算机放到一个站点内,把上海的域控制器和计算机放到另一个站点内。这样的话,北京和上海的用户在登录时会优先选择本站点内的域控制器登录,KCC(知识一致性检查器)在规划复制拓扑时也会自动地优先考虑在本站点内的域控制器之间进行AD复制。更好的是,如果AD需要垮站点复制,AD内容还可以经过压缩后再进行复制到对端站点,然后再彼此站点内在互相复制,显然站点在设计时已经充分考虑到了对带宽的充分利用,综上而言使用站点的优点有:1)优化复制;通过在站点内更为频繁(与站点之间复制信息相比)地复制信息,Active Directory 平衡对最新目录信息的需求与对优化带宽的需求。您还可以配置站点间连接的相对开销,进一步优化复制。2)身份验证;站点信息有助于使身份验证更快更有效。当客户端登录到域时,它首先在其本地站点中搜索可用于身份验证的域控制器。通过建立多个站点,可确保客户端利用与它们最近的域控制器进行身份验证,从而减少了身份验证滞后时间,并使通讯保持在 WAN 连接以外。以上俩点也是我们所讨论划分站点的必要性。
2 AD站点划分操作
2.1 环境规划
上面我们论证了站点划分的必要性,接下来我们介绍站点划分操作步骤,如下图careri.com域内有四台域控制器,分分别为careridc1、careridc2、careridc01、careridc02;其中careridc1和careridc2在北京,隶属于192.168.10网段;careridc01和careridc01在上海,隶属于192.168.11网段。由于北京和上海之间使用了一条128K的DDN慢速链路,因此我们有必要使用站点对域内的计算机进行合理规划,以便能够让域内的计算机在现有的带宽条件下能以最有效率的方式通讯;北京的站点名称为SW,上海的站点名称为SN。
2.2 创建站点
1. 默认情况下所有的域控制器都在一个站点内Default-First-Site-Name,但目前我们需要两个站点,一个用于管理北京的计算机SW,一个用于管理上海的计算机SN。因此我们需要创建俩个站点,也可以选择只创建一个新站点,把原来的默认站点Default-First-Site-Name改名即可;此处我们选择新建俩个站点。
2. 我们在任意域控制器上打开“Active Directory站点和服务”;
3. 在“sites”选项处,右击,选择新建>站点;新建SW及SN,连接器选择默认的defaultipsitelink即可,在弹出的子网提示窗口单击确定;
4. 创建后的结果如下图;
2.3 新建子网
1. 现在我们有了SW和SN两个站点,接下来要考虑如何定义站点内的IP子网。如果不同的站点管辖了不同的IP子网,那么对域内的计算机来说是非常有利的,(前面删除了一句话)在经过AD站点的划分后,域内的客户机登录到域时也会根据自己的IP地址来查询其所属站点(由子网进行控制客户端所属站点,客户端与本站点的AD可以不属于同一网段,并且如果客户端IP地址段不相连时,可以创建多个子网,将子网划分到相关站点)内的域控制器进行登录;如下图所示,右键单击Subnets,选择“新建子网”(一个站点下可以创建多个子网)。
2. 如下图所示,我们创建了一个子网192.168.10,然后把这个子网分配给了SW站点(按实际情况进行分配,客户端与本站点中的AD的IP地址可以不是同一网段)。
3. 如法炮制,我们为SN站点创建了192.168.11子网,结果如下;
2.4 定位服务器
1. 定义了站点子网后,我们接下来就要根据每个域控制器的的物理网速速度等规划来把它们加入不同的站点了。我们准备把careridc1和careridc2放在SW站点,careridc01和careridc02放在SN站点。如下图所示,在默认站点下的Servers项中找到careridc1,右键单击careridc1,选择“移动”到SW下的servers项中(此处也可以直接拖动移动);
2. 最终实现careridc1、careridc2位于SW站点;careridc01、careridc02位于SN站点,如下图;
2.5 配置站点连接器
现在我们已经配置好了站点子网,并把域控制器放到了相应的站点中,现在我们要考虑如何配置站点链接器了。站点链接器是一个逻辑控制单元,它并不负责域控制器之间的物理连接,那应该是电信部门负责的事情,即使没有站点链接器,域内的这些处于不同城市的计算机也是可以在网络层实现联通的。链接器的作用是对不同站点间的数据传递进行控制,以便最大限度地利用好站点间的窄带宽链路。
有了站点之后,显然域控制器之间的AD复制应该优先在本站点内进行,然后站点会选出一个“桥头服务器”代表所在的站点和其他站点的“桥头服务器”进行通讯,这样AD的更改就可以通过两个站点间的“桥头服务器”进行跨越站点的传递。AD复制在站点内的域控制器进行时是不压缩的,而AD复制如果跨站点进行则需要压缩。跨站点的AD复制拓扑是由ISTG(站点间拓扑生成器)来设计的。ISTG和KCC不同,KCC负责站点内的拓扑设计,ISTG负责站点间的拓扑设计。
我们接下来看看如何利用站点链接器来控制站点间的数据传输,目前SW和SN两个站点间使用的是一个默认的站点间链接。如下图所示,我们打开“Active Directory站点和服务”,我们可以看到Inter-Site-Transports下面有IP和SMTP两个子项,这是告诉我们站点间数据复制可以使用IP协议或SMTP协议。一般我们都选择使用IP,如果使用IP,站点间的数据传输将使用RPC协议,这种协议可以传输AD的全部内容而SMTP则只能传输AD的部分内容。现在SW站点和SN站点之间使用的就是基于IP的站点链接器。
我们打开默认的站点链接器,查看属性,如下图所示,我们在常规属性中可以看到这个站点链接器连接了SW和SN两个站点。然后我们可以看到站点链接器的开销是100,开销反映了站点间连接速度的快慢,开销值越小,速度越快。站点间的开销是个相对值,并不具体对应实际的连接速度,因此目前两个站点间的开销值并没有太多的讨论价值,因为没法和其他站点的开销值进行比较。如果有更多的站点,那站点开销的意义就凸显出来了。例如我们现在有北京,上海和广州三个站点,其中北京和上海之间是用2M的专线连接,北京和广州之间是用64K的专线连接,上海和广州之间则用的是10M的专线。那么北京的域控制器更改了AD数据,如何传递给广州站点内的域控制器呢?从拓扑看,显然从北京直接传到广州就不如先从北京传到上海,再经过上海传到广州合算。我们怎么才能让KCC知道这个情况呢?通过站点开销就很容易做到,例如我们可以设置北京站点到广州站点的开销值是100,而北京到上海的开销值是20,上海到广州的开销值是10。这样一来KCC在计算站点间链接时就可以通过开销值的量化指标判断出100> 10+20,因此KCC在安排北京站点和广州站点间的AD复制时会优先让AD数据先从北京站点复制到上海站点,再从上海站点复制到广州站点。值得注意的是,站点开销值是一个宏观上的相对值,并不具体对应传输速率。
站点间的默认复制频率是180分钟(生产情况站点间链路不可能慢到用K计算,所以实际值可以按实际情况而定比如半个小时复制一次),也就是默认情况下三个小时才跨站点复制一次,这个频率比站点内的AD复制低了很多,显然是为了适应广域网上的低速链路。
点击站点常规属性中的“更改计划”,我们可以设置站点间数据传输的时间段,这个设置显然有利于避开窄带利用的高峰期,在适当的时机用适当的节奏进行站点间的数据传递。
站点配置完毕后,我们检查DNS服务器,发现DNS中已经有了相关的SRV记录。如下图所示,我们发现SW和SN两个站点的SRV记录已经出现在区域中了,这样的话有利于客户机通过查找DNS来定位出和自己所属站点内的域控制器。
划分站点后在实际的维护工作中我们也可以手动操作复制动作,比如我们在某个域控制器对AD数据做修改后希望尽快能同步到所有域控制器上;
打开“AD站点和服务”找到每个站点下servers项下的服务器,在每个服务器下均有“NTDS Settings”项;在每个该选项上右键,所有任务,检查复制拓扑;
在每个“NTDS Settings”项下均有实际服务器,如下图选择服务器后,右键,立即复制;您现在查阅的是AD站点划分原理及操作;
验证
查看当前域客户端认证站点:nltest /dsgetsite
刷新认证缓存:NLTest /dsgetdc:"domain name" /Force
#注意输入正确的域