30 июня при синхронизации времени появится лишняя секунда
C целью синхронизации с астрономическим временем Земли эталонные мировые атомные часы завтра будут приостановлены на одну секунду, что приведёт к появлению 61 секунды в одной из минут. В прошлый раз подобная синхронизация состоялась в 2012 году и привела к массовым сбоям в серверных системах, в которых была настроена синхронизация точного времени по протоколу NTP. Из-за неготовности обработать появление лишней секунды некоторые системы зацикливались и начинали потреблять излишние ресурсы CPU.
Фактически лишняя секунда будет добавлена на атомных часах в 23:59:60 GMT. В разных системах используются разные методы для предотвращения сбоев в приложениях, связанных с появлением аномальной 61 секунды. Учитывая печальный опыт прошлого, современные дистрибутивы Linux, а также проекты FreeBSD и OpenBSD, своевременно подготовились к грядущему появлению лишней секунды. Тем не менее, в конце мая в ядре Linux выявлена недоработка, которая может привести к срабатыванию некоторых таймеров на секунду раньше намеченного срока. Патч с исправлением данной проблемы не успел попасть в основной состав ядра.
В реализации NTP из состава FreeBSD реализован способ, основанный на повторении одной секунды два раза, т.е. будет два раза выдано значение 23:59:59, вместо появления 23:59:60. Другим способом решения проблемы является сглаживание добавляемой секунды путём её разбиения на несколько циклов синхронизации времени, с прибавлением каждый раз по доле секунды, что приведёт к плавному размыванию секунды по большому отрезку времени.
Так как большинство публичных NTP-серверов отдают лишнюю секунду как есть, без её размытия на серию интервалов, администраторам рекомендуется предварительно протестировать поведение своих систем, чтобы не столкнуться с непредвиденным ночным сбоем. Не раньше, чем за сутки до намеченного добавление лишней секунды можно выполнить команду «ntpq -c 'rv 0 leap'» — если в выводе будет указано leap_add_sec, то используемый NTP-сервер корректно поддерживает операцию добавления лишней секунды.
© OpenNet