Abo
  • Services:

Schaltsekunde: Zeitgeber des Linux-Kernels verursachen Serverausfälle

Fehlende Kommunikation zwischen der Systemzeit des Linux-Kernels und dem High-Resolution-Timer ist schuld daran, dass die Schaltsekunde zahlreiche Server aus dem Tritt brachte.

Artikel veröffentlicht am ,
Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde.
Die Zeitsysteme des Linux-Kernels stolperten über die Schaltsekunde. (Bild: Andreas Donath/Golem.de)

Die zusätzliche Schaltsekunde am 1. Juli 2012 hatte zum Ausfall zahlreicher Linux-Server geführt. In einer ersten Analyse hat Kernel-Entwickler Jonathan Corbet die beiden Zeit-Subsysteme als Fehlerquelle ausgemacht, die der Linux-Kernel bereitstellt. Die vom Kernel benutzte Systemzeit hat dem seit Kernel 2.6.16 eingeführten High-Resolution-Timer (Hrtimer) die Schaltsekunde nicht korrekt mitgeteilt.

Stellenmarkt
  1. Hella Gutmann Solutions GmbH, Ihringen
  2. Autobahn Tank & Rast Gruppe, Bonn

Der Hrtimer verwendet intern eigene Zeitgeber, die unterschiedliche Zeitabstände zur Systemzeit haben. Die Realtime-Uhr in Hrtimer passt sich beispielsweise an die Systemzeit an, während die Monotonic-Uhr nicht gestellt werden kann, sie läuft immer nur vorwärts. Die Realtime-Zeitgeber sind von der jeweiligen CPU abhängig, denn diese können auch auf einem einzigen System unterschiedlich laufen. Der Hrtimer rechnet die von ihm ausgelesene Systemzeit in die entsprechenden Werte um, die von der Realtime-Uhr eines Prozessors genutzt werden können.

Fehlende Kommunikation zwischen Systemuhren

In der Kommunikation mit dem Hrtimer nutzte der Kernel nach seiner eigenen Anpassung der Systemzeit an die Schaltsekunde die abschließende Funktion clock_was_set() nicht. Das Resultat: Der Hrtimer lief eine Sekunde vor.

Für die meisten Anwendungen war das kein Problem, schreibt Corbet. In einigen Anwendungen laufen entsprechende Zeitschalter aber in weniger als einer Sekunde ab. Da die Timer nach einem Neustart wieder über die zusätzliche Sekunde stolperten, versetzen sie die jeweilige Anwendung in eine Endlosschleife, wie es mehrfach geschehen ist.

Der Befehl date; date `date +"%m%d%H%M%C%y.%S"`; date; behob das Problem meist ohne Server-Neustart. Einem weiteren Kommentar zufolge reicht der Befehl date -s "`date`".

Patch für Zeitangaben

Der Patch, den Kernel-Hacker John Stultz inzwischen eingereicht hat, reimplementiert die Funktion clock_was_set() in dem Schaltsekundencode, der sich bereits im Kernel befindet. Die Funktion wurde 2007 entfernt, da sie als vernachlässigbar galt. Allerdings muss die Funktion für jede CPU ausgeführt werden, was die Entwicklung des Patches etwas erschwerte.

Wann die nächste Schaltsekunde eingefügt wird, lässt sich nur schwer voraussagen, denn die Erdrotation nimmt nicht stetig ab. Corbet plädiert jedoch dafür, dass Entwickler und Distributoren ein solches Szenario testweise durchführen, um künftig Probleme zu vermeiden.

Seit der ersten Anpassung 1972 wurden insgesamt 35 Sekunden hinzugefügt.



Anzeige
Hardware-Angebote
  1. (Neuware für kurze Zeit zum Sonderpreis bei Mindfactory)
  2. 1.099€
  3. 85,55€ + Versand

muh3 05. Jul 2012

also erstmal nen Fisch: leider kommt das im Artikel raus, aber der Fehler wurde...

neocron 04. Jul 2012

das hat er doch gar nicht behauptet?

_4ubi_ 04. Jul 2012

Entweder hast du dich verlesen oder das wurde nachträglich geändert.


Folgen Sie uns
       


Blackberry Key 2 - Hands on

Das Key2 ist das Nachfolgemodell des Keyone. Das Grundprinzip ist gleich. Im unteren Gehäuseteil gibt es eine fest verbaute Hardware-Tastatur. Darüber befindet sich ein Display im 3:2-Format. Das Schreiben auf der Tastatur ist angenehm. Im Juli 2018 kommt das Key2 zum Preis von 650 Euro auf den Markt.

Blackberry Key 2 - Hands on Video aufrufen
Sun to Liquid: Wie mit Sonnenlicht sauberes Kerosin erzeugt wird
Sun to Liquid
Wie mit Sonnenlicht sauberes Kerosin erzeugt wird

Wasser, Kohlendioxid und Sonnenlicht ergeben: Treibstoff. In Spanien wird eine Anlage in Betrieb genommen, in der mit Hilfe von Sonnenlicht eine Vorstufe für synthetisches Kerosin erzeugt oder Wasserstoff gewonnen wird. Ein Projektverantwortlicher vom DLR hat uns erklärt, warum die Forschung an Brennstoffen trotz Energiewende sinnvoll ist.
Ein Bericht von Werner Pluta

  1. Deep Sea Mining Deep Green holte Manganknollen vom Meeresgrund
  2. Klimaschutz Unter der Erde ist das Kohlendioxid gut aufgehoben
  3. Physik Maserlicht aus Diamant

Hacker: Was ist eigentlich ein Exploit?
Hacker
Was ist eigentlich ein Exploit?

In Hollywoodfilmen haben Hacker mit Sturmmasken ein ganzes Arsenal von Zero-Day-Exploits, und auch sonst scheinen die kleinen Programme mehr und mehr als zentraler Begriff der IT-Sicherheit verstanden zu werden. Der Hacker Thomas Dullien hingegen versucht sich an einem theoretischen Modell eines Exploits.
Von Hauke Gierow

  1. IoT Foscam beseitigt Exploit-Kette in Kameras
  2. Project Capillary Google verschlüsselt Pushbenachrichtigungen Ende-zu-Ende
  3. My Heritage DNA-Dienst bestätigt Datenleck von 92 Millionen Accounts

Mars: Die Staubstürme des roten Planeten
Mars
Die Staubstürme des roten Planeten

Der Mars-Rover Opportunity ist nicht die erste Mission, die unter Staubstürmen leidet. Aber zumindest sind sie inzwischen viel besser verstanden als in der Frühzeit der Marsforschung.
Von Frank Wunderlich-Pfeiffer

  1. Nasa Dunkle Nacht im Staubsturm auf dem Mars
  2. Mars Insight Ein Marslander ist nicht genug

    •  /