Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
systemd-timesyncd: Server has too high stratum, refusing synchronization Linux / DevOps

Server has too high stratum — Сбой синхронизации времени systemd-timesyncd

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сообщение «systemd-timesyncd: Server has too high stratum, refusing synchronization» генерируется встроенным SNTP-клиентом systemd-timesyncd. Ошибка указывает на то, что вышестоящий NTP-сервер времени вернул уровень стратума (Stratum >= 16, что означает «время не синхронизировано / Unsynchronized») либо стратум превысил допустимый порог доверия клиента. Служба systemd-timesyncd отклоняет полученные маркеры времени, оставляя сервер с несинхронизированными часами, что ведет к сбоям в Kerberos, TLS/SSL сертификатах и распределенных СУБД.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
Stratum LevelStratum 1–15 (Valid), 16 (Invalid)Удаленность от эталонного источника времени (Stratum 0: атомные часы/GPS; Stratum 1: прямой сервер).
Stratum 16Clock UnsynchronizedNTP-сервер сам потерял синхронизацию и не имеет права раздавать время клиентам.
ImpactKerberos / Token Auth BreakРасхождение часов более чем на 300 секунд полностью блокирует авторизацию Active Directory.

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Проверка статуса синхронизации и текущего стратума

# Детальный статус службы синхронизации времени:
timedatectl timesync-status

# Общий статус системных часов:
timedatectl status

Сценарий 2: Настройка надежных публичных NTP-серверов в timesyncd.conf

Замените нестабильный локальный NTP-сервер на надежные пулы Stratum 1–2:

# Отредактируйте конфигурационный файл /etc/systemd/timesyncd.conf:
cat <<EOF | sudo tee /etc/systemd/timesyncd.conf
[Time]
NTP=time.cloudflare.com pool.ntp.org
FallbackNTP=ntp.ubuntu.com time.google.com
RootDistanceMaxSec=5
PollIntervalMinSec=32
PollIntervalMaxSec=2048
EOF

# Перезапустите службу времени:
sudo systemctl restart systemd-timesyncd

Сценарий 3: Переход на профессиональный демон Chrony (рекомендовано)

Для корпоративных серверов с высокими требованиями к точности замените простой клиент timesyncd на полнофункциональный демон chrony:

# Установка Chrony (автоматически отключит systemd-timesyncd):
sudo apt-get install chrony || sudo dnf install chrony

# Проверка источников времени и стратумов в Chrony:
chronyc sources -v
chronyc tracking

Сценарий 4: Принудительная разовая установка времени

# Разовая ручная синхронизация через Chrony (если расхождение слишком велико):
sudo chronyd -q 'server pool.ntp.org iburst'
Рассинхронизация времени рушит репликацию баз данных и токены аутентификации?
ITSTM настроит высокоточную инфраструктуру синхронизации времени PTP/NTP для корпоративных кластеров.
Практический опыт инженера: В виртуальных машинах (KVM/ESXi) с распределенными СУБД (Cassandra, CockroachDB, ClickHouse) всегда используйте Chrony с директивой 'makestep 1.0 3' для плавной подстройки часов без резких скачков времени назад.

Частые вопросы (FAQ)

Что такое Stratum в иерархии NTP?

Стратум — это уровень удаленности от физического эталона времени (GPS/атомных часов). Stratum 1 подключен к эталону напрямую, Stratum 2 синхронизируется со Stratum 1 и т.д. Stratum 16 означает, что сервер не синхронизирован и непригоден для использования.

Чем Chrony лучше встроенного systemd-timesyncd?

timesyncd — это простейший клиент SNTP, который опрашивает сервер раз в несколько минут. Chrony — полноценный NTP-демон, непрерывно корректирующий частоту системного таймера (Slewing), поддерживающий аппаратные таймстемпы и работу в изолированных сетях.

Что делает директива RootDistanceMaxSec?

Она определяет максимальную допустимую задержку до корневого сервера времени. Если суммарная сетевая задержка и погрешность выше этого значения, timesyncd отклоняет сервер.

Как включить синхронизацию времени одной командой?

Выполните команду: sudo timedatectl set-ntp true.