Exchange邮箱数据库事务日志引发磁盘暴涨

最近在作公司邮件系统的数据迁移(zimbra to exchange),原zimbra700多G的数据文件迁移到exchange2010中(IMAPSYNC迁移数据到exchange)。考虑到增加因素,exchange中预留了2T的空间用于数据存储。linux

Imapsync 详见:http://imapsync.lamiral.info/shell

本次数据迁移预计10天完成(帐户5000多及其余缘由,很耗时,哈哈哈。。。),过程基本正常,当进行到第五天时,查看进度,帐户完成3000多,数据同步600G左右。zimbra服务器正常运行,邮件收发正常。Exchange服务器正常,同步完的帐户邮件数量及内容一致。最后查看exchange数据库占用磁盘容量,居然多达1.4xTB。继续下去,exchange会因数据库磁盘写满而没法正常运行。数据库

为何同步后邮件会增加这么多呢?windows

首先想到的问题是linux系统和windows系统的数据块大小不一致照成的,查看windows分配单元和linux block size的大小,都是4096字节,因此排除这个缘由。既然和系统及分区无关,其余可能的缘由就是数据库自己了。打开一个exchange邮箱数据库,能看到edb后缀的数据库文件及log后缀的日志文件。查看数据大小,log文件的总容量和edb文件几乎相同(log稍微大一些)。同步过程当中exchange生成了至关于数据大小的日志文件。至关于在exchange中存有两份数据。查询微软知识库:Exchange邮箱数据库的事务日志文件将记录数据库引擎执行的每一个事务。全部事务将先写入日志,而后再慢慢写入数据库。“天天生成的事务日志数”的值取决于选择的邮件配置文件和平均邮件大小。它表示天天每一个邮箱将生成的事务日志数。每一个邮件配置文件的日志生成数需考虑如下因素:服务器

邮件大小的影响ide

发送/接收的数据量3d

数据库运行情况维护操做日志

记录管理操做blog

不是邮件但存储在邮箱中的数据(任务、本地日历约会、联系人)事务

强制的日志滚动(按期关闭当前事务日志文件的机制)

详细参考:http://technet.microsoft.com/zh-CN/library/ee832796

同时IMAPSYNC的工做原理至关于以imap的方式在exchange服务器上接收一份邮件数据。同步的邮件数量和邮件大小是正常工做的几百甚至上千倍,所以同一时刻会产生至关于数据大小的事务日志文件,进而磁盘容量暴涨。还好发现及时,问出现故障。

最后就是想办法清除多于日志文件,解决方法有两种,一种是启用Exchange2010循环日志,另外一种是使用Windows Server backup执行一次“VSS完整备份”,这种方式会清空日志(推荐方法)。

注:清除日志后在mailbox出现问题的时候 没法进行排错。

生产环境中遇到日志占满磁盘空间,推荐采用备份的方式清除日志。考虑到咱们这阶段只是同步邮箱数据产生的日志而非exchange运行中的发送接收产生,不会对mailbox有太大影响。所以采用启用日志循环功能,清除日志完成数据同步后再关闭日志循环个功能。

方法:

1. 启动 Exchange 管理控制台EMC。

2. 在EMC控制台中,展开“服务器配置”,而后单击“邮箱”。

3. 在工做窗格中,右键单击要启用或禁用循环日志记录的邮箱数据库,再单击“属性”。将出现“属性“对话框。

4. 选中“启用循环日志记录”复选框。

clip_p_w_picpath001

5. 单击“肯定”。

6. 若要使对循环日志记录设置的更改生效,请从新启动 Microsoft Exchange 信息存储服务,或卸除后再从新装入存储组中的全部数据库。

clip_p_w_picpath002 clip_p_w_picpath003

7 对于多个邮箱数据库,可以使用exchange powershell 命令开启日志循环,格式以下:

Set-MailboxDatabase -CircularLoggingEnabled $true -Identity 'CEOMSBGS'

多条写入ps1脚本运行便可。

8 当需求不能重启服务及卸载数据库时,可经过更改数据库维护时间时循环日志生效

clip_p_w_picpath004

对于多个数据库,一样适用于脚本,格式以下:

Set-MailboxDatabase -MaintenanceSchedule '日.14:00-日.15:00, 一.14:00-一.15:00, 二.14:00-二.15:00, 三.14:00-三.15:00, 四.14:00-四.15:00, 五.14:00-五.15:00, 六.14:00-六.15:00' -Identity 'CEOMSBGS'

全部执行完成后,查看磁盘容量,数据量大概是zimbra数据量的120%,属于正常范围。最后同步完成后再将日志循环功能关闭。

最后,问题解决,逃过被老板骂存储容量未规划好,呵呵呵。。。

相关文章
相关标签/搜索