雙機熱備是針對伺服器臨時故障而設計的備份技術,旨在避免長時間服務中斷,確保系統長期穩定可靠地運行。本文將以 TurboMail 郵件系統為例,詳細介紹郵件伺服器雙機熱備的完整解決方案,供讀者參考實作。
在深入雙機熱備之前,首先需要了解叢集技術的基本概念。叢集是指一組相互獨立的電腦,透過高速通訊網路組成一個整體運算系統。叢集中的每個節點(即每台電腦)都是獨立運行自身進程的伺服器,這些進程之間可以互相通訊。對網路用戶端而言,整個叢集彷彿就是一台單一的伺服器,協同提供應用程式、系統資源與資料,並以單一系統模式進行管理。
叢集技術的核心目標在於提供更高的可用性、可管理性與可擴展性。一個典型叢集包含多台擁有共享資料儲存空間的伺服器,各節點透過內部區域網路通訊。當某節點發生故障時,其運行的應用程式將由其他節點自動接管,確保服務不中斷。
其中,僅包含兩個節點的高可用性叢集即稱為「雙機熱備」,也就是兩台伺服器互為備份。當一台故障時,另一台自動承擔服務任務,在無需人工干預的情況下實現自動切換,持續對外提供服務。顯然,雙機熱備是叢集技術中最基礎也最簡單的形式。
郵件伺服器通常需要全年無休運行,郵件備份工作更是不可或缺。許多企業為防資料遺失,會採用 RAID 技術與資料備份機制。然而,資料備份僅能解決故障後的恢復問題;RAID 僅能解決硬碟故障。無論硬體或軟體問題,都可能導致郵件服務中斷,而這兩種技術都無法解決「避免服務中斷」的核心需求。
恢復伺服器哪怕問題輕微,也需要中斷一段時間。對於需要即時在線的用戶,郵件遺失等同於金錢損失,難以容忍服務中斷。因此,透過雙機熱備來避免長時間服務中斷、保障系統長期可靠服務,顯得尤為關鍵。是否採用雙機熱備方案,應根據自身郵件系統用戶對服務連續性的要求來決定。
雙機熱備主要有兩種實現模式:基於共享儲存設備,以及無共享儲存設備(純軟體方式)。

此方案採用兩台伺服器(郵件系統同時運行於兩者),共享磁碟陣列儲存郵件資料。兩台伺服器可採互備、主從、並行等模式,對外以一個虛擬 IP 提供服務,依工作模式將請求分發。伺服器間透過心跳線(現多採私有網路)偵測彼此狀態。當一台故障,另一台根據心跳偵測判斷並自動切換接管服務,過程全自動、極短時間完成,用戶業務無感知。因使用共享儲存,兩台伺服器實際操作同一份資料,由雙機或叢集軟體統一管理。
優點:資料庫置於共享儲存,服務切換後另一台伺服器直接讀取相同資料,可在無人值守下快速切換,確保零資料遺失。
缺點:需投資昂貴的共享儲存設備,適合有資金實力的企業優先考慮。

透過鏡像軟體將資料即時複寫到另一台伺服器,雙方各存一份完整資料。故障時可即時切換。
優點:
① 避免磁碟陣列單點故障:純軟體雙機可靠度約 99.99%,優於共享陣列方案。
② 節省投資:無需購買昂貴磁碟陣列。
③ 不受距離限制:不受 SCSI 纜線長度限制,部署更靈活,可透過物理距離提升安全性。
缺點:
① 可靠性相對較差,資料即時複寫較脆弱。
② 故障恢復後需複雜的資料同步,此期間系統處於無保護狀態。
③ 缺乏事務機制,複寫在檔案與磁碟層進行,可能導致資料不完整,風險較大。
架設前應明確需求:是否需要雙機熱備、採用何種模式、作業平台、伺服器規格、共享模式下的磁碟陣列選型、叢集軟體等。
硬體:兩台同規格伺服器,依實際需求選配;採共享方式需額外採購磁碟陣列。
郵件系統:市面產品眾多,免費有 Sendmail、Qmail;國際大廠 Exchange、Lotus 價格較高;國產如 Coremail、TurboMail 具特色,TurboMail 擁有郵件審核功能(市場罕見)且整合郵件歸檔,值得體驗。
叢集軟體:推薦 Heartbeat,包含心跳監測與資源接管模組。支援網路與串口心跳、冗餘鏈路,節點間定時交換封包確認狀態,超時未收到封包即判定失效,啟動資源接管模組接管服務與資源。