闰秒调整扫盲

UTC

协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。

协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。

原子时

原子时:IAT(international atomic time),以物质的原子内部发射的电磁振荡频率为基准的时间计量系统

什么是闰秒

闰秒是对“协调世界时”(UTC)所做出的基本调整,以便令其与太阳时间保持同步。

2016年7月6日,法国国际地球自转组织发布公告:国际标准时间将在格林尼治时间2016年12月31日23时59分59秒实施一个正闰秒,即增加1秒,届时将出现59分60秒的特殊现象。由于北京处于东8区,所以中国将在2017年1月1日7:59:59后面增加1秒,出现7:59:60的特殊现象。2016年最后一天,全球多一秒!

一般来说,闰秒会被添加在某一年的6月30日或者12月31日。两次闰秒之间的时间间隔并不固定,最短的一次只隔了6个月,最长的一次隔了7年。多出来的一秒对于普通人的生活或许没有太多影响,但是对于时间连续精度有严格要求的航天、通讯、金融等领域有很大影响。比如一秒钟,飞船已经飞过了8公里!

本次闰秒调整后UTC时间与GPS时间的差将变为18秒,即UTC相对于GPS时慢了18秒。

给各方面带来的影响

  • 2012年的闰秒,LinkedIn、Foursquare、Reddit、Mozilla、Yelp和Gawke等大量网站遭遇了技术故障。

  • 由于Linux kernel 2.6.29之前版本存在bug,Linux kernel和Posix关于NTP时间跳变的标准不同,在2012年6月30日23:59:59 跳变到2012年7月1日后引起ntpd进程锁死,从而造成部分开启ntp服务的linux系统重启。

  • 会导致了Java和Cassandra问题

ntp服务

NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。按照离外部UTC源的远近把所有服务器归入不同的Stratum(层)中。

linux 运维方面的影响如和解决

  1. RHEL3/RHEL6所有系统不受该问题的影响。
  2. RHEL4内核版本在kernel-2.6.9-89.EL (RHEL4.8)及以上,RHEL5内核版本在
    kernel-2.6.18-164.el5(RHEL5.4)及以上的系统不受该问题的影响。
  3. 其他RHEL4和RHEL5的系统有可能发生该问题,建议尽快升级至上述版本或更高
    版本以规避该问题。

a. 若由于其他原因实在无法进行内核升级,且应用对时间的敏感度不是非常高,
容许有1秒钟的差值,有如下建议:

对于使用ntpd服务进行时间同步的RHEL,至少提前1天停止ntpd服务。并确保每台
机器上安装的tzdata的版本低于2011n-2(不 包含该版本)。
对于不使用ntpd服务进行时间同步的RHEL,确保每台机器上安装的tzdata的版本低
于2011n-2(不包含该版本)。

从而使系统不进行闰秒调整,待该事件完成之后,再可启动ntpd服务进行同步,或
者手动修改时间为正确时间。

提示:对于内部的以RHEL作为NTP服务器的系统,它是NTP服务器的同时,也是使用
ntpd服务与更上层NTP服务器进行时间同步的客户端, 故上述方法也适用于该系统。

b. 若由于其他原因实在无法进行内核升级,但应用对时间的敏感度非常高,不容
许有1秒钟的差值,则有可能发生kernel hang住的问题,尽管这个可能性是非常小的。
如果发生问题,可考虑重启该系统恢复。

根据这个情况,我有找到了相应的解决方法:

如果您的相关设备是使用Linux kernel 为2.6.18-164.e15以前的Linux系统,请做如下预防工作:
1、当天(北京时间23点以前)先确认ntp服务已同步,然而关闭ntpd服务。
2、隔两天后(北京时间8点以后)开启ntpd服务,并确认ntp服务已同步。

posted @ 2016-12-28 11:24  fthjane  阅读(3902)  评论(0编辑  收藏  举报