SLV Migrate Linux - Quickstart

🚚 SLV Migrate Linux

Migrate your entire Linux disk to a new server over SSH using rsync. This is a full-disk migration — everything from the source server is copied to the destination, including user data, configurations, installed packages, and SLV node setup.
Note: This is different from slv v switch (validator identity migration). slv migrate linux copies the entire filesystem, while slv v switch swaps validator identity between two already-running nodes.

Prerequisites

  • SLV CLI installed on the source node
  • sudo / root access on both source and destination
  • SSH access from source to destination (password or key-based)
  • Destination server should be a fresh install (SLV will warn if it detects existing data)

Basic Usage

Run on the source server:
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...

Options

OptionDescription
-t, --to <ssh>SSH destination (e.g. root@new-server)
-p, --port <port>SSH port (default: 22)
--skip-rebootSkip automatic reboot after migration
--exclude <path>Additional rsync exclude pattern (repeatable)
--include <path>Remove from default excludes (repeatable)
--list-excludesShow current exclude list and exit
-y, --yesSkip confirmation prompt

Custom SSH Port

If the destination uses a non-standard SSH port:
bash
sudo slv migrate linux --to root@new-server-ip --port 2222

Customize Excludes

View what will be excluded:
bash
slv migrate linux --list-excludes
Exclude additional paths (e.g., skip ledger data for faster migration):
bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledger

Non-Interactive Mode

For scripting:
bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yes

How It Works

  1. Pre-flight checks — Verifies SSH connectivity, warns if destination has existing data
  2. rsync — Copies entire filesystem (excluding system pseudo-filesystems) over SSH
  3. Post-migration — Automatically reboots the destination server (unless --skip-reboot)
The migration uses rsync with --archive --hard-links --acls --xattrs to preserve all file attributes, permissions, and special files.

⚠️ Important Notes

  • Run as root (or with sudo). Non-root migration will miss system files.
  • The destination should be a fresh server. Existing data will be overwritten.
  • rsync exit codes 23/24 (partial transfer) are treated as warnings, not errors. Some files (like active logs) may not transfer perfectly.
  • After migration, verify the node is working correctly before decommissioning the source.
  • For validator identity migration (zero-downtime swap between two running validators), use slv v switch instead. See Mainnet Validator Migration.