Перенос сервера без простоя
Сервер не меняют ради удовольствия. Причина обычно одна из четырёх: хостинг поднимает цену или закрывает услугу, железо устарело, текущей мощности уже не хватает, или версия операционной системы вышла из поддержки и обновления безопасности больше не приходят.
Сам перенос — рутинная работа. Плохо получается тогда, когда его делают в спешке и без списка: на сервере почти всегда работает больше вещей, чем вспоминается с первого раза.
Что ломается при плохом переносе
Самое заметное — простой: сайт лежит часами, потому что копирование данных заняло больше времени, чем ожидалось. Но дороже обходится то, что замечают не сразу.
Почта перестаёт доходить, потому что SPF-запись по-прежнему указывает на IP старого сервера. Письма не возвращаются — они тихо уходят в спам, и клиент считает, что вы не ответили.
Истекает сертификат, потому что обновление Let's Encrypt осталось на старой машине, и никто ничего не замечает, пока браузер не начинает показывать предупреждение.
Не запускаются задачи по расписанию. Резервные копии, генерация счетов, обмен данными — cron-задания не лежат ни в одном репозитории и не переезжают, потому что никто не знает об их существовании.
Резервные копии продолжают сниматься со старой машины. Самая опасная ошибка из всех: её обнаруживают только тогда, когда что-то действительно нужно восстановить.
Как проходит перенос, шаг за шагом
1. Инвентаризация
Прежде чем что-то трогать, выпишите, что на сервере работает на самом деле: веб-сервер и его виртуальные хосты, базы данных и их версии, службы приложений, cron-задания, правила файрвола, SSL-сертификаты, настройки почты, ключи доступа и адреса назначения резервных копий.
Этот список — самая важная часть всей работы. Все последующие сюрпризы происходят из того, что в него не попало.
2. Новый сервер готов заранее, а не по ходу
Новая машина настраивается параллельно, пока старая продолжает работать. Перенос «на месте» — превращение старого сервера в новый — единственный вариант, из которого нет пути назад.
Та же логика работает и при защите сервера: новую машину укрепляют сразу и как следует, а не потом.
3. Пробный запуск до того, как трогать DNS
Скопируйте данные и запустите приложение на новом сервере, временно направив домен на новый IP через файл hosts на своём компьютере. Так вы увидите ровно то, что увидит посетитель, — раньше, чем это увидит кто-то ещё.
Именно здесь всплывают недостающие модули PHP или библиотек, неверные права на файлы и различия в кодировке базы данных.
4. Снизьте TTL записи DNS заранее
Если TTL записи — 24 часа, переключение растянется на сутки. Снизьте TTL, например, до пяти минут за пару дней до переноса — тогда переключение произойдёт практически мгновенно. После удачного переезда верните прежнее значение.
Именно этот шаг отличает «перенос без простоя» от «сайта, который целый день работал наполовину».
5. Данные — дважды
Первая полная синхронизация делается спокойно, заранее. Непосредственно перед переключением выполняется вторая, только по изменившейся части — так реальное закрытое окно измеряется минутами, а не часами. Для базы данных это последний дамп в момент, когда запись ненадолго остановлена.
6. Старый сервер остаётся включённым
Не удаляйте старую машину в день переключения. Держите её работающей хотя бы пару недель, но закрытой на запись. Это самая дешёвая страховка из существующих.
7. После переноса
Проверьте: сертификат и его автоматическое обновление, доставку почты (см. руководство по надёжной доставке писем), реальный запуск cron-заданий, создание резервной копии И проверку восстановления, мониторинг и оповещения, а также логи за первые сутки.
Что забывают чаще всего
На практике список короткий и всегда один и тот же: cron-задания, записи SPF и DKIM, исключения файрвола для IP-адресов других систем, адрес назначения резервных копий, обновление сертификата и ротация логов. Если эти шесть пунктов проверены, перенос почти наверняка прошёл здорово.
Когда это стоит отдать на сторону
Перенос — как раз та работа, где опыт стоит дороже всего: не потому, что это сложно, а потому, что цена ошибки проявляется недели спустя. Если на сервере работает что-то, чей простой стоит денег, и сам переезд, и дальнейшее администрирование Linux-серверов стоит доверить тому, кто делает это регулярно.
Что обычно покрывает договор обслуживания, разобрано в отдельной статье: что входит в договор обслуживания Linux-сервера. Если переезжает сайт или интернет-магазин, вместе с ним часто идёт и обслуживание сайтов и интернет-магазинов.
