Tài liệuSao lưu

Sao lưu

Sao lưu toàn phần và tăng dần, bản sao mã hoá lên S3, sao lưu database và lịch của khách, cùng cách khôi phục tài khoản, file hoặc database.

ZoPanel có nhiều loại sao lưu bổ trợ cho nhau. Sao lưu toàn phần cho bạn một file nén đầy đủ, chuyển được sang bất kỳ server ZoPanel nào. Snapshot tăng dần (restic) là các bản nhỏ chạy mỗi đêm, khôi phục được từng file. Sao lưu database có thể chạy dày tới mỗi giờ. Mọi bản sao lưu đều có thể được mã hoá rồi chép lên kho lưu trữ tương thích S3. Trang này hướng dẫn cách thiết lập, các cơ chế kiểm tra an toàn và mọi cách khôi phục.

Tổng quan

Loại Nội dung Lịch Nơi lưu
Sao lưu toàn phần Website và database của một tài khoản Thủ công, hoặc hằng ngày/hằng tuần lúc 02:00 ~/backups của tài khoản, và S3
Snapshot tăng dần (restic) File, database và mail của mọi tài khoản Mỗi đêm lúc 01:00 /var/backups trên server, hoặc S3
Sao lưu database Một database Mỗi giờ, mỗi 6 giờ hoặc mỗi ngày backups/db của tài khoản, và S3
Lịch của khách File, database và mail tuỳ khách chọn Hằng ngày hoặc hằng tuần, giờ tuỳ chọn Trong tài khoản, và có thể chép lên S3 riêng của khách
Sao lưu cấu hình (.zpb) Cài đặt và database của panel Hằng ngày S3 (xem Cứu hộ thảm họa)

Sao lưu toàn phần

Trên trang Sao lưu, chọn tài khoản rồi bấm Tạo bản sao lưu. Toàn bộ website và database của tài khoản được nén vào ~/backups.

Để tự động sao lưu mọi tài khoản, mở Cài đặt → Chung:

  • Sao lưu tự động: Tắt, Hằng ngày hoặc Hằng tuần (Chủ nhật). Sao lưu chạy lúc 02:00 theo giờ máy chủ.
  • Số bản giữ lại mỗi tài khoản: từ 1 đến 90 (mặc định 7).

Trước khi sao lưu, ZoPanel kiểm tra dung lượng trống. Nếu còn dưới 1 GB, hoặc dưới 5% ổ đĩa, sao lưu sẽ không chạy, để không bao giờ làm đầy ổ và kéo sập website. Mỗi file sao lưu xong được tính checksum SHA-256, và checksum này được kiểm tra lại trước mọi lần khôi phục.

Sao lưu từ xa lên S3

Sao lưu từ xa cần license Pro. Mở Cài đặt → Sao lưu từ xa, bật công tắc và điền:

Trường Ghi chú
Nhà cung cấp AWS, Cloudflare R2, Backblaze B2, Wasabi, MinIO và các nhà cung cấp khác
Endpoint, Region, Bucket Lấy từ nhà cung cấp lưu trữ
Thư mục gốc Mặc định là zopanel
Access key, Secret key Nên dùng key chỉ có quyền trên bucket này
Số bản giữ lại trên cloud mỗi tài khoản Từ 1 đến 365 (mặc định 14)
URL dạng path (R2, MinIO) Một số nhà cung cấp yêu cầu
HTTP thường (chỉ MinIO nội bộ) Chỉ dùng cho MinIO trong mạng riêng

Bấm Kiểm tra kết nối, rồi Lưu. Từ đó, mọi bản sao lưu tài khoản và sao lưu database đều được tải lên sau khi hoàn tất.

Mã hoá và khoá khôi phục

Bản sao được mã hoá ngay trên server trước khi tải lên, bằng XChaCha20-Poly1305 với khoá suy ra từ khoá khôi phục của panel. Nhà cung cấp lưu trữ, hay bất kỳ ai có access key của bucket, chỉ thấy dữ liệu đã mã hoá. File mã hoá được chia thành các khối có xác thực, nên file bị cắt cụt hay bị sửa sẽ không mở được, thay vì khôi phục ra dữ liệu hỏng.

Để xem khoá, mở Sao lưu → Cứu hộ thảm họa → Xem khóa. Hãy ghi lại và cất khoá ở ngoài server, ví dụ trong trình quản lý mật khẩu. Không có khoá thì không đọc được gì trong bucket từ server khác.

