HAProxy : レイヤー 4 モードでの負荷分散2025/11/28 |
|
レイヤー 4 モードでの負荷分散の設定です。
-----------+---------------------------+--------------------------+------------
| | |
|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 の設定です。 |
|
dlp:~ #
vi /etc/haproxy/haproxy.cfg # defaults セクションの [mode] 値を変更 defaults
mode tcp
# frontend, backend に MariaDB サーバーを定義
frontend mysql-in
bind *:3306
default_backend backend_dbs
backend backend_dbs
balance roundrobin
server node01 10.0.0.51:3306 check
server node02 10.0.0.52:3306 check
dlp:~ # systemctl restart haproxy |
| [2] | SELinux を有効にしている場合は、ブール値の変更が必要です。 |
|
dlp:~ # setsebool -P haproxy_connect_any on |
| [3] | Firewalld を有効にしている場合は、HAProxy が待ち受けるポートの許可が必要です。 |
|
dlp:~ # firewall-cmd --add-service=mysql success dlp:~ # firewall-cmd --runtime-to-permanent success |
| [4] | 任意のクライアントコンピューターから HAProxy フロントエンドサーバー宛てに MariaDB サーバーへ接続し、正常に負荷分散されるか確認します。 設定通り、接続毎にラウンドロビンで負荷分散されれば OK です。 |
|
suse@client:~> mariadb -u serverworld -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node02.srv.world | +---------------+------------------+suse@client:~> mariadb -u serverworld -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node01.srv.world | +---------------+------------------+ |
| Sponsored Link |
|
|