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

Отклонение отметки времени Unix

У меня есть два сервера Ubuntu, которые каждую ночь синхронизируют свои временные метки с europe.pool.ntp.org. Непосредственно перед синхронизацией я вижу разницу в 4 секунды между двумя серверами. Один из серверов, кажется, отклоняется от 4 секунд за 24 часа.

Спасибо, Оливье

Это характеристика компьютерных часов. Вы можете немного прочитать об этом Вот и немного о часы дрейф в Википедии.

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

Есть некоторые ntp пулы, которые вы можете использовать, которые синхронизируются с часами высокого разрешения, например ntp.org.

Дрейф часов - это нормальная часть времени на компьютере, но подробности о том, как много дрейф может быть результатом множества разных вещей. В случае «аномально большого» перекоса причины могут варьироваться от аппаратных часов низкого качества до системы с высокой загрузкой. Поэтому синхронизация себя с внешним каноническим сервером времени - очень важный шаг.

Лучшая настройка - использовать ntpdate для жесткой установки времени при загрузке, а затем использовать ntpd для учета отклонения часов. В прошлом я слышал жалобы на то, что ntpd требует ресурсов (я не могу говорить с точностью, только то, что я слышал жалобу часто), но современные реализации почти незаметны. Истинная элегантность ntpd заключается в двух основных моментах:

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

Это имеет большое преимущество, сводя к минимуму влияние изменений времени на вашу систему, например у вас не будет ситуаций, когда временные метки в журналах будут прыгать.

Я настоятельно рекомендую установить несколько серверов в вашей конфигурации, это легко сделать, отредактировав файл /etc/ntp.conf и добавление нескольких операторов сервера. Например;

server ntp.ubuntu.com
server 0.pool.ntp.org
server 1.pool.ntp.org

Для некоторого обсуждения того, какие общедоступные серверы NTP доступны, вы можете увидеть вопрос - Публичные NTP-серверы

Одно предостережение с ntpd заключается в следующем: если ваше время слишком удаленно, тогда это не поправит ваше время. Процитировать страницу руководства (согласно RHEL5.6)

В случае отсутствия ИГРУШЕЧНОГО чипа или по какой-то причине его время превышает 1000 с от времени сервера, ntpd предполагает, что что-то должно быть ужасно неправильным, и единственное надежное действие - вмешательство оператора и установка часов вручную. Это заставляет ntpd выйти с сообщением о панике в системный журнал.

Вот почему я считаю важной установку часов при запуске. Пока машина выключена, вы полагаетесь на аппаратные часы и батарею CMOS, чтобы держать время. Кроме того, в случае виртуальной машины возврат к моментальному снимку почти наверняка вызовет это состояние. Помните об этом, если вы используете приложения, чувствительные ко времени, такие как аутентификация Kerberos.

Просто используйте ntpd. Это снижает нагрузку на серверы, разговаривая с ними, когда они менее загружены и имеют меньшую задержку. При непрерывной работе он может более внимательно следить за часами и моделировать дрейф с большим количеством параметров, чем просто скорость.