Beste Wahl für die NTP-Client-Konfiguration

9

Mal sehen, ob jemand ein bisschen Licht auf dieses Thema werfen kann.

Ich mache in den nächsten Tagen eine Serverinstallation. Mein Client möchte einen Hortonworks HDP mit 2 Servern als Master-Server und 5 Worker-Servern bereitstellen. Eine der Anforderungen für alle ist die NTP-Aktivierung. Aber das sind alle Informationen, die ich habe. Er hat mir nicht gesagt, ob er einen lokalen Server als NTP-Server haben möchte oder ob alle 7 als Clients fungieren sollen. Das Betriebssystem wird Centos 6.6 oder 6.7 sein.

Meine Frage wäre also:

In Anbetracht dessen, dass dies keine Produktionsumgebung ist, sondern eher eine "Testumgebung", welche wäre Ihre Wahl für die Konfiguration von NTP auf diesen Computern? Alle 7 als Clients oder 1-2 Server und fünf Clients?

lgg
quelle

Antworten:

9

Ich bin der festen Überzeugung, dass zwei lokale Server, an die sich alle anderen binden, der richtige Weg sind. NTP funktioniert auf diese Weise und minimiert die Belastung der öffentlichen / Pool-Server.

Ich führe einen NTP-Poolserver aus. Selbst in Gebieten mit gut besiedelten Pools ist die Auslastung immer noch erheblich (ich habe einen Jahresdurchschnitt von 25 Kundenanfragen pro Sekunde, was ungefähr 2,5 Millionen pro Tag bedeutet). In einigen Teilen der Welt sind die Pools so klein, dass die wenigen Leute, die Poolserver betreiben, ziemlich überfordert sind .

Bearbeiten : Aaron Copley macht den ausgezeichneten Punkt , dass zwei Server werden sowohl von den Kunden abgelehnt werden , wenn nur einer von ihnen ist out-of-sync , aber immer noch denkt , dass es korrekt ist (siehe zB diese Frage ), und das mit zwei (statt nur eins) verdoppelt einfach den Single-Point-of-Failure. Er hat absolut Recht, dass drei besser wären, und in einem größeren Produktionsnetzwerk würde ich zustimmen, dass dies für diesen Anwendungsfall angemessen ist. Nach meiner Erfahrung funktioniert ordnungsgemäß konfiguriertes NTPd jedoch viel häufiger als es ausfällt, und das Risiko, dass ein einzelner Server nicht verfügbar ist und die Client-Uhren nicht mehr synchron sind, um automatisch wiederhergestellt zu werden , überwiegt das Risiko, dass ein Server einen Fehler ankündigt Zeit und beide ungültig machen.

Für mich ist zwei die richtige Anzahl von Upstream-synchronisierten Servern für dieses Netzwerk - aber es gibt definitiv eine legitime Diskussion über das Problem, und ich bin Aaron dankbar, dass er diesen Punkt angesprochen hat.

MadHatter
quelle
1
Ein Server ist nur zwei vorzuziehen. Sollte etwas passieren, dass diese beiden Server nicht mehr synchron sind, kann der NTP-Algorithmus nicht feststellen, welcher Server korrekt ist, und lehnt beide ab. Noch besser wären drei, und dies wird von den Betreuern als die Mindestanzahl der zu konfigurierenden Server angesehen .
Aaron Copley
Ich habe keinen Zweifel, dass Sie mehr praktische Erfahrung haben, aber etwas über 1 oder 3, aber nie 2 ist einfach bei mir geblieben. Vielen Dank für die Erwähnung in Ihrer Bearbeitung. :)
Aaron Copley
Der Rat gegen zwei basiert ausschließlich auf den Problemen, die auftreten, wenn sie nicht übereinstimmen, und auf dieser Grundlage ist er ausgezeichnet. Ich finde nur, dass dies nicht oft vorkommt, ohne dass einer der Server die Synchronisation verliert und sich selbst als Quelle disqualifiziert . Einer wäre in Ordnung, da bin ich mir sicher; zwei gibt mehr Robustheit. Aber ich persönlich (und es ist sehr meine Meinung) denke, dass drei zu viel von einer Gruppe von sieben sind, was die Belastung des Pools betrifft. Trotzdem ist es, wie gesagt, ein ausgezeichneter Punkt, den Sie ansprechen, und definitiv etwas, über das die Leute nachdenken sollten. Ich habe mich sehr gefreut, Ihnen die Erhöhung zuzuschreiben.
MadHatter
Der obige Link von @AaronCopley rechtfertigt sehr deutlich, warum 4 als Untergrenze für die Anzahl der Quellen (ob Server oder Peers) angesehen werden sollte, um eine genaue Zeitmessung zu gewährleisten und dennoch geplante Wartungsarbeiten oder einen Fehler an einer dieser Quellen zu ermöglichen. Wenn keiner der Server böswillig ist, ist 2 viel genauer als 1 (da sich die Fenster die meiste Zeit überlappen), und 3 ist das Minimum, damit die Clustering- und Schnittpunktalgorithmen von NTP effektiv funktionieren.
Paul Gear
@PaulGear wie Sie sagen, in einem großen Netzwerk ist vier eine vernünftige Untergrenze; Mein Pool-Server hat fünf Quellen. Aber wie Sie selbst auch bemerken: " Wenn keiner der Server bösartig ist, ist 2 viel wahrscheinlicher als 1 ". In einem kleinen Netzwerk wie dem OP, in dem vier nicht zu rechtfertigende Overkills sind, scheinen mir zwei das richtige Gleichgewicht zwischen den Diensten zu sein Bereitstellung und Überlastung des Pools. Wenn Sie Ihre eigenen Stratum 1-Server einrichten, haben Sie natürlich so viele, wie Sie möchten und sich leisten können. Meine Antwort bezieht sich nur auf den Kompromiss zwischen öffentlichem und privatem Dienst bei der Verwendung von Poolservern.
MadHatter
4

In einer so kleinen Umgebung, die nur als "Testen" bezeichnet wird, würde ich NTP an den Rand des Netzwerks bringen. Führen Sie den NTP-Server auf Ihrem Switch oder Router aus, wenn Sie können, und konfigurieren Sie ihn für 3 oder mehr Upstream-Zeitquellen . Zeigen Sie dann alle 7 Knoten hier. Wahrscheinlich ist dies Ihr einziger Weg ins Internet. Wenn Sie also zusätzliche Zeitquellen "im Inneren" konfigurieren, werden Sie keinen Gefallen finden, wenn ein Switch ausfällt oder das Netzwerk ausfällt. Sie haben schlimmere Probleme als die Zeitsynchronisierung, wenn Ihr Netzwerk ausgefallen ist.

Aaron Copley
quelle
0

Ich würde für 1-2 Server gehen. Sie ersparen dem Pool einige Anfragen. Und sollten Sie für einige Zeit die Verbindung zum Pool für einen längeren Zeitraum verlieren, bleiben zumindest die Computer in Ihrem internen Netzwerk miteinander synchron.

Peter
quelle