一.LVS介绍
- LVS(linux virtual server)虚拟服务器,是作为负载均衡器来使用,将用户的请求接收并通过调度算法向后端真实服务器进行转发,对于用户而言,这一过程是透明的,默认其访问的是真实服务器,实则是Client→DS(调度算法)→若干RS
DS:请求的接收和转发 RS:真实服务器,提供服务和处理请求
- LVS模式 负载均衡有三种模式lb_kind NAT , TUN ,DR,在这里简单介绍常用的NAT与DR NAT:NAT模式,工作在网络层三层DS对请求的数据包进行判断,是否为访问集群服务,若是则进行收发包源目地址相应进行转换,并通过转发规则发送到后端RS,此时数据包的目标ip地址转换为后端RS的ip地址; RS对数据包进行响应,并返回数据包给DS,此时源ip地址为RIP,目标地址为CIP 优缺点:1.配置简单,IP资源消耗小 2.数据包的请求与响应都需要DS进行地址转换,请求多返回数据包较大,会造成性能瓶颈 DR:路由模式,工作在数据链路层,适用于同一网段内,数据包通过网关进行ARP请求,但是DS与RS对外只有一个IP,并且仅仅DS会对ARP进行响应
二.环境准备
192.168.112.82 DS 192.168.112.81 web02 192.168.112.68 web01
1. 对DS,RS设置
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
2. 对DS进行配置vip
yum install -y ipvsadm
systemctl start ipvsadm
cp ifcfg-ens33 ifcfg-ens33:0
systemctl restart network
ifup ens33:0
ipaddr #显示如下
配置LVS
ipvsadm --save > /etc/sysconfig/ipvsadm && systemctl restart ipvsadm
#必不可少,不然会出现ipvsadm无法启动因为在指定路径缺少ipvsadm文件需要手动增加
ipvsadm -A -t 192.168.112.60:80 -s rr # 新建集群并添加配置,-A:创建集群,-t:处理http请求,-s:负载均衡算法
ipvsadm -a -t 192.168.112.60:80 -r 192.168.112.68:80 -g # 添加集群
ipvsadm -a -t 192.168.112.60:80 -r 192.168.112.81:80 -g#添加集群
ipvsadm -Ln
3.对RS进行配置
yum install -y httpd
systemctl start httpd
echo "web01" > /var/www/html/index.html
**为RS配置回环ip,抑制arp请求
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
systemctl restart network
ifup lo:0
ip addr
vim /etc/sysctl.conf 输入如下:
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
sysctl -p