Windows failover clustering là công nghệ của Microsoft để cung cấp tính sẵn sàng cao tại cấp độ máy chủ. Windows failover clustering cơ bản là liên quan đến việc sử dụng nhiều server trong một nhóm hoặc cụm (cluster). Nếu một trong các server trong cluster có một lỗi từ hệ thống, khi đó một trong các server khác trong cluster sẽ đảm nhận khối lượng công việc của server bị lỗi đó. Mỗi server vật lý trong cluster được gọi là một node, và các node làm việc cùng nhau để tạo thành cluster. Tất cả các node trong một failover cluster liên tục giao tiếp với nhau. Nếu một trong các node trong cluster mất liên lạc với các node khác trong cluster thì một trong những node khác sẽ tự động nhận nhiệm vụ của mình là đảm nhận các dịch vụ của node bị mất liên lạc đó. Quá trình này được gọi là failover. Node bị hỏng đó sẽ được khôi phục lại. Quá trình này được gọi là failback.
Khi hệ thống có node bị downtime, Windows failover cluster sẽ khởi động lại các dịch vụ bị lỗi hay các ứng dụng trên một trong các node còn lại. Thời gian cần thiết để hoàn thành failover phụ thuộc một phần vào phần cứng được sử dụng và phần còn lại là vào chất lượng của dịch vụ hoặc ứng dụng.
Amazon Elastic Block Store (EBS) là một dịch vụ lưu trữ trong đám mây của Amazon Web Services (AWS) cung cấp các ổ đĩa có thể gắn kết vào các máy ảo EC2 (Elastic Compute Cloud). “EBS Multi-Attach” là một tính năng mới trong EBS, giúp nhiều máy ảo EC2 kết nối đồng thời với một ổ đĩa EBS. Trước khi tính năng Multi-Attach xuất hiện, mỗi ổ đĩa EBS chỉ có thể được gắn kết vào một máy ảo EC2 duy nhất tại một thời điểm. Multi-Attach mở rộng khả năng này, cho phép nhiều máy ảo kết nối cùng một lúc với cùng một ổ đĩa EBS. Điều này mang lại nhiều lợi ích, bao gồm: Chia sẻ dữ liệu giữa các máy ảo: Các máy ảo có thể chia sẻ và truy cập dữ liệu từ cùng một ổ đĩa EBS mà không cần sao chép dữ liệu qua lại giữa các ổ đĩa riêng lẻ. Giảm thời gian khôi phục dữ liệu: Trong trường hợp một máy ảo bị sự cố, máy ảo khác có thể ngay lập tức kết nối và tiếp tục sử dụng ổ đĩa EBS mà không cần phải chờ đợi quá trình khôi phục dữ liệu. Thích ứng với các kiến trúc linh hoạt: Multi-Attach hỗ trợ việc triển khai các ứng dụng và kiến trúc hệ thống yêu cầu tính sẵn sàng cao và chia sẻ dữ liệu giữa nhiều máy ảo. Lưu ý rằng không tất cả các loại ổ đĩa EBS đều hỗ trợ Multi-Attach, và tính năng này chỉ được hỗ trợ cho một số loại máy ảo EC2 cụ thể. Bạn cần kiểm tra tài liệu chính thức của AWS để đảm bảo rằng bạn đang sử dụng các nguồn tài nguyên hỗ trợ Multi-Attach.
Cluster Node: Mỗi server tham gia trong cluster được gọi là một cluster node. Chúng cần được kết nối với nhau. Các cluster node phải liên lạc thường xuyên với nhau để xác định tình trạng của từng node. Kết nối này được gọi là cluster heartbeat. Tất cả cluster node cần phải chạy cùng một phiên bản của Windows Server. Ví dụ, tất cả đều phải chạy Windows Server 2022.
Cluster Service: Cluster Service là thành phần chính để điều khiển hoạt động của failover cluster. Cluster Service chạy trên tất cả cluster node và được quản lý bởi Failover Cluster Manager.
Địa chỉ IP ảo và tên của Cluster: Địa chỉ IP ảo và tên cluster được đặt duy nhất cho các cluster, và chúng khác nhau về giá trị tùy thuộc vào từng cluster node. Địa chỉ IP ảo và tên cluster là các thông tin mà các client đã kết nối với nhau sử dụng để kết nối với cluster. Điều này cho phép các client minh bạch trong kết nối với cluster service và application sau quá trình failover.
Cluster Quorum: Mục đích của các cluster quorum là xác định node nào sẽ tham gia vào cluster trong trường hợp hỏng phần cứng, mạng ngừng hoạt động và các cluster node không giao tiếp được với nhau. Windows failover cluster hỗ trợ nhiều loại quorum để giải quyết các cách sắp xếp cluster và sự khác nhau về số lượng node.
Service và Application: Các service và application của cluster về cơ bản được định nghĩa là duy nhất trong failover. Trong các phiên bản trước của failover clustering, chúng đã được định nghĩa như là các nhóm tài nguyên. Tại bất kỳ thời điểm nào service hoặc application chỉ được sở hữu bởi một cluster node. Nếu cluster node đó bị fail thì cluster node khác sẽ sở hữu nhóm resource[1] và khởi động trên node đó. Ta có thể cấu hình các node ưu tiên mà một service hay application sẽ failover. Các tài nguyên sẽ được kiểm tra trạng thái bằng một công cụ có tên là LooksAlive, nó sẽ kiểm tra tình trạng hoạt động cho các application. Mặc định thì SQL Server dùng LooksAlive để test trạng thái 5s/lần.
Shared Storage: Cluster yêu cầu phải có 1 ổ lưu trữ chung vì nó không thể xây dựng bằng cách truy cập lưu lượng trực tiếp được. Ổ lưu trữ chung ở đây có thể dùng iSCSI SAN (storage area network) hoặc Fibre Channel SAN. Đối với SQL Server một shared disk resource chứa tất cả hệ thống và user database, log, các FileStream, và tích hợp file full-text search. Trong trường hợp failover, các đĩa được định vị vào một backup node, và khi đó dịch vụ SQL Server sẽ được khởi động lại trên node đó.
Windows failover clustering cung cấp các chức năng chính sau: