HAProxy : レイヤー4 モードでの負荷分散2021/09/15 |
レイヤー4 モードでの負荷分散の設定です。
例として、2台の MariaDB バックエンドへ負荷分散するように設定します。 -----------+---------------------------+--------------------------+------------ | | | |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] | HAProxy の設定です。 |
root@dlp:~#
vi /etc/haproxy/haproxy.cfg # defaults セクションの [mode] 値を変更 defaults log global mode tcp # 最終行に追記 # frontend, backend サーバーを定義 frontend mysql-in bind *:3306 default_backend backend_dbservers backend backend_dbservers balance roundrobin server node01 10.0.0.51:3306 check server node02 10.0.0.52:3306 checkroot@dlp:~# systemctl restart haproxy |
[2] | 任意のクライアントから、HAProxy サーバー宛てに MariaDB サーバーへ接続し、正常に負荷分散されるか確認します。 設定通り、接続毎にラウンドロビンで負荷分散されれば OK です。 |
debian@client:~# mysql -u debian -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node01.srv.world | +---------------+------------------+debian@client:~# mysql -u debian -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node02.srv.world | +---------------+------------------+ |
Sponsored Link |