维护好网络的“存储中心”——全方位管理活动目录

数字办公

作为一名网络管理员,都知道Active Directory(活动目录)对于整个网络的运行是非常重要的。Active Directory是Windows 2000/Server 2003网络中一系列数据库、系统服务和API的核心组成部分,是关键系统服务的必要元素。要维护和保证Active Directory正常运行,我们既要了解和掌握Active Directory各方面的知识点,又要熟悉对Active Directory的灾难恢复,下面介绍具体维护方法。

小知识:什么是Active Directory?

Active Directory即活动目录,是 Windows 2000/ Server 2003 网络中一个用来储存网络资源的相关信息,并且让使用者或应用程序可以存取这些相关信息的网络服务。让网络拓扑及通讯协议透明化,提供集中式的管理, 降低管理负担,提供单一登入机制,避免用户记忆多组账号及密码,使用户在网络空间中登录和漫游变得更加容易。

Active Directory数据库包括这五个文件:Ntds.dit存储了活动目录内所有的对象,Edb.log为事务日志文件,默认大小10MB。Edb.chk为检查点文件,Res1.log、Res2.log为保留的事务日志文件,默认大小各为10MB,默认情况都是保存在系统的\Windows\NTDS目录下。

为何要备份Active Directory?

Active Directory是一个可以复制的数据库,和其他数据库一样,它在以下几个方面容易受到损坏:

1. 由于软件或硬件故障而不能正常引导的域控制器;

2. 损坏的或者无效的数据库架构,这里的架构是指数据库的结构,包括数据类型以及数据的组织方式等;

3. DNS记录丢失,记录损坏或者无用的信息;

4. 系统管理员的误操作,导致Active Directory数据丢失或受到损坏。

备份活动目录

因为Active Directory的组成文件在Windows 2000/ Server 2003域控制器的运行过程中一直是打开使用的,所以我们不能像操作普通文件那样直接复制一份Active Directory数据库。我们可以借助Windows 2000/ Server 2003提供的在线备份工具来备份,备份可以在域控制器处于联机状态时执行,它不对用户正常工作产生任何影响。操作步骤如下:

依次单击“开始→运行”,键入ntbackup,单击“确定”。

按照弹出窗口中的提示向下操作,等出现如图界面时选中“System State”项,选好备份的目的地,再单击“开始备份”即可。

18-17-f10-1.jpg

注意:备份Active Directory有它的一些特殊约束,不能以为只要备份了,就可以高忱无忧了。

Active Directory只备份当前有效的数据,当你在Active Directory中删除了一个对象时,域控制器会为这个已删除的对象创建一个标志,然后向域中其他的域控制器宣告对象删除了。这个标志意味着在Active Directory中一个对象被标记为删除,但是这个对象本身并没有被真正删除,只有当达到全局标志时间(Global Tombstone Lifetime,默认情况下是60天)的时候,域控制器才真正把这个对象删除。如果我们把Active Directory恢复到某个对象删除以前的状态,并且如果在全局标志时间到期之前没有复制这个被删除对象的标志,这个域控制器内被删除的对象仍然存在,最终的结果就是Active Directory数据库不完整。为了避免这种情况的发生,Windows 2000/Server 2003将会拒绝从过期的Active Directory备份中恢复。所以,在每删除一个对象之后,最好再对Active Directory做一次备份或者每60天做一次备份。

当然,如果你的Active Directory备份已经超过了过期期限,可以参照微软的“Backup of the Active Directory Has 60-Day Useful Life”这篇文章上的方法进行恢复(文章地址:http://support.microsoft.com/default.aspx?scid=kb;en-us;216993)。

我们在备份其他文件时,可以根据需要选择完全备份、完全复制、差导备份或增量备份,但是对Active Directory备份,只能进行完全备份。

确保你的域控制器的备份至少要包含系统状态、系统盘的文件以及Sysvol文件夹的内容。系统状态包括了绝大多数恢复域控制器所需的关键文件和设置。备份系统盘的文件以及Sysvol文件夹的内容是为了保证能成功恢复。

你只能使用原服务器的备份来恢复该服务器,不可以使用别的服务器的备份来恢复其他的服务器。所以要完整备份你的网络,就必须为企业中的每一台域控制器分别做备份。

恢复活动目录

恢复Active Directory数据库有两种方法。

第一种方法是重新安装 Windows Server 2003或Windows 2000,然后通过正常复制过程,从其他的域控制器中导入活动目录。

第二种方法就是备份恢复(以下介绍的是第二种方法)。

第二种方法又分两种恢复模式:

a.非授权恢复模式:只恢复Active Directory到备份状态,大多数的恢复操作都是采用非授权模式。通常当你发现本地一台Windows 2000/ Server 2003域控制器有问题了,并且确信网络上其他机器的Active Directory是正常的时候,一般都会采用非授权恢复模式。

操作步骤如下:

1. 重新启动系统,按F8键选择“目录服务还原模式”启动。

2. 以系统管理员或者备份操作员的身份登录。

3. 运行ntbackup工具,点击“还原和管理媒体”选中备份的文档ActiveD.bkf,然后选中“System State”。在System State中包括了注册表、Active Directory和其他系统的关键组件。如果你没有指定文件的还原位置,恢复的数据将会替换当前所有的System State文件,通常都是采用此默认操作方式。

4. 完成恢复操作后,重新启动这台服务器即可。

b.授权恢复模式:当其他的域控制器包含了无效的复制数据时,就要采用此方法。在这种情况下,就须手工指定你要恢复的整个Active Directory的数据库,指定本地恢复的数据库是授权的(也就是在与其他域控制器复制时,以本地恢复的版本为准)。授权恢复模式要修改Active Directory升级序号,这样它的序号就高于其他的域控制器,从而使本地恢复的数据复制到其他的域控制器上。通过授权恢复模式可以把域控制器恢复到以前的一个特定的时间并且通知其他的复制伙伴复制经过授权的对象。例如当系统管理员误删除了一个包括很多用户的组织单元的时候,就可以通过授权恢复模式来恢复。

操作步骤如下:

1. 首先执行非授权恢复模式的前三步后,出现提示重启计算机,此时请你一定要记住选择“NO”,否则这次授权恢复就会在服务器重新启动后变成非授权模式恢复了,不需要的垃圾数据又会从其他的域控制器复制到你的这台服务器上。

2. 接着单击“开始”→“运行”,输入cmd后确定进入命令模式,在命令符提示窗口中输入ntdsutil,回车。

3. 在ntdsutil提示符下,输入“authoritative resto

re”,回车。

4. 接着再输入“restore database”回车,会弹出授权还原确认对话框窗口,此时你要选择Yes,稍等一会儿,恢复成功。

5. 连输两次quit回车,返回到命令提示符状态下,然后退出命令模式,重新启动服务器即可。

整理磁盘提高性能

为了保证活动目录能以一种流畅和稳固的方式运行,提高目录服务在网络中的可用性,有必要对活动目录数据库执行完整性磁盘碎片检查和整理。

整理又分联机整理(也叫在线整理)和脱机整理(离线整理)。默认情况下,联机整理会每隔12小时自动执行一次,这个操作又被称为“Active Directory的碎片整理”过程,微软的文章“The Active Directory Database Garbage Collection Process”对此有详细的描述(文章地址:http://support.microsoft.com/default.aspx?scid=kb;en-us;198793)。联机整理的作用:优化数据库中的数据存储并且收回数据库文件中的闲置空间用于创建新的对象。

虽然联机整理不需要你手工参与,但是它不能减小Active Directory数据库大小,要减小数据库的大小,就需要进行脱机整理。要进行脱机整理,请按照如下步骤操作:

1. 首先备份Active Directory数据库。

2. 重新启动域控制器,按F8键进入系统启动菜单,然后选择“目录服务恢复模式”(Directory Serverices Restore Mode)。

3. 用具有本地管理密码的管理员账户登录服务器(此账户的密码是你在升级为域控制器时设定的)。

4. 然后在命令提示符下,输入ntdsutil,然后按回车键。

5. ntdsutil工具打开后,再输入files,然后按回车键。

6. 输入info,然后按回车键,出现的信息是有关活动目录的路径和大小以及日志文件。你一定要特别关注路径信息。

7. 找一个有足够空间可以存放数据库压缩版本的驱动器,然后输入“compact to :\”,当压缩完成后,Ntdsutil会显示出压缩数据库文件和日志文件夹的存放路径。

8. 输入quit并按回车键退出,回到命令符下,再次输入quit。

9. 现在你就可以将压缩后的数据库文件替换当前使用的数据文件,并按照Ntdsutil工具的要求,在当前数据库文件存放的位置删除所有日志文件,最后重新启动服务器进入正常模式。

运行脱机整理的另一个优点是,不但能减少数据库大小和提高目录服务的性能,且可以验证Active Directory数据库是否正确,能及时发现Active Directory是否损坏、是否有问题。

移动活动目录

为了提高性能,或者遇到驱动器变坏,那么我们需要将Ntds.dit和日志文件移到另一个驱动器上。操作步骤如下:

1.首先备份Active Directory数据库。

2.重新启动服务器,按F8键进入系统启动菜单,选择“目录服务恢复模式”启动。

3.用具有本地管理密码的管理员账户登录服务器后,开启命令行模式。

4.在命令提示符下输入ntdsutil,然后按回车键。

5.ntdsutil工具打开后,再输入files,然后按回车键。

6.输入info,然后按回车键,出现的信息是有关活动目录的路径和大小以及日志文件,记下这个路径信息,因为以后要用到它。

7.输入“move DB to :\”后,按回车键,Active Directory数据库文件就被移动到指定的地方。

8.使用quit命令退出ntdsutil工具软件,重新启动服务器,以普通模式进入系统。

9.最后再次备份一次,一切就OK了。