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

LVS负载均衡服务器搭建_第1张图片
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

LVS负载均衡服务器搭建_第2张图片

192.168.211.136

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

LVS负载均衡服务器搭建_第3张图片

在这里说一下,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/

LVS负载均衡服务器搭建_第4张图片


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

LVS负载均衡服务器搭建_第5张图片
赋予两台服务器httpd默认的index.html网页

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

在这里插入图片描述

LVS负载服配置

对负载服务192.168.211.134 安装ipvsadm

yum install ipvsadm 

LVS负载均衡服务器搭建_第6张图片
添加数据包规则
进入数据包规则:
-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

对进来的包进行负载均衡到两台服务器上
LVS负载均衡服务器搭建_第7张图片

验证

浏览器访问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:LVS负载均衡服务器搭建_第8张图片
LVS负载均衡服务器搭建_第9张图片
负载服务器192.168.211.134 查看偷窥记录本,这个需要疯狂F5刷新浏览器,然后在去192.168.211.134看
ipvsadm -lnc

LVS负载均衡服务器搭建_第10张图片

你可能感兴趣的:(Linux,服务器,负载均衡,linux)