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 要支持报文转发功能
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:
ifconfig eth1 192.168.43.200 /24 up
VIP:
ifconfig eth0 172.16.43.200 /16 up
开启路由转发功能
A:
RIP:
ifconfig eth0 192.168.43.1 /24 up
ROUTE: route add default gw 192.168.43.200
B:
RIP:
ifconfig eth0 192.168.43.2 /24 up
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
不支持端口映射功能
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:
ifconfig eth0 172.16.43.200 /16 up
VIP:
ifconfig eth0:0 172.16.43.88 /16 up
ROUTE: route add -host 172.16.43.88 dev eth0:0
开启路由转发功能
A:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP:
ifconfig eth0 172.16.43.1 /16 up
VIP:
ifconfig lo: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:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP:
ifconfig eth0 172.16.43.2 /16 up
VIP:
ifconfig lo: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
不支持端口映射
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:
ifconfig eth0 172.16.43.200 /16 up
VIP:
ifconfig eth0:0 172.16.43.88 /16 up
IIP:
ifconfig eth1 192.168.0.200 /24 up
ROUTE: route add -host 172.16.43.88 dev eth0:0
开启路由转发功能
A:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP:
ifconfig eth0 192.168.0.1 /24 up
VIP:
ifconfig lo: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:
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
RIP:
ifconfig eth0 192.168.0.2 /24 up
VIP:
ifconfig lo: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