Hi.
After successfully disable a backend node for maintenance at run time,
I see new connections coming. I would like below behaviour:
1. Mark node as down for maintenance
2. Currently active connections to this node to finish
3. DO NOT allow new connections comming
Is this possible with haproxy? Below my config.
Thanks
Javier
----------------------------------------------------------------------------------------------------------------
/etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local1
maxconn 4096
user haproxy
group haproxy
daemon
spread-checks 2%
stats socket /tmp/haproxy_stats level admin
defaults
log global
mode tcp
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
listen mysql balancer.dev.jj.com:3306
mode tcp
balance roundrobin
option tcpka
option httpchk
option mysql-check my_user
log global
option log-separate-errors
server mysql-2.dev.jj.com mysql-2.dev.jj.com:3306 inter 1s rise 1 fall 1
server mysql-3.dev.jj.com mysql-3.dev.jj.com:3306 inter 1s rise 1 fall 1
----------------------------------------------------------------------------------------------------------------
clear;echo "disable server mysql/mysql-3.dev.jj.com" | socat
unix-connect:/tmp/haproxy_stats stdio
----------------------------------------------------------------------------------------------------------------
/var/log/haproxy_1.log
Oct 16 09:17:56 localhost haproxy[23598]: Server
mysql/mysql-3.dev.jj.com is DOWN for maintenance.
----------------------------------------------------------------------------------------------------------------
mysql> show processlist;
+------+-------------+-----------------------------+--------+-------------+-------+-----------------------------------------------------------------------+------------------+
| Id | User | Host | db | Command
| Time | State
| Info |
+------+-------------+-----------------------------+--------+-------------+-------+-----------------------------------------------------------------------+------------------+
| 1896 | system user | | NULL | Connect
| 45753 | Waiting for master to send event
| NULL |
| 1897 | system user | | NULL | Connect
| 1 | Has read all relay log; waiting for the slave I/O thread
to update it | NULL |
| 1898 | replication | mysql-2.dev.jj.com:50466 | NULL | Binlog
Dump | 45729 | Has sent all binlog to slave; waiting for binlog to be
updated | NULL |
| 2110 | root | localhost | NULL | Query
| 0 | NULL
| show processlist |
| 2195 | zabbix | balancer-2.dev.jj.com:48550 | zabbix | Sleep
| 2 |
| NULL |
| 2196 | zabbix | balancer-2.dev.jj.com:48552 | zabbix | Sleep
| 2 |
| NULL |
| 2197 | zabbix | balancer-2.dev.jj.com:48554 | zabbix | Sleep
| 1 |
| NULL |
| 2198 | zabbix | balancer-2.dev.jj.com:48556 | zabbix | Sleep
| 0 |
| NULL |
| 2199 | zabbix | balancer-2.dev.jj.com:48558 | zabbix | Sleep
| 5 |
| NULL |
| 2200 | zabbix | balancer-2.dev.jj.com:48560 | zabbix | Sleep
| 1 |
| NULL |
+------+-------------+-----------------------------+--------+-------------+-------+-----------------------------------------------------------------------+------------------+
10 rows in set (0.00 sec)