Переезд

Переезд живого сервера без поломок

Большинство миграций проваливается на этапе переключения, а не копирования. Копирование байтов — решённая задача. Далее о том, как делается остальное, что ничего не стоит и где мы останавливаемся.

01

Бесплатное окно миграции

Одна миграция на инстанс в первые 14 дней. После этого — оплачиваемое время инженера, оценка выставляется до начала работ.

Каждый новый аккаунт получает помощь с миграцией бесплатно в течение 14 дней с первого оплаченного счёта. Это покрывает столько инстансов, сколько вы заказали, до 2 часов времени инженера на каждый, чего на практике более чем достаточно для почти всех.

Окно существует потому, что альтернатива — это вы, теряющий на этом выходные и решающий, что смена хостинга того не стоит. Сделать это правильно стоит нам меньше, чем потерять аккаунт на втором месяце.

Для больших парков нужен план, а не секундомер. Расскажите нам, сколько инстансов, что на них работает и где они сейчас, — и вы получите письменную последовательность действий с точкой отката на каждом шаге.

7-дневный возврат действует параллельно. Мигрируйте в первый день, на шестой решите, что задержка не то, что нужно, — и монета вернётся в том активе, которым вы платили.

02

Что мы сделаем, а что нет

Доступ работает в одну сторону. Вы добавляете на исходную машину ключ, который мы генерируем для этой задачи, мы его используем, а после завершения переключения вы его удаляете. Ключ создаётся для каждой миграции отдельно и никогда не покидает рабочую станцию оператора. Если текущий хостинг-провайдер не позволяет это сделать, то применяется поблочное копирование, отправляемое с вашей стороны в ожидающий целевой сервер.

Нам не нужен пароль от вашей панели управления на старом провайдере, и мы откажемся, если вы его предложите. Никто здесь не хочет иметь возможность действовать от вашего имени где-либо ещё, а инженер, хранящий учётные данные клиента, — это ответственность без каких-либо преимуществ.

Мы сделаем

Скопируем файловые системы или целые блочные устройства, подготовим целевой инстанс, настроим принимающее ядро и диски, выполним дельта-синхронизации, проведём переключение вместе с вами и останемся в тикете, пока DNS не устаканится.

Мы не будем

Отлаживать ваше приложение, переписывать вашу конфигурацию под более новую ОС, переносить лицензию, привязанную к чужому оборудованию, или принимать пароль. Доступ осуществляется через временный ключ, который вы отзываете после.

Мы предпочтём не

Переносить базу данных, копируя её файлы на лету. Это работает, пока не перестаёт, и сбой проявляется неделями спустя как тихое повреждение. Используйте реплику и повышение.

03

На уровне файлов или на уровне блоков

Два способа переместить данные. Правильный выбор зависит в основном от того, хотите ли вы получить ту же операционную систему на другой стороне.

КритерийУровень файлов, rsyncУровень блоков, dd через SSH
Что переноситсяФайлы, права, расширенные атрибутыВсё устройство, байт в байт
ПростойМинуты, одна финальная синхронизация измененийЧасы или согласованное окно
Что вы загружаетеВыбранный вами актуальный образТочно то, что было, включая мусор
Смена дистрибутиваВозможно, в этом и смыслНевозможно
Риск загрузчикаНет, целевая система уже загружаетсяРеальный, и консоль — единственный способ его исправить
Большие разреженные дискиОбрабатываются хорошоКопируется пустое место, если не предусмотреть это
Когда выбиратьПочти всегдаЛегаси-машины, которые никто не рискует пересобирать

Существует и третий вариант, который часто оказывается самым быстрым: не мигрировать вовсе. Поднимите сервис заново на основе вашей системы управления конфигурацией, восстановите в него дамп базы данных и удалите старую машину. Если ваша инфраструктура воспроизводима, это двухчасовая работа без этапа копирования.

04

Последовательность действий

Семь шагов, в таком порядке. Пропуск пятого — то, как люди оказываются обслуживающими трафик с двух машин одновременно и замечают это только в понедельник.

  1. 01

    Закажите целевой сервер и дайте ему стабилизироваться

    Того же размера или больше, в том городе, который вам нужен. Запустите мониторинг, пока сервер пуст, в течение дня, и убедитесь, что задержка и дисковые показатели соответствуют заявленным на странице тарифа.

  2. 02

    Сначала снизьте TTL

    Уменьшите запись до 300 секунд по крайней мере за 48 часов до переключения, чтобы к моменту, когда вам понадобится её изменить, старое значение уже истекло везде. Этот шаг бесполезен, если он выполняется поздно.

  3. 03

    Сделайте полную копию

    Основная часть данных переносится, пока всё ещё работает на старой машине. Это занимает столько времени, сколько нужно, и ничего от этого не зависит.

  4. 04

    Запустите сервисы на целевом сервере

    Те же версии, та же конфигурация, но трафик ещё не поступает. Базы данных восстанавливаются здесь из дампа, а не из копии файлов.

  5. 05

    Проверьте целевой сервер по адресу

    Переопределите имя хоста локально с помощью записи в файле hosts и пользуйтесь сайтом в обычном режиме в течение часа. Войдите, что-нибудь запишите, загрузите, отправьте письмо, если он отправляет почту.

  6. 06

    Заморозка, финальная синхронизация, переключение

    Остановите запись на исходном сервере, выполните последнюю синхронизацию, проверьте контрольную сумму чего-то важного, а затем измените запись. Период заморозки обычно занимает менее пяти минут.

  7. 07

    Сохраняйте исходный сервер в течение недели

    Включён, ничего не обслуживает, а за него всё равно платят. Это самая дешёвая страховка, которую вы когда-либо купите, и то, что вы забыли скопировать, всегда всплывает на четвёртый день.

05

DNS и тестирование до переключения

Переключение — это изменение DNS, а изменение DNS никогда не бывает мгновенным, что бы ни говорил TTL. Некоторые резолверы округляют время, некоторые корпоративные сети кэшируют сутки, а небольшое число клиентов закрепляет адрес на всё время жизни процесса. Планируйте обслуживание с обеих машин в течение 24 часов.

Запуск обеих машин проще, чем кажется, когда приложение не хранит состояние. Если же хранит, сделайте старую машину доступной только для чтения в момент переключения, а не выключайте её, чтобы устаревший клиент получил явную ошибку, а не записал в базу, которую больше никто не прочитает.

01

Перед изменением DNS

Запись в hosts, указывающая на новый адрес, — единственный честный тест. Сертификаты, редиректы, абсолютные URL и жёстко прописанные адреса — всё это ломается здесь, у вас на глазах, а не перед вашими пользователями.

02

Сначала сертификаты

Выпустите сертификат на целевом сервере до переключения, используя DNS challenge, чтобы к моменту первого запроса уже было что-то валидное. HTTP challenge не может работать, пока трафик ещё не перемещён, а это уже слишком поздно.

03

Почта — исключение

Репутация не переезжает вместе с данными. Новый адрес начинает с нулевой истории, так что прогрейте его в течение двух недель, держите SPF, DKIM и DMARC валидными на обеих машинах во время перекрытия, и ожидайте, что первая неделя будет медленной.

04

Откат — это TTL, а не пересборка

Пока источник жив, а TTL ещё низкий, отмена переключения занимает одно изменение записи. Это и есть причина, по которой шаги второй и седьмой не являются опциональными.

06

Вопросы о миграции

Да, с ценой, согласованной в письменном виде до начала работ, и обычно это скромная сумма. Ничего не начинается, пока вы не согласовали цену.

Да, на уровне блоков, в лицензированный образ за €22 в месяц. Реактивация происходит на новом оборудовании и иногда требует одной перезагрузки для стабилизации.

Тогда мы не можем помочь напрямую, и вы тоже. Экспортируйте всё, что панель может вам дать, пересоберите на чистом образе и отнеситесь ко всей ситуации как к уроку о панелях, которые владеют машиной.

Обычно менее двух часов на порт 10 Гбит/с, часто значительно меньше. Ограничение почти всегда — скорость загрузки у старого провайдера, а не наша скорость скачивания.

Да, и это проще, потому что оба конца наши. Снэпшот, восстановление в новом городе, тест, переключение. Перенос инстанса между нашими локациями бесплатен.

Вы измените запись обратно, потому что источник всё ещё работает, а TTL всё ещё 300 секунд. Это план, а не аварийный сценарий, и именно поэтому существует последний шаг.

Готовы, когда вы готовы

Расскажите, что вы переносите

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