reloca.to переносит работающий Linux-сервер с любой площадки на серверы XServer по сети: разделы, RAID и LVM, файловые системы, загрузчик и сетевые настройки. Вы запускаете одну команду — и получаете тот же сервер на новом железе.
curl -fsSL reloca.to | bashЭто не «образ диска». reloca.to понимает, что именно лежит на сервере, строит план под новое железо и доводит систему до загрузки сам.
Обе машины загружены в Live OS. Утилита снимает диски, разделы, md RAID, LVM, файловые системы с их фичами, fstab, ядра, загрузчик и сеть — с обеих сторон.
Из двух инвентарей рождается текстовый план: новая разметка, что копировать блочно, а что файлами, какие UUID сохранить. Его можно прочитать и поправить до первой записи.
Новый диск размечается по плану; swap и файловые системы создаются с теми же UUID, label и набором фич, что у источника, — fstab и grub продолжают работать.
Тома летят по сети через partclone и tar со сжатием lz4, по защищённому каналу, с прогрессом и ETA. Сбой одного тома — повтор только его.
В chroot правятся fstab, mdadm, initramfs с драйверами нового контроллера, grub для BIOS или UEFI; сетевой интерфейс переименовывается в eth0.
Десятки проверок до ребута: загрузочная запись, initramfs, cmdline, сеть. Только после зелёной проверки старый сервер уходит из сети, а новый загружается.
Оба сервера загружены в XServer Live OS. На новом сервере (реципиенте), зайдя по ssh:
# поставить утилиту (недостающие пакеты она доставит сама) curl -fsSL reloca.to | bash # сухой прогон: план и каждая команда, ничего не записывается reloca.to -n all 10.0.0.12 auto # полный переезд: план → подтверждение → разметка → передача → доработка → проверка → cutover reloca.to all 10.0.0.12 auto
10.0.0.12 — адрес старого сервера в Live, auto — единственный диск нового. Утилита сама называет машины source.reloca.to и destination.reloca.to, так что в приглашении и в логах всегда видно, где вы.
Установить и сразу запустить: curl -fsSL reloca.to | bash -s -- plan 10.0.0.12 auto
Полный цикл по фазам. Каждую можно запускать отдельно — сделанное пропускается по маркерам, обрыв ssh ничего не стоит (утилита живёт в tmux: reloca.to attach).
# 1. инвентарь обеих сторон и план → /run/reloca.to/plan reloca.to plan 10.0.0.12 auto $EDITOR /run/reloca.to/plan # при желании поправить reloca.to check # перепроверка правок # 2. разметка, LVM, swap, mkfs — после того, как вы подтвердите, что именно будет стёрто reloca.to apply # 3. передача томов (повтор упавшего: -o redo=4) reloca.to transfer # 4. chroot: fstab, mdadm, initramfs, grub, сеть (-n — только diff'ы) reloca.to postfix # 5. проверки до ребута; код 3 = не ребутать, чинить reloca.to verify # 6. старый сервер из сети, новый — в мигрированную ОС reloca.to cutover kexec # или netdown | poweroff | none
| Код выхода | Что значит |
|---|---|
0 | готово |
1 | сбой во время выполнения — смотрите /run/reloca.to/log |
2 | окружение: не full Live, apt/ssh не удались, донор — эта же машина |
3 | проверка не прошла: диск записан, не ребутать; чинить и повторить verify |
4 | план невыполним или отвергнут — ничего не записано |
Полезные опции: -o root=files — переливать корень файлами, если он не влезает; -o compress=none для 10 GbE; -o nic=eth1 — другое имя интерфейса; -y -i KEY -o callback=URL — без терминала, из задачи панели.
Переезд «как есть» между разным железом — с программного RAID на аппаратный, с больших дисков на меньшие, с физики на виртуалку.
| Откуда | Куда | Статус |
|---|---|---|
| Debian 10–13, Ubuntu 18.04–24.04 | любой сервер XServer: dedicated с аппаратным RAID, одиночный диск, VPS | готово |
| CentOS 7, Rocky / Alma / RHEL 8–9 | то же | в работе |
| md RAID любого уровня, LVM, LVM на md, обычные разделы MBR/GPT | один диск или RAID-том контроллера, GPT при > 2 TB | готово |
| ext2/3/4, XFS; swap-разделы, LV и swap-файлы; ESP | блочное клонирование или файловая копия с теми же UUID и фичами | готово |
| BIOS → BIOS, UEFI → UEFI | UEFI → BIOS и BIOS → UEFI для Debian/Ubuntu (физика → VM) | готово |
| диск источника больше или меньше нового | корень растягивается или переливается файлами | готово |
| ifupdown, netplan, systemd-networkd, ifcfg, NetworkManager | интерфейс становится eth0, MAC обновляется | готово |
| Windows | — | отдельный инструмент |
Мы сделали reloca.to для собственных переездов между дата-центрами — и отдаём его бесплатно всем, кто переезжает к нам.
Перенос занимает от получаса до нескольких часов в зависимости от объёма данных. Старый сервер работает до самого cutover.
Те же UUID, fstab, пакеты, конфиги и сервисы. Меняется только то, что обязано измениться: драйверы контроллера, загрузчик, имя сетевого интерфейса.
Каждая команда печатается и попадает в лог — план и есть runbook. Перед ребутом десятки проверок, а старый сервер остаётся нетронутым для отката.
Экзотическая разметка, старая ОС, свои скрипты — напишите нам, разберём вместе. Инструмент развивается на реальных переездах клиентов.