LVS (Linux Virtual Server)Linux虚拟服务器

LVS是一个Linux平台下的软件工具。通过LVS,你可以快捷方便的组建一个带有第四层负载均衡功能的集群系统。并且,借助第三方的工具包,还可以实现对LVS集群进行可用性支持的功能扩展。

LVS的抽象体系结构分为三个层次:

      1)、第一层是负载均衡器,这是集群的唯一入口。

      2)、第二层是提供实际服务的服务器群

      3)、第三层是存储服务系统,为整个集群内部运行提供稳定、一致的文件存取服务。

LVS调度算法

静态调度:

1)、rr(Round Robin):轮询调度,轮叫调度

2)、wrr:weight,加权(以权重之间的比例实现在各主机之间进行调度)

3)、sh:source hashing,源地址散列。主要实现会话绑定,能够将此前建立的session信息保留了

4)、Dh:Destination hashing:目标地址散列。把同一个IP地址的请求,发送给同一个server。

动态调度:

1)、lc(Least-Connection):最少连接

2)、wlc(Weighted Least-Connection Scheduling):加权最少连接

3)、sed(Shortest Expected Delay):最短期望延迟

4)、nq(never queue):永不排队(改进的sed)

5)、LBLC(Locality-Based Least Connection):基于局部性的最少连接

6)、LBLCR(Locality-Based Least Connections withReplication):带复制的基于局部性最少链接

LVS传统的三种工作模式:

1)VS/NAT模式(Network address translation)

工作原理:通过负载均衡器或交换机转换IP地址,所有数据必须经过交换机。

优点:数据包必须经过IP转换,客户端和服务器后端都不知道对方IP,增强了抗攻击。

不足:转换IP时,需要配置复杂的路由策略。

2)VS/TUN模式(tunneling)隧道模式:

工作原理:在数据包的头部封装一个新的IP头标记(仅目的IP)发给RS,RS处理后,直接返回给客户端

优点:减少了负载均衡器的大量数据流动

不足:RS配置复杂,(ipip模块等)。RS绑定了vip ,风险大。数据包大小会有限制,可能会造成无法封装头部标记,或造成数据丢失。

3)DR模式(Direct routing)

工作原理:目的MAC地址改为RS的MAC(因为IP一致),负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。

优点:由于DS和RS在同一个网络中,所以是通过二层数据链路层来传输。因此可以使用大多数操作系统做为物理服务器。

不足:1)LVS-RS 必须处于同一VLAN。

           2)RS 上绑定了vip ,风险大。

LVS-DR模式需要注意的是:
保证前端路由将目标地址为VIP报文统统发给Director Server,而不是RS。

解决方案是:修改RS上内核参数(arp_ignore和arp_announce)将RS上的VIP配置在lo接口的别名上,并限制其不能响应对VIP地址解析请求。

第四种工作模式:LVS-FULLNAT转发模式 (需要重新编译内核)

LVS 不足:

1)、不会进行健康检查,服务器出问题,客户端依然可以访问到错误界面。

2)、单点,没有冗余。

解决方案:

LVS 管理软件——keepaplived  (解决LVS健康检测与LVS冗余问题)

实例:LVS DR工作模式搭建

封装rhel7.6 虚拟机:(生产环境中使用7的较多)

DR模式搭建:
 

LVS 管理软件——keepaplived  (解决LVS健康检测与LVS冗余)

LVS冗余:当原master机挂了,keepalived 会将backup机切换为新master继续工作

keepalived对后端的健康监测:

猜你喜欢

转载自blog.csdn.net/qq_47714288/article/details/112439197