Exchange Server 中的數據中心啟用協調模式

數據中心啟用協調 (DAC) 模式是資料庫可用性群組的屬性, (DAG) 。 DAC 模式預設為停用,但應該針對具有兩個或多個使用連續復寫之成員的所有 DAG 啟用。 除非第三方廠商指定,否則使用第三方複寫模式的DAG不應啟用 DAC 模式。

DAC 模式可用來控制 DAG 啟動時的資料庫掛接。 此控件的設計目的是要防止在數據中心切換期間於資料庫層級發生分割大腦。 分割大腦,也稱為分割大腦,是一種條件,會導致資料庫掛接為同一 DAG 中無法彼此通訊之兩個成員的作用中複本。 無法使用 DAC 模式來分割大腦,因為 DAC 模式需要 DAG 成員取得裝載資料庫的許可權,才能掛接資料庫。

例如,當主要數據中心包含兩個 DAG 成員和見證伺服器,而第二個數據中心包含另外兩個 DAG 成員時,DAG 就不會處於 DAC 模式。 主要數據中心會失去電源,因此您在第二個數據中心啟用 DAG。 最後會還原主要數據中心的電源,而且在電源故障之前具有仲裁的主要數據中心內的 DAG 成員將會啟動並掛接其資料庫。 由於主要數據中心是在未連線到第二個數據中心的情況下還原,而且因為DAG不是處於 DAC 模式,所以DAG內的作用中資料庫會進入分割大腦狀況。

DAC 模式的運作方式

DAC 模式包含稱為數據中心啟用協調通訊協定的通訊協定 (DACP) 。 啟用 DAC 模式時,即使 DAG 成員有仲裁,也不會自動掛接資料庫。 相反地,DACP 是用來判斷 DAG 的目前狀態,以及 Active Manager 是否應該嘗試掛接資料庫。

您可能會將 DAC 模式視為載入資料庫的仲裁應用層級。 若要瞭解 DACP 的用途及其運作方式,請務必瞭解它想要處理的主要案例。 請考慮上述的雙數據中心案例。 假設主要數據中心發生完全電源故障。 在此事件中,所有伺服器和 WAN 都已關閉,因此組織會決定啟用待命數據中心。 在幾乎所有這類復原案例中,當電源還原至主要數據中心時,通常不會立即還原WAN 連線。 這表示主要數據中心內的 DAG 成員會啟動電源,但無法與啟用待命數據中心內的 DAG 成員通訊。 主要數據中心應一律包含大部分的 DAG 仲裁投票者,這表示在還原電源時,即使對待命數據中心內的 DAG 成員沒有 WAN 連線,主要數據中心內的 DAG 成員仍具有多數,因此具有仲裁。 這是個問題,因為使用仲裁時,這些伺服器可能能夠掛接其資料庫,進而導致與現在掛接在啟用待命數據中心的實際作用中資料庫產生差異。

建立 DACP 是為了解決此問題。 Active Manager 會將位儲存在記憶體中, (0 或 1) ,告知 DAG 是否允許它掛接指派為在伺服器上作用中的本機資料庫。 當 DAG 以 DAC 模式執行時,每次 Active Manager 啟動時,位都會設定為 0,這表示不允許掛接資料庫。 因為它處於 DAC 模式,所以伺服器必須嘗試與它知道要取得另一個 DAG 成員的所有其他 DAG 成員通訊,以提供答案,以瞭解它是否可以掛接指派為作用中的本機資料庫。 答案的格式為 DAG 中其他作用中管理員的位設定。 如果另一部伺服器回應其位設定為 1,表示允許伺服器掛接資料庫,因此啟動的伺服器會將其位設定為 1,並掛接其資料庫。

但是,當您從主要數據中心電源中斷中復原伺服器,但尚未還原WAN 連線時,主要數據中心內的所有DAG成員都會有0的 DACP 位值;因此,在復原的主要數據中心啟動備份的伺服器都不會掛接資料庫,因為它們都無法與 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 模式

DAC 模式只能使用 Exchange 管理命令介面來啟用。 具體而言,您可以使用 Set-DatabaseAvailabilityGroup Cmdlet 來啟用 DAC 模式,如下列範例所示。

Set-DatabaseAvailabilityGroup -Identity DAG2 -DatacenterActivationMode DagOnly

在上述範例中,DAG2 已針對 DAC 模式啟用。

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