做过机房运维的朋友都知道,新上架的服务器或者交换机,出厂时的时间往往是错的,有的默认是几年前的日期,有的时区都没设对。不少人习惯顺手敲一行命令把时间改成当前时刻,觉得这就完事了。可过几个星期再看,那台设备的时间又悄悄跑偏了——有的快了七八秒,有的慢了十几秒。这不是设备质量有问题,而是普通石英晶振本身就有频率误差,日积月累就会产生可见的偏差。而这件事正好是一台 GPS授时服务器 的分内工作。这类设备[产品非民用],通常部署在通信机房或数据中心内部,通过一根天线与天上的GPS卫星保持联系,取得标准时间后,再通过网络持续分发给所有接入的设备,让它们每隔一段时间就自动对一次表。
GPS授时服务器的工作方式其实不难理解。天线架在室外能看到天空的地方,接收到卫星发来的时间信号后传给主机,主机内部解析出标准时间,然后运行NTP服务。网络里的其他设备只要在配置里填上这台服务器的IP地址,就会定期向它发起时间同步请求。服务器收到请求后,把当前的标准时间发回去,设备收到后立刻校正自己的时钟。这个过程每隔几分钟或者几十分钟重复一次,设备的时间就一直被拉在正确的轨道上,不会越走越偏。
不少行业的业务场景对时间有硬性要求。比如自动化生产线上,多台设备协同完成一道工序,每台设备的动作顺序和时间间隔都是设定好的,如果各台设备时间不一致,整个生产节拍就会乱掉。还有气象观测站,各地采集的气象数据要汇总到中心做分析,每个数据点都必须带着准确的时间标签,不然同一时刻不同地点的气温、风速就没法对照。再有就是广播电台和电视台,节目播出时间精确到秒,GPS授时服务器为播出系统提供时间基准,确保整点报时和节目切换准时无误。
这种设备安装起来并不繁琐。天线固定好之后,把馈线引入机房连接到主机背面的天线接口,主机插上电源和网线,开机后通过管理界面配置网络参数,剩下的工作设备自动完成。日常运维只需要偶尔登录查看一下卫星接收状态,比如当前收到了几颗卫星、信号强度如何。如果天线位置遮挡严重导致接收不到信号,设备内部的振荡器还能保持一段时间的准确度,等到信号恢复后再自行同步回来。
时间是网络里看不见的基础设施。一台GPS授时服务器放在机房里不怎么起眼,但它发出的每一个时间信号,都在默默保证着整个系统的有序运转。

