LB lvs

LB:
Hardware:
F5 BIG-IP
Citrix NetScaler
A10
Software
四层:
LVS
七层:
nginx
haproxy

LVS: Linux Virtual Server

LVS:

类型:
NAT:地址转换 -m
DR: 直接路由 -g
TUN:隧道 -i

NAT:
集群节点跟director必须在同一个IP网络中;
RIP通常是私有地址,仅用于各集群节点间的通信;
director位于client和real server之间,并负责处理进出的所有通信;
realserver必须将网关指向DIP;
支持端口映射;
realserver可以使用任意OS;
较大规模应该场景中,director易成为系统瓶颈;

DR:
集群节点跟director必须在同一个物理网络中;
RIP可以使用公网地址,实现便捷的远程管理和监控;
director仅负责处理入站请求,响应报文则由realserver直接发往客户端;
realserver不能将网关指向DIP;
不支持端口映射;

TUN:
集群节点可以跨越Internet;
RIP必须是公网地址;
director仅负责处理入站请求,响应报文则由realserver直接发往客户端;
realserver网关不能指向director;
只有支持隧道功能的OS才能用于realserver;
不支持端口映射;

调度算法:

四种静态:
rr:轮巡
wrr:权重
dh: 缓存
sh: 保持会话

动态调度方法:
lc: 最少连接
active*256+inactive
谁的小,挑谁
wlc: 加权最少连接
(active*256+inactive)/weight
sed: 最短期望延迟
(active+1)*256/weight
nq: never queue
LBLC: 基于本地的最少连接
DH:
LBLCR: 基于本地的带复制功能的最少连接

默认方法:wlc

ipvsadm:
管理集群服务
添加:-A -t|u|f service-address [-s scheduler]
-t: TCP协议的集群
-u: UDP协议的集群
service-address: IP:PORT
-f: FWM: 防火墙标记
service-address: Mark Number
修改:-E
删除:-D -t|u|f service-address

# ipvsadm -A -t 172.16.100.1:80 -s rr

管理集群服务中的RS
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-t|u|f service-address:事先定义好的某集群服务
-r server-address: 某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射;
[-g|i|m]: LVS类型
-g: DR
-i: TUN
-m: NAT
[-w weight]: 定义服务器权重
修改:-e
删除:-d -t|u|f service-address -r server-address

# ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.8 -m
# ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.9 -m
查看
-L|l
-n: 数字格式显示主机地址和端口
--stats:统计数据
--rate: 速率
--timeout: 显示tcp、tcpfin和udp的会话超时时长
-c: 显示当前的ipvs连接状况

删除所有集群服务
-C:清空ipvs规则
保存规则
-S
# ipvsadm -S > /path/to/somefile
载入此前的规则:
-R
# ipvsadm -R < /path/form/somefile

各节点之间的时间偏差不应该超出1秒钟;

LVS:
Type:
NAT: -m
DR: -g
TUN: -i

scheduler method:
静态:
rr
wrr
sh
dh
动态:
lc
wlc
sed
nq
lblc
lblcr

LVS: ipvsadm/ipvs
INPUT: -->POSTRUTING

ipvsadm:
管理服务:
-A
-E
-D
管理RS:
-a
-e
-d
查看:
-L|-l
-n
--stats
--rate
--timeout
--sort
--daemon
规则管理:
-C
-S
-R

DR:

VIP: MAC(DVIP)
arptables:
kernel parameter:
arp_ignore: 定义接收到ARP请求时的响应级别;
0:只要本地配置的有相应地址,就给予响应;
1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应;

arp_announce:定义将自己地址向外通告时的通告级别;
0:将本地任何接口上的任何地址向外通告;
1:试图仅向目标网络通告与其网络匹配的地址;
2:仅向与本地接口上地址匹配的网络进行通告;

service ipvsadm save
ipvsadm -S

NAT配置:

direct VIP:10.0.0.12 DIP:192.168.1.1

rs1 RIP:192.168.1.2 rs2 RIP:192.168.1.3

rs RIP网关指向direct DIP

 ipvsadm -A -t 10.0.0.12:80 -s rr
 ipvsadm -a -t 10.0.0.12:80 -r 192.168.1.2 -m -w 1
 ipvsadm -a -t 10.0.0.12:80 -r 192.168.1.3 -m -w 1

DR 配置:模拟vip 和dip rip在同一个网段

direct VIP:10.0.0.16 DIP:10.0.0.12

rs1 RIP:10.0.0.10 rs2 RIP:10.0.0.11

159 ipvsadm -A -t 10.0.0.16:80 -s wrr -p 20
160 ipvsadm -a -t 10.0.0.16:80 -r 10.0.0.10 -g -w 1
161 ipvsadm -a -t 10.0.0.16:80 -r 10.0.0.11 -g -w 1

 

  

posted @ 2016-11-28 14:08  howhy  阅读(56)  评论(0)    收藏  举报