Cluster là gì, Clustering là gì ?

Em là sinh viên ngành công nghệ thông tin, em chuẩn bị làm một bài tiểu luận về Cluster, Clustering những em tìm kiếm trên mạng thì thông tin khá hiếm và em đọc cũng thấy khó hiểu. Anh chị nào học ngành công nghệ thông tin hoặc biết về Cluster có thể trả lời giúp em. Cluster là gì, Clustering là gì ? được không ạ. Em cảm ơn anh/chị. 

Cluster là gì, Clustering là gì ?
Cluster là gì
 

Cluster là gì ?

Cluster là sự kết hợp của các phần cứng đứng riêng lẻ thành một cụm tổ hợp nhằm cung cấp dịch vụ cho khách hàng. Thường Cluster có thể là loại hình Active-Standby hoặc loại hình Active-Active tùy vào từng hãng khác nhau. Ví dụ hãng Microsoft SQL Server có Cluster là Active-Standby còn hãng Oracle RAC thì lại có Cluster là Active-Active. Các máy nằm cạnh nhau hoặc xa nhau thì đều có thể là Cluster.
Ưu điểm của Cluster A-S là mức chi phí bỏ ra khá thấp và khá dễ để quản trị và triển khai. Còn Cluster A-A thì khá tiện lợi và đáp ứng được nhu cầu sẵn sàng của người dùng cũng như khả năng chia tải tốt. Tuy nhiên nó lại khá khó quản trị, chi phí chi trả cho phần cứng cũng khá cao và năng lực tổng tăng chậm dần theo thời gian nên không tăng tuyến. 

Clustering là gì ?

Clustering là phương thức đảm bảo khả năng sẵn sàng của hầu hết các hệ thống mạng hiện nay. Nó bao gồm rất nhiều server khác nhau được liên kết với nhau thành một hệ thống và cùng hoạt động xuyên suốt trong hệ thống đó. Các server này thực hiện việc giao tiếp với nhau thông qua các liên kết trao đổi thông tin và tiếp nhận thông tin từ bên ngoài để xử lý các yêu cầu. Khi có bất cứ mỗi lỗi hệ thống nào xảy ra, các cluster sẻ liên kết với nhau để đảm bảo cho hệ thống luôn trong tình trạng sẵn sàng và có tính ổn định cao. 

Cấu trúc Clustering là gì ?

Nhìn chung, căn cứ vào nhu cầu của người dùng mà nhà cung cấp triển khai số lượng dịch vụ cho một cluster hoặc cài đặt cho mỗi node là một dịch vụ khác nhau. Chung quy lại, cluster không có cấu trúc cố định nào cả, tuy nhiên vẫn có hai loại cấu trúc dịch vụ phổ biến hiện nay là:
Dịch vụ cluster song song: khi ta thực hiện cài đặt 2 dịch vụ cùng một lúc vào mỗi node, 2 dịch vụ này sẽ được triển khai trên cùng một hệ thống cluster và đồng thời chúng cũng nằm trên cùng một  server, chính vì vậy khi xảy ra bất cứ lỗi từ một trong hai dịch vụ thì dịch vụ còn lại sẽ bị ảnh hưởng dẫn đến hiệu quả của toàn bộ hệ thống cluster trở nên thấp hoặc ngừng hoạt động. 

cluster là gì

Cấu trúc Clustering là gì ?

Dịch vụ cluster riêng lẻ: ngoài dịch vụ song song nhà cung cấp cũng có thể cho chạy các dịch vụ Cluster theo hình thức riêng lẻ, tức là mỗi Cluster, nhà cung cấp chỉ tiến hành cài đặt duy nhất một dịch vụ mà thôi. Ưu điểm là khi một trong hai dịch vụ bị lỗi, dịch vụ còn lại sẽ giúp đảm bảo hệ thống vẫn hoạt động tốt. Tuy nhiên khi thực hiện hình thức này, chúng ta sẽ tiêu tốn khá nhiều thời gian cũng như như chi phí lắp đặt hơn so với dịch vụ cluster song song.
Dịch vụ cluster dự phòng: trên cùng 1 cluster, nhà cung cấp triển khai cả hai dịch vụ, mỗi dịch vụ được cài 1 node và điều khác biệt giữa cluster dự phòng và cluster song song là có 1 cluster có nhiệm vụ làm  backup. 

