深入理解全局编录服务器GC

概述:
   在Win2003AD域环境中,除了FSMO操作主机角色外,全局编录服务器(GC)也是有着特殊含义的域控制器。通过GC,可以提高在活动目录中搜索对象的速度,可以加快用户登录验证等。
   简单的说,GC是森林中所有对象的只读调整缓冲存储器( Read Only Cache),目录只用于搜索。GC服务器存储本域中所有对象的所有属性,同时会存储林中其它域中所有对象的部分属性。一般来说,属性是否存储在GC中, 取决于该属性在搜索中使用的频率,由系统自动进行决定。但AD架构管理员也可以定义对象的哪些属性保存的GC中,同时决定该属性是否可以进行索引。
   本文拟就与GC相关的内容一一阐述,希望能起抛砖引玉作用,与有兴趣的朋友一起更好的了解和熟悉全局编录服务器。
    GC出现的原因
    GC的作用
    查看当前环境中GC服务器
    提升DC为全局编录服务器
    验证全局编录服务器的提升
    验证全局编录服务器是否工作正常
    删除全局编录服务器
    使用AdsiEdit工具查看全局编录服务器中的数据

 
一:GC出现的原因
    在Win2003活动目录中有两种目录服务,分别是DNS以及LDAP,两个目录服务互为补充。DNS的目的比较简单,用于简单快速的定位域控制器,但定 位到具体的域控制器后,对活动目录信息的更细致访问,如活动目录中关于用户,计算机,打印机等对象信息搜索,DNS就无能为力。此时就需要通过LDAP服 务来访问。
   如果用户知道某个对象处于哪个域,也知道对象的标识名,那么用LDAP搜索对象就非常容易。但如果用户只知道某个对象的某个属性,根本不知道对象所处的 域,也不知道该对象的标识名,那么使用LDAP来搜索对象是一件非常困难的事,AD不得不对当前环境中每一个域的每个对象都搜索一遍。为了解决这个问题, 活动目录提供了全局编录服务器(GC,到Global Catalog)。GC中包含了当前林中每个域中所有对象的副本,如果在一次LDAP搜索中,涉及到搜索中多个域的名称上下文时,AD会选择搜索GC服务 器,从而实现加快搜索速度,减少网络通信量的目的。
 
二:GC的作用
    1:存储对象信息副本,提高搜索性能
      全局编录服务器中除了保存本域中所有对象的所有属性外,还保存林中其它域所有对象的部分属性,这样就允许用户通过全局编录信息搜索林中所有域中对象的信息,而不用考虑数据存储的位置。通过GC执行林中搜索时可获得最大的速度并产生最小的网络通信量。
    2:存储通用组成员身份信息,帮助用户构建访问令牌
      全局组成员身份存储在每个域中,但通用组成员身份只存储在全局编录服务器中。
      我们知道,用户在登陆过程中需要由登录的DC构建一个安全的访问令牌,而要构建成功一个安全的访问令牌由三方面信息组成:用户SID,组SID,权力。其 中用户SID和用户权力可以由登录DC获得,但对于获取组SID信息时,需要确定该用户属不属于通用组,而通用组信息只保存在GC中。所以当GC故障,负 责构建安全访问令牌的DC就无法联系GC来确认该用户组的SID,也就无法构建一个安全的访问令牌。
      注:在Win2003中,可以通过通用组缓存功能解决GC不在线无法登录情况,具体操作本文略过。
   3:提供用户UPN名称登录身份验证。
      当执行身份验证的域控制器没有用户UPN帐号信息时,将由GC解析用户主机名称(UPN)进行身份验证,以完成登录过程
   4:验证林中其他域对象的参考
      当域控制器的某个对象的属性包含有另一个域某个对象的参考时,将由全局编录服务器来完成验证。
 
