在网络中搭建基于NTP服务的时间同步系统
2010-09-07杨远恒
汪 华,李 波,杨远恒
(贵州省气象信息中心,贵州 贵阳 550002)
在网络中搭建基于NTP服务的时间同步系统
汪 华,李 波,杨远恒
(贵州省气象信息中心,贵州 贵阳 550002)
随着气象探测系统和气象通信系统现代化建设的飞速发展,气象信息的收集也从小时级逐步加密到分钟级,气象信息的时间关联性决定了不同地区不同系统之间必须具有精确的时间。文章主要讨论在局域网中搭建 NTP服务器,并且在不同操作系统中应用时钟同步,满足全网统一进行时间校准的需求。
网络授时;NTP服务器;校时
1 引言
精密的时间是科学研究、科学实验和工程技术等方面的基本物理参量,是动力学系统和时序过程测量和定量研究必不可少的时基坐标。气象业务对时间精确度一直有较高的要求,从传统的基本要素观测到现代多手段、多圈层的综合观测,其结果数据都需要建立在具有精确时间概念的基础上。21世纪以来,随着气象探测系统和气象通信系统现代化建设的飞速发展,网络系统提供了不同领域不同地域间的信息共享与数据交换,其中对统一时间的要求也越来越迫切。近几年气象数据的收集已经从小时级逐步加密到分钟级,在如此密集的气象数据收集过程中,时间同步至关重要,信息的获取如果来自于不同时间基准的信息源系统,就很难实现气象信息系统的准确与实时。因此,在网络中建立时钟同步服务器,并且建立相应的网络授时机制,获得较为精确的全网统一时间,已经成为网络应用中需要解决的关键问题之一。
2 NTP服务器的安装和相关命令介绍
2.1 NTP简介和气象网络中的NTP服务器的实现
网络时间协议 (Network Time Procotol:NTP)从1982年最初提出到现在已发展了 20多年,对于实际应用,可以使用NTP协议的子集简单网络时间协议(Simple NTP:SNTP)保障秒级精度。针对气象业务具有较高实时性、部分业务运行有严格的时间时刻的要求,保证全系统有高精度的统一时间和频率源是全系统能协调一致工作的前提,但目前大多数计算机时钟的守时能力有限,24h误差在几秒之内,甚至更多,无法保证业务运行时间的准确性和统一性。通过建立全网的统一授时系统,用来产生、保持和播发全网统一的标准时间,为各类气象应用提供基准时间。在结构上采用了层次式的时间分布体系,国家气象信息中心在国家级配置两台时钟服务器,作为整个中国气象局宽带网络统一授时系统的主时钟源,并与高精度时间源进行同步,各省客户端从省级时间服务器经由主服务器获得时间同步,正常情况下二级服务器和客户机将优先采用最可靠、最准确的服务器及传输路径进行同步,在省级NTP服务器中将传输路径分为主动同步路径和备份同步路径,两者都同时进行时间信息包的传输,保障时间同步的可靠性。
2.2 NTP服务器的组成
省级配置两台NTP服务器,一台布署在国内通信系统的双向安全区内,授时时钟源为国家局 NTP服务器;一台布署在省级局域网内,时钟源设置为双向安全区内的另一台时钟源,分别为新一代信息系统和省级网络内用户提供校时服务。NTP服务器采用了两台 linux服务器,一般的 Linux发行版都会带NTP软件包,如系统中没有安装,可以用 rpm命令安装此包,由于 NTP使用 udp协议,因此必须开放其 123端口。
2.3 NTP服务器的相关配置
2.3.1 与NTP服务有关的Linux系统文件及命令
/etc/ntp.conf:这个是 NTP服务的主要配置文件,不同的Linux版本文件所在的目录可能会不同。
/usr/share/zoneinfo:在这个目录下规定了各主要时区的时间设定文件。
/etc/sysconfig/clock:这个文件是 Linux的主要时区设定文件。每次启动后,Linux会自动读取这个文件来设定系统预设要显示的时间。
/etc/localtime:这个文件是本地系统的时间设定文件。
2.3.2 与 NTP及系统时间有关的执行文件
/bin/date:Linux系统上面的日期与时间修改及输出命令。
/sbin/hwclock:在Linux系统中主机的 B IOS时间与系统时间是分开的,所以使用 date这个指令调整了时间之后,只是调整了 linux的系统时间,还需要使用 hwclock才能将修改过后的时间写入 B IOS,这个命令必须 root用户才能执行 。
/usr/sbin/ntpd:NTP服务的守护进程文件,需要启动它才能提供NTP服务。
/usr/sbin/ntpdate:NTP客户端用来连接NTP服务器命令文件。
3 NTP服务端和客户端的配置过程
3.1 NTP服务器的配置
NTP服务器主要的配置是编辑 /etc/ntp.conf文件,在文件中添加如下配置:
restrict参数设定了NTP服务器的权限,其中 IP可以是 IP地址,也可以是 default,default就是指所有的 IP,restrict可以针对子网、IP来进行限制,nomodify参数表示客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时,nomodify参数表示客户端可以通过服务器端校验,但不能更改服务器端参数。noquery参数不提供客户端的时间查询,notrust表示客户端除非通过认证,否则该客户端来源将被视为不信任子网,若互相校时,上面命令去掉 nopeer参数。
restrict 127.0.0.1表示开启内部递归网络接口 lo。
server这个参数设定上级时间服务器,每一个服务器都独立一行,如果某一台服务器上指定了prefer(偏好参数),则优先使用该服务器进行校时,服务器的表示可以采用 IP地址或者域名,NTP服务器需要时间比较准确的 NTP服务器来更新自己的时间,所以在 NTP服务器上配置一部上级时间服务器来进行校准,在这里选择国家气象局的NTP服务器以获得全网的精准时间。
driftfile指定了用来保存系统时钟频率偏差的文件,ntpd程序使用它来自动补偿时钟的自然漂移,使得时钟即使在切断外来时源的情况下,仍能保持相当的准确度。driftfile后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限必须设定成 ntpd守护进程可以写入。
3.2 NTP服务器配置完成进程链接
由于 Init进程是系统启动之后的第一个用户进程,init进程上来首先做的事是去读取/etc/目录下inittab文件中 initdefault ID值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。这个级别从 0到 6,具有不同的功能。每个级别要执行哪些服务就在相对应的目录下,因此需要把NTP进程链接入启动的级别中,由于平时启动在级别 5,因此执行以下操作:
3.3 启动NTP服务器并检查时间同步情况
如查看结果与上表结构类似,则配置成功。
3.4 Linux校时计算机的配置方法
运行 Linux或类 UN IX系统的服务器 (以 Red-hat系统为参考),编辑 /etc/ntp.conf文件,
然后启动 ntp服务,/etc/init.d/ntpd start即可,其中启动 ntpd参数可为 restart start stop,并且可以通过 ntpq– p检查时间同步情况。
3.5 运行W indows XP和W indows 2003操作系统的服务器或计算机
一方面可通过双击系统托盘下方的时间,弹出[日期时间属性 ]对话框,选择 [Internet]时间选项卡。在服务器地址栏输入时间服务器的 IP地址,然后点击“确定”按钮保存。可以勾选自动同步,也可以手动按[立即更新 ]来同步时间。由于系统默认的时间同步间隔是 7d,这样的同步间隔对一些业务系统来说精度是远远不够的,需要提高对时频率,则需要修改注册表中的自动同步间隔项以提高同步精度。
①在“开始”菜单→“运行”项下输入“Regedit”进入注册表编辑器。
②在 [HKEY_LOCAL_MACH INESYSTEM CurrentControlSetServicesW32TimeT imeProviders NtpClient]分支中双击 SpecialPollInterval键值,将对话框中的“基数栏”选择到“十进制”上。
③对话框中显示的数字正是自动对时的间隔(以秒为单位),如默认的 604800就是由 7(d)×24 (h)×60(min)×60(s)计算来的。设定时间同步周期 (建议设为 900=15min或 3600=1h等周期值),填入对话框,点击确定保存关闭对话框。
4 常见问题和解决办法
①由于NTP服务器的安装和配置必须使用 root用户,建议配置大型网络的时候,不要装在重要数据库服务器或者Web主机上,避免对其他业务造成影响。此外每次重启 NTP服务器之后大约要 3-5min客户端才能与 server建立正常的通讯连接,否则在客户端执行“ntpdate服务器 IP”的时候将返回: 27 Jun 10:20:17 ntpdate[21920]:no server suitable for synchronization found。
②在远程服务器的 jitter值是 4000并且 delay和 reach的值是 0时,或者在远程服务器的 jitter值是 4000时,说明时间同步存在问题,应该检查本地防火墙是不是没有正常开放 123端口,阻断了与NTP服务器的通讯,部分杀毒软件中也整合了防火墙功能,需要仔细检查。
③如果同步不正常可以进入DOS调试,输入 net time/querysntp设置允许使用外部的NTP服务器,net time/querysntp设定要同步的 NTP服务器,net stop w32time停止 windows的时间服务,net start w32time重启windows的时间服务,使NTP设置生效。
5 结论
全国气象系统基于NTP和 SNTP协议采用两级时间服务器结构,在省级通过适度冗余的高可靠性服务器架构建设的气象信息网络统一授时系统,为气象数据的传输、气象信息网络系统中的各种设备运行、管理系统、卫星资料接收、视频会商系统等各项业务都提供了一个精确的时间参考。省级 NTP服务器安装完成后,为省级、地区、台站提供了一个准确的时间精度,避免了业务系统的时间漂移造成的迟报情况,并且对重要业务系统的时间校准提供了自动方便的校时方式,对各个气象业务系统的统一开展、稳定运行都具有十分重要的意义。
TP393
B
2009-10-13
汪华 (1974-),女,工程师,主要从事网络管理与维护工作。
1003-6598(2010)05-0024-03