1. 準(zhǔn)備工作

(本文永久地址:http://woymk.blog.51cto.com/10000269/1923285)
配置環(huán)境:centos6.9, nginx1.10, heartbeat-3.0.4
先安裝、配置兩臺(tái)服務(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安裝請(qǐng)參考:
yum安裝nginx最新官網(wǎng)穩(wěn)定版
nginx 編譯安裝請(qǐng)參考:
LNMP環(huán)境搭建(centos6.9+mysql5.7+php7.1+nginx1.10)
2. 分別在兩臺(tái)服務(wù)器上操作
為防止出現(xiàn)腦裂,關(guān)閉防火墻和selinux
iptables -F;
setenforce 0
以上為臨時(shí)關(guān)閉,請(qǐng)根據(jù)實(shí)際情況自行配置。
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"
兩臺(tái)服務(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é)點(diǎn)的主機(jī)名。
192.168.75.130 -- 設(shè)置虛擬ip,這里指定的IP地址就是集群對(duì)外服務(wù)的IP地址。
nginx -- 設(shè)置heartbeat托管的服務(wù),這些服務(wù)可以由heartbeat來(lái)啟動(dòng)和關(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)日志級(jí)別
keepalive 2 #心跳間隔時(shí)間
deadtime 30 #超出該時(shí)間間隔未收到對(duì)方節(jié)點(diǎn)的心跳,則認(rèn)為對(duì)方已經(jīng)死亡
warntime 10 #超出該時(shí)間間隔未收到對(duì)方節(jié)點(diǎn)的心跳,則發(fā)出警告并記錄到日志中
initdead 120 #在某些系統(tǒng)上,系統(tǒng)啟動(dòng)或重啟之后需要經(jīng)過(guò)一段時(shí)間網(wǎng)絡(luò)才能正常工作,該選項(xiàng)用于解決這種情況產(chǎn)生的時(shí)間間隔。取值至少為deadtime的兩倍,這個(gè)值設(shè)的越大啟動(dòng)越慢。
udpport 694 #使用udp端口694 進(jìn)行心跳監(jiān)測(cè)
ucast eth2 10.1.1.12 #采用單播,進(jìn)行心跳監(jiān)測(cè),IP為對(duì)方主機(jī)IP
auto_failback on #表示主節(jié)點(diǎn)恢復(fù)之后,自動(dòng)切回
node web1 #節(jié)點(diǎn)1
node web2 #節(jié)點(diǎn)2
ping 192.168.75.1 #檢查網(wǎng)絡(luò)是否正常,一般設(shè)為網(wǎng)關(guān)或者路由路的ip
respawn hacluster /usr/lib64/heartbeat/ipfail #該進(jìn)程用于檢測(cè)和處理網(wǎng)絡(luò)故障,需要配合ping語(yǔ)句指定的ping node來(lái)檢測(cè)網(wǎng)絡(luò)連接。(如果安裝的是32位操作系統(tǒng)請(qǐng)把目錄改為/usr/lib/heartbeat/ipfail)
把三個(gè)配置文件拷貝到web2上
cd /etc/ha.d/
scp authkeys ha.cf haresources web2:/etc/ha.d/
4. 在web2上編輯ha.cf
vi /etc/ha.d/ha.cf
只需要更改一個(gè)地方
找到
ucast eth2 10.1.1.12
改為
ucast eth2 10.1.1.11
5. 啟動(dòng)heartbeat
在web1和web2上分別執(zhí)行
service heartbeat start
先web1,后web2
在windows客戶(hù)端ping 192.168.75.130,能ping通就說(shuō)明服務(wù)已經(jīng)起來(lái)了

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

在主節(jié)點(diǎn)web1查看是否有nginx進(jìn)程
ps aux |grep nginx

6. HA功能測(cè)試
1) 在web1上模擬網(wǎng)絡(luò)故障,把網(wǎng)卡eth0 down掉
ifdown eth0
在web2上查看日志
tail -f /var/log/ha-log

日志顯示web2已經(jīng)接管了web1的資源
在web2上查看是否有nginx進(jìn)程啟動(dòng)
ps aux |grep nginx

nginx服務(wù)已經(jīng)啟動(dòng)
在web1上把eth0重新開(kāi)啟
ifup eth0
繼續(xù)在web2上查看日志

日志顯示web2釋放資源,自動(dòng)切回到web1
2) 模擬服務(wù)器故障
把web1關(guān)掉,模擬服務(wù)器掉電
在web2上查看日志
tail -f /var/log/ha-log

日志顯示web1已經(jīng)死掉,web2上的nginx服務(wù)已經(jīng)啟動(dòng)
以上測(cè)試結(jié)果表明:當(dāng)主節(jié)點(diǎn)掛掉后,備份節(jié)點(diǎn)成功接管了主節(jié)點(diǎn)的資源;當(dāng)主節(jié)點(diǎn)故障恢復(fù)后,能夠自動(dòng)切回主節(jié)點(diǎn),實(shí)現(xiàn)了高可用。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前文章:高可用集群之heartbeat安裝配置-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article42/edeec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、網(wǎng)站排名、網(wǎng)站制作、網(wǎng)站維護(hù)、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容