Расхождения часов на удаленных машинах

Расхождения часов на удаленных машинах

Я провожу некоторые эксперименты в сети из примерно 10 удаленных компьютеров Linux, которые географически разбросаны.

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

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

решение1

Вы пытаетесь синхронизировать часы с правильным временем или пытаетесь определить, насколько точны часы реального времени, не синхронизируя их?

Если вы просто хотите, чтобы время было правильным, есть целая иерархия серверов времени, с которыми могут синхронизироваться системы, и она часто встроена в ОС, хотя обычно вы можете указать серверы времени. Кроме того, одна система может синхронизироваться с сервером времени, а затем запустить свой собственный сервер времени для синхронизации с другими системами.

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

Обычно при использовании любого из этих методов, если коррекция слишком велика, система может предположить наличие ошибки и вообще не выполнять никакой коррекции.

Надеюсь, я не совсем упустил вашу мысль. :)

решение2

Используйте для этого NTP-демон.

Определите количество независимых ntp-серверов для связи (ntp.conf, server-directive). 3 сервера — хорошо, больше — лучше.

Network-time-protocol отсортирует "плохие" источники времени. Посмотрите на вывод после ntpq -pтого, как вы запустили его ntpdна пару часов.

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

решение3

Утилита crony имеет файл дрейфа. Смотрите:http://chrony.tuxfamily.org/manual.html#Обзор-опций-конфигурации
Я не знаю формат этого файла, так как сам его еще не устанавливал. В нем есть команда для просмотра информации о дрейфе: chronyc sourcestats -v
Я планирую установить crony на свои виртуальные машины для начала.

Этот сайт выглядит полезным:http://www.markus-gattol.name/ws/time.html

решение4

Если это того стоит, мне вчера самому нужно было проверить уровень перекоса между двумя системами Linux. Прежде чем начать копать в поисках инструментов, я использовал этот ненаучный метод, который дал мне достаточно хорошие результаты для моих целей (сравнение временных меток выходных данных журналов из двух систем).

  1. Запустите сеанс Putty на каждой системе и выровняйте их бок о бок.
  2. Выполните следующую команду на обеих системах:

    $ while true; do date +%H:%M:%S.%N; done
    
  3. Сделайте снимок экрана и сравните последние записи в каждом окне.

Может быть кому-то полезно в трудную минуту!

Связанный контент