LVS的介绍
是章问嵩,开发的一个开源项目,全名 Linux Virtual Server
类似iptables ,lvs也有两段代码,一段是在内核中的(ipvs code)
另一段是在用户空间的(ivps adm)
Lvs属于四层转换器
解决三个问题:
1,high through 高吞吐量
2,redundancy 冗余
3,adaptability 适应性
LVS的ip端口的类型
1,Virtual IP (VIP) address 前端IP地址
2,Real IP (RIP) address 真实地址
3,Directors IP (DIP) address 后端连接的IP地址
4,Client computer's IP (CIP) address 客户端的IP地址
LVS的模型
这里区分的出发点是,转发和回复的机制。
1.Network address translation (LVS-NAT)
2.Directory routing (LVS-DR) 路由交换,具有较大的吞吐量
3.IP tunneing (LVS-TUN) 类似DR,但却能实现跨互联网
LVS-NAT 核心问题
1,集群节点必须在同一个网段不能跨越不同的网络
2,RIP地址通常是私有的不能再互联网上使用
3,Directory解决进出的数据包
4,每个realServer必须把网关指向DIP
5,可以使用VIP端口映射
6,对于主机的操作系统无限制
7,单个directory可能成为单点故障
注释:每个RIP都可以绑定VIP但在同一个路由上会产生问题,所以要使用arptalbes设置,对广播不予回应
Vip的地址绑定在lo的地址上
拓扑图
核心问题:
1,所有的RIP必须为同一个网段
2,RIP未必非得使用私网地址
3,directory只处理进来的数据包
4,cluster node 不能把网关指定directory回应而是只想路由器
5,这个模型无法做端口映射
6,大多数的操作系统支持
DR模型是Linux上,路由转发集群最好的选择:
1,如果使用的RIP地址为公网地址,即使directory当机,也可以正常的访问
2,可以实现外网的监测
LVS-TUN