Binääritiedostojen siirto
Server Pron ja Community Editionin tuleva pääversio6.0 puolittaa binääritiedostojen tallennustilan käytön. Versioon 5.5.7 sisältyy online-siirto, joka mahdollistaa mahdollisimman lyhyen käyttökatkon päivityksen yhteydessä.
Server Pron versiosta 4.x lähtien binääritiedostot on tallennettu kahteen kertaan: aktiivisten tiedostojen tallennustilaan “filestoressa” sekä projektien täyteen historiajärjestelmään. Jatkossa kustakin tiedostosta tallennetaan vain yksi kopio projektien täyteen historiajärjestelmään.
Siirto yhdistettyyn tallennusjärjestelmään koostuu kahdesta osasta: uudesta lipusta, jolla ohjataan siirron vaihetta, sekä skriptistä, joka käsittelee kaikki aktiiviset ja pehmeästi poistetut projektit.
Vaiheet:
OVERLEAF_FILESTORE_MIGRATION_LEVEL=0(oletus): tiedostot luetaan filestoresta ja kirjoitetaan sinne. Tiedostot kirjoitetaan historiaan asynkronisesti.OVERLEAF_FILESTORE_MIGRATION_LEVEL=1: tiedostot luetaan historiasta, ja varavaihtoehtona käytetään filestorea, ja ne kirjoitetaan sekä filestoreen että historiaan. Paluu tasolleOVERLEAF_FILESTORE_MIGRATION_LEVEL=0on mahdollinen.OVERLEAF_FILESTORE_MIGRATION_LEVEL=2: tiedostot luetaan ja kirjoitetaan vain historiaan. Paluu tasolleOVERLEAF_FILESTORE_MIGRATION_LEVEL=1ei ole mahdollinen, ellei siirtoa tehty “offline-tilassa”.
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID) ja historialle (OVERLEAF_HISTORY_S3_ACCESS_KEY_ID) käytetään erillisiä palvelutilejä: anna filestore-käyttäjälle lukuoikeus historian blob-bucketiin OVERLEAF_HISTORY_PROJECT_BLOBS_BUCKET . Jatkossa filestore-palvelu palvelee kääntäjäpalvelun lukupyyntöjä.
Tavallinen Server Pro -lisenssi sallii sovelluksen ajamisen sekä tuotantoympäristössä että yhdessä muussa kuin tuotantoympäristössä / testiympäristössä; on erittäin suositeltavaa varata testausta varten muu kuin tuotantoympäristö.
Jos päivität Server Pron/CE:n versioon
6.0 ja päätät myöhemmin palata aiempaan versioon, sinun tulee palauttaa järjestelmä täydestä varmuuskopiosta.Siirtomenettely
1
Luo varmuuskopio
Luo instanssistasi täysi varmuuskopio, joka sisältää yhtenäisen tilannevedoksen mongo-, redis- ja sharelatex-hakemistoista.
2
Päivitä
Toolkit: Päivitä toolkit uusimpaan versioon
$ bin/upgrade -skriptillä. Kun sinulta kysytään, älä vahvista kehotetta Upgrade image? – muokkaa sen sijaan manuaalisesti config/version-tiedostoa ja aseta arvoksi 5.5.7.Vanha docker-compose.yml: Päivitä sharelatex-palvelun versioksi 5.5.7.3
Arvioi siirron koskettamien projektien määrä
4
Tyhjennä projektihistorian jonot
"project_ids":0).Jos “failedProjects” ei ole nolla, ota yhteyttä tukeen äläkä jatka binääritiedostojen siirtoa.
5
Siirry siirron vaiheeseen 1
Toolkit: Aseta
OVERLEAF_FILESTORE_MIGRATION_LEVEL=1 tiedostossa config/variables.env.Vanha docker-compose.yml: Aseta OVERLEAF_FILESTORE_MIGRATION_LEVEL: '1' sharelatex-palvelun environment-osioon.6
Ota määritysmuutos käyttöön ja käynnistä instanssi
Toolkit:
bin/up -dVanha docker-compose.yml: docker compose up -d7
Tarkista pääsy binääritiedostoihin
Avaa projekti Overleaf-editorissa selaimessa ja valitse binääritiedosto, esimerkiksi kuva.
8
Aja siirtoskripti
Jos tallennat lokitiedostoja pysyvästi sharelatex-kontin ulkopuolelle, varmista, että lokihakemiston omistajaksi on asetettu
www-data-käyttäjä (uid=33), jotta tuotettu lokitiedosto voidaan kirjoittaa.0, ja viimeiset rivit osoittavat, ettei virheitä ollut:9
Pysäytä instanssi
Toolkit:
bin/stop sharelatexVanha docker-compose.yml: docker compose stop sharelatex10
Estä sovelluksen pääsy vanhoihin tiedostoihin
Voit nyt siirtää vanhat tiedostot toissijaiseen tallennustilaan. Suosittelemme säilyttämään tiedostot jonkin aikaa siltä varalta, että ongelmia ilmenee myöhemmin.
11
Siirry siirron vaiheeseen 2
Toolkit: Aseta
OVERLEAF_FILESTORE_MIGRATION_LEVEL=2 tiedostossa config/variables.env.Vanha docker-compose.yml: Aseta OVERLEAF_FILESTORE_MIGRATION_LEVEL: '2' sharelatex-palvelun environment-osioon.12
Ota määritysmuutos käyttöön ja käynnistä instanssi
Toolkit:
bin/up -dVanha docker-compose.yml: docker compose up -d13
Tarkista pääsy binääritiedostoihin
Avaa projekti Overleaf-editorissa selaimessa ja valitse binääritiedosto, esimerkiksi kuva.
Offline-siirto
Jos haluat estää käyttäjiä kirjautumasta sisään binääritiedostojen siirtoskriptin ollessa käynnissä, noudata seuraavia ohjeita:- Kirjaudu Overleaf-instanssiisi ylläpitäjän tilillä
- Napsauta Admin-painiketta ja valitse Manage Site
- Napsauta Open/Close Editor -välilehteä
- Napsauta Close Editor -painiketta
- Napsauta Disconnect all users -painiketta
Online-siirto
Siirtoskriptit on mahdollista ajaa sovelluksen ollessa edelleen käynnissä. Huomioon on otettava muutama seikka:- Siirtoprosessi kuormittaa I/O:ta voimakkaasti, joten resurssien käyttöä kannattaa seurata skriptin ollessa käynnissä.
- Suurella käsittelyn rinnakkaisuudella
filestore-palvelun tapahtumasilmukka voi joutua osittain estetyksi, mikä heikentäisi käyttökokemusta. Suosittelemme aloittamaan oletusarvoilla--concurrency=10ja--concurrent-batches=1. - Voit pysäyttää skriptin milloin tahansa. Kun käynnistät sen uudelleen, se validoi aiemmat projektit ja ohittaa jo käsitellyt tiedostot. Tästä on hyötyä, jos haluat ajaa siirron hiljaisempina aikoina (esim. yöllä).
--report-valinnalla ajettaessa). Jos projekteja on paljon, voit ajaa skriptin ja seurata sen edistymistä ja päättää sitten tilanteesi perusteella, jatkatko sen ajamista online- vai offline-tilassa.
Vanhojen binääritiedostotietojen siivoaminen
Kun siirto on valmis ja olet varmistanut, että projektit pääsevät edelleen käsiksi kaikkiin tiedostoihinsa, voit poistaa vanhan tiedostotallennustilan hakemistosta/var/lib/overleaf/data/user_files. Suosittelemme vahvasti säilyttämään nämä tiedostot jonkin aikaa – voit estää sovelluksen pääsyn niihin nimeämällä kansion ensin uudelleen.
Vianmääritys
Lisäämme vianmääritysohjeita tähän. Huomaa, että vaikka tarjoamme tukea yleensä vain Server Pron asiakkaille, tämän siirron luonteen vuoksi pyrimme parhaamme mukaan tukemaan myös CE-asiakkaita, jotka kohtaavat nimenomaan binääritiedostojen siirtoon liittyviä ongelmia. Jos binääritiedostojen siirtoskripti epäonnistuu (eli päättyy virheeseen tai tulostaa epäonnistuneiden projektien määräksi muun kuin nollan), lähetä seuraavat tiedot tukitiimillemme sähköpostitse osoitteeseen support+filestoremigration@overleaf.com ja kerro: Aihe: Binary file migration problem Viesti:- Instanssin tyyppi: CE tai Server Pro (poista tarpeeton)
- Asennustyyppi: Overleaf toolkit,
docker-compose.ymltai muu (poista tarpeeton) - Versio: 5.5.x (toolkit:
$ cat config/version) - Siirtoskriptin tuloste (jonka pitäisi löytyä kontista hakemistosta
/var/log/overleaf) - Raportti: (aja siirtoskripti
--report-valinnalla) - Käsitellyt projektit: (skriptin viimeisimmän ajon mukaan)
- Siirron kesto:
bin/doctor-tuloste (toolkitia käytettäessä)- Toolkitin versio:
$ git rev-parse HEAD(Toolkitia käytettäessä)
filestore-palvelun lokitiedostojen liittämistä sähköpostiin. Löydät ne sharelatex-kontista polusta /var/log/overleaf/filestore.log ja voit viedä ne näin:
Puuttuvat tiedostot
Server Pron/CE:n vanhemmat versiot loivat tiedostopuun merkinnät ennen kuin käyttäjien lataukset olivat valmiita, mikä saattoi saada tiedostot näyttämään puuttuvilta latauksen epäonnistuessa. Saatat löytää muutamia tällaisia tapauksia virheiksi raportoituina, kun kaikki tiedostopuut käsitellään. Jos puuttuvia tiedostoja on vähän, harkitse näiden tapausten manuaalista tarkistamista ja niiden poistamista editorista selaimessa. Jos puuttuvia tiedostoja on paljon, harkitse yhteydenottoa tukeen, katso yllä oleva sähköpostipohja.Rikkinäisten tiedostopuiden etsiminen
Siirto voi epäonnistua projekteissa, joiden tiedostopuu on virheellinen (esimerkiksi tiedostonimet ovat tyhjiä). Voit etsiä luettelon näistä ongelmistafind_malformed_filetrees-skriptillä, joka tarkistaa kaikki tietokannan projektit:
fix_malformed_filetree-skriptillä ajamalla komento kerran kutakin virheellistä polkua kohden:

