對HA的配置分為兩個部分,配置heartbeat和pacemaker,與heartbeat版本相對應,設定檔也有兩個版本,即為heartbeat1.x的1.x style版本和heartbeat2.1.x版本之後的2.1.x style版本
我們可以藉助1.x style的叢集資源設定檔轉換為2.x style的格式,同時,在heartbeat2.1.x版本之後使用CRM來管理整個叢集。叢集開始時,通過在各節點間選舉產生一個節點成為DC(Designated Coordinator),所有配置操作都在該DC主機上進行,並由其分發到叢集下的各個節點上。下面依次講述。
(1)1.x和2.x設定檔對比ü/usr/local/ha/etc/ha.d/authkeys 該檔案在兩個版本作用是完全相同的,都必須設定,並且保證每個節點(node)內容一樣ü/usr/local/ha/etc/ha.d/ha.cf 這個是主要設定檔,由其決定v1或v2 style格式/usr/local/ha/etc/haresources 這是v1的資源設定檔ü/usr/local/ha/var/lib/heartbeat/crm/cib.xml 這是v2的資源設定檔,兩者根據ha.cf的設定只能選其一.v2版本使用CRM管理叢集,而cib.xml檔案有如下幾種方式來編寫:
a)人工編寫XML檔案;
b)使用admintools工具,其已經包含在heartbeat包中;
c)使用GUI圖形工具配置,也包含在heartbeat-gui包裡面,這個一會介紹;
d)使用python指令碼轉換1.x style的格式設定檔到2.x style格式。
這四種方法實質都是相同的,並且以python指令碼轉換最為簡單容易。為此,可以先配置好1.x style的格式,然後通過python指令碼進行轉換。
(2):配置heartbeat
首先拷貝模板設定檔,如果沒有安裝模版的話就要手動設定
cp /usr/local/ha/share/doc/authkeys /usr/local/ha/etc/ha.d
cp /usr/local/ha/share/doc/ha.cf /usr/local/ha/etc/ha.d
cp /usr/local/ha/share/doc/haresources /usr/local/ha/etc/ha.d
(3)主設定檔(/etc/ha.d/ha.cf)
logfile /var/log/ha-log#指名heartbeat的日誌存放位置。
#crm yes #是否開啟Cluster Resource Manager(叢集資源管理)功能。
serial /dev/ttyS0
使用串口heartbeat-如果不使用串口heartbeat,則必須使用其他的介質,如bcast(乙太網路)heartbeat。用適當的裝置檔案代替/dev/ttyS0。
watchdog /dev/watchdog
該選項是可選配置。通過Watchdog 功能可以獲得提供最少功能的系統,該系統不提供heartbeat,可以在持續一份鐘的不正常狀態後重新啟動。該功能有助於避免一台機器在被認定已經死亡之後恢複heartbeat的情況。如果這種情況發生並且磁碟掛載因故障而遷移(fail over),便有可能有兩個節點同時掛載一塊磁碟。如果要使用這項功能,則除了這行之外,也需要載入“softdog”核心模組,並建立相應的裝置檔案。方法是使用命令“insmod softdog”載入模組。然後輸入“grep misc /proc/devices”並記住得到的數字(應該是10)。然後輸入”cat /proc/misc | grep watchdog”並記住輸出的數字(應該是130)。根據以上得到的資訊可以建立裝置檔案,“mknod /dev/watchdog c 10 130”。
bcast eth1
表示在eth1介面上使用廣播heartbeat(將eth1替換為eth0,eth2,或者您使用的任何介面)。
#ucast eth0 192.168.1.2#採用網卡eth0的udp單播來組織心跳,後面跟的IP地址應為雙機對方的IP地址。
#mcast eth0 225.0.0.1 694 1 0#採用網卡eth0的Udp多播來組織心跳,一般在備用節點不止一台時使用。Bcast、ucast和mcast分別代表廣播、單播和多播,是組織心跳的三種方式,任選其一即可。
keepalive 2
設定heartbeat之間的時間間隔為2秒。
warntime 10
在日誌中發出“late heartbeat“警告之前等待的時間,單位為秒。
deadtime 30
在30秒後宣布節點死亡。
initdead 120
在某些配置下,重啟後網路需要一些時間才能正常工作。這個單獨的”deadtime”選項可以處理這種情況。它的取值至少應該為通常deadtime的兩倍。
baud 19200
傳輸速率,串口通訊的速度。
udpport 694
使用連接埠694進行bcast和ucast通訊。這是預設的,並且在IANA官方註冊的連接埠號碼。