Hệ thống Windows Failover Clustering

24/01/2018

Server Cluster là một mô hình được đưa ra nhằm đáp ứng được các nhu cầu ngày càng gia tăng trong việc truy xuất các ứng dụng có tính chất quan trọng như thương mại điện tử, database … Các ứng dụng này phải có khả năng chịu được lỗi cao, luôn đáp ứng được tính sẵn sàng và khả năng có thể mở rộng hệ thống khi cần thiết. Các khả năng của Server Cluster giúp cho hệ thống có thể tiếp tục được hoạt động và cung cấp dịch vụ luôn luôn được sẵn sàng ngay cả khi hệ thống có thể xảy ra lỗi như hỏng ổ đĩa hay server bị down
Mô hình Server Cluster bao gồm nhiều server riêng lẻ được liên kết và hoạt động cùng với nhau trong một hệ thống. Các server này giao tiếp với nhau để trao đổi thông tin lẫn nhau và giao tiếp với bên ngoài để thực hiện các yêu cầu. Khi có lỗi xảy ra, các service trong Cluster hoạt động tương tác với nhau để duy trì tính ổn định và tính sẵn sàng cao cho Cluster.

1. Giới thiệu
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.
2.jpg
2. Các thành phần của Windows Failover Cluster
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 2012.
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 Storange
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 đó.
3. Chức năng của Windows Failover Cluster
Windows failover clustering cung cấp các chức năng chính sau:
   - Automatic failover: khi một node fail, cluster sẽ tự động chuyển các service đến một node dự phòng khác.
   - Rapid failover: quá trình failover hoàn tất chỉ trong khoảng 30s.
   - Transparent to clients: sau khi failover, các client có thể ngay lập tức kết nối lại vào cluster mà không phải thay đổi đường mạng khác.
   - Transactional integrity: Không bị mất dữ liệu. Đối với SQL Server, tất cả các committed transaction được lưu và cấp lại cho database sau khi quá trình failover  hoàn tất.
4. Các điểm mới của Windows Failover Cluster 2012
Trong Windows server 2008 R2 ta có thể tạo ra cụm tối đa là 16 node. Nếu ta muốn chạy Failover Cluster Hyper-V, ta có thể chạy khoảng 1000 máy ảo trên các node của cluster. Giới hạn của các node chỉ tối đa 384 máy ảo. Nhưng đối với Windows Server 2012 ta có thể chạy được 64 node và số máy ảo có thể lên đến 4000 máy ảo.
Windows Server 2012 cũng cho phép tiết kiệm được chi phí trên phần mền, bởi vì lý do đơn giản là clustering failover được tích hợp sẵn trong phiên bản Windows Server 2012 Standard. Đó là một tin đáng mừng cho những doanh nghiệp vừa và nhỏ nếu muốn sử dụng tính năng failover clustering.
Sau đây là một số tính năng mới của failover clustering trong Windows Server 2012
Cập nhật Cluster Failover dễ dàng hơn
Hệ thống của ta đã triển khai sẵn failover clustering rồi, để cập nhập các bản vá lỗi về bảo mật cho các node trong cluster thì bắt buộc phải làm thủ công. Đó là một quá trình hết sức phức tạp và khó khăn. Nhưng trong Windows Server 2012 tính năng cluster-Aware là một tính năng cập nhập quá trình tự động liên tục. Tính năng này người quản trị có thể cập nhập bằng tay hoặc bằng giao diện người dùng CAU hoặc sử dụng powershell cmdlets. Cluster-Aware có thể cập nhập qua windows update hoặc windows update services. Khi CAU chạy nó sẽ dịch chuyển các máy ảo từ một node trong cluster bằng cách sử dụng Quick Migration hoặc Live Migration[2], sau đó cài đặt các node ở chế độ bảo trì để cho các khối lượng công việc không di chuyển trong quá trình cập nhập và sau đó tải và khởi động bản cập nhập cho các node cần thiết. quá trình này sẽ được lặp đi lặp lại khi các node đã được cập nhập.
Hyper-V and Failover Clustering
Microsoft đã thực hiện rất nhiều công việc để tích hợp Failover Clustering và Hyper-V trong Windows Server 2012. Điều này quan trọng bởi vì Windows Server 2012 được coi là một hệ thống của hệ điều hành đám mây và Failover Clustering Hyper-V là một phần quan trọng của các cơ sở hạ tầng như một thành phần (IaaS) dịch vụ của Windows Server 2012 trong các đám mây.
Ưu tiên Virtual Machine Failover
Ta có thể thiết lập các ưu tiên máy ảo để kiểm soát một cách tuần tự. Điều này cho phép cung cấp cho máy ảo ưu tiên cao hơn các nguồn tài nguyên mà chúng cần trong khi máy ảo ưu tiên thấp hơn được đưa ra. Điều này làm cho một quá trình chuyển đổi hiệu quả cluster một khối lượng công việc lớn.
Active Directory mới
Với Failover Clustering trong Windows Server 2008, việc tạo ra một Access Point (CAP) trong một cluster của các đối tượng máy tính được tạo ra bằng Active Directory. Đối với Windows Server 2012 dịch vụ cluster chạy bằng cách sử dụng một tài khoản của hệ thống trên mỗi nút cluster.
Ngoài ra còn có một số tính năng mới khác nữa như là: Continuous Avability, Clustered shared Volumes (CSV),…