Tak więc próbuję debugować moją obecną konfigurację NTP i odkryłem, że przesunięcie względem mojego pojedynczego skonfigurowanego serwera trwa ponad 3 sekundy i nie dostosowuję się. Gwiazdka na LOCAL (0) w wyjściu ntpq wydaje się wskazywać, że system szczęśliwie synchronizuje się z samym sobą, a nie z serwerem 10.130.33.201 (który jest kolejnym systemem linux w naszym systemie, z którym chcemy synchronizować wszystko).
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
10.130.33.201 LOCAL(0) 9 u 49 64 377 0.242 -3742.2 1.049
*LOCAL(0) .LOCL. 10 l 2 64 377 0.000 0.000 0.001
A to jest mój plik ntp.conf. Napisane przez kogoś innego, więc nie jestem w 100% pewien, że wszystko jest w porządku.
server 10.130.33.201 burst iburst minpoll 4 maxpoll 11
driftfile /mnt/active/etc/ntp.drift
restrict -4 default nomodify nopeer notrap
restrict -6 default ignore
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
Czytałem o serii i iburst oraz minpoll / maxpoll, więc zdaję sobie sprawę, że mogą one nie być potrzebne, ale nie sądzę, aby miało to związek z moim bieżącym problemem.
Ponadto, ze względu na sposób jego wdrożenia, ten plik konfiguracji zajmie dużo pracy, aby zmienić, więc mam nadzieję, że nic, co naprawdę musi zostać zmienione. Mam nadzieję, że to przypadek, w którym nie rozumiem, jak działa NTP.
EDYTOWAĆ -
Wygląda na to, że jest to duplikat tego pytania , ale nie sądzę, aby plakat otrzymał wystarczającą odpowiedź, więc nadal chciałbym wiedzieć, dlaczego czas lokalny jest lepszy niż serwer. Ponadto, zgodnie z jedną z poniższych odpowiedzi, próbowałem użyć prefer
słowa kluczowego w linii serwera konfiguracji i zrestartować, ale nie wydaje się, aby miało to wpływ.
Jeśli usunę wszystkie „lokalne” wiersze w konfiguracji jako odpowiedź na inne pytanie, co się stanie, jeśli serwer będzie nieosiągalny? Czy NTP umiera, czy tylko próbuje?
WAŻNA EDYCJA -
Ok, zwykle 10.130.33.201 („serwer”) nie ma dostępu do Internetu i nie ma źródła czasu GPS. Ważną częścią jest to, że wszystkie urządzenia w systemie mają taki sam czas jak serwer, niezależnie od tego, jak poprawny jest ten czas.
Tak więc, aby zobaczyć, co się stanie, dodałem jeden z serwerów puli NTP do pliku konfiguracyjnego serwera, aby uzyskać czas stamtąd zamiast uzyskiwać czas lokalny. Teraz poprawnie pobiera czas z serwera czasu NTP.
Po wykonaniu tej czynności klienci synchronizują się teraz z serwerem zamiast preferować LOCAL (0)
ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.130.33.201 38.229.71.1 3 u 58 64 377 0.216 715621. 1.001
LOCAL(0) .LOCL. 10 l 18 64 377 0.000 0.000 0.001
NOWE PYTANIE - Gdy mój serwer używa lokalnego (podany oryginalny przykład), wydaje się, że klienci mówią: „Och, 10.130.33.201 używa LOKALNEGO (0). Hmm, mam również serwer LOKALNY (0) - - Wykorzystam to bezpośrednio, zamiast uzyskiwać te same informacje za pośrednictwem 10.130.33.201 ”.
Czy tak jest w przypadku? Czy próbują przejść „bezpośrednio do źródła”, które jest niepoprawnie LOKALNE (0)? Potrzebuję mojego serwera, aby uzyskać czas z LOCAL (0) i potrzebuję klientów, aby uzyskać czas z serwera. W tej chwili usunięcie „lokalnego” serwera z plików konfiguracyjnych klienta jest jedyną opcją, ale chciałbym zrozumieć, dlaczego tak się dzieje, i jeśli to w ogóle możliwe, unikaj zmiany ich konfiguracji (zmiana konfiguracji będzie dużo pracy z powodu Nasze środowisko...).
Także, to wygląda jak kolejny duplikat bez dobrej odpowiedzi.