Cluster là gì? Những lợi ích của hệ thống Cluster Server

1301
12-07-2021
Cluster là gì? Những lợi ích của hệ thống Cluster Server

Cluster hay cụm máy chủ là cụm từ có lẽ đã khá quen thuộc với những ai quan tâm đến lĩnh vực công nghệ. Trong bài viết hôm nay, Bizfly Cloud sẽ giúp bạn có cái nhìn sâu hơn về cluster và những ưu điểm của nó.

Cluster là gì?

Cluster (cụm) là một tập hợp các máy tính/máy chủ phối hợp hoạt động với nhau như một hệ thống đơn nhất. Mỗi máy tính/máy chủ trong cluster được gọi là một node (nút), các node thực hiện cùng một tác vụ được điều khiển và lên lịch bằng phần mềm.

Các thành phần của một cluster thường được kết nối với nhau bằng mạng LAN tốc độ cao, với mỗi node đều có hệ điều hành riêng. Trong phần lớn các trường hợp, các node sử dụng chung cấu hình phần cứng, cùng hệ điều hành với nhau, tuy nhiên cũng có một số ngoại lệ như các hệ thống sử dụng Open Source Cluster Application Resources (OSCAR) có thể cấu hình với các node khác nhau về cấu hình và hệ điều hành.

Cluster thường được triển khai để cải thiện hiệu suất (performance) và tính khả dụng (availability) so với các hệ thống một máy chủ cấu hình cao, trong khi tiết kiệm chi phí hơn nhiều do không yêu cầu phần cứng tốt nhất và các công nghệ phức tạp.

Cluster là gì? Những thông tin cần biết

Những thông tin cần biết về Cluster

Những lợi ích của hệ thống Cluster

Tính sẵn sàng cao

Cluster có thể được tổ chức theo mô hình điện toán song song hay phân tán, nhưng lợi ích nhắm tới vẫn là đảm bảo tính sẵn sàng hệ thống bất chấp cả các lỗi phát sinh (fault-tolerance).

Nhờ các node hoạt động phối hợp cùng nhau, khi một node nào đó trong cluster bị lỗi hay tạm ngừng hoạt động để bảo trì, nâng cấp thì phần công việc do node đó chịu trách nhiệm sẽ được chuyển giao cho một node khác trong cùng cluster. Khả năng này gọi là failover và nó giúp toàn hệ thống vận hành liên tục không bị gián đoạn, còn quá trình phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là "failback".

Dễ mở rộng

Cũng giống với việc loại bỏ các node gặp lỗi và giao công việc cho các node khác, cấu trúc cluster còn cho phép bổ sung các node mới vào cluster khi cần thiết một cách dễ dàng. Điều này giúp tăng khả năng chịu tải của toàn hệ thống

Dễ quản lý

Các nền tảng cluster đều cung cấp bộ công cụ dành cho quản trị viên - Cluster Administrator Tools giúp quản lý toàn bộ cluster như một hệ thống đơn trong khi vẫn cung cấp sự kiểm soát đến từng ứng dụng chạy trên các server thành phần. Một số khả năng đáng kể của công cụ quản trị là:

  • Di chuyển các ứng dụng giữa các server khác nhau bên trong một Cluster.
  • Chuyển đổi khối lượng công việc giữa các server hay đặt server bất kỳ ở trạng thái không hoạt động cho kế hoạch bảo trì.
  • Giám sát trạng thái của Cluster, tất cả các node và tài nguyên từ bất kỳ nơi nào trong mạng.

Hiệu suất tốt so với chi phí bỏ ra

Trong thế giới phần cứng máy tính, đắt gấp đôi không bao giờ đồng nghĩa với mạnh gấp đôi, nhất là khi xét đến những phần cứng ở phân khúc cao cấp nhất. Dĩ nhiên có những ứng dụng mà một phần cứng mạnh hoạt động hiệu quả hơn nhiều phần cứng trung bình. Tuy nhiên xét đến quy mô lớn thì với cùng chi phí bỏ ra, một hệ thống cluster có thể cung cấp sức mạnh lớn hơn là một server đơn lẻ có cấu hình cao.

Cluster là gì? Hiệu suất tốt so với chi phí bỏ ra khi dùng Cluster

Hiệu suất tốt hơn so với chi phí bỏ ra khi dùng Cluster

