AD是一种事务性数据库,它是一种预先写入记录的模式,使用了ESE97的技术。在磁盘上,AD显示为几个文件,它们是ntds.dit(AD数据库),一组交易记录(即日志)和记录数据库最后一个缓冲区的检查点文件。还有一个暂时性的数据库文件。目录服务是一个组合名词,它包括有目录数据存储和可让用户或程序存取信息的相关服务的意思。
为什么要有目录呢?目录可提供企业网络所有重要数据的一个集中存放区域,这些数据包括用户帐户、计算机、打印机、应用程序、安全性与系统原则等各种资源。将大部分的重要的资源集中的放在某个共享的网络资源中,这样一来可以改善企业的效率与大幅减少网络的总拥有成本(TCO)。WIN 2K的目录服务使用的是多控制器模式,也就是说,可以在任意的一个控制器上修改目录资源。所以,从上我们可以得知,AD实际是个数据库,而每个DC都是重要的数据库服务器,所以,我们应象保护重要数据库一样来保护DC。
活动目录的几个概念
1、域:一个安全边界。
2、树:多个域的集合。
3、林:多个有关联的树。
4、DNS:通向AD的网关。DNS中的服务记录,是应用系统查询AD的根本所在。
5、GC:一个经常被查询的AD对象的索引。在本机模式下,GC参与网络客户端的登录请求处理,提供通用组成员资格,出非域管理员组成员,才可以不需要GC的协助登录网络。在混合模式下,GC就不参与登录处理了但GC对网络中进行目录查询与搜寻仍旧很重要。
6、操作主机:虽然多控制器模式是AD的核心功能,但多服务器之间的潜在冲突也使这样的方式运作出在一定的不适用性,为了解决这一问题,AD选择了一些特殊的机器来担任特殊的角色。每个角色负责处理特定AD区域的改变。
AD的维护和备份
1、AD的维护:通过性能监视工具监视AD的运行状态和组件状态,可以有效的发现AD故障并及时解决。
2、AD的备份:AD可以通过备份系统状态来备份,你可以在系统工具里找到备份工具来完成此工作,也可以使用第三方软件来实现。但要注意备份AD的一些约束条件:
* AD只备份当前有效的数据,对于已经标记删除的对象,不备份。而AD中的对象删除并不是立即的,需要有60天的删除标记时间。因此,应避免恢复60天前的AD备份,以免导致AD不完整。
* AD的备份类型无法选择,只能使用完全备份。
* 要确保备份中同时包含系统状态、系统盘的文件以及SYSVOL目录的内容。
* 你只能用原服务器的备份来恢复该服务器,不能用另一台服务器的备份恢复该服务器。
3、AD的整理:AD系统默认每12小时会运行自动在线整理一次。但是在线整理不能减少数据库的大小,要减少数据库的大小,需要使用离线整理,其操作为:
在DC启动的时候,按F8进入启动菜单,选择“目录恢复模式:进入系统,在命令行下输入如下命令。
ntdsutil
files
info
注意此时输出的目录文件路径!
comnpact to c:\mydir
通过这个命令将在指定目录下的建立一个压缩后的数据库文件。
quit两次,退出工具。
接下来,你需要用压缩后的文件替换原始的文件。并重新启动计算机
AD的架构
AD的架构是以结构化的方式定义的数据组成,它通过描述元数据来定义这些结构,通常包括属性名称、类型、长度、关系等。看起来,有点象关系数据库里的字段定义。同时还包括一些扩展的属性。包括:
1、命名上下文:有三个,它们是域命名上下文(保存当前AD域的数据),配置命名上下文(保存主要基础对象和配置信息),架构命名上下文(保存定义了所有的AD对象和属性)。
2、类别:描述了AD对象及与之相关的特性和属性。
AD架构的管理:架构管理由架构主机角色控制,默认情况下看不到该管理单元,需要先注册.schmmgmt.dll,才可以在MMC里找到它。注册方法是运行:regsvr32 %systemroot%\system32\schmmgmt.dll。架构内容是禁止删除的。
AD的修理和恢复
1、AD的维护和修复,都是通过一个命令行工具--NTDSUTIL来实现的。修复命令为:
ntdsutil
repair
2、AD的恢复
恢复模式:AD有两种恢复模式--授权恢复和非授权恢复,其区别在于:
1)授权恢复:当其他的域控制器包含了无效的复制和数据时,可以采用授权恢复方式,这种情况下,你可以手工指定你要恢复整个数据库或某个分支,并指定本地的恢复操作是权威的。所谓的权威,就是当发生目录复制时,以本地数据为准。授权恢复要修改AD的升级序号,这样它的序号就高于其他的DC了,从而使本地的恢复数据能复制给其他的DC。
2)非授权恢复:大多数的恢复操作都是非授权的。当你发现一台DC的数据有问题,而确信其他的DC数据是正常的,就可以使用非授权恢复。恢复完成后,DC会重新比较升级序号并参与正常的复制。也就是说,通过非授权恢复的数据可能在复制中被再次改写。
注意点:
如果你没有达到以下要求,恢复操作必定失败
* 服务器名趁应和备份时一样
* 系统文件夹所在驱动器应与备份时相同
* 目录保存路径应和备份时相同
3、恢复的操作
1)非授权恢复:启动DC,进入”目录恢复模式“,执行备份的还原操作。
2)授权恢复:在执行完非授权恢复后,继续以下操作:
* ntdsutil
authoritative restore
restore database
该命令将授权还原整个数据库,如果只想还原某个分支,可以用:
restore subtree ou=eng,dc=mycompany,dc=com
系统提示是否正确,回答YES。
quit退出。
注意:在恢复完成后,系统会自动的提示是否需要重新启动服务器,授权恢复一定要选择”NO“,否则一旦服务器重新启动,本次授权恢复就会变成非授权恢复了。另外,需要注意的是,授权恢复一同还原了SYSVOL文件目录,当计算机帐户没有禁用时,系统会每7天查询确认一次计算机密码,授权恢复同样也还原了这一信任密码,有可能会导致计算机信任关系丢失,这也需要注意。
4、AD的灾难性恢复处理
1)重新安装恢复AD
还原AD的最简单方法是重新安装操作系统,重新提升DC。这样就产生了一个新的DC,但要考虑一个问题,如果原DC的数据已经损坏,我们将无法使用DCPROMO命令删除该DC上的AD数据,这样就可能导致AD数据的不同步性,而且更糟糕的是,在AD用户和计算机的管理单元里,你也不能删除DC对象。这是你只能从”AD站点和服务“里先删除该服务器,才能删除该DC。如果你不幸的需要新的DC和原来的DC一样的名字,那么你必须先使用NTDSUTIL命令删除AD里的对象信息后,才能建立新的DC。具体操作如下:
ntdsutil
metadata cleanup
connections
connect to server
quit
select operation target
list site
select site
list domains
select domain
list servers in site
select server
remove selected server
以上命令,就可以删除坏掉的DC信息。更详细的资料,请参考NTDSUTIL的帮助,执行NTDSUTIL ?即可阅读帮助信息。
注意:在删除原DC之前,应确认原DC上不包含任何角色,如果有,请使用NTDSUTIL命令夺取角色,方法如下:
ntdsutil
roles
Seize domain naming master - 在已连接的服务器上改写域角色
Seize infrastructure master - 在已连接的服务器上改写结构角色
Seize PDC - 在已连接的服务器上改写 PDC 角色
Seize RID master - 在已连接的服务器上改写 RID 角色
Seize schema master - 在已连接的服务器上改写架构角色
被夺取角色的DC在没有重新安装操作系统前,不能重新连入网络!!
2)从备份中还原AD
从备份文件恢复AD是非常适合的。但要注意使用的还原模式,如果因恢复错误操作的信息,应记得使用授权恢复模式。
注意点:
* 过期的备份:前面我们提到,AD的备份不能还原60天前的数据,如果你需要还原60天的备份,需要按KB216993要求修改全局标记时间后才能还原。其的位置在AD里的
CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=COMPANY,DC=COM,名称为:tombstoneLifetime,该操作需要直接编辑AD数据,可使用ADSI,LDP等工具。
注意:请慎重操作!
* 不同硬件下还原:通常情况,不建议你将AD的备份还原到不同的硬件上,除非你确认新机器和原机器的硬件基本一直,并使用同样的硬件抽象层文件(HAL)。
* 远程备份和还原:在BOOT.INI文件后,可以加上/safeboot:dsrepair命令选项,引导远程机器进入恢复模式。
5、结语
本文简单的描述了活动目录的整体概念和基本理论,并重点阐述了AD的备份和恢复技巧和操作,以及灾难性的恢复手段。
术语解释:
Authoritative restore - 权威性的恢复 DIT 数据库
Domain management - 准备新域创建
Files - 管理 NTDS 数据库文件
Help - 打印这个帮助信息
IPDeny List - 管理 LDAP IP 否认列表
LDAP policies - 管理 LDAP 协议策略
Metadata cleanup - 清理不使用的服务器的对象
Popups %s - 用“on”或“off”启用或禁用弹出
Quit - 退出实用程序
Roles - 管理 NTDS 角色所有者令牌
Security account management - 管理安全帐户数据库 - 复制 SID 清理
Semantic database analysis - 语法检查器