Skip to main content

Migrazione a S3

Queste istruzioni si riferiscono alla v5.x e successive. Se segui questa guida per una versione precedente, usa sharelatex invece di overleaf nei nomi dei percorsi e il prefisso SHARELATEX_ invece di OVERLEAF_ per le variabili d’ambiente. Per la v6 e successive, salta i comandi legacy relativi a user_files.
Ci piacerebbe sentire la tua opinione! Se vuoi condividere con noi quanti file hai migrato, il loro volume complessivo e quanto tempo ha richiesto la migrazione, scrivi a ayaka-notes@outlook.com.
Questa guida ti accompagnerà nella migrazione dallo storage su disco a uno storage a oggetti compatibile con S3. Fa riferimento a sezioni del documento introduttivo sulla configurazione di S3.

Requisiti

  • Uno storage a oggetti compatibile con S3 con cui comunicare; vedi #s3-setup per le opzioni
  • Spazio libero su disco per migrare i dati esistenti, all’incirca pari alla dimensione attuale su disco
  • Una finestra di manutenzione per eseguire la migrazione vera e propria
  • Un backup completo, inclusa la configurazione, per poter eseguire un ripristino

Stimare lo spazio su disco necessario per la migrazione

Possiamo usare du per calcolare l’utilizzo attuale del disco:
Se sul server attuale non hai abbastanza spazio su disco disponibile, prova a collegare un altro disco al server.
Le directory della cronologia hanno già il layout corretto. Puoi caricarle direttamente dalla cartella sorgente montata in bind, senza bisogno di spazio su disco aggiuntivo.

Passaggi della migrazione

Passaggio 0: arrestare l’istanza

Dobbiamo assicurarci che tutti i file degli utenti e dei template vengano migrati. È meglio arrestare l’istanza per evitare di perdere i file caricati di recente. Consulta la nostra guida sull’esecuzione di un backup coerente per la procedura di arresto.

Passaggio 1: riscrivere il layout delle directory

Dobbiamo riscrivere il layout delle directory dei file dei progetti per caricarli su S3. Il layout delle directory per lo storage locale nel filestore è <project-id>_<file-id>, mentre il layout in S3 è <project-id>/<file-id>. Di seguito, /srv/overleaf-s3-migration viene usato per archiviare i file nel nuovo layout delle directory. Sostituisci /srv/overleaf-bind-mount con la directory dell’host montata su /var/lib/overleaf. Esegui i comandi di copia sull’host con i permessi di lettura e scrittura su queste directory; il container resta arrestato. Possiamo usare tar per riscrivere il layout:

Passaggio 2: caricare i file

A seconda delle tue preferenze, puoi usare il client S3 minio mc o la aws cli per caricare i file sul tuo storage a oggetti compatibile con S3. aws cli
  • Qui devi sostituire overleaf-user-files, overleaf-template-files, overleaf-project-blobs e overleaf-chunks con i nomi dei tuoi bucket S3.
  • Sostituisci anche /srv/overleaf-bind-mount con il percorso locale del bind mount di /var/lib/overleaf. Per impostazione predefinita, è ~/overleaf_data in un deployment docker-compose.yml e <toolkit-checkout>/data/overleaf quando usi il Toolkit.
minio mc Qui usiamo l’alias del server “s3”; tu potresti aver scelto un altro nome.

Passaggio 3: avviare l’istanza puntando a S3

Aggiungi alla tua configurazione tutte le variabili relative a S3, come descritto nella sezione Panoramica delle variabili della guida di configurazione di S3. Mantieni il bind mount della directory dei dati: potrebbe contenere anche le chiavi di cifratura di Zotero o Mendeley, che non vengono migrate su S3. Ora puoi avviare l’istanza e convalidare la migrazione:
  • è possibile visualizzare in anteprima i file binari nell’editor
  • è possibile compilare un PDF con immagini
  • è possibile caricare nuovi file

Rollback

Puoi annullare la migrazione in modo ordinato eseguendo i passaggi al contrario:
  1. Arresta l’istanza
  2. Esegui il mirroring inverso dei file invertendo l’ordine di origine/destinazione
  3. Riscrivi i file nella directory locale usando una transform inversa
  4. Riavvia l’istanza con la vecchia configurazione
La prima transform rimuove la cartella di primo livello. La seconda transform trasforma il layout delle directory in uno piatto. I caratteri jolly assicurano che vengano estratti solo i file e non le loro cartelle padre (dei progetti).
Ultima modifica il 5 ottobre 2026