2013年11月4日 星期一

建置與維護 Exchange Server 2013 資料庫可用性群組 (Setup and Maintain Exchange Server 2013 Database Availability Groups)

資料庫可用性群組(Database Availability Group;DAG)為Exchange Server 2010/2013信箱伺服器所提供的高度可用性功能,為了盡量降低信箱服務於維護或意外時所可能導致的停擺時間,其成員可由高達16部Exchange信箱伺服器組成,平時經由持續複寫機制來維護信箱資料庫的同步與一致性 ,一旦使用中的資料庫(Active copy)發生問題而無法繼續提供信箱存取服務時,DAG就會進行自動恢復與裝載其它被動伺服器來接續提供信箱服務。
資料庫可用性群組最早設計於Exchange Server 2010,新版的Exchange Server 2013則持續強化與改進了這項重要的信箱伺服器功能,本文將介紹這項資料庫可用性群組的運作技術,並說明建立Exchange資料庫可用性群組的準備工作與逐步實施步驟,最後並提供維護與監控資料庫可用性群組相關的命令、工具與範例。

壹. Exchange Server 2013 資料庫可用性群組的新增與加強

Exchnage Server 2013 的資料庫可用性群組的架構、功能性和實作方法和前版相較差別不大,不過仍然持續改進與強化了以下的功能:

  • 較佳的站台復原(Site Resilience )能力:
    站台還原能力提供了站台故障而無法連線時仍可以繼續提供服務的能力,雖然前版的Exchange DAG就已經可以支援站台還原能力,但並不完整,而新版的Exchange 2013可以讓跨越多資料中心的DAG具有較完整的災難還原能力,明 顯的改進點包括了可以不同的資料中心間容錯移轉名稱空間,而因而名稱空間不再是單點失誤的可能原因,另一方面,也可以在主要資料中心的負載平衡器故障下,無需變更DNS和手動轉換之下就可以自動使用另一個資料中心的負載平衡器來連線。
  • 延後副本 (Lagged Copies):
    延後副本為管理員設定延遲一段時間才轉送交易記錄的資料庫副本,此種副本機制主要在於提供時間點復原(point in time recovery), 而Exchange 2013改善了前版的延後副本功能:
    • 整合了安全網 (Safety Net ;取代並改善了前版的傳輸暫存 (transport dumpster) )功能,讓啟動延後副本成為使用中資料庫時更為方便簡單。
    • 可設定在發生特定狀況時自動重播交易記錄,如磁碟空間超過門檻、延後副本實體毀損而需要修復資料頁、少於三個可用的健康副本 。
  • 保護公用資料夾 (Public Folders):
    Exchange 2013的公用資料夾存放於信箱資料庫,因此Exchange Server 2013的資料庫可用性群組可用來保護公用資料夾。

貳. 簡介資料庫可用性群組技術

資料庫可用性群組功能主要的設計目的在於提供Exchange信箱伺服器具有高度可用性服務,讓信箱資料庫執行維護或發生意外時可以儘量降低停擺時間並避免中斷服務,底下為一個典型的資料庫可用性群組範例架構,圖中的DAG 內有四部信箱伺服器為其成員,共維護四個信箱資料庫,為了容錯和高度可用性的需求,為每個資料庫建立四個副本,一個使用中資料庫分散在不同成員信箱伺服器內,另三個則為被動資料庫副本 ,此外,為了提供時間點復原,每個資料庫亦提供延後副本(Lagged copy)。

dag_arch

本節將先說明Exchange Server 2013的DAG設計與運作時所使用的各項技術,包括執行元件 Active Manager、容錯移轉叢集(failover cluster)技術以及複製模式與轉換或移轉機制。

Active Manager
 

Microsoft Exchange Server 2013 提供了一個稱之為Active Manager 的元件,負責管理資料庫可用性群組和信箱資料庫副本的高可用性服務,這個Active Manager 會在所有信箱伺服器的Exchange 複寫服務(MSExchangeRepl.exe) 內執行,專司管理使用中資料庫的轉換和容錯移轉工作。設定為DAG 成員的Exchange信箱伺服器上,將會有兩個 Active Manager 的角色: Primary Active Manager (PAM) 與Standby Active Manager (SAM)。 PAM 在 DAG 中負責決定那些副本為主動和被動的 Active Manager 角色, PAM同時 也負責取得拓撲變更通知以回應伺服器失敗。具有PAM 角色的 DAG 成員必為目前擁有叢集仲裁資源的成員 (預設叢集群組),一旦擁有叢集仲裁資源的伺服器失敗,則 PAM 角色將會自動移至取得叢集仲裁資源擁有權的其它伺服器。

