HAProxy : レイヤー4モードでの負荷分散2016/01/07 |
レイヤー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 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 /etc/init.d/haproxy restart |
[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 |