Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Информация |
---|
В стандартные дистрибутивы и репозитории |
Astra Linux включены следующие службы точного времени: |
|
|
Подробнее про |
эти службы можно прочитать |
в статье Службы синхронизации времени в Astra Linux. В статье также можно ознакомиться с базовыми терминами, связанными с организацией служб времени в |
компьютерах. |
Начиная с
обновлений Astra Linux Common Edition 2.12.10, Astra Linux Special Edition x.7 помимо указанных выше служб в
репозиториях стал доступен пакет linuxptp, содержащий следующие службы:
- ptp4l - служба протокола времени высокой точности, реализующая работу по протоколу времени высокой точности PTP (Precision Time Protocol) в соответствии со стандартом IEEE 1588. Точность протокола зависит от того, как устанавливаются метки времени в пакетах IEEE 1588. При установке отметок времени программным путём, когда на точность влияют прерывания, загрузка процессора, и иные факторы, обеспечивается точность 1-100 микросекунд. Аппаратная поддержка обеспечивает точность до единиц микросекунд;
- phc2sys - служба синхронизации часов;
- timemaster - служба координации, обеспечивающая совместную работу традиционной службы времени ntp и
- службы времени
Данная статья применима к:
Орёл 2.12.10- высокой точности ptp.
Предупреждение |
---|
Службы |
ntpd, chronyd и |
PTP несовместимы со службой timedatectl. |
Проверка оборудования
Пакет ориентирован на использование аппаратных средств точного времени, в частности, аппаратных возможностей сетевых карт (аппаратные отметки времени).
Пакет можно настроить и запустить и без сетевых карт, поддерживающих аппаратные возможности, что повлечет некоторое снижение точности. Настройка пакета для работы без аппаратной поддержки описана ниже
Установка пакета
Пакет linuxphp доступен в репозитории Орёл (начиная с версии 2.12.10) и может быть установлен с помощью графического менеджера пакетов или из командной строки командой
Command |
---|
sudo apt install linuxptp |
Настройка службы timemaster
Конфигурация службы timemaster находится в файле /etc/linuxptp/timemmaster.conf.
Подробно настройки описаны в электронной справочной системе:
Command |
---|
man timemaster |
Включение службы домена точного времени (ptp_dpomain)
Для включения службы точного времени раскомментироватьв файле конфигурации секцию [ptp_domain 0] (в примере - настройка домена точного времени, использующего интерфейс eth0 ):
Информация |
---|
[ptp_domain 0] |
Домен точного времени обслуживается сервисом ptp4l, его настройка описана ниже.
Включение службы ntp
В этом файле в секции [timemaster] нужно указать службу ntpd вместо cronyd:
Информация |
---|
[timemaster] |
После внесения этих изменений служба timemaster сможет самостоятельно запускать службу ntpd под своим контролем, поэтому самостоятельный запуск службы ntpd следует отключить (см. ниже).
Кроме настройки конфигурационного файла нужно разрешить автоматический запуск службы timemaster при старте системы:
Command |
---|
sudo systemctl enable timemaster |
Настройка службы ntp
Так как служба timemaster самостоятельно запускает службу ntpd под своим контролем,самостоятельный запуск службы ntpd следует отключить и запретить:
Command |
---|
sudo systemctl mask ntp |
Настройка службы ptp4l
Служба ptp4l представляет собой реализацию протокола времени высокой точности, и, в первую очередь ориентирована на сетевые карты, поддерживающие аппаратные отметки времени (time stamping).
Проверить, поддерживает ли сетевая карта аппаратные отметки времени можно из командной строки с помощью команды ethtool из пакета ethtool (пакет , возможно, придётся установитьethtool необходимо установить, если он не был установлен ранее):
Command |
---|
sudo apt install ethtool |
Примертый Примерный вывод команды по для сетевой картекарты, поддерживающей аппаратные отметки:
Раскрыть |
---|
$ sudo ethtool -T enp0s25eth0 Time stamping parameters for enp0s25eth0: 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) |
или с помощью команды hwstamp_ctl , входящей в состав пакета linuxptp:
Установка пакета
Пакет linuxptp доступен в репозитории Astra Linux Common Edition начиная с версии 2.12.10 и может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой:
Command |
---|
sudo apt install linuxptp |
Настройка службы timemaster
Конфигурация службы timemaster находится в файле /etc/linuxptp/timemaster.conf.
Подробно возможные параметры настройки описаны в электронной справочной системе:
Command |
---|
man timemaster |
Включение службы домена точного времени (ptp_domain)
Для включения службы времени высокой точности ptp4l раскомментировать в файле настроек /etc/linuxptp/timemaster.conf секцию [ptp_domain 0] (в примере - настройка домена точного времени, использующего интерфейс eth0):
Информация |
---|
[ptp_domain 0] |
Домен точного времени обслуживается сервисом ptp4l, настройка этого сервиса описана ниже.
Настройка работы со службой chronyd
Информация |
---|
Данный раздел применим для всех обновлений Astra Linux, в которых доступна служба chronyd (пакет chrony). Служба chronyd рекомендуется для использования во всех обновлениях. |
Для включения работы со службой chronyd:
- Установить пакет chrony, если он не был ранее установлен.
Остановить службу chronyd и запретить её запуск:
Command sudo systemctl stop chronyd
sudo systemctl mask chronydВ файле настроек /etc/linuxptp/timemaster.conf:
Убедиться, что в секции [timemaster] параметр ntp_program имеет значение cronyd:
Блок кода [timemaster] ntp_program chronyd
В секции [chrony.conf] указать значение параметра include равным /etc/chrony/chrony.conf:
Блок кода [chrony.conf] include /etc/chrony/chrony.conf
Запустить (перезапустить) службу timemaster:
Command sudo systemctl restart timemaster
Настройка работы со службой ntp
Информация |
---|
Данный раздел применим для всех обновлений Astra Linux, но не актуален так как в настоящее время рекомендуется использовать службу chronyd. |
Для включения работы со службой ntp:
- Установить пакет ntp, если он не был ранее установлен.
Остановить службу ntp и запретить её запуск:
Command sudo systemctl stop ntp
sudo systemctl mask ntpВ файле настроек /etc/linuxptp/timemaster.conf в секции [timemaster] значение параметра ntp_program нужно заменить на ntpd вместо cronyd:
Блок кода [timemaster] ntp_program ntpd
Запустить (перезапустить) службу timemaster:
Command sudo systemctl restart timemaster
Настройка автоматического запуска timemaster
Кроме настройки конфигурационного файла нужно разрешить автоматический запуск службы timemaster при старте системы:
Command |
---|
sudo systemctl enable timemaster |
Настройка службы ptp4l
Служба ptp4l представляет собой реализацию протокола времени высокой точности и по умолчанию настроена на работу с сетевыми картами, поддерживающими аппаратные отметки времени (time stamping).
Как проверить наличие в сетевой карте аппаратной поддержки описано выше.
Конфигурация службы ptp4l хранится в файле /etc/linuxptp/ptp4l.conf, описание которого доступно в справочной системе:
Command |
---|
man pdp4l |
Если используются сетевые карты без аппаратной поддержки отметок временимвремени, то в конфигурации службы ptp4l (файл /etc/linuxptp/ptp4l.conf) нужно заменить аппаратную поддержку на программную:
Информация |
---|
time_stamping software |
Настройка службы phc2sys
Служба phc2sys настроек не требует, и если в системе имеется с чем синхронизировать системные часы RTC (имеется сетевая карта с аппаратными часами), phc2sys запустится автоматически с нужными параметрами. При работе с сетевыми картами, не поддерживающими аппаратные отметки времени служба phc2sys не запускается.
Запуск всех служб
После завершения настройки запуск всех служб осуществляется командой
Command |
---|
sudo systemctl start timemaster |
Служба timemaster сама запустит запустит все остальные сервисы, в итоге статус нормально и полностью запущенной службы при наличии аппаратной поддержки выглядит примерно так:
Раскрыть |
---|
$ sudo systemctl status timemaster |