管理資料庫可用性群組

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

資料庫可用性群組 (DAG) 是最多有 16 個 Microsoft Exchange Server 2010 Mailbox 伺服器的組合,提供從資料庫、伺服器或是網路失敗時,自動的資料庫層級復原能力。DAG 使用連續複寫與 Windows 容錯移轉叢集技術子集,提供高可用性與站台回覆性。DAG 中的信箱伺服器可以監視彼此是否出現失敗情況。當您將 Mailbox Server 新增至 DAG 後,它即可與 DAG 中其他的伺服器搭配使用,以在資料庫失敗時提供自動的資料庫層級復原功能。

當您建立 DAG 時,其最初是空的,並且會在表示 DAG 的 Active Directory 中建立目錄物件。目錄物件是用於儲存 DAG 的相關資訊,例如伺服器成員資格資訊。當您新增第一個伺服器到 DAG 時,就會自動為 DAG 建立容錯移轉叢集。此外,還會初始化監視伺服器的網路或伺服器失敗的基礎結構。然後使用容錯移轉叢集活動訊號機制和叢集資料庫來追蹤和管理可能快速變更的 DAG 資訊,例如資料庫裝載狀態、複寫狀態和最後裝載位置。

目錄

建立 DAG

DAG 成員資格

設定 DAG 內容

DAG 網路

設定 DAG 成員

在 DAG 成員上執行維護

關閉 DAG 成員

在 DAG 成員上安裝更新彙總套件

建立 DAG

您可在 Exchange 管理主控台 (EMC) 中使用 [新增資料庫可用性群組] 精靈,或是在 Exchange 管理命令介面中執行 New-DatabaseAvailabilityGroup 指令程式,來建立 DAG。建立 DAG 時,您需要提供 DAG 的名稱,以及選用的見證伺服器和見證目錄設定。此外還會藉由使用靜態 IP 地址,或藉由允許 DAG 使用動態主機設定通訊協定 (DHCP) 自動指派所需的 IP 位址,將一個或多個 IP 位址指派給 DAG。您可以使用 DatabaseAvailabilityGroupIpAddresses 參數,以手動方式為 DAG 指派 IP 位址。如果您省略此參數,則 DAG 會嘗試使用網路上的 DHCP 伺服器來取得 IP 地址。

如需有關如何建立 DAG 的詳細步驟,請參閱建立資料庫可用性群組

當您建立 DAG 時,會在 Active Directory 中建立一個表示 DAG 的空物件,其具有所指定的名稱和 msExchMDBAvailabilityGroup 的物件類別。

DAG使用 Windows 容錯移轉叢集技術子集,例如叢集律動、叢集網路以及層級資料庫 (可儲存變更或是快速變更的資料,例如資料庫狀態從主動變被動或是從被動變主動,或是從已裝載變為已卸載或是已卸載變為已裝載)。因為 DAG 仰賴 Windows 容錯移轉叢集,所以它們只能建立在執行 Windows Server 2008 Enterprise 作業系統或 Windows Server 2008 R2 Enterprise 作業系統的 Exchange 2010 信箱伺服器上。

注意事項附註:
由 DAG 建立及使用的容錯移轉叢集必須供 DAG 專用。該叢集不可供任何其他高可用性解決方案或任何其他目的使用。例如,容錯移轉叢集不可用來叢集其他應用程式或服務。不支援針對非 DAG 目的使用 DAG 的基礎容錯移轉叢集。

DAG 見證伺服器與見證目錄

建立 DAG 時,您必須為 DAG 指定一個在 Active Directory 樹系中唯一且不超過 15 個字元的名稱。此外,每個 DAG 都會設定見證伺服器和見證目錄。見證伺服器及其目錄僅供在具有偶數個成員數之 DAG 仲裁使用。您不需要事先建立見證目錄。Exchange 會自動在見證伺服器上為您建立和保護目錄。除了 DAG 見證伺服器之外,目錄不應用於任何其他用途。

見證伺服器的需求如下:

  • 見證伺服器不得為 DAG 的成員。

  • 見證伺服器必須與 DAG 位於相同的 Active Directory 樹系中。

  • 見證伺服器必須執行 Windows Server 2003 或更新版本。

  • 一個伺服器可以作為多個 DAG 的見證。不過,每個 DAG 需要它自己的見證目錄。

我們建議您在包含 DAG 的 Exchange 2010 站台中使用 Active Directory Hub Transport Server。這可讓見證伺服器和目錄保持在受 Exchange 管理員控制的狀態。不論使用什麼伺服器作為見證伺服器,如果預訂的見證伺服器上已啟用 Windows 防火牆,則必須啟用檔案及印表機共用的 Windows 防火牆例外。

重要事項重要事項:
若您所指定的見證伺服器不是 Exchange 2010 伺服器,您就必須在建立 DAG 之前,於見證伺服器上的本機 Administrators 群組中,新增 Exchange 信任的子系統萬用安全性群組 (USG)。為確保 Exchange 可依需求在見證伺服器上建立目錄與共用,這些安全性權限是不可或缺的。

