(+84) 236.3827111 ex. 402

Hướng dẫn cài đặt HAProxy để Cân bằng tải trên CentOS 7


Giới thiệu về cân bằng tải (Load Balancing)

Nhiều trang web có lưu lượng truy cập cao được yêu cầu phục vụ hàng trăm nghìn yêu cầu đồng thời từ người dùng, tất cả đều theo cách nhanh nhất có thể. Trong một số trường hợp, các yêu cầu này có thể là hàng triệu, và đơn giản là không thể thực hiện được tất cả chúng bằng cách chỉ sử dụng một máy chủ, cho dù nó mạnh đến mức nào.

Trong những tình huống này, để đáp ứng được những yêu cầu cao về máy tính hiện đại nói chung, yêu cầu phải thêm nhiều máy chủ (trong trường hợp này, chúng ta nói về một máy chủ). Quá trình này phải là "vô hình" đối với người dùng, do đó sẽ luôn thấy cùng một điểm truy cập. Bộ cân bằng tải là phần làm cho khả năng tàng hình này trở nên khả thi.

Trình cân bằng tải phân phối tải mạng trên nhiều máy chủ một cách hiệu quả nhất, đảm bảo độ tin cậy bằng cách gửi yêu cầu tới các máy chủ trực tuyến và có khả năng thực hiện các yêu cầu đó.

HAProxy là một trong những lựa chọn phổ biến nhất cho phần mềm cân bằng tải.

Hướng dẫn này sẽ thực hiện cài đặt và cấu hình HAProxy trên một máy chủ CentOS 7.

1. Cài đặt HAProxy

HAProxy có sẵn trên kho CentOS, nhưng có thể không có bản phát hành mới nhất. Để kiểm tra xem phiên bản nào hiện có sẵn, hãy thực hiện lệnh sau:

# yum info haproxy

v Yêu cầu

Để xây dựng HAProxy từ nguồn, ta cần các công cụ để tải và biên dịch nó. Các gói cần thiết bao gồm: wget, gccPCRE, có thể cài đặt băng lệnh sau:

# yum install wget gcc pcre-static pcre-devel

v Lấy mã nguồn

Sử dụng wget để hoàn thành nhiệm vụ này.

$ wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.5.tar.gz -O ~/Packages/haproxy.tar.gz

Tiến hành giải nén và chuyển đến thư mục:

$ tar xzvf ~/Packages/haproxy.tar.gz -C ~/Packages
$ cd haproxy-1.7.5/

v Xây dựng và cài đặt HAProxy

$ make TARGET=generic ARCH=native CPU=x86_64 -j8
# make install

Trong haproxy-1.7.5/ ví dụ, bạn sẽ tìm thấy các tập tin khác nhau. Sao chép haproxy.init (cài đặt init) trong /etc/init.d:

# cp haproxy-1.7.5/examples/haproxy.init /etc/init.d/haproxy

Thay đổi quyền:

# chmod 755 /etc/init.d/haproxy

Tạo các thư mục và file thống kê số liệu:

# mkdir -p /etc/haproxy
# mkdir -p /run/haproxy
# mkdir -p /var/lib/haproxy
# touch /var/lib/haproxy/stats

Tạo người dùng mới với tên là haproxy:

# useradd -r haproxy

1. Cấu hình cân bằng tải

Một cấu hình cơ bản của HAProxy cho biết hệ thống cân bằng tải này với kiểu kết nối phải được lắng nghe và có máy chủ cần chuyển tiếp các kết nối đến. Điều này được thực hiện bằng cách tạo một tập tin mới, /etc/haproxy/haproxy.cfg sẽ chứa các thiết lập cần thiết. Hãy cấu file này như sau:

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats socket /run/haproxy/admin.sock mode 660 level admin
   stats timeout 30s
   user haproxy
   group haproxy
   daemon
defaults
   log global
   mode http
   option httplog
   option dontlognull
   timeout connect 5000
   timeout client 50000
   timeout server 50000
frontend http_front
   bind *:80
   stats uri /haproxy?stats
   default_backend http_back
backend http_back
   balance roundrobin
   server my_server private_IP:80 check
   server my_server private_IP:80 check

Lưu cấu hình và khởi động lại HAProxy:

# systemctl restart haproxy

HAProxy sử dụng các thuật toán khác nhau cho các kết nối định tuyến theo cách tốt nhất có thể, đó là công việc mà không thể được thực hiện bằng tay.

HAProxy là mã nguồn mở và một chuẩn de facto trong cân bằng tải.

=> Xem file đính kèm

Files đính kèm