Cluster là gì? Nguyên tắc hoạt động trong công nghệ máy tính
06/08/2020Cluster là giải pháp đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ. Vậy cluster là gì? Nguyên tắc hoạt động của cluster như thế nào? Hãy cùng Viettel IDC tìm hiểu chi tiết thông qua bài viết sau.

Cluster là gì?
Cluster là một hệ thống gồm nhiều máy chủ được kết nối với nhau và hoạt động như một đơn vị thống nhất. Trong trường hợp một máy chủ ngừng hoạt động, toàn bộ công việc mà máy chủ này đảm nhận sẽ được tự động chuyển sang cho một máy chủ khác (trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail-over” và việc phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail-back”.
Xem thêm:
- Kubernetes là gì? Chức năng và cơ chế hoạt động của k8s
- Node group là gì? Tầm quan trọng trong quản lý Kubernetes
- Kubernetes Pod là gì? Tìm hiểu chi tiết về Kubernetes Pod
Thuật ngữ được dùng trong hệ thống Cluster
Dưới đây là một số thuật ngữ thường gặp khi sử dụng cluster:
- Node: Một máy chủ thuộc một Cluster nào đó.
- Failover: Quá trình chuyển đổi tự động từ node gặp sự cố sang một node bình thường.
- Failback: Quá trình trả lại quyền sở hữu tài nguyên khi một node khắc phục xong sự cố và hoạt động trở lại.
- Quorum Resource: Chứa những cấu hình cần thiết để phục hồi Cluster Resource (Cluster Resource gồm ổ đĩa, network card, địa chỉ IP, ứng dụng và cơ sở dữ liệu của ứng dụng).
- Resource Group: Là một tập hợp các tài nguyên có liên quan chặt chẽ trong một cụm (Cluster). Tập hợp này thường bao gồm các ứng dụng, thiết bị ngoại vi và dữ liệu liên quan đến ứng dụng. Ngoài ra, Resource Group còn có thể chứa các thực thể của cụm như máy chủ ảo và địa chỉ IP khi cần thiết.
Thành phần trong Cluster
- Backup/Restore Manager: Để sao lưu cơ sở dữ liệu của cụm, Cluster cung cấp một API có tên là BackupClusterDatabase. API này sẽ tương tác với thành phần quản lý lỗi để xác định node đang đảm nhiệm vai trò chủ trong cụm. Tiếp theo, yêu cầu sao lưu sẽ được chuyển đến node chủ này. Trên node chủ, hệ thống quản lý cơ sở dữ liệu sẽ được kích hoạt để tạo bản sao lưu cho các file log và file checkpoint của quorum, đây là những file quan trọng để phục hồi cơ sở dữ liệu khi cần.
- Resource Monitor: Đóng vai trò là cầu nối giữa các resource DLLs và Cluster. Khi cần truy xuất thông tin từ một tài nguyên, Resource Monitor sẽ chuyển yêu cầu tới DLL tương ứng. Ngược lại, các DLL sẽ thông báo trạng thái hoặc sự kiện của chúng cho Resource Monitor, và từ đó, thông tin này sẽ được truyền đến dịch vụ Cluster service.
- Node Manager: Giữ nhiệm vụ tìm node lỗi và xác định node nào được thêm hoặc loại bỏ khỏi cluster.
- Checkpoint Manager: Có chức năng đảm bảo cho việc phục hồi từ resource bị lỗi. Khi một tài nguyên được đưa vào hoạt động, trình quản lý này sẽ kiểm tra các khóa đăng ký (registry) liên quan. Nếu tài nguyên bị ngừng hoạt động, trình quản lý sẽ ghi lại thông tin kiểm tra vào tài nguyên quorum để phục hồi dữ liệu sau này.
Xem thêm:
- Kubernetes và Docker khác gì nhau? Nên lựa chọn công nghệ nào?
- Docker là gì? Cách cài đặt và sử dụng docker chi tiết A - Z
- Công nghệ Container là gì? Lợi ích và hạn chế khi sử dụng
Các yêu cầu khi thiết kế và lắp đặt các Cluster
- Yêu cầu về tính sẵn sàng cao (High availability): Các tài nguyên mạng phải luôn sẵn sàng trong khả năng cao nhất để cung cấp và phục vụ các người dùng cuối và giảm thiểu sự ngưng hoạt động hệ thống ngoài ý muốn.
- Yêu cầu về độ tin cậy cao (reliability): Độ tin cậy cao của cluster được hiểu là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót của hệ thống.
- Yêu cầu về khả năng mở rộng được (scalability): Hệ thống phải có khả năng dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng 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ụ, cũng như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tài nguyên mạng khác.
Ba yêu cầu này được gọi tắt là RAS (Reliability-Availability-Scalability), những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (khác với với Remote Access Service là dịch vụ truy cập từ xa).
Cơ chế hoạt động của Cluster
Mỗi máy chủ trong cluster được gọi là một node (cluster node), và có thể được thiết lập ở chế độ chủ động (active) hay thụ động (passive). Khi một node ở chế dộ chủ động, nó sẽ chủ động xử lý các yêu cầu. Khi một node là thụ động, nó sẽ nằm ở chế độ dự phòng nóng (stanby) chờ để sẵn sàng thay thế cho một node khác nếu bị hỏng.
Trong một Cluster có nhiều node có thể kết hợp cả node chủ động và node thụ động. Trong những mô hình loại này việc quyết định một node được cấu hình là chủ động hay thụ động rất quan trọng. Để hiểu lý do tại sao, hãy xem xét các tình huống sau:
- Nếu một node chủ động bị sự cố và có một node thụ động đang sẵn sàng, các ứng dụng và dịch vụ đang chạy trên node hỏng có thể lập tức được chuyển sang node thụ động. Vì máy chủ đóng vai trò node thụ động hiện tại chưa chạy ứng dụng hay dịch vụ gì cả nên nó có thể gánh toàn bộ công việc của máy chủ hỏng mà không ảnh hưởng gì đến các ứng dụng và dịch vụ cung cấp cho người dùng cuối (Ngầm định rằng các các máy chủ trong cluster có cấu trúc phần cứng giống nhau).
- Nếu tất cả các máy chủ trong cluster là chủ động và có một node bị sự cố, các ứng dụng và dịch vụ đang chạy trên máy chủ hỏng sẽ phải chuyển sang một máy chủ khác cũng đóng vai trò node chủ động. Vì là node chủ động nên bình thường máy chủ này cũng phải đảm nhận một số ứng dụng hay dịch vụ gì đó, khi có sự cố xảy ra thì nó sẽ phải gánh thêm công việc của máy chủ hỏng. Do vậy để đảm bảo hệ thống hoạt động bình thường kể cả khi có sự cố thì máy chủ trong Cluster cần phải có cấu hình dư ra đủ để có thể gánh thêm khối lượng công việc của máy chủ khác khi cần.
Trong cấu trúc Cluster mà mỗi node chủ động được dự phòng bởi một node thụ động, các máy chủ cần có cấu hình sao cho với khối lượng công việc trung bình chúng sử dụng hết khoảng 50% CPU và dung lượng bộ nhớ.
Trong cấu trúc Cluster mà số node chủ động nhiều hơn số node bị động, các máy chủ cần có cấu hình tài nguyên CPU và bộ nhớ mạnh hơn nữa để có thể xử lý được khối lượng công việc cần thiết khi một node nào đó bị hỏng.
Các node trong một cluster thường là một bộ phận của cùng một vùng (domain) và có thể được cấu hình là máy điều khiển vùng (domain controllers) hay máy chủ thành viên. Lý tưởng nhất là mỗi Cluster nhiều node có ít nhất hai node làm máy điều khiển vùng và đảm nhiệm việc failover đối với những dịch vụ vùng thiết yếu. Nếu không như vậy thì khả năng sẵn sàng của các tài nguyên trên cluster sẽ bị phụ thuộc vào khả năng sẵn sàng của các máy điều khiển trong domain.
Nhờ những tính năng vượt trội như vậy, công nghệ Cluster đã được áp dụng vào trong các máy chủ, giúp cho việc 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ố.
Ứ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 Stateful applications (các ứng dụng hoạt động thường xuyên trong thời gian dài) bao gồm các database server như là Microsoft MySQL Server, Microsoft Exchange Server, File and Print Server,…
Tất cả các node trong Cluster dùng chung 1 nơi lưu trữ dữ liệu có thể dùng công nghệ SCSI hoặc Storage Area Network (SAN). Windows Sever 2003 Enterprise và Datacenter hỗ trợ cluster lên đến 8 node trong khi đó Windows 2000 Advance Server hỗ trợ 2 node còn Windows 2000 Datacenter Server được 4 node.
Trong thời đại số hoá hiện nay, khi doanh nghiệp quản trị database hiệu quả, các nguồn lực sẽ được tối ưu, các quy trình sẽ được tinh gọn đồng thời gia tăng hiệu suất làm việc của tất cả các nhân viên.
Vì vậy mà Viettel IDC đã nghiên cứu và phát triển hoàn thiện dịch vụ Viettel Database Service, giúp các doanh nghiệp quản trị database một cách nhanh chóng, tiện lợi, an toàn.
Để được tư vấn chi tiết về dịch vụ phù hợp với nhu cầu thực tế, vui lòng liên hệ đến Viettel IDC:
- Hotline: 1800.8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
- Website: https://viettelidc.com.vn
Tin nổi bật
Tin liên quan
Google Colab là gì? Hướng dẫn cho người mới học Python và AI
Google Colab là gì? Đây là nền tảng chạy Python miễn phí với GPU mạnh, hỗ trợ học máy, cộng tác thời gian thực. Hướng dẫn cách dùng và nâng cấp Colab Pro.
VPN là gì? Cách hoạt động và lý do doanh nghiệp nên sử dụng VPN
VPN là một công nghệ thiết lập kết nối mạng an toàn và riêng tư qua hạ tầng Internet công cộng. VPN tạo ra một đường hầm được mã hóa (encrypted tunnel) giữa thiết bị của người dùng và máy chủ VPN từ xa
Colocation là gì? Những điều cần biết về Colocation
Colocation Server đóng vai trò quan trọng trong thời đại công nghệ hóa thông tin ngày nay. Vì thế, dịch vụ này đang ngày càng được nhiều người quan tâm tìm hiểu hơn. Nếu bạn cũng muốn biết rõ hơn về Colocation Server, mời các bạn cùng theo dõi bài viết dưới đây!
Cloud Server là gì? Tìm hiểu tính năng và hoạt động của Cloud Server
Việc sử dụng máy chủ Cloud Server có thể loại bớt được một số vấn đề bất cập thường thấy và chắc chắn là có thể thay thế hoàn toàn những loại máy chủ thông thường trước đây kể cả máy chủ ảo-VPS. Vậy Cloud Server là gì? Và có những tính năng nào?
DNS Propagation là gì? Cách hoạt động, thời gian cập nhật và cách kiểm tra
DNS Propagation là gì? Tìm hiểu cách hoạt động, thời gian cập nhật và cách kiểm tra DNS Propagation để hạn chế lỗi khi thay đổi DNS, chuyển website hoặc Server.
DDoS Mitigation là gì? Cơ chế, giải pháp và cách giảm thiểu tấn công DDoS
DDoS Mitigation là gì? Tìm hiểu cơ chế hoạt động, các phương pháp giảm thiểu DDoS và cách bảo vệ hệ thống trước các cuộc tấn công từ chối dịch vụ.
Pseudocode là gì? Cấu trúc, cách viết và vai trò trong lập trình
Pseudocode là gì? Tìm hiểu cấu trúc, vai trò và cách viết mã giả đúng, giúp xây dựng thuật toán rõ ràng và chuyển đổi sang code dễ dàng.
System Admin là gì? Công việc, kỹ năng và lộ trình nghề nghiệp
System Admin là gì? Tìm hiểu công việc, kỹ năng cần có, lộ trình trở thành System Admin và cơ hội phát triển trong lĩnh vực quản trị hệ thống IT.
Lỗi ERR_CONNECTION_REFUSED là gì? Nguyên nhân và cách khắc phục
Lỗi ERR_CONNECTION_REFUSED là gì? Tìm hiểu nguyên nhân và cách khắc phục lỗi trên Chrome, localhost và server nhanh chóng, hiệu quả.
Proof Of Concept là gì? Vai trò và quy trình triển khai PoC
Proof Of Concept là gì? Tìm hiểu vai trò, lợi ích và quy trình triển khai PoC giúp doanh nghiệp kiểm chứng tính khả thi, giảm rủi ro trước khi đầu tư công nghệ.
Bình luận ()