构建高可用负载均衡—CentOS6.4+Haproxy+Keepalive

1、实验拓扑如下,这里用NGINX做的基于端口的虚拟主机,方便之后的测试

2、安装前准备

Haproxy 国内下载你懂得

Keepalived 下载地址www.keepalive.org

同步时间

#ntpdate pool.ntp.org

3、haproxy安装(主备节点安装一样)

#tar -zxvf haproxy-1.5.9.tar.gz 
#cd haproxy-1.5.9
# uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
#make TARGET=linux26 PREFIX=/usr/local/haproxy install
#cd /usr/local/haproxy
# mkdir conf logs

4、创建配置文件信息如下

#vim conf/haproxy.cfg 
global  
     log 127.0.0.1 local0//日志输出配置,所有日志都记录在本机,通过local0输出
     maxconn  5120  //最大连接数 
     chroot   /usr/local/haproxy  //改变当前工作目录
     uid      100  //所属用户的uid
     gid      100  //所属用户的gid
     daemon  //以后台形式运行haproxy   
     nbproc   2  //创建2个进程进去deamon模式
     pidfile  /usr/local/haproxy/logs/haproxy.pid  //pid文件
  
defaults  
     log     127.0.0.1  local3  
     mode    http  //http七层,tcp4层,health只返回OK
     option  httplog  //采用httpd日志格式
     option  dontlognull  
     option  redispatch  
     retries 3  //三次失败认为服务不可用
 maxconn 3000  //默认的最大连接数
     contimeout 5000  //连接超时时间
     clitimeout 50000  //客户端超时时间
     srvtimeout 50000  //服务器超时时间
     stats enable  
     stats uri /admin  //统计页面的url
     stats auth admin:admin  //统计页面的用户名密码
     stats realm Haproxy \ statistic  //统计页面提示信息
 stats hide-version//隐藏统计页面版本信息
  
listen web_proxy *:80
 server web1 192.168.1.128:80 check inter 5000 fall 1 rise 2  
 server web1 192.168.1.128:8080 check inter 5000 fall 1 rise 2
//check inter 5000 是检测心跳频率,rise 2 是2次正确认为服务可用,fall 1 是1次失败认为服务不可用,weight代表权重

5、keepalive安装配置(主备安装一样,注意配置文件的修改)

# yum -y install openssl-devel
#tar -zxvf keepalived-1.2.13.tar.gz
#cd keepalived-1.2.13
#./configure --prefix=/usr/local/keepalived
#make && make install
 
#cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
#ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived
#chmod +x /etc/init.d/keepalived 
#mkdir /etc/keepalived
#ln -sf /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

6、修改配置文件

# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
 
