一、配置主節點的heartbeat
Heartbeat的主要設定檔有ha.cf、haresources、authkeys,在Heartbeat安裝後,預設並沒有這三個檔案,可以從官方網站下載得到,也可以直接從解壓的源碼目錄中找到,在上面的安裝過程中,我們已經將這三個檔案放到了/etc/ha.d目錄下,下面分別詳細介紹。
1.主設定檔(/etc/ha.d/ha.cf)
下面對ha.cf檔案的每個選項進行詳細介紹,其中“#”號後面的內容是對選項的注釋說明。
#debugfile /var/log/ha-debug
logfile /var/log/ha-log #指名heartbeat的日誌存放位置。
#crm yes #是否開啟Cluster Resource Manager(叢集資源管理)功能。
bcast eth1 #指明心跳使用乙太網路廣播方式,並且是在eth1介面上進行廣播。
keepalive 2 #指定心跳間隔時間為2秒(即每兩秒鐘在eth1上發送一次廣播)。
deadtime 30 #指定備用節點在30秒內沒有收到主節點的心跳訊號後,則立即接管主節點的服務資源。
warntime 10 #指定心跳延遲的時間為十秒。當10秒鐘內備份節點不能接收到主節點的心跳訊號時,就會往日誌中寫入一個警告日誌,但此時不會切換服務。
initdead 120 #在某些系統上,系統啟動或重啟之後需要經過一段時間網路才能正常工作,該選項用於解決這種情況產生的時間間隔。取值至少為deadtime的兩倍。
udpport 694 #設定廣播通訊使用的連接埠,694為預設使用的連接埠號碼。
baud 19200 #設定串列通訊的傳輸速率。
#serial /dev/ttyS0 #選擇串列通訊裝置,用於雙機使用串口線串連的情況。如果雙機使用乙太網路串連,則應該關閉該選項。
#ucast eth0 192.168.1.2 #採用網卡eth0的udp單播來組織心跳,後面跟的IP地址應為雙機對方的IP地址。
#mcast eth0 225.0.0.1 694 1 0 #採用網卡eth0的Udp多播來組織心跳,一般在備用節點不止一台時使用。Bcast、ucast和mcast分別代表廣播、單播和多播,是組織心跳的三種方式,任選其一即可。
auto_failback on #用來定義當主節點恢複後,是否將服務自動切回,heartbeat的兩台主機分別為主節點和備份節點。主節點在正常情況下佔用資源並運行所有的服務,遇到故障時把資源交給備份節點並由備份節點運行服務。在該選項設為on的情況下,一旦主節點恢複運行,則自動擷取資源並取代備份節點,如果該選項設定為off,那麼當主節點恢複後,將變為備份節點,而原來的備份節點成為主節點。
#stonith baytech /etc/ha.d/conf/stonith.baytech # stonith的主要作用是使出現問題的節點從叢集環境中脫離,進而釋放叢集資源,避免兩個節點爭用一個資源的情形發生。保證共用資料的安全性和完整性。
#watchdog /dev/watchdog #該選項是可選配置,是通過Heartbeat來監控系統的運行狀態。使用該特性,需要在核心中載入"softdog"核心模組,用來產生實際的裝置檔案,如果系統中沒有這個核心模組,就需要指定此模組,重新編譯核心。編譯完成輸入"insmod softdog"載入該模組。然後輸入"grep misc /proc/devices"(應為10),輸入"cat /proc/misc |grep watchdog"(應為130)。最後,產生裝置檔案:"mknod /dev/watchdog c 10 130" 。即可使用此功能。
node node1 #主節點主機名稱,可以通過命令“uanme –n”查看。
node node2 #備用節點主機名稱。
ping 192.168.60.1 #選擇ping的節點,ping 節點選擇的越好,HA叢集就越強壯,可以選擇固定的路由器作為ping節點,但是最好不要選擇叢集中的成員作為ping節點,ping節點僅僅用來測試網路連接。
respawn hacluster /usr/lib/heartbeat/ipfail #該選項是可選配置,列出與heartbeat一起啟動和關閉的進程,該進程一般是和heartbeat整合的外掛程式,這些進程遇到故障可以自動重新啟動。最常用的進程是ipfail,此進程用於檢測和處理網路故障,需要配合ping語句指定的ping node來檢測網路的連通性。其中hacluster表示啟動ipfail進程的身份。