您所在的位置: 首页>>系统应用>>Mail>>

浅谈Exchange Server邮件存储系统-原理篇(3)

http://sysapp.51cto.com  2005-12-06 10:04    5dmail  我要评论(0)
  • 摘要:本文从数据库基本原理的角度入手,通过对Exchange Server Store模块的分析,来揭示Exchange Server邮件存储系统的工作原理和维护技巧。文章适合有一定Exchange Server管理经验的专业IT人员阅读,目的是使读者在维护Exchange Server邮件系统时,能够做到知其然,更知其所以然。
  • 标签:存储
在这个过程中,Event Log中会有如下的记录

Event Type:        Information
   Event Source:     ESE98
   Event Category:  Logging and Recovery
   Event ID:         301
   Date:                    10/17/2001
   Time:                    5:52:11 AM
   User:                    N/A
   Computer:          
Description:        Information Store (XXXX) The database engine has begun replaying logfile ..\..\E0014553.log.

我们也可以针对已经“Dis-mount”的并且是处在“Inconsistent”的数据库手工地进行“Soft Recovery”。
具体的命令是“eseutil /r”,后跟数据库文件的路径。(推荐在掉电重启以后执行此命令,可以先运行eseutil /mh确定数据库状态,如果是“Inconsistent”,再执行此命令)
由此我们可以发现,Exchange Server有能力对未正常关闭的数据库进行“自我修复”。因此,ESE确保了即使在突然掉电的情况下,数据库仍然能够处在一个可恢复的状态,并且会在重启服务以后自动完成状态检测和恢复。
M盘的来龙去脉
在Exchange Server 2000发布时,微软提出了“Web Storage System”的概念,其核心就是提供多种途径来访问Exchange Server的数据库。这些途径包括
文件系统/IFS
--Http WebDAV
--ExOLEDB/ ADO
--CDO
其中,提供文件系统服务的IFS技术是引起争议比较多的一个模块。在安装Exchange Server 2000后,系统会出现一个M盘。这个M盘,就是由微软通过IFS(Installable File System)技术实现的一个数据库到文件系统的映射。开发人员可以通过标准的文件操作API(如CreateFile, OpenFile等)来访问Exchange Server的邮箱和邮件。
打开M盘,你可以看到一个以你当前域名命名的文件夹。在这个文件加下面,你会看到一个包含了所有邮箱的文件夹,名为MBX。MBX下面,是以用户的姓名来命名的邮箱文件夹,在每个文件夹下面,都可以看到Inbox、 Outbox等邮箱的内容。每一封信件,都是以扩展名为EML的文件来表示的。
ExIFS使用了一个名为\\.\BackOfficeStorage的特殊共享名称来指向数据库文件。你可以在命令行中运行“Dir \\.\BackOfficeStorage\domain.con\MBX”,这个命令的实行结果跟直接使用M盘作为盘符是一样的。
我们可以通过修改注册表的方式所来改变Exchange Server所映射的盘符。

HLKM\System\CurrentControlSet\Services\ExIFS\Parameters
Name:            DriveLetter
Data Type:      REG_SZ
Value:            Drive letter for IFS (盘符,不需要跟冒号)

在更改注册表以后,需要重启Information Store Service使更改生效。
我们也可以使用如下的命令行工具来改变M盘的映射:

Subst X: \\.\BackOfficeStorage          注释:把Exchange Store映射到X盘
Subst /d M:                注释:删除对M盘的映射

如果我们移除了M盘,我们还是可以通过\\.\BackOfficeStorage这个共享名字来访问Exchange Server的数据库。
ExIFS在Windows中是作为一个隐藏的服务来运行的。下面的注册表键值定义了这个服务的参数:
HLKM\System\CurrentControlSet\Services\ExIFS\Parameters

由于这是一个隐藏的服务,因此我们没有办法通过Service控制面板来对这个服务进行控制。但是我们可以通过命令行来做到:

NET Start ExIFS     注释:启动服务
NET Stop ExIFS      注释:停止服务


下面这张图表示了ExIFS的架构。

ExIFS是使用运行在Windows内核模式的ExIFS.sys驱动程序来实现的。
我们知道,文件系统和Exchange Server的store是两个完全不同的体系结构。文件系统中的文件只包含比较少的属性,而保存在Store中的邮件,有其特定的属性,并且,在 Store中,邮件之间还有非常复杂的关联关系(跟邮箱的关系,邮箱文件夹的视图等)。因此,M中以EML形式存在的文件(邮件),只是反映了邮件所有属性和关系的一个子集。一些对于M盘的不适当操作,往往会破坏数据库内部的关系,造成数据库损坏。比较典型的例子是,防病毒软件扫描M盘,发现“嫌疑病毒” 并予以清除。根据微软技术支持部门的统计,这是造成Exchange Server Store数据库损坏的主要原因之一。因为防病毒软件在清除病毒文件(EML文件)时,采取“野蛮施工”手段,往往会破坏数据库内部的关联和邮件结构,进而造成数据库文件内部结构的损坏。
另一个针对ExIFS的错误观点是:管理员认为对M进行备份即可保存Exchange Server的状态和所有数据。这是完全不正确的。M盘只是数据库内容在文件系统上的一个映射,M中所保存的“文件”,归根结底还是数据库中保存的邮件。由于映射到M盘,数据库中的邮件关联和关系都被去掉了,备份M盘,是没有办法恢复数据库的所有信息。



共3页: 上一页 [1] [2] 3
【内容导航】
虚拟存储管理与应用
存储为核心的系统发展之路
虚拟存储企业级应用座谈会
网络存储导论
SAN存储技术
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有