lvs + keepalived + nginx 实现高可用

1.目的

 lvs是四层的负载均衡,keepalived为lvs提供高可用服务,同时检查后端nginx的健康状态,nginx主要用来做七层的负载均衡

2.拓扑图

服务器 IP地址    说明
Director主节点 192.168.3.105  lvs keepalived
Director备节点 192.168.3.104   lvs keepalived
Real server1:   192.168.3.106:89    nginx
Real server1:   192.168.3.107:89    nginx
vip     192.168.3.114   vip只需要还没有分配出去的ip,不需要分配磁盘、cpu

3.软件

keepalived-1.4.2.tar.gz
ipvsadm-1.27-7.el7.x86_64.rpm
nginx-1.12.2.tar.gz

4.安装步骤
4.1更改服务器名

hostnamectl set-hostname lvs01(3.105)
hostnamectl set-hostname lvs02 (3.104)
hostnamectl set-hostname rs01(3.107)
hostnamectl set-hostname rs02 (3.106)

4.2关闭防火墙和selinux

firewall-cmd --state
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i ‘s/^ *SELINUX=disabled/SELINUX=disabled/g‘ /etc/selinux/config
setenforce 0

4.3ipvs安装(192.168.3.105,192.168.3.104)

yum install ipvsadm( yum install --downloadonly ipvsadm(下载安装包)rpm -ivh ipvsadm*)
ipvsadm
lsmod | grep ip_vs

4.4 在2台 rs 上配置脚本(192.168.3.106,192.168.3.107)

#! /bin/bash
vip=192.168.3.114
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
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
在lvs两台上分别执行bash /usr/local/sbin/lvs_dr_rs.sh

4.5keepalived安装

yum -y install openssl openssl-devel
yum -y install libnl libnl-devel
yum install -y libnfnetlink-devel

./configure --prefix=/usr/local/keepalived
make
make install

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/keepalived
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/etc/init.d/keepalived /etc/init.d/

4.6keepalived配置

192.168.3.105
vrrp_instance VI_1 {
    state MASTER
interface ens160
virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.3.114
    }
}

virtual_server 192.168.3.114 89 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP

    real_server 192.168.3.106 89 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 89
        }
    }

    real_server 192.168.3.107 89 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 89
        }
    }
}
192.168.3.104
vrrp_instance VI_1 {
    state BACKUP
    interface ens160
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.3.114
    }
}

virtual_server 192.168.3.114 89 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP

    real_server 192.168.3.106 89 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 89
        }
    }

    real_server 192.168.3.107 89 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 89
        }
    }
}
keepalived的2个节点执行如下命令,开启转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
先主后从分别启动keepalive
service keepalived start

5.验证
5.1lvs负载均衡

手动关闭192.168.3.107的nginx
不再出现107

重新开启nginx
107又出现了

5.2 验证keepalived高可用

此时vip192.168.3.114在192.168.3.1105上

模拟宕机,关闭192.168.3.105的keepalived,192.168.3.114漂移到了备用节点192.168.3.104

仍然可以正常访问

6.参考
https://www.cnblogs.com/liwei0526vip/p/6370103.html

原文地址:http://blog.51cto.com/12473494/2323013

时间: 2024-10-09 07:32:45

lvs + keepalived + nginx 实现高可用的相关文章

LVS+Keepalived+Nginx+Tomcat高可用集群搭建(转)

LVS+Keepalived+Nginx+Tomcat高可用集群搭建 最近公司重整架构,十几台服务器而且还要尽可能节约成本.我就谷歌了一下在几种集群之前进行比较最终采用了Keepalived+Nginx做负债均衡高可用.虽然之前也研究过集群,看过很多集群方面的原理和架构,但毕竟没有真正操作过以下案例是在虚拟机中完成实验其实对于高可用搭建来说只用给出Keepalived和Nginx的配置即可后面的一些安装搭建完全是本人项目需要可以不用理睬仅供参考. 本文只是实验搭建记录方便以后在服务器中实施搭建.

lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(一) 简介

一. 为什么这样构架 1. 系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性!采用这样的架构以后 很容易对现有系统进行扩展,只要在后端添加或者减少realserver,只要更改lvs的 配置文件,并能实现无缝配置变更!nginx提供反向代理,而tomcat则提供web服务. 二.LVS LVS是Linux Virtual Server的简写,意即Linux虚拟

LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置(DR模式,一个VIP,多个端口)

一.概述 LVS作用:实现负载均衡 Keepalived作用:监控集群系统中各个服务节点的状态,HA cluster. 配置LVS有两种方式: 1. 通过ipvsadm命令行方式配置 2. 通过Redhat提供的工具piranha来配置LVS 软件下载: ipvsadm下载地址: http://www.linuxvirtualserver.org/software/kernel-2.6/ Keepalived下载地址: http://www.keepalived.org/software/ 安装

lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(二) LVS

一.安装lvs sudo apt-get install ipvsadm 二.安装keepalived sudo apt-get install keepalived 三.创建keepalived.conf文件 sudo gedit /etc/keepalived/keepalived.conf 四.配置keepalived.conf # Global Configuration global_defs { lvs_id director1 } # VRRP Configuration vrrp

lvs+keepalived+nginx+tomcat高可用高性能集群部署

2台前端 keepalived+lvs,热备的方式,保证一台lvs前端能正常访问就行,如果一台down,另外一台热备升级到master主机 master: 192.168.1.210 ubuntu 12.0.4 salve: 192.168.1.211 ubuntu 12.0.4 后端2台web服务器通过lvs的算法轮询被访问 web1: 192.168.1.204 centos 5.10 nginx+tomcat web2: 192.168.1.206 centos 5.10 nginx+to

LVS+keeplived+nginx+tomcat高可用、高性能jsp集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/557749 #!/bin/bash # BY kerryhu # MAIL:[email protected] # BLOG:http://kerry.blog.51cto.com # Please manual operation yum of before Operation..... #yum -y install

keepalived + nginx 实现高可用集群方案

keepalived + nginx 实现高可用集群方案 一.使用场景介绍: nginx做负载均衡,来达到分发请求的目的,但是不能很好的避免单点故障,假如nginx服务器挂点了,那么所有的服务也会跟着瘫痪 .keepalived+nginx,就能很好的解决这一问题. 二.原理介绍: Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故 障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用. Keepalived 以 VRRP

keepalived+nginx实现高可用and负载均衡集群

keepalived+nginx实现高可用and负载均衡集群 前言 因生产环境需要,现需要搭建一个前端为nginx的HA双向互备.后端为nginx代理的loadbalance负载均衡集群.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由主进程发出,Slave(work

keepalived+nginx搭建高可用and负载均衡集群

keepalived+nginx搭建高可用and负载均衡集群 前言 因生产环境需要,现需要搭建一个前端为nginx的HA双向互备.后端为nginx代理的loadbalance负载均衡集群.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都由主进程发出,Slave(worke