Clustering được phân loại như thế nào ?

Clustering được chia làm hai loại khác nhau là Network Load Balancing và Cluster, mỗi loại có một đặc điểm khác nhau như sau:
Cluster: loại Clustering được sử dụng thường xuyên trong các ứng dụng hoạt động trong thời gian dài, Cluster gồm database server còn gọi là ứng dụng stateful applications. 100% các node của cluster được thiết kế để dùng chung một cơ sở dữ liệu hay một nơi lưu trữ dữ liệu gọi là SCSI. 
Network Load Balancing(NLB): đây là một loại khác của clustering, loại này được sử dụng với mục đích nâng cao khả năng chịu lỗi và chia tải cho hệ thống. Điểm khác biệt cơ bản của nó với Cluster là các node không sử dụng cùng một nơi lưu giữ dữ liệu mà phân tán nhiều nơi khác nhau, đòi hỏi phải có sự tập trung và đồng bộ dữ liệu khi sử dụng, chính vì vậy khi sử dụng các nhiều node cho Cluster, thời gian tiêu tốn để xử lý dữ liệu càng nhiều. Ở NLB, mỗi node đều có thể xác định được mức tải của nó và mức tải mà nó có thể xử lý được. Một số trường hợp nhà cung cấp sẽ tiến hành phân chia đồng đều mức tải cho các node. 

cluster là gì

Network Load Balancing(NLB) một trong hai loại clustering phổ biến

Nhìn chung, cả hai loại clustering này đều có thể tự cân bằng tải và có khả năng chịu lỗ cho hệ thống các dịch vụ. Điểm khác biệt cơ bản của hai loại này là trong hoạt động chịu lỗ đó là một bên khi có  node bị lỗi thì vẫn có thể khôi phục trong một thời gian ngắn và sau đó các hoạt động sẽ được diễn ra bình thường trở lại. Nhưng đối với network load balancing khi một node bị hỏng, hệ thống sẽ ngừng hoạt động vì node không thể khôi phục.

Clustering hoạt động theo nguyên tắc nào ?

Ta hình dung mỗi cluster sẽ có một máy chủ mà trong bài ta hay gọi là node hay còn gọi là cluster node, node này được nhà cung cấp thiết lập ở một hoặc hai chế độ thụ động và bị động. Ở chế độ chủ động, lúc này node hay máy chủ sẽ tự mình tiếp nhận và thực hiện xử lý các yêu cầu. Còn khi node ở trạng thái thụ động, nó được sử dụng như một node dự phòng, trong trường hợp node chủ động có sự cố hư hỏng, node thụ động sẽ được chuyển thành node chủ động và thay thế kịp thời cho node hỏng. Cluster thông thường sẽ kết hợp cả node thụ động và chủ động nhằm đảm bảo khả năng hoạt động liên tục của hệ thống. Và việc bố trí node là chủ động hay bị động cũng phải được nghiên cứu rất kỹ càng trước khi cài đặt. 
Việc bố trí cả chủ động và bị động trong một Cluster  là cần thiết, vì nếu một node chủ động bị hỏng, hệ thống sẽ ngay lập tức chuyển sang node thụ động để tránh ảnh hưởng đến dịch vụ, giống như việc sử dụng máy chủ và máy dự phòng, khi máy chủ hỏng, máy dự phòng sẽ gánh toàn bộ công việc của máy chủ.

Đến đây thì bạn đã hiểu Cluster là gì, Clustering là gì ? rồi đúng không nào. Trên đây là những thông tin cơ bản nhất về hai khái niệm này. Hy vọng những thông tin này sẽ giúp ích giải đáp đúng thắc mắc của bạn. Chúc bạn hoàn thành tốt bài tiểu luận của mình. Cảm ơn bạn đã đón đọc.