邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 6909|回复: 10
打印 上一主题 下一主题

[求助] exchange 2003为什么每天都生成很多5120KB的日记啊???

[复制链接]
跳转到指定楼层
顶楼
发表于 2010-12-19 17:06:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
钉子哥麻烦给点提示啊??
2003 Exchange 系统管理器服务器里面的存储夹路径放在K盘然后每天都会生成几百个5120KB的日记,其他存储夹
都不会生成啊,每天都是手动删除了,好像也没什么影响,是不是哪里设置有问题啊??

rrrr.png (47.06 KB, 下载次数: 0)

rrrr.png
沙发
发表于 2010-12-20 14:44:25 | 只看该作者
正常啦!

数据库的日志文件。

先去拿本书看看资料。
藤椅
 楼主| 发表于 2010-12-20 17:00:50 | 只看该作者
怎么会正常呢?我别的存储组都不会生成这些日记,而且一天生成几G还正常啊???
板凳
发表于 2010-12-20 22:42:24 | 只看该作者
是的。这是正常的数据库的日志。

如果别的存储组不会生成日记,那应该你在存储组的数据库上进行了设置。

为了保存邮件数据库的安全,建议还是不要进行这样设置好。
报纸
发表于 2010-12-21 08:40:33 | 只看该作者
确实正常。这个是和你邮件收发量来挂钩的。建议不要手动删除。如果很大的话,做个自动备份。备份完就会消失
地板
发表于 2010-12-21 08:54:16 | 只看该作者
建议你百度一下喻勇写的“浅谈Exchange Server邮件存储系统---原理篇”看看,里面写的很清楚。
7
发表于 2010-12-21 08:59:18 | 只看该作者
以下内容来自喻勇的“浅谈 Exchange Server邮件存储系统---原理篇”
Log文件的作用

我们讨论Exchange Server的邮件存储,就不得不谈谈它的日志文件。我不止一次的听到Exchange Server的管理员抱怨:日至文件每天都在疯长,太消耗硬盘空间了。

我们来看看这些日志文件到底有些什么作用。对于每一个Storage Group,Exchange Server会产生一系列与之对应的日志文件。这些日志文件的大小为5M,扩展名为log,他们的前缀为E0x,其中x是日志文件所对应的Storage Group的编号[脚注:虽然在Storage Group的属性中有“Log File Prefix”这一个文本框,但实际上这是不能更改的。]。因此第一个Storage Group的日志文件前缀为E00,第二个的为E01,依次类推。这样做的目的是当存在多个Storage Group时,可以避免管理员在维护的时候把日志文件”张冠李戴”。另外,除了连续的Log文件,我们还能看到E0x.chk、Res1.log、Res2.log等文件。

很多管理员都对日志文件非常的头疼,那么,微软在Exchange Server的数据库系统中引入Log文件的目的是什么呢?我们从以下几个方面来看:

1.        作为一个企业级的邮件数据库系统,必须做到数据安全和完整性的万无一失。必须能够面对随时可能发生的崩溃和宕机,What happens if we crash? 要能够把数据的损失减少到最新程度。
2.        必须提供高性能的邮件吞吐能力,对数据库中的邮件的事务操做在完成后必须马上被记录到存储介质上(事务的持久性)。
3.        当灾难发生时,使用数据库的备份恢复必须要返回到灾难发生前一刻的数据库状态。

现在我们更进一步的来看一下,当我要修改邮箱中的内容时,被修改的内容首先被读取出来放到内存中。实际的修改发生在内存中,当修改完成后,这些内容必须被写回存储介质,才能表示一个修改成功地完成了。

对于这样的修改过程,在数据库级别上,我们叫做一个“事务”。我们知道,为了确保数据库的完整性和一致性,事务的操作是“原子级别”的。如果一个事务成功,那么标志着他所作的改变被永久的保存下来了;如果一个事务失败,系统必须回到事务开始之前的状态。

当系统在内存中完成修改时,事务并没有完成。如果这个时候宕机,数据库中保存的仍然是没有更改的内容。那么,怎么样确保在内存中完成的修改能够在第一时间写入到数据库呢(以达到数据库事务持久性的要求)?注意,这里的要是第一时间,也就是越快越好。如果我们直接向edb文件写入,无法做到最快,因为,edb文件通常都很大,I/O系统在对大的文件进行随机写入操作时,会花费大量的时间在等待磁盘查找到合适的磁道和扇区,当系统繁忙时,这将会是一个瓶颈。因此,数据库系统使用日志文件,当内存中的更改完成后,首先写入到日志文件中。日志文件的尺寸很小,写入性能要远远优于庞大的edb文件。在写入完成后,事务也随之成功的保存在存储介质上了。Exchange Server 的数据库引擎会在后台把Log文件中的内容写入到数据库中,因为此时事务操作已经完成,即使此时掉电或者宕机,也不会使完成的事务遗失。这是日志文件的第一个作用:确保事务能够在第一时间保存到非易失存储介质上。(提供持久性Durable支持)

