SLV Migrate Linux - Quickstart
🚚 SLV Migrate Linux
Переносите весь Linux disk на новый сервер по SSH с помощью rsync. Это полная миграция диска: все с исходного сервера копируется на целевой, включая пользовательские данные, конфигурации, установленные пакеты и настройку SLV node.
Примечание: Это отличается отslv v switch(миграция identity validator).slv migrate linuxкопирует всю filesystem, тогда какslv v switchменяет identity validator между двумя уже работающими nodes.
Предварительные требования
- SLV CLI установлен на исходном узле
- доступ
sudo/ root на исходном и целевом серверах - SSH-доступ с исходного сервера на целевой (по паролю или ключу)
- целевой сервер должен быть со свежей установкой (SLV предупредит, если обнаружит существующие данные)
Базовое использование
Запускайте на исходном сервере:
bash
sudo slv migrate linux --to root@new-server-ipsudo slv migrate linux --to root@new-server-iptext
🚚 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...🚚 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...Опции
| Option | Description |
|---|---|
-t, --to <ssh> | SSH-назначение (например, root@new-server) |
-p, --port <port> | SSH-порт (по умолчанию: 22) |
--skip-reboot | Пропустить автоматический reboot после миграции |
--exclude <path> | Дополнительный шаблон исключения rsync (можно указывать несколько раз) |
--include <path> | Убрать путь из списка стандартных исключений (можно указывать несколько раз) |
--list-excludes | Показать текущий список исключений и выйти |
-y, --yes | Пропустить запрос подтверждения |
Нестандартный SSH Port
Если на целевом сервере используется нестандартный SSH-port:
bash
sudo slv migrate linux --to root@new-server-ip --port 2222sudo slv migrate linux --to root@new-server-ip --port 2222Настройка исключений
Посмотреть, что будет исключено:
bash
slv migrate linux --list-excludesslv migrate linux --list-excludesИсключить дополнительные пути (например, пропустить данные ledger для более быстрой миграции):
bash
sudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledgersudo slv migrate linux --to root@new-server-ip --exclude /home/solv/ledgerНеинтерактивный режим
Для использования в скриптах:
bash
sudo slv migrate linux --to root@new-server-ip --skip-reboot --yessudo slv migrate linux --to root@new-server-ip --skip-reboot --yesКак это работает
- Pre-flight checks — проверяет SSH-соединение и предупреждает, если на целевом сервере уже есть данные
- rsync — копирует всю filesystem (исключая системные pseudo-filesystem) по SSH
- Post-migration — автоматически перезагружает целевой сервер (если не указан
--skip-reboot)
Миграция использует rsync с
--archive --hard-links --acls --xattrs, чтобы сохранить все атрибуты файлов, permissions и специальные файлы.⚠️ Важные замечания
- Запускайте от root (или через
sudo). Без root миграция пропустит системные файлы. - Целевой сервер должен быть свежим. Существующие данные будут перезаписаны.
- Коды завершения rsync 23/24 (partial transfer) считаются предупреждениями, а не ошибками. Некоторые файлы (например, активные логи) могут перенестись не идеально.
- После миграции проверьте, что node работает корректно, прежде чем выводить исходный сервер из эксплуатации.
- Для миграции identity validator (swap без простоя между двумя работающими validators) используйте
slv v switch. См. Mainnet Validator Migration.