Pokud jste nikdy neprovozovali Server Pro verze 5.0.1 ani Community Edition verze 5.0.1, nebo jste spustili zcela novou instanci s verzí 5.0.1, nemusíte tento proces obnovy spouštět.
- (2024-04-22 13:40 BST): Přidán krok „Zastavení přísunu nových aktualizací do systému a vyprázdnění všech změn do MongoDB“.
- (2024-04-23 11:45 BST): Zohlednění nefunkčních vyprázdnění ve verzi 5.0.1 a přeskočení vyprázdnění, pokud byla spuštěna verze 5.0.2.
OVERLEAF_HISTORY_CHUNKS_BUCKET).
Proces obnovy zpozdí spuštění aplikace uvnitř kontejneru Server Pro. Po tuto dobu se bude web jevit jako offline. Podporujeme spuštění obnovy pouze z jediné instance kontejneru Server Pro; všechny ostatní workery horizontálního škálování musí být offline.
V případě potřeby můžete proces obnovy zastavit a znovu obnovit.
Podle našich výkonnostních testů dokáže proces obnovy na moderním hardwaru (taktovací frekvence CPU 3 GHz a lokální úložiště NVMe) zpracovat přibližně 10 tisíc malých projektů za minutu. Například pro instanci se 100 tisíci projekty naplánujte okno údržby, které umožní alespoň 10+2 minuty výpadku. Pro odhad počtu projektů ve vaší instanci použijte následující dotaz:
Proces obnovy
1
Stažení release images
Stáhněte release images verze
5.0.3.2
Určení několika projektů
Určete podle ID několik projektů, kterým chybí historie; ideálně máte oprávnění v jednom z nich provést změnu.
3
Naplánování údržby
Naplánujte okno údržby pro výpadek.
4
Zastavení všech workerů kromě jednoho
Při použití horizontálního škálování zastavte všechny workery kromě jednoho.
5
Zastavení nových aktualizací a vyprázdnění všech změn do MongoDB
Zastavte přísun nových aktualizací do systému a vyprázdněte všechny změny do MongoDB:
-
Zavřete editor a ručně odpojte všechny uživatele prostřednictvím administrátorského panelu na
https://my-server-pro.example.com/admin#open-close-editorna kartě „Open/Close Editor“. -
Zastavte službu Websocket/real-time.
-
Počkejte, až se služba real-time ukončí, což signalizuje
down:. -
Pokud je povolen, zastavte kontejner git-bridge.
-
Pokud jste nikdy nespustili verzi 5.0.2: Spusťte ruční vyprázdnění aktualizací dokumentů a počkejte, až úspěšně skončí.
Při chybě můžete příkaz zopakovat. Pokud při opakovaných bězích uvidíte nenulový
failureCount, migraci prosím zastavte (obnovte služby pomocídocker restart git-bridge sharelatex) a kontaktujte podporu. -
Pokud jste nikdy nespustili verzi 5.0.2: Ujistěte se, že všechny změny byly vyprázdněny z redisu.
Pokud
redis-clivrátí jakýkoli výstup, migraci prosím zastavte (obnovte služby pomocídocker restart git-bridge sharelatex) a kontaktujte podporu. -
Pokuste se vyprázdnit všechny čekající změny historie.
Půjde o vyprázdnění v rámci možností (best effort), protože některé projekty mají kvůli chybné migraci databáze poškozenou historii. Jakékoli chyby budou vyřešeny opětovnou synchronizací historie na konci procesu obnovy.
6
Vytvoření zálohy
Zvažte vytvoření konzistentní zálohy instance.
7
Upgrade
Proveďte upgrade na verzi
5.0.3.8
Automatická obnova
Proces obnovy se spustí automaticky při startu kontejneru.
9
Sledování průběhu
Průběh skriptu můžete sledovat pomocí tail na log souboru
/var/lib/overleaf/data/history/doc-version-recovery.log. Na začátku vypíše celkový počet projektů a po každých 1000 zpracovaných projektech souhrn.10
Počkejte na dokončení procesu obnovy
Počkejte na dokončení procesu obnovy – buď sledujte výše uvedený log soubor, dokud se nevypíše řádek
Done., nebo počkejte, až se na standardní výstup kontejneru Server Pro vypíše Finished recovery of doc versions..11
Ověření procesu obnovy
Ověřte proces obnovy otevřením panelu historie u několika projektů, kterým dříve historie chyběla.
-
Urychlete opětovnou synchronizaci testovaných projektů (nakonec budou zpracovány i tak, ale nechceme čekat, až na ně přijde řada.)
(Opakujte pro každé ID projektu, které chcete otestovat;
000000000000000000000000pokaždé nahraďte jedním ID projektu.) -
Otevřete editor projektu
https://my-server-pro.example.com/project/000000000000000000000000 - Otevřete u projektu panel „History“ a zkontrolujte nejnovější obsah.
- Volitelné: Panel „History“ opět zavřete. Proveďte změnu v kódu, například přidejte komentář do hlavičky.
- Volitelné: Spusťte novou kompilaci, aby se vyvolalo vyprázdnění lokální změny. Znovu otevřete panel „History“ a zkontrolujte změnu. Poté změnu vraťte zpět.
12
Při horizontálním škálování...
Znovu spusťte ostatní workery.
13
Ponechte instanci běžet
Instanci, která provedla proces obnovy, prosím ponechte běžet. Na pozadí bude znovu synchronizovat historii všech projektů se souběžností 1. To povede k mírně zvýšené základní zátěži. (Instanci můžete restartovat, ale opětovné synchronizace pak bude muset začít od začátku.)
14
Dejte nám vědět, až budete hotovi
Zákazníci Server Pro: Po dokončení procesu obnovy prosím informujte tým podpory.

