% ntpq -c 'rv 0 leap'
Ondersteuning voor schrikkelseconden in FreeBSD
This translation may be out of date. To help with the translations please access the FreeBSD translations instance.
Table of Contents
1. Introductie
Een schrikkelseconde is een aanpassing aan UTC van één seconde op specifieke tijden in het jaar om atomaire tijdschalen met variaties in de aardrotatie te synchroniseren. Dit artikel beschrijft hoe FreeBSD omgaat met schrikkelseconden.
Op het moment van schrijven zal de volgende schrikkelseconde plaatsvinden op 30 juni 2015 om 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.
Standaardgedrag voor 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 is gesynchroniseerd met bovenliggende NTP-servers welke correct met schrikkelseconden omgaan, dan zal de schrikkelseconde ervoor zorgen dat het systeem automatisch de laatste seconde van de dag herhaalt. Er zijn geen verdere aanpassingen nodig.
Als de bovenliggende NTP-servers onjuist met schrikkelseconden omgaan, zal ntpd(8) de tijd met één seconde vooruitzetten nadat de afdwalende bovenliggende server het heeft opgemerkt en zichzelf heeft aangepast.
Wanneer NTP niet wordt gebruikt zijn handmatige aanpassingen van de systeemklok nodig nadat de schrikkelseconde heeft plaatsgevonden.
3. Waarschuwingen
Schrikkelseconden worden wereldwijd op hetzelfde moment ingevoegd: middernacht UTC. In Japan is dat het midden van de ochtend, in het Pacifisch gebied in de middag, in Amerika in de late middag en in Europa in de nacht.
We verwachten dat FreeBSD, mits voorzien van een correcte en stabiele NTP-dienst, zal werken zoals verwacht tijdens deze schrikkelseconde, net zoals het bij de vorige 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 andere computers kunnen anders met de schrikkelseconde omgaan dan FreeBSD, en systemen zonder een correcte en stabiele NTP-dienst zullen helemaal niks van schrikkelseconden afweten.
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 één uur van te voren aan. Ondervraag het NTP-daemon:
Uitvoer welke 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 soepeler te laten verlopen.
Last modified on: 25 juni 2025 by Rene Ladan