見證伺服器和見證目錄都不需要具備容錯能力,或使用任何形式的備援或具備高可用性。不需要為見證伺服器使用叢集檔案伺服器,或為見證伺服器使用任何其他形式的恢復功能。這樣做有幾個原因。在需要見證伺服器之前,必須使用幾個較大的 DAG (例如,六個或更多成員) 來處理失敗。因爲六個成員的 DAG 最多可以容忍兩個 Voter 失敗而不遺失仲裁,因此在需要使用見證伺服器來維護仲裁之前,它最多可處理三個 Voter 的失敗。而且,如果發生影響到目前見證伺服器的失敗 (例如,由於硬體失敗而遺失見證伺服器),則可以使用 Set-DatabaseAvailabilityGroup Cmdlet 來設定新的見證伺服器和見證目錄 (只要您有仲裁)。

注意事項附註:
如果見證伺服器遺失其儲存裝置,或者如果某人變更了見證目錄或共用權限,您還可以使用 Set-DatabaseAvailabilityGroup Cmdlet 在原始位置設定見證伺服器和見證目錄。

最佳的作法是,在已跨多個資料中心 (和 Active Directory 站台) 延伸和為站台恢復設定 DAG 的環境下,我們建議您在主要資料中心 (包含大多數使用者族群的資料中心) 中使用見證伺服器。如果每個資料中心具有類似的使用者人數,則從解決方案的觀點來看,可考慮將選擇用來裝載見證伺服器的資料中心視為主要資料中心。如果見證伺服器位於包含大多數用戶端族群的資料中心內,則大多數的用戶端可在失敗之後保留存取權限。

如果資料中心遠離大多數的使用者族群,這可能會影響到您的決策。您接著需要判斷,如果連接至其他兩個資料中心的廣域網路 (WAN) 遺失,是否需要讓主要資料中心保持良好狀況和作用中狀態。在這種情況下,見證伺服器仍應位於主要資料中心中。

儘管其支援在第三個資料中心內使用見證伺服器,但我們不建議採用此方案。從 Exchange 的觀點來看,這項設定並不會提供您更大的可用性。如果您在第三個資料中心內使用見證伺服器,則請務必檢查重要的路徑因素。例如,若主要資料中心和第二及第三個資料中心之間的 WAN 連線失敗,則主要資料中心內的解決方案會變成無法使用。

在 DAG 建立期間指定見證伺服器和見證目錄

建立 DAG 時,您必須提供 DAG 的名稱。您也可以選擇性地指定見證伺服器與見證目錄。若您指定見證伺服器,建議您使用 Hub Transport Server,因為這樣可讓 Exchange 系統管理員注意到見證伺服器的可用性。

建立 DAG 時,可使用以下的選項與行為組合:

  • 您可以只指定 DAG 的名稱,並讓 [見證伺服器][見證目錄] 欄位保留空白。在此情況下,精靈會搜尋未安裝 Mailbox server role 的 Hub Transport Server,然後自動在該伺服器上建立預設的目錄 (%SystemDrive%:\DAGFileShareWitnesses\<DAGFQDN>) 與預設共用 (<DAGFQDN>),並使用該 Hub Transport Server 作為見證伺服器。例如,考慮名為 EXMBX3 的見證伺服器,其作業系統已安裝到 C 磁碟機上。位於名為 contoso.com 網域的 DAG (名為 DAG1) 會使用預設見證目錄 C:\DAGFileShareWitnesses\DAG1.contoso.com,並以 \\EXMBX3\DAG1.contoso.com 作為共用名稱。

  • 您可以指定 DAG 的名稱、您要使用的見證伺服器、以及您要在見證伺服器上建立並共用的目錄。

  • 您可以指定 DAG 的名稱和要使用的見證伺服器,然後將 [見證目錄] 欄位保留空白。在此情況下,此精靈會在指定的見證伺服器上建立預設目錄。

  • 您可以指定 DAG 的名稱、將 [見證伺服器] 欄位保留空白,並指定您要在見證伺服器上建立及共用的目錄。在此情況下,此精靈會搜尋未安裝 Mailbox server role 的 Hub Transport Server,然後自動在該伺服器上建立指定的 DAG 並加以共用,並以該 Hub Transport Server 作為見證伺服器。

形成 DAG 時,其最初會使用「節點多數」仲裁模型。當新增第二個 Mailbox Server 到 DAG 時,仲裁會自動變更為「節點和檔案共用多數」仲裁模型。發生此變更時,DAG 會開始使用見證伺服器來維護仲裁。如果見證目錄不存在,Exchange 會自動建立及共用該目錄,並為 DAG 的叢集名稱物件 (CNO) 電腦帳戶提供共用的完整控制權限。

注意事項附註:
不支援使用屬於分散式檔案系統 (DFS) 命名空間的檔案共用。

如果建立 DAG 之前已在見證伺服器上啟用 Windows 防火牆,可能會封鎖 DAG 的建立。Exchange 使用 Windows Management Instrumentation (WMI) 在見證伺服器上建立目錄及檔案共用。如果 Windows 防火牆已在見證伺服器上啟用,且沒有為 WMI 設定任何防火牆例外狀況,則 New-DatabaseAvailabilityGroup Cmdlet 會因錯誤而失敗。如果您指定見證伺服器,但未指定見證目錄,則會收到下列錯誤訊息。

