Mục lục [Ẩn]
Clustering là kiến trúc nhằm nâng cao tính sẵn sàng của hệ thống mạng, bao gồm nhiều máy chủ kết nối với nhau và hoạt động trong cùng một hệ thống. Nhìn chung đây vẫn là khái niệm khá mới mẻ với nhiều người. Bởi vậy, sau đây Nhân Hòa sẽ tổng hợp các kiến thức tổng quan về Cluster là gì để các bạn cùng tham khảo.
1. Cluster là gì?
Clustering chính là một kiến trúc được tạo ra với mục đích đảm bảo nâng cao khả năng sẵn sàng cho hệ thống mạng. Clustering bao gồm những server riêng lẻ được kết nối với nhau đồng thời hoạt động lại cùng nhau trong 1 hệ thống. Những server này giao tiếp với nhau với mục đích trao đổi thông tin và giao tiếp với cả những mạng bên ngoài để thực hiện những yêu cầu. Trong trường hợp xảy ra lỗi thì cá dịch vụ trong Cluster hoạt động tương tác với nhau để duy trì độ ổn định và độ sẵn sàng cao cho hệ thống.
Hiện nay, một cụm máy tính (cluster) có thể giải quyết được khá nhiều hoạt động phức tạp một cách hiệu quả hơn rất nhiều bởi tốc độ xử lý nhanh, dữ liệu được đảm bảo toàn vẹn so với một máy tính thông thường duy nhất. Do đó, Cluster cũng chỉ được sử dụng cho một số ứng dụng quan trọng.
>>> Xem thêm: Quản trị Server là gì? Những vấn đề không thể bỏ qua
2. Ưu điểm của Cluster
Cung cấp tính sẵn sàng cao
Hệ thống Server Cluster cung cấp tính luôn sẵn sàng cho các ứng dụng và các service ngay cả khi các thành phần hardware hay software bị lỗi. Khi một Server trong Cluster bị fail, quyền sở hữu tài nguyên của nó như là các ổ đĩa và IP address tự động chuyển tới một server khác còn hoạt động.
Cung cấp khả năng dễ mở rộng
Khi các ứng dụng trong Cluster sử dụng tài nguyên hệ thống vượt quá khả năng của nó, ta có thể dễ dàng add thêm node vào Cluster để đáp ứng nhu cầu truy cập hay dễ dàng thêm vào nhiều bộ xử lý (8 CPU cho Windows Server 2003 Enterprise Edition và 64 GB cho Datacenter Edition).
Cung cấp sự dễ dàng trong quản lý
Ta có thể dùng Cluster Administrator tools để quản lý một Cluster như là một hệ thống đơn và quản lý một ứng dụng khi chúng chạy trên một server đơn. Có thể di chuyển các ứng dụng giữa các server khác nhau bên trong một Cluster và chuyển đổi lượng công việc giữa các server hay đặt server ở trạng thái không hoạt động cho kế hoạch bảo trì.
Hiệu suất của chi phí
Mặc dù Cluster không phải rẻ so với một máy tính duy nhất nhưng đối với những công việc có khối lượng công việc cao và cần sử dụng hệ thống lớn thì Cluster có tính hiệu quả tỷ lệ với chi phí so với những chi phí cho chi tiêu ban đầu và chắc chắn là rẻ hơn rất nhiều so với máy tính tổng .
>>> Xem thêm: MySQL là gì?
3. Các thuật ngữ được sử dụng trong hệ thống Cluster Server
Cluster
Là một hệ thống song song và được phân phối bởi một nhóm các server dành riêng để chạy những ứng dụng đặc biệt nào đó và kết nối với nhau để cung cấp khả năng chịu lỗi (fault tolerance) và load balance. Cluster dùng để cung cấp tính luôn sẵn sàng cho việc truy cập.
Node
Là một server thuộc một Cluster nào đó mà trên đó các ứng dụng và Cluster service được cài đặt.
Failover
Quá trình failover có thể xảy ra một cách tự động. Khi một node trong Cluster bị hỏng, các resource group của nó sẽ được chuyển tới một hay nhiều node trong Cluster mà còn hoạt động được. Quá trình tự động failover tương tự như lập kế hoạch cho việc tái chỉ định quyền sở hữu các resource.
Failover yêu cầu xác định các resource group nào đang chạy trên node bị hỏng và các node nào nên giữ quyền sở hữu các resource group đó.
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
Trong mỗi Cluster, 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. Các Cluster resource bao gồm các phần cứng vật lý như là các ổ đĩa, các network card và các thực thể logic như là các địa chỉ IP, các ứng dụng và cơ sở dữ liệu của ứng dụng
Mỗi node trong Cluster sẽ có quyền sở hữu các resource cục bộ. Tuy nhiên, Cluster cũng có các resource chung như các thiết bị lưu trữ chung và private network card. Mỗi node trong Cluster đều có khả năng truy cập tới các resource chung này. Một resource chung đặc biệt được biết như là Quorum resource – là một ổ đĩa vật lý trong dãy các ổ đĩa chung của Cluster đóng một vai trò quan trọng trong các hoạt động của Cluster. Nó phải được dành riêng cho hoạt động của các node như tạo một Cluster hay thêm node
Resource Group
Resource group là một 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ư là các ứng dụng và các thiết bị ngoại vi và dữ liệu kết hợp với các ứng dụng đó. Resource group cũng có thể chứa đựng các thực thể của cluster và chỉ được liên kết khi cần như là các server ảo và địa chỉ IP
4. Các thành phần trong Cluster
Trong Server Cluster, Cluster Service chạy trên mỗi node và điều khiển tất cả các hoạt động của hệ thống. Cluster Service chứa nhiều thành phần phần mềm làm việc với nhau. Chúng thực hiện nhiệm vụ theo dõi, duy trì sự ổn định, vận chuyển tài nguyên giữa các node. Cụ thế, các thành phần trong Cluster bao gồm:
Checkpoint Manager
Để đảm bảo cho việc Cluster Service có thể phục hồi từ một resource bị lỗi, Checkpoint Manager kiểm tra các khóa registry khi một resource được mang online và ghi dữ liệu checkpoint lên quorum resource khi resource này offline.
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 - chứa những thông tin về những thực thể vật lý và logic trong một Cluster. Những thực thể này bao gồm bản thân Cluster, các node thành viên, các resource group, các loại resource và những mô tả của các loại resource đặc biệt là các ổ đĩa và địa chỉ IP.
Database Manager cũng cung cấp một interface chứa những thay đổi trong cơ sở dữ liệu cấu hình Cluster thông qua các thành phần Cluster service khác như là Failover Manager và Node Manager.
Failover Manager
Quản lý các resource và các resource group. Nó chịu trách nhiệm tắt hay khởi động các resource, quản lý các resource liên quan và chuẩn bị cho một quá trình failover các resource group. Để thực hiện các hoạt động này, nó tiếp nhận resource và thông tin trạng thái hệ thống từ các thành phần Cluster trên một node và từ Resource Monitors. Resource Monitors cung cấp môi trường thực hiện cho resource DLLs và cung cấp sự giao tiếp giữa resource DLLs và Failover Manager.
Failover Manager sẽ xác định node nào trong Cluster nên sở hữu Resource group. Trong trường hợp phải failover một resource group, Failover Manager trên mỗi node trong Cluster làm việc cùng nhau để tái chỉ định quyền sở hữu cho resource group đó.
Node Manager
Node Manager dùng những thông tin trong cơ sở dữ liệu cấu hình Cluster để xác định các node nào được thêm vào hay bị loại bỏ khỏi Cluster. Node Manager trên mỗi node cũng theo dõi các node khác để tìm ra node bị lỗi.
Để thực hiện việc theo dõi, nó gửi và nhận những message gọi là các heartbeat tới mỗi node trong Cluster. Nếu một node có một sự giao tiếp bị lỗi với một node khác, nó gửi broadcast một message tới các node khác sao cho tất cả các node nhận message này để xác nhận lại danh sách các node đang hoạt động trong Cluster.
Resource Monitor
Cung cấp một interface 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 tiếp nhận yêu cầu và đẩy yêu cầu đó tới 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 của nó hoặc thông báo cho Cluster service một sự kiện, resource đẩy thông tin này từ resource tới Cluster service.
>>> Xem thêm: FTP Server là gì? Sử dụng FTP Server như thế nào?
5. Những nguyên tắc hoạt động và lưu ý của Cluster
Mỗi Server trong hệ thống Cluster gọi là node được thiết lập ở chế độ chủ động hoặc bị động. Trong chế độ chủ động mọi yêu cầu được thực hiện một cách tự động, còn khi node ở chế độ bị động nó sẽ nằm ở chế độ dự phòng có nghĩa là sẵn sàng thay thế khi có node nào bị hỏng hoặc lỗi.
Lưu ý khi sử dụng hệ thống Cluster:
- Cần chú ý hiệu quả hoạt động của những cụm máy tính phụ thuộc rất nhiều vào sự tương thích giữa các ứng dụng, dịch vụ, phần cứng và phần mềm
- Không thể vận hành hệ thống Cluster hay NLB khi giữa các server sử dụng những hệ điều hành khác nhau dù chúng có hỗ trợ nhau hay không
- Những lỗi mà Cluster không thể khắc phục đó là virus xâm nhập, lỗi phần mềm hoặc lỗi của người sử dụng
- Để tránh mất dữ liệu do lỗi tác động cần xây dựng hệ thống bảo vệ chắc chắn cũng như có kế hoạch backup khôi phục dữ liệu
6. Lời kết
Qua bài viết trên đây chắc hẳn bạn đã hiểu rõ về Cluster là gì cũng như những vấn đề xoay quanh thuật ngữ này rồi phải không? Hy vọng những thông tin này sẽ hữu ích và đáp ứng được các nhu cầu trong quá trình sử dụng hệ thống máy tính của mọi người.
Công ty TNHH Phần mềm Nhân Hòa chuyên cung cấp các giải pháp công nghệ như Hosting WordPress, Cloud Server, Vps, Email cho doanh nghiệp, đăng ký tên miền,... với đội ngũ kỹ thuật viên trình độ cao và kinh nghiệm lâu năm chúng tôi có đủ khả năng để hỗ trợ đưa ra những giải pháp và công nghệ toàn diện giúp doanh nghiệp chuyển đổi số thành công.
+ Tổng đài: 1900 6680
+ Email: contact@nhanhoa.com
+ Website: https://nhanhoa.com/
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Ưu đãi Nhân Hòa: https://nhanhoa.com/uu-dai-nhan-hoa.html
————————————————————
CÔNG TY TNHH PHẦN MỀM NHÂN HÒA
+ Địa chỉ văn phòng:
Trụ sở chính: Tầng 4 – Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội → Tel: (024) 7308 6680 – Email: sales@nhanhoa.com
Chi nhánh TP. Hồ Chí Minh: 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh → Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com
Chi nhánh Vinh – Nghệ An: Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An