Heartbeat服務搭建高可用集羣

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
  1. 在目錄下複製文件
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章