工作無法在伺服器 <Server Name> 上建立預設的見證目錄。請手動指定見證目錄。

如果您指定見證伺服器和見證目錄,則會收到下列警告訊息。

無法存取見證伺服器 'ServerName' 上的檔案共用。在修正此問題之前,資料庫可用性群組可能會更容易失敗。請使用 Set-DatabaseAvailabilityGroup 指令程式來重試該作業。錯誤:找不到網路路徑。

如果是在建立 DAG 之後但在新增伺服器之前,於見證伺服器上啟用 Windows 防火牆,則可能會無法新增或移除 DAG 成員。如果 Windows 防火牆已在見證伺服器上啟用,且沒有為 WMI 設定任何防火牆例外狀況,則 Add-DatabaseAvailabilityGroupServer Cmdlet 會顯示下列警告訊息。

無法在見證伺服器 'ServerName' 上建立檔案共用見證目錄 'C:\DAGFileShareWitnesses\DAG_FQDN'。在修正此問題之前,資料庫可用性群組可能會更容易失敗。請使用 Set-DatabaseAvailabilityGroup 指令程式來重試該作業。錯誤:伺服器 'ServerName' 發生 WMI 例外狀況:RPC 伺服器無法使用。(例外來自 HRESULT:0x800706BA)

若要解決先前的錯誤和警告,請執行下列其中一項動作:

  • 在見證伺服器上手動建立見證目錄與共用,並將目錄與共用的 DAG 完全控制指派給 CNO。

  • 在 Windows 防火牆中啟用 WMI 例外狀況。

  • 停用 Windows 防火牆。

回到頁首

DAG 成員資格

建立 DAG 之後,您可以在 EMC 中使用 [管理資料庫可用性群組] 精靈,或在命令介面中使用 Add-DatabaseAvailabilityGroupServerRemove-DatabaseAvailabilityGroupServer Cmdlet,將伺服器新增到 DAG,或從 DAG 移除伺服器。如需有關如何管理 DAG 成員資格的詳細步驟,請參閱管理資料庫可用性群組成員資格

注意事項附註:
每個屬於 DAG 成員的 Mailbox Server 也都會是 DAG 所使用之基礎叢集中的節點。因此,在任何時間,Mailbox Server 只可以是一個 DAG 的成員。

如果新增到 DAG 的 Mailbox Server 未安裝容錯移轉叢集元件,則會使用新增伺服器 (例如,Add-DatabaseAvailabilityGroupServer 指令程式或「管理資料庫可用性群組」精靈) 的方法來安裝容錯移轉叢集功能。

當第一個 Mailbox Server 新增到 DAG 時,會發生下列情況:

  • 安裝 Windows 容錯移轉叢集元件 (如果尚未安裝)。

  • 使用 DAG 的名稱建立容錯移轉叢集。此容錯移轉叢集僅供 DAG 使用,而且該叢集必須供 DAG 專用。不支援使用該叢集供所有其他目的之用。

  • 在預設的電腦容器中建立 CNO。

  • DAG 名稱和 IP 位址在網域名稱系統 (DNS) 中登錄為主機 (A) 記錄。

  • 將伺服器新增到 Active Directory 中的 DAG 物件。

  • 以新增之伺服器上裝載的資料庫資訊更新叢集資料庫。

在大型或多網站環境中,特別是將 DAG 擴充到多個 Active Directory 站台的環境時,必須等待包含第一個 DAG 成員之 DAG 物件的 Active Directory 複寫完成。如果沒有在您的整個環境中複寫此 Active Directory 物件,則新增第二個伺服器可能會導致為 DAG 建立新的叢集 (和新的 CNO)。這是因為從正在新增之第二個成員的觀點,DAG 物件看起來是空的,因而導致 Add-DatabaseAvailabilityGroupServer Cmdlet 為 DAG 建立叢集和 CNO,即使這些物件已經存在也一樣。若要確認已複寫包含第一個 DAG 伺服器的 DAG 物件,請在正在新增的第二個伺服器上使用 Get-DatabaseAvailabilityGroup Cmdlet,確定您所新增的第一個伺服器已列為 DAG 的成員。

當第二個和後續伺服器新增到 DAG 時,會發生下列情況:

  • 將伺服器加入 DAG 的 Windows 容錯移轉叢集。

  • 自動調整仲裁模型:

    • 在含奇數成員的 DAG 中使用「節點多數」仲裁模型。

    • 在含偶數成員的 DAG 中使用「節點和檔案共用多數」仲裁模型。

  • 在需要時由 Exchange 自動建立見證目錄和共用。

  • 將伺服器新增到 Active Directory 中的 DAG 物件。

  • 使用裝載資料庫的相關資訊更新叢集資料庫。

注意事項附註:
仲裁模型變更應該會自動發生。不過,如果仲裁模型未自動變更為正確模型,則可以執行只包含 Identity 參數的 Set-DatabaseAvailabilityGroup 指令程式來修正 DAG 的仲裁設定。

預先接移 DAG 的叢集名稱物件