另一個角色SAM提供目前為使用中資料庫的伺服器資訊予執行Active Manager用戶端元件的Exchange其它元件(如RPC用戶端存取服務),SAM也會監控資訊儲存庫服務和本機伺服器的資料庫健康狀況,若偵測到資料庫或資訊儲存庫服務失效,則會請求PAM初始化容錯移轉,但SAM並不會決定容錯移轉的目的地,也不會更新PAM的資料庫位置狀態。

容錯移轉叢集
  當新增資料庫可用性群組內的第一部伺服器時,DAG會自動建立容錯移轉叢集(failover cluster),而這個叢集必需專屬於DAG而不能用於其它用途,不過值得留意的是:Exchange 2013並非叢集應用程式,Exchanger只不過是利用clusapi.dll的叢集程式庫函式來提供叢集群組,叢集網路、節點管理與叢集登錄庫等功能。另一方面,擁有偶數成員的DAG會採用了節點與檔案共用多數仲裁模式(Node and File Share Majority Quorum Modes),所以需要提供見證伺服器和共用見證目錄,而擁有奇數成員的DAG則使用節點多數仲裁模式(Node Majority Quorum Modes)當使用中的信箱資料庫發生失敗而無法存取時,就會透過一種稱為最佳副本和伺服器選擇 (best copy and server selection;BCSS)機制來選擇並裝載一個資料庫副本讓它成為使用者資料庫(Active copy)。
DAG複製模式
 

Exchange Server 2010 SP1後提供了二種複製模式:
連續複製檔案模式(Continuous Replication File Mode;CRFM)
Exchange 2007/2010所支援的資料庫複製方式,主要是透過將使用中節點的記錄傳送(log shipping)至被動節點,換言之,一旦1MB的記錄檔被確認(committed)至使用中的資料庫後,就會將其傳送到被動的副本。
連續複製區段模式(Continuous Replication Block Mode;CRBM)
另一個CRBM則是Exchange 2010 SP1所推出的複製模式,其使用時機在於一旦所有記錄檔均已複製更新後才會自動啟用連續複製區段模式,CRBM模式下會令使用中資料庫副本的每一次更新也同時寫入被動資料庫副本,亦即每次資料庫變動而將交易寫入使用中伺服器的記錄緩衝區時,也同樣的傳送至被動伺服器的記錄緩衝區,因此可以有效的降低使用中資料庫交易發生後,拷貝並重播到副本的時間,另一方面,一旦使用中資料庫發生意外而停止服務時,被動的副本將在皆已更新的最新狀態下裝載以繼續提供資料庫服務,因此相對檔案模式而言,DAG的區段模式讓故障發生時,可遺失較少的記錄因而相對有利。

參. 部署資料庫可用性群組的需求條件

部署資料庫可用性群組所需的各種軟、硬體與系統組態條件如下表所列:

Active Directory 目錄服務環境
  1. DAG群組內的信箱伺服器需隸屬相同的網域
  2. 信箱資料庫伺服器本身不能是網域控制站
作業系統 DAG內的所有信箱伺服器需要使用同一個版本的Windows Server
Exchange 版本 標準版或企業版均可,也可混合使用, 不過由於標準版只有五個資料庫的上限,使用上有相當的限制而缺乏彈性,因此建議使用exchange企業版
硬體需求
  1. DAG群組內的信箱伺服器需要有足夠大的硬碟空間
  2. 建議有二個網路介面
  • 至少一個MAPI網路 :
    • 讓其它Exchange 伺服器與信箱伺服器溝通所使用的網路
    • 相當於叢集中的Public network
  • 最好有另一個複寫網路(Replication Network):
    • 這是DAG群組內的信箱伺服器彼此之間進行記錄傳送(Log shipping)與植入(Seeding)資料庫複製運作所使用的網路
    • 相當於叢集中的Heartbeat network
    • 信箱伺服器彼此之間傳送使用TCP 64327
見證伺服器
(Witness Server)
由於資料庫可用性群組乃採用節點與檔案共用多數(Node and File Share Majority)仲裁模式,因此需要一部見證伺服器及其目錄來提供具有偶數成員數時之 DAG 仲裁使用。

