每到夏令时切换、或者机房新上架一批服务器的时候,网络管理员就得打开每一台设备,手动改时间。几十台还好,碰上几百台甚至上千台的机房,一轮校时下来手指头都点酸了。更要命的是,过个十天半个月,有些设备的时间又开始慢慢跑偏,前面干的活儿等于白干。这个时候就需要一台GPS时间同步服务器。这台设备不面向个人家庭,产品非民用,它不是给电脑右下角那个时钟对时用的,而是给整个机房的服务器、交换机、防火墙、存储设备统一当“发令员”用的。

山东唯尚电子有限公司
打开网易新闻 查看精彩图片
山东唯尚电子有限公司

每台服务器主板上都有一颗时钟晶振,晶振的精度决定了时间走得准不准。普通晶振一天漂移个一两秒是常有的事。单台设备差一两秒看不出什么,但一个业务系统涉及十几台甚至几十台服务器串联处理,每台差一点,累积起来时间轴就全歪了。日志记录的顺序对不上,数据库的事务时间戳乱掉,定时任务该触发的时候不触发,不该触发的时候乱触发。

GPS时间同步服务器的原理其实不复杂。它通过外接的天线接收GPS卫星发出来的时间信号,卫星上搭载的是原子钟,精度很高。设备把接收到的信号解析之后,通过NTP协议把时间分发给网络里所有终端设备。简单说,就是让成百上千台各自走各自的服务器,统一听从这一个时钟源的口令。

这东西装在机房里,天线架在楼顶或者窗外能看到天空的地方,接上电源和网线就开工了。网络里所有设备只要把NTP指向这台服务器的IP地址,就能自动同步时间,不用再一台台手动去调。而且它是全天候连续运行的,隔一段时间就自动校准一次,设备时间始终跟卫星保持同步。

挑设备的时候有几个点值得看一看。一个是守时能力——GPS信号如果因为天气、遮挡或者干扰临时断了,设备内部的高稳晶振能撑多久不漂。另一个是NTP请求处理能力——采用硬件时间戳处理的设备,在大规模终端同时发起对时请求的时候,响应更稳,不丢包。还有双电源、双天线、多网口这些冗余配置,也是保证设备不趴窝的细节。

时间同步这种事,平时不怎么被人注意到。但一旦出问题,查日志发现记录顺序不对、排查故障找不到源头、审计通不过,那时候才意识到时间早就没对准了。与其等出了问题再到处找原因,不如先把时间这个基础底座夯实。