封面
《详析邮件服务器邮件存储和日志》Word格式可编辑含目录
精心整理放心阅读欢迎下载
文档信息
详析邮件服务器邮件存储和日志目录
一、 IS服务和ESE的层次关系
A--Atomic 原子的 事务必须是全或全无的操作
C--Coistent 一致的
I--Isolated 孤立的
D--Durable 持久的 当事务一旦提交
二、 EXCHANGE 2000/2003存储系统的新特点
三、 EDB和STM的关系
四、 LOG文件的重大作用
1、作为一个企业级的邮件系统必须要保证数据安全和完整
2、必须提供高性能的邮件处理能力
3、灾难发生后
五、 ESE与IS服务的启动和关闭
六、关于M盘
正文
详析邮件服务器邮件存储和日志
本文以数据库的基本原理为基础分析了EXCHANGE SERVER的存储系统并说明了各部分的作用。
一、 IS服务和ESE的层次关系
I S服务是E XCHANGE服务器中重要的服务之一它控制着对邮箱和PF的存储操作请求 EX CHANGE服务器的存储实际上是由ESE的数据库引擎来管理的。这个ESE引擎是微软专门为保存非关系型数据而开发的 目前在微软的很多产品中都有广泛的应用如 AD数据库、DHCP、 W I、 S等等。
EXCHANGE的数据库是由EDB文件、 STM文件和LOG文件组成。在这些文件里微软使用了“B+树”的内部数据结构。 ESE的引擎的任务之
一就是当IS服务请求访问数据库的时候把这些请求转化为对内部数据结构的读写访问。 B+树的特点是能够对存储在硬盘上的数据提供快速访问能力。微软利用“B+树”作为ESE的后台结构的主要原因就是尽可能的提高访问数据时I/O性能。当然这些结构对于
EXCHANGE STORE来说是透明的。
另外作为一个数据库系统 ESE有责任提供事务级别的操作的支持并维护数据库的完整性和一致性。对数据库系统而言我们提到事务时一般用AC I D来描述事务的特点。
A--Atomic 原子的 事务必须是全或全无的操作要么全部成功更新要么全部不被更新
C--Coistent 一致的 一个成功提交的事务必须使数据库处于一个一致的状态。
I--Isolated 孤立的 所有未提交的更改都必须能够和其他事务孤立。
D--Durable 持久的 当事务一旦提交所做的更改必须存储到稳定的介质上防止系统失败导致的数据库不一致。 此点非常重要
二、 EXCHANGE 2000/2003存储系统的新特点
在中 ESE的版本为ESE97而在EX2000/2003里 ESE版本已经升级ESE98了。 ESE引起在以下方面得到了改进
* I/O性能进一步提高和优化
*对日志文件增加了计算校验操作
*提高了ESEUTIL等工具的维护速度
而IS也在以下方面有了更新
*在每个SERVER上提供多个SG支持
*数据库STM文件格式的引入提高了I NT ERNET邮件的性能
* WSS的引入用户可以使用多种协议访问数据库
三、 EDB和S TM的关系
常有人问 EDB文件是数据库那S TM文件是做什么用的可以删除吗
在里只有EDB文件 因为在发布时微软主推的是内部邮件系统 因此其主要协议为MAP I这是微软的私有邮件西医 EDB文件是专门为此协议优化过的。因此在中为了支持INTERNET邮件必须在每次处理INTERNET邮件时做一个格式转换。这显然带来了性能的损失。
在EX2000里微软加大了对I NTE RNET邮件的支持这就是STM文件的来源。 MAP I格式是RPC和二进制标准的而STM是纯文本加上一些M I ME编码格式这样的区别使得它们不可能存储在同一数据库里。因此EX2000中微软开始使用EDB和STM两个文件来分别保存两种格式的邮件。并且在两个文件之间建立了引用和关联。对于用户来说它的邮箱实际上是跨越了E DB和S TM文件共同组成的。另外需要注意的是 EDB文件中还保留着用户的邮箱结构。所以EDB文件更加重要。那么EDB和STM是怎么协同工作的呢我们以几个情景来分析之。
情景一用户使用OUTLOOK MAPI发送接收邮件
在该情景下用户将邮件通过MAP I协议提交给数据库直接被保存EDB文件中。当用户通过MAP I访问邮箱里的邮件时如果被访问的
邮件在EDB里直接返回如果在STM里如外来邮件 则执行转换将STM转换为E DB文件格式再返回用户。
情景二用户使用标准SMTP/POP3/IMAP4等协议访问
用户使用非MAP I协议提交的邮件 内容保存在STM文件里但是由于E DB里有邮箱结构 STM没有 因此系统会把邮件的重要信息提取出来放在E DB里。当用户用MAP I提取邮件时过程同上 当用户通过标准协议访问时 同样需要进行格式转换转换为S TM文件格式返回。 这些转换是在后台发生的。对用户来说是透明的。通过上面的描述你会看到这两个文件是紧密联系的缺一不可。所以在任何时间我们都不要单独操作这两个文件它们是一个整体。 同时也要注意的是无论用户使用何方式访问邮箱都需要向EDB文件请求邮箱结构信息这是需要注意的。
四、 LOG文件的重大作用
在论坛里经常会看到有人说我的硬盘怎么很快就没了一看原来是日志文件搞的鬼于是就有人删除日志文件甚至使用循环日志来强制减少日志甚至有人提出这样的疑问 日志到底有什么用是不是多余的那我们来看看日志的重大作用。
对于一个SG来说系统会产生一系列的日志这些日志的扩展名为LOG前缀一般是E00、 E01„„除了这些连续的日志文件外还有一些特殊的日志文件 它们又有什么用呢我们的管理员通常不喜欢备份这一操作 因此对这些日志是痛恨不已啊。那么微
软在E XCHANGE数据库系统中引入日志的作用难道真的是多此一举吗我们从以下几个方面来考察一下日志的作用
1、作为一个企业级的邮件系统必须要保证数据安全和完整。必须能够面对随时可能发生的意外灾难把数据损失降低到最小。
2、必须提供高性能的邮件处理能力对数据库中的邮件的事务操作在完成后必须马上或是说立即被记录在存储介质上见前面的事务持久性说明
3、灾难发生后使用数据库备份恢复必须要返回到灾难发生前一刻的数据库状态这是至关重要的
现在我们来更进一步的看一下 当用户要修改邮箱中的内容时被修改的内容首先被提取出来放到内存中实际的修改是发生在内存里的这是众所周知的当修改完成后这些内容必须被尽快写回存储介质这样才表示一个事务成功完成了。
从事务的描述中我们可以看到事务是具有原子特性的为了保证数据库的一致和完整事务必须全部成功或全部失败如果事务失败则必须回滚到事务开始的状态。而当邮件在内存中修改完成后此时事务并没有完成为什么呢 因为一旦系统崩溃这些修改就丢失了。所以要确保事务修改完成必须尽快将修改写回到数据库里去也就是硬盘上 。这也是事务的持久性要求。注意我们这里说的第一时间或是尽快是一个什么样的概念。如果我们直接修改EDB 文件 由于EDB
文件比较大那么在硬盘上修改一个大文件就需要花费大量的时间在等待和寻找数据存储块上见操作系统原理 当系统出现高负载的繁忙状态时这将是一个非常大的瓶颈。也就无法做到“尽快”了。那怎么办呢所以数据库系统使用了日志而日志通常很小
EXCHANGE的日志只有5 MB 向这些文件写入修改结果是很快速的 因此当内存的修改完成后这些结果就会立即写入日志中 以保证了事务的持久性。当成功写入日志后该事务就成功完成了现在在硬盘上了不会因为当机丢失了接下来 ESE引擎会在后台慢慢将这些日志里的修改记录写回真正的数据库里去这对用户来说已经不是那么重要了 这就是日志的第一个作用确保事务在第一时间
尽可能快的保存到非易失存储器上提供了事务持久性支持
根据上面的藐视我们看到运行中的EXCHANGE数据库是由三个部分组成的
*内存中已经完成处理还没有写会到日志里的内容Dirt page
*还没有写到数据库文件里的日志内容
* EDB和STM数据库文件
对于第一个部分一旦掉电就回丢失的是最不安全的。而对于第二部分的内容系统通过检查点文件CHK来标记哪些日志已经被写入数据库了而哪些还没有。 CHK文件类似一个指针。我们可以用“ES EUT I L /MK”来检查CHK文件里的内容在该命令的输出中的
checkpoint:这样的东西就是检查点位置它表示E0x00008的日志的页面序号已经被成功写入数据库了。大家可以自己看看。
前面提到过 E XCHANGE系统在出现灾难时应能恢复到灾难发生前的时刻的状态。这是非常重要的。但即使是最勤快的管理员也只能在指定的预定时间内做系统备份而不可能时时刻刻的都在备份。那么在备份完成后到灾难发生之前的这段数据该如何保护呢是不是就任由它丢失呢显然是不可能的。那答案是什么呢就是日志文件。前面我们知道任何对数据库的更改都先写入日志里再由日志写入数据库这样我们只要找到日志文件就可以重新进行模拟的操作来完成备份后的数据库文件的更改了我们举个例子来看看
假设我们在凌晨3点完成了一次FULLBAC KUP备份完成后系统正常运行到下午4点的'时候系统突然崩溃。管理员用凌晨3点的数据恢复了数据库那么从凌晨3点到下午4点这段时间的数据变更就只能依赖于日志了。当完成数据库恢复后系统会自动的跟踪到关联的日志文件如果发现有比当前数据库还新的日志存在系统就会自动的按照日志的顺序将更改写回到数据库中去。因此这样一来从凌晨3点到下午4点的数据变更就被完整的恢复了。这就是日志的第二个作用保证系统备份和恢复的完整性。当然前提是没有使用循环日志 看到了吧使用循环日志的危害是相当大的 比起你的数据来说多做几次备份不是没有意义的吧
说到这里有人可能要问如果数据库和日志同时损坏如何办答案是尽量避免这样的情况发生。首先数据库损坏的几率要大于日
零途云(Lingtuyun.com)新上了香港站群云服务器 – CN2精品线路,香港多ip站群云服务器16IP/5M带宽,4H4G仅220元/月,还有美国200g高防云服务器低至39元/月起。零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新...
青云互联怎么样?青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港安畅cn2弹性云限时首月五折,15元/月起;可选Windows/可自定义配置,让您的网站高速、稳定运行。点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联香港云服务器活动...
活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...