Как настроить синхронизацию времени в Ubuntu 16.04

Вступление

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

Ubuntu 16.04 имеет синхронизацию времени, встроенную и активированную по умолчанию с помощью службы timeyncd системы. В этой статье мы рассмотрим некоторые основные команды, связанные со временем, проверим, активен ли timesyncd, и узнаем, как установить альтернативную сетевую службу времени.

Предпосылки

Перед началом этого учебного курса вам понадобится сервер Ubuntu 16.04 с пользователем без полномочий root с поддержкой sudo, как описано в https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu- 16-04 [это руководство по настройке сервера Ubuntu 16.04].

Навигация по основным временным командам

Самая простая команда для определения времени на вашем сервере - + date +. Любой пользователь может набрать эту команду, чтобы распечатать дату и время:

date
OutputWed Apr 26 17:44:38  2017

Чаще всего ваш сервер по умолчанию использует часовой пояс UTC, как показано в приведенном выше выводе. UTC - Всемирное координированное время, время на нулевой долготе. Последовательное использование Universal Time уменьшает путаницу, когда ваша инфраструктура охватывает несколько часовых поясов.

Если у вас другие требования и вам нужно изменить часовой пояс, вы можете использовать команду + timedatectl.

Сначала перечислите доступные часовые пояса:

timedatectl list-timezones

Список часовых поясов будет распечатан на вашем экране. Вы можете нажать + SPACE для перехода вниз, а` + b + для перехода вверх. Как только вы найдете правильный часовой пояс, запишите его, затем наберите `+ q +, чтобы выйти из списка.

Теперь установите часовой пояс с помощью + timedatectl set-timezone +, обязательно заменив выделенную часть ниже на часовой пояс, который вы нашли в списке. Вам нужно использовать + sudo + с + timedatectl +, чтобы сделать это изменение:

sudo timedatectl set-timezone

Вы можете проверить свои изменения, снова запустив + date +:

date
OutputWed Apr 26 13:55:45  2017

Аббревиатура часового пояса должна отражать вновь выбранное значение.

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

Управление timeyncd с помощью timedatectl

До недавнего времени большая часть синхронизации времени в сети осуществлялась демоном _Network Time Protocol или ntpd. Этот сервер подключается к пулу других NTP-серверов, которые предоставляют ему постоянные и точные обновления времени.

Стандартная установка Ubuntu теперь использует timesyncd вместо ntpd. Timesyncd подключается к тем же серверам времени и работает примерно так же, но он более легкий и более интегрированный с systemd и низкоуровневыми системами Ubuntu.

Мы можем запросить статус timesyncd, запустив + timedatectl + без аргументов. Вам не нужно использовать + sudo + в этом случае:

timedatectl
OutputLocal time: Wed 2017-04-26 17:20:07 UTC
 Universal time: Wed 2017-04-26 17:20:07 UTC
       RTC time: Wed 2017-04-26 17:20:07
      Time zone: Etc/UTC (UTC, +0000)


RTC in local TZ: no

При этом выводится местное время, универсальное время (которое может совпадать с местным временем, если вы не переключались из часового пояса UTC), а также некоторая информация о состоянии сетевого времени. «+ Сетевое время включено: да » означает, что timesyncd включен, а « NTP синхронизирован: да +» означает, что время было успешно синхронизировано.

Если timesyncd не включен, включите его с помощью timedatectl:

sudo timedatectl set-ntp on

Снова запустите + timedatectl +, чтобы подтвердить состояние сетевого времени. Фактическая синхронизация может занять минуту, но в конечном итоге и + Сетевое время при включении: + и + NTP синхронизированы: + должно прочитать + yes +.

Переключение на ntpd

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

Перед установкой ntpd мы должны отключить timesyncd:

sudo timedatectl set-ntp no

Убедитесь, что timesyncd выключен:

timedatectl

Ищите + Network time on: no + в выходных данных. Это означает, что + timesyncd + был остановлен. Теперь мы можем установить пакет + ntp с помощью` + apt-get`:

sudo apt-get install ntp

ntpd будет запущен автоматически после установки. Вы можете запросить у ntpd информацию о состоянии, чтобы убедиться, что все работает:

sudo ntpq -p
Outputremote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
-makaki.miuku.ne 210.23.25.77     2 u   45   64    3  248.007   -0.489   1.137
-69.10.161.7     144.111.222.81   3 u   43   64    3   90.551    4.316   0.550
+static-ip-85-25 130.149.17.21    2 u   42   64    3   80.044   -2.829   0.900
+zepto.mcl.gg    192.53.103.108   2 u   40   64    3   83.331   -0.385   0.391

+ ntpq + - инструмент запросов для ntpd. Флаг + -p + запрашивает информацию о серверах NTP (или p eers), к которым подключен ntpd. Ваш вывод будет немного другим, но в нем должны быть перечислены серверы пула Ubuntu по умолчанию, а также несколько других. Имейте в виду, что ntpd может установить соединение в течение нескольких минут.

Заключение

В этой статье мы показали, как просматривать системное время, изменять часовые пояса, работать с установленным по умолчанию Ubuntu timesyncd и устанавливать ntpd. Если у вас есть более сложные нужды, чем то, что мы рассмотрели здесь, вы можете обратиться к ical официальной документации NTP, а также принять посмотрите The NTP Pool Project, глобальную группу добровольцев, предоставляющих большую часть мировой инфраструктуры NTP.

Related