Astra linux служба времени

Сервис времени высокой точности PTP (Precision Time Protocol)

В стандартные дистрибутивы и репозитории Astra Linux Common Edition включены следующие службы точного времени:

  • Серверная служба NTP (ntpd) (представлена пакетами ntp и ntpdate);
  • Серверная служба OpenNTP (openntpd) (представлена пакетом openntp);
  • Клиентская служба timedatectl / systemd-timesyncd.service.

Подробнее про эти службы можно прочитать в статье Службы синхронизации времени в Astra Linux. В статье также можно ознакомиться с базовыми терминами, связанными с организацией служб времени в компьютерах.

Начиная с версии Astra Linux Common Edition 2.12.10 помимо указанных выше служб в репозитории стал доступен пакет linuxptp, содержащий следующие службы:

  • ptp4l — служба протокола времени высокой точности, реализующая работу по протоколу времени высокой точности PTP (Precision Time Protocol) в соответствии со стандартом IEEE 1588. Точность протокола зависит от того, как устанавливаются метки времени в пакетах IEEE 1588. При установке отметок времени программным путём, когда на точность влияют прерывания, загрузка процессора, и иные факторы, обеспечивается точность 1-100 микросекунд. Аппаратная поддержка обеспечивает точность до единиц микросекунд;
  • phc2sys — служба синхронизации часов;
  • timemaster — служба координации, обеспечивающая совместную работу традиционной службы времени ntp и службы времени высокой точности ptp.

Проверка оборудования

Пакет ориентирован на использование аппаратных средств точного времени, в частности, аппаратных возможностей сетевых карт (аппаратные отметки времени).
Пакет можно настроить и запустить и без сетевых карт, поддерживающих аппаратные возможности, что повлечёт некоторое снижение точности. Настройка пакета для работы без аппаратной поддержки описана ниже.

Читайте также:  Linux at command with parameters

Проверить, поддерживает ли сетевая карта аппаратные отметки времени можно из командной строки с помощью команды ethtool из пакета ethtool (пакет 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) или из командной строки командой:

Настройка службы timemaster

Конфигурация службы timemaster находится в файле /etc/linuxptp/timemaster.conf.
Подробно возможные параметры настройки описаны в электронной справочной системе:

Включение службы домена точного времени (ptp_domain)

Для включения службы времени высокой точности ptp4l раскомментировать в файле настроек /etc/linuxptp/timemaster.conf секцию [ptp_domain 0] (в примере — настройка домена точного времени, использующего интерфейс eth0):

[ptp_domain 0]
interfaces eth0
delay 10e-6

Домен точного времени обслуживается сервисом ptp4l, настройка этого сервиса описана ниже.

Включение и настройка службы ntp

Для включения службы ntp в файле настроек /etc/linuxptp/timemaster.conf в секции [timemaster] нужно указать службу ntpd вместо cronyd:

[timemaster]
ntp_program chronyd
ntp_program ntpd

После внесения этих изменений служба timemaster сможет самостоятельно запускать службу ntpd под своим контролем, поэтому самостоятельный запуск службы ntpd следует отключить:

Настройка автоматического запуска timemaster

Кроме настройки конфигурационного файла нужно разрешить автоматический запуск службы timemaster при старте системы:

Читайте также:  Ksc web console linux

Настройка службы ptp4l

Служба ptp4l представляет собой реализацию протокола времени высокой точности и по умолчанию настроена на работу с сетевыми картами, поддерживающими аппаратные отметки времени (time stamping).
Как проверить наличие в сетевой карте аппаратной поддержки описано выше.
Конфигурация службы ptp4l хранится в файле /etc/linuxptp/ptp4l.conf, описание которого доступно в справочной системе:

Если используются сетевые карты без аппаратной поддержки отметок времени, то в конфигурации службы ptp4l (файл /etc/linuxptp/ptp4l.conf) нужно заменить аппаратную поддержку на программную:

Настройка службы phc2sys

Служба phc2sys настроек не требует, и если в системе имеется с чем синхронизировать системные часы RTC (имеется сетевая карта с аппаратными часами), phc2sys запустится автоматически с нужными параметрами. При работе с сетевыми картами, не поддерживающими аппаратные отметки времени служба phc2sys не запускается.

Запуск всех служб

После завершения настройки запуск всех служб осуществляется командой

Служба timemaster сама запустит запустит все остальные сервисы, в итоге статус нормально и полностью запущенной службы при наличии аппаратной поддержки выглядит примерно так:

$ systemctl status timemaster
timemaster.service — Synchronize system clock to NTP and PTP time sources
Loaded: loaded (/lib/systemd/system/timemaster.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2019-04-22 15:51:02 MSK; 2s ago
Docs: man:timemaster
Main PID: 2508 (timemaster)
Tasks: 5 (limit: 4608)
CGroup: /system.slice/timemaster.service
├─2508 /usr/sbin/timemaster -f /etc/linuxptp/timemaster.conf
├─2509 /usr/sbin/ntpd -u ntp:ntp -g -n -c /var/run/timemaster/ntp.conf
├─2510 /usr/sbin/ptp4l -l 5 -f /var/run/timemaster/ptp4l.0.conf -H -i eth0
└─2511 /usr/sbin/phc2sys -l 5 -a -r -R 1.00 -z /var/run/timemaster/ptp4l.0.socket -n 0 -E ntpshm -M 0
.

Источник

Синхронизация времени между Astra Linux (systemd-timesyncd) и Windows Server (w32time).

Арсений Бухарский

В данном видео поговорим о том, как настроить синхронизацию времени на клиенте с Astra Linux ( служба systemd-timesyncd) с контроллером домена Windows Server ( служба windows time или w32time). Таймкоды: 00:00 — Введение 00:40 — Начальная настройка службы systemd-timesyncd. Редактирование файла timesyncd.conf и включение сетевой службы синхронизации времени. 3:32 — Настройка службы Windows Time (w32time) 12:36 — Почему не включали службу systemd-timesyncd в начале видео 14:28 — Финальная настройка службы systemd-timesyncd. 17:43 — Постскриптум. Рассказываю об обнаруженной ошибке: синхронизация контроллера домена с внешним сервером может слететь через два дня (или через несколько дней, видимо у кого как). Полезные ссылки: https://support.rdb24.com/hc/ru/articles/212467929-%D0%9A%D0%B0%D0%BA-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2-%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B5-Active-Directory — команды для настройки w32time (Windows Time) на контроллере домена https://forum.altlinux.org/index.php?topic=10430.30 — как раз таки отсюда почерпнул информацию, что если на контроллере домена windows ( или linux тут не имеет значения) мы не укажем внешний источник времени, то systemd-timesyncd просто не сможет синхронизировать с таким сервером время.

Читайте также:  Linux gnu установка пакетов

Источник

Оцените статью
Adblock
detector