global_defs {
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script chk_haproxy {
   script "/root/chk_haproxy.sh"//检测脚本
   interval 2
   weight 2
}
 
vrrp_instance VI_1 {
    state MASTER //实例的初始状态,备节点为BACKUP
    interface eth0
    virtual_router_id 51
    priority 100//高优先级精选master,至少高backup50
    advert_int 1
    authentication {
        auth_type PASS//认证方式,支持PASS和AH
        auth_pass 1111//认证的密码
    }
    virtual_ipaddress {
        192.168.1.200//vip
    }
        track_script {
        chk_haproxy//检测命令
        }
}

7、keepalived检测脚本

# cat chk_haproxy.sh 
#!/bin/bash
A=`ps -C haproxy --no-header | wc -l`
if [ $A = 0 ] ;then
/etc/init.d/keepalived stop
fi

8、启动keepalived

# service keepalived start
 
报错信息
Starting keepalived: /bin/bash: keepalived: command not found
[FAILED]
解决方法
# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/keepalived

9、验证过程

首先先看下nginx配置

分别启动Master和SLAVE ,看到主备节点日志如下:

Master上可以看到vip信息

之后测试haproxy负载均衡是否正确

看下自动监控页面,发现轮询正常!

之后测试Master的haproxy挂掉了,是否切换

#killall haproxy

之后看下keepalived的日志信息,发现主的已经根据脚本停掉了,并且VIP开始漂移

Slave的可以看到已经升为Master并且获得VIP地址

最后在测试访问,均正常!

时间: 2024-08-06 14:38:09

构建高可用负载均衡—CentOS6.4+Haproxy+Keepalive的相关文章

基于Haproxy+Keepalived构建高可用负载均衡集群

实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.168.200.103 Nginx2 192.168.200.104   1.在Nginx1/2上编译安装nginx服务1.1 首先安装Nginx1 [[email protected] ~]# yum -y install gcc gcc-c++ make pcre-devel zlib-devel

RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本文使用VMware虚拟机的克隆功能克隆了两台服务器进行操作,仅作为一个demo,开发中可根据实际情况进行调整. 首先看下RabbitMQ高可用负载均衡集群长什么样子: 使用Docker构建RabbitMQ高可用负载均衡集群大概分为三个步骤: 启动多个(3个为例)RabbitMQ,构建RabbitMQ

Keepalived+Haproxy双主高可用负载均衡web和mysql综合实验

日期及版本:2014.5.4v1.0 架构图 实验目的: 1.Haproxy+Keepalived双主双机高可用模型,keepalived为Haproxy主从提供高可用保证haproxy-master若挂掉haproxy-backup能无缝接管,haproxy为后端Web提供负载均衡,缓解并发压力,实现WEB站点负载均衡+高可用性: 2. Haproxy反代web做动静分离: 3. Haproxy反代mysql 算法leastconn和roundrobin的不同效果: 系统环境: OS:cent

nginx+keepalived的高可用负载均衡集群构建

实验架构图: 实验环境 Nginx和Keepalived原理介绍 参考博客:http://467754239.blog.51cto.com/4878013/1541421 1.nginx Nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发, 从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由主进程发出,Slave(wor

haproxy+keepalived实现高可用负载均衡web集群

haproxy+keepalived实现高可用负载均衡web集群 负载均衡集群的概念 负载均衡是设计分布式系统架构必须要考虑的因素之一,它指的是通过调度分发的方式尽可能将"请求"."访问"的压力负载平均分摊到集群中的各个节点,避免有些节点负载太高导致访问延迟,而有些节点负载很小导致资源浪费.这样,每个节点都可以承担一定的访问请求负载压力,并且可以实现访问请求在各节点之间的动态分配,以实现负载均衡,从而为企业提供更高性能,更加稳定的系统架构解决方案. 高可用集群的概念

基于HAProxy+Keepalived高可用负载均衡web服务的搭建

一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进当前的架构中, 同时可以保护web服务器不被暴露到网络上.2.KeepalivedKeepalived 是一个基于VRRP协议来实现的LVS服务高

keepalived + haproxy 实现web 双主模型的高可用负载均衡

1.本文的架构图: 阐述各服务器用途: 1.haproxy在本构架中实现的是:负载均衡 2.keepalived实现对haproxy的高可用 3.apache static 实现静态页面的访问 4.aoache dynamic实现动态页面的访问,图中有两个是实现负载均衡的 配置各功能模块: 一.配置haproxy和keepalived 验证: 1.当一台keepalived宕机后,VIP会不会转移到另外一台服务器 2.当一台haproxy服务出故障,VIP会不会转移到另外一台服务器 注意: 那如

HAProxy高可用负载均衡集群部署

HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3.10.0-327.el7.x86_64 集群架构: 前端:HAProxy 1.虚拟FQDN:www.simpletime.net 2.VIP:192.168.39.1:DIP:172.16.39.50 3.调度服务器:Varnish1.Varnish2 4.调度算法:URL_Hash_Consist

haproxy+keepalived实现高可用负载均衡

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器.内部协议通信服务器等),和7层(HTTP).在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量.7层模式下,HAProxy会分析协议,