SLV Migrate Linux - Guida rapida

🚚 SLV Migrate Linux

Migra l'intero disco Linux su un nuovo server via SSH usando rsync. Questa è una migrazione completa del disco: tutto ciò che si trova sul server di origine viene copiato sulla destinazione, inclusi dati utente, configurazioni, pacchetti installati e la configurazione del nodo SLV.
Nota: Questo è diverso da slv v switch (migrazione dell'identità del validator). slv migrate linux copia l'intero filesystem, mentre slv v switch scambia l'identità del validator tra due nodi già in esecuzione.

Prerequisiti

  • SLV CLI installato sul nodo di origine
  • Accesso sudo / root sia sull'origine che sulla destinazione
  • Accesso SSH dall'origine alla destinazione (con password o con chiave)
  • Il server di destinazione dovrebbe essere un'installazione pulita (SLV avvisa se rileva dati esistenti)

Uso di base

Esegui sul server di origine:
bash
sudo slv migrate linux --to root@new-server-ip
text
🚚 SLV Linux Migration

  Source:      ubuntu (this machine)
  Destination: [email protected]

📋 Exclude list:
  • /dev/*
  • /proc/*
  • /sys/*
  • /tmp/*
  • /run/*
  • /mnt/*
  • /media/*
  • /lost+found
  • /swapfile
  • /snap/*
  • /var/log/*

? Start migration? This will overwrite data on the destination. › Yes
  Syncing... (this may take a while depending on disk size)
√ Migration complete
  Rebooting destination...

Opzioni

OpzioneDescrizione
-t, --to <ssh>Destinazione SSH (es. root@new-server)
-p, --port <port>Porta SSH (predefinita: 22)
--skip-rebootSalta il riavvio automatico dopo la migrazione
--exclude <path>Pattern rsync aggiuntivo da escludere (ripetibile)
--include <path>Rimuove dalle esclusioni predefinite (ripetibile)
--list-excludesMostra l'elenco corrente delle esclusioni ed esce
-y, --yesSalta la richiesta di conferma

Porta SSH personalizzata

Se la destinazione usa una porta SSH non standard:
bash
sudo slv migrate linux --to root@new-server-ip --port 2222

Personalizzare le esclusioni

Visualizza cosa verrà escluso:
bash
slv migrate linux --list-excludes
Escludi percorsi aggiuntivi (ad esempio, salta i dati del ledger per una migrazione più veloce):
bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledger

Modalità non interattiva

Per gli script:
bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yes

Come funziona

  1. Controlli preliminari — Verifica la connettività SSH, avvisa se la destinazione contiene dati esistenti
  2. rsync — Copia l'intero filesystem (esclusi i pseudo-filesystem di sistema) via SSH
  3. Post-migrazione — Riavvia automaticamente il server di destinazione (a meno di --skip-reboot)
La migrazione usa rsync con --archive --hard-links --acls --xattrs per preservare tutti gli attributi dei file, i permessi e i file speciali.

⚠️ Note importanti

  • Esegui come root (o con sudo). Una migrazione senza root non includerà i file di sistema.
  • La destinazione dovrebbe essere un server pulito. I dati esistenti verranno sovrascritti.
  • Gli exit code 23/24 di rsync (trasferimento parziale) sono trattati come avvisi, non errori. Alcuni file (come i log attivi) potrebbero non essere trasferiti perfettamente.
  • Dopo la migrazione, verifica che il nodo funzioni correttamente prima di dismettere l'origine.
  • Per la migrazione dell'identità del validator (scambio a zero downtime tra due validator in esecuzione), usa invece slv v switch. Vedi Migrazione Mainnet Validator.