AlmaLinux9 HAProxy レイヤー 4 モードでの負荷分散を設定する方法

環境
AlmaLinux release 9.2 (Turquoise Kodkod)
MariaDB 10.5

概要
レイヤー 4 モードでの負荷分散の設定を行います
前提条件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
① HAProxy 10.0.0.40 dlp.ark.com
② MariaDB Server#1 node01.ark.com
➂ MariaDB Server#2 node02.ark.com
① HAProxy 10.0.0.40 dlp.ark.com ② MariaDB Server#1 node01.ark.com ➂ MariaDB Server#2 node02.ark.com
① HAProxy 10.0.0.40 dlp.ark.com
② MariaDB Server#1 node01.ark.com
➂ MariaDB Server#2 node02.ark.com

操作方法
1.HAProxy の設定を行います
# vi /etc/haproxy/haproxy.cfg

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# defaults セクションの [mode] 値を変更
defaults
mode tcp
# frontend, backend に MariaDB サーバーを定義
frontend mysql-in
bind *:3306
default_backend backend_servers
backend backend_servers
balance roundrobin
server node01 10.0.0.71:3306 check
server node02 10.0.0.72:3306 check
# defaults セクションの [mode] 値を変更 defaults mode tcp # frontend, backend に MariaDB サーバーを定義 frontend mysql-in bind *:3306 default_backend backend_servers backend backend_servers balance roundrobin server node01 10.0.0.71:3306 check server node02 10.0.0.72:3306 check
# defaults セクションの [mode] 値を変更
defaults
    mode            tcp

# frontend, backend に MariaDB サーバーを定義
frontend mysql-in
    bind *:3306
    default_backend backend_servers

backend backend_servers
    balance         roundrobin
    server          node01 10.0.0.71:3306 check
    server          node02 10.0.0.72:3306 check

2.haproxyを再起動します
# systemctl restart haproxy

3.SELinux を有効にしている場合は、ブール値の変更を行います

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# setsebool -P haproxy_connect_any on
# setsebool -P haproxy_connect_any on
# setsebool -P haproxy_connect_any on

4.Firewalld を有効にしている場合は、HAProxy が待ち受けるポートを許可します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# firewall-cmd --add-service=mysql
# firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=mysql # firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service=mysql
# firewall-cmd --runtime-to-permanent

5.任意のクライアントコンピューターから HAProxy フロントエンドサーバー宛てに MariaDB サーバーへ接続し、正常に負荷分散されるか確認します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# mysql -u alma -p -h 10.0.0.40 -e "show variables like 'hostname';"
# mysql -u alma -p -h 10.0.0.40 -e "show variables like 'hostname';"
# mysql -u alma -p -h 10.0.0.40 -e "show variables like 'hostname';"

 

AlmaLinux 9

Posted by arkgame