Computer cluster là gì?
Computer cluster là một kiến trúc 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. Kiến trúc này là một nhóm hai hay nhiều server chuyên dụng chạy một hay nhiều ứng dụng cùng lúc. Các server này được kết nối lại với nhau để cung cấp fault tolerance (khả năng chịu đựng sai sót) và load balancing (khả năng cân bằng tải).
Hiểu đơn giản, Computer cluster là cụm máy tính hiệu năng cao. Đây là một dạng máy điện toán được kết nối qua mạng LAN (mạng cục bộ) để các máy tính có thể hoạt động như một máy đơn lẻ.
Nguyên tắc hoạt động của Computer cluster
Mỗi máy chủ trong Computer cluster được gọi là một node (cluster node). Máy chủ này có thể được thiết lập ở chế độ chủ động (active) hay thụ động (passive).
Khi một node ở chế độ 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 (standby) chờ để sẵn sàng thay thế cho một node khác nếu bị hỏng.
Cấu trúc Computer cluster
Tùy theo nhu cầu mà chúng ta có thể triển khai nhiều dịch vụ trên cùng 1 cluster hay cài đặt trên mỗi node 1 dịch vụ. Cấu trúc của 1 Computer cluster không cố định.
Một số loại hữu ích điển hình như sau:
Dịch vụ chạy song song
Triển khai 2 dịch vụ trên hệ thống cluster thì có 1 phương pháp đơn giản là cài đặt cả 2 dịch vụ ấy vào mỗi node của cluster . Do chạy trên cùng một server nên nếu ứng dụng này bị lỗi thì sẽ ảnh hưởng đến dịch vụ kia, hiệu quả của hệ thống cluster thấp.
Computer cluster riêng lẻ
Đây là hình thức tạo 2 hệ thống Computer cluster riêng lẻ, trong mỗi cluster cài đặt duy nhất 1 dịch vụ.
Ở cấu trúc này, hệ thống sẽ hiệu quả hơn. Nếu có dịch vụ nào đó bị lỗi, các dịch vụ khác cũng không bị ảnh hưởng. Tuy nhiên, do số lượng các node cho mỗi dịch vụ nhiều nên chi phí đầu tư cho kiểu này rất cao.
Dịch vụ dự phòng
Dịch vụ này triển khai cả 2 dịch vụ trên cùng 1 Computer cluster, mỗi node cài 1 dịch vụ. Điểm khác biệt với Dịch vụ chạy song song là sẽ có 1 cluster làm nhiệm vụ backup.
Theo hình minh họa, ta thấy: hệ thống này có 1 node passive dùng làm backup và cài cả 2 dịch vụ của node 1 và node 2 (2 node Active). Nếu 1 trong 2 node này bị lỗi thì node passive sẽ thay thế chức năng của node bị lỗi.
Sử dụng Computer cluster mang đến ưu điểm gì?
Tiết kiệm chi phí
Trong cụm máy tính, hiệu quả chi phí là tỷ lệ chi phí so với đầu ra. Đó là nhóm kết nối của máy tính với cụm máy tính rẻ hơn nhiều so với máy tính lớn.
Tốc độ xử lý tốt
Tốc độ xử lý của cụm máy tính giống như máy tính lớn.
Khả năng mở rộng tối ưu
Lợi ích tốt nhất của cụm máy tính là nó có thể được mở rộng dễ dàng bằng cách thêm máy trạm để bàn bổ sung vào hệ thống.
Tính sẵn sàng cao
Nếu bất kỳ node nào bị lỗi trong cụm máy tính, một node khác trong cụm tiếp tục cung cấp xử lý không bị gián đoạn. Tuy nhiên, khi một hệ thống máy tính lớn bị lỗi, toàn bộ hệ thống bị lỗi.
Chuẩn thiết kế và lắp đặt
Việc thiết kế và lắp đặt Computer cluster cần phải đạt chuẩn RAS (Reliability-Availability-Scalability). Do đó, những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt với Remote Access Service là dịch vụ truy cập từ xa).
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)
Với cluster, độ tin cậy cao được hiểu là cả khả năng giảm thiểu tần số xảy ra các sự cố lẫn 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.
Phân loại kỹ thuật Clustering
Dựa vào loại ứng dụng mà server cần chạy và bản chất của dữ liệu mà chúng sử dụng, Clustering được chia ra hai loại.
Server Clusters
Được thiết kế cho những ứng dụng lớn đòi hỏi khả năng long-running in-memory states và thường xuyên thay đổi dữ liệu.
Đượ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). Những ứng dụng này bao gồm các database server như là Microsoft MySQL Server, Microsoft Exchange Server, File andPrint Server…
Tất cả các node đều truy cập tới cùng dữ liệu của ứng dụng. Do đó, bất kỳ node nào cũng có thể xử lý 1 yêu cầu từ client vào bất cứ lúc nào. Mỗi node trong server cluster phải được cấu hình ở trong trạng thái active hoặc passive. Nếu passive node duy trì trạng thái idle (hoặc active node fail) thì một active node nhận và xử lý yêu cầu từ client.
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.
Hạn chế
- Lãng phí thời gian của passive node.
- Server clustering được định hướng để cung cấp tĩnh sẵn dùng cao cho ứng dụng, không dành cho dữ liệu.
- Server clustering không cung cấp khả năng chịu lỗi về dữ liệu như RAID cũng như các yêu cầu đòi hỏi backup hệ thống thường xuyên.
Giải pháp
Tùy thuộc vào khả năng của ứng dụng, có thể thiết kế server clusters với nhiều active node cùng lúc để chia sẻ tác vụ xử lý giữa chúng. A server cluster có cùng IP address và tên. Do đó khi 1 server xảy ra hỏng hóc, không có sự thay đổi nào về chức năng hoạt động từ phía client, chúng tiếp tục gửi yêu cầu đến cùng đích như mọi khi. Các passive node sẽ tiếp quản vai trò của active node ngay lập tức, vì thế không có sự trì hoãn đáng kể nào về hiệu suất hoạt động.
Network Load Balancing (NLB)
Network Load Balancing (NLB) tạm dịch là cân bằng tải mạng.Đây là một loại kỹ thuật Clustering có khả năng chia tải và nâng cao khả năng chịu lỗi của hệ thống được tốt hơn.
Được dùng cho các ứng dụng Stateless applications. Những ứng dụng này hoạt động mang tính nhất thời, vừa phải, ít có sự thay đổi (hay thậm chí là read-only) và không đỏi hỏi khả năng chạy ở trạng thái long-running in-memory. Tiêu biểu như Web, File Tranfer Protocol (FTP), Virtual Private Network (VPN), DHCP…
Mỗi node phải dùng riêng một nơi lưu trữ cục bộ (Local Storage) cho nên cần phải có quá trình đồng bộ hóa (replication) dữ liệu ở mỗi nơi lưu trữ. Nếu số lượng node càng nhiều thì thời gian cho việc replication càng lâu. Chính vì thế, để đảm bảo tính chính xác của dữ liệu, bạn không nên triển khai các ứng dụng Stateful trên kỹ thuật NLB.
Cung cấp tính năng sẵn dùng, độ tin cậy cũng như khả năng mở rộng ở mức cao là đặc điểm nổi bật của NLB.
Một số điểm lưu ý
- Hiệu quả hoạt động của hệ thống Clustering phụ thuộc vào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Do đó, ta không thể triển khai cluster hay NLB khi các node sử dụng hệ điều hành khác nhau dù hệ điều hành đó có hỗ trợ hay không.
- Kỹ thuật clustering không thể chống lại các sự cố xảy ra do virus, sai sót của phần mềm hay các sai sót do người sử dụng. Xây dựng một cơ sở dữ liệu được bảo vệ chắc chắn và có các kế hoạch khôi phục, backup dữ liệu là giải pháp hàng đầu cho hạn chế này.
Tuỳ vào tính chất, nhu cầu sử dụng mà bạn nên chọn một phương thức thích hợp với mình. Mọi thắc mắc và góp ý liên quan, xin vui lòng liên hệ ngay Tinohost để được tư vấn chi tiết nhé!
Hỗ trợ 24/7/365 – “đúng doanh nghiệp – đúng dịch vụ – đúng khả năng”
Với đội ngũ nhân viên chuyên môn cao, trang thiết bị tối tân cùng tinh thần tận tâm hỗ trợ 24/7/365, Tinohost tự tin cung cấp dịch vụ tên miền, hosting tối ưu và hệ thống máy chủ mạnh mẽ với chi phí tốt nhất cho doanh nghiệp của bạn.
Chỉ cần để lại thông tin cá nhân của bạn, chuyên viên tư vấn của Tinohost sẽ giúp bạn chọn được giải pháp tốt nhất cho tên miền và hosting. Hãy để công nghệ không phải là rào cản quá trình phát triển công ty bạn.
Với bề dày kinh nghiệm hơn 5 năm cung cấp hosting, dịch vụ cho thuê máy chủ, các dịch vụ liên quan đến tên miền và bảo mật website, hãy để Tinohost đồng hành cùng bạn trên con đường khẳng định thương hiệu trên bản đồ công nghệ toàn cầu!
CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
- Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
Văn phòng đại diện: Tầng 31, Tòa L2, Vinhomes Central Park, 720A Điện Biên Phủ, P.22, Q.Bình Thạnh, Thành phố Hồ Chí Minh - Điện thoại: 0364 333 333
Tổng đài miễn phí: 1800 6734 - Email: [email protected]
- Website:www.tinohost.com
Bài viết hữu ích quá
Với hệ thống này thì cần cơ sở hạ tầng chi tiết như thế nào, ad tư vấn giúp nhé
Cảm ơn ad đã share thông tin. Tôi cũng đang tìm hiểu về thuật ngữ này đây