Quay lại danh sách
Tin tức công nghệ

Xây Dựng Phân Vùng Lưu Trữ Chịu Lỗi Cực Cao (Replicated Volume) Phân Tán Giữa 2 Cloud VPS Bằng GlusterFS

6 tháng 6, 2026

1. Đặt vấn đề: Thách thức lưu trữ trong kỷ nguyên Cloud

Trong kỷ nguyên chuyển đổi số, dữ liệu được ví như dòng máu duy trì hoạt động của mọi doanh nghiệp. Khi triển khai các ứng dụng cốt lõi như thương mại điện tử, hệ thống quản trị ERP hay các dịch vụ tài chính trực tuyến trên Cloud VPS, một trong những rủi ro lớn nhất mà các kỹ sư hệ thống phải đối mặt chính là tình trạng gián đoạn dịch vụ do lỗi lưu trữ (Storage Single Point of Failure). Nếu phân vùng lưu trữ của VPS gặp sự cố, toàn bộ hệ thống có thể bị tê liệt, gây thiệt hại nghiêm trọng về cả tài chính lẫn uy tín thương hiệu.

Giải pháp truyền thống thường dựa vào cơ chế sao lưu (Backup) định kỳ. Tuy nhiên, sao lưu cấu hình theo giờ hoặc theo ngày vẫn tồn tại khoảng trống mất mát dữ liệu (RPO lớn) và thời gian khôi phục hệ thống kéo dài (RTO cao). Để đạt được tính sẵn sàng cao (High Availability - HA) và khả năng chịu lỗi tối đa, doanh nghiệp cần một giải pháp lưu trữ có khả năng đồng bộ hóa thời gian thực giữa các máy chủ độc lập. Đó là lý do GlusterFS kết hợp với mô hình Replicated Volume trở thành giải pháp tối ưu cho bài toán này.

2. GlusterFS là gì và tại sao nên chọn Replicated Volume?

GlusterFS là một hệ thống tệp phân tán mã nguồn mở (Distributed File System), có khả năng mở rộng lên đến hàng petabyte. Nó hợp nhất các tài nguyên lưu trữ từ nhiều máy chủ khác nhau thông qua mạng TCP/IP thành một không gian lưu trữ chung thống nhất. Điểm đặc biệt của GlusterFS là kiến trúc phi trung tâm (No-Metadata server architecture), giúp loại bỏ hoàn toàn hiện tượng nghẽn cổ chai và điểm lỗi duy nhất thường thấy ở các hệ thống lưu trữ truyền thống.

Trong số các kiểu cấu hình lưu trữ của GlusterFS, Replicated Volume (Phân vùng nhân bản) là mô hình lý tưởng nhất cho mục tiêu chịu lỗi. Cơ chế hoạt động của nó tương tự như cấu hình RAID 1 ở cấp độ mạng:

  • Đồng bộ thời gian thực: Mọi thao tác ghi dữ liệu từ phía Client vào phân vùng GlusterFS sẽ được sao chép đồng thời sang tất cả các máy chủ (Bricks) tham gia vào cụm (Cluster).
  • Khả năng chịu lỗi cực cao: Nếu một Cloud VPS gặp sự cố phần cứng, mất kết nối mạng hoặc sập nguồn đột ngột, VPS còn lại vẫn chứa toàn vẹn dữ liệu và tiếp tục phục vụ ứng dụng mà không gây gián đoạn.
  • Tự động phục hồi (Self-healing): Khi máy chủ bị lỗi quay trở lại hoạt động, GlusterFS sẽ tự động phát hiện các thay đổi và tiến hành đồng bộ bù (Heal) những tệp tin bị thiếu hoặc lỗi thời.

3. Chuẩn bị mô hình triển khai hệ thống

Để xây dựng một phân vùng lưu trữ chịu lỗi cực cao giữa 2 Cloud VPS, chúng ta cần chuẩn bị môi trường hệ thống với các thông số mẫu như sau:

Lưu ý quan trọng: Để đảm bảo tính toàn vẹn dữ liệu và tránh hiện tượng "Split-brain" (xung đột dữ liệu khi hai máy chủ mất kết nối nhưng cùng ghi đè độc lập), khuyến khích sử dụng thêm một node thứ 3 làm Arbiter, hoặc cấu hình cơ chế Quorum nghiêm ngặt. Trong phạm vi bài viết này, chúng ta tập trung vào thiết lập cốt lõi trên 2 Node chính.

Cấu hình giả định hệ thống bao gồm:

  • VPS Node 1: IP: 192.168.10.11, OS: Ubuntu 22.04 LTS, Phân vùng ổ cứng riêng cho GlusterFS gắn tại /dev/sdb.
  • VPS Node 2: IP: 192.168.10.12, OS: Ubuntu 22.04 LTS, Phân vùng ổ cứng riêng cho GlusterFS gắn tại /dev/sdb.
  • Tên phân vùng lưu trữ chung (Volume Name): vol_replicated

