Migrace na S3
Tyto pokyny platí pro verzi v5.x a novější. Pokud tento návod používáte pro starší verzi, použijte v názvech cest
sharelatex místo overleaf a u proměnných prostředí předponu SHARELATEX_ místo OVERLEAF_. U verze v6 a novější vynechte starší příkazy pro user_files.Rádi od vás uslyšíme! Pokud se s námi chcete podělit o to, kolik souborů jste migrovali, jaký byl jejich celkový objem a jak dlouho migrace trvala, napište na
ayaka-notes@outlook.com .Požadavky
- Objektové úložiště kompatibilní s S3, se kterým lze komunikovat; možnosti viz #s3-setup
- Volné místo na disku pro migraci stávajících dat, přibližně ve velikosti aktuálních dat na disku
- Okno údržby pro samotnou migraci
- Úplnou zálohu včetně konfigurace, aby z ní bylo možné obnovit
Odhad potřebného místa na disku pro migraci
Pro výpočet aktuálního využití disku můžeme použítdu:
Adresáře historie již mají správné rozložení. Můžete je nahrát přímo ze zdrojové složky připojené přes bind-mount, což nevyžaduje žádné další místo na disku.
Postup migrace
Krok 0: vypnutí instance
Musíme zajistit, aby byly migrovány všechny uživatelské soubory i soubory šablon. Nejlepší je instanci vypnout, aby se nepřehlédly nově nahrané soubory. Postup vypnutí najdete v našem návodu k provedení konzistentní zálohy.Krok 1: přepsání rozložení adresářů
Pro nahrání do S3 musíme přepsat rozložení adresářů souborů projektů. Rozložení adresářů pro lokální úložiště ve filestore je<project-id>_<file-id> a rozložení adresářů v S3 je <project-id>/<file-id>.
V následujícím textu se pro ukládání souborů v novém rozložení adresářů používá /srv/overleaf-s3-migration. Nahraďte /srv/overleaf-bind-mount adresářem hostitele připojeným do /var/lib/overleaf. Příkazy pro kopírování spouštějte na hostiteli s oprávněním ke čtení a zápisu do těchto adresářů; kontejner zůstává zastavený.
K přepsání rozložení můžeme využít tar:
Krok 2: nahrání souborů
Podle svých preferencí můžete k nahrání souborů do objektového úložiště kompatibilního s S3 použít S3 klienta minio mc nebo aws cli. aws cli- Zde byste měli nahradit
overleaf-user-files,overleaf-template-files,overleaf-project-blobsaoverleaf-chunksnázvy svých S3 bucketů. - Nahraďte také
/srv/overleaf-bind-mountlokální cestou bind-mountu/var/lib/overleaf. Ve výchozím nastavení je to~/overleaf_datav nasazení přes docker-compose.yml a<toolkit-checkout>/data/overleafpři použití Toolkitu.
Krok 3: spuštění instance s nasměrováním na S3
Přidejte do své konfigurace všechny proměnné související s S3, jak je podrobně popsáno v části Přehled proměnných v návodu k nastavení S3. Bind-mount datového adresáře ponechte: může obsahovat také šifrovací klíče pro Zotero nebo Mendeley, které se do S3 nemigrují.Ponechte prosím na místě bind-mount pomocného disku pro dočasné soubory.
- v editoru lze zobrazit náhled binárních souborů
- lze zkompilovat PDF s obrázky
- lze nahrávat nové soubory
Vrácení zpět
Migraci můžete elegantně vrátit zpět provedením kroků v opačném pořadí:- Vypněte instanci
- Zrcadlete soubory zpět prohozením zdroje a cíle
- Zapište nové soubory zpět do lokálního adresáře pomocí inverzní transformace
transform - Restartujte instanci se starou konfigurací
První transformace odstraní složku nejvyšší úrovně. Druhá transformace změní rozložení adresářů na ploché. Zástupné znaky (wildcards) zajistí, že se extrahují pouze soubory, nikoli jejich nadřazené složky (projektů).

