在Windows server 2008中,微软公司放弃了Windows Server之前版本集成的NTBackup备份工具,转而用一个叫做Windows Server Backup的新备份程序取而代之。Windows Server Backup与NTBackup之间有明显的区别,其中变化最大的就是域控制器的备份和恢复过程,本文将对此做详细的介绍。
在Windows Server 2003中,如果我们想备份活动目录(Active Directory)的数据库,系统状态的完整备份——包括系统文件以及相关组件——是必须做的。正如我们所知,NTBackup可以通过GUI界面执行系统状态备份的操作,并将备份数据保存在一个扩展名为BKF的文件中。然而,在Windows Server 2008中发起系统状态备份的操作的话,则需要在命令行工具下输入以下指令:
- Wbadmin start systemstatebackup --backuptarget:E:
在执行完以上命令之后,用户会发现两个事情:首先,在Windows server 2008中系统状态备份花费的时间要比在2003中多一些。这是因为Windows server backup会将一部分“系统文件”当做“系统状态备份”的目标,而NTBackup的备份过程却不处理这些文件。
其次,在完成备份之后,用户会发现Windows创建的文件扩展名为.VHD,而不是之前的 .BKF。
切记,命令行模式并不是创建“系统状态备份”的唯一途径。通过选择“Enable System Recovery”选项,在GUI界面同样可以完成该操作。需要注意的是GUI界面的操作属于常规备份,只是其中包含了简单的系统状态备份功能,而不是专门针对系统状态的备份。
在Windows Server Backup中执行恢复操作
至于说我们应该采用哪种方法恢复域控制器,则取决于是否需要做授权恢复(authoritative restoration)。非授权恢复(non-authoritative restoration)也叫做一般恢复(normal restore),换句话说,就是先对故障服务器执行通常的系统状态恢复,然后重启动服务器;而后,在系统恢复的基础之上,新修复的服务器会通过与网络内其他正常运行的域控制器通信,同步丢失的对象信息,从而将数据恢复到最新的状态。
授权恢复(authoritative restoration)实际上是将整个活动目录也就是全部的域控制器统一恢复到过去的某个时间点。如果用户误删除了某个对象,并且想把它找回来的时候,授权恢复的方法十分有效。在这种场景下,对单台服务器做非授权恢复是不行的,即使能够将丢失的对象恢复出来,但网络内其他域控制器也会告知那台最新恢复的服务器,目前信息处于不一致的状态(指该对象应该被删除)。
用户想要恢复域控制器的系统状态,必须重新启动服务器,并进入“目录服务恢复模式(Directory Services Restore Mode)“。不过,在Windows Server 2003版本之后,这个操作方式发生了改变,因为2003与早期版本不同,不再使用boot.ini文件。相反,用户需要在命令提示符窗口下执行如下命令:
- C:\> bcdedit /set safeboot disrepair
执行过以上命令之后,必须重启服务器。一旦服务器重启,我们就要面临选择——指定我们希望恢复到哪个备份版本。将系统恢复到指定的时间状态有两种方法,可以用“系统全备份(主要系统卷的备份)”进行恢复,也可以用“系统状态备份”进行恢复。不过在任何情况下,我们都要先确认各备份版本的可用情况。为此,需要以管理员身份打开命令提示符窗口(即“elevated command prompt”,默认情况下,多数版本的Windows操作系统都会对命令提示符的操作权限有所限制,除非以管理员身份执行操作),并键入以下命令:
- Wbadmin get versions
输入这个命令之后,Windows系统会列出所有可用的备份,每个备份版本都有一个包括备份日期和时间戳的版本标识符。用户根据该标识符选择想要恢复的时间点。
至于具体的命令和参数,取决于我们要进行授权恢复还是非授权恢复。为了更好的说明这个操作,我们假设要恢复标识符为“07/26 /2010-12:00“的版本,如果是非授权恢复,我们要键入以下命令:
- Wbadmin start systemstaterecovery --version:07/26/2010-12:00
如果做授权恢复,我们使用的是同样的命令,但要附加一个参数开关“authsysvol“。完整的命令语句为:
- Wbadmin start systemstaterecovery --version:07/26/2010-12:00 –AUTHSYSVOL
在恢复过程结束之后,我们很可能需要重启Windows(对比“目录服务恢复模式“中的启动步骤)。为此,需要输入以下命令:
- C:\> bcdedit /deletevalue safeboot
正如本文介绍的一样,在Windows Server 2008中恢复域控制器的流程与2003完全不同。另外,Wbadmin命令有很多可选参数,包括将数据恢复到远程服务器的功能。如果需要更多的相关信息,用户可以阅读微软网站上关于系统状态恢复参数的文档。
希望本文中利用Windows Server备份和恢复域控制器的知识能够对读者有所帮助。
【编辑推荐】