首页 新闻 体育 娱乐 游戏 邮箱 搜索 短信 聊天 天气 答疑 导航
新浪首页 > 科技时代 > > 微软发布Win Server2003专题 > 正文

Active Directory 以成长满足需求

http://www.sina.com.cn 2003年05月20日 16:20 Windows & .NET Magazine国际中文版

  作者/魏强

  本文节选自《Windows & .NET Magazine国际中文版》

  [导读]文章难度:中级★★★

  诞生于Windows 2000 Server的Active Directory,作为微软的目录服务和Windows 2000网络的核心,在Windows Server 2003上有了许多增强与改进:可以使用备份数据安装附加域控制器,更多的Active Directory功能级别,更加顺畅的目录数据复制,更加方便的管理……Active Directory,已经成长得更加强壮。

  使用备份数据安装附加域控制器

  在Windows 2000 Server中安装Active Directory域控制器时,需要在整个目录中获取必要的信息,并通过网络从其他的域控制器上复制完整的Active Directory数据库,这将需要大量时间和带宽。在64k的广域网链路上,复制10000个Active Directory对象可能需要花4个小时以上的时间。对于企业网络分散,需要通过按流量收费,并且不可靠的广域网连接的场景来说,这个问题的影响不容忽视。可能的解决方案是在一个地区安装完所有的域控制器,然后运输到不同地点,但又涉及到运输和额外的费用。

  在Windows Server 2003中,安装附加的域控制器时,可以备份现有的Windows Server 2003域控制器的System State数据,然后通过光盘、磁带或者网络共享,将备份数据传递到将要安装域控制器的地区,在安装过程中可以直接从备份中获得Active Directory数据,而不需要从网络上来复制,从而大大节省了安装Active Directory的时间和对带宽的需求。

  首先从要加入的域的任何一台Windows Server 2003域控制器上备份System State。然后把备份数据传递到新的域控制器要安装的地点,恢复到文件夹中,就可以使用Dcpromo.exe /ADV命令开始Active Directory安装,选择从备份中来获得域信息。如果备份数据来自于全局目录服务器,那么新安装的域控制器也可以选择成为全局目录服务器(如图1)。

  但是安装过程中仍然需要通过网络连接,进行DNS查询,复制Configuration及Domain Partition相关的元数据,另外还要补上备份完成后Active Directory中的修改。但相比常规安装方式,通过网络进行的数据传输量还是大大减少了。

  为了进一步缩小数据量,可以把备份的System State先恢复到本地,然后只把"Registry"和"Active Directory"、"SYSVOL"转移过去就可以完成安装,因为其他的约400MB的内容(包括Boot Files、COM+ Class Registration Database等)并不需要。

  新的Active Directory功能级别

  Windows 2000 Server的域默认安装在混合模式(Mixed Mode)下,提供向后支持,允许继续存在Windows NT4的域控制器,但无法获得本地模式(Native Mode)的增强功能,比如对组嵌套的支持和使用通用组来简化管理。在微软的下一个Windows服务器版本(BlackComb)中可能还会引入更多的模式。

  在Windows Server 2003的Active Directory中提供了更高的功能级别(Functional level),或者叫做Active Directory版本(Active Directory Version),称为Windows Server 2003 Interim模式和Windows Server 2003模式。

  从较低功能级别到较高功能级别的改变叫做提升(Raise),提升依然是不可逆的。在提升后,不再允许低版本的域控制器加入。就像在本地模式的域中你无法加入Windows NT 4的域控制器一样,Windows Server 2003模式的域也中不允许加入Windows 2000 Server的域控制器。

  在Windows Server 2003中还引入了"域功能级别"和"森林功能级别"的区分。域功能级别要求域内所有域控制器运行在同一种功能级别下,森林功能级别则考虑森林里所有域的功能级别。只有把所有的域都提升到Windows Server 2003模式,整个森林才能被提升到Windows Server 2003模式。森林功能模式的提升也是需要手动来进行的。

  Windows NT4和Windows Server 2003的域控制器并存的域工作在Windows Server 2003 Interim模式下,Windows 2000 Server和Windows Server 2003域控制器并存的域可以提升为Windows 2000 Server本地模式。只有域控制器全部是Windows Server 2003的域才能提升为Windows Server 2003模式(如图2)。

  Active Directory的ntMixedDomain属性标志域是处于混合模式还是本地模式,ntMixedDomain=1表示在混合模式(包括Interim模式)下,ntMixedDomain=0表示处于本地模式。同时增加了新属性msDS-Behavior-Version,Windows 2000 Server本地模式为0,Windows Server 2003 Interim模式为1,Windows Server 2003为2。可以通过ADSI Edit工具来查看和确认这两个属性的值(如图3)。

  新的功能级别带来的增强功能包括允许建立跨森林的信任关系,全局目录缓存,域和域控制器的重命名等等。但是也意味着你必须升级现有的Windows NT 4 Server和Windows 2000 Server的域控制器。

  Active Directory复制的改进

  Windows 2000 Server的Active Directory进行多主复制(Multi-master Replication),对象的创建和属性的修改可以在任意一台域控制器上发生。相比Windows NT 4的单主复制(Single-master Replication),多主复制在提高了可用性和灵活性的同时,在较大的网络上也将丧失数据的一致性,造成复制延迟,并且可能发生复制冲突。网络规模越大,冲突和延迟就越严重。

  域控制器之间解决冲突的方法包括比较对象和属性的版本号,时间戳记(修改时间)和发生修改的域控制器,稍晚的修改覆盖稍早的修改。可以通过"Repadmin /showmeta "来查看制定对象的各个属性的修改状态。如使用"Repadmin.exe /showmeta CN=UserName,OU=OUName,DC=DomainName"来查看UserName用户的各项属性的相关状态。列表1是查看Administrator账号的属性的例子。

  Windows 2000 Server Active Directory的复制的最小单位是属性(Attribute)。某些属性可以同时包含多个值,比如用来记录组内包含哪些成员的"组成员关系"属性,组内的每个成员都作为该属性的一个值被记录和储存。类似的还包括记录用户属于哪些组的"隶属于"属性,因为用户可以同时属于多个组。这些属性都是多值属性(Multivalue Attributes)。多值属性每次复制会把所有的值进行复制。想象一下,一个有上千成员的组,哪怕只添加或者删除一个成员,就需要把整个组的成员关系进行复制,而组成员关系的变动活动又是网络管理最频繁的工作之一!

  同时,这种属性级别的复制冲突会带来管理上的问题。比如两个管理员在不同的域控制器上,同时分别往GroupA里添加UserA和UserB。产生这种行为的原因非常充分,可能UserA和UserB分别是两个地区的本地用户,由当地的管理员管理。但是这也被作为"冲突"来"解决",以至于最后将有一个修改被覆盖而丢失,GroupA里将只包括UserA或者UserB。同样,用户的"隶属于"属性也是多值属性,也有类似的问题。

  在Windows Server 2003的Active Directory里,复制的"粒度"减小了。多值属性的每个值都被单独复制,比如组的成员关系属性,将只复制单个的变化,而不是整个成员关系。那么上面的例子中,最后GroupA将同时包含UserA和UserB。这种调整不仅节约了带宽,削减了复制流量,也不再因为复制性能而建议单个组内最大直接包含的用户数量不超过5000个。

  但是该功能需要Windows Server 2003或者Windows Server 2003 Interim森林功能级别才能实现。提升森林功能级别的操作在"Active Directory域和信任关系"中进行,需要森林中没有Windows 2000 Server的域控制器(如图4)。

  多站点环境的增强

  对于大型企业来说,根据物理位置和网络连接划分站点,对Active Directory复制流量进行控制是非常重要的。在每个站点内会有一台域控制器自动成为站点间拓扑生成器(Inter-Site Topology Generator,ISTG)。ISTG采用类似OSPF协议的处理方式,根据站点的数量、域的数量等因素来生成各个站点之间的域控制器复制拓扑。

  可以通过"Active Directory站点和服务"来查看自动生成的域控制器复制连接(如图5)。

  Windows 2000 Server的站点间复制拓扑的生成机制对于网络结构改变和扩展的响应速度很慢,并且站点连接的传递性计算会大量消耗ISTG的CPU资源。所以在Windows 2000 Server的Active Directory环境中,为了优化性能,建议禁用站点连接的传递性(桥接所有的站点连接,默认选项),同时对超过500个站点的环境手动进行配置,而不是自动生成。但在500个站点的环境下,这项工作的工作量恐怕将大得难以想象。

  在Windows Server 2003中ISTG得到了改进和增强,对于大型网络的支持更加完善。采用自动站点间复制拓扑生成,根据微软的测试,可以良好地工作在3000个以上站点环境中。

  全局目录服务器功能改善

  全局目录服务器对用户登录的影响

  全局目录服务器正常工作与否,会严重影响到Active Directory的功能是否正常。

  在Windows 2000 Server本地模式和Windows Server 2003模式时存在通用组(Universal Group)。通用组可以在森林中的任何位置建立,并可以被授权访问森林里的任意资源,所以被广泛地应用在简化大型网络中的用户权限管理上。但是通用组只被保存在全局目录服务器上,这就会带来问题。通常管理员都知道使用森林中另外一个域的账号来登录时需要全局目录服务器的协助,但是却可能不知道在全局目录服务器发生故障时,哪怕是本域的账号也将不能登录。

  这是因为用户登录时,系统为用户所生成的访问令牌中必须包含用户所属的通用组记录,所以验证登录请求的域控制器需要从全局目录服务器获取用户的通用组成员关系。这就意味着,如果用户联系不到全局目录服务器,用户就被拒绝登录,并且给出令人迷惑的"用户名或者口令不正确"的提示信息。注意Administrator账号例外,即便在没有全局目录服务器的情况下也可以正常登录。。

  当用户使用UPN(User Principal Name)格式的账号(形如account@domain.com)登录,而森林里存在多于1个域时,也需要全局目录服务器来解析域名,否则也无法登录。

  类似的情形还包括进行森林级别的搜索。同时只有全局目录服务器在3268端口接收LDAP请求,如果基于Active Directory的应用程序固定使用3268端口进行搜索,也需要全局目录服务器。

  添加额外的全局目录服务器(推荐在所有的站点放置)固然可以解决单台全局目录服务器失败所引起的登录失败的问题,但对于大规模的企业网络(比如跨国企业),整个目录分散在不同的地理位置上,并通过较窄的带宽或者不可靠的线路连接,如果在每个站点中部署全局目录服务器,将会加重Active Directory复制对带宽的占用,并且需要比一般域控制器更强劲的硬件设备,也就代表着增加额外的成本。

  Windows 2000中替代的解决方法是修改域控制器的注册表,在"HKLM\system\CurrentControlSet\Control \Lsa"下新建名为"IgnoreGCFailure"的键(不是值)。这将使用户在登录时不查询通用组成员关系,从而取消登录时对全局目录服务器的依赖,但也会因此丢失由通用组赋予的权限或者拒绝的权限。

  Windows Server 2003中则可以在没有全局目录服务器的站点开启"通用组成员关系缓存",这样只要用户第一次登录时能够联系到全局目录服务器,其通用组隶属关系就会被缓存下来,作为msDS-Cached-Membership对象在该站点内所有的域控制器之间复制,并每8个小时从指定的、存在全局目录服务器的站点进行自动更新。用户以后的登录,即便无法访问全局目录服务器也可以顺利地完成(如图6)。

  使用全局目录缓存,可以减少对全局目录服务器的依赖,也会有效降低Active Directory的复制流量,但不能完全代替全局目录服务器,特别是考虑到Exchange 2000对全局目录的依赖。同时缓存的刷新周期过长,会影响到通用组成员关系变化的生效。

  GC完全同步

  Active Directory的架构(Schema)中定义了Active Directory对象的哪些属性需要被复制到活动全局目录中去,这些属性通常是用户搜索目录最常用的属性,被称为"部分属性集"

  (PAS,Partial Attribute Set,因为不是对象的全部属性)。如果想添加新的属性到PAS中去,需要把该属性的isMemberOfPartial

  AttributeSet值设置为True。

  对于Windows 2000 Server的Active Directory来说,修改PAS的操作会触发全局目录服务器之间的"完全同步",重新复制所有的属性值,即森林中所有域在全局目录中的记录数据,会引起巨大的复制流量。比如Exchange 2000的安装。但是对于Windows Server 2003来说,只复制修改了的属性,这是值得称赞的改善。

  允许域重命名和域控制器重命名

  Windows Server 2003中支持域控制器和域的重命名,可以帮助因为某些特殊原因需要完成改名工作的管理员。域控制器的改名使用Netdom.exe的computername参数,域功能级别必须已经提升到Windows Server 2003模式。

  更改域控制器名称时,首先使用"Netdom computername /add"给域控制器添加变更后的名字,于是域控制器同时拥有了两个名称。然后使用"Netdom computername /makprimary"把变更后的名字设置为"主名称"。在重新启动域控制器后,使用"Netdom computername /remove"把原来的名称移除。这样,包括DNS注册信息,Active Directory中的名称信息都已经全部更新了。

  对于域的重命名要复杂一些,要求域内所有域控制器都是Windows Server 2003,同时森林功能级别也已经提升到Windows Server 2003,而且目前对存在Exchange 2000的环境不能支持。域的改名使用Windows Server 2003安装光盘上附带的Rendom.exe工具(位置在"VALUEADD\MSFT\MGMT\DOMREN"),可以重命名森林中任何域(包括森林的根域)的DNS名和NetBIOS名。该工具甚至可以用来进行Active Directory森林的重构,比如把一个域移动到另外一棵树下。首先使用"Rendom.exe /list"得到整个森林中所有域的列表,将生成一个XML格式的文件Domainlist.xml。对该文件中域的DNS名称和NetBIOS名称进行修改,然后使用"Rendom.exe /upload"上载,最后使用"Rendom.exe /prepare"和"Rendom.exe /execute"来完成改名。并使用Gpfixup.exe来修复被破坏的组策略链接。列表2是示例的Domainlist.xml文件。

  Active Directory架构的改进

  在Windows Server 2003的Active Directory中,增加了新的对象类型"inetOrgPerson",这是由RFC 2798所定义,在很多X.500标准下的目录服务所使用的代表用户的对象,比如SUN的iPlanet目录服务。inetOrgPerson与Active Directory中的"user"对象相当,除了不能开启Exchange邮箱外,同样可以用来设置口令,供用户进行登录和身份验证(如图7)。这一改进可以满足管理员从其他的目录服务迁移到Active Directory的需求。除此之外,在对X.500标准依从性上,Windows Server 2003还做了其他的努力,如辅助类的改进和对动态对象的支持。

  Windows 2000 Server的Active Directory的3个默认分区包括架构(Schema)、配置(Configuration)和域内信息(Domain Information)。Windows Server 2003开始支持用户自定义的应用程序目录分区(Application Directory Partition),可以用来存储用户自己的数据,并在指定的域控制器之间进行复制。企业内部的一些应用程序,可以把Active Directory作为数据库,并借助Active Directory的自动复制功能,以及强大的查询功能,使数据随时、随处可得。

  应用程序分区的建立和管理使用Ntdsutil的Domain Management项来进行。使用Connection连接到名为Server1的域控制器后,使用"createnc DC=AppPartirionName,DC=DomainName"在DomainName域内、当前连接到的域控制器上创建名为AppPartitionName的应用程序分区,使用"add nc replica DC=AppPartitionName,DC=DomainName Server2"在名为Server2的域控制器上创建该分区的副本,那么该分区会在Server1Name和Server2Name之间进行复制。创建的操作如列表3所示。

  跨森林的信任关系

  在Windows 2000 Server的Active Directory中,目录森林之间的信任关系必须在域级别建立,并且是不可传递和单向的。对于企业并购引起的网络重组的场景,比如各有4个域的3个森林,如果需要在森林之间能够完全互相访问,信任关系的数量将会让管理员发狂。

  Windows Server 2003的森林中,允许建立基于森林级别的信任关系(单向或双向的可传递信任关系),这就大大简化了跨森林资源访问的管理工作。在两个以上的森林存在时,这种信任关系还可以传递。比如森林A和森林B之间存在信任关系,森林B和森林C建立了信任关系后,森林C和森林A之间也就建立了隐含的信任关系。

  在信任关系术语上,开始用Outgoing Trust指代"信任",用Incoming Trust代替"被信任"。信任关系建立的流程也作了优化,无论建立单向信任还是双向信任,都非常清晰明了(如图8)。

  也同时允许一次建立多个域之间的信任关系,这样就不需要重复操作了(如图9)。

  在安全性上,Windows NT4和Windows 2000 Server中的信任关系默认为把来自被信任域的用户账号等同于本域内账号来看待,即允许来自被信任域的用户访问本域的任何资源。在Windows Server 2003中,管理员也可以调整信任关系,让来自被信任域的用户默认没有任何访问权限,只有在特定的资源上开放权限后才能访问。也就是说只是域内的一部分资源参与信任关系,而不是全部(如图10)。

  建立信任关系后,除了授予对资源的访问权限,现在也可以进行跨森林的管理权限委派。

  管理功能增强

  在Windows Server 2003的"Active Directory用户计算机"工具中,多出了一个叫做"Saved Queries"的项目。在这里你可以定制自己的LDAP查询过滤器,用来对Active Directory进行定制查询,比如查找哪些用户的账号口令被设置为不过期,每个账号的最后登录时间等,然后显示出来,为管理员提供了更大的灵活性(如图11)。

  对象选取工具是用来选定用户、组或者计算机进行操作,比如把指定的用户加入组的工具。这个工具界面焕然一新,比如不再直接列出备选对象,而是由用户输入所选对象名称的一部分或全部,然后自动补齐,或者根据关键词进行查找。这就避免了在对象数量非常多的情况下,每次要选定某个对象,都需要长时间等待,或者在浩如烟海的对象列表中大海捞针的情形(如图12)。

  用户权限设置现在能够进行有效权限分析,比如权限从何继承而来,权限应用级别等(如图13)。

  在Windows 2000 Server年代被作为第三方工具的FAZAM 2000(Full Armor Corporation)的组策略分析功能,现在包含在了Windows Server 2003中,叫做Result Set of Policy(RSoP)工具,用作组策略生效分析。指定需要分析的用户和计算机后,就能够把各个不同级别对该用户和计算机生效的所有组策略对象列举出来,并按照生效的优先级进行合并计算,给出最终应用的结果(如图14)。

  Windows Server 2003中还增加了一系列强大的命令行工具,包括对Active Directory的操作命令:

  Dsadd.exe创建Active Directory对象

  Dsrm.exe删除Active Directory对象

  Dsmove.exe移动或者重命名Active Directory对象

  Dsquery.exe通过指定的搜索关键字查询Active Directory

  Dsget.exe获得Active Directory对象的指定属性

  此外,还新增了专门用以刷新组策略的Gpupdate.exe,secedit.exe不再支持"/refreshpolicy"参数。DCGpoFix.exe用来恢复系统默认的组策略对象,包括默认域策略和域控制器策略对象。

  同时也对Windows 2000 Server下原有的一些命令进行了强化,比如Netdom.exe命令增加了可以修改域内计算机名称的功能。NtDsutil.exe也增加了新功能,比如使用"Set DSRM Password"项可以修改任意域控制器的"Active Directory恢复模式"管理员口令。

  图形界面的工具,像"Active Directory用户和计算机"也终于支持鼠标拖放以及复选多个对象后进行操作,一些诸如移动大量对象的工作变得前所未有的简易。

  在安全性方面,诸如"Active Directory用户和计算机"、"Active Directory站点和服务"等工具,包括前面提到的Dsadd.exe、Dsrm.exe等命令行工具,默认开启LDAP通信流量进行数字签名和加密,避免劫持和网络监听。

  遗憾的是Exchange 5.5和Exchange 2000都不能在Windows Server 2003上安装运行(但可以并存),只有等待微软的Exchange 2003(Titanium)了。

  Windows 2000 Server的版本号是NT 5.0,Windows Server 2003的版本号是NT 5.2,也许可以说明,从2000到2003,是改良,而不是飞跃。对于目前使用Windows NT4的用户,升级到Windows Server 2003是比Windows 2000 Server更好的选择。我们期待Windows Server 2003更安全、更稳定、更容易扩展,这就足够了。


