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.