了解活动管理器

**上一次修改主题:**2010-01-13

Microsoft Exchange Server 2010 包含一个称为“活动管理器”**的新组件,该组件提供的功能可替换通过与以前版本的 Exchange 的群集服务集成而提供的资源模型和故障转移管理功能。Exchange 不再使用群集资源模型来获得高可用性。exres.dll 提供的所有 Exchange 群集资源(包括称为群集邮箱服务器的构造)将不再存在。Windows 故障转移群集供 Exchange 使用,但没有适用于 Exchange 的群集组,而且群集中没有存储资源。因此,如果您使用群集管理工具检查群集,将仅显示核心群集资源(IP 地址和网络名称,必要时显示仲裁资源)。群集节点和网络也会存在,但它们由 Exchange 管理,而不由群集或群集工具管理。

活动管理器在作为数据库可用性组 (DAG) 的成员的所有邮箱服务器上运行。活动管理器角色有以下两种:“主要活动管理器”(PAM) 和“备用活动管理器”(SAM)。PAM 为 DAG 中的活动管理器,用于确定哪些副本将是主动副本,哪些副本将是被动副本。PAM 负责获取拓扑更改通知并对服务器故障作出反应。担任 PAM 角色的 DAG 成员始终是当前拥有群集仲裁资源(默认群集组)的成员。如果拥有群集仲裁资源的服务器出现故障,PAM 角色将自动移至获得群集仲裁资源所有权的仍正常工作的服务器。此外,如果您需要将托管群集仲裁资源的服务器脱机以便维护或升级,则必须先将 PAM 移至 DAG 中的其他服务器。PAM 可控制数据库各副本之间的主动标志的所有移动(在任意指定时间只能有一个副本处于活动状态,并且可以装入或卸除该副本)。PAM 还可以在本地系统上执行 SAM 角色的功能(检测本地数据库和本地信息存储故障)。

SAM 提供有关哪个服务器将邮箱数据库的活动副本托管到 Exchange 的其他组件的信息,后者正在运行活动管理器客户端组件(例如,RPC 客户端访问服务或集线器传输服务器)。SAM 将检测本地数据库和本地信息存储的故障。它通过请求 PAM 启动故障转移(如果复制了数据库)来对故障作出反应。SAM 不会确定故障转移的目标,也不会更新数据库在 PAM 中的位置状态。它将访问活动数据库副本位置状态,以便响应所收到的数据库活动副本查询。

备注

Exchange 2010 不是群集应用程序。相反,它会对群集、组、群集网络(检测信号)、节点管理、群集注册表和一些控制代码功能使用 clusapi.dll 中实现的群集库功能。此外,活动管理器还将当前邮箱数据库信息(例如,主动数据和被动数据以及装入数据)存储在群集数据库中。尽管该信息是直接存储在群集数据库中的,但任何其他组件无法直接访问该信息。

在 Exchange 2010 中,Microsoft Exchange 复制服务会定期监视所有已装入的数据库的运行状况。此外,它还会监视可扩展存储引擎 (ESE) 中的任何 I/O 错误或故障。如果该服务检测到故障,它将通知活动管理器。然后,活动管理器会确定应装入哪个数据库副本以及装入该数据库时需要执行的操作。另外,活动管理器还会跟踪邮箱数据库的活动副本(基于该数据库的最后一个装入副本),并将跟踪结果信息提供给与 RPC 客户端相连的客户端访问服务器上的 RPC 客户端访问组件。

数据库故障转移

如果出现影响复制的邮箱数据库的故障,PAM 将启动故障转移逻辑并选择可用于激活的最佳数据库副本。在查找要激活的最佳副本时,PAM 最多可使用十组不同的条件。使用其选择条件查找要激活的最佳副本之前,将出现一个名为“attempt copy last logs”**(ACLL) 的进程。Exchange 2010 已得到增强,可以处理多个数据库副本,并且它能够识别出哪个副本是复制日志文件的最佳源。ACLL 对 DAG 中托管邮箱数据库副本的每个邮箱服务器进行并行远程过程调用,以检查该服务器是否可用并且正常运行,以及检查数据库副本的 LogInspectorGeneration 的值。LogInspectorGeneration 值最高的邮箱数据库副本即复制日志文件的最佳源。

完成 ACLL 进程后,如果从选定的最佳源复制了所有缺少的日志文件,则会装入数据库而不造成任何数据丢失。这称为无损故障。如果 ACLL 进程不成功,将协商为 AutoDatabaseMountDial 配置的值。有关 AutoDatabaseMountDial 的详细信息,请参阅Set-MailboxServer。如果丢失的日志数少于为 AutoDatabaseMountDial 配置的值,则会装入数据库。如果丢失的日志数超过为 AutoDatabaseMountDial 配置的值,则在装入缺少的日志文件或管理员显式装入数据库并接受更大的数据丢失之前,将不会装入数据库。

活动管理器最佳副本选择

如果出现影响活动数据库的故障,活动管理器将使用多组选择条件来确定应激活哪个数据库副本。活动管理器会尝试查找状态为“正常”、“DisconnectedAndHealthy”、“DisconnectedAndResynchronizing”或“SeedingSource”以及符合以下所有条件的邮箱数据库副本:

  • 具有状态为“正常”的内容索引。
  • 具有少于 10 个日志文件的复制队列长度。
  • 具有少于 50 个日志文件的重播队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“爬网”的内容索引。
  • 具有少于 10 个日志文件的复制队列长度。
  • 具有少于 50 个日志文件的重播队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“正常”的内容索引。
  • 具有少于 50 个日志文件的重播队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“爬网”的内容索引。
  • 具有少于 50 个日志文件的重播队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有少于 50 个日志文件的重播队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“正常”的内容索引。
  • 具有少于 10 个日志文件的复制队列长度。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“爬网”的内容索引;以及
  • 具有少于 10 个日志文件的复制队列长度

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“正常”的内容索引。

如果没有一个数据库副本符合以上所有条件,活动管理器将尝试查找符合以下一组条件的数据库副本:

  • 具有状态为“爬网”的内容索引。

如果没有一个数据库副本满足以上所有条件,活动管理器将尝试激活状态为“正常”、“DisconnectedAndHealthy”、“DisconnectedAndResynchronizing”或“SeedingSource”的任何数据库副本。如果活动管理器找不到具有该状态的任何数据库副本,则无法自动激活数据库副本。

在前面的每个过程中,如果多个数据库副本满足前面的所有条件,将协商为 ActivationPreference 配置的值,而且将激活和装载具有最小值的数据库。