DR模式
LVS三种模式 nat地址转换 DR直接路由模式 tun隧道模式
DR模式的特点:
调度器在整个lvs集群中是最重要的,在nat模式中,负责接收请求,同时根据负载均衡算法转发流量,响应发送给客户端
DR模式:调度器依然负责接收请求,同时根据负载均衡算法转发流量到RS,响应直接由RS响应给客户端
直接路由:DirectRouting 是一种二层转发模式。二层转发的是数据帧。根据源mac地址和目的mac地址进行转发。
不会修改数据包源ip和目的ip.根据数据包mac地址进行转发。
DR模式下,lvs也是一个虚拟的ip地址,所有的请求都是转发到整个vip ,走二层转发,当客户端的请求到达调度之后,根据负载均衡的算法选择一个RS,修改vip服务器的目的mac变成RS的mac地址,RS处理完请求之后,根据报文中客户端的源mac地址直接把响应发送到客户端即可,不需要走调度器了。
1.调度器配置了vip RS上也配置了vip地址
谁来响应?vip地址冲突,调度器和RS都在同一网段,ARP通信的紊乱,因为是整个局域网广播,所有设备都收到了 ,怎么把lo这个回环地址的响应屏蔽掉,让本机的物理ip地址响应。
修改内核参数:
arp_ignore=1
系统的物理ip地址才会响应ARP请求,lo不会响应ARP请求
2.返回报文时,vip地址还在,怎么让客户端来接收到响应
arp_announce=2
系统不使用ip数据包的源地址来响应ARP请求,直接发送物理接口的ip地址
DR模式的实现:
nginx1 RS1 192.168.233.61
nginx2 RS2 192.168.233.62
vip 192.168.233.100
test1 调度器 192.168.233.10
test2 客户端 192.168.233.20
route add -host 192.168.233.100 dev lo:0
设置ip地址为192.168.233.100地址添加到回环接口,做为Ivs的vip。通过路由的模式转发到RS
能让vip识别到真实的服务器
LVS三种工作模式*
NAT | DR | TUN | |
---|---|---|---|
优点 | 地址转换,配置简单 | 性能最好 | WAN 实现较远距离的数据包转送 |
缺点 | 性能瓶颈 | 不支持跨网段 | 专用通道 需要开VPN (费用) |
RS的要求 | 无限制 | 必须禁止非物理接口的ARP响应 | 支持隧道模式 |
RS的数量 | 10-20台 | 100台 | 100台 |
keepalive的脑裂
Ivs集群当中的高可用架构只是针对调度器的高可用。
基于vrrp来实现调度器的主和备。
高可用的HA架构。
主调度器和备调度(多台)
在主调度器正常工作的时候,备完全处于冗余状态(待命)。不参与集群的运转,只有当主调度器出现故障时,备才会承担主调度器的工作。主调度器恢复功能之后,主继续做为集群的入口,备继续处于冗余状态(取决于优先级)
keepalive基于vrrp协议来实现lvs高可用的方案。
1、组播地址:
224.0.0. 18根据组播地址来进行通信,主和备之间发送报文。确定对方时候存活。
2、根据优先级的大小来确定主和备的位置
3、故障切换,主挂了,备来继续工作,主恢复了,备继续等待。 4、主和备之间的切换是vip地址的切换。
keepalive是专门为了Ivs而出现的,但是不是Ivs专用的。
Ivs和nginx做负载均衡的区别:
Ivs 是四层转发内核态ip+端口 四层代理
nginx 四层代理 也可以七层代理。