圖文分析HA軟件實現雙機熱備的工作(一)
- 2019 年 10 月 6 日
- 筆記
目前數據庫服務的雙機甚至多機熱備的實現方式很多,如Oracle Rac、讀寫分離、主備、雙機HA方式。實現Oracle Rac與雙機HA的實現原理類似,在實際的應用中也有不少的場景,今天講一下通過雙機HA如何實現雙機數據庫熱備。在一些項目中,客戶提出要求能接通物理機的BMC口(或IPMI口)來實現雙機HA,而這樣將對雲安全帶來極大的挑戰,真的必須訪問物理機的BMC口來實現HA?今天我們來看一看。
今天主要通過業務通過的美國Rose HA軟件來講解。

一、系統架構為:數據庫服務器雙機+共享磁盤+浮動IP的方式。
二、RoseHA雙機系統的兩台服 務器(主機)都與磁盤陣列(共享存儲)系統直接連接,用戶的操作系統、應用軟件和RoseHA高可用軟件分別安裝在兩台主機上,數據庫等共享數據存放在存儲系統上,兩台主機之間通過私用心跳網絡(一般為直通網線或通過交換機互通的兩條網線)連接。
三、配置好的系統主機開始工作後,RoseHA軟件開始監控系統,通過私用網絡傳遞的心跳信息,每台主機上的 RoseHA軟件都可監控另一台主機的狀態。當工作主機發生故障時,心跳信息就會產生變化,這種變化可以通過私用網絡被RoseHA軟件捕捉。當捕捉到這種變化後RoseHA就會控制系統進行主機切換,即備份機啟動和工作主機一樣的應用程序接管工作主機的工作(包括提供TCP/IP網絡服務、存儲系統的存取等服務)並進行報警,提示管理人員對故障主機進行維修。當維修完畢後,可以根據RoseHA的設定自動或手動再切換回來,也可以不切換,此時維修好的主 機就作為備份機,雙機系統繼續工作。
四、RoseHA實現容錯功能的關鍵在於,對客戶端來說主機是透明的,當系統發生錯誤而進行切換時,即主機的切換在客戶端看來沒有變化,所有基於主機的應 用都仍然正常運行。RoseHA採用了虛擬IP地址映射技術來實現此功能。客戶端通過虛擬地址和工作主機通訊,無論系統是否發生切換,虛擬地址始終指向工 作主機。在進行網絡服務時,RoseHA提供一個邏輯的虛擬地址,任何一個客戶端需要請求服務時只需要使用這個虛擬地址。正常運行時,虛擬地址及網絡服務 由主服務器提供。當主服務器出現故障時,RoseHA會將虛擬地址轉移到另外一台服務器的網卡上,繼續提供網絡服務。切換完成後,在客戶端看來系統並沒有出現故障,網絡服務仍然可以使用。除IP地址外,HA還可以提供虛擬的計算機別名供客戶端訪問。對於數據庫服務,當有主服務器出現故障時,另外一台服務器就會自動接管,同時啟動數據庫和應用程序,使用戶數據庫可以正常操作。
以上分析,Rose實現是基本心跳線來監控服務器的應用運行狀態,而不是通過BMC口。
