久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何使用LVS+heartbeat構建高可用web集群

181次閱讀
沒有評論

共計 4678 個字符,預計需要花費 12 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關如何使用 LVS+heartbeat 構建高可用 web 集群,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

從事運維兩年多以來一直沒有去碰 heartbeat,以前凡是牽扯到 HA 的應用一般都是用 keepalived。原因是因為 heartbeat 太笨重,配置起來不不像 keepalived 那么簡單,如果一個應用越是復雜,那么它的故障并發率必然也就越高,恢復故障時用的時間也就越長。這次接觸 heartbeat 是被逼無奈,因為公司線上的集群環境是用 LVS+heartbeat 為后端應用做的分發。所以要血補一下 heartbeat 上的知識。搭建 heartbeat 時遇到一些小麻煩,在此分享一下 lvs+heartbeat 的部署過程和搭建時該注意細節

準備工作:

1、在 master 和 backup 系統的 hosts 文件中添加如下信息

10.10.10.1 master

10.10.10.2 backup

 

2、開啟 master 節點和 backup 節點系統的 IP 轉發功能

# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

 

一、安裝 LVS、heartbeat

#tar zxvf ipvsadm-1.24.tar.gz

#cd ipvsadm-1.24

#ln -s /usr/src/kernels/2.6.18-164.el5-i686/ /usr/src/linux

#make make install

 

#tar zxvf libnet-1.1.2.1.tar.gz

#cd libnet

#./configure

#make make install

 

#groupadd -g 694 haclient

#useradd -u 694 -g haclient hacluster

#tar zxvf heartbeat-2.0.8.tar.gz

#cd heartbeat-2.0.8

#./ConfigureMe configure

#make make install

 

二、配置 heartbeat 和 LVS

安裝完 heartbeat 后系統會生成一個 /etc/ha.d/ 目錄,此目錄用于存放 heartbeat 的有關配置文件。Heartbeat 自帶配置文件的注釋信息較多,我們在此手工編寫有關配置文件,heartbeat 常用配置文件有四個,分別是:

ha.cf:heartbeat 主配置文件

ldirectord.cf:資源管理文件

haresources:本地資源文件

authkeys:認證文件

 

1
 、配置
 ha.cf

#vi /etc/ha.d/ha.cf

logfile /var/log/ha.log  #日志文件放置路徑
   

keepalive 2  #心跳頻率,默認為秒
   

deadtime 10  #判斷節點死亡時間
   

warntime 5  #警告時間
   

initdead 30  #deadtime 的最少兩倍
   

udpport 694  #監聽端口
   

bcast eth2  #心跳使用的網絡接口
   

auto_failback off  #當主節點恢復正常后,是否切換到主節點
   

node master  #主節點
   

node backup  #備用節點
   

ping_group group1 192.168.1.103 192.168.1.104  #real server 地址
   

respawn hacluster /usr/lib/heartbeat/ipfail
   

apiauth ipfail gid=haclient uid=hacluster
   

 

2
 、配置
 ldirectord.cf

# vi /etc/ha.d/ldirectord.cf

 checktimeout=5  #檢測超時時間
   

checkinterval=1  #檢測時間
   

autoreload=yes  #配置文件改動時是否自動加載
   

logfile= /var/log/ldirectord.log   # ldirectord 日志路徑
   

quiescent=no  #檢測到 real server 異常后是否保留該 real server 的配置
   

virtual=192.168.1.100:80  #VIP
   

  real=192.168.1.103:80 gate  #real server
   

  real=192.168.1.104:80 gate  #real server
   

  service=http
   

  checkport=80
   

  protocol=tcp
   

  persistent=600  #連接會話保持時間
   

  scheduler=wlc  #LVS 負載算法
   

  checktype=negotiate  #通過交互來判斷服務是否正常
   

 

3
 、配置
 haresources

#vi /etc/ha.d/haresources

master IPaddr::192.168.1.100 ipvsadm ldirectord
   

注:master 為 LVS 主節點主機名稱;IPaddr 為 VIP;ipvsadm ldirectord 為所要監視的應用

 

4
 、配置
 authkeys

# vi /etc/ha.d/authkeys

auth 3
   

3 md5 test
   

# chmod 600 /etc/ha.d/authkeys

注:權限一定要設置為 600,不然 heartbeat 啟動時會報錯

 

5
 、配置
 IPVS

#vi /etc/sysconfig/ipvsadm

-A -t 192.168.1.100:80 -s wlc -p 600
   

-a -t 192.168.1.100:80 -r 192.168.1.103:80 -g
   

-a -t 192.168.1.100:80 -r 192.168.0.104:80 -g
   

注:-p 600 的意思是會話保持時間為 600 秒,應該和 ldirectord.cf 文件配置一致

 

6
 、啟動
 heartbeat

# /etc/init.d/heartbeat start

