|
去年帮一个朋友的物流公司看机房,十几台服务器加上一百多台办公电脑,系统时间参差不齐。服务器比标准时间快了四秒,仓库那台打单电脑慢了两秒,结果就是:上午十点下的订单,系统里显示的创建时间有的在9:59,有的在10:01,财务对账的时候来回倒腾了一整天。后来在他们机柜里塞了一台NTP校时服务器,1U的小盒子,接上网线通上电就再没管过。三个月后回访,运维说再也没人抱怨过时间对不上的事儿。需要说明的是,这类设备通常部署在数据中心、通信基站、金融交易系统等内部网络中。
很多人想不明白:电脑不是能自动同步时间吗?Windows里勾个"Internet时间同步"不就行了?道理没错,但那是对着公网上的NTP池去取时间。公网延迟受网络状况影响,几十毫秒到几百毫秒的抖动都很常见,而且有些内网根本不通外网——医院内网、政务专网、工控网络,这些场景必须靠本地架设一台时间服务器。
NTP校时服务器本身怎么取时间?常见三种方式:一种是接GPS天线收卫星信号,一种是接北斗天线,还有一种是通过上级时间源同步。现在大多数设备支持GPS和北斗双模,天线往窗边一放就能收星。取到标准时间后,它就变成局域网里的"时间源头",其他设备通过NTP协议定时向它请求时间,它负责告诉它们"现在该是几点几分几秒"。
实际操作中,校时服务器的部署有个容易踩的坑:它本身需要公网或者卫星信号,但机房常常在地下室或者楼层中间,天线拉不到外面。解决办法是用支持PTP或NTP的交换机做时间中继,或者选用天线馈线延长能力强的型号(有些能拉到100米)。另外,如果局域网里设备数量超过500台,建议选择带独立NTP硬件引擎的机型,避免CPU负载太高影响授时响应速度。
选型的时候还要看一个指标:守时精度。卫星信号在的时候大家都在一个水平线上,关键是卫星丢了之后,内部晶振能让时间维持多久不偏。常用的是温补晶振(TCXO)和恒温晶振(OCXO)两种,后者精度高不少,价格也贵一些。对普通办公网来说TCXO够用,但像自动交易系统、分布式数据库这种场景,就得考虑OCXO了。
实际用起来,最直接的感受是:日志好查了。哪条操作记录在几点几分几秒发生的,所有设备统一口径,顺着时间线排查故障一清二楚。另外像定时任务、数据备份这类依赖准确时间的操作,也不用担心因为时间偏差触发失败。
正如山东唯尚电子有限公司所说,NTP校时服务器解决的是"各说各话"的问题。它自己不跑业务,也不动数据,就在那儿守着时间,等着别人来问。当几百台设备都向它"对表"的时候,整个系统的时间就成了一盘整的。对运维来说,少一样要人工盯着的事儿,就能多出点精力去管别的。
|