Ứng dụng của Clustering là gì trong quản trị cơ sở dữ liệu
Như chúng ta đã biết để mạng máy tính được hoạt động trong tình trạng ổn định phụ thuộc rất lớn vào máy chủ. Nếu có bất kỳ sự cố xảy ra đối với máy chủ, những hoạt động của hệ thống quản trị cơ sở dữ liệu sẽ bị ngưng trệ. Cũng chính vì lý do này, chúng ta cần có những giải pháp để đảm bảo hệ thống vẫn hoạt động bình thường ngay cả khi có sự cố xảy ra tại máy chủ và công nghệ Cluster chính là câu trả lời lý tưởng nhất cho vấn đề này. Vậy rốt cuộc Clustering là gì, cùng tìm hiểu tại bài viết dưới đây nhé!
Nội Dung
Clustering là gì?
Clustering là một kiến trúc được tạo ra nhằm đảm bảo nâng cao khả năng sẵn sàng cho các hệ thống mạng máy tính. Clustering cho phép nhiều máy chủ riêng lẻ có thể kết nối với nhau tạo thành một cụm và có khả năng chịu đựng hay chấp nhận những sai sót (fault-tolerant) nhằm mục đích nâng cao độ sẵn sàng của hệ thống mạng.
Bạn đang xem: Ứng dụng của Clustering là gì trong quản trị cơ sở dữ liệu
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 gồm nhiều server riêng lẻ được kết nối với nhau theo dạng phân tán hoặc song song và được sử dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do gặp phải sự cố hoặc để nâng cấp, bảo trì, thì toàn bộ công việc của máy chủ này sẽ được tự động chuyển cho một máy chủ khác trong cùng một cluster mà không làm ảnh hưởng đến những hoạt động của hệ thống hay ngắt hệ thống. Quá trình này gọi là “fail-over” và việc phục hồi những tài nguyên của một máy chủ trong cùng hệ thống (cluster) được gọi là “fail-back”.
Những yêu cầu khi thiết kế, lắp đặt các Clustering là gì
Xem thêm : Kỹ sư là gì? Giới thiệu những ngành kỹ sư được quan tâm nhất hiện nay
Để 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).
Bạn đọc tham khảo thêm:Jira là gì và những thuật ngữ mà bạn cần biết khi sử dụng Jira
Ứng dụng của Cluster trong quản trị cơ sở dữ liệu
Cluster được dùng cho các ứng dụng các ứng dụng hoạt động thường xuyên trong thời gian dài (Stateful applications) bao gồm các database server như là Microsoft MySQL Server, File and Print Server, Microsoft Exchange Server,…
Tất cả các node trong cùng một Cluster sẽ dùng chung một nơi lưu trữ dữ liệu để có thể dùng công nghệ SCSI hoặc Storage Area Network (SAN). Windows 2000 Advance Server hỗ trợ 2 node, Windows 2000 Datacenter Server được 4 node trong khi đó Windows Server 2003 Enterprise và Datacenter hỗ trợ cluster lên đến 8 node.
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
- 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ụ).
Trên đây là tổng quan về Cluster và những kiến thức cơ bản về nó. Để có được hệ thống Cluster ổn định các bạn đừng quên 3 nguyên tắc RAS trên nhé. Hy vọng qua bài viết các bạn đã hiểu hơn về Clustering là gì và những thuật ngữ liên quan đến hệ thống này. Đừng quên cập nhật trang web thường xuyên để thu nạp những kiến thức hay và thú vị về công nghệ nhé.
Nguồn: https://25giay.vn
Danh mục: Hỏi Đáp