Pemasangan Pelayan Load Balancing dengan linux (centos) HAProxy

Jika anda pentadbir pelayan web , masalah ‘downtime’ atau trafik yang tinggi pasti menjadi igawan dan masalah buat anda dan organisasi anda. Kaedah yang terbaik bagi mengatasi masalah ini adalah dengan membeli produk pengimbangan beban (load balancing) yang berada di pasaran . Rata-rata harga bagi sebuat perkakasan ini akan menambahkan kos operasi anda. Jika anda lihat , kebanyakan daripada produk-produk yang berkos tinggi ini hanya mengunakan perisian sumber terbuka dan linux .

Kami ingin berkongsi rahsia pemasangan pelayan imbangan ini dengan mengunakan HAProxy dan Centos Linux.

51-figure-02c

Gambarajah Bagaimana pelayan pengimbang beroperasi

Terlebih dahulu , saya akan menerangkan gambarajah di atas bagi anda faham apa yang akan kita laksanakan.  Gambarajah di atas memaparkan capaian pengguna dari internet kepada pelayan pengimbang anda. Pengimbang anda akan mengimbangkan capaian data dari tiga web server dan ketiga-tiga web server akan mengunakan satu pengkalan data yang sama bagi memastikan capaian dan kemaskini data akan sentiasa sama walaupun di masa sahaja pelayan web yang di capai oleh pengimbang. Aplikasi ini akan mengunakan Layer 4 rangkaian .

Langkah 1 :  Pemasangan HAProxy

Untuk penguna centos , Aplikasi ini telah tersedia pada repo utama centos . dengan mengunakan yum buat pemasangan.

 # yum install haproxy

 

Langkah 2 : konfigurasi HAProxy

Ubah  fail haproxy.cfg anda , seperti biasa contoh konfigurasi telah di berikan . Anda perlu mengubah mengikut keperluan dan tetapan mengikut setuasi anda.

#vi /etc/haproxy/haproxy.cfg

Ubah konfigurasi seperti di bawah ..(tukar alamat IP mengikut keperluan anda)
global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 debug
        maxconn   45000 # Total Max Connections.
        daemon
        nbproc      1 # Number of processing cores. 
defaults
        timeout server 86400000
        timeout connect 86400000
        timeout client 86400000
        timeout queue   1000s
        
# [HTTP Site Configuration]
listen  http_web 192.168.10.10:80
        mode http
        balance roundrobin  # Load Balancing algorithm
        option httpchk
        option forwardfor
        server server1 192.168.10.100:80 weight 1 maxconn 512 check
        server server2 192.168.10.101:80 weight 1 maxconn 512 check

# [HTTPS Site Configuration]
listen  https_web 192.168.10.10:443
        mode tcp
        balance source# Load Balancing algorithm
        reqadd X-Forwarded-Proto:\ http
        server server1 192.168.10.100:443 weight 1 maxconn 512 check
        server server2 192.168.10.101:443 weight 1 maxconn 512 check  

keterangan konfigurasi di atas , di mana laman web akan di capai menerusi ip 192.168.10.10  . Dua jenis web iaitu yang mengunakan http dan https  yang akan di sambungkan kepada pelayan web 192.168.10.100 dan 192.169.10.101 dengan max setiap sambungan sebanyak 512 .

anda juga perlu mengubah konfigurasi di bawah bagi menentukan konfigurasi mengikut keperluan anda.

 

  • nbproc <value> # Jumlah core pemproses sistem anda
  • mode <value> # ‘http’ untuk laman http ‘tcp’ bagi laman https
  • balance <value> # jenis pengimbang yang di ingini seperti  ‘source’, ’roundrobin’ dll.

Langkah 3 : Melulakan aplikasi

bagi pengguna centos 6 ke bawah

# service haproxy start

bagi pengguna centos 7 

#systemctl start haproxy.service

setkan supaya aplikasi akan hidup semasa pelayan di hidupkan atau di hidupkan semula

# chkconfig haproxy on