您的位置:首页 > 其它

LVS负载均衡配置与实现 推荐

2014-04-16 15:36 232 查看
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 要支持报文转发功能




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

不支持端口映射功能



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

不支持端口映射




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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: