AD&EXCHANGE异地恢复
 
故障描述:PDC安装系统的两块SCSI磁盘(RAID1)同时红灯,此服务器安装win2ksvrSP4+exchange2003SP2,同时集5FSMO角色于一身;另有一台虚机BDC,但PDC离线时BDC无法单独完成域验证工作(可能是复制有问题)。
1、  确定恢复方式:
A、 使用BDC恢复:BDC虽然有DC的基础,虚机恢复也方便,AD管理器连接到本机可以看到AD数据库正常,但是其本身先天不足(不能单独验证),而且我们最终的目的是要恢复exchange,它没有这些数据,所以放弃。
B、 使用PDC的服务器就地恢复:由于exchange的数据盘是单独的RAID5,没有受到系统RAID1崩盘的影响,数据应该没有问题,上面还有每天的系统状态和邮箱存储组的单独备份。这应该作为第一个恢复方案,即使恢复不成功,也可以将备份复制出来到其他机器做并行恢复测试。但问题是:原先的RAID1使用232GB SCSI,坏掉之后只能用72GB替代,硬件基础发生了改变,给恢复带来困难。另外,PDC本身是大块头服务器+RAID,不能使用GHOST这些工具,如果恢复失败,就必须重新安装系统,恢复非常耗费时间。
C、 使用PDC的备份数据异机恢复:利用B方案在安装系统补丁或进行配置的时候复制exchange原始数据库日志及数据库备份到PC机,使用PC机与PDC并行恢复测试。虽然是异机恢复,但PC机可以使用GHOST备份系统,恢复效率比服务器高。
D、修复RAID1系统盘来引导系统:由于没有系统分区的全盘备份,PDC又进行了硬件的改动,所以可能前面三种方案都行不通。最坏的情况下,送RAID1的磁盘修理,然后引导系统。
2、  恢复步骤
A、 执行B方案,重新插入两块72GB SCSI磁盘,保留原来的RAID1的设置,划分与原系统一致的分区,安装系统,加载阵列卡驱动,到自动重启的时候找不到boot device。只得remove RAID1,然后重建RAID1,安装系统,加载阵列卡驱动,到选择安装分区的时候,发现RAID1排在RAID5之后,第一个分区卷标为GF3退出F8调整PORT顺序,再次安装。进系统后,设置于原PDC一致的IP、计算机名、网卡顺序等,安装补丁,顺便复制相关备份到PC机。重启F8进目录恢复模式,运行ntbackup,找到最近的一个系统状态备份,在选项中选择“强制替换本地文件”,开始还原。因为硬件改变,按照MS KB的提示,完成后不重启,运行regedit,进入HKLM-system-service-ntfrs-Parameters-Backup/Restore-Process at Startup,设置BurFlags=D4,用于恢复后的sysvolnetlogo的自动重建。由于是全新的系统,无需执行授权恢复(authoritative restorerestore database)。重启,进入正常模式、安全模式、目录恢复模式都蓝屏,提示inaccessible boot device。查找KB,估计是磁盘类型或者驱动的问题,执行就地升级恢复系统,故障依旧;重新安装系统再次还原,故障依旧;安装/修复复制文件提示加载第三方驱动请按F6时按F7更改电源模式,故障依旧;故障恢复控制台使用repair目录下的system替换当前driver下的system文件,进入系统登陆界面之前自动重启。多次尝试,耗时12小时没有进展,放弃。
B、 执行方案C,在PC机(via芯片组,PCI video BUSSATA harddisk)上安装无修改的windows2000server,安装SP4,为节约时间未安装其他hotfixghost备份后重启到目录恢复模式,恢复系统状态,注册表修改为D4,重启。不报希望,却进到了桌面,提示发现新硬件,全部ESC,网络标示处已经显示原PDC的计算机名及“因为这是一台域控制器”,小心翼翼的高兴。没有AD用户管理器?运行MMC添加一个,连接到本地域控制器,看到AD数据库的内容都在,赶紧重启,在没有做任何动作之前做个ghost。重启,进入设备管理器,发现多个原PDC上的设备存在,如HP smartarry 6400 controllor等,通通卸载,重新启动,安装PC机的驱动,重启,耗时10多分钟进入系统,手动安装其他设备的驱动(光驱驱动总找不到,不管了,时间就是生命,反正有网络了,共享网络光驱)。NIC驱动装好后与其他服务器互ping一下,通畅,通过ISA验证上网正常,说明AD已经在工作了,备份系统状态,重启,GHOST备份一个。
C、 这个时候可以小小的松一口气了,毕竟AD恢复了,网络就可以用了,ERP/MIS就可以用了,而且恢复邮件的难度相对要低一些(备份完整,恢复时间也可以长一些)。对原PDC安装干净系统备用,同时做恢复邮件之前的准备工作:设置IP地址、检查DNS服务器上的记录、根据日志排错、安装所有补丁(使用平常积攒了比较完整hotfix360),安装IISSMTP等服务。最重要的是,对新PDC做新BDC以防恢复邮件的时候新PDC崩溃。(*恢复PDC期间同事在BDC上尝试FSMO夺权,但总提示找不到域)做新BDC时提示找不到域唯一标识,检查发现5FSMO都在BDC上(它不是复制不正常吗?),转移到新PDC上,然后在新BDC的工作组状态下直接dcpromo,重启后设置IP及更新DNS记录,安装补丁及等待3DC同步,最后做个备份,顺便温习一下exchange恢复步骤。
D、备份好目前的AD系统状态及系统盘之后,将exchange复制到本地磁盘,运行exchange\i386\bin中的dcdiagnetdiag,然后是forestprepdomainprep,注意看有没有错误提示,若有先排除。然后运行exchange\i386\setup /disasterrecovery进行exchange的灾难恢复安装,这个过程可能要很久。如果安装过程中停止,可以结束进程,然后检查应用程序日志,可能是需要的组件没有安装或有错误(如dotnetframwork),安装这些组件后,再次运行灾难恢复安装,重复这个过程直到正常安装完成为止。之后安装exchangeSP(若有的话),否则恢复数据库时会提示找不到exchange。恢复安装之后可以在exchange系统管理器中看到原PDC上的存储组,但数据库处于开机不自动装载的状态,恢复数据库之前请先确认个数据库的“允许被覆盖”选项选中。这里有2种恢复方式:第一种,使用备份+日志恢复,运行ntbackup,选择要还原的exchange存储组,点击开始还原,在日志文本框中输入exchange日志的位置及选中“还原上次备份集”,开始恢复。完成后,运行eseutil /cc工具对数据库备份进行校验,essutil /ml/mh多数据库及日志进行检查,如果一切正常,还要等待exchange重放日志。第二种,由于原PDC的数据库和日志未收到破坏,可以将这些数据库和日志存放到原数据库所在的磁盘和目录,然后直接amount数据库,成功后注意要取消“开机时不自动装载”。
E、 邮件数据库恢复成功后,需要检查sysvolnetlogon有否正常共享(运行net share)。若文件夹不存在,请手动建立文件夹或者从BDC进行copy(丢失权限,或者可以磁带等备份再还原?)若文件夹存在只是没有共享,请运行regedit,进入HKLM-system-service-ntfrs-Parameters-Backup/Restore-Process at Startup,设置BurFlags=D4,然后重新启动ntfrs服务和netlogon服务。如果组策略打不开提示没有权限或者找不到路径,则时因为netlogon下的{GUID}AD用户管理器中policies不一致造成的,可以手动建立文件夹,然后再重启服务。另外还要检查POP3SMTPHTTP等访问是否正常。最后还有设置备份计划及安装反垃圾邮件软件和杀毒软件。
3、  经验总结
A、 因为windows文件系统太过庞大及复杂,而AD又采用不规则的数据结构,导致AD的恢复带有很大的偶然性,应该在恢复中不断总结经验教训,多参考MS KB,做重要操作之前进行备份。
B、 使用兼容性较好的PC机进行AD异机恢复,比在服务器上进行异机恢复速度更快(可以使用ghost工具来备份恢复系统,多硬盘之间复制比较快),成功的可能性也更大(服务器的总线结构复杂,驱动复杂,经常要求安装各种特定的驱动,这些驱动可能在部分资源缺失或者错误的时候导致系统无法启动)。
C、 如果AD或者exchange的数据很大,PC机可以作为过渡,恢复成功第一个DC后,在服务器上建立BDC然后夺权,安装exchange恢复邮件数据。
D、善于使用搜索引擎和MS KB,但没有哪个教程或者步骤是完全适合自己的故障的,因为每个网络环境、硬件环境及故障情况总是各有差异,所以多参考KB并结合自己的实际进行分析以解决问题。
E、 由于许多中文KB是机器自动翻译的,基本上看不懂,而英文版本则描述得最准确,所以具备一定的英文阅读能力是非常重要的。
F、 备份千日,用在一时。完善的备份机制是故障恢复的基础。
 
 
 
