Linux负载均衡LVS原理技术详细讲解

来源:互联网 发布:简历注意事项 知乎 编辑:程序博客网 时间:2024/05/19 10:36

一. LVS主从工作原理

LVS在基本的生产环境中,都会同时运行在二台硬件相近的服务器上:LVS Router(主 LVS ),一个作为备份LVS(备份 LVS )。
主 LVS 服务器在网站的前端起二个作用:

(1. 均衡负载压力到真实服务器(如apache)上.

(2. 检查后面真实服务器提供的服务是否正常.

备份LVS 用来监控主LVS和备份主服务器,在当故障出现时主LVS 死机 fail 掉了以后,就会启动自己来接管主 LVS 的工作。

基中有一个叫 Pulse (心跳服务) 运行在主LVS和备份LVS上。在备份 LVS 上,每秒 pulse 发送一个心跳(heartbeat)到主LVS的外网接口检查主LVS的服务是否正常。当然在主LVS上,也有pulse服务,它主要是响应备份LVS的心跳。

LVS进程调用 ipvsadm工具(RedHat开发)去配置和维护 IPVS 路由表,它会为每一个在真实服务器上的虚拟服务启动一个nanny进程。每一个nanny进程去检查真实服务器上的服务状态,如果有异常.就会将故障情况通知LVS进程。当故障时,LVS进程通知 ipvsadm 在 IPVS 路由表中将此节点删除。当然,它发现故障的机器恢复时也能自动的加入到服务中来.

如果备份LVS未收到来自于主LVS的响应,它将调用send_arp将虚拟IP地址再分配到备份LVS的公网接口上。并在公网接口和局域网接口上分别发送一个命令去关掉主LVS上的LVS进程。同时启动自己的LVS进程来调度客户端请求。

二. LVS典型网站架构


下面是一个大中型网站 LVS 架构的服务器:

象平时在大中型网站的服务器架构,基本就象上面一样.上面是一个服务器组提供同一种服务,如image的服务.

如上所示,最前面是一组主备LVS服务器,他们由心跳联系在一起 .接下来是一组功能相同的Real server服务器.有可能是Apache,nginx, squid之类的服务器.在接下来是一组应用服务器,应用服务器用的 Redhat Cluster 组成.最后,给所有的网站将数据放到一个网络文件系统NFS AND 分布文件系统GFS上做Shared Storage,用来提供所有的Real Server同时读写。当然,你也可以用SAN的存储服务器

三. LVS负载均衡算法

针对不同的网络服务需求和服务器配置,IPVS调度器实现了如下八种负载调度算法:

1. 轮调(Round Robin)

调度器通过”轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。

2.加权轮叫(Weighted Round Robin)

调度器通过”加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

3.最少链接(Least Connections)

调度器通过”最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用”最小连接”调度算法可以较好地均衡负载。

4.加权最少链接(Weighted Least Connections)

在集群系统中的服务器性能差异较大的情况下,调度器采用”加权最少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

5.基于局部性的最少链接(Locality-Based Least Connections)

“基于局部性的最少链接” 调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用”最少链接”的原则选出一个可用的服务器,将请求发送到该服务器。

6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)

“带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按”最小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器,若服务器超载;则按”最小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。 7.目标地址散列(Destination Hashing)

“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

8.源地址散列(Source Hashing)

“源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕进了ct室怎么办 消防稳压罐气囊压力不够怎么办 备孕期间拍了ct怎么办 晚上睡不好老做梦怎么办 零线和地线短路怎么办 火花塞拧的过紧怎么办 眼睛被电弧光灼伤怎么办 电脑模拟器微信附近人屏蔽了怎么办 美的电压锅漏气怎么办 电压力锅排气阀漏气怎么办 win10系统上不了网怎么办 手机自拍杆坏了怎么办 车辆遭核生化打击时怎么办? 遭核生化打击时怎么办? 车辆行驶中遭核生化打击时怎么办? 硫酸气体熏到嗓子怎么办 硫酸味儿进嗓子了怎么办 吸入二氧化氯气体后怎么办 衣服84消毒 变色了怎么办 我的身份证被诈骗犯知道了怎么办 母婴店来客人少怎么办 键盘驱动被卸载了怎么办 广州 狗狗随地大小便怎么办 上海 狗狗随地大小便怎么办 服装店人流量少生意差怎么办 2018年服装店生意特别差怎么办 打印机拍的照片打出黑怎么办 租的汽车撞了怎么办 神州租车车坏了怎么办 深圳市公安局办保安员证怎么办? 老婆被车撞了后失忆了怎么办 生气引起的短暂失忆怎么办 win10系统忘记开机密码怎么办 戴尔win10密码忘了怎么办 戴尔电脑win10密码忘了怎么办 出门忘记带身份证了怎么办 一年染了7次头发怎么办 低头久了颈椎疼怎么办 一只眼睛磨得慌怎么办 没有睡好眼睛痛怎么办 好几天没休息好怎么办