heartbeat(高可用)+LVS(负载均衡+健康检查)服务配置(apache测试)

本文介绍如何使用Heartbeat和LVS搭建一个高可用的服务集群。通过配置四台服务器,实现负载均衡和故障转移功能。具体步骤包括环境准备、软件安装与配置、服务启动及测试。

heartbeat+LVS搭建

1.环境准备

四台服务器:
1.server1:172.25.13.1/24
2.server2:172.25.13.2/24
3.server4:172.25.13.4/24
4.server5:172.25.13.5/24
四台服务器都要关闭ipatbles和selinux
#/etc/init.d/iptables stop
#setenforce 0
cat /etc/hosts
172.25.254.1 server1
172.25.254.2 server2
172.25.254.3 server3
172.25.254.4 server4
172.25.254.5 server5
172.25.254.6 server6
172.25.254.65 server0

heartbeat软件包:
1.heartbeat-3.0.4-2.el6.x86_64.rpm
2.heartbeat-libs-3.0.4-2.el6.x86_64.rpm
3.ldirectord-3.9.5-3.1.x86_64.rpm ##LVS模块

下载地址:
http://www.linux-ha.org/wiki/Downloads

2.安装配置软件并启动服务
1) 安装heartbeat及相关软件
[server1][server2]

yum install -y heartbeat-3.0.4-2.el6.x86_64.rpm  
yum install -y heartbeat-libs-3.0.4-2.el6.x86_64.rpm
yum install -y ldirectord-3.9.5-3.1.x86_64.rpm 
yum install -y httpd

[server4][server5]

yum install arptables_jf -y
yum install httpd -y

如果安装出错,尝试将yum源修改为如下(172.25.254.65为镜像服务器):

name=Server
baseurl=http://172.25.254.65/rhel6.5/Server
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.254.65/rhel6.5/ScalableFileSystem
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.254.65/rhel6.5/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.254.65/rhel6.5/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.254.65/rhel6.5/ResilientStorage
gpgcheck=0

2) 修改配置文件并启动服务
–>[server1]

cd /usr/share/doc/heartbeat-3.0.4/      ##在这个目录下有示例文件
cp ha.cf haresources authkeys /etc/ha.d/    ##复制过来
cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
vim /etc/ha.d/ldirectord.cf
vim /etc/ha.d/ha.cf
vim /etc/ha.d/authkeys
chmod 600 /etc/ha.d/authkeys            ##认证文件权限必须是600
vim /etc/ha.d/haresources
scp /etc/ha.d/authkeys root@server2:/etc/ha.d
scp /etc/ha.d/authkeys root@server2:/etc/ha.d
scp /etc/ha.d/haresources root@server2:/etc/ha.d
scp /etc/ha.d/ldirectord.cf root@server2:/etc/ha.d
echo 'server1:waiting master server...'>/var/www/html/index.html
/etc/init.d/heartbeat start

–>[server2]

echo 'server2:waiting master server...'>/var/www/html/index.html
/etc/init.d/heartbeat start

cat /etc/ha.d/ldirectord.cf|grep -v ‘#’

checktimeout=3
checkinterval=1
autoreload=yes
quiescent=no
virtual=172.25.254.88:80
    real=172.25.254.4:80 gate
    real=172.25.254.5:80 gate
    fallback=127.0.0.1:80 gate
    service=http
    scheduler=rr
    protocol=tcp
    checktype=negotiate
    checkport=80
    request="index.html"

cat /etc/ha.d/ha.cf |grep -v ‘#’

logfacility local0
keepalive 2     ##2s一次心跳
deadtime 30     ##30s认定丢失
warntime 10     ##10s为回应则警告
initdead 120        ##120s初始启动的时间
udpport 1996        ##udp端口
auto_failback on    ##主服务修复后回切
node    server4     ##两个节点
node    server5
ping 172.25.13.250  ##ping网关验证网络正常
respawn hacluster /usr/lib64/heartbeat/ipfail   ##主lib与lib64
apiauth ipfail gid=haclient uid=hacluster   ##用户

cat /etc/ha.d/haresources |grep -v ‘#’

server4 IPaddr::172.25.13.100/24/eth0 httpd ldirectord  ##脚本执行,VIP,httpd服务,ldirectord服务

cat authkeys |grep -v ‘#’

auth 1      #加密方式为1
1 crc       #明文认证

–>[server4]

arptables -A OUT -s 172.25.254.88 -j mangle --mangle-ip-s 172.25.254.4
/etc/init.d/httpd start
echo 'server4'>/var/www/html/index.html

–>[server5]

arptables -A OUT -s 172.25.254.88 -j mangle --mangle-ip-s 172.25.254.5
/etc/init.d/httpd start
echo 'server5'>/var/www/html/index.html

3.测试
至此,我们的高可用服务已经搭建完成,在浏览器或curl中打开连接172.25.254.88刷新就可以看到server4和server5切换,当停止server4和server5上的httpd时,就会发现访问的时‘server1:waiting master server…‘,再停止server1上的heartbeat时,页面就会变成‘server2:waiting master server…‘。
[server1][server2]

#ipvsadm -ln            #查看两个真实服务器的状态
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.88:80 rr
  -> 172.25.254.4:80              Route   1      0          0         
  -> 172.25.254.5:80              Route   1      0          0       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值