Một trường hợp điển hình khi sử dụng Cloud: Failover Cluster quorum witness

28/08/2025
Bookmark Dịch vụ Tin tức

Một trường hợp điển hình khi sử dụng Cloud: Failover Cluster quorum witness

Khi bạn muốn thiết kế một hạ tầng có tính sẵn sàng cao (highly available infrastructure), Microsoft Failover Clustering sẽ xuất hiện như một giải pháp quan trọng. Failover cluster là một nhóm các máy chủ hoạt động cùng nhau nhằm tăng tính sẵn sàng (availability) và khả năng mở rộng (scalability) cho các vai trò được phân cụm (clustered roles). Trong vai trò của một tư vấn viên trong lĩnh vực EUC (End-User Computing), các clustered roles mà tôi thường sử dụng nhiều nhất là: Microsoft SQL Always On (ví dụ: cho các cơ sở dữ liệu của Citrix) và File Servers (lưu trữ dữ liệu người dùng).

Khi thiết kế một giải pháp như vậy, bạn cần lưu ý đến các tình huống split-brain. Split-brain xảy ra khi các node trong cluster không thể liên lạc được với nhau. Điều này có thể khiến cả hai node đều cố gắng giành quyền sở hữu các vai trò được phân cụm (clustered roles), từ đó dẫn đến nhiều vấn đề nghiêm trọng như hỏng dữ liệu (data corruption) hoặc mất dữ liệu (data loss).

Để tránh tình huống này, khái niệm quorum đã được triển khai trong giải pháp Failover Clustering.

Quorum xác định số lượng lỗi (failures) mà cluster có thể chịu đựng trong khi vẫn duy trì trạng thái hoạt động (remain online). Với cơ chế quorum, cluster sẽ buộc dịch vụ cluster service dừng lại ở một số nhóm node con, để đảm bảo rằng chỉ có một nhóm duy nhất thực sự sở hữu resource group. Khi các node đã bị dừng có thể kết nối lại với nhóm node chính, chúng sẽ tự động tham gia lại cluster và khởi động dịch vụ cluster service của mình.

Bảng sau đây cung cấp cái nhìn tổng quan về kết quả của Cluster Quorum trong từng kịch bản:

Số lượng

node

Có thể chịu được một node

máy chủ gặp sự cố

Có thể chịu được một node máy chủ gặp sự cố,

sau đó thêm một node khác nữa

Có thể chịu được hai node máy chủ

gặp sự cố đồng thời

250/50NoNo
2 + WitnessYesNoNo
3Yes50/50No
3 + WitnessYesYesNo
4YesYes50/50
4 + WitnessYesYesYes
5 and aboveYesYesYes

Như bạn có thể thấy, một cluster với 2 node bắt buộc phải có witness để đảm bảo 100% khả năng chịu được sự cố của một node máy chủ.

Một điểm quan trọng cần lưu ý chính là vị trí đặt witness. Phần lớn khách hàng của tôi triển khai hạ tầng trên hai datacenter khác nhau nhằm phục vụ cho kế hoạch Disaster Recovery. Nếu bạn cài witness trong cùng một datacenter với một trong các node, thì bạn chỉ bảo vệ được tình huống một node gặp sự cố. Nhưng nếu toàn bộ datacenter đó gặp sự cố, node còn lại sẽ bị cô lập và dịch vụ Clustering sẽ dừng.

Để đảm bảo cluster vẫn hoạt động ngay cả khi một datacenter bị sự cố, witness nên được cài đặt ở datacenter thứ ba.

May mắn thay, lần này Microsoft đã thúc đẩy giải pháp datacenter riêng của họ: Microsoft Azure, cho phép bạn sử dụng Azure như datacenter thứ ba. Cloud Witness là một loại Failover Cluster quorum witness mới, sử dụng Microsoft Azure làm điểm phân xử (arbitration point). Cơ chế này sử dụng Azure Blob Storage để đọc/ghi một tệp blob, sau đó dùng nó làm điểm phân xử trong trường hợp cần giải quyết split-brain.

Microsoft đưa ra những lợi ích nổi bật của cách tiếp cận này:

  • Tận dụng Microsoft Azure (không cần một datacenter thứ ba riêng biệt).

  • Sử dụng dịch vụ Azure Blob Storage tiêu chuẩn (không phát sinh chi phí quản trị thêm cho các máy ảo chạy trên cloud công cộng).

  • Cùng một tài khoản Azure Storage có thể dùng cho nhiều cluster (mỗi cluster chỉ cần một tệp blob; tên tệp blob được đặt theo cluster unique ID).

  • Chi phí duy trì cực thấp cho tài khoản Storage (dữ liệu ghi vào tệp blob rất nhỏ, tệp blob chỉ được cập nhật khi trạng thái của node trong cluster thay đổi).

  • Được tích hợp sẵn kiểu tài nguyên Cloud Witness.

Chi phí để lưu witness trên Azure chỉ tốn vài euro hoặc đô la mỗi tháng. Nếu so với chi phí xây dựng và duy trì một datacenter thứ ba thì quả thực là quá rẻ!

Chúc các bạn thực hiện thành công. Hi vọng bài viết này sẽ giúp ích cho các bạn trong công việc. Nếu bạn có vấn đề gì thắc mắc đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội

• Điện thoại: 02432012368

• Hotline: 098 115 6699

• Email: info@datech.vn

• Website: https://datech.vn