深入探討資料庫可用性分組

來源:互聯網
上載者:User


Exchange Server 2010 中的高可用性功能 

 

  • 深入探討資料庫可用性分組

信箱資料庫和它們包含的資料對於任何 Exchange 組織都十分重要。為了確保信箱資料庫的高可用性,Exchange 2007 提供了各種複製和群集選項,包括本機連續複寫、單一複本叢集和叢集信箱伺服器。雖然這些功能相對早期功能有所改進,但它們仍面臨許多實現難題。對於初學者,實現高可用性的每種方法都是以不同方式管理的。通過單一複製群集,群集中的所有郵箱伺服器都使用共用儲存。實現群集意味著 Exchange 管理員必須配置 Windows 容錯移轉叢集,而這種群集相當複雜,管理員可能需要用大量時間才能取得較長的正常已耗用時間。在連續複製中,Exchange 2007 使用內建非同步複製來建立資料的副本,然後使用交易記錄傳送和重播來維護這些副本。雖然您在非群集環境中使用本機連續複寫來建立本機複本,但在群集環境中要使用叢集連續複寫或待命連續複寫,並且管理每種連續複製的方式有所不同。

Exchange Server 2010 擁有全然不同的實現高可用性的方法,它將高可用性設定組成到其核心體繫結構中,從而產生一種提供服務可用性、資料可用性和自動回復的端到端解決方案。其結果是,單一的關鍵高可用性解決方案取代了以前所使用的很多不同解決方案。此解決方案就是資料庫可用性分組 (DAG)。

DAG 在資料庫級(而不是在伺服器級)提供自動容錯移轉和恢複,在您部署套件含多個信箱資料庫副本的多個郵箱伺服器時無需使用群集。由於這些變化,構建高可用性郵箱伺服器解決方案不再需要群集硬體或進階群集配置。DAG 自身提供了用於實現高可用性的基礎組件,屬於同一 DAG 的信箱資料庫的容錯移轉自動實現。可以將 DAG 擴充到多個 Active Directory 網站,並通過對郵箱伺服器進行相關體繫結構更改而使單一信箱資料庫能夠在 Active Directory 網站之間移動。如此一來,一個 Active Directory 網站中的單一信箱資料庫便可以容錯移轉到其他 Active Directory 網站。

您需要記住的是,資料庫副本僅適用於信箱資料庫。為了獲得公用資料夾資料庫的冗餘性和高可用性,您將使用公用資料夾複製。與叢集連續複寫(同一群集中不能存在一個公用資料夾資料庫的多個副本)不同的是,您可以在一個 DAG 中的伺服器之間複製公用資料夾資料庫。

在深入探討 DAG 的細節之前,我們來看一下 Exchange 2010 中的高可用性選項在其他方面的變化。

Exchange Server 2010 中高可用性功能的簡要介紹

在以前的版本中,Exchange 作為一個使用叢集資源管理模型的群集應用程式運行。在此方法中,您通過先建立一個 Windows 容錯移轉叢集、然後在群集模式中運行 Exchange 安裝程式來實現郵箱伺服器的高可用性。作為安裝過程的一部分,將會註冊 Exchange 叢集資源 DLL (exres.dll),從而允許建立叢集信箱伺服器。相比之下,Exchange 2010 不作為群集應用程式運行,叢集資源管理模型也不再用於獲得高可用性。Exchange 叢集資源 DLL 和它提供的所有叢集資源都不再存在。Exchange 2010 使用其內部自有的高可用性模型。雖然 Windows 容錯移轉叢集的某些組件仍在此模型中使用,但它們現在只由 Exchange 2010 進行管理。

非常有趣的是,很多基礎複製技術都保留下來,只是經過改進現在以明顯不同的方式工作。由於已從 Exchange 2010 移除儲存群組,因此將在資料庫層級運行連續複製。Exchange 2010 將管理員定義的單一 TCP 通訊埠用於資料轉送,而不是將伺服器訊息區 (SMB) 用於記錄傳送和植入。它不是讓被動副本從主動副本拉出一個已關閉的記錄檔,而是讓主動副本將記錄檔推入被動副本,並使用加密來保證資料流的安全性,或將資料流壓縮以減小複製資料的大小。雖然早期版本 Exchange 中資料庫的主動副本僅可用於設定種子和重新設定種子,但在 Exchange Server 2010 中,信箱資料庫的主動和被動副本都可指定為用於設定種子和重新設定種子的源,從而允許您更輕鬆地將資料庫副本添加到其他郵箱伺服器。

