- Czy jestem zauważalnym obciążeniem puli? Czy to robi jakąś zauważalną różnicę w puli, jeśli uderzam z 20 serwerów lub z 2?
Biorąc pod uwagę, że pula od wielu lat stale potrzebuje serwerów (patrz [1]), powiedziałbym, że chociaż 2 lub 20 serwerów tak naprawdę nie robi różnicy, zawsze powinieneś pamiętać, że nie jesteś sam. Lepiej więc zastanów się, powiedzmy 1000 administratorów, w którym to przypadku mówimy o 2000 lub 20000 serwerów, a to robi różnicę.
- Jeśli to robi różnicę, jaka jest konfiguracja / konfiguracja, która pozwoli zsynchronizować moją podsieć i pule obciążone?
Musisz zsynchronizować dwa [2] serwery w sieci z pulą (nazwijmy je Podstawowymi serwerami NTP ), a następnie zsynchronizuj wszystkie pozostałe serwery z tymi dwoma. Ta metoda ma również tę zaletę, że czas między wszystkimi serwerami będzie ściślej dopasowany (w czasie krótszym niż 1 ms). Jest to zgodne z najlepszymi praktykami IETF .
1) Konfiguracja podstawowych serwerów NTP
Zamień wiersze server
i restrict
pliku ntp [d] .conf na następujące, a resztę zachowaj do domyślnych ustawień dystrybucji [3]:
server 10.11.12.1 iburst peer
# ^^^^^^^^^^^
# The LAN IP of the _other_ Primary NTP server
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
Należy pamiętać, że ta konfiguracja umożliwia również hostom z całego Internetu sprawdzanie czasu hosta za pomocą zapytań NTP. Użyj swojej zapory ogniowej, jeśli nie chcesz. W moim przykładzie 10.11.12.1 i 10.11.12.2 to adresy IP głównych serwerów NTP (mają dwie karty sieciowe, jedną skierowaną do publicznego Internetu, a drugą do lokalnej podsieci 10.11.12.x). Każdy Podstawowy serwer NTP ma drugi zadeklarowany jako peer (peer w zasadzie oznacza zarówno serwer, jak i klienta - używasz drugiego hosta jako źródła czasu, a drugi host używa Ciebie również jako źródła czasu). Tak ustawić IP na 1 linię tak, że konfiguracja poszczególnych punktów Podstawowa NTP Server do drugiego jako równorzędnego. Zobacz [4] odnośnie mojego wyboru używania 4 serwerów.
2) Konfiguracja dla wszystkich innych serwerów
2A) Jeśli masz dwa interfejsy sieciowe
Lepiej użyj drugiego interfejsu, aby utworzyć lokalną podsieć (np. 10.11.12.0/24
) I użyj jej do zapytań NTP. W takim przypadku linie ograniczające mogą być bardziej ciasne. Więc ponownie zamień wiersze server
i restrict
twojego ntp [d] .conf na następujące i pozostaw resztę domyślnym ustawieniom dystrybucji [3]:
restrict -4 default ignore
restrict -6 default ignore
restrict 10.0.0.0 mask 255.0.0.0 kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
2B) Jeśli nie masz dwóch interfejsów sieciowych
Powinieneś użyć poniższych linii ograniczających (i przeczytać notatkę o używaniu zapory ogniowej do blokowania dostępu do serwerów NTP powyżej). Więc ponownie zamień wiersze server
i restrict
twojego ntp [d] .conf na następujące i pozostaw resztę domyślnym ustawieniom dystrybucji [3]:
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Only use our Primary NTP Servers
server 10.11.12.1 iburst
server 10.11.12.2 iburst
# ^^^^^^^^^^
# The IPs of your 2 Primary NTP Servers
Notatki
[1] W latach 2006–2012 stale proszą o przyłączenie większej liczby serwerów: wniosek z 2006 r., Rok 2009 i rok 2012 . Sprawdź www.pool.ntp.org, aby uzyskać informacje na temat aktualnego stanu.
[2] Dwa podstawowe serwery NTP są sugerowane jedynie jako prosty sposób na nadmiarowość bez skomplikowanych uzgodnień dotyczących wysokiej dostępności. Możesz wybrać 3 lub 4 z innych powodów (ponownie przeczytaj najlepsze praktyki IETF )
[3] W praktyce i bez względu na dystrybucję jedyną rzeczą, którą musisz uwzględnić w konfiguracji ntpd, jest linia definiująca katalog do umieszczenia pliku drift i jego nazwę - np driftfile /var/lib/ntp/ntp.drift
. Przetestowałem swoje rozwiązanie w CentOS, Debian i Ubuntu. Chyba działa w większości innych dystrybucji.
[4] Skonfigurowałem 4 serwery puli zgodnie z najlepszymi praktykami . Konfiguracja więcej niż 4 serwerów jest technicznie akceptowana, ale zwiększysz obciążenie puli NTP w celu uzyskania wątpliwego wzrostu dostępności, więc nie rób tego. W najlepszych praktykach widzę, że „poczynając od ntp-4.2.6, dyrektywa„ puli ” rozpali „ wystarczającą ”liczbę asocjacji, aby zapewnić niezawodną obsługę czasu”, więc jeśli używasz .pool. adresy tak jak tutaj i ntp> = 4.2.6 prawdopodobnie dokładna liczba linii serwera prawdopodobnie nie ma znaczenia.
Rant Oh! Nienawidzę NTP (poza tym, że podoba mi się, że to działa). Oficjalna dokumentacja jest pełna przestarzałych informacji i mają one „jak z nich korzystać?” informacje zmieszane ze szczegółami naukowymi na temat elementów wewnętrznych. Nienawidzę także tego, jak restrict 127.0.0.1
naprawdę to oznaczaallow everything for 127.0.0.1
Historia aktualizacji
Usunąłem tę iburst
opcję z konfiguracji lokalnych serwerów NTP, ponieważ ich przyjazność dla puli jest dyskusyjna. (Zobacz komentarze). Usunięcie ich dodaje tylko kilka minut oczekiwania na pierwszą synchronizację.
Kredyty
Komentarze i odpowiedzi od użytkowników SF Marki i Sven stanowiły dobry punkt wyjścia do tej odpowiedzi. Dzięki obojgu.
peer
związek. Patrz na przykład ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101