先给你们看一下之前保存的一个Exchange灾难恢复的图片.

200962211404252030

先介绍一下我的环境吧.
我只用两台PC.一台作为Exchange服务器,一台作为加入域的客户端.
拓朴如下:

20096221141660764

我新建了些用户,发些邮件,以及在公用文件夹上放些内容.

200962211415022268

200962211415014811

200962211415084987

灾难恢复之前,必须先有备份集.备份集包括2个,一个是活动目录的备份,一个是Exchange的备份.我直接用系统的备份工具来备份.
我把备份集直接保存到远程服务器上.(主要是机器比如说硬盘坏了,我都还能恢复,如果保存在本机,怕备份集就没有啦.)

200962211492886590

200962211493818569 

 200962211494632565

200962211495328681

200962211495984959

20096221150569595

这时候,比如说硬盘坏啦.所有数据都没有啦.(如果没坏,只是系统坏了.最好把Exchange的原始数据包括MDBDATA所有文件保存出来.)
替换损坏的硬件,这是是硬盘.
重新安装操作系统.(我重装了2003,计算机名随机,再安装了NNTP,SMTP,IIS等组件.IP我还是用之前的IP=172.16.1.1,重装这个过程在这里我就不贴图了.)

200962213263741866

200962213263734409

接下来可以还原系统状态数据,来恢复活动目录啦,

我先把备份文件拿回到新做的服务器本地.

20096221328528496

重启机器,按F8进入目录服务还原模式来还原系统状态数据

200962213281685394

进入桌面前会有个提示信息,不必理会,按确定.进入桌面

200962213294336445

200962213294328987

在安全模式下,调入运行,输入ntbackup.启动备份还原工具.
进行如下操作,

200962213454274188

200962213454266731

200962213454246907

开始还原.(这里就需要的时间会久一点,因为活动目录数据即备份集本身就大)

20096221347246558

20096221347239100

20096221347219277

20096221347254845

关闭之前会提示让你重启计算机,那么重启机计算机(重启计算机机可能会遇到指示一个或者多个服务无法启动的错误,原因是,还原Windows的备份集时还同时还原了所重建服务器的原始注册表,注册表上包括了试图要启动尚未重新安装的服务.)可忽略这些错误,完成启动过程.

200962213475617701

200962213475615324

忽略以上错误.
看一下活动目录的数据恢复没有?

200962213504346974

这时候可以做Exchange的灾难恢复.
在灾难恢复模式中运行Exchange的安装向导.(把Exchange的安装光盘放进光驱)
在运行中输入:<drive>:\setup.exe /disasterrecovery
我的光驱在 D盘.

200962213512187464

200962213512180006

中途提示,可用备份集还原数据库,就完成了.

200962213514825792

因我的Exchange是打了SP2补丁的,所以我还要在灾难恢复模式下安装补丁.
欢迎向导--同意协议-灾难恢复安装.

200962213531542891

200962213531535434

更新补丁时也有提示信息.如下:

200962213535977833

200962213535970376

就完成更新了,可以还原Exchange的数据啦.

200962213543453729

打开运行.调出ntbackup文件,右键调出文件编录.进行还原操作.

200962213553988369

200962213553980911

200962213553961088

200962213553996657

在ESE(Exchange Server的数据库系统是由名为Extensible Storage Engine(简称ESE)的数据库引擎来管理)引擎加载数据库文件时,它会检查数据库文件的一个特殊标志位。这个标志位保存了数据库文件上次是否被正常关闭。这个状态由“ Consistent”或“ Inconsistent”来表示。对于一个正常关闭的数据库文件,所有在Log文件和内存中的内容都应该已经提交到数据库文件中,只有在这个时候,数据库才会被标记为“ Consistent”。有一点需要注意,在运行中的数据库,它的状态一定是“ Inconsistent”,因为在Log文件中肯定还有没提交到数据库文件内容。对于一个已经关闭并且状态被标示为“ Inconsistent”的数据库,并不意味着这个数据库库文件损坏了,“ Inconsistent”只是表示,还有未曾写入到数据库文件的内容保存在Log文件中。
打开CMD,进入数据库目录,使用eseutil -mh 命令检查数据库状态,如果文件的状态为dirty shutdown ,就处不一至状态,那么需要用eseutil /p来对数据库进行修复.

2009622140625542

2009622140634910

对邮箱存储进行修复.

下面是对EDB进行修复.
先分析下EDB数据库里面保存的是什么文件?
当邮件从MAPI协议的客户端(通常是Microsoft Office中的Outlook)提交到数据库后,邮件内容被保存在edb文件中。
会不会想到.
如果请求的邮件是保存在edb文件中的,那么信件被直接打开后返回给用户。如果被请求的信件保存在stm文件中(此信件是SMTP格式的)?怎么访问啊?
答案如下:Exchange Server数据库引擎首先会做一个转换,把stm文件中的数据格式转换成MAPI可以识别的格式,然后再发送给客户端。这个过程称之为“On-demand Conversion”。

20096221413140400

20096221413646019

20096221414010187

刚才是EDB数据库,现在是STM.
用户使用SMTP/POP3客户端(如Outlook Express, FoxMail等)跟邮箱连接。当SMTP协议向Exchange Server提交邮件时,邮件的内容被保存在stm文件中。
那会不会这样的疑问.
当用户使用POP3协议来读取邮件时,如果被访问的邮件位于edb文件中?怎么办?
同样,一个从MAPI到Internet格式的转化(“ On-demand Conversion”)也会在后台悄悄的发生.来解决这问题.

20096221421682615

接着再对公用存储.

20096221441072634

20096221441065176

20096221441045353

20096221443228650

20096221443221192

20096221443291369

20096221443236938