Exchange 2007 中的丢失日志回弹和事务日志活动

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2009-01-14

本主题讨论“丢失日志弹性”(LLR) 以及名为“日志回滚”的附带功能。这些功能是与 Microsoft Exchange Server 2007 的正式发布 (RTM) 版本一起推出的,它们的行为已在 Exchange 2007 Service Pack1 (SP1) 中修改。这些功能可以出现在所有邮箱服务器上。但是,它们的行为取决于邮箱服务器的配置和所安装的 Exchange 2007 的版本。

丢失日志弹性

在 Exchange 2007 中,即使一个或多个最近生成的事务日志文件丢失或损坏,也可以使用名为 LLR 的可扩展存储引擎 (ESE) 内部组件来恢复 Exchange 数据库。默认情况下,在所有 Exchange 2007 邮箱服务器上启用 LLR。即使是在最近生成的日志文件不可用时,也可以使用 LLR 装入邮箱数据库。日志文件不可用的其中一个原因是群集连续复制 (CCR) 环境中发生了故障转移,这也称为未计划中断。有关在有耗故障转移的详细信息,请参阅计划中断和未计划中断。有关恢复丢失日志文件的数据库的详细信息,请参阅Eseutil /R 恢复模式

note注意:
在连续复制环境中,仅为数据库的主动副本启用 LLR。被动副本不使用 LLR,因为被动数据库始终都会尽可能地保持最新状态。

Exchange 数据写入操作的顺序始终是内存、日志文件、数据库文件。LLR 的工作方式是,在创建指定数量的日志前延迟到数据库的写入操作。LLR 会在短时间内延迟数据库文件的最近更新。延迟写入的时间长度取决于生成日志的速度。

在发生故障转移的情况下,如果丢失的日志数少于管理员所配置的允许数量,则数据库的被动副本可以由 Microsoft Exchange Information Store 服务自动装入。管理员可以通过设置 AutoDatabaseMountDial 参数,确定在故障转移时能够装入数据库之前可丢失日志的最大数目。该参数在 Active Directory 目录服务中由名为 msExchDataLossForAutoDatabaseMount 的 Exchange 属性表示,它包含以下三个值:Lossless、Good Availability 和 Best Availability。Lossless 表示丢失日志数为 0,Good Availability 表示丢失日志数为 3,默认值 Best Availability 表示丢失日志数为 6。有关如何配置这些值的详细步骤,请参阅如何优化群集连续复制的故障转移和装入设置。将系统配置为 Good Availability 或 Best Availability 时,不要使用空格(例如,使用 GoodAvailability 和 BestAvailability)。

事务日志回滚

名为日志回滚的机制用于进一步减少数据丢失。日志回滚的工作是通过定期关闭当前的事务日志文件并创建下一代日志文件来完成的。该机制有助于 LLR(进而有助于 CCR)减少由于丢失日志文件所导致的数据损失(主要在故障转移之后)。

important要点:
在没有用户或其他数据库活动的情况下,日志回滚机制不会生成事务日志。实际上,日志回滚被设计为仅当日志被部分填充时发生。

将日志向前回滚意味着,即使当前的日志文件 (Exx.log) 未满,也将关闭并生成新的事务日志文件。有关事务日志记录的详细信息,请参阅了解事务日志记录

日志回滚行为基于“LLR 深度”的值。在运行 Exchange 2007 RTM 的 CCR 环境中,LLR 深度是一个数值,等于 1 加上丢失日志的可容忍数,由 AutoDatabaseMountDial 参数的值指定。例如,如果 AutoDatabaseMountDial 参数的值为 6(说明系统已配置为 Best Availability),则 LLR 深度的值为 7。

在运行 Exchange 2007 SP1 的 CCR 环境中,不管 AutoDatabaseMountDial 参数的值是多少,LLR 深度都硬编码为值 10。

在 Exchange 2007 RTM 和 SP1 中,对于不在 CCR 环境中的所有邮箱服务器(例如,有或没有 LCR 和单一副本群集的独立邮箱服务器),LLR 深度都硬编码为值 1。

在系统的空闲时间达到计算的时段后,将发生日志回滚。要计算何时应当发生日志回滚,系统使用以下公式:

[15 (分钟) ÷ LLR 深度值] = 日志回滚活动的频率(分钟)

然后可以将 1,440(每天的分钟数)除以日志回滚活动的频率,以确定作为日志回滚活动的结果,每天将生成的每个存储组的最大日志文件数。

例如,在运行 Exchange 2007 SP1 的 CCR 环境中,LLR 深度为 10。因此,日志回滚活动每 1.5 分钟发生一次,作为日志回滚活动的结果,每个存储组每天生成的最大日志文件数是 960。

日志回滚大小

要在存储组中进行大型日志回滚,必须满足下列条件:

  • 存储组必须具有邮箱数据库。

  • 存储组必须具有很少创建事务日志的用户活动。

  • 存储组必须具有过程或应用程序经常登录的一个或多个邮箱。

每天为空闲存储组生成的日志文件的最大数,取决于邮箱服务器的配置。下表列出了每个邮箱服务器配置的每空闲存储组日志文件的最大数。

每个 Exchange 2007 RTM 邮箱服务器配置的每空闲存储组日志文件的最大数

邮箱服务器配置 空闲存储组每天生成的事务日志文件的最大数
  • 独立服务器(不管是否具有 LCR 配置)

  • 单一副本群集

  • 具有 Lossless availability 的 CCR

96

具有 Good Availability 的 CCR

384

具有 Best Availability 的 CCR

672

每个 Exchange 2007 SP1 邮箱服务器配置的每空闲存储组日志文件的最大数

邮箱服务器配置 空闲存储组每天生成的事务日志文件的最大数
  • 独立服务器(不管是否具有 LCR 配置)

  • 单一副本群集

96

具有 Lossless Availability、Good Availability 和 Best Availability 的 CCR

960

由于用户活动、联机维护和其他因素的影响,邮箱服务器通常创建的事务日志比上表中所显示的值多。