Share via


管理資料庫可用性群組

適用於:Exchange Server 2013

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

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

建立 DAG

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

如果建立的 DAG 將包含執行 Windows Server 2012 R2 的 Mailbox Server,則也可以選擇建立沒有叢集管理存取點的 DAG。 在該情況下,叢集在 Active Directory 中不會有叢集名稱物件 (CNO),而且叢集核心資源群組不會包含網路名稱資源或 IP 位址資源。

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

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

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

注意事項

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

DAG 見證伺服器與見證目錄

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

見證伺服器的需求如下:

  • 見證伺服器不得為 DAG 的成員。
  • 見證伺服器必須與 DAG 位於相同的 Active Directory 樹系中。
  • 見證伺服器必須執行支援的 Windows Server 版本。 如需詳細資訊,請參閱 Exchange 2013 系統需求
  • 一個伺服器可以作為多個 DAG 的見證。 不過,每個 DAG 需要它自己的見證目錄。

不論使用什麼伺服器作為見證伺服器,如果預訂的見證伺服器上已啟用 Windows 防火牆,則必須啟用檔案及印表機共用的 Windows 防火牆例外。

重要事項

如果您指定的見證伺服器不是 Exchange 2013 或 Exchange 2010 伺服器,您必須在建立 DAG 之前,先將 Exchange 信任子系統通用安全性群組 (USG) 新增至見證伺服器上的本機 Administrators 群組。 為確保 Exchange 可依需求在見證伺服器上建立目錄與共用,這些安全性權限是不可或缺的。

見證伺服器使用 SMB 埠 445。

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

注意事項

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

見證伺服器位置的考量

DAG 見證伺服器的位置取決於您的業務需求及貴組織可用的選項。 Exchange 2013 可支援舊版 Exchange 中所不建議甚至不可行的新 DAG 組態選項。 這些選項包括使用第三個位置,例如第三個資料中心、分公司或 Microsoft Azure 虛擬網路。

下表列出對於不同部署案例的一般見證伺服器位置建議。

部署案例 建議
在單一資料中心內部署單一 DAG 將見證伺服器放在和 DAG 成員一樣的資料中心內
跨兩個資料中心來部署單一 DAG;沒有其他可用位置 在 Microsoft Azure 虛擬網路上找出見證伺服器以啟用自動資料中心容錯移轉,或

將見證伺服器放在主要資料中心內
在單一資料中心內部署多個 DAG 將見證伺服器放在和 DAG 成員一樣的資料中心內。 其他選項包括:
  • 對多個 DAG 使用同一個見證伺服器
  • 使用 DAG 成員作為其他 DAG 的見證伺服器
跨兩個資料中心來部署多個 DAG 在 Microsoft Azure 虛擬網路上找出見證伺服器以啟用自動資料中心容錯移轉,或

將見證伺服器放在對每個 DAG 而言都是主要資料中心的資料中心內。 其他選項包括:
  • 對多個 DAG 使用同一個見證伺服器
  • 使用 DAG 成員作為其他 DAG 的見證伺服器
跨三個以上的資料中心部署單一或多個 DAG 在此組態中,見證伺服器應放在您要讓大多數仲裁投票存在於的資料中心內。

跨兩個資料中心來部署一個 DAG 時,Exchange 2013 中有個新組態選項,便是使用第三個位置來裝載見證伺服器。 如果貴組織有第三個位置,且該位置的網路基礎結構不可能有網路失敗問題會影響那兩個部署了 DAG 的資料中心,則您可以將 DAG 見證伺服器部署於那第三個位置,讓您的 DAG 組態能夠在發生資料中心層級的失敗事件時,自動將資料庫容錯移轉至剩下那個資料中心。 如果您的組織只有兩個實體位置,您可以使用 Microsoft Azure 虛擬網路作為第三個位置來放置見證伺服器。

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

