Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Bài 9. Kiểm tra backup và test restore theo kịch bản

ICT

1. Mục tiêu của kiểm tra và test restore

Kiểm tra backup và test restore nhằm:

  • Xác nhận backup thực sự sử dụng được

  • Phát hiện sớm:

    • Backup lỗi

    • Thiếu file

    • Sai version

  • Giảm rủi ro khi xảy ra sự cố thật

  • Chuẩn hóa thao tác cho đội CNTT

Nguyên tắc:

Backup không được test = backup chưa tồn tại.


2. Phân biệt “kiểm tra backup” và “test restore”

Hoạt độngMục tiêu
Kiểm tra backupXác nhận backup hoàn thành đúng
Test restoreXác nhận khôi phục thành công

Hai hoạt động này bắt buộc phải tách biệt.


3. Kiểm tra backup (Backup Verification)

3.1. Kiểm tra sau mỗi lần backup

Thực hiện tự động hoặc bán tự động:

  • Kiểm tra:

    • Exit code của script

    • Log không có lỗi

  • Kiểm tra:

    • File tồn tại

    • Dung lượng hợp lý

    • Timestamp đúng


3.2. Kiểm tra tính toàn vẹn dữ liệu

  • Sử dụng:

    • Checksum (SHA256/MD5)

  • So sánh:

    • File dump

    • File đồng bộ

Mục tiêu:

  • Phát hiện:

    • File hỏng

    • File copy thiếu


3.3. Kiểm tra dung lượng lưu trữ

  • Cảnh báo khi:

    • Disk > 80%

  • Kiểm tra:

    • Retention có chạy đúng

    • File cũ có bị xóa đúng lịch


4. Test restore theo từng kịch bản

Test restore không thực hiện trên hệ thống đang chạy, mà trên:

  • Máy test

  • VM

  • Hoặc môi trường tạm thời


5. Kịch bản 1: Restore database từ CMC2D (qua dump)

5.1. Tình huống giả lập

  • Database CMC2D bị lỗi logic

  • Cần khôi phục dữ liệu tại một thời điểm xác định


5.2. Các bước test

  1. Lấy file dump từ:

    • Desktop

  2. Dựng DB server test

  3. Restore database

  4. Kiểm tra:

    • Số bảng

    • Số bản ghi

    • Truy vấn mẫu


5.3. Tiêu chí đạt

  • Restore không lỗi

  • Dữ liệu truy vấn được

  • Thời gian restore ≤ RTO


6. Kịch bản 2: Restore website/webapp từ BV1

6.1. Tình huống giả lập

  • BV1 lỗi code hoặc cấu hình

  • Cần dựng lại nhanh


6.2. Các bước test

  1. Dựng server test

  2. Restore:

    • Code

    • Cấu hình

  3. Kết nối DB test

  4. Truy cập website


6.3. Tiêu chí đạt

  • Website chạy

  • Không lỗi cấu hình

  • Thời gian phục hồi phù hợp


7. Kịch bản 3: Dựng lại PRX từ backup

7.1. Tình huống giả lập

  • PRX bị lỗi cấu hình hoặc hỏng hệ điều hành


7.2. Các bước test

  1. Cài OS mới

  2. Restore:

    • Reverse proxy config

    • SSL/TLS

  3. Chạy service

  4. Kiểm tra routing


7.3. Tiêu chí đạt

  • PRX hoạt động

  • Routing đúng

  • Không cần chỉnh tay nhiều


8. Kịch bản 4: Test failover sang BV2

8.1. Tình huống giả lập

  • BV1 mất kết nối

  • Cần chuyển dịch vụ sang BV2


8.2. Các bước test

  1. Chủ động dừng dịch vụ BV1

  2. Chuyển routing tại PRX

  3. Kích hoạt dịch vụ trên BV2

  4. Truy cập hệ thống


8.3. Tiêu chí đạt

  • Dịch vụ hoạt động trên BV2

  • Không mất dữ liệu

  • Không xảy ra split-brain


9. Kịch bản 5: Khôi phục từ Desktop (thảm họa)

9.1. Tình huống giả lập

  • CMC + BV đều không dùng được

  • Chỉ còn Desktop backup


9.2. Các bước test

  1. Dựng server mới

  2. Restore:

    • Database

    • Code

    • Config

  3. Chạy dịch vụ

  4. Kiểm tra nghiệp vụ


9.3. Tiêu chí đạt

  • Hệ thống hoạt động độc lập

  • Dữ liệu đúng thời điểm

  • Desktop backup đủ để cứu hệ thống


10. Tần suất test restore khuyến nghị

Loại testTần suất
Restore DB1–3 tháng
Restore web3–6 tháng
Restore PRX6 tháng
Test failover6 tháng
Test thảm họa1 năm

11. Ghi nhận và cải tiến sau test

Sau mỗi lần test:

  • Ghi log:

    • Thời gian

    • Vấn đề gặp phải

  • Cập nhật:

    • SOP

    • Script

    • Timeline backup


Kết luận

Kiểm tra và test restore giúp:

  • Biến backup thành hệ thống khôi phục thật

  • Giảm phụ thuộc vào cá nhân

  • Tăng độ tin cậy của toàn bộ kiến trúc