Der aspectra-Blog seit 2012

Schaltsekunde: Ausfälle programmiert?

Am 30. Juni findet wieder eine Schaltsekunde statt. Was ist der Grund, was sind die Risiken und was macht Aspectra?

Schaltsekunden werden zur Synchronisierung der Sonnenzeit mit der koordinierten Weltzeit benötigt. Seit 1972 wurden 25 solche Schaltsekunden eingelegt. Die nächste ist am 30. Juni dieses Jahres fällig. Der UTC-Tag endet dann nicht um 23:59:59 sondern erst um 23:59:60. In der Schweiz erhalten wir also zwischen 01:59:59 und 02:00:00 eine Sekunde geschenkt. Davon sind auch Computersysteme betroffen, die mit NTP (Network Time Protocol) synchronisiert werden. Bei der letzten Schaltsekunde am 30. Juni 2012, hatten vor allem Linux-Systeme ein Problem (vgl. https://www.wired.de/collection/latest/warum-die-schaltsekunde-am-30-juni-technikern-kopfzerbrechen-bereitet).

Differenzen zwischen der Serverzeit und der NTP-Vorgabe treten auch ohne Schaltsekunde auf. Stellt ein NTP Client (z.B. Kundenserver) eine solche Differenz fest, stellt er seine Uhrfrequenz schneller oder langsamer bis die Differenz verschwindet. Dieses Verhalten wird Slewing genannt. Ist die Differenz grösser als 120ms (z.B. bei einer Schaltsekunde) darf der Server die Zeit durch einen Sprung anpassen. Dieser Sprung ist der Auslöser aller Probleme, weshalb wir ihn bei der Schaltsekunde verhindern werden.

Wir verbieten allen Server das Springen indem wir die Steptime von 120ms auf 10s erhöhen. Die Steptime definiert ab welcher Zeitdifferent der Server einen Zeitsprung ausführen darf. Die Steptime wird über unsere internen NTP Server auf den NTP Clients definiert. Den NTP Clients bleibt daher nur das Slewing um die Differenz anzupassen. Die Systeme verlangsamen ihre Zeit um maximal 0.5ms pro Sekunde um die Zeitdifferenz anzugleichen. Innerhalb von ca. einer Stunde nach dem NTP-Abgleich laufen die Serveruhren wieder synchron zur koordinierten Weltzeit.

Eine andere Lösung hat Google gefunden. Dort wird die Schaltsekunde nicht von einer Sekunde auf die nächste hinzugefügt („Leap Second“), sondern über einen Tag verteilt („Leap Smear“). Dies erfolgt, indem die internen NTP Server von Google so modifiziert wurden, dass sie bei jedem Zeit-Update ein paar Millisekunden hinzufügen, sodass um Mitternacht, wenn die Schaltsekunde erfolgt, die Zeiten wieder synchron sind (vgl. http://googleblog.blogspot.ch/2011/09/time-technology-and-leaping-seconds.html).

Suche