searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

NTP时间同步方案

2023-11-30 01:34:45
320
0

机房内的时间需要保持一致,不然对时间依赖的服务可能存在问题。

但是很多时候我们又需要调整时间,这样调整的过程中将无法保证时间的一致性,因为ntp客户端请示服务端的时间是不一致的,所以时间调整会有短暂的时间不一致:

如上图,稳定状态,一般1024s请求一下ntp服务端。

 

如果又需求需要调整时间,应该如何解决?

 

当前解决方案又两大类:

大类1:快速同步

及ntp服务端修改时间后,ntp客户端通过ntpdate快速对齐时间。时间快速对齐,让ntp客户端无法感知短暂的时间不一致。

快速同步要想不影响服务,当然不是无条件的,尤其调整时间为过去时间,可能导致业务异常。

 

大类2:慢同步

慢同步,这里介绍两种方案:

  • 方案1:服务端调整时间,客户端逐步同步

当前开源的ntpd或chrony都支持慢同步机制,但是支持的力度有所不同。

ntpd 是128ms默认慢同步;如果需要慢同步扩大力度需要再/etc/sysconfig/ntpd中OPTIONS添加-x,显示如下

添加-x后600s以内都会慢同步对齐时间,对齐力度为每秒对齐0.5ms

chrony 默认是慢同步的,不需要添加配置修改。

但是建议不要一次将ntp服务端调快几百s,让客户端缓慢对齐。建议每2-3个小时定时调整2-3s,逐步对齐时间。

 

  • 方案2:服务端时钟偏移

方案1相对而言直接调整ntp服务端时间比较简单,但是调整力度是秒级的,其实影响还是很大。

之前文章也介绍过,再ntp的配置文件中又一个时钟偏移配置,及下图红色部分。

红色部分代表为单位为PPM,及百万分之一。如果设置为1,达标本地时钟每秒偏移1微妙。

相对方案1调整力度更小。

但是这样会不会导致慢同步太慢呢?

这个就要考虑到ntp的时间对齐机制了,服务器本地时间是不准确的,本地硬件受到湿度,温度等条件的影响,ntp会根据时钟源自动调整本地时间频率,保持和标准时间一致。所以/var/lib/ntp/drift如果调整了10,这样客户端会为了保持对齐也做出相应的调整保证和服务端一致,这样一段时间后,相当于整个机房服务器频率都调整了10,大家相对与标准时间调整了10,也就是大家都没有调整。这样接下来可以继续整整10.这样相对与标准时间就是调整了20,调整的服务逐步加大,后续的对齐效率会逐步提升。

当然调整是有幅度限制的,调整区间为[-500,+500],这个正好对应方案一的每秒调整0.5ms的机制。

 

以上就是时间调整的三个方案。仅供参考。

0条评论
0 / 1000
b****n
2文章数
0粉丝数
b****n
2 文章 | 0 粉丝
b****n
2文章数
0粉丝数
b****n
2 文章 | 0 粉丝
原创

NTP时间同步方案

2023-11-30 01:34:45
320
0

机房内的时间需要保持一致,不然对时间依赖的服务可能存在问题。

但是很多时候我们又需要调整时间,这样调整的过程中将无法保证时间的一致性,因为ntp客户端请示服务端的时间是不一致的,所以时间调整会有短暂的时间不一致:

如上图,稳定状态,一般1024s请求一下ntp服务端。

 

如果又需求需要调整时间,应该如何解决?

 

当前解决方案又两大类:

大类1:快速同步

及ntp服务端修改时间后,ntp客户端通过ntpdate快速对齐时间。时间快速对齐,让ntp客户端无法感知短暂的时间不一致。

快速同步要想不影响服务,当然不是无条件的,尤其调整时间为过去时间,可能导致业务异常。

 

大类2:慢同步

慢同步,这里介绍两种方案:

  • 方案1:服务端调整时间,客户端逐步同步

当前开源的ntpd或chrony都支持慢同步机制,但是支持的力度有所不同。

ntpd 是128ms默认慢同步;如果需要慢同步扩大力度需要再/etc/sysconfig/ntpd中OPTIONS添加-x,显示如下

添加-x后600s以内都会慢同步对齐时间,对齐力度为每秒对齐0.5ms

chrony 默认是慢同步的,不需要添加配置修改。

但是建议不要一次将ntp服务端调快几百s,让客户端缓慢对齐。建议每2-3个小时定时调整2-3s,逐步对齐时间。

 

  • 方案2:服务端时钟偏移

方案1相对而言直接调整ntp服务端时间比较简单,但是调整力度是秒级的,其实影响还是很大。

之前文章也介绍过,再ntp的配置文件中又一个时钟偏移配置,及下图红色部分。

红色部分代表为单位为PPM,及百万分之一。如果设置为1,达标本地时钟每秒偏移1微妙。

相对方案1调整力度更小。

但是这样会不会导致慢同步太慢呢?

这个就要考虑到ntp的时间对齐机制了,服务器本地时间是不准确的,本地硬件受到湿度,温度等条件的影响,ntp会根据时钟源自动调整本地时间频率,保持和标准时间一致。所以/var/lib/ntp/drift如果调整了10,这样客户端会为了保持对齐也做出相应的调整保证和服务端一致,这样一段时间后,相当于整个机房服务器频率都调整了10,大家相对与标准时间调整了10,也就是大家都没有调整。这样接下来可以继续整整10.这样相对与标准时间就是调整了20,调整的服务逐步加大,后续的对齐效率会逐步提升。

当然调整是有幅度限制的,调整区间为[-500,+500],这个正好对应方案一的每秒调整0.5ms的机制。

 

以上就是时间调整的三个方案。仅供参考。

文章来自个人专栏
NTP
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0