Exchange 存储维护

 

上一次修改主题: 2007-04-03

作者 Jeremy Kelly

本文介绍有关 Microsoft® Exchange Server 存储维护任务的详细信息。如果任务只适用于某些版本的 Exchange,会在任务中指明这一点。

Microsoft Exchange 存储维护是一个术语,适用于由 Microsoft Exchange Information Store 服务所执行的一系列操作(旨在确保数据库中的逻辑一致性)。这些操作可确保从数据库中删除系统不再需要的项目。如果尚未对 Exchange 系统管理器中的数据库定义自定义日程安排,将使用本地时间从 00:00 至 05:00 的默认日程期限。

总之,Microsoft Exchange Information Store 服务会在此期限内执行 10 个任务。

如果维护窗口在其中一个任务完成前结束,会记录最后一个运行的任务。最后一个任务将一直运行到完成,这样可能会超过维护窗口。在下一个维护窗口期间,Microsoft Exchange Information Store 服务会确定正在进行的最后一个任务,并重新启动进程(实质上是在下一个任务从停止位置继续)。

通过将 Microsoft Exchange Information Store 的事件日志记录级别调到最低,便可监视任务的进度。设置为最低时,将记录下列事件:

Event Type:   Informational

Event Source: MSExchangeIS Public / Private

Event ID:     1208

Description:

Starting the IS Maintenance tasks.

 

Event Type:   Informational

Event Source: MSExchangeIS Public / Private

Event ID:     1210

Description:

The IS Maintenance task <subtask name> completed.

 

Event Type:   Informational

Event Source: MSExchangeIS Public / Private

Event ID:     1209

Description:

The IS Maintenance tasks completed.

第十一个任务(联机碎片整理)由可扩展存储引擎 (ESE) 执行。在任务列表完成时,Microsoft Exchange Information Store 服务通过调用 ESE 启动联机碎片整理,以开始碎片整理进程。至少成功地完成 10 个任务之一后,该进程才会开始。

可通过查看应用程序日志(不调整事件日志记录级别)来监视联机碎片整理进度。当 Microsoft Exchange Information Store 服务启动对数据库的 ESE 联机碎片整理时,会记录以下信息:

Event Type:   Informational

Event Source: ESE

Event ID:     700

Description:

%1 (%2) %3Online defragmentation is beginning a full pass on database '%4'.

如果在维护窗口内完成完整的联机碎片整理过程,则会记录以下信息以表示完成:

Event Type:   Informational

Event Source: ESE

Event ID:     701

Description:

%1 (%2) %3Online defragmentation has completed a full pass on database '%4'.

如果由于窗口到期或备份启动而中断联机碎片整理过程,则会记录以下事件:

Event Type:   Informational

Event Source: ESE

Event ID:     704

Description:

%1 (%2) %3Online defragmentation of database '%4' was interrupted and terminated. The next time online defragmentation is started on this database, it will resume from the point of interruption.

如果上一次联机碎片整理周期在它完成完整的数据库联机碎片整理过程之前被中断,则会记录以下信息而不是之前描述的事件:

Event Source: ESE

Event ID:     702

Description:

%1 (%2) %3Online defragmentation is resuming its pass on database '%4'.

如果在维护窗口内完成恢复进行的数据库碎片整理过程,则会记录以下信息:

Event Type:   Informational

Event Source: ESE

Event ID:     703

Description:

%1 (%2) %3Online defragmentation has completed the resumed pass on database '%4'.

有关 Exchange 存储维护和联机碎片整理的一个重要说明是,它们会使数据库产生大量更改。若要维护数据库的可恢复性,这些任务所做的每一个更改也都会在事务日志中进行处理。根据任务期间数据库所经历的更改数,可能会在维护窗口期间生成大量的日志文件。

还应监视备份计划,以便它们不会与 Exchange 存储维护计划重叠。备份不会占先 Microsoft Exchange Information Store 服务所执行的 10 个初始任务,因此它们会同时运行。但是,当启动数据库的备份时,联机碎片整理过程会在备份完成之前保持挂起状态。

联机维护任务期间每次操作的列表以及用以控制其行为的可能配置操作,会在以下部分中描述。

以下部分描述 Exchange 存储维护任务。

ESE(以前称作 JET)的优点之一是,当信息被重新排序或以不同的排序顺序请求信息时,它可以动态地创建索引。在不受限制的情况下,Exchange 存储数据库中的一个表上可有数千个索引。

