|
В стандартные дистрибутивы и репозитории Astra Linux Common Edition включены следующие службы точного времени:
Подробнее про эти службы можно прочитать в статье Службы синхронизации времени в Astra Linux. В статье также можно ознакомиться с базовыми терминами, связанными с организацией служб времени в компьютерах. |
Начиная с версии Astra Linux Common Edition 2.12.10 помимо указанных выше служб в репозитории стал доступен пакет linuxptp, содержащий следующие службы:
| Службы ntp и PTP несовместимы со службой timedatectl. |
Пакет ориентирован на использование аппаратных средств точного времени, в частности, аппаратных возможностей сетевых карт (аппаратные отметки времени).
Пакет можно настроить и запустить и без сетевых карт, поддерживающих аппаратные возможности, что повлечёт некоторое снижение точности. Настройка пакета для работы без аппаратной поддержки описана ниже.
Проверить, поддерживает ли сетевая карта аппаратные отметки времени можно из командной строки с помощью команды ethtool из пакета ethtool (пакет ethtool придётся установить, если он не был установлен ранее):
sudo apt install ethtool |
Примерный вывод команды для сетевой карты, поддерживающей аппаратные отметки:
| $ sudo ethtool -T eth0 Time stamping parameters for eth0: Capabilities: hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE) software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE) hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE) software-receive (SOF_TIMESTAMPING_RX_SOFTWARE) software-system-clock (SOF_TIMESTAMPING_SOFTWARE) hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE) PTP Hardware Clock: 0 Hardware Transmit Timestamp Modes: off (HWTSTAMP_TX_OFF) on (HWTSTAMP_TX_ON) Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) all (HWTSTAMP_FILTER_ALL) ptpv1-l4-sync (HWTSTAMP_FILTER_PTP_V1_L4_SYNC) ptpv1-l4-delay-req (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ) ptpv2-l4-sync (HWTSTAMP_FILTER_PTP_V2_L4_SYNC) ptpv2-l4-delay-req (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ) ptpv2-l2-sync (HWTSTAMP_FILTER_PTP_V2_L2_SYNC) ptpv2-l2-delay-req (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ) ptpv2-event (HWTSTAMP_FILTER_PTP_V2_EVENT) ptpv2-sync (HWTSTAMP_FILTER_PTP_V2_SYNC) ptpv2-delay-req (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ) |
Пакет linuxptp доступен в репозитории Astra Linux Common Edition начиная с версии 2.12.10 и может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой:
| sudo apt install linuxptp |
Конфигурация службы timemaster находится в файле /etc/linuxptp/timemaster.conf.
Подробно возможные параметры настройки описаны в электронной справочной системе:
man timemaster |
Для включения службы времени высокой точности ptp4l раскомментировать в файле настроек /etc/linuxptp/timemaster.conf секцию [ptp_domain 0] (в примере - настройка домена точного времени, использующего интерфейс eth0):
[ptp_domain 0] |
Домен точного времени обслуживается сервисом ptp4l, настройка этого сервиса описана ниже.
Для включения службы ntp в файле настроек /etc/linuxptp/timemaster.conf в секции [timemaster] нужно указать службу ntpd вместо cronyd:
[timemaster] |
После внесения этих изменений служба timemaster сможет самостоятельно запускать службу ntpd под своим контролем, поэтому самостоятельный запуск службы ntpd следует отключить:
sudo systemctl mask ntp |
Кроме настройки конфигурационного файла нужно разрешить автоматический запуск службы timemaster при старте системы:
| sudo systemctl enable timemaster |
Служба ptp4l представляет собой реализацию протокола времени высокой точности и по умолчанию настроена на работу с сетевыми картами, поддерживающими аппаратные отметки времени (time stamping).
Как проверить наличие в сетевой карте аппаратной поддержки описано выше.
Конфигурация службы ptp4l хранится в файле /etc/linuxptp/ptp4l.conf, описание которого доступно в справочной системе:
| man pdp4l |
Если используются сетевые карты без аппаратной поддержки отметок времени, то в конфигурации службы ptp4l (файл /etc/linuxptp/ptp4l.conf) нужно заменить аппаратную поддержку на программную:
time_stamping software |
Служба phc2sys настроек не требует, и если в системе имеется с чем синхронизировать системные часы RTC (имеется сетевая карта с аппаратными часами), phc2sys запустится автоматически с нужными параметрами. При работе с сетевыми картами, не поддерживающими аппаратные отметки времени служба phc2sys не запускается.
После завершения настройки запуск всех служб осуществляется командой
sudo systemctl start timemaster |
Служба timemaster сама запустит запустит все остальные сервисы, в итоге статус нормально и полностью запущенной службы при наличии аппаратной поддержки выглядит примерно так:
$ systemctl status timemaster |