Failover Clustering trong Windows Server: Nền tảng của hệ thống High Availability
Failover Clustering là gì?
Failover Clustering là một nhóm các máy chủ (Servers) hoạt động cùng nhau nhằm tăng tính High Availability (HA) và khả năng mở rộng (Scalability) cho các dịch vụ quan trọng.
Các máy chủ trong cụm được gọi là Nodes, được kết nối với nhau thông qua:
Nếu một node gặp sự cố, dịch vụ sẽ tự động được chuyển sang node khác đang hoạt động. Quá trình này gọi là Failover.
Mục tiêu cuối cùng là giảm thiểu thời gian gián đoạn dịch vụ (Downtime) và đảm bảo người dùng vẫn có thể truy cập hệ thống.
High Availability có phải là 100% Uptime?
Đây là một hiểu nhầm rất phổ biến.
Trên thực tế, gần như không có hệ thống nào đạt được 100% Uptime tuyệt đối. Ngay cả các hệ thống lớn của Microsoft, Google hay AWS cũng phải thực hiện:
Do đó, High Availability được đo bằng phần trăm thời gian dịch vụ sẵn sàng hoạt động (Availability Percentage).
Ý nghĩa của các mức Availability
99% Uptime
Cho phép khoảng:
Đây là mức phù hợp cho:
99,9% Uptime (Three Nines)
Cho phép:
Phù hợp:
99,99% Uptime (Four Nines)
Cho phép:
Phù hợp:
99,999% Uptime (Five Nines)
Cho phép:
Đây là mức độ mà:
thường hướng tới.
Tại sao Five Nines rất đắt?
Khoảng cách từ:
99,99% → 99,999%
chỉ thêm:
52,56 phút
↓
5,26 phút downtime/năm
Nghe có vẻ nhỏ, nhưng chi phí đầu tư có thể tăng rất mạnh.
Doanh nghiệp có thể phải đầu tư:
Nhiều tổ chức nhận ra rằng mục tiêu Five Nines nằm ngoài ngân sách của họ.
Do đó, thiết kế HA luôn là bài toán:
Failover Cluster hoạt động như thế nào?
Windows Failover Cluster liên tục giám sát:
Nếu phát hiện lỗi:
Người dùng gần như không nhận thấy sự cố.
Các thành phần của Failover Cluster
Node
Node là từng máy chủ tham gia vào cụm Cluster.
Ví dụ:
Node1
Node2
Node3
Node4
Mỗi node đều có thể chạy workload.
Active Node
Là node đang cung cấp dịch vụ.
Ví dụ:
Node1 đang chạy:
thì Node1 là Active Node.
Passive Node
Là node dự phòng.
Passive Node:
Cluster Resource
Là các tài nguyên được Cluster quản lý:
Resource Group (Cluster Group)
Là tập hợp các tài nguyên hoạt động cùng nhau.
Ví dụ:
SQL Cluster:
IP Address
↓
SQL Name
↓
Disk
↓
SQL Service
Các thành phần này được quản lý như một nhóm duy nhất.
Virtual Server
Là tên dịch vụ mà Client truy cập.
Ví dụ:
sql-prod.company.local
Người dùng không cần biết dịch vụ đang chạy trên Node nào.
Heartbeat là gì?
Các Node liên tục gửi tín hiệu:
Heartbeat
cho nhau thông qua mạng riêng của Cluster.
Nếu Heartbeat mất:
Node1 → Không phản hồi
Cluster có thể kết luận:
và bắt đầu quá trình Failover.
Cluster Storage
Cluster thường sử dụng: Shared Disk
Ví dụ:
Mọi node đều có thể truy cập cùng một vùng lưu trữ.
Cluster Shared Volumes (CSV)
CSV là công nghệ cho phép:
CSV là nền tảng quan trọng của:
Storage Replica
Cho phép:
Cluster Quorum là gì?
Quorum là cơ chế giúp Cluster quyết định:
Mục tiêu:
Tránh tình trạng:
Split Brain
khi hai nhóm node cùng nghĩ rằng mình là Active Cluster.
Witness là gì?
Witness là phiếu bầu bổ sung cho Quorum.
Các loại Witness: Disk Witness
Dùng Shared Disk. File Share Witness
Dùng File Server. Azure Cloud Witness
Lưu thông tin Quorum trong Azure Storage.
Azure Cloud Witness rất phù hợp cho:
Kiến trúc Failover Cluster cơ bản
Một Cluster thường bao gồm:
Clients
|
Public Network
|
+--------------------+
| Node1 Node2 |
| |
| Dedicated Network |
| (Heartbeat) |
| |
| Shared Storage |
+--------------------+
Trong đó:
Public Network
Dedicated Network
Shared Storage
Các cải tiến của Failover Clustering trên Windows Server 2019
Integration
Một số tính năng mới đáng chú ý
Windows Server 2019 còn bổ sung:
Kết luận
Failover Clustering là một trong những công nghệ cốt lõi của Windows Server giúp xây dựng hệ thống High Availability cho các dịch vụ quan trọng như Hyper-V, SQL Server, File Server và Storage Spaces Direct. Mục tiêu của HA không phải là đạt 100% uptime tuyệt đối mà là đạt mức sẵn sàng phù hợp với yêu cầu kinh doanh và ngân sách của tổ chức. Mức 99% uptime vẫn cho phép khoảng 3,65 ngày downtime mỗi năm, trong khi việc nâng từ 99,99% lên 99,999% có thể làm chi phí tăng đột biến. Vì vậy, thiết kế Cluster luôn là sự cân bằng giữa tính sẵn sàng, độ phức tạp và chi phí đầu tư.
Failover Clustering là gì?
Failover Clustering là một nhóm các máy chủ (Servers) hoạt động cùng nhau nhằm tăng tính High Availability (HA) và khả năng mở rộng (Scalability) cho các dịch vụ quan trọng.
Các máy chủ trong cụm được gọi là Nodes, được kết nối với nhau thông qua:
- Hệ thống mạng
- Phần mềm Cluster Service
- Hạ tầng lưu trữ dùng chung hoặc cơ chế đồng bộ dữ liệu
Nếu một node gặp sự cố, dịch vụ sẽ tự động được chuyển sang node khác đang hoạt động. Quá trình này gọi là Failover.
Mục tiêu cuối cùng là giảm thiểu thời gian gián đoạn dịch vụ (Downtime) và đảm bảo người dùng vẫn có thể truy cập hệ thống.
High Availability có phải là 100% Uptime?
Đây là một hiểu nhầm rất phổ biến.
Trên thực tế, gần như không có hệ thống nào đạt được 100% Uptime tuyệt đối. Ngay cả các hệ thống lớn của Microsoft, Google hay AWS cũng phải thực hiện:
- Bảo trì định kỳ
- Nâng cấp phần mềm
- Cập nhật bảo mật
- Thay thế phần cứng
Do đó, High Availability được đo bằng phần trăm thời gian dịch vụ sẵn sàng hoạt động (Availability Percentage).
Ý nghĩa của các mức Availability
99% Uptime
Cho phép khoảng:
- 3,65 ngày downtime/năm
- Khoảng 7,2 giờ downtime/tháng
Đây là mức phù hợp cho:
- Hệ thống nội bộ
- Website doanh nghiệp nhỏ
- Dịch vụ không quá quan trọng
99,9% Uptime (Three Nines)
Cho phép:
- Khoảng 8,76 giờ downtime/năm
Phù hợp:
- Hệ thống ERP
- Dịch vụ doanh nghiệp vừa và lớn
99,99% Uptime (Four Nines)
Cho phép:
- Khoảng 52,56 phút downtime/năm
Phù hợp:
- Hệ thống tài chính
- Hệ thống giao dịch
- Hạ tầng Data Center
99,999% Uptime (Five Nines)
Cho phép:
- Khoảng 5,26 phút downtime/năm
Đây là mức độ mà:
- Viễn thông
- Ngân hàng
- Hệ thống y tế
- Hệ thống điều khiển công nghiệp
thường hướng tới.
Tại sao Five Nines rất đắt?
Khoảng cách từ:
99,99% → 99,999%
chỉ thêm:
52,56 phút
↓
5,26 phút downtime/năm
Nghe có vẻ nhỏ, nhưng chi phí đầu tư có thể tăng rất mạnh.
Doanh nghiệp có thể phải đầu tư:
- Hệ thống Cluster nhiều node
- SAN Storage dự phòng
- Dual Power Supply
- Dual UPS
- Dual ISP
- Data Center dự phòng
- Geo-Redundancy
- Backup Site
- Tự động hóa vận hành
- Đội ngũ trực 24/7
Nhiều tổ chức nhận ra rằng mục tiêu Five Nines nằm ngoài ngân sách của họ.
Do đó, thiết kế HA luôn là bài toán:
Cân bằng giữa yêu cầu kinh doanh và chi phí đầu tư.
Failover Cluster hoạt động như thế nào?
Windows Failover Cluster liên tục giám sát:
- Tình trạng của Node
- Tình trạng của ứng dụng
- Tài nguyên Cluster
Nếu phát hiện lỗi:
- Khởi động lại Service.
- Khởi động lại Application.
- Chuyển tài nguyên sang Node khác.
Người dùng gần như không nhận thấy sự cố.
Các thành phần của Failover Cluster
Node
Node là từng máy chủ tham gia vào cụm Cluster.
Ví dụ:
Node1
Node2
Node3
Node4
Mỗi node đều có thể chạy workload.
Active Node
Là node đang cung cấp dịch vụ.
Ví dụ:
Node1 đang chạy:
- SQL Server
- File Server
- Hyper-V VM
thì Node1 là Active Node.
Passive Node
Là node dự phòng.
Passive Node:
- Theo dõi trạng thái Cluster
- Sẵn sàng tiếp nhận dịch vụ khi xảy ra sự cố
Cluster Resource
Là các tài nguyên được Cluster quản lý:
- IP Address
- Network Name
- Disk
- File Share
- SQL Instance
- Virtual Machine
- Application Service
Resource Group (Cluster Group)
Là tập hợp các tài nguyên hoạt động cùng nhau.
Ví dụ:
SQL Cluster:
IP Address
↓
SQL Name
↓
Disk
↓
SQL Service
Các thành phần này được quản lý như một nhóm duy nhất.
Virtual Server
Là tên dịch vụ mà Client truy cập.
Ví dụ:
sql-prod.company.local
Người dùng không cần biết dịch vụ đang chạy trên Node nào.
Heartbeat là gì?
Các Node liên tục gửi tín hiệu:
Heartbeat
cho nhau thông qua mạng riêng của Cluster.
Nếu Heartbeat mất:
Node1 → Không phản hồi
Cluster có thể kết luận:
- Node1 lỗi
- Node1 mất mạng
- Node1 bị treo
và bắt đầu quá trình Failover.
Cluster Storage
Cluster thường sử dụng: Shared Disk
Ví dụ:
- Fibre Channel SAN
- iSCSI SAN
Mọi node đều có thể truy cập cùng một vùng lưu trữ.
Cluster Shared Volumes (CSV)
CSV là công nghệ cho phép:
- Nhiều Node cùng truy cập Storage
- Hỗ trợ Hyper-V Cluster
- Hỗ trợ Live Migration
CSV là nền tảng quan trọng của:
- Hyper-V Failover Cluster
- Storage Spaces Direct (S2D)
Storage Replica
Cho phép:
- Đồng bộ dữ liệu giữa các Server
- Đồng bộ giữa hai Site
- Hỗ trợ Disaster Recovery
Cluster Quorum là gì?
Quorum là cơ chế giúp Cluster quyết định:
"Ai được quyền tiếp tục hoạt động?"
Mục tiêu:
Tránh tình trạng:
Split Brain
khi hai nhóm node cùng nghĩ rằng mình là Active Cluster.
Witness là gì?
Witness là phiếu bầu bổ sung cho Quorum.
Các loại Witness: Disk Witness
Dùng Shared Disk. File Share Witness
Dùng File Server. Azure Cloud Witness
Lưu thông tin Quorum trong Azure Storage.
Azure Cloud Witness rất phù hợp cho:
- Branch Office
- Hybrid Cloud
- Stretch Cluster
Kiến trúc Failover Cluster cơ bản
Một Cluster thường bao gồm:
Clients
|
Public Network
|
+--------------------+
| Node1 Node2 |
| |
| Dedicated Network |
| (Heartbeat) |
| |
| Shared Storage |
+--------------------+
Trong đó:
Public Network
- Kết nối Client và Cluster.
Dedicated Network
- Truyền Heartbeat.
- Đồng bộ Cluster.
Shared Storage
- Chứa dữ liệu và workload.
Các cải tiến của Failover Clustering trên Windows Server 2019
Integration
- Tích hợp Windows Admin Center (WAC)
- Quản trị Cluster trực quan hơn
- Cải thiện Memory Management
- Tối ưu Component Performance
- Cải thiện Scale-Out File Server
- Hỗ trợ Azure-Aware Clusters
- Nâng cấp và bảo trì Cluster dễ dàng hơn
- Giảm thời gian downtime
Một số tính năng mới đáng chú ý
Windows Server 2019 còn bổ sung:
- Cluster Performance History
- Cross-Domain Cluster Migration
- Persistent Memory Support
- System Insights
- Windows Admin Center Integration
Kết luận
Failover Clustering là một trong những công nghệ cốt lõi của Windows Server giúp xây dựng hệ thống High Availability cho các dịch vụ quan trọng như Hyper-V, SQL Server, File Server và Storage Spaces Direct. Mục tiêu của HA không phải là đạt 100% uptime tuyệt đối mà là đạt mức sẵn sàng phù hợp với yêu cầu kinh doanh và ngân sách của tổ chức. Mức 99% uptime vẫn cho phép khoảng 3,65 ngày downtime mỗi năm, trong khi việc nâng từ 99,99% lên 99,999% có thể làm chi phí tăng đột biến. Vì vậy, thiết kế Cluster luôn là sự cân bằng giữa tính sẵn sàng, độ phức tạp và chi phí đầu tư.