溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

高可用集群之heartbeat安裝配置

發(fā)布時間:2020-03-30 13:31:05 來源:網(wǎng)絡(luò) 閱讀:998 作者:woymk 欄目:建站服務(wù)器

1. 準(zhǔn)備工作

(本文永久地址:http://woymk.blog.51cto.com/10000269/1923285)

配置環(huán)境:centos6.9, nginx1.10, heartbeat-3.0.4

先安裝、配置兩臺服務(wù)器

主機(jī)名: web1
eth0 ip: 192.168.75.131
eth2 ip: 10.1.1.11

主機(jī)名: web2
eth0 ip: 192.168.1.132
eth2 ip: 10.1.1.12


nginx yum安裝請參考:

yum安裝nginx最新官網(wǎng)穩(wěn)定版

nginx 編譯安裝請參考:

LNMP環(huán)境搭建(centos6.9+mysql5.7+php7.1+nginx1.10)


2. 分別在兩臺服務(wù)器上操作

為防止出現(xiàn)腦裂,關(guān)閉防火墻和selinux
iptables -F; 
setenforce 0
以上為臨時關(guān)閉,請根據(jù)實際情況自行配置。


vi /etc/hosts
增加下面兩行 
192.168.75.131 web1
192.168.75.132 web2


安裝epel擴(kuò)展源
rpm -ivh "http://mirrors.sohu.com/fedora-epel/epel-release-latest-6.noarch.rpm"

兩臺服務(wù)器都安裝heartbeat,libnet
yum  install -y heartbeat* libnet


3. 在web1服務(wù)器上配置
cd /usr/share/doc/heartbeat-3.0.4/
cp  authkeys  ha.cf haresources /etc/ha.d/
cd /etc/ha.d


vi authkeys
修改或增加
auth 3
3 md5 Hello!

保存后修改文件權(quán)限

chmod 600 authkeys


vi haresources
加入
web1 192.168.75.130/24/eth0:0 nginx

這行配置的意思是:

web1 -- 表示主節(jié)點的主機(jī)名。

192.168.75.130 -- 設(shè)置虛擬ip,這里指定的IP地址就是集群對外服務(wù)的IP地址。

nginx -- 設(shè)置heartbeat托管的服務(wù),這些服務(wù)可以由heartbeat來啟動和關(guān)閉,服務(wù)腳本需要放到/etc/init.d/目錄下。


vi ha.cf
改為如下內(nèi)容:
debugfile /var/log/ha-debug    #調(diào)試信息
logfile /var/log/ha-log    #記錄的日志
logfacility     local0    #系統(tǒng)日志級別
keepalive 2    #心跳間隔時間
deadtime 30    #超出該時間間隔未收到對方節(jié)點的心跳,則認(rèn)為對方已經(jīng)死亡
warntime 10    #超出該時間間隔未收到對方節(jié)點的心跳,則發(fā)出警告并記錄到日志中
initdead 120    #在某些系統(tǒng)上,系統(tǒng)啟動或重啟之后需要經(jīng)過一段時間網(wǎng)絡(luò)才能正常工作,該選項用于解決這種情況產(chǎn)生的時間間隔。取值至少為deadtime的兩倍,這個值設(shè)的越大啟動越慢。
udpport 694    #使用udp端口694 進(jìn)行心跳監(jiān)測
ucast eth2 10.1.1.12    #采用單播,進(jìn)行心跳監(jiān)測,IP為對方主機(jī)IP
auto_failback on    #表示主節(jié)點恢復(fù)之后,自動切回
node    web1    #節(jié)點1
node    web2    #節(jié)點2
ping 192.168.75.1    #檢查網(wǎng)絡(luò)是否正常,一般設(shè)為網(wǎng)關(guān)或者路由路的ip
respawn hacluster /usr/lib64/heartbeat/ipfail    #該進(jìn)程用于檢測和處理網(wǎng)絡(luò)故障,需要配合ping語句指定的ping node來檢測網(wǎng)絡(luò)連接。(如果安裝的是32位操作系統(tǒng)請把目錄改為/usr/lib/heartbeat/ipfail)


把三個配置文件拷貝到web2上
cd /etc/ha.d/
scp authkeys ha.cf haresources web2:/etc/ha.d/


4. 在web2上編輯ha.cf
vi  /etc/ha.d/ha.cf
只需要更改一個地方
找到
ucast eth2 10.1.1.12
改為
ucast eth2 10.1.1.11


5. 啟動heartbeat
在web1和web2上分別執(zhí)行
service heartbeat start

先web1,后web2

在windows客戶端ping 192.168.75.130,能ping通就說明服務(wù)已經(jīng)起來了

高可用集群之heartbeat安裝配置

在主節(jié)點web1上查看是否有 eth0:0

ifconfig

高可用集群之heartbeat安裝配置


在主節(jié)點web1查看是否有nginx進(jìn)程

ps aux |grep nginx

高可用集群之heartbeat安裝配置


6. HA功能測試

1) 在web1上模擬網(wǎng)絡(luò)故障,把網(wǎng)卡eth0 down掉

ifdown eth0

在web2上查看日志

tail -f /var/log/ha-log

高可用集群之heartbeat安裝配置

日志顯示web2已經(jīng)接管了web1的資源


在web2上查看是否有nginx進(jìn)程啟動

ps aux |grep nginx

高可用集群之heartbeat安裝配置

nginx服務(wù)已經(jīng)啟動


在web1上把eth0重新開啟

ifup eth0

繼續(xù)在web2上查看日志

高可用集群之heartbeat安裝配置

日志顯示web2釋放資源,自動切回到web1


2) 模擬服務(wù)器故障

把web1關(guān)掉,模擬服務(wù)器掉電

在web2上查看日志

tail -f /var/log/ha-log

高可用集群之heartbeat安裝配置

日志顯示web1已經(jīng)死掉,web2上的nginx服務(wù)已經(jīng)啟動


以上測試結(jié)果表明:當(dāng)主節(jié)點掛掉后,備份節(jié)點成功接管了主節(jié)點的資源;當(dāng)主節(jié)點故障恢復(fù)后,能夠自動切回主節(jié)點,實現(xiàn)了高可用。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI