全局编录服务器也是域控制器,单不是一个普通的域控制器,而是一个特殊的域控制器,特殊的地方在于,普通域控制器只记录本域对象的信息,而全局编录服务器则不仅记录本域所有对象的只读信息,还记录其他域中部分域对象的只读信息。在森林中可以有多个全局编录服务器。全局编录服务器是可以用来高效查询整个目录林请求的域控制器,目录林中的第一个域控制器自动成为全局编录服务器,也可配置任意一个域控制器称为附加全局编录服务器,以平衡登录身份验证请求产生的数据流量。如果域中没有全局编录服务器,域用户将不能登录到域中。


全局编录服务器的作用

    全局编录服务所在的域服务器称为全局编录服务器,默认部署的活动目录中创建的第一个域控制器同时为全局编录服务器,其他的域服务器可以指派作为全局编录服务器来平衡网络流量。


数据存储

    全局编录服务器存储以下数据。

    ·存储全局编录服务器所在域目录分区的完整数据。这个数据和普通域控制器存储数据完全相同。

    ·存储林中所有其他域的域目录分区中域对象部分属性,系统默认将常用的搜索属性复制到全局编录服务器,并非存储所有对象信息,仅存储部分,而且存储的是只读的副本。一般来说,属性是否存储在全局编录服务器中,取决于该属性在搜索中使用的频率,由Windows Server 2012系统自动确认。全局编录存储的数据(域对象的部分副本)是用户搜索操作中最常用的部分,在全局编录服务器中存储所有域对象最常用的搜索属性,可以为用户提供高效的搜索,而不会调用域控制器中的活动目录数据库影响网络性能。

    ·Windows Server 2012架构管理员可以定义域对象的哪些属性保存到全局编录服务器中,同时决定改属性是否可以进行索引。

    ·在默认状态下,林中第一台域控制器就是全局编录服务器,数据量大约是活动目录数据库全部数据的5%-10%左右。


全局编录服务器的作用

    全局编录服务器主要作用包括:

    1.存储对象信息副本,提高搜索性能

    全部编录服务器除保存本域中所有对象所有属性外,还保存林中其他域所有对象的部分属性,允许用户通过全局编录服务器搜索林中所有域中对象的信息,而不用考虑数据存储的位置。通过全局编录服务器执行林中搜索时,可获得最高性能并产生较小的网络通信量。

    2.存储通用组成员身份信息,帮助用户构建访问令牌

    全局组成员身份存储在每个域中,单通用组成员身份存储在全局编录服务器中。

    用户在登录过程中需要由登录的域控制器构建一个安全访问令牌,要构建成功一个安全的访问令牌由三方面信息组成:用户SID、组SID以及权利。其中用户SID和用户权力可以由登录域控制器获得,单获取组SID信息时,需要确定该用户是否属于通用组,而通用组信息只保存在全局编录服务器中。所以当全局编录服务器出现故障,负责构建安全访问令牌的域控制器无法联系全局编录服务器确认该用户组SID,就无法构建一个安全的访问令牌。

    3.提供用户UPN名称登录身份验证

    当执行身份验证的域控制器没有用户UPN账号信息时,由全局编录服务器解析UPN(User Principal Name)名称并进行身份验证,以完成登录过程。

    4.验证林中其他域对象的参考

    当域控制器某个对象属性包含另一个域某个对象的参考时,由全局编录服务器来完成验证。


全局编录服务器规划原则

    全局编录服务器在Active Directory域服务中十分重要,如果全局编录服务器出现故障(停止运行或宕机),则用户不能登录到域中。

    全局编录服务器存储的是林中域的只读副本,如果域对象特别多,全局编录服务器数据库会很大。在基于站点的异地网络环境中,全局编录服务器同步时将产生巨大的网络流量,耗费许多资源。因此在分布式网络中,需要合理规划全局编录服务器。

    由于全局编录服务器的特殊地位,在部署全局编录服务器前,建议遵循以下原则。

    ·每个站点是否拥有全局编录服务器。在分布式网络中,根据地域创建的站点,如果在每个站点都防止一台全局编录服务器,将加快用户登录速度和访问速度,但是全局编录复制将占用大量的网络资源。

    ·提升全局编录服务器可能带来影响。域控制器提升为全局编录服务器,会存储林中所有域的部分只读副本,因此对全局编录服务器的性能、网络带宽、安全性、数据库大小查询都提出很高的要求。

    ·哪些域控制器需要提升全局编录服务器,是否需要将部分域控制器提升为全局编录服务器,建立每个站点内有一台全局编录服务器即可。


全局编录服务器日常管理

    在日常维护过程中,域管理员首先确保每个站点中有一台全局编录服务器可用。对全局编录服务器的管理,主要体现在确保编录服务器的可用性中。注意,AD DS域服务部署成功后,第一台域控制器默认为全局编录服务器,如果网络中的用户数量比较多,建议增加全局编录服务器的数量,缓解网络访问压力。


