本章内容
灾难准备
活动目录数据存储
备份活动目录
还原活动目录
总结
最佳实践
附加资源
活动目录域服务应该算是你在网络中部署的最关键的网络服务之一。当活动目录架构失效时,你网络上的用户将几乎什么都没法做。几乎所有的基于Windows Server 2008网络服务都取决于用户在访问网络资源之前对活动目录的验证。因为活动目录的关键性,你必须应用至少和其他网络资源相同水平的准备在活动目录灾难预防和恢复上。当你部署Windows Server 2008活动目录时,最基本的,你需要为保护活动木数据库做准备,并落实重大事件后的数据恢复。
本章一开始会讨论一些你可执行的活动目录冗余和保护的措施的基本实例。接着讨论活动目录数据库的组成和这些组成的最优配置以确保灾难恢复功能。本章的主要部分讨论备份和恢复活动目录数据库的选项和程序。
更多信息 本章没有介绍整个活动那个目录林的备份恢复,仅针对单独的域控制器和活动目录。想要更多关于恢复整个活动目录林的信息,请在微软下载中心查看“活动目录林备份设计”。网址:http://www.microsoft.com/downloads/
details.aspx?FamilyID=AFE436FA-8E8A-443A-9027-C522DEE35D85&displaylang=en.
灾难防治规划
灾难恢复的前期步骤需要在灾难发生之前很久进行。事实上,如果你没有对潜在的灾难做恰当的规划,那么类似于域控制器上的硬件部件损坏之类的问题可能会导致一场真正的灾难而不仅仅是小小的不便。
灾难防治规划需要考虑组成正常网络架构的所有成分以及一些需要特别规划的活动目录。以下的程序是非常重要的:
制定一个域控制器的一致性备份和恢复的方案。在恢复方案中的第一步是安装恰当的备份硬体和软体来备份域控制器。你需要创建和测试一个备份和恢复方案。你还需要在类似于计划更新或大批导入这类重要状态变化时对活动目录进行备份。
在部署活动目录前要测试备份方案,在执行部署之后也要经常测试备份方案。在你部署活动目录后,你的用户需要它一直处于有效状态。你应该反复测试恢复方案。很多最佳管理的网络环境都有一个持续的恢复测试程序,每周恢复程序中的一部分会被测试。当你真正遭遇一个灾难,你将顶着极大的压力需要尽快取得活动目录的备份-这一危机时刻不应该是你第一次使用活动目录恢复程序。
在实验室环境下测试活动目录变化。这将降低在生产环境下活动目录主要更新产生问题的风险。当更新在实验环境下被成功执行后,就可以运用于生产环境了。
使用硬件冗余来部署活动目录域控制器。大部分服务器可以以一个较小的附加成本实现某个水平的硬件冗余。举个例子,一台服务器配备双电源供应,冗余网卡和基于硬件的冗余硬盘系统应该是域控制器的标准配置。如果这些冗余花费你一整晚的努力来恢复一台域控制器,那么这将是你做的最值得的投资。在很多大型环境中,每一台域控制器会被连接到另一电源电路,连接到不同的以太网交换机或是网段以实现另一水平的硬件冗余。
除了最小型的网络,你至少部署两台以上的域控制器。活动目录的日志文件使用循环记录,且这一缺省值不能被修改。这种循环记录意味着当你只有一台域控制器时,当机器故障时你可能会丢失活动目录数据,而你不得不从数据备份中找回这些数据。即使是在一个小公司,多台域控制器也是非常必要的。如果你希望你的用户大部分时间都是用一台域控制器,你可以通过修改域名系统(DNS)记录来调整每台域控制器的优先级。第二台域控制可用于其他功能服务,在第一台域控制器失效时启用备份。
活动目录数据存储
活动目录数据库被存储在Ntds.dit文件中,该文件被默认放置在%systemroot%\NTDS文件夹下。该文件夹中的内容如图15-1所示。这个文件夹还包含以下文件:
Edb.chk 该文件是一个检查文件指示日志文件的处理被写入了活动目录数据库。
Edb.log 该文件是现行的处理日志。该日志文件是一个固定长度文件,文件大小为10MB。
Edbxxxxx.log 在活动目录运行一段时间后,将会产生一个或多个日志文件,文件名的一部分为十六进制数字的一个增量值。这些日志文件是以往日志文件,当当前的日志文件被填满,当前的日志文件会被重命名为下一个以往日志文件,一个新的Edb.log文件被创建为当前日志文件。当活动目录数据库的日志文件被修改时老的日志文件会被自动删除。每个日志文件的的大小也是10MB。
Edbtmp.log 该日志是当当前日志文件(Edb.log)填满时的暂时日志。一个Edbtmp.log的新文件被创建来记录处理,同时Edb.log文件被重命名为下一个以往日志文件。然后Edbtmp.log文件会被重名为Edb.log。因为该文件名的使用很短暂,通常都看不到。
Edbres00001.jrs and edbres00002.jrs 这些文件是保留的日志文件仅当含有日志文件的磁盘空间不足时使用。如果当前的日志文件填满了且由于磁盘剩余空间不足服务器不能创建新的日志文件,服务器会将当前记忆体中的活动目录处理记录到两个保留日志文件中然后关闭活动目录。每一个日志文件也是10MB大小。
Temp.edb 这是个在数据库维护时使用的暂时文件用于存储当前进程中处理的信息。
注意 如果你在使用任何版本的Microsoft Exchange服务器,活动目录的成分和程序的讨论会听起来非常相似。活动目录数据库和部署Exchange Server 4或更新版本的服务器的数据库是一样的。
clip_p_w_picpath002
图15-1 位于%systemroot%\NTDS的活动目录文件
活动目录数据库的每个修正叫做一次处理transaction。一次处理包括几个步骤。举个例子,当一个用户从一个组织单位(OU)移到另一个,对象需要被创建在目标OU并从源OU删除。为了该处理的完成,这两个步骤都必须成功执行。如果其中一步失败,这一处理需返回因此任何一步都没有完成。当一个处理的所有步骤都完成时,该处理才完成了。使用一个基于处理的模型,活动目录必须确保数据库始终处于一致的状态。
当活动目录数据库被修改时(例如,一个用户的电话号码被修改),这个修改首先被写入一个处理日志文件。因为处理日志文件本质上是一个修改都被按顺序写入的文本文档,写入处理日志比写入数据库要迅速得多。因此,处理日志的使用提高了域控制器的性能。
当处理被写入处理日志后,域控制器加载包含用户对像的数据库页面到记忆体(如果不在记忆体的话)。所有活动目录数据库的修改在域控制器的记忆体中进行。域控制器会使用尽可能多的记忆体并尽可能多地保留记忆体中的活动目录数据库。域控制器洗刷记忆体中的数据库页面仅当可用的剩余记忆体非常有限或是域控制器被关闭的时候。数据库页面的修改在服务器利用率较低的时期或是服务器被关闭的时期被写入数据库。
处理日志不仅通过提供一个快速写入修改的地方来提升域控制器的性能,同时也提供了服务器失效事件的可复原性。举个例子,如果活动目录被修改,修改被写入处理日志,然后到服务器记忆体的数据页面。如果服务器在这一时间点意外关机,服务器记忆体中的修改还没有被写入数据库。当域控制器重启时,它会检查处理日志中还未被登入数据库的处理。域控制器服务重启后这些修改会被重新写入数据库。这个检测文件会在恢复程序中被使用。这个检测文件是一个指示那些处理被写入数据库的指针。在恢复进程中,域控制器会阅读检测文件来决定哪些处理已被登入数据库,然后写入那些还未被登入数据库的修改。
注意 处理日志的使用提升了域控制器的性能,提高了意外关机事件的数据可恢复性。当处理日志和数据库被放置在独立的磁盘时这些优点会被放大,因为不会受到磁盘性能的制约。
Windows Server 2008的活动目录使用循环记录,这一配置不能被修改。因为循环记录,只有还没被写入数据库的包含处理的以往日志文件被保留。因为当以往日志文件信息被录入数据库,文件会被删除。循环记录的使用防止你将恢复数据库上的日志文件重置为当前文件。作为替代,从另一台域控制器上复制被用于恢复活动目录数据库至当前状态。
备份活动目录
Windows Server 2008中备份活动目录和Windows Server2003及2000的过程非常不同。Windows服务器备份和Wbadmin.exe取代了之前的备份工具Ntbackup.exe。新的备份工具有以下几点变化:
Windows服务器备份和Wbadmin.exe不是默认安装的,你必须安装Windows Server备份选项来使用这些工具。
只有全卷可以被备份。没有只备份系统状态数据也就是包含活动目录的选项。你备份关键卷以备份系统状态数据。
备份操作仅针对磁盘或DVD。Windows Server备份不可以执行备份到磁带。如果你想备份到磁带,你必须使用一个第三方备份方案。你可以存储备份到本地磁盘、外接磁盘、远程共享或DVD。
备份更加迅速。Windows Server备份执行卷影复制服务备份和跟踪数据块集的变化。这提高了增量备份和完全备份的速度。
系统状态数据是配置数据在服务器上的集合。这些数据被紧密地整合而且必须作为一个单元来备份和存储。在windows Server 2003和Windows 2000 Server中,你可以仅备份系统状态数据。在Windows Server 2008中,使用Windows Server Backup或Wbadmin.exe,你必须备份包含系统状态数据的关键卷。在Windows Server Backup中,所有关键卷的“我想要使用该备份进行系统恢复(I Want To Be Able To Perform A System Recovery Using This Backup)”选项已被自动选择,如图15-2所示。
clip_p_w_picpath004
图15-2 使用Windows Server Backup备份关键卷
一台服务器的关键卷会随着安装在该服务器上的角色而改变。系统卷装有启动文件如启动配置数据(BCD)存储和Bootmgr,它是一个关键卷。有Windows操作系统的启动卷也是一个关键卷。装有下列数据的卷也是关键的:
SYSVOL目录
活动目录数据库和日志文件
注册表项
COM+类注册数据库
活动目录证书服务数据库
群集服务信息
Windows资源保护下的系统文件
Windows Server 2008有一个从media(IFM)安装的特征可以用来安装新的域控制器。IFM使用一个活动目录的存储备份作为起始点进行新域控制器上的复制而不是复制复制整个活动目录数据库。这对于低带宽连接的分支办公室服务器非常有用。使用Ntdsutil而不是Windows Server Backup或Wbadmin.exe来进行IFM的备份设置。
注意 管理员成员和备份操作员群组具有执行手动备份的必要权力。只有管理员群组的成员有必要的权力来执行排定的备份,且这个权力不能被委派。
备份的需求
备份活动目录的主要方法是将其复制到另一个域控制器。如果域中的一个域控制器失效,那么其他的域控制器中有同样的信息并使其对客户登录或其他查询有效。处于这个目的,每个域中至少要有两台域控制器。
即使域信息在两台域控制器之间复制,一台域控制器也应该进行常规的备份。在下列情况下你可能需要存储一台已存在的域控制器或是活动目录:
应用程序被配置去使用特定的域控制器 一些应用程序被配置去使用特定的域控制器去登录活动目录。在这种情形下,恢复一台域控制器避免了重新配置应用程序的需求。
一个域中的所有域控制器都丢失 如果发生了特大的灾难例如火灾之类的,域中所有的域控制器可能都丢失了。在此情形下,活动目录必须从备份来恢复。
对象被删除 如果一个活动目录对象被意外删除,你可以从备份来恢复该对象。这应该比重建对象要快速得多。
墓碑寿命
墓碑寿命决定一个已经被删除的对象被保留在活动目录里的时间。如14章“监测和维护活动目录”中所述,当一个活动目录对象被删除,该对象没有从活动目录移除。该对象被标记为删除,大部分的属性被移除,该对象被重命名且被转移到已删除对象容器。该对象现在被称为墓碑。这些变化被复制到所有其他的域控制器,当墓碑寿终正寝时,被从活动目录中移除。
备份仅对活动目录中配置的墓碑寿命期内有效。你不能还原一个老于墓碑寿命的活动目录备份。这确保了活动目录功能的非授权还原到达预期效果。举个例子,如果一个包括用户Paul,在其对象被删除后,它的备份被用于还原域控制器,Paul的被删除状态被复制回还原后的域控制器。Paul的删除状态没有改变,因为备份是在活动目录规定的墓碑寿命到来之前进行的。如果域控制器在在墓碑寿命到期之后进行恢复,那么Paul会被恢复,Paul的不存在于其他域控制器的被删除状态会被复制回来。即使已经被删除,对象Paul变成活动目录中一个延期逗留的对象。这导致了活动目录中的不一致,这个对象必须被移除。
墓碑寿命对整个林设置。墓碑寿命的值被储存在CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=ForestRootDomain 对象的墓碑寿命属性;如图15-3所示。默认值取决于创建林的操作系统,如表15-1所示。这些值应用于当创建一个新的活动目录林时。他们不能被上一级或应用服务包来修改。你可以使用ADSIEdit.msc来修改墓碑寿命的默认值。
clip_p_w_picpath006
图15-3 活动目录林的墓碑寿命属性
Table 15-1 新活动目录林的默认墓碑寿命
clip_p_w_picpath008
备份频率
尽管墓碑寿命对于备份频率设置了一个硬限制,但你应该比墓碑寿命更频繁地备份域控制器。当你试图从一个超过几天的备份恢复到域控制器时,与墓碑问题相关的很多事项都需要被考虑。因为活动目录的恢复包括很多关键卷的信息,这些信息会被恢复到前一个状态。如果服务器安装了活动目录证书服务角色,备份之后的任何证书不会被包括在活动目录证书服务数据库中。如果你已经更新驱动程序或是安装任何新的应用程序,他们可能会因为注册已经被退回到之前的状态而失效。几乎所有公司都会使用至少每晚有几台服务器被备份的备份方案。域控制器应该为每夜备份的一部分。