Введение.
В предыдущей статье блога рассматривалась работа клиента NTP, установленного по умолчанию на дистрибутив ALT Linux рабочая станция. Автору предложили продолжить тему chrony и рассказать, как переключиться с режима chronyd клиент на chronyd сервер точного времени.
- Стенд:
- ALT Linux сервер, имя lin-ntp; ip-10.0.2.11;
Установка.
В качестве базового, выберем сервер минимальной конфигурации ALT Linux, как отдельного узла в виртуальном облаке организации. С помощью командной строки установим программу chrony.
# apt-get update
# apt-get install chrony
Запуск и управление chronyd.
Команды для управления chronyd приводятся ниже.
# systemctl start|enable|status|restart|is-enabled|stop chronyd
Настройка chronyd.
Перевести chrony в режим сервера можно двумя способами: консольным или графическим.
Консольный режим предполагает убрать комментарий в строке файла конфигурации /etc/chrony.conf, после чего необходимо перегрузить службу.
# /etc/chrony.conf
....
# Allow NTP client access from local network.
allow all
...
# systemctl restart chronyd
Графический способ, потребует запустить acc и отметить нужные позиции, как показано ниже. Проверить установку acc и модуля времени можно, используя команды приведённые ниже.
# apt-get update
# apt-get install acc
# apt-get install alterator-datetime
# acc