另一個重大變化與複製資料的方式有關。在 Exchange 2007 中,Microsoft Exchange 複製服務會將日誌重播到被動資料庫副本中,並構建一個用於減少 I/O 讀取操作的讀/寫操作緩衝。但是,在資料庫的被動副本啟用之後,該資料庫緩衝會丟失,因為用於裝載資料庫的 Microsoft Exchange 資訊儲存服務並沒有提供該緩衝。這意味著該被動副本已啟用並在沒有就緒緩衝的一個冷狀態下提供。冷狀態與資料庫緩衝在伺服器重新啟動或執行緩衝的服務重新啟動之後的狀態相同。處於冷狀態意味著伺服器不具有緩衝的讀/寫操作,這種情況通常會增加所需 I/O 讀取操作的數量,直到緩衝大小增加到足以減少伺服器上的磁碟 I/O。在 Exchange 2010 中,Microsoft Exchange 資訊儲存服務將重播日誌並處理裝載操作,以確保在啟用並提供被動副本時有可用的緩衝。因此,在發生切換或容錯移轉之後,伺服器更有可能使用緩衝來減少 I/O 讀取操作。

對於高可用性郵箱伺服器,電子郵件一旦到達郵箱中就將變得安全;但是,對傳輸中的電子郵件加以保護又是另外一回事。如果在處理郵件時集線器傳輸伺服器出現故障且無法恢複,郵件就可能丟失。作為防範資料丟失的安全措施,Exchange 2007 引入了傳輸轉儲程式功能,該功能可確保集線器傳輸伺服器保持最近傳送到收件者的一個郵件隊列,這些收件者的郵箱通過本機連續複寫或叢集連續複寫加以保護。郵件保留在傳輸轉儲程式中,直到達到管理員定義的時間限制或大小限制。發生容錯移轉時,叢集信箱伺服器自動請求 Active Directory 網站中的每台集線器傳輸伺服器從傳輸轉儲程式隊列重新提交郵件。這種方法可防止郵件在群集進行容錯移轉所需的時間內丟失。雖然這種方法很有效,但它僅可用於連續複製環境中的郵件傳送,無法解決郵件在集線器傳輸伺服器和邊緣傳輸伺服器之間傳輸時可能發生的郵件丟失問題。

Exchange 2010 通過幾種方式彌補了這些不足。傳輸轉儲程式現在可接收反饋,以確定已經傳送和複製了哪些郵件。集線器傳輸伺服器將保留髮送到 DAG 中已複製信箱資料庫的郵件的副本。該副本保留在傳輸隊列 (mail.que) 中,直到集線器傳輸伺服器得到通知,獲知表示郵件的交易記錄已成功複製到信箱資料庫的所有副本並已由這些副本進行檢查。然後,將從傳輸轉儲程式將這些日誌截斷,以確保傳輸轉儲程式隊列僅用於保持尚未複製相應交易記錄的那些郵件副本。另外,當一個 Active Directory 網站中的信箱資料庫容錯移轉到另一個 Active Directory 網站時,就會將傳輸轉儲程式重新傳送請求發送到原始網站和新網站。

為了在傳輸郵件的整個過程中提供郵件冗餘性,Exchange 2010 新增了卷影冗餘功能。卷影冗餘採用了與傳輸轉儲程式相似的方法,不同之處是它將延遲從傳輸資料庫刪除郵件的操作,直到傳輸伺服器驗證該郵件所有後續躍點均已完成傳送時才執行。如果傳輸伺服器無法驗證下一躍點傳送,則重新提交該郵件以傳送到下一躍點。與在多台伺服器上建立郵件的同一副本相比,這種方法佔用的網路頻寬更少。此時,所產生的唯一附加網路流量是在傳輸伺服器之間交換丟棄狀態訊息所產生的流量。丟棄狀態訊息是由 Shadow Redundancy Manager 產生的,用於指示準備好從傳輸資料庫丟棄電子郵件的時機。

卷影冗餘是簡易郵件傳輸通訊協定 (SMTP) 服務的擴充,只要 SMTP 串連中的兩台伺服器都支援該功能,就可以使用該功能。當您的路由拓撲中有冗餘訊息路徑時,卷影冗餘可以消除對任何特定集線器狀態或邊緣傳輸伺服器狀態的依賴,從而使任何傳輸伺服器都可處置。在這種情況下,如果傳輸伺服器出現故障,或者您想將其離線以進行維護,則您可隨時這樣做,方法是將其移除、替換或升級,而不必清空其隊列或擔心丟失郵件。

Shadow Redundancy Manager 使用一種活動訊號方法來確定擁有卷影郵件隊列的伺服器的可用性。啟動伺服器時會發出一個 XQUERYDISCARD 訊息,目標伺服器返回丟棄通知作為響應。此通知交換就是活動訊號。

如果一台伺服器在活動訊號逾時間隔(預設為 300 秒)內無法與主伺服器建立串連,則該伺服器將計時器重設並重試最多三次(活動訊號重試次數的預設值)。如果在達到最多重試次數之前,主伺服器未響應,則該伺服器確定主伺服器已出現故障,承擔起卷影郵件的所有權,並重新將它們提交。隨後,郵件將傳送到它們的相應目標位置。在某些情況下,例如在原始伺服器重新與其未經處理資料庫聯機時,可能會發生重複的郵件傳送。由於 Exchange 中具有重複郵件檢測功能,因此 Exchange 信箱使用者不會看到重複的郵件。但是,非 Exchange 郵箱伺服器上的收件者可能會收到重複的副本。

