Skip to main content

 路由器设置 > 新闻资讯 >

在笔记本上构建NTP,同步集群服务器时间

2014-03-04 00:40 浏览:

在一些项目上,常常会遇到双机集群环境内的服务器时间不一致的问题,毕竟手动设置总会存在误差,而构建NTP时时钟服务器可以解决这个问题。大概过程为,将自己的笔记本设置为NTP服务器,服务器为客户端,从而使集群内的服务器时间一致。下面是配置的详细步骤。

 

一、服务器端设置(win7)

 

1. 通过开始菜单,输入regedit命令后打开注册表,为了安全起见,备份一下注册表文件。

 

2. 修改以下选项的键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders

将NtpServer内的【Enabled】设定为1,默认为0,打开NTP服务器功能。

 

3. 修改以下选项的键值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

将“AnnounceFlags”修改为“5”    即采用本机为时间服务器
“AnnounceFlags”=“a”    采用外面的时间服务器

 

4. 重启w32time服务

net stop w32time && net start w32time

“&&”符号表示同时执行两条命令

 

注意:如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\ 
将NtpClient的【enable】改为0,默认打开,以防止作为客户端自动同步外界的时间服务。

 

至此,NTP时间同步服务器已构建成功。

 

二、客服端设置(windows)

 

设置NTP服务端IP后,点击”立即更新“。
 

三、客户端设置(linux)

 

1. 检查是否已经安装有ntp软件包。

[root@localhost ~]# rpm -qa|grep ntp
chkfontpath-1.10.1-1.1
ntp-4.2.2p1-9.el5_3.2

 

2.  #ntpdate  192.168.XX.XX(服务端IP)

 

[root@localhost ~]# date
Mon Mar  3 14:30:02 CST 2014
[root@localhost ~]# service ntpd start
Starting ntpd: [  OK  ]
[root@localhost ~]# lsof -i:123
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
ntpd    7825  ntp   16u  IPv4 105078       UDP *:ntp 
ntpd    7825  ntp   17u  IPv6 105082       UDP *:ntp 
ntpd    7825  ntp   18u  IPv6 105084       UDP localhost6.localdomain6:ntp 
ntpd    7825  ntp   19u  IPv4 105085       UDP localhost.localdomain:ntp 
ntpd    7825  ntp   20u  IPv4 105086       UDP :ntp 
[root@localhost ~]# kill -9 7825
[root@localhost ~]# lsof -i:123
[root@localhost ~]# ntpdate 192.168.85.251
3 Mar 14:33:48 ntpdate[7836]: adjust time server 192.168.85.251 offset 0.008505 sec
[root@localhost ~]# date
Mon Mar  3 14:33:54 CST 2014

 

四、客户端设置(AIX)

 

1、编辑 NTP 客户端上的 /etc/ntp.conf文件, 内容如下(假设XX.XX.XX.XX是所要使用的 NTP服务器IP地址): 
----------------------------
#broadcastclient 
server XX.XX.XX.XX 
driftfile /etc/ntp.drift 
racefile /etc/ntp.trace 
----------------------------
其中配置语句server XX.XX.XX.XX表明, 所客户端将于与IP地址为 XX.XX.XX.XX 的NTP服务器进行时间同步.


2、执行#ntpdate -d XX.XX.XX.XX检查客户端与服务器的时间偏移量是否大于1000s
... 
18 Mar 10:52:54 ntpdate[23578]: step time server 10.254.96.101 offset 86323.06827
        如上命令执行结果所示,客户端与服务器端的时间偏移量过大,因此即使启动客户端xntpd守护进程也会导致客户端无法与服务器端进行时间同步。因此必须首先执行第3步调整客户端时间。


3、使用ntpdate调整客户端时间
#ntpdate XX.XX.XX.XX
        完成上述操作后 ntp 客户端与 ntp 服务器系统时钟完成同步,ntp 客户端得到了新的系统时间。继续执行以下步骤。

 

4、启动客户端xntpd守护进程 
# startsrc -s xntpd
也可通过调用smitty , 使 xntpd 在以后重启服务器时能自动启动。
# smitty xntpd


5、查询xntpd的运行状态
# lssrc -ls xntpd 
Program name:   /usr/sbin/xntpd 
Version:       3 
Leap indicator: 00 (No leap second today.) 
Sys peer:        no peer, system is insane
... 
如上所示,当 system peer 为 'insane' 时, 表明客户端还未与服务器端成功同步。一般情况下等待5分钟,再进行检查。
# lssrc -ls xntpd 
Program name:   /usr/sbin/xntpd 
Version:       3 
Leap indicator: 00 (No leap second today.)
Sys peer:      XX.XX.XX.XX
...
如上所示,当 system peer 为 ' XX.XX.XX.XX ' 时, 表明客户端与服务器端成功进行了同步。