LVS + Keepalived + Nginx 实现高可用

一、LVS 简介

        LVS(Linux Virtual Server)即 Linux 虚拟服务器,是基于实现 IP 访问请求负载均衡调度的方案的调度器,其会根据自己预设的算法决定将客户端的请求发送给后端的某台 Web 服务器。根据 LVS 工作模式的不同,真实服务器(RealServer)会选择不同的方式将用户需要的数据响应给客户端用户,其工作模式分为 NAT 模式、TUN 模式、以及 DR 模式(本文主讲这种模式)。

LVS + Keepalived + Nginx 实现高可用_第1张图片

        客户端发送请求,LVS 负责调度,把请求转发给给后端的WEB服务器进行处理,但是处理完请求的数据怎么返回给客户端呢?针对这个问题,DR模式应运而生,这种模式相当于反向代理,LVS只负责转发请求,各个WEB服务器负责处理请求并返回数据。对于客户端请求发起方来说,它并不知道具体由谁响应它的请求,它只需要发送请求,等待接收数据。对于后端服务器,它自身并不需要暴露给客户端,一方面增强了安全性,另一方面也可以起到一定的负载均衡效果。

LVS + Keepalived + Nginx 实现高可用_第2张图片

 二、Keepalived 简介

        上面我们已经了解的负载均衡的基本模式,假如某天不幸某台服务器挂掉了,导致客户端无法收到响应数据,该怎么办?该问题严重影响用户体验了,LVS 也不知道服务器是否正常工作,它的工作职责只负责转发请求。看起来不仅得有负载均衡,还得有故障自动切换,以保障服务的可用性。要实现这一点,单纯依赖LVS搞不定,还需要另外一款开源软件Keepalived(保持心跳)。

        Keepalived 主要实现三个功能:

        1、实现 IP 地址漂移:即当有请求发送到有故障的服务器,自动将其切换到无故障的服务器进行处理。

        2、生成 IPVS 规则:即配置 LVS 转发的一系列规则。

        3、执行健康检测:及时检测到服务器故障,并定义检测到故障后的处理策略。

三、Nginx 简介

        这个就不必多说了吧,一款轻量级 web 服务器,有需要详细了解的可以百度一下,这里就不做过多的介绍了。

四、实战:搭建高可用体系

1、配置LVS

(1)安装 ipvsadm 工具(或使用 yum  install  ipvsadm)

wget  http://www.linux-vs.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

tar  xvfz  ipvsadm-1.24.tar.gz

cd  ipvsadm-1.24

make

make  install

(2)配置虚拟服务器

ipvsadm  -A  -t  192.168.232.110:80  -s  rr

ipvsadm  -a  -t  192.168.232.110:80  -r  192.168.232.111:80  -g

ipvsadm  -a  -t  192.168.232.110:80  -r  192.168.232.112:80  -g

参数说明:

        -A:增加新的虚拟服务器(虚拟IP地址)

你可能感兴趣的:(Nginx,LVS,Keepalived,nginx,运维,linux,负载均衡,服务器)