用到的KB和文章:
重建SYSVOL和NETLOGON共享:http://bbs.winos.cn/viewthread.php?tid=27409&extra=page%3D1%26amp%3Bfilter%3Ddigest&page=1 http://myhat.blog.51cto.com/391263/139479
无法装入数据库并收到事件 9518 和 455: http://support.microsoft.com/kb/294367/zh-cn
如何在单个站点中恢复 Exchange 2000 Server 或 Exchange Server 2003 上的信息存储: http://support.microsoft.com/kb/313184/zh-cn
在还原失败并出现错误信息 c1041724 后装入数据库:http://support.microsoft.com/kb/253931/zh-cn
如何重新生成 SYSVOL 树和域中的内容:http://support.microsoft.com/kb/315457/zh-cn
如何在 Windows 2000 中恢复已删除的域控制器计算机帐户: http://support.microsoft.com/kb/248132/
如何在具有不同硬件配置的计算机上执行 Active Directory 的灾难恢复:http://support.microsoft.com/kb/263532/zh-cn
STOP: 0x0000007B"Inaccessible_Boot_Device"-:http://support.microsoft.com/kb/126423/zh-cn http://support.microsoft.com/kb/329898/zh-cn
如何将 Exchange 2003 移动到新的硬件上并保持相同的服务器名: http://support.microsoft.com/kb/822945/zh-cn
如何在 Windows 2000 中对域控制器执行授权还原:http://support.microsoft.com/kb/241594/zh-cn
如何在 Windows 2000 中使用备份程序备份和还原系统状态:http://support.microsoft.com/kb/240363/zh-cn
如何在单个站点中恢复 Exchange 2000 Server 或 Exchange Server 2003 上的信息存储:http://support.microsoft.com/kb/313184/zh-cn