根据上面的描述,我们知道在运行中的Exchange Server数据库,是由三部分组成的

        内存中已经完成修改但是还没有写入日志文件的内容(Dirt Page)。
        还没有写入到数据库文件的日志文件内容。
        Edb和stm文件。

对于内存中的数据(Dirt Page),这些数据会在系统掉电或者崩溃时遗失。

Exchange Server使用了一个名为E0x.chk(Check Point)的文件记录了那些Log文件已经写入到了数据库文件。这是一个类似指针的记录。
我们可以使用命令 ESEUTIL /MK来查看这个文件chk的内容

C:\...\Exchsrvr\BIN> ESEUtil /mk “C:\...\Exchsrvr\mdbdata\e00.chk”

Microsoft(R) Exchange Server(TM) Database Utilities
Version 6.0 Copyright (C) Microsoft Corporation 1991-2000.  All Rights Reserved.
Initiating FILE DUMP mode...
      Checkpoint file: C:\program files\exchsrvr\mdbdata\e00.chk

      LastFullBackupCheckpoint: (0x0,0,0)
      Checkpoint: (0x8,26DA,30)
      FullBackup: (0x0,0,0)
      FullBackup time: 00/00/1900 00:00:00
      IncBackup: (0x0,0,0)
      IncBackup time: 00/00/1900 00:00:00
      Signature: Create time:03/28/2004 20:26:10 Rand:6519986 Computer:
      Env (CircLog,Session,Opentbl,VerPage,Cursors,LogBufs,LogFile,Buffers)
          (    off,    202,  10100,   1365,  10100,    128,  10240,  40828)

Operation completed successfully in 1.47 seconds.

在命令的输出中, Checkpoint: <0x8,26DA,30>表示了当前提交到数据库文件的Log完全位置。其中,0x8是Log文件的序号,一般对应于E0x00008.log,剩下的两个参数是Log文件内部页面(page)的编号。

下面我们再看一下日志文件对系统备份和恢复的作用。

前面提到过,Exchange Server要求在灾难发生后能够恢复到灾难发生前一刻的状态。对于一般的系统,我们总是每周或者每天进行备份,那么,在备份之后和灾难发生之前这段时间的数据如何保护?答案是日志文件。我们知道,对于数据库的任何更改,都会先被写入到日志文件,然后再由日志文件更新到数据库中。我们现在假设有这样一套系统,在每天的3:00 AM进行备份,备份完成后,系统正常运转。如果在中午12:00的时候系统出现故障,管理员用3:00AM的磁带恢复了系统,那么,从3:00AM到12:00AM这段时间的数据,将由log文件来填补的。具体的情况是,当3:00AM的备份恢复完成后,Exchange Server会自动扫描到跟这个store相关联的日志文件夹,如果发现有比当前数据库还新的日志存在,Exchange Server会自动把这些日志按照顺序写入到数据库中。因此,从3:00AM到12:00AM这段时间对数据库所作的更改,可以被恢复回来。这是日志文件第二个重要的作用。(前提是没有开启循环日志功能)

有人可能会问,如果数据库文件和日志文件同时损坏怎么办?答案是这样的:避免这种情况发生。首先,数据库文件损坏的概率要远远大于日志文件,另外,微软推荐的做法是把数据库文件和日志文件分别放置在不同的磁盘上。我们会在下一期的文章中着重讨论这个问题。

管理员针对日志文件的抱怨是,这些文件会每天不断的增长,大量消耗硬盘空间。对于这个问题,唯一合理的解决办法是:定期的做针对Storage Group的全备份或增量备份。因为Exchange Server会在全备份或增量备份完成后把这次备份之前产生的Log文件全部删除。很多管理员手动的删除日志文件,或者启动“循环日志”来减少对硬盘空间的消耗,这都是不正确的做法。残缺不全的日志文件会使系统在进行备份恢复的时候无法还原到最近的状态。如果你的系统是一周做一次全备份,而你碰巧又在备份后删除了一些日志文件,那么你就有可能在需要恢复的时候丢失备份以后的数据。记住,数据总是比磁盘空间更宝贵。

[ 本帖最后由 ynli 于 2010-12-21 09:00 编辑 ]
8
 楼主| 发表于 2010-12-28 13:07:11 | 只看该作者
我试过备份这些日记,当是备份的数据都是很大的,而且要很久,请问谁能够教教我啊

QQ截图未命名.png (26.84 KB, 下载次数: 0)

QQ截图未命名.png
9
发表于 2010-12-28 13:56:21 | 只看该作者
这个,不是要你手动备份嘛,建立一个备份计划让他每天或者每周做一次就好了。当然你有足够的硬盘空间,可以让计划任务时间距离大一些。
10
 楼主| 发表于 2010-12-28 14:26:11 | 只看该作者

回复 9楼 tarian 的帖子

tarian 你好,就因为日记太多备份起来要很大的空间,是否先把日记拷到别的盘符,再进行备份可以么。谢谢
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2026-8-5 04:28

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表