1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LVS: 
概念: 
分流流量,均衡压力 
模式分为: 
NAT  DR  TUN  FULLNAT 
算法分为: 
静态: 
rr 轮询分流 
wrr 加权轮询 
sh 源地址hash绑定 
dh 目标地址hash绑定 
动态: 
lc 考虑后端服务器最少连接 
wlc 加权考虑后端服务器最小连接 
nq 永不排队 
sed加权反差模型(能者多老模型) 
lblc dh + lc 
lblcr 复制的 dh + lc


二: NAT模式

细节要点:

   NAT模式不能做防火墙处理

   可隐藏内部服务器地址

   支持端口映射功能

   Director 是性能瓶颈和单点故障点

   Director 要支持报文转发功能

LVS负载均衡配置与实现_LVS负载均衡配置与实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
NAT: 使用地址转换技术完成不同网段的调度器与服务器的调度管理 
规划: 
Director: 
DIP: 192.168.43.200 
VIP: 172.16.43.200 
A:  RIP: 192.168.43.1 
B:  RIP: 192.168.43.2 
设置: 
Director: 
DIP: ifconfigeth1 192.168.43.200/24up 
VIP: ifconfigeth0 172.16.43.200/16up 
开启路由转发功能 
A: 
RIP: ifconfigeth0 192.168.43.1/24up 
ROUTE: route add default gw 192.168.43.200 
B: 
RIP: ifconfigeth0 192.168.43.2/24up 
ROUTE: route add default gw 192.168.43.200 
# -A 添加一个集群服务 -t tcp类型  -s 调度算法 
ipvsadm -A -t 172.16.43.200:80 -s rr 
# -a 添加一台服务器到集群服务中  -t tcp类型 -r 真实服务器ip -m DAT模式 
ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.1 -m 
ipvsadm -a -t 172.16.43.200:80 -r 192.168.43.2 -m

三: DR模式

技术要点:

   Director 可以不需要报文转发功能

   RS 端的arp报文响应功能要关闭

   RS 端指向公网地址,不指向DIP

   不支持端口映射功能

LVS负载均衡配置与实现_LVS负载均衡配置与实现_02

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
DR: 
DR简单模式(Director与RS同在一个物理网段内) 
规划: 
Director 
DIP: 172.16.43.200 
VIP: 172.16.43.88 (route: eth0:0) 
A: 
RIP: 172.16.43.1 
VIP: 172.16.43.88 (route: lo:0) 
B: 
RIP: 172.16.43.2 
VIP: 172.16.43.88 (route: lo:0) 
设置: 
Director: 
DIP: ifconfigeth0 172.16.43.200/16up 
VIP: ifconfigeth0:0 172.16.43.88/16up 
ROUTE: route add -host 172.16.43.88 dev eth0:0 
开启路由转发功能 
A: 
echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP: ifconfigeth0 172.16.43.1/16up 
VIP: ifconfiglo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up 
ROUTE: route add -host 172.16.43.88 dev lo:0 
B: 
echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP: ifconfigeth0 172.16.43.2/16up 
VIP: ifconfiglo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up 
ROUTE: route add -host 172.16.43.88 dev lo:0 
ipvsadm -A -t 172.16.43.88:80 -s rr 
# -g DR模式 
ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.1 -g 
ipvsadm -a -t 172.16.43.88:80 -r 172.16.43.2 -g

四: TUN模式(如下图加配置过程完成应该没有什么大碍)

技术要点:

   Director 支持IP隧道技术(双IP地址转换)

   RIP,DIP,VIP均为公网地址

   RS 的网关不指向DIP

   不支持端口映射

LVS负载均衡配置与实现_LVS负载均衡配置与实现_03

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
TUN: 
可以理解为DR复杂模式(Director与RS不在同一个物理网段内) 
规划: 
Director 
DIP: 172.16.43.200 (eth0) 
VIP: 172.16.43.88 (route: eth0:0) 
IIP: 192.168.0.200 (eth1) 
A: 
RIP: 192.168.0.1 
VIP: 172.16.43.88 (route: lo:0) 
B: 
RIP: 192.168.0.2 
VIP: 172.16.43.88 (route: lo:0) 
配置: 
Director: 
DIP: ifconfigeth0 172.16.43.200/16up 
VIP: ifconfigeth0:0 172.16.43.88/16up 
IIP: ifconfigeth1 192.168.0.200/24up 
ROUTE: route add -host 172.16.43.88 dev eth0:0 
开启路由转发功能 
A: 
echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP: ifconfigeth0 192.168.0.1/24up 
VIP: ifconfiglo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up 
ROUTE: route add default gw 192.168.0.200 
ROUTE: route add -host 172.16.43.88 dev lo:0 
B: 
echo1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP: ifconfigeth0 192.168.0.2/24up 
VIP: ifconfiglo:0 172.16.43.88 netmask 255.255.255.255 broadcast 172.16.43.88 up 
ROUTE: route add default gw 192.168.0.200 
ROUTE: route add -host 172.16.43.88 dev lo:0 
ipvsadm -A -t 172.16.43.88:80 -s rr 
# -i TUN 模式开启 
ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.1 -i 
ipvsadm -a -t 172.16.43.88:80 -r 192.168.0.2 -i

五: 持久连接 (LVS中将客户端请求在一定时间内连续分发到同一组服务器的策略实现)

   持久连接类型: PCC 所有连接都进行服务器绑定  PPC  所有同一端口请求进行服务器绑定  PFMC 基于防火墙标记的多端口服务器请求绑定

 ipvsadm -A -t 172.16.43.88:0 -s rr -p 300 # PCC 将请求服务进行绑定300秒内到同一组服务器

 ipvsadm -A -t 172.16.43.88:80 -s rr -p 300 # PPC

 iptable -t mangle -A PREROUTING -d 172.16.43.88 -p tcp -m multiport --ports 22,80 -j mark --set-mark 10 # 将请求22,80服务标记为一组

 ipvsadm -A -f 10 -s rr