LVS常用工作模式

工作原理

名词解释:

  • vs 虚拟服务器
  • rs 真实服务器
    lvs工作原理是vs接受到报文后,根据来源ip,端口,目标ip,端口,按照响应的算法转发给rs,lvs工作在input链,对发往input链的数据进行处理
  • 常用模式:
    NAT模式
    DR模式
    TUR模式

NAT模式


安装lvs

1
2
yum -y install ipvsadm
ipvsadm -Ln

实验图
配置LVS

1
2
3
4
net.ipv4.ip_forward=1
ipvsadm -A -t 172.168.0.100:80 -s rr
ipvsadm -a -t 172.168.0.100:80 -r 10.0.0.15:80 -m
ipvsadm-save -n > /etc/sysconfig/ipvsadm

DR模式


实验图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#10.0.0.14 关闭arp广播
echo "net.ipv4.conf.lo.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.lo.arp_announce = 2" >> /etc/sysctl.conf

echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.arp_announce = 2" >> /etc/sysctl.conf
#10.0.0.14 添加VIP
ip a a 10.0.0.200/32 dev lo label lo:1
#10.0.0.11 添加VIP
ip a a 10.0.0.200/32 dev lo label lo:1
#10.0.0.11 添加LVS规则
ipvsadm -A -t 10.0.0.200:8080 -s rr
ipvsadm -a -t 10.0.0.200:8080 -r 10.0.0.14 -g

ipvsadm-save -n > /etc/sysconfig/ipvsadm

#检查路由和网关

#lvs的服务器可以不配网关,需要把/proc/sys/net/ipv4/conf/all/rp_filter 设置为0,不检查回路

DR模式-添加防火墙标签

1
2
3
4
5
6
iptables -t mangle -A PREROUTING  -d 10.0.0.200 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 10

ipvsadm -A -f 10 -s rr
ipvsadm -a -f 10 -r 10.0.0.14 -g
ipvsadm-save -n > /etc/sysconfig/ipvsadm
iptables-save > /etc/sysconfig/iptables

LVS的负载策略

静态算法

  • rr 轮询
  • wrr 加权轮询
  • sh 源IP地址hash,同一个IP地址始终转发到同一个rs
  • dh 目标地址hash,访问同一个缓存资源,路由到指定的缓存服务器

动态算法

  • lc 最少连接(活动连接数*256) + 非活动连接
  • wlc 权重最少连接 (活动连接数*256 + 非活动连接)/w
  • sed 只考虑活动连接数 (活动连接数*256)/w
  • NQ 第一轮轮训,之后sed
  • LBLC 动态的DH 算法
  • LBLCR 带复制功能的LBLC