acc — ALT Linux control center — центр управления ALT Linux
Проверка работы chronyd.
timedatectl
Команда оценивает работу сервера синхронизации NTP. Для chronyd, может служить в качестве быстрого «взгляда» на работу NTP.
# timedatectl
Local time: Чт 2022-03-03 21:16:15 MSK
Universal time: Чт 2022-03-03 18:16:15 UTC
RTC time: Чт 2022-03-03 18:16:16
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
- Local time — местное время
- Universal time — UTC всемирное время
- RTC time — аппаратное время
- Time Zone — часовой пояс
- NTP synchronized — синхронизация с ntp сервером
- RTC in local TZ — аппаратные часы: если no показывает локальное время , если yes показывает всемирное время
Основную проверку работу сервера chronyd можно осуществить несколькими популярными командами, из набора утилиты chronyc, подробности читай здесь.
tracking
Показывает производительность системных часов на сервере.
# chronyc tracking
Reference ID : 59DDCF71 (89.221.207.113)
Stratum : 3
Ref time (UTC) : Mon Feb 28 14:24:52 2022
System time : 0.000478345 seconds slow of NTP time
Last offset : +0.000350668 seconds
RMS offset : 0.002563184 seconds
Frequency : 27.618 ppm slow
Residual freq : -0.026 ppm
Skew : 0.673 ppm
Root delay : 0.039620969 seconds
Root dispersion : 0.000692389 seconds
Update interval : 64.8 seconds
Leap status : Normal
- Reference ID — идентификатор и имя NTP сервера синхронизации
- Stratum — количество переходов к NTP серверу
- Ref time — время, UTC, последнего измерения от эталонного источника
- System time — скорость задержки системных часов от NTP сервера
- Last offset — локальное смещение при последнем обновлении часов от NTP
- RMS offset — долгосрочное среднее значение смещения времени
- Frequency — частота скорости ошибки, без исправления chronyd, в ppm — ч/м частей на миллион
- Residual freq — разница частоты между NTP и локальным источником времени
- Skew — предполагаемая ошибка, связанная с частотой
- Root delay — общая задержка сетевого пути к NTP серверу синхронизации
- Update interval — интервал между двумя последними обновлениями часов
- Leap status — статус скачка, «нормальный», «вставить секунду», «удалить секунду», «не синхронизировано»
sources
Проверяет источники опорного времени сервера NTP, ключ -v, вывод подробно.
# chronyc sources
210 Number of sources = 5
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? _gateway 0 8 0 - +0ns[ +0ns] +/- 0ns
^+ fizdlganet.ru 2 6 377 6 +2120us[+2120us] +/- 51ms
^* 89.221.207.113 2 7 377 73 -3526us[-3527us] +/- 22ms
^+ ftpshare1.corbina.net 2 6 377 11 +2081us[+2081us] +/- 26ms
^+ cello.corbina.net
- + источники, которые комбинируются с выбранным источником
- * источник синхронизируется с chronyd
- ? связь потеряна или если пакеты не проходят тесты в течении 3 раз
sourcestats
Скорость дрейфа серверов опорного смещения.
# chronyc sourcestats
210 Number of sources = 5
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
_gateway 0 0 0 +0.000 2000.000 +0ns 4000ms
fizdlganet.ru 24 11 30m +0.069 0.294 +2180us 179us
89.221.207.113 25 15 31m +0.290 0.585 -4180us 437us
ftpshare1.corbina.net 15 10 21m -0.233 0.425 +1803us 153us
cello.corbina.net 16 9 969 +0.192 0.673 +1825us 192us
reselect
Повторно выбирает лучший источник синхронизации для cronyd.
chronyc> reselect
200 OK
add server/delete
Добавляет/удаляет NTP сервер в перечне опорных серверов времени.
chronyc add server lin-ntp1
200 OK
chronyc delete lin-ntp1
200 OK
burst
Выполняет набор измерений, chronyd, для каждого источника опорного NTP указанного в списке, аргументы команды см. ниже
- good — количество хороших измерений от каждого источника
- max — максимальное количество измерений
- mask — IP-адреса источников опорных NTP
- masked-address — IP-адрес источника для обработки пакетной команды
- address — IP-адрес или имя хоста одного источника опорного NTP
Пример: провести три хороших измерения от каждого источника в списке, не более 15 попыток
chronyc> burst 3/15
makestep
Имеет две формы: без параметров и с параметрами. Первый режим приводит к немедленной коррекции времени при больших временных отставаниях. Второй режим производит пошагово-пороговую коррекцию в сек, для которого порог активен.
chronyc> makestep
200 OK
chronyc> makestep 0.1 2
200 OK
manual
Управляет режимом ручной установки для команды settime.
- on — включает settime
- off — выключает settime
- list — история изменений settime
- delete index — удаляет из истории строку
- reset — удаляет из истории все образцы (samples)
chronyc> manual list
210 n_samples = 5
# Date Time(UTC) Slewed Original Residual
=======================================================
0 2022-03-02 10:08:48 -71.08 -37.49 -71.08
1 2022-03-02 10:09:00 0.00 71.47 0.00
2 2022-03-02 10:12:08 8.41 -82.48 8.41
3 2022-03-02 10:14:56 -8.21 -83.72 -8.21
4 2022-03-02 10:18:05 0.00 12.54 0.00
settime
Позволяет ввести текущее время вручную используя команду manual или директиву manual в файле /etc/chrony.conf. Точность показаний часов будет зависеть от нажатия кнопки enter. Перед выполнением необходимо убедится, что часовой пояс ПК настроен правильно. Сказанное выше закрепим несколькими примерами на лабораторном стенде.
chronyc> manual on
200 OK
chronyc> settime 13:12
200 OK
Clock was -82.47 seconds fast. Frequency change = -162095.64ppm, new frequency = 418952.16ppm
chronyc> settime 13:15:05
200 OK
Clock was -83.72 seconds fast. Frequency change = -700702.19ppm, new frequency = 11810.69ppm
chronyc> settime Mar 02, 2022 13:18:05
200 OK
Clock was 12.54 seconds fast. Frequency change = 22489.20ppm, new frequency = 34034.28ppm
chronyc> manual off
clients
Выводит количество клиентов NTP подключённых к серверу синхронизации.
chronyc> clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
==============================================================
10.0.2.33 60 0 9 - 216 0 0 - -
- hostname — имя хоста клиента
- NTP — пакеты NTP, полученные от клиента
- Drop — отклонённые пакеты для ограничения скорости отклика
- Int — средний интервал между пакетами
- IntL — средний интервал между пакетами, когда скорость ограничена
- Last — время получения последнего пакета NTP
- Cmd — количество команд полученных от клиента
- Drop — отклонённые команд для ограничения скорости отклика
- Int — средний интервал между пакетами команд
- Last — время с момента получения последнего командного пакета
Заключение.
При планировании корпоративной системы предприятия, необходимо учитывать выбор NTP сервера. Наверное будет правильно, оставить в системе, тот NTP который «исторически» использовался в организации. Как правило, большинство организаций «выросли» из продукции компании Microsoft — служба NTPD. В силу известных обстоятельств, многие компании планируют переход на продукцию OC Linux из Российских дистрибутивов. Планирование и миграция на Linux ставит перед администратором многие вопросы, одним из которых является, выбор сервера NTP. Дистрибутив ALT Linux зарекомендовал себя, как надёжный, устойчивый, перспективный продукт с хорошей историей эксплуатации.. Из статьи видно, основным «коробочным» NTP сервером для ALT Linux является OpenNTPD. Его можно оставит, как бальзовый, при планировании новой структуры корпоративной ИТ. Изменить выбор сервера NTP можно по разным причинам. Серия статей о NTP поможет администратору сделать этот шаг более уверенно.