时频百科

当前位置:首页>时频百科

如何应对应用设备时间跳变过大产生的问题

时间:2022-04-14   访问量:425

        在数据中心和工作环境、监控系统等场景中,除了时间统一非常重要,预防时间的跳变也很重要。比如数据库的数据主从复制、定时调度和心跳机制,不单单对时间的统一要求严格,大的时间跳变更会给数据库带来严重的事故;监控系统中时间的统一可以清晰的还原事情发展的走向,但是意外的时间跳变可能给过程带来误差和错觉。以前未使用过NTP时间服务器的工作环境新上架设备,意外的断网断电等未知的意外都可能造成时间的跳变,对这方面较为敏感的场景,我们可以将客户时间设置为微调模式,来避免时间跳变造成的麻烦和不必要损失。


        Window微调模式配置:运行regedit 打开注册表

    例1:

        HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

        MaxPosPhaseCorrection  and MaxNegPhaseCorrection  最大校准时间范围,即当电脑时间快于或慢于该值时,不进行校准,而记录事件。(MaxPosPhaseCorrection :该项指定服务可进行的最大正时间校准量(以秒为单位)。如果服务确定某个更改幅度大于所需的幅度,它将记录一个事件。(0xFFFFFFFF 是一种特殊情况,它表示总是校准时间。)域成员的默认值是 0xFFFFFFFF。独立客户端和服务器的默认值是 54,000,即 15 小时。)

    例2:

        HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

  MaxAllowedPhaseOffset   尝试校准最大偏移量,即当电脑时差大于该值时,直接同步,当时差小于该值时,时间以0.05秒渐进方式缓慢同步。

        单位:秒,默认:1,现修改为60秒

        配置完后需要重启,w32tm服务,管理员运行cmd:net stop w32time && net start w32time

 

        Linux微调模式配置:

        微调方式在启动NTP服务时加了个“-x”的参数,而默认的是不加“-x”参数。

        首先要指定时间服务器地址:

        请编辑各个节点的ntp.conf文件

 [root@nascds10 ~]#  vi /etc/ntp.conf

#基于网段的限制(限制在网段192.168.7.0 默认 127.0.0.1 无限制,这里可以不进行操作

# Permit all access over the loopback interface.  This could

# be tightened as well, but to do so would effect some of

# the administrative functions.

#restrict 192.168.7.0  mask 255.255.255.255 nomodify notrap

#指定时间服务器地址

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

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

server  192.168.1.128 prefer  #这里是时钟服务器

broadcastdelay 0.008


配置ntpd的参数,我们主要强调的是要配置成"微调的模式" 也就是在options中要加入 -x的选项:

[root@nascds10 ~]# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes  

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"

      重启ntpd服务:server ntpd restart

当出现unsynchronised时,请检查配置,如无误,那就需要等待,ntpd服务开启之后需要等待一段时间才能同步上。

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

注:

        1. linux系统不同版本直接配置方式可能存在稍许不同,有些linux系统甚至可能并不使用ntpd服务来校时。

        2.部分应用有提供web管理,有的web管理中提供了ntp相关配置,可直接通过web来配置。


 

 

 

 


上一篇:如何考量医院内子钟的部署

下一篇:什么才是“时间”的本质?

售前咨询客服

售前咨询
QQ客服1
QQ客服2
返回顶部