SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Служба точного времени


Метки: fedora arch linux ntp

Установка

Arch Linux

pacman -S ntp

Fedora

dnf install chrony

Настройка

NTP сервера
Адрес Порт Уровень Устройство Доступ
ntp1.vniiftri.ru IPv4 UDP 123 stratum 1 Meinberg LANTIME M300/MRS свободный
ntp2.vniiftri.ru IPv4 UDP 123 stratum 1 Meinberg LANTIME M300/MRS свободный
ntp3.vniiftri.ru IPv4 UDP 123 stratum 1 Meinberg LANTIME M300/MRS свободный
ntp4.vniiftri.ru IPv4 UDP 123 stratum 1 MEINBERG LANTIME Version: 3.05 свободный
ntp21.vniiftri.ru IPv4 UDP 123 stratum 2 Linux kernel 2.6.32. ntpd 4.2.4p8 Intel Xeon свободный

Установка часового пояса

tzsetup

или

tzselect

Синхронизируем время

ntpdate ntp1.vniiftri.ru

/etc/ntp.conf

server ntp1.vniiftri.ru iburst prefer
server ntp2.vniiftri.ru iburst
server ntp3.vniiftri.ru iburst
server ntp4.vniiftri.ru iburst

restrict default nomodify nopeer noquery
restrict 127.0.0.1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

restrict ntp1.vniiftri.ru
restrict ntp2.vniiftri.ru
restrict ntp3.vniiftri.ru
restrict ntp4.vniiftri.ru

Внимание: prefer запись лучше назначать наиболее "быстрому" серверу, так же рекомендуется использовать pool сервера, выбрать подходящий для вас сервер можно на странице http://www.vniiftri.ru/index.php/ru/services/22-ntp {{Ref-ru}}, там же можно найти ссылки, для более полного изучения вопроса.

Опция iburst позволяет ntpd ускорить начальный процесс синхронизации, prefer - отмечает предпочитаемый сервер.

Стартуем демон:

systemctl enable ntpd
systemctl start ntpd

Ждем порядка 2 минут.

Теперь можно проверить состояние синхронизации:

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.vniiftri.r .PPS.            1 u    -  256  377    7.917    3.725   0.667
-ntp2.vniiftri.r .PPS.            1 u  117  256  377    7.937    2.799   3.380
+ntp3.vniiftri.r .PPS.            1 u   87  256  377    8.034    3.840   0.680
+ntp4.vniiftri.r .PPS.            1 u  110  256  377    8.104    2.959   0.521

Тут остановимся по-подробнее.

Параметры и значения синхронизации
remote имена удаленных ntp серверов (в нашем случае полученные из пулов 0/1/2/3.ua.pool.ntp.org)
refid сервер, с которым производит синхронизацию удаленный сервер ntp
st стратум (уровень) удаленного сервера. 1 - самый высокий, эти сервера для вычисления точного времени используют специальное дорогостоящее оборудование; 16 - рядовая машина/клиент
t тип пира (u = unicast, m = multicast)
when указывает на то, как давно была произведена синхронизация с сервером
poll частота в секундах, с которой NTP демон синхронизируется с пиром
reach состояние доступности сервера, это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны
delay он и в Африке delay - задержка (в миллисекундах) ответа от сервера
offset разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом - отставание, с плюсом - наши часики спешат
jitter смещение времени на удаленном сервере

Теперь немного о значках, следа от имени пира:

* пир, с которым последний раз у нас была выполнена синхронизация
+ "хороший" (пригодный для обновления) сервер
- "плохой" (непригодный для обновления) сервер
х сервер не отвечает

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

# ntpdate -q localhost

В ответ должны получить что-то подобное:

Looking for host localhost and service ntp
host found : localhost
server 127.0.0.1, stratum 3, offset 0.000003, delay 0.02573
17 Nov 15:28:54 ntpdate[4918]: adjust time server 127.0.0.1 offset 0.000003 sec

Этот ответ означает, что наш сервер пригоден для синхронизации, его страта равна трем, смещение - 0.000003 а задержка при ответе равна 0.02573.

Аналогичной командой можно узнать эти параметры на удаленном сервере:

# ntpdate -q ntp1.vniiftri.ru
server 62.117.76.142, stratum 1, offset 0.002487, delay 0.03352
29 Oct 02:28:14 ntpdate[9245]: adjust time server 62.117.76.142 offset 0.002487 sec

Ниже приведен пример ответа сервера, непригодного для синхронизации:

server 62.117.76.142, stratum 1, offset 0.002487, delay 0.03352
29 Oct 02:28:14 ntpdate[9245]: no server suitable for synchronization found

В /var/log/ntp.log должны быть сообщения аналогичные нижеприведенным:

28 Oct 20:34:56 ntpd[6558]: synchronized to 62.117.76.142, stratum 1
28 Oct 20:35:09 ntpd[6558]: synchronized to 62.117.76.138, stratum 1
28 Oct 20:37:01 ntpd[6558]: synchronized to 62.117.76.142, stratum 1

Каждая запись соответствует успешной синхронизации с удаленным сервером.

В случае, если после запуска ntpd он только 1 раз синхронизируется с удаленным сервером а синхронизация не наблюдается, лог выглядит так:

17 Nov 15:47:17 ntpd[5059]: synchronized to 91.198.10.4, stratum=2
17 Nov 15:47:17 ntpd[5059]: kernel time sync disabled 0041
17 Nov 15:47:21 ntpd[5059]: kernel time sync enabled 0001