服务器术语:
调度器:Director, Dispatcher, Load Balancer
RealServer: 报文传输过程IP:
CIP :Client IP
VIP:Virtual Server IP
DIP:Director IP
RIP:Real Server IP
CIPVIPDIPRIP LVS调度算法抛砖:
rr: Round-Robin,轮叫,轮调
wrr: Weighted Round-Robin, 加权轮叫
LVS类型:
lvs-type:
NAT:
DR
TUN
FullNAT
NAT:
1、RealServer应该使用私有IP地址;
2、RealServer的网关应该指向DIP;
3、RIP和DIP应该在同一个网段内;
4、进出的报文都得经过Directory,在高负载下,Directory会成为系统性能瓶颈;
5、支持端口映射;
6、RealServer可以使用任意OS;
用途:由于 上面第4条,使得 其扩展受限 ,所以 这种type 很少使用
DR: Direct Routing
1、RealServer可以使用私有地址;
2、RealServer的网关一定不能指向DIP;
3、RealServer和Director要在同一物理网络内;DIP和RIP应该在同一网段;
4、入站报文经过Directory,出站则由RealServer直接响应Client;
5、不能做端口映射;
6、RealServer可以为大多数常见OS;
用途:改进了 NAT的 扩展问题,但是引入了 设置的 物理限制(同一机房)
TUN:Tunneling
1、RIP、DIP不能是私有地址;
2、RealServer的网关不能指向DIP;
3、入站报文经过Directory,出站则由RealServer直接响应Client;
4、不支持端口映射;
5、支持IP tunneling的OS才能用于RealServer;
6、Real Server 和 Director 不用在 同一个物理网络内
NAT(DNAT): 请求进来时:DNAT 人为设定 destination IP ,在LOCAL IN上进行NAT
请求出去时:SNAT LVS设定 source IP , 在FORWARD 上进行NAT
DR: Direct Routing 响应过程不经过Director 客户端 访问的是VIP ,响应 不经过Director,就能 回到客户端 ,那么 Real Server 必须 能够 构建 VIP为源IP 地址的响应报文,怎么实现? Director 提供2个网卡: VIP DIP Real Server 提供2个网卡: RIP VIP 通过上面设置 我们可以让 Real Server 构建以VIP 的响应报文
路由器发现 要访问的VIP 在自己网段内,把报文接过来,然后动态ARP ,寻找VIP 的MAC地址 找到后 用该MAC封装报文,交给交换机,但是Director 、RealServer 都有VIP ,怎么才能让 Director 顺利接到报文,然后Load Balancing? A. 路由器 设置使用静态ARP 绑定 VIP为Director MAC地址,这样路由器就不用ARP广播了,直接将报文 指定给 Director B. 利用红帽 提供的 arptables ,使Real Server 拒绝响应 Router的 动态APR 广播。这样Router 仅能得到 Director MAC C. 在 linux 2.6.4 之后,直接引进了2个参数 ,这2个参数 可以设定 主机路由响应方式: 1.只有APR广播经过的 网卡才响应ARP请求 2.直接接入的网络 的 网卡 才通告(ARP)该网络 IP:MAC ,那么不在 该网络的网卡 就不用做ARP通过 借用这种机制,我们可以这样屏蔽掉 Real Server 回应 Router对于VIP的动态ARP广播: Real Server : RIP eth0 VIP lo:0 并且让VIP 不在RIP 的网段上 ,那么 RIP 接入网络 ,只会通报 RIP 的MAC地址,而VIP 的MAC 地址 就不会通报了,而且Router 的ARP 广播报文 是通过 eth0 进入 本机的 ,因此lo:0也不会 回应 此次 ARP的 以上3种办法 都能达到: 仅让Director 会响应 Router的 关于VIP 的动态ARP 广播请求
报文交给了 Director ,但是 Director 要怎么 把报文转给 Real Server ,才能是 Real Server 构建响应报文时 使用VIP喃? 显然 不能以 目标地址为:RIP 的方式 给 Real Server 因为 访问的目标,才是 构建响应的 源(意思就是,我要访问 VIP ,你就得以 VIP 的身份 回应我) 所以 ,Diretor 转交报文 给 Real Server 时 ,必须 以VIP 为 目标 IP ,并且 Diretor 对报文的做如下动作:修改 报文的目标MAC 为 Real Server MAC,确保报文送到的是 Real Server