CNO 是在 Active Directory 中建立,且與叢集之名稱資源關聯的電腦帳戶。叢集的名稱資源會繫結至 CNO,CNO 是已啟用 Kerberos 功能的物件,用來當作叢集的識別碼並提供叢集的安全性內容。在 Exchange 2007 中,會使用執行工作之使用者的安全性內容,在網域中建立這個已啟用 Kerberos 功能的電腦帳戶。這需要使用者的帳戶擁有可在網域中建立及啟用電腦帳戶的權限,且電腦帳戶已正確地預先設置和佈建。

當新增第一個成員至 DAG 時,會執行 DAG 之基礎叢集和該叢集之 CNO 的形成。當第一個伺服器新增至 DAG 時,Powershell 會連絡正在新增之信箱伺服器上的 Microsoft Exchange 複寫服務。Microsoft Exchange 複寫服務會安裝容錯移轉叢集功能 (如果尚未安裝),並開始叢集建立程序。Microsoft Exchange 複寫服務會在 LOCAL SYSTEM 安全性內容下執行,且叢集建立就是在這個內容下執行。

警告警告:
如果您的 DAG 成員正執行 Windows Server 2012,您必須在新增第一個伺服器到 DAG 之前先預先接移 CNO。

在電腦帳戶建立受到限制的環境中,或者電腦帳戶是在預設電腦容器以外的容器中建立時,您可以預先設置並佈建 CNO。您可以為 CNO 建立和停用電腦帳戶,然後執行下列其中一項動作:

  • 指派電腦帳戶的完全控制權給您新增至 DAG 的第一個信箱伺服器的電腦帳戶。

  • 將電腦帳戶的完全控制指派給 Exchange 受信任子系統 USG.

將電腦帳戶的完全控制指派給要新增至 DAG 之第一個信箱伺服器的電腦帳戶,可確保 LOCAL SYSTEM 安全性內容能夠管理預先設置的電腦帳戶。可以改用將電腦帳戶的完全控制指派給 Exchange 受信任子系統 USG,因為 Exchange 受信任子系統 USG 包含網域中所有 Exchange Server 的電腦帳戶。

如需如何為 DAG 預先設置及佈建 CNO 的詳細步驟,請參閱針對資料庫可用性群組預先接移叢集名稱物件

從 DAG 移除伺服器

您可以在 EMC 中使用 [管理資料庫可用性群組] 精靈,或在命令介面中使用 Remove-DatabaseAvailabilityGroupServer Cmdlet,從 DAG 移除信箱伺服器。在將 Mailbox Server 從 DAG 移除之前,必須先從伺服器移除所有複寫的信箱資料庫。如果您嘗試從 DAG 移除含有複寫信箱資料庫的郵件伺服器,該工作會失敗。

在某些情況下,您必須先從 DAG 移除郵件伺服器,才能執行某些作業。這些情況包括:

  • 執行伺服器復原作業   如果遺失了 DAG 之成員的郵件伺服器,或者是失敗和無法恢復且需要更換,您可以使用 Setup /m:RecoverServer 參數執行伺服器復原作業。不過,您必須先使用含 ConfigurationOnly 參數的 Remove-DatabaseAvailabilityGroupServer Cmdlet 將伺服器從 DAG 移除,才能執行復原作業。

  • 移除資料庫可用性   在某些情況下,您可能需要移除 DAG (例如,當停用協力廠商複寫模式時)。如果您需要移除 DAG,必須先從 DAG 移除所有伺服器。如果您嘗試移除包含一個或多個成員的 DAG,工作會失敗。

回到頁首

設定 DAG 內容

在將伺服器新增到 DAG 之後,您可以使用 EMC 或命令介面來設定 DAG 的內容,包括由 DAG 使用的見證伺服器和見證目錄,以及指派給 DAG 的 IP 位址。

可設定的內容包括:

  • 見證伺服器   您要裝載檔案共用見證之檔案共用的伺服器名稱。我們建議您指定 DAG 外部之 Hub Transport Server 作為見證伺服器。這可讓系統視需要自動設定、保護和使用共用。

  • 見證目錄   用於儲存檔案共用見證資料的目錄名稱。系統會自動在指定的見證伺服器上建立此目錄。

  • 資料庫可用性群組 IP 位址   指派給 DAG 的一個或多個 IP 位址。可以使用手動方式指派的靜態 IP 位址設定這些位址,或者使用組織中的 DHCP 伺服器自動指派給 DAG。

命令介面可讓您設定無法在 EMC 中使用的 DAG 內容,例如 DAG IP 位址、網路加密和壓縮設定、網路探索、用於複寫的 TCP 連接埠、替代見證伺服器和見證目錄設定,以及啟用資料中心啟動協調模式。

如需如何設定 DAG 內容的詳細步驟,請參閱設定資料庫可用性群組內容

DAG 網路加密

DAG 利用 Windows Server 作業系統的加密能力來支援使用加密。DAG 在 Exchange 伺服器之間使用 Kerberos 驗證。Microsoft Kerberos 安全性支援提供者 (SSP) EncryptMessage 和 DecryptMessage API 會處理 DAG 網路流量的加密作業。Microsoft Kerberos SSP 支援多種加密演算法。(如需完整清單,請參閱第 3.1.5.2 節 Kerberos 通訊協定延伸的「加密類型」)。Kerberos 驗證信號交換會選取清單中支援的最強大加密通訊協定:通常是選擇進階加密標準 (AES) 256 位元,可能會搭配 SHA 雜湊訊息驗證碼 (HMAC) 以維護資料的完整性。如需詳細資訊,請參閱 HMAC

網路加密是 DAG 的內容,而不是 DAG 網路。您可以在命令介面中使用 Set-DatabaseAvailabilityGroup Cmdlet 來設定 DAG 網路加密。以下表格中顯示 DAG 網路通訊可能的加密設定。

DAG 網路通訊加密設定

設定 描述

已停用

不使用網路加密。

已啟用

在所有 DAG 網路上使用網路加密進行複寫及植入。

InterSubnetOnly

在不同子網路間進行複寫時,在 DAG 網路上使用網路加密。這是預設設定。

SeedOnly

僅植入時才在所有 DAG 網路上使用網路加密。

DAG 網路壓縮

DAG 支援內建的壓縮。啟用壓縮時,DAG 網路通訊會使用 XPRESS,這是 LZ77 演算法的 Microsoft 實作。如需詳細資料,請參閱 Deflate 演算法的說明 和第 3.1.7.2 節有線格式通訊協定規格的「壓縮演算法」。這是在許多 Microsoft 通訊協定中使用的相同壓縮類型,尤其是,Microsoft Outlook 和 Exchange 之間的 MAPI RPC 壓縮。

與網路加密一樣,網路壓縮也是 DAG 的內容,而不是 DAG 網路。您可以在命令介面中使用 Set-DatabaseAvailabilityGroup 指令程式設定 DAG 網路壓縮。以下表格中顯示 DAG 網路通訊可能的壓縮設定。

DAG 網路通訊的壓縮設定

設定 描述

已停用

不使用網路壓縮。

已啟用

在所有 DAG 網路上使用網路壓縮進行複寫及植入。

InterSubnetOnly

在不同子網路間進行複寫時,在 DAG 網路上使用網路壓縮。這是預設設定。

SeedOnly

僅植入時才在所有 DAG 網路上使用網路壓縮。

回到頁首

DAG 網路

DAG 網路是用於複寫流量或 MAPI 流量的一或多個子網路的集合。每個 DAG 皆包含最多一個 MAPI 網路和零個或更多的複寫網路。在單一網路介面卡組態中,該網路同時供 MAPI 和複寫流量使用。儘管支援單一網路介面卡和路徑,但我們建議每個 DAG 最少有兩個 DAG 網路。在雙網路組態中,通常會使用一個網路專門複寫流量,而另一個網路則主要用於 MAPI 流量。您也可以新增網路介面卡至每個 DAG 成員,並將額外的 DAG 網路設定為複寫網路。

注意事項附註:
使用多個複寫網路時,無法指定網路使用的優先順序。Exchange 會從複寫網路的群組隨機選取複寫網路,以便用於記錄傳送。

您可以在 EMC 中使用「新增資料庫可用性群組網路」精靈,或在命令介面中使用 New-DatabaseAvailabilityGroupNetwork 指令程式,建立 DAG 網路。如需如何建立 DAG 網路的詳細步驟,請參閱建立資料庫可用性群組網路

您可以在 EMC 中使用 DAG 網路的 [內容] 對話方塊,或在命令介面中使用 Set-DatabaseAvailabilityGroupNetwork 指令程式,設定 DAG 網路內容。如需如何設定 DAG 網路內容的詳細步驟,請參閱設定資料庫可用性群組網路內容。每個 DAG 網路需要的設定和選擇性的參數為:

  • 網路名稱   DAG 網路的唯一名稱,最多 128 個字元。

  • 網路描述   DAG 網路的選用描述,最多 256 個字元。

  • 網路子網路   使用 IP 位址/位元遮罩格式 (例如,網際網路通訊協定第 4 版 (IPv4) 子網路為 192.168.1.0/24;網際網路通訊協定第 6 版 (IPv6) 子網路為 2001:DB8:0:C000::/64) 輸入的一或多個子網路。

  • 啟用複寫   在 EMC 中,選取核取方塊,使其在 DAG 網路中專門用於複寫流量,並封鎖 MAPI 流量。清除核取方塊,可以防止複寫使用 DAG 網路,並且啟用 MAPI 流量。在命令介面中,使用 Set-DatabaseAvailabilityGroupNetwork 指令程式中的 ReplicationEnabled 參數啟用和停用複寫。

注意事項附註:
停用 MAPI 網路上的複寫不能保證系統不會使用該 MAPI 網路進行複寫。當所有設定的複寫網路為離線、失敗或無法使用,並且只剩下 MAPI 網路 (已設定為停用複寫) 時,系統會使用 MAPI 網路進行複寫。

