Sự có mặt của High Availability đã giúp doanh nghiệp khai thác tối đa sức mạnh của hệ thống máy tính nhằm mang lại hiệu quả trong kinh doanh. Trong bài viết dưới đây BKHOST sẽ cung cấp một số thông tin về High Availability để bạn hiểu và sử dụng khi cần.
High Availability là gì?
High Availability (HA) còn được gọi là “tính sẵn sàng cao” với khả năng để thiết bị, Server hoạt động liên tục, không bị lỗi hay gián đoạn trong một khoảng thời gian nhất định. Hiểu một cách đơn giản thì HA hoạt động nhằm đảm bảo một hệ thống đáp ứng tốt yêu cầu như đã thỏa thuận và luôn trong tư thế sẵn sàng 99,999%.
Người ta áp dụng hệ thống HA ở nhiều lĩnh vực khác nhau như quân sự, chăm sóc sức khỏe, ngành công nghiệp…Và cuộc sống con người ngày càng phụ thuộc vào các hệ thống đó. Đơn cử như khi xe tự lái đang hoạt động nhưng hệ thống vận hành không hoạt động sẽ làm ảnh hưởng và có thể gây ra tai nạn không đáng có.
Hệ thống HA được thiết kế bài bản, đúng quy trình và phải được kiểm tra kỹ lưỡng trước khi đưa vào sử dụng. Để luôn đáp ứng tính khả dụng nhà thiết kế cần quan tâm tới khả năng sao lưu dữ liệu và chuyển đổi dự phòng của hệ thống HA.
High Availability hoạt động như thế nào?
Thực tế cho thấy không phải bất cứ hệ thống nào cũng luôn ở trong tư thế sẵn sàng 100%. Do đó với những hệ thống có tính sẵn sàng cao thường hoạt động với hiệu suất tối đa để đảm bảo tính liên tục, bền bỉ cho hệ thống. Khi thiết kế HA phải tuân thủ ba nguyên tắc sau để đảm bảo tính sẵn sàng cao:
- Điểm lỗi duy nhất (SPOF): Toàn bộ hệ thống có thể bị lỗi mà nguyên nhân là do lỗi từ một điểm duy nhất. Chẳng hạn như một Server chạy một ứng dụng thì Server này chính là điểm lỗi duy nhất tác động tới tính khả dụng của ứng dụng khi nó bị lỗi.
- Xây dựng dự phòng: Với hệ thống HA xây dựng dự phòng rất quan trọng để thay thế khi một thành phần nào đo bị lỗi. Hành động này sẽ đảm bảo chuyển từ X sang Y nhưng vẫn đảm bảo hiệu suất và dữ liệu luôn được an toàn.
- Khả năng phát hiện lỗi: Thiết kế hệ thống HA phải phát hiện lỗi nhanh và tốt hơn nữa là có thêm tính năng tự động hóa xử lý lỗi.
Khi nhiều người cùng truy cập vào một hệ thống trong một thời điểm thì việc cân bằng tải rất quan trọng để đảm bảo tính sẵn sàng cao. Khối lượng công việc sẽ được cân bằng tải sắp xếp và phân bổ để không một tài nguyên nào bị quá tải.
Để đáp ứng yêu cầu từ bộ cân bằng tải các Server trong hệ thống HA được phân bổ trong các cụm và tổ chức theo kiến trúc tầng. Trường hợp một Server thuộc một cụm nào đó bị lỗi thì sẽ có Server ở cụm khác thay thế và tiếp quản công việc. Trong một hệ thống phức tạp thì tính sẵn sàng cao khó đảm bảo bởi sẽ xuất hiện nhiều điểm lỗi so với hệ thống đơn giản.
Vì sao High Availability lại quan trọng?
Hệ thống High Availability thường là những hệ thống ảnh hưởng, tác động sâu rộng tới đời sống con người về mặt sức khỏe, kinh tế phúc lợi xã hội, tiếp tế thực phẩm…Nếu vì một nguyên nhân nào đó khiến các hệ thống nói trên giảm hiệu suất hoạt động thì doanh nghiệp và cuộc sống mọi người sẽ gặp nhiều bất lợi.
Xe tự lái là minh chứng điển hình cho hệ thống HA. Trong quá trình xe vận hành nếu cảm biến phía trước trục trặc thì xe vẫn hoạt động nhưng chắc chắn hiệu suất sẽ giảm và một vụ va chạm có thể xảy ra.
Hồ sơ sức khỏe điện tử (EHRs) là một trong những ví dụ thể hiện rõ sự phụ thuộc của con người vào hệ thống HA. Một bệnh nhân nhập viện trong tình trạng nguy kịch, điều đầu tiên bác sĩ cần làm là truy cập EHRs để có cái nhìn tổng thể về bệnh sử bệnh nhân để lên phương án điều trị.
High Availability được đo lường như thế nào?
Tính sẵn sàng của một hệ thống được đo tương ứng khi hệ thống thống đó không bao giờ bị lỗi và hoạt động 100%. Tỉ lệ % sẵn sàng được tính bằng công thức: Tính sẵn sàng = (số phút trong một tháng – số phút ngừng hoạt động) *100/phút trong một tháng. Dưới đây là các loại số liệu được dùng để đo tính sẵn sàng:
- Thời gian trung bình giữa các lần hỏng hóc (MTBF): Tức là trong một hệ thống khoảng thời gian giữa hai lần xảy ra sự cố là bao lâu.
- Thời gian chết trung bình (MDT): Tức là thời gian trung bình trong tình huống hệ thống ngừng chạy.
- Mục tiêu thời gian phục hồi (RTO): Đây là khoảng thời gian dự kiến được dành để phục hồi sự cố.
Các hệ thống nội bộ hoặc nhà cung cấp dịch vụ sẽ sử dụng những số liệu nói trên để thực hiện cam kết với khách hàng như trong thỏa thuận mức độ dịch vụ (SLA). SLA là các hợp đồng trong đó nhà cung cấp dịch vụ đưa ra tỉ lệ phần trăm sẵn sàng của hệ thống cho khách hàng tham khảo. Trường hợp một hệ thống hoặc SLA cung cấp 99,999% tính sẵn sàng thì khoảng thời gian mà dịch vụ không khả dụng có thể như sau:
Khoảng thời gian | Hệ thống thời gian không khả dụng |
Hằng ngày | 0,9 giây |
Hàng tuần | 6,0 giây |
Hàng tháng | 26,3 giây |
Hàng năm | 5 phút 15,6 giây |
Một công ty có khoảng 8h45 phút ngừng hoạt động trong một năm nếu tính sẵn sàng 99,9%. Trong khi đó nếu tuân theo tiêu chuẩn hai chín tức là 99% thì mỗi năm sẽ có 3 ngày không hoạt động.
Làm thế nào để đạt được High Availability?
Tính sẵn sàng cao sẽ đạt được nếu thực hiện đúng, đủ các bước sau:
- Thiết kế hệ thống HA đơn giản, chi phí thấp và tuân thủ đầy đủ các quy ước. Cần hạn chế điểm lỗi và tốt nhất là có chính sách dự phòng khi cần thiết.
- Xác định mức độ của tính sẵn sàng mà hệ thống có thể đáp ứng và chỉ số để đo lường mức độ đó.
- Triển khai phần cứng linh hoạt, hiệu quả, chất lượng.
- Đảm bảo hệ thống chuyển đổi dự phòng luôn trong tư thế sẵn sàng để khi xảy ra lỗi có thể thay thế, tiếp quản.
- Sử dụng số liệu và quan sát để theo dõi hiệu suất của hệ thống. Có bất cứ vấn đề gì bất thường cần ghi chép lại để điều chỉnh phù hợp.
- Tìm cách cải thiện hệ thống dựa trên những số liệu đã quan sát, thu thập được để đảm bảo hệ thống luôn phát triển và đáp ứng tốt trong mọi điều kiện.
Thực tiễn tốt nhất về High Availability
Khi gặp bất kỳ loại trạng thái lỗi nào một hệ thống có tính sẵn sàng cao sẽ nhanh chóng phục hồi để không làm gián đoạn cho người dùng cuối. Thực tiễn tốt nhất cho tính sẵn sàng cao bao gồm các yếu tố sau:
- Các điểm lỗi đơn lẻ sẽ bị loại bỏ để không làm ảnh hưởng đến toàn bộ hệ thống.
- Đảm bảo dữ liệu an toàn và được sao lưu.
- Phân phối khối lượng công việc cho các Server bằng bộ cân bằng tải.
- Tích hợp sẵn hệ thống phát hiện lỗi kịp thời, nhanh chóng.
- Thường xuyên theo dõi, nắm bắt tình hình sức khỏe của các Server cơ sở dữ liệu phụ trợ.
- Khi mất điện hoặc thiên tai thì tài nguyên sẽ được phân phối ở các vùng địa lý khác nhau.
- Chuyển đổi dự phòng dễ dàng, đáng tin cậy.
- Các bộ phận của hệ thống được thiết kế chỉn chu và được kiểm tra chức năng trước khi áp dụng.
High Availability và Cloud
Tính sẵn sàng cao ở mỗi hệ thống có sự khác nhau. Với môi trường Cloud có nhiều điểm khác biệt. Thông thường những nhà cung cấp dịch vụ Cloud cam kết tính sẵn sàng đạt 99,99%. Thế nhưng trong những năm gần đây con số này đã thay đổi lên tới 99,99%.
Tổng kết về High Availability
Trên đây là những chia sẻ của chúng tôi về High Availability. Hy vọng thông qua những kiến thức có được bạn sẽ nhận thức rõ hơn về phương pháp làm tăng hiệu suất thiết bị, Server và biết áp dụng để mang lại lợi ích cho bản thân và tổ chức.
Nếu còn gặp bất cứ vướng mắc gì về High Availability, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.