HAproxy+Keepalived(双主)
Posted allin2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAproxy+Keepalived(双主)相关的知识,希望对你有一定的参考价值。
HAproxy+Keepalived(双主)配置
- 网络拓扑如下
- 准备RealServer(RS服务器)配置
这里RS上准备http服务作为应用验证,在实际生产中两台RS服务器应该具有相同资源实现冗余。这里为了测试验证,故意将被访问资源设置成不同,以方便验证。
- 两台RS服务器上执行yum install httpd -y安装httpd应用程序(两台都要执行,前提是系统已配置yum仓库)
- 准备不同访问资源 以便验证调度效果
从客户端直接访问RS http服务资源,以确保RS 正常提供服务。
- 准备HAproxy调度服务
- 在两台Dirctor服务器上执行安装haproxy包和keepalived包
- 修改haproxy配置文件,两台haproxy配置文件相同
[[email protected] 05:51:23 ~]#cd /etc/haproxy/
[[email protected] 05:51:29 haproxy]#vim haproxy.cfg
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
listen stats
mode http
bind 0.0.0.0:1080
stats enable
stats hide-version
stats uri /haproxyadmin?stats
stats realm Haproxy Statistics
stats admin if TRUE
frontend websrv
option forwardfor
bind *:80
default_backend app
frontend healthcheck
bind :1099
mode http
option forwardfor
default_backend app
backend app
balance roundrobin
server app1 192.168.30.23:80 check weight 1
server app2 192.168.30.24:80 check weight 2 - 修改rsyslog配置文件 使haproxy生成日志
修改以下行其它rsyslog配置不变
[[email protected] 06:00:08 haproxy]#vim /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514 ################启动udp端口 作为服务器工作
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514 #############启动tcp监听端口
local2.* /var/log/haproxy.log 启动haproxy服务,访问Dirctor IP确保haproxy调度正常
在两台Director上开启haproxy服务并查看状态
通过客户端访问验证
至此,双haproxy+http配置完成,接下来就要在Director上加上keepalived保证haproxy互为主备
配置keepalived双主服务
在Director1上直接配置keepalived.conf文件
在Director2上配置需要修改以下地方:
启动keepalived服务,并验证
a. 在两台Director上启动keepalived
b. 从客户端访问两个VIP,192.168.30.100和192.168.30.200验证调度效果
c. 关闭RS1服务,看是否调度到RS2
类似的,也可以关闭RS2看是否调度到RS1上,这里就不做贴图。
d. 关闭Director2看VIP 192.168.30.200是否切换到Director1,并且服务访问正常
客户端效果:
Director1效果:
Director2上以及没有192.168.30.200 VIP:
至此,haproxy+keepalived双主配置完成
以上是关于HAproxy+Keepalived(双主)的主要内容,如果未能解决你的问题,请参考以下文章
keepalived(双主模式)+haproxy+mysql_slave
keepalived(双主模式)+haproxy+mysql_slave
MySQL日常运维之 MySQL双主复制+keepalived+haproxy配置(负载均衡)