系統所建立的初始 DAG 網路 (例如,DAGNetwork01 和 DAGNetwork02) 是以由叢集服務列舉之子網路為基礎。每個 DAG 成員必須具備相同數目的網路介面卡,而且每個網路介面卡必須具備唯一子網路上的 IPv4 位址 (或者也可以選擇性地具備 IPv6 位址)。多個 DAG 成員可以具備相同子網路上的 IPv4 位址,但是特定 DAG 成員中的每個網路介面卡與 IP 網址配對必須是唯一的子網路。此外,只有 MAPI 網路使用的介面卡應該設定預設閘道。複寫網路不應該設定預設閘道。

例如,假設有一個 DAG1 是兩個成員的 DAG,其中,每個成員具有兩個網路介面卡 (一個為 MAPI 網路專用,另一個供複寫網路使用)。範例 IP 位址組態設定如下表所示。

範例網路介面卡設定

伺服器-網路介面卡 IP 位址/子網路遮罩 預設閘道

EX1-MAPI

192.168.1.15/24

192.168.1.1

EX1-複寫

10.0.0.15/24

不適用

EX2-MAPI

192.168.1.16

192.168.1.1

EX2-複寫

10.0.0.16

不適用

在下列組態中,DAG 中設定了兩個子網路:192.168.1.0 和 10.0.0.0。當 EX1 和 EX2 新增至 DAG 時,將會列舉兩個子網路並建立兩個 DAG 網路:DAGNetwork01 (192.168.1.0) 和 DAGNetwork02 (10.0.0.0)。這些網路將如下表所示來設定。

單一子網路 DAG 的列舉 DAG 網路設定

名稱 子網路 介面 MAPI 存取已啟用 複寫已啟用

DAGNetwork01

192.168.1.0/24

EX1 (192.168.1.15)

EX2 (192.168.1.16)

True

True

DAGNetwork02

10.0.0.0/24

EX1 (10.0.0.15)

EX2 (10.0.0.16)

False

True

若要完成 DAGNetwork02 作為專用複寫網路的組態,請執行下列命令以停用 DAGNetwork01 的複寫。

Set-DatabaseAvailabilityGroupNetwork -Identity DAG1\DAGNetwork01 -ReplicationEnabled:$false

當 DAGNetwork01 的複寫停用之後,Microsoft Exchange 複寫服務會使用 DAGNetwork02 進行連續複寫。如果 DAGNetwork02 發生失敗,Microsoft Exchange 複寫服務會還原為使用 DAGNetwork01 進行連續複寫。這是系統特別執行的工作,以維持高可用性。

DAG 網路與多重子網路部署

在先前的範例中,雖然 DAG 使用兩個不同的子網路 (192.168.1.0 和 10.0.0.0),但 DAG 是視為單一子網路的 DAG,因為每個成員都使用相同子網路以形成 MAPI 網路。當 DAG 成員使用不同子網路作為 MAPI 網路時,該 DAG 稱為多重子網路 DAG。在多重子網路 DAG 中,必須執行額外的 DAG 網路組態,以便將適當的子網路與每個 DAG 網路產生關聯。

例如,假設有一個 DAG2 是兩個成員的 DAG,其中,每個成員具有兩個網路介面卡 (一個為 MAPI 網路專用,另一個供複寫網路使用),而且每個 DAG 成員都位於個別 Active Directory 站台中,其 MAPI 網路在不同子網路上。範例 IP 位址組態設定如下表所示。

多重子網路 DAG 的範例網路介面卡設定

伺服器-網路介面卡 IP 位址/子網路遮罩 預設閘道

EX1-MAPI

192.168.0.15/24

192.168.0.1

EX1-複寫

10.0.0.15/24

不適用

EX2-MAPI

192.168.1.15

192.168.1.1

EX2-複寫

10.0.1.15

不適用

在下列組態中,DAG 中設定了四個子網路:192.168.0.0、192.168.1.0、10.0.0.0 和 10.0.1.0。當 EX1 和 EX2 新增至 DAG 時,將會列舉四個子網路並建立兩個 DAG 網路:DAGNetwork01 (192.168.0.0)、DAGNetwork02 (10.0.0.0)、DAGNetwork03 (192.168.1.0) 和 DAGNetwork04 (10.0.1.0)。這些網路將如下表所示來設定。

多重子網路 DAG 的列舉 DAG 網路設定

名稱 子網路 介面 MAPI 存取已啟用 複寫已啟用

DAGNetwork01

192.168.0.0/24

EX1 (192.168.0.15)

True

True

DAGNetwork02

10.0.0.0/24

EX1 (10.0.0.15)

False

True

DAGNetwork03

192.168.1.0/24

EX2 (192.168.1.15)

True

True

DAGNetwork04

10.0.1.0/24

EX2 (10.0.1.15)

False

True

若要完成必要組態,DAGNetwork03 和 DAGNetwork04 應該分別摺疊至 DAGNetwork01 和 DAGNetwork02。這包括將目前與 DAGNetwork03 關聯的子網路新增至 DAGNetwork01,以及將目前與 DAGNetwork04 關聯的子網路新增至 DAGNetwork02。這將從 DAGNetwork03 和 DAGNetwork04 移除子網路關聯,讓它們成為空的 DAG 網路,以便稍後加以移除。若要將子網路摺疊至兩個 DAG 網路及停用 MAPI 網路上的複寫,請執行下列命令。

Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork01 -Subnets 192.168.0.0,192.168.1.0 -ReplicationEnabled:$false
Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -Subnets 10.0.0.0,10.0.1.0
Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork03
Remove-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork04

