瞭解資料中心啟動協調模式

 

適用版本: 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 狀態,以及 Active Manager 是否應嘗試裝載資料庫。

您可以將 DAC 模式視為用於裝載資料庫之應用程式層級的仲裁。若要了解 DACP 的用途及其運作方式,必須先了解其要處理的主要案例。請考量兩個資料中心案例。假設主要資料中心電力完全中斷。在此情況下,所有的伺服器和 WAN 都會關機,因此組織決定啟動待命資料中心。在幾乎所有此類復原案例中,當主要資料中心恢復電源時,通常不會立即還原 WAN 連線。這表示主要資料中心的 DAG 成員會啟動電源,但無法與已啟動之待命資料中心的 DAG 成員進行通訊。主要資料中心應永遠包含多數的 DAG 仲裁投票者,意思就是當恢復電源時,即使 WAN 未與待命資料中心的 DAG 成員連線,主要資料中心的 DAG 成員也會因具有多數 DAG 仲裁投票者而具有仲裁。因具有仲裁,這些伺服器可以裝載其資料庫,因而導致與目前裝載於已啟動之待命資料中心的實際使用中資料庫分歧的問題。

已建立 DACP 以解決此問題。Active Manager 會在記憶體中儲存一個位元 (0 或 1),通知 DAG 是否可以在伺服器上裝載指派為使用中的本機資料庫。當以 DAC 模式執行 DAG 時 (可以是具有三個或更多成員的任何 DAG),每一次啟動 Active Manager 時,位元值會設為 0,表示不允許裝載資料庫。因為是 DAC 模式,伺服器必須嘗試與所知道的 DAG 其他所有成員通訊,以取得另一個 DAG 成員,並答覆它是否可以裝載被指派為使用中的本機資料庫。答覆是針對 DAG 中其他 Active Manager 而設定的位元形式。如果另一個伺服器回應其位元設為 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 的使用,該 Cmdlet 用於執行資料中心轉換。其中包含下列各項:

針對不在 DAC 模式的 DAG 執行資料中心轉換,牽涉到使用 Exchange 工具和叢集管理工具的組合。

如需資料中心轉換的詳細資訊,請參閱資料中心轉換

啟用 DAC 模式

只能使用 Exchange 管理命令介面啟用 DAC 模式。特別是您可以使用 Set-DatabaseAvailabilityGroup 指令程式來啟用及停用 DAC 模式,如以下範例所示。

Set-DatabaseAvailabilityGroup -Identity DAG2 -DatacenterActivationMode DagOnly

在先前的範例中,已為 DAC 模式啟用名為 DAG2 的 DAG。

如需啟用 DAC 模式的詳細資訊,請參閱設定資料庫可用性群組內容Set-DatabaseAvailabilityGroup

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。