見證伺服器的限制及需求條件如下:

  • 見證伺服器不得為 DAG 的成員。
  • 見證伺服器必須與 DAG 位於相同的 Active Directory 樹系中。
  • 見證伺服器必須執行 Windows Server 2012、Windows Server 2008 R2、Windows Server 2008、Windows Server 2003 R2 或 Windows Server 2003 作業系統。
  • 單一伺服器可作為多個 DAG 的見證;但每個 DAG 都必須要有本身的見證目錄。
微軟建議使用非DAG成員的用戶端存取角色的Exchange 伺服器,若見證伺服器本身並Exchange 伺服器,則還需將Exchange Trusted Subsystems群組加入本機administrators群組內

 

肆. 建立Exchange 資料庫可用性群組之準備工作

為了成功的建立資料庫可用性群組,事前的準備工作是相當重要的,您需要確實執行下列工作:

  • 網路準備與設定
  • 準備見證伺服器
  • 準備DAG的叢集名稱物件(Pre-Stage Cluster Name Object):由於Windows Server 2012電腦帳戶權限的變更,因此使用Windows Server 2012作業系統部署Exchange DAG時,您必需預先準備叢集的電腦帳戶(CNO、Cluster Name Object),而不能直接透過EAC工具來建立CNO,否則會出現存取拒絕、DAG主機名稱找不到或CNO啟用等多種錯誤訊息而無法完成在DAG加入成員的動作。

一. 網路準備與設定

基於效能和管理上的考量,建議資料庫可用性群組使用二個(以上)的網路介面,一個專屬的網路介面提供面對用戶端存取的MAPI網路介面,另一個專屬的網路介面則是用來支援群組成員間的複寫與同步工作,而為了能夠順利的支援Exchange 自動設定網路的功能,您還需要設定這二個網路符合下列的組態:

MAPI網路介面
  • 指定預設閘道器
  • 至少指定一個DNS伺服器
  • 啟用『在DNS中登錄這個連線網路的位址』選項 (預設勾選)
複寫網路介面
  • 無需設定預設閘道器
  • 無需設定一個DNS伺服器
  • 停用『在DNS中登錄這個連線網路的位址』選項
  • 假若網路跨越多個子網段,則需設靜態路徑

下圖顯示了將MAPI用途的網路介面之連線順序移至頂端,令其擁有優先的連線順序。

nic_config

下圖則顯示了複寫用途之介面需要取消自動向DNS動態更新的機制。

cleardns

 

二. 準備見證伺服器

依據微軟的建議,使用非資料庫可用性群組成員的Exchange 用戶端存取角色伺服器來做為見證伺服器是適當的,因為建立DAG時會自動建立預設目錄、設定好權限,所以通常並無需特別的設定準備見證伺服器,除非您需要自訂組態(如自訂見證目錄),不過如果您像作者一樣,偏好使用非Exchange伺服器來提供見證伺服器,則正確的執行準備工作就相當重要了,因為您需要預先執行下列工作:

  • 將Exchange Trusted Subsystems群組加入本機administrators群組內
    為了能夠讓Exchange系統有足夠權限設定見證伺服器和目錄,您必需將Exchange Trusted Subsystems這個Exchange的萬用群組加入到見證伺服器的administrators本機群組內成為其成員,如下圖所示:
    daggroup
  • 非Exchange 伺服器的見證伺服器需要安裝『檔案伺服器』 (FS-FileServer) 這項功能
    管理員可以透過Install-windowsfeature cmdlet或新增角色及功能精靈程式來安裝『檔案伺服器』 (FS-FileServer) 這項角色服務。
    installfileserver
  • Windows Firewall 必需放行『檔案及印表機共用』應用程式流量
    Windows 防火牆需要將『『檔案及印表機共用』流量設定例外而允許通過。
    firewall_except

三. 準備DAG的叢集名稱物件

由於Windows Server 2012電腦帳戶的權限有所變更,因此使用Windows Server 2012作業系統部署Exchange DAG時,您必需預先準備叢集的電腦帳戶(CNO、Cluster Name Object),而不能直接透過EAC工具來建立CNO,否則會出現存取拒絕、DAG主機名稱找不到或CNO啟用等多種錯誤的訊息而無法完成在DAG加入成員的操作。

