0

Cấu hình HA và Load balancing cho web server với công cụ haproxy và keepalive

Giả sử với mô hình gồm 2 load balance server và 2 web server để HA:

  • Load Balance server 1: 192.168.2.10
  • Load Balance server 2: 192.168.2.11
  • Web Server 1: 192.168.2.12
  • Web Server 2: 192.168.2.13

Mô hình của chúng ta như sau:

Các bước cấu hình:

Trên 2 server HAProxy, chúng ta cài đặt HAproxy:

yum install -y haproxy

Chỉnh sửa file config HAProxy

vim /etc/haproxy/haproxy.cfg

thay đổi dòng :

“frontend main *:5000″

thành

“frontend main *:80″

và comment dòng

“use_backend static if url_static”

Xóa tiếp các dòng bắt đầu với

“server app”

và thay thế với

server httpd1 192.168.2.12:80 check server httpd2 192.168.2.13:80 check

Tiếp tục chúng ta cài đặt và cấu hình keepalived

Tạo file config keepalived và đặt ở đường dẫn sau:

vim /etc/keepalived/keepalived.conf

Thêm vào file đoạn cấu hình sau

vrrp_script chk_haproxy { script "killall -0 haproxy" interval 2 weight 2 }

vrrp_instance VI_1 { interface eth0 state MASTER virtual_router_id 51 priority 101 virtual_ipaddress { 192.168.2.100 # virtual ip address } track_script { chk_haproxy } }

Tương tự với server HAProxy 2, tuy nhiên config thay đổi ở dòng:

priority 101

đổi thành:

priority 100

Start keepalived:

systemctl start keepalived

Trên 2 web server, chúng ta cài đặt IP tĩnh như mô hình và cài apache để test

yum -y install httpd

Tạo trên mỗi web server một website HTML test và đặt ở đường dẫn:

/var/www/html

start apache:

systemctl start httpd

giờ chúng ta mở trình duyệt web và điền địa chỉ ip 192.168.2.100, nó hiện lên website test Tiếp tục thử ngắt mạng của 1 web server và vẫn vào địa chỉ 192.168.2.100, chúng ta vẫn access vào được website.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí