keepalived+haproxy-部署高可用负载均衡,keepalivedhaproxy-


环境:

准备两台机子,安装haproxy及keepalive都一样,只是配置不一样而已。

这里只说明一台机子上安装haproxy及keepalive

======================================

一、keepalived安装配置

mkidr /application/tool -p

cd /application/tool

wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz

yum -y install popt-devel

uname -a       ;过滤查看内涵版本

ln –s/usr/src/kernels/2/6.32… /usr/src/linux

tar xf keepalived-1.1.19.tar.gz

cd keepalived-1.1.19

./configure  --sysconf=/etc

cp /usr/local/sbin/keepalived  /usr/bin/

#vim /etc/keepalived/keepalived.conf

=====配置如下===

! Configuration File for keepalived

 

global_defs {

   smtp_connect_timeout 30

   router_id LVS_1      ;每台机子route_id不一样;备机上id不一样

}

 

vrrp_instance VI_1 {       ;相面的实例保持一致;备机上保持一致

    state MASTER        ;定义类型为主 ; 备机状态为BACKUP

    interface eth0        ; 监听哪个IP接口 ; 根据备机实际接口

    virtual_router_id 55   ; 相同实例保持一致; 备机保持一

    priority 150      ; 优先级越高,就成为主状态。优先提供服务。; 备机优先级不能高于主。

    advert_int 1          ; 隔一秒发送一次报文

    authentication {       ; 相同实例的认证方式; 备机保持一致

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {     ; VIP的地址,相同实例保持一致; 备机保持相同

        192.168.0.253/24

    }

}

=====配置结束======

#/etc/init.d/keepalived start

#ip add |grep 192.168.0.253      ;如果有地址显示,说明第一台主配置正确。

备机上只要做如上相同步骤,不同配置即可。

注:备机上通过ip add |grep 192.168.0.253是没有地址显示的,这是正常现象,只有当主的宕机了才会在备机有这个VIP地址。

 

============================================

二、haproxy配置

mkdir /application/tool

cd /application/tool

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz

tar xf haproxy-1.4.24.tar.gz

cd haproxy-1.4.24

make TARGET=linux26 ARCH=x86_64

make PREFIX=/application/haproxy install

sed -i "s#net.ipv4.ip_forward=0# net.ipv4.ip_forward=1#g"

sysctl -p

cd /application/haproxy

mkdir -p bin conf logs var/run var/chroot

#vim conf/haproxy.conf

================配置如下==============

global

        chroot /application/haproxy/var/chroot    ;定义一个安全目录

        daemon                                                                     ; daemon模式启动

        group  haproxy                                                    ;用户及组       

        user haproxy

        log 127.0.0.1:514 local0 warning                       ; 日志类型     

        pidfile /application/haproxy/var/run/haproxy.pid   ;pid路径

        maxconn 20000                                                      ;最大连接数

        spread-checks 3

        nbproc 4                                                                  ; 进程数,根据CUP核数指定

 

defaults

        log     global

        retries 3

        option redispatch

        contimeout      5000

        clitimeout      50000

        srvtimeout      50000

        stats enable                                                   ;开启状态查看工程

        stats uri /admin?status                              ; 定义usr地址

        stats auth admin:admin                              ; 用户名及密码

 

listen pet_ebk_push                                                      ; 定义一个listen,相当一个实例。

        bind 192.168.0.253:8080                            ; 监听的地址,这里注意和keepalived的VIP地址保持一致。

        mode tcp                                                        ;四层tcp模式,端口检测。

        balance roundrobin                                      ; 轮询算法

        #option forwardfor

        timeout server  15s

        timeout connect 15s

        server web01 192.168.0.176:8080  check port 8080 inter 1000 fall 1

        server web02 192.168.0.176:8081 check port 8081 inter 1000 fall 1   ;当访问本机的192.168.0.253:8080端口时,实际上是由这台haproxy机子帮我们代理找后面0.176这台机子请求数据,并将请求到的结果返回给用户。之后后端要监听哪些直接添加即可。

===========配置结束=============================

注:另外一台haproxy安装和配置完全相同,无差异。

到此keepalived+haproxy的配置到些结束,如想知道更多,请自行翻阅资料。(功能非常强大)

相关内容