正確的準備DAG的叢集名稱物件(電腦物件),您需要執行下列二項工作:

  • 預先建立DAG的電腦帳戶並停用
  • 設定Exchange Trusted Subsystems群組對電腦帳戶有完全控制權限

下圖示範了如何新增DAG的叢集名稱物件(電腦物件),輸入電腦名稱並將帳戶予以停用。

createcno

此外,您還需要重新指定CNO的權限,做法是針對DAG物件內容對話方塊內的『安全性標籤』 ,指定 『Exchange Trusted Subsystem』群組具有允許『完全控制』的權限,或是採用另一種方法為指定加入DAG的第一部信箱伺服器具有允許全控制的權限。

createcno1

伍. 建立Exchange 資料庫可用性群組

建立、管理與維護 Exchange Server 2013 資料庫可用性群組可透過網頁式的Exchange管理中心或命令列的EMS 來完成,因此一旦您已經如上節步驟完成所有準備工作之後,請依循底下步驟開始建置一個資料庫可用性群組:

  1. 新增資料庫可用性群組
  2. 新增資料庫可用性群組成員
  3. 設定DAG網路
  4. 新增資料庫副本

一. 新增資料庫可用性群組

透過Exchange管理中心新增一個資料庫可用性群組之步驟做法如下:

  1. 啟動『Exchange系統管理中心 (EAC)』,按一下左側功能視窗的『伺服器』,選取『資料庫可用性群組』索引頁,然後按一下工具列的『+』(新增) 以開啟『新增資料庫可用性群組』設定頁。
    adddag
  2. 於『新增資料庫可用性群組』頁面中,輸入DAG名稱、見證伺服器或見證目錄,此頁面中的見證伺服器與目錄並且一定得輸入,因為如果您的環境吻合需求條件的話,系統會自動使用預設值,各種不同的輸入情境所導致的預設組態為:
    1. 您可以直接指定 DAG 的名稱、使用的見證伺服器以及在見證伺服器所要建立的共用目錄。
    2. 若只有指定 DAG 的名稱,並且未輸入 [見證伺服器] 與 [見證目錄] ,則精靈會自動搜尋用戶端存取伺服器作為見證伺服器,並自動在上建立預設目錄與共用 (DAGFileShareWitnesses)。
    3. 若指定 DAG 的名稱與輸入所要使用的見證伺服器,然後未輸入指定 [見證目錄] ,則Exchange系統將會在您所指定的見證伺服器上建立預設目錄(DAGFileShareWitnesses)。
    4. 若指定 DAG 的名稱與輸入所要使用的見證目錄、但並未輸入 [見證伺服器] 核取方塊,則Exchange系統將會自動搜尋用戶端存取伺服器作為見證伺服器,然後在該伺服器上建立指定的目錄並加以共用。
    createdag
    另一方面,您也可以利用New-DatabaseAvailabilityGroup cmdlet來新增資料庫可用性群組,如下列指令範例建立了一個名稱為LIJDAG的DAG,設定FS1為見證伺服器,建立見證目錄C:\DAGDIR1,DAG連接位址為192.168.2.150:
    New-DatabaseAvailabilityGroup -Name LIJDAG1 -WitnessServer FS1 -WitnessDirectory C:\DAGDIR1 -DatabaseAvailabilityGroupIpAddresses 192.168.2.150

    一旦完成新增動作後,您就會在資料庫可用性群組頁面中看到一個已經建立的DAG畫面。
    createdag1

二. 新增資料庫可用性群組成員

接下來,您需要新增資料庫可用性群組的成員,步驟如下:

  1. 按一下工具列上的『管理DAG成員資格』(如下圖)。
    dagmember1
  2. 接下來的頁面請按一下『+』(新增),然後加入群組的信箱伺服器成員並等待其完成。
    dagmember2
    這個加入DAG成員的步驟如果發生錯誤,大多是將Exchange Server 2013安裝在Windows Server 2012作業系統而且沒有完整或正確的準備DAG叢集名稱物件所導致。
  3. 若已經成功的將信箱伺服器加入DAG後,您可以檢視並發現 Active Directory DNS區域自動註冊DAG主機名稱,而且見證伺服器上的見證目錄不再是空的且也已被共用分享出來。
    dagmember3

當然,您也可以透過EMS以命令的方式來新增資料庫可用性群組的成員:

