Вы находитесь на странице: 1из 5

ECSS-Documentation 3.11.

2 - 06_Синхронизация_времени_на_серверах - # 7

6 Синхронизация времени на серверах


Перед настройкой NTP рекомендуется установить текущую системную дату на значение, максимально приближенное к
реальному времени. Для этого можно воспользоваться утилитой для ручной синхронизации времени – ntpdate.

sudo ntpdate 172.16.0.1

Команда date без параметров выводит текущее системное время.

Установка и настройка NTP


1. Установка NTP происходит при первичной установке пакета ecss-node-3.11, в ходе которого будет задано несколько
вопросов:

- Спрашивается, хотите ли включить tos orphan режим? - режим для кластера, сам регулирует кто с кем
синхронизируется (да/нет).

1.png

- Спрашиваются внешние сервера - типа ntp.ubuntu.com. Они указывается для нод, которые должны регулировать время
и синхронизировать с внешним источником (указываются адреса через пробел).

2.png

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

3.png

- Указываются сети, которые могут иметь доступ до ноды, чтобы другие ноды могли синхронизироваться (указываются
сети вида адрес_сети|маска_сети через пробел).

4.png

- Спрашивается какой стратум выставить своему серверу ntp.

5.png

2. Ручная настройка сервиса

В случае если требуется переконфигурировать текущие настройки NTP, то следует отредактировать файл
/etc/ecss/ecss-ntp.conf.

Для этого необходимо привести файл /etc/ecss/ecss-ntp.conf к следующему виду:

Пример 1. В примере используется схема с резервированием. Система ECSS-10 развернута на двух серверах, которые
синхронизируются между собой и NTP-сервером.

Сервер 1:

# Файл, который используется для хранения смещения частоты системных часов:


driftfile /var/lib/ntp/ntp.drift

# Файл логов (указывается при необходимости):


logfile /var/log/ntp

# Статистика синхронизации времени:


statsdir /var/log/ntpstats/

# Разрешает записывать статистику:


# loopstats - статистика для петли (loopback)
# peerstats - статистика пиров

12.02.2020 1/5
# clockstats - статистика драйвера времени
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# Активируем Orphan mode - режим синхронизации времени для кластеров, устанавливаем для него стратум 5
tos orphan 5

# Описываем peer между серверами кластера - пир к соседнему серверу


peer 192.168.1.2 minpoll 4 maxpoll 8

# Интернет-сервер синхронизации
# server xx.xx.xx.xx iburst
# restrict xx.xx.xx.xx
# INTERNET_SERVERS
server ntp.ubuntu.com iburst ### INSTALLED AUTOMAT BY ECSS10
restrict ntp.ubuntu.com ### INSTALLED AUTOMAT BY ECSS10

# ограничение доступа к нашему серверу:


# по умолчанию игнорируем все
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict source notrap nomodify noquery

# Локальный доступ
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# NETWORK
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap ### INSTALLED AUTOMAT BY ECSS10

# Для локальных пользователей ECSS-10 ограничения не устанавливаются:


restrict 127.0.0.1
restrict ::1

#Для базового NTP-сервера разрешено все, кроме trap'ов и запросов:


restrict ntp.ubuntu.com notrap noquery

#Для второго NTP-сервера запрещены trap'ы:


restrict 192.168.1.2 notrap

Сервер 2:

# Файл, который используется для хранения смещения частоты системных часов:


driftfile /var/lib/ntp/ntp.drift

# Файл логов (указывается при необходимости):


logfile /var/log/ntp

# Статистика синхронизации времени:


statsdir /var/log/ntpstats/

# Разрешает записывать статистику:


# loopstats - статистика для петли (loopback)
# peerstats - статистика пиров
# clockstats - статистика драйвера времени
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# Активируем Orphan mode - режим синхронизации времени для кластеров, устанавливаем для него стратум 5
tos orphan 5

# Описываем peer между серверами кластера - пир к соседнему серверу


peer 192.168.1.1 minpoll 4 maxpoll 8

12.02.2020 2/5
# Интернет-сервер синхронизации
# server xx.xx.xx.xx iburst
# restrict xx.xx.xx.xx
# INTERNET_SERVERS
server ntp.ubuntu.com iburst ### INSTALLED AUTOMAT BY ECSS10
restrict ntp.ubuntu.com ### INSTALLED AUTOMAT BY ECSS10

# ограничение доступа к нашему серверу:


# по умолчанию игнорируем все
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict source notrap nomodify noquery

# Локальный доступ
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# NETWORK
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap ### INSTALLED AUTOMAT BY ECSS10

# Для локальных пользователей ECSS-10 ограничения не устанавливаются:


restrict 127.0.0.1
restrict ::1

