Typesense migra Ubuntu

Migrazione di un server Ubuntu Typesense su un altro server: backup + ripristino

Migrare la tua istanza Typesense self-hosted su un nuovo server è un'attività cruciale, che tu stia aggiornando l'hardware, passando a un altro provider cloud o semplicemente eseguendo la manutenzione del server.

Questa guida ti guiderà attraverso i passaggi corretti per eseguire il backup, trasferire e ripristinare i tuoi dati Typesense in modo sicuro e affidabile.

Concetti chiave

Typesense memorizza i dati nel percorso definito da directory dati parametro (ad esempio, /var/lib/typesense). Tuttavia, non è possibile eseguire il backup sicuro di questi dati mentre il server è in esecuzione, poiché mantiene i file aperti per la scrittura.

Per evitare la corruzione, Typesense fornisce un'API Snapshot per eseguire backup coerenti.

🤓😎 Sempre più persone stanno ricevendo i nostri consigli su Geek, Privacy, Sviluppo e Stile di Vita

Vuoi ricevere gli ultimi blog su Geek, Privacy, Sviluppo e Lifestyle? Iscriviti alla nostra newsletter.

1. Creare un backup utilizzando l'API Snapshot

Opzione migliore se l'istanza Typesense funziona normalmente.

Chiama l'API Snapshot per creare uno snapshot sicuro per il file system:

curl -X POST 'http://localhost:8108/snapshot' \ -H 'X-TYPESENSE-API-KEY: YOUR_ADMIN_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"snapshot_path": "/tmp/typesense-snapshot"}'

Quindi archiviare la directory degli snapshot:

tar -czvf backup.tar.gz -C /tmp typesense-snapshot

(Facoltativo) Pulisci la directory degli snapshot:

rm -rf /tmp/typesense-snapshot

2. Alternativa: interrompere Typesense e copiare la directory dei dati

Se l'API Snapshot non è disponibile (ad esempio, Typesense non risponde):

Arrestare il server Typesense:

sudo systemctl stop typesense-server.service

Quindi archiviare direttamente la directory dei dati:

tar -czvf backup.tar.gz -C /var/lib tipisenso

Importante: Eseguire questa operazione solo dopo aver arrestato il server per garantire la coerenza dei file.

3. Trasferire il backup su un altro server utilizzando le chiavi SCP + SSH

Genera le chiavi SSH (se non l'hai già fatto) sul tuo computer locale:

ssh-keygen -t ed25519 -C "[email protected]"

Salvalo nella posizione predefinita (~/.ssh/id_ed25519) e lasciare la passphrase vuota per l'automazione.

Copia la chiave pubblica sul nuovo server:

ssh-copy-id -i ~/.ssh/id_ed25519.pub utente@nuovo-ip-del-server

Trasferisci il backup tramite SCP:

scp -i ~/.ssh/id_ed25519 backup.tar.gz utente@ip-nuovo-server:/tmp/

Se questo non funziona, assicurati innanzitutto che il contenuto di ed25519.pub sia spostato in una nuova riga del file:

~/.ssh/chiavi_autorizzate

4. Ripristinare il backup sul nuovo server

Potresti ancora aver bisogno di installare Typesense sul nuovo server, configurare SSL, ecc.

Quindi, arrestare qualsiasi istanza di Typesense in esecuzione:

sudo systemctl stop typesense-server.service

Pulisci la directory dei dati esistente (verifica che questo sia effettivamente il tuo nuovo server vuoto e non il tuo vecchio server con i dati):

sudo rm -rf /var/lib/typesense/*

Estrarre il backup:

sudo tar -xzf /tmp/backup.tar.gz -C /var/lib/

Assicurati che i dati estratti siano nel percorso corretto, ad esempio, /var/lib/typesense.

Avviare nuovamente Typesense e rimuovere il file tar di backup:

sudo systemctl start typesense-server.service rm /tmp/backup.tar.gz

Typesense rileverà lo snapshot all'avvio e ricostruirà i suoi indici in memoria.

Lista di controllo finale

  • Backup creato tramite Snapshot API o dopo l'arresto di Typesense
  • Dati archiviati e verificati
  • Accesso basato su chiave SSH configurato
  • Trasferimento SCP completato in modo sicuro
  • Typesense riavviato correttamente sul nuovo server

Suggerimenti professionali

  • Testa il backup prima di utilizzarlo in produzione. Prova a ripristinarlo su un server di staging.
  • Automatizza gli snapshot regolari utilizzando cron + arricciare + catrame.
  • Utilizzare chiavi API sicure e non esporre mai la chiave di amministrazione Typesense negli script pubblici.
  • Dopo aver avviato il servizio, controllare sempre i log di Typesense: journalctl -u typesense-server.service

Conclusione

Migrare un'istanza Typesense non deve essere spaventoso. Con una solida conoscenza del funzionamento del meccanismo di snapshot e un pizzico di magia SSH, puoi spostare i tuoi dati tra server in modo affidabile e sicuro.

Se riscontri problemi con l'API snapshot, un arresto a freddo e un backup manuale funzionano comunque: basta seguire attentamente i passaggi.

Tutto è a tuo rischio e pericolo.

Ultimo aggiornamento il 30 Luglio 2025

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItaliano
Scorri verso l'alto