首页 > 编程知识 正文

时间同步的基本原理(时钟)

时间:2023-05-05 17:17:16 阅读:76660 作者:4655

时间同步服务器使计算机系统时钟准确

时间同步服务器使计算机系统时钟准确

随着计算机APP应用的广度和深度的增加,网络中的设备类型和业务类型不断增加,服务数量也在增加。 以往,各种服务器、网络设备使用的时间由设备内部的时钟提供。 因为服务器、网络设备自身的时钟误差是不可避免的,所以尽管该误差每天都不大,但随着时间的经过会产生大的时间差,网络内的各服务器、网络设备的时刻变得不一致。

在一些业务系统独立运行的企业中,这种时间不匹配问题不大,但对我们这些有相互关联业务系统的供电企业来说是致命的。 另一方面,根据国网公司“SG186”的工程要求,同一业务系统必须贯通上下公司的纵向,各业务系统必须在公司内部的横向整合。 因此,各业务系统传递的信息必须在时间上高度一致,准确地与北京时间同步。 另一方面,有电能采集系统、调度自动化系统、配网自动化系统等自动化系统,这些系统中的计费、维护、管理等功能,对时间的准确性有着更严格的要求。

基于以上考虑,我们在公司建设新数据中心的过程中引入了两台多端口北京准电子NTP网络时间服务器。 该服务器使用GPS信号作为时间源,通过NTP协议同步网络中所有服务器和网络设备的时间。

网络时间协议(NTP )是网络中用于时间同步的标准协议。 它采用客户端/服务器模式,NTP客户端使用NTP协议从NTP服务器获取准确的时间。 NTP服务器的时间通常来自权威的时间源,如原子钟、GPS时钟和互联网上的时间服务器。 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更新8

5 windows windows server 2008 r 2企业版

6 Cisco交换机Catalyst 3560

h3c交换机S3600-28P-EI

表1

一. Linux上的配置

1、设置时区

在Red Hat,中国的时区是Asia/Shanghai。 有两种设置时区的方法。 一种是使用tzselect命令选择国家和城市。 第二,可以通过修改文件来更改时区。 使用以下方法设置时区:

VI/etc/sys config/clock zone=Asia/Shanghai

UTC=false

ARC=false

RM/etc/local time ln-SF/usr/share/zoneinfo/Asia/Shanghai/etc/local time所有时区设置文件均为/usr/share/zoneineion 时区更改完成后,必须重新启动服务器。

2、查看当地时间

显示系统时钟

#日期

2011年06月09日星期四18:50:06 cst

显示硬件时钟

#hwclock

2011年06月09日星期四18时50分36秒-0.781558 seconds

3、从NTP服务器手动更新时间

ntpdate 172.31.254.1009 jun 18336052336006 ntpdate [ 13897 ] : step time server 172.31.254.100 offset 287.912988 sec

要使用NTP更新时间,服务端和客户端的时间误差必须小于或等于1000秒,因此必须在与时间服务器同步之前手动进行时间同步。

4、编辑/etc/ntp.conf文件

服务器172.31.254.100

服务器172.31.254.101

#server 0.uk.pool.ntp.org

#服务器1.uk.pool.NTP.org

#服务器2.uk.pool.NTP.org

#服务器127.127.1.0

#本地时钟

#fudge 127.127.1.0 stratum 10

在上述配置中,首先设置网络中时间服务器的IP地址,然后注释掉系统的默认时间服务器,最后确保服务器

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
fndxbc-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 fndxbc 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、设置时区
clock timezone beijing add 8
disp clock
11:16:24 beijing Sun 06/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服务的状态信息
display ntp-service status
Clock status: synchronized
Clock stratum: 1
Reference clock ID: 172.31.254.100
Nominal frequency: 100.0000 Hz
Actual frequency: 100.0000 Hz

显示NTP服务维护的所有会话信息
display ntp-service sessions
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

Win系统为例
温情提示:比较老的WIN版本如98、2000建议安装客户端软件,常用的系统启动NTP服务就可以了,具体配置如下:
1、 双击任务栏右下角“时间”,打开 [ 时间和日期 属性 ] 设置对话框,如图1。

图1打开 [ 时间和日期 属性 ] 设置对话框
2、选择 [ Internet时间 ] 标签, 选中 [ 自动与Internet时间服务器同步 ] 选项,在 [ 服务器 ] 中填入时间服务器的ip地址即您新写入的IP.
这样系统就每隔一周同步时钟服务器一次,如感觉时间间隔太长就进行第三步;
3、开始—运行—键入regedit,打开注册表后点【编辑】—【查找】—键入ntpclient—双击【SpecialPollInterval】点【十进制】(同步时间间隔。单位:秒,系统默认为十进制604800,即一周)
如果想修改成1小时同步一次,把dword后的数值改成3600即可。
如果想修改成3分钟同步一次,把dword后的数值改成180即可。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。