Những khoảnh khắc không quên của sysadmin

Chia sẻ

Khi bạn là một sysadmin, các bạn có thể gặp phải những tình huống khó quên và những đêm không ngủ. Trong bài viết này tôi sẽ trình bày một số tình huống đáng nhớ mà một sysadmin như bạn có thể gặp qua và cách bạn xử lí chúng

Vấn đề #1: Server bị sập


2 giờ sáng, bạn bị đánh thức bởi chiếc điện thoại. Tỉnh dậy và bạn thấy một mớ thông báo từ Slack/Teams là server đã bị sập 2-3h trước. Sếp muốn bạn và team vận hành có mặt ngay càng sớm càng tốt. Đây là một tình huống bạn không muốn gặp phải, vậy làm sao để tránh khỏi chúng

Giải pháp #1: Cân bằng tải và nhân rộng server

Việc phòng ngừa máy chủ hoàn toàn khỏi việc bị sập là bất khả thi, nhưng bạn có thể bố trí hệ thống để phòng tránh chuyện này. Một giải pháp tốt là nhân rộng servers thành nhiều clusters và nodes. Sau đó bạn thiết lập một cân bằng tải để đảm bảo các clusters vẫn tiếp tục vận hành nếu có một cluster bị sập, Nếu có lưu lượng tăng lên đột ngột, hoặc gặp một vấn đề khác về hiệu năng bạn có thể cấu hình các tính năng để phân bổ lưu lượng thành các phần nhỏ để hệ thống vận hành trơn tru

Vấn đề #2: Data bị hỏng hoặc bị mất dữ liệu


Một thực tập sinh mới tham gia vào team bạn. Anh ấy quá phấn khích khi được cấp đầy đủ công cụ mà anh ấy cần, và anh ấy đã nhỡ tay “thổi bay” toàn bộ dữ liệu trong CSDL của bạn và tất cả các dữ liệu khách hàng quan trọng đã bị mất hết. Vậy bạn làm sao để khắc phục vấn đề này

Giải pháp #2: Sao lưu và phục hồi dữ liệu

Các chiến lược, kế hoạch về sao lưu và phục hồi dữ liệu luôn cần phải có, ít nhất là trong môi trường phát triển. Còn hơn thì việc sao lưu và khôi phục cần phải có sẵn ở tất cả các môi trường. Và hãy nhớ thiết lập một quy trình tự động hoá cho việc đó. Một cách đơn giản bạn có thể bắt đầu đó chính là tạo ra một bash scripts để chạy các câu lệnh sao lưu và khôi phục

Vấn đề #3: Ứng dụng bị gặp sự cố

Khi server và cơ sở dữ liệu của bạn hoạt động tương đối ổn định nhưng ứng dụng Java của bạn bị gặp sự cố, khi khách hàng truy cập họ chỉ nhận thấy lỗi 404, điều này khiến công ty của bạn thiệt hại hàng triệu $ mỗi phút

Giải pháp #3: Theo dõi log để nhanh chóng phát hiện và sửa lỗi

Lỗi ứng dụng có thể xảy ra bấ cứ lúc nào và có nhiều kĩ thuật trong lập trình để giải quyết vấn đề này. Tuy nhiên, bất kỳ lỗi nào trong quá trình vận hành của app cần phải nhanh tróng phát hiện và sửa. Vì vậy việc theo dõi các log là một việc thực sự cần thiết. Hãy đảm bảo là ứng dụng của bạn có các điểm gỡ lỗi và được gửi tới các trang theo dõi để lập trình viên có thể nhanh chóng phát hiện và sửa chữa các lỗi này

Vấn đề #4: Ứng dụng bị chậm

Bạn đã thêm việc ghi log và theo dõi vào tất cả ứng dụng của bạn. Bạn nghĩ đã có thể ngủ ngon nhưng vài phút sau, bạn đọc email của một khách hàng than phiền rằng ứng dụng cực kì chậm

Giải pháp #4: Xác định nút thắt cổ chai – nguyên nhân dẫn tới ứng dụng bị chậm

Bạn có thể dùng các công cụ như traceroute/tracert , Chrome Developer Tools và Wireshark để gỡ lỗi ứng dụng và dễ dàng phát hiện vấn đề hiệu năng được xảy ra ở bộ phận nào và sửa lỗi chúng.

Vấn đề #5: Ứng dụng bị chậm ở một địa điểm nhất định

Sau khi phát hiện một số vấn đề về ứng dụng ở phần trước, bạn có thể đã fix vấn đề này, và khách hàng trước đã gửi cho bạn một bức thư cảm ơn. Nhưng một ngày khác bạn nhận được Email từ một khách hàng khác ở Sydney, Australia phàn nàn rằng ứng dụng của công ty bạn quá chậm. Vậy chuyện gì đã xảy ra

Giải pháp #5: Sử dụng CDN

Mặc dù vấn đề này có thể tồn tại ở trong thiết kế của phần mềm, tuy nhiên một nguyên nhân dẫn tới vấn đề này là do máy chủ nằm quá xa vị trí của khách hàng. Cách vấn đề này là bạn có thể sử dụng một hệ thống nhiều server hoặc hệ thống vận chuyển nội dung (CDN) để khắc phục vấn đề này

Chia sẻ