Load Balance HAPROXY Untuk Galera Cluster MariaDB

Melanjutkan tutorial sebelumnya yang dimana sebelumnya kita sudah melakukan setup cluster galera mariadbnya, nah selanjutnya kita akan setup server loadbalancenya supaya otmatis membagi koneksi secara merata dan juga ketika salah satu down secara otomatis juga di koneksikan keserver yang aktif. Mari kita mulai beberapa tahapan diserver loadbalance, berikut tahapannya

1. Install HAPROXY di server loadbalance.

yum install -y haproxy

2. Aktifkan service haproxy supaya ketika server restart autostart untuk haproxy nya.

 systemctl enable haproxy

3. Server HAPROXY disini diposisikan sebagai mysql-client jadi supaya kita bisa terkoneksi ke cluster database1 & database2 kita harus menginstall package mysql-client, tambahkan repo mariadb .

vim /etc/yum.repos.d/mariadb.repo

4. Isikan Repo MariaDB nya dengan repo dibawah ini :

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.9/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

5. Install MariaDB-Client nya.

yum install MariaDB-client

6. Setelah terinstall coba test koneksi disini saya test koneksi ke server database1 dengan ip 192.168.10.19

mysql -u root -p -h 192.168.10.19

Respon dari syntak diatas kalo saya menemukan kendala sepeti ini :

ERROR 1130 (HY000): Host '192.168.10.18' is not allowed to connect to this MariaDB server

Cara menyelesaikan kendala diatas kita bisa tambahkan user baru di salahsatu server database cluster kita, contoh disini saya menambahkan user dengan nama user admin

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost'
CREATE USER 'admin'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

7. Coba kita test koneksi lagi dengan user admin

mysql -u admin -p -h 192.168.10.19

Output responnya seperti ini harusnya :

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.9.4-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

8. Berarti server Loadbalance sudah terkoneksi ke server database1, selanjutnya mari kita konfigurasi haproxynya, silahkan copy konfigurasi dibawah ini dan sesuaikan ipnya dengan server yang kalian punya.

vim /etc/haproxy/haproxy.cfg

Isikan konfigurasinya contoh konfigurasinya seperti ini :

global
    log 127.0.0.1 local0 notice
    chroot /var/lib/haproxy
    pidfile /var/run/haproxy.pid
    user haproxy
    group haproxy
    maxconn 4096
    daemon

defaults
    log global
    retries 2
    timeout connect 3000
    timeout server 5000
    timeout client 5000

listen mysql-cluster
    bind 0.0.0.0:3306
    mode tcp
    option tcpka
    balance roundrobin
    server mysql-1 192.168.10.19:3306 check inter 1000 rise 3 fall 1
    server mysql-2 192.168.10.20:3306 check inter 1000 rise 3 fall 1

listen stats
    bind 192.168.10.18:8080
    mode http
    stats enable
    stats uri /
    stats realm Strictly\ Private
    stats auth USER:PASSWORD

9. Restart Service HAPROXY

systemctl restart haproxy

10. Akses Server Loadbalance HAPROXY lewat browser untuk monitoring trafiknya.

11. Jika tampil kotak dialog seperti gambar diatas berarti HAPROXY sudah sukses konfigurasinya, tinggal coba kita massukan username & password HAPROXY nya, lalu klick Sign In maka akan dapat respon seperti ini :

Demikianlah artikel tentang Loadbalance HAPROXY untuk Galera Cluster MariaDB, jika menemukan kendala halaman loadbalance tidak kebuka kalian bisa disable SELINUX dan DISABLE FIREWALLD biasanya keblock tapi saya tidak sarankan untuk mode production disable selinux dan juga disable firewalld, jadi ini untuk mengerti secara konsep dulu aja. Mungkin bertanya - tanya bagaimana penggunaan keaplikasinya, misalkan disini saya punya aplikasi berbasih web base menggunakan PHP baha pemograman nya nah dari PHP kita tinggal koneksikan aja databasenya ke loadbalance maka secara otomatis loadbalance akan mengaturnya. Semoga bermanfaat artikel pendeknya.

 

Related Articles

Comments