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

171

被折叠的 条评论
为什么被折叠?



