TFS雙機熱備份機制研究
一.HeatBeat雙機熱備份原理介紹
雙機熱備份(Hot Standby)是一種軟硬體相結合的高可靠性應用方案。雙機熱備系統由兩台獨立的伺服器以及相應的控制軟體構成,兩台伺服器在網路中表現為單一的系統,對外表現為一個獨立的網路IP,並以單一系統的模式進行控制和管理。該系統將兩台伺服器的資料和運行狀態(包括硬碟資料和記憶體資料)進行鏡像,可以實現兩台伺服器之間的熱備份,並能夠做到無縫切換,從而對外提供穩定可靠的服務,實現雙機系統的高可用性解決方案。
每一台伺服器分配一個固定的IP地址,此外還指定了一個獨立 IP地址作為叢集IP(cluster IP),該IP是雙機系統對外提供服務的介面。兩台伺服器一台成為主節點(Primary Server),另一台成為從節點(Standby Server),主節點與從節點之間保持固定時間間隔的心跳訊號,通過心跳訊號實現兩個對等系統之間的周期性的握手,從而能夠監視對方的運行狀態,進行主機及網路的故障檢測。
雙機熱備份系統採用記憶體鏡像的技術,即把兩台伺服器的資料和運行狀態(包括硬碟資料和記憶體資料)進行鏡像,也可以在雙機系統中使用第三方生產的磁碟陣列櫃
雙機控制軟體是Linux-HAheartbeat,安裝作業系統及相關的應用服務程式之外,還需要安裝heartbeat控制軟體。通過對heartbeat軟體的配置,可以把兩台伺服器分別指定為主節點和從節點,指定心跳訊號的時間間隔,指定cluster IP、子網路遮罩、廣播位址、鑒權方式,還可以設定heartbeat啟動的服務,該服務最終由雙機系統通過cluster IP對外提供。
雙機備份系統有兩種配置方式,分別是“基於系統切換的雙機系統”和“基於系統鏡像的雙機系統”,二者的區別是:
(1)基於系統切換的雙機系統僅僅把兩台伺服器的硬碟資料進行鏡像,在主節點失效的情況下,從節點將進行系統一級的切換。該方式不能實現無縫切換,實現的是冷備份。
(2)基於系統鏡像的雙機系統把兩台伺服器的硬碟資料和記憶體資料都進行鏡像。為保證完全的記憶體鏡像,兩台伺服器之間需通過專用連線網段即時地保持一個連續的、雙向的鏡像進程,該進程確保兩台伺服器之間的資料同步。一旦故障發生,無論任何一台伺服器失效,失效伺服器上的資料和應用,將立即切換到另一台伺服器上,從而使使用者在沒有中斷的情況下可以繼續使用雙機系統提供的服務。該方式能夠做到無縫切換,實現的是熱備份。
二.TFS本地環境應用
1.在目前的情況下,TFS也是通過HA的Heartbeat進行容災達到熱備份效果,同樣需要兩台機子,即(nameserver)master和slave,對外綁定一個vip,配置ha.conf檔案。
2.在本地的搭建的TFS中,只是採用一個namaserver(192.168.5.21)和一個dataserver(192.168.5.20),nameserver沒有採用主從複製功能,通過綜合比較分析,採用雙機熱備份機制,推薦用基於系統鏡像而非系統切換的雙機系統進行。但是在21機器上,硬碟資料不受影響(掛在點不一樣),但是系統的記憶體中資料就會不乾淨。因為21機器上擁有memcache,solr,tfs等服務,因此,在基於系統鏡像而非系統切換的雙機熱備份機制下,備份和容災的資料不純潔。