2010-06-25 7 views
8

J'ai 5 serveurs sur un réseau local sans connexion Internet. J'ai besoin d'eux pour synchroniser l'horloge entre eux.Synchroniser l'heure entre les serveurs sans connexion Internet

Je pourrais les configurer comme des homologues NTP et définir une strate élevée pour l'horloge locale de l'un d'entre eux. De cette façon, les quatre autres se synchroniseraient avec cette horloge. Ce que je veux réellement, c'est qu'ils se mettent d'accord sur un temps en utilisant toutes les 5 horloges locales (c'est-à-dire en faisant une sorte de moyenne), pour des raisons de robustesse et de précision. Est-ce possible avec NTP?

PS: Je fais pas voulez utiliser une source d'horloge externe.

EDIT: et aucun script en dehors de fonctionnalités NTP, qui ne pouvait faire une précision pire :)

Répondre

6

Si vous comptez en moyenne 5 horloges à dérive, la seule chose que vous obtenez est une autre horloge à la dérive qui est plus difficile à corriger. Ce ne sera pas plus précis. NTP utilise plusieurs serveurs pour augmenter la précision car il prend en compte la latence du réseau. Puisque tous vos systèmes sont sur un réseau local rapide, vous n'avez besoin que d'un serveur.

Configurer deux systèmes pour être le serveur NTP, l'un primaire, et si vous en ressentez le besoin, une sauvegarde. Tous les autres systèmes se synchronisent avec eux. Ce sera beaucoup plus facile à mettre en place que la solution de moyenne d'horloge, et vous n'aurez pas à développer de scripts fous.

+0

je même hv mais je ne peux pas comprendre ce que vous voulez dire. peux-tu me donner un exemple? – krishna

0

vous pouvez configurer l'un d'eux en tant que serveur ntp qui diffusera son temps sur le réseau local et les autres comme esclaves à écouter sur le réseau local

modifier: J'ai raté la partie moyenne. Eh bien, dans ce cas, vous pouvez probablement écrire un script sur le serveur local pour collecter les temps de tous les esclaves obtenir la moyenne et mettre à jour le temps avec cette valeur. Vous pouvez même vouloir vous débarrasser de ntp dans ce cas et simplement utiliser le script pour mettre à jour l'heure sur tous les serveurs

+0

Avez-vous réellement lu la question? C'est spécifiquement ce qu'il ne veut pas. Il veut un moyen de faire la moyenne de leur temps. – houbysoft

1

Vous pourriez être en mesure d'avoir l'un d'entre eux écouter les temps de chaque ordinateur, effectuer une moyenne, définir la moyenne comme il est propre heure, et diffuser cette heure pour tous les autres ordinateurs. Cela semble un peu excessif, cependant.

0

J'aimerais pouvoir faire une proposition définitive, mais je ne connais pas assez votre environnement. Peu importe ce que vous ferez probablement une sorte de script kung fu. Si c'est unix/linux, je mettrais tout le monde avec des clés autorisées par SSH pour interroger la commande date +%s des autres (pour connaître l'époque), calculez la moyenne avec awk ou quelque chose, puis définissez la date locale de la machine. Peut-être serait-il plus sûr (et plus fiable) d'avoir une machine faisant autorité qui vérifie le temps de chacun dans le même manoir, le calcule en moyenne, puis provisionne elle-même et tous les autres hôtes sur cette moyenne.

Sous Windows, vous examinerez probablement VBScript et WMI.

EDIT: Vous pouvez rencontrer des problèmes étranges si l'horloge de quelqu'un dérive de la moyenne et je suppose que la moitié d'entre eux le fera;). Les horodatages futurs peuvent être plutôt étranges. Ce sera à vous de déterminer à quelle fréquence cette synchronisation devra avoir lieu.