#Для базового NTP-сервера разрешено все, кроме trap'ов и запросов:


restrict ntp.ubuntu.com notrap noquery

#Для второго NTP-сервера запрещены trap'ы:


restrict 192.168.1.1 notrap

Возможные ситуации:

В режиме Orphan сервера в кластере синхронизируются друг от друга, сами договариваются кто из них мастер и следят,
чтобы в рамках кластера часы шли синхронно.
Если появляется мастер сервер NTP со стратумом меньше заданного для кластера, то кластер автоматически
перенастраивается на синхронизацию от него.

Таким образом, выполняется постоянное наличие единственной точки синхронизации времени.

Все зависимые устройства должны синхронизироваться от серверов кластера.

Пример 2. В примере используется схема без резервирования. Orphan mode не используется.

# Файл, который используется для хранения смещения частоты системных часов:


driftfile /var/lib/ntp/ntp.drift

# Файл логов (указывается при необходимости):


logfile /var/log/ntp

# Статистика синхронизации времени:


statsdir /var/log/ntpstats/

# Разрешает записывать статистику:


# loopstats - статистика для петли (loopback)
# peerstats - статистика пиров
# clockstats - статистика драйвера времени
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

# Сервера локальной сети


# peer ecssn
# LOCAL_SERVERS
peer 127.0.0.1 ### INSTALLED AUTOMAT BY ECSS10

# интернет-сервера

12.02.2020 3/5
# server xx.xx.xx.xx iburst
# restrict xx.xx.xx.xx
# INTERNET_SERVERS
server ntp.ubuntu.com iburst ### INSTALLED AUTOMAT BY ECSS10
restrict ntp.ubuntu.com ### INSTALLED AUTOMAT BY ECSS10

# ограничение доступа к нашему серверу:


# по умолчанию игнорируем все
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict source notrap nomodify noquery

# локалхост без параметров - значит разрешено все. Параметры идут только на запреты.
restrict 127.0.0.1
restrict ::1

# Локальный доступ
# restrict 192.168.23.0 mask 255.255.255.0 nomodify notrap
# NETWORK
restrict 192.168.18.0 mask 255.255.255.0 nomodify notrap ### INSTALLED AUTOMAT BY ECSS10

# Локальный сервер позволяет поддерживать собственное время


server 127.0.0.1
# fudge 127.0.0.1 stratum 5
# LOCAL_STARTUM
fudge 127.0.0.1 stratum 5 ### INSTALLED AUTOMAT BY ECSS10

3. Для применения обновленной конфигурации нужно перезапустить сервис NTP:

sudo systemctl restart ntp.service

4. Для просмотра информации о состоянии синхронизации используется команда ntpq –p. Если использовать
дополнительный ключ –n, вместо имени сервера будет указан IP-адрес:

Пример 1. Схема с резервированием.

alpha@ssw2:~$ ntpq -p -n
remote refid st t when poll reach delay offset jitter
==============================================================================
10.100.100.133 172.16.0.1 5 u 264 1024 377 0.289 -4.324 1.606
*172.16.0.1 193.125.143.173 3 u 584 1024 377 0.323 -3.448 0.594

Пример 2. Схема без резервирования.

ssw@ecss1:~$ ntpq -p -n
remote refid st t when poll reach delay offset jitter
==============================================================================
*172.16.0.1 93.185.187.89 3 u 385 1024 377 0.145 0.636 0.192

Описание параметров:
- remote – имя удаленного NTP-сервера;
- refid – IP-адрес сервера, с которым производит синхронизацию удаленный сервер NTP;
- st – stratum (уровень), число от 1 до 16, указывающее точность сервера;
- t - тип удаленного сервера:
- u - unicast,
- l - local,
- m - multicast,
- b - broadcst;
- when - интервал времени (в секундах), прошедший с момента получения последнего пакета от данного сервера;
- poll – интервал между опросами (в секундах), значение варьируется;
- reach – состояние доступности сервера, восьмеричное представление массива из 8 бит, отражающего результаты
последних восьми попыток соединения с сервером. Если последние 8 попыток синхронизации с удаленным сервером были

12.02.2020 4/5
успешны, то параметр принимает значение 377;
- delay – вычисленная задержка ответов от сервера (RTT) в миллисекундах;
- offset – разница между временем локального и удаленного серверов;
- jitter– джиттер, мера статистических отклонений от значения смещения (поле offset) по нескольким успешным
параметрам запрос-ответ.

Символ (*) возле IP-адреса сервера указывает на то, что сервер является активным и система синхронизирована с данным
сервером.

После старта сервиса может потребоваться около 10 минут для установления синхронизации времени с базовым
NTP-сервером.

12.02.2020 5/5