                Ondersteuning voor schrikkelseconden in FreeBSD

   2015-09-03 20:43:21 door rene.
   [ Opgedeeld HTML bestand / Enkel HTML bestand ]

     ----------------------------------------------------------------------

   Inhoudsopgave

   1. Introductie

   2. De standaardomgang met schrikkelseconden op FreeBSD

   3. Waarschuwingen

   4. Testen

   5. Conclusie

1. Introductie

   Een schrikkelseconde is een ad-hoc correctie van een seconde om de
   atomaire tijd te synchroniseren met de omwenteling van de aarde. Dit
   artikel beschrijft hoe FreeBSD omgaat met schrikkelseconden.

   Op het moment van schrijven zal de volgende schrikkelseconde plaatsvinden
   op 2015-juni-30 23:59:60 UTC. Deze schrikkelseconde zal plaatsvinden op
   een werkdag voor Noord- en Zuid-Amerika en het Aziatische/Pacifische
   gebied.

   Schrikkelseconden worden aangekondigd door IERS op Bulletin C.

   Het standaardgedrag van schrikkelseconden is beschreven in RFC 7164. Zie
   ook time2posix(3).

2. De standaardomgang met schrikkelseconden op FreeBSD

   De eenvoudigste manier om met schrikkelseconden om te gaan is met de
   tijdregels van POSIX die FreeBSD standaard gebruikt, gecombineerd met NTP.
   Wanneer ntpd(8) draait en de tijd gesynchroniseerd is met de bovenliggende
   NTP-servers die schrikkelseconden correct afhandelen, zal de
   schrikkelseconde ervoor zorgen dat de systeemtijd automatisch de laatste
   seconde van de dag herhaalt. Er zijn geen andere aanpassingen nodig.

   Als de bovenliggende NTP-servers schrikkelseconden niet correct
   afhandelen, zal ntpd(8) de tijd met een seconde laten verspringen nadat de
   foutieve bovenliggende server dit opgemerkt heeft en zelf is versprongen.

   Als NTP niet wordt gebruikt, is het nodig om de systeemklok handmatig aan
   te passen nadat de schrikkelseconde is verstreken.

3. Waarschuwingen

   Schrikkelseconden worden wereldwijd op hetzelfde moment ingevoegd:
   middernacht UTC. In Japan is dit in het midden van de ochtend, in het
   Pacifisch gebied in het midden van de dag, in Amerika in de namiddag en in
   Europa in de nacht.

   We geloven en verwachten dat FreeBSD, mits voorzien van een correcte en
   stabiele NTP-dienst, zal werken als ontworpen tijdens deze
   schrikkelseconde, zoals het tijdens de voorgaande deed.

   We waarschuwen echter dat praktisch geen enkele toepassing de kernel ooit
   om schrikkelseconden heeft gevraagd. Onze verwachting is dat, zoals
   ontworpen, schrikkelseconden in feite een herhaling zijn van de seconde
   voor de schrikkelseconde, wat een verassing is voor de meeste
   toepassingsprogrammeurs.

   Andere besturingssystemen en computers kunnen de schrikkelseconde op een
   andere manier dan FreeBSD afhandelen, en systemen zonder correcte en
   stabiele NTP-dienst zullen in het geheel niks van schrikkelseconden weten.

   Het komt voor dat computers crashen vanwege schrikkelseconden, en ervaring
   laat zien dat een groot gedeelte van alle publieke NTP-servers de
   schrikkelseconde onjuist kunnen aankondigen en afhandelen.

   Probeer er alstublieft voor te zorgen dat er niks ergs gebeurt vanwege de
   schrikkelseconde.

4. Testen

   Het is mogelijk om te kijken of een schrikkelseconde zal worden gebruikt.
   Vanwege de aard van NTP kan de test tot 24 uur voor de schrikkelseconde
   werken. Sommige grote bronnen van referentieklokken kondigen
   schrikkelseconden slechts een uur van te voren aan. Ondervraag de daemon
   NTP:

 % ntpq -c 'rv 0 leap'

   Uitvoer die leap_add_sec bevat wijst op correcte ondersteuning van de
   schrikkelseconde. Voorafgaand aan de 24 uur die tot de schrikkelseconde
   leiden, of nadat de schrikkelseconde is verstreken, zal leap_none
   zichtbaar zijn.

5. Conclusie

   In de praktijk zijn schrikkelseconden meestal geen probleem op FreeBSD. We
   hopen dat dit overzicht helpt met wat te verwachten en hoe
   schrikkelseconden gladder te laten verlopen.
