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. Перед перезавантаженням десятки перевірок, а старий сервер лишається недоторканим для відкату.
Екзотична розмітка, стара ОС, власні скрипти — напишіть нам, розберемо разом. Інструмент розвивається на реальних переїздах клієнтів.