4. Quy trình cài đặt và cấu hình chi tiết GlusterFS

Bước 1: Cấu hình phân giải tên miền nội bộ và chuẩn bị ổ đĩa

Trước tiên, để các Node có thể giao tiếp dễ dàng, hãy cập nhật tệp tin /etc/hosts trên cả hai VPS:

192.168.10.11 node1.gluster.local node1
192.168.10.12 node2.gluster.local node2

Tiếp theo, tiến hành định dạng ổ cứng bổ sung /dev/sdb thành định dạng XFS (được khuyến nghị bởi GlusterFS để đạt hiệu năng tối ưu) và gắn (mount) vào thư mục cục bộ trên cả 2 node:

sudo mkfs.xfs -f /dev/sdb
sudo mkdir -p /gluster/brick1
sudo mount /dev/sdb /gluster/brick1

Bước 2: Cài đặt GlusterFS Server

Thực hiện thêm kho lưu trữ chính thức của GlusterFS và cài đặt gói dịch vụ trên cả hai Cloud VPS:

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:gluster/glusterfs-10 -y
sudo apt update
sudo apt install glusterfs-server -y
sudo systemctl start glusterfs-server
sudo systemctl enable glusterfs-server

Bước 3: Thiết lập kết nối Cluster (Peer Probe)

Từ VPS Node 1, thực hiện lệnh kết nối tới VPS Node 2 để thiết lập lòng tin giữa hai máy chủ trong mạng:

sudo gluster peer probe node2.gluster.local

Kiểm tra trạng thái kết nối bằng lệnh: sudo gluster peer status. Nếu kết quả hiển thị "Peer in Cluster (Connected)", cụm máy chủ phân tán của bạn đã sẵn sàng cấu hình phân vùng.

Bước 4: Khởi tạo Replicated Volume

Tạo một thư mục con bên trong phân vùng đĩa đã mount để làm Brick thực tế (không nên dùng trực tiếp thư mục gốc của phân vùng mount):

sudo mkdir -p /gluster/brick1/data

Bây giờ, tiến hành khởi tạo phân vùng nhân bản với tham số replica 2, chỉ định rõ hai vị trí lưu trữ vật lý trên cả 2 node:

sudo gluster volume create vol_replicated replica 2 node1.gluster.local:/gluster/brick1/data node2.gluster.local:/gluster/brick1/data force

Kích hoạt phân vùng vừa tạo để đưa vào sử dụng:

sudo gluster volume start vol_replicated

5. Kết nối Client và thử nghiệm khả năng chịu lỗi (Failover)

Để sử dụng phân vùng lưu trữ phân tán này từ các máy chủ ứng dụng (hoặc từ chính các VPS trong cụm), chúng ta cài đặt gói glusterfs-client và thực hiện mount phân vùng mạng:

sudo mkdir -p /mnt/shared_storage
sudo mount -t glusterfs node1.gluster.local:/vol_replicated /mnt/shared_storage

Khi bạn tạo bất kỳ một tệp tin nào tại /mnt/shared_storage, hệ thống GlusterFS sẽ tự động nhân bản tệp đó xuống cả hai ổ đĩa vật lý của Node 1 và Node 2 với độ trễ gần như bằng không.

Kịch bản thử nghiệm chịu lỗi: Thử tắt hoàn toàn giao tiếp mạng hoặc tắt nguồn VPS Node 1. Bạn sẽ thấy dữ liệu tại thư mục mount trên Client vẫn hoàn toàn có thể đọc/ghi bình thường thông qua kết nối tự động chuyển hướng tới VPS Node 2. Khi Node 1 hoạt động trở lại, các tiến trình ngầm của GlusterFS sẽ tự động đồng bộ hóa các khối dữ liệu sai lệch mà không cần bất kỳ sự can thiệp thủ công nào từ quản trị viên.

6. Kết luận và các khuyến nghị tối ưu vận hành

Việc xây dựng hệ thống Replicated Volume phân tán bằng GlusterFS giữa 2 Cloud VPS là phương án tối ưu chi phí và tăng cường độ an toàn dữ liệu mạnh mẽ cho các doanh nghiệp vừa và nhỏ. Hệ thống mang lại khả năng chịu lỗi linh hoạt, bảo vệ ứng dụng trước các sự cố hạ tầng ngoài ý muốn.

Tuy nhiên, để vận hành hệ thống này trong môi trường sản xuất (Production) một cách ổn định nhất, doanh nghiệp cần lưu ý 3 khuyến nghị cốt lõi: Thứ nhất, đảm bảo băng thông kết nối mạng nội bộ (LAN/VPC) giữa các Cloud VPS có tốc độ cao và độ trễ thấp; Thứ hai, thiết lập giám sát (Monitoring) cảnh báo dung lượng và trạng thái Peer liên tục; Thứ ba, luôn cấu hình thông số kết nối Client dự phòng (backupvolfile-server) để tối ưu hóa quá trình tự động chuyển vùng khi xảy ra sự cố.