聊聊负载均衡lvs

序言

    负载均衡是一个网络的基础,到处都是,各种各样的软件,成熟的软件那么多,要合理使用。


    所有的backup都是废物,真正能做到负载均衡的,要考虑很多因素,例如会话保持,你就做不到真正的分担负载。

lvs的两种模式

     lvs有很多种模式,这里主要看看两种模式,一种是NAT模型,一种则是fullNAT模型。


        fullnat只是在nat模型上的改进,从而可以支持跨机房的提供负载均衡服务,而相对于nat来说,后端的rs必须在同一个网络中,也就是fllnat模型可以支持跨vlan,而对于nat则必须在同一个网段中,而且对于nat来说,后端的rs的网关必须要设置lvs的dip。


    呵呵,没有画图软件。。。手画一个。。。

640?wx_fmt=png

    如上图所示,为nat模型的,cip表示客户端ip(client ip),vip表示lvs监听的端口(vitrual ip),dip表示lvs的调度ip(director ip),rip表示后端的rs的ip(real searver ip),因为lvs提供的是一个虚拟的ip,所以后端才表示为真正的提供服务的ip地址,毕竟lvs是linux vitrual server,linux虚拟服务。


    在上面的图中,主要的部分就是请求经过lvs的时候,进入的请求的目标地址被dnat,从而目标地址变成了rip;在响应经过lvs的时候,响应的源地址被snat,从而源地址变成了vip。


    在步骤3的时候,由于目标地址是cip,从而走默认的网关出去,从而到了lvs的dip,所以在进行配置的时候,rs的网关必须指向lvs的dip,这是一个巨大的限制,而对于fullnat则不存在这种限制。

    

    实验环境:lvs两个网卡,vip192.168.1.16,dip172.16.53.135;rs用一个主机,rip172.16.53.136,运行两个容器分别为httpd和nginx,映射端口为80和90.

    

    在lvs上需要安装ipvsadm工具,开启转发功能,关闭防火墙.

640?wx_fmt=png

    rs上需要将网关指向dip172.16.53.135。

640?wx_fmt=png

    

    配置文件中只需要加上ipvsadm即可运行添加nat规则,规则是手动保存的:

640?wx_fmt=png


    分别对三个网卡进行抓包查看请求,分别是vip,dip,rip:

        对应于上图中步骤1,客户端向vip请求;也对应于步骤4,vip向客户端响应(对vip进行抓包)。

640?wx_fmt=png


    对应于步骤2和3,dip向rip请求和响应(对dip进行抓包)。

640?wx_fmt=png


    对应于步骤2和3,dip向rip请求和响应(对rip进行抓包)

640?wx_fmt=png

    

    从抓包上来看,也就验证了NAT模型的转发,如何来区别NAT和fullNAT。

640?wx_fmt=png

    在上图中显示为masq表示为nat模型,主要目的就是隐藏后端的rs,而对于fullnat,则是显示fullnat。


    在上图中,activeconn表示活跃的连接数,也就是表示tcp中established状态,而inactconn则表示syn_recv,time_wait等状态。


    这只是一个开端,其实还有很多后续工作要做:

    1 如何做到lvs的高可用;

    2 lvs的日志怎么保存;

    3 健康检查怎么做;

    4 超时等时间设置;

    5 选择合适的算法调度;

    。。。。略略


    发现一个问题,未开启lvs的转发功能,这个时候你会发现客户端请求是超时的,而对于lvs来说完全正常,所以呢,出现问题的时候,检查一下相关的配置。

640?wx_fmt=png


摸不着头脑的报错,毕竟我的脑袋是水做的,哎哟,开始有脑子了?


640?wx_fmt=png

lvs的一些统计数据:

640?wx_fmt=png

猜猜这个报错是为啥?

640?wx_fmt=png

人约黄昏后,那是一份期待,哈哈哈


风言风语

      创新的本质是简单的用户体验,我就不,我就要你们动脑筋,可惜资本市场不认可。


    很多时候人总是及其的容易陷入到内核之中,追求极致的完美,追根溯源,不能自拔,从而失去了观察的能力,其实也可以换一个角度来想:要从一切方面学习,无论是好的,还是坏的,无论是竞争对手,还是合作伙伴,其实都是学习的来源,学习的开始就是模仿秀,模仿的最大能力就是将别人的进行升华,然后变成自己的。


640?wx_fmt=jpeg

    所谓的敦敦教诲,其实没人会听,人总是存在局限性,只能看到自己想看的哪部分,能跳跃出一种思维也是一种极大的能力。


    约束更应该是动力,君不见考试前夜挑灯夜战,一夜能做完一个学期的事情,所以呢,人嘛,没事逼逼自己,你就会发现,努力其实也没什么用,哈哈哈。



  • 13
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值