验证域中全局编录服务器

    DS命令组

    Dsquery命令可以查看域内所有的全局编录服务器。在域控制器中使用“Dsquery Server -isgc”命令,可以一次性查看当前网络中已经部署的所有域控制器。

    

    PowerShell命令组

    查询当前林中所有全局编录服务器

    Get-ADForest | FL GlobalCatalogs

    查询当前登录域控制器是否为全局编录服务器

    Get-ADDomainController | FT Name,IsGlobalCatalog

    查询当前域中所有站点

    dsquery site


域控制器提升为全局编录服务器

    除了网络中的第一台域控制器之外,其他域控制器安装过程中,允许管理员选择是否将正在提升的服务器设置为全局编录服务器,如果选择此选项则自动提升为全局编录服务器,如果不选择此项,安装完成的域控制器也不是全局编录服务器。如果确认需要将域控制器提升为全局编录服务器,可以通过手动方式提升。

  1. Active Directory站点和服务

    “Active Directory站点和服务”控制台。选择“Active Directory站点和服务”-“Sites”-“Default-First-Site-Name”-“Servers”-“DC”-“NTDS Settings”选项,右击“NTDS Settings”,在弹出的快捷菜单中选择“属性”命令,命令执行后,打开“NTDS Setting属性”对话框。该对话框的“全局编录”复选上-单击“确定”按钮,将当前域控制器提升为全局编录服务器。

    注意:全局编录服务器提升后,并不代表全局编录服务器已经提升完成,直至全局编录数据库从控制器的Active Directory数据库同步成功后,才完全提升成功。

2.DS命令组

    Dsquery server

    命令执行后,显示当前域中所有域控制器。

    确认需要提升全局编录服务器的域控制器后,键入以下命令。

    dsmod server "CN=BDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=book,DC=local" -isgc yes

    命令执行后,将域控制器提升为全局编录服务器

    dsmod server "CN=BDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=book,DC=local" -isgc no

    命令执行后,将全局编录服务器降级为普通的域控制器。


验证DNS记录

    使用DNS管理控制台,查看DnsServer记录是否已经更新成功


查询服务端口

    全局编录服务默认使用的是3268端口,通过查看端口是否正在监听,可以判断全局编录服务是否已经运行。

    Netstat -an | find "3268"


全局编录服务器管理实践

    对管理来说,全局编录服务器的可用性是重要的管理任务。因此,首先要保证全局编录服务器的可用性。最简单的方法是在网络中部署多台全局编录服务器。

    自定义复制属性

    全局编录服务器中存储的数据是只读数据。全局编录服务器存储所在域目录分区的完整数据,存储林中其他域目录分区中域对象的部分属性数据。

    1.复制属性

    存储的属性包括:

    ·“isMemberOfartialAttributeSet”属性值为“True”的所有值。

    ·所有包括在内的属性集合,称为“Partial Attibute Set”(简称PAS),默认PAS包括内置认为最可能被查询的属性。

    ·管理员可以自定义参与复制的属性值,修改架构必须要有Enterprise Admin权限,或者至少是“Schema Admins”组成员。

    2.注册MMC“Active Directory架构”

    第1步,Windows Server 2012默认安装完成后,默认没有注册架构使用的“schmmgmt.dll”动态链接库,需要管理员手动注册。在命令行提示符下,键入如下命令。

    regsvr32 schmmgmt.dll

    命令执行后,将成功注册架构使用的动态链接库。

    3.自定义复制属性,

    


验证只读属性

    全局编录服务器中存储当前域目录分区的完整数据,并且是只读的。通过“ADSI编辑器”,连接到活动目录数据库和全局编录服务器使用的活动目录数据库验证数据属性。


全局编录服务器不可用

    以域管理员身份登录域控制器,执行创建新用户操作,创建过程中出现“提示域中的全局编录服务器不可用”。

    1.故障分析

    使用“Active Directory用户和计算机”创建用户时,向森林中任何一台全局编录服务器执行LDAP调用检查用户唯一性,查询过程需要去查询并定位全局编录服务器,定位过程通过SRV记录查询。因此可能存在如下问题。

    ·不存在全局编录服务器。

    ·DNS服务器上全局编录服务器的SRV记录可能有问题。

    ·查询端口出现问题,导致查询失败.

    2.解决方法

    由于本例中直接提示全局编录服务器可能不可用,通过“dsquery server -isgc”查询与中可用的全局编录服务器,反馈结果没有任何可用的全局编录服务器。使用“dcdiag”命令测试,结果显示所有全局编录服务器已经关机。

    解决方法:将域中域控制器设置为全局编录服务器,重新启动域控制器即可。


验证父子域之间数据复制

    网络中采用单林(book.com)单站点(Default-Firest-Site-Name)单域(book.com)的部署方式,yt.book.com是book.com的子域。通过ADSI编辑器查看子域数据复制。


林信息

    Get-ADForest    查看林信息


ADSI编辑器