Exchange灾难恢复全过程
出处:微软技术在线 作者:jneycool 时间:2006-11-18 12:27:00
终于决定把邮件系统重新弄一弄了。因为服务器经常出问题,DNS报错,SMTP也经常出问题。最重要的是,因为以前只有两台服务器,这台服务器上充当了几种角色(PDC,ISAserver,Exchange服务器),后增加了一服务器。于是将ISA分离出来。由于当时人在上海,只能通过远程访问对系统进行操作,过程中不知道出了什么错,导致ISA没有完全删除。之后无法安装,也无法卸载。而且重启服务器后,所以的客户机都无法访问该服务器上的所有服务。(最后发现,重启运行ISA安装程序,其中会报错,报错完后,进行回滚操作,回滚完服务器还是能被访问)其原因找了很久,一直没有得出结果。
所以这次从上海回来,决定了好久,还是要把服务器好好弄一弄。
设定了几个恢复方案:
环境:三台服务器 PDC mailserver(要维护的服务器) DC dhcpserver 成员服务器 ISAserver ,全Win2K3环境。
一、备份“系统状态”,和Exchange存储数据 。备份整个C盘(三项分开备份)
二、恢复方案:
1、直接重装系统,恢复系统状态,再恢复Exchange存储数据。检查两台域控是否能正常通讯。能否解析。不做回滚操作是否可以访问Mailserver(此方案最为简单)如果恢复失败,则启用第2种恢复方案。
2、当第一种服恢复方案失败后。原服务器处DOWN状态。必须让服务器DHCPSERVER强制夺取五种FSMO角色。为做为GC运行。是否能让客户机正常登录。再重装mailserver,加入域,并做为额外域控运行。再以灾难方式安装EXCHANGE再进行数据恢复。
3、经过两种方法仍不能回复正常状态。进行整个C盘恢复(前面已做过全C盘备份)
设计好恢复方案后,开始来做(很多人一定会问,为什么先不把FSMO角色通过转移的方法转移到其它的DC),当然,就是因为不能转移才想到这样的办法。一连接域控就报--RPC服务不可用。其原因我想也是以前的ISA所导致。
直接重装好系统(补丁也没打),重启按F8进入目录恢复模式,启动NTBackup进行恢复“系统状态”过程很快完成了,提示重新启动系统。按是,重启。但发现系统启动不了,在启动画面过后,就不断得又重启。以为是安装系统时有问题,于是再装系统,再恢复。结果一样,启动到老地方就为断地又重启。心里一想,坏啦。会是哪里出错呢?容不得我多想,时间问题,决定采用第二种方案。
在dhcpserver上,强制夺取FSMO角色(关于夺取的方法,这方面的教程很多,直接启动WIN系统帮助,一查就可以),很顺利,在提示符下操作,很快的将角色夺取过来。重启,过一段时间后,马上测试客户端登录是否有问题。测试结果,登录正常,没有出现登录很慢的问题。mailserver很快也装好啦,加入域后,升级为DC,看到所有的信息都已经在两台DC上同步。两台DC通讯正常(以前的问题算是解决了)
###这里有一点特别重要:在前面未指出,因为恢复系统状态失败,必须以全新安装方式进行安装,虽然以相同的名字命名,但WINDOWS并不会认为是原来的DC,必须在安装开始之前,在域控中删除原来的DC,否则在安装EXCHANGE时会认为已有另一台EXCHANGE已经安装,而会导致安装失败!
接下来就是最重要的一步,也是最复杂的过程。首先,以灾难恢复安装方式安装Exchange2003,很简单,进入命令提示符,再进入X:\setup\i386(这里的X是指Exchange所在的盘)键入:setup /disasterrecovery 会启动灾难安装方式安装Exchange2003,随后的安装过程。就跟着向导走。
安装过程也很快完成(安装过程中,如果一直停留不前,请不要终止,有时会很慢,有一次在安装时看到一直不动,强制的终止了安装过程。结果导致安装失败)重启服务器后提示“至少有一个或以上服务不能启动”查了查日志,发现"Microsoft Exchange system Attendant"系统助理不能启动,日志显示:
Event Type: Error
Event Source: MSExchangeSA
Event Category: General
Event ID: 9022
Description:
Microsoft Exchange System Attendant encountered an error while processing the security data for Exchange server '<SERVERNAME>'.
For more information, click http://search.support.microsoft.com/search/?adv=1.
Event Type: Error
Event Source: MSExchangeSA
Event Category: General
Event ID: 9149
Description:
Microsoft Exchange System Attendant failed to start Exchange server '<SERVERNAME>'.Error code '0x80070005'.
For more information, click http://search.support.microsoft.com/search/?adv=1.
Event Type: Error
Event Source: MSExchangeSA
Event Category: General
Event ID: 1005
Description:
Unexpected error Access denied.Facility:LDAP Provider ID no:80070005 Microsoft Exchange System Attendant occurred.
查了相关资料,其中看到一篇说是与GC有关,因为服务器日志中,也显示了一行,不能与GC通讯的记录,把mailservr做为GC运行。重启后,发现问题依旧。经过一段时间的查询,终于在微软看到相关的解决办法,如下:
要解决此问题,请使用“ADSI 编辑”为服务器帐户授予对 Exchange 组织容器和 Active Directory 中服务器容器的正确权限。“ADSI 编辑”位于 Microsoft Windows 2000 支持工具中。要安装 Windows 2000 支持工具。注:在Win2K3的安装盘中有一个SUPPORT TOOLS 目录,在这里安装支持工具。安装完后会在:C:\Program Files\Support Tools目录下找到"ADSIEDIT"编辑工具。
如何使用“ADSI 编辑”授予正确的权限
警告:如果使用“ADSI 编辑”管理单元、LDP 实用工具或任何其他 LDAP 版本 3 客户端,并且不恰当地修改了 Active Directory 对象的属性,则可能造成严重问题。要解决这些问题,您可能需要重新安装 Microsoft Windows 2000 Server 或 Microsoft Exchange 2000 Server,或者两者都需要重新安装。Microsoft 不保证能够解决因为 Active Directory 对象属性修改不当而产生的问题。修改这些属性需要您自担风险。
1. 启动“ADSI 编辑”。
a. 单击开始,指向程序,然后单击 Windows 2000 支持工具。
b. 单击工具,然后单击 ADSI 编辑。
2. 依次展开Configuration[youDomainName]--CN=Configuration,DC=domain,DC=com -- CN=services -- CN=Microsoft Exchange
3. 右键单击 YourOrganization,然后单击属性。
4. 单击安全选项卡,确保Exchange Domain Servers组具有“创建所有子对象”“删除所有子对象”权限。(本人建议如果不太清楚就给“完全控制”权限。
5. 打开Exchange系统管理器。依次展开管理组、站点和服务器。
6. 右键单击服务器,然后单击属性。
7. 单击安全选项卡,验证服务器对象在帐户列表中的权限,然后验证完全控制所对应的允许复选框是否已选中。如果没有选中此权限,请单击以选中完全控制所对应的允许复选框,然后单击确定。
8. 退出“ADSI 编辑”。
9. 等待更改在域控制器中复制。
10. 启动系统助理。
通过上面的设置,等街一段时间后,重启Microsoft Exchange system Attendant服务,成功。 感动!
接下来的就是恢复“邮件存储”了。启动NTbackup,
1、在ESM里设置邮箱存储,右击邮箱存储--属性--数据库--勾选"还原时可以覆盖此数据库,这是非常重要的,否则不能还原成功!。(这里要注意一点,在运行NTbackup程序之前。就要先做这一步,一在网友在某个webcast上提到过这个问题说是NTBackup的一个bug,但没试过)
2、进入NTBACKUP,找到刚才备份的文件,打开编录。你会看到其中写着“无数据项目”,别管它,能恢复就可以了
4、开始恢复数据库了,注意在日志临时文件中应写一个有效的路径,该路径用于存储在备份文件中的数据库日志,还有就是上次还原集,如果选取,恢复过程中会重播系统日志。
注:只有选中了“上次还原集”,才能在还原后让系统自动将数据库MOUNT。
5、经过一个多小时的恢复,终于完成。查看报告,没有出现问题。马上启动管理器,找到存储组--邮箱存储右键“装入存储”本以为,这一步完成后,就万事大吉,剩下一些小事,慢慢来弄啦,谁知,就是这个问题,让我痛苦了长达36小时之多。请听我道来:在装入存储进,进度到66%突然报错,显示如下:
出现内部处理错误。请尝试重新启动 Exchange 系统管理器或 Microsoft Exchange Information Store 服务,或两者都重新启动。
ID 号:c1041724
Exchange 系统管理器
试着重新装入,结果还是一样。公共文件夹存储也是一样。马上查系统日志,发现了:
事件 ID: 9175
Source Exchange SA
描述:MAPI 调用 openmsgstore 失败,出现以下错误 — 网络问题或 MSE 服务器计算机已关机或处于维护状态。
用Eseutil /mh查看数据库状态,显示为Dirty shutdown ,为不正常关闭。想到把数据库进行硬恢复,但提示操作失败。Eseutil /d 也不能顺利完成。在线查遍了资料如:
http://support.microsoft.com/kb/313184/zh-cn
http://support.microsoft.com/?id=325674
http://support.microsoft.com/kb/284205
按照上面的方法,都未能成功装入存储,仍然提示:c1041724 ,但迟迟不敢用Eseutil /p 因为微软建议在不得以的情况下不要用这个命令,而且有可能会丢失部份数据。
小记:晚上八点出现这个问题,在机房一直弄到十一点,在没有办法的情况下,只能先回到住处再远程拨进来慢慢解决。回到住处,冲了个凉,泡了壶茶,继续开始排错。
直到最后,在没有办法的情况下,只能运行Eseutil /p (Eseutil /p e:\exchsrvr\mdbdata\priv1.edb)进行数据维护。经过漫长的等待,第一个数据库完成。再次运行Eseutil /p e:\exchsrvr\mdbdata\pub1.edb;这次对公共存储进行修复。修复完后,将服务重启,重新装入邮箱存储,提示“装入成功”心里那个喜悦呀~~~~~~~
接下来是做后续的一些事情,例如查看基本的设置等。因为你是恢复过来的,基本上设置都会保持不变。等着第二天回到公司再看客户机有什么问题。在远程试过用POP3收了没有问题。环境原因,没办法用OL2003测试,只能回到公司再测。
在客户机上发现一些小问题,不过也轻松解决,在日后的日志中,再提出来给大家分享。正好这次恢复完成,想把过程让大家分享一下,才注册了这个博客。希望有兴趣的朋友可以与我交流一下。
就要下班啦,上班写了这么多,还好没被老板发现
ps:由于当时极烦燥,不记得把出错的图截出来 有不正确的地方,还请高手多多指教!