Xây dựng cho Sản xuất: Ứng dụng Web - Lập kế hoạch khôi phục
Bây giờ ta đã cài đặt ứng dụng mẫu, ta nên lập một kế hoạch khôi phục. Kế hoạch khôi phục là một tập hợp các thủ tục được lập thành văn bản để khôi phục từ các lỗi tiềm ẩn hoặc lỗi quản trị trong cài đặt server của bạn. Tạo một kế hoạch khôi phục cũng sẽ giúp bạn xác định các thành phần và dữ liệu thiết yếu của cài đặt server ứng dụng của bạn.Kế hoạch khôi phục rất cơ bản cho sự cố server có thể bao gồm danh sách các bước bạn đã thực hiện để thực hiện triển khai server ban đầu, với các thủ tục bổ sung để khôi phục dữ liệu ứng dụng từ các bản backup . Kế hoạch khôi phục tốt hơn có thể, ngoài tài liệu tốt, tận dụng các tập lệnh triển khai và các công cụ quản lý cấu hình, chẳng hạn như Ansible, Chef hoặc Puppet, để giúp tự động hóa và nhanh chóng quá trình khôi phục.
Trong phần này của hướng dẫn, ta sẽ trình bày cách tạo kế hoạch khôi phục cơ bản cho ứng dụng WordPress mẫu mà ta đã cài đặt . Nhu cầu của bạn có thể sẽ khác nhau, nhưng điều này sẽ giúp bạn bắt đầu với việc lập ra một kế hoạch khôi phục của riêng mình.
Yêu cầu về kế hoạch khôi phục
Yêu cầu cơ bản của ta là ta có thể khôi phục sau khi mất bất kỳ server nào trong quá trình cài đặt , đồng thời khôi phục chức năng và dữ liệu của ứng dụng (cho đến thời điểm hợp lý). Để thực hiện mục tiêu này, ta sẽ tạo một bản kiểm kê của từng server , xác định dữ liệu nào cần được backup và viết kế hoạch khôi phục dựa trên tài sản có sẵn của ta . Tất nhiên, nếu bất kỳ kế hoạch khôi phục nào được thực thi, ứng dụng sẽ được kiểm tra để xác minh nó đã được khôi phục đúng cách.
Ta sẽ đưa ra kế hoạch khôi phục cho từng loại server mà ứng dụng của ta bao gồm:
- Server database
- Server ứng dụng
- Server cân bằng tải
Hãy bắt đầu với server database .
Server database
Bằng cách thực hiện lại các bước của ta (và xem hướng dẫn trước đó), ta biết rằng server database của ta đã được tạo theo các bước sau:
- Cài đặt MySQL
- Cấu hình MySQL
- Khởi động lại MySQL
- Tạo database và user
Kế hoạch khôi phục server database
Bằng cách xem xét cách ta tạo server database , ta biết rằng nó có thể được tạo lại từ đầu ngoài nội dung của chính database (được tạo ở bước 4). Trong ví dụ WordPress của ta , hầu hết dữ liệu ứng dụng (tức là các bài đăng trên blog) được lưu trữ trong database . Điều này nghĩa là ta phải duy trì các bản backup của database nếu ta muốn có thể khôi phục server database . Ta cũng sẽ backup file cấu hình MySQL vì nó đã được sửa đổi một chút.
Dựa trên khoảng không quảng cáo của ta về server database , đây là phác thảo về kế hoạch khôi phục server database của ta :
Backup bắt buộc:
- Database MySQL
- Cấu hình MySQL
Các bước phục hồi:
- Cài đặt MySQL
- Khôi phục file cấu hình MySQL và (nếu nó thay đổi) cập nhật địa chỉ IP đang nghe
- Khôi phục database
- Khởi động lại MySQL
Bây giờ ta đã có phác thảo về kế hoạch khôi phục server database , ta nên tìm hiểu chi tiết về các bước khôi phục và đảm bảo ta duy trì các bản backup cần thiết. Ta sẽ để nó như một bài tập cho người đọc để trình bày chi tiết các bước khôi phục, vì chúng sẽ khác nhau tùy thuộc vào cài đặt thực tế. Trong trường hợp ví dụ, ta có thể sử dụng hướng dẫn triển khai ứng dụng làm tài liệu để làm cơ sở cho các bước khôi phục của ta .
Server ứng dụng
Bằng cách thực hiện lại các bước của ta (và xem hướng dẫn trước đó), ta biết rằng các server ứng dụng đã được tạo theo các bước sau:
- Cài đặt và cấu hình Apache và PHP
- Download và cấu hình ứng dụng (WordPress)
- Sao chép các file ứng dụng vào DocumentRoot
- Sao chép các file ứng dụng trên tất cả các server ứng dụng
Kế hoạch khôi phục server ứng dụng
Bằng cách xem xét các bước cài đặt , ta biết rằng server ứng dụng của ta có thể được tạo lại từ đầu ngoài các file ứng dụng. Trong ví dụ về WordPress của ta , các file ứng dụng bao gồm file cấu hình WordPress (bao gồm thông tin kết nối database ), các plugin WordPress đã cài đặt và file tải lên. Điều này nghĩa là ta phải duy trì các bản backup của các file ứng dụng nếu ta muốn có thể khôi phục một server ứng dụng.
Vì các file ứng dụng được cài đặt để sao chép trên nhiều server ứng dụng, ta chỉ cần khôi phục dữ liệu từ các bản backup nếu tất cả các server ứng dụng bị lỗi hoặc nếu dữ liệu bị hỏng theo cách nào đó. Nếu ít nhất một server ứng dụng đang chạy tốt, với các file ứng dụng chính xác, việc cài đặt sao chép file sẽ khôi phục các file thích hợp sang server ứng dụng mới.
Dựa trên khoảng không quảng cáo của ta về các server ứng dụng, hãy phác thảo kế hoạch khôi phục server ứng dụng của ta :
Backup bắt buộc:
- Tệp ứng dụng (
/var/www/html/
, trong ví dụ của ta )Các bước phục hồi:
- Cài đặt và cấu hình Apache và PHP
- Sao chép các file ứng dụng từ server ứng dụng đang hoạt động
- Nếu không thể sao chép các file ứng dụng (tất cả các server ứng dụng đã chết), hãy khôi phục từ các bản backup
Bây giờ ta đã có phác thảo về kế hoạch khôi phục server ứng dụng, ta nên tìm hiểu chi tiết về các bước khôi phục và đảm bảo ta duy trì các bản backup cần thiết. Ta sẽ để nó như một bài tập cho người đọc để trình bày chi tiết các bước khôi phục, vì chúng sẽ khác nhau tùy thuộc vào cài đặt thực tế. Trong trường hợp ví dụ, ta có thể sử dụng hướng dẫn triển khai ứng dụng làm tài liệu để làm cơ sở cho các bước khôi phục của ta .
Server cân bằng tải
Bằng cách thực hiện lại các bước của ta (và xem hướng dẫn trước), ta biết rằng server cân bằng tải đã được tạo theo các bước sau:
- Đã nhận được Chứng chỉ SSL và các file liên quan
- HAProxy đã cài đặt
- Đã cấu hình HAProxy
- Đã khởi động lại HAProxy
Kế hoạch khôi phục server cân bằng tải
Bằng cách xem xét khoảng không quảng cáo này, ta biết rằng server cân bằng tải của ta có thể được tạo lại từ đầu ngoài các file liên quan đến certificate SSL. Điều này nghĩa là ta phải duy trì các bản backup của các file certificate SSL nếu ta muốn có thể khôi phục server cân bằng tải. Ta cũng sẽ bao gồm file cấu hình HAProxy trong các bản backup của ta .
Dựa trên khoảng không quảng cáo của ta về server cân bằng tải, ta hãy phác thảo kế hoạch khôi phục server cân bằng tải của ta :
Backup bắt buộc:
- Chứng chỉ SSL (PEM) và các file liên quan
- Tệp cấu hình HAProxy
Các bước phục hồi:
- Khôi phục file Chứng chỉ SSL
- Cài đặt HAProxy
- Khôi phục file cấu hình HAProxy
- Khởi động lại HAProxy
Bây giờ ta đã có phác thảo về kế hoạch khôi phục server cân bằng tải, ta nên tìm hiểu chi tiết về các bước khôi phục và đảm bảo ta duy trì các bản backup cần thiết. Ta sẽ để nó như một bài tập cho người đọc để trình bày chi tiết các bước khôi phục, vì chúng sẽ khác nhau tùy thuộc vào cài đặt thực tế. Trong trường hợp ví dụ, ta có thể sử dụng hướng dẫn triển khai ứng dụng làm tài liệu để làm cơ sở cho các bước khôi phục của ta .
Những ý kiến khác
Nếu việc khôi phục một trong các thành phần yêu cầu bạn phải cấu hình lại bất kỳ thành phần nào khác, ví dụ: thay đổi địa chỉ IP của server database , hãy đảm bảo bao gồm các bước thích hợp trong kế hoạch khôi phục của bạn.
Bạn cũng cần viết kế hoạch khôi phục cho tất cả các thành phần khác tồn tại trong cài đặt của bạn, chẳng hạn như DNS của bạn và cho tất cả các thành phần mà bạn sẽ thêm vào trong tương lai, chẳng hạn như server backup , giám sát và ghi log . Khi cài đặt server của bạn phát triển, bạn nên lặp lại các kế hoạch khôi phục hiện có của bạn .
Ta cũng chưa trình bày cách tạo và khôi phục các bản backup , vì vậy ta sẽ phải điền vào các chi tiết đó sau. Ta sẽ đề cập đến các bản backup trong phần tiếp theo của hướng dẫn này.
Kết luận
Sau khi chuẩn bị kế hoạch khôi phục cho các server khác nhau của bạn , bạn nên giữ thông tin này ở đâu đó mà bất kỳ ai cần có thể truy cập để có thể thực hiện khôi phục, hoàn toàn tách biệt với cài đặt server của bạn.
Tiếp tục đến hướng dẫn tiếp theo để bắt đầu cài đặt các bản backup cần thiết để hỗ trợ kế hoạch khôi phục mới của bạn: Xây dựng cho Sản xuất: Ứng dụng Web - Bản backup .
Các tin liên quan
Xây dựng cho Sản xuất: Ứng dụng Web - Tổng quan2015-06-01
Xây dựng cho Sản xuất: Ứng dụng Web - Giám sát
2015-06-01
Xây dựng cho Sản xuất: Ứng dụng Web - backup
2015-06-01
Xây dựng cho Sản xuất: Ứng dụng Web - Triển khai
2015-06-01
Xây dựng cho sản xuất: Ứng dụng web - Ghi log tập trung
2015-06-01
Cách cài đặt control panel lưu trữ web Sentora trên Ubuntu 14.04
2015-04-27
Cách cài đặt web server OpenLiteSpeed trên CentOS 7
2015-04-16
Cách cài đặt web server OpenLiteSpeed trên Ubuntu 14.04
2015-04-15
Cách cài đặt Bacula-Web trên Ubuntu 14.04
2015-04-03
Khái niệm cơ bản về bộ nhớ đệm trên web: Thuật ngữ, Tiêu đề HTTP và Chiến lược lưu vào bộ đệm
2015-04-01