雙機熱備針對的是服務器的臨時故障所做的一種備份技術,通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。本方案將詳細介紹郵件服務器雙機熱備的解決方案,以TurboMail郵件系統為例,大家可以根據這個參考下。
1.集群技術
在了解雙機熱備之前,我們先了解什麼是集群技術。
集群(Cluster)技術是指一組相互獨立的計算機,利用高速通信網絡組成一個計算機系統,每個群集節點(即集群中的每台計算機)都是運行其自己進程的一個獨立服務器。這些進程可以彼此通信,對網絡客戶機來說就像是形成了一個單一系統,協同起來向用戶提供應用程序、系統資源和數據,並以單一系統的模式加以管理。一個客戶端(Client)與集群相互作用時,集群像是一個獨立的服務器。計算機集群技術的出發點是為了提供更高的可用性、可管理性、可伸縮性的計算機系統。一個集群包含多台擁有共享數據存儲空間的服務器,各服務器通過內部局域網相互通信。當一個節點發生故障時,它所運行的應用程序將由其他節點自動接管。
其中,只有兩個節點的高可用集群又稱為雙機熱備,即使用兩台服務器互相備份。當一台服務器出現故障時,可由另一台服務器承擔服務任務,從而在不需要人工干預的情況下,自動保證系統能持續對外提供服務。可見,雙機熱備是集群技術中最簡單的一種。
2. 雙機熱備適用對象
一般郵件服務器是要長年累月工作的,且為了工作上需要,其郵件備份工作就絕對少不了。有些企業為了避免服務器故障產生數據丟失等現象,都會采用RAID技術和數據備份技術。但是數據備份只能解決系統出現問題後的恢復;而RAID技術,又只能解決硬盤的問題。我們知道,無論是硬件還是軟件問題,都會造成郵件服務的中斷,而RAID及數據備份技術恰恰就不能解決避免服務中斷的問題。
要恢復服務器,再輕微的問題或者強悍的技術支持,服務器都要中斷一段時間,對於一些需要隨時實時在線的用戶而言,丟失郵件就等於丟失金錢,損失可大可小,這類用戶是很難忍受服務中斷的。因此,就需要通過雙機熱備,來避免長時間的服務中斷,保證系統長期、可靠的服務。
因此,是否需要采用雙機熱備方案,可以根據自己郵件系統的用戶對系統的要求來判斷。
3. 實現方案
雙機熱備有兩種實現模式,一種是基於共享的存儲設備的方式,另一種是沒有共享的存儲設備的方式,一般稱為純軟件方式。
1)基於共享的存儲設備的方式
基於存儲共享的雙機熱備是雙機熱備的最標准方案。對於這種方式,采用兩台服務器(郵件系統同時運行在兩台服務器上),使用共享的存儲設備磁盤陣列(郵件系統的數據都存放在該磁盤陣列中)。兩台服務器可以采用互備、主從、並行等不同的方式。在工作過程中,兩台服務器將以一個虛擬的IP地址對外提供服務,依工作方式的不同,將服務請求發送給其中一台服務器承擔。同時,服務器通過心跳線(目前往往采用建立私有網絡的方式)偵測另一台服務器的工作狀況。當一台服務器出現故障時,另一台服務器根據心跳偵測的情況做出判斷,並進行切換,接管服務。對於用戶而言,這一過程是全自動的,在很短時間內完成,從而對業務不會造成影響。由於使用共享的存儲設備,因此兩台服務器使用的實際上是一樣的數據,由雙機或集群軟件對其進行管理。
優點:對於共享方式,數據庫放在共享的存儲設備上。當一台服務器提供服務時,直接在存儲設備上進行讀寫。而當系統切換後,另一台服務器也同樣讀取該存儲設備上的數據。它可以在無人值守的情況下提供快速的切換,保證不會有數據丟失現象。
缺點:增加了昂貴的存儲設備投資,對於有實力的企業,可優先考慮該方式。
2) 純軟件方式
純軟件的方式,通過鏡像軟件,將數據可以實時復制到另一台服務器上,這樣同樣的數據就在兩台服務器上各存在一份,如果一台服務器出現故障,可以及時切換到另一台服務器。
優點:
① 避免了磁盤陣列的單點故障:對於雙機熱備,本身即是防范由於單個設備的故障導致服務中斷,但磁盤陣列恰恰又形成了一個新的單點。(比如,服務器的可靠系數是99.9%, 磁盤陣列的可靠系數是99.95%,則純軟雙機的可靠系數是1-99.9%x99.9%=99.99%,而基於磁盤陣列的雙機熱備系統的可靠系數則會是略低於99.95%
② 節約投資:不需購買昂貴的磁盤陣列。
③ 不受距離的限制:兩台服務器不需受SCSI電纜的長度限制(光纖通道的磁盤陣列也不受距離限制,但投資會大得多)。這樣,可以更靈活地部署服務器,包括通過物理位置的距離來提高安全性。
缺點:
① 可靠性相對較差,兩服務器間的數據實時復制是一個比較脆弱的環節。
② 一旦某台服務器出現中斷,恢復後還要進行比較復雜的數據同步恢復。並且,這個時段系統處於無保護狀態。
③ 沒有事務機制,由於其復制是在文件和磁盤層進行的,復制是否成功不會影響數據庫事務操作,因此有出現數據不完整變化的情況,這個存在著相當的風險。
4. 配置
在搭建郵件服務器雙機熱備之前,應該明確貴公司的需求,是否需要搭建雙機熱備,采用何種方式搭建,使用什麼操作平台,具體的服務器配置,如果使用基於共享的方式搭建應該用什麼磁盤陣列,采用何種集群軟件等等問題。
硬件:兩台相同配置的服務器,具體的要求大家可以根據各自的實際需要來選擇
磁盤陣列,適用於采用共享的方式搭建雙機熱備系統。
軟件:郵件系統
目前市場的郵件系統很多,優劣不同,大家可以根據需要來選擇,有免費的郵件系統Sendmail、Qmail等,國際品牌Exchange、Lotus等,質量不說了,但價格大家都心中有數,還有國內的如corlmail、turbomail,其中turbomail很有獨家特色,擁有郵件審核功能(目前市場上極少有郵件服務器有此功能),而且還把郵件歸檔集成到一個系統中(市場上其他的郵件歸檔都是單獨的系統),大家可以體驗下。
集群軟件:
搭建雙機熱備當然少不了集群軟件。在這裡我們推薦集群軟件heartbeat,這個軟件包括心跳監測部分和資源接管部分,心跳監測可以通過網絡鏈路和串口進行,而且支持冗余鏈路,它們之間相互發送報文來告訴對方自己當前的狀態,如果在指定的時間內未收到對方發送的報文,那麼就認為對方失效,這時需啟動資源接管模塊來接管運行在對方主機上的資源或者服務。