用haproxy搭建web群集并由keepalived 实现双机热备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用haproxy搭建web群集并由keepalived 实现双机热备相关的知识,希望对你有一定的参考价值。

        搭建haproxy+keepalived高可用群集。

一、案例概述

1.haproxy是目前比较流行的一种集群调度工具,是一款免费开源的软件,并且具有一定得安全性;haproxy较适用于负载较大的web节点,并且支持数万的并发量同类调度工具还有很多,如LVS和nginx。相比较而言,LVS性能最好,但是搭建相对复杂,Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能不强,性能没有haproxy好。haproxy主要实现web群集的负载均衡haproxy官方网站:http://haproxy.1wt.eu/

2.负载均衡调度算法:

    ①.RR(Round Robin):轮询,根据节点权重依次分配访问请求。

    ②.LC(Least Connect):最小连接数算法,根据节点的连接数量分配访问请求,每次将连接请求分配给连接数量最小的客户端。是目前用的较多的一种算法。

    ③.SH(Source Hashing):基于来源访问调度算法。可基于ip、cookies等做集群调度,比如ip1第一次访问时被指派到A站点,ip2访问被指派到B站点,那么以后的每次ip1都会被指派到A站点,ip2被指派到B站点。若某个IP访问量较大时,就会给节点造成很大的压力。

3.案例环境:

技术分享

二、编译安装haproxy(这里拿主haproxy服务器举例)

1.先用yum安装支持haproxy的开发包

技术分享

2..编译安装haproxy。

技术分享这里的Linux26指64位操作系统。

3.配置haproxy服务器

 需手动建立haproxy的配置文件目录,将haproxy.cfg文件复制到刚才手动建立的配置文件目录下。

技术分享

4.修改haproxy配置文件

haproxy通常分为三部分(global:全局配置,defaults:默认配置,listen:应用模块配置)

首先修改全局配置:技术分享





 


其次为默认配置:

            技术分享



最后为应用模块配置:

            技术分享


保存退出即可。

5.创建自启动脚本 

           技术分享 

三.测试web群集

1.建立测试网页   技术分享

启动apache服务

           技术分享

2.测试第一次显示的页面为web1的网页 

           技术分享

第二次显示的为web2的网页

           技术分享

四、haproxy的高可用

  1. 安装支持软件

   yum -y install kernel-devel openssl-devel popt-devel ipvsadm

2.  编译安装keepalived并将keepalived添加为系统服务

    cd /usr/src/keepalived-1.2.13/

    ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install

    ls -l /etc/init.d/keepalived 

    chkconfig --add keepalived 

3.使用keepalived实现双机热备

首先配置主调度器即主haproxy(/etc/keepalived/keepalived.conf)

修改keepalived配置文件:

        技术分享 

        技术分享

2.配置从调度器

        技术分享

3.配置完后重启keepalived

        技术分享

4.用客户端通过群集浏览网页。效果如下:

(由于地址冲突,把群集IP改为192.168.1.20)

技术分享

技术分享

将主haproxy的网卡断开后客户端依然可以正常访问。


注:作者知识有限,希望大家提出宝贵的意见!


本文出自 “清风与你” 博客,请务必保留此出处http://super12138.blog.51cto.com/12190541/1871474

以上是关于用haproxy搭建web群集并由keepalived 实现双机热备的主要内容,如果未能解决你的问题,请参考以下文章

keepalived+Haproxy搭建高可用Web群集

keepalived+Haproxy搭建高可用Web群集

Keepalived+Haproxy搭建高可用Web群集

haproxy+keepalived群集

RedHat 7配置keepalived实现HAproxy群集

使用Haproxy搭建Web群集