Add-DatabaseAvailabilityGroupServer –Identity LIJDAG1 –MailboxServer MAIL2

三. 調整DAG網路設定

為了符合規劃中將某網路設定為專屬的MAPI網路,而另一網路設定為專屬的複寫用途網路,所以還需要調整自動的網路設定:

  1. 改為手動設定 (預設為自動設定網路)
  2. 變更網路名稱
  3. 設定網路啟用或停用複製選項

檢查目前的檢查資料庫可用性網路狀況

由下圖可知,如果您先前的網路準備設定符合規定,則您應該可以看到二個自動設定的網路--MapiDagNetwork和ReplicationDagNetwork01,而群組內容的IP位址也顯示著建立DAG時所指定的IP位址。

dagnet1

調整DAG網路為手動設定

首先,您需要將網路改為手動設定DAG網路以便可以自由變更設定,您只需要編輯所建立的資料庫可用性群組,並於『一般』頁面勾選下方的『手動設定資料庫可用性群組網路』選項即可,然後右側就會出現可讓您設定的連結項目。

dagnet2

調整MAPI網路設定

接下來,調整MAPI網路設定 ,請按一下 "MapiDagNetwork" 下方的『檢視詳細資料』連結,待出現"MapiDagNetwork" 網路設定頁後,請更改網路名稱為自己易記憶的名稱,並且清除『啟用複製』選項(因為MAPI網路預設上並不執行複寫工作),最後請確認子網路及介面的狀態均是『Up』狀態即可。

dagnet3

 

調整複寫網路設定

您也需要調整另一個複寫網路設定 ,請按一下 "ReplicationDagNetwork01" 下方的『檢視詳細資料』連結,待出現"ReplicationDagNetwork01" 網路設定頁後,變更網路名稱為易記友善的名稱,並且勾選『啟用複製』選項以便利用這個網路來執行成員的複寫工作,最後仍需確認子網路及介面的狀態均是『Up』狀態即可。

dagnet4

 

四. 新增信箱資料庫副本

接下來的步驟,您將開始替每個資料庫建立副本,如果您的Exchange組織有多部信箱伺服器,並且個別擁有多個資料庫,則您得妥善規劃思考每個資料庫的副本數量及伺服器位置。下圖例子僅是示範將二部信箱伺服器內各自建立的資料庫互在對方建立一份副本以提供不中斷服務的可用性。

  1. 首先,下圖顯示了新增副本之前的Exchange組織伺服器與資料庫狀況,二部信箱資料庫,各自擁有二個使用中的資料庫,打算替Mail1使用中的 "managers Database" 和 Mail2伺服器的"Contract Worker Database" 新增副本。
    addcopy1
  2. 接下來,先替Mail1伺服器的 "Manager Database"  新增副本,選按一下資料庫後,選取工具列的『… ↘ 新增資料庫副本』選項。
    addcopy2
  3. 於出現的『新增信箱資料庫副本』設定頁中,選擇副本的信箱伺服器、啟動喜好設定編號(Activation preference number)、是否延後植入以及轉送延隔時間。
    • 啟動喜好設定編號:此編號將會反應管理員偏好哪一部信箱伺服器來提供使用中的資料庫副本,內定上會自動加一,因為資料庫目前由Mail1伺服器提供使用中副本,擁有最優先的編號為1,因此新增第二個副本時的喜好編號自然為2。本編號將用來做為日後發生自動容錯移轉時或是手動重新平衡DAG時(使用RedistributeActiveDatabases.ps1)選取啟用中副本的主要依據。
    • 轉送延隔時間(Replay Lag Time):指出Exchange複寫服務要把已經拷貝到資料庫副本的記錄檔重新執行前需要等待的時間長短,此參數的格式為"天.時:分:秒",而預設值為0 (停用),最大可能值為14天。
    • 延後植入 (Seeding Postponed):延後植入用來指出是否要在特定伺服器上自動植入(更新)資枓庫副本,這項參數常用在您想要利用一個存在的被動副本來植入更新一個新建的資料庫副本,所以一旦勾選本項時,您必需手動植入資料庫副本 (使用 Update-MailboxDatabaseCopy)。
    addcopy3
  4. 完成副本建立後,如果看到在副本的內容索引狀態是呈現失敗或未知,請按一下工具列的重新整理頁面。
    addcopy4 

