Heartbeat
安裝相關組件:
heartbeat-3.0.4-2.el6.x86_64.rpm ldirectord-3.9.5-3.1.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm
在/etc/ha.d下有配置文件:
閱讀reading
ha.cf Main configuration file
haresources Resource configuration file
authkeys Authenticationinformation
執行rpm -q heartbeat -d
將他們從/usr/shared/doc/中拷貝出來
編輯ha.cf
34logfacility local0 日誌等級
48 keepalive 2心跳頻率2
56 deadtime 30 節點死亡時間閾值
61 warntime 10 發出警告時間,根據自己的網絡狀態調節
71 initdead 60 守護進程首次啓動後應該等待時間後在啓動主服務器上的資源
76 udpport 722 心跳信息傳遞的UDP 端口,使用端口722進行bcast或ucast
91 bcast eth0 通過udp的eth0通知心跳
157auto_failback on 主節點恢復後,是否自動切回。
211 node server1.example.com 第一個默認爲主節點。
212 node server2.example.com
220 ping172.25.28.100
默認 heartbeat 並不檢測除本身之外的其他任何服務,也不檢測網絡狀況。
所以當網絡中斷時,並不會進行 LoadBalancer 和 Backup 之間的切換。
可以通過 ipfail 插件,設置'ping nodes'來解決這一問題,但不能使用一個集羣節點作爲
ping 的節點
253 respawnhacluster /usr/lib64/heartbeat/ipfail
259 apiauthipfail gid=haclient uid=hacluster
watchdog/dev/watchdog
watchdog 能讓系統在出現故障 1 分鐘後重啓該機器,這個功能可以幫助服務器在確實停止心
跳後能夠重新恢復心跳。如果使用該特性,修改系統中/etc/modprobe.conf, 添加如下行
options softdognowayout=0
這樣在系統啓動的時候,在內核中裝入"softdog"內核模塊,用來生成實際的設備文件/dev/watchdog
--
station3.example.comIPaddr::192.168.0.200/24/eth0 httpd
這個文件中定義了實現集羣所需的各個軟件的啓動腳本,這些腳本必須放在/etc/init.d或者
/etc/ha.d/resource.d目錄裏 IPaddr 的作用是啓動 Virutal IP,它是 HeartBeart 自帶的一個腳本;“ldirectord 的作用是啓動 ldirectord 監控程序,它會使 ldirectord.cf 中定義的 lvs 生效,並監聽其健康狀;“httpd 是 apache 服務的啓動腳本。
認證文件(/etc/ha.d/authkeys),文件的權限必須是 600:
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
或
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
vim haresource
server6.example.com IPaddr::172.25.28.100/24/eth0 httpd
DRBD:
DRBD(DistributedReplicated Block Device ),DRBD號稱‘網絡RAID’,
下載tar包,並嘗試使用rpmbulid建立rpm包安裝,而不是使用make&&make install(是否可以???)
[[email protected]]# tar -xf drbd-8.4.2.tar.gz
[root@server5 drbd-8.4.2]# ./configure--enable-spec --with-km
[[email protected]]# yum install gcc flex rpm-build -y
./configure後,會在當前目錄下生成 drbd-km.spec drbd-kernel.spec
使用rpmbuild 創建rpm包。
rpmbuild -bb drbd-km.spec drbd.spec
cp /mnt/drbd-8.4.2.tar.gz/root/rpmbuild/SOURCES/
yum install kernel-devel -y
cd /root/rpmbuild/RPMS/x86
yum install * -y
在/etc/drbd.d/下建立文件
drbd.res
vim drbd.res
resource drbd_heartbeat{
meta-disk internal;
device /dev/drbd1;
syncer{
verify-alg sha1;
}
on server5.example.com{
disk /dev/vdb;
address 172.25.28.5:7789;
}
on server6.example.com{
disk /dev/vdb;
address 172.25.28.6:7789;
}
}
然後在兩臺主機上執行使用drbdadmcreate-dm drbd_heartbeat(這個名稱要和在文件中定義的保持一致。)
在兩臺主機上啓動服務,/etc/init.d/drbd start
drbdsetup /dev/drbd1primary --force 將其中的一臺作爲ie主節點。
使用cat /proc/drbd 查看同步狀態
當同步完成後格式化爲ext4
然後可以掛載,如果想在另外一臺主機上使用,需要卸載並將其drbdadm secondary drbd_heartbeat,然後在另外一臺主機上設爲主節點掛載使用,器內容和第一個節點一致。
雙側執行
heartbeat和mysql的結合
安裝mysql-server
停掉heartbeat服務,編輯
vim /etc/ha.d/haresources
server6.example.com IPaddr::172.25.28.100/24/eth0drbddisk::drbd_heartbeat Filesystem::/dev/drbd1::/var/lib/mysql::ext4 mysqld
啓動heartbeat服務,發現mysql已經啓動。