Jak daleko jest „za daleko” dla NTTP? Czy można się tam dostać przez nagły skok do dużego obciążenia? Czy można to zmienić?

21

W wielu elementach startowych w ntpd, takich jak ten , zawsze pojawia się ostrzeżenie, że ntpd przestanie resetować zegar „[jeśli] twój zegar jest zbyt daleko”.

Jak daleko jest „za daleko”?

Ponadto, jeśli serwer nagle przejdzie do dużego obciążenia, na przykład z całkowitego bezczynności do 100% procesora, czy wzrost temperatury spowoduje przesunięcie zegara do „zbyt daleko”?

Czy można skonfigurować program NTTP do resetowania zegara, nawet jeśli czas jest „zbyt daleko” lub przynajmniej „nieco dalej”?


źródło
How far off is "too far off"?Zależy. Jakich systemów operacyjnych / dystrybucji używasz?
HopelessN00b
@ Serwer Ubuntu HopelessN00b. Uznałem, że trudno byłoby go określić ze względu na złożoność algo, więc mogę żyć z figurką do gry w piłkę.
Wszystkie twoje pytania są zmiennymi, które możesz ustawić w konfiguracji
Jacob
@Jacob Dziękuję Jacob! Czy mógłbyś mi pokazać gdzie? Nigdy nie widziałem niczego, co poszerzyłoby pasmo resetowania, a wszystko, co mogę znaleźć dla wyższej częstotliwości synchronizacji, to to, burstco powoduje zbanowanie. :/ Z góry bardzo dziękuję!
Nie sądzę, aby obciążenie procesora lub temperatura miały jakikolwiek wpływ na twój zegar. Wszystkie timery na typowym komputerze ostatecznie pochodzą z oscylatora, który, o ile wiem, znajduje się poza pakietem procesora i nie ma na niego wpływu żadne działanie procesora.
Nate Eldredge

Odpowiedzi:

19

Po pierwsze, domyślna maksymalna różnica wynosi 1000, jak wspominali inni. Jak stwierdził @kyle, możesz użyć -gflagi, aby zignorować JEDEN czas tylko w celu początkowego ustawienia zegara.

Potem naprawdę nie powinieneś widzieć, jak Twój zegar przesuwa się o 1000s między aktualizacjami, nawet przy dużym obciążeniu, a jeśli tak, naprawdę musisz go wymienić. Wymagane ustawienia konfiguracji to minpolli maxpoll. Umożliwi to ustawienie czasu trwania interwału na potęgę 2 (np. 10 oznacza 2 10 = 1024 s).

Należy pamiętać, że Twój system prawdopodobnie nie będzie dryfował znacznie nawet pod dużym obciążeniem, a ustawienia domyślne powinny go kontrolować. Nie chcesz bombardować serwerów NTP aktualizacjami co sekundę, ponieważ marnujesz zasoby, spowoduje to zablokowanie i najprawdopodobniej połączenie z Twoim ISP NOC. Jeśli naprawdę potrzebujesz bardzo dokładnego czasu, użyj GPS lub skonfiguruj własny serwer NTP.

Jakub
źródło
2
W zależności od tego, co robisz, kilka ms, które może dryfować dziennie, jest „zasadniczo” dla ludzi.
PlasmaHH
2
@PlasmaHH W takim razie sugerowałbym wykorzystanie lepszego źródła czasu, takiego jak GPS.
Jacob
Dziękuję bardzo Jakubowi! Czy zdarza ci się wiedzieć, jaki jest najczęstszy limit stawek? Chciałbym zachować dobry czas w pokazanym tutaj paśmie 10ms ntp.org/ntpfaq/NTP-s-algo.htm#Q-ACCURATE-CLOCK bez drogiego sprzętu. Z góry bardzo dziękuję!
1
@Gracchus To zależy od poszczególnych serwerów NTP i będziesz musiał się z nimi skontaktować. Moim zdaniem próbujesz użyć NTP jako narzędzia do czegoś, w którym potrzebujesz bardzo precyzyjnego czasu. Jako taki powinieneś użyć lepszego rozwiązania (takiego jak GPS), aby go uzyskać, niż dodać obciążenie do bezpłatnej usługi.
Jacob
3
@ Gabe: Zastąp tutaj może również oznaczać dodanie kolejnego zegara do systemu. Ponadto istnieje całkiem sporo opcji dodawania różnego rodzaju zegarów jako kart PCI.
PlasmaHH
12

NTPD może regulować zegar powoli, jeśli jest wyłączony, obracanie zegara. Chodzi o to, że powolne kroki nie powodują problemów z licznikami oprogramowania, dziwnych luk w plikach dziennika itp.

Maksymalne możliwe tempo zabijania jest ograniczone do 500 części na milion (PPM) przez jądro Uniksa. W rezultacie zegar może potrwać 2000 sekund na każdą sekundę, która znajduje się poza dopuszczalnym zakresem.

Według strony podręcznika ntpd nie będzie działać, jeśli zegar jest wyłączony ponad 1000 sekund.

Ponieważ przesunięcie zegara o 1000 sekund zajmie co najmniej 3 tygodnie i w tym czasie wszystkie daty / znaczniki czasu będą nadal wyłączone, nie wydaje się to nieuzasadnione.

ntpdateKomenda ma -b przełącznik po prostu ustawić czas bez obrotem. Jest to przydatne w przypadkach, gdy lokalny zegar systemowy zbytnio odbiega od „prawidłowego” czasu.

HBruijn
źródło
9

Jest to określone w man ntpdi przesłonisz go, możesz być zainteresowany -gopcją (zwróć uwagę na „domyślnie jest to 1000 s”):

-g Zwykle ntpdkończy pracę z komunikatem do dziennika systemowego, jeśli przesunięcie przekracza próg paniki, który domyślnie wynosi 1000 s. Ta opcja pozwala ustawić czas na dowolną wartość bez ograniczeń; może się to jednak zdarzyć tylko raz. Jeśli próg zostanie przekroczony, ntpdnastąpi wyjście z komunikatem do dziennika systemu. Tej opcji można używać z opcjami -qi -x. Zobacz tinkerpolecenie dla innych opcji.

Możesz to dostosować w ntpd.conf. Jeśli chcesz to wyłączyć, możesz to ustawić tinker panic 0. Aby uzyskać więcej informacji, zobacz dokumentację Różne opcje .

Kyle Brandt
źródło
Doskonały! W końcu znaleziono minpolli maxpoll. Dziękuję Ci!
Kyle to źle. Jest to jednorazowe polecenie, które nie rozwiąże przyszłych problemów. Nie wspominasz minpollani maxpoll.
Jacob
1
Aby to zadziałało, musiałem wykonać następujące kroki: „usługa sudo ntp stop” „ntpq -gq” i „usługa sudo ntp start”
Terry Horner