Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

Như chúng ta đã biết, để đảm bảo mạng máy tính hoạt động ổn định, máy chủ đóng vai trò quan trọng. Nếu máy chủ gặp sự cố, các hoạt động của hệ thống quản trị cơ sở dữ liệu có thể bị gián đoạn. Để giải quyết vấn đề này, chúng ta cần áp dụng các giải pháp để đảm bảo rằng hệ thống vẫn hoạt động mượt mà, ngay cả khi máy chủ gặp sự cố. Công nghệ Cluster ra đời như một giải pháp lý tưởng cho thách thức này.

Vậy thì Clustering là gì? Hãy cùng khám phá chi tiết vấn đề này trong bài viết dưới đây!

Clustering là gì?

Clustering là một cấu trúc được tạo ra để tối ưu hóa khả năng sẵn sàng của các hệ thống mạng máy tính. Được thiết kế để tạo ra sự kết nối linh hoạt giữa nhiều máy chủ độc lập, Clustering cho phép chúng hình thành một cụm, tăng cường khả năng chịu đựng và chấp nhận các lỗi, nhằm nâng cao tính fault-tolerant của hệ thống mạng.

Clustering là một kiến trúc giúp nâng cao khả năng sẵn sàng cho hệ thống mạng máy tính

Clustering là một kiến trúc giúp nâng cao khả năng sẵn sàng cho hệ thống mạng máy tính

Cluster là một hệ thống tổ hợp của nhiều máy chủ độc lập, chúng được liên kết với nhau theo cách phân tán hoặc song song, tạo ra một nguồn tài nguyên chung. Trong trường hợp một máy chủ gặp sự cố hoặc cần nâng cấp, bảo trì, toàn bộ công việc của máy chủ đó sẽ tự động chuyển giao cho một máy chủ khác trong cùng một cluster, mà không làm ảnh hưởng đến hoạt động tổng thể của hệ thống hoặc gây gián đoạn. Quá trình này được gọi là “fail-over,” và quá trình khôi phục tài nguyên của máy chủ trong cùng một hệ thống (cluster) sau khi sự cố đã được giải quyết được gọi là “fail-back.”

Những yêu cầu khi thiết kế, lắp đặt các Clustering là gì

Để các máy chủ trong hệ thống có thể hoạt động được tốt nhất, khi thiết kế và lắp đặt người dùng cần lưu ý những yêu cầu như:

  • Yêu cầu về tính sẵn sàng cao (High availability): Để giảm thiểu sự ngưng hoạt động một cách ngoài ý muốn hay để hệ thống mạng luôn phục vụ các người dùng cuối yêu cầu các tài nguyên mạng phải luôn sẵn sàng trong khả năng cao nhất.
  • Yêu cầu về độ tin cậy cao (Reliability): Đối với cluster độ tin cậy cao được hiểu là nâng cao khả năng chịu đựng sai sót của hệ thống và có khả năng giảm thiểu tần số xảy ra các sự cố.
  • Yêu cầu về khả năng mở rộng được (Scalability): Hệ thống yêu cầu phải có khả năng nâng cấp dễ dàng để có thể mở rộng trong tương lai. Việc nâng cấp và mở rộng này bao hàm cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ, số lượng người dùng, thêm các ứng dụng và dịch vụ cùng với thêm các tài nguyên mạng khác.

Ba yêu cầu này được gọi là Reliability-Availability-Scalability (viết tắt RAS), những hệ thống đáp ứng đầy đủ ba yêu cầu trên được gọi là hệ thống RAS (khác với Remote Access Service là dịch vụ truy cập từ xa).

Ứng dụng của Cluster trong quản trị cơ sở dữ liệu

Cluster được sử dụng cho các ứng dụng hoạt động liên tục trong thời gian dài, đặc biệt là những ứng dụng Stateful như các máy chủ cơ sở dữ liệu như Microsoft MySQL Server, máy chủ File and Print, và Microsoft Exchange Server. Mọi node trong cùng một Cluster sẽ chia sẻ một không gian lưu trữ dữ liệu chung, có thể sử dụng công nghệ SCSI hoặc Storage Area Network (SAN). Trong ví dụ, Windows 2000 Advance Server có khả năng hỗ trợ 2 node, trong khi Windows 2000 Datacenter Server có thể hỗ trợ 4 node. Đối với Windows Server 2003 Enterprise và Datacenter, chúng hỗ trợ cluster với số lượng node lên đến 8, tăng cường khả năng mở rộng và quản lý hiệu suất cho các ứng dụng yêu cầu tính ổn định và liên tục.

Cluster có tác dụng như thế nào trong quản trị hệ cơ sở dữ liệu?

Clustering là gì, có tác dụng như thế nào trong quản trị hệ cơ sở dữ liệu?

Các ưu điểm của hệ thống Server Cluster

