1. Mục tiêu của bài thực hành
Bài này mô phỏng tình huống sự cố thực tế:
máy chủ QMS gặp lỗi nghiêm trọng hoặc cần bảo trì khẩn cấp, hệ thống phải chuyển toàn bộ dịch vụ sang AI server trong thời gian ngắn, với các yêu cầu:
Không sửa cấu hình hàng trăm website/web app.
Không ảnh hưởng HTTPS, Certbot, Cloudflare.
Thao tác đơn giản, có thể hoàn thành trong vài phút.
Có khả năng rollback khi QMS hồi phục.
Bài thực hành này giả định rằng:
Các bài trước đã được triển khai đúng (snippets backend-active, ACME độc lập, template chuẩn).
AI server đã được chuẩn bị ở trạng thái standby.
2. Kịch bản sự cố giả định
Tình huống
Người dùng báo:
Web app QLCL chậm bất thường.
Nhiều website trả lỗi 502/504.
Kiểm tra sơ bộ cho thấy:
QMS không phản hồi ổn định.
AI server vẫn hoạt động bình thường.
Quyết định
Kích hoạt failover thủ công: QMS → AI.
3. Checklist chuẩn bị (trước khi thao tác)
Checklist này nên được in sẵn hoặc lưu trong SOP nội bộ.
Có quyền
roothoặcsudotrên Reverse Proxy.Biết vị trí file:
/etc/nginx/snippets/backend/backend-active.conf
Biết IP backend:
QMS:
10.10.10.66AI:
10.10.10.88
4. Bước 1 — Xác minh nhanh trạng thái QMS và AI
Thao tác trên Reverse Proxy.
4.1. Kiểm tra QMS
Kết quả giả định:
Timeout hoặc lỗi 5xx → QMS có vấn đề.
4.2. Kiểm tra AI
Kết quả mong đợi:
Có phản hồi HTTP (200/301/302).
Nếu AI không phản hồi, không failover.
Cần xử lý AI trước.
5. Bước 2 — Chuyển backend-active sang AI (thao tác cốt lõi)
5.1. Kiểm tra backend-active hiện tại
Ví dụ kết quả:
5.2. Switch sang AI bằng symlink
Thao tác này:
Không sửa file site.
Không sửa SSL.
Chỉ thay “điểm chuyển mạch”.
6. Bước 3 — Kiểm tra cấu hình và reload Nginx
6.1. Kiểm tra cấu hình
Chỉ khi kết quả:
mới tiếp tục.
6.2. Reload Nginx (không restart)
Không dùng
restart, tránh ngắt kết nối đang tồn tại.
7. Bước 4 — Xác minh dịch vụ từ phía người dùng
7.1. Kiểm tra nhanh trên proxy
7.2. Kiểm tra từ trình duyệt
Truy cập:
1–2 web app trọng điểm (QLCL, KHTH).
1 website public.
7.3. Kiểm tra log Nginx (nếu cần)
Không thấy lỗi upstream timed out mới → failover thành công.
8. Thời gian thực tế của quy trình
Với người đã quen thao tác:
| Bước | Thời gian |
|---|---|
| Kiểm tra QMS/AI | 30–60 giây |
| Switch backend | 10 giây |
| Reload Nginx | 5 giây |
| Kiểm tra dịch vụ | 1–2 phút |
👉 Tổng thời gian: 2–3 phút
9. Ghi nhận sự kiện failover (khuyến nghị)
Để phục vụ audit và rút kinh nghiệm:
10. Lưu ý quan trọng trong khi AI đang active
AI đang gánh toàn bộ traffic → theo dõi:
CPU
RAM
Disk I/O
Tránh deploy lớn hoặc thao tác nặng không cần thiết.
Thông báo nội bộ (nếu có quy trình) rằng hệ thống đang ở chế độ dự phòng.
11. Thực hành rollback: chuyển AI → QMS
Khi QMS đã được khắc phục:
11.1. Kiểm tra QMS
11.2. Switch backend-active về QMS
11.3. Reload an toàn
Kết luận
Bài thực hành này cho thấy:
Failover không cần phức tạp để hiệu quả.
Chỉ cần:
Reverse Proxy thiết kế đúng,
Một điểm chuyển mạch backend duy nhất,
Quy trình rõ ràng.
Với cách làm này, hệ thống của anh:
Chịu lỗi tốt hơn,
Ít phụ thuộc cá nhân,
Phù hợp môi trường vận hành thực tế.
- Đăng nhập để gửi ý kiến