HAProxy : レイヤー4モードでの負荷分散2015/02/18 |
|
レイヤー4モードでの負荷分散の設定です。
例として、2台の MariaDB バックエンドへ負荷分散するように設定します。
|
-------+-----------------------------------------------
|
+-------------------+--------------------+
|10.0.0.30 |10.0.0.31 |10.0.0.32
+-----+-----+ +-------+------+ +-------+------+
| Frontend | | Backend#1 | | Backend#2 |
| HAProxy | | MariaDB | | MariaDB |
+-----------+ +--------------+ +--------------+
|
| [1] | HAProxy の設定です。 |
|
[root@dlp ~]#
vi /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2 info
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 256
maxsslconn 256
user haproxy
group haproxy
daemon
defaults
# mode tcp でレイヤー4モード
mode tcp
log global
timeout connect 10s
timeout client 30s
timeout server 30s
# frontend, backend に MariaDB サーバーを指定
frontend mysql-in
bind *:3306
default_backend backend_servers
backend backend_servers
balance roundrobin
server db01 10.0.0.31:3306 check
server db02 10.0.0.32:3306 check
systemctl restart haproxy |
| [2] | 任意のクライアントから、HAProxy サーバー宛てに MariaDB サーバーへ接続し、正常に負荷分散されるか確認してください。 以下の例では、MariaDB サーバーの keystone データベースへ keystone ユーザーで接続し、table01 を select しています。 接続するたびにバックエンドが切り替わり、正常に負荷分散できていることが分かります。 |
|
[root@desktop ~]# mysql -u keystone -p -h 10.0.0.30 keystone -e "select * from table01;" Enter password: +------+-------------------+ | id | name | +------+-------------------+ | 1 | db01.srv.world | +------+-------------------+[root@desktop ~]# mysql -u keystone -p -h 10.0.0.30 keystone -e "select * from table01;" Enter password: +------+-------------------+ | id | name | +------+-------------------+ | 1 | db02.srv.world | +------+-------------------+ |
| Sponsored Link |
|
|