Từ những yêu cầu thiết kế Cluster trên mà hệ thống Server Cluster có những ưu điểm như:

  • Quản lý hệ thống một cách dễ dàng: Người dùng có thể quản lý 1 cluster giống như là 1 hệ thống đơn thông qua việc sử dụng Cluster Administrator tools. Ngoài ra, người dùng cũng có thể di chuyển những ứng dụng giữa các server khác nhau trong 1 Cluster.
  • Cung cấp khả năng dễ mở rộng: những ứng dụng trong Cluster sử dụng tài nguyên hệ thống vượt xa khả năng mà nó có thể cung cấp, người dùng có thể thêm các node vào Cluster với mục đích đáp ứng nhu cầu này hoặc lắp đặt thêm nhiều bộ xử lý hoặc bộ nhớ RAM.
  • Cung cấp tính sẵn sàng cao: hệ thống Cluster mang lại tính sẵn sàng cao cho những ứng dụng và server ngay cả khi phần cứng hay phần mềm gặp vấn đề. Trong trường hợp server của Cluster bị lỗi thì quyền sở hữu tài nguyên của nó là những ổ đĩa và địa chỉ IP sẽ được tự động chuyển đến 1 server khác vẫn còn hoạt động.

Các thành phần của Cluster Service

  • Backup/Restore Manager: Cluster service đưa ra một API được dùng để backup những cơ sở dữ liệu cluster, Backup Cluster Database. Đầu tiên, Backup Cluster Database tương tác với Failover manager, sau đó đẩy yêu cầu đến node có quorum resource. Database manager trên node đó sẽ nhận được yêu cầu và tạo 1 bản backup cho quorum log file và những file checkpoint. Cluster service cũng đưa ra một API khác, Restore Cluster Database để restore cơ sở dữ liệu Cluster từ một backup path.
  • Resource Monitor: được phát triển để cung cấp một giao diện dùng để giao tiếp giữa resource DLLs và Cluster service. Khi cluster cần lấy dữ liệu từ một resource, resource monitor sẽ tiếp nhận yêu cầu và gửi yêu cầu đó đến resource DLL thích hợp. Ngược lại, khi một resource DLL cần báo cáo trạng thái hoạt động của nó hoặc thông báo cho Cluster service một sự kiện, resource sẽ đẩy những thông tin này từ resource đến cluster service
  • Node Manager: đây là thành phần chạy trên mỗi node đồng thời duy trì một danh sách cục bộ các node, network, network interface trong cluster. Dựa vào sự giao tiếp giữa những node, node manager cần đảm bảo cho những node có cùng một danh sách những node đang hoạt động. Node Manager sử dụng những thông tin trong cơ sở dữ liệu cấu hình Cluster để nhận định node nào đã được thêm vào hay bị loại bỏ khỏi Cluster. Node Manager còn có thể theo dõi trên nhiều node khác nhau để tìm ra node bị lỗi. Nếu một node gặp phải sự cố giao tiếp với một node khác, nó gửi broadcast một message tới các node khác để xác nhận lại danh sách các node đang hoạt động trong Cluster. Ngoài ra node Manager còn tham gia vào quá trình tham gia vào Cluster của node. Tại thời điểm đó, Node Manager trên node sẽ thành lập một quá trình giao tiếp với các Node Manager khác để thực hiện quá trình chứng thực.

Node Manager có nhiệm vụ theo dõi các node để tìm ra những node bị lỗi

Node Manager có nhiệm vụ theo dõi các node để tìm ra những node bị lỗi

  • Membership Manager: có nhiệm vụ duy trì một cái nhìn nhất quán về những node hiện đang hoạt động hay bị hỏng tại một thời điểm nhất định trong Cluster. Thành phần này sẽ tập trung chủ yếu vào thuật toán regroup được yêu cầu hoạt động khi có dấu hiệu của một hay nhiều node bị lỗi.
  • Checkpoint Manager: đảm bảo cho việc phục hồi từ resource bị lỗi của Cluster service. Checkpoint Manager tiến hành kiểm tra những khóa registry khi một resource được mang online và ghi dữ liệu checkpoint liên quan đến quorum resource trong trường hợp resource này offline.
  • Database Manager: chạy trên mỗi node, duy trì một bản sao cục bộ của cơ sở dữ liệu cấu hình Cluster (chứa những thông tin về thực thể vật lý và logic trong một Cluster). Những thực thể này bao gồm chính bản thân Cluster, các resource group, các node thành viên, các loại resource và những bản mô tả của các loại resource đặc biệt như là các ổ đĩa và địa chỉ IP. Database Manager sẽ sử dụng Global Update Manager cho việc cập nhật lẫn nhau, tất cả những thay đổi tới các node khác trong cluster. Từ cách hoạt động này, những thông tin cấu hình được duy trì qua Cluster (ngay cả khi một node bị hỏng và khi thay đổi cấu hình Cluster trước khi node đó quay trở lại phục vụ).

Bài viết trên đây cung cấp một cái nhìn tổng quan về Cluster và những kiến thức cơ bản liên quan. Để xây dựng một hệ thống Cluster ổn định, quan trọng nhất là tuân thủ ba nguyên tắc RAS. Hy vọng rằng thông qua nội dung này, độc giả đã nắm bắt được khái niệm về Clustering và hiểu rõ hơn về các thuật ngữ liên quan đến hệ thống này. Đều quan trọng là không quên cập nhật thường xuyên trang web để cập nhật những thông tin mới, kiến thức hữu ích và thú vị về công nghệ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *