计算机NTP时钟同步(NTP服务器-NTP时间服务器)的重要性
计算机NTP时钟同步(NTP服务器-NTP时间服务器)的重要性
技术交流-岳峰-15901092122;Q-522508213;
时间服务器的配置
随着公司计算机应用的广度和深度不断加大,网络中的设备种类和业务类型越来越多,服务器的数量也与日俱增。传统上,各种服务器、网络设备使用的时间都是由设备内部时钟来提供的。由于服务器、网络设备本身的时钟误差是不可避免的,尽管这种误差每天不大,但经过一段时间的累积就会出现大的时间差,从而导致网络中各服务器、网络设备的时间不一致。
对于一些业务系统独立运行的企业,这种时间的不一致性不会带来什么问题,然而,对于我们这样一个有着多种相互关联的业务系统的供电企业而言,却是致命的。一方面是国网公司“SG186”工程要求,同一业务系统在上下级公司的纵向上要做到贯通,各种业务系统在公司内部的横向上要做到集成。所以各业务系统传递的信息,在时间上必须保持高度一致,并准确地与北京时间同步。另一方面是一些自动化系统,如电能量采集系统、调度自动化系统、配网自动化系统等,这些系统中的计费、维护、管理等功能,对时间的精确有着更苛刻的要求。
基于以上考虑,我们在公司新的数据中心建设过程中,部署了两台多端口东方电子 IDC510A NTP网络时间服务器,该服务器使用GPS信号作为时间源,通过NTP协议对网络内的所有服务器和网络设备的时间进行同步。
NTP(Network Time Protocol,网络时间协议)是网络中用于时间同步的标准协议。它采用Client/Server模式,NTP客户端借助NTP协议,从NTP服务器获取准确的时间。NTP服务器的时间通常来源于一个权威的时间源,如原子钟、GPS时钟、Internet上的时间服务器等。NTP不仅校正时间,而且能够持续跟踪时间的变化,并自动进行调节,从而使采用NTP协议的客户端能从网络中获取可靠和精确的时间同步。
下面是我们数据中心中各系统下配置NTP的过程,现整理出来与大家一起分享。网络拓扑见图1。
图1
两台NTP时间服务器的IP地址分别为172.31.254.100和172.31.254.101,客户端无需身份验证就可连接。时间服务器及各服务器、网络设备、桌面设备、各种终端使用同样的GMT/UTC+8时区设置。配置中所涉及的平台及操作系统见表1。
序号 |
平台 |
操作系统/型号 |
1 |
Linux |
Red Hat Enterprise Linux 6 |
2 |
AIX |
AIX 5.3 |
3 |
HPUX |
HP-UX 11i v3 |
4 |
Solaris |
Solaris 10 update 8 |
5 |
Windows |
Windows Server 2008 R2 Enterprise |
6 |
Cisco交换机 |
Catalyst 3560 |
7 |
H3C交换机 |
S3600-28P-EI |
表1
一、Linux中的配置
1、设置时区
在Red Hat中,中国时区为Asia/Shanghai。设置时区的方法有两种:一是,使用tzselect命令,选择所在的国家和城市;二是,可以通过修改文件来变更时区。下面使用的是第二种方法设置时区。
# vi /etc/sysconfig/clock
ZONE=Asia/Shanghai
UTC=false
ARC=false
# rm /etc/localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
因为所有时区设置文件都保存在/usr/share/zoneinfo目录内,其中/usr/share/zoneinfo/Asia/Shanghai为中国时区的文件,而/etc/localtime为时区设置文件。上面的命令创建了指向中国时区的链接文件/etc/localtime。时区修改完后,需要重启服务器。
2、查看本地时间
查看系统时钟
#date
2011年 06月 09日 星期四 18:50:06 cst
查看硬件时钟
#hwclock
2011年06月09日星期四 18时50分36秒 -0.781558 seconds
3、手动从NTP服务器更新时间
# ntpdate 172.31.254.100
9 Jun 18:52:06 ntpdate[13897]: step time server 172.31.254.100 offset 287.912988 sec
使用NTP更新时间,要求服务端与客户端之间的时间误差不超过1000秒, 因此需要先手动进行时间同步,然后再与时间服务器同步。
4、编辑/etc/ntp.conf文件
server 172.31.254.100
server 172.31.254.101
#server 0.uk.pool.ntp.org
#server 1.uk.pool.ntp.org
#server 2.uk.pool.ntp.org
#server 127.127.1.0
#local clock
#fudge 127.127.1.0 stratum 10
上面的配置,首先设置了网络内时间服务器的IP地址,再将系统默认的时间服务器注释掉,最后要确保将server 127.127.1.0等与服务器自身时钟同步的选项注释掉。
5、编辑/etc/sysconfig/ntpd文件,添加如下内容:
SYNC_HWCLOCK= yes
该选项作用是使用NTP时间更新硬件时钟。
6、启动Ntpd服务
#/etc/init.d/ntpd start
#chkconfig ntpd on
通过上面的命令就可以启动Ntpd服务,不过要与NTP服务器同步则还需要一些时间。
7、查看运行状态
#ntpq -p
remote refid st t when poll reach delay offset jitter
===============================================================
*172.31.254.100 .GPS. 1 u 28 64 1 0.366 0.040 0.000
+172.31.254.101 .GPS. 1 u 48 64 1 0.236 0.042 0.000
通过上面的命令,可以查看到当前的NTP状态,其中几列的含义如下:
st 时间服务器所在层
when 上一次时间同步是在几秒前
poll 每间隔多少秒,做一次时间同步
delay 网络延迟
offset 本机与NTP服务器的时间差
二、AIX中的配置
1、设置时区
使用下面的命令,可以查看系统当前时区。
#echo $TZ
BEIST-8
在AIX中调整时区很简单,通过smit命令,选择即可。
smit->System Environments-> Change / Show Date and Time-> Change Time Zone Using System Defined Values
2、查看本地时间
#date
Thu Jun 9 19:16:55 BEIST 2011
3、手动从NTP服务器更新时间
# ntpdate 172.31.254.100
9 Jun 19:17:24 ntpdate[12876]: step time server 172.31.254.100 offset 15.704814
4、编辑/etc/ntp.conf文件
#broadcastclient
server 172.31.254.100
server 172.31.254.101
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
5、启动xntpd守护进程
#startsrc -s xntpd
#smitty xntpd
通过smitty命令,在以后重启服务器时能自动启动xntpd进程。
6、查看运行状态
#ntpq -p
remote refid st t when poll reach delay offset disp
==========================================================
*172.31.254.100 .GPS. 1 u 26 64 1 0.63 0.194 0.75
+172.31.254.101 .GPS. 1 u 45 64 1 0.
三、HPUX中的配置
1、设置时区
使用下面的命令,可以查看系统当前时区。
#echo $TZ
EAT-8
使用下面的命令,可以通过交互的方式来修改时区。
# set_parms timezone
选择“Asia”->“Phillipines, Hong Kong, Eastern China, Taiwan (EAT-8)”即可。
2、手动从NTP服务器更新时间
# ntpdate 172.31.254.100
9 Jun 20:08:06 ntpdate[13610]: adjust time server 172.31.254.100 offset -0.000139 sec
3、编辑/etc/rc.config.d/netdaemons文件
export NTPDATE_SERVER=’172.31.254.100 172.31.254.101’
export XNTPD=1
export XNTPD_ARGS=
4、编辑/etc/ntp.conf文件
server 172.31.254.100
server 172.31.254.101
driftfile /etc/ntp.drift
5、生成/etc/ntp.drift文件
#touch /etc/ntp.drift
#chmod 755 /etc/ntp.drift
上面的命令,生成了/etc/ntp.drift文件,并修改了该文件的权限。ntp.drift文件的作用是用来跟踪本地时钟的时间“漂移”。经过一段时间后,NTP使用ntp.drift来补偿时钟的漂流,从而减少访问NTP服务器的次数。
6、启动NTP
#/sbin/init.d/xntpd start
7、查看运行状态
#ntpq –p
remote refid st t when poll reach delay offset disp
============================================================
*172.31.254.100 .GPS. 1 u 32 64 1 0.49 0.24 0.55
+172.31.254.101 .GPS. 1 u 25 64 1 0.52 0.22 0.62
四、Solaris中的配置
1、设置时区
使用下面的命令,可以查看系统当前时区。
#echo $TZ
PRC
编辑/etc/TIMEZONE文件,修改内容如下:
TZ=PRC
2、手动从NTP服务器更新时间
# ntpdate 172.31.254.100
9 Jun 20:16:31 ntpdate[8420]: adjust time server 172.31.254.100 offset -0.000193 sec
3、复制NTP配置文件
#cp /etc/inet/ntp.clinet /etc/inet/ntp.conf
4、修改/etc/inet/ntp.conf文件
#multicastclient 224.0.1.1
server 172.31.254.100 prefer
server 172.31.254.101
5、启动ntp服务
#svcadm enable network/ntp
6、查看运行状态
#ntpq –p
remote refid st t when poll reach delay offset disp
============================================================
*172.31.254.100 .GPS. 1 u 32 64 1 0.59 0.64 0.25
+172.31.254.101 .GPS. 1 u 29 64 1 0.62 0.66
五、Windows 2008中的配置
1、选择“开始”-> “运行”,输入gpedit.msc,点击确定。
2、打开本地组策略编辑器,并选择“计算机配置”->“管理模板”->“系统”->“Windows时间服务”->“时间提供程序”。
3、选择右边栏中的“启用Windows NTP客户端”,并在如图2所示的对话框中选择“已启用”。
图2
4、点击“下一个设置”,并在如图3所示的“配置Windows NTP客户端”对话框中,设置NTP服务器的相应信息,将NtpServer设置为172.31.254.100, 0x1,类型为NTP,其它参数使用默认值即可。
图3
5、点击“确定”,完成配置。
6、查看运行状态
在命令提示符下执行“w32tm /resync”命令,可以手动与NTP服务器同步一次时间,默认配置每隔一小时(3600秒)与时间服务器同步一次。这可以通过如图4所示的“日期和时间”对话框来确认。
六、Cisco交换机中的配置
1、设置时区
Switch(config)#clock timezone Beijing 8
设置为UTC+8时区
2、启用NTP
Switch(config)#ntp server 172.31.254.100 prefer
Switch(config)#ntp server 172.31.254.101
配置NTP时间服务器的IP地址,优先从172.13.254.100同步。
3、查看NTP运行情况
查看当前软件时钟的日期和时间。
Switch#show clock detail
08:18:06.201 Beijing Fri Jun 10 2011
Time source is NTP
下面的命令可以查看交换机上NTP的状态。
Switch#show ntp status
Clock is synchronized, stratum 1, reference is 172.31.254.100
.....
clock offset is -0.3717 msec, root delay is 252.50 msec
root dispersion is 61.05 msec, peer dispersion is 0.48 msec
......
查看与当前交换机相联的NTP设备信息
Switch#show ntp associations detail
172.31.254.100 configured, authenticated, our_master, sane, valid, stratum 1
......
our mode client, peer mode server, our poll intvl 64, peer poll intvl 64
root delay 210.94 msec, root disp 64.09, reach 64, sync dist 146.840
delay 1.54 msec, offset -0.4527 msec, dispersion 0.50
precision 2**18, version 3
七、H3C交换机中的配置
1、设置时区
11:16:24 beijing Sun06/19/2011
Time Zone : beijing add 08:00:00
设置为UTC+8时区
2、启用NTP
[switch-temp]ntp-service unicast-server 172.31.254.100 priority
[switch-temp]ntp-service unicast-server 172.31.254.101
指定两个NTP时间服务器,但优先选择172.31.254.100服务器同步
3、查看NTP运行情况
显示NTP服务的状态信息
Clock status: synchronized
Clock stratum: 1
Reference clock ID: 172.31.254.100
Nominal frequency: 100.0000 Hz
Actual frequency: 100.0000 Hz
......
显示NTP服务维护的所有会话信息
source reference stra reach poll now offset delay disper
******************************************************************
[12345]172.31.254.100 LOCL 1 1 64 4095 0.0 18.5 0.0
......