陸. 轉換或容移轉使用中資料庫 (Database switchover or Failover)

一旦成功建立資料庫可用性群組之後,您可以手動轉換使用中資料庫或測試自動移轉機制是否正常。

管理員若基於維護或其它因素原因而將需要將目前使用中的資料庫轉至其它被動副本,則只需要在資料庫頁面中,按一下所欲轉換的DAG資料庫,並於右側的詳細資料窗格中,找到被動的資料庫副本,按一下副本的『啟動』連結,待畫面出現警告視窗後,按下『是』,並且等待完成手動轉換並裝載此資料庫副本。

dagswitchover

另一方面,為了測試資料庫可用性群組是否真的具備自動錯誤移轉(Failover)能力,您可以將目前使用中資料庫的伺服器中斷網路或關機以便模擬故障失效情境而讓其它副本伺服器和見證伺服器無法連線,然後觀察被動副本是否會如預期的成為啟動的資料庫而繼續提供信箱存取服務。下圖說明了DAG中一旦使用中的資料庫出了問題,就會裝載一部被動副本而成為啟動中提供服務的資料庫。

dag_failover1

柒. 監控與診斷DAG問題

大型規模的企業網路環境、具有多個站台的Active Directory架構、整合負載平衡能力的用戶端存取陣列環境下,由於整合複雜度較高以及涵蓋網路範疇較大,建立與維護Exchange的資料庫可用性群組之難度也隨之提升,特別是DAG監控與問題診斷的技巧將相對重要,本節將說明如何監控與診斷DAG,以便管理員可持續維護一個高度可用性能力的Exchange訊息系統環境。

Exchange 2013的資料庫可用性群組的監控與問題診斷大多需藉助Powershell cmdlet或指令檔以及相關的記錄檔,有用的工具說明如下。

一. 檢視信箱資料庫複製狀況:Test-ReplicationHealth cmdlet

許多DAG的異常現象或錯誤在於複寫出了問題,因此管理人員可以使用 Test-ReplicationHealth Cmdlet 檢查所各種複寫方面的問題,特別是提供資料可用性群組 (DAG) 內某特定信箱伺服器的狀態,可顯示DAG的網路、複製服務、Active Manager、預設叢集群組、見證伺服器與目錄是否正常運作,下圖範例僅是簡單的查看複製的各項結果。

dag_failover4

二. 取得資信箱料庫副本狀況:Get-MailboxDatabaseCopyStatus cmdlet

管理人員可以利用 Get-MailboxDatabaseCopyStatus cmdlet 來顯示DAG內資料庫有用的資狀態資訊,包括使用或被動的裝載狀態,佇列長度等。

dag_failover3

三. 查看應用程式及服務記錄檔的Exchange通道

微軟從Windows Server 2008 作業系統開始新增了應用程式及服務記錄檔用來存放特定應用程式或元件的事件,又稱為application's crimson channel,在此處有三個通道可以用來協助監控或診斷DAG的問題:
HighAvailability 通道:包括了Exchange複寫服務的啟動與關閉事件、Active Manager元件相關事件、RPC伺服器工作、磁碟區陰影複製(VSS)寫入動件等
MailboxDatabaseFailureItems 通道:記錄任何導致信箱資料庫複寫失敗的事件
ManagedAvailability 通道:這是Exchang 2013新增的通道,包含一切Exchange健康檢查與回報的記錄,此通道雖非針對DAG的記錄,但有時對於診斷與監控其它影響到DAG運作的相關問題也有助益。

下圖為透過事件檢視器工具檢視Exchange通道事件。

dag_failover5

四. 取得轉換和移轉的統計資料 --CollectOverMetrics.ps1

Exchange 內建的度量指令碼--CollectOverMetrics.ps1 負責讀取 DAG 成員的事件日誌,以收集特定時間內的資料庫作業相關資訊 (包括資料庫裝載、移動和轉換),最後以每列一項作業的方式將這些資訊寫入 .csv 檔案中,您還可以利用GenerateHtmlReport 和ShowHtmlReport 產生HTML報表報,例如下列指令對產生了HTML格式的移轉摘要統計報表:

CollectOverMetrics.ps1 -DatabaseAvailabilityGroup DAG1 -StartTime "10/15/2013" -EndTime "10/30/2013" -GenerateHTMLReport –ShowHTMLReport

dag_report1

