SLV Migrate Linux - Inicio rápido

🚚 SLV Migrate Linux

Migra todo el disco de tu servidor Linux a un servidor nuevo por SSH con rsync. Es una migración del disco completo: todo lo que hay en el servidor de origen se copia al destino, incluidos los datos de usuario, las configuraciones, los paquetes instalados y la configuración del nodo de SLV.
Nota: Esto es distinto de slv v switch (migración de la identidad del validador). slv migrate linux copia todo el sistema de archivos, mientras que slv v switch intercambia la identidad del validador entre dos nodos que ya están en funcionamiento.

Requisitos previos

  • SLV CLI instalado en el nodo de origen
  • Acceso sudo / root tanto en el origen como en el destino
  • Acceso SSH del origen al destino (con contraseña o con clave)
  • El servidor de destino debería ser una instalación limpia (SLV avisa si detecta datos existentes)

Uso básico

Ejecuta en el servidor de origen:
bash
sudo slv migrate linux --to root@new-server-ip
🚚 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...

Opciones

OpciónDescripción
-t, --to <ssh>Destino SSH (p. ej., root@new-server)
-p, --port <port>Puerto SSH (predeterminado: 22)
--skip-rebootOmite el reinicio automático después de la migración
--exclude <path>Patrón de exclusión adicional para rsync (se puede repetir)
--include <path>Quita una ruta de las exclusiones predeterminadas (se puede repetir)
--list-excludesMuestra la lista de exclusiones actual y sale
-y, --yesOmite la confirmación

Puerto SSH personalizado

Si el destino usa un puerto SSH no estándar:
bash
sudo slv migrate linux --to root@new-server-ip --port 2222

Personalizar las exclusiones

Consulta qué se excluirá:
bash
slv migrate linux --list-excludes
Excluye rutas adicionales (por ejemplo, omite los datos del ledger para que la migración sea más rápida):
bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledger

Modo no interactivo

Para usarlo en scripts:
bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yes

Cómo funciona

  1. Comprobaciones previas: verifica la conectividad SSH y avisa si el destino tiene datos existentes
  2. rsync: copia todo el sistema de archivos por SSH (excepto los pseudosistemas de archivos del sistema)
  3. Después de la migración: reinicia automáticamente el servidor de destino (salvo que uses --skip-reboot)
La migración usa rsync con --archive --hard-links --acls --xattrs para conservar todos los atributos de archivo, los permisos y los archivos especiales.

⚠️ Notas importantes

  • Ejecútalo como root (o con sudo). Una migración sin root no copiará los archivos del sistema.
  • El destino debería ser un servidor recién instalado. Los datos existentes se sobrescribirán.
  • Los códigos de salida 23/24 de rsync (transferencia parcial) se tratan como advertencias, no como errores. Es posible que algunos archivos (como los logs activos) no se transfieran perfectamente.
  • Después de la migración, comprueba que el nodo funciona correctamente antes de retirar el servidor de origen.
  • Para la migración de la identidad del validador (cambio sin tiempo de inactividad entre dos validadores en funcionamiento), usa slv v switch. Consulta Migración del validador de mainnet.