12/08/2018, 15:47

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 ...

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.

0