GPS时间服务器这个名字听起来有点技术感,但它的工作内容并不复杂。简单来说,它就是一台从GPS卫星上获取标准时间,然后把自己网络里所有设备——电脑、服务器、录像机、门禁系统——都校准到同一个时间点的设备。没有它,这些设备各自走各自的时间,短时间看不出问题,时间一长,偏差就会让人头疼。
先说说为什么设备自己走时间会不准。大多数普通电脑和网络设备用的是石英晶振,这种元件受温度、老化影响,一天差个几秒是很正常的。一台服务器运行一年,偏差可能累积到几分钟甚至十几分钟。如果几十台设备各差各的,有的快几秒,有的慢几秒,日志记录、定时任务、交易数据就很难对齐了。
GPS卫星上面搭载的是原子钟,这个时间源非常稳定。GPS时间服务器通过一个外接天线接收卫星发下来的时间信号,然后利用NTP(网络时间协议)把这个时间反复发给网络里的每一台设备。这些设备每隔几十秒或几分钟就主动来问一次“现在几点了",服务器告诉它们精确时间,它们再把自己的时间调过去。来回几次,整网的时间就能保持在几毫秒的误差之内。
哪个场景最需要这个东西?金融交易是一个典型。一笔订单的成交时间是10:00:00.123,另一笔是10:00:00.456,服务器收到这两笔订单的时间顺序错了,或者时间戳本身不准,整个账单对账就会出问题。另一个常见场景是安防监控。如果监控录像的时间不准,调取某一段关键录像时,可能明明找的是下午3点发生的事,放出来的却是2点58分的画面。
在机房管理里,GPS时间服务器还有一个很实在的作用,就是帮助排查故障。网络工程师分析问题的时候,经常需要把防火墙的日志、服务器的系统日志、交换机的告警信息放在一起比对。如果这几个设备的时间相差几十秒,就很难判断哪个事件在先哪个在后。时间统一之后,整个故障链就清晰多了。
设备本身不复杂。一根GPS天线,一台标准机箱,几条网线,接上电源就能跑。天线要放在室外能看到天空的地方,设备放在机柜里,通过交换机把时间信号分发给整个内网。有些型号在GPS信号短暂丢失时还能靠内部晶振维持一段时间的高精度输出,不至于因为云层或者天气变化就乱套。
对于大多数已经有一两百台联网设备的单位来说,GPS时间服务器算不上什么昂贵的投入,但它解决的是一个每天都会碰到、又不那么容易解释清楚的基础问题。时间准了,很多让你头疼的小毛病也就跟着消失了。
