Одна из главных опасений при смене хостинга — простой сайта. На самом деле, при правильной подготовке переключение DNS можно выполнить абсолютно незаметно для пользователей. Ключевой инструмент — грамотное управление TTL (Time To Live).
Что такое TTL и почему это важно
TTL (Time To Live) — время в секундах, в течение которого DNS-серверы кэшируют вашу запись. Если TTL = 86400 (1 сутки), то после смены A-записи часть пользователей будет попадать на старый сервер ещё до 24 часов.
| TTL | Время распространения | Когда использовать |
|---|---|---|
| 86400 (24 часа) | До 24 часов | Стабильная запись, без изменений |
| 3600 (1 час) | До 1 часа | Стандартное значение |
| 300 (5 минут) | 5–15 минут | Подготовка к миграции |
| 60 (1 минута) | 1–5 минут | Аварийное переключение |
Чеклист миграции DNS без простоя
- За 24–48 часов до миграции: Снизить TTL до 300 секунд
- Настроить новый сервер до переключения DNS
- Тест через /etc/hosts — убедиться, что сайт работает
- Синхронизировать контент — финальный rsync перед переключением
- Сменить A-запись на IP нового сервера
- Мониторинг — следить за ошибками в течение часа
- Старый сервер — держать активным 48–72 часа
Тестирование нового сервера через /etc/hosts
# На вашем ПК (Linux/macOS)
sudo nano /etc/hosts
# Добавить строку:
NEW-SERVER-IP example.com www.example.com
# Теперь браузер откроет сайт с нового сервера
# (DNS записи при этом не меняются)
# Windows: C:\Windows\System32\drivers\etc\hosts
Финальная синхронизация перед переключением
# Синхронизировать файлы (только изменения)
rsync -avz --delete user@old-server:~/public_html/ root@new-server:/var/www/example.com/
# Синхронизировать БД
mysqldump -h old-server -u dbuser -p dbname | ssh root@new-server "mysql -u newuser -p newdb"
Инструменты проверки DNS: Используйте dnschecker.org или whatsmydns.net для мониторинга распространения DNS по всему миру в реальном времени.
Проверка DNS из командной строки
# Проверить текущую A-запись
dig example.com A +short
# Проверить через конкретный DNS-сервер
dig @8.8.8.8 example.com A +short
dig @1.1.1.1 example.com A +short
# Автоматический мониторинг (опрос каждые 30 сек)
while true; do
echo "$(date): $(dig @8.8.8.8 example.com A +short)"
sleep 30
done
Перенос почты без прерывания
MX-записи управляют почтой отдельно от сайта. При миграции хостинга важно не сломать почту:
# Перенести почту ПЕРЕД сменой MX-записей
# Изменить MX только после переноса ящиков
# Сохранить старые MX-записи как резервные (приоритет 20)
# Пример:
# MX 10 mail.new-server.com ← основной
# MX 20 mail.old-server.com ← резервный (держать 72 часа)
Не удаляйте старый хостинг сразу! Оплатите старый хостинг ещё на 1 месяц после миграции. Это страховка на случай, если что-то пошло не так или пользователи с высоким TTL всё ещё попадают на старый сервер.