五. 監控複製計量資料

另一個內建於Exchange 2013 內的狀況度量指令碼是 CollectReplicationMetrics.ps1。這個指令碼會即時收集度量資訊,所以提供了一種主動形式的監視資料。CollectReplicationMetrics.ps1 會從與資料庫複寫相關的效能計數器收集多個信箱伺服器的計數器資料,並且將每部伺服器的資料寫入 .csv 檔案,然後報告所有資料的各種統計資料 (例如每個副本失敗或擱置的時間長度、平均的複製佇列長度或重新顯示佇列長度,或是副本不符合容錯移轉準則的時間長度)。這些計數統計資料繁雜,您可能需要輔助資料來協助看懂每項資訊。

dag_report3

捌. 其它資料庫可用性群組資料庫的重要維護與管理工作

最後額外說明二項資料庫可用性群組的相關設定與管理工作,包括DAG網路的加密與壓縮功能以及重新更新資料庫工作。

DAG網路的加密與壓縮功

預設上,DAG網路流量只有在跨越不同子網路下才會加密與壓縮,因此相同網段的複寫流量並不會予以加密和壓縮,如果您希望DAG在複製流量或更新時總是壓縮並加密,則可以利用Set-DatabaseAvailabilityGroup cmdlet來加以設定:

Set-DatabaseAvailabilityGroup –Identity LIJDAG –NetworkCompression Enabled–NetworkEncryption Enabled

其實上述的NetworkCompression和NetworkEncryption這二個參數可使用的設定值為:
  Disabled: DAG網路不加密或壓縮
  Enabled: 加密或壓縮DAG的複製與更新流量
  InterSubnetOnly: 唯有在相同網子網路下才會加密或壓縮DAG網路流量
  SeedOnly: 只有在資料庫更新(seeding)時才予以加密或壓縮

重新更新資料庫副本 (Reseeding a database copy)

預設上,資料庫可用性群組會透過使用中的資料庫交易記檔來增量同步與更新所有被動的資料庫副本,正常的複寫工作會讓每個資料庫副本維持同步狀況,但有時候,可能會由於網路緣故、遺失記錄檔或其它非預期的意外,而讓正常的更新失敗,導致無法順利的同步資料庫副本,這時考慮重新拷貝與更新資料庫是一個建議的做法:

  1. 首先,檢查或確認複寫失效的原因已經排除。
  2. 在Exchange系統管理中心工具內,選擇被動副本需要重新更新的資料庫。
  3. 請在右側詳細窗格中,找到有問題而需要重新更新的資料庫副本,並且按一下『擱置』以便讓系統停止複寫交易記錄到此副本,接下來的畫面可輸入註解,最後按『儲存』關閉視窗。
    dag_reseeding1
  4. 接下來,請按一下『更新』連結,並於出現的視窗上選擇來源伺器,可以為使用中或被動服器,然後按『儲存』後,來源伺服器就會拷貝資料庫和交易記錄檔至此副本,請等待複寫更新完成 (若資料庫大,可能需等待一段時間才能夠完成)。
    dag_reseeding2
  5. 完成之後,您或許仍在已更新的被動副本看到『正在重新同步處理』的狀況,請按一下上方的重新整理圖示即可恢復正常。
    dag_reseeding3

另一方面,您也可以利用EMS以Update-MailboxDatabaseCopy來完成相同的工作:

 Update-MailboxDatabaseCopy -Identity 'Contract Worker Database\MAIL2' -SourceServer 'MAIL1'  -DeleteExistingFiles

玖. 結語

架設大型企業網路的Exchange訊息系統通常要求提供高度用性(High Availability)和延展性(Scalability)的能力,因此就架構設計而言,透過具有負載平衡能力的用戶端存取陣列並搭配容錯移轉功能的信箱伺服器無疑的是目前最主要之架構,而資料庫可用性群組則是利用微軟容錯移轉叢集來達到信箱資料庫的高可用性、不中斷信箱服務的能力,本文說明了如何建立Exchange 2013資料庫可用性群組的實務步驟,管理人員只要能夠確實而正確的完成建立前的準備條件,然後再透過Exchange管理中心管理工具即可輕易的完成建立資料庫可用性群組的工作,不過如何藉助持續定期的監控與調整技術以便能夠維護一個正常可提供高度可用性的DAG環境則是更值得管理人員學習與花費心思。