Быстрый переезд на новый сервер: ускорение обновления ДНС
Если вы планируете переезд к другому хостинг-провайдеру, или на другой сервер со сменой IP, то вы обязательно столкнетесь с проблемой кеширования ДНС-записей у клиентов и провайдерских неймсерверов. В результате этого, в зависимости от настроек «времени жизни» зоны, клиенты не будут знать об обновлении зоны на протяжении ощутимо длительного времени – вплоть до 2х суток (а иногда и больше).
Можно сократить время простоя, и тем самым ускорить перенос сайта, если вы имеете доступ к редактированию ДНС-зоны (через панель управления или непосредственный доступ к конфигурационным файлам первичного DNS-сервера вашей зоны). Таким образом можно уменьшить даунтайм до минимальных 5 минут.
Типичные настройки зоны (по умолчанию) выглядят так:
$TTL 14400
@ IN SOA ns1.example.com. admin.example.com. (
2009081300 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Negative Cache TTL
)
Мы сейчас не будем подробно останавливаться на функциональном значении всех полей зоны, благо эту информацию можно прочитать в руководстве по настройке ДНС-сервера. На данный момент важно знать, что Serial должно с каждым изменением настроек увеличиваться. Классически рекомендуется его формировать из даты + двух цифр номера модификации. В виде «YYYYMMDDNN», где YYYY – год, MM – месяц, DD – день месяца, NN – номер модификации за день.
Для того чтобы наши будущие изменения быстро «применились», нам необходимо временно выставить такие значения:
$TTL = 361
Serial = сформировать на основе вышеуказанной информации, увеличив дату или номер модификации
Refresh = 362
Retry = 63
Expire = 3640
Negative Cache TTL = 365
Таким образом получится:
$TTL 361
@ IN SOA ns1.example.com. admin.example.com. (
2009081301 ; Serial
362 ; Refresh
63 ; Retry
3640 ; Expire
365 ; Negative Cache TTL
)
Именно эти значения рекомендуются как наиболее с балансированные для задачи оперативного реагирования на изменения в зоне. Они обусловлены с одной стороны приемлемым временем устаревания ДНС-кешей, а с другой стороны не дают вашему DNS-серверу «лечь» от повысившейся нагрузки (в случае слишком уж малых значений). К тому же некоторые реализации могут переопределять собственными значениями слишком заниженные времена (ниже указанных).
Все эти действия необходимо предпринять заблаговременно, за 1-2 суток до предполагаемого переезда (чем больше – тем больше вероятность что кеш клиента со старыми настройками устареет и тем больше клиентов начнут регулярно обновлять зону). Внимание! С этого момента зона будет обновляться раз в час и нагрузка на ДНС-сервер существенно возрастет!
По прохождении 1-2 суток, можно смело менять записи в ДНС на новый IP, выжидать час, затем, убедившись, что все ок, не забыть возвратить прежние значения (кроме Serial, который необходимо увеличить снова).
4 Комментариев4 Комментариев
Оставить комментарий
Очень полезный блог, автор всегда (почти) описывает актальные темы. Спасибо.
Спасибо. Будем пробовать. А то перенес сайт а все еще могу смотреть его через сторонние прокси сервисы
Спасибо, дельно и четко.
Огромное спасибо! При перезде домена на другой сервер, как раз сложилась подобная ситуация, когда я никак не мог понять, почему так резко снизилось количество посетителей, хотя сайт открывался с разных IP. По моим наблюдениям можно смело сидеть с заниженными значениями около 7 дней, т.к. кэш ну очень не охотно обновляет у некоторых пользователей. Конечно если это позволяют ресурс, так чтобы DNS совсем не умер!