电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 753|回复: 0

使用ntpd服务定时同步时间的方法

[复制链接]
admin 发表于 2022-7-3 11:48:22 | 显示全部楼层 |阅读模式

       ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。

       使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

      要注意的是,ntpd有一个自我保护设置: 如果本机与上源时间相差太大, ntpd不运行. 所以新设置的时间服务器一定要先ntpdate从上源取得时间初值, 然后启动ntpd服务。ntpd服务运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.

  下面说一下使用ntpd服务的方法:

    ntpd服务分为服务端和客户端,一般在一台服务器上安装服务端,这个服务端和外部时间服务器定时同步,其他服务器安装客户端,客户端定时和服务端进行同步。

服务端配置

1.首先安装检查服务器是否安装了ntp、ntpdate

# rpm -qa | grep ntp

ntpdate-4.2.6p5-29.el7.centos.x86_64

ntp-4.2.6p5-29.el7.centos.x86_64

2.如果没有,需要使用安装

# yum -y install ntp ntpdate

3.修改ntp配置文件/etc/ntp.conf

1)注释以下配置

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

2)新增如下配置

#日志文件

logfile /var/log/ntpd.log


#授权172.16.1.0网段上所有机器可以从这台机器上查询和时间同步

restrict 172.16.1.0 mask 225.225.225.0 nomotify notrap


#时间服务器列表

server 210.72.145.44    #中国国家授时中心

server ntp1.aliyun.com

server ntp2.aliyun.com

server ntp3.aliyun.com


#当外部时间不可用时,使用本地时间

server 127.0.0.1

fudge 127.0.0.1 stratum 10


#允许上层时间服务器主动修改本机时间

restrict 210.72.145.44    nomodify notrap noquery

restrict ntp1.aliyun.com  nomodify notrap noquery

restrict ntp2.aliyun.com  nomodify notrap noquery

restrict ntp3.aliyun.com  nomodify notrap noquery


4.保存退出,重启ntp服务、加入开机自启

# systemctl enable ntpd

# systemctl restart ntpd


5.为了防止本机与上源时间相差太大, ntpd不运行,手动同步一次ntpdate,以确保ntpd可以运行

[root@m01 ~]# ntpdate -u 210.72.145.44


6.查询ntp同步时间是否启动

等待几分钟后,当出现如同第二次命令执行结果时即可


# ntpstat

unsynchronised    (未同步)

  time server re-starting

   polling server every 8 s


# ntpstat

synchronised to NTP server (120.25.115.20) at stratum 3   (已同步,说明ntpd服务已正常运行)

   time correct to within 154 ms

   polling server every 64 s

客户端配置

1.安装ntp、ntpdate

[root@web01 ~]# yum install ntp ntpdate



2.修改配置文件/etc/ntp.conf


1)注释以下配置

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool (http://www.pool.ntp.org/join.html).

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst


2)新增如下配置

#ntp服务器地址

server 172.16.1.61


#新增:允许上层时间服务器主动修改本机时间

restrict 172.16.1.61 nomodify notrap noquery


#新增:当外部时间不可用时,使用本地时间

server 127.0.0.1  #local clock

fudge 127.0.0.1 stratum 10


3.保存配置,重启ntp服务并加入开机自启

[root@web01 ~]# systemctl enable ntpd

[root@web01 ~]# systemctl restart ntpd


4.查看ntp服务器信息

[root@web01 zabbix]# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

172.16.1.61     120.25.115.20    3 u   30   64    1    0.512  -42.740   0.000

localhost       .INIT.          16 l    -   64    0    0.000    0.000   0.000

验证客户端是否可以自动同步:

1.查看ntp服务端时间

[root@m01 ~]# date

Sun Mar 29 00:10:52 CST 2020


2.修改客户端时间

[root@web01 ~]# date -s 2020-01-01

Wed Jan  1 00:00:00 CST 2020

[root@web01 ~]# date

Wed Jan  1 00:00:03 CST 2020


3.等待一段时间后,查看客户端时间是否自动同步,如果等不及,也可以手动同步验证下

[root@web02 ~]# ntpdate -u 172.16.1.61

29 Mar 00:12:14 ntpdate[19563]: adjust time server 172.16.1.61 offset 0.008159 sec (说明客户端可以和服务端正常同步)

[root@web01 ~]# date

Sun Mar 29 00:12:22 CST 2020



您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-12-29 16:17 , Processed in 0.093465 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表