深入探討 DAG

雖然到目前為止我所介紹的許多高可用性增強功能十分重要,但沒有一個功能對 Exchange 2010 管理方式的影響超過資料庫可用性分組。DAG 是 Exchange 2010 中的基礎高可用性群組件,它的規則十分簡單。每個 DAG 都可具有最多 16 個郵箱伺服器作為其成員。每個郵箱伺服器只能作為一個 DAG 的成員,並且只能承載一個資料庫副本。所承載的副本可以是主動副本或被動副本。主動副本與被動副本的不同之處在於:主動副本是使用者一直使用和訪問的副本而不是離線副本。不能在同一台伺服器上建立同一個資料庫的兩個副本。這樣,DAG 中的任何伺服器都可以承載 DAG 中任何其他伺服器上的任何信箱資料庫的一個副本。雖然多個資料庫可同時處於主動狀態,但在任意時刻,任何特定資料庫的僅一個副本可處於主動狀態,該資料庫的最多 15 個被動副本可位於 DAG 中的其他伺服器上。

在 Exchange 組織中建立第一個 DAG 時,Exchange 將建立一個 Windows 容錯移轉叢集,但是沒有 Exchange 群集組,群集中也沒有儲存資源。DAG 僅使用 Windows 容錯移轉叢集的群集活動訊號、叢集網路和群集資料庫功能。群集活動訊號用於檢測故障。每個 DAG 需要至少一個網路用於複製通訊,需要至少一個網路用於 MAPI 和其他通訊。群集資料庫將儲存資料庫狀態更改和其他重要訊息。當您將其他伺服器添加到 DAG 中時,這些伺服器將加入到基礎群集中,該群集的仲裁模型將基於成員伺服器的數目根據需要自動得到修改。

Active Manager 是 Exchange 2010 的一個組件,它提供了資源模型和容錯移轉管理功能。Active Manager 可在作為 DAG 成員的所有郵箱伺服器上運行,充當特定資料庫的主角色擁有者 (Primary Active Manager) 或備用背景工作角色擁有者 (Standby Active Manager)。主角色擁有者將確定哪些資料庫副本是主動副本以及要啟用哪些副本。主角色擁有者接收拓撲更改通知並對伺服器故障做出反應。主角色擁有者還擁有群集仲裁資源。如果充當主角色擁有者的伺服器發生故障,則主角色會自動移動到 DAG 中的另一台伺服器,該伺服器將取得對群集仲裁資源的所有權。

背景工作角色擁有者將檢測複製的本機資料庫以及本地資訊存放庫的故障,並將故障通知發送給主角色擁有者,要求主角色擁有者啟動容錯移轉。背景工作角色擁有者不會確定哪台伺服器進行接管,也不會更新資料庫的位置狀態。主角色擁有者執行這些任務。當一個主動資料庫出現故障時,Active Manager 使用一種最佳副本選擇演算法來選擇要啟用的資料庫副本。此演算法將根據資料庫副本的資料庫狀態、內容索引狀態、副本隊列長度以及重播隊列長度來確定要啟用的最佳資料庫副本。如果一個以上資料庫副本滿足選擇條件,則將使用啟用首選值,並啟用和裝載具有最低首選值的資料庫。

在將伺服器添加到 DAG 之後,可以將每台伺服器上的主動資料庫複寫到 DAG 中的其他伺服器,並且您可以配置其他 DAG 屬性,如用於資料庫複寫的網路加密或網路壓縮。在 DAG 內,交易記錄將複製到擁有信箱資料庫副本的每台成員伺服器上,並重播到該信箱資料庫的副本中。建立了多個資料庫副本以後,您可以使用 Exchange 管理主控台和 Exchange 命令列管理程式來監視 DAG 的複製和運行狀態。資料庫容錯移轉可在發生中斷故障時自動執行,或者您也可以手動啟動切換。在切換過程中將卸載主動副本,然後裝載 DAG 中另一台伺服器上的被動副本並使該副本成為主動副本。

真正的簡化

如前文所述,Exchange 2010 有很多可提高可用性的重要增強功能,包括將高可用性功能整合到核心中以及用於提高可用性的體繫結構更改等。在所有新增功能和更改功能當中,我最喜歡的功能是 DAG。DAG 真正簡化了群集的實現,可使您專註於最重要的事情(即資料)。希望本文對您有所協助,同時推薦您查閱我的新書:《Exchange Server 2010 Administrator’s Pocket Consultant》、《Windows 7 Administrator’s Pocket Consultant》和《Windows Server 2008 Administrator’s Pocket Consultant, 2nd Edition》。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.