Clustering là gì? Những thành phần chính có trong Clustering

1403
06-08-2021
Clustering là gì? Những thành phần chính có trong Clustering

Clustering là một kiến trúc phổ biến và quan trọng trong các hệ thống mạng hiện đại, nhất là với các hệ thống máy chủ và trung tâm dữ liệu. Vậy clustering là gì và nó có những tác dụng gì trong việc cải thiện hiệu năng điện toán? Hãy cùng Bizfly Cloud tìm hiểu trong bài viết hôm nay.

Clustering là gì?

Clustering là hệ thống kiến trúc bao gồm các máy chủ Server được kết nối và hoạt động chặt chẽ với nhau. Hệ thống kiến trúc này giúp khách hàng đảm bảo tính khả dụng cao của các hệ thống mạng. Những máy chủ Server trong Clustering được kết nối theo dạng phân tán hoặc song song trong cùng hệ thống nhằm trao đổi và giao tiếp các thông tin cần thiết để thực hiện yêu cầu.

Khi một trong các máy chủ xảy ra sự cố, Clustering sẽ tự động trao quyền hoạt động cho máy chủ khác trong cùng hệ thống. Từ đó, hệ thống vẫn sẽ hoạt động bình thường mà không gây ra việc ngắt hoặc gián đoạn hoạt động. Quá trình này được gọi với tên thuật ngữ là "Failover". Ngoài ra, Clustering còn quá trình phục hồi tài nguyên Server có tên thuật ngữ là "Failback".

Clustering là gì

Clustering là hệ thống kiến trúc gồm các máy chủ Server được kết nối với nhau

Ưu điểm của hệ thống máy chủ Clustering

Hệ thống máy chủ Clustering mang đến 4 ưu điểm cho người dùng:

  • Tăng khả năng cung cấp tài nguyên: Nếu một trong những máy chủ gặp vấn đề hoặc đang trong giai đoạn nâng cấp, sửa chữa thì Clustering có thể tự động chuyển tài nguyên sang máy chủ khác cùng hệ thống, bảo đảm không làm tốn thời gian hoặc làm mất tài nguyên quan trọng.
  • Đơn giản hóa quá trình quản lý: Người dùng hoàn toàn quản lý hệ thống dễ dàng thông qua Cluster Administrator tools. Nhờ Cluster Administrator tools, khách hàng không chỉ quản lý được toàn bộ máy chủ mà còn cả ứng dụng trên máy chủ đó. Không những thế, công cụ quản lý này giúp người dùng dễ dàng di chuyển ứng dụng từ máy chủ này qua máy chủ khác.
  • Tăng hiệu suất: Nhiều hệ thống Clustering có hiệu suất xử lý cao, đảm bảo khả năng hoạt động nhanh chóng và mạnh mẽ, tiết kiệm thời gian cho người dùng.
  • Dễ dàng mở rộng: Đôi lúc, khách hàng sử dụng các ứng dụng vượt quá tài nguyên của Clustering. Khi đó, hệ thống sẽ cấp quyền cho khách hàng thêm các bộ nhớ RAM, node, bộ xử lý,… vào hệ thống.
Ưu điểm của hệ thống máy chủ Clustering

Hệ thống máy chủ Clustering giúp tăng khả năng cung cấp tài nguyên

Những thành phần có trong Clustering

Mỗi hệ thống Clustering đều có các thành phần như sau:

  • Resource Monitor: Cung cấp lớp giao tiếp, xử lý và giám sát giữa Cluster service và resource DLLs. Resource Monitor luôn hoạt động với quy trình tách biệt với Cluster service. Để lấy dữ liệu từ tài nguyên, Resource Monitor có nhiệm vụ tiếp nhận yêu cầu, đồng thời truyền tải yêu cầu đến resource DLL. Ngoài ra, nếu resource DLL thông báo cho Cluster service về trạng thái hoạt động thì Resource Monitor sẽ đem thông tin này truyền tải tới Cluster service.
  • Backup/Restore Manager: Đây là API (Application Programming Interface – phương thức trung gian kết nối) tiếp nhận yêu cầu của Cluster service và có nhiệm vụ backup dữ liệu. Đầu tiên, dữ liệu được backup (Backup Cluster Database) sẽ tương tác qua lại với Failover Manager và truyền thông báo tới node chứa Quorum Resource. Sau đó, node sẽ tạo bản dữ liệu backup dành cho file Checkpoint và Quorum Log file.
  • Membership Manager: Có nhiệm vụ phụ trách quản lý, duy trì tất cả node thuộc về Clustering đồng thời gán các thuộc tính cho từng node. Membership Manager duy trì node bao gồm các node hoạt động và các node bị hư. Với thuật toán Regroup, Membership Manager sẽ hoạt động bất kỳ lúc nào nếu có một hoặc nhiều node bị lỗi cùng lúc.
  • Checkpoint Manager: Bảo đảm hệ thống Clustering được hồi phục từ nguồn tài nguyên bị lỗi. Checkpoint Manager sẽ thực hiện công việc kiểm tra khóa Registry khi nguồn tài nguyên trong trạng thái ngoại tuyến (offline). Khi nguồn tài nguyên ở trạng thái trực tuyến (online), Checkpoint Manager sẽ ghi lại dữ liệu của Checkpoint và chuyển đến Quorum Resource.