Những thuật ngữ hay dùng trong hệ thống Cluster Server

  • Cluster: hệ thống các server được kết nối vận hành song song để cung cấp khả năng chịu lỗi (fault tolerance) và cân bằng tải (load balancing).
  • Node: một server trong hệ thống cluster.
  • Failover: quá trình chuyển phần tải công việc và tài nguyên (resource) cần thiết trên node lỗi/ngừng hoạt động sang một node khác để xử lý tiếp.
  • Failback: Khi một node trở lại phục vụ, Cluster trả lại quyền sở hữu tài nguyên cho nó và nó sẵn sàng để thực hiện yêu cầu
  • Quorum resource: chứa đựng và duy trì những thông tin cấu hình cần thiết cho việc phục hồi Cluster Resource.
  • Resource group: tập hợp logic của các resource trong một Cluster. Một resource group tiêu biểu được tạo ra bởi các resource liên kết logic với nhau như các ứng dụng, các thiết bị ngoại vi và dữ liệu hoạt động của các ứng dụng đó.
Một vài thuật ngữ hay dùng trong hệ thống của Cluster Server

Các thành phần trong Cluster Service

  • Resource DLLs: chịu trách nhiệm thực hiện hầu hết hoạt động trên các tài nguyên của cluster, trong khi cung cấp một giao tiếp tiêu chuẩn cho các thành phần của cluster.
  • Database Manager: chạy trên mỗi node và duy trì một bản sao lưu cục bộ của cơ sở dữ liệu cấu hình Cluster.
  • Backup/Restore Manager: là một API sử dụng để sao lưu khôi phục cơ sở dữ liệu cluster.
  • Resource Monitor: cung cấp phương thức giao tiếp giữa resource DLLs và Cluster service.
  • Node Manager: chạy trên mọi node, duy trì 1 danh sách thống nhất những node và tài nguyên cùng trạng thái hoạt động của chúng trong cluster.
  • Membership Manager: duy trì cái nhìn nhất quán về những node trong Cluster hiện đang hoạt động hay bị hỏng tại 1 thời điểm nhất định.
  • Checkpoint Manager: đảm bảo cho việc phục hồi từ resource bị lỗi, Checkpoint Manager tiến hành kiểm tra những khóa registry khi một tài nguyên được sử dụng và ghi dữ liệu checkpoint đến quorum resource trong trường hợp resource này offline.
  • Log Manager: cùng với Checkpoint Manager tương tác với nhau đảm bảo rằng recover log trên quorum resource chứa đựng dữ liệu cấu hình mới nhất và các checkpoint thay đổi.

Nguyên tắc hoạt động của Cluster Server

Một cluster server có thể ở hai trạng thái: chủ động (active) và thụ động (passive).

Các server ở trạng thái chủ động sẽ chịu trách nhiệm thực hiện xử lý công việc trong cluster, trong khi các node thụ động được đặt ở trạng thái chờ (standby) để thay thế các node chủ động lỗi (failover) hay xử lý khi tải công việc tăng quá khả năng của các node đang hoạt động (load balancing).

Cluster được coi là một vùng (domain) và mỗi domain cũng cần có những node đóng vai trò điều phối công việc (domain controller) và các node thành viên. Trong khi các node thành viên thực hiện xử lý có node dự phòng thi các domain controller cũng cần có ít nhất một node dự phòng để tránh phụ thuộc toàn bộ vào một node điều phối.

Dữ liệu trong cluster được lưu trữ tập trung và mọi node đều hoạt động trên các dữ liệu tập trung đó. Bằng cách này, việc chuyển giao công việc giữa các node trong cluster diễn ra đơn giản hơn và rủi ro xảy ra với dữ liệu khi các node gặp lỗi cũng được giảm xuống tối thiểu.

Nhờ kiến trúc và những tính năng vượt trội, công nghệ Cluster đã được áp dụng vào trong các máy chủ, giúp cho việc xử lý và quản trị dữ liệu được tự động, an toàn và có thể dễ dàng phục hồi khi xảy ra sự cố. Hi vọng các bạn đã có những thông tin hữu ích về công nghệ cluster qua bài viết hôm nay.

TAGS: Cluster
SHARE
Hỗ trợ kỹ thuật
Kinh doanh, CSKH