高可用是企業一直在提的理念,也是一直希望能達到最高的高可用,業務線上時長也根據不同的業務需要,經常要求達到幾個9之類的名額,可見高可用的想法已經深入人心,exchange server 2013作為企業中的電子郵件伺服器,同樣有着高可用設計,沒有人希望自己的電子郵件服務中斷,尤其是平時依賴電子郵件工作的人們。接下來我們就來探讨一下,如何使exchange 高可用。
學完本節後我們将能夠:
1、 描述高可用的組成部分
2、 描述什麼是dag
3、 了解dag是如何工作
4、 了解如何使用戶端通路伺服器高可用
5、 了解如何使傳輸服務高可用
6、 了解什麼是卷影備援
7、 了解卷影備援是如何工作
8、 了解如何使邊緣傳輸服務高可用
9、 描述什麼是站點恢複能力
一、 資料中心基礎架構
作為企業中最重要的資料中心,我們必須保障資料中心有足夠的電力與制冷能力,最好的情況下是上述能力能夠高可用,首先我們要保障電力的穩定性與多路供電,制冷能力也是同樣,除需要有資料中心中央空調以外,我們還需要有多台類似于網絡能源這樣的大型空調,以保障我們的制冷能力的可用性和應對突發事件的能力,如我們的中央空調出現故障或其他制冷單元出現故障,我們的制冷依舊能工作正常,不至于出現當機。此外,為了設計更高一層的高可用,我們應該做資料中心高可用,在異地建裝置用資料中心。
二、 伺服器硬體
畢竟各種業務的載體大多都是伺服器,是以伺服器的高可用就顯得尤其重要,但伺服器的硬體不是我們生産的,我們并不能明确知道伺服器哪個部件會在具體哪個時間會出現故障,即使我們是伺服器硬體生産商,我們也不能夠确認。是以我們在設計高可用時就應該考慮伺服器硬體的高可用,比如我們需要設計雙電源、多路網絡擴充卡、多路cpu,容錯能力較強的記憶體等。
三、 存儲部分
隻有保證了以上實體部件高可用,我們運作在其上的業務才可能有進階别高可用能力。我們要在一台伺服器上實施高可用,我們就可以實施raid讓我們的作業系統和其上運作的應用相對來說較為高可用。raid具備奇偶校驗能力,可以在硬碟失敗的時候,確定我們不丢失或更少的丢失資料。我們要在一台以上伺服器高可用時,我們就可以在兩台伺服器上實施資料副本,當我們其中一台伺服器失敗時,我們另一台伺服器上還有完整的資料副本,避免資料丢失。
四、 網絡基礎架構
網絡在整個高可用環節起着至關重要的作用,如果網絡失敗,就會造成整個資料中心伺服器無法提供服務,造成業務中斷,是以設計一下好的網絡至關重要。首先針對伺服器,我們要具備多路網絡接入,以備單網卡失敗的情況發生,和伺服器連接配接的交換機也是同樣,我們要有備援的交換機路由器裝置或交換機路由器的相關高可用技術,比如hsrp等。
網際網路連接配接也需要高可用,提供備援的網際網路接口對保證業務線上來說至關重要,是以選擇兩個及以上的isp線路就很有必要,一些防火牆或路由器可以在一條鍊路失敗的時候進行故障轉移到另一條鍊路上繼續提供服務,對于入站的郵件,我們很有必要建立多條mx記錄,分别指向不同的isp位址。
網絡服務的高可用直接影響到我們的體驗。在exchange server 2013的高可用組織中,active directory domain services (ad ds) 和domain name system (dns)也必須高可用才可以。将ad伺服器高可用的做法是,在同一實體位置必須有兩台及以上有的域控制器和全局編錄伺服器,将dns伺服器高可用的做法是做兩台及以上的dns伺服器,将他們之間的資訊進行同步,預設情況下,內建adds的dns 區域将在林内的dns伺服器上進行複制。
資料庫可用性組 (dag) 是内置于 microsoft exchange server 2013 中的高可用性和站點恢複架構的基礎元件。dag 是一組郵箱伺服器(最多可包含 16 個郵箱伺服器),其中承載了一組資料庫,可提供從影響單個伺服器或資料庫的故障中自動執行資料庫級恢複的功能。
dag 是郵箱資料庫複制、資料庫和伺服器切換、故障轉移以及名為“活動管理器”的内部元件的邊界。活動管理器在 dag 中的每台伺服器上運作,用于管理切換和故障轉移。
dag 中的任何伺服器可以承載來自 dag 中任何其他伺服器的郵箱資料庫副本。将伺服器添加到 dag 後,此伺服器與 dag 中的其他伺服器協同工作,提供從影響郵箱資料庫的故障(如磁盤故障或伺服器故障)中自動執行恢複的功能。
實作dag資料庫高可用有以下參考資訊:
1、 要求作業系統是windows server 2008 r2 或windows server 2012、windows server 2012 r2中的故障轉移群集功能,雖然dag的所有安裝和配置都是通過eac或ems進行,雖然dag的實作需要故障轉移群集 ,但是exchange server 2013并不直接使用windows 故障轉移群集管理器去執行資料庫故障轉移,相反,dag技術會使用“活動管理器”去控制故障轉移,windows 故障轉移應用于其他場景,比如整個伺服器都失敗了。
2、 在exchange server 2013中使用了改良自exchange server 2007以來引入的連續複制技術,改良後支援了新的高可用功能,比如,資料庫複制、資料庫移動等。
3、 可以在任何時候添加郵箱伺服器,而不用考慮它是否要做為dag成員。
4、 因為dag使用了windows 故障轉移的一些功能,比如心跳等,是以exchange server 2013 郵箱伺服器必須安裝在windows server 2012r2 資料中心版和标準版windows server 2012 資料中心版和标準版、 windows server 2008 r2 企業版和資料中心版上。
5、 允許在dag内移動單個資料庫,而不影響其他資料庫
6、 允許最多建立單個資料庫的16個副本,是以我們可以添加16個伺服器到dag中,但是這些資料庫副本必須存儲在相同的路徑,比如全部是d:\db
7、 dag定義了複制的邊界,因為隻能在dag之内進行複制,複制資訊是不能在dag之外進行的。
8、 禁止添加exchange server 2010伺服器到exchange server 2013的dag中。
活動的資料庫副本在dag中進行連續性複制,将資料複制到被動資料庫中以保持資料一緻,dag利用windows 作業系統的故障轉移功能,它依賴“活動管理器”元件去維護dag中的資料庫
以下是資料庫的特征:
1、 單個資料庫可以在dag成員中進行切換或轉移到其他成員伺服器上,但是同時隻能有一個活動的副本。
2、 在任何時間内,一個副本可以是複制源或複制目标,但不能同時是兩者
3、 每台伺服器不能同時承載單資料庫多于一個的多個副本
4、 并不是所有的資料庫都必須有相同數量的副本,在一個16節點的dag中,一個資料庫可以有16個副本。
dag技術使提資料庫出現異常時可以切換到其他dag成員伺服器上,使業務不中斷。
要使用戶端通路伺服器高可用,必須在ad中部署至少兩台用戶端通路伺服器,exchange server 2013的用戶端通路伺服器現在是無狀态伺服器,這意外着用戶端請求不再必須使用相同的用戶端通路伺服器,可以使用任何伺服器。它允許使用下列技術來配置設定負載:
1、 dns 輪循:要使用dns輪循我們必須建立多條dns記錄條目以提供用戶端通訊,dns條目中必須包含所有可用的用戶端通路伺服器,如果有一個以上的實體站點,應該實施geo-dns,實施後,用戶端就總是會擷取近用戶端比較近的用戶端通路伺服器的ip位址,當決定使用dns輪循後,你必須意識到,如果伺服器失敗,用戶端還有可能獲得失敗伺服器的ip位址的可能。
2、 網絡負載均衡:windows server 2012提供了名為網絡負載均衡(nlb)的功能,允許在多台用戶端通路伺服器之間配置設定負載,它以虛ip(vip)的方式向外提供服務,nlb功能可以確定隻有可用的伺服器對外提供服務,而不會出現dns輪循中命中率的問題。當nlb中一個成員失敗,這個ip位址就不再對外響應,這是一種基于伺服器的故障轉移,它不能和dag在同一台伺服器上使用。
3、 基于硬體的負載均衡:它和nlb很像,但它是基于硬體的一種負載均衡,同樣使用虛ip(vip)向外提供服務,具體技術可能根據不同廠商會有不同。
實作用戶端通路伺服器高可用,有以下幾個步驟:
1、 在一個站點中部署多台用戶端通路伺服器
2、 使用nlb或基于硬體的nlb建立一個群集
3、 添加網絡負載均衡的名字到dns條目
在exchange 2010中,我們還需要配置用戶端通路陣列,但是exchange 2013中,這已經不再是必須的。
在整個郵件系統中,資訊的傳輸無比的重要,如果資訊不能夠被正确送達目的地,那麼郵件系統就出現了故障
在exchange 2013中,傳輸高可用不僅僅隻是消息備援,exchange 2013嘗試通過兩種功能結合來做到這點,和安全保障,在郵件被接收之前做個備援副本,在郵箱伺服器上安全保障将被成功處理。
是在exchange server 2010引入的一個功能,它保障了如果在郵件還沒有投遞到目的地并且伺服器發生了失敗後,郵件不會丢失,在 exchange 2013已經得到了提高,它将會在發送成功之前自動的為收到的郵件建立備援副本。
在exchange server 2013中,發送伺服器支援卷影備援是不再必須的,因為建立卷影備援是每時每刻都在自動建立,預設情況下,卷影備援将在兩天後删除。
的主要目的在傳輸高可用的邊界中總是保持兩個消息副本,邊界有以下幾種:
1、 dag
2、 ad站點
卷影備援在以下幾種情況下會被建立:
1、 從外部收到郵件
2、 向外部發送郵件
3、 在傳輸邊界中從郵箱伺服器的在郵箱傳輸送出服務收到郵件
需要注意的是:卷影備援從不會跨越邊界跟蹤郵件
卷影備援的工作原理簡介如下:
1、 當在郵箱伺服器上收到郵件,這個郵件會話就會開始
2、 傳輸服務打開一個新的smtp會話到其他的傳輸服務去建立一個卷影備援副本。
3、 當郵件被成功的送出到卷影伺服器,伺服器接收郵件後,這個會話将關閉
如果某郵箱伺服器不屬于任何dag組,但屬于同ad站點,它同樣會使用卷影伺服器。
卷影郵件的工作流程:
當伺服器成功的将郵件投遞到資料庫中,伺服器将會更新此郵件的丢棄狀态,這個丢棄狀态從本質上來說,包含了被監控的清單,當郵件被成功的送出後,就不再需要儲存在卷影隊列中,一旦卷影伺服器知道擁有卷影郵件的伺服器成功的将郵件傳遞到下一跳,卷影伺服器将把郵件從卷影隊列中移動到安全保障區域。
郵件是如何恢複:
當郵箱伺服器由于硬體故障而停機,每個擁有卷影郵件隊列的郵箱伺服器都将承擔這些郵件的所有者,當停機的郵箱伺服器重新上線之後,它将重新送出這些郵件,所有郵件将被重新送到目标處,這是重複的郵件送出,然而,exchange server會自動檢測重複的郵件,将不會被重複送出到資料庫中,隻有沒有成功送出到資料庫中的郵件才會被添加。
什麼是安全保障(safety net):
在 microsoft exchange server 2013 中,郵箱高可用性的主要機制為資料庫可用性組 (dag)。
“傳輸轉儲程式”最先在 exchange 2007 中引入,并在 exchange 2010 中得到進一步改善,以便在郵件成功提供給 dag 中的郵箱後,提供備援的郵件副本。在 exchange 2010 中,傳輸轉儲程式通過維持尚未複制到 dag 中被動郵箱資料庫副本的一隊成功傳遞的郵件,幫助防止資料丢失。如果郵箱資料庫或伺服器故障需要建立郵箱資料庫的過期副本,則會自動将傳輸轉儲程式中的郵件重新傳遞至郵箱資料庫新的活動副本。
傳輸轉儲程式已在 exchange 2013 中得到改進,并且現在稱為“safety net”。
safety net 與 exchange 2010 中的傳輸轉儲程式相似之處:
1、safety net 是一個隊列,與郵箱伺服器上的傳輸服務相關。該隊列存儲由伺服器成功處理的郵件副本。
2、您可指定在成功處理的郵件到期并被自動删除前,safety net 将把這些郵件儲存多長時間。預設為 2 天。
safety net 在 exchange 2013 中不同之處:
1、 safety net 不需要 dag。對于不屬于 dag 的郵箱伺服器,safety net 在本地 active directory 站點中的其他郵箱伺服器上存儲傳遞的郵件的副本。
2、現在 safety net 本身是備援的,并且不再是單點故障。這引入了“primary safety net”和“shadow safety net”概念。如果 primary safety net 在 12 個小時以上的時間内不可用,則重新送出成為卷影重新送出請求的請求,并且會從 shadow safety net 重新送出郵件。
3、safety net 會負責 dag 環境中一些卷影備援的工作。卷影備援在等待傳遞的郵件複制到 dag 中其他郵箱伺服器上的郵箱資料的被動副本之前,無需在卷影隊列中保留傳遞的郵件的其他副本。傳遞的郵件的副本已存儲在 safety net 中,是以如果需要,可從 safety net 重新送出郵件。
4、在 exchange 2013 中,傳輸高可用性不僅僅郵件備援的最大努力。exchange 2013 嘗試確定郵件備援。是以,不能指定 safety net 的最大大小限制。可指定在成功删除郵件前,safety net 将把這些郵件儲存多長時間。
1、primary safety net 在傳輸服務成功處理郵件之前,存在于保留主要郵件的郵箱伺服器上。這可能意味着郵件被傳遞到目标郵箱伺服器上的郵箱傳輸服務。或者,可通過指定為通往目标 dag 或 active directory 站點上集線器站點的 active directory 站點中的郵箱伺服器中繼郵件。在主要伺服器處理主要郵件之後,會将郵件從活動隊列移動到同一伺服器上的 primary safety net。
2、shadow safety net 存在于保留卷影郵件的郵箱伺服器上。在卷影伺服器确定主要伺服器已成功處理主要郵件後,卷影伺服器将卷影郵件從卷影隊列移動至同一伺服器上的 shadow safety net 中。盡管看上去很明顯,shadow safety net 的存在需要啟用卷影備援,并且在 exchange 2013 中預設啟用卷影備援。
在exchange server 2013 sp1之前,這個角色是不存在的,在sp1之後,這個角色又重新回到了架構體系。
在沒有2013的邊緣角色之後,我們同樣可以使用2010的角色去完成工作,這是完全支援的。
為了讓邊緣高可用,我們可以建立兩個邊緣角色并配置邊緣同步,我們還可以配置多個mx記錄到不同的邊緣伺服器上,如果優先級是一樣的,還可以實作負載均衡。
有些企業還在邊緣傳輸上做了nlb,這也是支援的,就看高可用性設計是怎樣的。
我們還可以為exchange 提供兩條isp鍊路,以提供備援的外發郵件線路。一些防火牆是支援當一條鍊輪失敗後,自動将流量轉移到另一條鍊路的。
站點恢複是指,當主要的資料中心失敗後,其他資料中心可持續向外提供服務。
要實作這一點,額外資料中心必須具備以下條件:
1、 屬于某dag,并可持續複制
2、 具備cas角色
3、 具備dns、dc、gc等其他基礎條件
本文出自 “” 部落格,請務必保留此出處