Бесплатный инструмент переезда от XServer

Переезд сервера одной командой. Со всем, что на нём есть.

reloca.to переносит работающий Linux-сервер с любой площадки на серверы XServer по сети: разделы, RAID и LVM, файловые системы, загрузчик и сетевые настройки. Вы запускаете одну команду — и получаете тот же сервер на новом железе.

$curl -fsSL reloca.to | bash
Выполняется на новом сервере, загруженном в XServer Live OS. Старый сервер только читается — никаких изменений на нём.

Как это работает

Это не «образ диска». reloca.to понимает, что именно лежит на сервере, строит план под новое железо и доводит систему до загрузки сам.

1Инвентарь

Обе машины загружены в Live OS. Утилита снимает диски, разделы, md RAID, LVM, файловые системы с их фичами, fstab, ядра, загрузчик и сеть — с обеих сторон.

2План

Из двух инвентарей рождается текстовый план: новая разметка, что копировать блочно, а что файлами, какие UUID сохранить. Его можно прочитать и поправить до первой записи.

3Разметка

Новый диск размечается по плану; swap и файловые системы создаются с теми же UUID, label и набором фич, что у источника, — fstab и grub продолжают работать.

4Передача

Тома летят по сети через partclone и tar со сжатием lz4, по защищённому каналу, с прогрессом и ETA. Сбой одного тома — повтор только его.

5Доработка

В chroot правятся fstab, mdadm, initramfs с драйверами нового контроллера, grub для BIOS или UEFI; сетевой интерфейс переименовывается в eth0.

6Проверка и переключение

Десятки проверок до ребута: загрузочная запись, 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

Что утилита никогда не делает

  • Не пишет на старый сервер — ни fsck, ни resize. Он остаётся точкой отката.
  • Не стирает диск, пока вы не прочитаете, что на нём сейчас, и не введёте его имя и размер с экрана.
  • Не форматирует «по умолчанию»: каждая ФС создаётся с фичами источника и сверяется сразу после mkfs.
  • Не ребутает новый сервер без зелёной проверки.
  • Не трогает другие диски нового сервера — на время работы они переводятся в read-only.

Инструкция по переносу

Полный цикл по фазам. Каждую можно запускать отдельно — сделанное пропускается по маркерам, обрыв 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 → UEFIUEFI → BIOS и BIOS → UEFI для Debian/Ubuntu (физика → VM)готово
диск источника больше или меньше новогокорень растягивается или переливается файламиготово
ifupdown, netplan, systemd-networkd, ifcfg, NetworkManagerинтерфейс становится eth0, MAC обновляетсяготово
Windows—отдельный инструмент

Почему переезжать к XServer

Мы сделали reloca.to для собственных переездов между дата-центрами — и отдаём его бесплатно всем, кто переезжает к нам.

Бесплатно и без простоя «на выходные»

Перенос занимает от получаса до нескольких часов в зависимости от объёма данных. Старый сервер работает до самого cutover.

Тот же сервер, новое железо

Те же UUID, fstab, пакеты, конфиги и сервисы. Меняется только то, что обязано измениться: драйверы контроллера, загрузчик, имя сетевого интерфейса.

Прозрачно и проверяемо

Каждая команда печатается и попадает в лог — план и есть runbook. Перед ребутом десятки проверок, а старый сервер остаётся нетронутым для отката.

Поможем, если что-то нестандартное

Экзотическая разметка, старая ОС, свои скрипты — напишите нам, разберём вместе. Инструмент развивается на реальных переездах клиентов.