三:查看当前环境中GC服务器
      1:通过“Active Directory 站点和服务”查看
       
         步骤:
              点击“开始-设置-控制面板-管理工具-Active Directory站点和服务”:
              选中具体的“NTDS Setting"。
            
           
            选中"NTDS Setting",右键选择“属性”
           
            
            在弹出的“NTDS Setting 属性”对话框中,有“全局编录”复选框,如果选中,表示是一台全局编录服务器, 如果没有选中,则表示当前的服务器不是全局编录服务器。
          
 
       2:利用复制监视器Replmon查看
          复制监视器Replication Monitor(ReplMon)是针对Windows Server的故障查找工具,不但是定位活动目录
          复制故障强有利的工具,同时也可以使用该工具查看和检查操作主机角色状态。
          详细Replmon工具使用方法本文不做过多说明,这里只列出如何使用Replmon工具GC角色。
          步骤:选中当前DC,右键单击,选择“Show Global Catalog Servers in Enterprise”
         
 
            在弹出窗口中,清楚列出当前林中所有的全局编录服务器
           
 
        3:通过命令行方式查看全局编录服务器
           在Supprot Tools和Resource Tools工具中,有多个命令行工具可以查看全局编录服务器,这里只列出两个最常见的命令行工具
          
           使用dsquery命令查看当前域中的GC
           dsquery server -domain superlan.com -isgc
 

           使用nltest命令查看当前域中的GC
           nltest /dsgetdc:superlan.com
 
    四:提升DC为全局编录服务器
        将一台域控制器提升为全局编录服务器操作很简单,方法见通过“Active Directory 站点和服务”管理单元查看全局编录服务器,
        将“全局编录”复选框选中即可。
        注意:设置完成后,并不代表当前的全局编录服务器已经提升完成,因为全局编录服务器中包含有多个域的所有对象,需要时间来进行全局编录数据库同步。
       
 

    五:验证全局编录服务器的提升
        通过提升DC为全局编录服务器操作,需要时间同步全局编录服务器,同步完成后,全局编录服务器才开始真正运行。
        下面介绍如何查看全局编录服务器是否已经开始工作。
        1:使用LDP工具查看当前DC的IsGlobalCatalogReady属性
          LDP(LDAP浏览器工具)是一个轻量目录访问协议 (LDAP) 客户端实用工具,可以用来查询和浏览 LDAP目录服务,详细用法本文不做具体介绍,
          可以搜索相关的说明文档或后期的Blog文章介绍。这里只给出简单的使用说明
          步骤:
               与LDAP目录绑定
              “运行”,输入“LDP”,打开LDP窗口后,选择“Connection|Bind",打开Bind对话框,输入身份凭证。
              
 
              单击”OK“按钮,LDP连接到”Superlan.Com"域控制器,显示检测结果,从下图可以看出“IsGlobalCatalogReady"属性为True
             

        2:查看DNS管理工具查看GC记录是否已更新到DNS中。
           从下图可以看出当前哪个域控制器是GC,且使用的端口是多少,默认的GC使用端口是3268。
          
 

     六:验证全局编录服务器是否工作正常
         全局编录服务器正确提升后,可以通过查看注册表信息和端口状态来查看
         全局编录服务器是否工作正常。
         1:查看注册表信息(HKLM\System\CurrentControlSet\Services\NTDS\Parameters)
           健值:Global Catalog Promotion Complete,值为1,表示GC工作正常
             
         
 
         2:全局服务编录器默认使用3268/3269端口,通过查看端口是否处于监听状态可以判断GC是否工作正常
           使用netstat -an命令查看当前正在运行的端口,可以看到3268/3269端口已经处于正常监听状态
          
 
     七:删除全局编录服务器
         删除全局编录服务器方法请参见”四:提升全局编录服务器“,将”全局编录“复选框取消即可,此处略过。
           
     八:使用AdsiEdit工具查看全局编录服务器中的数据
          因篇辐较长,拟定以独立的文章介绍,见后续文章!

posted on 2012-04-02 21:56  晓风残梦  阅读(1527)  评论(0编辑  收藏  举报

导航