前阵子一个做运维的朋友跟我倒苦水。他们公司二十多台服务器,加上交换机、存储设备、监控录像机,时间各走各的。有个业务系统出了故障,查日志排查原因,结果A服务器记录的时间比B服务器晚了将近一分钟,事件的先后顺序对不上。后来才发现,根源就是缺少一台GPS同步时间服务器——整个网络里没有统一的时间基准,设备各自走时,误差慢慢累积,平时看不出影响,一出事就让人抓狂。
这种现象在机房、数据中心、工厂车间里并不少见。每一台服务器、交换机、工控设备都有自己的时钟晶振,受温度、老化等因素影响,走时快几秒或者慢几十秒是常态。几十台、上百台设备各跑各的时间,整个网络的时间线就乱了。日志审计对不上,数据同步出问题,监控录像的时间戳不统一,排查故障难度倍增。
要解决这个问题,可以在机房里部署一台GPS同步时间服务器。这类产品非民用,不是挂在墙上看时间的钟表,而是安装在标准机柜里的专业授时设备,通常1U高度,配有一个外接天线。天线是蘑菇头形状,安装在楼顶或室外能看见天空的位置,用于接收GPS卫星发播的时间信号。卫星上搭载着原子钟,走时稳定性非常高,是可靠的时间源。服务器主机解析出标准时间后,通过网络把时间分发给所有接入的设备——服务器、交换机、工控机、监控录像机,只要支持NTP协议,都可以自动校准自己的系统时钟。
整个过程不需要人工参与,也不依赖互联网。很多单位的内部网络是封闭的,不允许连接外网,没法从互联网上的公共时间池获取时间。GPS同步时间服务器部署在本地,直接从卫星取时间,然后在内部网络分发,正好解决了这个问题。
不同行业对时间同步的需求其实很实在。电力变电站里,继电保护、故障录波装置需要记录故障发生的精确时刻,各站时间不一致,故障点就定不准。标准化考场里,教室子钟、广播、监控设备接入同一套授时信号,考试计时、铃声、录像时间戳保持一致,避免计时偏差引发的争议。医院的手术室监护设备、门诊叫号系统、病历服务器共用统一时间基准,诊疗记录的时间信息才能完整追溯。
安装和维护并不复杂。天线固定在室外视野开阔处,用馈线引入机房,连接到服务器背面的天线接口。服务器上电后自动搜星,前面板指示灯显示锁定状态,锁定后即可正常授时。日常通过网页管理界面查看卫星接收颗数和同步状态,信号正常基本不用操心。遇到雷雨天气信号短暂丢失时,设备内部的高稳晶振还能继续守时,等天气好转后自动恢复同步。
GPS同步时间服务器做的事很单一——接收卫星信号,分发网络时间。但就是这件简单的事,让网络里所有设备有了统一的时间基准,让日志、监控、交易记录不再因为时间不一致而混乱。对于分布在多地、需要时间统一运行的业务系统来说,这台设备相当于给不同机房的设备搭了一座时间上的桥。

