Рейтинг:0

Игнорировать источник хронии с явно неправильным временем

флаг cn

У меня есть робот, и я использую timemaster для запуска chrony и добавления источника PTP из моего GPS. Когда я запускаю робота внутри, где он не может определить местонахождение спутника, GPS утверждает, что это 5 января 1980 года. «сделать шаг 1 3», настроенный для хронии), а затем, когда я вывожу робота на улицу, и GPS начинает показывать правильное время, он начинает смещаться в сторону 2021 года, которого, конечно, никогда не будет. Список источников хронов выглядит, например, так:

[root@robot user]# хронических источников
210 Количество источников = 5
Имя MS/IP-адрес Stratum Poll Reach LastRx Последняя выборка
================================================== ==============================
#x PTP0 0 2 377 4 +15173d[+15173d] +/- 8760us
^* ipv4.ntp1.rbauman.com 2 6 377 38 -43 мс [ -15 мс] +/- 134 мс
^- 150.136.0.232 2 7 377 148 -59 мс[ -31 мс] +/- 192 мс
^+ 38.229.58.9 2 8 377 216 +30 мс[ +55 мс] +/- 124 мс
^+ ntp.speculation.org 2 7 377 38 -5919us[ +22 мс] +/- 130 мс

Я правильно установил время при сборе этих данных, поэтому вы можете видеть, что первый источник отключен на 15 173 дня, потому что 2021–1980 = 15000 дней.

Простое и очевидное исправление, которое мы используем, состоит в том, чтобы выключить все, а затем снова включить, как только мы окажемся снаружи, но я надеялся, что есть параметр конфигурации chrony (или параметр конфигурации timemaster), который мне не хватает, который будет игнорировать источники (даже если они утверждают, что это слой 0), если он отличается, скажем, на 20 лет или на какое-то другое такое огромное количество времени.

Я попытался изменить настройки makestep, но это на самом деле усугубляет проблему, потому что, если мы отключим makestep, кто-то будет работать с роботом внутри в течение нескольких часов, часы смещаются в сторону 1980 года на несколько часов, а затем часы идут неправильно, пока не смогут отклоняться назад на равное количество времени.

Спасибо за любые ваши идеи. На самом деле я делаю это на трех встроенных ПК под управлением разных ОС, поэтому я не могу указать версию Linux или версию chrony. Если у вас есть исправление, которое работает только на последней версии chrony, я буду рад его услышать!

Paul avatar
флаг cn
Связан ли этот вопрос с управлением системами информационных технологий в бизнес-среде?
Chris Showers avatar
флаг cn
Справедливый вопрос, Пол. Я написал на serverfault, потому что у него, казалось, были лучшие ответы на вопросы о конфигурациях chrony. Вопрос можно было бы переформулировать, чтобы сослаться на NTP-сервер на основе GPS, такой как Veracity TIMENET Pro, который иногда получает отказ из-за высоких окружающих зданий или облачного покрытия (что на самом деле есть в моей серверной комнате).
Рейтинг:1
флаг cn

Обратите внимание, что выходные данные ваших источников указывают на то, что PTP0 является eИксвключен из-за огромного смещения. И у вас есть то, что выглядит как источники пула NTP, которые соглашаются в течение 200 мс, если они доступны. Последнее означает, что это было бы точно, если бы PTP0 не сделал это немедленно.

Удалить сделать шаг строку и замените ее чем-то вроде

initstepslew 1 2.pool.ntp.org

Когда chronyd запустится, он отправит несколько пакетов в стиле iburst и при необходимости шагнет. Поскольку это только NTP, проблема с исправлением GPS не будет затронута.

Если IP-сети часто недоступны, например, на улице, просмотрите человек chrony.conf для примеров "редкое подключение" и "изолированные сети". Отметьте серверы NTP как автономные и онлайн в сетевых сценариях. Настройте NTP-серверы на некоторых компьютерах в локальной сети. Любая машина, даже с плохими часами реального времени, была бы ближе, чем начало эпохи GPS.

Возможно, настроить параметры на серверах в chrony.conf, чтобы не полагаться только на GPS. Например:

пул 2.pool.ntp.org требуется

где pool.ntp.org — ваши настроенные серверы NTP. требовать означает, что эти серверы не должны быть исключены для корректировки времени. Тогда требуются доступные серверы NTP, однако хрониум хорошо компенсирует дрейф даже при отключении.

Chris Showers avatar
флаг cn
Спасибо, Джон! У робота есть резервные радиомодули 4G, поэтому он всегда имеет подключение к Интернету, за исключением того, что иногда компьютеры с Linux загружаются быстрее, чем радиомодули. Я думаю, что это исправление будет работать. Вечером настрою и протестирую.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.