微软的技术知识库实在是太庞大了,以至一些新的功能我们在彻底熟悉的时候会花费太多的时间,没办法,这是由于产品的复杂性决定的。
微软的技术知识库实在是太庞大了,以至一些新的功能我们在彻底熟悉的时候会花费太多的时间,没办法,这是由于产品的复杂性决定的。面对OS或服务组件及AD我们应该经常问的是:默认为什么会出现这个?为什么要有这样的功能?这个功能如何实现?这个功能有什么限制?拿此文做例子,可能一些人认为不去了解活动目录的应用程序目录分区或DNS区域中随DC增加而带来的新记录的变化,网络环境也一样运行。呵呵!那就大可不必看了。
一、Windows Server 2003 AD应用程序目录分区
1) 什么是应用程序目录分区?
应用程序目录分区是仅复制到特定域控制器的目录分区。参与特定应用程序目录分区复制的域控制器寄存该分区的副本。只有运行 Windows Server 2003 的域控制器可以寄存应用程序目录分区的副本。应用程序目录分区可包含任何类型的对象(除了安全主体)。在Windows 2000的DC时代默认DC上会存留三个常规的目录分区:Schema目录分区,Configuration目录分区,Domain目录分区(如果是GC的话,那么还存在GC的目录)。Schema目录分区全森林复制,一般也很少对其做修改设置,除非当安装像Exchange这样的应用程序或需要添加雇员的ID和Number到AD的时候这个分区的内容才会需要更改。Configuration目录分区也是全森林复制的,对于域配置的变化,DC的增加减少,站点的变化等而随之变化。所以对于一个成熟的企业域环境,这个变化也会很少。Domain目录分区为全域复制的分区,这个分区微软当初定义的时候是用来容纳一些user、computer、OU、GPO等对象。基本上一个公司的这些对象在使用Domain目录分区存储的时候变化是客观的,用户或计算机、策略的变化必然要使维持这个目录分区的宿主DC之间同步。那为什么Windows 2003还要提供应用程序目录分区的功能呢?
2) 为什么Windows 2003 AD要支持应用程序目录分区?
AD的对象一般都是相对静态的,这样对提高DC的性能、提高KCC之间的平衡有很大的帮助。所以在“向AD中发布对象”的时候对于经常,频繁性变化的对象不适合使用AD这样的分布数据库来进行存储。在Windows 2000 DC时代,DNS的区域是可以集成到AD的,这是因为AD的数据库为了优化客户程序定位DC必须需要DNS来实现底层的定位,而将DNS的区域文件保存在AD的数据库里可以实现客户程序以任意形式来定位任意DC,那么DNS的区域保存在哪里?答案是保存在Domain目录分区里(图5指出了DNS区域文件如果存储在Domain目录分区时它的位置),它将在域的范围内复制,这就让一些不提供DNS服务但身份是DC的计算机干了“狗拿耗子”的事情(也有备份的考虑在内)。DNS的区域记录对于一些网络也是经常变化的,比如客户计算机名字频繁变化的环境,所有的同域DC都在跟着复制变化的DNS区域记录,不管你到底提不提供DNS服务(类比一下电影《大腕》里王小柱说的话:直播要覆盖到全球每个角落,允许你不看,但不允许说你收不到)。所以活动目录应用程序分区才在Windows 2003中出现了。