`
fantaxy025025
  • 浏览: 1279057 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

负载均衡_集群方案_lvs+keepalive

 
阅读更多

 

from:http://www.ha97.com/5646.html

LVS集群

LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

LVS的优点是:
1、抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,对内存和cpu资源消耗比较低。
2、配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率。
3、工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived,不过我们在项目实施中用得最多的还是LVS/DR+Keepalived。
4、无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响。
5、应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等。

LVS DR(Direct Routing)模式的网络流程图:

lvs_dr

LVS的缺点是:
1、软件本身不支持正则表达式处理,不能做动静分离;而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。
2、如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了,特别后面有Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。

 

from:http://blog.chinaunix.net/uid-27022856-id-3236257.html

1. LVS/DR如何处理请求报文的,会修改IP包内容吗?

1.1 vs/dr本身不会关心IP层以上的信息,即使是端口号也是tcp/ip协议栈去判断是否正确,vs/dr本身主要做这么几个事:

1)接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip;

2)以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;

3)在hash table中记录连接信息。

vs/dr做的事情很少,也很简单,所以它的效率很高,不比硬件负载均衡设备差多少。

数据包、数据帧的大致流向是这样的:client --> VS --> RS --> client

1.2 前面已作了回答,vs/dr不会修改IP包的内容.

2. RealServer为什么要在lo接口上配置VIP?在出口网卡上配置VIP可以吗?

2.1 既然要让RS能够处理目标地址为vip的IP包,首先必须要让RS能接收到这个包。

在lo上配置vip能够完成接收包并将结果返回client。

2.2 答案是不可以将VIP设置在出口网卡上,否则会响应客户端的arp request,造成client/gateway arp table紊乱,以至于整个load balance都不能正常工作。

3. RealServer为什么要抑制arp帧?

这个问题在上一问题中已经作了说明,这里结合实施命令进一步阐述。我们在具体实施部署的时候都会作如下调整:

       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

我相信很多人都不会弄懂它们的作用是什么,只知道一定得有。我这里也不打算拿出来详细讨论,只是作几点说明,就当是补充吧。

3.1

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

这两条是可以不用的,因为arp对逻辑接口没有意义。

3.2 如果你的RS的外部网络接口是eth0,那么

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

其实真正要执行的是:

echo "1" >/proc/sys/net/ipv4/conf/eth0/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/eth0/arp_announce

所以我个人建议把上面两条也加到你的脚本里去,因为万一系统里上面两条默认的值不是0,那有可能是会出问题滴。

4. LVS/DR load balancer(director)与RS为什么要在同一网段中?

从第一个问题中大家应该明白vs/dr是如何将请求转发给RS的了吧?它是在数据链路层来实现的,所以director必须和RS在同一网段里面。

5. 为什么director上lo接口除了VIP另外还要在eth0配一个ip(即DIP)?

5.1 如果是用了keepalived等工具做HA或者Load Balance,则在健康检查时需要用到DIP。

5.2 没有健康检查机制的HA或者Load Balance则没有存在的实际意义。

6. LVS/DR ip_forward需要开启吗?

不需要。因为director跟realserver是同一个网段,无需开启转发。

7. director的vip的netmask一定要是255.255.255.255吗?

lvs/dr里,director的vip的netmask 没必要设置为255.255.255.255,也不需要再去

route add -host $VIP dev eth0:0

director的vip本来就是要像正常的ip地址一样对外通告的,不要搞得这么特殊.

8. LVS/DR如何进行tcp的三次握手?

 

+

+

+

-

-

-

 

分享到:
评论

相关推荐

    centos7-lvs+keepalive部署

    通过以上步骤,我们可以在 CentOS 7 上成功部署基于 LVS+Keepalived 的负载均衡集群,并实现对 HTTP 和 HTTPS 服务的高可用性支持。此配置文件中的参数可以根据实际情况进行调整,以满足不同场景下的需求。

    lvs+keepalive 比较详细的安装配置文档

    LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,通过 Keepalived 实现高可用性的虚拟服务器。下面将详细介绍 LVS+Keepalived 的安装配置过程和技术实现原理。 LVS 技术 LVS 是一種基于 Linux 的虚拟...

    mysql+lvs+keepalive+mha高可用

    `LVS`(Linux Virtual Server)是一种负载均衡技术,通过在多台服务器间分发网络负载来提高服务的并发处理能力和系统扩展性。在MySQL高可用场景中,LVS可以作为前端调度器,根据预设策略将请求路由到后端的MySQL节点...

    lvs+keepalived+mha+mysql架构最佳部署手册

    通过MHA实现故障自动切换,LVS和Keepalived保证服务的高可用性和负载均衡能力。 #### 第三部分 安装配置MySQL、MHA服务 本部分详细介绍如何安装配置MySQL、MHA服务。 ##### 3.1 安装MySQL及配置主从 1. **安装...

    LVS+Keepalive for centos7-可实施文档.docx

    本文档详细介绍了如何在 CentOS 7 系统上搭建 LVS+Keepalived 负载均衡集群,以应对单点故障问题,并提供了一个可实施的操作指南。 #### 二、Keepalived 简介及原理 **Keepalived** 是一款开源软件,用于实现 IPVS...

    LVS-DR+keepalive+ldirectord构建高可用负载均衡群集试验手册

    构建基于LVS-DR+Keepalived+Ldirectord的高可用负载均衡群集是一个复杂但非常实用的技术方案,它不仅可以提高系统的可用性和扩展性,还能有效应对突发的大规模访问请求。通过以上实验步骤的学习和实践,可以帮助我们...

    lvs+keepalive

    "LVS+Keepalived"是一种常见的解决方案,用于构建高可靠的负载均衡集群。本篇文章将深入探讨这两个组件的工作原理、配置方法以及它们如何协同工作来提供不间断的服务。 **LVS(Linux Virtual Server)** LVS,全称...

    LVS+keepalived群集教程(原创)

    LVS+Keepalived群集提供了高可用性和负载均衡的解决方案,通过VRRP协议实现主备切换,通过负载调度算法确保服务的均衡分布。在配置过程中,要关注各个参数的设置,以满足系统的性能需求和稳定性。同时,健康检查机制...

    使用LVS+heartbeat构建高可用web集群

    其中,LVS(Linux Virtual Server)结合Heartbeat是一种常见的高可用解决方案,它能够有效地提升Web服务的稳定性和负载均衡能力。 #### 二、LVS与Heartbeat简介 1. **LVS**:LVS是基于Linux内核的一种高性能负载...

    lvs+keeplive完整配置文档[参考].pdf

    LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,结合Keepalive工具,能够构建高效、稳定的集群系统。LVS提供了三种IP负载均衡技术,分别是VS/NAT、VS/TUN和VS/DR,以及八种调度算法,包括rr、wrr、lc、...

    Lvs dr+keepalive

    **LVS** (Linux Virtual Server) 是一种基于 Linux 内核的负载均衡解决方案,它可以构建高性能、高可用的服务器集群。LVS 主要有三种工作模式:VS/NAT(Network Address Translation)、VS/TUN(IP Tunneling)以及 ...

    nginx+keepalive主从 双机热备 + 自动切换解决方案

    在现代网络环境中,为了提高服务的稳定性和可用性,通常会采用负载均衡技术和高可用性集群方案。本篇将详细介绍如何通过Nginx 和 Keepalive 实现主从双机热备,并配置自动切换功能,以达到负载均衡及高可用集群的...

    LVS-NAT安装文档及介质

    Linux Virtual Server (LVS) 是一种开源的负载均衡技术,用于构建高性能、高可用性的服务器集群。NAT(网络地址转换)是LVS的一种工作模式,它通过修改数据包的源或目标IP地址来实现负载均衡,从而将请求分散到后端...

    LVS实现负载均衡(DR直接路由模式+TUNNEL隧道模式)及LVS的健康检测(ldirectord+keepalived)

    LVS支持多种负载均衡策略,如轮询、最少连接、哈希等,可以有效地提高服务的并发处理能力和可靠性。 **2. IPVS (IP Virtual Server)** IPVS是LVS的核心组件,它实现了网络层的负载均衡。IPVS利用Linux内核的...

    Linux下Web服务器集群的设计与实现毕业论文.docx

    该论文研究了服务器集群技术,设计了一种在 Linux 下用 LVS 和 Keepalive 来搭建的负载均衡集群,实现了 Linux 下 Web 服务器集群。 在该论文中,作者首先介绍了基于 Linux 服务器集群的发展和研究现状及意义,然后...

    CentOS系统安装配置Nginx+keepalived实现负载均衡

    在本文中,我们将使用两台负载机器(NGINX_MASTER和NGINX_BACKUP)和两台Web集群机器(WEB_1和WEB_2)来实现负载均衡。 三、系统规划 在本文中,我们将使用CentOS 6.5作为操作系统,安装Nginx和keepalived来实现...

Global site tag (gtag.js) - Google Analytics