DAG 網路和 iSCSI 網路

依預設,DAG 會對所有偵測到和已設定為由基礎叢集使用的網路執行探索。這包括由於為一或多個 DAG 成員使用 iSCSI 儲存而在使用中的任何 Internet SCSI (iSCSI) 網路。最佳作法是,iSCSI 儲存應該使用專用的網路和網路介面卡。這些網路不應由 DAG 或其叢集進行管理,或用作 DAG 網路 (MAPI 或複寫)。相反地,這些網路應該手動停用不讓 DAG 使用,這樣它們才能專用於 iSCSI 儲存流量。若要停用 iSCSI 網路以防止受偵測並作為 DAG 網路使用,請使用 Set-DatabaseAvailabilityGroupNetwork 指令程式將 DAG 設定為忽略任何目前偵測到的 iSCSI 網路,如以下範例所示:

Set-DatabaseAvailabilityGroupNetwork -Identity DAG2\DAGNetwork02 -ReplicationEnabled:$false -IgnoreNetwork:$true

此指令同時將停用叢集使用網路。儘管 iSCSI 網路將持續顯示為 DAG 網路,在執行以上命令後,它們將不被用於 MAPI 或複寫流量。

回到頁首

設定 DAG 成員

DAG 成員的信箱伺服器擁有某些專用於高可用性的內容,這些內容應該依下列各節所述來設定:

  • 自動資料庫裝載撥號

  • 資料庫副本自動啟動原則

  • 使用中資料庫上限

自動資料庫裝載撥號

AutoDatabaseMountDial 參數會指定資料庫容錯移轉之後的自動資料庫裝載行為。您可以使用 Set-MailboxServer Cmdlet 將 AutoDatabaseMountDial 參數設定為下列值其中之一:

  • BestAvailability   如果指定此值,複製佇列長度少於或等於 12 時,資料庫會在容錯移轉後立即自動裝載。複製佇列長度是需複寫的被動複本所辨識的記錄個數。如果複製佇列長度超過 12,資料庫將不會自動裝載。當複製佇列長度小於或等於 12 時,Exchange 會嘗試將剩餘的記錄複寫至被動複本,並裝載資料庫。

  • GoodAvailability   如果指定此值,資料庫將在複製佇列長度小於或等於 6 時,在容錯移轉之後立即自動裝載。複製佇列長度是需複寫的被動複本所辨識的記錄個數。如果複製佇列長度超過 6,資料庫將不會自動裝載。當複製佇列長度小於或等於 6 時,Exchange 會嘗試將剩餘的記錄複寫至被動複本,並裝載資料庫。

  • Lossless   如果指定此值,在將主動複本上產生的所有記錄複製到被動複本之前,資料庫將不會自動裝載。此設定也會使 Active Manager 最佳副本選擇演算法根據資料庫副本的啟動喜好設定值 (而非其副本佇列長度) 來排序啟動的可能候選項目。

預設值為 GoodAvailability。如果指定 BestAvailabilityGoodAvailability,而且主動複本上的所有記錄無法複製到已啟動的被動複本,您可能會遺失部分信箱資料。不過,傳輸暫放功能 (預設啟用) 可藉由重新提交傳輸暫放佇列中的郵件,協助防止大部分的資料遺失。

除了前述的值以外,也可以藉由使用 ADSI Edit 或 Ldp.exe 直接在 Active Directory 中修改屬性,使用自訂值來設定 AutoDatabaseMountDial 參數。AutoDatabaseMountDial 參數是以信箱伺服器物件的 msExchDataLossForAutoDatabaseMount 屬性來表示。此屬性的整個數字數值表示在以沒有人為介入的方式裝載資料庫時,您願意遺失的交易記錄檔上限。如果您以大於 12 的自訂值來設定 AutoDatabaseMountDial 參數,我們建議您同樣增加傳輸暫放的大小,以便增加保護,防止更大數目的遺失記錄。

範例:設定自動資料庫裝載撥號

下列範例會以 GoodAvailabilityAutoDatabaseMountDial 設定來設定信箱伺服器。

Set-MailboxServer -Identity EX1 -AutoDatabaseMountDial GoodAvailability

資料庫副本自動啟動原則

DatabaseCopyAutoActivationPolicy 參數會指定所選取的信箱伺服器上信箱資料庫複本可用的自動啟用類型。您可以使用 Set-MailboxServer Cmdlet 將 DatabaseCopyAutoActivationPolicy 參數設定為下列值其中之一:

  • Blocked   如果指定此值,則無法在所選取的信箱伺服器上自動啟動資料庫。

  • IntrasiteOnly   如果指定此值,則可在同一個 Active Directory 站台的伺服器上啟動資料庫副本。這可防止跨站台的容錯移轉或啟用。此屬性用於內送郵件資料庫複本 (例如作為主動複本的被動複本)。無法在此信箱伺服器上啟動已在另一個 Active Directory 站台上啟動資料庫複本的資料庫。

  • Unrestricted   如果指定此值,對於在所選取的信箱伺服器上啟動信箱資料庫複本,並沒有任何特殊限制。

