Haproxy+Keepalived
Haproxy+Keepalived
eddy_linux 发表于2年前
Haproxy+Keepalived
  • 发表于 2年前
  • 阅读 19
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

网络拓扑图
图片

解压软件包
tar -xzvf haproxy-1.4.11.tar.gz
 

 查看系统信息

uname -a

 cd haproxy-1.4.11

make TARGET=linux26 ARCH=x86_64

make install
 

mkdir /etc/haproxy

cp examples/haproxy.cfg /etc/haproxy/

cp examples/haproxy.init /etc/init.d/haproxy

chmod +x /etc/init.d/haproxy

ln -s /usr/local/sbin/haproxy /usr/sbin/

 以上就安装步凑

下面修改配置文件 

vim haproxy.cf

# this config needs haproxy-1.1.28 or haproxy-1.2.1

 

global

        log 127.0.0.1   local0

        log 127.0.0.1   local1 notice

        #log loghost    local0 info

        maxconn 4096

        chroot /usr/share/haproxy

        uid 500注意这里表示运行的用户id和组id

        gid 500

        daemon

        #debug

        #quiet

 以上是全局配置

defaults

        log     global

        mode    http

        option  httplog

        option  dontlognull

        option  redispatch

        option  abortonclose

        retries 2

        option redispatch

        maxconn 2000

        contimeout      5000

        clitimeout      50000

        srvtimeout      50000

        timeout check 5s

        stats refresh 30s

        stats uri /stats状态查看的根目录

        stats realm yys-test-Haproxy

        stats auth admin:admin这里就是haproxy状态网页用户名和密码

listen  appli1-rewrite 0.0.0.0:80

        cookie  SERVERID rewrite

        balance roundrobin采用轮询方式

        server  app1_1 192.168.1.200:80 cookie app1inst1 check inter 2000 rise 2 fall 5 设置后端

        server  app1_2 192.168.1.201:80 cookie app1inst2 check inter 2000 rise 2 fall 5设置后端


下面配置keepalived 

vim keepalived.conf

vrrp_script chk_http_port {

        script "/opt/check_haproxy.sh"

        interval 2

        weight 2

}

vrrp_instance VI_1 {

        state MASTER            # master

        interface eth0

        virtual_router_id 50    # unique, but master and backup is same

        priority 150

        advert_int 1

        authentication {

                auth_type PASS

                auth_pass uplooking

        }

track_script {

        chk_http_port

        }

    virtual_ipaddress {

        192.168.1.250  # vip

        }

}

检测脚本,为了防止haproxy服务关闭导致keepalived不自动切换

Vim /opt/check_haproxy.sh

#!/bin/bash

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then

     /etc/init.d/haproxy  start

fi

sleep 2

if [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then

       /etc/init.d/keepalived stop

Fi

Ma1和ma2都是这样配置

现在启动ha1和ha2的web服务

访问网页

 

测试:关闭任意一台keepalived

关闭前

 

关闭ma1的keepalived的

访问网页

不会影响访问 

 

现在关闭任意一台web服务

 

现在就只会访问到ha2的网页

查看haproxy状态页面

访问任意一个haproxy的地址

192.168.1.203/stats

这里就看到haproxy的一些信息

当我恢复ha1的httpd的时候

可以看到恢复的状态和信息


共有 人打赏支持
粉丝 19
博文 132
码字总数 185568
×
eddy_linux
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: