史上最全LVS+keepalived+nginx基于DR模式高可用安装部署

史上最全LVS+keepalived+nginx基于DR模式高可用安装部署
lvs+keepAlived→效率最高的负载均衡
在大型网站中一般服务端会做集群,同时利用负载均衡器做负载均衡。这样有利于将大量的请求分散到各个服务器上,提升网站的响应速度。当然为了解决单点故障的问题,还会做热备份方案。这里演示利用LVS做负载均衡器,同时利用Keepalived保证其高可用,基于LVS的DR模式构建Nginx集群。
(1)定义
keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。

(2)工作原理
将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的
vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,
这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

(3)VPPR协议
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个
master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master
会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master
一、 简介

  1. 负载均衡的类型
    负载均衡可以采用硬件设备(例如常常听见的 F5),也可以采用软件负载
    商用硬件负载设备成本通常较高(一台几十万甚至上百万),所以一般 情况下会采用软件负载
    软件负载解决的两个核心问题是:选谁、转发,其中最著名的是 lvs

  2. lvs 是什么?
    英文全称是 Linux Virtual Server,即 Linux 虚拟服务器
    Linux2.4 内核以后,LVS 已经是 Linux 标准内核的一部分
    可以将请求分发给后端真实服务器处理
    提供了多种调度算法
    轮询调度(Round-Robin Scheduling)
    加权轮询调度(Weighted Round-Robin Scheduling)
    最小连接调度(Least-Connection Scheduling)
    加权最小连接调度(Weighted Least-Connection Scheduling)
    基于局部性的最少链接(Locality-Based Least Connections Scheduling)
    带 复 制 的 基 于 局 部 性 最 少 链 接 ( Locality-Based Least Connections with Replication Scheduling)
    目标地址散列调度(Destination Hashing Scheduling)
    源地址散列调度(Source Hashing Scheduling)
    最短预期延时调度(Shortest Expected Delay Scheduling)
    不 排 队 调 度 ( Never Queue Scheduling )对应: rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq
    有三种转发规则
    NAT:简单理解,就是数据进出都通过 LVS,性能不是很好。
    TUNL:简单理解:隧道
    DR:最高效的负载均衡规则

  3. lvs 的体系结构
    最前端的负载均衡层,用 Load Balancer 表示
    中间的服务器集群层,用 Server Array 表示
    最底端的数据共享存储层,用 Shared Storage 表示
    在用户看来,所有的内部应用都是透明的,用户只是在使用一个虚拟服 务器提供的高性能服务

  4. keepAlived 是什么?
    因为所有的请求都要经过负载均衡,所以负载均衡必然是非常重要,不 能挂掉,说白了就是要 keep the lvs alived。
    提供的功能就是可以配置 2 台 LVS,一台主机,一台备机。并且检测任 何一个节点是否还活着。

  5. lvs 的优点?
    抗负载能力强,因为 lvs 工作方式的逻辑是非常之简单,而且工作在网络 4 层仅做请求分发之用,没有流量,所以在效率上基本不需要太过考虑。
    有完整的双机热备方案,当节点出现故障时,lvs 会自动判别,所以系统整体是非常稳定的。
    基本上能支持所有应用,因为 lvs 工作在 4 层,所以它可以对几乎所有应用做负载均衡,包括 http、数据库、聊天室等等。

  6. lvs 负载均衡机制
    lvs 是四层负载均衡,也就是说建立在 OSI 模型的第四层——传输层之 上

你可能感兴趣的:(负载均衡,服务器,linux)