ntpdate 和 ntpd同时打开,会导致ntpdate同步时间有误

Issue Description

客户遇到一个问题,在ntpdate时,同步时间总会出现错误

Analysis

这个问题在平台上复现不到,初步有怀疑为网络问题

不过,我有在log里看到下面这个让我比较介意:

16 Jul 10:17:11 ntpdate[522]: the NTP socket is in use, exiting

这是调用ntpdate之后打印的log

但是在我复现这个问题的时候,一直没有这个error打印

后来查询资料,在打开ntpd的时候,再去ntpdate,会报这个错误

然后我就猜测客户平台可能打开了ntpd

为了验证猜测,我先打开了ntpd

$ ntpd –q pool.ntp.org&

然后又开了三次ntpdate

ntpdate pool.ntp.org&

果然复现了客户一样的问题

 

第一次ntpdate是打印那个error,后面success的时间是错误的

然后,就向客户确认是否平台中有ntpd进程

经确认,的确平台中有ntpd进程先启动了导致了与ntpdate冲突

Solution

ntpd同步时间是加快时间流速的方法,

而ntpdate是越变,详细查阅ntp的官方说明文档。

可以通过增加 -u 选项,即可解决ntpd 与ntpdate冲突问题

即 ntpdate -u pool.ntp.org

-u 选项的具体说明如下:

Direct ntpdate to use an unprivileged port for outgoing packets. This  is  most  useful  when behind  a firewall that blocks incoming traffic to privileged ports, and you want to synchronize with hosts beyond the firewall. Note that the -d option always uses unprivileged  ports.

不在使用默认端口 而是选择了一个其他的端口,经测试,没有出现过该问题

 

建议ntpdate 和 ntpd的使用方法是

在开机时 使用ntpdate同步时间, 在机器运行过程中 用ntpd命令同步时间

ntpd服务和ntpdate命令是Linux系统中常用的时间同步工具。它们都可以用来同步系统时间和网络时间服务器的时间。下面是它们的优缺点: ntpd服务的优点: - 持续同步ntpd服务可以在系统启动后持续运行,定期与时间服务器进行时间同步,保持系统时间的准确性。 - 自动调整:ntpd服务可以根据网络延迟和时钟漂移等因素自动调整时间同步的频率和步长,以保持时间的稳定性和准确性。 - 精确度高:ntpd服务可以通过与多个时间服务器进行比较和计算,提供更高的时间同步精确度。 ntpd服务的缺点: - 配置复杂:ntpd服务的配置相对复杂,需要编辑ntp.conf文件,并设置合适的时间服务器和同步参数。 - 启动时间长:ntpd服务在启动时需要一段时间来收集和分析时间数据,因此启动时间较长。 ntpdate命令的优点: - 简单易用:ntpdate命令使用简单,只需指定时间服务器即可进行时间同步。 - 同步速度快:ntpdate命令可以快速同步时间,适用于需要快速同步时间的场景。 ntpdate命令的缺点: - 单次同步ntpdate命令只能进行一次时间同步,无法持续同步时间。 - 不自动调整:ntpdate命令无法根据网络延迟和时钟漂移等因素自动调整时间同步的频率和步长。 综上所述,ntpd服务适用于需要持续同步时间且要求较高精确度的场景,而ntpdate命令适用于快速同步时间的简单场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值