Những thành phần có trong Clustering

Lưu ý khi lắp đặt hệ thống Clustering

Khi lắp đặt hệ thống Clustering, người dùng cần lưu ý và đảm bảo về 3 yêu cầu RAS (Reliability – Availability - Scalability) sau:

  • Độ tin cậy cao (High Reliability): Khả năng chịu đựng được các sai sót, lỗi của hệ thống là điều vô cùng quan trọng. Điều này sẽ góp phần giảm thiểu tần số nếu lỗi hệ thống xảy ra.
  • Tính khả dụng cao (High Availability): Nguồn tài nguyên luôn phải trong trạng thái sẵn sàng ở mức độ khả năng cao nhất để khách hàng sử dụng. Nếu nguồn tài nguyên không đủ sẽ dễ gây tình trạng dừng hoạt động của hệ thống Clustering.
  • Khả năng mở rộng (Scalability): Sau thời gian dài sử dụng, hệ thống phải có khả năng mở rộng về mặt nâng cấp. Khách hàng có thể nâng cấp hệ thống bằng nhiều hình thức khác nhau như thêm máy tính, thêm thiết bị, thêm người dùng, thêm dịch vụ hoặc ứng dụng,… đảm bảo nhu cầu sử dụng.
Lưu ý khi lắp đặt hệ thống Clustering

Lắp đặt hệ thống Clustering cần đảm bảo 3 yêu tố Reliability – Availability - Scalability

Cách hoạt động của Clustering

Node hay còn được gọi là máy chủ của Clustering. Mỗi node đều có thể thiết lập một trong hai trạng thái là chủ động (active) hoặc bị động (passive). Khi node ở trạng thái chủ động, node sẽ tự động xử lý những yêu cầu được truyền tải. Ngược lại nếu node ở trạng thái bị động, node sẽ ở chế độ dự phòng nóng (Hot standby) và có nhiệm vụ thay thế node khác khi node khác gặp trục trặc.

Đối với Clustering, hệ thống bao gồm nhiều node chủ động lẫn bị động bên trong. Hệ thống Clustering vô cùng quan trọng trong công việc phân loại node chủ động hoặc bị động dựa vào những trường hợp đặc biệt sau:

Khi node chủ động gặp lỗi, tất cả dữ liệu, ứng dụng,… của node chủ động sẽ được chuyển sang cho node bị động. Node bị động khi ấy sẽ đóng vai trò chính trong việc chạy ứng dụng, dịch vụ thay node bị động mà không gây ảnh hưởng tới những dịch vụ, ứng dụng khác.

Đối với trường hợp hệ thống toàn node chủ động, khi một trong những node chủ động gặp lỗi, tất cả ứng dụng, dịch vụ được chuyển qua node chủ động khác. Khác với node bị động, node chủ động đã được đảm nhiệm chạy ứng dụng hay dịch vụ, khi có ứng dụng và dịch vụ của node khác truyền qua thì node chủ động sẽ phải hoạt động với năng suất gấp đôi. Do đó, node này phải được đảm bảo có dư tài nguyên, cấu hình nhằm giúp hệ thống hoạt động bình thường.

Khi Clustering hoạt động với số node đa phần là node chủ động thì người dùng cần chuẩn bị hệ thống có bộ nhớ, tài nguyên mạnh. Việc chuẩn bị tài nguyên, bộ nhớ mạnh giúp hệ thống xử lý được khối công việc dễ dàng, đồng thời đề phòng trường hợp có node bị lỗi khi hoạt động.

Đa phần tất cả node trong cùng hệ thống Clustering chính là một bộ phận của một miền (Domain) được cấu hình như Server thành viên hoặc máy điều khiển miền (Domain Controller). Để hệ thống hoạt động tốt, khách hàng tốt nhất nên sử dụng nhiều node và có một node để giải quyết việc Failover và một node làm máy điều khiển miền Domain Controller.

Hi vọng qua bài viết này, các bạn đã có cái nhìn tổng thể về Clustering và cách hoạt động, lưu ý gì khi lắp đặt Clustering. Bizfly Cloud sẽ tiếp tục cập nhật những kiến thức về kiến trúc mạng nói chung và clustering nói riêng trong các bài viết tiếp theo.

SHARE