heartbeat服務的配置
1.下載安裝心跳軟件
(必須得先配置好yum源)
heartbeat-3.0.4-2.el6.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm
heartbeat-libs-3.0.4-2.el6.x86_64.rpm
yum install -y heartbeat-*
2.修改heartbeat配置文件(heartbeat沒有健康檢查)
cd /etc/ha.d/
目錄下的三個文件作用爲
ha.cf Main configuration file(主配置文件)
haresources Resource configuration file(資源定義文件)
authkeys Authentication information(認證文件)
複製主配置文件到/etc/ha.d/才能生效
cd /usr/share/doc/heartbeat-3.0.4/
cp ha.cf authkeys haresources /etc/ha.d/
修改主配置文件(在主節點修改)
cd /etc/ha.d/
vim ha.cf #調用ipfaill插件用於主備切換,實現高可用
文件修改如下
34 logfacility local0
48 keepalive 2 心跳檢測的頻率
56 deadtime 30 多久不響應認定死亡
61 warntime 10 多久警告一次
71 initdead 60 初始化時間
76 udpport 733 端口連接
91 bcast eth0 廣播發送的硬件
157 auto_failback on 自動回切
211 node server1
212 node server4 節點的主機號
220 ping 172.25.40.250
253 respawn hacluster /usr/lib64/heartbeat/ipfail(64位)
259 apiauth ipfail gid=haclient uid=hacluster api認證,在裝rpm包時候,用戶已經被創建
修改認證文件
cd /etc/ha.d/
vim authkeys
文件修改如下
23 auth 1
24 1 crc
隨後修改權限
chmod 600 authkeys #認證key需要600權限
修改資源定義文件
cd /etc/ha.d/
vim haresources
修改如下
151 server1 IPaddr::172.25.39.100/24/eth0 httpd #IPaddr:資源腳本名;後面傳參(】eth0:vip生效的地方
3.發送相同的三個文件到server4
scp ha.cf authkeys haresources server4:/etc/ha.d/
4.兩個節點上開啓heartbeat服務
/etc/init.d/heartbeat start
5.測試:
vim /var/www/html/index.html #編寫好測試頁
(/etc/init.d/heartbeat stop
/etc/init.d/heartbeat start)
高可用與負載均衡的整合
lvs(linuxvirtualserver)虛擬主機
虛擬主機server1
真實主機server2 server3
搭建主要爲DR模式
1.安裝rpm包ldirectord-3.9.5-3.1.x86_64.rpm
yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
- 在目錄下複製文件
cd /usr/share/doc/ldirectord-3.9.5/
cp ldirectord.cf /etc/ha.d/ #只有在這個目錄下才能生效
3.兩個節點關閉心跳服務
/etc/init.d/heartbeat stop
4.安裝ipvsadm
yum install -y ipvsadm
ipvsadm -L #查看策略
5.添加策略
ip addr add 172.25.39.100/24 dev eth0 #把100加到eth0上
包括兩個提供httpd的真實主機上也需要進行以上操作
三臺主機也要加
ipvsadm -A -t 172.25.39.100:80 -s rr #rr是負載均衡算法(輪詢)
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.3:80 -g
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.2:80 -g #添加兩個真實主機
/etc/init.d/ipvsadm save #保存策略
/etc/init.d/ipvsadm start #開啓服務
6.在server2和server3兩個真實主機上進行如下操作
/etc/init.d/httpd start #開啓httpd服務
yum install -y arptables_jf #針對arp協議的火牆
arptables -L #查看策略
更改策略
arptables -A IN -d 172.25.39.100 -j DROP #丟棄到100的請求,防止IP衝突
arptables -A OUT -s 172.25.39.100 -j mangle --mangle-ip-s 172.25.40.2 #出去的時候使用真實主機的IP,3上寫3
/etc/init.d/arptables_jf save #保存策略
arptables -nL #查看
7.測試:在物理機上查看100連接點
arp -an | grep 100 #結果需要爲提供虛擬服務器的主機mac地址
curl 172.25.40.100
出現輪詢
curl 172.25.39.100
<h1> server2 </h1>
curl 172.25.39.100
<h1> server3 </h1>
使用ldirectord完成高可用和負載均衡的整合
1.在主節點
安裝ldirector組件後,關閉心跳服務,修改配置文件
/etc/init.d/heartbeat stop
cd /etc/ha.d/
vim ldirectord.cf
修改如下
25 virtual=172.25.39.100:80 #VIP
26 real=172.25.39.2:80 gate #兩臺真實服務器的IP
27 real=172.25.39.3:80 gate
28 fallback=127.0.0.1:80 gate #如果真實主機掛掉後,選擇自己來提供服務
29 service=http
30 scheduler=rr
31 #persistent=600
32 #netmask=255.255.255.255
33 protocol=tcp
34 checktype=negotiate
35 checkport=80
36 request="index.html"
37 # receive="Test Page"
38 # virtualhost=www.x.y.z
/etc/init.d/ldirectord start #開啓服務
2.分別在server2和server3上關掉http,在server1上打開httpd服務測試
curl 172.25.40.100
<h1>please wait </h1>
編寫配置文件
cd /etc/ha.d/
vim haresources
將ldirectord服務放入高可用裏面
編寫如下
server1 IPaddr::172.25.39.100/24/eth0 httpd ldirectord #可以自動開啓健康檢查的服務
5.打開心跳
/etc/init.d/heartbeat start
6.測試
curl 172.25.39.100
arp -an | grep 100