MySQL Load Balancing & Failover Menggunakan HAProxy

MySQL Load Balancing & Failover Menggunakan HAProxy

 

Requirements :

  1. Membutuhkan minimal 3 PC, 2 PC sebagai Database Server (node) dan 1 PC sebagai Server Manajemen (load balancer dan Manajemen node).
  2. Sistem Operasi untuk 2 PC sebagai Database Server (node) adalah Ubuntu Server 14.04.
  3. Sistem Operasi untuk 1 PC sebagai Server Manajemen adalah Elementary OS Luna.
  4. 2 PC sebagai Database Server (node) diharuskan sudah selesai dalam instalasi mysql-server jadi saya tidak akan lagi membahas tentang ini.


Instalasi Package :

  • Instalasi HAProxy pada server manajemen dilakukan secara online, dalam melakukan instalasi disarankan untuk melakukan update terlebih dahulu dengan cara apt-get update. Kemudian barulah instal package HAProxy.
Install package HAProxy

Konfigurasi :

  • Node1 & Node2

Daftarkan user HAProxy ke node1 dan node2 yang bertugas untuk mengecek status dari kedua server tersebut.

Daftar haproxy check


Daftarkan user HAProxy yang memiliki hak akses selevel root.



  • Server Manajemen
Install mysql-client.

Install mysql-client

Aktifkan HAProxy pada skrip init.



Konfigurasi pada file /etc/haproxy/haproxy.cnf, pada konfigurasi load balancing menggunakan algoritma round robin dengan weight default 1, jadi kedua server database diberikan tugas yang sama bobotnya. Untuk mengurangi interval failover dapat diset fastinter 1000 agar pengecekan status dapat dilakukan lebih cepat yaitu 1000 ms.



Kemudian daftarkan listen-stats agar bisa dimonitor melalui halaman web. Tulis konfigurasi untuk load balancing yang tertera sebagai berikut :

config haproxy

Jalankan HAProxy.



Pengujian :



Pengujian load balancing bisa berdasarkan permintaan variabel server id secara berulang-ulang


selain itu dapat juga dilihat melalui web


Pengujian Failover bisa berdasarkan permintaan variabel server id secara berulang-ulang dengan kondisi node1 atau node2 sedang dimatikan. Maka hasilnya akan dialihkan ke node yang sedang aktif contoh pada pengujian kali ini adalah node2 dengan server id = 14









0 comments:

Posting Komentar