0
点赞
收藏
分享

微信扫一扫

LVS+Keepalived+Nginx高可用负载均衡(主要Keepalived)

Python百事通 2022-01-11 阅读 48

一、概念

1.LVS:四层负载均衡

LVS负载均衡-基础知识梳理 - 散尽浮华 - 博客园

常用的负载均衡分为:
1) 开源软件负载均衡:  Nginx, LVS, Haproxy  (Nginx和Haproxy通常做七层负载均衡, LVS做四层负载均衡. 但是Nginx也可以通过stream模块做四层负载均衡, Haproxy也可以做四层负载均衡 ) ;
2) 商业的硬件负载均衡: 设备F5、Netscale ;

简单理解一下软件负载均衡:
1) 所谓分层的负载均衡,都是以网络的模型来说的。四层就是基于IP和端口的负载均衡,七层就是基于URL等应用信息的负载均衡。所以简单的说四层负载均衡就是通过IP和端口接收请求再分发至真实的服务器,七层是通过URL或主机名接收请求,然后分发至真实的服务器。
2) .而七层的实现也是在四层的基础上是实现的,没有四层就不可能有七层。在第七层上可以做许多事情,比如可以根据七层的浏览器类别区分是手机还是PC,将WEB服务器分为2组,手机登陆专门的移动端网站。
3) 对客户端来说,客户端好像是访问的同一台主机。其实为了有更好的用户体验,从智能DNS入手,根据客户端IP来源将域名解析到距离客户端最近的一台服务器或者访问最快速的一台服务器,但这些内容客户端都是感觉不到的,客户端感觉到的只能是访问网站很快。

2.keepalived:

  https://blog.csdn.net/weixin_44655167/article/details/103296043

  它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换,提高系统的可用性

  Keepalived工作原理:keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议:可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
 

   Keepalived工作方式:抢占式、非抢占式

   抢占式模式:当master宕机后,backup会选举出一个master.但当原来的master主机恢复后,会抢占master.

   非抢占模式:

3.nginx:

二、配置详解

1.Keepalived工作方式:抢占式、非抢占式

抢占式:

非抢占式:没有主从之分,全部为backup,配置文件中增加nopreempt

vrrp_instance VI_1 {
    state BACKUP
    nopreempt #不抢占
    priority 100
    advert_int 1
    virtual_router_id 1
    interface eth0
    authentication{
      auth_type PASS
      auth_pass abcd@hehe
    }
    virtual_ipaddress{
      100.92.2.110
    }
}

重点:
1、两个节点的state都必须配置为BACKUP
2、两个节点都必须加上配置 nopreempt
3、其中一个节点的优先级必须要高于另外一个节点的优先级。

举报

相关推荐

0 条评论