heartbeat
•環境:
–node1.uplooking.com( 主分發器 ) :
–DIP : 192.168.1.254
–VIP : 192.168.1.100
–node2.uplooking.com( 從分發器 ):
–DIP: 192.168.1.18
–RealServer1:
–RIP: 192.168.1.3
–RealServer2:
–RIP: 192.168.1.4
配置:
1、
安裝全部( heartbeat 目錄)
2、
要讓雙主機能解析到對方,可在 /etc/hosts 修改
host 名要同步(雙方都要改)
/etc/hosts:
--------
192.168.1.254 node1.uplooking.com
192.168.1.18 node2.uplooking.com
-------
3、
heartbeat 軟件
ha.cf 監控配置文件
haresources 資源管理文件
authkeys 心跳線連接加密文件
# cp /usr/share/doc/heartbeat-2.1.3 三個文件拷貝到 /etc/ha.d/
4、 配置服務(除特定位置外,兩方配置都要一致)
vim /etc/ha.d/ha.cf
-------------------------------------------------
debugfile /var/log/ha-debug 打開錯誤日誌報告
keepalive 2 兩秒檢測一次心跳線連接
deadtime 10 10 秒測試不到心跳線爲有問題出現
warntime 6 警告時間(最好在 2 ~ 10 之間)
initdead 120 初始化啓動時 120 秒無連接視爲正常
udpport 694 用 udp 的 694 端口連接
ucast eth0 192.168.1.18 單播方式連接(主從服寫對方的 ip 進行連接)
注: mcast eth0 多播模式
auto_failback on 自動切換(主服恢復後可自動切換回來)
注: stonith baytech /etc/ha.d/conf/stonith.baytech 控制可編程電源控制器(掛掉的主服 ip 可能還是運行狀態,會對備服有衝突,他會自動切掉壞的主服)
注: watchdog 看門狗機制
----------------------------------
註釋去掉
重啓服務heartbeat
modprobe softdog
echo "modprobe softdog" >> /etc/rc.local
echo 10 > /proc/sys/kernel/panic
----------------------------------
node node1.uplooking.com 聲明主服
node node2.uplooking.com 聲明備服
ping 192.168.1.17 設仲裁,雙方主備都 ping 仲裁(仲裁 ip 用 DGW 最好)
注: ping_group 可設 1 組仲裁, ping一個網段
respawn hacluster /usr/lib/heartbeat/ipfail 仲裁命令運行切換備服時,廣播讓機器清緩存,已換新地址
•5 、 設定心跳配置備服(主服也這樣配)
•vim authkeys 加密文件
auth 1 此爲打開 1
1 crc 加密等級最低,速度最快
注: 2 sha1 HI! 加密程度最高,效率最低
注: 3 md5 Hello! 加密程度居中,效率居中
• 6 、資源配置:備服(主服也這樣配,也要寫 node1 這行不變,出問題會自動切換)
• vim haresources 資源管理文件(此地寫 vip 地址)
node1.uplooking.com IPaddr::192.168.1.100/24/eth0 ldirectord
e.g.
#node1.uplooking.com 192.168.1.254 Filesystem::/dev/sda1::/data1::ext2
#node1.uplooking.com 192.168.1.254 Filesystem::192.168.1.17:/apache::/var/www/html::nfs::rw
應該默認在哪臺服務器上運行 新加一個 IP ,爲浮動用
• 7 、 ldirectord 配置(參考上個實例)
注意: ls -L authkeys 查看權限
chmod 600 authkeys (安全,不改起不來)
把 ldirectord.cf 拷貝到備服
啓動順序:先起主
service heartbeat start
ipvsadm -Ln 看心跳
#tail -f /var/log/ha-log
• 8 、 測試
在192.168.1.17上設置防火牆
iptables -A INPUT -s 192.168.1.254 -p icmp --icmp-type 8 -j DROP