範例:設定資料庫副本自動啟動原則

下列範例會以 BlockedDatabaseCopyAutoActivationPolicy 設定來設定信箱伺服器。

Set-MailboxServer -Identity EX1 -DatabaseCopyAutoActivationPolicy Blocked

使用中資料庫上限

MaximumActiveDatabases 參數 (也搭配 Set-MailboxServer Cmdlet 使用) 會指定可裝載於信箱伺服器上的資料庫數量。透過確保個別信箱伺服器不會超載,您可以設定信箱伺服器以符合您的部署需求。

MaximumActiveDatabases 參數是以整數數值來設定。到達數目上限時,如果發生容錯移轉或轉換,將不會啟動伺服器上的資料庫複本。如果已在伺服器上使用複本,該伺服器將不允許裝載資料庫。

範例:設定使用中資料庫上限

下列範例會將信箱伺服器設定為支援上限 20 個使用中資料庫。

Set-MailboxServer -Identity EX1 -MaximumActiveDatabases 20

回到頁首

在 DAG 成員上執行維護

在 DAG 成員上執行任何類型的軟體或硬體維護之前,應該先使用 StartDagServerMaintenance.ps1 指令碼將 DAG 成員從服務移除。此指令碼會將所有使用中的資料庫從伺服器移除,並防止使用中資料庫移至該伺服器。該指令碼也會確認可能在伺服器上的所有重要 DAG 支援功能 (例如,Primary Active Manager (PAM) 角色) 會移至另一個伺服器,並防止它們移回伺服器。具體來說,StartDagServerMaintenance.ps1 指令碼會執行下列工作:

  • 搭配 ActivationOnly 參數執行 Suspend-MailboxDatabaseCopy 以擱置位於 DAG 成員上供啟動用途的每個資料庫副本。

  • 暫停叢集中的節點,這可防止節點成為及變成 PAM。

  • 在 DAG 成員上,將 DatabaseCopyAutoActivationPolicy 參數的值設為 Blocked

  • 將目前裝載於 DAG 成員上的所有使用中資料庫移至其他 DAG 成員。

  • 如果 DAG 成員目前擁有預設叢集群組,該指令碼會將預設叢集群組 (以及 PAM 角色) 移至另一個 DAG 成員。

如果前述工作有任何一個失敗,則除了成功的資料庫移動以外,所有作業皆會復原。

在維護完成且 DAG 成員已準備好恢復服務之後,可以使用 StopDagServerMaintenance.ps1 指令碼將 DAG 成員移出維護模式,並使其回到生產模式。具體來說,StopDagServerMaintenance.ps1 指令碼會執行下列工作:

  • 針對裝載於 DAG 成員上的每個資料庫副本,執行 Resume-MailboxDatabaseCopy Cmdlet。

  • 恢復叢集中的節點,如此可啟用 DAG 成員的完整叢集功能。

  • 在 DAG 成員上,將 DatabaseCopyAutoActivationPolicy 參數的值設為 Unrestricted

這兩個指令碼都接受 -ServerName 參數 (可以是 DAG 成員的主機名稱或完整網域名稱 (FQDN)) 和 -WhatIf 參數。這兩個指令碼都可以在本機或遠端執行。在其上執行指令碼的伺服器必須已安裝 Windows 容錯移轉叢集管理工具 (RSAT-Clustering)。

回到頁首

關閉 DAG 成員

Exchange 2010 高可用性解決方案已整合 Windows 關機程序。如果系統管理員或應用程式在具有裝載資料庫 (已複寫到一或多個 DAG 成員) 的 DAG 中初始化 Windows 伺服器的關機程序,系統會先嘗試啟動裝載資料庫的另一個副本,然後再允許完成關機程序。

不過,這項新行為不保證在伺服器上關閉的所有資料庫都將啟動 lossless。因此,最佳作法是在關閉屬於 DAG 成員的伺服器之前,先執行伺服器轉換。如需如何執行伺服器轉換的詳細步驟,請參閱執行伺服器轉換

回到頁首

在 DAG 成員上安裝更新彙總套件

在作為資料庫可用性群組 (DAG) 成員的伺服器上安裝 Microsoft Exchange Server 2010 更新彙總套件相當簡單。當您在作為 DAG 成員的伺服器上安裝更新彙總套件時,有幾個服務會在安裝期間停止,包含所有的 Exchange 服務和叢集服務。對 DAG 成員套用更新彙總套件的一般程序如下:

  1. 使用 StartDagServerMaintenance.ps1 指令碼將 DAG 成員設為維護模式。

  2. 安裝更新彙總套件。

  3. 使用 StopDagServerMaintenance.ps1 指令碼將 DAG 成員移出維護模式,並使其恢復生產模式。

  4. 使用 RedistributeActiveDatabases.ps1 指令碼以重新平衡整個 DAG 的使用中資料庫副本。

您可以從 Microsoft 下載中心下載 Exchange 2010 的最新更新彙總套件。如需如何在 DAG 成員上安裝更新彙總套件的詳細步驟,請參閱在資料庫可用性群組成員上安裝更新彙總套件

回到頁首

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