haproxy实现7层的负载均衡

本文详细介绍了如何配置haproxy实现7层负载均衡,包括安装测试、图片访问、source设定、权重分配、黑名单设置、日志查看、访问密码保护以及读写分离。此外,还讲解了使用Pacemaker实现haproxy双机热备,并通过fence防止脑裂,确保高可用性。通过具体的步骤和实例,展示了在服务器集群中haproxy的实践应用。
摘要由CSDN通过智能技术生成

1.haproxy的配置

1.安装及测试

机器IP
server1172.25.14.1
server2172.25.14.2
server3172.25.14.3

server1安装haproxy

yum install -y haproxy.x86_64       #安装
vim /etc/haproxy/haproxy.cfg 		#修改配置文件
systemctl start haproxy.service     #启动服务

在这里插入图片描述

vim /etc/security/limits.conf       #修改内核数据

在这里插入图片描述
浏览器访问172.25.14.1/status
显示app1、app2 DOWN
在这里插入图片描述
server2、server3开启apache服务后,再次刷新网站
显示app1、app2 UP
在这里插入图片描述

2.图片访问

server1

vim /etc/haproxy/haproxy.cfg
systemctl reload haproxy.service

在这里插入图片描述
server3

[root@server3 ~]# mkdir /var/www/html/images
[root@server3 ~]# mv vim.jpg /var/www/html/images/

浏览器访问172.25.14.1/images/vim.jpg
在这里插入图片描述

浏览器访问172.25.14.1/vim.jpg无法访问到图片
在这里插入图片描述

3.source

server1

[root@server1 ~]# vim /etc/haproxy/haproxy.cfg
[root@server1 ~]# systemctl reload haproxy

在这里插入图片描述

物理机访问
在这里插入图片描述
server2关闭apache后真机访问资源转移到server3上
在这里插入图片描述

4.权重

在这里插入图片描述

在这里插入图片描述

5.设置黑名单及自动跳转网址

黑名单报错
在这里插入图片描述
在这里插入图片描述
跳转
在这里插入图片描述
在这里插入图片描述

6.日志查看代理

[root@server1 ~]# vim /etc/rsyslog.conf
在这里插入图片描述

在这里插入图片描述

真机访问
[kiosk@foundation14 Desktop]$ for i in {1…6};do curl 172.25.14.1; done
server2
server3
server2
server3
server2
server3

server1上显示日志
在这里插入图片描述

7.访问密码

[root@server1 haproxy]# vim haproxy.cfg 
        stats auth admin:westos
[root@server1 haproxy]# systemctl reload haproxy.service 

在这里插入图片描述

8.读写分离

vim upload_file.php  #修改文件最大字节数为2000000000

在这里插入图片描述

在这里插入图片描述
将php文件以upload目录传给server3,同时serverw2、server3的upload目录需要777的权限。
在这里插入图片描述
[root@server1 ~]# vim /etc/haproxy/haproxy.cfg
[root@server1 ~]# systemctl reload haproxy.service

在这里插入图片描述

浏览器访问172.25.14.1/index.php
在这里插入图片描述

上传文件
在这里插入图片描述
查看server1的日志,显示从server2上读,存储到server3
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.Pacemaker实现haproxy双机热备

server1配置好仓库

ssh-keygen               #生成密钥设置免密
ssh-copy-id server4
scp /etc/yum.repos.d/dvd.repo server4:/etc/yum.repos.d/    #将配置好的仓库文件传给server4
yum install -y pacemaker pcs psmisc policycoreutils-python
ssh server4 yum install -y pacemaker pcs psmisc policycoreutils-python
systemctl enable --now pcsd.service   #开启服务
ssh server4 systemctl enable --now pcsd.service 
echo westos | passwd --stdin  hacluster
ssh server4 'echo westos | passwd --stdin  hacluster'

在这里插入图片描述

pcs cluster auth server1 server4   				   #认证
pcs cluster setup --name mycluster server1 server4 #设定集群名为mycluster 包含 server1 server4  
pcs cluster start --all       					   #启动所有节点
pcs cluster enable --all

在这里插入图片描述

pcs property set stonith-enabled=false #取消警告
pcs status

在这里插入图片描述
设置vip

pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.14.100 op monitor interval=30s

在这里插入图片描述
将haproxy添加到resources中
将vip和haproxy放到一个组中并运用于一个节点中

pcs resource create haproxy systemd:haproxy op monitor interval=60s
pcs resource group add hagroup vip haproxy
pcs status

在这里插入图片描述
pcs status查看设置成功
在这里插入图片描述
server1关闭

pcs node standby
pcs status

在这里插入图片描述
server4接管资源

pcs status

在这里插入图片描述

3.fence防止脑裂

物理机安装

fence-virtd-libvirt-0.4.0-4.el8.x86_64
fence-virtd-multicast-0.4.0-4.el8.x86_64
fence-virtd-0.4.0-4.el8.x86_64

fence_virtd -c 配置fence生成key
[root@foundation14 ~]# cd /etc/cluster/
[root@foundation14 cluster]# ls
fence_xvm.key

server1、server4创建目录

mkdir /etc/cluster/

真机将key传给server1、server4的/etc/cluster/下

[root@foundation14 cluster]# scp fence_xvm.key root@172.25.14.1:/etc/cluster/
[root@foundation14 cluster]# scp fence_xvm.key root@172.25.14.4:/etc/cluster/

server1、server4安装fence-virt
在这里插入图片描述
server1、server4 输入stonith_admin -I查看到以下
在这里插入图片描述

[root@server1 ~]# pcs stonith  create vmfence fence_xvm pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=60s
[root@server1 ~]# pcs status

在这里插入图片描述
启动stonish

[root@server1 ~]# pcs property set stonith-enabled=true
[root@server1 ~]# pcs status

在这里插入图片描述

测试:
server4内核破坏,自动重启

[root@server4 ~]# echo c > /proc/sysrq-trigger

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

server1断掉网卡,服务会切换到另一台server上,且断电主机会强制重启,重启成功后不会回退。资源转移到另一个master上

[root@server1 ~]# ip link set down eth0

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热到想喝冰阔落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值