企业应用环境中,如果存在多台域控制器,标准还原就显的比较尴尬了。事实上标准还原往往需要和授权还原以及主还原结合起来使用。
Windows Server 2003活动目录的还原方式有三种:
1,  正常还原(标准还原、非授权还原,非验证还原等称谓),在单个域控制器的环境中我们常常使用正常还原来进行灾难恢复。如果结合正常,增量和差异等备份,我们可以保证活动目录数据库的完整性。
2,  授权还原(强制性还原),应用于多个域控制器的环境中,但事实上企业的域环境不是我们想象的那么脆弱,所以授权还原在实际企业环境中,使用的机会非常小,但一旦误删除了域中的对象,授权还原的便排得上用场。
3,  主还原(主要还原),也应用于多个域控制器的环境,但前提是域中所有的域控制器都出现故障 了,当还原第1台域控制器时,这便是主还原的应用场景。
 
本节实验的环境如下图:
 
授权还原的应用场景
 
第四篇博文我们讨论了标准还原,这一节我们继续讨论授权还原和主还原。首先我们要明白授权还原的应用场景:
假如域内有2台域控制器,在域控制器server1(域中的第1台域控制器)上我们做过备份,但是突然今天不小心把server1上“北京分公司”这个OU或者“北京分公司”中的某个用户帐户“Terry”删除了,变动以后的数据会通过AD的复制功能复制到域控制器server2上,即在域控制器server2上“北京分公司”这个OU 或“Terry”账户也会被删除。此时我们会想到,利用正常还原在server1进行还原,将“北京分公司”这个OU 或“Terry”账户恢复。不错,我们确实可以在server1还原“北京分公司”这个OU 或“Terry”账户,可是我们虽然在server1上还原了“北京分公司”这个OU 或“Terry”账户,但在server2上“北京分公司”这个OU 或“Terry”账户已经被标记为“已删除”的对象,那么当下一次server1server2之间执行AD复制的操作时,server1中被还原的“北京分公司”这个OU 或“Terry”账户会被再次删除,因为对于域控制器来说,server2上被标识为“已删除”的“北京分公司”这个OU 或“Terry”账户的版本号较高,而server1中刚刚还原的“北京分公司”这个OU 或“Terry”账户是旧的数据,其版本号较低。而域控制中当两个对象有冲突时,版本号较高的对象会覆盖掉版本号较低的对象。此时我们不仅需要在server1上执行正常还原,而且还需要接着执行授权还原,以便使server上刚刚被还原的旧“北京分公司”这个OU 或“Terry”账户的版本号增加,而且这个增加是从上一次备份当天到这次授权还原为止,每天会增加100000次,这样授权还原就会保障server1中还原的旧数据的本版号总比server2中被标记为“已删除”的对象的版本号高。这样当server1server2AD复制时,就会还原旧的“北京分公司”这个OU 或“Terry”账户。呵呵,这段有点长,但我想我讲明白了。
 
Active Directory的授权还原
 
步骤1:首先根据上面的实验环境,创建一个域contoso.com,搭建两台域控制器server1server2。在server1上新建3OU,创建5个用户账户。他们的关系如下3个图。如何安装域控制器和部署额外的域控制器请参考第2篇和第3篇博文。
 
 
 
 
步骤2:在server1上执行活动目录数据库的备份。如何备份活动目录数据库请参考第4篇博文AD的备份与标准还原。
 
步骤3:在server1上删除“北京分公司”下的“研发部”OU,同时删除“销售部”中的“alice”用户账户。这样做的目的是为了测试强制还原OU和用户账户这两类对象。删除后的结果如下图
 
 
步骤4:重启域控制器server1,然后按F8进入“Windows高级选项菜单”,然后我们选择“目录服务还原模式(只用于Windows域控制器)”启动server1,在server1上执行活动目录数据库的正常还原。如何正常还原活动目录数据库请参考第4篇博文AD的备份与标准还原。当正常还原进行到最后一步时,会提示你重启计算机,此时一定不要单击“是”,要确保单击“否”。如下图
 
 
步骤5:在server1的“目录服务还原模式”下,“开始”->“运行”->输入cmd打开命令提示符窗口->输入ntdsutil启动ntdsutil.exe程序。如下图
 
 
步骤6:我们输入?号来获取当前ntdsutil命令的帮助,我们这里需要Authoritative restore来授权还原数据库(其实就是修改AD对象的版本号),所以接着输入Authoritative restore命令,如下图
 
 
步骤7:在“Authoritative restore:”提示符下,针对域中contoso.com内的“北京分公司”下的“研发部”OU执行授权还原。所以我们输入:
Restore subtree OU=研发部,OU=北京分公司,DC=contoso,DC=com
然后按“回车”,接会弹出授权还原确认对话框。整个过程如下图
 
 
步骤8:开始授权还原“研发部”OU,过程如下图
 
 
步骤9:我们接着还原“alice”用户账户,在“Authoritative restore:”提示符下继续输入:Restore subtree CN=alice,OU=销售部,OU=北京分公司,DC=contoso,DC=com
然后按“回车”,接会弹出授权还原确认对话框。整个过程如下图。
 
 
步骤10:开始授权还原“销售部”OU下的“alice”用户账户,过程如下图
 
 
步骤11,分别在“Authoritative restore:”和“ntdsutil:”提示符下输入quit退出授权还原,授权还原完成。接着重启server1
 
步骤12,重启server1之后,server1server2之间进行复制,需要花费一点时间。最终我们在server1server2上看到了我们还原后的数据。
 
主还原
当域中所有的域控制器都出现故障了,当还原第1台域控制器时,我们需要进行“主还原”,之后再利用“正常还原”还原第2台、第3台、。。。。。。域控制器的Active Directory数据库。主还原其实很简单,和“正常还原”类似,只不过需要在还原时候,点击高级,然后勾选第三个复选框。如下图