首页 > 代码库 > [HA]负载均衡:HAPROXY与KEEPALIVED强强组合

[HA]负载均衡:HAPROXY与KEEPALIVED强强组合

步骤一:修改系统控制配置文件,允许分配虚拟IP(VIP)

/etc/sysctl.conf

net.ipv4.ip_nonlocal_bind=1
<pre style="word-wrap: normal; line-height: 18px;">sysctl -p

步骤二:安装HAPROXY和KEEPALIVED

apt-get update && apt-get install keepalived haproxy -y

步骤三:配置KEEPALIVED

etc/keepalived/keepalived.conf

global_defs {
  router_id haproxy1
}
vrrp_script haproxy {
  script "killall -0 haproxy"
  interval 2
  weight 2
}
vrrp_instance 50 {
  virtual_router_id 50
  advert_int 1
  priority 101
  state MASTER
  interface eth0
  virtual_ipaddress {
    192.168.1.32 dev eth0
  }
  track_script {
    haproxy
  }
}
步骤四:配置HAPROXY

/etc/haproxy/haproxy.cfg

global
	chroot /var/lib/haproxy
	user haproxy
	group haproxy
	daemon
	log 192.168.1.30 local0
	stats socket /var/lib/haproxy/stats
	maxconn 4000

defaults
	log	global
	mode	http
	option	httplog
	option	dontlognull
        contimeout 5000
        clitimeout 50000
        srvtimeout 50000
	errorfile 400 /etc/haproxy/errors/400.http
	errorfile 403 /etc/haproxy/errors/403.http
	errorfile 408 /etc/haproxy/errors/408.http
	errorfile 500 /etc/haproxy/errors/500.http
	errorfile 502 /etc/haproxy/errors/502.http
	errorfile 503 /etc/haproxy/errors/503.http
	errorfile 504 /etc/haproxy/errors/504.http

listen stats 192.168.1.30:80
        mode http
        stats enable
        stats uri /stats
        stats realm HAProxy\ Statistics
        stats auth admin:password
步骤五:启动HAPROXY和KEEPALIVED服务

service keepalived restart
service haproxy restart

步骤六:检测虚拟IP

# ip -a | grep eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.1.30/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.32/32 scope global eth0