评论】【推荐】【 】【打印】【关闭

  订短信头条新闻 让您第一时间掌握非典最新疫情!
  新浪邮箱雄踞市场第一 真诚回馈用户全面扩容
  在家学新东方英语 注会注册评估师 考研英语
  用周杰伦的GD88打给mm ^O^ 狂抽猛送,果然天堂!!!

新 闻 查 询
关键词一
关键词二


search 手机 运动鞋 当季服饰
 

  新浪精彩短信


铃图下载0.1元/条
流行乐坛金曲铃声
送歌表达无尽思念
特殊音效 鸟叫铃声
[陈奕迅] 十年
[林俊杰] 冻结
[容祖儿] 习惯失恋
[和 弦] 风筝与风
更多精彩铃声>>









图片专题:流氓兔!
诺基亚   西门子
摩托罗拉 三星
阿尔卡特 松下
爱立信   三菱
更多精彩图片>>



网络营销成新宠

专 题 活 动


企业服务
中医治疗各种肿瘤
患了皮肤病去哪里

更多商情发布>>

分 类 信 息
:北方交大MBA热招
   手机有礼武汉分类
   春季旅游江苏行
:雅思深圳考试中心
:上海特价机票
分类信息刊登热线>>

 发表评论:  匿名发表  笔名:   密码:
铃声 图片 订阅 言语传情 游戏 短信宝贝 爱情快递
· 彩信手机 一天一部
· 日本青春美少女 疯狂铃声
· 都市欲望魅力无限

· 热辣风趣就在非常笑话
· 时尚动感铃图下载 只需0.1元/条
· 有趣、经典、让人捧腹大笑
· 把握指间的浪漫邂逅 移动三国志
· 点歌传达美好的祝愿 语音笑话
头条新闻 新闻冲浪 激情男女 体育新闻 非常笑话 两性学堂
社会新闻 财经新闻 每日笑话 白领健康 每日英语   
自写短信 精彩专题:流行音乐排行榜铃声 射雕英雄传剧照 短信宝贝
  GGMM对对碰!短信交友保密手机号,开启你的爱情魔法石,抢注你的爱情昵称,发送00888811体验新浪爱情快递!  




科技时代意见反馈留言板 电话:010-82628888-5488   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2003 SINA Inc. All Rights Reserved

版权所有 新浪网