LVS负载均衡服务器搭建

LVS简介

现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须重新编译内核以支持LVS功能模块,但是从Linux2.4内核心之后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。

使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

服务器内核修改

准备三台服务器
192.168.211.134
192.168.211.133
192.168.211.136
1.搭建VIP负载服务器192.168.211.134,给虚拟网卡

ifconfig  ens33:8 192.168.211.100/24

在这里插入图片描述
2. 修改另外两个服务器的内核(192.168.211.133,192.168.211.136)

echo 1  >  /proc/sys/net/ipv4/conf/ens33/arp_ignore 
echo 1  >  /proc/sys/net/ipv4/conf/all/arp_ignore 
echo 2 > /proc/sys/net/ipv4/conf/ens33/arp_announce 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 
  1. 设置另外两个服务隐藏的VIP
    192.168.211.133
ifconfig  lo:2  192.168.211.100  netmask 255.255.255.255
或者使用
ifconfig  lo:2  192.168.211.100/32

在这里插入图片描述

192.168.211.136

ifconfig  lo:3  192.168.211.100  netmask 255.255.255.255
或者使用
ifconfig  lo:3  192.168.211.100/32

在这里插入图片描述

在这里说一下,24和32是什么意思
24 = 255.255.255.0
32 = 255.255.255.255
255是8进制最大值,4个255是32进制位,最后转换为255.255.255.255

服务器httpd安装

对(192.168.211.133,192.168.211.136)两个服务器安装http

yum install httpd -y  
#默认安装路径在:
/etc/httpd/

在这里插入图片描述


//启动httpd
service httpd start    
systemctl start httpd.service  //Centos 7以上使用
//查看启动状态
systemctl status  httpd.service
//停止httpd
systemctl stop httpd.service

在这里插入图片描述
赋予两台服务器httpd默认的index.html网页

vi   /var/www/html/index.html
		html中写上自身服务器的地址 from 192.168.211.1x

在这里插入图片描述

LVS负载服配置

对负载服务192.168.211.134 安装ipvsadm

yum install ipvsadm 

在这里插入图片描述
添加数据包规则
进入数据包规则:
-A:进入协议
-t:tcp协议
192.168.211.100:80 目标地址和端口号
-s rr:轮询策略

 ipvsadm -A  -t  192.168.211.100:80  -s rr

查看入口规则

ipvsadm -ln

在这里插入图片描述
进入数据包规则:
-a:向那个服务去负载
-t:tcp协议
192.168.211.100:80 目标地址和端口号
-r:接入到对应的服务
-g:轮训
-w 1: 权重给1

 ipvsadm -a  -t  192.168.211.100:80  -r 192.168.211.133 -g -w 1
 ipvsadm -a  -t  192.168.211.100:80  -r 192.168.211.136 -g -w 1

对进来的包进行负载均衡到两台服务器上
在这里插入图片描述

验证

浏览器访问192.168.211.100
会出现浏览器每隔三四秒才会返回状态为200,如果频繁请求会出现304状态
这是因为htttd1.1是自动支持长链接的,在一定时间内,网页不变化,直接返回304.
解决办法为:
修改httpd的配置,关闭长链接,需要修改(192.168.211.133,192.168.211.136)两台负载的服务器
找到httpd的安装路径,在httpd.conf中添加KeepAlive Off,把长链接关闭

vi /etc/httpd/conf/httpd.conf 

之后重启httpd

systemctl stop httpd.service
systemctl start httpd.service

直接重新请求搭建的负载服务器 192.168.211.100 即可

后续继续验证
浏览器访问 192.168.150.100 看到负载 疯狂F5
192.168.211.134:
netstat -natp 结论看不到socket连接
192.168.211.133~192.168.211.136:
netstat -natp 结论看到很多的socket连接
192.168.211.134:
ipvsadm -lnc 查看偷窥记录本
TCP 00:57 FIN_WAIT 192.168.150.1:51587 192.168.150.100:80 192.168.150.12:80
FIN_WAIT: 连接过,偷窥了所有的包
SYN_RECV: 基本上lvs都记录了,证明lvs没事,一定是后边网络层出问题
负载服务器192.168.211.134 看不到连接
在这里插入图片描述
192.168.211.133~192.168.211.136:在这里插入图片描述
在这里插入图片描述
负载服务器192.168.211.134 查看偷窥记录本,这个需要疯狂F5刷新浏览器,然后在去192.168.211.134看
ipvsadm -lnc

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无奈的码农

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

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

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

打赏作者

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

抵扣说明:

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

余额充值