Как точный мы могли синхронизировать компьютерные часы в локальной сети какого-либо количества компьютеров?

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

Таким образом, я хотел удостовериться, что это будет возможно для стопки серверов (скажите 48 1U компьютеры) ко всем имеют те же самые часы. Я знаю, что могу использовать NTP для вопроса, и я знаю, что у меня может быть один сервер, получают время от атомных часов, и другие синхронизировались с тем одним сервером.

У меня есть основные проблемы с той техникой хотя: Если тот один сервер повреждается, то моя синхронизация времени останавливается... не хороший вообще.

Существует ли надлежащий способ удостовериться 48 компьютеров все, с точностью до которых их часы синхронизировались приблизительно 0.5µs? Если не 0.5µs, на что мы можем надеяться? (т.е. 0,5 мс?)

1
задан 24 September 2015 в 06:30
2 ответа

NTP может использовать пул серверов (например, http://www.pool.ntp.org/en/ , но вы можете создать свой собственный), чтобы избежать одного -server-is-down, и серверы также могут поддерживать локальные часы, если по какой-то причине все их родительские серверы недоступны.

2
ответ дан 3 December 2019 в 20:47

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

Похоже, что PTP , предложенный Майклом Хэмптоном, следует той же стратегии, что и в: он будет использовать один компьютер, гроссмейстер , как источник синхронизации времени,в отличие от попыток получить правильное абсолютное время на всех компьютерах (в результате, если гроссмейстер отклонится на 10 мс от того, что мир считает абсолютным реальным временем , все узлы будут отключены на 10 мс).

В этом документе предлагается следующее решение:

1) Настроить один компьютер для получения абсолютного времени с помощью NTP. Если один компьютер выйдет из строя, часы могут начать дрейфовать, но они не станут неточными между собой, они будут дрейфовать по сравнению только с абсолютным реальным временем .

В этом случае вы используете сервер определения ( grandmaster ):

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
...

Также настройте этот компьютер в качестве сервера NTP, скажем local.ntp

2) Настройте другие компьютеры в качестве равноправных узлов

server local.ntp   # only on a few other (3 to 5) computers
peer c0 iburst
peer c1 iburst
peer c2 iburst

Вам не нужно, чтобы все 48 компьютеров были подключены друг к другу, вместо этого у вас будет от 3 до 5 на каждом компьютере, используя немного разные настройки (c1, c2, c3, затем c2, c3, c4 и т. д. .) В результате вы получаете одноранговую сеть, которая синхронизирует друг друга как можно точнее, с несколькими компьютерами (от 3 до 5), связанными с узлом, определенным в (1), то есть local.ntp , чтобы время было максимально приближено к реальному времени.

Ссылка local.ntp сама по себе может рассматриваться как одноранговый узел (вы даже можете сделать его одноранговым?) [1 2143] П.С. Использование restrict настоятельно рекомендуется при использовании однорангового узла в частично общедоступной сети, чтобы предотвратить доступ посторонних к вашей сети NTP.

0
ответ дан 3 December 2019 в 20:47

Теги

Похожие вопросы