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

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

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

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

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

ntpdate

Ubuntu поставляется с ntpdate в качестве стандарта и запустит его единожды во время загрузки, чтобы установить ваше время в соответствии с NTP сервером Ubuntu. Тем не менее, часы сервера могут значительно сбиваться за время между перезагрузками, поэтому имеет смысл периодически корректировать время. Самый простой способ сделать это - настроить cron, чтобы тот запускал ntpdate каждый день. С помощью вашего любимого редактора, в качестве суперпользователя создайте файл /etc/cron.daily/ntpdate, содержащий:

ntpdate ntp.ubuntu.com

Файл /etc/cron.daily/ntpdate также должен быть исполняемым.

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.сервера и посмотрите, что произойдет.

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