Sao lưu tăng dần (restic)

Quản trị viên thiết lập sao lưu tăng dần trên trang Sao lưu, ở thẻ Sao lưu tăng dần:

  1. Bật Tạo snapshot mọi tài khoản mỗi đêm (01:00).
  2. Chọn Nơi lưu: Máy chủ này (/var/backups) hoặc S3. S3 dùng bucket trong Cài đặt → Sao lưu từ xa, nên cần cấu hình phần đó trước.
  3. Đặt số bản giữ lại: Theo ngày (mặc định 7), Theo tuần (mặc định 4) và Theo tháng (mặc định 6).
  4. Bấm Xem khoá khôi phục và cất cả khoá này. Kho restic được mã hoá bằng nó.

Mỗi snapshot chỉ lưu phần thay đổi so với lần trước, đồng thời được khử trùng lặp, nén và mã hoá. Thứ bảy hằng tuần lúc 05:00, ZoPanel kiểm tra cấu trúc kho và đọc lại 2% dữ liệu. Nếu kiểm tra thất bại, quản trị viên nhận cảnh báo sao lưu thất bại.

Sao lưu database

Mở Cơ sở dữ liệu, rồi Sao lưu của từng database:

  • Sao lưu tự động: Tắt, Mỗi giờ, Mỗi 6 giờ hoặc Mỗi ngày, kèm số bản Giữ lại.
  • Sao lưu ngay để tạo bản thủ công.

Khi bật sao lưu từ xa, các bản này cũng được gửi lên S3 và được mã hoá theo cùng cách.

Lịch sao lưu và kho S3 riêng của khách

Khách tự đặt lịch trên trang Sao lưu của mình, ở thẻ Sao lưu tự động:

  • Lịch: hằng ngày hoặc hằng tuần, với Thứ và Giờ (máy chủ).
  • Nội dung: File website, Database, Email.
  • Số bản giữ trên máy chủ: từ 1 đến 30 (mặc định 3).
  • Chép lên kho của tôi: mọi kho tương thích S3 (Amazon S3, Cloudflare R2, Backblaze B2, Wasabi, Google Cloud Storage với khoá HMAC), với Số bản giữ trên kho từ 1 đến 365.

Kho của khách phải là endpoint HTTPS công khai. Địa chỉ trong mạng nội bộ của server bị từ chối. Thử kết nối kiểm tra bucket có ghi được hay không.

Khôi phục

Cả tài khoản

  • Từ bản sao lưu trên server: Sao lưu → Khôi phục. File và database bị ghi đè bằng nội dung của bản sao lưu.
  • Từ file tạo trên bất kỳ server ZoPanel nào: Sao lưu → Khôi phục từ file. Tài khoản, website và database được dựng lại đúng tên, user và mật khẩu. Website hoặc database trùng tên với cái đang có sẽ bị từ chối.
  • Từ S3: Sao lưu → Cứu hộ thảm họa → Duyệt S3, mở server → tài khoản, rồi bấm Khôi phục trên một bản sao lưu. Tài khoản chưa có sẽ được tạo lại. Cách này dùng được cả với bản sao lưu của server không còn tồn tại.

Từng file, thư mục và mail

Trong thẻ Snapshot (sao lưu tăng dần) trên trang Sao lưu, chọn một snapshot, duyệt tới file hay thư mục rồi bấm Khôi phục. File được đặt lại đúng chỗ, file cùng tên sẽ bị thay. Mail được gộp vào hộp thư. Khách tự làm được việc này cho tài khoản của mình, và có thể bấm Tạo snapshot trước khi thay đổi lớn.

Database

  • Trong danh sách Sao lưu của database, bấm Khôi phục. Dữ liệu hiện tại được sao lưu trước (loại trước khôi phục), nên có thể hoàn tác.
  • Database khôi phục từ snapshot được thêm vào danh sách sao lưu của database đó, sẵn sàng để khôi phục.

Kinh nghiệm nên làm

  • Bật sao lưu từ xa. Trung tâm bảo mật cảnh báo khi chưa đạt mục Có sao lưu ra ngoài server, và khi 48 giờ qua không có bản sao lưu nào thành công.
  • Cất khoá khôi phục và khoá của sao lưu tăng dần ở ngoài server.
  • Thỉnh thoảng thử khôi phục lên một server dự phòng. Bản sao lưu chưa từng được khôi phục thì chưa chắc đã dùng được.

← Bảo mật Cứu hộ thảm họa →