Meilleur choix pour la configuration du client NTP

9

Voyons si quelqu'un peut apporter un peu de lumière sur ce sujet.

Je fais une installation de serveur dans les prochains jours. Mon client souhaite déployer un Hortonworks HDP avec 2 serveurs comme serveurs maîtres et 5 serveurs travailleurs. L'une des conditions pour chacun d'eux est d'être compatible NTP. Mais c'est toutes les informations que j'ai, il ne m'a pas dit s'il voulait qu'un serveur local fasse office de serveur NTP ou que les 7 services servent de clients. Le système d'exploitation sera Centos 6.6 ou 6.7.

Ma question serait donc:

Tenant compte du fait que ce ne sera pas un environnement de production, mais plutôt un environnement de "test", quel serait votre choix pour configurer NTP sur ces machines? Tous les 7 agissant en tant que clients ou 1-2 serveurs et cinq clients?

lgg
la source

Réponses:

9

Je suis convaincu que deux serveurs locaux, auxquels tout le monde se lie, sont la bonne solution. NTP est conçu pour fonctionner de cette façon, et il minimise la charge sur les serveurs publics / pool.

J'exécute un serveur de pool NTP. Même dans les zones avec des pools bien peuplés, la charge est toujours importante (je fonctionne à une moyenne annualisée de 25 demandes client par seconde, ce qui signifie environ 2,5 millions par jour). Dans certaines parties du monde, les piscines sont si petites que les quelques personnes qui exécutent des serveurs de pool sont débordées .

Edit : Aaron Copley fait l'excellent point que deux serveurs seront tous deux rejetés par les clients si un seul d'entre eux n'est pas synchronisé mais pense toujours que c'est correct (voir, par exemple, cette question ), et que d'en avoir deux (au lieu de simplement un) double simplement le point de défaillance unique. Il a tout à fait raison de dire que trois serait mieux, et dans un plus grand réseau de production, je conviens que cela convient à ce cas d'utilisation. D'après mon expérience, cependant, NTPd correctement configuré fonctionne beaucoup plus souvent qu'il ne tombe en panne, et le risque qu'un seul serveur ne soit pas disponible et que les horloges clientes soient trop éloignées de la synchronisation pour récupérer automatiquement dépasse largement le risque qu'un serveur annonce un défaut temps et invalider les deux.

Pour moi, deux est le bon nombre de serveurs synchronisés en amont pour ce réseau - mais il y a certainement une discussion légitime à avoir autour de la question, et je suis reconnaissant à Aaron d'avoir soulevé ce point.

Chapelier Fou
la source
1
Un serveur est préférable à seulement deux. Si quelque chose devait se produire pour que ces deux serveurs ne soient plus synchronisés, l'algorithme NTP ne peut pas déterminer lequel est exact et rejettera les deux. Encore mieux serait trois et ceci est considéré par les mainteneurs comme le nombre minimum de serveurs à configurer.
Aaron Copley
Je ne doute pas que vous ayez une expérience plus pratique, mais quelque chose comme 1 ou 3, mais jamais 2 n'est resté avec moi. Merci d'avoir mentionné dans votre édition. :)
Aaron Copley
Le conseil contre deux est entièrement basé sur les problèmes qui surviennent en cas de désaccord, et sur cette base, il est excellent. Je trouve juste que cela n'arrive pas souvent sans que l'un des serveurs ne se synchronise et se disqualifie ainsi en tant que source . Un serait bien, j'en suis sûr; deux donne plus de robustesse. Mais personnellement, je pense (et c'est très bien mon avis) que trois, c'est trop, sur un groupe de sept, en termes de charge sur la piscine. Pourtant, comme je l'ai dit, c'est un excellent point que vous soulevez, et certainement quelque chose auquel les gens doivent réfléchir; J'ai été ravi de vous remercier de l'avoir soulevé.
MadHatter
Le lien de @AaronCopley ci-dessus justifie très clairement pourquoi 4 devrait être considéré comme la limite inférieure du nombre de sources (serveurs ou homologues) pour un chronométrage précis tout en permettant une maintenance planifiée ou une erreur sur l'une d'entre elles. Si aucun des serveurs n'est malveillant, 2 est beaucoup plus susceptible d'être précis que 1 (car la plupart du temps les fenêtres se chevauchent), et 3 est le minimum pour permettre aux algorithmes de clustering et d'intersection de NTP de fonctionner efficacement.
Paul Gear
@PaulGear comme vous le dites, dans un grand réseau, quatre est une borne inférieure sensible; mon serveur de pool a cinq sources. Mais comme vous le notez vous-même, " si aucun des serveurs n'est malveillant, 2 est beaucoup plus susceptible d'être précis que 1 ", donc dans un petit réseau comme les PO, où quatre est excessivement injustifié, deux me semble être le bon équilibre entre les services approvisionnement et surcharge de la piscine. Bien sûr, si vous configurez vos propres serveurs de la couche 1, alors en avez autant que vous voulez et pouvez vous le permettre; ma réponse ne concerne que le compromis entre service public et service privé lors de l'utilisation de serveurs de pool.
MadHatter
4

Avec un si petit environnement, et désigné comme un simple "test", je pousserais NTP au bord du réseau. Exécutez le serveur NTP sur votre commutateur ou routeur si vous le pouvez et configurez-le pour 3 sources de temps en amont ou plus . Ensuite, pointez les 7 nœuds ici. Il s'agit probablement de votre seul chemin vers Internet, donc la configuration de sources de temps supplémentaires "à l'intérieur" ne vous serait d'aucune utilité en cas de panne de commutateur ou de panne de réseau. Vous aurez de plus gros problèmes que la synchronisation horaire si votre réseau est en panne.

Aaron Copley
la source
0

J'irais pour 1-2 serveurs. Vous épargnez à la piscine certaines demandes. Et si vous perdez la connectivité au pool pendant une période de temps prolongée pour une raison quelconque, au moins les machines de votre réseau interne restent synchronisées entre elles.

Peter
la source