Exchange 存储通过跟踪索引(给它们分配一个过期时间)来处理这一情况。关于索引的信息会添加到一个被称为索引期限表的内部表中。在联机维护期间,会对索引期限表进行维护,并将每一个条目的 ptagIndexDeleteTime 值与当前时间进行比较。如果索引过期,便会将该索引删除。此过程每隔 24 小时运行一次,而且只在 Microsoft Exchange Information Store 服务的维护周期内运行。默认情况下,它会删除 Exchange Server 5.5 版中超过 8 天和 Exchange Server 2003 及 Exchange 2000 Server 中超过 40 天的条目。以下是一份标准列表:

  • 默认间隔   每 24 小时。
  • 默认标准   删除 Exchange Server 5.5 版中超过 8 天和 Exchange Server 2003 及 Exchange 2000 Serve 中超过 40 天的索引。
  • 可配置设置   可配置设置显示如下:
    DC=<Domain>
      CN=Configuration
        CN=Services
          CN=Microsoft Exchange
            CN=<ExchOrgName>
              CN=Administrative Groups
                CN=<site>
                  CN=Servers
                    CN=<servername>
                      CN=InformationStore
                        CN=<Storage Group>
                          CN=<Database>
  • 对象类   数据库对象。
  • 属性名   msExchAgingKeepTime。
  • 说明   保留数据库中未使用的索引和视图的时间(秒)。该值适用于 Exchange Server 2003 和 Exchange 2000 Server,并取代以下注册表值:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem\
  • 值名称   Aging Keep Time。
  • 基数   REG_DWORD。
  • 说明   保留数据库中未使用的索引和视图的时间(秒)。该值用于 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5。
  • 值名称   Aging Clean Interval。
  • 基数   REG_DWORD。
  • 说明   存储尝试清除未使用的索引的间隔时间(毫秒)。该值用于 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

或者

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPrivate

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

或者

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Private-<Public Folder GUID>

  • 值名称   Reset Views。
  • 基数   REG_DWORD。
  • 说明   将该值设置为 1 时,无论相应数据库的 Exchange 存储维护的下一个周期期限如何,都会导致存储删除所有索引。该值随后会被设置回 0。通过设置该值,您可能会体验到之前重建缓存视图的初始延迟。

每一个文件夹都会在该文件夹对象本身的 ptagMidsetDeleted 中为该文件夹维护一个已删除消息的列表。从文件夹中删除消息时,会在 ptagMidsetTombstones 中产生一个条目。如果已复制该文件夹,则会指示需要传播消息删除操作。当传播发生时,会从 ptagMidsetTombstones 移出条目,然后合并到 ptagMidsetDeleted。如果没有复制文件夹,则需要通过 Exchange 存储维护周期清理此情况。该过程每 24 小时运行,且不可配置。

从客户端中删除消息时,会设置标志 ptagMsgDeleted,以表示该消息已被删除。默认情况下,客户端不会显示已设置此标志的消息。若要查看这些消息,可以使用客户端中的垃圾站功能。如果没有启用垃圾站功能,则在维护周期内运行此过程时,便会从文件夹中删除已删除的消息。如果已启用垃圾站功能,则只有已删除并已超过保留期限的消息会在此例行维护期间被删除。

该过程还会检查已超过保留期限的文件夹,并且也会将它们删除。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

或者

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPrivate

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

或者

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Private-<Public Folder GUID>

  • 值名称   Deletion Thread Period。
  • 基数   REG_DWORD。
  • 说明   存储尝试清除未使用的索引的间隔时间(秒)。该值用于 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5。

在此维护过程中,会遍历公用文件中的所有消息,并删除已超过过期时间的消息。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

  • 值名称   Replication Expiry。
  • 基数   REG_DWORD。
  • 说明   存储删除已超过保留期限的项的间隔时间(毫秒)。

此维护过程会删除已超过 tombstone 生存期(默认期为 180 天)的已删除公用文件夹。当一个公用文件夹被删除时,会出于复制目的将它保存。这样可在复制过程中跟踪被删除的项目。这样每 24 小时最多可删除 500 个文件夹。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

  • 值名称   Replication Folder Tombstone Age Limit。
  • 基数   REG_DWORD。
  • 说明   保留 tombstone 的间隔时间(天)。

当两个用户编辑和修改某个公用文件夹中的同一消息时,会将最终保存的消息定义为发生冲突。当同一个公用文件夹服务器上发生同时保存时,或者在包含该文件夹副本的两个服务器上编辑该消息时,便会出现这种情况。如果文件夹所有者在冲突期限限制内没有执行任何操作,该过程会基于文件夹本身的属性 PR_RESOLVE_METHOD 执行相应的操作。在 Exchange 系统管理器中定义公用文件夹对象的解析方法。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

  • 值名称   Replication Folder Conflict Age Limit。
  • 基数   REG_DWORD。
  • 说明   允许冲突项存在的时间间隔(天)。

对于任何包含系统配置文件夹副本的公用文件夹数据库,此过程都会根据需要更新版本信息。没有可用的可配置设置。

该过程仅对 Exchange Server 5.5 有效。该过程尝试删除已在其它站点中受保护的文件夹和目录中不再存在的站点。每一个文件夹都会被检查,对于主站点在目录中不可见的每个安全文件夹,会设置一个计时器以删除该文件夹。默认为七天。

以下部分介绍 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

  • 值名称   Secure Folder Aging Task Frequency。
  • 基数   REG_DWORD。
  • 说明   间隔时间(天)。

每隔 1 小时,公用数据库都会检查确保管理组中不存在复制的站点文件夹,并将其删除。这一过程没有可用的可配置设置。

此过程在当前没有目录服务对象的邮箱间循环。在 30 天默认期后,邮箱会被删除。此过程每隔 24 小时运行一次,且无法调整时间间隔。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

DC=<Domain>

  CN=Configuration

    CN=Services

      CN=Microsoft Exchange

        CN=<ExchOrgName>

          CN=Administrative Groups

            CN=<site>

              CN=Servers

                CN=<servername>

                  CN=InformationStore

                    CN=<Storage Group>

                      CN=<Database>

  • 对象类   数据库对象。
  • 属性名   msExchMailboxRententionPeriod。
  • 说明   在没有相应的目录对象情况下保留邮箱的时间(秒)。

此过程会遍历特定数据库的消息表,并查找当前引用计数为零的消息,从而指示当前没有文件夹具有对消息的引用。遇到的消息将被删除。一个周期中最多可以删除 50,000 个消息。此过程每隔 24 小时运行一次,且无法调整时间间隔。

如果至少有一个维护任务可以在维护计划内完成,Microsoft Exchange Information Store 服务会请求 ESE 开始一个联机碎片整理周期。此过程会在维护窗口结束时运行至少 15 分钟。值得注意的是,如果存储组中任何数据库的备份启动,联机碎片整理过程都会自行挂起。

联机碎片整理的目的是,通过将记录压缩到尽可能最少的页面上来释放数据库中的页面,从而减少 I/O 需求量。ESE 数据库引擎完成此操作的方式是,获得数据库元数据(它是数据库中描述数据库中表的信息),然后对于每一个表,访问表中的每一个页面,并尝试将记录移到逻辑顺序的页面上。如果您了解 B 树,可从右侧最远的页面开始,然后开始将记录压缩到左侧最远的页面。这不一定意味着页面是按顺序排列的,但是从逻辑的角度移动。

很可能此过程不会在 Microsoft Exchange Information Store 服务指示的时间之前完成。在这种情况下,ESE 引擎会存储最后一个成功处理的表。在下一次发生联机碎片整理时,ESE 会选择元数据中的下一个表,并在维护窗口结束前继续处理表。如果联机碎片整理可在维护窗口结束前处理所有的表,它会在元数据中列出的第一个表重新开始,并在维护窗口结束之前循环处理所有的表。对数据库所做的更改将被处理。因此,如果在大量的删除操作后开始联机碎片整理周期,会生成大量的事务日志,因为记录会被压缩到最少的页面中。

但是,如果 Exchange 存储维护设置为始终,联机碎片整理也会设置为始终,联机维护则会持续运行。

以下部分介绍 Exchange Server 2003、Exchange 2000 Server 和 Exchange Server 5.5 的可配置设置。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersPublic

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Public-<Public Folder GUID>

或者

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<ServerName>\Private-<Public Folder GUID>

  • 值名称   OLD Minimum RunTime。
  • 基数   REG_DWORD。
  • 说明   在完成至少一个 Exchange 存储维护任务之后运行的时间(分钟)。默认值为 15 分钟。
  • 值名称   OLD Completion Time。
  • 基数   REG_DWORD。
  • 说明   超出维护窗口的允许运行联机碎片整理的时间(秒)。默认值为 1 小时或 3,600 秒。

有关详细信息,请参阅以下 Exchange Server 博客文章:

有关详细信息,请参阅下列 Microsoft 知识库文章:

 
显示: