Синхронизация времени с NTP

На этой странице описываются методы, позволяющие поддерживать на вашем компьютере точное время. Это полезно для серверов, и не помешает для настольных компьютеров.

NTP - это TCP/IP протокол для синхронизации времени через сеть. По существу, клиент запрашивает текущие время на сервере и использует результат для утсановки своего собственного времени.

Не смотря на своё просто описание, всё немного сложнее - есть различные уровни NTP серверов. NTP серверы первого уровня подключены к атомным часам (обычно через GPS), а серверы второго и третьего уровней выполняет обработку запросов через интернет. Клиентское программное обеспечение также более сложное, чем может показаться сначала - оно учитывает такие факторы, как задержка при передаче информации и корректируют время способом, не нарушающим нормальную работу других процессов на сервере. Но, к счастью, всё это делается незаметно для вас.

В Ubuntu существует два способа автоматической установки времени: ntpdate и ntpd.

ntpdate

Ubuntu comes with ntpdate as standard, and will run it once at boot time to set up your time according to Ubuntu's NTP server. However, a server's clock is likely to drift considerably between reboots, so it makes sense to correct the time ocassionally. The easiest way to do this is to get cron to run ntpdate every day. With your favourite editor, as root, create a file /etc/cron.daily/ntpdate containing:

ntpdate ntp.ubuntu.com

The file /etc/cron.daily/ntpdate must also be executable.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate несколько более грубый инструмент - он лишь корректирует время один раз в день, путем одной большой коррекции. NTP демон ntpd значительно более "тонкое" решение. Он вычисляет, на сколько ваши системные часы уходят в еденицу времени и постоянно делает небольшие корректировки, в результате чего не происходит резкого изменения времени, что позволяет, например, избежать появления непоследовательных записей в жарналах. За это приходится платить незначительными расходами процессорного времени и памяти.

для установки ntpd:

sudo apt-get install ntp-simple

Смена серверов времени

В обоих рассмотренных выше случаях, ваша система будет по умолчанию использовать Ubuntu NTP сервер ntp.ubuntu.com. Это нормально, но вы можете захотеть использовать несколько серверов для увеличения точности и гибкости. Вы можете захотеть использовать временные серверы, географически расположенные ближе к вам. Вы можете сделать это, изменив содержимое /etc/cron.daily/ntpdate на:

ntpdate ntp.ubuntu.com pool.ntp.org 

Для ntpd отредактируйтеt /etc/ntp.conf, добавив строки с дополнительными серверами:

server ntp.ubuntu.com
server pool.ntp.org

Вы можете использовать pool.ntp.org в примерах выше. Вообще, это весьма хорошая идея использовать DNS с круговой системой для получения NTP сервера из группы, распределяя нагрузку между различными серверами. Еще лучше использовать группы серверов, предназначенных для конкретных регионов. Например, если вы из Новой Зеландии, вы можете использовать nz.pool.ntp.org вместо pool.ntp.org. Для дополнительной информации смотрите http://www.pool.ntp.org/.

Вы также можете использовать Google для поиска NTP серверов в вашем регионе, добавив их затем в свою конфигурацию. Для проверки работоспособности сервера просто наберите sudo ntpdate имя.ntp.сервера и посмотрите, что произойдет.

Связанные страницы