#echo /etc/init.d/heartbeat start /etc/rc.local

注:啟動 heartbeat 后注意觀察三點:①:檢查系統 UDP694 是否啟動;②:觀察 heartbeat 日志,看是否有錯誤信息輸出,本次啟動 heartbeat 時日志中報錯信息如下

ResourceManager[11840]: 2011/04/09_19:56:51 ERROR: Return code 2 from /etc/init.d/ldirectord

ResourceManager[11840]: 2011/04/09_19:56:51 ERROR: Resource script for ldirectord probably not LSB-compliant.

后來經過排查是發現系統通過 heartbeat 去啟動 ldirectord 時無法啟動,報錯信息如下:

Can’t locate LWP/UserAgent.pm

原因是因為缺少相應 perl 模塊,安裝上 libwww-perl、perl-MailTools 后 ldirectord 便可正常啟動。③檢查網卡是否加載上了 VIP,啟動 heartbeat 約 15 秒左右,系統會自動生成 VIP 并自動加載到 eth0:0 網卡,可使用 ifconfig 查看

 

7
 、查看
 LVS
  是否載入了
 real server

#
 watch ipvsadm –ln

Every 2.0s: ipvsadm -ln  Tue Apr 12 00:33:58 2011
   

 
   

IP Virtual Server version 1.2.1 (size=4096)
   

Prot LocalAddress:Port Scheduler Flags
   

  – RemoteAddress:Port  Forward Weight ActiveConn InActConn
   

TCP  192.168.1.100:80 wlc persistent 600
   

  – 192.168.1.104:80  Route  1  0  0
   

  – 192.168.1.103:80  Route  1  0  0
   

現在還 LVS 還無法正常處理訪問分發,原因是因為現在 LVS 只知道如何把請求轉向后端服務器,但是后端服務器還不知道如何處理返回的請求。因此,還需要在 real server 上綁定 LVS 服務器

注:本次環境 lvs+heartbeat 在 master 和 backup 節點上的安裝、配置均一模一樣,所以在此不再累述 backup 節點的安裝和配置

 

三、配置 real server(web1 和 web2)

在 web1 和 web2 上分別編寫如下腳本,然后啟動即可,啟動后系統會在回環接口上自動綁定一個虛擬 IP

#
 vi /etc/sysconfig/real.sh

#!/bin/bash
   

#description : start realserver
   

VIP=192.168.1.100
   

/etc/rc.d/init.d/functions
   

case $1 in
   

start)
   

echo start LVS of REALServer
   

/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
   

echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore
   

echo 2 /proc/sys/net/ipv4/conf/lo/arp_announce
   

echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore
   

echo 2 /proc/sys/net/ipv4/conf/all/arp_announce
   

;;
   

stop)
   

/sbin/ifconfig lo:0 down
   

echo close LVS Directorserver
   

echo 0 /proc/sys/net/ipv4/conf/lo/arp_ignore
   

echo 0 /proc/sys/net/ipv4/conf/lo/arp_announce
   

echo 0 /proc/sys/net/ipv4/conf/all/arp_ignore
   

echo 0 /proc/sys/net/ipv4/conf/all/arp_announce
   

;;
   

*)
   

echo Usage: $0 {start|stop}
   

exit 1
   

esac
   

#
 chmod +x /etc/sysconfig/real.sh

#
 /etc/sysconfig/real.sh start

#echo /etc/sysconfig/real.sh start /etc/rc.local

 

四、測試

1、關閉 web1 或者 web1 上任意一臺 web 服務,看訪問 VIP 是否正常

2、停止 master 節點上的 heartbeat 進程,看 VIP 是否會自動切換到 backup 節點;恢復 master 節點,停止 backup 上的 heartbeat 進程,看 VIP 是否會自動切換到 master 節點

3、將 master 節點關機,看 VIP 是否會自動切換到 backup;開啟 master 節點,關閉 backup,看 VIP 是否會自動切換到 master 節點。測試時多觀察一下 heartbeat 日志

注:本環境中 backup 節點與 bmaster 節點安裝配置均相同,所以在此不再累述 backup 節點的配置。 

關于“如何使用 LVS+heartbeat 構建高可用 web 集群”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計4678字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 宁南县| 收藏| 磐安县| 楚雄市| 鹤峰县| 石渠县| 县级市| 灵山县| 罗源县| 汉中市| 岑巩县| 黄山市| 巫溪县| 牡丹江市| 贡觉县| 饶平县| 二手房| 南昌县| 凤冈县| 寻甸| 民县| 噶尔县| 华坪县| 海淀区| 瑞昌市| 鞍山市| 漯河市| 临高县| 平江县| 禹城市| 茶陵县| 山东省| 德兴市| 上高县| 孟州市| 新营市| 清原| 灵山县| 报价| 萍乡市| 德令哈市|