LVS项目遇到的问题

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1111783

一、环境

1、基础环境

A、系统:Centos6.3

B、iptables、selinux关闭

C、系统内核参数(负载均衡器、节点)

fs.file-max = 1000000
kernel.core_uses_pid = 1
kernel.msgmax = 1048560
kernel.msgmnb = 1073741824
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.sysrq = 0
net.core.netdev_max_backlog = 8192
net.core.rmem_default = 2097152
net.core.rmem_max = 16777216
net.core.somaxconn = 8192
net.core.wmem_default = 2097152
net.core.wmem_max = 16777216
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.ip_forward = 1
net.ipv4.ip_local_port_range = 1024    65000
net.ipv4.neigh.default.gc_thresh1 = 10240
net.ipv4.neigh.default.gc_thresh2 = 40960
net.ipv4.neigh.default.gc_thresh3 = 81920
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 51200
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_orphan_retries = 3
net.ipv4.tcp_reordering = 5
net.ipv4.tcp_retrans_collapse = 0
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_rmem = 4096        87380   4194304
net.ipv4.tcp_sack = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 4096        16384   4194304
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

二、服务分布

负载均衡器master:

eth0:10.10.10.100(外网)

eth1:172.28.26.119(内网)

负载均衡器backup:

eth0:10.10.10.200(外网)

eth1:172.28.26.120(内网)

VIP:10.10.10.250

node1:

eth0:10.10.10.10(外网)

eth1:172.28.26.121(内网)

node2:

eth0:10.10.10.11(外网)

eth1:172.28.26.122(内网

三、负载均衡器keepalived的配置

[root@zh_lvs_backup ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
#报警功能
        notification_email {
                zhaohaijun@kingsoft.com
        }
        notification_email_from lvs@kingsoft.com
        smtp_server 127.0.0.1
        smtp_connect_timeout 30
        router_id LVS_B_proxy_A
}

vrrp_instance VI_1 {
    state MASTER      (10.10.10.200为BACKUP)
    interface eth0
    virtual_router_id 30
    priority 100     (10.10.10.200为99)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.10.10.250

    }
}

#LVS功能

virtual_server 10.10.10.250 80 {
    delay_loop 6
#    lb_algo wrr
    lb_algo wlc
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 60
    protocol TCP

    real_server 172.28.26.121 80 {
                        weight 1
                        TCP_CHECK {
                                connect_timeout 5
                                nb_get_retry 3
                                delay_before_retry 3
                                connect_port 80
                        }
                }
    real_server 172.28.26.122 80 {
                        weight 1
                        TCP_CHECK {
                                connect_timeout 5
                                nb_get_retry 3
                                delay_before_retry 3
                                connect_port 80
                        }
                }

}

四、节点脚本

cat /sbin/lvs-client.sh

#!/bin/sh
#--------------------------------------------------------
#       by Cooper 2012-06-16 for LVS (real server)
#--------------------------------------------------------

VirtualIP="10.10.10.250"

 

case "$1" in
start)
ifconfig lo:0 $VirtualIP netmask 255.255.255.255 broadcast $VirtualIP up
/sbin/route add -host $VirtualIP dev lo:0
echo "1" > /proc/sys/net/ipv4/ip_forward
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
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VirtualIP
echo "0" > /proc/sys/net/ipv4/ip_forward
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "Realserver Stoped"
;;
restart)
sh $0 stop && sleep 2 && sh $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

五、问题

客户端请求,负载均衡器也转发了,后端节点返回不了。

六、解决

节点的内核参数加入下面两条:

net.ipv4.conf.eth1.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0

eth1是内网网卡,,一般情况下,内网网卡来的数据,默认是内网回包,所以返回不了,这两个参数就是取消这个限制,内网网卡来的数据包外网网卡一可以回。

本文出自 “屌丝运维男” 博客,请务必保留此出处http://navyaijm.blog.51cto.com/4647068/1111783

时间: 2024-11-01 16:05:29

LVS项目遇到的问题的相关文章

Linux集群服务LVS概述与安装配置详解

LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点.安装LVS和配置LVS的工作比较繁杂,读者在配置的过程中需要非常细心和耐心.本文对LVS的应用场景进行了简单介绍,并着重介绍LVS的安装和配置操作. (http://os.51cto.com/art/201011/233146.htm) LVS项目从成立到现在为止,受到不少关注,LVS集群系统已被应用于很多重负载的站点.到目前为止,该系统已在美.英.德.澳等国的几十个站点上正式使用.目前,一些大型LVS应用实例如

高并发场景 LVS 安装及高可用实现

1.1 负载均衡介绍 1.1.1 负载均衡的妙用  负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. ü 单台计算机无法承受大规模的并发访问或数据流量了,此时需要搭建负载均衡集群把流量分摊到多台节点设备上分别处理,即减少用户等待响应的时间又提升了用户体验: ü 7*24小时的服务保证,任意一个或多个有限后端节点设备宕机,不能影响整个业务的运行. 1.1.2 为什么要用lvs

浅谈阿里系

热闹的双11促销活动现在已经结束了,淘宝.天猫.支付宝等阿里旗下的网站在当天爆发出能量是非常惊人的,让人难以置信:全天总交易额达到 191 亿,其中天猫是132 亿,淘宝是 59 亿,支付宝日订单数量就已经一亿多笔.金额已经超过美国去年"网购星期一"最高纪录,当然毫无疑问的,也超过今年的黑色星期五的 10.42 亿美元.尽管大淘宝在促销开始的时候服务没有特别的稳定,但整天下来服务总体还是令人满意的.这是个非常成功的的成就. 从另一个角度看数据,峰值数据是每分钟 89678 笔交易,峰值

使用IPVS实现Kubernetes入口流量负载均衡

新搭建的Kubernetes集群如何承接外部访问的流量,是刚上手Kubernetes时常常会遇到的问题.在公有云上,官方给出了比较直接的答案,使用LoadBalancer类型的Service,利用公有云提供的负载均衡服务来承接流量,同时在多台服务器之间进行负载均衡.而在私有环境中,如何正确的将外部流量引入到集群内部,却暂时没有标准的做法.本文将介绍一种基于IPVS来承接流量并实现负载均衡的方法,供大家参考. IPVS IPVS是LVS项目的一部分,是一款运行在Linux kernel当中的4层负

高可用集群HA及负载均衡集群LB的实现方法

集群是个热门话题,在企业中越来越多地应用Linux操作系统提供邮件.Web.文件存储.数据库等服务,随着Linux应用的日益增长,高可用及http://www.aliyun.com/zixun/aggregation/13996.html">负载均衡Linux集群也在企业中逐步地发展起来.Linux平台的低成本.高性能.高扩展性使得Linux集群能够以低廉的价格很好地满足各种应用的需求. 本文介绍Linux集群的基础知识,集群的分类.在熟悉集群的基础知识后会以RHCS(RedHat Clu

NFV实战:如何构建100G线速负载均衡

一.什么是负载均衡 负载均衡的发展历程 1996 F5成立 1998 LVS项目成立 2000 HAProxy项目成立 2004 NGINX推出公共版本 2004 F5推出TMOS平台 2007 F5开始提供应用交付(ADC)产品 负载平衡、SSL卸载.压缩优化.TCP连接优化 一台服务器的处理能力,主要受限于服务器自身的可扩展硬件能力.所以,在需要处理大量用户请求的时候,通常都会引入负载均衡器,将多台普通服务器组成一个系统,来完成高并发的请求处理任务. 1996年之后,出现了新的网络负载均衡技

3种LVS/Nginx/HAProxy负载均衡器的对比分析

现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: 一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler.F5.Radware和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护.缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用:另外一种就是类似于LVS/HAProxy.Nginx的基于Linux的开源免费的负载均衡软件策略,这些都是通过软件级别来实现,所以费用非常低廉,所以我个也比较推荐大家采用

Lvs如何解决服务器负载均衡

LVS 是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR): 十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). 官方网站:http://www.linuxvirtualserver.org/ 本次试用使用自己的小本,在小本上通过VMware安装3个red

LVS集群的体系结构

LVS集群的体系结构,构建强壮的体系结构里负载均衡层.真实服务器层.后端共享存储层都是相辅相成 LVS集群的体系结构 LVS集群的体系结构如图9 所示 ,这里将它划分成三层,一个完整的LVS负载均衡项目,构建强壮的体系结构里负载均衡层.真实服务器层.后端共享存储层都是相辅相成,必不可少的部分. 软件工具的选择与优点 LVS优势 使用普通的服务器 + 开源软件,顶替昂贵的商业硬件设备,节省开销,特别是为在创业发展中的公司有效节约成本.LVS这种集群技术可以用最少的投资获得接近于大型主机的性能. L