天天看點

heartbeat配置檔案詳解

第一個是ha.cf該檔案位于在安裝後建立的/etc/ha.d目錄中。該檔案中包括為Heartbeat使用何種媒體通路和如何配置他們的資訊。在源代碼目錄中的ha.cf檔案包含了您可以使用的全部選項,詳述如下:

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,或者您使用的任何接口)。

mcast eth1 225.0.0.1 694 1 0

如果采用多點傳播通訊,在這裡可以設定多點傳播通訊所使用的接口,綁定的多點傳播ip位址(在224.0.0.0-239.255.255.255之間),通訊端口,ttl(time to live)所能經過路由的跳數,是否允許回環(也就是本地發出的資料包是否還接收)。

ucast eth1 10.0.0.1

如果采用單點傳播,可以配置其網絡接口及其所使用的ip位址。

keepalive 2

設定heartbeat之間的時間間隔為2秒。

warntime 10

在日志中發出“late heartbeat“警告之前等待的時間,機關為秒。

deadtime 30

在30秒後宣布節點死亡。

initdead 120

在某些配置下,重新開機後網絡需要一些時間才能正常工作。這個單獨的”deadtime”選項可以處理這種情況。它的取值至少應該為通常deadtime的兩倍。

baud 19200

波特率,序列槽通信的速度。

udpport 694

使用端口694進行bcast和ucast通信。這是預設的,并且在IANA官方注冊的端口号。

auto_failback on

該 選項是必須配置的。對于那些熟悉Tru64 Unix的人來說,heartbeat的工作方式類似于“favored member“模式。在failover之前,haresources檔案中列出的主節點掌握所有的資源,之後從節點接管這些資源。當 auto_failback設定為on時,一旦主節點重新恢複聯機,将從從節點取回所有資源。若該選項設定為off,主節點便不能重新獲得資源。該選項與 廢棄的nice_failback選項類似。如果要從一個nice_failback設定為off的叢集更新到這個或更新的版本,需要特别注意一些事項以 防止flash cut。請參閱FAQ中關于如何處理這類情況的章節。

node primary.mydomain.com

該選項是必須配置的。叢集中機器的主機名,與“uname –n”的輸出相同。

node backup.mydomain.com

該選項是必須配置的。同上。

respawn

該選項是可選配置的:列出将要執行和監控的指令。例如:要執行ccm守護程序,則要添加如下的内容:

respawn hacluster /usr/lib/heartbeat/ccm

使得Heartbeat以userid(在本例中為hacluster)的身份來執行該程序并監視該程序的執行情況,如果其死亡便重新開機之。對于ipfail,則應該是:

respawn hacluster /usr/lib/heartbeat/ipfail

對于pingd則應該是:

respawn hacluster /usr/lib64/heartbeat/pingd -m 100 -d 5s

注意:如果結束程序的退出代碼為100,則不會重新開機該程序。

apiauth pingd gid=haclient uid=hacluster

配 置好ha.cf檔案之後,便是haresources檔案。該檔案列出叢集所提供的服務以及服務的預設所有者。 注意:兩個叢集節點上的該檔案必須相同。叢集的IP位址是該選項是必須配置的,不能在haresources檔案以外配置該位址, haresources檔案用于指定雙機系統的主節點、叢集IP、子網路遮罩、廣播位址以及啟動的服務等。其配置語句格式如下:

node-name network-config

在haresources檔案中需要如下内容:

primary.mydomain.com 192.168.85.3 httpd smb

該 行指定在啟動時,節點linuxha1得到IP位址192.168.85.3,并啟動Apache和Samba。在停止時,Heartbeat将首先停止 smb,然後停止Apache,最後釋放IP位址192.168.85.3。這裡假設指令“uname –n”的輸出為“primary.mydomain.com”-如果輸出為“primary”,便應使用“primary”。

primary.mydomain.com IPaddr::192.168.21.107/24/eth0 drbddisk::r0 Filesystem::/dev/drbd1::/data::ext4 nfs

正确配置好haresources檔案之後,将ha.cf和haresource拷貝到/etc/ha.d目錄。

注意:資源檔案中能執行的指令必須在/etc/ha.d/resource.d/ 中可見

需 要配置的第三個檔案authkeys決定了您的認證密鑰。共有三種認證方式:crc,md5,和sha1。您可能會問:“我應該用哪個方法呢?”簡而言 之: 如果您的Heartbeat運作于安全網絡之上,如本例中的交叉線,可以使用crc,從資源的角度來看,這是代價最低的方法。如果網絡并不安全,但您也希 望降低CPU使用,則使用md5。最後,如果您想得到最好的認證,而不考慮CPU使用情況,則使用sha1,它在三者之中最難破解。

檔案格式如下:

auth 

[]

是以,對于sha1,示例的/etc/ha.d/authkeys可能是

auth 1

1 sha1 key-for-sha1-any-text-you-want

對于md5,隻要将上面内容中的sha1換成md5就可以了。 對于crc,可作如下配置:

auth 2

2 crc

不論您在關鍵字auth後面指定的是什麼索引值,在後面必須要作為鍵值再次出現。如果您指定“auth 4”,則在後面一定要有一行的内容為“4 ”。

確定該檔案的通路權限是安全的,如600。

本文轉自 dengaosky 51CTO部落格,原文連結:http://blog.51cto.com/dengaosky/1852520,如需轉載請自行聯系原作者