Ich habe eine (physische) Box mit einem abgespeckten Ubuntu; Hin und wieder (6 Mal in 3 Monaten) springt die Uhr um genau 300 Sekunden zurück (+ - 0,01 Sekunden; immer genau 300 Sekunden). Es passiert von einer Minute zur nächsten (ich habe eine externe Maschine, die es einmal pro Minute abfragt).
Auf der Box läuft 2.6.26-generic (benutzerdefinierter kompilierter Kernel), Ubuntu 9.04 (ich weiß, ich versuche, es zu aktualisieren, aber es ist halb eingebettet). Es gibt nichts in den Protokollen, was darauf hinweist, was passiert ist, und ich habe eine große Auswahl an Pool.ntp.org-NTP-Servern, die das Problem nach einer Weile beheben.
Weiß jemand, was dies verursachen könnte?
Zusätzliche 1:
Ich habe auch eine Reihe anderer Boxen, auf denen derselbe Kernel ausgeführt wird (binär identisch), und kleinere Variationen derselben Software, bei denen dieses Problem nicht auftritt. Ich habe auch die Hardware ausgetauscht.
Zusätzliche 2 (Zusammenfassung meiner individuellen Kommentare):
- Ich weiß, dass 9.04 veraltet ist, ich stimme zu, dass es aktualisiert werden sollte, und diese Entscheidung liegt außerhalb meiner Kontrolle. Weil das Management.
- Ich habe eine große Anzahl von NTP-Servern und eine kleine Anzahl ausprobiert. Es passiert immer noch in beiden Fällen; Wenn ich eine große Anzahl von NTP-Servern habe, repariert es sich schneller.
- Ich habe die Hardware ausgetauscht
- Ich verwende denselben Kernel / dasselbe Betriebssystem auf einer anderen Box (mit identischer Hardware), auf der das Problem nicht angezeigt wird.
- Ein Neustart hat nicht geholfen. (Dieses Problem besteht seit ungefähr 6 Monaten)
- Die Betriebszeit beträgt ca. 3 Monate. Die Box ist "immer eingeschaltet" und führt eine TK-Anlage (Sternchen) aus.
- Im Moment stimmt die Uhr genau mit der Software-Uhr überein - 0,000000 Sekunden
- Ich konnte keine Cron-Jobs finden, die die Hardware-Uhr lesen.
- Es gibt kein lastbezogenes Muster (obwohl die Last sowieso ziemlich niedrig ist).
- Es passiert tagsüber und nachts.
- Es kommt nicht in regelmäßigen Abständen vor. Von den letzten 3 Monaten ist die Hälfte in den letzten 9 Tagen passiert.
- Dies ist keine "Drift" - 99% der Zeit, es ist innerhalb eines winzigen Bruchteils einer Sekunde, dann springt es von einer Minute zur nächsten genau 300 Sekunden rückwärts. In einer Minute könnte es also heißen, dass es 3:07:03 ist und mein anderer Computer innerhalb von 1 Mikrosekunde, 60 Sekunden später, 3:04:03.
- Ich kann nichts in den Protokollen finden.
Antworten:
Dies klingt nach einer fehlerhaften Echtzeituhr (RTC). Wenn es sich um Ersatzhardware handelt, können Sie das Problem bestätigen, indem Sie ein anderes Betriebssystem ausführen, z. B. eine Live-Linux-CD oder einen PXE-Start, und prüfen, ob Sie den Fehler replizieren können. Wenn auf einem anderen Betriebssystem genau der gleiche Zeitversatz auftritt, haben Sie bestätigt, dass das Problem ein Hardwarefehler ist.
Angenommen, es handelt sich um die RTC, können Sie die folgenden Lösungen in der Reihenfolge ihres Schweregrads ausprobieren.
quelle
Sie können ein Skript auf der Box ausführen, das die laufenden Prozesse verfolgt und gleichzeitig die Uhr überwacht. Wenn die Uhr plötzlich zurückspringt, protokolliert sie die Liste der zu diesem Zeitpunkt aktiven Prozesse. Vielleicht gibt das einen Hinweis darauf, welcher Prozess die Uhr ändert.
Dies setzt natürlich voraus, dass Sie ein Softwareproblem haben. Auf diese Weise finden Sie nichts, wenn nur Ihre Hardware ausfällt.
quelle
Die Antwort von Michael Yasumoto scheint alle Grundlagen abzudecken - ich stimme zu, dass Sie sich wahrscheinlich mit Wonky-Hardware befassen -, aber hier ist eine praktische Idee: Verwenden Sie eine zuverlässige Maschine mit sehr guter interner Konnektivität, die eine Handvoll Zyklen zum Ausführen einer NTP-Server, und tun Sie dann " alles, was nötig ist ", damit der NTP-Client, der auf der eingebetteten PBX-Box ausgeführt wird, diesen lokalen NTP-Server so oft wie möglich (z. B. alle 30 Sekunden) für Zeitanforderungen spammt.
Wenn die Box dann endlich aktualisiert wurde, legen Sie sie ordnungsgemäß beiseite und finden Sie heraus, was an einem Punkt (TM) daran falsch war. : P.
quelle