HAProxy : Layer 4 Load Balancing2024/05/16 |
|
Configure HAProxy on Layer 4 Mode.
On this example, configure MariaDB backend like the following environment.
-----------+---------------------------+--------------------------+------------
| | |
|10.0.0.30 |10.0.0.51 |10.0.0.52
+----------+-----------+ +-----------+----------+ +-----------+----------+
| [ dlp.srv.world ] | | [ node01.srv.world ] | | [ node02.srv.world ] |
| HAProxy | | MariaDB Server#1 | | MariaDB Server#2 |
+----------------------+ +----------------------+ +----------------------+
|
| [1] | Configure HAProxy. |
|
[root@dlp ~]#
vi /etc/haproxy/haproxy.cfg # change [mode] value in [defaults] section defaults
mode tcp
# define MariaDB for frontend, backend
frontend mysql-in
bind *:3306
default_backend backend_servers
backend backend_servers
balance roundrobin
server node01 10.0.0.51:3306 check
server node02 10.0.0.52:3306 check
[root@dlp ~]# systemctl restart haproxy |
| [2] | If SELinux is enabled, change boolean setting. |
|
[root@dlp ~]# setsebool -P haproxy_connect_any on |
| [3] | If Firewalld is running, allow ports HAProxy listens. |
|
[root@dlp ~]# firewall-cmd --add-service=mysql success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
| [4] | Verify working normally to access to frontend HAproxy Server. |
|
[root@client ~]# mysql -u serverworld -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node02.srv.world | +---------------+------------------+[root@client ~]# mysql -u serverworld -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node01.srv.world | +---------------+------------------+ |
| Sponsored Link |
|
|