了解数据中心激活协调模式

 

适用于: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上一次修改主题: 2011-09-01

数据中心激活协调 (DAC) 模式是数据库可用性组 (DAG) 的属性设置。DAC 模式默认处于禁用状态,应为具有两个或更多使用连续复制的成员的所有 DAG 启用该模式。不应为采用第三方复制模式的 DAG 启用 DAC 模式,除非第三方供应商指定这样做。

如果发生了影响 DAG 的灾难性故障(例如一个数据中心完全失败),则可使用 DAC 模式控制 DAG 的启动数据库装入行为。DAC 模式未启用且发生了影响 DAG 中多个服务器的故障时,DAG 将在大多数 DAG 成员故障恢复后重新启动并尝试装入数据库。在多数据中心配置中,此行为可能导致网络分区症状(当所有网络都发生故障时发生此情况),并且 DAG 成员无法收到彼此的检测信号。当数据中心之间的网络连接断开时,也会发生网络分区症状。始终要求大多数 DAG 成员(在 DAG 成员为偶数时使用 DAG 见证服务器)可用并处于交互状态,使 DAG 能够正常工作,这样即可防止网络分区症状。多数成员正在通信时,就可以说 DAG 拥有“仲裁”。

例如,请考虑一种情况,即第一个数据中心包含两个 DAG 成员和见证服务器,第二个数据中心包含两个其他 DAG 成员。如果第一个数据中心断电,并且您激活了第二个数据中心的 DAG(例如,通过激活第二个数据中心内的备用见证),则在第一个数据中心未与第二个数据中心联网即还原的情况下,DAG 中的活动数据库可能会现网络分区情况。

DAC 模式的工作原理

DAC 模式包含了数据中心激活协调协议 (DACP),以此防止出现网络分区。发生灾难性故障后,当 DAG 恢复时,即使 DAG 拥有仲裁,也不会自动装入数据库。相反,DACP 可用于确定 DAG 的当前状态,以及活动管理器是否应尝试装入数据库。

您可能将 DAC 模式视为用于装入数据库的应用程序级别仲裁。要了解 DACP 的用途以及工作原理,必须了解其旨在处理的主要情况。请考虑双数据中心的情况。假设主数据中心中电源完全中断。在这种情况下,所有服务器和 WAN 都停止运行,所以组织决定激活备用数据中心。在几乎所有这种恢复方案中,当主数据中心恢复通电时,WAN 连接通常不会立即恢复。这意味着主数据中心中的 DAG 成员将通电,但无法与已激活的备用数据中心的 DAG 成员通信。主数据中心应始终包含大部分 DAG 仲裁投票者,这意味着恢复通电后,即使备用数据中心的 DAG 成员未连接 WAN,主数据中心中的 DAG 成员也占大部分,因此拥有仲裁。拥有仲裁后,这些服务器可以装入其数据库,这又会导致与现已装入激活的备用数据中心的实际主动数据库有差异,所以这是个问题。

创建 DACP 就是为了解决此问题。活动管理器在内存中存储一个数位(0 或 1),该数位告诉 DAG 是否允许装入服务器上以活动状态分配的本地数据库。当 DAG 正以 DAC 模式运行时(可能是任何具有三个或更多个成员的 DAG),活动管理器每次启动时,该数位都被设置为 0,表示不允许装入数据库。因为 DAG 处于 DAC 模式,所以服务器必须尝试与其知道的 DAG 的其他所有成员通信,以便获取另一个 DAG 成员,告诉它是否可以装入以活动状态分配给它的本地数据库。答案将以 DAG 中其他活动管理器的数位设置形式提供。如果另一个服务器将其数位设置为 1 进行响应,这意味着服务器允许装入数据库,这样服务器启动时将其数位设置为 1,并装入其数据库。

但是当主数据中心恢复供电时(这时服务器恢复,但 WAN 连接尚未恢复),主数据中心内所有 DAG 成员的 DACP 位值将为 0;因此开始在已恢复的主数据中心内备份的服务器都不会装入数据库,因为它们都无法与 DACP 位值为 1 的 DAG 成员通信。

具有两个成员的 DAG 的 DAC 模式

具有两个成员的 DAG 的固有限制会导致仅靠 DACP 位无法完全防止应用程序级网络分区症状。对于仅有两个成员的 DAG,DAC 模式也会使用 DAG 备用见证服务器的启动时间来确定是否可以在启动时装入数据库。会将备用见证服务器的启动时间与 DACP 位设置为 1 时的时间进行比较。

  • 如果设置 DACP 位的时间早于备用见证服务器的启动时间,则系统会假设 DAG 成员和见证服务器同时重新启动(可能是因为主数据中心断电),不允许 DAG 成员装入数据库。

  • 如果设置 DACP 位的时间晚于备用见证服务器的启动时间,则系统会假设 DAG 成员由于某种其他原因(可能是用于执行维护的计划中断,或可能是与 DAG 成员无关的系统崩溃或断电)而重新启动,允许 DAG 成员装入数据库。

重要重要说明:
因为备用见证服务器的启动时间用于确定 DAG 成员是否可以在启动时装入活动数据库,所以绝不能同时重新启动备用见证服务器和唯一的 DAG 成员。这样做可能会使 DAG 成员处于无法在启动时装入数据库的状态。如果发生这种情况,则必须在 DAG 上运行 Restore-DatabaseAvailabilityGroup cmdlet。这可重置 DACP 位并允许 DAG 成员装入数据库。

DAC 模式的其他好处

除了在应用程序级防止网络分区症状之外,通过 DAC 模式还可以使用用于执行数据中心切换的内置站点恢复 cmdlet。其中包括:

为不处于 DAC 模式的 DAG 执行数据中心切换需要结合使用 Exchange 工具和群集管理工具。

有关数据中心切换的详细信息,请参阅数据中心切换

启用 DAC 模式

只能通过使用 Exchange 命令行管理程序启用 DAC 模式。具体来说,您可以使用 Set-DatabaseAvailabilityGroup cmdlet 启用和禁用 DAC 模式,如以下示例所示。

Set-DatabaseAvailabilityGroup -Identity DAG2 -DatacenterActivationMode DagOnly

在前面的示例中,针对一个名为 DAG2 的 DAG 启用了 DAC 模式。

有关启用 DAC 模式的详细信息,请参阅配置数据库可用性组属性Set-DatabaseAvailabilityGroup

 © 2010 Microsoft Corporation。保留所有权利。