网络技术应用网™服务以及保证其顺利运行所需的系统是Windows®2000Server操作系统的核心。系统管理员必须了解如何使这些关键的系统保持正常运行,以及在出现故障时如何采取应对措施。在ActiveDirectory基础结构中,域控制器可以充当多种角色—全局编录(GC)、操作主机(OM)以及单一域控制器。本文中介绍了在出现故障后恢复ActiveDirectory数据库的步骤,而且还介绍了将服务器还原为特定角色所必需的特殊要求。本文档中介绍的步骤已经经过了CompaqQTESTWindows2000机构进行的恢复操作的验证。QTEST是基于Windows2000的服务器的全球部署,Compaq顾问用它来验证和测试不同的部署方案。引言本文讨论将域控制器从灾难状态(例如由于硬件或软件故障引起的数据库故障)进行恢复的步骤。此类灾难通常会导致域控制器失效,而且会使计算机无法正常引导。导致灾难的另一个原因是人为因素,例如将包含错误的数据复制到公司的其它域控制器上。本文提供有关对运行ActiveDirectory的域控制器(不运行其它服务)进行恢复的信息。如果该计算机上还安装有其它服务,例如域名系统(DNS)或Internet信息服务(IIS),则可能还需要其它步骤,但是这些步骤不包括在本文中。本文中的大多数示例都是基于Windows2000备份实用程序(ntbackup.exe)的,该程序是Windows2000中附带的默认备份应用程序。有关该工具的更多信息,可以在附录IV中找到。用户可以有自己喜欢的备份应用程序,但是本文中的内容仍然适用。本文不讨论涉及ActiveDirectory的故障排除问题。而是用于解决如下情况:所有的故障排除手段都已经失败,并且ActiveDirectory无法正常运行,在这种情况下用户无法将域管理器引导到正常模式。本文假定用户具有关于ActiveDirectory及其相关组件的预备知识。有关ActiveDirectory的信息,请阅读Windows2000ServerResourceKit中的DistributedSystemsGuide一书。系统管理员可以使用本文中的信息来制定灾难恢复规划,但是本文还必须与本单位内部环境以及现有灾难恢复策略中的具体信息相结合。ActiveDirectory概述ActiveDirectory服务是Windows2000的目录服务。它是操作系统的核心组件,为企业和操作系统中的其它组件提供基本数据。ActiveDirectory为管理员提供组织网络资源,管理用户、计算机和应用程序所需要的中心服网络技术应用网务。在ActiveDirectory中可以存储许多不同的对象,包括:用户。组。安全凭据,例如证书。系统资源,例如计算机(或服务器)和打印机。复制组件,设置本身也是ActiveDirectory中的对象。COM组件配置,以前它存储在WindowsNT中的注册表中,现在则存储在ActiveDirectory的类中。控制工作环境的规则和策略。下面的图1描述了集中存储在ActiveDirectory中的许多不同对象。ActiveDirectory数据库ActiveDirectory是一个事务处理数据库系统,它使用日志文件来支持回滚语法,从而确保将事务提交到数据库中。与ActiveDirectory关联的文件包括:Ntds.dit—数据库。Edbxxxxx.log—事务日志。Edb.chk—检查点文件。Res1.log和Res2.log—预留的日志文件。Ntds.dit会随着数据库的填充而不断增大。但是,日志的大小却是固定的(10MB)。对数据库进行的任何更改都会被追加到当前的日志文件中,而且其磁盘映像会不断保持更新。Edb.log是当前的日志文件。对数据库进行更改后,会将该更改写入到Edb.log文件中。当Edb.log文件充满事务之后,它会被重新命名为Edbxxxxx.log。(从00001开始,并使用十六进制累加。)由于ActiveDirectory使用循环记录,所以在旧日志文件写入数据库之后,这网络技术应用网些旧日志文件会及时删除。在任何时刻都可以找到edb.log文件,而且还可能有一个或多个Edbxxxxx.log文件。Res1.log和Res2.log是“占位符”—用来在此驱动器上预留(在此情况下)最后的20MB磁盘空间。这是为了给日志文件提供足够的空间,以便在其它所有磁盘空间都已使用的情况下可以正常关机。Edb.chk文件存储数据库的检查点,这些检查点标识数据库引擎需要重复播放日志的点,通常在恢复或初始化时。出于性能考虑,日志文件应该位于数据库所在磁盘以外的其它磁盘上,以减少磁盘争用情况。在进行备份时,可能会创建新的日志文件。如前所述,由于要进行循环记录,所以需要删除该日志文件(如常规旧日志文件)。ActiveDirectory服务器和角色authenticationservice域控制器(DC)是上面驻留有域数据库并执行验证服务的服务器。在Windows2000Server中,域数据库是ActiveDirectory数据库的一部分。在Windows2000中,对象更改可以在该环境内的任何DC上执行,而不是象在WindowsNTServer4.0中那样,只能在主域控制器(PDC)上进行。DC必须启动并执行复制操作,以确保环境中的所有DC上都驻留有当前和正确的目录版本。另外,在特定目录林中的所有域控制器上都驻留有目录林配置和架构容器的副本。域控制器还可以作为全局编录或充当如下所述的特定角色。为应对可能出现的故障情况,知道特定DC是一个GC还是承担了操作主机角色非常重要,因为只有这样才能采取正确的行动。全局编录全局编录的主要功能是在整个ActiveDirectory目录林内进行快速和有效的搜索。GC拥有它所属的域中所有对象的可读/写的完全副本,以及目录林中其它每一个域中的只读部分副本(所有对象,但不包括部分属性集)。因此,全局编录使目录林内的目录结构对于最终用户而言是透明的,从而为用户创造了一个使得在目录中查找对象变得简单和有效的搜索机制。另外,为在本机Windows2000域中进行通用组成员和用户主要名称(UPN)枚举,也需要全局编录。因此,如果DC不能在客户端登录时联系到GC,则客户端将只接收到缓存的本地登录凭据,而对远程资源进行的访问将被拒绝。注意若要知道DC是否为全局编录服务器,请查看站点和服务管理单元中的ntdsDSA对象的属性。(在域控制器的Ntds设置上单击鼠标右键,然后选择属性。)如果选中全局编录复选框,则该DC就是一台全局编录服务器。可以在任何现用的DC上查看该管理单元,以检查出现故障的DC是否为GC。网络技术应用网支持多主机更新。在每一个DC上都驻留有其目录分区的可读/写版本。因此,ActiveDirectory必须可以进行存在冲突的更改,例如在不同的DC上同时对目录中同一对象进行的更改。ActiveDirectory使用定义完善的冲突解决方法,从而使所有的DC最终都趋近相同的值。尽管具有该定义完善的方法,但有时防止出现冲突比在出现问题之后解决冲突要好。在冲突解决方法不适用时,ActiveDirectory中的操作主机会防止进行冲突更新。ActiveDirectory定义了五种操作主机角色:架构主机域命名主机相对标识号(RID)主机主域控制器模拟器(PDCE)基础结构主机架构主机和域命名主机是按目录林分配的角色,表示在整个目录林中只有一个架构主机和一个域命名主机。其它操作主机角色都是按照域分配的角色,表示目录林中的每一个域都有自己的RID主机、PDCE和基础结构主机。若要检查哪一台DC具有域命名主机角色,请打开“域和信任”管理单元。若要检查架构主机,请打开“架构”管理单元。对于任意按照域分配的角色,请检查“用户和计算机”管理单元。在每一个管理单元的最高层容器(在左侧窗格中),单击鼠标右键并选择操作主机。“架构”管理单元不是随Windows2000Server一起提供的默认MMC管理单元。若要使它出现在可用管理单元列表中,必须从Windows2000ServerCD中安装管理工具软件包(Adminpak.msi)。若要注册“架构”管理单元,请在命令提示符下或在开始菜单上的运行命令中键入Regsvr32schmmgmt.dll。架构主机具有架构主机角色的DC是可以更新目录架构的唯一DC。这些架构更新会从架构主机复制到目录林中的所有其它域控制器中。域命名主机具有域命名主机角色的DC是可以执行以下任务的唯一DC:向目录林中添加新域。从目录林中删除现有的域。添加或删除描述外部目录的交叉引用对象。网络技术应用网相对标识号(RID)主机此操作主机负责向其它DC分配RID池。只有一个服务器执行此任务。在创建安全主体(例如用户、组或计算机)时,需要将RID与域范围内的标识符相结合,以创建唯一的安全标识符(SID)。每一个Windows2000DC都会收到用于创建对象的RID池(默认为512)。RID主机通过分配不同的池来确保这些ID在每一个DC上都是唯一的。通过RID主机,还可以在同一目录林中的不同域之间移动所有对象。PDCE主域控制器模拟器提供以下主要功能:向后兼容低级客户端和服务器,允许WindowsNT4.0备份域控制器(BDC)加入到新的Windows2000环境。本机Windows2000环境将密码更改转发到PDCE。每当DC验证密码失败后,它会与PDCE取得联系,以查看该密码是否可以在那里得到验证,也许其原因在于密码更改还没有被复制到验证DC中。时间同步—目录林中各个域的PDCE都会与目录林的根域中的PDCE进行同步。基础结构主机基础结构主机确保所有域间操作对象的一致性。当引用另一个域中的对象时,此引用包含该对象的全局唯一标识符(GUID)、安全标识符(SID)和可分辨的名称(DN)。如果被引用的对象移动,则在域中担当结构主机角色的DC会负责更新该域中跨域对象引用中的SID和DN。ActiveDirectory复制由于Windows2000DC拥有其所在域中的所有对象的副本,并且具有这些对象的读/写权限,所以通过该域中的任一DC都可以对该域进行管理。这些操作会影响对象的状态,因此必须要将这些操作复制到其它DC中。复制是在DC中传播对象更新的过程。已更改对象的复制并不会立即执行。在一段时间后,复制操作会触发,该操作将收集所有的更改并将这些信息提供给集合中的其它DC。因此在正常操作中,可以认为任何DC上的ActiveDirectory始终处于松散的一致状态。也就是说,由于复制更改可能正处在从其它DC传送的过程中或正在等待触发,所以有关Windows2000环境中所有DC的信息很可能是不同的。最终,这些更改会到达,每一个DC会与其它DC同步。在考虑ActiveDirectory的恢复技术时,复制和松散一致性是非常重要的概念。ActiveDirectory备份网络技术应用网灾难恢复规划的一个重要部分,是理解ActiveDirectory备份的含义和注意事项。系统状态ActiveDirectory会被作为系统状态的一部分进行备份,而系统状态是相互依赖的系统组件的集合。这些组件必须一起备份(和还原)。组成域控制器上系统状态的组件包括: