先向几位朋友说明对不起啦.年前就跟你们说会写这文章,可一直拖到现在,主要是年后工作一直在忙,所以没时间,今天终于可以抽出时间写一下,希望对你们有帮助.
先给你们看一下之前保存的一个Exchange灾难恢复的图片.
先介绍一下我的环境吧.
我只用两台PC.一台作为Exchange服务器,一台作为加入域的客户端.
拓朴如下:
为了验证结果:
我新建了些用户,发些邮件,以及在公用文件夹上放些内容.
灾难恢复之前,必须先有备份集.备份集包括2个,一个是活动目录的备份,一个是Exchange的备份.我直接用系统的备份工具来备份.
我把备份集直接保存到远程服务器上.(主要是机器比如说硬盘坏了,我都还能恢复,如果保存在本机,怕备份集就没有啦.)
如图:
这时候,比如说硬盘坏啦.所有数据都没有啦.(如果没坏,只是系统坏了.最好把Exchange的原始数据包括MDBDATA所有文件保存出来.)
替换损坏的硬件,这是是硬盘.
重新安装操作系统.(我重装了2003,计算机名随机,再安装了NNTP,SMTP,IIS等组件.IP我还是用之前的IP=172.16.1.1,重装这个过程在这里我就不贴图了.)
接下来可以还原系统状态数据,来恢复活动目录啦,
我先把备份文件拿回到新做的服务器本地.
重启机器,按F8进入目录服务还原模式来还原系统状态数据.
进入桌面前会有个提示信息,不必理会,按确定.进入桌面.
在安全模式下,调入运行,输入ntbackup.启动备份还原工具.
进行如下操作,
开始还原.(这里就需要的时间会久一点,因为活动目录数据即备份集本身就大)
关闭之前会提示让你重启计算机,那么重启机计算机(重启计算机机可能会遇到指示一个或者多个服务无法启动的错误,原因是,还原Windows的备份集时还同时还原了所重建服务器的原始注册表,注册表上包括了试图要启动尚未重新安装的服务.)可忽略这些错误,完成启动过程.
忽略以上错误.
看一下活动目录的数据恢复没有?
这时候可以做Exchange的灾难恢复.
在灾难恢复模式中运行Exchange的安装向导.(把Exchange的安装光盘放进光驱)
在运行中输入:<drive>:\setup.exe /disasterrecovery
我的光驱在 D盘.
中途提示,可用备份集还原数据库,就完成了.
因我的Exchange是打了SP2补丁的,所以我还要在灾难恢复模式下安装补丁.
欢迎向导--同意协议-灾难恢复安装.
更新补丁时也有提示信息.如下:
就完成更新了,可以还原Exchange的数据啦.
打开运行.调出ntbackup
文件,右键调出文件编录.进行还原操作.
在ESE(Exchange Server的数据库系统是由名为Extensible Storage Engine(简称ESE)的数据库引擎来管理)引擎加载数据库文件时,它会检查数据库文件的一个特殊标志位。这个标志位保存了数据库文件上次是否被正常关闭。这个状态由“ Consistent”或“ Inconsistent”来表示。对于一个正常关闭的数据库文件,所有在Log文件和内存中的内容都应该已经提交到数据库文件中,只有在这个时候,数据库才会被标记为“ Consistent”。有一点需要注意,在运行中的数据库,它的状态一定是“ Inconsistent”,因为在Log文件中肯定还有没提交到数据库文件内容。对于一个已经关闭并且状态被标示为“ Inconsistent”的数据库,并不意味着这个数据库库文件损坏了,“ Inconsistent”只是表示,还有未曾写入到数据库文件的内容保存在Log文件中。
打开CMD,进入数据库目录,使用eseutil -mh 命令检查数据库状态,如果文件的状态为dirty shutdown ,就处不一至状态,那么需要用eseutil /p来对数据库进行修复.
进行修复.对邮箱存储和公用存储.
下面是对EDB进行修复.
先分析下EDB数据库里面保存的是什么文件?
当邮件从MAPI协议的客户端(通常是Microsoft Office中的Outlook)提交到数据库后,邮件内容被保存在edb文件中。
会不会想到.
如果请求的邮件是保存在edb文件中的,那么信件被直接打开后返回给用户。如果被请求的信件保存在stm文件中(此信件是SMTP格式的)?怎么访问啊?
答案如下:Exchange Server数据库引擎首先会做一个转换,把stm文件中的数据格式转换成MAPI可以识别的格式,然后再发送给客户端。这个过程称之为“On-demand Conversion”。
刚才是EDB数据库,现在是STM.
用户使用SMTP/POP3客户端(如Outlook Express, FoxMail等)跟邮箱连接。当SMTP协议向Exchange Server提交邮件时,邮件的内容被保存在stm文件中。
那会不会这样的疑问.
当用户使用POP3协议来读取邮件时,如果被访问的邮件位于edb文件中?怎么办?
同样,一个从MAPI到Internet格式的转化(“ On-demand Conversion”)也会在后台悄悄的发生.来解决这问题.
接着再对公用存储.
再执行一篇数据检查.
整个过程基本就完成啦,
最后我们来验证一下结果:
看一下邮箱用户的邮件,公用文件夹是否还存在???
我是登录客户端上去验证的.顺便也验证了活动目录.
如上,客户端能登录,打开邮箱,所有邮件回来了.公用文件夹数据也回来啦,所有的过程最如上所示.成功完成灾难恢复.