Active Directory的脱机碎片整理,Active Directory系列之七

Active Directory 的脱机碎片整理
Active Directory 是一个被设计用于查询的非关系型数据库, Active Directory 使用一段时间后,需要对数据库内容进行维护,以减少数据碎片及提高查询效率,今天我们就为大家介绍一下如何对 Active Directory 的数据库进行离线维护。
Active Directory 创建时默认的数据库及事务日志的存放路径是 C:\Windows\NTDS ,我们打开前文中创建的域控制器 Florence ,定位到 C:\Windows\NTDS 目录下,先来了解一下下图中各文件的作用。其中的 NTDS.DIT Active Directory 的数据库文件, EDB.LOG 是事务日志文件,事务日志文件记录了数据库内容的变更,非常重要。默认的事务日志文件大小只有 10M ,如果事务日志文件已经记录满了,系统就会自动地生成 edb00001.log 用以继续存储事务日志,如果 edb00001.log 也存满了,就会接下来生成 edb00002.log ,以此类推。顺便提一下,在生产环境下,我们应该把数据库文件和事务文件分开存储,这样既可以提高性能,也可以增加数据安全性,但 Win2003 要求 Active Directory 的数据库和事务日志都存储在同一个硬盘上,不像 Win2000 Active Directory 的数据库和事务日志可以存储在不同的硬盘上。
EDB.CHK 是事务日志的检查点文件,记录了硬盘上的 Active Directory 和内存中 Active Directory 在内容上的差异,一般此文件用于 Active Directory 的初始化或还原。 RES1.LOG RES2.LOG 是系统保留的事务日志文件,这两个文件一共占用了 20M 空间,主要目的就是为了给 Active Directory 的事务日志预留 20M 空间,避免当硬盘空间用光后无法正常关机。
 
Active Directory 使用一段时间后,会产生数据碎片,表现为 Active Directory 占用的空间增大,响应速度降低,这时就需要对 Active Directory 做一些碎片整理了。 Active Directory 的碎片整理分为在线和离线两部分,默认情况下在线整理会 12 小时进行一次。在线整理的好处是在数据库维护的过程中不需要关闭 Active Directory ,用户不会受到影响;缺点是在线整理只能在已分配的数据库空间内进行碎片整理,无法减少数据库占用的空间。如果 Active Directory 的规模不大,数据变更不频繁,我们使用默认的在线整理也就可以了。如果 Active Directory 的数据库很大,达到上 G 的规模,而且数据频繁更改,这时我们就要使用今天提到的离线维护了。离线维护需要对 Active Directory 进行脱机处理,然后再进行 Active Directory 的碎片整理,这个过程中 Active Directory 无法使用,基于 AD 的业务系统会受到影响,因此建议在工作空闲时间例如晚上进行。 Active Directory 进行脱机碎片处理后,可以有效地减少 Active Directory 数据库的大小,提高查询速度,有的单位经过第 Active Directory 进行脱机碎片处理后,可以把 Active Directory 的大小从 11G 降为 6G !因此对 Active Directory 更新频繁,而且 Active Directory 内包含海量数据的单位来说,离线维护还是很有必要做的。
如何才能对 Active Directory 进行离线的脱机碎片整理呢?我们以域控制器 Florence 举例为大家演示应该如何操作,首先我们在 Florence 上要进入目录服务还原模式,在这个模式下, Active Directory 将被脱机挂起,然后我们就可以对离线的 Active Directory 数据库进行处理了。如下图所示,我们重启 Florence ,然后在自检结束后按 F8 键选择进入“目录服务还原模式”。
 
 
进入目录服务恢复模式后,我们输入命令 NTDSUTIL ,如下图所示,我们将使用 NTDSUTIL Active Directory 进行碎片整理。
 
 
如下图所示,我们在 NTDSUTIL 中输入 Files
 
 
如下所示,我们输入 Compact To C:\ ,意思是对 Active Directory 数据库清理碎片后压缩到 C 盘的根目录下,这样我们将在 C 盘的根目录下得到一个消除了 Active Directory 碎片的 Ntds.dit
 
 
如下图所示,大家可以发现真正压缩 Active Directory 的是 esentutl.exe ,这个工具大家以后也会经常使用,而且大家会在 Exchange 中发现有类似的工具,这主要是因为 Active Directory Exchange WINS 等服务器都使用了类似的非关系型数据库引擎。
 
 
如下图所示,压缩成功后我们用新的 ntds.dit 覆盖了原来的 Active Directory 数据库文件,同时删除了原有的日志文件,但仍然保留 edb.chk 文件。
 
 
如下图所示,这就是我们进行碎片整理后的 Active Directory 文件,如果在一个大型网络中,经过这种离线整理后可以很明显地看出对磁盘空间的释放。
 
 
Active Directory 进行脱机碎片处理只能在单台域控制器上分别进行,对 Active Directory 压缩不会影响 Active Directory 现有数据,也不会影响 Active Directory 的复制。

你可能感兴趣的:(Directory,休闲,Active,域,ad)