Nếu bạn chưa từng chạy Server Pro phiên bản 5.0.1 hoặc Community Edition phiên bản 5.0.1, hoặc bạn đã khởi tạo một phiên bản hoàn toàn mới với 5.0.1, thì bạn không cần chạy quy trình khôi phục này.
- (2024-04-22 13:40 BST): Bổ sung bước “Ngăn các cập nhật mới đi vào hệ thống và đẩy (flush) toàn bộ thay đổi vào MongoDB”.
- (2024-04-23 11:45 BST): Xử lý các lần flush bị lỗi trong 5.0.1 và bỏ qua flush khi 5.0.2 đã được khởi động.
OVERLEAF_HISTORY_CHUNKS_BUCKET).
Quy trình khôi phục sẽ làm chậm việc khởi động ứng dụng bên trong container Server Pro. Trang web sẽ hiển thị là ngoại tuyến trong suốt thời gian đó. Chúng tôi chỉ hỗ trợ chạy khôi phục từ một phiên bản duy nhất của container Server Pro, tất cả các worker mở rộng theo chiều ngang khác cần được tắt.
Bạn có thể dừng và tiếp tục quy trình khôi phục nếu cần.
Dựa trên các thử nghiệm hiệu năng của chúng tôi, quy trình khôi phục có thể xử lý khoảng 10 nghìn dự án nhỏ mỗi phút trên phần cứng hiện đại (CPU xung nhịp 3GHz và lưu trữ NVMe cục bộ). Ví dụ, với một phiên bản có 100 nghìn dự án, hãy lên lịch một khoảng thời gian bảo trì cho phép ít nhất 10+2 phút ngừng hoạt động. Sử dụng truy vấn sau để ước tính số lượng dự án trong phiên bản của bạn:
Quy trình khôi phục
1
Tải image bản phát hành
Tải các image của bản phát hành
5.0.3.2
Xác định một vài dự án
Xác định theo id một vài dự án bị thiếu lịch sử; lý tưởng nhất là bạn có quyền thực hiện thay đổi trên một trong số đó.
3
Lên lịch bảo trì
Lên lịch một khoảng thời gian bảo trì cho thời gian ngừng hoạt động.
4
Dừng tất cả worker trừ một
Dừng tất cả worker trừ một khi sử dụng thiết lập mở rộng theo chiều ngang.
5
Ngăn cập nhật mới và flush toàn bộ thay đổi vào MongoDB
Ngăn các cập nhật mới đi vào hệ thống và flush toàn bộ thay đổi vào MongoDB:
-
Đóng trình soạn thảo và ngắt kết nối thủ công tất cả người dùng qua bảng quản trị tại
https://my-server-pro.example.com/admin#open-close-editortrong tab “Open/Close Editor”. -
Dừng dịch vụ Websocket/real-time.
-
Đợi dịch vụ real-time thoát, được biểu thị bằng
down:. -
Dừng container git-bridge nếu đã bật.
-
Nếu bạn chưa từng chạy 5.0.2: Thực hiện flush thủ công cho các cập nhật tài liệu và đợi đến khi hoàn tất thành công.
Bạn có thể lặp lại lệnh khi gặp lỗi. Nếu bạn thấy
failureCountkhác 0 trong các lần chạy liên tiếp, vui lòng dừng việc di chuyển (khôi phục các dịch vụ bằngdocker restart git-bridge sharelatex) và liên hệ bộ phận hỗ trợ. -
Nếu bạn chưa từng chạy 5.0.2: Đảm bảo rằng tất cả thay đổi đã được flush ra khỏi redis.
Nếu bạn nhận được bất kỳ đầu ra nào từ
redis-cli, vui lòng dừng việc di chuyển (khôi phục các dịch vụ bằngdocker restart git-bridge sharelatex) và liên hệ bộ phận hỗ trợ. -
Thử flush mọi thay đổi lịch sử đang chờ xử lý.
Đây chỉ là flush theo khả năng tốt nhất, vì một số dự án có lịch sử bị hỏng do việc di chuyển cơ sở dữ liệu lỗi. Mọi lỗi sẽ được xử lý bằng cách đồng bộ lại (re-sync) lịch sử ở cuối quy trình khôi phục.
6
Tạo bản sao lưu
Cân nhắc tạo một bản sao lưu nhất quán của phiên bản.
7
Nâng cấp
Nâng cấp lên phiên bản
5.0.3.8
Khôi phục tự động
Quy trình khôi phục tự động chạy khi container khởi động.
9
Theo dõi tiến trình
Bạn có thể theo dõi tiến trình của script bằng cách tail tệp log
/var/lib/overleaf/data/history/doc-version-recovery.log. Script sẽ in tổng số dự án khi bắt đầu và một bản tóm tắt sau mỗi 1000 dự án được xử lý.10
Đợi quy trình khôi phục hoàn tất
Đợi quy trình khôi phục hoàn tất bằng cách tail tệp log ở trên cho đến khi dòng
Done. được in ra, hoặc đợi đến khi Finished recovery of doc versions. được in ra đầu ra chuẩn của container Server Pro.11
Xác minh quy trình khôi phục
Xác minh quy trình khôi phục bằng cách mở bảng lịch sử của một vài dự án trước đây bị thiếu lịch sử.
-
Đẩy nhanh việc đồng bộ lại cho các dự án cần kiểm tra (Cuối cùng chúng cũng sẽ được xử lý, nhưng chúng ta không muốn đợi đến lượt của chúng.)
(Lặp lại với từng project-id cần kiểm tra, thay
000000000000000000000000bằng từng project-id một.) -
Mở trình soạn thảo dự án cho các dự án
https://my-server-pro.example.com/project/000000000000000000000000 - Mở bảng “History” của dự án và xem nội dung mới nhất.
- Tùy chọn: Đóng lại bảng “History”. Thực hiện một thay đổi mã, chẳng hạn thêm một chú thích vào phần đầu.
- Tùy chọn: Biên dịch lại để kích hoạt flush thay đổi cục bộ. Mở lại bảng “History” và xem thay đổi. Khi xong, hãy hoàn tác thay đổi.
12
Đối với mở rộng theo chiều ngang...
Khởi động lại các worker khác.
13
Giữ phiên bản tiếp tục chạy
Vui lòng giữ cho phiên bản đã thực thi quy trình khôi phục tiếp tục chạy. Nó sẽ đồng bộ lại lịch sử cho tất cả dự án ở chế độ nền với mức đồng thời là 1. Điều này sẽ làm tải nền tăng nhẹ. (Bạn có thể khởi động lại phiên bản, nhưng nó sẽ phải bắt đầu lại các lần đồng bộ lại từ đầu.)
14
Thông báo cho chúng tôi khi bạn hoàn tất
Khách hàng Server Pro: Vui lòng thông báo cho đội ngũ hỗ trợ khi bạn đã hoàn tất quy trình khôi phục.