建立 DAG 時,您必須提供 DAG 的名稱。 您也可以選擇性地指定見證伺服器與見證目錄。

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

  • 您只能指定 DAG 的名稱,並將 [見證伺服器 ] 和 [ 見證目錄] 字 段保留空白。 在此案例中,精靈會在本機 Active Directory 網站中搜尋未安裝信箱伺服器的用戶端存取伺服器,並自動建立預設目錄 (%SystemDrive:\DAGFileShareWitnesses\ <DAGFQDN>) ,並在該伺服器上使用該用戶端存取伺服器作為見證伺服器並使用該用戶端存取伺服器的預設共用 <) (DAGFQDN> 。 例如,請考慮作業系統已安裝到磁片磁碟機 C 上的見證伺服器 CAS3。contoso.com 網域中名為 DAG1 的 DAG 會使用 C:\DAGFileShareWitnesses\DAG1.contoso.com 的預設見證目錄,其會共用為 \\CAS3\DAG1.contoso.com。

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

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

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

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

注意事項

不支援使用為分散式檔案系統 (DFS) 名稱空間一部分的檔案分享。

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

|工作無法在伺服器伺服器 <名稱> 上建立預設見證目錄。 請手動指定見證目錄.|

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

|無法存取見證伺服器 '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 後,您可以使用 EAC 中的管理資料庫可用性群組精靈,或是在命令介面中使用 Add-DatabaseAvailabilityGroupServerRemove-DatabaseAvailabilityGroupServer 命令程式在 DAG 上新增伺服器或從 DAG 移除伺服器。 如需如何管理 DAG 成員資格的詳細步驟,請 參閱管理資料庫可用性群組成員資格

注意事項

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

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

將第一部信箱伺服器新增至 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 功能的物件,用來當作叢集的識別碼並提供叢集的安全性內容。 當新增第一個成員至 DAG 時,會執行 DAG 之基礎叢集和該叢集之 CNO 的形成。 第一個伺服器新增至 DAG 時,遠端 PowerShell 會在新增時聯絡 Mailbox 伺服器上的 Microsoft Exchange 複寫服務。 Microsoft Exchange 複寫服務會安裝容錯移轉叢集功能 (如果尚未安裝),並開始叢集建立程序。 Microsoft Exchange 複寫服務會在 LOCAL SYSTEM 安全性內容下執行,且叢集建立就是在這個內容下執行。

警告

如果您的 DAG 成員正執行 Windows Server 2012,您必須在新增第一個伺服器到 DAG 之前先預先接移 CNO。 如果您的 DAG 成員執行的是 Windows Server 2012 R2,而且您建立沒有叢集管理存取點的 DAG,則不會建立 CNO,而且您不需要建立 DAG 的 CNO。

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

  • 指派電腦帳戶的完全控制權給您新增至 DAG 的第一個信箱伺服器的電腦帳戶。
  • 將電腦帳戶的完全控制指派給 Exchange 受信任子系統 USG.

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

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

從 DAG 移除伺服器

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

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

  • 執行伺服器復原作業:如果屬於 DAG 成員的信箱伺服器遺失,或是失敗且無法復原且需要取代,您可以使用 安裝程式 /m:RecoverServer 參數來執行伺服器復原作業。 不過,您必須先使用 Remove-DatabaseAvailabilityGroupServer Cmdlet 搭配 ConfigurationOnly 參數,從 DAG 移除伺服器,才能執行復原作業。

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

設定 DAG 內容

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

可設定的內容包括:

  • 見證伺服器:您想要裝載檔案共用見證之檔案共用的伺服器名稱。 我們建議您指定 Client Access 伺服器作為見證伺服器。 這可讓系統自動配置、保全以及使用分享 (如有需要) 並且讓訊息管理員知曉見證伺服器的可用性。

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

  • 資料庫可用性群組 IP 位址:必須將一或多個 IP 位址指派給 DAG,除非 DAG 成員Windows Server 2012 R2 執行,而且您正在建立沒有 IP 位址的 DAG。 否則,可以使用手動指派的靜態 IP 位址來設定 DAG 的 IP 位址,或者使用組織中的 DHCP 伺服器自動指派給 DAG。

此命令介面讓您配置 EAC 中不可用的屬性 (例如 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 網路通訊加密設定

設定 描述
已停用 不使用網路加密。
Enabled 在所有 DAG 網路上使用網路加密進行複寫及植入。
InterSubnetOnly 在不同子網路間進行複寫時,在 DAG 網路上使用網路加密。 這是預設設定。
SeedOnly 僅植入時才在所有 DAG 網路上使用網路加密。

DAG 網路壓縮

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

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

DAG 網路通訊的壓縮設定

設定 描述
已停用 不使用網路壓縮。
Enabled 在所有 DAG 網路上使用網路壓縮進行複寫及植入。
InterSubnetOnly 在不同子網路間進行複寫時,在 DAG 網路上使用網路壓縮。 這是預設設定。
SeedOnly 僅植入時才在所有 DAG 網路上使用網路壓縮。

DAG 網路

DAG 網路是用於複寫流量或 MAPI 流量的一或多個子網路的集合。 每個 DAG 皆包含最多一個 MAPI 網路和零個或更多的複寫網路。

單一網路介面卡設定

在單一網路介面卡設定中,MAPI 和複寫流量都會使用相同的網路。 為了降低複雜度,建議使用單一網路介面卡來設定 Exchange 伺服器,因此可以在同一個網路上同時擁有 MAPI 和複寫流量。

雙重網路介面卡設定

一般而言,您只需要使用雙重網路介面卡,而增加的網路流量可能會使單一網路介面卡飽和。

在雙重網路介面卡設定中,一個網路通常專用於複寫流量,另一個網路主要用於 MAPI 流量。 您也可以新增網路介面卡至每個 DAG 成員,並將額外的 DAG 網路設定為複寫網路。

注意事項

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

在 Exchange 2010 中,有許多情況必須手動配置 DAG 網路。 根據在 Exchange 2013 中的預設,系統會自動配置 DAG 網路。 建立或修改 DAG 網路之前,您必須先執行下列指令啟用手動 DAG 網路控制:

Set-DatabaseAvailabilityGroup <DAGName> -ManualDagNetworkConfiguration $true

啟用手動 DAG 網路配置之後,您可以在命令介面中使用 New-DatabaseAvailabilityGroupNetwork 命令程式以建立 DAG 網路。 如需如何建立 DAG 網路的詳細步驟,請參閱 建立資料庫可用性群組網路

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

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

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

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

  • 啟用複寫:在 EAC 中,選取核取方塊以將 DAG 網路專用於複寫流量,並封鎖 MAPI 流量。 清除核取方塊避免使用 DAG 網路進行複寫並且允許 MAPI 流量。 在殼層中,使用Set-DatabaseAvailabilityGroupNetwork Cmdlet 中的ReplicationEnabled參數來啟用和停用複寫。

注意事項

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

系統所建立的初始 DAG 網路 (例如,MapiDagNetwork 和 ReplicationDagNetwork01) 是以由叢集服務列舉之子網路為基礎。 每個 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-Replication 10.0.0.15/24 不適用
EX2-MAPI 192.168.1.16 192.168.1.1
EX2-Replication 10.0.0.16 不適用

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

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

名稱 子網路 介面 MAPI 存取已啟用 複寫已啟用
MapiDagNetwork 192.168.1.0/24 EX1 (192.168.1.15)

EX2 (192.168.1.16)
True True
ReplicationDagNetwork01 10.0.0.0/24 EX1 (10.0.0.15)

EX2 (10.0.0.16)
False True

若要將 ReplicationDagNetwork01 設定為專用複寫網路,請執行下列命令停用 MapiDagNetwork 的複寫功能。

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

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

DAG 網路與多重子網路部署

在先前的範例中,雖然 DAG 使用兩個不同的子網路 (192.168.1.0 和 10.0.0.0),但 DAG 是視為單一子網路的 DAG,因為每個成員都使用相同子網路以形成 MAPI 網路。 當 DAG 成員使用不同子網路作為 MAPI 網路時,該 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-Replication 10.0.0.15/24 不適用
EX2-MAPI 192.168.1.15 192.168.1.1
EX2-Replication 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 網路:MapiDagNetwork (192.168.0.0, 192.168.1.0) 與 ReplicationDagNetwork01 (10.0.0.0, 10.0.1.0)。 這些網路將如下表所示來設定。

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

名稱 子網路 介面 MAPI 存取已啟用 複寫已啟用
MapiDagNetwork 192.168.0.0/24

192.168.1.0/24
EX1 (192.168.0.15)

EX2 (192.168.1.15)
True True
ReplicationDagNetwork01 10.0.0.0/24

10.0.1.0/24
EX1 (10.0.0.15)

EX2 (10.0.1.15)
False True

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 成員的信箱伺服器擁有某些專用於高可用性的內容,這些內容應該依下列各節所述來設定:

  • Automatic database mount dial
  • Database copy automatic activation policy
  • Maximum active databases

自動資料庫裝載撥號

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

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

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

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

預設值為 GoodAvailability。 如果您指定 BestAvailabilityGoodAvailability ,而且無法將使用中複本中的所有記錄複製到要啟用的被動複製,您可能會遺失一些信箱資料。 但是,安全網功能 (已根據預設啟用) 會藉由重新提交位於安全網佇列中的訊息,有助防止資料遺失。

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

下列範例會使用 的 AutoDatabaseMountDial 設定來設定 GoodAvailability 信箱伺服器。

Set-MailboxServer -Identity EX1 -AutoDatabaseMountDial GoodAvailability

資料庫副本自動啟動原則

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

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

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

  • Unrestricted:如果您指定此值,在選取的信箱伺服器上啟用信箱資料庫複本沒有特殊限制。

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

下列範例會設定 DatabaseCopyAutoActivationPolicy 設定為 的信 Blocked 箱伺服器。

Set-MailboxServer -Identity EX1 -DatabaseCopyAutoActivationPolicy Blocked

使用中資料庫上限

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

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

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

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

Set-MailboxServer -Identity EX1 -MaximumActiveDatabases 20

在 DAG 成員上執行維護

在 DAG 成員上執行任何類型的軟體或硬體維護之前,應該先讓此 DAG 成員進入維護模式。 這包括將所有使用中資料庫移出伺服器,並防止使用中資料庫移到此伺服器。 這也包括確保此伺服器上所有可能的重要 DAG 支援功能 (例如,Primary Active Manager (PAM) 角色) 都移至其他伺服器,並防止它們移回此伺服器。 具體而言,您應該執行下列工作:

  1. 若要開始清空傳輸佇列的程式,請執行 Set-ServerComponentState <ServerName> -Component HubTransport -State Draining -Requester Maintenance

  2. 若要起始傳輸佇列的清空作業,請執行 Restart-Service MSExchangeTransport

  3. 若要開始清空所有整合通訊呼叫的程式,請執行 Set-ServerComponentState <ServerName> -Component UMCallRouter -State Draining -Requester Maintenance

  4. 若要將本機佇列中擱置傳遞的郵件重新導向至 Target 參數所指定的信箱伺服器,請執行 Redirect-Message -Server <ServerName> -Target <MailboxServerFQDN>

  5. 若要暫停防止節點成為 PAM 的叢集節點,請執行 Suspend-ClusterNode <ServerName>

  6. 若要將目前裝載于 DAG 成員的所有作用中資料庫移至其他 DAG 成員,請執行 Set-MailboxServer <ServerName> -DatabaseCopyActivationDisabledAndMoveNow $True

  7. 若要防止伺服器裝載作用中的資料庫複本,請執行 Set-MailboxServer <ServerName> -DatabaseCopyAutoActivationPolicy Blocked

  8. 若要讓伺服器進入維護模式,請執行 Set-ServerComponentState <ServerName> -Component ServerWideOffline -State Inactive -Requester Maintenance

為了確認伺服器已準備好供人在其上進行維護,請執行下列工作:

  1. 若要確認伺服器已進入維護模式,請執行 Get-ServerComponentState <ServerName> | ft Component,State -Autosize

  2. 若要確認伺服器未裝載任何作用中的資料庫複本,請執行 Get-MailboxServer <ServerName> | ft DatabaseCopy* -Autosize

  3. 若要確認節點已暫停,請執行 Get-ClusterNode <ServerName> | fl

  4. 若要確認所有傳輸佇列都已清空,請執行 Get-Queue

在維護完成且 DAG 成員已準備好恢復服務之後,您可以執行下列工作來將 DAG 成員移出維護模式,並使其回到生產模式:

  • 若要指定伺服器已退出維護模式,請執行 Set-ServerComponentState <ServerName> -Component ServerWideOffline -State Active -Requester Maintenance

  • 若要允許伺服器接受整合傳訊呼叫,請執行 Set-ServerComponentState <ServerName> -Component UMCallRouter -State Active -Requester Maintenance

  • 若要繼續叢集中的節點並啟用伺服器的完整叢集功能,請執行 Resume-ClusterNode <ServerName>

  • 若要允許資料庫在伺服器上變成作用中狀態,請執行 Set-MailboxServer <ServerName> -DatabaseCopyActivationDisabledAndMoveNow $False

  • 若要移除自動啟用區塊,請執行 Set-MailboxServer <ServerName> -DatabaseCopyAutoActivationPolicy Unrestricted

  • 若要啟用傳輸佇列並允許伺服器接受和處理訊息,請執行 Set-ServerComponentState <ServerName> -Component HubTransport -State Active -Requester Maintenance

  • 若要繼續傳輸活動,請執行 Restart-Service MSExchangeTransport

若要驗證伺服器已準備好用於實際執行,請執行下列工作:

  • 若要確認伺服器不是維護模式,請執行 Get-ServerComponentState <ServerName> | ft Component,State -Autosize

  • 如果您是安裝 Exchange 更新,而更新程序失敗,則可以讓一些伺服器元件處於非使用中狀態,這類伺服器元件將會顯示於上面 Get-ServerComponentState 指令程式的輸出中。 若要解決此問題,請執行下列命令:

    • Set-ServerComponentState <ServerName> -Component ServerWideOffline -State Active -Requester Functional
    • Set-ServerComponentState <ServerName> -Component Monitoring -State Active -Requester Functional
    • Set-ServerComponentState <ServerName> -Component RecoveryActionsEnabled -State Active -Requester Functional

關閉 DAG 成員

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

不過,這個新行為並不保證正在關閉之伺服器上的所有資料庫都會發生 lossless 啟用。 因此,它會執行伺服器轉換之前關閉 DAG 成員伺服器的最佳作法。

在 DAG 成員上安裝更新

在 DAG 的成員伺服器上安裝 Microsoft Exchange Server 2013 更新,這是一種比較直接的程序。 當您在 DAG 的成員伺服器上安裝更新時,有幾個服務會在安裝期間停止,包括所有的 Exchange 服務和叢集服務。 對 DAG 成員套用更新的一般程序如下:

  1. 使用前文所述步驟,使 DAG 成員進入維護模式。

  2. 安裝更新。

  3. 使用前文所述步驟,將 DAG 成員移出維護模式,並使其回到生產模式。

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

您可以從 Microsoft 下載中心下載 Exchange 2013 的最新更新。