SERVER

Kiến thức về độ sẵn sàng cao, dự phòng và chia tải hệ thống

Hôm nay techxanh sẽ chia sẻ khái niệm về độ sẵn sằng cao, dự phòng và chia tải hệ thống như: HA, Cluster, Load Balancer và Failover.

High Availability Clustering in CentOS

HA (High Availability)

HA (High Availability nghĩa là độ sẵn sàng cao) là một lý thuyết chứ không phải là một công nghệ cụ thể. HA được đo bằng % uptime của dịch vụ đó trong khoảng thời gian, ví dụ HA=99.999%/1 năm. Để nâng cao %HA người ta phải kết hợp nhiều công nghệ đồng thời dưới đây.

NLB (Network Load Balancing)

NBL nhằm nâng cao tính sẵn sàng và chia tải ở mức Network khi dịch vụ được cung cấp trên nhiều node. Hạn chế của NLB bao gồm 1). Khi sự cố xảy ra, các giao dịch chưa hoàn thành (đang quá trình mua hàng và thanh toán thẻ chẳng hạn) trên node lỗi sẽ không thể tiếp tục trên các node khác vì node khác không biết gì về giao dịch đó 2). NLB không đủ thông minh để chia tải theo năng lực phần cứng hay mức độ busy của từng máy chủ đang chạy.

Cluster

Cluster (cụm máy chủ) là việc kết hợp nhiều phần cứng riêng lẻ thành một cụm để cung cấp dịch vụ. Cluster có thể là Active-Active hay Active-Standby tùy theo từng hãng.

Ví dụ Microsoft SQL Server là A-S, Oracle RAC là A-A. Cluster có thể là các máy để cạnh nhau trong DC (Data Center) hoặc các máy nằm xa nhau (HP có công nghệ continenal cluster).

Đọc thêm:  Đổi port SSH mặc định ngay nếu không muốn Server bị hack

Ưu điểm của A-S là chi phí thấp và dễ triển khai, dễ quản trị.

Ưu điểm của A-A là vừa giải quyết được vấn đề tính sẵn sàng và vừa chia được tải, nhược điểm là khó quản trị, chi phí phần cứng đắt, năng lực tổng không tăng tuyến tính theo số node mà sẽ tăng chậm dần.

Thường Cluster A-A trên 4 node chỉ tăng được 200%-300% so với 1 node tùy theo công nghệ mỗi hãng.

Failover

Failover là khả năng khi một node bị sự cố, giao dịch sẽ được tiếp tục phục vụ trên 1 node khác trong cluster mà client không phải thực hiện lại từ đầu.

Để có thể failover được thì NLB chỉ giải quyết được phần ngọn, còn phần gốc là toàn bộ các thông tin giao dịch trong bộ nhớ của node sự cố phải được replicate sang các node khác.

Oracle DB sử dụng công nghệ RAC để liên tục đồng bộ hóa các memory block giữa các node – đó là lý do trên 4 node giải thuật rất phức tạp và không hiệu quả. RAC đòi hỏi tốc độ của kết nối interconnect giữa các node phải rất cao. Thường là NIC 10Gbps, các hệ thống như Oracle Exadata sử dụng card infiniband 40-80Gbps.

Microsoft IIS tiếp cận theo cách đơn giản hơn, gọi là Session state server. Bản chất là một service của Windows chạy trên 1 node để replicate các biến session variables của ứng dụng sang node khác, hoặc save liên tục vào một SQL Server database (gọi là persistent state server). Cách làm của MS thì trách nhiệm HA được đẩy cho lập trình viên khi phát triển ứng dụng .NET phải lưu các biến cần thiết xuống state server.

Đọc thêm:  Cách SSH vào Server khác tự động không cần password trong 1 nốt nhạc

 

5/5 - (1 bình chọn)

A Tùng

IT guy, thích đam mê công nghệ, Server, Linux, Wordpress, SEO và uống trà

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button