0
0
Lập trình
Flame Kris
Flame Krisbacodekiller

Hướng Dẫn Cấu Hình Keepalived và Giao Thức VRRP Để Đảm Bảo Tính Sẵn Sàng Cao Với NGINX

Đăng vào 1 tuần trước

• 3 phút đọc

Tìm Hiểu Độ Sẵn Sàng Cao (High Availability) Là Gì?

Độ sẵn sàng cao (High Availability) là khả năng mà các máy chủ và thiết bị luôn hoạt động trong trạng thái sẵn sàng phục vụ, nhằm giảm thiểu gián đoạn trong hệ thống. Điều này có nghĩa là ứng dụng và cơ sở dữ liệu sẽ luôn có thể truy cập được 24/7, bất kể điều kiện nào. Để đạt được độ sẵn sàng cao, ít nhất cần có hai máy chủ hoạt động đồng thời: nếu một máy chủ gặp sự cố, máy chủ còn lại sẽ tiếp quản và đảm bảo hệ thống vẫn hoạt động bình thường.

I. Cấu Hình Keepalived

1. Giới Thiệu về Keepalived

Keepalived là một dịch vụ được sử dụng để tạo địa chỉ IP ảo (VIP) cho hệ thống. Quá trình này giám sát các dịch vụ hoặc hệ thống, có khả năng phát hiện lỗi và chuyển đổi sang hệ thống khắc phục khi có vấn đề xảy ra. Trong bài viết này, chúng ta sẽ tìm hiểu cách sử dụng Keepalived để nâng cao tính sẵn sàng của dịch vụ cân bằng tải NGINX.

2. Mô Hình Hoạt Động

3. Cách Cấu Hình Keepalived

Bước 1: Cài Đặt Keepalived

Thực hiện cài đặt Keepalived trên hai máy chủ với địa chỉ IP 192.168.254.7 (Backup) và 192.168.254.8 (Master). Sử dụng lệnh sau:

Copy
 Yum install keepalived
 Systemctl enable keepalived

Bước 2: Cấu Hình IP Ảo

Mở tệp /etc/sysctl.conf và thêm dòng sau để cho phép gán IP ảo trên card mạng:

Copy
 net.ipv4.ip_nonlocal_bind = 1

Bước 3: Cấu Hình Firewalld cho Giao Thức VRRP

Mở Firewalld cho giao thức VRRP trên máy chủ Master (192.168.254.8):

Copy
 firewall-cmd --permanent --add-rich-rule 'rule protocol value="vrrp" accept'
 firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens160 --destination 192.168.254.8 --protocol vrrp -j ACCEPT
 firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --out-interface ens160 --destination 192.168.254.8  --protocol vrrp -j ACCEPT
 firewall-cmd --reload

Tiếp tục thực hiện tương tự trên máy Backup (192.168.254.7).

Bước 4: Cấu Hình Keepalived

Cấu hình Keepalived trên cả hai máy chủ tại đường dẫn /etc/keepalive/keepalive.conf:

  • Cấu hình cho máy Master (192.168.254.8) với tham số Priority cao hơn máy Backup (192.168.254.7).

Sau khi khởi động Keepalived trên cả hai máy, chỉ máy Master sẽ có địa chỉ IP ảo. Nếu dịch vụ NGINX trên máy Master ngừng hoạt động, Keepalived sẽ tự động kiểm tra và chuyển giao V-IP cho máy Backup.

Bước 5: Kiểm Tra Hoạt Động

Để kiểm tra, bạn có thể ngừng dịch vụ NGINX trên máy Master:

Copy
 systemctl stop nginx
 systemctl status nginx

Sau khi tắt NGINX, sau khoảng 2 giây, Keepalived sẽ tự động phát hiện và chuyển trạng thái cho máy Backup thành Master, đảm bảo tính liên tục của dịch vụ.

Máy Backup bây giờ sẽ có địa chỉ V-IP, trong khi máy Master sẽ không còn địa chỉ này. Bạn có thể kiểm tra trên trình duyệt bằng cách truy cập vào V-IP đã cấu hình.

II. Giới Thiệu Về Giao Thức VRRP

Giao thức VRRP (Virtual Router Redundancy Protocol) được sử dụng trong Keepalived để cung cấp cơ chế dự phòng cho các máy chủ, đảm bảo tính sẵn sàng và liên tục của dịch vụ mạng. Trong một nhóm VRRP, các máy chủ sẽ làm việc cùng nhau để cung cấp một địa chỉ IP ảo duy nhất. Khi máy chủ chính gặp sự cố, Keepalived sẽ tự động chuyển giao dịch vụ sang máy chủ dự phòng để duy trì hoạt động của dịch vụ một cách liên tục và hiệu quả.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào