Назад | Перейти на главную страницу

Неточность часового пояса

у нас возникла проблема с синхронизацией времени в нашем веб-кластере Litespeed, поскольку системное время (мы используем CentOS), похоже, считает, что текущее время для часового пояса EST («Америка / Нью-Йорк») на 3 часа опережает текущее время.

Во Флориде сейчас время 22:53. Сервер сообщает следующее: будет использоваться TZ = 'America / New_York'. Местное время сейчас: Вт 4 июня, 01:51:43 EDT 2013. Всемирное время сейчас: Вт 4 июня, 05:51:43 UTC 2013.

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

Это ответ отличного веб-сервера, который настроен точно так же: будет использоваться TZ = 'America / New_York'. Местное время сейчас: Mon Jun 3 22:53:15 EDT 2013.

--Update 1 - ntp peers на РАБОЧЕМ сервере:

krillin.ecansol 184.164.149.162  2 u   52   64    1   35.631  110337. 7937.50
 ntp.sunflower.c 184.164.149.162 16 u    -   64    0    0.000    0.000 15937.5
 triangle.kansas 184.164.149.162  2 u   50   64    1   55.125  110331. 7937.50

ntp peers на СЛОМАННОМ сервере:

 fairy.mattnordh 164.244.221.197  2 u   59   64    7   49.397  -108052   1.171
 ec2-50-16-231-1 209.51.161.238   2 u   60   64    7   59.565  -108052   0.016
 colossus915.ser 200.23.51.102    2 u   59   64    7   46.693  -108052   0.051

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

NTPd откажется от синхронизации, если системные часы слишком далеко от целевых часов. Вы должны вручную установить значение в пределах минуты или около того от целевого времени (UTC); либо это, либо использовать ntpdate чтобы получить время с сервера NTP и немедленно установить часы соответственно. затем вы можете запустить ntpd, чтобы точно настроить часы, чтобы получить нужную точность в миллисекундах.

После разогрева ntpq -pn должен показать один удаленный сервер, отмеченный * слева, чтобы указать, что он был объявлен основным узлом синхронизации, а остальные, надеюсь, отмечены значком + чтобы указать, что они являются квалифицированными резервными кандидатами для пиринга.

Если нет, то ваши часы не синхронизируются.

Обратите внимание, что в списке одноранговых узлов смещение должно быть меньше 1 мс [абсолютное значение] в нормальных условиях работы, возможно, несколько сотен мс, когда часы будут настроены. Ваш список показывает смещение настолько далеко за пределами диапазона, что синхронизация с использованием поворота часов невозможна. Вместо этого вам нужно будет «перескочить» часы на правильное время, чего ntpd по правилам никогда не сделает сам. Вот что ntpdate инструмент для.

Ты бежишь ntpd с -g вариант? Это должно быть указано в /etc/sysconfig/ntpd. Без -g, ntpd откажется устанавливать часы, если они выключены более чем на 1000 секунд.